[INFO] fetching crate openbook_dex 0.5.6... [INFO] checking openbook_dex-0.5.6 against master#84ec2633defc5c459c682ac0c45efb41715249df for pr-114586 [INFO] extracting crate openbook_dex 0.5.6 into /workspace/builds/worker-1-tc1/source [INFO] validating manifest of crates.io crate openbook_dex 0.5.6 on toolchain 84ec2633defc5c459c682ac0c45efb41715249df [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+84ec2633defc5c459c682ac0c45efb41715249df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate openbook_dex 0.5.6 [INFO] finished tweaking crates.io crate openbook_dex 0.5.6 [INFO] tweaked toml for crates.io crate openbook_dex 0.5.6 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+84ec2633defc5c459c682ac0c45efb41715249df" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+84ec2633defc5c459c682ac0c45efb41715249df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded without-alloc v0.2.2 [INFO] [stderr] Downloaded hexdump v0.1.1 [INFO] [stderr] Downloaded unsize v1.1.0 [INFO] [stderr] Downloaded alloc-traits v0.1.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:a794aa5c983fb35e02fc236d807630e6f52e3c0f8e28bd8809f4f37a08590f0c" "/opt/rustwide/cargo-home/bin/cargo" "+84ec2633defc5c459c682ac0c45efb41715249df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0734ef689768112cd65046be1e53d212f70de448691b89b21223eeec0a0bdcc9 [INFO] running `Command { std: "docker" "start" "-a" "0734ef689768112cd65046be1e53d212f70de448691b89b21223eeec0a0bdcc9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0734ef689768112cd65046be1e53d212f70de448691b89b21223eeec0a0bdcc9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0734ef689768112cd65046be1e53d212f70de448691b89b21223eeec0a0bdcc9", kill_on_drop: false }` [INFO] [stdout] 0734ef689768112cd65046be1e53d212f70de448691b89b21223eeec0a0bdcc9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:a794aa5c983fb35e02fc236d807630e6f52e3c0f8e28bd8809f4f37a08590f0c" "/opt/rustwide/cargo-home/bin/cargo" "+84ec2633defc5c459c682ac0c45efb41715249df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7699fc8ee0d3f78f1dd19a13f94a409baa8fddb07f06f17f656d57a2af1492d7 [INFO] running `Command { std: "docker" "start" "-a" "7699fc8ee0d3f78f1dd19a13f94a409baa8fddb07f06f17f656d57a2af1492d7", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling serde v1.0.183 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking subtle v2.5.0 [INFO] [stderr] Compiling libm v0.2.7 [INFO] [stderr] Compiling num-traits v0.2.16 [INFO] [stderr] Compiling syn v2.0.28 [INFO] [stderr] Compiling semver v1.0.18 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling num-bigint v0.4.3 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Checking either v1.9.0 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling typenum v1.16.0 [INFO] [stderr] Compiling ahash v0.8.3 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling jobserver v0.1.26 [INFO] [stderr] Compiling crossbeam-epoch v0.9.15 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling cc v1.0.82 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.87 [INFO] [stderr] Compiling paste v1.0.14 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking crypto-mac v0.8.0 [INFO] [stderr] Compiling libsecp256k1-core v0.2.2 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Checking ark-std v0.4.0 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Compiling rayon-core v1.11.0 [INFO] [stderr] Checking crossbeam-deque v0.8.3 [INFO] [stderr] Checking hashbrown v0.13.2 [INFO] [stderr] Checking crossbeam-channel v0.5.8 [INFO] [stderr] Compiling proc-macro-crate v0.1.5 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Compiling ahash v0.7.6 [INFO] [stderr] Compiling thiserror v1.0.44 [INFO] [stderr] Compiling bumpalo v3.13.0 [INFO] [stderr] Compiling hashbrown v0.14.0 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling feature-probe v0.1.1 [INFO] [stderr] Compiling log v0.4.19 [INFO] [stderr] Compiling bv v0.11.1 [INFO] [stderr] Compiling libsecp256k1-gen-genmult v0.2.1 [INFO] [stderr] Compiling libsecp256k1-gen-ecmult v0.2.1 [INFO] [stderr] Compiling blake3 v1.4.1 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.87 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking hmac v0.8.1 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Compiling indexmap v2.0.0 [INFO] [stderr] Compiling solana-frozen-abi-macro v1.16.7 [INFO] [stderr] Checking bitmaps v2.1.0 [INFO] [stderr] Compiling im v15.1.0 [INFO] [stderr] Compiling rustversion v1.0.14 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling thiserror-impl v1.0.44 [INFO] [stderr] Compiling ark-serialize-derive v0.4.2 [INFO] [stderr] Compiling ark-ff-asm v0.4.2 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling ark-ff-macros v0.4.2 [INFO] [stderr] Compiling toml_datetime v0.6.3 [INFO] [stderr] Checking arrayref v0.3.7 [INFO] [stderr] Compiling winnow v0.5.4 [INFO] [stderr] Checking ark-serialize v0.4.2 [INFO] [stderr] Checking zeroize v1.3.0 [INFO] [stderr] Checking sized-chunks v0.6.5 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.87 [INFO] [stderr] Checking sha2 v0.9.9 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking rayon v1.7.0 [INFO] [stderr] Compiling libsecp256k1 v0.6.0 [INFO] [stderr] Compiling borsh-derive-internal v0.9.3 [INFO] [stderr] Compiling borsh-derive-internal v0.10.3 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.10.3 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.9.3 [INFO] [stderr] Checking rand_xoshiro v0.6.0 [INFO] [stderr] Compiling solana-frozen-abi v1.16.7 [INFO] [stderr] Compiling wasm-bindgen v0.2.87 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Checking constant_time_eq v0.3.0 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling rustix v0.38.7 [INFO] [stderr] Checking serde_json v1.0.104 [INFO] [stderr] Checking ark-ff v0.4.2 [INFO] [stderr] Compiling toml_edit v0.19.14 [INFO] [stderr] Compiling borsh-derive v0.9.3 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.87 [INFO] [stderr] Compiling borsh-derive v0.10.3 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Compiling bytemuck_derive v1.4.1 [INFO] [stderr] Checking hmac-drbg v0.3.0 [INFO] [stderr] Checking sha2 v0.10.7 [INFO] [stderr] Compiling solana-program v1.16.7 [INFO] [stderr] Checking pbkdf2 v0.4.0 [INFO] [stderr] Checking serde_bytes v0.11.12 [INFO] [stderr] Checking memmap2 v0.5.10 [INFO] [stderr] Compiling unsize v1.1.0 [INFO] [stderr] Checking keccak v0.1.4 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Checking base64 v0.12.3 [INFO] [stderr] Compiling bs58 v0.4.0 [INFO] [stderr] Checking linux-raw-sys v0.4.5 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Compiling solana-sdk-macro v1.16.7 [INFO] [stderr] Checking tiny-bip39 v0.8.2 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking borsh v0.10.3 [INFO] [stderr] Checking borsh v0.9.3 [INFO] [stderr] Checking bytemuck v1.13.1 [INFO] [stderr] Checking curve25519-dalek v3.2.1 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Compiling field-offset v0.3.6 [INFO] [stderr] Compiling num_enum_derive v0.5.11 [INFO] [stderr] Checking base64 v0.21.2 [INFO] [stderr] Checking array-bytes v1.4.1 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Checking tempfile v3.7.1 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling enumflags2_derive v0.6.4 [INFO] [stderr] Checking wait-timeout v0.2.0 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking alloc-traits v0.1.1 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking without-alloc v0.2.2 [INFO] [stderr] Checking rusty-fork v0.3.0 [INFO] [stderr] Checking rand_xorshift v0.3.0 [INFO] [stderr] Checking itertools v0.9.0 [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Checking regex-syntax v0.6.29 [INFO] [stderr] Checking unarray v0.1.4 [INFO] [stderr] Checking itertools v0.4.19 [INFO] [stderr] Checking safe-transmute v0.11.2 [INFO] [stderr] Checking ark-poly v0.4.2 [INFO] [stderr] Checking hexdump v0.1.1 [INFO] [stderr] Checking enumflags2 v0.6.4 [INFO] [stderr] Checking num_enum v0.5.11 [INFO] [stderr] Checking ark-ec v0.4.2 [INFO] [stderr] Checking proptest v1.2.0 [INFO] [stderr] Checking ark-bn254 v0.4.0 [INFO] [stderr] Compiling proptest-derive v0.3.0 [INFO] [stderr] Checking spl-token v3.5.0 [INFO] [stderr] Checking openbook_dex v0.5.6 (/opt/rustwide/workdir) [INFO] [stdout] warning: lint `unaligned_references` has been removed: converted into hard error, see issue #82523 for more information [INFO] [stdout] --> src/lib.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | #![deny(unaligned_references)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `unaligned_references` has been removed: converted into hard error, see issue #82523 for more information [INFO] [stdout] --> src/lib.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | #![deny(unaligned_references)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `solana_program::clock::Clock` [INFO] [stdout] --> src/state.rs:3372:13 [INFO] [stdout] | [INFO] [stdout] 3372 | use solana_program::clock::Clock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `solana_program::pubkey::Pubkey::new`: Please use 'Pubkey::from' or 'Pubkey::try_from' instead [INFO] [stdout] --> src/tests.rs:31:24 [INFO] [stdout] | [INFO] [stdout] 31 | bump.alloc(Pubkey::new(transmute_to_bytes(&rand::random::<[u64; 4]>()))) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `solana_program::pubkey::Pubkey::new`: Please use 'Pubkey::from' or 'Pubkey::try_from' instead [INFO] [stdout] --> src/tests.rs:177:30 [INFO] [stdout] | [INFO] [stdout] 177 | let market = Pubkey::new(transmute_to_bytes(&rand::random::<[u64; 4]>())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `solana_program::pubkey::Pubkey::new`: Please use 'Pubkey::from' or 'Pubkey::try_from' instead [INFO] [stdout] --> src/state.rs:580:17 [INFO] [stdout] | [INFO] [stdout] 580 | Pubkey::new(cast_slice(&identity(self.own_address) as &[_])) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `solana_program::pubkey::Pubkey::new`: Please use 'Pubkey::from' or 'Pubkey::try_from' instead [INFO] [stdout] --> src/state.rs:580:17 [INFO] [stdout] | [INFO] [stdout] 580 | Pubkey::new(cast_slice(&identity(self.own_address) as &[_])) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unchecked_rent` [INFO] [stdout] --> src/state.rs:1622:17 [INFO] [stdout] | [INFO] [stdout] 1622 | unchecked_rent, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unchecked_rent` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rent_sysvar_acc` [INFO] [stdout] --> src/state.rs:1857:21 [INFO] [stdout] | [INFO] [stdout] 1857 | ref rent_sysvar_acc, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rent_sysvar_acc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rent_acc` [INFO] [stdout] --> src/state.rs:2441:21 [INFO] [stdout] | [INFO] [stdout] 2441 | ref rent_acc, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rent_acc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/state.rs:2921:13 [INFO] [stdout] | [INFO] [stdout] 2921 | mut open_orders, [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `padding` is never read [INFO] [stdout] --> src/state.rs:210:5 [INFO] [stdout] | [INFO] [stdout] 204 | pub struct MarketStateV2 { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 210 | padding: [u8; 992], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MarketStateV2` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `padding` is never read [INFO] [stdout] --> src/state.rs:941:5 [INFO] [stdout] | [INFO] [stdout] 936 | pub struct Request { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 941 | padding: [u8; 4], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Request` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/state.rs:2921:13 [INFO] [stdout] | [INFO] [stdout] 2921 | mut open_orders, [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `padding` is never read [INFO] [stdout] --> src/state.rs:210:5 [INFO] [stdout] | [INFO] [stdout] 204 | pub struct MarketStateV2 { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 210 | padding: [u8; 992], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MarketStateV2` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `padding` is never read [INFO] [stdout] --> src/state.rs:941:5 [INFO] [stdout] | [INFO] [stdout] 936 | pub struct Request { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 941 | padding: [u8; 4], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Request` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 40.99s [INFO] running `Command { std: "docker" "inspect" "7699fc8ee0d3f78f1dd19a13f94a409baa8fddb07f06f17f656d57a2af1492d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7699fc8ee0d3f78f1dd19a13f94a409baa8fddb07f06f17f656d57a2af1492d7", kill_on_drop: false }` [INFO] [stdout] 7699fc8ee0d3f78f1dd19a13f94a409baa8fddb07f06f17f656d57a2af1492d7