V75YR4XB4TYZTGPOKHO4M2RXISV4HYSVEH7UICEZ2T77UTBK7VDAC DYPVZ7XKRKWI7NYG33PZBPWWXL2LOX3UQE52J3CJQRTAV7WBRNPQC O6YZGEK72ODTQU7JHSMJLXZ2SWMU6TEHEG2FG42QMHX6Z25EJTAAC R2T7RICJTFXDPZAUWVUNGPSZQTRMRZWFIBGONQZRLSLIEVZ3AYTAC 5QDSYIEJCF7PJL3AIDWTG4AW7BM73KCVD6CAEWGZKUONHZ2TUGLAC NBS5RQNTK22TQBTR26VNIBM4SFIXFRHA6ZVBH2PFEDOWAOYD2S5QC EDPSYYMBK7AAKEN7Q5JZV7V3PFGMM777O6T37RJZRYWDENSXZ4JAC KZVN5HJ7ZXM7EKQCD6YP3IZIGLEU3SXFRF6JTPALLYZ7VCMML43AC MNFJIJBGIVL6XGB3TS6DUK6N7BEMDTCDHAMPTT4BXQ4NVBWN2AJAC Ok(())}fn create_account(server: &mut ServerFull, tx: Sender<String>) -> anyhow::Result<()> {if let Some((_, bool, message)) =server.handle_messages_internal("0 david create_account PASSWORD", Some(tx)){assert!(bool);assert_eq!(message, "create_account");Ok(())} else {Err(anyhow::Error::msg("didn't get a response"))}}fn login(server: &mut ServerFull, tx: Sender<String>, password: &str) -> anyhow::Result<()> {if let Some((_, bool, message)) =server.handle_messages_internal(&format!("0 david login {password}"), Some(tx)){assert!(bool);assert_eq!(message, "login");Ok(())} else {Err(anyhow::Error::msg("didn't get a response"))}}#[test]fn admin() -> anyhow::Result<()> {let mut server = ServerFull {..ServerFull::default()};let (tx, rx) = mpsc::channel();create_account(&mut server, tx)?;assert!(server.handle_messages_internal("0 david admin", None).is_none());server.admins.insert("david".to_string());assert!(server.handle_messages_internal("0 david admin", None).is_none());assert_eq!(Ok("= admin".to_string()), rx.recv());Ok(())}#[test]fn admin_tournament() -> anyhow::Result<()> {let mut server = ServerFull {..ServerFull::default()};let (tx, rx) = mpsc::channel();create_account(&mut server, tx)?;assert!(server.handle_messages_internal("0 david admin_tournament", None).is_none());server.admins_tournament.insert("david".to_string());assert!(server.handle_messages_internal("0 david admin_tournament", None).is_none());assert_eq!(Ok("= admin_tournament".to_string()), rx.recv());Ok(())}#[test]fn archived_games() -> anyhow::Result<()> {let mut server = ServerFull {..ServerFull::default()};let (tx, rx) = mpsc::channel();create_account(&mut server, tx)?;assert!(server.handle_messages_internal("0 david archived_games", None).is_none());assert_eq!(Ok("= archived_games".to_string()), rx.recv());assert_eq!(Ok("[]".to_string()), rx.recv());Ok(())}#[test]fn change_password() -> anyhow::Result<()> {let mut server = ServerFull {..ServerFull::default()};let (tx, _rx) = mpsc::channel();create_account(&mut server, tx.clone())?;let option = server.handle_messages_internal("0 david change_password password", None);assert!(option.is_some());if let Some((_, bool, message)) = option {assert!(bool);assert_eq!(message, "change_password");}
#[test]#[allow(clippy::float_cmp)]fn check_update_rd() -> anyhow::Result<()> {let mut server = ServerFull {..ServerFull::default()};let (tx, _rx) = mpsc::channel();create_account(&mut server, tx)?;if let Some(account) = server.accounts.0.get_mut("david") {account.rating.rd = 100.0;}assert!(!server.check_update_rd());server.ran_update_rd.0 = Timestamp::now() - TWO_MONTHS_MICRO_SECONDS.microseconds();assert!(server.check_update_rd());if let Some(account) = server.accounts.0.get_mut("david") {assert_eq!(118.0, account.rating.rd.round_ties_even());}Ok(())}
let now = Timestamp::now().as_second();if now - self.ran_update_rd.0 >= TWO_MONTHS {
let now = Timestamp::now();if now.as_microsecond() - self.ran_update_rd.0.as_microsecond() >= TWO_MONTHS_MICRO_SECONDS{
strings.insert("Login".to_string(), t!("Login").to_string());strings.insert("Create Account".to_string(),t!("Create Account").to_string(),);strings.insert("Reset Password".to_string(),t!("Reset Password").to_string(),);strings.insert("Leave".to_string(), t!("Leave").to_string());strings.insert("Quit".to_string(), t!("Quit").to_string());strings.insert("Dark".to_string(), t!("Dark").to_string());strings.insert("Light".to_string(), t!("Light").to_string());strings.insert("Create Game".to_string(), t!("Create Game").to_string());strings.insert("Users".to_string(), t!("Users").to_string());strings.insert("Account Settings".to_string(),t!("Account Settings").to_string(),);strings.insert("Rules".to_string(), t!("Rules").to_string());strings.insert("Reset Email".to_string(), t!("Reset Email").to_string());strings.insert("Change Password".to_string(),t!("Change Password").to_string(),);strings.insert("Delete Account".to_string(),t!("Delete Account").to_string(),);strings.insert("REALLY DELETE ACCOUNT".to_string(),t!("REALLY DELETE ACCOUNT").to_string(),);strings.insert("New Game".to_string(), t!("New Game").to_string());strings.insert("Accept".to_string(), t!("Accept").to_string());strings.insert("Decline".to_string(), t!("Decline").to_string());strings.insert("Watch".to_string(), t!("Watch").to_string());strings.insert("Join".to_string(), t!("Join").to_string());strings.insert("Resume".to_string(), t!("Resume").to_string());strings.insert("Resign".to_string(), t!("Resign").to_string());strings.insert("Request Draw".to_string(), t!("Request Draw").to_string());strings.insert("Accept Draw".to_string(), t!("Accept Draw").to_string());strings.insert("Review Game".to_string(), t!("Review Game").to_string());strings.insert("Get Archived Games".to_string(),t!("Get Archived Games").to_string(),);strings.insert("Heat Map".to_string(), t!("Heat Map").to_string());strings.insert("Cancel".to_string(), t!("Cancel").to_string());strings.insert("Tournament".to_string(), t!("Tournament").to_string());strings.insert("Join Tournament".to_string(),t!("Join Tournament").to_string(),);strings.insert("Leave Tournament".to_string(),t!("Leave Tournament").to_string(),);strings.insert("Tournaments Described".to_string(),t!("Tournaments Described").to_string(),);strings}
}fn games_filtered(&mut self) {let filtered_games = self.archived_games.iter().filter(|game| {let max_rating = f64::max(game.attacker_rating.rating, game.defender_rating.rating);let min_rating = f64::min(game.attacker_rating.rating, game.defender_rating.rating);min_rating >= self.rating_minimum && max_rating <= self.rating_maximum});if self.my_games_only {self.archived_games_filtered = Some(filtered_games.filter(|game| game.attacker == self.username || game.defender == self.username).cloned().collect(),);} else {self.archived_games_filtered = Some(filtered_games.cloned().collect());}
let request_draw =button(text!("{} (q)", self.strings["Request Draw"])).on_press(Message::PlayDraw);
let resign = button(text!("{} (p)", t!("Resign"))).on_press(Message::PlayResign);let request_draw = button(text!("{} (q)", t!("Request Draw"))).on_press(Message::PlayDraw);
let selected = !self.my_games_only;if selected {self.archived_games_filtered = Some(self.archived_games.iter().filter(|game| game.attacker == self.username || game.defender == self.username).cloned().collect(),);} else {self.archived_games_filtered = None;}self.my_games_only = selected;
self.my_games_only = !self.my_games_only;self.games_filtered();
Message::ServerShutdown => {self.error_persistent.push(t!("The server was shut down.").to_string());
Message::RatingMaximum => {self.rating_max();self.games_filtered();handle_error(self.save_client_ron());}Message::RatingMaximumChanged(rating) => {self.rating_maximum = rating;self.games_filtered();handle_error(self.save_client_ron());}Message::RatingMinimum => {self.rating_min();self.games_filtered();handle_error(self.save_client_ron());
Message::SoundMuted(_muted) => self.sound_muted(),Message::StreamConnected(tx) => self.tx = Some(tx),Message::TcpConnectFailed => {self.error_persistent.push(t!("The TCP connection failed.").to_string());
Message::RatingMinimumChanged(rating) => {self.rating_minimum = rating;self.games_filtered();handle_error(self.save_client_ron());
Message::TabSelected(tab) => self.active_tab = tab,Message::TcpDisconnect => self.connected_tcp = false,Message::TournamentJoin => self.send("join_tournament\n"),Message::TournamentLeave => self.send("leave_tournament\n"),Message::TournamentStart => self.send("tournament_start\n"),
Message::ServerShutdown => {self.error_persistent.push(t!("The server was shut down.").to_string());}Message::SoundMuted(_muted) => self.sound_muted(),Message::StreamConnected(tx) => self.tx = Some(tx),Message::TcpConnectFailed => {self.error_persistent.push(t!("The TCP connection failed.").to_string());}Message::TabSelected(tab) => self.active_tab = tab,Message::TcpDisconnect => self.connected_tcp = false,Message::TournamentJoin => self.send("join_tournament\n"),Message::TournamentLeave => self.send("leave_tournament\n"),Message::TournamentStart => self.send("tournament_start\n"),
buttons_row = buttons_row.push(button(text!("{}{i}", self.strings["Join"])).on_press(Message::GameJoin(id)),);
buttons_row = buttons_row.push(button(text!("{}{i}", t!("Join"))).on_press(Message::GameJoin(id)));
buttons_row = buttons_row.push(button(text!("{}{i}", self.strings["Watch"])).on_press(Message::GameWatch(id)),);
buttons_row = buttons_row.push(button(text!("{}{i}", t!("Watch"))).on_press(Message::GameWatch(id)));
button(text!("{}{}",self.strings["Decline"],i.to_ascii_uppercase())).on_press(Message::GameDecline(id)),
button(text!("{}{}", t!("Decline"), i.to_ascii_uppercase())).on_press(Message::GameDecline(id)),
if new_max_rating > max_rating {max_rating = new_max_rating;}}if max_rating == 0.0 {self.rating_maximum = MAX_RATING;} else {self.rating_maximum = max_rating.round_ties_even() + 1.0;}}fn rating_min(&mut self) {let mut min_rating = MAX_RATING;for game in &self.archived_games {let new_min_rating = f64::min(game.attacker_rating.rating, game.defender_rating.rating);if new_min_rating < min_rating {min_rating = new_min_rating;}}if min_rating == MAX_RATING {self.rating_minimum = 0.0;} else {self.rating_minimum = min_rating.round_ties_even() - 1.0;}}
let mut review_game = button(text!("{} (a)", self.strings["Review Game"]));
let minimum_rating = number_input(&self.rating_minimum,0.0..=self.rating_maximum,Message::RatingMinimumChanged,);let maximum_rating = number_input(&self.rating_maximum,self.rating_minimum..=MAX_RATING,Message::RatingMaximumChanged,);let mut review_game = button(text!("{} (a)", t!("Review Game")));
let website = button(text!("{} (0)", self.strings["Rules"])).on_press(Message::OpenUrl("https://hnefatafl.org/rules.html".to_string()),);
let website = button(text!("{} (0)", t!("Rules"))).on_press(Message::OpenUrl("https://hnefatafl.org/rules.html".to_string(),));
let mut button_1 = button(text!("{} (7)", self.strings["Join Tournament"]));let mut button_2 = button(text!("{} (8)", self.strings["Leave Tournament"]));
let mut button_1 = button(text!("{} (7)", t!("Join Tournament")));let mut button_2 = button(text!("{} (8)", t!("Leave Tournament")));
"dest-filename": ".cargo-checksum.json"},{"type": "archive","archive-type": "tar-gzip","url": "https://static.crates.io/crates/allocator-api2/allocator-api2-0.2.21.crate","sha256": "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923","dest": "cargo/vendor/allocator-api2-0.2.21"},{"type": "inline","contents": "{\"package\": \"683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923\", \"files\": {}}","dest": "cargo/vendor/allocator-api2-0.2.21",
"url": "https://static.crates.io/crates/android-activity/android-activity-0.6.0.crate","sha256": "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046","dest": "cargo/vendor/android-activity-0.6.0"
"url": "https://static.crates.io/crates/android-activity/android-activity-0.6.1.crate","sha256": "0f2a1bb052857d5dd49572219344a7332b31b76405648eabac5bc68978251bcd","dest": "cargo/vendor/android-activity-0.6.1"
"contents": "{\"package\": \"ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046\", \"files\": {}}","dest": "cargo/vendor/android-activity-0.6.0",
"contents": "{\"package\": \"0f2a1bb052857d5dd49572219344a7332b31b76405648eabac5bc68978251bcd\", \"files\": {}}","dest": "cargo/vendor/android-activity-0.6.1",
"dest-filename": ".cargo-checksum.json"},{"type": "archive","archive-type": "tar-gzip","url": "https://static.crates.io/crates/anstream/anstream-0.6.21.crate","sha256": "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a","dest": "cargo/vendor/anstream-0.6.21"},{"type": "inline","contents": "{\"package\": \"43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a\", \"files\": {}}","dest": "cargo/vendor/anstream-0.6.21",
"url": "https://static.crates.io/crates/anstyle-parse/anstyle-parse-0.2.7.crate","sha256": "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2","dest": "cargo/vendor/anstyle-parse-0.2.7"},{"type": "inline","contents": "{\"package\": \"4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2\", \"files\": {}}","dest": "cargo/vendor/anstyle-parse-0.2.7","dest-filename": ".cargo-checksum.json"},{"type": "archive","archive-type": "tar-gzip",
"url": "https://static.crates.io/crates/ar_archive_writer/ar_archive_writer-0.5.1.crate","sha256": "7eb93bbb63b9c227414f6eb3a0adfddca591a8ce1e9b60661bb08969b87e340b","dest": "cargo/vendor/ar_archive_writer-0.5.1"},{"type": "inline","contents": "{\"package\": \"7eb93bbb63b9c227414f6eb3a0adfddca591a8ce1e9b60661bb08969b87e340b\", \"files\": {}}","dest": "cargo/vendor/ar_archive_writer-0.5.1","dest-filename": ".cargo-checksum.json"},{"type": "archive","archive-type": "tar-gzip",
"url": "https://static.crates.io/crates/arc-swap/arc-swap-1.8.2.crate","sha256": "f9f3647c145568cec02c42054e07bdf9a5a698e15b466fb2341bfc393cd24aa5","dest": "cargo/vendor/arc-swap-1.8.2"
"url": "https://static.crates.io/crates/arc-swap/arc-swap-1.9.0.crate","sha256": "a07d1f37ff60921c83bdfc7407723bdefe89b44b98a9b772f225c8f9d67141a6","dest": "cargo/vendor/arc-swap-1.9.0"
"contents": "{\"package\": \"f9f3647c145568cec02c42054e07bdf9a5a698e15b466fb2341bfc393cd24aa5\", \"files\": {}}","dest": "cargo/vendor/arc-swap-1.8.2",
"contents": "{\"package\": \"a07d1f37ff60921c83bdfc7407723bdefe89b44b98a9b772f225c8f9d67141a6\", \"files\": {}}","dest": "cargo/vendor/arc-swap-1.9.0",
"url": "https://static.crates.io/crates/argon2/argon2-0.6.0-rc.7.crate","sha256": "5cc32af0fde8095068147d01a5dfbc0e0b06307924138d992df7c8f18d34c585","dest": "cargo/vendor/argon2-0.6.0-rc.7"
"url": "https://static.crates.io/crates/argon2/argon2-0.6.0-rc.8.crate","sha256": "7af50940b73bf4e16c15c448a2b121c63f2d68e3e54b6a8731673cb4aa0cdff5","dest": "cargo/vendor/argon2-0.6.0-rc.8"
"contents": "{\"package\": \"5cc32af0fde8095068147d01a5dfbc0e0b06307924138d992df7c8f18d34c585\", \"files\": {}}","dest": "cargo/vendor/argon2-0.6.0-rc.7",
"contents": "{\"package\": \"7af50940b73bf4e16c15c448a2b121c63f2d68e3e54b6a8731673cb4aa0cdff5\", \"files\": {}}","dest": "cargo/vendor/argon2-0.6.0-rc.8",
"url": "https://static.crates.io/crates/aws-lc-sys/aws-lc-sys-0.39.0.crate","sha256": "1fa7e52a4c5c547c741610a2c6f123f3881e409b714cd27e6798ef020c514f0a","dest": "cargo/vendor/aws-lc-sys-0.39.0"
"url": "https://static.crates.io/crates/aws-lc-sys/aws-lc-sys-0.39.1.crate","sha256": "83a25cf98105baa966497416dbd42565ce3a8cf8dbfd59803ec9ad46f3126399","dest": "cargo/vendor/aws-lc-sys-0.39.1"
"contents": "{\"package\": \"1fa7e52a4c5c547c741610a2c6f123f3881e409b714cd27e6798ef020c514f0a\", \"files\": {}}","dest": "cargo/vendor/aws-lc-sys-0.39.0",
"contents": "{\"package\": \"83a25cf98105baa966497416dbd42565ce3a8cf8dbfd59803ec9ad46f3126399\", \"files\": {}}","dest": "cargo/vendor/aws-lc-sys-0.39.1",
"url": "https://static.crates.io/crates/cc/cc-1.2.57.crate","sha256": "7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423","dest": "cargo/vendor/cc-1.2.57"
"url": "https://static.crates.io/crates/cc/cc-1.2.58.crate","sha256": "e1e928d4b69e3077709075a938a05ffbedfa53a84c8f766efbf8220bb1ff60e1","dest": "cargo/vendor/cc-1.2.58"
"contents": "{\"package\": \"7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423\", \"files\": {}}","dest": "cargo/vendor/cc-1.2.57",
"contents": "{\"package\": \"e1e928d4b69e3077709075a938a05ffbedfa53a84c8f766efbf8220bb1ff60e1\", \"files\": {}}","dest": "cargo/vendor/cc-1.2.58",
"dest-filename": ".cargo-checksum.json"},{"type": "archive","archive-type": "tar-gzip","url": "https://static.crates.io/crates/chumsky/chumsky-0.9.3.crate","sha256": "8eebd66744a15ded14960ab4ccdbfb51ad3b81f51f3f04a80adac98c985396c9","dest": "cargo/vendor/chumsky-0.9.3"},{"type": "inline","contents": "{\"package\": \"8eebd66744a15ded14960ab4ccdbfb51ad3b81f51f3f04a80adac98c985396c9\", \"files\": {}}","dest": "cargo/vendor/chumsky-0.9.3",
"url": "https://static.crates.io/crates/clap_mangen/clap_mangen-0.2.33.crate","sha256": "7e30ffc187e2e3aeafcd1c6e2aa416e29739454c0ccaa419226d5ecd181f2d78","dest": "cargo/vendor/clap_mangen-0.2.33"
"url": "https://static.crates.io/crates/clap_mangen/clap_mangen-0.3.0.crate","sha256": "d82842b45bf9f6a3be090dd860095ac30728042c08e0d6261ca7259b5d850f07","dest": "cargo/vendor/clap_mangen-0.3.0"
"contents": "{\"package\": \"7e30ffc187e2e3aeafcd1c6e2aa416e29739454c0ccaa419226d5ecd181f2d78\", \"files\": {}}","dest": "cargo/vendor/clap_mangen-0.2.33",
"contents": "{\"package\": \"d82842b45bf9f6a3be090dd860095ac30728042c08e0d6261ca7259b5d850f07\", \"files\": {}}","dest": "cargo/vendor/clap_mangen-0.3.0",
"url": "https://static.crates.io/crates/cmake/cmake-0.1.57.crate","sha256": "75443c44cd6b379beb8c5b45d85d0773baf31cce901fe7bb252f4eff3008ef7d","dest": "cargo/vendor/cmake-0.1.57"
"url": "https://static.crates.io/crates/cmake/cmake-0.1.58.crate","sha256": "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678","dest": "cargo/vendor/cmake-0.1.58"
"contents": "{\"package\": \"75443c44cd6b379beb8c5b45d85d0773baf31cce901fe7bb252f4eff3008ef7d\", \"files\": {}}","dest": "cargo/vendor/cmake-0.1.57",
"contents": "{\"package\": \"c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678\", \"files\": {}}","dest": "cargo/vendor/cmake-0.1.58",
"url": "https://static.crates.io/crates/cpufeatures/cpufeatures-0.2.17.crate","sha256": "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280","dest": "cargo/vendor/cpufeatures-0.2.17"},{"type": "inline","contents": "{\"package\": \"59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280\", \"files\": {}}","dest": "cargo/vendor/cpufeatures-0.2.17","dest-filename": ".cargo-checksum.json"},{"type": "archive","archive-type": "tar-gzip",
"url": "https://static.crates.io/crates/env_filter/env_filter-1.0.0.crate","sha256": "7a1c3cc8e57274ec99de65301228b537f1e4eedc1b8e0f9411c6caac8ae7308f","dest": "cargo/vendor/env_filter-1.0.0"
"url": "https://static.crates.io/crates/env_filter/env_filter-1.0.1.crate","sha256": "32e90c2accc4b07a8456ea0debdc2e7587bdd890680d71173a15d4ae604f6eef","dest": "cargo/vendor/env_filter-1.0.1"
"contents": "{\"package\": \"7a1c3cc8e57274ec99de65301228b537f1e4eedc1b8e0f9411c6caac8ae7308f\", \"files\": {}}","dest": "cargo/vendor/env_filter-1.0.0",
"contents": "{\"package\": \"32e90c2accc4b07a8456ea0debdc2e7587bdd890680d71173a15d4ae604f6eef\", \"files\": {}}","dest": "cargo/vendor/env_filter-1.0.1",
"url": "https://static.crates.io/crates/env_logger/env_logger-0.11.9.crate","sha256": "b2daee4ea451f429a58296525ddf28b45a3b64f1acf6587e2067437bb11e218d","dest": "cargo/vendor/env_logger-0.11.9"
"url": "https://static.crates.io/crates/env_logger/env_logger-0.11.10.crate","sha256": "0621c04f2196ac3f488dd583365b9c09be011a4ab8b9f37248ffcc8f6198b56a","dest": "cargo/vendor/env_logger-0.11.10"
"contents": "{\"package\": \"b2daee4ea451f429a58296525ddf28b45a3b64f1acf6587e2067437bb11e218d\", \"files\": {}}","dest": "cargo/vendor/env_logger-0.11.9",
"contents": "{\"package\": \"0621c04f2196ac3f488dd583365b9c09be011a4ab8b9f37248ffcc8f6198b56a\", \"files\": {}}","dest": "cargo/vendor/env_logger-0.11.10",
"dest-filename": ".cargo-checksum.json"},{"type": "archive","archive-type": "tar-gzip","url": "https://static.crates.io/crates/font-types/font-types-0.11.1.crate","sha256": "73829a7b5c91198af28a99159b7ae4afbb252fb906159ff7f189f3a2ceaa3df2","dest": "cargo/vendor/font-types-0.11.1"},{"type": "inline","contents": "{\"package\": \"73829a7b5c91198af28a99159b7ae4afbb252fb906159ff7f189f3a2ceaa3df2\", \"files\": {}}","dest": "cargo/vendor/font-types-0.11.1",
"dest-filename": ".cargo-checksum.json"},{"type": "archive","archive-type": "tar-gzip","url": "https://static.crates.io/crates/hashbrown/hashbrown-0.14.5.crate","sha256": "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1","dest": "cargo/vendor/hashbrown-0.14.5"},{"type": "inline","contents": "{\"package\": \"e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1\", \"files\": {}}","dest": "cargo/vendor/hashbrown-0.14.5",
"url": "https://static.crates.io/crates/iri-string/iri-string-0.7.10.crate","sha256": "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a","dest": "cargo/vendor/iri-string-0.7.10"
"url": "https://static.crates.io/crates/iri-string/iri-string-0.7.12.crate","sha256": "25e659a4bb38e810ebc252e53b5814ff908a8c58c2a9ce2fae1bbec24cbf4e20","dest": "cargo/vendor/iri-string-0.7.12"
"contents": "{\"package\": \"c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a\", \"files\": {}}","dest": "cargo/vendor/iri-string-0.7.10",
"contents": "{\"package\": \"25e659a4bb38e810ebc252e53b5814ff908a8c58c2a9ce2fae1bbec24cbf4e20\", \"files\": {}}","dest": "cargo/vendor/iri-string-0.7.12",
"url": "https://static.crates.io/crates/jni-sys/jni-sys-0.3.0.crate","sha256": "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130","dest": "cargo/vendor/jni-sys-0.3.0"
"url": "https://static.crates.io/crates/jni-sys/jni-sys-0.3.1.crate","sha256": "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258","dest": "cargo/vendor/jni-sys-0.3.1"
"contents": "{\"package\": \"8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130\", \"files\": {}}","dest": "cargo/vendor/jni-sys-0.3.0",
"contents": "{\"package\": \"41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258\", \"files\": {}}","dest": "cargo/vendor/jni-sys-0.3.1",
"url": "https://static.crates.io/crates/js-sys/js-sys-0.3.91.crate","sha256": "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c","dest": "cargo/vendor/js-sys-0.3.91"
"url": "https://static.crates.io/crates/js-sys/js-sys-0.3.92.crate","sha256": "cc4c90f45aa2e6eacbe8645f77fdea542ac97a494bcd117a67df9ff4d611f995","dest": "cargo/vendor/js-sys-0.3.92"
"contents": "{\"package\": \"b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c\", \"files\": {}}","dest": "cargo/vendor/js-sys-0.3.91",
"contents": "{\"package\": \"cc4c90f45aa2e6eacbe8645f77fdea542ac97a494bcd117a67df9ff4d611f995\", \"files\": {}}","dest": "cargo/vendor/js-sys-0.3.92",
"url": "https://static.crates.io/crates/lettre/lettre-0.11.19.crate","sha256": "9e13e10e8818f8b2a60f52cb127041d388b89f3a96a62be9ceaffa22262fef7f","dest": "cargo/vendor/lettre-0.11.19"
"url": "https://static.crates.io/crates/lettre/lettre-0.11.20.crate","sha256": "471816f3e24b85e820dee02cde962379ea1a669e5242f19c61bcbcffedf4c4fb","dest": "cargo/vendor/lettre-0.11.20"
"contents": "{\"package\": \"9e13e10e8818f8b2a60f52cb127041d388b89f3a96a62be9ceaffa22262fef7f\", \"files\": {}}","dest": "cargo/vendor/lettre-0.11.19",
"contents": "{\"package\": \"471816f3e24b85e820dee02cde962379ea1a669e5242f19c61bcbcffedf4c4fb\", \"files\": {}}","dest": "cargo/vendor/lettre-0.11.20",
"url": "https://static.crates.io/crates/libredox/libredox-0.1.14.crate","sha256": "1744e39d1d6a9948f4f388969627434e31128196de472883b39f148769bfe30a","dest": "cargo/vendor/libredox-0.1.14"
"url": "https://static.crates.io/crates/libredox/libredox-0.1.15.crate","sha256": "7ddbf48fd451246b1f8c2610bd3b4ac0cc6e149d89832867093ab69a17194f08","dest": "cargo/vendor/libredox-0.1.15"
"contents": "{\"package\": \"1744e39d1d6a9948f4f388969627434e31128196de472883b39f148769bfe30a\", \"files\": {}}","dest": "cargo/vendor/libredox-0.1.14",
"contents": "{\"package\": \"7ddbf48fd451246b1f8c2610bd3b4ac0cc6e149d89832867093ab69a17194f08\", \"files\": {}}","dest": "cargo/vendor/libredox-0.1.15",
"url": "https://static.crates.io/crates/mio/mio-1.1.1.crate","sha256": "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc","dest": "cargo/vendor/mio-1.1.1"
"url": "https://static.crates.io/crates/mio/mio-1.2.0.crate","sha256": "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1","dest": "cargo/vendor/mio-1.2.0"
"contents": "{\"package\": \"a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc\", \"files\": {}}","dest": "cargo/vendor/mio-1.1.1",
"contents": "{\"package\": \"50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1\", \"files\": {}}","dest": "cargo/vendor/mio-1.2.0",
"url": "https://static.crates.io/crates/num-format/num-format-0.4.4.crate","sha256": "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3","dest": "cargo/vendor/num-format-0.4.4"},{"type": "inline","contents": "{\"package\": \"a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3\", \"files\": {}}","dest": "cargo/vendor/num-format-0.4.4","dest-filename": ".cargo-checksum.json"},{"type": "archive","archive-type": "tar-gzip",
"url": "https://static.crates.io/crates/object/object-0.37.3.crate","sha256": "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe","dest": "cargo/vendor/object-0.37.3"},{"type": "inline","contents": "{\"package\": \"ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe\", \"files\": {}}","dest": "cargo/vendor/object-0.37.3","dest-filename": ".cargo-checksum.json"},{"type": "archive","archive-type": "tar-gzip",
"url": "https://static.crates.io/crates/ordered-float/ordered-float-5.1.0.crate","sha256": "7f4779c6901a562440c3786d08192c6fbda7c1c2060edd10006b05ee35d10f2d","dest": "cargo/vendor/ordered-float-5.1.0"
"url": "https://static.crates.io/crates/ordered-float/ordered-float-5.3.0.crate","sha256": "b7d950ca161dc355eaf28f82b11345ed76c6e1f6eb1f4f4479e0323b9e2fbd0e","dest": "cargo/vendor/ordered-float-5.3.0"
"contents": "{\"package\": \"7f4779c6901a562440c3786d08192c6fbda7c1c2060edd10006b05ee35d10f2d\", \"files\": {}}","dest": "cargo/vendor/ordered-float-5.1.0",
"contents": "{\"package\": \"b7d950ca161dc355eaf28f82b11345ed76c6e1f6eb1f4f4479e0323b9e2fbd0e\", \"files\": {}}","dest": "cargo/vendor/ordered-float-5.3.0",
"dest-filename": ".cargo-checksum.json"},{"type": "archive","archive-type": "tar-gzip","url": "https://static.crates.io/crates/psm/psm-0.1.30.crate","sha256": "3852766467df634d74f0b2d7819bf8dc483a0eb2e3b0f50f756f9cfe8b0d18d8","dest": "cargo/vendor/psm-0.1.30"},{"type": "inline","contents": "{\"package\": \"3852766467df634d74f0b2d7819bf8dc483a0eb2e3b0f50f756f9cfe8b0d18d8\", \"files\": {}}","dest": "cargo/vendor/psm-0.1.30",
"url": "https://static.crates.io/crates/quoted_printable/quoted_printable-0.5.1.crate","sha256": "640c9bd8497b02465aeef5375144c26062e0dcd5939dfcbb0f5db76cb8c17c73","dest": "cargo/vendor/quoted_printable-0.5.1"
"url": "https://static.crates.io/crates/quoted_printable/quoted_printable-0.5.2.crate","sha256": "478e0585659a122aa407eb7e3c0e1fa51b1d8a870038bd29f0cf4a8551eea972","dest": "cargo/vendor/quoted_printable-0.5.2"
"contents": "{\"package\": \"640c9bd8497b02465aeef5375144c26062e0dcd5939dfcbb0f5db76cb8c17c73\", \"files\": {}}","dest": "cargo/vendor/quoted_printable-0.5.1",
"contents": "{\"package\": \"478e0585659a122aa407eb7e3c0e1fa51b1d8a870038bd29f0cf4a8551eea972\", \"files\": {}}","dest": "cargo/vendor/quoted_printable-0.5.2",
"url": "https://static.crates.io/crates/read-fonts/read-fonts-0.37.0.crate","sha256": "7b634fabf032fab15307ffd272149b622260f55974d9fad689292a5d33df02e5","dest": "cargo/vendor/read-fonts-0.37.0"},{"type": "inline","contents": "{\"package\": \"7b634fabf032fab15307ffd272149b622260f55974d9fad689292a5d33df02e5\", \"files\": {}}","dest": "cargo/vendor/read-fonts-0.37.0","dest-filename": ".cargo-checksum.json"},{"type": "archive","archive-type": "tar-gzip",
"url": "https://static.crates.io/crates/roff/roff-1.1.0.crate","sha256": "dbf2048e0e979efb2ca7b91c4f1a8d77c91853e9b987c94c555668a8994915ad","dest": "cargo/vendor/roff-1.1.0"
"url": "https://static.crates.io/crates/roff/roff-1.1.1.crate","sha256": "323c417e1d9665a65b263ec744ba09030cfb277e9daa0b018a4ab62e57bc8189","dest": "cargo/vendor/roff-1.1.1"
"contents": "{\"package\": \"dbf2048e0e979efb2ca7b91c4f1a8d77c91853e9b987c94c555668a8994915ad\", \"files\": {}}","dest": "cargo/vendor/roff-1.1.0",
"contents": "{\"package\": \"323c417e1d9665a65b263ec744ba09030cfb277e9daa0b018a4ab62e57bc8189\", \"files\": {}}","dest": "cargo/vendor/roff-1.1.1",
"url": "https://static.crates.io/crates/rustc-hash/rustc-hash-2.1.1.crate","sha256": "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d","dest": "cargo/vendor/rustc-hash-2.1.1"
"url": "https://static.crates.io/crates/rustc-hash/rustc-hash-2.1.2.crate","sha256": "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe","dest": "cargo/vendor/rustc-hash-2.1.2"
"contents": "{\"package\": \"357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d\", \"files\": {}}","dest": "cargo/vendor/rustc-hash-2.1.1",
"contents": "{\"package\": \"94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe\", \"files\": {}}","dest": "cargo/vendor/rustc-hash-2.1.2",
"url": "https://static.crates.io/crates/serde_spanned/serde_spanned-1.0.4.crate","sha256": "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776","dest": "cargo/vendor/serde_spanned-1.0.4"
"url": "https://static.crates.io/crates/serde_spanned/serde_spanned-1.1.0.crate","sha256": "876ac351060d4f882bb1032b6369eb0aef79ad9df1ea8bc404874d8cc3d0cd98","dest": "cargo/vendor/serde_spanned-1.1.0"
"contents": "{\"package\": \"f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776\", \"files\": {}}","dest": "cargo/vendor/serde_spanned-1.0.4",
"contents": "{\"package\": \"876ac351060d4f882bb1032b6369eb0aef79ad9df1ea8bc404874d8cc3d0cd98\", \"files\": {}}","dest": "cargo/vendor/serde_spanned-1.1.0",
"url": "https://static.crates.io/crates/simd-adler32/simd-adler32-0.3.8.crate","sha256": "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2","dest": "cargo/vendor/simd-adler32-0.3.8"
"url": "https://static.crates.io/crates/simd-adler32/simd-adler32-0.3.9.crate","sha256": "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214","dest": "cargo/vendor/simd-adler32-0.3.9"
"contents": "{\"package\": \"e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2\", \"files\": {}}","dest": "cargo/vendor/simd-adler32-0.3.8",
"contents": "{\"package\": \"703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214\", \"files\": {}}","dest": "cargo/vendor/simd-adler32-0.3.9",
"url": "https://static.crates.io/crates/skrifa/skrifa-0.40.0.crate","sha256": "7fbdfe3d2475fbd7ddd1f3e5cf8288a30eb3e5f95832829570cd88115a7434ac","dest": "cargo/vendor/skrifa-0.40.0"},{"type": "inline","contents": "{\"package\": \"7fbdfe3d2475fbd7ddd1f3e5cf8288a30eb3e5f95832829570cd88115a7434ac\", \"files\": {}}","dest": "cargo/vendor/skrifa-0.40.0","dest-filename": ".cargo-checksum.json"},{"type": "archive","archive-type": "tar-gzip",
"dest-filename": ".cargo-checksum.json"},{"type": "archive","archive-type": "tar-gzip","url": "https://static.crates.io/crates/stacker/stacker-0.1.23.crate","sha256": "08d74a23609d509411d10e2176dc2a4346e3b4aea2e7b1869f19fdedbc71c013","dest": "cargo/vendor/stacker-0.1.23"},{"type": "inline","contents": "{\"package\": \"08d74a23609d509411d10e2176dc2a4346e3b4aea2e7b1869f19fdedbc71c013\", \"files\": {}}","dest": "cargo/vendor/stacker-0.1.23",
"url": "https://static.crates.io/crates/swash/swash-0.2.6.crate","sha256": "47846491253e976bdd07d0f9cc24b7daf24720d11309302ccbbc6e6b6e53550a","dest": "cargo/vendor/swash-0.2.6"
"url": "https://static.crates.io/crates/swash/swash-0.2.7.crate","sha256": "842f3cd369c2ba38966204f983eaa5e54a8e84a7d7159ed36ade2b6c335aae64","dest": "cargo/vendor/swash-0.2.7"
"contents": "{\"package\": \"47846491253e976bdd07d0f9cc24b7daf24720d11309302ccbbc6e6b6e53550a\", \"files\": {}}","dest": "cargo/vendor/swash-0.2.6",
"contents": "{\"package\": \"842f3cd369c2ba38966204f983eaa5e54a8e84a7d7159ed36ade2b6c335aae64\", \"files\": {}}","dest": "cargo/vendor/swash-0.2.7",
"url": "https://static.crates.io/crates/toml/toml-1.0.7+spec-1.1.0.crate","sha256": "dd28d57d8a6f6e458bc0b8784f8fdcc4b99a437936056fa122cb234f18656a96","dest": "cargo/vendor/toml-1.0.7+spec-1.1.0"
"url": "https://static.crates.io/crates/toml/toml-1.1.0+spec-1.1.0.crate","sha256": "f8195ca05e4eb728f4ba94f3e3291661320af739c4e43779cbdfae82ab239fcc","dest": "cargo/vendor/toml-1.1.0+spec-1.1.0"
"contents": "{\"package\": \"dd28d57d8a6f6e458bc0b8784f8fdcc4b99a437936056fa122cb234f18656a96\", \"files\": {}}","dest": "cargo/vendor/toml-1.0.7+spec-1.1.0",
"contents": "{\"package\": \"f8195ca05e4eb728f4ba94f3e3291661320af739c4e43779cbdfae82ab239fcc\", \"files\": {}}","dest": "cargo/vendor/toml-1.1.0+spec-1.1.0",
"url": "https://static.crates.io/crates/toml_datetime/toml_datetime-1.0.1+spec-1.1.0.crate","sha256": "9b320e741db58cac564e26c607d3cc1fdc4a88fd36c879568c07856ed83ff3e9","dest": "cargo/vendor/toml_datetime-1.0.1+spec-1.1.0"
"url": "https://static.crates.io/crates/toml_datetime/toml_datetime-1.1.0+spec-1.1.0.crate","sha256": "97251a7c317e03ad83774a8752a7e81fb6067740609f75ea2b585b569a59198f","dest": "cargo/vendor/toml_datetime-1.1.0+spec-1.1.0"
"contents": "{\"package\": \"9b320e741db58cac564e26c607d3cc1fdc4a88fd36c879568c07856ed83ff3e9\", \"files\": {}}","dest": "cargo/vendor/toml_datetime-1.0.1+spec-1.1.0",
"contents": "{\"package\": \"97251a7c317e03ad83774a8752a7e81fb6067740609f75ea2b585b569a59198f\", \"files\": {}}","dest": "cargo/vendor/toml_datetime-1.1.0+spec-1.1.0",
"url": "https://static.crates.io/crates/toml_edit/toml_edit-0.25.5+spec-1.1.0.crate","sha256": "8ca1a40644a28bce036923f6a431df0b34236949d111cc07cb6dca830c9ef2e1","dest": "cargo/vendor/toml_edit-0.25.5+spec-1.1.0"
"url": "https://static.crates.io/crates/toml_edit/toml_edit-0.25.8+spec-1.1.0.crate","sha256": "16bff38f1d86c47f9ff0647e6838d7bb362522bdf44006c7068c2b1e606f1f3c","dest": "cargo/vendor/toml_edit-0.25.8+spec-1.1.0"
"contents": "{\"package\": \"8ca1a40644a28bce036923f6a431df0b34236949d111cc07cb6dca830c9ef2e1\", \"files\": {}}","dest": "cargo/vendor/toml_edit-0.25.5+spec-1.1.0",
"contents": "{\"package\": \"16bff38f1d86c47f9ff0647e6838d7bb362522bdf44006c7068c2b1e606f1f3c\", \"files\": {}}","dest": "cargo/vendor/toml_edit-0.25.8+spec-1.1.0",
"url": "https://static.crates.io/crates/toml_parser/toml_parser-1.0.10+spec-1.1.0.crate","sha256": "7df25b4befd31c4816df190124375d5a20c6b6921e2cad937316de3fccd63420","dest": "cargo/vendor/toml_parser-1.0.10+spec-1.1.0"
"url": "https://static.crates.io/crates/toml_parser/toml_parser-1.1.0+spec-1.1.0.crate","sha256": "2334f11ee363607eb04df9b8fc8a13ca1715a72ba8662a26ac285c98aabb4011","dest": "cargo/vendor/toml_parser-1.1.0+spec-1.1.0"
"contents": "{\"package\": \"7df25b4befd31c4816df190124375d5a20c6b6921e2cad937316de3fccd63420\", \"files\": {}}","dest": "cargo/vendor/toml_parser-1.0.10+spec-1.1.0",
"contents": "{\"package\": \"2334f11ee363607eb04df9b8fc8a13ca1715a72ba8662a26ac285c98aabb4011\", \"files\": {}}","dest": "cargo/vendor/toml_parser-1.1.0+spec-1.1.0",
"url": "https://static.crates.io/crates/toml_writer/toml_writer-1.0.7+spec-1.1.0.crate","sha256": "f17aaa1c6e3dc22b1da4b6bba97d066e354c7945cac2f7852d4e4e7ca7a6b56d","dest": "cargo/vendor/toml_writer-1.0.7+spec-1.1.0"
"url": "https://static.crates.io/crates/toml_writer/toml_writer-1.1.0+spec-1.1.0.crate","sha256": "d282ade6016312faf3e41e57ebbba0c073e4056dab1232ab1cb624199648f8ed","dest": "cargo/vendor/toml_writer-1.1.0+spec-1.1.0"
"contents": "{\"package\": \"f17aaa1c6e3dc22b1da4b6bba97d066e354c7945cac2f7852d4e4e7ca7a6b56d\", \"files\": {}}","dest": "cargo/vendor/toml_writer-1.0.7+spec-1.1.0",
"contents": "{\"package\": \"d282ade6016312faf3e41e57ebbba0c073e4056dab1232ab1cb624199648f8ed\", \"files\": {}}","dest": "cargo/vendor/toml_writer-1.1.0+spec-1.1.0",
"url": "https://static.crates.io/crates/unicode-segmentation/unicode-segmentation-1.12.0.crate","sha256": "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493","dest": "cargo/vendor/unicode-segmentation-1.12.0"
"url": "https://static.crates.io/crates/unicode-segmentation/unicode-segmentation-1.13.2.crate","sha256": "9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c","dest": "cargo/vendor/unicode-segmentation-1.13.2"
"contents": "{\"package\": \"f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493\", \"files\": {}}","dest": "cargo/vendor/unicode-segmentation-1.12.0",
"contents": "{\"package\": \"9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c\", \"files\": {}}","dest": "cargo/vendor/unicode-segmentation-1.13.2",
"url": "https://static.crates.io/crates/uuid/uuid-1.22.0.crate","sha256": "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37","dest": "cargo/vendor/uuid-1.22.0"
"url": "https://static.crates.io/crates/uuid/uuid-1.23.0.crate","sha256": "5ac8b6f42ead25368cf5b098aeb3dc8a1a2c05a3eee8a9a1a68c640edbfc79d9","dest": "cargo/vendor/uuid-1.23.0"
"contents": "{\"package\": \"a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37\", \"files\": {}}","dest": "cargo/vendor/uuid-1.22.0",
"contents": "{\"package\": \"5ac8b6f42ead25368cf5b098aeb3dc8a1a2c05a3eee8a9a1a68c640edbfc79d9\", \"files\": {}}","dest": "cargo/vendor/uuid-1.23.0",
"url": "https://static.crates.io/crates/wasm-bindgen/wasm-bindgen-0.2.114.crate","sha256": "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e","dest": "cargo/vendor/wasm-bindgen-0.2.114"
"url": "https://static.crates.io/crates/wasm-bindgen/wasm-bindgen-0.2.115.crate","sha256": "6523d69017b7633e396a89c5efab138161ed5aafcbc8d3e5c5a42ae38f50495a","dest": "cargo/vendor/wasm-bindgen-0.2.115"
"contents": "{\"package\": \"6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e\", \"files\": {}}","dest": "cargo/vendor/wasm-bindgen-0.2.114",
"contents": "{\"package\": \"6523d69017b7633e396a89c5efab138161ed5aafcbc8d3e5c5a42ae38f50495a\", \"files\": {}}","dest": "cargo/vendor/wasm-bindgen-0.2.115",
"url": "https://static.crates.io/crates/wasm-bindgen-futures/wasm-bindgen-futures-0.4.64.crate","sha256": "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8","dest": "cargo/vendor/wasm-bindgen-futures-0.4.64"
"url": "https://static.crates.io/crates/wasm-bindgen-futures/wasm-bindgen-futures-0.4.65.crate","sha256": "2d1faf851e778dfa54db7cd438b70758eba9755cb47403f3496edd7c8fc212f0","dest": "cargo/vendor/wasm-bindgen-futures-0.4.65"
"contents": "{\"package\": \"e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8\", \"files\": {}}","dest": "cargo/vendor/wasm-bindgen-futures-0.4.64",
"contents": "{\"package\": \"2d1faf851e778dfa54db7cd438b70758eba9755cb47403f3496edd7c8fc212f0\", \"files\": {}}","dest": "cargo/vendor/wasm-bindgen-futures-0.4.65",
"url": "https://static.crates.io/crates/wasm-bindgen-macro/wasm-bindgen-macro-0.2.114.crate","sha256": "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6","dest": "cargo/vendor/wasm-bindgen-macro-0.2.114"
"url": "https://static.crates.io/crates/wasm-bindgen-macro/wasm-bindgen-macro-0.2.115.crate","sha256": "4e3a6c758eb2f701ed3d052ff5737f5bfe6614326ea7f3bbac7156192dc32e67","dest": "cargo/vendor/wasm-bindgen-macro-0.2.115"
"contents": "{\"package\": \"18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6\", \"files\": {}}","dest": "cargo/vendor/wasm-bindgen-macro-0.2.114",
"contents": "{\"package\": \"4e3a6c758eb2f701ed3d052ff5737f5bfe6614326ea7f3bbac7156192dc32e67\", \"files\": {}}","dest": "cargo/vendor/wasm-bindgen-macro-0.2.115",
"url": "https://static.crates.io/crates/wasm-bindgen-macro-support/wasm-bindgen-macro-support-0.2.114.crate","sha256": "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3","dest": "cargo/vendor/wasm-bindgen-macro-support-0.2.114"
"url": "https://static.crates.io/crates/wasm-bindgen-macro-support/wasm-bindgen-macro-support-0.2.115.crate","sha256": "921de2737904886b52bcbb237301552d05969a6f9c40d261eb0533c8b055fedf","dest": "cargo/vendor/wasm-bindgen-macro-support-0.2.115"
"contents": "{\"package\": \"03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3\", \"files\": {}}","dest": "cargo/vendor/wasm-bindgen-macro-support-0.2.114",
"contents": "{\"package\": \"921de2737904886b52bcbb237301552d05969a6f9c40d261eb0533c8b055fedf\", \"files\": {}}","dest": "cargo/vendor/wasm-bindgen-macro-support-0.2.115",
"url": "https://static.crates.io/crates/wasm-bindgen-shared/wasm-bindgen-shared-0.2.114.crate","sha256": "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16","dest": "cargo/vendor/wasm-bindgen-shared-0.2.114"
"url": "https://static.crates.io/crates/wasm-bindgen-shared/wasm-bindgen-shared-0.2.115.crate","sha256": "a93e946af942b58934c604527337bad9ae33ba1d5c6900bbb41c2c07c2364a93","dest": "cargo/vendor/wasm-bindgen-shared-0.2.115"
"contents": "{\"package\": \"75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16\", \"files\": {}}","dest": "cargo/vendor/wasm-bindgen-shared-0.2.114",
"contents": "{\"package\": \"a93e946af942b58934c604527337bad9ae33ba1d5c6900bbb41c2c07c2364a93\", \"files\": {}}","dest": "cargo/vendor/wasm-bindgen-shared-0.2.115",
"url": "https://static.crates.io/crates/web-sys/web-sys-0.3.91.crate","sha256": "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9","dest": "cargo/vendor/web-sys-0.3.91"
"url": "https://static.crates.io/crates/web-sys/web-sys-0.3.92.crate","sha256": "84cde8507f4d7cfcb1185b8cb5890c494ffea65edbe1ba82cfd63661c805ed94","dest": "cargo/vendor/web-sys-0.3.92"
"contents": "{\"package\": \"854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9\", \"files\": {}}","dest": "cargo/vendor/web-sys-0.3.91",
"contents": "{\"package\": \"84cde8507f4d7cfcb1185b8cb5890c494ffea65edbe1ba82cfd63661c805ed94\", \"files\": {}}","dest": "cargo/vendor/web-sys-0.3.92",
"url": "https://static.crates.io/crates/zerocopy/zerocopy-0.8.47.crate","sha256": "efbb2a062be311f2ba113ce66f697a4dc589f85e78a4aea276200804cea0ed87","dest": "cargo/vendor/zerocopy-0.8.47"
"url": "https://static.crates.io/crates/zerocopy/zerocopy-0.8.48.crate","sha256": "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9","dest": "cargo/vendor/zerocopy-0.8.48"
"contents": "{\"package\": \"efbb2a062be311f2ba113ce66f697a4dc589f85e78a4aea276200804cea0ed87\", \"files\": {}}","dest": "cargo/vendor/zerocopy-0.8.47",
"contents": "{\"package\": \"eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9\", \"files\": {}}","dest": "cargo/vendor/zerocopy-0.8.48",
"url": "https://static.crates.io/crates/zerocopy-derive/zerocopy-derive-0.8.47.crate","sha256": "0e8bc7269b54418e7aeeef514aa68f8690b8c0489a06b0136e5f57c4c5ccab89","dest": "cargo/vendor/zerocopy-derive-0.8.47"
"url": "https://static.crates.io/crates/zerocopy-derive/zerocopy-derive-0.8.48.crate","sha256": "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4","dest": "cargo/vendor/zerocopy-derive-0.8.48"
"contents": "{\"package\": \"0e8bc7269b54418e7aeeef514aa68f8690b8c0489a06b0136e5f57c4c5ccab89\", \"files\": {}}","dest": "cargo/vendor/zerocopy-derive-0.8.47",
"contents": "{\"package\": \"70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4\", \"files\": {}}","dest": "cargo/vendor/zerocopy-derive-0.8.48",
"url": "https://static.crates.io/crates/zune-jpeg/zune-jpeg-0.5.13.crate","sha256": "ec5f41c76397b7da451efd19915684f727d7e1d516384ca6bd0ec43ec94de23c","dest": "cargo/vendor/zune-jpeg-0.5.13"
"url": "https://static.crates.io/crates/zune-jpeg/zune-jpeg-0.5.15.crate","sha256": "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296","dest": "cargo/vendor/zune-jpeg-0.5.15"
"contents": "{\"package\": \"ec5f41c76397b7da451efd19915684f727d7e1d516384ca6bd0ec43ec94de23c\", \"files\": {}}","dest": "cargo/vendor/zune-jpeg-0.5.13",
"contents": "{\"package\": \"27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296\", \"files\": {}}","dest": "cargo/vendor/zune-jpeg-0.5.15",
["Maximum Rating"]ar = "الحد الأقصى للتقييم"de = "Maximale Bewertung"en-US = "Maximum Rating"es = "Calificación máxima"fr = "Note maximale"id = "Peringkat Maksimum"is-IS = "Hámarkseinkunn"is-RU = "ᚼᚨᛘᛆᚱᚴᛋᛂᛁᚿᚴᚢᚿᚿ"ja = "最大定格"ko = "최대 정격"pt-BR = "Classificação Máxima"pt-PT = "Classificação Máxima"ru = "Максимальный рейтинг"sv-SE = "Maximalt betyg"zh-CN = "最大额定值"
["Minimum Rating"]ar = "الحد الأدنى للتقييم"de = "Mindestbewertung"en-US = "Minimum Rating"es = "Calificación mínima"fr = "Note minimale"id = "Peringkat Minimum"is-IS = "Lágmarkseinkunn"is-RU = "ᛚᚨᚵᛘᛆᚱᚴᛋᛂᛁᚿᚴᚢᚿᚿ"ja = "最低評価"ko = "최소 평점"pt-BR = "Avaliação Mínima"pt-PT = "Avaliação Mínima"ru = "Минимальный рейтинг"sv-SE = "Minsta betyg"zh-CN = "最低评分"
iced_aw = { version = "0.13", default-features = false, features = ["date_picker", "labeled_frame", "tabs"], optional = true }
iced_aw = { version = "0.13", default-features = false, features = ["date_picker", "labeled_frame", "number_input", "tabs"], optional = true }
"font-types",
"font-types 0.10.1",][[package]]name = "read-fonts"version = "0.37.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "7b634fabf032fab15307ffd272149b622260f55974d9fad689292a5d33df02e5"dependencies = ["bytemuck","font-types 0.11.1",
"read-fonts",
"read-fonts 0.35.0",][[package]]name = "skrifa"version = "0.40.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "7fbdfe3d2475fbd7ddd1f3e5cf8288a30eb3e5f95832829570cd88115a7434ac"dependencies = ["bytemuck","read-fonts 0.37.0",