├── .gitignore ├── .idea ├── vcs.xml ├── .gitignore ├── modules.xml └── nu_plugin_port_list.iml ├── nupm.nuon ├── src ├── helper.rs ├── main.rs └── port_list.rs ├── Cargo.toml ├── .github └── workflows │ └── publish_crate.yaml ├── LICENSE ├── README.md └── Cargo.lock /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | .vscode 3 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /nupm.nuon: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nu_plugin_port_list", 3 | "version": "1.4.7", 4 | "description": "Aff nushell plugin to list all active connections", 5 | "license": "LICENSE", 6 | "type": "custom" 7 | } -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Editor-based HTTP Client requests 5 | /httpRequests/ 6 | # Datasource local storage ignored files 7 | /dataSources/ 8 | /dataSources.local.xml 9 | -------------------------------------------------------------------------------- /src/helper.rs: -------------------------------------------------------------------------------- 1 | pub trait ToStr { 2 | fn to_string(&self) -> String; 3 | } 4 | 5 | impl ToStr for std::ffi::OsStr { 6 | fn to_string(&self) -> String { 7 | self.to_string_lossy().to_string() 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/nu_plugin_port_list.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | mod helper; 2 | mod port_list; 3 | use crate::port_list::PortList; 4 | use nu_plugin::PluginCommand; 5 | 6 | pub struct PortListPlugin; 7 | 8 | impl nu_plugin::Plugin for PortListPlugin { 9 | fn commands(&self) -> Vec>> { 10 | vec![Box::new(PortList::new())] 11 | } 12 | 13 | fn version(&self) -> String { 14 | env!("CARGO_PKG_VERSION").into() 15 | } 16 | } 17 | fn main() { 18 | nu_plugin::serve_plugin(&mut PortListPlugin {}, nu_plugin::MsgPackSerializer {}) 19 | } 20 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [dependencies] 2 | 3 | netstat2 = "0.11.1" 4 | nu-plugin = "0.102.0" 5 | sysinfo = "0.33.1" 6 | 7 | [dependencies.nu-protocol] 8 | features = ["plugin"] 9 | version = "0.102.0" 10 | 11 | [package] 12 | authors = ["Motalleb Fallahnezhad "] 13 | description = "A nushell plugin to list all active connections" 14 | edition = "2021" 15 | homepage = "https://github.com/FMotalleb/nu_plugin_port_list" 16 | keywords = ["nushell", "network", "plugin"] 17 | license = "MIT" 18 | name = "nu_plugin_port_list" 19 | readme = "README.md" 20 | repository = "https://github.com/FMotalleb/nu_plugin_port_list" 21 | version = "1.4.7" 22 | -------------------------------------------------------------------------------- /.github/workflows/publish_crate.yaml: -------------------------------------------------------------------------------- 1 | name: Publish Crate 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | paths: 8 | - Cargo.tom 9 | release: 10 | workflow_dispatch: 11 | 12 | 13 | jobs: 14 | publish: 15 | runs-on: ubuntu-latest 16 | steps: 17 | - uses: actions/checkout@v3 18 | 19 | - name: Set up Rust toolchain 20 | uses: actions-rs/toolchain@v1 21 | with: 22 | toolchain: stable 23 | override: true 24 | 25 | - name: Publish to crates.io 26 | uses: katyo/publish-crates@v2 27 | with: 28 | registry-token: ${{ secrets.CARGO_REGISTRY_TOKEN }} 29 | env: 30 | CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} 31 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2023 "Motalleb Fallahnezhad" 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # nu_plugin_port_list (Now Deprecated) 2 | 3 | Latest version of nushell supported: 0.102.0 4 | Deprecated in favor of [nu_plugin_port_extension](https://github.com/FMotalleb/nu_plugin_port_extension.git) 5 | which will be a mix of this plugin and port scan plugin 6 | cli signature is not changed but output result is now more stable 7 | 8 | A [nushell](https://www.nushell.sh/) plugin to display all active network connections. 9 | similar to `netstat -ntp` 10 | 11 | **Important**: to list pid correctly it needs to run as a privileged user (root) 12 | 13 | * flags 14 | 15 | ```bash 16 | -6, --disable-ipv4 - do not fetch ipv4 connections (ipv6 only) 17 | -4, --disable-ipv6 - do not fetch ipv6 connections (ipv4 only) 18 | -t, --disable-udp - do not fetch UDP connections (TCP only) 19 | -u, --disable-tcp - do not fetch TCP connections (UDP only) 20 | -p, --process-info - loads process info (process_name, cmd, binary path, ...) 21 | ``` 22 | 23 | ## Examples 24 | 25 | * list all open ports 26 | 27 | ```bash 28 | ~> port list 29 | ``` 30 | 31 | |type|ip_version|local_address|local_port|remote_address|remote_port|state|pid| 32 | |-|-|-|-|-|-|-|-| 33 | |tcp|4|0.0.0.0|22|0.0.0.0|0|LISTEN|1000| 34 | |tcp|4|192.168.100.8|42352|...|780|ESTABLISHED|9343| 35 | |tcp|4|192.168.100.8|60564|...|443|ESTABLISHED|2899| 36 | |tcp|4|127.0.0.1|38946|127.0.0.1|7890|ESTABLISHED|3376| 37 | |tcp|4|127.0.0.1|50180|127.0.0.1|37921|ESTABLISHED|7620| 38 | 39 | * list all open tcp port that are in LISTEN state and using local address 0.0.0.0 40 | 41 | ```bash 42 | ~> port list | where state == LISTEN and local_address == 0.0.0.0 43 | ``` 44 | 45 | |type|ip_version|local_address|local_port|remote_address|remote_port|state|pid| 46 | |-|-|-|-|-|-|-|-| 47 | |tcp|4|0.0.0.0|7070|0.0.0.0|0|LISTEN|993| 48 | |tcp|4|0.0.0.0|3306|0.0.0.0|0|LISTEN|9953| 49 | |tcp|4|0.0.0.0|9000|0.0.0.0|0|LISTEN|1525| 50 | |tcp|4|0.0.0.0|8585|0.0.0.0|0|LISTEN|10693| 51 | |tcp|4|0.0.0.0|22|0.0.0.0|0|LISTEN|1000| 52 | 53 | * get process that is listening on a port 54 | 55 | ```bash 56 | ~> port list -t4p 57 | ``` 58 | 59 | |type|ip_version|local_address|local_port|remote_address|remote_port|state|pid|process_name|cmd|exe_path|process_status|process_user|process_group|process_effective_user|process_effective_group|process_environments| 60 | |-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-| 61 | |tcp|4|127.0.0.1|631|0.0.0.0|0|LISTEN|986|cupsd|/usr/sbin/cupsd -l|/usr/sbin/cupsd|Sleeping|0|0|0|0|[LANG=en_US.UTF-8,...]| 62 | 63 | ## Installing 64 | 65 | * using [nupm](https://github.com/nushell/nupm) 66 | 67 | ```bash 68 | git clone https://github.com/FMotalleb/nu_plugin_port_list.git 69 | nupm install --path nu_plugin_port_list -f 70 | ``` 71 | 72 | * or compile manually 73 | 74 | ```bash 75 | git clone https://github.com/FMotalleb/nu_plugin_port_list.git 76 | cd nu_plugin_port_list 77 | cargo build -r 78 | plugin add target/release/nu_plugin_port_list 79 | ``` 80 | 81 | * or using cargo 82 | 83 | ```bash 84 | cargo install nu_plugin_port_list 85 | plugin add ~/.cargo/bin/nu_plugin_port_list 86 | ``` 87 | -------------------------------------------------------------------------------- /src/port_list.rs: -------------------------------------------------------------------------------- 1 | use crate::helper::ToStr; 2 | use crate::PortListPlugin; 3 | use netstat2::{get_sockets_info, AddressFamilyFlags, ProtocolFlags, ProtocolSocketInfo, TcpState}; 4 | use nu_plugin::{EngineInterface, EvaluatedCall, PluginCommand}; 5 | use nu_protocol::{record, Category, LabeledError, PipelineData, Record, Signature, Span, Value}; 6 | use std::collections::HashMap; 7 | use std::iter::Iterator; 8 | use std::net::IpAddr; 9 | use sysinfo::{Process, System}; 10 | 11 | pub struct PortList; 12 | 13 | impl PortList { 14 | pub fn new() -> PortList { 15 | PortList {} 16 | } 17 | fn load_process_info_into( 18 | rec: &mut Record, 19 | items: &Vec, 20 | skip: bool, 21 | span: Span, 22 | process_list: &HashMap, 23 | ) -> Record { 24 | if skip { 25 | return rec.to_owned(); 26 | } 27 | 28 | for i in items.iter() { 29 | let pid = i.to_owned(); 30 | let process = process_list.get(&pid.to_string()); 31 | if let Some(process_info) = process { 32 | rec.push( 33 | "process_name", 34 | Value::string(process_info.name().to_string(), span), 35 | ); 36 | rec.push( 37 | "cmd", 38 | Value::string( 39 | process_info 40 | .cmd() 41 | .into_iter() 42 | .map(|f| f.to_string()) 43 | .collect::>() 44 | .join(" "), 45 | span, 46 | ), 47 | ); 48 | rec.push( 49 | "exe_path", 50 | Value::string( 51 | process_info 52 | .exe() 53 | .map(|f| f.to_str().unwrap_or("-")) 54 | .unwrap_or("-") 55 | .to_string(), 56 | span, 57 | ), 58 | ); 59 | rec.push( 60 | "process_status", 61 | Value::string(process_info.status().to_string(), span), 62 | ); 63 | rec.push( 64 | "process_user", 65 | Value::string( 66 | process_info 67 | .user_id() 68 | .map(|uid| uid.to_string()) 69 | .unwrap_or("-".to_string()), 70 | span, 71 | ), 72 | ); 73 | rec.push( 74 | "process_group", 75 | Value::string( 76 | process_info 77 | .group_id() 78 | .map(|gid| gid.to_string()) 79 | .unwrap_or("-".to_string()), 80 | span, 81 | ), 82 | ); 83 | rec.push( 84 | "process_effective_user", 85 | Value::string( 86 | process_info 87 | .effective_user_id() 88 | .map(|uid| uid.to_string()) 89 | .unwrap_or("-".to_string()), 90 | span, 91 | ), 92 | ); 93 | rec.push( 94 | "process_effective_group", 95 | Value::string( 96 | process_info 97 | .effective_group_id() 98 | .map(|gid| gid.to_string()) 99 | .unwrap_or("-".to_string()), 100 | span, 101 | ), 102 | ); 103 | rec.push( 104 | "process_environments", 105 | Value::list( 106 | Self::map_environments( 107 | process_info 108 | .environ() 109 | .into_iter() 110 | .map(|i| i.to_string()) 111 | .collect::>(), 112 | span, 113 | ), 114 | span, 115 | ), 116 | ) 117 | } 118 | break; 119 | } 120 | rec.to_owned() 121 | } 122 | 123 | fn get_ip_version(addr: IpAddr, span: Span) -> Value { 124 | match addr { 125 | IpAddr::V4(_) => Value::int(4, span), 126 | IpAddr::V6(_) => Value::int(6, span), 127 | } 128 | } 129 | fn map_environments(environments: Vec, span: Span) -> Vec { 130 | let mut values: Vec = vec![]; 131 | for i in environments { 132 | values.push(Value::string(i, span)) 133 | } 134 | values 135 | } 136 | fn load_pid(items: &Vec, span: Span) -> Value { 137 | let mut result: Vec = vec![]; 138 | for i in items.iter() { 139 | let pid = i.to_owned(); 140 | 141 | result.push(Value::int(pid.into(), span)); 142 | } 143 | match result.len() { 144 | 0 => Value::nothing(span), 145 | _ => result.first().unwrap().clone(), 146 | } 147 | } 148 | } 149 | impl PluginCommand for PortList { 150 | type Plugin = PortListPlugin; 151 | 152 | fn name(&self) -> &str { 153 | "port list" 154 | } 155 | 156 | fn signature(&self) -> Signature { 157 | Signature::build("port list") 158 | .switch( 159 | "disable-ipv4", 160 | "do not fetch ipv6 connections (ipv6 only)", 161 | Some('6'), 162 | ) 163 | .switch( 164 | "disable-ipv6", 165 | "do not fetch ipv4 connections (ipv4 only)", 166 | Some('4'), 167 | ) 168 | .switch( 169 | "disable-udp", 170 | "do not fetch UDP connections (TCP only)", 171 | Some('t'), 172 | ) 173 | .switch( 174 | "disable-tcp", 175 | "do not fetch TCP connections (UDP only)", 176 | Some('u'), 177 | ) 178 | .switch( 179 | "listeners", 180 | "only listeners (equivalent to state == \"LISTEN\")", 181 | Some('l'), 182 | ) 183 | .switch( 184 | "process-info", 185 | "loads process info (name, cmd, binary path)", 186 | Some('p'), 187 | ) 188 | .category(Category::Network) 189 | } 190 | 191 | fn description(&self) -> &str { 192 | "Like netstat this command will return every open connection on the network interface" 193 | } 194 | 195 | fn run( 196 | &self, 197 | _plugin: &Self::Plugin, 198 | _engine: &EngineInterface, 199 | call: &EvaluatedCall, 200 | _input: PipelineData, 201 | ) -> Result { 202 | let mut af_flags = AddressFamilyFlags::IPV4 | AddressFamilyFlags::IPV6; 203 | let mut proto_flags = ProtocolFlags::TCP | ProtocolFlags::UDP; 204 | 205 | let skip_process_info = match call.has_flag("process-info") { 206 | Ok(value) => !value, 207 | Err(_) => false, 208 | }; 209 | if let Ok(true) = call.has_flag("disable-ipv4") { 210 | af_flags = af_flags & AddressFamilyFlags::IPV6; 211 | } 212 | if let Ok(true) = call.has_flag("disable-ipv6") { 213 | af_flags = af_flags & AddressFamilyFlags::IPV4; 214 | } 215 | if let Ok(true) = call.has_flag("disable-udp") { 216 | proto_flags = proto_flags & ProtocolFlags::TCP; 217 | } 218 | if let Ok(true) = call.has_flag("disable-tcp") { 219 | proto_flags = proto_flags & ProtocolFlags::UDP; 220 | } 221 | let listeners_only = match call.has_flag("listeners") { 222 | Ok(true) => true, 223 | _ => false, 224 | }; 225 | 226 | let mut process_list: HashMap = HashMap::new(); 227 | let sys = System::new_all(); 228 | if skip_process_info != true { 229 | sys.processes().into_iter().for_each(|(pid, process)| { 230 | process_list.insert(pid.to_owned().to_string(), process); 231 | }); 232 | } 233 | 234 | let sockets_info = get_sockets_info(af_flags, proto_flags); 235 | let mut other: Vec = vec![]; 236 | match sockets_info { 237 | Ok(sockets_info) => { 238 | for si in sockets_info { 239 | if listeners_only { 240 | if let ProtocolSocketInfo::Tcp(tcp_si) = &si.protocol_socket_info { 241 | if tcp_si.state != TcpState::Listen { 242 | continue; 243 | } 244 | } 245 | } 246 | 247 | match si.protocol_socket_info { 248 | ProtocolSocketInfo::Tcp(tcp_si) =>{ 249 | other.push(Value::record( 250 | Self::load_process_info_into( 251 | &mut record!{ 252 | "type" => Value::string("tcp".to_string(),call.head), 253 | "ip_version" => Self::get_ip_version(tcp_si.local_addr,call.head), 254 | "local_address" => Value::string(tcp_si.local_addr.to_string(),call.head), 255 | "local_port" => Value::int(tcp_si.local_port.into(),call.head), 256 | "remote_address" => Value::string(tcp_si.remote_addr.to_string(),call.head), 257 | "remote_port" => Value::int(tcp_si.remote_port.into(),call.head), 258 | "state" => Value::string(tcp_si.state.to_string(),call.head), 259 | "pid"=>Self::load_pid(&si.associated_pids,call.head), 260 | }, 261 | &si.associated_pids, 262 | skip_process_info, 263 | call.head, 264 | &process_list 265 | ), 266 | call.head) 267 | ) 268 | } 269 | ProtocolSocketInfo::Udp(udp_si) => { 270 | other.push(Value::record( 271 | Self::load_process_info_into( 272 | &mut record!{ 273 | "type" => Value::string("udp".to_string(),call.head), 274 | "ip_version" => Self::get_ip_version(udp_si.local_addr,call.head), 275 | "local_address" => Value::string(udp_si.local_addr.to_string(),call.head), 276 | "local_port" => Value::int(udp_si.local_port.into(),call.head), 277 | "remote_address" => Value::string("".to_string(),call.head), 278 | "remote_port" => Value::int(-1,call.head), 279 | "state" => Value::string("LISTEN".to_string(),call.head), 280 | "pid"=>Self::load_pid(&si.associated_pids,call.head), 281 | }, 282 | &si.associated_pids, 283 | skip_process_info, 284 | call.head, 285 | &process_list 286 | ), 287 | call.head) 288 | ) 289 | }, 290 | } 291 | } 292 | } 293 | Err(err) => { 294 | return Err(LabeledError::new(err.to_string()).with_code("sockets_info::fetch")) 295 | } 296 | }; 297 | return Ok(PipelineData::Value(Value::list(other, call.head), None)); 298 | } 299 | } 300 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 4 4 | 5 | [[package]] 6 | name = "adler2" 7 | version = "2.0.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" 10 | 11 | [[package]] 12 | name = "aho-corasick" 13 | version = "1.1.3" 14 | source = "registry+https://github.com/rust-lang/crates.io-index" 15 | checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 16 | dependencies = [ 17 | "memchr", 18 | ] 19 | 20 | [[package]] 21 | name = "alloc-no-stdlib" 22 | version = "2.0.4" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" 25 | 26 | [[package]] 27 | name = "alloc-stdlib" 28 | version = "0.2.2" 29 | source = "registry+https://github.com/rust-lang/crates.io-index" 30 | checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" 31 | dependencies = [ 32 | "alloc-no-stdlib", 33 | ] 34 | 35 | [[package]] 36 | name = "allocator-api2" 37 | version = "0.2.21" 38 | source = "registry+https://github.com/rust-lang/crates.io-index" 39 | checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" 40 | 41 | [[package]] 42 | name = "android-tzdata" 43 | version = "0.1.1" 44 | source = "registry+https://github.com/rust-lang/crates.io-index" 45 | checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" 46 | 47 | [[package]] 48 | name = "android_system_properties" 49 | version = "0.1.5" 50 | source = "registry+https://github.com/rust-lang/crates.io-index" 51 | checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 52 | dependencies = [ 53 | "libc", 54 | ] 55 | 56 | [[package]] 57 | name = "anyhow" 58 | version = "1.0.95" 59 | source = "registry+https://github.com/rust-lang/crates.io-index" 60 | checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" 61 | 62 | [[package]] 63 | name = "arrayvec" 64 | version = "0.7.6" 65 | source = "registry+https://github.com/rust-lang/crates.io-index" 66 | checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" 67 | 68 | [[package]] 69 | name = "autocfg" 70 | version = "1.4.0" 71 | source = "registry+https://github.com/rust-lang/crates.io-index" 72 | checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" 73 | 74 | [[package]] 75 | name = "bindgen" 76 | version = "0.70.1" 77 | source = "registry+https://github.com/rust-lang/crates.io-index" 78 | checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" 79 | dependencies = [ 80 | "bitflags 2.8.0", 81 | "cexpr", 82 | "clang-sys", 83 | "itertools", 84 | "proc-macro2", 85 | "quote", 86 | "regex", 87 | "rustc-hash 1.1.0", 88 | "shlex", 89 | "syn 2.0.98", 90 | ] 91 | 92 | [[package]] 93 | name = "bindgen" 94 | version = "0.71.1" 95 | source = "registry+https://github.com/rust-lang/crates.io-index" 96 | checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" 97 | dependencies = [ 98 | "bitflags 2.8.0", 99 | "cexpr", 100 | "clang-sys", 101 | "itertools", 102 | "log", 103 | "prettyplease", 104 | "proc-macro2", 105 | "quote", 106 | "regex", 107 | "rustc-hash 2.1.1", 108 | "shlex", 109 | "syn 2.0.98", 110 | ] 111 | 112 | [[package]] 113 | name = "bit-set" 114 | version = "0.8.0" 115 | source = "registry+https://github.com/rust-lang/crates.io-index" 116 | checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" 117 | dependencies = [ 118 | "bit-vec", 119 | ] 120 | 121 | [[package]] 122 | name = "bit-vec" 123 | version = "0.8.0" 124 | source = "registry+https://github.com/rust-lang/crates.io-index" 125 | checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" 126 | 127 | [[package]] 128 | name = "bitflags" 129 | version = "1.3.2" 130 | source = "registry+https://github.com/rust-lang/crates.io-index" 131 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 132 | 133 | [[package]] 134 | name = "bitflags" 135 | version = "2.8.0" 136 | source = "registry+https://github.com/rust-lang/crates.io-index" 137 | checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" 138 | 139 | [[package]] 140 | name = "brotli" 141 | version = "7.0.0" 142 | source = "registry+https://github.com/rust-lang/crates.io-index" 143 | checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" 144 | dependencies = [ 145 | "alloc-no-stdlib", 146 | "alloc-stdlib", 147 | "brotli-decompressor", 148 | ] 149 | 150 | [[package]] 151 | name = "brotli-decompressor" 152 | version = "4.0.2" 153 | source = "registry+https://github.com/rust-lang/crates.io-index" 154 | checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" 155 | dependencies = [ 156 | "alloc-no-stdlib", 157 | "alloc-stdlib", 158 | ] 159 | 160 | [[package]] 161 | name = "bumpalo" 162 | version = "3.17.0" 163 | source = "registry+https://github.com/rust-lang/crates.io-index" 164 | checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" 165 | 166 | [[package]] 167 | name = "byteorder" 168 | version = "1.5.0" 169 | source = "registry+https://github.com/rust-lang/crates.io-index" 170 | checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 171 | 172 | [[package]] 173 | name = "bytes" 174 | version = "1.10.0" 175 | source = "registry+https://github.com/rust-lang/crates.io-index" 176 | checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" 177 | 178 | [[package]] 179 | name = "cc" 180 | version = "1.2.13" 181 | source = "registry+https://github.com/rust-lang/crates.io-index" 182 | checksum = "c7777341816418c02e033934a09f20dc0ccaf65a5201ef8a450ae0105a573fda" 183 | dependencies = [ 184 | "shlex", 185 | ] 186 | 187 | [[package]] 188 | name = "cexpr" 189 | version = "0.6.0" 190 | source = "registry+https://github.com/rust-lang/crates.io-index" 191 | checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" 192 | dependencies = [ 193 | "nom", 194 | ] 195 | 196 | [[package]] 197 | name = "cfg-if" 198 | version = "1.0.0" 199 | source = "registry+https://github.com/rust-lang/crates.io-index" 200 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 201 | 202 | [[package]] 203 | name = "cfg_aliases" 204 | version = "0.2.1" 205 | source = "registry+https://github.com/rust-lang/crates.io-index" 206 | checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" 207 | 208 | [[package]] 209 | name = "chrono" 210 | version = "0.4.39" 211 | source = "registry+https://github.com/rust-lang/crates.io-index" 212 | checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" 213 | dependencies = [ 214 | "android-tzdata", 215 | "iana-time-zone", 216 | "num-traits", 217 | "pure-rust-locales", 218 | "serde", 219 | "windows-targets 0.52.6", 220 | ] 221 | 222 | [[package]] 223 | name = "chrono-humanize" 224 | version = "0.2.3" 225 | source = "registry+https://github.com/rust-lang/crates.io-index" 226 | checksum = "799627e6b4d27827a814e837b9d8a504832086081806d45b1afa34dc982b023b" 227 | dependencies = [ 228 | "chrono", 229 | ] 230 | 231 | [[package]] 232 | name = "clang-sys" 233 | version = "1.8.1" 234 | source = "registry+https://github.com/rust-lang/crates.io-index" 235 | checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" 236 | dependencies = [ 237 | "glob", 238 | "libc", 239 | "libloading", 240 | ] 241 | 242 | [[package]] 243 | name = "core-foundation-sys" 244 | version = "0.8.7" 245 | source = "registry+https://github.com/rust-lang/crates.io-index" 246 | checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 247 | 248 | [[package]] 249 | name = "crc32fast" 250 | version = "1.4.2" 251 | source = "registry+https://github.com/rust-lang/crates.io-index" 252 | checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" 253 | dependencies = [ 254 | "cfg-if", 255 | ] 256 | 257 | [[package]] 258 | name = "crossbeam-deque" 259 | version = "0.8.6" 260 | source = "registry+https://github.com/rust-lang/crates.io-index" 261 | checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" 262 | dependencies = [ 263 | "crossbeam-epoch", 264 | "crossbeam-utils", 265 | ] 266 | 267 | [[package]] 268 | name = "crossbeam-epoch" 269 | version = "0.9.18" 270 | source = "registry+https://github.com/rust-lang/crates.io-index" 271 | checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" 272 | dependencies = [ 273 | "crossbeam-utils", 274 | ] 275 | 276 | [[package]] 277 | name = "crossbeam-utils" 278 | version = "0.8.21" 279 | source = "registry+https://github.com/rust-lang/crates.io-index" 280 | checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" 281 | 282 | [[package]] 283 | name = "crossterm" 284 | version = "0.28.1" 285 | source = "registry+https://github.com/rust-lang/crates.io-index" 286 | checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" 287 | dependencies = [ 288 | "bitflags 2.8.0", 289 | "crossterm_winapi", 290 | "mio", 291 | "parking_lot", 292 | "rustix", 293 | "signal-hook", 294 | "signal-hook-mio", 295 | "winapi", 296 | ] 297 | 298 | [[package]] 299 | name = "crossterm_winapi" 300 | version = "0.9.1" 301 | source = "registry+https://github.com/rust-lang/crates.io-index" 302 | checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" 303 | dependencies = [ 304 | "winapi", 305 | ] 306 | 307 | [[package]] 308 | name = "dirs" 309 | version = "5.0.1" 310 | source = "registry+https://github.com/rust-lang/crates.io-index" 311 | checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" 312 | dependencies = [ 313 | "dirs-sys", 314 | ] 315 | 316 | [[package]] 317 | name = "dirs-sys" 318 | version = "0.4.1" 319 | source = "registry+https://github.com/rust-lang/crates.io-index" 320 | checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" 321 | dependencies = [ 322 | "libc", 323 | "option-ext", 324 | "redox_users", 325 | "windows-sys 0.48.0", 326 | ] 327 | 328 | [[package]] 329 | name = "doctest-file" 330 | version = "1.0.0" 331 | source = "registry+https://github.com/rust-lang/crates.io-index" 332 | checksum = "aac81fa3e28d21450aa4d2ac065992ba96a1d7303efbce51a95f4fd175b67562" 333 | 334 | [[package]] 335 | name = "either" 336 | version = "1.13.0" 337 | source = "registry+https://github.com/rust-lang/crates.io-index" 338 | checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" 339 | 340 | [[package]] 341 | name = "equivalent" 342 | version = "1.0.1" 343 | source = "registry+https://github.com/rust-lang/crates.io-index" 344 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 345 | 346 | [[package]] 347 | name = "erased-serde" 348 | version = "0.4.5" 349 | source = "registry+https://github.com/rust-lang/crates.io-index" 350 | checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" 351 | dependencies = [ 352 | "serde", 353 | "typeid", 354 | ] 355 | 356 | [[package]] 357 | name = "errno" 358 | version = "0.3.10" 359 | source = "registry+https://github.com/rust-lang/crates.io-index" 360 | checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" 361 | dependencies = [ 362 | "libc", 363 | "windows-sys 0.59.0", 364 | ] 365 | 366 | [[package]] 367 | name = "fancy-regex" 368 | version = "0.14.0" 369 | source = "registry+https://github.com/rust-lang/crates.io-index" 370 | checksum = "6e24cb5a94bcae1e5408b0effca5cd7172ea3c5755049c5f3af4cd283a165298" 371 | dependencies = [ 372 | "bit-set", 373 | "regex-automata", 374 | "regex-syntax", 375 | ] 376 | 377 | [[package]] 378 | name = "flate2" 379 | version = "1.0.35" 380 | source = "registry+https://github.com/rust-lang/crates.io-index" 381 | checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" 382 | dependencies = [ 383 | "crc32fast", 384 | "miniz_oxide", 385 | ] 386 | 387 | [[package]] 388 | name = "foldhash" 389 | version = "0.1.4" 390 | source = "registry+https://github.com/rust-lang/crates.io-index" 391 | checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" 392 | 393 | [[package]] 394 | name = "getrandom" 395 | version = "0.2.15" 396 | source = "registry+https://github.com/rust-lang/crates.io-index" 397 | checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" 398 | dependencies = [ 399 | "cfg-if", 400 | "libc", 401 | "wasi", 402 | ] 403 | 404 | [[package]] 405 | name = "glob" 406 | version = "0.3.2" 407 | source = "registry+https://github.com/rust-lang/crates.io-index" 408 | checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" 409 | 410 | [[package]] 411 | name = "hashbrown" 412 | version = "0.15.2" 413 | source = "registry+https://github.com/rust-lang/crates.io-index" 414 | checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" 415 | dependencies = [ 416 | "allocator-api2", 417 | "equivalent", 418 | "foldhash", 419 | ] 420 | 421 | [[package]] 422 | name = "heck" 423 | version = "0.5.0" 424 | source = "registry+https://github.com/rust-lang/crates.io-index" 425 | checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" 426 | 427 | [[package]] 428 | name = "hex" 429 | version = "0.4.3" 430 | source = "registry+https://github.com/rust-lang/crates.io-index" 431 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 432 | 433 | [[package]] 434 | name = "iana-time-zone" 435 | version = "0.1.61" 436 | source = "registry+https://github.com/rust-lang/crates.io-index" 437 | checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" 438 | dependencies = [ 439 | "android_system_properties", 440 | "core-foundation-sys", 441 | "iana-time-zone-haiku", 442 | "js-sys", 443 | "wasm-bindgen", 444 | "windows-core 0.52.0", 445 | ] 446 | 447 | [[package]] 448 | name = "iana-time-zone-haiku" 449 | version = "0.1.2" 450 | source = "registry+https://github.com/rust-lang/crates.io-index" 451 | checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 452 | dependencies = [ 453 | "cc", 454 | ] 455 | 456 | [[package]] 457 | name = "indexmap" 458 | version = "2.7.1" 459 | source = "registry+https://github.com/rust-lang/crates.io-index" 460 | checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" 461 | dependencies = [ 462 | "equivalent", 463 | "hashbrown", 464 | ] 465 | 466 | [[package]] 467 | name = "interprocess" 468 | version = "2.2.2" 469 | source = "registry+https://github.com/rust-lang/crates.io-index" 470 | checksum = "894148491d817cb36b6f778017b8ac46b17408d522dd90f539d677ea938362eb" 471 | dependencies = [ 472 | "doctest-file", 473 | "libc", 474 | "recvmsg", 475 | "widestring", 476 | "windows-sys 0.52.0", 477 | ] 478 | 479 | [[package]] 480 | name = "inventory" 481 | version = "0.3.19" 482 | source = "registry+https://github.com/rust-lang/crates.io-index" 483 | checksum = "54b12ebb6799019b044deaf431eadfe23245b259bba5a2c0796acec3943a3cdb" 484 | dependencies = [ 485 | "rustversion", 486 | ] 487 | 488 | [[package]] 489 | name = "is_ci" 490 | version = "1.2.0" 491 | source = "registry+https://github.com/rust-lang/crates.io-index" 492 | checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" 493 | 494 | [[package]] 495 | name = "itertools" 496 | version = "0.13.0" 497 | source = "registry+https://github.com/rust-lang/crates.io-index" 498 | checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" 499 | dependencies = [ 500 | "either", 501 | ] 502 | 503 | [[package]] 504 | name = "itoa" 505 | version = "1.0.14" 506 | source = "registry+https://github.com/rust-lang/crates.io-index" 507 | checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" 508 | 509 | [[package]] 510 | name = "js-sys" 511 | version = "0.3.77" 512 | source = "registry+https://github.com/rust-lang/crates.io-index" 513 | checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" 514 | dependencies = [ 515 | "once_cell", 516 | "wasm-bindgen", 517 | ] 518 | 519 | [[package]] 520 | name = "libc" 521 | version = "0.2.169" 522 | source = "registry+https://github.com/rust-lang/crates.io-index" 523 | checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" 524 | 525 | [[package]] 526 | name = "libloading" 527 | version = "0.8.6" 528 | source = "registry+https://github.com/rust-lang/crates.io-index" 529 | checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" 530 | dependencies = [ 531 | "cfg-if", 532 | "windows-targets 0.52.6", 533 | ] 534 | 535 | [[package]] 536 | name = "libproc" 537 | version = "0.14.10" 538 | source = "registry+https://github.com/rust-lang/crates.io-index" 539 | checksum = "e78a09b56be5adbcad5aa1197371688dc6bb249a26da3bca2011ee2fb987ebfb" 540 | dependencies = [ 541 | "bindgen 0.70.1", 542 | "errno", 543 | "libc", 544 | ] 545 | 546 | [[package]] 547 | name = "libredox" 548 | version = "0.1.3" 549 | source = "registry+https://github.com/rust-lang/crates.io-index" 550 | checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" 551 | dependencies = [ 552 | "bitflags 2.8.0", 553 | "libc", 554 | ] 555 | 556 | [[package]] 557 | name = "linux-raw-sys" 558 | version = "0.4.15" 559 | source = "registry+https://github.com/rust-lang/crates.io-index" 560 | checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" 561 | 562 | [[package]] 563 | name = "lock_api" 564 | version = "0.4.12" 565 | source = "registry+https://github.com/rust-lang/crates.io-index" 566 | checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 567 | dependencies = [ 568 | "autocfg", 569 | "scopeguard", 570 | ] 571 | 572 | [[package]] 573 | name = "log" 574 | version = "0.4.25" 575 | source = "registry+https://github.com/rust-lang/crates.io-index" 576 | checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" 577 | 578 | [[package]] 579 | name = "lru" 580 | version = "0.12.5" 581 | source = "registry+https://github.com/rust-lang/crates.io-index" 582 | checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" 583 | dependencies = [ 584 | "hashbrown", 585 | ] 586 | 587 | [[package]] 588 | name = "lscolors" 589 | version = "0.17.0" 590 | source = "registry+https://github.com/rust-lang/crates.io-index" 591 | checksum = "53304fff6ab1e597661eee37e42ea8c47a146fca280af902bb76bff8a896e523" 592 | dependencies = [ 593 | "nu-ansi-term", 594 | ] 595 | 596 | [[package]] 597 | name = "mach2" 598 | version = "0.4.2" 599 | source = "registry+https://github.com/rust-lang/crates.io-index" 600 | checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" 601 | dependencies = [ 602 | "libc", 603 | ] 604 | 605 | [[package]] 606 | name = "memchr" 607 | version = "2.7.4" 608 | source = "registry+https://github.com/rust-lang/crates.io-index" 609 | checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" 610 | 611 | [[package]] 612 | name = "miette" 613 | version = "7.5.0" 614 | source = "registry+https://github.com/rust-lang/crates.io-index" 615 | checksum = "1a955165f87b37fd1862df2a59547ac542c77ef6d17c666f619d1ad22dd89484" 616 | dependencies = [ 617 | "cfg-if", 618 | "miette-derive", 619 | "owo-colors", 620 | "supports-color", 621 | "supports-hyperlinks", 622 | "supports-unicode", 623 | "terminal_size", 624 | "textwrap", 625 | "thiserror 1.0.69", 626 | "unicode-width", 627 | ] 628 | 629 | [[package]] 630 | name = "miette-derive" 631 | version = "7.5.0" 632 | source = "registry+https://github.com/rust-lang/crates.io-index" 633 | checksum = "bf45bf44ab49be92fd1227a3be6fc6f617f1a337c06af54981048574d8783147" 634 | dependencies = [ 635 | "proc-macro2", 636 | "quote", 637 | "syn 2.0.98", 638 | ] 639 | 640 | [[package]] 641 | name = "minimal-lexical" 642 | version = "0.2.1" 643 | source = "registry+https://github.com/rust-lang/crates.io-index" 644 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 645 | 646 | [[package]] 647 | name = "miniz_oxide" 648 | version = "0.8.3" 649 | source = "registry+https://github.com/rust-lang/crates.io-index" 650 | checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" 651 | dependencies = [ 652 | "adler2", 653 | ] 654 | 655 | [[package]] 656 | name = "mio" 657 | version = "1.0.3" 658 | source = "registry+https://github.com/rust-lang/crates.io-index" 659 | checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" 660 | dependencies = [ 661 | "libc", 662 | "log", 663 | "wasi", 664 | "windows-sys 0.52.0", 665 | ] 666 | 667 | [[package]] 668 | name = "netlink-packet-core" 669 | version = "0.7.0" 670 | source = "registry+https://github.com/rust-lang/crates.io-index" 671 | checksum = "72724faf704479d67b388da142b186f916188505e7e0b26719019c525882eda4" 672 | dependencies = [ 673 | "anyhow", 674 | "byteorder", 675 | "netlink-packet-utils", 676 | ] 677 | 678 | [[package]] 679 | name = "netlink-packet-sock-diag" 680 | version = "0.4.2" 681 | source = "registry+https://github.com/rust-lang/crates.io-index" 682 | checksum = "a495cb1de50560a7cd12fdcf023db70eec00e340df81be31cedbbfd4aadd6b76" 683 | dependencies = [ 684 | "anyhow", 685 | "bitflags 1.3.2", 686 | "byteorder", 687 | "libc", 688 | "netlink-packet-core", 689 | "netlink-packet-utils", 690 | "smallvec", 691 | ] 692 | 693 | [[package]] 694 | name = "netlink-packet-utils" 695 | version = "0.5.2" 696 | source = "registry+https://github.com/rust-lang/crates.io-index" 697 | checksum = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34" 698 | dependencies = [ 699 | "anyhow", 700 | "byteorder", 701 | "paste", 702 | "thiserror 1.0.69", 703 | ] 704 | 705 | [[package]] 706 | name = "netlink-sys" 707 | version = "0.8.7" 708 | source = "registry+https://github.com/rust-lang/crates.io-index" 709 | checksum = "16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23" 710 | dependencies = [ 711 | "bytes", 712 | "libc", 713 | "log", 714 | ] 715 | 716 | [[package]] 717 | name = "netstat2" 718 | version = "0.11.1" 719 | source = "registry+https://github.com/rust-lang/crates.io-index" 720 | checksum = "6422b6a8c7635e8a82323e4cdf07a90e91901e07f4c1f0f3a245d54b4637e55c" 721 | dependencies = [ 722 | "bindgen 0.71.1", 723 | "bitflags 2.8.0", 724 | "byteorder", 725 | "netlink-packet-core", 726 | "netlink-packet-sock-diag", 727 | "netlink-packet-utils", 728 | "netlink-sys", 729 | "num-derive", 730 | "num-traits", 731 | "thiserror 2.0.11", 732 | ] 733 | 734 | [[package]] 735 | name = "nix" 736 | version = "0.29.0" 737 | source = "registry+https://github.com/rust-lang/crates.io-index" 738 | checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" 739 | dependencies = [ 740 | "bitflags 2.8.0", 741 | "cfg-if", 742 | "cfg_aliases", 743 | "libc", 744 | ] 745 | 746 | [[package]] 747 | name = "nom" 748 | version = "7.1.3" 749 | source = "registry+https://github.com/rust-lang/crates.io-index" 750 | checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 751 | dependencies = [ 752 | "memchr", 753 | "minimal-lexical", 754 | ] 755 | 756 | [[package]] 757 | name = "ntapi" 758 | version = "0.4.1" 759 | source = "registry+https://github.com/rust-lang/crates.io-index" 760 | checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" 761 | dependencies = [ 762 | "winapi", 763 | ] 764 | 765 | [[package]] 766 | name = "nu-ansi-term" 767 | version = "0.50.1" 768 | source = "registry+https://github.com/rust-lang/crates.io-index" 769 | checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" 770 | dependencies = [ 771 | "windows-sys 0.52.0", 772 | ] 773 | 774 | [[package]] 775 | name = "nu-derive-value" 776 | version = "0.102.0" 777 | source = "registry+https://github.com/rust-lang/crates.io-index" 778 | checksum = "2316ae007dbd5485cc7e717154423380acabf933bbe7b3bb8b2f7f1c91ccc962" 779 | dependencies = [ 780 | "heck", 781 | "proc-macro-error", 782 | "proc-macro2", 783 | "quote", 784 | "syn 2.0.98", 785 | ] 786 | 787 | [[package]] 788 | name = "nu-engine" 789 | version = "0.102.0" 790 | source = "registry+https://github.com/rust-lang/crates.io-index" 791 | checksum = "c683ba1257530c31ef04c9db61dd03873d5cd6e342ace2ea979b83ebb5facbb0" 792 | dependencies = [ 793 | "log", 794 | "nu-glob", 795 | "nu-path", 796 | "nu-protocol", 797 | "nu-utils", 798 | ] 799 | 800 | [[package]] 801 | name = "nu-glob" 802 | version = "0.102.0" 803 | source = "registry+https://github.com/rust-lang/crates.io-index" 804 | checksum = "ca39e05b7e710701b4a979053449c54c68418319e55bcf8cff5d220b7b7bc916" 805 | 806 | [[package]] 807 | name = "nu-path" 808 | version = "0.102.0" 809 | source = "registry+https://github.com/rust-lang/crates.io-index" 810 | checksum = "8b34402c223280f2a12b40562c92d5e39e66dbcf8e63d984b788758e67bfc1fa" 811 | dependencies = [ 812 | "dirs", 813 | "omnipath", 814 | "pwd", 815 | "ref-cast", 816 | ] 817 | 818 | [[package]] 819 | name = "nu-plugin" 820 | version = "0.102.0" 821 | source = "registry+https://github.com/rust-lang/crates.io-index" 822 | checksum = "42961e81fcd9fc25498d79f6a54c120d4c3d14d30bde5aaa16cba13ced15878e" 823 | dependencies = [ 824 | "log", 825 | "nix", 826 | "nu-engine", 827 | "nu-plugin-core", 828 | "nu-plugin-protocol", 829 | "nu-protocol", 830 | "nu-utils", 831 | "thiserror 2.0.11", 832 | ] 833 | 834 | [[package]] 835 | name = "nu-plugin-core" 836 | version = "0.102.0" 837 | source = "registry+https://github.com/rust-lang/crates.io-index" 838 | checksum = "ed8f3991be99d14ac082bf7fe6f977959d5239b39f5d1ae570d8be08ef893cf5" 839 | dependencies = [ 840 | "interprocess", 841 | "log", 842 | "nu-plugin-protocol", 843 | "nu-protocol", 844 | "rmp-serde", 845 | "serde", 846 | "serde_json", 847 | "windows 0.56.0", 848 | ] 849 | 850 | [[package]] 851 | name = "nu-plugin-protocol" 852 | version = "0.102.0" 853 | source = "registry+https://github.com/rust-lang/crates.io-index" 854 | checksum = "cacf325471dbea88c6c7db60476025906b9ba88447f4ba981de70df068647061" 855 | dependencies = [ 856 | "nu-protocol", 857 | "nu-utils", 858 | "rmp-serde", 859 | "semver", 860 | "serde", 861 | "typetag", 862 | ] 863 | 864 | [[package]] 865 | name = "nu-protocol" 866 | version = "0.102.0" 867 | source = "registry+https://github.com/rust-lang/crates.io-index" 868 | checksum = "3054343abc3428da886970f7fe6feee895a96da0323497b61bccf700fed4d265" 869 | dependencies = [ 870 | "brotli", 871 | "bytes", 872 | "chrono", 873 | "chrono-humanize", 874 | "dirs", 875 | "dirs-sys", 876 | "fancy-regex", 877 | "heck", 878 | "indexmap", 879 | "log", 880 | "lru", 881 | "memchr", 882 | "miette", 883 | "nix", 884 | "nu-derive-value", 885 | "nu-path", 886 | "nu-system", 887 | "nu-utils", 888 | "num-format", 889 | "os_pipe", 890 | "rmp-serde", 891 | "serde", 892 | "serde_json", 893 | "thiserror 2.0.11", 894 | "typetag", 895 | "web-time", 896 | "windows-sys 0.48.0", 897 | ] 898 | 899 | [[package]] 900 | name = "nu-system" 901 | version = "0.102.0" 902 | source = "registry+https://github.com/rust-lang/crates.io-index" 903 | checksum = "2588df6916f3b441cfd88babdcbe24e31a04dd4b492e7a30b4f983495fdb0926" 904 | dependencies = [ 905 | "chrono", 906 | "itertools", 907 | "libc", 908 | "libproc", 909 | "log", 910 | "mach2", 911 | "nix", 912 | "ntapi", 913 | "procfs", 914 | "sysinfo", 915 | "web-time", 916 | "windows 0.56.0", 917 | ] 918 | 919 | [[package]] 920 | name = "nu-utils" 921 | version = "0.102.0" 922 | source = "registry+https://github.com/rust-lang/crates.io-index" 923 | checksum = "a5929f17bc53de1a081c18b6ce968e41f9ef8cf0c1e0cf9276ed72749a653475" 924 | dependencies = [ 925 | "crossterm", 926 | "crossterm_winapi", 927 | "fancy-regex", 928 | "log", 929 | "lscolors", 930 | "nix", 931 | "num-format", 932 | "serde", 933 | "serde_json", 934 | "strip-ansi-escapes", 935 | "sys-locale", 936 | "unicase", 937 | ] 938 | 939 | [[package]] 940 | name = "nu_plugin_port_list" 941 | version = "1.4.7" 942 | dependencies = [ 943 | "netstat2", 944 | "nu-plugin", 945 | "nu-protocol", 946 | "sysinfo", 947 | ] 948 | 949 | [[package]] 950 | name = "num-derive" 951 | version = "0.3.3" 952 | source = "registry+https://github.com/rust-lang/crates.io-index" 953 | checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" 954 | dependencies = [ 955 | "proc-macro2", 956 | "quote", 957 | "syn 1.0.109", 958 | ] 959 | 960 | [[package]] 961 | name = "num-format" 962 | version = "0.4.4" 963 | source = "registry+https://github.com/rust-lang/crates.io-index" 964 | checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" 965 | dependencies = [ 966 | "arrayvec", 967 | "itoa", 968 | ] 969 | 970 | [[package]] 971 | name = "num-traits" 972 | version = "0.2.19" 973 | source = "registry+https://github.com/rust-lang/crates.io-index" 974 | checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 975 | dependencies = [ 976 | "autocfg", 977 | ] 978 | 979 | [[package]] 980 | name = "omnipath" 981 | version = "0.1.6" 982 | source = "registry+https://github.com/rust-lang/crates.io-index" 983 | checksum = "80adb31078122c880307e9cdfd4e3361e6545c319f9b9dcafcb03acd3b51a575" 984 | 985 | [[package]] 986 | name = "once_cell" 987 | version = "1.20.3" 988 | source = "registry+https://github.com/rust-lang/crates.io-index" 989 | checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" 990 | 991 | [[package]] 992 | name = "option-ext" 993 | version = "0.2.0" 994 | source = "registry+https://github.com/rust-lang/crates.io-index" 995 | checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" 996 | 997 | [[package]] 998 | name = "os_pipe" 999 | version = "1.2.1" 1000 | source = "registry+https://github.com/rust-lang/crates.io-index" 1001 | checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" 1002 | dependencies = [ 1003 | "libc", 1004 | "windows-sys 0.59.0", 1005 | ] 1006 | 1007 | [[package]] 1008 | name = "owo-colors" 1009 | version = "4.1.0" 1010 | source = "registry+https://github.com/rust-lang/crates.io-index" 1011 | checksum = "fb37767f6569cd834a413442455e0f066d0d522de8630436e2a1761d9726ba56" 1012 | 1013 | [[package]] 1014 | name = "parking_lot" 1015 | version = "0.12.3" 1016 | source = "registry+https://github.com/rust-lang/crates.io-index" 1017 | checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" 1018 | dependencies = [ 1019 | "lock_api", 1020 | "parking_lot_core", 1021 | ] 1022 | 1023 | [[package]] 1024 | name = "parking_lot_core" 1025 | version = "0.9.10" 1026 | source = "registry+https://github.com/rust-lang/crates.io-index" 1027 | checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 1028 | dependencies = [ 1029 | "cfg-if", 1030 | "libc", 1031 | "redox_syscall", 1032 | "smallvec", 1033 | "windows-targets 0.52.6", 1034 | ] 1035 | 1036 | [[package]] 1037 | name = "paste" 1038 | version = "1.0.15" 1039 | source = "registry+https://github.com/rust-lang/crates.io-index" 1040 | checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" 1041 | 1042 | [[package]] 1043 | name = "prettyplease" 1044 | version = "0.2.29" 1045 | source = "registry+https://github.com/rust-lang/crates.io-index" 1046 | checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" 1047 | dependencies = [ 1048 | "proc-macro2", 1049 | "syn 2.0.98", 1050 | ] 1051 | 1052 | [[package]] 1053 | name = "proc-macro-error" 1054 | version = "1.0.4" 1055 | source = "registry+https://github.com/rust-lang/crates.io-index" 1056 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 1057 | dependencies = [ 1058 | "proc-macro-error-attr", 1059 | "proc-macro2", 1060 | "quote", 1061 | "version_check", 1062 | ] 1063 | 1064 | [[package]] 1065 | name = "proc-macro-error-attr" 1066 | version = "1.0.4" 1067 | source = "registry+https://github.com/rust-lang/crates.io-index" 1068 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 1069 | dependencies = [ 1070 | "proc-macro2", 1071 | "quote", 1072 | "version_check", 1073 | ] 1074 | 1075 | [[package]] 1076 | name = "proc-macro2" 1077 | version = "1.0.93" 1078 | source = "registry+https://github.com/rust-lang/crates.io-index" 1079 | checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" 1080 | dependencies = [ 1081 | "unicode-ident", 1082 | ] 1083 | 1084 | [[package]] 1085 | name = "procfs" 1086 | version = "0.17.0" 1087 | source = "registry+https://github.com/rust-lang/crates.io-index" 1088 | checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" 1089 | dependencies = [ 1090 | "bitflags 2.8.0", 1091 | "chrono", 1092 | "flate2", 1093 | "hex", 1094 | "procfs-core", 1095 | "rustix", 1096 | ] 1097 | 1098 | [[package]] 1099 | name = "procfs-core" 1100 | version = "0.17.0" 1101 | source = "registry+https://github.com/rust-lang/crates.io-index" 1102 | checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" 1103 | dependencies = [ 1104 | "bitflags 2.8.0", 1105 | "chrono", 1106 | "hex", 1107 | ] 1108 | 1109 | [[package]] 1110 | name = "pure-rust-locales" 1111 | version = "0.8.1" 1112 | source = "registry+https://github.com/rust-lang/crates.io-index" 1113 | checksum = "1190fd18ae6ce9e137184f207593877e70f39b015040156b1e05081cdfe3733a" 1114 | 1115 | [[package]] 1116 | name = "pwd" 1117 | version = "1.4.0" 1118 | source = "registry+https://github.com/rust-lang/crates.io-index" 1119 | checksum = "72c71c0c79b9701efe4e1e4b563b2016dd4ee789eb99badcb09d61ac4b92e4a2" 1120 | dependencies = [ 1121 | "libc", 1122 | "thiserror 1.0.69", 1123 | ] 1124 | 1125 | [[package]] 1126 | name = "quote" 1127 | version = "1.0.38" 1128 | source = "registry+https://github.com/rust-lang/crates.io-index" 1129 | checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" 1130 | dependencies = [ 1131 | "proc-macro2", 1132 | ] 1133 | 1134 | [[package]] 1135 | name = "rayon" 1136 | version = "1.10.0" 1137 | source = "registry+https://github.com/rust-lang/crates.io-index" 1138 | checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" 1139 | dependencies = [ 1140 | "either", 1141 | "rayon-core", 1142 | ] 1143 | 1144 | [[package]] 1145 | name = "rayon-core" 1146 | version = "1.12.1" 1147 | source = "registry+https://github.com/rust-lang/crates.io-index" 1148 | checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" 1149 | dependencies = [ 1150 | "crossbeam-deque", 1151 | "crossbeam-utils", 1152 | ] 1153 | 1154 | [[package]] 1155 | name = "recvmsg" 1156 | version = "1.0.0" 1157 | source = "registry+https://github.com/rust-lang/crates.io-index" 1158 | checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" 1159 | 1160 | [[package]] 1161 | name = "redox_syscall" 1162 | version = "0.5.8" 1163 | source = "registry+https://github.com/rust-lang/crates.io-index" 1164 | checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" 1165 | dependencies = [ 1166 | "bitflags 2.8.0", 1167 | ] 1168 | 1169 | [[package]] 1170 | name = "redox_users" 1171 | version = "0.4.6" 1172 | source = "registry+https://github.com/rust-lang/crates.io-index" 1173 | checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" 1174 | dependencies = [ 1175 | "getrandom", 1176 | "libredox", 1177 | "thiserror 1.0.69", 1178 | ] 1179 | 1180 | [[package]] 1181 | name = "ref-cast" 1182 | version = "1.0.23" 1183 | source = "registry+https://github.com/rust-lang/crates.io-index" 1184 | checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" 1185 | dependencies = [ 1186 | "ref-cast-impl", 1187 | ] 1188 | 1189 | [[package]] 1190 | name = "ref-cast-impl" 1191 | version = "1.0.23" 1192 | source = "registry+https://github.com/rust-lang/crates.io-index" 1193 | checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" 1194 | dependencies = [ 1195 | "proc-macro2", 1196 | "quote", 1197 | "syn 2.0.98", 1198 | ] 1199 | 1200 | [[package]] 1201 | name = "regex" 1202 | version = "1.11.1" 1203 | source = "registry+https://github.com/rust-lang/crates.io-index" 1204 | checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" 1205 | dependencies = [ 1206 | "aho-corasick", 1207 | "memchr", 1208 | "regex-automata", 1209 | "regex-syntax", 1210 | ] 1211 | 1212 | [[package]] 1213 | name = "regex-automata" 1214 | version = "0.4.9" 1215 | source = "registry+https://github.com/rust-lang/crates.io-index" 1216 | checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" 1217 | dependencies = [ 1218 | "aho-corasick", 1219 | "memchr", 1220 | "regex-syntax", 1221 | ] 1222 | 1223 | [[package]] 1224 | name = "regex-syntax" 1225 | version = "0.8.5" 1226 | source = "registry+https://github.com/rust-lang/crates.io-index" 1227 | checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" 1228 | 1229 | [[package]] 1230 | name = "rmp" 1231 | version = "0.8.14" 1232 | source = "registry+https://github.com/rust-lang/crates.io-index" 1233 | checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" 1234 | dependencies = [ 1235 | "byteorder", 1236 | "num-traits", 1237 | "paste", 1238 | ] 1239 | 1240 | [[package]] 1241 | name = "rmp-serde" 1242 | version = "1.3.0" 1243 | source = "registry+https://github.com/rust-lang/crates.io-index" 1244 | checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db" 1245 | dependencies = [ 1246 | "byteorder", 1247 | "rmp", 1248 | "serde", 1249 | ] 1250 | 1251 | [[package]] 1252 | name = "rustc-hash" 1253 | version = "1.1.0" 1254 | source = "registry+https://github.com/rust-lang/crates.io-index" 1255 | checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" 1256 | 1257 | [[package]] 1258 | name = "rustc-hash" 1259 | version = "2.1.1" 1260 | source = "registry+https://github.com/rust-lang/crates.io-index" 1261 | checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" 1262 | 1263 | [[package]] 1264 | name = "rustix" 1265 | version = "0.38.44" 1266 | source = "registry+https://github.com/rust-lang/crates.io-index" 1267 | checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" 1268 | dependencies = [ 1269 | "bitflags 2.8.0", 1270 | "errno", 1271 | "libc", 1272 | "linux-raw-sys", 1273 | "windows-sys 0.59.0", 1274 | ] 1275 | 1276 | [[package]] 1277 | name = "rustversion" 1278 | version = "1.0.19" 1279 | source = "registry+https://github.com/rust-lang/crates.io-index" 1280 | checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" 1281 | 1282 | [[package]] 1283 | name = "ryu" 1284 | version = "1.0.19" 1285 | source = "registry+https://github.com/rust-lang/crates.io-index" 1286 | checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" 1287 | 1288 | [[package]] 1289 | name = "scopeguard" 1290 | version = "1.2.0" 1291 | source = "registry+https://github.com/rust-lang/crates.io-index" 1292 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 1293 | 1294 | [[package]] 1295 | name = "semver" 1296 | version = "1.0.25" 1297 | source = "registry+https://github.com/rust-lang/crates.io-index" 1298 | checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" 1299 | 1300 | [[package]] 1301 | name = "serde" 1302 | version = "1.0.217" 1303 | source = "registry+https://github.com/rust-lang/crates.io-index" 1304 | checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" 1305 | dependencies = [ 1306 | "serde_derive", 1307 | ] 1308 | 1309 | [[package]] 1310 | name = "serde_derive" 1311 | version = "1.0.217" 1312 | source = "registry+https://github.com/rust-lang/crates.io-index" 1313 | checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" 1314 | dependencies = [ 1315 | "proc-macro2", 1316 | "quote", 1317 | "syn 2.0.98", 1318 | ] 1319 | 1320 | [[package]] 1321 | name = "serde_json" 1322 | version = "1.0.138" 1323 | source = "registry+https://github.com/rust-lang/crates.io-index" 1324 | checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" 1325 | dependencies = [ 1326 | "itoa", 1327 | "memchr", 1328 | "ryu", 1329 | "serde", 1330 | ] 1331 | 1332 | [[package]] 1333 | name = "shlex" 1334 | version = "1.3.0" 1335 | source = "registry+https://github.com/rust-lang/crates.io-index" 1336 | checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 1337 | 1338 | [[package]] 1339 | name = "signal-hook" 1340 | version = "0.3.17" 1341 | source = "registry+https://github.com/rust-lang/crates.io-index" 1342 | checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" 1343 | dependencies = [ 1344 | "libc", 1345 | "signal-hook-registry", 1346 | ] 1347 | 1348 | [[package]] 1349 | name = "signal-hook-mio" 1350 | version = "0.2.4" 1351 | source = "registry+https://github.com/rust-lang/crates.io-index" 1352 | checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" 1353 | dependencies = [ 1354 | "libc", 1355 | "mio", 1356 | "signal-hook", 1357 | ] 1358 | 1359 | [[package]] 1360 | name = "signal-hook-registry" 1361 | version = "1.4.2" 1362 | source = "registry+https://github.com/rust-lang/crates.io-index" 1363 | checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" 1364 | dependencies = [ 1365 | "libc", 1366 | ] 1367 | 1368 | [[package]] 1369 | name = "smallvec" 1370 | version = "1.13.2" 1371 | source = "registry+https://github.com/rust-lang/crates.io-index" 1372 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" 1373 | 1374 | [[package]] 1375 | name = "strip-ansi-escapes" 1376 | version = "0.2.1" 1377 | source = "registry+https://github.com/rust-lang/crates.io-index" 1378 | checksum = "2a8f8038e7e7969abb3f1b7c2a811225e9296da208539e0f79c5251d6cac0025" 1379 | dependencies = [ 1380 | "vte", 1381 | ] 1382 | 1383 | [[package]] 1384 | name = "supports-color" 1385 | version = "3.0.2" 1386 | source = "registry+https://github.com/rust-lang/crates.io-index" 1387 | checksum = "c64fc7232dd8d2e4ac5ce4ef302b1d81e0b80d055b9d77c7c4f51f6aa4c867d6" 1388 | dependencies = [ 1389 | "is_ci", 1390 | ] 1391 | 1392 | [[package]] 1393 | name = "supports-hyperlinks" 1394 | version = "3.1.0" 1395 | source = "registry+https://github.com/rust-lang/crates.io-index" 1396 | checksum = "804f44ed3c63152de6a9f90acbea1a110441de43006ea51bcce8f436196a288b" 1397 | 1398 | [[package]] 1399 | name = "supports-unicode" 1400 | version = "3.0.0" 1401 | source = "registry+https://github.com/rust-lang/crates.io-index" 1402 | checksum = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2" 1403 | 1404 | [[package]] 1405 | name = "syn" 1406 | version = "1.0.109" 1407 | source = "registry+https://github.com/rust-lang/crates.io-index" 1408 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 1409 | dependencies = [ 1410 | "proc-macro2", 1411 | "quote", 1412 | "unicode-ident", 1413 | ] 1414 | 1415 | [[package]] 1416 | name = "syn" 1417 | version = "2.0.98" 1418 | source = "registry+https://github.com/rust-lang/crates.io-index" 1419 | checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" 1420 | dependencies = [ 1421 | "proc-macro2", 1422 | "quote", 1423 | "unicode-ident", 1424 | ] 1425 | 1426 | [[package]] 1427 | name = "sys-locale" 1428 | version = "0.3.2" 1429 | source = "registry+https://github.com/rust-lang/crates.io-index" 1430 | checksum = "8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4" 1431 | dependencies = [ 1432 | "libc", 1433 | ] 1434 | 1435 | [[package]] 1436 | name = "sysinfo" 1437 | version = "0.33.1" 1438 | source = "registry+https://github.com/rust-lang/crates.io-index" 1439 | checksum = "4fc858248ea01b66f19d8e8a6d55f41deaf91e9d495246fd01368d99935c6c01" 1440 | dependencies = [ 1441 | "core-foundation-sys", 1442 | "libc", 1443 | "memchr", 1444 | "ntapi", 1445 | "rayon", 1446 | "windows 0.57.0", 1447 | ] 1448 | 1449 | [[package]] 1450 | name = "terminal_size" 1451 | version = "0.4.1" 1452 | source = "registry+https://github.com/rust-lang/crates.io-index" 1453 | checksum = "5352447f921fda68cf61b4101566c0bdb5104eff6804d0678e5227580ab6a4e9" 1454 | dependencies = [ 1455 | "rustix", 1456 | "windows-sys 0.59.0", 1457 | ] 1458 | 1459 | [[package]] 1460 | name = "textwrap" 1461 | version = "0.16.1" 1462 | source = "registry+https://github.com/rust-lang/crates.io-index" 1463 | checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" 1464 | dependencies = [ 1465 | "unicode-linebreak", 1466 | "unicode-width", 1467 | ] 1468 | 1469 | [[package]] 1470 | name = "thiserror" 1471 | version = "1.0.69" 1472 | source = "registry+https://github.com/rust-lang/crates.io-index" 1473 | checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 1474 | dependencies = [ 1475 | "thiserror-impl 1.0.69", 1476 | ] 1477 | 1478 | [[package]] 1479 | name = "thiserror" 1480 | version = "2.0.11" 1481 | source = "registry+https://github.com/rust-lang/crates.io-index" 1482 | checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" 1483 | dependencies = [ 1484 | "thiserror-impl 2.0.11", 1485 | ] 1486 | 1487 | [[package]] 1488 | name = "thiserror-impl" 1489 | version = "1.0.69" 1490 | source = "registry+https://github.com/rust-lang/crates.io-index" 1491 | checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 1492 | dependencies = [ 1493 | "proc-macro2", 1494 | "quote", 1495 | "syn 2.0.98", 1496 | ] 1497 | 1498 | [[package]] 1499 | name = "thiserror-impl" 1500 | version = "2.0.11" 1501 | source = "registry+https://github.com/rust-lang/crates.io-index" 1502 | checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" 1503 | dependencies = [ 1504 | "proc-macro2", 1505 | "quote", 1506 | "syn 2.0.98", 1507 | ] 1508 | 1509 | [[package]] 1510 | name = "typeid" 1511 | version = "1.0.2" 1512 | source = "registry+https://github.com/rust-lang/crates.io-index" 1513 | checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" 1514 | 1515 | [[package]] 1516 | name = "typetag" 1517 | version = "0.2.19" 1518 | source = "registry+https://github.com/rust-lang/crates.io-index" 1519 | checksum = "044fc3365ddd307c297fe0fe7b2e70588cdab4d0f62dc52055ca0d11b174cf0e" 1520 | dependencies = [ 1521 | "erased-serde", 1522 | "inventory", 1523 | "once_cell", 1524 | "serde", 1525 | "typetag-impl", 1526 | ] 1527 | 1528 | [[package]] 1529 | name = "typetag-impl" 1530 | version = "0.2.19" 1531 | source = "registry+https://github.com/rust-lang/crates.io-index" 1532 | checksum = "d9d30226ac9cbd2d1ff775f74e8febdab985dab14fb14aa2582c29a92d5555dc" 1533 | dependencies = [ 1534 | "proc-macro2", 1535 | "quote", 1536 | "syn 2.0.98", 1537 | ] 1538 | 1539 | [[package]] 1540 | name = "unicase" 1541 | version = "2.8.1" 1542 | source = "registry+https://github.com/rust-lang/crates.io-index" 1543 | checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" 1544 | 1545 | [[package]] 1546 | name = "unicode-ident" 1547 | version = "1.0.16" 1548 | source = "registry+https://github.com/rust-lang/crates.io-index" 1549 | checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" 1550 | 1551 | [[package]] 1552 | name = "unicode-linebreak" 1553 | version = "0.1.5" 1554 | source = "registry+https://github.com/rust-lang/crates.io-index" 1555 | checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" 1556 | 1557 | [[package]] 1558 | name = "unicode-width" 1559 | version = "0.1.14" 1560 | source = "registry+https://github.com/rust-lang/crates.io-index" 1561 | checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" 1562 | 1563 | [[package]] 1564 | name = "version_check" 1565 | version = "0.9.5" 1566 | source = "registry+https://github.com/rust-lang/crates.io-index" 1567 | checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 1568 | 1569 | [[package]] 1570 | name = "vte" 1571 | version = "0.14.1" 1572 | source = "registry+https://github.com/rust-lang/crates.io-index" 1573 | checksum = "231fdcd7ef3037e8330d8e17e61011a2c244126acc0a982f4040ac3f9f0bc077" 1574 | dependencies = [ 1575 | "memchr", 1576 | ] 1577 | 1578 | [[package]] 1579 | name = "wasi" 1580 | version = "0.11.0+wasi-snapshot-preview1" 1581 | source = "registry+https://github.com/rust-lang/crates.io-index" 1582 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 1583 | 1584 | [[package]] 1585 | name = "wasm-bindgen" 1586 | version = "0.2.100" 1587 | source = "registry+https://github.com/rust-lang/crates.io-index" 1588 | checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" 1589 | dependencies = [ 1590 | "cfg-if", 1591 | "once_cell", 1592 | "rustversion", 1593 | "wasm-bindgen-macro", 1594 | ] 1595 | 1596 | [[package]] 1597 | name = "wasm-bindgen-backend" 1598 | version = "0.2.100" 1599 | source = "registry+https://github.com/rust-lang/crates.io-index" 1600 | checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" 1601 | dependencies = [ 1602 | "bumpalo", 1603 | "log", 1604 | "proc-macro2", 1605 | "quote", 1606 | "syn 2.0.98", 1607 | "wasm-bindgen-shared", 1608 | ] 1609 | 1610 | [[package]] 1611 | name = "wasm-bindgen-macro" 1612 | version = "0.2.100" 1613 | source = "registry+https://github.com/rust-lang/crates.io-index" 1614 | checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" 1615 | dependencies = [ 1616 | "quote", 1617 | "wasm-bindgen-macro-support", 1618 | ] 1619 | 1620 | [[package]] 1621 | name = "wasm-bindgen-macro-support" 1622 | version = "0.2.100" 1623 | source = "registry+https://github.com/rust-lang/crates.io-index" 1624 | checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" 1625 | dependencies = [ 1626 | "proc-macro2", 1627 | "quote", 1628 | "syn 2.0.98", 1629 | "wasm-bindgen-backend", 1630 | "wasm-bindgen-shared", 1631 | ] 1632 | 1633 | [[package]] 1634 | name = "wasm-bindgen-shared" 1635 | version = "0.2.100" 1636 | source = "registry+https://github.com/rust-lang/crates.io-index" 1637 | checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" 1638 | dependencies = [ 1639 | "unicode-ident", 1640 | ] 1641 | 1642 | [[package]] 1643 | name = "web-time" 1644 | version = "1.1.0" 1645 | source = "registry+https://github.com/rust-lang/crates.io-index" 1646 | checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" 1647 | dependencies = [ 1648 | "js-sys", 1649 | "wasm-bindgen", 1650 | ] 1651 | 1652 | [[package]] 1653 | name = "widestring" 1654 | version = "1.1.0" 1655 | source = "registry+https://github.com/rust-lang/crates.io-index" 1656 | checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" 1657 | 1658 | [[package]] 1659 | name = "winapi" 1660 | version = "0.3.9" 1661 | source = "registry+https://github.com/rust-lang/crates.io-index" 1662 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 1663 | dependencies = [ 1664 | "winapi-i686-pc-windows-gnu", 1665 | "winapi-x86_64-pc-windows-gnu", 1666 | ] 1667 | 1668 | [[package]] 1669 | name = "winapi-i686-pc-windows-gnu" 1670 | version = "0.4.0" 1671 | source = "registry+https://github.com/rust-lang/crates.io-index" 1672 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 1673 | 1674 | [[package]] 1675 | name = "winapi-x86_64-pc-windows-gnu" 1676 | version = "0.4.0" 1677 | source = "registry+https://github.com/rust-lang/crates.io-index" 1678 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 1679 | 1680 | [[package]] 1681 | name = "windows" 1682 | version = "0.56.0" 1683 | source = "registry+https://github.com/rust-lang/crates.io-index" 1684 | checksum = "1de69df01bdf1ead2f4ac895dc77c9351aefff65b2f3db429a343f9cbf05e132" 1685 | dependencies = [ 1686 | "windows-core 0.56.0", 1687 | "windows-targets 0.52.6", 1688 | ] 1689 | 1690 | [[package]] 1691 | name = "windows" 1692 | version = "0.57.0" 1693 | source = "registry+https://github.com/rust-lang/crates.io-index" 1694 | checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" 1695 | dependencies = [ 1696 | "windows-core 0.57.0", 1697 | "windows-targets 0.52.6", 1698 | ] 1699 | 1700 | [[package]] 1701 | name = "windows-core" 1702 | version = "0.52.0" 1703 | source = "registry+https://github.com/rust-lang/crates.io-index" 1704 | checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" 1705 | dependencies = [ 1706 | "windows-targets 0.52.6", 1707 | ] 1708 | 1709 | [[package]] 1710 | name = "windows-core" 1711 | version = "0.56.0" 1712 | source = "registry+https://github.com/rust-lang/crates.io-index" 1713 | checksum = "4698e52ed2d08f8658ab0c39512a7c00ee5fe2688c65f8c0a4f06750d729f2a6" 1714 | dependencies = [ 1715 | "windows-implement 0.56.0", 1716 | "windows-interface 0.56.0", 1717 | "windows-result", 1718 | "windows-targets 0.52.6", 1719 | ] 1720 | 1721 | [[package]] 1722 | name = "windows-core" 1723 | version = "0.57.0" 1724 | source = "registry+https://github.com/rust-lang/crates.io-index" 1725 | checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" 1726 | dependencies = [ 1727 | "windows-implement 0.57.0", 1728 | "windows-interface 0.57.0", 1729 | "windows-result", 1730 | "windows-targets 0.52.6", 1731 | ] 1732 | 1733 | [[package]] 1734 | name = "windows-implement" 1735 | version = "0.56.0" 1736 | source = "registry+https://github.com/rust-lang/crates.io-index" 1737 | checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b" 1738 | dependencies = [ 1739 | "proc-macro2", 1740 | "quote", 1741 | "syn 2.0.98", 1742 | ] 1743 | 1744 | [[package]] 1745 | name = "windows-implement" 1746 | version = "0.57.0" 1747 | source = "registry+https://github.com/rust-lang/crates.io-index" 1748 | checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" 1749 | dependencies = [ 1750 | "proc-macro2", 1751 | "quote", 1752 | "syn 2.0.98", 1753 | ] 1754 | 1755 | [[package]] 1756 | name = "windows-interface" 1757 | version = "0.56.0" 1758 | source = "registry+https://github.com/rust-lang/crates.io-index" 1759 | checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc" 1760 | dependencies = [ 1761 | "proc-macro2", 1762 | "quote", 1763 | "syn 2.0.98", 1764 | ] 1765 | 1766 | [[package]] 1767 | name = "windows-interface" 1768 | version = "0.57.0" 1769 | source = "registry+https://github.com/rust-lang/crates.io-index" 1770 | checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" 1771 | dependencies = [ 1772 | "proc-macro2", 1773 | "quote", 1774 | "syn 2.0.98", 1775 | ] 1776 | 1777 | [[package]] 1778 | name = "windows-result" 1779 | version = "0.1.2" 1780 | source = "registry+https://github.com/rust-lang/crates.io-index" 1781 | checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" 1782 | dependencies = [ 1783 | "windows-targets 0.52.6", 1784 | ] 1785 | 1786 | [[package]] 1787 | name = "windows-sys" 1788 | version = "0.48.0" 1789 | source = "registry+https://github.com/rust-lang/crates.io-index" 1790 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 1791 | dependencies = [ 1792 | "windows-targets 0.48.5", 1793 | ] 1794 | 1795 | [[package]] 1796 | name = "windows-sys" 1797 | version = "0.52.0" 1798 | source = "registry+https://github.com/rust-lang/crates.io-index" 1799 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 1800 | dependencies = [ 1801 | "windows-targets 0.52.6", 1802 | ] 1803 | 1804 | [[package]] 1805 | name = "windows-sys" 1806 | version = "0.59.0" 1807 | source = "registry+https://github.com/rust-lang/crates.io-index" 1808 | checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 1809 | dependencies = [ 1810 | "windows-targets 0.52.6", 1811 | ] 1812 | 1813 | [[package]] 1814 | name = "windows-targets" 1815 | version = "0.48.5" 1816 | source = "registry+https://github.com/rust-lang/crates.io-index" 1817 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 1818 | dependencies = [ 1819 | "windows_aarch64_gnullvm 0.48.5", 1820 | "windows_aarch64_msvc 0.48.5", 1821 | "windows_i686_gnu 0.48.5", 1822 | "windows_i686_msvc 0.48.5", 1823 | "windows_x86_64_gnu 0.48.5", 1824 | "windows_x86_64_gnullvm 0.48.5", 1825 | "windows_x86_64_msvc 0.48.5", 1826 | ] 1827 | 1828 | [[package]] 1829 | name = "windows-targets" 1830 | version = "0.52.6" 1831 | source = "registry+https://github.com/rust-lang/crates.io-index" 1832 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 1833 | dependencies = [ 1834 | "windows_aarch64_gnullvm 0.52.6", 1835 | "windows_aarch64_msvc 0.52.6", 1836 | "windows_i686_gnu 0.52.6", 1837 | "windows_i686_gnullvm", 1838 | "windows_i686_msvc 0.52.6", 1839 | "windows_x86_64_gnu 0.52.6", 1840 | "windows_x86_64_gnullvm 0.52.6", 1841 | "windows_x86_64_msvc 0.52.6", 1842 | ] 1843 | 1844 | [[package]] 1845 | name = "windows_aarch64_gnullvm" 1846 | version = "0.48.5" 1847 | source = "registry+https://github.com/rust-lang/crates.io-index" 1848 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 1849 | 1850 | [[package]] 1851 | name = "windows_aarch64_gnullvm" 1852 | version = "0.52.6" 1853 | source = "registry+https://github.com/rust-lang/crates.io-index" 1854 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 1855 | 1856 | [[package]] 1857 | name = "windows_aarch64_msvc" 1858 | version = "0.48.5" 1859 | source = "registry+https://github.com/rust-lang/crates.io-index" 1860 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 1861 | 1862 | [[package]] 1863 | name = "windows_aarch64_msvc" 1864 | version = "0.52.6" 1865 | source = "registry+https://github.com/rust-lang/crates.io-index" 1866 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 1867 | 1868 | [[package]] 1869 | name = "windows_i686_gnu" 1870 | version = "0.48.5" 1871 | source = "registry+https://github.com/rust-lang/crates.io-index" 1872 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 1873 | 1874 | [[package]] 1875 | name = "windows_i686_gnu" 1876 | version = "0.52.6" 1877 | source = "registry+https://github.com/rust-lang/crates.io-index" 1878 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 1879 | 1880 | [[package]] 1881 | name = "windows_i686_gnullvm" 1882 | version = "0.52.6" 1883 | source = "registry+https://github.com/rust-lang/crates.io-index" 1884 | checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 1885 | 1886 | [[package]] 1887 | name = "windows_i686_msvc" 1888 | version = "0.48.5" 1889 | source = "registry+https://github.com/rust-lang/crates.io-index" 1890 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 1891 | 1892 | [[package]] 1893 | name = "windows_i686_msvc" 1894 | version = "0.52.6" 1895 | source = "registry+https://github.com/rust-lang/crates.io-index" 1896 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 1897 | 1898 | [[package]] 1899 | name = "windows_x86_64_gnu" 1900 | version = "0.48.5" 1901 | source = "registry+https://github.com/rust-lang/crates.io-index" 1902 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 1903 | 1904 | [[package]] 1905 | name = "windows_x86_64_gnu" 1906 | version = "0.52.6" 1907 | source = "registry+https://github.com/rust-lang/crates.io-index" 1908 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 1909 | 1910 | [[package]] 1911 | name = "windows_x86_64_gnullvm" 1912 | version = "0.48.5" 1913 | source = "registry+https://github.com/rust-lang/crates.io-index" 1914 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 1915 | 1916 | [[package]] 1917 | name = "windows_x86_64_gnullvm" 1918 | version = "0.52.6" 1919 | source = "registry+https://github.com/rust-lang/crates.io-index" 1920 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 1921 | 1922 | [[package]] 1923 | name = "windows_x86_64_msvc" 1924 | version = "0.48.5" 1925 | source = "registry+https://github.com/rust-lang/crates.io-index" 1926 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 1927 | 1928 | [[package]] 1929 | name = "windows_x86_64_msvc" 1930 | version = "0.52.6" 1931 | source = "registry+https://github.com/rust-lang/crates.io-index" 1932 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 1933 | --------------------------------------------------------------------------------