diff --git a/.gitignore b/.gitignore index 92b8e4b3d1..62d2c26c5f 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,9 @@ junit.xml # direnv .direnv + +# rust +target + +# vendir +/.vendir-tmp/ \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000000..6ceb207bfb --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,1461 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aho-corasick" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +dependencies = [ + "memchr", +] + +[[package]] +name = "api-keys" +version = "0.1.0" +dependencies = [ + "async-graphql", + "async-graphql-axum", + "axum", + "tokio", +] + +[[package]] +name = "async-graphql" +version = "6.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "117113a7ff4a98f2a864fa7a5274033b0907fce65dc8464993c75033f8074f90" +dependencies = [ + "async-graphql-derive", + "async-graphql-parser", + "async-graphql-value", + "async-stream", + "async-trait", + "base64 0.13.1", + "bytes", + "fnv", + "futures-util", + "http", + "indexmap", + "mime", + "multer", + "num-traits", + "once_cell", + "pin-project-lite", + "regex", + "serde", + "serde_json", + "serde_urlencoded", + "static_assertions", + "thiserror", +] + +[[package]] +name = "async-graphql-axum" +version = "6.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ddd7767f83c3273a6d26a36cbdd562c6009aae87c6fa2c0f1eebb76f60c4151" +dependencies = [ + "async-graphql", + "async-trait", + "axum", + "bytes", + "futures-util", + "serde_json", + "tokio", + "tokio-stream", + "tokio-util", + "tower-service", +] + +[[package]] +name = "async-graphql-derive" +version = "6.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e4bb7b7b2344d24af860776b7fe4e4ee4a67cd965f076048d023f555703b854" +dependencies = [ + "Inflector", + "async-graphql-parser", + "darling", + "proc-macro-crate", + "proc-macro2", + "quote", + "strum", + "syn", + "thiserror", +] + +[[package]] +name = "async-graphql-parser" +version = "6.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c47e1c1ff6cb7cae62c9cd768d76475cc68f156d8234b024fd2499ad0e91da21" +dependencies = [ + "async-graphql-value", + "pest", + "serde", + "serde_json", +] + +[[package]] +name = "async-graphql-value" +version = "6.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2270df3a642efce860ed06fbcf61fc6db10f83c2ecb5613127fb453c82e012a4" +dependencies = [ + "bytes", + "indexmap", + "serde", + "serde_json", +] + +[[package]] +name = "async-stream" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "async-trait" +version = "0.1.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "axum" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +dependencies = [ + "async-trait", + "axum-core", + "base64 0.21.5", + "bitflags", + "bytes", + "futures-util", + "headers", + "http", + "http-body", + "hyper", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sha1", + "sync_wrapper", + "tokio", + "tokio-tungstenite", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "mime", + "rustversion", + "tower-layer", + "tower-service", +] + +[[package]] +name = "backtrace" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +dependencies = [ + "serde", +] + +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cpufeatures" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +dependencies = [ + "libc", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "darling" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +dependencies = [ + "darling_core", + "quote", + "syn", +] + +[[package]] +name = "data-encoding" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "encoding_rs" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" + +[[package]] +name = "futures-io" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" + +[[package]] +name = "futures-macro" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" + +[[package]] +name = "futures-task" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" + +[[package]] +name = "futures-util" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gimli" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" + +[[package]] +name = "hashbrown" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" + +[[package]] +name = "headers" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" +dependencies = [ + "base64 0.21.5", + "bytes", + "headers-core", + "http", + "httpdate", + "mime", + "sha1", +] + +[[package]] +name = "headers-core" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" +dependencies = [ + "http", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "0.14.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2 0.4.10", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" +dependencies = [ + "equivalent", + "hashbrown", + "serde", +] + +[[package]] +name = "itoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" + +[[package]] +name = "lock_api" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "memchr" +version = "2.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" +dependencies = [ + "libc", + "wasi", + "windows-sys", +] + +[[package]] +name = "multer" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2" +dependencies = [ + "bytes", + "encoding_rs", + "futures-util", + "http", + "httparse", + "log", + "memchr", + "mime", + "spin", + "version_check", +] + +[[package]] +name = "num-traits" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "object" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets", +] + +[[package]] +name = "percent-encoding" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + +[[package]] +name = "pest" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" +dependencies = [ + "memchr", + "thiserror", + "ucd-trie", +] + +[[package]] +name = "pin-project" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + +[[package]] +name = "ryu" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "serde" +version = "1.0.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_path_to_error" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335" +dependencies = [ + "itoa", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" + +[[package]] +name = "socket2" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "socket2" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn", +] + +[[package]] +name = "syn" +version = "2.0.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "thiserror" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2 0.5.5", + "tokio-macros", + "windows-sys", +] + +[[package]] +name = "tokio-macros" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-stream" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite", +] + +[[package]] +name = "tokio-util" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +dependencies = [ + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "log", + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http", + "httparse", + "log", + "rand", + "sha1", + "thiserror", + "url", + "utf-8", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + +[[package]] +name = "unicode-bidi" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "url" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "winnow" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32" +dependencies = [ + "memchr", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000000..25005d63de --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,14 @@ +[profile.release] +debug = true + +[workspace] +resolver = "2" +members = [ + "core/api-keys", +] + +[workspace.dependencies] +async-graphql = { version = "6.0.9", default-features = false, features = ["playground"] } +async-graphql-axum = "6.0.9" +axum = "0.6.20" +tokio = { version = "1.33.0", features = ["full"] } diff --git a/core/api-keys/BUCK b/core/api-keys/BUCK new file mode 100644 index 0000000000..87fdca61a6 --- /dev/null +++ b/core/api-keys/BUCK @@ -0,0 +1,19 @@ +rust_binary( + name = "api-keys", + deps = [ + "//third-party/rust:tokio", + "//third-party/rust:async-graphql", + "//third-party/rust:async-graphql-axum", + "//third-party/rust:axum", + ], + srcs = glob(["src/**/*.rs"]), + crate_root = "src/main.rs", + edition = "2021", +) + +rust_binary( + name = "write-sdl", + srcs = glob(["src/**/*.rs"]), + crate_root = "src/bin/write_sdl.rs", + edition = "2021", +) diff --git a/core/api-keys/Cargo.toml b/core/api-keys/Cargo.toml new file mode 100644 index 0000000000..9be1fc95d1 --- /dev/null +++ b/core/api-keys/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "api-keys" +version = "0.1.0" +edition = "2021" + +[[bin]] +name = "write_sdl" +path = "src/bin/write_sdl.rs" + +[dependencies] +async-graphql = { workspace = true } +async-graphql-axum = { workspace = true } +axum = { workspace = true } +tokio = { workspace = true } diff --git a/core/api-keys/schema/schema.gql b/core/api-keys/schema/schema.gql new file mode 100644 index 0000000000..eb4468737d --- /dev/null +++ b/core/api-keys/schema/schema.gql @@ -0,0 +1 @@ +type Query { """ Returns the sum of a and b """ add(a: Int!, b: Int!): Int!}schema { query: Query} \ No newline at end of file diff --git a/core/api-keys/src/bin/write_sdl.rs b/core/api-keys/src/bin/write_sdl.rs new file mode 100644 index 0000000000..2d560169c9 --- /dev/null +++ b/core/api-keys/src/bin/write_sdl.rs @@ -0,0 +1,3 @@ +fn main() { + println!("{}", &api_keys::graphql::schema().sdl()); +} diff --git a/core/api-keys/src/graphql/mod.rs b/core/api-keys/src/graphql/mod.rs new file mode 100644 index 0000000000..791690615a --- /dev/null +++ b/core/api-keys/src/graphql/mod.rs @@ -0,0 +1,15 @@ +use async_graphql::*; + +pub struct Query; + +#[Object] +impl Query { + /// Returns the sum of a and b + async fn add(&self, a: i32, b: i32) -> i32 { + a + b + 1 + } +} + +pub fn schema() -> Schema { + Schema::build(Query, EmptyMutation, EmptySubscription).finish() +} diff --git a/core/api-keys/src/lib.rs b/core/api-keys/src/lib.rs new file mode 100644 index 0000000000..11c6b6bd3f --- /dev/null +++ b/core/api-keys/src/lib.rs @@ -0,0 +1 @@ +// pub mod graphql; diff --git a/core/api-keys/src/main.rs b/core/api-keys/src/main.rs new file mode 100644 index 0000000000..20017e9b01 --- /dev/null +++ b/core/api-keys/src/main.rs @@ -0,0 +1,49 @@ +use async_graphql::{EmptyMutation, EmptySubscription, Object, Schema}; +use async_graphql_axum::{GraphQLRequest, GraphQLResponse}; +use axum::{routing::get, Extension, Router}; + +#[tokio::main] +async fn main() { + // Create a GraphQL schema with a simple query + let schema = Schema::build(QueryRoot, EmptyMutation, EmptySubscription).finish(); + + // Create an axum router + let app = Router::new() + .route( + "/graphql", + get(playground).post(axum::routing::post(graphql_handler)), + ) + .layer(Extension(schema)); + + // Run the server + axum::Server::bind(&"0.0.0.0:8000".parse().unwrap()) + .serve(app.into_make_service()) + .await + .unwrap(); +} + +// GraphQL handler +async fn graphql_handler( + schema: Extension>, + req: GraphQLRequest, +) -> GraphQLResponse { + schema.execute(req.into_inner()).await.into() +} + +// Playground handler +async fn playground() -> impl axum::response::IntoResponse { + axum::response::Html(async_graphql::http::playground_source( + async_graphql::http::GraphQLPlaygroundConfig::new("/graphql"), + )) +} + +// Define a simple query object +#[derive(Default)] +struct QueryRoot; + +#[Object] +impl QueryRoot { + async fn hello_world(&self) -> &str { + "Hello, world!" + } +} diff --git a/dev/Tiltfile b/dev/Tiltfile index bef8d606a7..5d00dce2d7 100644 --- a/dev/Tiltfile +++ b/dev/Tiltfile @@ -166,6 +166,25 @@ local_resource( ] ) +def _buck2_dep_inputs(target): + cmd = [ + "buck2", + "uquery", + "\"inputs(deps('{}'))\"".format(target), + ] + file_paths = str(local(" ".join(cmd))).splitlines() + + return file_paths + +api_keys_target = "//core/api-keys:api-keys" +local_resource( + "api_keys", + labels = ["core"], + cmd = "buck2 build {}".format(api_keys_target), + serve_cmd = "buck2 run {}".format(api_keys_target), + deps = _buck2_dep_inputs(api_keys_target), +) + docker_compose("./docker-compose.deps.yml", project_name = "galoy-dev") for service in groups["bitcoin"]: diff --git a/dev/healthcheck.py b/dev/healthcheck.py index f11ff1f5fb..f8bb1f1d33 100644 --- a/dev/healthcheck.py +++ b/dev/healthcheck.py @@ -16,7 +16,7 @@ def main() -> int: remediations = 0 - section("Running health check on system for developing in the SI project") + section("Running health check on system for developing in the Galoy project") docker_cmd = detect_docker_command() remediations += docker_cmd diff --git a/docs/README.md b/docs/README.md index 7635bb35a6..3a420694ea 100644 --- a/docs/README.md +++ b/docs/README.md @@ -4,4 +4,4 @@ Welcome to the documentation for the Galoy software. These files not only contain information about Galoy itself, but also about running and developing GaloySI in general. These documents range from guides to knowledge-base-esque information. -If you just want to get SI up and running, see the [README](../README.md). +If you just want to get Galoy up and running, see the [README](../README.md). diff --git a/flake.lock b/flake.lock index 83e5fa45eb..604d0014d8 100644 --- a/flake.lock +++ b/flake.lock @@ -38,9 +38,33 @@ "inputs": { "flake-utils": "flake-utils", "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay", "tilt-pin-pkgs": "tilt-pin-pkgs" } }, + "rust-overlay": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1698631970, + "narHash": "sha256-uO+iqGslP1TdH0q3pMkpo6XHtzoEa6bjjF3dEQJSDcc=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "44210df7a70dcf0a81a5919f9422b6ae589ee673", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, diff --git a/flake.nix b/flake.nix index 1640b0a3d0..e9240073d6 100644 --- a/flake.nix +++ b/flake.nix @@ -12,6 +12,13 @@ # References: https://github.com/NixOS/nixpkgs/issues/260411 # See: https://lazamar.co.uk/nix-versions/?channel=nixos-unstable&package=tilt tilt-pin-pkgs.url = "https://github.com/NixOS/nixpkgs/archive/e1ee359d16a1886f0771cc433a00827da98d861c.tar.gz"; + rust-overlay = { + url = "github:oxalica/rust-overlay"; + inputs = { + nixpkgs.follows = "nixpkgs"; + flake-utils.follows = "flake-utils"; + }; + }; }; outputs = { @@ -19,6 +26,7 @@ nixpkgs, flake-utils, tilt-pin-pkgs, + rust-overlay, }: flake-utils.lib.eachDefaultSystem (system: let overlays = [ @@ -26,8 +34,13 @@ nodejs = super.nodejs_20; pnpm = super.nodePackages.pnpm; }) + (import rust-overlay) ]; pkgs = import nixpkgs {inherit overlays system;}; + rustVersion = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml; + rust-toolchain = rustVersion.override { + extensions = ["rust-analyzer" "rust-src"]; + }; tilt-pin = import tilt-pin-pkgs {inherit system;}; buck2NativeBuildInputs = with pkgs; [ @@ -37,6 +50,9 @@ python3 ripgrep cacert + clang + lld + rust-toolchain ]; nativeBuildInputs = with pkgs; @@ -54,11 +70,12 @@ shellcheck shfmt vendir - gitMinimal - git-cliff jq - yq-go ytt + cargo-nextest + cargo-audit + cargo-watch + reindeer ] ++ buck2NativeBuildInputs ++ lib.optionals pkgs.stdenv.isLinux [ diff --git a/package.json b/package.json index 22e103cb10..9fff52e89d 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "si", + "name": "galoy", "version": "1.0.0", "description": "galoy monorepo", "scripts": { diff --git a/prelude/rust/tools/rustc_action.py b/prelude/rust/tools/rustc_action.py index 6f2498cd18..a5fc1d3d4c 100755 --- a/prelude/rust/tools/rustc_action.py +++ b/prelude/rust/tools/rustc_action.py @@ -259,6 +259,7 @@ async def main() -> int: ] if k in os.environ } + nix_env(env) if args.env: # Unescape previously escaped newlines. # Example: \\\\n\\n -> \\\n\n -> \\n\n @@ -364,6 +365,38 @@ async def main() -> int: return res +NIX_ENV_VARS = [ + "NIX_BINTOOLS", + "NIX_BINTOOLS_FOR_TARGET", + "NIX_CC", + "NIX_CC_FOR_TARGET", + "NIX_CFLAGS_COMPILE", + "NIX_CFLAGS_COMPILE_FOR_TARGET", + "NIX_COREFOUNDATION_RPATH", + "NIX_DONT_SET_RPATH", + "NIX_DONT_SET_RPATH_FOR_BUILD", + "NIX_ENFORCE_NO_NATIVE", + "NIX_HARDENING_ENABLE", + "NIX_IGNORE_LD_THROUGH_GCC", + "NIX_LDFLAGS", + "NIX_LDFLAGS_FOR_TARGET", + "NIX_NO_SELF_RPATH", +] +NIX_ENV_VAR_PREFIXES = [ + "NIX_BINTOOLS_WRAPPER_TARGET_HOST_", + "NIX_BINTOOLS_WRAPPER_TARGET_TARGET_", + "NIX_CC_WRAPPER_TARGET_HOST_", + "NIX_CC_WRAPPER_TARGET_TARGET_", +] + + +def nix_env(env: Dict[str, str]): + env.update({k: os.environ[k] for k in NIX_ENV_VARS if k in os.environ}) + for prefix in NIX_ENV_VAR_PREFIXES: + vars_starting_with = dict( + filter(lambda pair: pair[0].startswith(prefix), + os.environ.items())) + env.update({k: v for k, v in vars_starting_with.items()}) # There is a bug with asyncio.run() on Windows: # https://bugs.python.org/issue39232 diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 0000000000..02cb8fcb53 --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,3 @@ +[toolchain] +channel = "stable" +profile = "default" diff --git a/third-party/macros/rust_third_party.bzl b/third-party/macros/rust_third_party.bzl new file mode 100644 index 0000000000..f6a0bd3d22 --- /dev/null +++ b/third-party/macros/rust_third_party.bzl @@ -0,0 +1,11 @@ +# @nolint + +def third_party_rust_prebuilt_cxx_library(name, **kwargs): + # FIXME: This should probably be a fixup.toml, but it currently can't be expressed. + # The windows-sys crate does -lwindows to find windows. We pass libwindows.a on the command line, + # which resolves the symbols, but the linker still needs to "find" windows, so we also put its + # directory on the link options. + if name.endswith("libwindows.a"): + kwargs["exported_linker_flags"] = ["-Lshim/third-party/rust/" + kwargs["static_lib"].rpartition("/")[0]] + + native.prebuilt_cxx_library(name = name, **kwargs) diff --git a/shim/custom-third-party/node/turbo/BUCK b/third-party/node/turbo/BUCK similarity index 100% rename from shim/custom-third-party/node/turbo/BUCK rename to third-party/node/turbo/BUCK diff --git a/shim/custom-third-party/node/turbo/package.json b/third-party/node/turbo/package.json similarity index 100% rename from shim/custom-third-party/node/turbo/package.json rename to third-party/node/turbo/package.json diff --git a/shim/custom-third-party/node/turbo/pnpm-lock.yaml b/third-party/node/turbo/pnpm-lock.yaml similarity index 100% rename from shim/custom-third-party/node/turbo/pnpm-lock.yaml rename to third-party/node/turbo/pnpm-lock.yaml diff --git a/shim/custom-third-party/node/turbo/pnpm-workspace.yaml b/third-party/node/turbo/pnpm-workspace.yaml similarity index 100% rename from shim/custom-third-party/node/turbo/pnpm-workspace.yaml rename to third-party/node/turbo/pnpm-workspace.yaml diff --git a/third-party/patches/nix_rustc_action.py.patch b/third-party/patches/nix_rustc_action.py.patch new file mode 100644 index 0000000000..ab00edcbaf --- /dev/null +++ b/third-party/patches/nix_rustc_action.py.patch @@ -0,0 +1,51 @@ +diff --git a/prelude/rust/tools/rustc_action.py b/prelude/rust/tools/rustc_action.py +index 6f2498cd1..a5fc1d3d4 100755 +--- a/prelude/rust/tools/rustc_action.py ++++ b/prelude/rust/tools/rustc_action.py +@@ -259,6 +259,7 @@ async def main() -> int: + ] + if k in os.environ + } ++ nix_env(env) + if args.env: + # Unescape previously escaped newlines. + # Example: \\\\n\\n -> \\\n\n -> \\n\n +@@ -364,6 +365,38 @@ async def main() -> int: + + return res + ++NIX_ENV_VARS = [ ++ "NIX_BINTOOLS", ++ "NIX_BINTOOLS_FOR_TARGET", ++ "NIX_CC", ++ "NIX_CC_FOR_TARGET", ++ "NIX_CFLAGS_COMPILE", ++ "NIX_CFLAGS_COMPILE_FOR_TARGET", ++ "NIX_COREFOUNDATION_RPATH", ++ "NIX_DONT_SET_RPATH", ++ "NIX_DONT_SET_RPATH_FOR_BUILD", ++ "NIX_ENFORCE_NO_NATIVE", ++ "NIX_HARDENING_ENABLE", ++ "NIX_IGNORE_LD_THROUGH_GCC", ++ "NIX_LDFLAGS", ++ "NIX_LDFLAGS_FOR_TARGET", ++ "NIX_NO_SELF_RPATH", ++] ++NIX_ENV_VAR_PREFIXES = [ ++ "NIX_BINTOOLS_WRAPPER_TARGET_HOST_", ++ "NIX_BINTOOLS_WRAPPER_TARGET_TARGET_", ++ "NIX_CC_WRAPPER_TARGET_HOST_", ++ "NIX_CC_WRAPPER_TARGET_TARGET_", ++] ++ ++ ++def nix_env(env: Dict[str, str]): ++ env.update({k: os.environ[k] for k in NIX_ENV_VARS if k in os.environ}) ++ for prefix in NIX_ENV_VAR_PREFIXES: ++ vars_starting_with = dict( ++ filter(lambda pair: pair[0].startswith(prefix), ++ os.environ.items())) ++ env.update({k: v for k, v in vars_starting_with.items()}) + + # There is a bug with asyncio.run() on Windows: + # https://bugs.python.org/issue39232 diff --git a/third-party/rust/BUCK b/third-party/rust/BUCK new file mode 100644 index 0000000000..a3df5a0bd9 --- /dev/null +++ b/third-party/rust/BUCK @@ -0,0 +1,3645 @@ +# @generated by `reindeer buckify` + +load("@prelude//rust:cargo_buildscript.bzl", "buildscript_run") +load("@prelude//rust:cargo_package.bzl", "cargo") +load("//third-party/macros:rust_third_party.bzl", "third_party_rust_prebuilt_cxx_library") + +http_archive( + name = "Inflector-0.11.4.crate", + sha256 = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3", + strip_prefix = "Inflector-0.11.4", + urls = ["https://crates.io/api/v1/crates/Inflector/0.11.4/download"], + visibility = [], +) + +cargo.rust_library( + name = "Inflector-0.11.4", + srcs = [":Inflector-0.11.4.crate"], + crate = "inflector", + crate_root = "Inflector-0.11.4.crate/src/lib.rs", + edition = "2015", + features = [ + "default", + "heavyweight", + "lazy_static", + "regex", + ], + visibility = [], + deps = [ + ":lazy_static-1.4.0", + ":regex-1.10.2", + ], +) + +http_archive( + name = "aho-corasick-1.1.2.crate", + sha256 = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0", + strip_prefix = "aho-corasick-1.1.2", + urls = ["https://crates.io/api/v1/crates/aho-corasick/1.1.2/download"], + visibility = [], +) + +cargo.rust_library( + name = "aho-corasick-1.1.2", + srcs = [":aho-corasick-1.1.2.crate"], + crate = "aho_corasick", + crate_root = "aho-corasick-1.1.2.crate/src/lib.rs", + edition = "2021", + features = [ + "default", + "perf-literal", + "std", + ], + visibility = [], + deps = [":memchr-2.6.4"], +) + +alias( + name = "async-graphql", + actual = ":async-graphql-6.0.9", + visibility = ["PUBLIC"], +) + +http_archive( + name = "async-graphql-6.0.9.crate", + sha256 = "117113a7ff4a98f2a864fa7a5274033b0907fce65dc8464993c75033f8074f90", + strip_prefix = "async-graphql-6.0.9", + urls = ["https://crates.io/api/v1/crates/async-graphql/6.0.9/download"], + visibility = [], +) + +cargo.rust_library( + name = "async-graphql-6.0.9", + srcs = [":async-graphql-6.0.9.crate"], + crate = "async_graphql", + crate_root = "async-graphql-6.0.9.crate/src/lib.rs", + edition = "2021", + features = ["playground"], + visibility = [], + deps = [ + ":async-graphql-derive-6.0.9", + ":async-graphql-parser-6.0.9", + ":async-graphql-value-6.0.9", + ":async-stream-0.3.5", + ":async-trait-0.1.74", + ":base64-0.13.1", + ":bytes-1.5.0", + ":fnv-1.0.7", + ":futures-util-0.3.29", + ":http-0.2.9", + ":indexmap-2.0.2", + ":mime-0.3.17", + ":multer-2.1.0", + ":num-traits-0.2.17", + ":once_cell-1.18.0", + ":pin-project-lite-0.2.13", + ":regex-1.10.2", + ":serde-1.0.190", + ":serde_json-1.0.108", + ":serde_urlencoded-0.7.1", + ":static_assertions-1.1.0", + ":thiserror-1.0.50", + ], +) + +alias( + name = "async-graphql-axum", + actual = ":async-graphql-axum-6.0.9", + visibility = ["PUBLIC"], +) + +http_archive( + name = "async-graphql-axum-6.0.9.crate", + sha256 = "0ddd7767f83c3273a6d26a36cbdd562c6009aae87c6fa2c0f1eebb76f60c4151", + strip_prefix = "async-graphql-axum-6.0.9", + urls = ["https://crates.io/api/v1/crates/async-graphql-axum/6.0.9/download"], + visibility = [], +) + +cargo.rust_library( + name = "async-graphql-axum-6.0.9", + srcs = [":async-graphql-axum-6.0.9.crate"], + crate = "async_graphql_axum", + crate_root = "async-graphql-axum-6.0.9.crate/src/lib.rs", + edition = "2021", + visibility = [], + deps = [ + ":async-graphql-6.0.9", + ":async-trait-0.1.74", + ":axum-0.6.20", + ":bytes-1.5.0", + ":futures-util-0.3.29", + ":serde_json-1.0.108", + ":tokio-1.33.0", + ":tokio-stream-0.1.14", + ":tokio-util-0.7.10", + ":tower-service-0.3.2", + ], +) + +http_archive( + name = "async-graphql-derive-6.0.9.crate", + sha256 = "6e4bb7b7b2344d24af860776b7fe4e4ee4a67cd965f076048d023f555703b854", + strip_prefix = "async-graphql-derive-6.0.9", + urls = ["https://crates.io/api/v1/crates/async-graphql-derive/6.0.9/download"], + visibility = [], +) + +cargo.rust_library( + name = "async-graphql-derive-6.0.9", + srcs = [":async-graphql-derive-6.0.9.crate"], + crate = "async_graphql_derive", + crate_root = "async-graphql-derive-6.0.9.crate/src/lib.rs", + edition = "2021", + proc_macro = True, + visibility = [], + deps = [ + ":Inflector-0.11.4", + ":async-graphql-parser-6.0.9", + ":darling-0.20.3", + ":proc-macro-crate-1.3.1", + ":proc-macro2-1.0.69", + ":quote-1.0.33", + ":strum-0.25.0", + ":syn-2.0.38", + ":thiserror-1.0.50", + ], +) + +http_archive( + name = "async-graphql-parser-6.0.9.crate", + sha256 = "c47e1c1ff6cb7cae62c9cd768d76475cc68f156d8234b024fd2499ad0e91da21", + strip_prefix = "async-graphql-parser-6.0.9", + urls = ["https://crates.io/api/v1/crates/async-graphql-parser/6.0.9/download"], + visibility = [], +) + +cargo.rust_library( + name = "async-graphql-parser-6.0.9", + srcs = [":async-graphql-parser-6.0.9.crate"], + crate = "async_graphql_parser", + crate_root = "async-graphql-parser-6.0.9.crate/src/lib.rs", + edition = "2021", + visibility = [], + deps = [ + ":async-graphql-value-6.0.9", + ":pest-2.7.5", + ":serde-1.0.190", + ":serde_json-1.0.108", + ], +) + +http_archive( + name = "async-graphql-value-6.0.9.crate", + sha256 = "2270df3a642efce860ed06fbcf61fc6db10f83c2ecb5613127fb453c82e012a4", + strip_prefix = "async-graphql-value-6.0.9", + urls = ["https://crates.io/api/v1/crates/async-graphql-value/6.0.9/download"], + visibility = [], +) + +cargo.rust_library( + name = "async-graphql-value-6.0.9", + srcs = [":async-graphql-value-6.0.9.crate"], + crate = "async_graphql_value", + crate_root = "async-graphql-value-6.0.9.crate/src/lib.rs", + edition = "2021", + visibility = [], + deps = [ + ":bytes-1.5.0", + ":indexmap-2.0.2", + ":serde-1.0.190", + ":serde_json-1.0.108", + ], +) + +http_archive( + name = "async-stream-0.3.5.crate", + sha256 = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51", + strip_prefix = "async-stream-0.3.5", + urls = ["https://crates.io/api/v1/crates/async-stream/0.3.5/download"], + visibility = [], +) + +cargo.rust_library( + name = "async-stream-0.3.5", + srcs = [":async-stream-0.3.5.crate"], + crate = "async_stream", + crate_root = "async-stream-0.3.5.crate/src/lib.rs", + edition = "2018", + visibility = [], + deps = [ + ":async-stream-impl-0.3.5", + ":futures-core-0.3.29", + ":pin-project-lite-0.2.13", + ], +) + +http_archive( + name = "async-stream-impl-0.3.5.crate", + sha256 = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193", + strip_prefix = "async-stream-impl-0.3.5", + urls = ["https://crates.io/api/v1/crates/async-stream-impl/0.3.5/download"], + visibility = [], +) + +cargo.rust_library( + name = "async-stream-impl-0.3.5", + srcs = [":async-stream-impl-0.3.5.crate"], + crate = "async_stream_impl", + crate_root = "async-stream-impl-0.3.5.crate/src/lib.rs", + edition = "2018", + proc_macro = True, + visibility = [], + deps = [ + ":proc-macro2-1.0.69", + ":quote-1.0.33", + ":syn-2.0.38", + ], +) + +http_archive( + name = "async-trait-0.1.74.crate", + sha256 = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9", + strip_prefix = "async-trait-0.1.74", + urls = ["https://crates.io/api/v1/crates/async-trait/0.1.74/download"], + visibility = [], +) + +cargo.rust_library( + name = "async-trait-0.1.74", + srcs = [":async-trait-0.1.74.crate"], + crate = "async_trait", + crate_root = "async-trait-0.1.74.crate/src/lib.rs", + edition = "2021", + proc_macro = True, + visibility = [], + deps = [ + ":proc-macro2-1.0.69", + ":quote-1.0.33", + ":syn-2.0.38", + ], +) + +http_archive( + name = "autocfg-1.1.0.crate", + sha256 = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa", + strip_prefix = "autocfg-1.1.0", + urls = ["https://crates.io/api/v1/crates/autocfg/1.1.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "autocfg-1.1.0", + srcs = [":autocfg-1.1.0.crate"], + crate = "autocfg", + crate_root = "autocfg-1.1.0.crate/src/lib.rs", + edition = "2015", + visibility = [], +) + +alias( + name = "axum", + actual = ":axum-0.6.20", + visibility = ["PUBLIC"], +) + +http_archive( + name = "axum-0.6.20.crate", + sha256 = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf", + strip_prefix = "axum-0.6.20", + urls = ["https://crates.io/api/v1/crates/axum/0.6.20/download"], + visibility = [], +) + +cargo.rust_library( + name = "axum-0.6.20", + srcs = [":axum-0.6.20.crate"], + crate = "axum", + crate_root = "axum-0.6.20.crate/src/lib.rs", + edition = "2021", + features = [ + "default", + "form", + "headers", + "http1", + "json", + "matched-path", + "original-uri", + "query", + "tokio", + "tower-log", + "ws", + ], + visibility = [], + deps = [ + ":async-trait-0.1.74", + ":axum-core-0.3.4", + ":base64-0.21.5", + ":bitflags-1.3.2", + ":bytes-1.5.0", + ":futures-util-0.3.29", + ":headers-0.3.9", + ":http-0.2.9", + ":http-body-0.4.5", + ":hyper-0.14.27", + ":itoa-1.0.9", + ":matchit-0.7.3", + ":memchr-2.6.4", + ":mime-0.3.17", + ":percent-encoding-2.3.0", + ":pin-project-lite-0.2.13", + ":serde-1.0.190", + ":serde_json-1.0.108", + ":serde_path_to_error-0.1.14", + ":serde_urlencoded-0.7.1", + ":sha1-0.10.6", + ":sync_wrapper-0.1.2", + ":tokio-1.33.0", + ":tokio-tungstenite-0.20.1", + ":tower-0.4.13", + ":tower-layer-0.3.2", + ":tower-service-0.3.2", + ], +) + +http_archive( + name = "axum-core-0.3.4.crate", + sha256 = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c", + strip_prefix = "axum-core-0.3.4", + urls = ["https://crates.io/api/v1/crates/axum-core/0.3.4/download"], + visibility = [], +) + +cargo.rust_library( + name = "axum-core-0.3.4", + srcs = [":axum-core-0.3.4.crate"], + crate = "axum_core", + crate_root = "axum-core-0.3.4.crate/src/lib.rs", + edition = "2021", + visibility = [], + deps = [ + ":async-trait-0.1.74", + ":bytes-1.5.0", + ":futures-util-0.3.29", + ":http-0.2.9", + ":http-body-0.4.5", + ":mime-0.3.17", + ":tower-layer-0.3.2", + ":tower-service-0.3.2", + ], +) + +http_archive( + name = "base64-0.13.1.crate", + sha256 = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8", + strip_prefix = "base64-0.13.1", + urls = ["https://crates.io/api/v1/crates/base64/0.13.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "base64-0.13.1", + srcs = [":base64-0.13.1.crate"], + crate = "base64", + crate_root = "base64-0.13.1.crate/src/lib.rs", + edition = "2018", + features = [ + "default", + "std", + ], + visibility = [], +) + +http_archive( + name = "base64-0.21.5.crate", + sha256 = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9", + strip_prefix = "base64-0.21.5", + urls = ["https://crates.io/api/v1/crates/base64/0.21.5/download"], + visibility = [], +) + +cargo.rust_library( + name = "base64-0.21.5", + srcs = [":base64-0.21.5.crate"], + crate = "base64", + crate_root = "base64-0.21.5.crate/src/lib.rs", + edition = "2018", + features = [ + "alloc", + "default", + "std", + ], + visibility = [], +) + +http_archive( + name = "bitflags-1.3.2.crate", + sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a", + strip_prefix = "bitflags-1.3.2", + urls = ["https://crates.io/api/v1/crates/bitflags/1.3.2/download"], + visibility = [], +) + +cargo.rust_library( + name = "bitflags-1.3.2", + srcs = [":bitflags-1.3.2.crate"], + crate = "bitflags", + crate_root = "bitflags-1.3.2.crate/src/lib.rs", + edition = "2018", + features = ["default"], + visibility = [], +) + +http_archive( + name = "block-buffer-0.10.4.crate", + sha256 = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71", + strip_prefix = "block-buffer-0.10.4", + urls = ["https://crates.io/api/v1/crates/block-buffer/0.10.4/download"], + visibility = [], +) + +cargo.rust_library( + name = "block-buffer-0.10.4", + srcs = [":block-buffer-0.10.4.crate"], + crate = "block_buffer", + crate_root = "block-buffer-0.10.4.crate/src/lib.rs", + edition = "2018", + visibility = [], + deps = [":generic-array-0.14.7"], +) + +http_archive( + name = "byteorder-1.5.0.crate", + sha256 = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b", + strip_prefix = "byteorder-1.5.0", + urls = ["https://crates.io/api/v1/crates/byteorder/1.5.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "byteorder-1.5.0", + srcs = [":byteorder-1.5.0.crate"], + crate = "byteorder", + crate_root = "byteorder-1.5.0.crate/src/lib.rs", + edition = "2021", + features = [ + "default", + "std", + ], + visibility = [], +) + +http_archive( + name = "bytes-1.5.0.crate", + sha256 = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223", + strip_prefix = "bytes-1.5.0", + urls = ["https://crates.io/api/v1/crates/bytes/1.5.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "bytes-1.5.0", + srcs = [":bytes-1.5.0.crate"], + crate = "bytes", + crate_root = "bytes-1.5.0.crate/src/lib.rs", + edition = "2018", + features = [ + "default", + "serde", + "std", + ], + visibility = [], + deps = [":serde-1.0.190"], +) + +http_archive( + name = "cfg-if-1.0.0.crate", + sha256 = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd", + strip_prefix = "cfg-if-1.0.0", + urls = ["https://crates.io/api/v1/crates/cfg-if/1.0.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "cfg-if-1.0.0", + srcs = [":cfg-if-1.0.0.crate"], + crate = "cfg_if", + crate_root = "cfg-if-1.0.0.crate/src/lib.rs", + edition = "2018", + visibility = [], +) + +http_archive( + name = "cpufeatures-0.2.11.crate", + sha256 = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0", + strip_prefix = "cpufeatures-0.2.11", + urls = ["https://crates.io/api/v1/crates/cpufeatures/0.2.11/download"], + visibility = [], +) + +cargo.rust_library( + name = "cpufeatures-0.2.11", + srcs = [":cpufeatures-0.2.11.crate"], + crate = "cpufeatures", + crate_root = "cpufeatures-0.2.11.crate/src/lib.rs", + edition = "2018", + platform = { + "linux-arm64": dict( + deps = [":libc-0.2.149"], + ), + "macos-arm64": dict( + deps = [":libc-0.2.149"], + ), + }, + visibility = [], +) + +http_archive( + name = "crypto-common-0.1.6.crate", + sha256 = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3", + strip_prefix = "crypto-common-0.1.6", + urls = ["https://crates.io/api/v1/crates/crypto-common/0.1.6/download"], + visibility = [], +) + +cargo.rust_library( + name = "crypto-common-0.1.6", + srcs = [":crypto-common-0.1.6.crate"], + crate = "crypto_common", + crate_root = "crypto-common-0.1.6.crate/src/lib.rs", + edition = "2018", + features = ["std"], + visibility = [], + deps = [ + ":generic-array-0.14.7", + ":typenum-1.17.0", + ], +) + +http_archive( + name = "darling-0.20.3.crate", + sha256 = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e", + strip_prefix = "darling-0.20.3", + urls = ["https://crates.io/api/v1/crates/darling/0.20.3/download"], + visibility = [], +) + +cargo.rust_library( + name = "darling-0.20.3", + srcs = [":darling-0.20.3.crate"], + crate = "darling", + crate_root = "darling-0.20.3.crate/src/lib.rs", + edition = "2018", + features = [ + "default", + "suggestions", + ], + visibility = [], + deps = [ + ":darling_core-0.20.3", + ":darling_macro-0.20.3", + ], +) + +http_archive( + name = "darling_core-0.20.3.crate", + sha256 = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621", + strip_prefix = "darling_core-0.20.3", + urls = ["https://crates.io/api/v1/crates/darling_core/0.20.3/download"], + visibility = [], +) + +cargo.rust_library( + name = "darling_core-0.20.3", + srcs = [":darling_core-0.20.3.crate"], + crate = "darling_core", + crate_root = "darling_core-0.20.3.crate/src/lib.rs", + edition = "2018", + features = [ + "strsim", + "suggestions", + ], + visibility = [], + deps = [ + ":fnv-1.0.7", + ":ident_case-1.0.1", + ":proc-macro2-1.0.69", + ":quote-1.0.33", + ":strsim-0.10.0", + ":syn-2.0.38", + ], +) + +http_archive( + name = "darling_macro-0.20.3.crate", + sha256 = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5", + strip_prefix = "darling_macro-0.20.3", + urls = ["https://crates.io/api/v1/crates/darling_macro/0.20.3/download"], + visibility = [], +) + +cargo.rust_library( + name = "darling_macro-0.20.3", + srcs = [":darling_macro-0.20.3.crate"], + crate = "darling_macro", + crate_root = "darling_macro-0.20.3.crate/src/lib.rs", + edition = "2018", + proc_macro = True, + visibility = [], + deps = [ + ":darling_core-0.20.3", + ":quote-1.0.33", + ":syn-2.0.38", + ], +) + +http_archive( + name = "data-encoding-2.4.0.crate", + sha256 = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308", + strip_prefix = "data-encoding-2.4.0", + urls = ["https://crates.io/api/v1/crates/data-encoding/2.4.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "data-encoding-2.4.0", + srcs = [":data-encoding-2.4.0.crate"], + crate = "data_encoding", + crate_root = "data-encoding-2.4.0.crate/src/lib.rs", + edition = "2018", + features = [ + "alloc", + "default", + "std", + ], + visibility = [], +) + +http_archive( + name = "digest-0.10.7.crate", + sha256 = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292", + strip_prefix = "digest-0.10.7", + urls = ["https://crates.io/api/v1/crates/digest/0.10.7/download"], + visibility = [], +) + +cargo.rust_library( + name = "digest-0.10.7", + srcs = [":digest-0.10.7.crate"], + crate = "digest", + crate_root = "digest-0.10.7.crate/src/lib.rs", + edition = "2018", + features = [ + "alloc", + "block-buffer", + "core-api", + "default", + "std", + ], + visibility = [], + deps = [ + ":block-buffer-0.10.4", + ":crypto-common-0.1.6", + ], +) + +http_archive( + name = "encoding_rs-0.8.33.crate", + sha256 = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1", + strip_prefix = "encoding_rs-0.8.33", + urls = ["https://crates.io/api/v1/crates/encoding_rs/0.8.33/download"], + visibility = [], +) + +cargo.rust_library( + name = "encoding_rs-0.8.33", + srcs = [":encoding_rs-0.8.33.crate"], + crate = "encoding_rs", + crate_root = "encoding_rs-0.8.33.crate/src/lib.rs", + edition = "2018", + features = [ + "alloc", + "default", + ], + visibility = [], + deps = [":cfg-if-1.0.0"], +) + +http_archive( + name = "equivalent-1.0.1.crate", + sha256 = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5", + strip_prefix = "equivalent-1.0.1", + urls = ["https://crates.io/api/v1/crates/equivalent/1.0.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "equivalent-1.0.1", + srcs = [":equivalent-1.0.1.crate"], + crate = "equivalent", + crate_root = "equivalent-1.0.1.crate/src/lib.rs", + edition = "2015", + visibility = [], +) + +http_archive( + name = "fnv-1.0.7.crate", + sha256 = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1", + strip_prefix = "fnv-1.0.7", + urls = ["https://crates.io/api/v1/crates/fnv/1.0.7/download"], + visibility = [], +) + +cargo.rust_library( + name = "fnv-1.0.7", + srcs = [":fnv-1.0.7.crate"], + crate = "fnv", + crate_root = "fnv-1.0.7.crate/lib.rs", + edition = "2015", + features = [ + "default", + "std", + ], + visibility = [], +) + +http_archive( + name = "form_urlencoded-1.2.0.crate", + sha256 = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652", + strip_prefix = "form_urlencoded-1.2.0", + urls = ["https://crates.io/api/v1/crates/form_urlencoded/1.2.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "form_urlencoded-1.2.0", + srcs = [":form_urlencoded-1.2.0.crate"], + crate = "form_urlencoded", + crate_root = "form_urlencoded-1.2.0.crate/src/lib.rs", + edition = "2018", + features = [ + "alloc", + "default", + "std", + ], + visibility = [], + deps = [":percent-encoding-2.3.0"], +) + +http_archive( + name = "futures-channel-0.3.29.crate", + sha256 = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb", + strip_prefix = "futures-channel-0.3.29", + urls = ["https://crates.io/api/v1/crates/futures-channel/0.3.29/download"], + visibility = [], +) + +cargo.rust_library( + name = "futures-channel-0.3.29", + srcs = [":futures-channel-0.3.29.crate"], + crate = "futures_channel", + crate_root = "futures-channel-0.3.29.crate/src/lib.rs", + edition = "2018", + env = { + "CARGO_MANIFEST_DIR": "futures-channel-0.3.29.crate", + "CARGO_PKG_AUTHORS": "", + "CARGO_PKG_DESCRIPTION": "Channels for asynchronous communication using futures-rs.\n", + "CARGO_PKG_NAME": "futures-channel", + "CARGO_PKG_REPOSITORY": "https://github.com/rust-lang/futures-rs", + "CARGO_PKG_VERSION": "0.3.29", + "CARGO_PKG_VERSION_MAJOR": "0", + "CARGO_PKG_VERSION_MINOR": "3", + "CARGO_PKG_VERSION_PATCH": "29", + }, + features = [ + "alloc", + "default", + "std", + ], + visibility = [], + deps = [":futures-core-0.3.29"], +) + +http_archive( + name = "futures-core-0.3.29.crate", + sha256 = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c", + strip_prefix = "futures-core-0.3.29", + urls = ["https://crates.io/api/v1/crates/futures-core/0.3.29/download"], + visibility = [], +) + +cargo.rust_library( + name = "futures-core-0.3.29", + srcs = [":futures-core-0.3.29.crate"], + crate = "futures_core", + crate_root = "futures-core-0.3.29.crate/src/lib.rs", + edition = "2018", + env = { + "CARGO_MANIFEST_DIR": "futures-core-0.3.29.crate", + "CARGO_PKG_AUTHORS": "", + "CARGO_PKG_DESCRIPTION": "The core traits and types in for the `futures` library.\n", + "CARGO_PKG_NAME": "futures-core", + "CARGO_PKG_REPOSITORY": "https://github.com/rust-lang/futures-rs", + "CARGO_PKG_VERSION": "0.3.29", + "CARGO_PKG_VERSION_MAJOR": "0", + "CARGO_PKG_VERSION_MINOR": "3", + "CARGO_PKG_VERSION_PATCH": "29", + }, + features = [ + "alloc", + "default", + "std", + ], + visibility = [], +) + +http_archive( + name = "futures-io-0.3.29.crate", + sha256 = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa", + strip_prefix = "futures-io-0.3.29", + urls = ["https://crates.io/api/v1/crates/futures-io/0.3.29/download"], + visibility = [], +) + +cargo.rust_library( + name = "futures-io-0.3.29", + srcs = [":futures-io-0.3.29.crate"], + crate = "futures_io", + crate_root = "futures-io-0.3.29.crate/src/lib.rs", + edition = "2018", + features = [ + "default", + "std", + ], + visibility = [], +) + +http_archive( + name = "futures-macro-0.3.29.crate", + sha256 = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb", + strip_prefix = "futures-macro-0.3.29", + urls = ["https://crates.io/api/v1/crates/futures-macro/0.3.29/download"], + visibility = [], +) + +cargo.rust_library( + name = "futures-macro-0.3.29", + srcs = [":futures-macro-0.3.29.crate"], + crate = "futures_macro", + crate_root = "futures-macro-0.3.29.crate/src/lib.rs", + edition = "2018", + proc_macro = True, + visibility = [], + deps = [ + ":proc-macro2-1.0.69", + ":quote-1.0.33", + ":syn-2.0.38", + ], +) + +http_archive( + name = "futures-sink-0.3.29.crate", + sha256 = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817", + strip_prefix = "futures-sink-0.3.29", + urls = ["https://crates.io/api/v1/crates/futures-sink/0.3.29/download"], + visibility = [], +) + +cargo.rust_library( + name = "futures-sink-0.3.29", + srcs = [":futures-sink-0.3.29.crate"], + crate = "futures_sink", + crate_root = "futures-sink-0.3.29.crate/src/lib.rs", + edition = "2018", + features = [ + "alloc", + "default", + "std", + ], + visibility = [], +) + +http_archive( + name = "futures-task-0.3.29.crate", + sha256 = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2", + strip_prefix = "futures-task-0.3.29", + urls = ["https://crates.io/api/v1/crates/futures-task/0.3.29/download"], + visibility = [], +) + +cargo.rust_library( + name = "futures-task-0.3.29", + srcs = [":futures-task-0.3.29.crate"], + crate = "futures_task", + crate_root = "futures-task-0.3.29.crate/src/lib.rs", + edition = "2018", + env = { + "CARGO_MANIFEST_DIR": "futures-task-0.3.29.crate", + "CARGO_PKG_AUTHORS": "", + "CARGO_PKG_DESCRIPTION": "Tools for working with tasks.\n", + "CARGO_PKG_NAME": "futures-task", + "CARGO_PKG_REPOSITORY": "https://github.com/rust-lang/futures-rs", + "CARGO_PKG_VERSION": "0.3.29", + "CARGO_PKG_VERSION_MAJOR": "0", + "CARGO_PKG_VERSION_MINOR": "3", + "CARGO_PKG_VERSION_PATCH": "29", + }, + features = [ + "alloc", + "std", + ], + visibility = [], +) + +http_archive( + name = "futures-util-0.3.29.crate", + sha256 = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104", + strip_prefix = "futures-util-0.3.29", + urls = ["https://crates.io/api/v1/crates/futures-util/0.3.29/download"], + visibility = [], +) + +cargo.rust_library( + name = "futures-util-0.3.29", + srcs = [":futures-util-0.3.29.crate"], + crate = "futures_util", + crate_root = "futures-util-0.3.29.crate/src/lib.rs", + edition = "2018", + env = { + "CARGO_MANIFEST_DIR": "futures-util-0.3.29.crate", + "CARGO_PKG_AUTHORS": "", + "CARGO_PKG_DESCRIPTION": "Common utilities and extension traits for the futures-rs library.\n", + "CARGO_PKG_NAME": "futures-util", + "CARGO_PKG_REPOSITORY": "https://github.com/rust-lang/futures-rs", + "CARGO_PKG_VERSION": "0.3.29", + "CARGO_PKG_VERSION_MAJOR": "0", + "CARGO_PKG_VERSION_MINOR": "3", + "CARGO_PKG_VERSION_PATCH": "29", + }, + features = [ + "alloc", + "async-await", + "async-await-macro", + "futures-io", + "futures-macro", + "futures-sink", + "io", + "memchr", + "sink", + "slab", + "std", + ], + visibility = [], + deps = [ + ":futures-core-0.3.29", + ":futures-io-0.3.29", + ":futures-macro-0.3.29", + ":futures-sink-0.3.29", + ":futures-task-0.3.29", + ":memchr-2.6.4", + ":pin-project-lite-0.2.13", + ":pin-utils-0.1.0", + ":slab-0.4.9", + ], +) + +http_archive( + name = "generic-array-0.14.7.crate", + sha256 = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a", + strip_prefix = "generic-array-0.14.7", + urls = ["https://crates.io/api/v1/crates/generic-array/0.14.7/download"], + visibility = [], +) + +cargo.rust_library( + name = "generic-array-0.14.7", + srcs = [":generic-array-0.14.7.crate"], + crate = "generic_array", + crate_root = "generic-array-0.14.7.crate/src/lib.rs", + edition = "2015", + features = ["more_lengths"], + visibility = [], + deps = [":typenum-1.17.0"], +) + +http_archive( + name = "getrandom-0.2.10.crate", + sha256 = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427", + strip_prefix = "getrandom-0.2.10", + urls = ["https://crates.io/api/v1/crates/getrandom/0.2.10/download"], + visibility = [], +) + +cargo.rust_library( + name = "getrandom-0.2.10", + srcs = [":getrandom-0.2.10.crate"], + crate = "getrandom", + crate_root = "getrandom-0.2.10.crate/src/lib.rs", + edition = "2018", + features = ["std"], + platform = { + "linux-arm64": dict( + deps = [":libc-0.2.149"], + ), + "linux-x86_64": dict( + deps = [":libc-0.2.149"], + ), + "macos-arm64": dict( + deps = [":libc-0.2.149"], + ), + "macos-x86_64": dict( + deps = [":libc-0.2.149"], + ), + }, + visibility = [], + deps = [":cfg-if-1.0.0"], +) + +http_archive( + name = "hashbrown-0.14.2.crate", + sha256 = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156", + strip_prefix = "hashbrown-0.14.2", + urls = ["https://crates.io/api/v1/crates/hashbrown/0.14.2/download"], + visibility = [], +) + +cargo.rust_library( + name = "hashbrown-0.14.2", + srcs = [":hashbrown-0.14.2.crate"], + crate = "hashbrown", + crate_root = "hashbrown-0.14.2.crate/src/lib.rs", + edition = "2021", + features = ["raw"], + visibility = [], +) + +http_archive( + name = "headers-0.3.9.crate", + sha256 = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270", + strip_prefix = "headers-0.3.9", + urls = ["https://crates.io/api/v1/crates/headers/0.3.9/download"], + visibility = [], +) + +cargo.rust_library( + name = "headers-0.3.9", + srcs = [":headers-0.3.9.crate"], + crate = "headers", + crate_root = "headers-0.3.9.crate/src/lib.rs", + edition = "2015", + visibility = [], + deps = [ + ":base64-0.21.5", + ":bytes-1.5.0", + ":headers-core-0.2.0", + ":http-0.2.9", + ":httpdate-1.0.3", + ":mime-0.3.17", + ":sha1-0.10.6", + ], +) + +http_archive( + name = "headers-core-0.2.0.crate", + sha256 = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429", + strip_prefix = "headers-core-0.2.0", + urls = ["https://crates.io/api/v1/crates/headers-core/0.2.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "headers-core-0.2.0", + srcs = [":headers-core-0.2.0.crate"], + crate = "headers_core", + crate_root = "headers-core-0.2.0.crate/src/lib.rs", + edition = "2015", + visibility = [], + deps = [":http-0.2.9"], +) + +http_archive( + name = "heck-0.4.1.crate", + sha256 = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8", + strip_prefix = "heck-0.4.1", + urls = ["https://crates.io/api/v1/crates/heck/0.4.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "heck-0.4.1", + srcs = [":heck-0.4.1.crate"], + crate = "heck", + crate_root = "heck-0.4.1.crate/src/lib.rs", + edition = "2018", + features = ["default"], + visibility = [], +) + +http_archive( + name = "http-0.2.9.crate", + sha256 = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482", + strip_prefix = "http-0.2.9", + urls = ["https://crates.io/api/v1/crates/http/0.2.9/download"], + visibility = [], +) + +cargo.rust_library( + name = "http-0.2.9", + srcs = [":http-0.2.9.crate"], + crate = "http", + crate_root = "http-0.2.9.crate/src/lib.rs", + edition = "2018", + visibility = [], + deps = [ + ":bytes-1.5.0", + ":fnv-1.0.7", + ":itoa-1.0.9", + ], +) + +http_archive( + name = "http-body-0.4.5.crate", + sha256 = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1", + strip_prefix = "http-body-0.4.5", + urls = ["https://crates.io/api/v1/crates/http-body/0.4.5/download"], + visibility = [], +) + +cargo.rust_library( + name = "http-body-0.4.5", + srcs = [":http-body-0.4.5.crate"], + crate = "http_body", + crate_root = "http-body-0.4.5.crate/src/lib.rs", + edition = "2018", + visibility = [], + deps = [ + ":bytes-1.5.0", + ":http-0.2.9", + ":pin-project-lite-0.2.13", + ], +) + +http_archive( + name = "httparse-1.8.0.crate", + sha256 = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904", + strip_prefix = "httparse-1.8.0", + urls = ["https://crates.io/api/v1/crates/httparse/1.8.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "httparse-1.8.0", + srcs = [":httparse-1.8.0.crate"], + crate = "httparse", + crate_root = "httparse-1.8.0.crate/src/lib.rs", + edition = "2018", + features = [ + "default", + "std", + ], + visibility = [], +) + +http_archive( + name = "httpdate-1.0.3.crate", + sha256 = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9", + strip_prefix = "httpdate-1.0.3", + urls = ["https://crates.io/api/v1/crates/httpdate/1.0.3/download"], + visibility = [], +) + +cargo.rust_library( + name = "httpdate-1.0.3", + srcs = [":httpdate-1.0.3.crate"], + crate = "httpdate", + crate_root = "httpdate-1.0.3.crate/src/lib.rs", + edition = "2021", + visibility = [], +) + +http_archive( + name = "hyper-0.14.27.crate", + sha256 = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468", + strip_prefix = "hyper-0.14.27", + urls = ["https://crates.io/api/v1/crates/hyper/0.14.27/download"], + visibility = [], +) + +cargo.rust_library( + name = "hyper-0.14.27", + srcs = [":hyper-0.14.27.crate"], + crate = "hyper", + crate_root = "hyper-0.14.27.crate/src/lib.rs", + edition = "2018", + features = [ + "default", + "http1", + "runtime", + "server", + "socket2", + "stream", + "tcp", + ], + visibility = [], + deps = [ + ":bytes-1.5.0", + ":futures-channel-0.3.29", + ":futures-core-0.3.29", + ":futures-util-0.3.29", + ":http-0.2.9", + ":http-body-0.4.5", + ":httparse-1.8.0", + ":httpdate-1.0.3", + ":itoa-1.0.9", + ":pin-project-lite-0.2.13", + ":socket2-0.4.10", + ":tokio-1.33.0", + ":tower-service-0.3.2", + ":tracing-0.1.40", + ":want-0.3.1", + ], +) + +http_archive( + name = "ident_case-1.0.1.crate", + sha256 = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39", + strip_prefix = "ident_case-1.0.1", + urls = ["https://crates.io/api/v1/crates/ident_case/1.0.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "ident_case-1.0.1", + srcs = [":ident_case-1.0.1.crate"], + crate = "ident_case", + crate_root = "ident_case-1.0.1.crate/src/lib.rs", + edition = "2015", + visibility = [], +) + +http_archive( + name = "idna-0.4.0.crate", + sha256 = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c", + strip_prefix = "idna-0.4.0", + urls = ["https://crates.io/api/v1/crates/idna/0.4.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "idna-0.4.0", + srcs = [":idna-0.4.0.crate"], + crate = "idna", + crate_root = "idna-0.4.0.crate/src/lib.rs", + edition = "2018", + features = [ + "alloc", + "default", + "std", + ], + visibility = [], + deps = [ + ":unicode-bidi-0.3.13", + ":unicode-normalization-0.1.22", + ], +) + +http_archive( + name = "indexmap-2.0.2.crate", + sha256 = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897", + strip_prefix = "indexmap-2.0.2", + urls = ["https://crates.io/api/v1/crates/indexmap/2.0.2/download"], + visibility = [], +) + +cargo.rust_library( + name = "indexmap-2.0.2", + srcs = [":indexmap-2.0.2.crate"], + crate = "indexmap", + crate_root = "indexmap-2.0.2.crate/src/lib.rs", + edition = "2021", + features = [ + "default", + "serde", + "std", + ], + visibility = [], + deps = [ + ":equivalent-1.0.1", + ":hashbrown-0.14.2", + ":serde-1.0.190", + ], +) + +http_archive( + name = "itoa-1.0.9.crate", + sha256 = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38", + strip_prefix = "itoa-1.0.9", + urls = ["https://crates.io/api/v1/crates/itoa/1.0.9/download"], + visibility = [], +) + +cargo.rust_library( + name = "itoa-1.0.9", + srcs = [":itoa-1.0.9.crate"], + crate = "itoa", + crate_root = "itoa-1.0.9.crate/src/lib.rs", + edition = "2018", + visibility = [], +) + +http_archive( + name = "lazy_static-1.4.0.crate", + sha256 = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646", + strip_prefix = "lazy_static-1.4.0", + urls = ["https://crates.io/api/v1/crates/lazy_static/1.4.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "lazy_static-1.4.0", + srcs = [":lazy_static-1.4.0.crate"], + crate = "lazy_static", + crate_root = "lazy_static-1.4.0.crate/src/lib.rs", + edition = "2015", + visibility = [], +) + +http_archive( + name = "libc-0.2.149.crate", + sha256 = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b", + strip_prefix = "libc-0.2.149", + urls = ["https://crates.io/api/v1/crates/libc/0.2.149/download"], + visibility = [], +) + +cargo.rust_library( + name = "libc-0.2.149", + srcs = [":libc-0.2.149.crate"], + crate = "libc", + crate_root = "libc-0.2.149.crate/src/lib.rs", + edition = "2015", + features = [ + "default", + "std", + ], + rustc_flags = ["@$(location :libc-0.2.149-build-script-run[rustc_flags])"], + visibility = [], +) + +cargo.rust_binary( + name = "libc-0.2.149-build-script-build", + srcs = [":libc-0.2.149.crate"], + crate = "build_script_build", + crate_root = "libc-0.2.149.crate/build.rs", + edition = "2015", + features = [ + "default", + "std", + ], + visibility = [], +) + +buildscript_run( + name = "libc-0.2.149-build-script-run", + package_name = "libc", + buildscript_rule = ":libc-0.2.149-build-script-build", + features = [ + "default", + "std", + ], + version = "0.2.149", +) + +http_archive( + name = "lock_api-0.4.11.crate", + sha256 = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45", + strip_prefix = "lock_api-0.4.11", + urls = ["https://crates.io/api/v1/crates/lock_api/0.4.11/download"], + visibility = [], +) + +cargo.rust_library( + name = "lock_api-0.4.11", + srcs = [":lock_api-0.4.11.crate"], + crate = "lock_api", + crate_root = "lock_api-0.4.11.crate/src/lib.rs", + edition = "2018", + features = [ + "atomic_usize", + "default", + ], + visibility = [], + deps = [":scopeguard-1.2.0"], +) + +http_archive( + name = "log-0.4.20.crate", + sha256 = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f", + strip_prefix = "log-0.4.20", + urls = ["https://crates.io/api/v1/crates/log/0.4.20/download"], + visibility = [], +) + +cargo.rust_library( + name = "log-0.4.20", + srcs = [":log-0.4.20.crate"], + crate = "log", + crate_root = "log-0.4.20.crate/src/lib.rs", + edition = "2015", + visibility = [], +) + +http_archive( + name = "matchit-0.7.3.crate", + sha256 = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94", + strip_prefix = "matchit-0.7.3", + urls = ["https://crates.io/api/v1/crates/matchit/0.7.3/download"], + visibility = [], +) + +cargo.rust_library( + name = "matchit-0.7.3", + srcs = [":matchit-0.7.3.crate"], + crate = "matchit", + crate_root = "matchit-0.7.3.crate/src/lib.rs", + edition = "2021", + features = ["default"], + visibility = [], +) + +http_archive( + name = "memchr-2.6.4.crate", + sha256 = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167", + strip_prefix = "memchr-2.6.4", + urls = ["https://crates.io/api/v1/crates/memchr/2.6.4/download"], + visibility = [], +) + +cargo.rust_library( + name = "memchr-2.6.4", + srcs = [":memchr-2.6.4.crate"], + crate = "memchr", + crate_root = "memchr-2.6.4.crate/src/lib.rs", + edition = "2021", + features = [ + "alloc", + "default", + "std", + ], + visibility = [], +) + +http_archive( + name = "mime-0.3.17.crate", + sha256 = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a", + strip_prefix = "mime-0.3.17", + urls = ["https://crates.io/api/v1/crates/mime/0.3.17/download"], + visibility = [], +) + +cargo.rust_library( + name = "mime-0.3.17", + srcs = [":mime-0.3.17.crate"], + crate = "mime", + crate_root = "mime-0.3.17.crate/src/lib.rs", + edition = "2015", + visibility = [], +) + +http_archive( + name = "mio-0.8.9.crate", + sha256 = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0", + strip_prefix = "mio-0.8.9", + urls = ["https://crates.io/api/v1/crates/mio/0.8.9/download"], + visibility = [], +) + +cargo.rust_library( + name = "mio-0.8.9", + srcs = [":mio-0.8.9.crate"], + crate = "mio", + crate_root = "mio-0.8.9.crate/src/lib.rs", + edition = "2018", + features = [ + "net", + "os-ext", + "os-poll", + ], + platform = { + "linux-arm64": dict( + deps = [":libc-0.2.149"], + ), + "linux-x86_64": dict( + deps = [":libc-0.2.149"], + ), + "macos-arm64": dict( + deps = [":libc-0.2.149"], + ), + "macos-x86_64": dict( + deps = [":libc-0.2.149"], + ), + "windows-gnu": dict( + deps = [":windows-sys-0.48.0"], + ), + "windows-msvc": dict( + deps = [":windows-sys-0.48.0"], + ), + }, + visibility = [], +) + +http_archive( + name = "multer-2.1.0.crate", + sha256 = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2", + strip_prefix = "multer-2.1.0", + urls = ["https://crates.io/api/v1/crates/multer/2.1.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "multer-2.1.0", + srcs = [":multer-2.1.0.crate"], + crate = "multer", + crate_root = "multer-2.1.0.crate/src/lib.rs", + edition = "2018", + features = ["default"], + visibility = [], + deps = [ + ":bytes-1.5.0", + ":encoding_rs-0.8.33", + ":futures-util-0.3.29", + ":http-0.2.9", + ":httparse-1.8.0", + ":log-0.4.20", + ":memchr-2.6.4", + ":mime-0.3.17", + ":spin-0.9.8", + ":version_check-0.9.4", + ], +) + +http_archive( + name = "num-traits-0.2.17.crate", + sha256 = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c", + strip_prefix = "num-traits-0.2.17", + urls = ["https://crates.io/api/v1/crates/num-traits/0.2.17/download"], + visibility = [], +) + +cargo.rust_library( + name = "num-traits-0.2.17", + srcs = [":num-traits-0.2.17.crate"], + crate = "num_traits", + crate_root = "num-traits-0.2.17.crate/src/lib.rs", + edition = "2018", + features = [ + "default", + "std", + ], + rustc_flags = ["@$(location :num-traits-0.2.17-build-script-run[rustc_flags])"], + visibility = [], +) + +cargo.rust_binary( + name = "num-traits-0.2.17-build-script-build", + srcs = [":num-traits-0.2.17.crate"], + crate = "build_script_build", + crate_root = "num-traits-0.2.17.crate/build.rs", + edition = "2018", + features = [ + "default", + "std", + ], + visibility = [], + deps = [":autocfg-1.1.0"], +) + +buildscript_run( + name = "num-traits-0.2.17-build-script-run", + package_name = "num-traits", + buildscript_rule = ":num-traits-0.2.17-build-script-build", + features = [ + "default", + "std", + ], + version = "0.2.17", +) + +http_archive( + name = "num_cpus-1.16.0.crate", + sha256 = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43", + strip_prefix = "num_cpus-1.16.0", + urls = ["https://crates.io/api/v1/crates/num_cpus/1.16.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "num_cpus-1.16.0", + srcs = [":num_cpus-1.16.0.crate"], + crate = "num_cpus", + crate_root = "num_cpus-1.16.0.crate/src/lib.rs", + edition = "2015", + platform = { + "linux-arm64": dict( + deps = [":libc-0.2.149"], + ), + "linux-x86_64": dict( + deps = [":libc-0.2.149"], + ), + "macos-arm64": dict( + deps = [":libc-0.2.149"], + ), + "macos-x86_64": dict( + deps = [":libc-0.2.149"], + ), + }, + visibility = [], +) + +http_archive( + name = "once_cell-1.18.0.crate", + sha256 = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d", + strip_prefix = "once_cell-1.18.0", + urls = ["https://crates.io/api/v1/crates/once_cell/1.18.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "once_cell-1.18.0", + srcs = [":once_cell-1.18.0.crate"], + crate = "once_cell", + crate_root = "once_cell-1.18.0.crate/src/lib.rs", + edition = "2021", + features = [ + "alloc", + "default", + "race", + "std", + ], + visibility = [], +) + +http_archive( + name = "parking_lot-0.12.1.crate", + sha256 = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f", + strip_prefix = "parking_lot-0.12.1", + urls = ["https://crates.io/api/v1/crates/parking_lot/0.12.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "parking_lot-0.12.1", + srcs = [":parking_lot-0.12.1.crate"], + crate = "parking_lot", + crate_root = "parking_lot-0.12.1.crate/src/lib.rs", + edition = "2018", + features = ["default"], + visibility = [], + deps = [ + ":lock_api-0.4.11", + ":parking_lot_core-0.9.9", + ], +) + +http_archive( + name = "parking_lot_core-0.9.9.crate", + sha256 = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e", + strip_prefix = "parking_lot_core-0.9.9", + urls = ["https://crates.io/api/v1/crates/parking_lot_core/0.9.9/download"], + visibility = [], +) + +cargo.rust_library( + name = "parking_lot_core-0.9.9", + srcs = [":parking_lot_core-0.9.9.crate"], + crate = "parking_lot_core", + crate_root = "parking_lot_core-0.9.9.crate/src/lib.rs", + edition = "2018", + platform = { + "linux-arm64": dict( + deps = [":libc-0.2.149"], + ), + "linux-x86_64": dict( + deps = [":libc-0.2.149"], + ), + "macos-arm64": dict( + deps = [":libc-0.2.149"], + ), + "macos-x86_64": dict( + deps = [":libc-0.2.149"], + ), + "windows-gnu": dict( + deps = [":windows-targets-0.48.5"], + ), + "windows-msvc": dict( + deps = [":windows-targets-0.48.5"], + ), + }, + visibility = [], + deps = [ + ":cfg-if-1.0.0", + ":smallvec-1.11.1", + ], +) + +http_archive( + name = "percent-encoding-2.3.0.crate", + sha256 = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94", + strip_prefix = "percent-encoding-2.3.0", + urls = ["https://crates.io/api/v1/crates/percent-encoding/2.3.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "percent-encoding-2.3.0", + srcs = [":percent-encoding-2.3.0.crate"], + crate = "percent_encoding", + crate_root = "percent-encoding-2.3.0.crate/src/lib.rs", + edition = "2018", + features = [ + "alloc", + "default", + "std", + ], + visibility = [], +) + +http_archive( + name = "pest-2.7.5.crate", + sha256 = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5", + strip_prefix = "pest-2.7.5", + urls = ["https://crates.io/api/v1/crates/pest/2.7.5/download"], + visibility = [], +) + +cargo.rust_library( + name = "pest-2.7.5", + srcs = [":pest-2.7.5.crate"], + crate = "pest", + crate_root = "pest-2.7.5.crate/src/lib.rs", + edition = "2021", + features = [ + "default", + "memchr", + "std", + ], + visibility = [], + deps = [ + ":memchr-2.6.4", + ":thiserror-1.0.50", + ":ucd-trie-0.1.6", + ], +) + +http_archive( + name = "pin-project-1.1.3.crate", + sha256 = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422", + strip_prefix = "pin-project-1.1.3", + urls = ["https://crates.io/api/v1/crates/pin-project/1.1.3/download"], + visibility = [], +) + +cargo.rust_library( + name = "pin-project-1.1.3", + srcs = [":pin-project-1.1.3.crate"], + crate = "pin_project", + crate_root = "pin-project-1.1.3.crate/src/lib.rs", + edition = "2021", + visibility = [], + deps = [":pin-project-internal-1.1.3"], +) + +http_archive( + name = "pin-project-internal-1.1.3.crate", + sha256 = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405", + strip_prefix = "pin-project-internal-1.1.3", + urls = ["https://crates.io/api/v1/crates/pin-project-internal/1.1.3/download"], + visibility = [], +) + +cargo.rust_library( + name = "pin-project-internal-1.1.3", + srcs = [":pin-project-internal-1.1.3.crate"], + crate = "pin_project_internal", + crate_root = "pin-project-internal-1.1.3.crate/src/lib.rs", + edition = "2021", + proc_macro = True, + visibility = [], + deps = [ + ":proc-macro2-1.0.69", + ":quote-1.0.33", + ":syn-2.0.38", + ], +) + +http_archive( + name = "pin-project-lite-0.2.13.crate", + sha256 = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58", + strip_prefix = "pin-project-lite-0.2.13", + urls = ["https://crates.io/api/v1/crates/pin-project-lite/0.2.13/download"], + visibility = [], +) + +cargo.rust_library( + name = "pin-project-lite-0.2.13", + srcs = [":pin-project-lite-0.2.13.crate"], + crate = "pin_project_lite", + crate_root = "pin-project-lite-0.2.13.crate/src/lib.rs", + edition = "2018", + visibility = [], +) + +http_archive( + name = "pin-utils-0.1.0.crate", + sha256 = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184", + strip_prefix = "pin-utils-0.1.0", + urls = ["https://crates.io/api/v1/crates/pin-utils/0.1.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "pin-utils-0.1.0", + srcs = [":pin-utils-0.1.0.crate"], + crate = "pin_utils", + crate_root = "pin-utils-0.1.0.crate/src/lib.rs", + edition = "2018", + visibility = [], +) + +http_archive( + name = "ppv-lite86-0.2.17.crate", + sha256 = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de", + strip_prefix = "ppv-lite86-0.2.17", + urls = ["https://crates.io/api/v1/crates/ppv-lite86/0.2.17/download"], + visibility = [], +) + +cargo.rust_library( + name = "ppv-lite86-0.2.17", + srcs = [":ppv-lite86-0.2.17.crate"], + crate = "ppv_lite86", + crate_root = "ppv-lite86-0.2.17.crate/src/lib.rs", + edition = "2018", + features = [ + "simd", + "std", + ], + visibility = [], +) + +http_archive( + name = "proc-macro-crate-1.3.1.crate", + sha256 = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919", + strip_prefix = "proc-macro-crate-1.3.1", + urls = ["https://crates.io/api/v1/crates/proc-macro-crate/1.3.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "proc-macro-crate-1.3.1", + srcs = [":proc-macro-crate-1.3.1.crate"], + crate = "proc_macro_crate", + crate_root = "proc-macro-crate-1.3.1.crate/src/lib.rs", + edition = "2021", + visibility = [], + deps = [ + ":once_cell-1.18.0", + ":toml_edit-0.19.15", + ], +) + +http_archive( + name = "proc-macro2-1.0.69.crate", + sha256 = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da", + strip_prefix = "proc-macro2-1.0.69", + urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.69/download"], + visibility = [], +) + +cargo.rust_library( + name = "proc-macro2-1.0.69", + srcs = [":proc-macro2-1.0.69.crate"], + crate = "proc_macro2", + crate_root = "proc-macro2-1.0.69.crate/src/lib.rs", + edition = "2021", + features = [ + "default", + "proc-macro", + ], + rustc_flags = ["@$(location :proc-macro2-1.0.69-build-script-run[rustc_flags])"], + visibility = [], + deps = [":unicode-ident-1.0.12"], +) + +cargo.rust_binary( + name = "proc-macro2-1.0.69-build-script-build", + srcs = [":proc-macro2-1.0.69.crate"], + crate = "build_script_build", + crate_root = "proc-macro2-1.0.69.crate/build.rs", + edition = "2021", + features = [ + "default", + "proc-macro", + ], + visibility = [], +) + +buildscript_run( + name = "proc-macro2-1.0.69-build-script-run", + package_name = "proc-macro2", + buildscript_rule = ":proc-macro2-1.0.69-build-script-build", + features = [ + "default", + "proc-macro", + ], + version = "1.0.69", +) + +http_archive( + name = "quote-1.0.33.crate", + sha256 = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae", + strip_prefix = "quote-1.0.33", + urls = ["https://crates.io/api/v1/crates/quote/1.0.33/download"], + visibility = [], +) + +cargo.rust_library( + name = "quote-1.0.33", + srcs = [":quote-1.0.33.crate"], + crate = "quote", + crate_root = "quote-1.0.33.crate/src/lib.rs", + edition = "2018", + features = [ + "default", + "proc-macro", + ], + visibility = [], + deps = [":proc-macro2-1.0.69"], +) + +http_archive( + name = "rand-0.8.5.crate", + sha256 = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404", + strip_prefix = "rand-0.8.5", + urls = ["https://crates.io/api/v1/crates/rand/0.8.5/download"], + visibility = [], +) + +cargo.rust_library( + name = "rand-0.8.5", + srcs = [":rand-0.8.5.crate"], + crate = "rand", + crate_root = "rand-0.8.5.crate/src/lib.rs", + edition = "2018", + features = [ + "alloc", + "default", + "getrandom", + "libc", + "rand_chacha", + "std", + "std_rng", + ], + platform = { + "linux-arm64": dict( + deps = [":libc-0.2.149"], + ), + "linux-x86_64": dict( + deps = [":libc-0.2.149"], + ), + "macos-arm64": dict( + deps = [":libc-0.2.149"], + ), + "macos-x86_64": dict( + deps = [":libc-0.2.149"], + ), + }, + visibility = [], + deps = [ + ":rand_chacha-0.3.1", + ":rand_core-0.6.4", + ], +) + +http_archive( + name = "rand_chacha-0.3.1.crate", + sha256 = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88", + strip_prefix = "rand_chacha-0.3.1", + urls = ["https://crates.io/api/v1/crates/rand_chacha/0.3.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "rand_chacha-0.3.1", + srcs = [":rand_chacha-0.3.1.crate"], + crate = "rand_chacha", + crate_root = "rand_chacha-0.3.1.crate/src/lib.rs", + edition = "2018", + features = ["std"], + visibility = [], + deps = [ + ":ppv-lite86-0.2.17", + ":rand_core-0.6.4", + ], +) + +http_archive( + name = "rand_core-0.6.4.crate", + sha256 = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c", + strip_prefix = "rand_core-0.6.4", + urls = ["https://crates.io/api/v1/crates/rand_core/0.6.4/download"], + visibility = [], +) + +cargo.rust_library( + name = "rand_core-0.6.4", + srcs = [":rand_core-0.6.4.crate"], + crate = "rand_core", + crate_root = "rand_core-0.6.4.crate/src/lib.rs", + edition = "2018", + features = [ + "alloc", + "getrandom", + "std", + ], + visibility = [], + deps = [":getrandom-0.2.10"], +) + +http_archive( + name = "regex-1.10.2.crate", + sha256 = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343", + strip_prefix = "regex-1.10.2", + urls = ["https://crates.io/api/v1/crates/regex/1.10.2/download"], + visibility = [], +) + +cargo.rust_library( + name = "regex-1.10.2", + srcs = [":regex-1.10.2.crate"], + crate = "regex", + crate_root = "regex-1.10.2.crate/src/lib.rs", + edition = "2021", + features = [ + "default", + "perf", + "perf-backtrack", + "perf-cache", + "perf-dfa", + "perf-inline", + "perf-literal", + "perf-onepass", + "std", + "unicode", + "unicode-age", + "unicode-bool", + "unicode-case", + "unicode-gencat", + "unicode-perl", + "unicode-script", + "unicode-segment", + ], + visibility = [], + deps = [ + ":aho-corasick-1.1.2", + ":memchr-2.6.4", + ":regex-automata-0.4.3", + ":regex-syntax-0.8.2", + ], +) + +http_archive( + name = "regex-automata-0.4.3.crate", + sha256 = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f", + strip_prefix = "regex-automata-0.4.3", + urls = ["https://crates.io/api/v1/crates/regex-automata/0.4.3/download"], + visibility = [], +) + +cargo.rust_library( + name = "regex-automata-0.4.3", + srcs = [":regex-automata-0.4.3.crate"], + crate = "regex_automata", + crate_root = "regex-automata-0.4.3.crate/src/lib.rs", + edition = "2021", + features = [ + "alloc", + "dfa-onepass", + "hybrid", + "meta", + "nfa-backtrack", + "nfa-pikevm", + "nfa-thompson", + "perf-inline", + "perf-literal", + "perf-literal-multisubstring", + "perf-literal-substring", + "std", + "syntax", + "unicode", + "unicode-age", + "unicode-bool", + "unicode-case", + "unicode-gencat", + "unicode-perl", + "unicode-script", + "unicode-segment", + "unicode-word-boundary", + ], + visibility = [], + deps = [ + ":aho-corasick-1.1.2", + ":memchr-2.6.4", + ":regex-syntax-0.8.2", + ], +) + +http_archive( + name = "regex-syntax-0.8.2.crate", + sha256 = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f", + strip_prefix = "regex-syntax-0.8.2", + urls = ["https://crates.io/api/v1/crates/regex-syntax/0.8.2/download"], + visibility = [], +) + +cargo.rust_library( + name = "regex-syntax-0.8.2", + srcs = [":regex-syntax-0.8.2.crate"], + crate = "regex_syntax", + crate_root = "regex-syntax-0.8.2.crate/src/lib.rs", + edition = "2021", + features = [ + "default", + "std", + "unicode", + "unicode-age", + "unicode-bool", + "unicode-case", + "unicode-gencat", + "unicode-perl", + "unicode-script", + "unicode-segment", + ], + visibility = [], +) + +http_archive( + name = "rustversion-1.0.14.crate", + sha256 = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4", + strip_prefix = "rustversion-1.0.14", + urls = ["https://crates.io/api/v1/crates/rustversion/1.0.14/download"], + visibility = [], +) + +cargo.rust_library( + name = "rustversion-1.0.14", + srcs = [":rustversion-1.0.14.crate"], + crate = "rustversion", + crate_root = "rustversion-1.0.14.crate/src/lib.rs", + edition = "2018", + env = { + "OUT_DIR": "$(location :rustversion-1.0.14-build-script-run[out_dir])", + }, + proc_macro = True, + visibility = [], +) + +cargo.rust_binary( + name = "rustversion-1.0.14-build-script-build", + srcs = [":rustversion-1.0.14.crate"], + crate = "build_script_build", + crate_root = "rustversion-1.0.14.crate/build/build.rs", + edition = "2018", + visibility = [], +) + +buildscript_run( + name = "rustversion-1.0.14-build-script-run", + package_name = "rustversion", + buildscript_rule = ":rustversion-1.0.14-build-script-build", + version = "1.0.14", +) + +http_archive( + name = "ryu-1.0.15.crate", + sha256 = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741", + strip_prefix = "ryu-1.0.15", + urls = ["https://crates.io/api/v1/crates/ryu/1.0.15/download"], + visibility = [], +) + +cargo.rust_library( + name = "ryu-1.0.15", + srcs = [":ryu-1.0.15.crate"], + crate = "ryu", + crate_root = "ryu-1.0.15.crate/src/lib.rs", + edition = "2018", + visibility = [], +) + +http_archive( + name = "scopeguard-1.2.0.crate", + sha256 = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49", + strip_prefix = "scopeguard-1.2.0", + urls = ["https://crates.io/api/v1/crates/scopeguard/1.2.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "scopeguard-1.2.0", + srcs = [":scopeguard-1.2.0.crate"], + crate = "scopeguard", + crate_root = "scopeguard-1.2.0.crate/src/lib.rs", + edition = "2015", + visibility = [], +) + +http_archive( + name = "serde-1.0.190.crate", + sha256 = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7", + strip_prefix = "serde-1.0.190", + urls = ["https://crates.io/api/v1/crates/serde/1.0.190/download"], + visibility = [], +) + +cargo.rust_library( + name = "serde-1.0.190", + srcs = [":serde-1.0.190.crate"], + crate = "serde", + crate_root = "serde-1.0.190.crate/src/lib.rs", + edition = "2018", + features = [ + "alloc", + "default", + "derive", + "serde_derive", + "std", + ], + visibility = [], + deps = [":serde_derive-1.0.190"], +) + +http_archive( + name = "serde_derive-1.0.190.crate", + sha256 = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3", + strip_prefix = "serde_derive-1.0.190", + urls = ["https://crates.io/api/v1/crates/serde_derive/1.0.190/download"], + visibility = [], +) + +cargo.rust_library( + name = "serde_derive-1.0.190", + srcs = [":serde_derive-1.0.190.crate"], + crate = "serde_derive", + crate_root = "serde_derive-1.0.190.crate/src/lib.rs", + edition = "2015", + features = ["default"], + proc_macro = True, + visibility = [], + deps = [ + ":proc-macro2-1.0.69", + ":quote-1.0.33", + ":syn-2.0.38", + ], +) + +http_archive( + name = "serde_json-1.0.108.crate", + sha256 = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b", + strip_prefix = "serde_json-1.0.108", + urls = ["https://crates.io/api/v1/crates/serde_json/1.0.108/download"], + visibility = [], +) + +cargo.rust_library( + name = "serde_json-1.0.108", + srcs = [":serde_json-1.0.108.crate"], + crate = "serde_json", + crate_root = "serde_json-1.0.108.crate/src/lib.rs", + edition = "2021", + features = [ + "default", + "raw_value", + "std", + ], + visibility = [], + deps = [ + ":itoa-1.0.9", + ":ryu-1.0.15", + ":serde-1.0.190", + ], +) + +http_archive( + name = "serde_path_to_error-0.1.14.crate", + sha256 = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335", + strip_prefix = "serde_path_to_error-0.1.14", + urls = ["https://crates.io/api/v1/crates/serde_path_to_error/0.1.14/download"], + visibility = [], +) + +cargo.rust_library( + name = "serde_path_to_error-0.1.14", + srcs = [":serde_path_to_error-0.1.14.crate"], + crate = "serde_path_to_error", + crate_root = "serde_path_to_error-0.1.14.crate/src/lib.rs", + edition = "2021", + visibility = [], + deps = [ + ":itoa-1.0.9", + ":serde-1.0.190", + ], +) + +http_archive( + name = "serde_urlencoded-0.7.1.crate", + sha256 = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd", + strip_prefix = "serde_urlencoded-0.7.1", + urls = ["https://crates.io/api/v1/crates/serde_urlencoded/0.7.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "serde_urlencoded-0.7.1", + srcs = [":serde_urlencoded-0.7.1.crate"], + crate = "serde_urlencoded", + crate_root = "serde_urlencoded-0.7.1.crate/src/lib.rs", + edition = "2018", + visibility = [], + deps = [ + ":form_urlencoded-1.2.0", + ":itoa-1.0.9", + ":ryu-1.0.15", + ":serde-1.0.190", + ], +) + +http_archive( + name = "sha1-0.10.6.crate", + sha256 = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba", + strip_prefix = "sha1-0.10.6", + urls = ["https://crates.io/api/v1/crates/sha1/0.10.6/download"], + visibility = [], +) + +cargo.rust_library( + name = "sha1-0.10.6", + srcs = [":sha1-0.10.6.crate"], + crate = "sha1", + crate_root = "sha1-0.10.6.crate/src/lib.rs", + edition = "2018", + features = [ + "default", + "std", + ], + platform = { + "linux-arm64": dict( + deps = [":cpufeatures-0.2.11"], + ), + "linux-x86_64": dict( + deps = [":cpufeatures-0.2.11"], + ), + "macos-arm64": dict( + deps = [":cpufeatures-0.2.11"], + ), + "macos-x86_64": dict( + deps = [":cpufeatures-0.2.11"], + ), + "windows-gnu": dict( + deps = [":cpufeatures-0.2.11"], + ), + "windows-msvc": dict( + deps = [":cpufeatures-0.2.11"], + ), + }, + visibility = [], + deps = [ + ":cfg-if-1.0.0", + ":digest-0.10.7", + ], +) + +http_archive( + name = "signal-hook-registry-1.4.1.crate", + sha256 = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1", + strip_prefix = "signal-hook-registry-1.4.1", + urls = ["https://crates.io/api/v1/crates/signal-hook-registry/1.4.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "signal-hook-registry-1.4.1", + srcs = [":signal-hook-registry-1.4.1.crate"], + crate = "signal_hook_registry", + crate_root = "signal-hook-registry-1.4.1.crate/src/lib.rs", + edition = "2015", + visibility = [], + deps = [":libc-0.2.149"], +) + +http_archive( + name = "slab-0.4.9.crate", + sha256 = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67", + strip_prefix = "slab-0.4.9", + urls = ["https://crates.io/api/v1/crates/slab/0.4.9/download"], + visibility = [], +) + +cargo.rust_library( + name = "slab-0.4.9", + srcs = [":slab-0.4.9.crate"], + crate = "slab", + crate_root = "slab-0.4.9.crate/src/lib.rs", + edition = "2018", + features = [ + "default", + "std", + ], + visibility = [], +) + +http_archive( + name = "smallvec-1.11.1.crate", + sha256 = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a", + strip_prefix = "smallvec-1.11.1", + urls = ["https://crates.io/api/v1/crates/smallvec/1.11.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "smallvec-1.11.1", + srcs = [":smallvec-1.11.1.crate"], + crate = "smallvec", + crate_root = "smallvec-1.11.1.crate/src/lib.rs", + edition = "2018", + visibility = [], +) + +http_archive( + name = "socket2-0.4.10.crate", + sha256 = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d", + strip_prefix = "socket2-0.4.10", + urls = ["https://crates.io/api/v1/crates/socket2/0.4.10/download"], + visibility = [], +) + +cargo.rust_library( + name = "socket2-0.4.10", + srcs = [":socket2-0.4.10.crate"], + crate = "socket2", + crate_root = "socket2-0.4.10.crate/src/lib.rs", + edition = "2018", + features = ["all"], + platform = { + "linux-arm64": dict( + deps = [":libc-0.2.149"], + ), + "linux-x86_64": dict( + deps = [":libc-0.2.149"], + ), + "macos-arm64": dict( + deps = [":libc-0.2.149"], + ), + "macos-x86_64": dict( + deps = [":libc-0.2.149"], + ), + "windows-gnu": dict( + deps = [":winapi-0.3.9"], + ), + "windows-msvc": dict( + deps = [":winapi-0.3.9"], + ), + }, + visibility = [], +) + +http_archive( + name = "socket2-0.5.5.crate", + sha256 = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9", + strip_prefix = "socket2-0.5.5", + urls = ["https://crates.io/api/v1/crates/socket2/0.5.5/download"], + visibility = [], +) + +cargo.rust_library( + name = "socket2-0.5.5", + srcs = [":socket2-0.5.5.crate"], + crate = "socket2", + crate_root = "socket2-0.5.5.crate/src/lib.rs", + edition = "2021", + features = ["all"], + platform = { + "linux-arm64": dict( + deps = [":libc-0.2.149"], + ), + "linux-x86_64": dict( + deps = [":libc-0.2.149"], + ), + "macos-arm64": dict( + deps = [":libc-0.2.149"], + ), + "macos-x86_64": dict( + deps = [":libc-0.2.149"], + ), + "windows-gnu": dict( + deps = [":windows-sys-0.48.0"], + ), + "windows-msvc": dict( + deps = [":windows-sys-0.48.0"], + ), + }, + visibility = [], +) + +http_archive( + name = "spin-0.9.8.crate", + sha256 = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67", + strip_prefix = "spin-0.9.8", + urls = ["https://crates.io/api/v1/crates/spin/0.9.8/download"], + visibility = [], +) + +cargo.rust_library( + name = "spin-0.9.8", + srcs = [":spin-0.9.8.crate"], + crate = "spin", + crate_root = "spin-0.9.8.crate/src/lib.rs", + edition = "2015", + features = [ + "mutex", + "spin_mutex", + ], + visibility = [], +) + +http_archive( + name = "static_assertions-1.1.0.crate", + sha256 = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f", + strip_prefix = "static_assertions-1.1.0", + urls = ["https://crates.io/api/v1/crates/static_assertions/1.1.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "static_assertions-1.1.0", + srcs = [":static_assertions-1.1.0.crate"], + crate = "static_assertions", + crate_root = "static_assertions-1.1.0.crate/src/lib.rs", + edition = "2015", + visibility = [], +) + +http_archive( + name = "strsim-0.10.0.crate", + sha256 = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623", + strip_prefix = "strsim-0.10.0", + urls = ["https://crates.io/api/v1/crates/strsim/0.10.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "strsim-0.10.0", + srcs = [":strsim-0.10.0.crate"], + crate = "strsim", + crate_root = "strsim-0.10.0.crate/src/lib.rs", + edition = "2015", + visibility = [], +) + +http_archive( + name = "strum-0.25.0.crate", + sha256 = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125", + strip_prefix = "strum-0.25.0", + urls = ["https://crates.io/api/v1/crates/strum/0.25.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "strum-0.25.0", + srcs = [":strum-0.25.0.crate"], + crate = "strum", + crate_root = "strum-0.25.0.crate/src/lib.rs", + edition = "2018", + features = [ + "default", + "derive", + "std", + "strum_macros", + ], + visibility = [], + deps = [":strum_macros-0.25.3"], +) + +http_archive( + name = "strum_macros-0.25.3.crate", + sha256 = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0", + strip_prefix = "strum_macros-0.25.3", + urls = ["https://crates.io/api/v1/crates/strum_macros/0.25.3/download"], + visibility = [], +) + +cargo.rust_library( + name = "strum_macros-0.25.3", + srcs = [":strum_macros-0.25.3.crate"], + crate = "strum_macros", + crate_root = "strum_macros-0.25.3.crate/src/lib.rs", + edition = "2018", + proc_macro = True, + visibility = [], + deps = [ + ":heck-0.4.1", + ":proc-macro2-1.0.69", + ":quote-1.0.33", + ":rustversion-1.0.14", + ":syn-2.0.38", + ], +) + +http_archive( + name = "syn-2.0.38.crate", + sha256 = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b", + strip_prefix = "syn-2.0.38", + urls = ["https://crates.io/api/v1/crates/syn/2.0.38/download"], + visibility = [], +) + +cargo.rust_library( + name = "syn-2.0.38", + srcs = [":syn-2.0.38.crate"], + crate = "syn", + crate_root = "syn-2.0.38.crate/src/lib.rs", + edition = "2021", + features = [ + "clone-impls", + "default", + "derive", + "extra-traits", + "full", + "parsing", + "printing", + "proc-macro", + "quote", + "visit", + "visit-mut", + ], + visibility = [], + deps = [ + ":proc-macro2-1.0.69", + ":quote-1.0.33", + ":unicode-ident-1.0.12", + ], +) + +http_archive( + name = "sync_wrapper-0.1.2.crate", + sha256 = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160", + strip_prefix = "sync_wrapper-0.1.2", + urls = ["https://crates.io/api/v1/crates/sync_wrapper/0.1.2/download"], + visibility = [], +) + +cargo.rust_library( + name = "sync_wrapper-0.1.2", + srcs = [":sync_wrapper-0.1.2.crate"], + crate = "sync_wrapper", + crate_root = "sync_wrapper-0.1.2.crate/src/lib.rs", + edition = "2018", + visibility = [], +) + +cargo.rust_binary( + name = "third-party-0.0.0-top", + srcs = ["top/main.rs"], + crate = "top", + crate_root = "top/main.rs", + edition = "2021", + visibility = [], + deps = [ + ":async-graphql-6.0.9", + ":async-graphql-axum-6.0.9", + ":axum-0.6.20", + ":tokio-1.33.0", + ":version_check-0.9.4", + ], +) + +http_archive( + name = "thiserror-1.0.50.crate", + sha256 = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2", + strip_prefix = "thiserror-1.0.50", + urls = ["https://crates.io/api/v1/crates/thiserror/1.0.50/download"], + visibility = [], +) + +cargo.rust_library( + name = "thiserror-1.0.50", + srcs = [":thiserror-1.0.50.crate"], + crate = "thiserror", + crate_root = "thiserror-1.0.50.crate/src/lib.rs", + edition = "2021", + visibility = [], + deps = [":thiserror-impl-1.0.50"], +) + +http_archive( + name = "thiserror-impl-1.0.50.crate", + sha256 = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8", + strip_prefix = "thiserror-impl-1.0.50", + urls = ["https://crates.io/api/v1/crates/thiserror-impl/1.0.50/download"], + visibility = [], +) + +cargo.rust_library( + name = "thiserror-impl-1.0.50", + srcs = [":thiserror-impl-1.0.50.crate"], + crate = "thiserror_impl", + crate_root = "thiserror-impl-1.0.50.crate/src/lib.rs", + edition = "2021", + proc_macro = True, + visibility = [], + deps = [ + ":proc-macro2-1.0.69", + ":quote-1.0.33", + ":syn-2.0.38", + ], +) + +http_archive( + name = "tinyvec-1.6.0.crate", + sha256 = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50", + strip_prefix = "tinyvec-1.6.0", + urls = ["https://crates.io/api/v1/crates/tinyvec/1.6.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "tinyvec-1.6.0", + srcs = [":tinyvec-1.6.0.crate"], + crate = "tinyvec", + crate_root = "tinyvec-1.6.0.crate/src/lib.rs", + edition = "2018", + features = [ + "alloc", + "default", + "tinyvec_macros", + ], + visibility = [], + deps = [":tinyvec_macros-0.1.1"], +) + +http_archive( + name = "tinyvec_macros-0.1.1.crate", + sha256 = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20", + strip_prefix = "tinyvec_macros-0.1.1", + urls = ["https://crates.io/api/v1/crates/tinyvec_macros/0.1.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "tinyvec_macros-0.1.1", + srcs = [":tinyvec_macros-0.1.1.crate"], + crate = "tinyvec_macros", + crate_root = "tinyvec_macros-0.1.1.crate/src/lib.rs", + edition = "2018", + visibility = [], +) + +alias( + name = "tokio", + actual = ":tokio-1.33.0", + visibility = ["PUBLIC"], +) + +http_archive( + name = "tokio-1.33.0.crate", + sha256 = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653", + strip_prefix = "tokio-1.33.0", + urls = ["https://crates.io/api/v1/crates/tokio/1.33.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "tokio-1.33.0", + srcs = [":tokio-1.33.0.crate"], + crate = "tokio", + crate_root = "tokio-1.33.0.crate/src/lib.rs", + edition = "2021", + features = [ + "bytes", + "default", + "fs", + "full", + "io-std", + "io-util", + "libc", + "macros", + "mio", + "net", + "num_cpus", + "parking_lot", + "process", + "rt", + "rt-multi-thread", + "signal", + "signal-hook-registry", + "socket2", + "sync", + "time", + "tokio-macros", + "windows-sys", + ], + platform = { + "linux-arm64": dict( + deps = [ + ":libc-0.2.149", + ":signal-hook-registry-1.4.1", + ":socket2-0.5.5", + ], + ), + "linux-x86_64": dict( + deps = [ + ":libc-0.2.149", + ":signal-hook-registry-1.4.1", + ":socket2-0.5.5", + ], + ), + "macos-arm64": dict( + deps = [ + ":libc-0.2.149", + ":signal-hook-registry-1.4.1", + ":socket2-0.5.5", + ], + ), + "macos-x86_64": dict( + deps = [ + ":libc-0.2.149", + ":signal-hook-registry-1.4.1", + ":socket2-0.5.5", + ], + ), + "windows-gnu": dict( + deps = [ + ":socket2-0.5.5", + ":windows-sys-0.48.0", + ], + ), + "windows-msvc": dict( + deps = [ + ":socket2-0.5.5", + ":windows-sys-0.48.0", + ], + ), + }, + visibility = [], + deps = [ + ":bytes-1.5.0", + ":mio-0.8.9", + ":num_cpus-1.16.0", + ":parking_lot-0.12.1", + ":pin-project-lite-0.2.13", + ":tokio-macros-2.1.0", + ], +) + +http_archive( + name = "tokio-macros-2.1.0.crate", + sha256 = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e", + strip_prefix = "tokio-macros-2.1.0", + urls = ["https://crates.io/api/v1/crates/tokio-macros/2.1.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "tokio-macros-2.1.0", + srcs = [":tokio-macros-2.1.0.crate"], + crate = "tokio_macros", + crate_root = "tokio-macros-2.1.0.crate/src/lib.rs", + edition = "2018", + proc_macro = True, + visibility = [], + deps = [ + ":proc-macro2-1.0.69", + ":quote-1.0.33", + ":syn-2.0.38", + ], +) + +http_archive( + name = "tokio-stream-0.1.14.crate", + sha256 = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842", + strip_prefix = "tokio-stream-0.1.14", + urls = ["https://crates.io/api/v1/crates/tokio-stream/0.1.14/download"], + visibility = [], +) + +cargo.rust_library( + name = "tokio-stream-0.1.14", + srcs = [":tokio-stream-0.1.14.crate"], + crate = "tokio_stream", + crate_root = "tokio-stream-0.1.14.crate/src/lib.rs", + edition = "2021", + features = [ + "default", + "time", + ], + visibility = [], + deps = [ + ":futures-core-0.3.29", + ":pin-project-lite-0.2.13", + ":tokio-1.33.0", + ], +) + +http_archive( + name = "tokio-tungstenite-0.20.1.crate", + sha256 = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c", + strip_prefix = "tokio-tungstenite-0.20.1", + urls = ["https://crates.io/api/v1/crates/tokio-tungstenite/0.20.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "tokio-tungstenite-0.20.1", + srcs = [":tokio-tungstenite-0.20.1.crate"], + crate = "tokio_tungstenite", + crate_root = "tokio-tungstenite-0.20.1.crate/src/lib.rs", + edition = "2018", + features = [ + "connect", + "default", + "handshake", + "stream", + ], + visibility = [], + deps = [ + ":futures-util-0.3.29", + ":log-0.4.20", + ":tokio-1.33.0", + ":tungstenite-0.20.1", + ], +) + +http_archive( + name = "tokio-util-0.7.10.crate", + sha256 = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15", + strip_prefix = "tokio-util-0.7.10", + urls = ["https://crates.io/api/v1/crates/tokio-util/0.7.10/download"], + visibility = [], +) + +cargo.rust_library( + name = "tokio-util-0.7.10", + srcs = [":tokio-util-0.7.10.crate"], + crate = "tokio_util", + crate_root = "tokio-util-0.7.10.crate/src/lib.rs", + edition = "2021", + features = [ + "compat", + "futures-io", + "io", + ], + visibility = [], + deps = [ + ":bytes-1.5.0", + ":futures-core-0.3.29", + ":futures-io-0.3.29", + ":futures-sink-0.3.29", + ":pin-project-lite-0.2.13", + ":tokio-1.33.0", + ], +) + +http_archive( + name = "toml_datetime-0.6.5.crate", + sha256 = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1", + strip_prefix = "toml_datetime-0.6.5", + urls = ["https://crates.io/api/v1/crates/toml_datetime/0.6.5/download"], + visibility = [], +) + +cargo.rust_library( + name = "toml_datetime-0.6.5", + srcs = [":toml_datetime-0.6.5.crate"], + crate = "toml_datetime", + crate_root = "toml_datetime-0.6.5.crate/src/lib.rs", + edition = "2021", + visibility = [], +) + +http_archive( + name = "toml_edit-0.19.15.crate", + sha256 = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421", + strip_prefix = "toml_edit-0.19.15", + urls = ["https://crates.io/api/v1/crates/toml_edit/0.19.15/download"], + visibility = [], +) + +cargo.rust_library( + name = "toml_edit-0.19.15", + srcs = [":toml_edit-0.19.15.crate"], + crate = "toml_edit", + crate_root = "toml_edit-0.19.15.crate/src/lib.rs", + edition = "2021", + features = ["default"], + visibility = [], + deps = [ + ":indexmap-2.0.2", + ":toml_datetime-0.6.5", + ":winnow-0.5.18", + ], +) + +http_archive( + name = "tower-0.4.13.crate", + sha256 = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c", + strip_prefix = "tower-0.4.13", + urls = ["https://crates.io/api/v1/crates/tower/0.4.13/download"], + visibility = [], +) + +cargo.rust_library( + name = "tower-0.4.13", + srcs = [":tower-0.4.13.crate"], + crate = "tower", + crate_root = "tower-0.4.13.crate/src/lib.rs", + edition = "2018", + features = [ + "__common", + "futures-core", + "futures-util", + "log", + "make", + "pin-project", + "pin-project-lite", + "tokio", + "tracing", + "util", + ], + visibility = [], + deps = [ + ":futures-core-0.3.29", + ":futures-util-0.3.29", + ":pin-project-1.1.3", + ":pin-project-lite-0.2.13", + ":tokio-1.33.0", + ":tower-layer-0.3.2", + ":tower-service-0.3.2", + ":tracing-0.1.40", + ], +) + +http_archive( + name = "tower-layer-0.3.2.crate", + sha256 = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0", + strip_prefix = "tower-layer-0.3.2", + urls = ["https://crates.io/api/v1/crates/tower-layer/0.3.2/download"], + visibility = [], +) + +cargo.rust_library( + name = "tower-layer-0.3.2", + srcs = [":tower-layer-0.3.2.crate"], + crate = "tower_layer", + crate_root = "tower-layer-0.3.2.crate/src/lib.rs", + edition = "2018", + visibility = [], +) + +http_archive( + name = "tower-service-0.3.2.crate", + sha256 = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52", + strip_prefix = "tower-service-0.3.2", + urls = ["https://crates.io/api/v1/crates/tower-service/0.3.2/download"], + visibility = [], +) + +cargo.rust_library( + name = "tower-service-0.3.2", + srcs = [":tower-service-0.3.2.crate"], + crate = "tower_service", + crate_root = "tower-service-0.3.2.crate/src/lib.rs", + edition = "2018", + visibility = [], +) + +http_archive( + name = "tracing-0.1.40.crate", + sha256 = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef", + strip_prefix = "tracing-0.1.40", + urls = ["https://crates.io/api/v1/crates/tracing/0.1.40/download"], + visibility = [], +) + +cargo.rust_library( + name = "tracing-0.1.40", + srcs = [":tracing-0.1.40.crate"], + crate = "tracing", + crate_root = "tracing-0.1.40.crate/src/lib.rs", + edition = "2018", + features = [ + "log", + "std", + ], + visibility = [], + deps = [ + ":log-0.4.20", + ":pin-project-lite-0.2.13", + ":tracing-core-0.1.32", + ], +) + +http_archive( + name = "tracing-core-0.1.32.crate", + sha256 = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54", + strip_prefix = "tracing-core-0.1.32", + urls = ["https://crates.io/api/v1/crates/tracing-core/0.1.32/download"], + visibility = [], +) + +cargo.rust_library( + name = "tracing-core-0.1.32", + srcs = [":tracing-core-0.1.32.crate"], + crate = "tracing_core", + crate_root = "tracing-core-0.1.32.crate/src/lib.rs", + edition = "2018", + features = [ + "once_cell", + "std", + ], + visibility = [], + deps = [":once_cell-1.18.0"], +) + +http_archive( + name = "try-lock-0.2.4.crate", + sha256 = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed", + strip_prefix = "try-lock-0.2.4", + urls = ["https://crates.io/api/v1/crates/try-lock/0.2.4/download"], + visibility = [], +) + +cargo.rust_library( + name = "try-lock-0.2.4", + srcs = [":try-lock-0.2.4.crate"], + crate = "try_lock", + crate_root = "try-lock-0.2.4.crate/src/lib.rs", + edition = "2015", + visibility = [], +) + +http_archive( + name = "tungstenite-0.20.1.crate", + sha256 = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9", + strip_prefix = "tungstenite-0.20.1", + urls = ["https://crates.io/api/v1/crates/tungstenite/0.20.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "tungstenite-0.20.1", + srcs = [":tungstenite-0.20.1.crate"], + crate = "tungstenite", + crate_root = "tungstenite-0.20.1.crate/src/lib.rs", + edition = "2018", + features = [ + "data-encoding", + "handshake", + "http", + "httparse", + "sha1", + "url", + ], + visibility = [], + deps = [ + ":byteorder-1.5.0", + ":bytes-1.5.0", + ":data-encoding-2.4.0", + ":http-0.2.9", + ":httparse-1.8.0", + ":log-0.4.20", + ":rand-0.8.5", + ":sha1-0.10.6", + ":thiserror-1.0.50", + ":url-2.4.1", + ":utf-8-0.7.6", + ], +) + +http_archive( + name = "typenum-1.17.0.crate", + sha256 = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825", + strip_prefix = "typenum-1.17.0", + urls = ["https://crates.io/api/v1/crates/typenum/1.17.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "typenum-1.17.0", + srcs = [":typenum-1.17.0.crate"], + crate = "typenum", + crate_root = "typenum-1.17.0.crate/src/lib.rs", + edition = "2018", + env = { + "OUT_DIR": "$(location :typenum-1.17.0-build-script-main-run[out_dir])", + }, + features = ["force_unix_path_separator"], + visibility = [], +) + +cargo.rust_binary( + name = "typenum-1.17.0-build-script-main", + srcs = [":typenum-1.17.0.crate"], + crate = "build_script_main", + crate_root = "typenum-1.17.0.crate/build/main.rs", + edition = "2018", + features = ["force_unix_path_separator"], + visibility = [], +) + +buildscript_run( + name = "typenum-1.17.0-build-script-main-run", + package_name = "typenum", + buildscript_rule = ":typenum-1.17.0-build-script-main", + features = ["force_unix_path_separator"], + version = "1.17.0", +) + +http_archive( + name = "ucd-trie-0.1.6.crate", + sha256 = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9", + strip_prefix = "ucd-trie-0.1.6", + urls = ["https://crates.io/api/v1/crates/ucd-trie/0.1.6/download"], + visibility = [], +) + +cargo.rust_library( + name = "ucd-trie-0.1.6", + srcs = [":ucd-trie-0.1.6.crate"], + crate = "ucd_trie", + crate_root = "ucd-trie-0.1.6.crate/src/lib.rs", + edition = "2021", + features = ["std"], + visibility = [], +) + +http_archive( + name = "unicode-bidi-0.3.13.crate", + sha256 = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460", + strip_prefix = "unicode-bidi-0.3.13", + urls = ["https://crates.io/api/v1/crates/unicode-bidi/0.3.13/download"], + visibility = [], +) + +cargo.rust_library( + name = "unicode-bidi-0.3.13", + srcs = [":unicode-bidi-0.3.13.crate"], + crate = "unicode_bidi", + crate_root = "unicode-bidi-0.3.13.crate/src/lib.rs", + edition = "2018", + features = [ + "hardcoded-data", + "std", + ], + visibility = [], +) + +http_archive( + name = "unicode-ident-1.0.12.crate", + sha256 = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b", + strip_prefix = "unicode-ident-1.0.12", + urls = ["https://crates.io/api/v1/crates/unicode-ident/1.0.12/download"], + visibility = [], +) + +cargo.rust_library( + name = "unicode-ident-1.0.12", + srcs = [":unicode-ident-1.0.12.crate"], + crate = "unicode_ident", + crate_root = "unicode-ident-1.0.12.crate/src/lib.rs", + edition = "2018", + visibility = [], +) + +http_archive( + name = "unicode-normalization-0.1.22.crate", + sha256 = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921", + strip_prefix = "unicode-normalization-0.1.22", + urls = ["https://crates.io/api/v1/crates/unicode-normalization/0.1.22/download"], + visibility = [], +) + +cargo.rust_library( + name = "unicode-normalization-0.1.22", + srcs = [":unicode-normalization-0.1.22.crate"], + crate = "unicode_normalization", + crate_root = "unicode-normalization-0.1.22.crate/src/lib.rs", + edition = "2018", + features = ["std"], + visibility = [], + deps = [":tinyvec-1.6.0"], +) + +http_archive( + name = "url-2.4.1.crate", + sha256 = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5", + strip_prefix = "url-2.4.1", + urls = ["https://crates.io/api/v1/crates/url/2.4.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "url-2.4.1", + srcs = [":url-2.4.1.crate"], + crate = "url", + crate_root = "url-2.4.1.crate/src/lib.rs", + edition = "2018", + features = ["default"], + visibility = [], + deps = [ + ":form_urlencoded-1.2.0", + ":idna-0.4.0", + ":percent-encoding-2.3.0", + ], +) + +http_archive( + name = "utf-8-0.7.6.crate", + sha256 = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9", + strip_prefix = "utf-8-0.7.6", + urls = ["https://crates.io/api/v1/crates/utf-8/0.7.6/download"], + visibility = [], +) + +cargo.rust_library( + name = "utf-8-0.7.6", + srcs = [":utf-8-0.7.6.crate"], + crate = "utf8", + crate_root = "utf-8-0.7.6.crate/src/lib.rs", + edition = "2015", + visibility = [], +) + +alias( + name = "version_check", + actual = ":version_check-0.9.4", + visibility = ["PUBLIC"], +) + +http_archive( + name = "version_check-0.9.4.crate", + sha256 = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f", + strip_prefix = "version_check-0.9.4", + urls = ["https://crates.io/api/v1/crates/version_check/0.9.4/download"], + visibility = [], +) + +cargo.rust_library( + name = "version_check-0.9.4", + srcs = [":version_check-0.9.4.crate"], + crate = "version_check", + crate_root = "version_check-0.9.4.crate/src/lib.rs", + edition = "2015", + visibility = [], +) + +http_archive( + name = "want-0.3.1.crate", + sha256 = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e", + strip_prefix = "want-0.3.1", + urls = ["https://crates.io/api/v1/crates/want/0.3.1/download"], + visibility = [], +) + +cargo.rust_library( + name = "want-0.3.1", + srcs = [":want-0.3.1.crate"], + crate = "want", + crate_root = "want-0.3.1.crate/src/lib.rs", + edition = "2018", + visibility = [], + deps = [":try-lock-0.2.4"], +) + +http_archive( + name = "winapi-0.3.9.crate", + sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419", + strip_prefix = "winapi-0.3.9", + urls = ["https://crates.io/api/v1/crates/winapi/0.3.9/download"], + visibility = [], +) + +cargo.rust_library( + name = "winapi-0.3.9", + srcs = [":winapi-0.3.9.crate"], + crate = "winapi", + crate_root = "winapi-0.3.9.crate/src/lib.rs", + edition = "2015", + features = [ + "handleapi", + "ws2ipdef", + "ws2tcpip", + ], + platform = { + "windows-gnu": dict( + rustc_flags = ["@$(location :winapi-0.3.9-build-script-run[rustc_flags])"], + deps = [":winapi-x86_64-pc-windows-gnu-0.4.0"], + ), + "windows-msvc": dict( + rustc_flags = ["@$(location :winapi-0.3.9-build-script-run[rustc_flags])"], + ), + }, + visibility = [], +) + +cargo.rust_binary( + name = "winapi-0.3.9-build-script-build", + srcs = [":winapi-0.3.9.crate"], + crate = "build_script_build", + crate_root = "winapi-0.3.9.crate/build.rs", + edition = "2015", + features = [ + "handleapi", + "ws2ipdef", + "ws2tcpip", + ], + visibility = [], +) + +buildscript_run( + name = "winapi-0.3.9-build-script-run", + package_name = "winapi", + buildscript_rule = ":winapi-0.3.9-build-script-build", + features = [ + "handleapi", + "ws2ipdef", + "ws2tcpip", + ], + version = "0.3.9", +) + +http_archive( + name = "winapi-x86_64-pc-windows-gnu-0.4.0.crate", + sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f", + strip_prefix = "winapi-x86_64-pc-windows-gnu-0.4.0", + sub_targets = [ + "lib/libwinapi_ole32.a", + "lib/libwinapi_shell32.a", + ], + urls = ["https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "winapi-x86_64-pc-windows-gnu-0.4.0", + srcs = [":winapi-x86_64-pc-windows-gnu-0.4.0.crate"], + crate = "winapi_x86_64_pc_windows_gnu", + crate_root = "winapi-x86_64-pc-windows-gnu-0.4.0.crate/src/lib.rs", + edition = "2015", + platform = { + "windows-gnu": dict( + deps = [ + ":winapi-x86_64-pc-windows-gnu-0.4.0-extra_libraries-libwinapi_ole32.a", + ":winapi-x86_64-pc-windows-gnu-0.4.0-extra_libraries-libwinapi_shell32.a", + ], + ), + "windows-msvc": dict( + deps = [ + ":winapi-x86_64-pc-windows-gnu-0.4.0-extra_libraries-libwinapi_ole32.a", + ":winapi-x86_64-pc-windows-gnu-0.4.0-extra_libraries-libwinapi_shell32.a", + ], + ), + }, + visibility = [], +) + +third_party_rust_prebuilt_cxx_library( + name = "winapi-x86_64-pc-windows-gnu-0.4.0-extra_libraries-libwinapi_ole32.a", + static_lib = ":winapi-x86_64-pc-windows-gnu-0.4.0.crate[lib/libwinapi_ole32.a]", + visibility = [], +) + +third_party_rust_prebuilt_cxx_library( + name = "winapi-x86_64-pc-windows-gnu-0.4.0-extra_libraries-libwinapi_shell32.a", + static_lib = ":winapi-x86_64-pc-windows-gnu-0.4.0.crate[lib/libwinapi_shell32.a]", + visibility = [], +) + +http_archive( + name = "windows-sys-0.48.0.crate", + sha256 = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9", + strip_prefix = "windows-sys-0.48.0", + urls = ["https://crates.io/api/v1/crates/windows-sys/0.48.0/download"], + visibility = [], +) + +cargo.rust_library( + name = "windows-sys-0.48.0", + srcs = [":windows-sys-0.48.0.crate"], + crate = "windows_sys", + crate_root = "windows-sys-0.48.0.crate/src/lib.rs", + edition = "2018", + features = [ + "Win32", + "Win32_Foundation", + "Win32_Networking", + "Win32_Networking_WinSock", + "Win32_Security", + "Win32_Storage", + "Win32_Storage_FileSystem", + "Win32_System", + "Win32_System_Console", + "Win32_System_IO", + "Win32_System_Pipes", + "Win32_System_SystemServices", + "Win32_System_Threading", + "Win32_System_WindowsProgramming", + "default", + ], + visibility = [], + deps = [":windows-targets-0.48.5"], +) + +http_archive( + name = "windows-targets-0.48.5.crate", + sha256 = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c", + strip_prefix = "windows-targets-0.48.5", + urls = ["https://crates.io/api/v1/crates/windows-targets/0.48.5/download"], + visibility = [], +) + +cargo.rust_library( + name = "windows-targets-0.48.5", + srcs = [":windows-targets-0.48.5.crate"], + crate = "windows_targets", + crate_root = "windows-targets-0.48.5.crate/src/lib.rs", + edition = "2018", + platform = { + "linux-x86_64": dict( + deps = [":windows_x86_64_gnu-0.48.5"], + ), + "windows-gnu": dict( + deps = [":windows_x86_64_gnu-0.48.5"], + ), + "windows-msvc": dict( + deps = [":windows_x86_64_msvc-0.48.5"], + ), + }, + visibility = [], +) + +http_archive( + name = "windows_x86_64_gnu-0.48.5.crate", + sha256 = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e", + strip_prefix = "windows_x86_64_gnu-0.48.5", + urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.5/download"], + visibility = [], +) + +cargo.rust_library( + name = "windows_x86_64_gnu-0.48.5", + srcs = [":windows_x86_64_gnu-0.48.5.crate"], + crate = "windows_x86_64_gnu", + crate_root = "windows_x86_64_gnu-0.48.5.crate/src/lib.rs", + edition = "2018", + visibility = [], +) + +http_archive( + name = "windows_x86_64_msvc-0.48.5.crate", + sha256 = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538", + strip_prefix = "windows_x86_64_msvc-0.48.5", + urls = ["https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.5/download"], + visibility = [], +) + +cargo.rust_library( + name = "windows_x86_64_msvc-0.48.5", + srcs = [":windows_x86_64_msvc-0.48.5.crate"], + crate = "windows_x86_64_msvc", + crate_root = "windows_x86_64_msvc-0.48.5.crate/src/lib.rs", + edition = "2018", + visibility = [], +) + +http_archive( + name = "winnow-0.5.18.crate", + sha256 = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32", + strip_prefix = "winnow-0.5.18", + urls = ["https://crates.io/api/v1/crates/winnow/0.5.18/download"], + visibility = [], +) + +cargo.rust_library( + name = "winnow-0.5.18", + srcs = [":winnow-0.5.18.crate"], + crate = "winnow", + crate_root = "winnow-0.5.18.crate/src/lib.rs", + edition = "2021", + features = [ + "alloc", + "default", + "std", + ], + visibility = [], + deps = [":memchr-2.6.4"], +) diff --git a/third-party/rust/Cargo.lock b/third-party/rust/Cargo.lock new file mode 100644 index 0000000000..caa0982e5c --- /dev/null +++ b/third-party/rust/Cargo.lock @@ -0,0 +1,1462 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aho-corasick" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +dependencies = [ + "memchr", +] + +[[package]] +name = "async-graphql" +version = "6.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "117113a7ff4a98f2a864fa7a5274033b0907fce65dc8464993c75033f8074f90" +dependencies = [ + "async-graphql-derive", + "async-graphql-parser", + "async-graphql-value", + "async-stream", + "async-trait", + "base64 0.13.1", + "bytes", + "fnv", + "futures-util", + "http", + "indexmap", + "mime", + "multer", + "num-traits", + "once_cell", + "pin-project-lite", + "regex", + "serde", + "serde_json", + "serde_urlencoded", + "static_assertions", + "thiserror", +] + +[[package]] +name = "async-graphql-axum" +version = "6.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ddd7767f83c3273a6d26a36cbdd562c6009aae87c6fa2c0f1eebb76f60c4151" +dependencies = [ + "async-graphql", + "async-trait", + "axum", + "bytes", + "futures-util", + "serde_json", + "tokio", + "tokio-stream", + "tokio-util", + "tower-service", +] + +[[package]] +name = "async-graphql-derive" +version = "6.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e4bb7b7b2344d24af860776b7fe4e4ee4a67cd965f076048d023f555703b854" +dependencies = [ + "Inflector", + "async-graphql-parser", + "darling", + "proc-macro-crate", + "proc-macro2", + "quote", + "strum", + "syn", + "thiserror", +] + +[[package]] +name = "async-graphql-parser" +version = "6.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c47e1c1ff6cb7cae62c9cd768d76475cc68f156d8234b024fd2499ad0e91da21" +dependencies = [ + "async-graphql-value", + "pest", + "serde", + "serde_json", +] + +[[package]] +name = "async-graphql-value" +version = "6.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2270df3a642efce860ed06fbcf61fc6db10f83c2ecb5613127fb453c82e012a4" +dependencies = [ + "bytes", + "indexmap", + "serde", + "serde_json", +] + +[[package]] +name = "async-stream" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "async-trait" +version = "0.1.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "axum" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +dependencies = [ + "async-trait", + "axum-core", + "base64 0.21.5", + "bitflags", + "bytes", + "futures-util", + "headers", + "http", + "http-body", + "hyper", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sha1", + "sync_wrapper", + "tokio", + "tokio-tungstenite", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "mime", + "rustversion", + "tower-layer", + "tower-service", +] + +[[package]] +name = "backtrace" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +dependencies = [ + "serde", +] + +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cpufeatures" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +dependencies = [ + "libc", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "darling" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +dependencies = [ + "darling_core", + "quote", + "syn", +] + +[[package]] +name = "data-encoding" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "encoding_rs" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" + +[[package]] +name = "futures-io" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" + +[[package]] +name = "futures-macro" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" + +[[package]] +name = "futures-task" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" + +[[package]] +name = "futures-util" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gimli" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" + +[[package]] +name = "hashbrown" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" + +[[package]] +name = "headers" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" +dependencies = [ + "base64 0.21.5", + "bytes", + "headers-core", + "http", + "httpdate", + "mime", + "sha1", +] + +[[package]] +name = "headers-core" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" +dependencies = [ + "http", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "0.14.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2 0.4.10", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" +dependencies = [ + "equivalent", + "hashbrown", + "serde", +] + +[[package]] +name = "itoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" + +[[package]] +name = "lock_api" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "memchr" +version = "2.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" +dependencies = [ + "libc", + "wasi", + "windows-sys", +] + +[[package]] +name = "multer" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2" +dependencies = [ + "bytes", + "encoding_rs", + "futures-util", + "http", + "httparse", + "log", + "memchr", + "mime", + "spin", + "version_check", +] + +[[package]] +name = "num-traits" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "object" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets", +] + +[[package]] +name = "percent-encoding" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + +[[package]] +name = "pest" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" +dependencies = [ + "memchr", + "thiserror", + "ucd-trie", +] + +[[package]] +name = "pin-project" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + +[[package]] +name = "ryu" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "serde" +version = "1.0.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_path_to_error" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335" +dependencies = [ + "itoa", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" + +[[package]] +name = "socket2" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "socket2" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn", +] + +[[package]] +name = "syn" +version = "2.0.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "third-party" +version = "0.0.0" +dependencies = [ + "async-graphql", + "async-graphql-axum", + "axum", + "tokio", + "version_check", +] + +[[package]] +name = "thiserror" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2 0.5.5", + "tokio-macros", + "windows-sys", +] + +[[package]] +name = "tokio-macros" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-stream" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite", +] + +[[package]] +name = "tokio-util" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +dependencies = [ + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "log", + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http", + "httparse", + "log", + "rand", + "sha1", + "thiserror", + "url", + "utf-8", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + +[[package]] +name = "unicode-bidi" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "url" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "winnow" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32" +dependencies = [ + "memchr", +] diff --git a/third-party/rust/Cargo.toml b/third-party/rust/Cargo.toml new file mode 100644 index 0000000000..6b3e5fdea6 --- /dev/null +++ b/third-party/rust/Cargo.toml @@ -0,0 +1,27 @@ +# Definitions of third-party libraries used for Rust build of Galoy. +# +# Note: This file is **not** used by a regular Cargo build of Galoy. + +[workspace] + +[package] +# Pseudo-package whose dependencies are imported and buckified +name = "third-party" +version = "0.0.0" +publish = false +edition = "2021" + +# Do-nothing target to keep Cargo happy +[[bin]] +name = "top" +path = "top/main.rs" + +# List of packages to be imported, with version constraints, features and all +# options Cargo supports. +[dependencies] +async-graphql = { version = "6.0.9", default-features = false, features = ["playground"] } +async-graphql-axum = "6.0.9" +axum = "0.6.20" +tokio = { version = "1.33.0", features = ["full"] } + +version_check = "0.9.4" # for some reason reindeer didn't auto-add this diff --git a/third-party/rust/fixups/async-trait/fixups.toml b/third-party/rust/fixups/async-trait/fixups.toml new file mode 100644 index 0000000000..db40d72cb2 --- /dev/null +++ b/third-party/rust/fixups/async-trait/fixups.toml @@ -0,0 +1 @@ +buildscript = [] diff --git a/third-party/rust/fixups/axum-core/fixups.toml b/third-party/rust/fixups/axum-core/fixups.toml new file mode 100644 index 0000000000..db40d72cb2 --- /dev/null +++ b/third-party/rust/fixups/axum-core/fixups.toml @@ -0,0 +1 @@ +buildscript = [] diff --git a/third-party/rust/fixups/axum/fixups.toml b/third-party/rust/fixups/axum/fixups.toml new file mode 100644 index 0000000000..db40d72cb2 --- /dev/null +++ b/third-party/rust/fixups/axum/fixups.toml @@ -0,0 +1 @@ +buildscript = [] diff --git a/third-party/rust/fixups/futures-channel/fixups.toml b/third-party/rust/fixups/futures-channel/fixups.toml new file mode 100644 index 0000000000..3510928422 --- /dev/null +++ b/third-party/rust/fixups/futures-channel/fixups.toml @@ -0,0 +1,2 @@ +buildscript = [] +cargo_env = true diff --git a/third-party/rust/fixups/futures-core/fixups.toml b/third-party/rust/fixups/futures-core/fixups.toml new file mode 100644 index 0000000000..3510928422 --- /dev/null +++ b/third-party/rust/fixups/futures-core/fixups.toml @@ -0,0 +1,2 @@ +buildscript = [] +cargo_env = true diff --git a/third-party/rust/fixups/futures-task/fixups.toml b/third-party/rust/fixups/futures-task/fixups.toml new file mode 100644 index 0000000000..3510928422 --- /dev/null +++ b/third-party/rust/fixups/futures-task/fixups.toml @@ -0,0 +1,2 @@ +buildscript = [] +cargo_env = true diff --git a/third-party/rust/fixups/futures-util/fixups.toml b/third-party/rust/fixups/futures-util/fixups.toml new file mode 100644 index 0000000000..3510928422 --- /dev/null +++ b/third-party/rust/fixups/futures-util/fixups.toml @@ -0,0 +1,2 @@ +buildscript = [] +cargo_env = true diff --git a/third-party/rust/fixups/generic-array/fixups.toml b/third-party/rust/fixups/generic-array/fixups.toml new file mode 100644 index 0000000000..db40d72cb2 --- /dev/null +++ b/third-party/rust/fixups/generic-array/fixups.toml @@ -0,0 +1 @@ +buildscript = [] diff --git a/third-party/rust/fixups/httparse/fixups.toml b/third-party/rust/fixups/httparse/fixups.toml new file mode 100644 index 0000000000..db40d72cb2 --- /dev/null +++ b/third-party/rust/fixups/httparse/fixups.toml @@ -0,0 +1 @@ +buildscript = [] diff --git a/third-party/rust/fixups/libc/fixups.toml b/third-party/rust/fixups/libc/fixups.toml new file mode 100644 index 0000000000..5e026f75e0 --- /dev/null +++ b/third-party/rust/fixups/libc/fixups.toml @@ -0,0 +1,2 @@ +[[buildscript]] +[buildscript.rustc_flags] diff --git a/third-party/rust/fixups/lock_api/fixups.toml b/third-party/rust/fixups/lock_api/fixups.toml new file mode 100644 index 0000000000..db40d72cb2 --- /dev/null +++ b/third-party/rust/fixups/lock_api/fixups.toml @@ -0,0 +1 @@ +buildscript = [] diff --git a/third-party/rust/fixups/mio/fixups.toml b/third-party/rust/fixups/mio/fixups.toml new file mode 100644 index 0000000000..af7edb27e3 --- /dev/null +++ b/third-party/rust/fixups/mio/fixups.toml @@ -0,0 +1 @@ +extra_srcs = ["src/**/*.rs"] diff --git a/third-party/rust/fixups/multer/fixups.toml b/third-party/rust/fixups/multer/fixups.toml new file mode 100644 index 0000000000..d72f985e10 --- /dev/null +++ b/third-party/rust/fixups/multer/fixups.toml @@ -0,0 +1,2 @@ +extra_deps = [":version_check-0.9.4"] +buildscript = [] diff --git a/third-party/rust/fixups/num-traits/fixups.toml b/third-party/rust/fixups/num-traits/fixups.toml new file mode 100644 index 0000000000..5e026f75e0 --- /dev/null +++ b/third-party/rust/fixups/num-traits/fixups.toml @@ -0,0 +1,2 @@ +[[buildscript]] +[buildscript.rustc_flags] diff --git a/third-party/rust/fixups/parking_lot_core/fixups.toml b/third-party/rust/fixups/parking_lot_core/fixups.toml new file mode 100644 index 0000000000..dd8e7897f1 --- /dev/null +++ b/third-party/rust/fixups/parking_lot_core/fixups.toml @@ -0,0 +1 @@ +buildscript = [] \ No newline at end of file diff --git a/third-party/rust/fixups/pest/fixups.toml b/third-party/rust/fixups/pest/fixups.toml new file mode 100644 index 0000000000..af7edb27e3 --- /dev/null +++ b/third-party/rust/fixups/pest/fixups.toml @@ -0,0 +1 @@ +extra_srcs = ["src/**/*.rs"] diff --git a/third-party/rust/fixups/proc-macro2/fixups.toml b/third-party/rust/fixups/proc-macro2/fixups.toml new file mode 100644 index 0000000000..bf469ba789 --- /dev/null +++ b/third-party/rust/fixups/proc-macro2/fixups.toml @@ -0,0 +1,2 @@ +[[buildscript]] +[buildscript.rustc_flags] \ No newline at end of file diff --git a/third-party/rust/fixups/rustix/fixups.toml b/third-party/rust/fixups/rustix/fixups.toml new file mode 100644 index 0000000000..5e026f75e0 --- /dev/null +++ b/third-party/rust/fixups/rustix/fixups.toml @@ -0,0 +1,2 @@ +[[buildscript]] +[buildscript.rustc_flags] diff --git a/third-party/rust/fixups/rustversion/fixups.toml b/third-party/rust/fixups/rustversion/fixups.toml new file mode 100644 index 0000000000..ac9ebfb4af --- /dev/null +++ b/third-party/rust/fixups/rustversion/fixups.toml @@ -0,0 +1,2 @@ +[[buildscript]] +[buildscript.gen_srcs] diff --git a/third-party/rust/fixups/serde/fixups.toml b/third-party/rust/fixups/serde/fixups.toml new file mode 100644 index 0000000000..db40d72cb2 --- /dev/null +++ b/third-party/rust/fixups/serde/fixups.toml @@ -0,0 +1 @@ +buildscript = [] diff --git a/third-party/rust/fixups/serde_json/fixups.toml b/third-party/rust/fixups/serde_json/fixups.toml new file mode 100644 index 0000000000..db40d72cb2 --- /dev/null +++ b/third-party/rust/fixups/serde_json/fixups.toml @@ -0,0 +1 @@ +buildscript = [] diff --git a/third-party/rust/fixups/slab/fixups.toml b/third-party/rust/fixups/slab/fixups.toml new file mode 100644 index 0000000000..db40d72cb2 --- /dev/null +++ b/third-party/rust/fixups/slab/fixups.toml @@ -0,0 +1 @@ +buildscript = [] diff --git a/third-party/rust/fixups/thiserror/fixups.toml b/third-party/rust/fixups/thiserror/fixups.toml new file mode 100644 index 0000000000..db40d72cb2 --- /dev/null +++ b/third-party/rust/fixups/thiserror/fixups.toml @@ -0,0 +1 @@ +buildscript = [] diff --git a/third-party/rust/fixups/typenum/fixups.toml b/third-party/rust/fixups/typenum/fixups.toml new file mode 100644 index 0000000000..7ab02e4fd1 --- /dev/null +++ b/third-party/rust/fixups/typenum/fixups.toml @@ -0,0 +1,4 @@ +features = ["force_unix_path_separator"] + +[[buildscript]] +[buildscript.gen_srcs] diff --git a/third-party/rust/fixups/winapi-x86_64-pc-windows-gnu/fixups.toml b/third-party/rust/fixups/winapi-x86_64-pc-windows-gnu/fixups.toml new file mode 100644 index 0000000000..07c79834d9 --- /dev/null +++ b/third-party/rust/fixups/winapi-x86_64-pc-windows-gnu/fixups.toml @@ -0,0 +1,9 @@ +buildscript = [] + +[[platform_fixup.'cfg(target_os = "windows")'.buildscript]] +[platform_fixup.'cfg(target_os = "windows")'.buildscript.prebuilt_cxx_library] +name = "extra_libraries" +# The static_libs this crate provides overlaps quite heavily with those in a default +# MinGW install, and there are also many that are DirectX specific. +# We list only those we actually need, since the others are more likely to cause problems. +static_libs = ["lib/libwinapi_ole32.a", "lib/libwinapi_shell32.a"] diff --git a/third-party/rust/fixups/winapi/fixups.toml b/third-party/rust/fixups/winapi/fixups.toml new file mode 100644 index 0000000000..ec4f86e500 --- /dev/null +++ b/third-party/rust/fixups/winapi/fixups.toml @@ -0,0 +1,4 @@ +buildscript = [] + +[[platform_fixup.'cfg(target_os = "windows")'.buildscript]] +[platform_fixup.'cfg(target_os = "windows")'.buildscript.rustc_flags] diff --git a/third-party/rust/fixups/windows_x86_64_gnu/fixups.toml b/third-party/rust/fixups/windows_x86_64_gnu/fixups.toml new file mode 100644 index 0000000000..13b68d437f --- /dev/null +++ b/third-party/rust/fixups/windows_x86_64_gnu/fixups.toml @@ -0,0 +1,6 @@ +buildscript = [] + +[[platform_fixup.'cfg(target_os = "windows")'.buildscript]] +[platform_fixup.'cfg(target_os = "windows")'.buildscript.prebuilt_cxx_library] +name = "libwindows.a" +static_libs = ["lib/libwindows.a"] \ No newline at end of file diff --git a/third-party/rust/fixups/windows_x86_64_msvc/fixups.toml b/third-party/rust/fixups/windows_x86_64_msvc/fixups.toml new file mode 100644 index 0000000000..ba5f795c51 --- /dev/null +++ b/third-party/rust/fixups/windows_x86_64_msvc/fixups.toml @@ -0,0 +1,6 @@ +buildscript = [] + +[[platform_fixup.'cfg(target_os = "windows")'.buildscript]] +[platform_fixup.'cfg(target_os = "windows")'.buildscript.prebuilt_cxx_library] +name = "windows.lib" +static_libs = ["lib/windows.lib"] \ No newline at end of file diff --git a/third-party/rust/reindeer.toml b/third-party/rust/reindeer.toml new file mode 100644 index 0000000000..dfd4f117d6 --- /dev/null +++ b/third-party/rust/reindeer.toml @@ -0,0 +1,37 @@ +# Configuration for Reindeer to generate Buck targets from Cargo.toml +# +# Overview of available options: +# https://github.com/facebookincubator/reindeer/blob/main/example/third-party/reindeer.toml + +# Build dependencies through http_archive downloaded from crates.io, rather than +# vendoring sources into this repo. +vendor = false + +# Parse Rust code to work out the precise set of source files for each crate. +# precise_srcs = true + +# If a fixups.toml file is needed (eg, the package has a build.rs), then +# generate a template fixups.toml to be edited. +fixup_templates = true + +# Include a public top-level target which depends on all other targets. +include_top_level = true + +[cargo] +# Support Cargo's unstable "artifact dependencies" functionality, RFC 3028. +bindeps = true + +[buck] +# Name of the generated file. +file_name = "BUCK" + +# Rules used for various kinds of targets. +rust_library = "cargo.rust_library" +rust_binary = "cargo.rust_binary" +prebuilt_cxx_library = "third_party_rust_prebuilt_cxx_library" + +buckfile_imports = """ +load("@prelude//rust:cargo_buildscript.bzl", "buildscript_run") +load("@prelude//rust:cargo_package.bzl", "cargo") +load("//third-party/macros:rust_third_party.bzl", "third_party_rust_prebuilt_cxx_library") +""" diff --git a/third-party/rust/top/main.rs b/third-party/rust/top/main.rs new file mode 100644 index 0000000000..e69de29bb2 diff --git a/toolchains/BUCK b/toolchains/BUCK index 18107e6fde..b69224f3fc 100644 --- a/toolchains/BUCK +++ b/toolchains/BUCK @@ -3,6 +3,8 @@ load( "system_python_bootstrap_toolchain", "system_python_toolchain" ) +load("@prelude//toolchains:cxx.bzl", "system_cxx_toolchain") +load("@prelude//toolchains:rust.bzl", "system_rust_toolchain") system_python_bootstrap_toolchain( name = "python_bootstrap", @@ -14,6 +16,17 @@ system_python_toolchain( visibility = ["PUBLIC"], ) +system_cxx_toolchain( + name = "cxx", + visibility = ["PUBLIC"], +) + +system_rust_toolchain( + name = "rust", + default_edition = "2021", + visibility = ["PUBLIC"], +) + load("@toolchains//simple-pnpm:toolchain.bzl", "simple_pnpm_toolchain") simple_pnpm_toolchain( diff --git a/toolchains/workspace-pnpm/macros.bzl b/toolchains/workspace-pnpm/macros.bzl index ac553dd8b4..6ca239ac44 100644 --- a/toolchains/workspace-pnpm/macros.bzl +++ b/toolchains/workspace-pnpm/macros.bzl @@ -165,7 +165,7 @@ build_node_modules = rule( attrs = { "turbo_bin": attrs.dep( providers = [RunInfo], - default = "//shim/custom-third-party/node/turbo:turbo_bin", + default = "//third-party/node/turbo:turbo_bin", doc = """Turbo dependency.""", ), "workspace": attrs.source( diff --git a/vendir.lock.yml b/vendir.lock.yml index 8a3209855a..e176fbcba5 100644 --- a/vendir.lock.yml +++ b/vendir.lock.yml @@ -8,4 +8,12 @@ directories: - "2023-10-15" path: . path: prelude +- contents: + - git: + commitTitle: 'prelude/rust: Process CARGO_MANIFEST_DIR during rustdoc test...' + sha: 98a6e7b70dc82a62784f80897d72fefdfb54d70f + tags: + - "2023-10-15" + path: . + path: third-party/macros kind: LockConfig diff --git a/vendir.yml b/vendir.yml index c42af76305..e88a365869 100644 --- a/vendir.yml +++ b/vendir.yml @@ -1,15 +1,21 @@ apiVersion: vendir.k14s.io/v1alpha1 kind: Config - directories: - - path: prelude - contents: - - path: . - git: - url: https://github.com/facebook/buck2.git - # Need to update to $BUCK2_VERSION when new buck2 gets updated via `nix flake update` - ref: '2023-10-15' - includePaths: - - prelude/**/* - newRootPath: prelude - +- path: prelude + contents: + - path: . + git: + url: https://github.com/facebook/buck2.git + ref: "2023-10-15" + includePaths: + - prelude/**/* + newRootPath: prelude +- path: third-party/macros + contents: + - path: . + git: + url: https://github.com/facebook/buck2.git + ref: "2023-10-15" + includePaths: + - shim/third-party/macros/* + newRootPath: shim/third-party/macros diff --git a/vendir/sync.sh b/vendir/sync.sh new file mode 100755 index 0000000000..c682fb7d61 --- /dev/null +++ b/vendir/sync.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +set -e + +REPO_ROOT=$(git rev-parse --show-toplevel) + +pushd "${REPO_ROOT}" + +cat < vendir/values.yml +#@data/values +--- +buck2_git_ref: "${BUCK2_VERSION#*-}" #! echo "\${BUCK2_VERSION#*-}" +EOF + +ytt -f vendir > vendir.yml +vendir sync + +git apply third-party/patches/nix_rustc_action.py.patch diff --git a/vendir/template.yml b/vendir/template.yml new file mode 100644 index 0000000000..2d6665969b --- /dev/null +++ b/vendir/template.yml @@ -0,0 +1,24 @@ +#@ load("@ytt:data", "data") + +apiVersion: vendir.k14s.io/v1alpha1 +kind: Config + +directories: + - path: prelude + contents: + - path: . + git: + url: https://github.com/facebook/buck2.git + ref: #@ data.values.buck2_git_ref + includePaths: + - prelude/**/* + newRootPath: prelude + - path: third-party/macros + contents: + - path: . + git: + url: https://github.com/facebook/buck2.git + ref: #@ data.values.buck2_git_ref + includePaths: + - shim/third-party/macros/* + newRootPath: shim/third-party/macros diff --git a/vendir/values.yml b/vendir/values.yml new file mode 100644 index 0000000000..9ebc1afee6 --- /dev/null +++ b/vendir/values.yml @@ -0,0 +1,3 @@ +#@data/values +--- +buck2_git_ref: "2023-10-15" #! echo "${BUCK2_VERSION#*-}"