diff --git a/Cargo.lock b/Cargo.lock index ac55faebc4..e1ea9467dc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -752,9 +752,9 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "convert_case" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7" +checksum = "baaaa0ecca5b51987b9423ccdc971514dd8b0bb7b4060b983d3664dad3f1f89f" dependencies = [ "unicode-segmentation", ] @@ -976,18 +976,19 @@ dependencies = [ [[package]] name = "ctor" -version = "0.3.6" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21d960ecacd0a1bf55e73144b72de745e7bf275c7952c50e36e8af0a0cb7ab1f" +checksum = "07e9666f4a9a948d4f1dff0c08a4512b0f7c86414b23960104c243c10d79f4c3" dependencies = [ "ctor-proc-macro", + "dtor", ] [[package]] name = "ctor-proc-macro" -version = "0.0.4" +version = "0.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c426d2ba3e525b39c1f0a9ba41b9fe61878dee11fa4e4a76b6ab440f46c5db5d" +checksum = "4f211af61d8efdd104f96e57adf5e426ba1bc3ed7a4ead616e15e5881fd79c4d" [[package]] name = "dashmap" @@ -1130,6 +1131,21 @@ version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" +[[package]] +name = "dtor" +version = "0.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222ef136a1c687d4aa0395c175f2c4586e379924c352fd02f7870cf7de783c23" +dependencies = [ + "dtor-proc-macro", +] + +[[package]] +name = "dtor-proc-macro" +version = "0.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7454e41ff9012c00d53cf7f475c5e3afa3b91b7c90568495495e8d9bf47a1055" + [[package]] name = "either" version = "1.15.0" @@ -1924,7 +1940,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -2164,9 +2180,9 @@ dependencies = [ [[package]] name = "napi" -version = "3.0.0-alpha.31" +version = "3.0.0-alpha.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1911b4f0d33fbcb5f46ff68319ec053ab8a655f3a17440eae1246a23ba2ad78" +checksum = "c857a2b38c994db8bec785554ab4216d45ad63469832070c86a992be0b5491ad" dependencies = [ "anyhow", "bitflags 2.9.0", @@ -2186,11 +2202,11 @@ checksum = "40685973218af4aa4b42486652692c294c44b5a67e4b2202df721c9063f2e51c" [[package]] name = "napi-derive" -version = "3.0.0-alpha.28" +version = "3.0.0-alpha.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8097918a9af1976700eac6944b120b65ad17bf6d38906703d2b68e17ee89256" +checksum = "c7165d931d54f68115e651330d5fe0ae0081133d3f4ee3ab55b0b808f0c23f71" dependencies = [ - "convert_case 0.7.1", + "convert_case 0.8.0", "napi-derive-backend", "proc-macro2", "quote", @@ -2199,11 +2215,11 @@ dependencies = [ [[package]] name = "napi-derive-backend" -version = "2.0.0-alpha.27" +version = "2.0.0-alpha.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5adc92fcdec3aa09f591bd2b139d7c669399f34b8211fe653641b52d40d3b3" +checksum = "ce3f36354262054df8e1c3a73bdcd36ea13f130feb1e4d86b67cab9e10d6ef6d" dependencies = [ - "convert_case 0.7.1", + "convert_case 0.8.0", "proc-macro2", "quote", "semver", diff --git a/yarn.lock b/yarn.lock index caa20a2362..e426b9733d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6200,11 +6200,11 @@ __metadata: languageName: node linkType: hard -"@inquirer/checkbox@npm:^4.1.3": - version: 4.1.3 - resolution: "@inquirer/checkbox@npm:4.1.3" +"@inquirer/checkbox@npm:^4.1.4": + version: 4.1.4 + resolution: "@inquirer/checkbox@npm:4.1.4" dependencies: - "@inquirer/core": "npm:^10.1.8" + "@inquirer/core": "npm:^10.1.9" "@inquirer/figures": "npm:^1.0.11" "@inquirer/type": "npm:^3.0.5" ansi-escapes: "npm:^4.3.2" @@ -6214,28 +6214,28 @@ __metadata: peerDependenciesMeta: "@types/node": optional: true - checksum: 10/4f33eb2b4601711d46168bf7e4f11070bdc2d93d4e94b66c9aad35ac28b24c6e82fe04e64046d62da53bda7b439808a82f2e2913af93edeb24067ac2c8c6a83f + checksum: 10/bee79343fbec99f804fc456ca28e86f2ab6bb1f20162e80375f37e5b9d58d6a486a58e1e84519745c4978317e74e7178977825e67f1ad6da9a559dc791b62585 languageName: node linkType: hard -"@inquirer/confirm@npm:^5.0.0, @inquirer/confirm@npm:^5.1.7": - version: 5.1.7 - resolution: "@inquirer/confirm@npm:5.1.7" +"@inquirer/confirm@npm:^5.0.0, @inquirer/confirm@npm:^5.1.8": + version: 5.1.8 + resolution: "@inquirer/confirm@npm:5.1.8" dependencies: - "@inquirer/core": "npm:^10.1.8" + "@inquirer/core": "npm:^10.1.9" "@inquirer/type": "npm:^3.0.5" peerDependencies: "@types/node": ">=18" peerDependenciesMeta: "@types/node": optional: true - checksum: 10/5bd4c71797f87669cfbeebb1586df9685a0197554a06c1d00da7c8bcef3abe4c0202ba7e2464f6e68d4bf521532cc6dd7a2e662af716d280680f9c182ea4a30c + checksum: 10/54c2e5c1a2138164007d68a408b54272c455780c7973deca72c379278408bd22c124a1c21dc25aa4342115158f2b7efc5e42c637bd0afb2da6359adda1e65b3b languageName: node linkType: hard -"@inquirer/core@npm:^10.1.8": - version: 10.1.8 - resolution: "@inquirer/core@npm:10.1.8" +"@inquirer/core@npm:^10.1.9": + version: 10.1.9 + resolution: "@inquirer/core@npm:10.1.9" dependencies: "@inquirer/figures": "npm:^1.0.11" "@inquirer/type": "npm:^3.0.5" @@ -6250,15 +6250,15 @@ __metadata: peerDependenciesMeta: "@types/node": optional: true - checksum: 10/687ad5b8974ca7cb0bfd10c46b384bebdf944b0b15f58fea72ce10cfdb0630aeca2a1c3b45c22b3c37c07db4e460a0fffeac28bf19a197ff9e023da1480e57bc + checksum: 10/cb52d639a2280be95baf77dbab59bb272ce3f8b5e64cf1924e4d3e18d39e68815113419b188d68eac1773ba9e102b15e3d8811c30f1288841e11ca5309d8158d languageName: node linkType: hard -"@inquirer/editor@npm:^4.2.8": - version: 4.2.8 - resolution: "@inquirer/editor@npm:4.2.8" +"@inquirer/editor@npm:^4.2.9": + version: 4.2.9 + resolution: "@inquirer/editor@npm:4.2.9" dependencies: - "@inquirer/core": "npm:^10.1.8" + "@inquirer/core": "npm:^10.1.9" "@inquirer/type": "npm:^3.0.5" external-editor: "npm:^3.1.0" peerDependencies: @@ -6266,15 +6266,15 @@ __metadata: peerDependenciesMeta: "@types/node": optional: true - checksum: 10/306d4ccad15d236443a7c585126d78a356d96284a057214c4c8ed8dfe808db6298f0c335ca3d6086dee9c6a0e6a7bbca00560c0d699affb43c4f45cf46c51fef + checksum: 10/f11d60b212fa62414621b5bd4a6216c82b8af0e3cba16767b2510ca988a6bd567b561bbf8b1e19e93b3fb59c802382424e4802a746dde7a0af6a3c8b98827571 languageName: node linkType: hard -"@inquirer/expand@npm:^4.0.10": - version: 4.0.10 - resolution: "@inquirer/expand@npm:4.0.10" +"@inquirer/expand@npm:^4.0.11": + version: 4.0.11 + resolution: "@inquirer/expand@npm:4.0.11" dependencies: - "@inquirer/core": "npm:^10.1.8" + "@inquirer/core": "npm:^10.1.9" "@inquirer/type": "npm:^3.0.5" yoctocolors-cjs: "npm:^2.1.2" peerDependencies: @@ -6282,7 +6282,7 @@ __metadata: peerDependenciesMeta: "@types/node": optional: true - checksum: 10/d65b89b93e7261e177e96989b19297e07976711c38697365bf1e4e9a567e4ccb97382137dad1762e52fb903ac2b9c06e48f96bfa11b7a2acc175f708543aa44d + checksum: 10/69728c9ec835e15d586d6ad039f6a15dccf187bf845395b5b106439352eff89be24ca6c16a48e8fc867c4ab9c27814d68e16fbf3aa5b131ba01db6381dd792a0 languageName: node linkType: hard @@ -6293,41 +6293,41 @@ __metadata: languageName: node linkType: hard -"@inquirer/input@npm:^4.1.7": - version: 4.1.7 - resolution: "@inquirer/input@npm:4.1.7" +"@inquirer/input@npm:^4.1.8": + version: 4.1.8 + resolution: "@inquirer/input@npm:4.1.8" dependencies: - "@inquirer/core": "npm:^10.1.8" + "@inquirer/core": "npm:^10.1.9" "@inquirer/type": "npm:^3.0.5" peerDependencies: "@types/node": ">=18" peerDependenciesMeta: "@types/node": optional: true - checksum: 10/626a8212ed9c61787741259d4a5cce1b73a2a17ad7de1fbddf0d9f94079626c03ea3099875130a1f44cc72e1b1afa8ee4aa8c0cbc281f87a2293c235a2cecb0f + checksum: 10/adad1978d2daf12a20fc4f9c7e84ce31aca10ce3de32db9818c424031d86e3660fd35801e31305c13b842c98817a4885f78f50b22a5df058f01e733bbf933bc5 languageName: node linkType: hard -"@inquirer/number@npm:^3.0.10": - version: 3.0.10 - resolution: "@inquirer/number@npm:3.0.10" +"@inquirer/number@npm:^3.0.11": + version: 3.0.11 + resolution: "@inquirer/number@npm:3.0.11" dependencies: - "@inquirer/core": "npm:^10.1.8" + "@inquirer/core": "npm:^10.1.9" "@inquirer/type": "npm:^3.0.5" peerDependencies: "@types/node": ">=18" peerDependenciesMeta: "@types/node": optional: true - checksum: 10/4cdf21e279393645c57fbf6a7013a7fa0ceff8e5cc0ea5163cfc795407b1382244f3dd8709b67de282f9e6e03828246d45b4168dda93ccd2b742017a7e33b60c + checksum: 10/43c1158dbf50975304eaa3cdd0fe318c65bb6ecf841311959cc14c85ce48bc30311d3fdd8815b9b6a0a6fe308ec8dd54baf5f3d9202200c7edf910acb282e444 languageName: node linkType: hard -"@inquirer/password@npm:^4.0.10": - version: 4.0.10 - resolution: "@inquirer/password@npm:4.0.10" +"@inquirer/password@npm:^4.0.11": + version: 4.0.11 + resolution: "@inquirer/password@npm:4.0.11" dependencies: - "@inquirer/core": "npm:^10.1.8" + "@inquirer/core": "npm:^10.1.9" "@inquirer/type": "npm:^3.0.5" ansi-escapes: "npm:^4.3.2" peerDependencies: @@ -6335,38 +6335,38 @@ __metadata: peerDependenciesMeta: "@types/node": optional: true - checksum: 10/d10672999aa1b7e3f469a3686a56246c9fecdd67bd8b317e35a332009d173804f2866a9f5e0388b557c82421c5c0f971d6662920cac365fcbde345c5ab38becc + checksum: 10/3efbe564e6ac2774959fcde4c9e6b15ca3d13e0b345c85c42889eb70ccb886c53e721d40a43fc5cf6be583e59cc149955f50d208e7acba22f3d20793f668d13f languageName: node linkType: hard -"@inquirer/prompts@npm:^7.0.0, @inquirer/prompts@npm:^7.3.3": - version: 7.3.3 - resolution: "@inquirer/prompts@npm:7.3.3" +"@inquirer/prompts@npm:^7.0.0, @inquirer/prompts@npm:^7.4.0": + version: 7.4.0 + resolution: "@inquirer/prompts@npm:7.4.0" dependencies: - "@inquirer/checkbox": "npm:^4.1.3" - "@inquirer/confirm": "npm:^5.1.7" - "@inquirer/editor": "npm:^4.2.8" - "@inquirer/expand": "npm:^4.0.10" - "@inquirer/input": "npm:^4.1.7" - "@inquirer/number": "npm:^3.0.10" - "@inquirer/password": "npm:^4.0.10" - "@inquirer/rawlist": "npm:^4.0.10" - "@inquirer/search": "npm:^3.0.10" - "@inquirer/select": "npm:^4.0.10" + "@inquirer/checkbox": "npm:^4.1.4" + "@inquirer/confirm": "npm:^5.1.8" + "@inquirer/editor": "npm:^4.2.9" + "@inquirer/expand": "npm:^4.0.11" + "@inquirer/input": "npm:^4.1.8" + "@inquirer/number": "npm:^3.0.11" + "@inquirer/password": "npm:^4.0.11" + "@inquirer/rawlist": "npm:^4.0.11" + "@inquirer/search": "npm:^3.0.11" + "@inquirer/select": "npm:^4.1.0" peerDependencies: "@types/node": ">=18" peerDependenciesMeta: "@types/node": optional: true - checksum: 10/f93683a828428429ef7061dc601e38db686280faba4040e72aec225f20f6a463e6e0649f889864486b794d7510901f3643310895ad27656c5020e711642e7e17 + checksum: 10/ba230f97ea45707974fa5457a948ffc43453e5aee87ff7860d803ad17f53d007ca196dbeb3e81eb8082c9598fb21055c39affd68cc73a0f428bd89a269377e73 languageName: node linkType: hard -"@inquirer/rawlist@npm:^4.0.10": - version: 4.0.10 - resolution: "@inquirer/rawlist@npm:4.0.10" +"@inquirer/rawlist@npm:^4.0.11": + version: 4.0.11 + resolution: "@inquirer/rawlist@npm:4.0.11" dependencies: - "@inquirer/core": "npm:^10.1.8" + "@inquirer/core": "npm:^10.1.9" "@inquirer/type": "npm:^3.0.5" yoctocolors-cjs: "npm:^2.1.2" peerDependencies: @@ -6374,15 +6374,15 @@ __metadata: peerDependenciesMeta: "@types/node": optional: true - checksum: 10/612e1040c6e0497b51acb3f6f0b4d9e4a60a905415afbedb50c59ec128d3d0f316602e79b2d2217fcad31c6e8f06264d940ea38158ad655284399aa959a8de5b + checksum: 10/5f755c5d36138a7cea445d61218cddf3664b9afa66c000d4350838e69b1f9587756a41dfbb4285799e9561971dc780f3853f223c2b733daeefd092467941b3bd languageName: node linkType: hard -"@inquirer/search@npm:^3.0.10": - version: 3.0.10 - resolution: "@inquirer/search@npm:3.0.10" +"@inquirer/search@npm:^3.0.11": + version: 3.0.11 + resolution: "@inquirer/search@npm:3.0.11" dependencies: - "@inquirer/core": "npm:^10.1.8" + "@inquirer/core": "npm:^10.1.9" "@inquirer/figures": "npm:^1.0.11" "@inquirer/type": "npm:^3.0.5" yoctocolors-cjs: "npm:^2.1.2" @@ -6391,15 +6391,15 @@ __metadata: peerDependenciesMeta: "@types/node": optional: true - checksum: 10/92a18e373f7a29d6d9454914ba001ba36ba8e40ea96bbf5727e9b4c55d8b18bc825f9b56109f0fb0bdd946ddfd715e741141330b41d3bbd1a5b66253182d3aea + checksum: 10/fa75f9e40a30a1e8b4f0c6556ebfbc06b3f92ffa74a8eeb4c648b44034870b4bfbad95f52ba6dab5bdde742d8857145235a54cdb9904d3b1383986b7177f6bff languageName: node linkType: hard -"@inquirer/select@npm:^4.0.10": - version: 4.0.10 - resolution: "@inquirer/select@npm:4.0.10" +"@inquirer/select@npm:^4.1.0": + version: 4.1.0 + resolution: "@inquirer/select@npm:4.1.0" dependencies: - "@inquirer/core": "npm:^10.1.8" + "@inquirer/core": "npm:^10.1.9" "@inquirer/figures": "npm:^1.0.11" "@inquirer/type": "npm:^3.0.5" ansi-escapes: "npm:^4.3.2" @@ -6409,7 +6409,7 @@ __metadata: peerDependenciesMeta: "@types/node": optional: true - checksum: 10/9f1996756d45c39504b36dcb1d08619bce0f76907572e4f7b7f2af6e7e518a871e1c99c11104f2aa5de4cc3cd45f6e116bab5b32668201cb7db66a886c0530ea + checksum: 10/f978e21c63ede9d00c9efbc329f270a75b6ea43a88b4ff5877dacfae7bafed2100d5ef8018ebed9e64e7b9866b86665a12dc649fb4b2fc8304580a88b13b0055 languageName: node linkType: hard @@ -19446,15 +19446,15 @@ __metadata: linkType: hard "electron@npm:^35.0.0": - version: 35.0.1 - resolution: "electron@npm:35.0.1" + version: 35.0.2 + resolution: "electron@npm:35.0.2" dependencies: "@electron/get": "npm:^2.0.0" "@types/node": "npm:^22.7.7" extract-zip: "npm:^2.0.1" bin: electron: cli.js - checksum: 10/4e963e8a5b8d9053aa2b6e97938138049dd0abbfd27fa5980cf8eb8ab742fd7271c5d2ba97d596c0610c69309f66e1a2caf10bb1d51a1597f83119935e528683 + checksum: 10/8801fac5e1d1080eff3f5ee24391794b2e3b42984a6b704dd9db0a3b1df89e50ed25b7c70de22902812e3ac4c749ba84885c427a274d850dbae89432a5dac9c4 languageName: node linkType: hard @@ -22290,8 +22290,8 @@ __metadata: linkType: hard "html-validate@npm:^9.0.0": - version: 9.5.1 - resolution: "html-validate@npm:9.5.1" + version: 9.5.2 + resolution: "html-validate@npm:9.5.2" dependencies: "@html-validate/stylish": "npm:^4.1.0" "@sidvind/better-ajv-errors": "npm:4.0.0" @@ -22317,7 +22317,7 @@ __metadata: optional: true bin: html-validate: bin/html-validate.mjs - checksum: 10/ac9899ff737a79570f976d97b77f16aa07b54411a1b08847ffe256c088e5c78792fea50553de3915f53321ed3546fc058a45b749eb48930f8924c851e53c8fae + checksum: 10/e8eb5c690db6c5bb618f6c118362a8fdca524d9dff6fe5fbc6450d7e25f8c353f8b2e3db2c6f24958bdb9b4c296635fa2ef16860fdba4304b86e99a3d81d0504 languageName: node linkType: hard @@ -22895,11 +22895,11 @@ __metadata: linkType: hard "inquirer@npm:^12.3.0": - version: 12.4.3 - resolution: "inquirer@npm:12.4.3" + version: 12.5.0 + resolution: "inquirer@npm:12.5.0" dependencies: - "@inquirer/core": "npm:^10.1.8" - "@inquirer/prompts": "npm:^7.3.3" + "@inquirer/core": "npm:^10.1.9" + "@inquirer/prompts": "npm:^7.4.0" "@inquirer/type": "npm:^3.0.5" ansi-escapes: "npm:^4.3.2" mute-stream: "npm:^2.0.0" @@ -22910,7 +22910,7 @@ __metadata: peerDependenciesMeta: "@types/node": optional: true - checksum: 10/0140eef5d43687cde1f11409ef5c4029fce189584c7428cfd2ea58a1a7dfb4e59d3c5ddb462ad87606f87a547c6dd0b7e66ccf4078551737ae6eb2808ac1ec1c + checksum: 10/968bcc441fbe408108f9d154ee82b2b7b68d210c778378607dd4c21384a7a3054aa83487ba2498b599a64d28e21aa5b8989364946e2a458c91929570476c8941 languageName: node linkType: hard @@ -23950,11 +23950,11 @@ __metadata: linkType: hard "keyv@npm:^5.2.2": - version: 5.3.1 - resolution: "keyv@npm:5.3.1" + version: 5.3.2 + resolution: "keyv@npm:5.3.2" dependencies: "@keyv/serialize": "npm:^1.0.3" - checksum: 10/f2a3226e98c2b677491f2c050c41b582badc7079bc383bc20f9fa28cae80fb3f15f09bbe7aca39100b7b19ed61fae5a79d5127268c49fdf892182d8b9fbbcd2c + checksum: 10/2f48a2dea4bb82bfedede30697d1fca290d046a3cd5399446f2dd2965e0d09f8d2407670650325199f44d356872367603728ae3c1206e0ed7cd1967cb72e34ee languageName: node linkType: hard @@ -26278,20 +26278,20 @@ __metadata: linkType: hard "nanoid@npm:^3.3.6, nanoid@npm:^3.3.8": - version: 3.3.9 - resolution: "nanoid@npm:3.3.9" + version: 3.3.10 + resolution: "nanoid@npm:3.3.10" bin: nanoid: bin/nanoid.cjs - checksum: 10/80ec0f2f7fe0f472f459fbeab6afd88f6739e3da94cf2c2307bc83ef0203ec3b72e6113a9e3196ac4be79540440184136ee96e77c10a965e37d8347f43b265fa + checksum: 10/c3d706bbece94e913ecb3a1b17db988decce290984fbacab9b6f279eb87b0882322a00db3409e5fb6e8eb181303eba856b1ae8296cef90d5ccc05128c846e6bb languageName: node linkType: hard "nanoid@npm:^5.0.1, nanoid@npm:^5.0.7, nanoid@npm:^5.0.9": - version: 5.1.3 - resolution: "nanoid@npm:5.1.3" + version: 5.1.4 + resolution: "nanoid@npm:5.1.4" bin: nanoid: bin/nanoid.js - checksum: 10/e294f3e6c39d75f3eb85b74fb2edfd8375c02bda5ddb97cb7af010b07bf39f314fcbc7765235ef432c856e435cd6bb67d4ef73e1867367231b1f92bcb63830b9 + checksum: 10/44da5de98edc495da2e90015d093cf4d66b4f15c59844a3312d5484453b63021bf61237816a74773c29c5d6a942698f17751a3851a7238f55dd2af9de7715abc languageName: node linkType: hard @@ -27843,14 +27843,14 @@ __metadata: linkType: hard "piscina@npm:^5.0.0-alpha.0": - version: 5.0.0-alpha.1 - resolution: "piscina@npm:5.0.0-alpha.1" + version: 5.0.0-alpha.2 + resolution: "piscina@npm:5.0.0-alpha.2" dependencies: "@napi-rs/nice": "npm:^1.0.1" dependenciesMeta: "@napi-rs/nice": optional: true - checksum: 10/1f8c5c0c183712064a00786b76e603b96d90afa5da699dc950388205b241c4cd3e0b6940cfb9130286a91fd17823246583dd53e3e25842af8eb7e1db1b2d9fe0 + checksum: 10/e723e35ead85d2dcdbccfcf891bfdab759aafc855653d62cb6d40adbc3d929c3b34852adcd0817e9e773a3c0ceb5d8dd2f3e30e3e4cb7430748eaece1b95c73c languageName: node linkType: hard