From 8dca0dc51fb94d20bc0fe1cfce3528fcf4060391 Mon Sep 17 00:00:00 2001 From: Alex Stokes Date: Wed, 7 Jun 2023 12:10:00 -0600 Subject: [PATCH] generate tests --- ssz-rs/tests/basic_vector.rs | 64581 ++++++++++------ ssz-rs/tests/bitlist.rs | 3930 +- ssz-rs/tests/bitvector.rs | 1091 +- ssz-rs/tests/boolean.rs | 75 +- ssz-rs/tests/containers.rs | 36803 ++++----- .../serialized.ssz_snappy | Bin 16 -> 16 bytes .../serialized.ssz_snappy | Bin 0 -> 17 bytes .../serialized.ssz_snappy | Bin 0 -> 17 bytes .../serialized.ssz_snappy | Bin 0 -> 17 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 16 bytes .../serialized.ssz_snappy | Bin 0 -> 16 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 16 bytes .../serialized.ssz_snappy | Bin 0 -> 16 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 16 bytes .../serialized.ssz_snappy | Bin 0 -> 16 bytes .../serialized.ssz_snappy | Bin 0 -> 16 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 16 bytes .../serialized.ssz_snappy | Bin 0 -> 16 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 16 bytes .../serialized.ssz_snappy | Bin 0 -> 16 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 0 -> 15 bytes .../serialized.ssz_snappy | Bin 6762 -> 6762 bytes .../serialized.ssz_snappy | Bin 0 -> 6763 bytes .../serialized.ssz_snappy | Bin 0 -> 6763 bytes .../serialized.ssz_snappy | Bin 0 -> 6763 bytes .../serialized.ssz_snappy | Bin 0 -> 6761 bytes .../serialized.ssz_snappy | Bin 0 -> 6759 bytes .../serialized.ssz_snappy | Bin 0 -> 6761 bytes .../serialized.ssz_snappy | Bin 0 -> 6761 bytes .../serialized.ssz_snappy | Bin 0 -> 6761 bytes .../serialized.ssz_snappy | Bin 0 -> 6761 bytes .../serialized.ssz_snappy | Bin 0 -> 6761 bytes .../serialized.ssz_snappy | Bin 0 -> 102 bytes .../serialized.ssz_snappy | Bin 0 -> 100 bytes .../serialized.ssz_snappy | Bin 0 -> 102 bytes .../serialized.ssz_snappy | Bin 0 -> 102 bytes .../serialized.ssz_snappy | Bin 0 -> 102 bytes .../serialized.ssz_snappy | Bin 0 -> 102 bytes .../serialized.ssz_snappy | Bin 0 -> 102 bytes .../serialized.ssz_snappy | Bin 0 -> 113 bytes .../serialized.ssz_snappy | Bin 0 -> 113 bytes .../serialized.ssz_snappy | Bin 0 -> 113 bytes .../serialized.ssz_snappy | Bin 0 -> 112 bytes .../serialized.ssz_snappy | Bin 0 -> 109 bytes .../serialized.ssz_snappy | Bin 0 -> 112 bytes .../serialized.ssz_snappy | Bin 0 -> 112 bytes .../serialized.ssz_snappy | Bin 0 -> 112 bytes .../serialized.ssz_snappy | Bin 0 -> 111 bytes .../serialized.ssz_snappy | Bin 0 -> 112 bytes .../serialized.ssz_snappy | Bin 0 -> 5541 bytes .../serialized.ssz_snappy | Bin 0 -> 3780 bytes .../serialized.ssz_snappy | Bin 0 -> 2254 bytes .../serialized.ssz_snappy | Bin 0 -> 3878 bytes .../serialized.ssz_snappy | Bin 0 -> 4209 bytes .../serialized.ssz_snappy | Bin 0 -> 3569 bytes .../serialized.ssz_snappy | Bin 0 -> 2549 bytes .../serialized.ssz_snappy | Bin 0 -> 2062 bytes .../serialized.ssz_snappy | Bin 0 -> 2060 bytes .../serialized.ssz_snappy | Bin 0 -> 2060 bytes .../serialized.ssz_snappy | Bin 0 -> 2060 bytes .../serialized.ssz_snappy | Bin 0 -> 9 bytes .../serialized.ssz_snappy | Bin 0 -> 9 bytes .../serialized.ssz_snappy | Bin 0 -> 9 bytes .../serialized.ssz_snappy | Bin 0 -> 12 bytes .../serialized.ssz_snappy | Bin 0 -> 11 bytes .../serialized.ssz_snappy | Bin 0 -> 11 bytes .../serialized.ssz_snappy | Bin 0 -> 11 bytes .../serialized.ssz_snappy | Bin 0 -> 1712 bytes .../serialized.ssz_snappy | Bin 0 -> 466 bytes .../serialized.ssz_snappy | Bin 0 -> 646 bytes ssz-rs/tests/uints.rs | 1449 +- 90 files changed, 60099 insertions(+), 47830 deletions(-) create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_last_offset_0_overflow/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_last_offset_10_overflow/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_last_offset_6_overflow/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_0_minus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_0_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_0_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_10_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_10_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_6_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_6_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_0_minus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_0_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_0_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_10_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_10_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_6_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_6_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_one_last_offset_0_wrong_byte_length/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_one_last_offset_10_wrong_byte_length/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_one_last_offset_6_wrong_byte_length/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_0_minus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_0_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_0_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_10_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_10_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_6_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_6_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_0_minus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_0_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_0_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_10_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_10_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_6_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_6_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_last_offset_11_overflow/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_last_offset_2_overflow/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_last_offset_7_overflow/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_11_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_11_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_2_minus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_2_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_2_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_7_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_7_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_11_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_11_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_2_minus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_2_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_2_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_7_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_7_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_last_offset_11_wrong_byte_length/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_last_offset_2_wrong_byte_length/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_last_offset_7_wrong_byte_length/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_11_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_11_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_2_minus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_2_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_2_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_7_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_7_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_11_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_11_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_2_minus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_2_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_2_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_7_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_7_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/VarTestStruct_lengthy_last_offset_2_overflow/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/VarTestStruct_lengthy_offset_2_minus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/VarTestStruct_lengthy_offset_2_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/VarTestStruct_lengthy_offset_2_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/VarTestStruct_nil_offset_2_minus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/VarTestStruct_nil_offset_2_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/VarTestStruct_nil_offset_2_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/VarTestStruct_one_last_offset_2_wrong_byte_length/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/VarTestStruct_one_offset_2_minus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/VarTestStruct_one_offset_2_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/VarTestStruct_one_offset_2_zeroed/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/VarTestStruct_random_offset_2_minus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/VarTestStruct_random_offset_2_plus_one/serialized.ssz_snappy create mode 100644 ssz-rs/tests/data/containers/invalid/VarTestStruct_random_offset_2_zeroed/serialized.ssz_snappy diff --git a/ssz-rs/tests/basic_vector.rs b/ssz-rs/tests/basic_vector.rs index b0410fa4..9edb0a6d 100644 --- a/ssz-rs/tests/basic_vector.rs +++ b/ssz-rs/tests/basic_vector.rs @@ -1,3 +1,4 @@ +//! This file was generated by `ssz-rs-test-gen`; do NOT manually edit. mod test_utils; use ssz_rs::prelude::*; @@ -6,28125 +7,39832 @@ use test_utils::{ }; #[test] -fn test_basic_vector_vec_uint256_16_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), +#[should_panic] +fn test_basic_vector_vec_bool_0() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_0/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_16_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, ])) .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_16_max/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/valid/vec_bool_16_max/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Vector = deserialize(&expected_encoding); + let recovered_value: Vector = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("006eed26f731a68917853879507d9fa9f4044f7af999f9df535fac29715db555"); + root_from_hex("0x0101010101010101010101010101010100000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_basic_vector_vec_uint64_5_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 5828194763697002133, - 3153164540286514337, - 17780602567657386724, - 14508245260957717736, - 17433120455160158885, +#[should_panic] +fn test_basic_vector_vec_bool_16_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_max_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_16_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_max_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_16_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_16_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_16_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_16_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, ])) .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_5_random/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/valid/vec_bool_16_zero/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Vector = deserialize(&expected_encoding); + let recovered_value: Vector = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("11f1f940a8342239bd6a9f7eb4f08eff81e1d4467df7399a6d8729c59aabb984"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_basic_vector_vec_uint256_512_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_512_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_513_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_513_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("d88ddfeed400a8755596b21942c1497e114c302e6118290f91e6772976041fa1"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_4_zero() { - let mut value = - Vector::::try_from(Vec::::from_iter([false, false, false, false])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_4_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_5_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_5_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_1_random() { - let mut value = Vector::::try_from(Vec::::from_iter([225])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_1_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("e100000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_513_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 1506286316, 3340455671, 2249197219, 1137228810, 3708188369, 1032790960, 2037375995, - 2165993127, 4279139643, 2878934835, 2234060784, 3341241397, 2832291162, 1862974295, - 2889755957, 716023347, 1781425995, 2766618165, 430694095, 1734393401, 3038286926, - 3255298884, 582239825, 4282855218, 4037619729, 4120262294, 3201356237, 2129479017, - 2298271168, 653701574, 4073339317, 753403713, 666458174, 601739694, 991606557, 498411397, - 913566211, 2843839713, 1248176716, 3173178403, 543145845, 1325723472, 1189806715, - 2611216111, 2540953507, 1759274002, 4096358814, 450494791, 2381579651, 665652591, - 1557892724, 4168366933, 2466073243, 3798260386, 1561520741, 3664263969, 1638137859, - 2167415852, 385021871, 1910306539, 1268079858, 438813197, 3745724194, 4085199927, - 2952778760, 2474423108, 3642524002, 1873853403, 4121767960, 480950318, 1831383191, - 66237295, 2959509997, 3246280272, 1333288321, 1206621475, 3346990117, 2638657967, - 2024365252, 840741523, 3914944712, 205708374, 1450434398, 2445220963, 3831582069, - 3465469049, 1018383524, 1117522544, 723038903, 1620185571, 1064668939, 576109385, - 2828800672, 2252340617, 2748600585, 3985166077, 2112758930, 2520322950, 1921186383, - 2034758722, 1857181222, 465190395, 3176726281, 3540283126, 1769857205, 358472846, - 518077754, 565062142, 2382811964, 1649966621, 2267265845, 3818128603, 2294250758, - 3613687380, 2592975730, 3287202364, 931524721, 3095974833, 1957121000, 2137051497, - 2686354159, 858594131, 2718934110, 971575805, 1367980273, 3276477567, 939318706, - 1423831258, 3750632431, 4103488232, 2463611651, 1774045082, 1068942028, 3900895791, - 3357521548, 1997636802, 1408745787, 1198080120, 4195633777, 3307995274, 802811736, - 29479226, 1742888435, 551237958, 1168518096, 3386124569, 3128826162, 2977548974, - 1588907015, 707192585, 2733838829, 1414430182, 2535485231, 2196633121, 2463541328, - 812262923, 484565396, 1622322609, 3101255187, 3134374185, 16503051, 285493324, 432140521, - 1355563783, 38249683, 4178611981, 1484297329, 3718934377, 4150643229, 3403499489, - 731879685, 3517169620, 2854266221, 3506230662, 1930958121, 4123949451, 900225876, - 3091874489, 2698105599, 2508004367, 2238398363, 1427390625, 2903189632, 3000028363, - 571012530, 63175638, 59853690, 1713147023, 3146249007, 3526181153, 1372883894, 1504561928, - 2457118510, 1626985271, 987978391, 143836281, 3789995858, 3252070375, 4132634261, - 3221782718, 349567165, 3416784449, 1727443970, 2430130758, 3594949372, 972991002, - 3092618197, 1901637435, 3667090212, 114128050, 804086554, 1093298018, 3933497340, - 3389536209, 1367076373, 1495662617, 3033503538, 598961572, 2925618706, 3016222921, - 3591371655, 3748132815, 2009211793, 3668211961, 4147806015, 1388741344, 1490496015, - 3683837807, 2901683192, 1810619706, 1495518881, 2776414283, 4109520767, 2840215364, - 2518978058, 3160417324, 3775105752, 489152240, 1978176050, 1198088809, 3537016245, - 3876031109, 4040591353, 2864117648, 154646669, 1034221632, 3322212787, 3952301773, - 3710723473, 2891835090, 419231810, 2089280376, 1985119198, 1402546590, 2728523506, - 418516640, 4173335852, 1997416910, 1711781512, 3229441913, 458702555, 3437685422, - 2012224269, 8576837, 1289578171, 46388586, 953564783, 4227283809, 1039808904, 73072792, - 1074493689, 1364122679, 2145323461, 930933353, 2409668532, 1634491673, 707031241, - 3155394720, 1303817262, 3555872033, 3128202286, 568159496, 552258584, 3973549089, - 1060464717, 3140249670, 2430674601, 3363698437, 1577485436, 2983698493, 1858777960, - 3960906150, 519861347, 1767214457, 3384748076, 4009704865, 3607502512, 2288460027, - 949763013, 4048574249, 135230061, 800488137, 4033357964, 2227166319, 3424631590, - 3425238545, 1702015330, 3447556229, 2170689549, 497644257, 4185223235, 2839954560, - 1342812737, 1486113821, 231486973, 2681013696, 1838238458, 1071749240, 889525611, - 2099459701, 2183271852, 3621795461, 651464427, 1165461003, 2584995600, 4236741445, - 3566914702, 617066705, 306945100, 221558467, 205877939, 498620318, 1220636744, 2084900749, - 3341960165, 2017827827, 3139327527, 2593883084, 552652114, 2177915392, 3598924413, - 4005395602, 3396456091, 2549752221, 827357923, 2383403384, 1355306673, 2066102692, - 2454374990, 2185051248, 330410530, 944069661, 1799157665, 1378364549, 1167099369, - 1240179795, 1716793447, 1845918660, 1653459010, 737301750, 171556112, 1142613921, - 4002411749, 2710100149, 3293072449, 3355947151, 3318954054, 3909933896, 2318026715, - 3098628905, 82164764, 2112510872, 1622160195, 3601322957, 1309662235, 116350522, - 2944765264, 1798670043, 1355087853, 2114961922, 1475273625, 3747013596, 1153638626, - 947205157, 2674464284, 1524507392, 4285752117, 2201619328, 2352035814, 3287902853, - 651378914, 3181046705, 2660894372, 3541173450, 1581635980, 885116129, 165540048, - 1738547452, 2375458597, 216095626, 1686223374, 3466801601, 3536178351, 142933408, - 3134380789, 2700580797, 3580743180, 182034499, 2993168171, 3520956124, 3187702160, - 2099180929, 4277314162, 43671642, 1972002241, 2530400265, 2989038791, 4033451152, - 3166020882, 2830883087, 1848825694, 408689932, 3384769654, 781083988, 636248491, - 1967482400, 1172573031, 1439895523, 2488044060, 4065107509, 3715028207, 2812954358, - 4108359554, 3591793532, 1068128478, 1605736168, 2062217997, 2722331125, 2614301416, - 2516767397, 907111898, 1792625177, 3141205496, 4178269297, 3115197996, 2338391639, - 2451731357, 2634998417, 3648889870, 3373935617, 1145153742, 734057970, 937333535, - 3268493535, 2027372762, 1877116097, 1019941937, 1013534127, 2588864974, 4206609071, - 3484011851, 386496563, 2259806811, 2081546382, 1177459515, 1173797248, 2823727885, - 3065122614, 1446822518, 4081343003, 3981935143, 2258722366, 3182066297, 1990687767, - 2347506465, 1072240320, 2050296960, 1956416018, 2005655829, 100462876, 51128402, 732387540, - 123604188, 431055316, 1312308164, 1317552596, 735778923, 938916610, 459366303, 4104152733, - 2726288486, 2401227334, 2713354785, 2556762219, 1826807441, 1522326161, 3897258428, - 3478082366, 451761890, 1225089752, 1262376617, 3824933588, 2227252992, 4015579077, - 320045527, 579310834, 1762256425, 3585893227, 2476950437, 1559797180, 1197444470, - 3233215794, 682626811, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_513_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("73d6601e80c118fe2d467dcc72a40e9a121608b87b5d1333a6a95fcbc93af038"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_4_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 2599571881, 2754953818, 2448479820, 3973051506, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_4_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("a951f29a5a4235a44cd6f09172f4cfec00000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_31_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_31_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0101010101010101010101010101010101010101010101010101010101010100"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_5_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_5_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_2_random() { - let mut value = Vector::::try_from(Vec::::from_iter([12188, 36886])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_2_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("9c2f169000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_8_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - false, false, false, false, false, false, false, false, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_8_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_16_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_16_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("be1b7015ed50d7490a51f1b11dff804a4440775cc808b9cfd26157805c1f8e86"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_8_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 2255247108, 883929842, 2722841916, 3289001244, 3428769191, 4039771928, 1073577161, - 1629830620, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_8_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("04576c86f2b2af343c454ba21c2d0ac4a7dd5ecc1807caf0c97cfd3fdc3d2561"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_31_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_31_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("6323465d736a7126b4e2a25da8d76670d49d6bb0cdf9ffc77d0b007a9e86d77c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_31_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 193, 221, 0, 27, 7, 14, 132, 79, 246, 169, 102, 206, 52, 7, 70, 134, 104, 201, 85, 248, - 190, 117, 18, 78, 173, 106, 20, 121, 246, 174, 52, 111, - ]), - U256::from_bytes_le([ - 77, 163, 1, 33, 241, 64, 145, 38, 118, 203, 187, 74, 226, 61, 193, 122, 84, 213, 199, - 190, 152, 30, 25, 148, 113, 35, 91, 41, 95, 81, 65, 193, - ]), - U256::from_bytes_le([ - 62, 63, 30, 44, 176, 253, 109, 5, 94, 138, 230, 183, 64, 142, 121, 138, 118, 55, 68, - 199, 73, 150, 26, 179, 202, 238, 228, 119, 182, 66, 142, 181, - ]), - U256::from_bytes_le([ - 126, 5, 183, 228, 32, 15, 73, 40, 131, 27, 123, 43, 103, 141, 219, 98, 62, 205, 85, 38, - 104, 240, 98, 11, 232, 253, 65, 78, 73, 138, 72, 25, - ]), - U256::from_bytes_le([ - 109, 90, 131, 232, 44, 29, 218, 226, 157, 93, 247, 239, 96, 164, 131, 142, 114, 175, - 234, 237, 206, 45, 213, 110, 90, 157, 89, 110, 8, 61, 153, 232, - ]), - U256::from_bytes_le([ - 20, 86, 100, 251, 170, 152, 231, 58, 130, 224, 226, 238, 69, 37, 195, 44, 207, 126, 51, - 118, 72, 155, 72, 1, 65, 166, 34, 12, 43, 0, 87, 113, - ]), - U256::from_bytes_le([ - 161, 42, 241, 82, 66, 189, 83, 79, 78, 234, 170, 149, 181, 121, 234, 196, 29, 248, 148, - 222, 212, 164, 209, 130, 250, 177, 19, 182, 234, 132, 47, 194, - ]), - U256::from_bytes_le([ - 202, 42, 41, 233, 119, 86, 102, 102, 21, 21, 180, 115, 212, 144, 13, 94, 126, 141, 53, - 132, 26, 127, 107, 83, 224, 31, 169, 25, 197, 243, 128, 37, - ]), - U256::from_bytes_le([ - 219, 143, 23, 64, 86, 102, 131, 106, 133, 54, 96, 39, 17, 34, 130, 187, 59, 110, 101, - 241, 235, 57, 135, 43, 172, 96, 98, 86, 204, 140, 216, 49, - ]), - U256::from_bytes_le([ - 149, 148, 138, 79, 51, 240, 14, 235, 219, 120, 11, 3, 229, 125, 62, 49, 130, 55, 61, - 61, 214, 114, 185, 228, 11, 104, 125, 90, 160, 205, 85, 15, - ]), - U256::from_bytes_le([ - 3, 163, 91, 202, 215, 130, 178, 128, 87, 21, 242, 136, 83, 227, 10, 12, 138, 164, 203, - 43, 131, 20, 219, 62, 142, 20, 96, 107, 241, 115, 238, 107, - ]), - U256::from_bytes_le([ - 53, 174, 177, 239, 64, 162, 213, 178, 223, 90, 208, 212, 87, 27, 145, 72, 82, 143, 158, - 106, 255, 72, 57, 101, 106, 123, 125, 133, 237, 247, 91, 96, - ]), - U256::from_bytes_le([ - 186, 105, 38, 141, 57, 120, 240, 7, 49, 159, 250, 166, 5, 95, 67, 237, 120, 160, 85, - 239, 237, 243, 219, 91, 99, 173, 147, 44, 119, 182, 115, 70, - ]), - U256::from_bytes_le([ - 153, 206, 8, 153, 108, 157, 130, 58, 46, 220, 171, 135, 10, 157, 243, 130, 18, 215, - 226, 154, 53, 65, 183, 35, 115, 18, 196, 219, 93, 0, 72, 66, - ]), - U256::from_bytes_le([ - 43, 199, 155, 15, 79, 246, 48, 49, 5, 247, 16, 136, 127, 170, 54, 129, 144, 125, 61, - 98, 93, 239, 189, 0, 82, 65, 114, 30, 158, 68, 182, 40, - ]), - U256::from_bytes_le([ - 60, 244, 129, 113, 176, 159, 9, 207, 54, 202, 45, 173, 210, 82, 121, 67, 223, 78, 35, - 158, 158, 120, 165, 97, 17, 172, 60, 239, 86, 143, 204, 91, - ]), - U256::from_bytes_le([ - 86, 229, 158, 131, 226, 117, 240, 50, 5, 92, 109, 24, 69, 82, 68, 225, 157, 124, 206, - 164, 10, 248, 79, 243, 148, 42, 134, 121, 72, 53, 10, 130, - ]), - U256::from_bytes_le([ - 67, 243, 95, 138, 28, 254, 88, 132, 100, 152, 126, 234, 243, 61, 251, 124, 188, 18, - 228, 138, 89, 170, 214, 111, 201, 85, 209, 208, 133, 49, 251, 246, - ]), - U256::from_bytes_le([ - 158, 36, 44, 110, 93, 209, 197, 243, 226, 98, 109, 47, 67, 183, 211, 94, 140, 58, 102, - 195, 86, 151, 133, 201, 128, 97, 45, 117, 122, 250, 13, 9, - ]), - U256::from_bytes_le([ - 164, 207, 184, 58, 249, 186, 175, 34, 118, 14, 178, 78, 252, 169, 243, 33, 140, 146, - 122, 94, 167, 10, 193, 16, 39, 4, 148, 253, 129, 252, 156, 146, - ]), - U256::from_bytes_le([ - 241, 254, 164, 59, 80, 246, 221, 27, 23, 102, 106, 191, 174, 98, 212, 207, 45, 162, - 216, 255, 120, 207, 10, 131, 170, 156, 113, 3, 121, 217, 44, 30, - ]), - U256::from_bytes_le([ - 37, 240, 161, 54, 122, 236, 178, 182, 209, 63, 135, 64, 171, 97, 170, 160, 85, 236, - 253, 159, 120, 72, 181, 101, 43, 114, 122, 93, 253, 189, 235, 13, - ]), - U256::from_bytes_le([ - 37, 108, 195, 144, 156, 146, 136, 166, 183, 232, 83, 78, 177, 231, 95, 77, 82, 201, - 121, 28, 29, 17, 116, 59, 207, 162, 140, 160, 222, 238, 228, 115, - ]), - U256::from_bytes_le([ - 104, 172, 43, 39, 207, 174, 177, 164, 213, 34, 173, 28, 186, 37, 202, 76, 25, 123, 213, - 148, 215, 139, 98, 214, 16, 32, 65, 2, 187, 51, 243, 242, - ]), - U256::from_bytes_le([ - 144, 231, 33, 5, 53, 156, 65, 127, 83, 108, 232, 47, 63, 138, 240, 56, 0, 57, 143, 87, - 202, 122, 135, 105, 254, 195, 98, 135, 250, 22, 49, 130, - ]), - U256::from_bytes_le([ - 149, 216, 205, 189, 144, 203, 149, 127, 90, 202, 114, 35, 55, 84, 198, 72, 202, 207, - 31, 159, 19, 228, 231, 181, 117, 93, 97, 57, 133, 243, 99, 97, - ]), - U256::from_bytes_le([ - 160, 125, 245, 184, 129, 140, 184, 233, 68, 184, 156, 12, 142, 202, 77, 215, 163, 168, - 67, 216, 209, 201, 180, 252, 209, 169, 204, 21, 63, 62, 120, 36, - ]), - U256::from_bytes_le([ - 146, 159, 182, 144, 237, 183, 9, 230, 55, 237, 136, 103, 166, 223, 199, 105, 180, 124, - 173, 16, 157, 45, 65, 190, 223, 204, 202, 163, 222, 68, 13, 105, - ]), - U256::from_bytes_le([ - 205, 244, 175, 220, 65, 243, 125, 146, 29, 127, 3, 135, 181, 37, 184, 238, 253, 236, - 208, 56, 113, 55, 57, 224, 31, 32, 142, 252, 246, 23, 173, 153, - ]), - U256::from_bytes_le([ - 127, 206, 138, 216, 23, 163, 78, 200, 208, 77, 20, 105, 182, 34, 196, 10, 171, 130, 9, - 120, 214, 180, 155, 66, 102, 30, 243, 90, 177, 244, 76, 110, - ]), - U256::from_bytes_le([ - 29, 128, 241, 233, 25, 243, 148, 120, 122, 143, 67, 17, 176, 24, 21, 215, 64, 97, 4, - 154, 145, 60, 248, 254, 205, 97, 37, 111, 87, 79, 95, 2, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_31_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("a1bd4eec44b1f37b07b53f29daf2a3569be0d6ebe727e18539071206950a6813"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_8_zero() { - let mut value = - Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0, 0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_8_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_512_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 26828682623905485853721589978864387876, - 45362230084934828632880963081896644001, - 247417070223805448009596661148965288679, - 233435946323840404519105253470141693058, - 48270642472271104900526093037459031455, - 66520735216030151239714891092404644513, - 280229322034323384052699099308850986999, - 104876539345324116234633977126562892583, - 62053737243447943335328889845976890418, - 115150778003737644570314412548569196662, - 60837422455905539464283970835244348165, - 14971885816624552460364123313225338840, - 141373400188887949233573643440572148370, - 315558180146170550304219748075496589529, - 192832702686931265848701899386472550861, - 195242849447416542650282397408705348609, - 3159768586696475726130243760652423921, - 280976955595646743990035910166905396696, - 48145462755830632991328135842155799273, - 45727448734246753632897580957866192001, - 93669871191691645101398613537831796721, - 270468935803632630299259822557389975996, - 257657171915062120800715583958851021431, - 143502338199025987170760915516024962297, - 88823700945885749471690202908135711777, - 167825619953100335773847023551371760978, - 272799632490583618214951897233958389039, - 6931466504102931468089280598062436854, - 227129099815982693311697808605804113078, - 190991213830636389607630234180646015166, - 94665077017450433967996163233943161681, - 104442287321252800048144287126459909528, - 111984121489495207128924202958762389095, - 139936482167984053056821989819471703902, - 131014629105291684826343804913844541820, - 268845842132595174381319542315698095682, - 75171104698645730147320610733935680293, - 188919654263237738565471418725236547096, - 139443032094518694251119896661150856155, - 212224791068740157240962495709925633688, - 9091349307978242295696087198261198263, - 265949610406892960806549475648778472820, - 128688494213035166265090231634914484918, - 86325517523858968239206432741700378460, - 120488629521339414087399576992543820142, - 160980827996625757844534938871461470081, - 229339366166722750521595145406513327654, - 212826567380487477304132519266599165957, - 33736938902897032991258004023704944283, - 20647404232152582890937735112905147718, - 174307488059321481411980956314482861076, - 182870809375317713676269812154114833178, - 255449134442859232032589560643987424832, - 3327587593608969403510790552521641937, - 228796895331761997368557137952015337570, - 173401717654658566678803501845418681717, - 145753538631582908337891904360242873450, - 145305369872021551533678361294921112893, - 152106492142581925633393348104773498495, - 63943612201891140132934132705217376031, - 214770829884066489984049547332748555844, - 126888149938969670311744256029745393100, - 324274218652420208639262215234859114368, - 133387804507532082482457195979509083188, - 264611146042400724818108845708964759574, - 253255137134331345360724671359646005906, - 166782268041576968080783983279630939216, - 37671118578186383302992609922437945540, - 26587946399585902795651262209794549829, - 1961015457335467326068331039447629730, - 4254806961814882220301747290823991194, - 308104308089334295256101677566106196014, - 37063999245103616540268353759942155944, - 121645946377364452585933094191285853163, - 161048285595292245350352672889475762153, - 149401701940324201485709324373178479430, - 49563740728014241891163608884934352144, - 52076044639587971806885048829369115370, - 179799047418413373396876208996285334917, - 313125910898948945211513308922346368079, - 263141004886510288130833149448493186616, - 24880666764035537120498111814784594276, - 244033168847918516781799517763099473870, - 237024090893956911018900071669857460871, - 144414853971541131493745017938110197424, - 138555684748153658828846086010749058888, - 211251904477912335560628591102117418737, - 82686339646308109441011550627009851182, - 115235954114539334218234743722763506129, - 115662543830337771968916670738292603123, - 221798345799192609353172159941201325673, - 6926774184072691057114868533879021792, - 5694889605277154023565158457936814846, - 313407497526835022984279381655402121329, - 110670343731416261564284105580725764775, - 231058153426857522432841605590609590553, - 211750572375839290698246689628795663485, - 241108737427680497688687042042742173388, - 109006874758568559475981409144284413404, - 54824947249519626083205617311781774730, - 243812916385798476195815914646717328982, - 138479748283393420051566081257076792575, - 181274593275688533385558121792921793358, - 120393940466427010549728873724179690685, - 27826038560624417555889885327531192218, - 315151785115462667257568009126915207145, - 130459266571058569382810067795220051273, - 132842523353905011189860168419707993331, - 59839863451282141688258798089471137845, - 20254473285766703925238914314828709637, - 128906284012149069933631760594047723246, - 52776809595619548343910694136652844370, - 174775382933029702659507092255717449558, - 263563310660352369819909167550510614639, - 196887944917458596878213424376328530831, - 181949958696615205021162150854739810576, - 139587060331950664917632305614956378137, - 338671275421650534963128961469857868852, - 155317607710825692904522109098461079872, - 244383870580703563645529793873451040421, - 4620483933550170477662418031630030901, - 129259224877724566609550551236545851018, - 193614492146938639585558624443519370309, - 89779080348704136635266056121056944156, - 131421374722716737991381318356729527893, - 5569905341158623602093984174547390696, - 131737060014189489073973545545612076996, - 186040344300393193173042839506082731336, - 293702550686490761096590982318687603092, - 255144148912433128858199336137670011412, - 279002492317304198700457976299295509707, - 57694275257783106017263757336776385941, - 228836987706021643623265168420253214681, - 42557917887325748267185972516161571835, - 255035143664299721501904330274347798678, - 162907946353635788513496820825582915919, - 58334702634968558506315001057646102921, - 299036125955333458292972890398077938255, - 214012726690216787376002795018524874570, - 339737723127425306868240826833242497172, - 148116693839884547082122917245082917348, - 118638609480959777931391956115228170455, - 70049388967103419081381816976354288000, - 321350324499718496431405059597835822590, - 114415642043268251851454480482755199360, - 1771507360800623444536881174620182640, - 68433725610798147462546774857024436801, - 183610678235804501703289364934986757412, - 260430944951921695403626817609447293819, - 336070431382170503117465878424687028555, - 8747516752576054583546419627561305026, - 25414433237838806716771118185960391007, - 27991088366098801247640145266267327201, - 134667778910758562775756385670814047243, - 265958469220066170468363330412494359510, - 138087385530530368232910013015333369277, - 223273960303740663939427143568329872912, - 226698647960847710245351874868329380956, - 279836402123216043196375970208514359256, - 230777420763799932386567780376931338865, - 334328668889044032120908092187833298741, - 186110377133843222524976103853713897304, - 226068929200034794184067359833216591518, - 307395742308631238533223609823979676171, - 270244849749936426372205429996168472371, - 146201415018946415671005458144085772825, - 300969570425449657166669989808819437053, - 251687458323136382835572752983811895475, - 270641028168126422955317776514936397717, - 31589530127920356246091130515057059912, - 96924903584643007146889582889689426292, - 142058468804648550003297997471382771447, - 314944764230038250337076326399340323492, - 325215830334179713564866109827218937852, - 257976636578206567133918811533061479139, - 302232878420023792860098643459870305395, - 83780703798992577006307497913800507870, - 193667087313367062853574512735191895236, - 83375452479451163654548752761333189610, - 240926892296838555168958237021169924370, - 153840378120810127829468048413787133280, - 38455886484474574011136589447140227210, - 201966933799926032743496530591844175331, - 238405084128553623279464089421679182417, - 79134533565052825159182943905651010052, - 264145050755083038029594179837472432365, - 91204757487212663074517391084708491680, - 209338328671053373501952225237078699913, - 85645078991084883688692433042680752461, - 95967147795241281028765727991582305765, - 228533749106777146421074580579914184491, - 202609898816392978177542853982359433234, - 307079969400346886854396012420455752886, - 187115219247772061078815641076583952926, - 230542258694458959424309629843952593443, - 74332352609913642726938042964026415187, - 91950340584438980832357416887833680089, - 253250286149221379972855075116839085475, - 239545960080661793860192052157224049713, - 49281749599220939578996569501739186730, - 131462906977393070031818453242459278831, - 10352029838493135617831431143066364453, - 73408192521407472644231035045711596171, - 238814024694400682014086109861209537814, - 66091987442644246193015750957086469186, - 3571372971639372633906021729177171072, - 257612594443266212716830202977027399515, - 59108130182326579149785149831221554060, - 263222220647700078307598770683042988272, - 296049924529240964856164005857428701404, - 170505451907555693102729907642458469224, - 252632951948103577467595278565842113750, - 177005895812640429855381235800107879505, - 138812781368593448188989240528490030533, - 149292869496287283142283272196583892041, - 84966947109149623834597473467125816457, - 288887586898068294394453812468451513930, - 240040038405508477905283529586773402148, - 102121494120219547386089770231897656625, - 330714536345281145534225729404377743996, - 243995924349346577739099524261021947889, - 149529993043722712074310726931836143035, - 192765893363431805682795584905544406601, - 183623040969929642749671509006927222577, - 1525573958767026733011437846643064721, - 117166243094341434382415149775517138592, - 108317570567260381957444348850119405270, - 265379866248840244626059950683337371207, - 101439885818932106981238519576732452668, - 305382987333931579010722377513357707194, - 84791721843245170977779990586106702161, - 128052673033601092863556807497569482457, - 323970116080423360183549353020887602436, - 253178912470512253870284195517502478752, - 327567745154006156499920950325920180337, - 37760851567799716139384884658885468439, - 197908320985583295127982407294586864884, - 266878838735372680888432013040757164334, - 291997814267333372848639447156161385057, - 32902465489644465428263202477386654904, - 217514975031485349366770843144750039143, - 25358794551349852181185633204236665904, - 144493068001809023664174224940279293807, - 68737418717551687825594089813310379675, - 125563467002138064186914113073399634900, - 301626209029641111181838107746121876227, - 158714849747972444160427417222466396443, - 261960090756636115163930939299212093837, - 140473205448781477891558791776962906661, - 25764354349558874643452816729640822044, - 35500985603009141874391332252797386051, - 6130328008084854946605320998530612759, - 65911070872777301652371695333277770339, - 143516661043274387337708968079545747547, - 124005107572155327766102681813910351928, - 196183448116618734064409945819933602671, - 321626010754814019303036264377672436622, - 319639293174762780809428341890530809802, - 154177077952058557430129994690663194407, - 165708535551522843240540301769761990097, - 96966528245352734724517475056797912060, - 156766160185796521254105805157044602779, - 271108427613111056655306024994207714846, - 225021475359652760326916597886440027593, - 322508676403834215230209072184479897499, - 233442986658152879187128957949166861242, - 6632834701150293496290041701739530981, - 72945848993703027206006761488573354637, - 220461161602619345766199740580194213620, - 321159411836169763341556412084804452724, - 24281678107281275484453505329916095811, - 310715275211136077011602269956503178835, - 122870329840458638343326342813018512849, - 13571213452018854499205866398304767123, - 148475575601522570889887470308323059757, - 14097843040597683413022399766129370370, - 102718660192813748149092193456897093775, - 180595841654842928922244486633136512132, - 248799457970517318601937546177129628787, - 40071711920819430360439175851771764513, - 286098925161670631272152784250670063950, - 275112462745497950888328731927654249280, - 290068609383266100194140781747032289394, - 311800436580168149493310310018323904341, - 121930434417233109389609434228680930394, - 281574554972024339666376866877676101235, - 123913120007588541889307903573623882055, - 312449833180571905372504215436640736182, - 22188561845116767730666605340693357532, - 164193566270753732025115010005180770782, - 251779278959456111385598086548036893553, - 280800426346172004653189471251054540010, - 8137305751057639085595495387508082547, - 299828193200954978090780694201908041132, - 187449300058176320897627622976389774343, - 165045999537015536826432678512103155089, - 185272648877873407238079404862543415740, - 236629802363933727652259521466782431141, - 56421288793209262409776732605900025515, - 255594772545778155554374275992038804001, - 250205017877782987180750545031246560121, - 226453750341230180774270564668437562013, - 260605398977675584579104599069120938332, - 125392505686394559417474564859844391928, - 338126281238683346773071987037005616355, - 9328199974415020283249005756268859616, - 123888392668312447000706355778647022661, - 194534313234333519574696076358020947605, - 24710236171156162216791551051268125885, - 43889898743651888600383188627001828128, - 315171527686540475787642890314118427925, - 218934644233940047126532282627557470797, - 187267494209116719977177242359658047810, - 215155205553097774614912396356049386399, - 262216576587441792961966274101255468822, - 36947220824673522414895973516164900275, - 91352968010301160956189613987386961455, - 1526661060248372386435309853408760488, - 186934124806556109144387341641340698260, - 102993952313774016120695692337485795570, - 40191516347711559912799933205739453067, - 41933311847854580194072896089635772105, - 21074769366332168591578346387005281737, - 170015113800577287589263816807892593237, - 47954622667409004582475167820858545355, - 325128049242869022730457807944576025513, - 52035175976200952538030566941816563422, - 174773736600302959346529091536828305513, - 19077212147149455341049980696100735695, - 63561467101782995257570039359218316519, - 134093540376544292764942557421750495624, - 320470991095881762342995518775846760139, - 328062414867529105865935704950197203935, - 68301821704292774520291453416491555782, - 35698180309399041547275994328087686952, - 311506793047480286698363570197389233292, - 338338483704047092847801535610928800050, - 143089363725240677791339433167163006443, - 113117065754723735857236371396621769453, - 125723372422605648473689790078935043613, - 238585366233633898944999090543726164960, - 293729916644654494936525370213054939790, - 39203111410532752545664786484193257819, - 261074744186283445977447754562284066682, - 228456114877028492222942892368951348630, - 100705936697510034149383339598887754784, - 157862771086018727343101233574818765588, - 241756853913614730875530607089370627311, - 207262214398201745430201875248761757390, - 156924485159565599272342952589118003045, - 320217455551763982424562198204550851761, - 89452067989312678490323653528680249042, - 180468611890948688055144842101229574751, - 29479279040695614991884843023002065654, - 167390388006269209103321642837626866291, - 254695777026440907432827254516985460666, - 187177115285826221625518187624347223498, - 332045191917050698504536824830205536486, - 184274114083220384310326268792313645244, - 222188697420284057483248561705709517959, - 140578027748998958737945635934128791218, - 183426950464464315290429788391842367231, - 111580503306619631358723576137159769662, - 335643580354127791599598488673755616408, - 260550164151322930524025480381622714601, - 47806658196182748622039001992492472621, - 20186803003182304816930824185716380089, - 62789484860111330656212111726584018842, - 107790431342605135216397076296068254585, - 292666443780633938401389104296644058920, - 220927652750266244331716492446792155310, - 208207206962244036457286379395453915098, - 195778068808291695326824062103410574608, - 340199904400557338450121909774247743622, - 262203568635302105035059948551841157952, - 128618692521700291137948818227813602478, - 243320224668649517668896658074761744878, - 211839684670054287498093905237816611368, - 82166970181933501266675073625897185085, - 75527854628078629016159252745417719369, - 121625610575743604085725221967197075838, - 277566753294527800171039609953342932992, - 187885813802059778562365677650116634903, - 191403315444987604731401217615078871220, - 80771018852102354583745334438004508008, - 8090637672941034548940752857122628479, - 110366221490089495255284677830009286982, - 63618169708923541949447163759926312008, - 307144232996073349511717449907861114512, - 248429007854739810382765734389293390726, - 224051169962642915134940269976875457421, - 45714491655938342434923362988014407300, - 190857047529084524562287563005430811593, - 283638693262798174564765314872874674283, - 38407247642906473477727792470701443077, - 288284565241831009635841261605804718097, - 116084538477280280912337928640057265511, - 295035064216000126501771210308445522416, - 103868253733672629632572148676305565401, - 79394408729164793992671408821149275830, - 123134385157755731989243417161723099235, - 188881727447990422839981908635445577559, - 193868004887328193349426609920850166554, - 125238851893067113132856477032811664176, - 97369616960898104773918789755365303504, - 218094202641917307686764857364552190126, - 187918447907273256957535142762141476048, - 26744800024999667902593869796079915, - 202457515425581276393652252803803258913, - 10502186513105902379021182003235975705, - 306414978640606260132231755414309026498, - 39384078943492160303809693785691690098, - 102182047653449651977246724958534740056, - 70597095573607902789979276144010337930, - 64001332434250742288670266923105022001, - 70011737959055169032971544227970567663, - 319349255074886856584599293341032912060, - 149075373674604848941455636935004195811, - 256105825798040314551146856384833212238, - 196047512591257221793189534487653610348, - 14586100463770328028792698254552639562, - 20264627864068714219101178892284543310, - 296236384632716297475274574664397705576, - 17817075365980510597165642780066647726, - 60095503887948394084172605096256990139, - 219614996212180887705533341339975621402, - 278759465578491474931999047518601395137, - 273986483832797023146147542014511808346, - 288302115222814056176277861962995498752, - 260317948964171328735169833240356961350, - 57527101794221862418486478881556018579, - 312574992008304887866535433558095267138, - 264873690423767834690720810460474769057, - 141410049559959758539756333755434880046, - 55445373322090056204258811732721921319, - 264752094417217241150260989642163343840, - 210482006155453806494692010139247919004, - 308114253102078761931037333124652558573, - 208454081233086025185950166069270689769, - 27634749417831287570256666832657292229, - 87663153995377643264086488074712097711, - 162702898363795052239907855129805116369, - 8730207649155596367329256285843665966, - 183542228004854796910561714717190216163, - 97408678713210875971668486882923173437, - 88487627920109498466455357792626221135, - 106598589823900890714508022862184984179, - 328767280304183303668354318669805555569, - 28229702100636414159506739455728947244, - 245986906066714145373440235943207350967, - 65659226250518690026725234094260789476, - 146232767761021233502917908577719090591, - 46393977670067832672575994838481101713, - 105750567811286582153708697610889683076, - 51323137905191351083291908125276310470, - 295749807725626247971905931509330662394, - 214131379585880913039114908540270856163, - 215893444130137504253045249794739488207, - 301471673729806061374498803901723786058, - 229057718158170479549273668919519075752, - 138080778461226751313261585062135878201, - 141026359934210462356233256181613757034, - 68933837692685322317706218817210809476, - 25393406359558256430225320707719342819, - 275356532140429148441012678305732049494, - 53956275977923019137388743871615957759, - 163061957672615896574859873254114456866, - 272399972844833674586376883926838721925, - 85673668450825091245306967783783822160, - 24828506698899796694273636324332494745, - 309508192186894448859185621412520682191, - 282670190454130410452927134823404796104, - 67342611178596508938122051708689330984, - 62176716943068424547544218228433941423, - 188584503027719286274573937553652461422, - 268263438126094948857293758640533903305, - 214325647874741346829538781176702742742, - 37360184964600511060756595110969992036, - 108625034075624820947408016345188036286, - 65525164047779797052391340365153626199, - 94871307247042586715068198789316439507, - 94780138674303327085126689432194366608, - 194572446345783945529943353062637156364, - 253700939822265131591620516306016345671, - 117732382580966670103929531631634746601, - 199304445053249453569933947603592550419, - 177463547005652117653650259961789847937, - 303619750568901187676335298651373431399, - 172929310331248581342800058159323312451, - 181294802785284653810839530993375923313, - 283590565789356541498093717820841532276, - 257056520852802158030615007915971536986, - 234745968812608244106232238249574055915, - 31929172996341263720673865366105258765, - 318142021164067218741683279724887696160, - 193217284183218800872453414477910642532, - 38015259050277092864377624271795294891, - 80952665656346897324426890198445307085, - 11680346385960638763848089196633275298, - 9513088880086236426231810951583830880, - 205103283984377178181195116465041832729, - 226509686283217197945442878084969145736, - 50924452316343130246682489878599503228, - 242962718177031429342675033754379775187, - 2803714896324820509453569171158616640, - 194392809421372535213057759184984077758, - 242879370917311287658016505785983131511, - 143679272127425713848911322228852709049, - 121575049863118828740048589625100857957, - 8715635290235044735142199835438054170, - 117597421515019045174966032141113687217, - 166032223549541867891948250634350487251, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_512_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("a70c5dc4851c46df26580a4d719f454113421b5b078b1af7b8f6435f8d61b304"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_3_random() { - let mut value = Vector::::try_from(Vec::::from_iter([46, 17, 42])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_3_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("2e112a0000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_4_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_4_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_2_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 205, 105, 106, 166, 152, 194, 84, 202, 219, 225, 56, 160, 68, 10, 149, 101, 132, 138, - 122, 138, 194, 11, 156, 151, 229, 118, 123, 132, 155, 190, 223, 147, - ]), - U256::from_bytes_le([ - 7, 186, 191, 192, 7, 230, 151, 207, 220, 105, 184, 31, 117, 110, 158, 244, 167, 86, - 173, 232, 133, 233, 107, 240, 221, 64, 139, 35, 8, 9, 65, 144, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_2_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("e765c4ca305f07d9e25e1c4c879528e9994b9fb5e4230bfda8c4b7805b1905c7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_31_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 170, 73, 242, 193, 85, 27, 39, 254, 83, 38, 110, 73, 13, 177, 56, 72, 156, 232, 20, 213, - 141, 20, 90, 139, 79, 153, 79, 237, 21, 197, 178, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_31_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("aa49f2c1551b27fe53266e490db138489ce814d58d145a8b4f994fed15c5b200"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_8_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_8_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("be1b7015ed50d7490a51f1b11dff804a4440775cc808b9cfd26157805c1f8e86"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_16_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 14966, 37668, 46928, 65487, 22250, 24796, 7043, 49742, 46495, 44245, 5372, 46169, 36046, - 60670, 29615, 59474, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_16_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("763a249350b7cfffea56dc60831b4ec29fb5d5acfc1459b4ce8cfeecaf7352e8"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_1_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_1_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_8_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 50419731819167183509591636238702702250, - 243160052554941226771061620517961416402, - 132077915854571525015052582449039997777, - 61460288984888672921797294507799676928, - 33856030730033169859812168683582159294, - 252573635149269036055565766513369444631, - 279794156752397104374168485305690172734, - 134813396102573383821633959344133057265, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_8_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5b77a9c4d86ba3e9079f98093f5e6da648e81f10f89f46c1fcab2a4c779c0363"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_4_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_4_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_31_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_31_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_4_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 131085251763681703650210983225134279210, - 204149994827974013891189432256283029251, - 138314451233364434501509339736780133583, - 87190916912719743438450099653641299249, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_4_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("e7b9070421c5a3414fa58f06ad8bdf6f4a8e8464fe1dc5b1214aab2db1662e06"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_5_zero() { - let mut value = - Vector::::try_from(Vec::::from_iter([false, false, false, false, false])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_5_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_512_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_512_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("9efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_31_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_31_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_8_zero() { - let mut value = - Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0, 0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_8_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_1_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_1_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_513_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_513_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_3_max() { - let mut value = - Vector::::try_from(Vec::::from_iter([65535, 65535, 65535])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_3_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffff0000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_512_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_512_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_512_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_512_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("26846476fd5fc54a5d43385167c95144f2643f533cc85bb9d16b782f8d7db193"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_8_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_8_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("8667e718294e9e0df1d30600ba3eeb201f764aad2dad72748643e4a285e1d1f7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_2_max() { - let mut value = - Vector::::try_from(Vec::::from_iter([4294967295, 4294967295])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_2_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffff000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_4_random() { - let mut value = - Vector::::try_from(Vec::::from_iter([15417, 28067, 51352, 59311])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_4_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("393ca36d98c8afe7000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_2_random() { - let mut value = - Vector::::try_from(Vec::::from_iter([2286406229, 3289673013])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_2_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("55ca4788356d14c4000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_513_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 27185, 40496, 45588, 22785, 5755, 5950, 14234, 16151, 23366, 48189, 28838, 47431, 22937, - 44687, 9960, 18008, 43796, 16472, 40344, 6307, 60750, 42176, 48076, 3047, 34291, 53364, - 5934, 35808, 39627, 16700, 61818, 17790, 2074, 12801, 14876, 34651, 31986, 54424, 35627, - 13246, 27491, 2754, 17156, 3650, 56913, 28167, 40485, 5286, 26716, 54344, 20105, 10227, - 12201, 17682, 4930, 50210, 52882, 56220, 56083, 32674, 54172, 58006, 17356, 19067, 27616, - 33887, 37780, 12415, 3852, 5482, 6320, 20044, 51795, 34591, 8396, 35071, 39025, 33720, - 27350, 1214, 12489, 28905, 10545, 7894, 58460, 50487, 7556, 5510, 43456, 9897, 21919, - 43418, 15610, 51627, 22828, 26017, 41734, 27862, 2329, 13688, 53343, 26009, 43570, 5267, - 1550, 22485, 16557, 64823, 64098, 49563, 7109, 31682, 48433, 47419, 33456, 15614, 58115, - 37566, 11748, 56178, 31947, 55839, 23907, 39863, 45318, 62202, 53558, 32368, 15687, 53444, - 47210, 42931, 37640, 53500, 9048, 51678, 37398, 5322, 43230, 21833, 36405, 35061, 29262, - 9277, 12384, 59158, 31163, 4746, 57569, 1723, 58523, 6263, 14535, 59878, 52424, 31661, - 6214, 23799, 19965, 64506, 13195, 39399, 34387, 23723, 49447, 46439, 36212, 62454, 58077, - 49181, 17517, 57269, 57490, 9498, 980, 61407, 4360, 41477, 20314, 15300, 22147, 40103, - 54993, 61031, 41339, 32587, 12514, 54805, 51111, 33512, 41665, 59236, 7998, 31477, 45546, - 63362, 6925, 42377, 20507, 6202, 19455, 16556, 23535, 29143, 7737, 51549, 58357, 61793, - 58806, 2026, 13961, 6066, 19732, 46806, 23699, 19514, 8377, 64814, 47852, 56334, 22031, - 14309, 55332, 28372, 13423, 28189, 4416, 40742, 55008, 22937, 40917, 47057, 23312, 6084, - 50385, 33592, 27753, 25055, 47606, 50144, 49001, 16740, 34502, 8301, 21864, 29823, 42703, - 59858, 3591, 46786, 31144, 58289, 45473, 25231, 34072, 62297, 23287, 54205, 24656, 17481, - 60407, 16069, 41459, 23673, 47102, 10189, 53774, 2466, 24103, 40128, 6503, 59475, 54342, - 26961, 8919, 26201, 5446, 55610, 19872, 1418, 57935, 65235, 63090, 12315, 8968, 51805, - 42662, 59153, 39158, 46192, 65217, 3304, 62992, 4936, 10694, 47294, 14922, 10373, 49555, - 52677, 56876, 43038, 47088, 52506, 53601, 60897, 49707, 21052, 58120, 11098, 12866, 15398, - 5442, 37598, 25597, 44803, 23359, 62624, 38117, 36739, 21148, 48895, 32395, 10357, 64402, - 12077, 39546, 20435, 32185, 50268, 37625, 11605, 37027, 44710, 32293, 64708, 49747, 7621, - 29736, 4507, 14697, 20130, 17173, 14817, 60481, 49719, 44836, 13313, 36862, 33794, 46741, - 36669, 41584, 44211, 35232, 59687, 51526, 37997, 54193, 17520, 56053, 39102, 61771, 49769, - 18370, 61989, 25683, 56035, 26878, 27505, 41063, 1141, 3229, 47503, 61963, 34624, 36914, - 48463, 60248, 64422, 32255, 14207, 22118, 30112, 61730, 19016, 17969, 4022, 52923, 36107, - 56603, 36238, 12010, 36707, 29754, 12654, 3873, 25427, 28554, 12347, 17269, 55449, 54337, - 28007, 48659, 45648, 53594, 58826, 6468, 56179, 221, 22362, 45908, 38017, 4298, 3453, - 41039, 12557, 21685, 2289, 6762, 58315, 33753, 44846, 9774, 57922, 10115, 35370, 16928, - 21313, 20458, 54321, 14421, 9423, 19692, 35952, 11796, 6252, 65089, 61471, 59269, 17700, - 44039, 8858, 662, 39168, 17303, 52820, 49010, 39886, 56264, 32618, 9688, 32617, 9689, 2814, - 21516, 30617, 30594, 33147, 12190, 19780, 26425, 63835, 38413, 25273, 12600, 8022, 42766, - 50061, 5733, 18650, 47269, 8553, 36611, 21506, 39512, 58347, 47847, 61805, 44970, 33468, - 48499, 64833, 45876, 3604, 39105, 13538, 26802, 61195, 24696, 61996, 16997, 11456, 46813, - 32837, 7224, 39459, 24848, 46856, 25573, 5246, 64735, 17847, 51773, 60812, 37973, 30569, - 64742, 51362, 63841, 3543, 52659, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_513_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("188c519f6d8f57d2cc1232b7ad085ed707cec9537fb3912ffa095423dc614dea"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_8_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 48757, 12920, 33149, 59406, 48754, 39786, 12312, 58318, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_8_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("75be78327d810ee872be6a9b1830cee300000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_16_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_16_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_3_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_3_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_3_max() { - let mut value = - Vector::::try_from(Vec::::from_iter([4294967295, 4294967295, 4294967295])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_3_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffffffffffff0000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_1_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_1_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_2_max() { - let mut value = Vector::::try_from(Vec::::from_iter([65535, 65535])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_2_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffff00000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_1_max() { - let mut value = Vector::::try_from(Vec::::from_iter([4294967295])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_1_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffff00000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_513_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_513_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("87eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_1_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, - ])])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_1_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_16_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 116865446011030976513736559583719158568, - 108209157078503776199170871747996541938, - 87702234582352091614673494037436374999, - 221828058742841668693726214230899376370, - 279540889116606239598116694762153141470, - 187631146300711777716677008331378506013, - 121512487529790280944859056892923591317, - 339016522251302040963550589746380144376, - 185461572441833072109297853349623060391, - 300649262967034080487309929999441874990, - 294925353640914561010535622080866823202, - 2315156355476259093055440479649376987, - 142046101570705160243789098805171808953, - 280271393250584818608153587082340849287, - 18181767184539268539905647783521070538, - 290973072975603641839643580523364338186, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_16_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("817667c88413a5134f4f42a1d0eb8e128cb658f3b2c3956360d32ca62f287f3f"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_2_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([false, false])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_2_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_8_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_8_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("375d6c7b280a1e30f968db1d948da0f977bf9139b0d5516761ac874700208aba"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_3_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_3_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_3_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 6167802979638570618, - 1670982671822494120, - 2649190588485934153, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_3_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("7aeef3ad21709855a819d003e3853017491c03e1cdd0c3240000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_1_max() { - let mut value = Vector::::try_from(Vec::::from_iter([65535])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_1_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffff000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_8_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - true, true, true, true, true, true, true, true, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_8_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0101010101010101000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_5_max() { - let mut value = - Vector::::try_from(Vec::::from_iter([65535, 65535, 65535, 65535, 65535])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_5_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffffffff00000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_16_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_16_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("8667e718294e9e0df1d30600ba3eeb201f764aad2dad72748643e4a285e1d1f7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_4_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 4294967295, 4294967295, 4294967295, 4294967295, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_4_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffff00000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_2_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_2_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_512_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 253, 174, 239, 243, 23, 241, 87, 225, 224, 151, 140, 63, 95, 213, 223, 61, 52, 248, 192, - 130, 98, 176, 55, 80, 137, 79, 165, 228, 36, 40, 202, 109, 24, 146, 19, 112, 44, 162, 156, - 235, 33, 131, 37, 218, 103, 51, 203, 99, 235, 120, 184, 105, 215, 89, 104, 154, 30, 180, - 78, 255, 241, 170, 71, 67, 24, 84, 74, 35, 166, 87, 0, 31, 44, 75, 111, 20, 221, 200, 166, - 106, 195, 143, 155, 216, 163, 77, 47, 133, 142, 210, 204, 141, 58, 192, 140, 109, 152, 203, - 26, 178, 225, 119, 251, 84, 194, 157, 1, 37, 245, 202, 152, 219, 245, 95, 205, 244, 80, - 144, 189, 177, 105, 86, 234, 242, 14, 239, 53, 13, 187, 243, 33, 71, 169, 178, 148, 152, - 169, 150, 99, 142, 37, 104, 173, 171, 164, 234, 136, 43, 61, 125, 131, 190, 70, 14, 202, - 19, 22, 106, 79, 160, 181, 222, 35, 156, 133, 248, 112, 178, 42, 9, 169, 117, 83, 244, 255, - 71, 34, 74, 124, 84, 201, 167, 66, 228, 20, 190, 35, 188, 209, 22, 36, 160, 116, 101, 177, - 194, 252, 26, 15, 229, 41, 150, 218, 174, 75, 248, 123, 15, 182, 190, 212, 89, 38, 9, 108, - 100, 72, 67, 130, 25, 239, 185, 190, 147, 203, 208, 188, 119, 146, 4, 160, 136, 61, 18, - 111, 189, 94, 164, 149, 185, 139, 90, 233, 86, 1, 209, 122, 98, 227, 139, 89, 181, 209, - 248, 246, 245, 227, 190, 52, 205, 65, 54, 240, 249, 49, 67, 131, 122, 36, 171, 200, 150, - 181, 207, 96, 242, 238, 163, 226, 55, 237, 43, 38, 101, 90, 171, 88, 193, 139, 102, 135, - 15, 80, 161, 51, 23, 28, 133, 217, 165, 174, 157, 222, 85, 192, 202, 4, 148, 145, 162, 127, - 79, 99, 231, 227, 213, 172, 137, 222, 200, 132, 252, 161, 126, 146, 80, 83, 210, 80, 17, - 119, 181, 105, 220, 227, 12, 207, 35, 32, 36, 125, 195, 248, 194, 121, 154, 167, 231, 32, - 155, 13, 92, 73, 75, 192, 219, 90, 70, 154, 48, 250, 171, 68, 136, 220, 241, 142, 161, 85, - 33, 224, 117, 226, 127, 34, 136, 79, 140, 74, 201, 111, 102, 74, 108, 175, 211, 0, 177, 97, - 114, 8, 9, 185, 225, 121, 5, 212, 216, 254, 215, 169, 127, 248, 156, 240, 8, 10, 149, 63, - 231, 125, 202, 214, 107, 21, 220, 200, 57, 211, 91, 89, 37, 188, 87, 117, 32, 194, 16, 65, - 137, 14, 176, 30, 140, 9, 23, 210, 246, 15, 147, 93, 118, 250, 31, 150, 124, 228, 234, 89, - 134, 82, 213, 159, 4, 149, 166, 105, 94, 16, 157, 255, 9, 217, 83, 222, 173, 146, 48, 40, - 214, 171, 19, 209, 226, 93, 207, 54, 169, 97, 51, 202, 45, 162, 64, 37, 169, 246, 134, 39, - 32, 230, 5, 180, 18, 110, 55, 228, 91, 21, 136, 204, 158, 16, 172, 175, 108, 44, 124, 50, - 153, 8, 34, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_512_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f4eb96b6673f096fe9ac07abad28b1ae70eeaf6704326b183ed57a02e22933e4"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_31_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 508235682, 2308341395, 1525766118, 4136650562, 3621852454, 1567937308, 3269584467, - 1320546218, 2077416840, 739946730, 1282600407, 3203298029, 942979653, 497143087, 933745505, - 3794525861, 2714083317, 1289423485, 3524519556, 3497991789, 3711737680, 3061871525, - 2306867877, 4238440987, 945702953, 3720141995, 3191674143, 2674649049, 543916394, - 2875606851, 3068061043, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_31_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("efa45b70c8a45a482800655c239ed2e8d91d1325666fd1755da23b6fea1405ee"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_3_zero() { - let mut value = - Vector::::try_from(Vec::::from_iter([false, false, false])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_3_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_512_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 17241722399186003656, - 4508348299491693172, - 6390266777275510888, - 7713446915618301827, - 3550195828120217512, - 5302692434353415902, - 15673077652530784987, - 14832124852888348945, - 1753911173413660973, - 1075815492117229518, - 11241194954592044759, - 1281488023918797583, - 599453714058194419, - 3735940553373052238, - 9886605999730343926, - 13894876080851666743, - 13766153765073927061, - 13296635374888364831, - 6339360142116274942, - 7079501668842920010, - 1372060629282321776, - 10179341093532542329, - 1086554926191249476, - 51310827223246976, - 15101027843973281037, - 17264578345840941884, - 2895091660111282452, - 11259336413260264993, - 4468757979379698791, - 4035715919530899261, - 1025181016203009511, - 4752313924109113596, - 3100904083213969471, - 13356428012977393122, - 13337157767310759285, - 6011642549773058850, - 2679491627697271076, - 5774685149971234157, - 2664236705892336475, - 9484694635352631218, - 8438500221004822688, - 12226477678261729015, - 13972420747356812790, - 17778471074937523903, - 5538186573400162679, - 15307566472736657798, - 16874304098913023531, - 10496412146825823418, - 13345309971802243453, - 1979576016101362527, - 8341772102581541009, - 14795818846096597535, - 12063527766864817109, - 933932265033871243, - 15495519375337801800, - 11004710052413938247, - 11376911068644489062, - 11274078372000306369, - 16024899649062489895, - 12527901368166666644, - 9167851986810971607, - 7639250520330553670, - 12175943369748294703, - 11433296979460156398, - 3289776498715737894, - 1975424119365053845, - 14132559792450940331, - 14175906319092989077, - 6568938907366052985, - 2884247324734735147, - 2783865510701722067, - 11614104864990869776, - 15118413830640886550, - 7303142987856320849, - 7350383677278671339, - 17161093046890865875, - 13881597113642395285, - 17216341447778575131, - 15420211816188792653, - 5931271727769086795, - 1396380889137055954, - 7995627627154630275, - 15046964727593040364, - 4118119230448789621, - 15056492579684120378, - 149696359103794600, - 6436401256916666699, - 14485664388021798587, - 6672484247361041213, - 9369412990468149472, - 7387583474326038300, - 7717994733169550446, - 9657668808183836845, - 10881287544527265224, - 7740144991257366388, - 16603284103914164383, - 16909852972644451977, - 16190034088261681620, - 975044726690203640, - 14921330866560914651, - 14204365217829969646, - 9321249052168994969, - 2855218731091338846, - 5158761002360057888, - 16323423960645790248, - 7080249016278350233, - 8163639944976994831, - 17246584292805788030, - 14912918418824322447, - 17879238257254559006, - 1687439776959916951, - 11897214710284854188, - 5467428801567803790, - 99939598953289243, - 6254316951401486413, - 3298325683893392646, - 17416546930489226544, - 554984695726970825, - 16591273569279856590, - 3646260786662757445, - 1143846323617756527, - 14409176393006675924, - 7239332693029023530, - 17868549094480882513, - 12840141672683914763, - 4534589331587855663, - 2502683457403019267, - 10800894965932499723, - 10354517057987210350, - 9865920798843503314, - 9251910129262137493, - 17882979680984287028, - 14107283363256701260, - 11692608695634569721, - 10404876596311847319, - 15653715697997658202, - 737432608457339476, - 4069276128116235638, - 8927027426406681578, - 17926639373548099222, - 7103551943313900801, - 15649961668578718108, - 12934290109134082792, - 6863348590517809611, - 12968390131768490626, - 1813459423434256197, - 12668413937093358467, - 18164297446852058700, - 2361054352696138093, - 1931608926296492116, - 7156709574881923459, - 17414374383363939762, - 16925444688267625456, - 9817277035217745369, - 17419060459670714038, - 12548530771652298825, - 6679019902374202760, - 1456389206725541843, - 11025118668108218210, - 14381508088579879882, - 6672488383267110341, - 2069008514071114127, - 375615829666888739, - 17475793861017636857, - 9764959397083686100, - 2162908909818681181, - 686763681868282441, - 14954144079718712321, - 14023152835952446281, - 10956840285030854795, - 968529128027547872, - 16829138398656711526, - 3774482904287025835, - 11015064706022367165, - 16034423873709308150, - 6691021874340720961, - 12761653061143385413, - 6659399105571997969, - 3902872516376264569, - 1125151405377440558, - 17273330492149640622, - 5799030435078732763, - 2198324642423143817, - 6528472560914593134, - 8451870605828010870, - 2382190313510954831, - 14730209600129330038, - 2448602058301590244, - 14566501270120547011, - 8731226846157349505, - 3279979957310511818, - 354206126376205686, - 13060104378643099, - 1621375492784137385, - 16156576380725138571, - 18230451966841522836, - 4826352740080314192, - 1385642393553235938, - 7702346681028068046, - 3597340335513122046, - 6920454437688751391, - 13212641535644769927, - 13474321152608180520, - 7122465017198914852, - 2076529986563788945, - 18185243652560053090, - 7247909942712927990, - 17373481430258691575, - 578260744966406347, - 9604568488809600873, - 7632328430249421415, - 13289660263410606318, - 5099372283166947112, - 4593996339337045664, - 17329648525261830085, - 3190782261622312396, - 2317071425599680242, - 7839477342383709997, - 8830064471720011612, - 4935917348189041693, - 7522538888948218485, - 161979932831419853, - 16605791947526161933, - 6463361861324507966, - 11227535428784196574, - 10708235948126784567, - 4857188858792470471, - 3157426922187774434, - 7354764536444748080, - 3979744032003108424, - 774859249809097223, - 10372920160473634757, - 16148538034702494412, - 2746169823755237631, - 8980950585885599888, - 9709513013684378042, - 12820761045193447371, - 7028688630663578368, - 2473765168274632097, - 7273118918852980263, - 16516712058817110821, - 11553173586727302804, - 3798037895425309735, - 13992046615457199640, - 11593443416242926054, - 10297285135538651727, - 4866184542985161209, - 5953625941386431602, - 3345497314112634183, - 8692704381884788155, - 14726779239607691362, - 8840938638741323896, - 13052642178125456935, - 14281744265389672379, - 3883817754981417505, - 9068025905541002631, - 8669504042795297506, - 12449821616841197193, - 4358765626989477747, - 16185339260913121928, - 834698172944353232, - 17560780797103206462, - 7379088181189580616, - 6252577659364551190, - 10379497994576507399, - 4863537630105322954, - 3622080541464128084, - 10278693032601993774, - 646216505689449031, - 13154727716280167247, - 11022966720835280344, - 1333489268512260275, - 18416204524378066806, - 6021358009616251340, - 5630802006144228962, - 6715341222990751325, - 12774374200825138789, - 12478372084698311441, - 12535156747957729405, - 5568221094604683128, - 3832184545619069473, - 4829721335720239211, - 8675483737039685518, - 18096220140071845889, - 7758924104409419884, - 6987409562154010085, - 3982701214569520462, - 15988008153987428106, - 17587242640044375138, - 16997122468007091171, - 6026215816746994292, - 626302505356232489, - 10720773851086879225, - 8305236194016240889, - 3932713913640377117, - 15625103590455174694, - 4580669710577487901, - 6866237510051473022, - 12212213730682288456, - 5062868727576835576, - 170359117255568983, - 7865884378855248982, - 10534773481478953675, - 7155487624278265633, - 14322180520475197393, - 10152560118405481876, - 12859010522967556226, - 11580159338152390386, - 10120064097538469230, - 10252023360644551151, - 10535138147795043367, - 930800106376199373, - 1834152388430370434, - 15494849906342347764, - 11048427263420736996, - 17123619240272148459, - 2435176304313737242, - 2712294746328953176, - 620886735287380312, - 16165773538072642751, - 2566257083841881550, - 16966310957240506672, - 5269284092913405441, - 13850945224454864398, - 11756810020960481125, - 16633183927649591555, - 17904509870569615842, - 17841513380636906897, - 11158352805905199905, - 11623989538410805355, - 17099577066103607969, - 1772399243014015990, - 10998257534549811529, - 2143822019277250880, - 7922903718853209313, - 6314476190438146449, - 4761921651499062130, - 15890283794832641365, - 15139824976495038536, - 16607998068638793448, - 8341363592175266184, - 14808349981901859745, - 11158007797666491729, - 17408069133989053727, - 5837648777950419528, - 14576625808490734979, - 15216293341699376739, - 13756024116819966193, - 5028816035998365766, - 6492677005645834691, - 3951252210874442859, - 119058755059473364, - 13744925311900968661, - 3982786882072158769, - 3122752589341001230, - 10504208486203158071, - 6652408325547086747, - 5967474466344967961, - 12539121297600626407, - 1831163339347427376, - 7868114814755902815, - 7729102434867955318, - 10792601863845520542, - 15327711596842879013, - 14730808801359957011, - 13121948649095597837, - 10291034340260237520, - 13562186750934916778, - 11893124589482900772, - 4216614846885738542, - 5380991314915788387, - 7588567317617226717, - 11763275040999342292, - 14721824372618256217, - 3814744527349517609, - 6669444972815830915, - 4453311070294464051, - 17150678754265386723, - 3180479219182529655, - 13753406126426600702, - 18039519803161735191, - 16978087054732732497, - 4753587762321157187, - 16349090300908904091, - 1719914446282977460, - 10497110735814996482, - 7729768539088985149, - 4890671606572480113, - 12893970054684446229, - 896141493801635325, - 4064723958976488956, - 1084645415411900279, - 5769119770770455245, - 16575323795449897482, - 14885646597978204918, - 2420851202774840493, - 15271173362913424904, - 18047310131733227355, - 17384678802650177216, - 5464172276830829655, - 14818089207220879262, - 231881840306745236, - 9319876150797849115, - 10353447138996405490, - 7770214348921122165, - 7553287734467352768, - 4040307014012336414, - 11980970108428985587, - 8063764240108738475, - 14749321943128113691, - 10264000127073918304, - 537540237453590564, - 10243753712644813004, - 10956195294627753220, - 15141991952122893673, - 2849514475226491629, - 614081310301071834, - 11964704847203999018, - 8078388910864765979, - 14454341332910612932, - 6052796197188009711, - 14386023744813843551, - 13257904575195033026, - 11501125974282942918, - 6783395893226430540, - 9832175631847610406, - 6577082661209438489, - 283012575285651246, - 5517723887933788175, - 10439741863153267001, - 8687763311968593313, - 8205782270208761212, - 7025841073662323682, - 10387229734518108058, - 142617070939414579, - 13803827233078255887, - 11777533550195138143, - 7183961127473715685, - 853017645937610837, - 3598424427347891859, - 49634819974482811, - 2038404877488800279, - 13483271778583008643, - 15157533314308187849, - 2918541179210384126, - 13794139156355354544, - 151841964911089355, - 13570552526060823977, - 10158219054306749755, - 1060253014266168405, - 1112115383996279390, - 12520016191611191326, - 8781870202542488753, - 4975835405302382437, - 5705904694736107550, - 3758725711421399923, - 1925159567569233306, - 499896115393088959, - 11899025888433791825, - 15682408163367139445, - 6563481322991136312, - 9129687374050668767, - 2378242382723489419, - 11419698217704485491, - 18303363177605120951, - 119097852652391841, - 207784874726242248, - 14216165769960901462, - 8604181500446787430, - 16926535962794786424, - 8783378487370317368, - 852504826686441867, - 17553104900546318147, - 9030694207409821712, - 13352020686711684464, - 3791043664537127126, - 4301579124652776915, - 9305794633316854866, - 1004979148389846188, - 12610028657407783693, - 1942677164820237066, - 12000529508553989685, - 8814874170978082399, - 12359219626082016813, - 9645287674288360205, - 7128934259613174656, - 13295583807902059405, - 544030423271756204, - 2501598784155156254, - 13384179086790650846, - 5758795200590176989, - 8907312125745157390, - 5736422272745975136, - 16346141694478899689, - 17089056999711466723, - 15362835914937497208, - 5882116093858791798, - 8165449238502268942, - 17958972839213318217, - 9265641795985317271, - 9170235597135942008, - 1826393314748018190, - 13996528346981171162, - 12099397881246726994, - 17935337810234220217, - 6426419383251358429, - 5476057065032524981, - 16076021385039656340, - 2510196106676515353, - 2704501097220025208, - 16058110628056241513, - 6507984389564325741, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_512_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0dac791ef3e531baa9195787060367a1ea72df21153ceff38d53d67bdbf14cdb"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_16_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_16_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_1_random() { - let mut value = - Vector::::try_from(Vec::::from_iter([8914067055681793591])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_1_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("37eeec25c220b57b000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_512_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_512_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("d88ddfeed400a8755596b21942c1497e114c302e6118290f91e6772976041fa1"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_5_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_5_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffffffffffff000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_4_max() { - let mut value = - Vector::::try_from(Vec::::from_iter([65535, 65535, 65535, 65535])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_4_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffff000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_2_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 293619838168840684930947284175392625045, - 264388153583386100657556026933098957077, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_2_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("9551683c41029561557e6e42b51fe5dc15c90da19169c5900b46e5a5624ee7c6"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_4_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 71, 106, 105, 163, 151, 75, 86, 137, 3, 140, 57, 168, 63, 49, 156, 118, 90, 171, 234, - 173, 47, 5, 84, 194, 65, 72, 161, 55, 197, 219, 55, 187, - ]), - U256::from_bytes_le([ - 227, 195, 98, 142, 240, 64, 184, 45, 236, 219, 3, 44, 129, 239, 176, 243, 156, 167, 64, - 123, 43, 223, 126, 54, 226, 167, 224, 90, 66, 50, 146, 199, - ]), - U256::from_bytes_le([ - 238, 211, 34, 186, 31, 76, 80, 81, 26, 125, 146, 107, 131, 167, 187, 18, 12, 81, 114, - 111, 72, 171, 248, 188, 8, 125, 60, 95, 202, 181, 10, 235, - ]), - U256::from_bytes_le([ - 33, 12, 13, 114, 86, 47, 37, 217, 185, 14, 170, 41, 57, 200, 237, 119, 210, 221, 195, - 98, 101, 196, 217, 67, 23, 117, 28, 155, 29, 55, 126, 120, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_4_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("fa6875722e5f598b45c4b742d1156f397f73e5aeb1a6bb33eed523bdba40693d"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_513_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_513_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("711318b44d37a71b616d0747647acbe4b8cd24d42a19c6a3ed7b8743adc33bd4"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_8_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 101, 98, 195, 77, 141, 84, 10, 65, 199, 185, 225, 176, 137, 102, 31, 27, 37, 157, 156, - 98, 26, 68, 252, 14, 97, 110, 55, 40, 121, 83, 119, 1, - ]), - U256::from_bytes_le([ - 138, 126, 202, 137, 117, 108, 110, 221, 173, 146, 90, 230, 231, 224, 22, 70, 176, 98, - 96, 245, 203, 194, 31, 217, 233, 125, 156, 173, 130, 96, 202, 74, - ]), - U256::from_bytes_le([ - 139, 177, 198, 146, 199, 238, 1, 209, 191, 221, 130, 37, 236, 151, 48, 0, 103, 182, - 122, 222, 32, 165, 195, 62, 178, 246, 19, 227, 251, 26, 118, 71, - ]), - U256::from_bytes_le([ - 63, 97, 75, 84, 66, 135, 139, 237, 71, 224, 89, 89, 75, 165, 199, 123, 142, 237, 93, 8, - 218, 212, 69, 238, 0, 224, 135, 96, 8, 4, 55, 190, - ]), - U256::from_bytes_le([ - 49, 143, 213, 215, 113, 232, 176, 194, 249, 16, 51, 22, 132, 119, 215, 210, 51, 239, - 35, 18, 66, 58, 146, 234, 61, 216, 225, 69, 144, 186, 171, 167, - ]), - U256::from_bytes_le([ - 28, 20, 176, 41, 80, 99, 16, 78, 81, 183, 229, 96, 50, 12, 41, 53, 131, 219, 0, 219, - 69, 244, 158, 175, 44, 97, 242, 63, 213, 166, 171, 242, - ]), - U256::from_bytes_le([ - 117, 137, 168, 131, 57, 1, 140, 208, 200, 217, 107, 182, 8, 204, 75, 14, 126, 208, 227, - 137, 3, 32, 251, 119, 113, 175, 110, 25, 75, 169, 19, 164, - ]), - U256::from_bytes_le([ - 234, 119, 134, 236, 104, 109, 33, 103, 74, 136, 45, 220, 180, 224, 14, 205, 31, 146, - 106, 119, 32, 149, 135, 252, 0, 16, 26, 162, 248, 214, 34, 12, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_8_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f37250ebb8bfc70f992eb9c95107ea4def905c0062cda51a2688641a19645505"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_2_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_2_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_513_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 178, 71, 197, 209, 59, 6, 21, 36, 228, 31, 161, 186, 233, 29, 46, 37, 73, 216, 72, 86, - 69, 54, 206, 110, 221, 177, 166, 166, 186, 186, 215, 68, - ]), - U256::from_bytes_le([ - 35, 224, 168, 135, 18, 101, 248, 46, 56, 120, 178, 30, 239, 218, 38, 28, 6, 240, 148, - 191, 128, 60, 247, 192, 96, 89, 104, 171, 100, 10, 40, 62, - ]), - U256::from_bytes_le([ - 30, 221, 119, 190, 130, 190, 160, 23, 203, 63, 137, 228, 191, 180, 64, 185, 162, 209, - 133, 209, 20, 172, 25, 138, 228, 163, 137, 6, 193, 240, 250, 47, - ]), - U256::from_bytes_le([ - 62, 169, 21, 161, 250, 9, 206, 247, 30, 76, 164, 18, 194, 246, 95, 172, 82, 165, 213, - 242, 234, 10, 162, 138, 180, 24, 129, 91, 43, 76, 169, 204, - ]), - U256::from_bytes_le([ - 99, 45, 118, 204, 18, 14, 247, 142, 237, 70, 142, 7, 106, 109, 240, 4, 8, 158, 206, - 220, 99, 157, 177, 36, 207, 0, 27, 32, 199, 28, 34, 170, - ]), - U256::from_bytes_le([ - 96, 238, 170, 133, 190, 69, 74, 93, 216, 192, 45, 244, 189, 44, 96, 14, 14, 138, 110, - 2, 150, 43, 213, 2, 26, 63, 181, 73, 211, 241, 197, 212, - ]), - U256::from_bytes_le([ - 208, 36, 201, 109, 140, 99, 100, 58, 32, 210, 66, 232, 14, 33, 170, 42, 170, 94, 198, - 83, 197, 101, 245, 255, 120, 157, 156, 250, 89, 230, 33, 30, - ]), - U256::from_bytes_le([ - 173, 50, 149, 161, 137, 27, 29, 203, 170, 202, 16, 255, 158, 194, 251, 188, 137, 196, - 107, 168, 93, 208, 79, 243, 102, 72, 38, 9, 41, 197, 176, 200, - ]), - U256::from_bytes_le([ - 197, 235, 149, 163, 193, 46, 219, 220, 87, 237, 166, 190, 96, 129, 64, 184, 49, 224, - 247, 185, 235, 112, 200, 33, 201, 166, 214, 109, 245, 148, 130, 43, - ]), - U256::from_bytes_le([ - 17, 112, 84, 116, 241, 154, 12, 234, 204, 217, 192, 55, 91, 147, 46, 241, 84, 77, 154, - 162, 69, 51, 164, 214, 249, 149, 179, 28, 55, 82, 11, 108, - ]), - U256::from_bytes_le([ - 233, 187, 81, 91, 170, 151, 23, 229, 10, 248, 194, 250, 196, 229, 50, 107, 104, 172, - 67, 54, 222, 12, 17, 156, 112, 221, 209, 171, 209, 47, 8, 234, - ]), - U256::from_bytes_le([ - 46, 238, 115, 185, 73, 25, 97, 13, 141, 79, 45, 138, 48, 173, 221, 170, 201, 3, 10, 2, - 206, 246, 194, 225, 5, 134, 51, 106, 67, 237, 10, 185, - ]), - U256::from_bytes_le([ - 157, 7, 23, 108, 211, 35, 110, 236, 247, 224, 225, 229, 239, 119, 47, 203, 23, 227, - 132, 45, 187, 208, 114, 44, 32, 53, 92, 124, 76, 18, 91, 180, - ]), - U256::from_bytes_le([ - 150, 67, 190, 187, 102, 133, 84, 218, 156, 192, 108, 114, 210, 75, 35, 209, 150, 162, - 255, 238, 55, 151, 117, 121, 48, 59, 145, 213, 155, 146, 22, 134, - ]), - U256::from_bytes_le([ - 25, 54, 191, 145, 156, 85, 110, 165, 155, 133, 187, 52, 13, 5, 196, 239, 103, 237, 200, - 102, 11, 180, 57, 36, 238, 184, 198, 181, 191, 196, 169, 88, - ]), - U256::from_bytes_le([ - 208, 217, 225, 42, 12, 10, 171, 12, 245, 51, 131, 110, 56, 186, 18, 6, 32, 170, 20, - 196, 216, 32, 244, 2, 30, 67, 112, 208, 163, 188, 189, 192, - ]), - U256::from_bytes_le([ - 41, 226, 112, 76, 190, 210, 233, 170, 88, 41, 47, 236, 239, 121, 209, 49, 3, 156, 29, - 222, 108, 172, 129, 67, 253, 186, 90, 153, 130, 169, 114, 184, - ]), - U256::from_bytes_le([ - 98, 83, 27, 108, 119, 132, 255, 1, 83, 205, 167, 185, 69, 143, 28, 44, 112, 42, 47, - 112, 70, 196, 20, 48, 78, 96, 103, 47, 156, 148, 195, 166, - ]), - U256::from_bytes_le([ - 233, 22, 130, 25, 208, 219, 207, 203, 171, 11, 25, 238, 102, 56, 132, 215, 61, 150, 77, - 110, 10, 175, 185, 124, 143, 85, 211, 173, 24, 92, 138, 122, - ]), - U256::from_bytes_le([ - 174, 201, 78, 251, 134, 147, 80, 131, 34, 48, 132, 202, 237, 31, 3, 155, 71, 24, 187, - 169, 197, 47, 165, 79, 115, 138, 243, 195, 204, 236, 141, 163, - ]), - U256::from_bytes_le([ - 216, 199, 142, 77, 73, 201, 189, 20, 96, 101, 22, 170, 209, 49, 93, 107, 182, 6, 88, - 213, 85, 49, 248, 134, 27, 246, 113, 128, 32, 150, 71, 168, - ]), - U256::from_bytes_le([ - 70, 145, 215, 171, 144, 39, 231, 74, 87, 201, 93, 129, 35, 128, 156, 141, 136, 31, 228, - 162, 2, 172, 8, 135, 164, 69, 245, 47, 74, 24, 39, 239, - ]), - U256::from_bytes_le([ - 29, 100, 159, 136, 120, 20, 214, 71, 1, 142, 158, 107, 124, 69, 140, 198, 95, 19, 167, - 138, 24, 214, 6, 235, 22, 179, 131, 147, 226, 138, 125, 228, - ]), - U256::from_bytes_le([ - 51, 121, 185, 204, 177, 154, 144, 187, 48, 197, 160, 211, 83, 4, 4, 218, 137, 41, 98, - 84, 241, 79, 221, 207, 245, 198, 137, 129, 5, 55, 190, 229, - ]), - U256::from_bytes_le([ - 163, 77, 183, 245, 189, 111, 239, 229, 114, 29, 21, 151, 135, 233, 239, 138, 161, 148, - 9, 129, 52, 132, 21, 155, 201, 218, 89, 7, 146, 216, 4, 82, - ]), - U256::from_bytes_le([ - 1, 153, 163, 179, 29, 202, 77, 13, 185, 39, 60, 225, 165, 190, 34, 53, 247, 180, 169, - 155, 145, 94, 214, 250, 83, 2, 182, 137, 146, 231, 196, 13, - ]), - U256::from_bytes_le([ - 245, 20, 86, 32, 27, 252, 228, 6, 101, 85, 20, 49, 85, 180, 180, 114, 55, 183, 33, 108, - 77, 222, 131, 141, 162, 28, 90, 146, 186, 71, 175, 155, - ]), - U256::from_bytes_le([ - 93, 178, 235, 193, 166, 215, 111, 224, 19, 241, 164, 54, 221, 139, 69, 39, 222, 46, - 144, 172, 120, 116, 233, 230, 140, 9, 51, 173, 89, 207, 101, 87, - ]), - U256::from_bytes_le([ - 133, 3, 28, 110, 72, 154, 217, 41, 134, 152, 207, 234, 234, 218, 232, 168, 65, 249, - 124, 212, 15, 46, 203, 28, 132, 104, 95, 119, 177, 135, 133, 194, - ]), - U256::from_bytes_le([ - 209, 135, 15, 213, 3, 143, 90, 176, 22, 203, 102, 91, 234, 133, 24, 245, 72, 252, 212, - 208, 20, 237, 83, 121, 165, 94, 45, 41, 224, 3, 104, 235, - ]), - U256::from_bytes_le([ - 108, 111, 87, 1, 255, 92, 18, 141, 233, 18, 117, 231, 238, 72, 61, 101, 200, 169, 119, - 108, 177, 214, 54, 22, 172, 56, 26, 205, 215, 210, 6, 162, - ]), - U256::from_bytes_le([ - 245, 254, 132, 70, 206, 22, 148, 55, 150, 182, 25, 108, 235, 96, 89, 102, 187, 0, 129, - 254, 158, 55, 83, 66, 115, 122, 69, 165, 116, 8, 70, 186, - ]), - U256::from_bytes_le([ - 83, 104, 58, 205, 179, 179, 97, 101, 182, 78, 78, 180, 12, 189, 25, 210, 48, 64, 235, - 119, 243, 137, 237, 144, 84, 210, 202, 178, 32, 12, 42, 135, - ]), - U256::from_bytes_le([ - 240, 159, 142, 102, 148, 193, 233, 85, 34, 127, 79, 35, 77, 227, 178, 52, 92, 98, 4, - 209, 14, 71, 62, 166, 156, 246, 119, 113, 156, 182, 49, 34, - ]), - U256::from_bytes_le([ - 215, 3, 248, 30, 69, 46, 117, 180, 192, 87, 8, 168, 36, 104, 28, 219, 15, 253, 246, - 148, 40, 101, 74, 45, 59, 129, 83, 143, 245, 213, 101, 45, - ]), - U256::from_bytes_le([ - 55, 105, 177, 69, 135, 244, 64, 238, 136, 223, 41, 250, 197, 32, 138, 192, 104, 167, - 225, 24, 69, 167, 180, 136, 125, 66, 95, 67, 79, 30, 182, 220, - ]), - U256::from_bytes_le([ - 222, 15, 245, 179, 116, 31, 141, 229, 177, 175, 126, 16, 31, 198, 73, 67, 26, 95, 195, - 98, 204, 247, 129, 253, 30, 18, 164, 181, 4, 138, 198, 164, - ]), - U256::from_bytes_le([ - 183, 53, 103, 73, 146, 220, 122, 52, 89, 201, 212, 130, 61, 100, 45, 116, 40, 126, 89, - 64, 119, 179, 185, 203, 230, 137, 128, 66, 22, 36, 201, 136, - ]), - U256::from_bytes_le([ - 87, 208, 7, 148, 200, 249, 41, 189, 35, 211, 125, 100, 153, 244, 129, 206, 223, 150, - 189, 26, 178, 223, 117, 23, 239, 202, 251, 252, 173, 33, 178, 94, - ]), - U256::from_bytes_le([ - 96, 60, 62, 71, 121, 45, 122, 234, 102, 249, 34, 225, 151, 144, 173, 96, 196, 9, 199, - 171, 54, 79, 71, 176, 141, 183, 165, 237, 171, 25, 12, 214, - ]), - U256::from_bytes_le([ - 251, 175, 202, 42, 72, 251, 88, 108, 210, 16, 96, 144, 127, 94, 244, 120, 105, 57, 163, - 1, 103, 187, 3, 124, 4, 104, 238, 25, 208, 200, 145, 8, - ]), - U256::from_bytes_le([ - 196, 66, 8, 195, 78, 241, 145, 131, 158, 76, 74, 48, 236, 94, 172, 246, 16, 119, 239, - 29, 108, 227, 25, 185, 149, 26, 148, 219, 40, 220, 167, 174, - ]), - U256::from_bytes_le([ - 207, 254, 108, 11, 15, 75, 35, 46, 69, 19, 0, 94, 30, 177, 18, 4, 6, 4, 139, 168, 79, - 39, 114, 245, 24, 147, 229, 173, 195, 250, 171, 189, - ]), - U256::from_bytes_le([ - 144, 250, 196, 99, 24, 213, 168, 242, 101, 209, 89, 41, 62, 55, 180, 211, 174, 245, 33, - 238, 212, 249, 98, 195, 226, 208, 28, 120, 209, 4, 249, 230, - ]), - U256::from_bytes_le([ - 105, 193, 211, 100, 176, 174, 97, 60, 144, 173, 181, 55, 200, 195, 57, 134, 253, 86, 2, - 5, 197, 119, 215, 167, 58, 108, 188, 99, 135, 220, 58, 36, - ]), - U256::from_bytes_le([ - 189, 147, 225, 14, 113, 180, 171, 195, 10, 142, 13, 132, 79, 175, 73, 10, 233, 96, 204, - 255, 228, 185, 36, 62, 35, 177, 35, 247, 183, 2, 216, 224, - ]), - U256::from_bytes_le([ - 202, 241, 161, 197, 104, 214, 11, 93, 226, 46, 22, 9, 232, 191, 212, 208, 201, 179, 18, - 225, 251, 62, 82, 253, 21, 26, 141, 235, 161, 217, 182, 22, - ]), - U256::from_bytes_le([ - 30, 157, 113, 125, 213, 172, 170, 226, 114, 151, 16, 195, 182, 195, 80, 230, 106, 21, - 226, 44, 238, 6, 149, 102, 199, 251, 82, 108, 187, 233, 202, 180, - ]), - U256::from_bytes_le([ - 112, 190, 45, 42, 38, 187, 96, 133, 160, 61, 102, 116, 227, 15, 27, 59, 12, 194, 13, - 98, 162, 164, 161, 36, 219, 173, 117, 247, 6, 236, 46, 196, - ]), - U256::from_bytes_le([ - 101, 186, 191, 25, 234, 193, 100, 254, 44, 213, 150, 229, 110, 245, 214, 66, 157, 14, - 39, 178, 232, 26, 224, 39, 196, 28, 77, 68, 49, 108, 124, 20, - ]), - U256::from_bytes_le([ - 226, 3, 39, 103, 66, 204, 187, 119, 249, 176, 207, 215, 94, 64, 150, 241, 162, 200, - 250, 28, 217, 2, 13, 103, 77, 152, 45, 251, 170, 137, 252, 118, - ]), - U256::from_bytes_le([ - 139, 213, 243, 72, 116, 253, 237, 126, 204, 92, 100, 94, 145, 234, 104, 244, 207, 186, - 66, 192, 134, 163, 5, 112, 50, 25, 20, 171, 146, 205, 45, 53, - ]), - U256::from_bytes_le([ - 181, 8, 86, 251, 58, 1, 204, 203, 38, 153, 215, 166, 89, 1, 23, 112, 165, 105, 60, 215, - 251, 114, 247, 103, 238, 152, 182, 84, 213, 123, 208, 131, - ]), - U256::from_bytes_le([ - 150, 76, 74, 154, 78, 106, 87, 111, 176, 41, 48, 145, 246, 190, 37, 127, 170, 106, 182, - 78, 254, 145, 166, 35, 101, 160, 44, 34, 208, 55, 144, 208, - ]), - U256::from_bytes_le([ - 118, 246, 194, 135, 193, 204, 164, 206, 115, 238, 102, 82, 187, 144, 112, 33, 206, 46, - 42, 174, 140, 125, 0, 225, 111, 121, 89, 205, 3, 112, 60, 161, - ]), - U256::from_bytes_le([ - 15, 95, 93, 206, 107, 237, 4, 244, 152, 222, 154, 37, 196, 216, 15, 86, 214, 158, 25, - 46, 182, 130, 35, 248, 14, 26, 89, 235, 73, 90, 74, 230, - ]), - U256::from_bytes_le([ - 231, 13, 106, 52, 53, 239, 137, 203, 186, 254, 68, 200, 85, 5, 181, 108, 4, 224, 127, - 47, 99, 62, 129, 236, 235, 135, 0, 105, 255, 83, 170, 162, - ]), - U256::from_bytes_le([ - 243, 103, 193, 249, 159, 210, 222, 172, 142, 95, 91, 8, 18, 131, 37, 73, 20, 153, 21, - 138, 72, 88, 244, 45, 162, 192, 214, 155, 140, 202, 132, 253, - ]), - U256::from_bytes_le([ - 118, 39, 78, 139, 53, 188, 156, 128, 94, 217, 244, 106, 81, 210, 173, 76, 21, 102, 21, - 125, 168, 29, 238, 183, 221, 162, 187, 123, 215, 12, 104, 237, - ]), - U256::from_bytes_le([ - 7, 37, 46, 145, 82, 175, 23, 5, 247, 117, 117, 53, 45, 14, 23, 253, 143, 49, 6, 230, - 48, 12, 233, 87, 47, 76, 5, 67, 158, 192, 115, 245, - ]), - U256::from_bytes_le([ - 223, 199, 45, 97, 157, 114, 81, 6, 58, 102, 84, 213, 51, 154, 244, 126, 226, 165, 130, - 206, 206, 160, 73, 176, 111, 17, 11, 173, 164, 169, 198, 98, - ]), - U256::from_bytes_le([ - 133, 30, 237, 19, 54, 227, 173, 7, 68, 154, 9, 3, 29, 58, 7, 25, 34, 199, 140, 119, 21, - 36, 22, 12, 153, 135, 18, 127, 246, 51, 78, 101, - ]), - U256::from_bytes_le([ - 77, 131, 152, 95, 81, 247, 79, 217, 124, 197, 255, 208, 254, 10, 61, 128, 139, 112, - 168, 121, 36, 224, 212, 148, 56, 210, 240, 196, 178, 106, 20, 57, - ]), - U256::from_bytes_le([ - 252, 240, 191, 164, 78, 254, 105, 9, 238, 197, 203, 250, 101, 80, 192, 123, 216, 183, - 115, 158, 30, 106, 63, 97, 61, 9, 149, 40, 58, 149, 166, 214, - ]), - U256::from_bytes_le([ - 26, 54, 80, 72, 61, 99, 27, 35, 242, 222, 111, 25, 109, 198, 108, 75, 130, 52, 67, 229, - 36, 56, 198, 47, 164, 143, 134, 0, 213, 126, 67, 140, - ]), - U256::from_bytes_le([ - 200, 192, 200, 240, 144, 208, 21, 143, 243, 233, 240, 205, 74, 237, 66, 243, 138, 180, - 127, 213, 190, 0, 21, 148, 123, 166, 226, 238, 198, 175, 155, 22, - ]), - U256::from_bytes_le([ - 173, 59, 57, 59, 89, 102, 136, 88, 65, 59, 186, 169, 68, 143, 133, 119, 97, 173, 228, - 128, 106, 12, 124, 156, 0, 49, 148, 87, 217, 129, 238, 77, - ]), - U256::from_bytes_le([ - 6, 35, 101, 192, 241, 76, 32, 123, 9, 19, 226, 130, 2, 238, 182, 5, 124, 65, 155, 192, - 53, 186, 125, 216, 255, 35, 118, 198, 103, 50, 8, 140, - ]), - U256::from_bytes_le([ - 43, 73, 156, 43, 191, 116, 92, 49, 37, 60, 147, 109, 162, 14, 90, 137, 105, 193, 188, - 161, 84, 20, 24, 195, 5, 161, 86, 146, 137, 50, 129, 241, - ]), - U256::from_bytes_le([ - 92, 116, 152, 57, 217, 122, 124, 73, 86, 12, 155, 24, 180, 130, 8, 151, 96, 88, 133, - 186, 42, 50, 202, 238, 12, 176, 164, 220, 234, 6, 37, 46, - ]), - U256::from_bytes_le([ - 231, 14, 84, 54, 187, 121, 24, 120, 125, 217, 54, 155, 174, 125, 171, 57, 211, 245, - 242, 74, 150, 101, 64, 144, 78, 106, 225, 220, 141, 238, 210, 158, - ]), - U256::from_bytes_le([ - 123, 158, 195, 130, 161, 221, 44, 204, 8, 13, 37, 20, 115, 160, 235, 24, 70, 171, 224, - 237, 52, 161, 187, 119, 198, 119, 215, 58, 200, 150, 199, 18, - ]), - U256::from_bytes_le([ - 20, 32, 69, 77, 211, 8, 103, 174, 134, 63, 89, 161, 150, 9, 103, 236, 137, 245, 204, - 129, 181, 0, 138, 214, 168, 190, 164, 215, 40, 209, 198, 207, - ]), - U256::from_bytes_le([ - 128, 230, 61, 125, 135, 181, 103, 62, 77, 158, 164, 31, 172, 223, 47, 93, 254, 248, - 174, 49, 221, 69, 151, 139, 49, 62, 61, 203, 24, 40, 247, 36, - ]), - U256::from_bytes_le([ - 99, 58, 102, 96, 183, 26, 87, 205, 45, 36, 130, 2, 188, 188, 54, 68, 228, 173, 168, - 122, 175, 232, 105, 187, 253, 123, 105, 252, 255, 98, 194, 24, - ]), - U256::from_bytes_le([ - 244, 228, 6, 59, 113, 253, 99, 151, 26, 112, 163, 75, 5, 46, 45, 147, 234, 42, 182, 99, - 120, 39, 18, 36, 223, 118, 185, 149, 169, 192, 73, 198, - ]), - U256::from_bytes_le([ - 227, 121, 82, 0, 167, 52, 74, 81, 94, 62, 216, 63, 229, 233, 62, 218, 184, 176, 19, - 150, 218, 105, 141, 95, 140, 198, 239, 25, 215, 141, 111, 3, - ]), - U256::from_bytes_le([ - 109, 245, 250, 123, 233, 165, 37, 221, 23, 96, 80, 230, 248, 4, 177, 93, 255, 190, 49, - 170, 196, 166, 151, 105, 152, 49, 233, 216, 190, 220, 205, 56, - ]), - U256::from_bytes_le([ - 195, 186, 74, 36, 89, 18, 236, 54, 8, 94, 174, 221, 111, 220, 208, 160, 231, 93, 141, - 199, 110, 125, 145, 69, 45, 150, 155, 165, 36, 171, 79, 17, - ]), - U256::from_bytes_le([ - 46, 88, 38, 57, 103, 239, 1, 76, 85, 189, 108, 229, 208, 116, 111, 143, 47, 193, 25, - 64, 206, 80, 146, 123, 24, 9, 40, 40, 163, 148, 7, 139, - ]), - U256::from_bytes_le([ - 44, 125, 135, 6, 198, 176, 55, 253, 221, 18, 82, 154, 223, 24, 119, 7, 52, 116, 250, - 231, 241, 229, 94, 101, 222, 97, 228, 87, 58, 120, 182, 191, - ]), - U256::from_bytes_le([ - 224, 131, 193, 194, 98, 213, 224, 78, 95, 142, 17, 62, 16, 63, 208, 1, 90, 128, 255, - 62, 115, 220, 97, 104, 30, 227, 46, 229, 245, 63, 145, 65, - ]), - U256::from_bytes_le([ - 217, 20, 152, 65, 164, 4, 57, 177, 45, 98, 127, 131, 40, 212, 141, 195, 215, 62, 140, - 116, 110, 161, 139, 84, 244, 135, 67, 28, 156, 79, 132, 153, - ]), - U256::from_bytes_le([ - 206, 135, 11, 115, 113, 21, 11, 208, 247, 165, 192, 157, 185, 7, 85, 151, 21, 119, 103, - 43, 89, 182, 47, 41, 192, 59, 37, 182, 159, 152, 181, 190, - ]), - U256::from_bytes_le([ - 15, 202, 178, 89, 0, 31, 141, 99, 253, 155, 32, 57, 134, 247, 13, 78, 233, 12, 163, - 137, 131, 27, 65, 230, 1, 1, 239, 47, 157, 215, 48, 28, - ]), - U256::from_bytes_le([ - 99, 98, 213, 97, 193, 146, 244, 70, 192, 22, 72, 205, 185, 66, 64, 223, 53, 238, 82, - 255, 32, 132, 87, 51, 186, 231, 152, 111, 140, 167, 0, 11, - ]), - U256::from_bytes_le([ - 234, 166, 50, 152, 161, 203, 100, 77, 93, 11, 5, 180, 190, 177, 71, 74, 127, 126, 149, - 95, 202, 122, 250, 128, 189, 32, 154, 190, 212, 88, 110, 94, - ]), - U256::from_bytes_le([ - 126, 213, 154, 153, 36, 230, 133, 2, 65, 76, 249, 164, 156, 98, 45, 239, 126, 230, 21, - 7, 164, 62, 218, 17, 6, 60, 128, 71, 193, 50, 175, 29, - ]), - U256::from_bytes_le([ - 184, 20, 161, 155, 8, 175, 74, 173, 68, 181, 229, 151, 34, 20, 238, 78, 22, 45, 169, - 249, 93, 91, 157, 106, 64, 241, 170, 91, 17, 142, 153, 1, - ]), - U256::from_bytes_le([ - 40, 46, 178, 83, 198, 151, 5, 111, 24, 129, 9, 6, 168, 9, 12, 91, 17, 212, 238, 81, - 155, 198, 220, 10, 109, 238, 216, 209, 230, 142, 142, 99, - ]), - U256::from_bytes_le([ - 42, 48, 115, 219, 237, 88, 71, 188, 224, 196, 1, 219, 131, 244, 182, 130, 37, 5, 143, - 81, 219, 119, 14, 185, 161, 79, 68, 225, 151, 68, 241, 140, - ]), - U256::from_bytes_le([ - 140, 81, 219, 118, 213, 103, 0, 163, 212, 31, 123, 170, 1, 77, 141, 146, 94, 19, 99, - 120, 18, 158, 120, 113, 122, 248, 40, 228, 225, 34, 55, 239, - ]), - U256::from_bytes_le([ - 43, 177, 185, 179, 151, 154, 156, 185, 203, 183, 180, 54, 36, 42, 123, 95, 215, 128, - 112, 109, 104, 49, 30, 61, 8, 140, 130, 71, 107, 40, 109, 138, - ]), - U256::from_bytes_le([ - 163, 161, 220, 209, 26, 112, 25, 206, 142, 67, 41, 199, 174, 242, 217, 147, 90, 147, - 175, 176, 136, 180, 231, 181, 36, 136, 66, 152, 53, 66, 19, 126, - ]), - U256::from_bytes_le([ - 181, 193, 47, 200, 136, 168, 68, 251, 157, 59, 88, 88, 143, 84, 87, 54, 8, 111, 172, - 10, 37, 133, 242, 25, 185, 128, 244, 202, 146, 243, 66, 100, - ]), - U256::from_bytes_le([ - 122, 153, 147, 228, 154, 187, 138, 248, 148, 178, 113, 87, 181, 53, 55, 150, 97, 228, - 139, 155, 162, 217, 153, 178, 70, 230, 173, 122, 90, 239, 226, 224, - ]), - U256::from_bytes_le([ - 87, 182, 231, 95, 3, 8, 145, 105, 74, 224, 238, 222, 212, 116, 215, 104, 18, 45, 135, - 195, 86, 41, 190, 150, 215, 88, 8, 133, 132, 50, 212, 48, - ]), - U256::from_bytes_le([ - 224, 225, 38, 244, 19, 31, 101, 135, 239, 207, 21, 21, 165, 212, 119, 28, 56, 219, 143, - 96, 141, 241, 86, 77, 204, 181, 56, 99, 51, 129, 54, 80, - ]), - U256::from_bytes_le([ - 171, 128, 206, 45, 143, 218, 155, 16, 227, 43, 101, 253, 215, 16, 142, 25, 151, 116, - 40, 198, 77, 64, 89, 113, 233, 213, 17, 17, 8, 54, 148, 67, - ]), - U256::from_bytes_le([ - 109, 183, 244, 243, 8, 194, 196, 176, 252, 249, 245, 61, 173, 127, 216, 149, 174, 229, - 175, 249, 149, 128, 56, 247, 120, 28, 43, 213, 12, 186, 213, 95, - ]), - U256::from_bytes_le([ - 57, 172, 177, 163, 16, 76, 82, 34, 255, 85, 12, 227, 167, 121, 47, 28, 11, 106, 223, - 122, 48, 136, 164, 158, 47, 67, 15, 255, 111, 38, 64, 227, - ]), - U256::from_bytes_le([ - 88, 48, 21, 175, 73, 216, 200, 24, 213, 62, 89, 25, 251, 250, 60, 51, 198, 173, 215, 0, - 225, 36, 231, 55, 144, 20, 35, 252, 185, 169, 17, 158, - ]), - U256::from_bytes_le([ - 72, 159, 255, 86, 182, 186, 148, 100, 232, 54, 91, 176, 134, 61, 4, 140, 134, 142, 131, - 175, 118, 150, 72, 31, 0, 201, 63, 197, 101, 56, 226, 250, - ]), - U256::from_bytes_le([ - 35, 247, 159, 220, 103, 253, 21, 219, 83, 47, 252, 33, 15, 82, 255, 157, 215, 238, 194, - 127, 82, 5, 18, 237, 147, 6, 226, 184, 168, 160, 225, 24, - ]), - U256::from_bytes_le([ - 125, 100, 59, 198, 245, 62, 53, 77, 255, 149, 83, 199, 82, 42, 68, 224, 78, 217, 222, - 181, 186, 147, 40, 67, 113, 193, 186, 92, 147, 4, 102, 170, - ]), - U256::from_bytes_le([ - 45, 57, 118, 28, 48, 141, 88, 188, 149, 211, 110, 32, 122, 12, 48, 107, 123, 79, 216, - 90, 87, 66, 224, 158, 214, 108, 206, 133, 148, 108, 22, 195, - ]), - U256::from_bytes_le([ - 134, 23, 79, 91, 252, 232, 30, 200, 141, 39, 221, 43, 216, 212, 194, 23, 10, 9, 105, - 132, 209, 180, 83, 243, 236, 0, 145, 53, 251, 191, 142, 156, - ]), - U256::from_bytes_le([ - 39, 87, 94, 195, 251, 48, 27, 210, 205, 166, 135, 16, 73, 144, 134, 9, 246, 196, 178, - 10, 12, 41, 26, 253, 33, 174, 243, 15, 150, 8, 81, 179, - ]), - U256::from_bytes_le([ - 184, 192, 243, 120, 42, 146, 100, 138, 70, 117, 95, 13, 241, 85, 87, 74, 7, 54, 150, - 180, 221, 181, 210, 75, 76, 155, 150, 90, 126, 70, 157, 154, - ]), - U256::from_bytes_le([ - 74, 172, 30, 255, 46, 8, 178, 117, 0, 124, 234, 229, 153, 216, 211, 41, 110, 162, 186, - 231, 151, 64, 54, 129, 174, 144, 245, 153, 128, 183, 242, 59, - ]), - U256::from_bytes_le([ - 95, 122, 68, 78, 214, 144, 136, 31, 172, 126, 215, 168, 67, 116, 92, 208, 242, 244, 0, - 182, 182, 232, 148, 154, 235, 193, 31, 34, 220, 143, 31, 177, - ]), - U256::from_bytes_le([ - 242, 120, 102, 193, 86, 44, 238, 159, 1, 17, 250, 202, 236, 13, 229, 182, 188, 134, - 142, 140, 155, 70, 162, 180, 25, 144, 72, 148, 134, 244, 199, 202, - ]), - U256::from_bytes_le([ - 208, 118, 146, 92, 188, 229, 213, 111, 39, 159, 234, 45, 26, 37, 197, 115, 91, 149, 11, - 59, 33, 28, 77, 163, 70, 20, 57, 99, 3, 177, 48, 12, - ]), - U256::from_bytes_le([ - 16, 148, 26, 231, 123, 97, 90, 157, 3, 121, 156, 169, 129, 244, 2, 142, 192, 236, 29, - 37, 126, 137, 210, 113, 132, 251, 154, 161, 9, 107, 161, 32, - ]), - U256::from_bytes_le([ - 160, 129, 8, 45, 140, 240, 195, 183, 119, 238, 25, 241, 22, 162, 67, 81, 181, 220, 11, - 10, 129, 110, 237, 63, 174, 215, 92, 54, 210, 25, 151, 70, - ]), - U256::from_bytes_le([ - 56, 86, 111, 247, 157, 109, 218, 241, 134, 243, 41, 97, 224, 87, 3, 176, 9, 122, 143, - 64, 228, 212, 126, 160, 49, 3, 39, 135, 154, 24, 136, 105, - ]), - U256::from_bytes_le([ - 169, 207, 46, 88, 215, 140, 217, 152, 91, 2, 200, 71, 11, 144, 203, 14, 65, 109, 57, - 148, 113, 183, 136, 132, 224, 123, 214, 61, 182, 60, 149, 168, - ]), - U256::from_bytes_le([ - 211, 82, 116, 39, 253, 172, 140, 22, 126, 109, 121, 113, 31, 159, 183, 73, 222, 50, 35, - 33, 222, 238, 113, 188, 52, 244, 20, 48, 181, 52, 244, 58, - ]), - U256::from_bytes_le([ - 234, 11, 4, 121, 140, 252, 242, 190, 241, 4, 238, 40, 50, 86, 240, 128, 226, 189, 134, - 53, 154, 62, 92, 52, 64, 189, 141, 179, 14, 68, 183, 28, - ]), - U256::from_bytes_le([ - 96, 238, 252, 188, 211, 25, 191, 75, 210, 106, 27, 209, 189, 118, 185, 68, 214, 129, - 230, 94, 108, 20, 144, 194, 63, 154, 131, 146, 198, 230, 35, 149, - ]), - U256::from_bytes_le([ - 155, 155, 154, 116, 225, 75, 97, 55, 134, 150, 133, 110, 243, 212, 153, 141, 221, 198, - 155, 124, 135, 103, 192, 165, 72, 109, 36, 39, 121, 161, 249, 107, - ]), - U256::from_bytes_le([ - 232, 126, 150, 98, 220, 143, 197, 13, 116, 225, 47, 224, 57, 20, 29, 142, 216, 202, 50, - 163, 68, 101, 109, 121, 203, 78, 173, 194, 82, 225, 105, 50, - ]), - U256::from_bytes_le([ - 186, 187, 37, 250, 186, 163, 52, 249, 66, 149, 99, 20, 109, 160, 9, 81, 48, 187, 173, - 156, 156, 47, 219, 135, 42, 73, 195, 78, 191, 120, 86, 68, - ]), - U256::from_bytes_le([ - 185, 110, 17, 170, 23, 88, 78, 232, 179, 18, 196, 172, 244, 207, 89, 109, 213, 29, 251, - 117, 94, 125, 200, 125, 156, 152, 70, 109, 156, 42, 30, 169, - ]), - U256::from_bytes_le([ - 134, 48, 170, 93, 63, 138, 212, 252, 253, 46, 220, 164, 31, 78, 29, 66, 250, 195, 113, - 6, 130, 46, 7, 40, 125, 61, 210, 223, 218, 126, 80, 90, - ]), - U256::from_bytes_le([ - 197, 225, 36, 77, 20, 71, 175, 21, 192, 69, 5, 9, 160, 182, 35, 2, 51, 217, 238, 13, - 34, 49, 223, 246, 81, 193, 31, 26, 75, 116, 190, 219, - ]), - U256::from_bytes_le([ - 43, 133, 97, 227, 210, 149, 255, 0, 206, 5, 186, 233, 37, 221, 100, 16, 18, 170, 141, - 183, 75, 185, 90, 35, 254, 49, 92, 191, 35, 125, 169, 227, - ]), - U256::from_bytes_le([ - 172, 213, 173, 150, 100, 55, 64, 93, 135, 211, 14, 203, 150, 198, 84, 240, 185, 53, - 195, 200, 161, 152, 170, 181, 248, 178, 27, 58, 142, 170, 241, 81, - ]), - U256::from_bytes_le([ - 224, 92, 10, 153, 70, 17, 191, 193, 83, 133, 2, 253, 51, 207, 249, 99, 8, 204, 143, - 159, 208, 44, 73, 34, 247, 29, 11, 121, 144, 65, 80, 183, - ]), - U256::from_bytes_le([ - 131, 227, 92, 224, 96, 245, 152, 31, 210, 252, 1, 94, 4, 101, 157, 214, 128, 229, 246, - 133, 235, 53, 110, 152, 145, 250, 187, 231, 62, 218, 79, 100, - ]), - U256::from_bytes_le([ - 12, 248, 67, 184, 97, 34, 129, 27, 236, 134, 250, 6, 239, 154, 63, 118, 163, 217, 39, - 169, 43, 190, 234, 26, 129, 113, 141, 90, 156, 156, 157, 90, - ]), - U256::from_bytes_le([ - 147, 167, 113, 161, 251, 14, 251, 84, 46, 88, 50, 121, 139, 201, 68, 40, 15, 112, 251, - 38, 170, 19, 23, 83, 29, 187, 228, 44, 177, 239, 170, 91, - ]), - U256::from_bytes_le([ - 112, 23, 213, 170, 221, 13, 128, 3, 19, 215, 139, 123, 65, 235, 67, 189, 123, 23, 237, - 189, 233, 77, 0, 21, 152, 131, 110, 176, 221, 93, 96, 51, - ]), - U256::from_bytes_le([ - 209, 83, 120, 237, 0, 157, 62, 131, 68, 111, 79, 251, 193, 72, 233, 54, 80, 37, 131, - 26, 200, 99, 45, 8, 241, 72, 81, 25, 242, 130, 3, 43, - ]), - U256::from_bytes_le([ - 21, 159, 54, 152, 200, 94, 117, 137, 33, 85, 172, 186, 205, 6, 80, 51, 134, 125, 225, - 225, 9, 66, 182, 14, 202, 72, 159, 131, 213, 172, 24, 29, - ]), - U256::from_bytes_le([ - 125, 195, 4, 203, 241, 114, 66, 171, 107, 153, 161, 96, 83, 228, 220, 74, 21, 165, 139, - 252, 250, 255, 36, 141, 145, 126, 8, 135, 176, 196, 136, 95, - ]), - U256::from_bytes_le([ - 147, 41, 45, 49, 123, 89, 118, 140, 193, 82, 110, 71, 73, 186, 207, 165, 89, 209, 143, - 168, 51, 247, 20, 71, 44, 189, 147, 64, 88, 199, 131, 182, - ]), - U256::from_bytes_le([ - 160, 170, 242, 246, 247, 118, 68, 216, 70, 180, 212, 171, 127, 160, 180, 28, 74, 118, - 65, 36, 172, 87, 33, 34, 87, 149, 4, 50, 66, 251, 60, 203, - ]), - U256::from_bytes_le([ - 45, 106, 143, 194, 179, 106, 145, 137, 122, 187, 248, 37, 32, 133, 226, 119, 114, 215, - 149, 80, 201, 252, 43, 70, 27, 79, 176, 103, 8, 82, 112, 182, - ]), - U256::from_bytes_le([ - 30, 66, 80, 171, 135, 87, 79, 100, 8, 18, 135, 30, 204, 92, 244, 116, 25, 11, 65, 115, - 157, 73, 19, 100, 205, 229, 61, 80, 155, 156, 168, 187, - ]), - U256::from_bytes_le([ - 167, 159, 244, 236, 238, 41, 75, 119, 135, 189, 162, 21, 220, 236, 15, 131, 69, 80, - 198, 36, 219, 227, 90, 63, 14, 45, 84, 253, 226, 159, 146, 45, - ]), - U256::from_bytes_le([ - 235, 248, 13, 128, 54, 96, 228, 29, 154, 39, 1, 75, 114, 93, 176, 89, 127, 144, 79, 93, - 61, 175, 146, 231, 12, 141, 42, 69, 166, 58, 4, 21, - ]), - U256::from_bytes_le([ - 167, 58, 47, 4, 3, 72, 239, 86, 37, 151, 82, 53, 84, 220, 212, 26, 97, 165, 114, 55, - 44, 194, 79, 182, 48, 94, 19, 121, 33, 244, 188, 79, - ]), - U256::from_bytes_le([ - 76, 92, 53, 237, 251, 168, 168, 147, 179, 213, 5, 111, 182, 249, 122, 44, 212, 168, - 141, 67, 141, 161, 109, 91, 114, 190, 198, 105, 120, 81, 39, 66, - ]), - U256::from_bytes_le([ - 71, 61, 123, 152, 152, 223, 27, 147, 13, 193, 236, 87, 68, 254, 175, 249, 22, 36, 35, - 106, 175, 145, 30, 161, 0, 254, 50, 150, 116, 0, 65, 42, - ]), - U256::from_bytes_le([ - 160, 250, 172, 98, 29, 6, 67, 101, 23, 83, 149, 84, 3, 30, 96, 240, 59, 195, 178, 252, - 101, 124, 155, 109, 105, 43, 206, 247, 43, 235, 206, 65, - ]), - U256::from_bytes_le([ - 127, 8, 198, 128, 97, 109, 39, 51, 60, 2, 2, 85, 65, 55, 164, 218, 16, 20, 114, 180, - 158, 43, 196, 176, 175, 8, 111, 183, 103, 161, 197, 3, - ]), - U256::from_bytes_le([ - 83, 66, 136, 9, 65, 167, 86, 83, 46, 12, 223, 250, 235, 57, 142, 65, 57, 73, 5, 14, - 238, 39, 2, 101, 98, 202, 185, 130, 101, 197, 247, 56, - ]), - U256::from_bytes_le([ - 4, 62, 58, 207, 238, 239, 28, 208, 179, 216, 139, 117, 30, 227, 94, 68, 208, 58, 143, - 98, 59, 64, 79, 40, 202, 83, 197, 254, 108, 139, 119, 192, - ]), - U256::from_bytes_le([ - 110, 10, 238, 235, 212, 134, 145, 150, 70, 141, 47, 120, 158, 185, 34, 209, 13, 47, - 143, 149, 181, 214, 202, 132, 186, 199, 30, 180, 167, 241, 142, 16, - ]), - U256::from_bytes_le([ - 128, 85, 18, 78, 38, 60, 227, 145, 99, 2, 96, 76, 173, 67, 89, 182, 51, 253, 77, 250, - 132, 176, 62, 26, 196, 179, 213, 71, 16, 22, 182, 224, - ]), - U256::from_bytes_le([ - 102, 228, 122, 195, 188, 229, 118, 171, 55, 237, 129, 14, 101, 164, 171, 19, 179, 120, - 197, 59, 232, 68, 53, 114, 52, 67, 20, 118, 85, 92, 16, 71, - ]), - U256::from_bytes_le([ - 55, 1, 96, 244, 27, 29, 198, 236, 35, 50, 185, 219, 206, 166, 241, 240, 223, 12, 188, - 242, 20, 63, 86, 198, 137, 177, 47, 122, 96, 209, 99, 70, - ]), - U256::from_bytes_le([ - 1, 161, 208, 57, 141, 211, 225, 109, 218, 175, 138, 179, 238, 187, 168, 162, 207, 71, - 57, 143, 86, 86, 37, 35, 112, 251, 46, 166, 180, 82, 239, 38, - ]), - U256::from_bytes_le([ - 109, 245, 27, 146, 74, 243, 141, 0, 138, 239, 22, 36, 233, 248, 17, 240, 109, 118, 184, - 176, 125, 63, 177, 114, 132, 57, 197, 225, 48, 125, 202, 115, - ]), - U256::from_bytes_le([ - 57, 146, 158, 106, 100, 179, 122, 13, 212, 228, 174, 31, 176, 145, 64, 177, 64, 69, 50, - 94, 244, 112, 22, 5, 105, 77, 90, 97, 250, 167, 32, 141, - ]), - U256::from_bytes_le([ - 47, 198, 180, 26, 233, 190, 162, 18, 38, 87, 255, 163, 240, 167, 14, 218, 177, 65, 117, - 180, 132, 208, 105, 143, 189, 224, 172, 231, 172, 173, 14, 46, - ]), - U256::from_bytes_le([ - 140, 233, 71, 150, 49, 239, 83, 220, 211, 16, 204, 194, 161, 223, 132, 188, 183, 153, - 188, 170, 140, 105, 74, 35, 238, 219, 198, 111, 162, 70, 248, 34, - ]), - U256::from_bytes_le([ - 111, 129, 179, 156, 209, 200, 234, 88, 157, 0, 88, 24, 106, 181, 132, 254, 244, 174, - 133, 254, 179, 9, 127, 41, 170, 77, 118, 82, 134, 135, 215, 244, - ]), - U256::from_bytes_le([ - 178, 129, 81, 124, 187, 173, 203, 188, 7, 175, 210, 62, 231, 207, 135, 135, 11, 145, - 82, 228, 22, 96, 60, 238, 87, 53, 208, 201, 75, 251, 215, 178, - ]), - U256::from_bytes_le([ - 54, 111, 251, 115, 31, 73, 219, 6, 237, 84, 22, 23, 166, 41, 109, 232, 15, 161, 114, - 241, 71, 7, 208, 111, 153, 177, 182, 113, 111, 65, 125, 210, - ]), - U256::from_bytes_le([ - 226, 2, 219, 29, 200, 174, 10, 153, 133, 248, 147, 31, 15, 162, 198, 50, 61, 145, 250, - 92, 46, 21, 64, 223, 209, 67, 94, 59, 193, 61, 162, 221, - ]), - U256::from_bytes_le([ - 13, 238, 227, 150, 16, 66, 163, 117, 131, 173, 55, 95, 121, 214, 238, 112, 49, 146, 69, - 174, 43, 33, 108, 156, 116, 170, 26, 103, 221, 2, 104, 216, - ]), - U256::from_bytes_le([ - 113, 0, 167, 156, 190, 52, 46, 82, 243, 113, 157, 18, 135, 3, 213, 126, 46, 22, 104, - 33, 144, 149, 232, 49, 235, 6, 185, 35, 178, 253, 116, 65, - ]), - U256::from_bytes_le([ - 87, 49, 107, 57, 218, 151, 213, 160, 171, 15, 210, 127, 45, 252, 254, 19, 59, 54, 197, - 133, 132, 37, 198, 17, 211, 84, 116, 29, 123, 143, 90, 41, - ]), - U256::from_bytes_le([ - 231, 202, 75, 43, 254, 65, 106, 42, 128, 168, 204, 157, 11, 189, 117, 128, 184, 188, - 228, 58, 67, 232, 83, 239, 90, 173, 69, 66, 211, 152, 240, 104, - ]), - U256::from_bytes_le([ - 119, 15, 255, 30, 121, 176, 181, 188, 221, 64, 41, 222, 116, 36, 199, 174, 195, 186, - 168, 65, 8, 226, 218, 92, 86, 89, 68, 155, 113, 5, 192, 135, - ]), - U256::from_bytes_le([ - 154, 177, 113, 213, 104, 33, 16, 123, 136, 113, 117, 137, 15, 29, 51, 163, 117, 86, 31, - 251, 220, 33, 35, 128, 111, 161, 207, 106, 18, 216, 197, 231, - ]), - U256::from_bytes_le([ - 158, 7, 5, 58, 190, 170, 54, 2, 236, 20, 64, 147, 164, 68, 105, 88, 93, 63, 140, 14, - 96, 103, 141, 239, 107, 170, 68, 48, 106, 41, 33, 118, - ]), - U256::from_bytes_le([ - 247, 105, 241, 197, 73, 120, 93, 250, 74, 10, 28, 90, 247, 64, 117, 107, 225, 37, 104, - 184, 58, 143, 180, 202, 171, 237, 130, 5, 176, 124, 7, 230, - ]), - U256::from_bytes_le([ - 136, 0, 100, 224, 221, 204, 129, 99, 203, 202, 27, 94, 43, 113, 66, 128, 100, 217, 131, - 245, 232, 91, 159, 12, 133, 93, 173, 27, 3, 53, 212, 13, - ]), - U256::from_bytes_le([ - 166, 148, 216, 63, 72, 107, 91, 68, 188, 160, 149, 77, 28, 37, 154, 28, 247, 55, 160, - 90, 173, 62, 247, 99, 207, 2, 254, 16, 66, 57, 237, 67, - ]), - U256::from_bytes_le([ - 13, 179, 61, 117, 140, 68, 238, 11, 241, 172, 99, 235, 89, 105, 127, 253, 107, 227, - 196, 168, 91, 190, 145, 120, 200, 79, 116, 75, 91, 91, 232, 210, - ]), - U256::from_bytes_le([ - 36, 137, 231, 151, 114, 195, 204, 29, 110, 226, 17, 172, 125, 151, 224, 63, 182, 40, - 17, 212, 212, 180, 219, 181, 190, 241, 116, 193, 237, 111, 248, 237, - ]), - U256::from_bytes_le([ - 103, 173, 110, 205, 187, 113, 38, 214, 130, 112, 52, 219, 195, 177, 16, 140, 156, 97, - 219, 35, 215, 250, 93, 220, 100, 168, 24, 54, 189, 238, 190, 72, - ]), - U256::from_bytes_le([ - 214, 218, 255, 80, 19, 115, 34, 43, 60, 150, 50, 9, 224, 147, 51, 82, 16, 209, 69, 192, - 82, 29, 211, 62, 150, 187, 221, 28, 177, 35, 179, 119, - ]), - U256::from_bytes_le([ - 98, 82, 110, 181, 23, 168, 102, 206, 222, 18, 243, 103, 164, 184, 23, 219, 6, 241, 128, - 185, 144, 169, 129, 134, 4, 109, 255, 209, 109, 152, 55, 166, - ]), - U256::from_bytes_le([ - 61, 35, 187, 30, 3, 253, 246, 110, 128, 198, 40, 137, 249, 162, 150, 19, 219, 73, 118, - 104, 73, 192, 200, 254, 139, 240, 179, 51, 248, 17, 90, 15, - ]), - U256::from_bytes_le([ - 178, 81, 64, 145, 198, 147, 26, 30, 229, 138, 108, 99, 44, 55, 209, 220, 157, 176, 119, - 233, 150, 172, 100, 194, 250, 53, 118, 161, 241, 42, 75, 53, - ]), - U256::from_bytes_le([ - 6, 199, 167, 83, 65, 12, 182, 181, 90, 247, 251, 39, 116, 191, 170, 93, 56, 198, 175, - 152, 49, 139, 47, 51, 22, 163, 48, 247, 155, 181, 117, 250, - ]), - U256::from_bytes_le([ - 193, 104, 192, 143, 218, 249, 174, 186, 226, 227, 3, 233, 47, 101, 197, 149, 227, 226, - 2, 58, 68, 156, 75, 120, 68, 214, 134, 11, 100, 51, 3, 15, - ]), - U256::from_bytes_le([ - 88, 181, 79, 189, 38, 149, 230, 247, 45, 103, 125, 222, 163, 105, 163, 81, 148, 191, - 177, 137, 77, 177, 35, 199, 142, 16, 142, 159, 97, 69, 102, 110, - ]), - U256::from_bytes_le([ - 119, 107, 187, 103, 137, 158, 191, 83, 33, 253, 161, 3, 58, 181, 112, 34, 61, 175, 192, - 236, 202, 5, 17, 137, 142, 83, 186, 217, 65, 212, 117, 203, - ]), - U256::from_bytes_le([ - 227, 40, 86, 57, 98, 107, 85, 81, 255, 152, 240, 213, 253, 170, 131, 165, 201, 41, 75, - 167, 124, 212, 137, 124, 173, 32, 12, 229, 95, 4, 252, 60, - ]), - U256::from_bytes_le([ - 176, 226, 61, 30, 196, 214, 151, 145, 149, 210, 125, 167, 82, 161, 224, 174, 65, 197, - 223, 165, 109, 223, 55, 127, 203, 192, 170, 73, 59, 212, 127, 88, - ]), - U256::from_bytes_le([ - 201, 35, 20, 184, 196, 234, 242, 237, 192, 160, 83, 88, 217, 254, 130, 42, 122, 237, - 164, 106, 137, 84, 137, 79, 223, 33, 213, 86, 142, 98, 21, 219, - ]), - U256::from_bytes_le([ - 128, 157, 219, 183, 181, 70, 41, 190, 55, 123, 22, 187, 58, 70, 199, 20, 230, 22, 154, - 249, 50, 238, 240, 166, 166, 84, 166, 165, 154, 120, 15, 4, - ]), - U256::from_bytes_le([ - 27, 155, 220, 238, 59, 201, 9, 2, 178, 172, 83, 47, 233, 5, 80, 170, 142, 68, 138, 142, - 139, 159, 120, 141, 128, 165, 131, 143, 240, 180, 200, 225, - ]), - U256::from_bytes_le([ - 158, 38, 78, 66, 136, 106, 55, 118, 178, 238, 189, 197, 214, 78, 88, 137, 244, 188, - 123, 5, 20, 56, 210, 208, 190, 208, 21, 233, 193, 214, 200, 194, - ]), - U256::from_bytes_le([ - 205, 169, 58, 23, 171, 7, 74, 208, 94, 2, 9, 44, 138, 103, 229, 115, 224, 177, 170, 49, - 67, 218, 152, 53, 183, 170, 132, 53, 233, 32, 52, 23, - ]), - U256::from_bytes_le([ - 165, 200, 3, 80, 189, 116, 109, 222, 84, 127, 208, 162, 100, 14, 44, 14, 195, 233, 0, - 62, 71, 82, 44, 115, 68, 27, 81, 97, 196, 13, 28, 253, - ]), - U256::from_bytes_le([ - 220, 46, 135, 204, 254, 87, 122, 47, 86, 173, 150, 227, 153, 198, 48, 180, 56, 221, - 123, 17, 118, 75, 190, 203, 217, 145, 138, 60, 7, 22, 62, 18, - ]), - U256::from_bytes_le([ - 86, 106, 104, 181, 180, 96, 96, 27, 148, 195, 128, 156, 211, 59, 205, 30, 130, 19, 3, - 124, 243, 51, 27, 87, 166, 229, 186, 127, 214, 20, 211, 117, - ]), - U256::from_bytes_le([ - 67, 25, 78, 184, 204, 203, 40, 21, 179, 236, 223, 93, 131, 13, 32, 146, 208, 189, 208, - 145, 209, 138, 142, 18, 50, 101, 150, 215, 154, 255, 28, 46, - ]), - U256::from_bytes_le([ - 231, 244, 61, 70, 189, 71, 69, 27, 49, 131, 116, 168, 115, 136, 144, 80, 195, 121, 142, - 41, 200, 223, 29, 137, 48, 111, 162, 108, 115, 83, 126, 178, - ]), - U256::from_bytes_le([ - 237, 137, 4, 148, 46, 5, 202, 196, 168, 27, 23, 3, 29, 33, 191, 181, 132, 106, 76, 1, - 101, 28, 58, 51, 85, 1, 166, 47, 164, 141, 25, 13, - ]), - U256::from_bytes_le([ - 165, 59, 92, 211, 92, 138, 121, 182, 29, 226, 63, 161, 255, 61, 213, 52, 168, 165, 154, - 200, 209, 252, 113, 56, 69, 219, 61, 172, 57, 120, 238, 14, - ]), - U256::from_bytes_le([ - 157, 43, 231, 255, 31, 104, 213, 7, 54, 250, 120, 30, 183, 226, 11, 220, 220, 183, 67, - 135, 237, 70, 89, 211, 244, 177, 202, 36, 98, 175, 65, 17, - ]), - U256::from_bytes_le([ - 151, 154, 195, 178, 115, 103, 203, 239, 201, 251, 225, 200, 32, 133, 244, 3, 136, 74, - 163, 21, 219, 24, 95, 158, 145, 209, 64, 173, 223, 119, 158, 248, - ]), - U256::from_bytes_le([ - 185, 220, 16, 62, 190, 30, 219, 31, 36, 19, 73, 191, 169, 9, 109, 143, 105, 202, 134, - 37, 55, 22, 119, 52, 146, 194, 224, 196, 51, 176, 158, 91, - ]), - U256::from_bytes_le([ - 50, 72, 1, 59, 0, 109, 220, 138, 196, 145, 238, 135, 92, 97, 176, 133, 15, 222, 134, - 222, 1, 190, 7, 58, 134, 82, 252, 9, 112, 2, 90, 166, - ]), - U256::from_bytes_le([ - 27, 221, 196, 110, 118, 131, 60, 14, 85, 65, 50, 128, 50, 84, 228, 108, 79, 33, 169, - 204, 150, 224, 184, 67, 50, 249, 224, 247, 121, 188, 123, 72, - ]), - U256::from_bytes_le([ - 126, 173, 146, 22, 136, 123, 208, 175, 35, 221, 68, 242, 213, 84, 73, 39, 85, 13, 250, - 137, 201, 106, 151, 26, 93, 184, 226, 6, 181, 100, 204, 122, - ]), - U256::from_bytes_le([ - 192, 236, 208, 51, 89, 252, 137, 130, 41, 105, 131, 37, 24, 217, 150, 244, 156, 232, - 184, 125, 48, 130, 82, 254, 108, 57, 80, 225, 84, 72, 215, 253, - ]), - U256::from_bytes_le([ - 23, 196, 188, 79, 56, 180, 167, 11, 254, 50, 226, 118, 5, 35, 214, 91, 113, 70, 200, - 225, 155, 237, 85, 169, 194, 109, 97, 77, 232, 83, 31, 247, - ]), - U256::from_bytes_le([ - 53, 127, 57, 195, 224, 103, 40, 226, 4, 193, 218, 246, 94, 45, 159, 34, 13, 86, 164, - 15, 18, 108, 97, 13, 73, 202, 66, 195, 246, 2, 157, 2, - ]), - U256::from_bytes_le([ - 192, 85, 193, 195, 198, 7, 1, 224, 117, 156, 222, 48, 32, 163, 239, 128, 142, 187, 222, - 47, 137, 196, 245, 214, 228, 166, 252, 32, 193, 11, 94, 126, - ]), - U256::from_bytes_le([ - 50, 66, 171, 189, 114, 125, 200, 128, 126, 189, 71, 26, 188, 179, 49, 129, 83, 97, 97, - 207, 185, 51, 36, 113, 245, 227, 0, 122, 203, 248, 20, 212, - ]), - U256::from_bytes_le([ - 232, 34, 47, 67, 25, 110, 186, 182, 124, 98, 163, 239, 185, 251, 218, 227, 53, 127, - 230, 56, 224, 180, 98, 181, 131, 247, 118, 184, 149, 17, 194, 52, - ]), - U256::from_bytes_le([ - 190, 144, 166, 167, 55, 113, 179, 202, 159, 155, 111, 150, 91, 8, 240, 138, 254, 193, - 30, 231, 171, 79, 78, 240, 110, 84, 80, 58, 57, 52, 144, 112, - ]), - U256::from_bytes_le([ - 7, 229, 87, 17, 135, 252, 117, 45, 148, 250, 32, 219, 109, 251, 191, 123, 216, 191, - 218, 115, 193, 119, 38, 40, 174, 112, 228, 21, 35, 141, 217, 59, - ]), - U256::from_bytes_le([ - 126, 149, 241, 84, 84, 186, 144, 3, 235, 140, 232, 181, 49, 151, 124, 249, 142, 232, - 72, 194, 218, 154, 76, 162, 115, 102, 163, 65, 41, 30, 103, 121, - ]), - U256::from_bytes_le([ - 233, 138, 195, 83, 10, 172, 120, 245, 77, 228, 211, 65, 89, 119, 4, 21, 180, 46, 173, - 131, 147, 251, 181, 155, 240, 171, 148, 32, 222, 64, 236, 240, - ]), - U256::from_bytes_le([ - 239, 4, 241, 20, 20, 47, 69, 183, 246, 46, 253, 11, 38, 128, 43, 144, 147, 71, 116, - 181, 177, 130, 213, 201, 235, 72, 140, 108, 34, 146, 239, 231, - ]), - U256::from_bytes_le([ - 140, 20, 216, 96, 234, 252, 146, 38, 130, 218, 14, 49, 209, 54, 29, 101, 171, 125, 129, - 125, 12, 76, 121, 183, 196, 162, 115, 182, 216, 149, 142, 23, - ]), - U256::from_bytes_le([ - 6, 6, 218, 202, 66, 74, 50, 244, 147, 76, 39, 220, 47, 224, 110, 192, 22, 151, 230, - 155, 110, 54, 189, 223, 53, 239, 181, 241, 227, 123, 30, 196, - ]), - U256::from_bytes_le([ - 51, 124, 126, 41, 7, 193, 99, 56, 189, 194, 120, 99, 40, 168, 184, 148, 199, 48, 165, - 18, 50, 14, 144, 187, 70, 179, 101, 80, 116, 136, 88, 228, - ]), - U256::from_bytes_le([ - 2, 126, 253, 199, 94, 126, 119, 27, 228, 86, 216, 155, 132, 114, 246, 107, 113, 42, - 145, 30, 116, 41, 22, 19, 203, 236, 117, 135, 200, 248, 15, 44, - ]), - U256::from_bytes_le([ - 104, 196, 191, 71, 193, 220, 14, 171, 41, 174, 81, 197, 147, 61, 63, 84, 158, 35, 115, - 35, 163, 214, 125, 243, 91, 207, 246, 12, 241, 173, 100, 142, - ]), - U256::from_bytes_le([ - 95, 145, 21, 229, 118, 20, 104, 255, 35, 205, 80, 255, 242, 105, 139, 253, 188, 140, - 143, 47, 251, 222, 99, 100, 29, 37, 253, 110, 199, 106, 15, 138, - ]), - U256::from_bytes_le([ - 85, 251, 42, 189, 113, 70, 121, 127, 47, 23, 195, 158, 152, 225, 6, 143, 7, 126, 137, - 143, 31, 7, 48, 105, 10, 23, 74, 45, 73, 0, 100, 67, - ]), - U256::from_bytes_le([ - 200, 203, 105, 246, 39, 37, 135, 40, 183, 40, 217, 30, 43, 252, 92, 19, 155, 15, 16, - 59, 57, 252, 134, 239, 80, 45, 69, 65, 174, 128, 40, 221, - ]), - U256::from_bytes_le([ - 143, 254, 190, 196, 173, 21, 121, 212, 99, 91, 98, 243, 227, 129, 74, 127, 34, 116, 70, - 155, 66, 185, 148, 193, 187, 63, 9, 215, 186, 144, 74, 172, - ]), - U256::from_bytes_le([ - 182, 23, 118, 170, 64, 177, 157, 84, 119, 173, 141, 219, 40, 202, 63, 45, 222, 65, 39, - 57, 101, 196, 184, 221, 120, 188, 239, 29, 223, 226, 245, 224, - ]), - U256::from_bytes_le([ - 30, 247, 157, 105, 205, 82, 173, 35, 126, 134, 84, 34, 3, 125, 35, 212, 67, 100, 43, - 77, 180, 156, 167, 191, 41, 35, 218, 100, 90, 193, 140, 121, - ]), - U256::from_bytes_le([ - 208, 104, 194, 231, 121, 241, 171, 145, 57, 65, 120, 173, 190, 143, 34, 152, 207, 213, - 167, 192, 150, 96, 14, 244, 141, 152, 27, 153, 135, 87, 89, 175, - ]), - U256::from_bytes_le([ - 25, 212, 231, 192, 162, 188, 97, 246, 84, 66, 191, 224, 250, 99, 132, 89, 66, 207, 146, - 117, 169, 43, 62, 64, 239, 90, 134, 25, 11, 174, 11, 97, - ]), - U256::from_bytes_le([ - 13, 141, 113, 244, 74, 16, 147, 245, 25, 30, 64, 144, 143, 241, 55, 247, 45, 157, 149, - 195, 119, 191, 221, 119, 98, 53, 30, 166, 174, 101, 44, 135, - ]), - U256::from_bytes_le([ - 48, 224, 247, 203, 72, 105, 14, 186, 3, 122, 51, 15, 107, 70, 31, 175, 142, 213, 153, - 221, 55, 7, 134, 160, 254, 203, 168, 162, 14, 85, 73, 119, - ]), - U256::from_bytes_le([ - 14, 184, 115, 22, 107, 208, 57, 123, 175, 61, 199, 3, 197, 212, 16, 2, 216, 180, 247, - 154, 159, 233, 33, 236, 174, 33, 182, 86, 61, 55, 159, 76, - ]), - U256::from_bytes_le([ - 181, 151, 249, 109, 80, 51, 148, 110, 34, 62, 51, 242, 192, 15, 76, 34, 115, 235, 73, - 16, 84, 27, 188, 216, 91, 9, 119, 42, 103, 129, 41, 179, - ]), - U256::from_bytes_le([ - 226, 179, 148, 185, 233, 254, 88, 186, 74, 58, 84, 178, 87, 79, 36, 49, 26, 228, 6, - 133, 228, 134, 92, 11, 77, 164, 254, 203, 46, 105, 84, 202, - ]), - U256::from_bytes_le([ - 80, 107, 232, 140, 80, 166, 212, 154, 195, 64, 207, 131, 227, 237, 183, 15, 121, 226, - 31, 217, 58, 148, 92, 132, 66, 129, 195, 10, 148, 236, 147, 15, - ]), - U256::from_bytes_le([ - 222, 229, 26, 117, 140, 92, 34, 20, 9, 206, 44, 153, 173, 59, 147, 66, 248, 30, 33, 53, - 91, 220, 15, 27, 45, 223, 211, 126, 244, 143, 142, 57, - ]), - U256::from_bytes_le([ - 84, 132, 210, 131, 156, 210, 40, 24, 210, 5, 237, 18, 254, 14, 208, 13, 19, 47, 31, - 150, 135, 118, 248, 115, 168, 216, 148, 204, 24, 219, 234, 221, - ]), - U256::from_bytes_le([ - 15, 24, 97, 95, 158, 104, 183, 33, 53, 51, 95, 113, 157, 225, 63, 105, 248, 224, 16, - 55, 36, 237, 52, 76, 92, 1, 125, 203, 15, 103, 135, 135, - ]), - U256::from_bytes_le([ - 232, 116, 9, 108, 167, 119, 95, 12, 109, 43, 249, 56, 150, 167, 152, 247, 135, 125, 60, - 26, 214, 117, 78, 205, 60, 38, 23, 76, 9, 57, 189, 186, - ]), - U256::from_bytes_le([ - 113, 40, 127, 190, 12, 179, 194, 27, 134, 150, 205, 229, 218, 215, 115, 43, 177, 192, - 189, 173, 157, 234, 43, 52, 207, 190, 72, 39, 175, 99, 214, 240, - ]), - U256::from_bytes_le([ - 101, 150, 90, 110, 120, 26, 239, 184, 228, 128, 130, 174, 70, 211, 118, 69, 41, 11, - 227, 93, 5, 38, 153, 73, 164, 53, 132, 105, 215, 195, 113, 218, - ]), - U256::from_bytes_le([ - 181, 188, 110, 19, 213, 185, 124, 106, 60, 69, 160, 10, 138, 88, 177, 178, 251, 114, - 118, 126, 18, 43, 181, 141, 75, 16, 2, 187, 21, 184, 194, 175, - ]), - U256::from_bytes_le([ - 60, 8, 225, 177, 83, 214, 127, 35, 59, 247, 156, 56, 247, 134, 125, 189, 47, 233, 35, - 116, 4, 206, 148, 27, 38, 177, 202, 222, 82, 72, 94, 30, - ]), - U256::from_bytes_le([ - 79, 11, 81, 223, 248, 44, 166, 44, 55, 53, 168, 196, 206, 89, 36, 31, 188, 43, 109, - 158, 46, 112, 158, 118, 1, 253, 59, 104, 199, 140, 121, 29, - ]), - U256::from_bytes_le([ - 169, 61, 22, 137, 90, 53, 101, 232, 165, 174, 185, 209, 97, 101, 61, 27, 0, 178, 162, - 84, 235, 4, 129, 127, 29, 93, 0, 226, 76, 17, 4, 116, - ]), - U256::from_bytes_le([ - 61, 162, 94, 54, 61, 183, 1, 69, 8, 151, 158, 53, 10, 69, 129, 169, 36, 200, 238, 141, - 90, 151, 99, 139, 188, 21, 30, 252, 161, 193, 53, 87, - ]), - U256::from_bytes_le([ - 58, 126, 10, 126, 178, 224, 13, 12, 229, 135, 37, 234, 71, 229, 167, 85, 63, 150, 182, - 237, 200, 236, 177, 31, 3, 160, 219, 120, 185, 199, 91, 12, - ]), - U256::from_bytes_le([ - 242, 34, 74, 125, 70, 160, 14, 67, 242, 215, 84, 236, 57, 88, 174, 28, 97, 158, 100, - 187, 127, 18, 164, 89, 226, 38, 157, 187, 236, 196, 237, 56, - ]), - U256::from_bytes_le([ - 129, 202, 156, 39, 227, 215, 134, 248, 49, 43, 38, 239, 79, 152, 26, 227, 220, 136, - 150, 132, 76, 205, 226, 117, 232, 220, 247, 40, 79, 158, 89, 22, - ]), - U256::from_bytes_le([ - 198, 10, 247, 43, 85, 42, 168, 124, 170, 228, 221, 4, 70, 174, 40, 9, 209, 133, 236, - 49, 26, 141, 185, 66, 71, 220, 209, 228, 158, 217, 123, 197, - ]), - U256::from_bytes_le([ - 176, 96, 255, 20, 175, 196, 75, 123, 112, 128, 129, 123, 103, 85, 198, 211, 250, 210, - 178, 155, 157, 227, 75, 89, 40, 211, 86, 123, 95, 250, 174, 174, - ]), - U256::from_bytes_le([ - 18, 31, 184, 232, 230, 52, 231, 202, 55, 22, 104, 21, 75, 225, 3, 230, 11, 11, 160, - 172, 44, 229, 17, 129, 196, 190, 13, 90, 142, 221, 60, 247, - ]), - U256::from_bytes_le([ - 37, 225, 210, 183, 236, 227, 198, 7, 247, 111, 161, 78, 201, 89, 123, 61, 223, 208, - 149, 141, 32, 26, 142, 167, 158, 128, 152, 239, 80, 174, 140, 30, - ]), - U256::from_bytes_le([ - 238, 240, 178, 239, 68, 197, 152, 136, 33, 3, 204, 163, 112, 233, 138, 4, 12, 11, 110, - 146, 252, 245, 188, 130, 203, 220, 209, 9, 46, 84, 162, 226, - ]), - U256::from_bytes_le([ - 57, 77, 208, 186, 113, 81, 226, 245, 24, 216, 241, 35, 26, 72, 110, 181, 178, 14, 123, - 174, 133, 155, 78, 25, 150, 104, 30, 143, 169, 181, 147, 113, - ]), - U256::from_bytes_le([ - 164, 101, 159, 104, 82, 98, 87, 1, 178, 90, 119, 251, 115, 149, 193, 210, 135, 221, 69, - 55, 43, 124, 96, 231, 135, 136, 44, 230, 217, 47, 140, 110, - ]), - U256::from_bytes_le([ - 189, 160, 225, 107, 144, 63, 217, 132, 166, 241, 245, 51, 240, 33, 121, 150, 240, 190, - 80, 147, 169, 52, 92, 21, 67, 76, 88, 134, 189, 89, 98, 193, - ]), - U256::from_bytes_le([ - 72, 139, 236, 26, 163, 213, 170, 143, 149, 60, 151, 59, 37, 222, 193, 157, 16, 99, 142, - 150, 11, 250, 34, 76, 163, 84, 172, 19, 128, 31, 21, 219, - ]), - U256::from_bytes_le([ - 249, 52, 205, 122, 52, 157, 101, 213, 215, 71, 98, 131, 255, 37, 11, 140, 176, 75, 69, - 141, 178, 211, 90, 234, 42, 188, 5, 218, 14, 14, 122, 101, - ]), - U256::from_bytes_le([ - 204, 117, 112, 177, 190, 135, 82, 196, 202, 0, 163, 190, 51, 110, 99, 8, 51, 92, 76, - 225, 102, 240, 158, 137, 206, 255, 220, 91, 242, 255, 85, 88, - ]), - U256::from_bytes_le([ - 202, 13, 211, 36, 243, 62, 66, 83, 108, 187, 16, 62, 222, 79, 231, 251, 164, 16, 58, - 23, 33, 134, 34, 2, 64, 203, 237, 74, 18, 73, 151, 203, - ]), - U256::from_bytes_le([ - 75, 85, 178, 81, 108, 162, 155, 241, 162, 92, 10, 81, 117, 155, 180, 200, 225, 175, - 124, 36, 58, 149, 234, 173, 145, 250, 233, 74, 217, 117, 80, 29, - ]), - U256::from_bytes_le([ - 143, 235, 18, 85, 159, 80, 97, 229, 195, 136, 3, 110, 197, 24, 56, 241, 128, 83, 57, - 177, 47, 164, 70, 171, 173, 2, 216, 5, 123, 203, 137, 31, - ]), - U256::from_bytes_le([ - 140, 205, 156, 66, 221, 46, 125, 95, 59, 226, 181, 225, 12, 78, 12, 112, 133, 187, 50, - 39, 87, 136, 136, 165, 254, 253, 168, 59, 153, 194, 184, 179, - ]), - U256::from_bytes_le([ - 51, 24, 170, 249, 49, 178, 16, 29, 7, 250, 247, 238, 79, 17, 188, 164, 112, 32, 231, - 52, 167, 43, 173, 143, 3, 97, 59, 22, 136, 226, 220, 173, - ]), - U256::from_bytes_le([ - 227, 45, 102, 239, 134, 64, 8, 168, 249, 89, 163, 68, 117, 60, 148, 250, 128, 154, 56, - 202, 234, 15, 44, 7, 244, 49, 103, 126, 242, 233, 57, 190, - ]), - U256::from_bytes_le([ - 24, 40, 154, 139, 122, 182, 159, 177, 164, 11, 193, 69, 127, 90, 143, 94, 23, 202, 220, - 79, 63, 56, 102, 177, 30, 197, 100, 50, 194, 45, 182, 34, - ]), - U256::from_bytes_le([ - 229, 115, 18, 157, 120, 117, 249, 44, 170, 193, 71, 5, 132, 50, 32, 79, 195, 28, 14, - 21, 180, 65, 169, 193, 172, 243, 205, 166, 86, 1, 106, 118, - ]), - U256::from_bytes_le([ - 125, 100, 148, 198, 176, 206, 208, 3, 171, 119, 68, 255, 26, 225, 137, 175, 188, 15, - 56, 6, 111, 186, 19, 95, 12, 220, 242, 212, 27, 187, 52, 66, - ]), - U256::from_bytes_le([ - 226, 188, 11, 13, 38, 48, 137, 80, 241, 212, 226, 219, 62, 120, 107, 173, 80, 120, 142, - 211, 66, 199, 162, 219, 237, 186, 99, 65, 103, 255, 85, 31, - ]), - U256::from_bytes_le([ - 124, 122, 117, 14, 106, 198, 66, 66, 254, 28, 211, 68, 89, 32, 77, 187, 164, 216, 32, - 74, 239, 25, 38, 159, 20, 62, 232, 126, 166, 29, 11, 255, - ]), - U256::from_bytes_le([ - 209, 134, 26, 47, 226, 26, 93, 55, 5, 68, 215, 77, 224, 94, 105, 205, 198, 122, 126, - 207, 63, 207, 107, 114, 69, 12, 10, 225, 16, 176, 83, 195, - ]), - U256::from_bytes_le([ - 241, 202, 235, 165, 107, 42, 21, 11, 21, 137, 241, 209, 180, 106, 132, 49, 239, 60, 6, - 56, 223, 252, 88, 35, 46, 174, 229, 227, 116, 52, 94, 234, - ]), - U256::from_bytes_le([ - 48, 76, 79, 239, 46, 227, 188, 217, 88, 249, 50, 214, 202, 105, 96, 121, 183, 51, 31, - 240, 58, 7, 139, 60, 64, 17, 70, 205, 178, 89, 32, 249, - ]), - U256::from_bytes_le([ - 72, 183, 25, 152, 22, 44, 54, 109, 234, 127, 143, 250, 239, 228, 131, 106, 149, 47, - 250, 35, 15, 204, 238, 58, 237, 104, 210, 74, 61, 13, 175, 201, - ]), - U256::from_bytes_le([ - 145, 219, 118, 4, 71, 194, 51, 139, 206, 235, 50, 130, 205, 21, 192, 34, 100, 144, 53, - 2, 91, 86, 232, 201, 169, 46, 246, 64, 49, 237, 219, 201, - ]), - U256::from_bytes_le([ - 10, 92, 38, 63, 212, 153, 199, 248, 185, 63, 212, 163, 203, 151, 56, 75, 28, 182, 236, - 72, 164, 193, 135, 5, 96, 191, 19, 124, 16, 51, 165, 144, - ]), - U256::from_bytes_le([ - 30, 15, 196, 44, 86, 137, 247, 176, 30, 248, 73, 133, 80, 168, 108, 206, 198, 0, 13, - 186, 223, 175, 211, 146, 25, 120, 123, 59, 59, 158, 79, 28, - ]), - U256::from_bytes_le([ - 13, 109, 34, 100, 111, 200, 53, 47, 243, 120, 212, 114, 74, 15, 150, 132, 177, 77, 213, - 179, 112, 48, 225, 104, 102, 48, 203, 212, 122, 12, 36, 133, - ]), - U256::from_bytes_le([ - 190, 5, 243, 142, 196, 96, 197, 121, 241, 88, 44, 46, 107, 55, 45, 202, 10, 50, 5, 157, - 143, 5, 2, 206, 74, 112, 74, 246, 38, 95, 98, 181, - ]), - U256::from_bytes_le([ - 227, 134, 173, 58, 42, 115, 187, 113, 53, 241, 192, 245, 76, 175, 58, 132, 191, 139, - 203, 251, 48, 44, 177, 184, 55, 194, 96, 233, 62, 187, 204, 36, - ]), - U256::from_bytes_le([ - 255, 156, 57, 46, 244, 180, 255, 195, 152, 181, 238, 0, 133, 54, 14, 20, 84, 47, 218, - 32, 176, 178, 130, 56, 55, 202, 150, 89, 132, 3, 187, 40, - ]), - U256::from_bytes_le([ - 205, 166, 234, 86, 15, 7, 97, 139, 215, 233, 69, 160, 34, 191, 238, 220, 237, 102, 183, - 117, 141, 209, 82, 251, 177, 74, 253, 58, 195, 246, 57, 117, - ]), - U256::from_bytes_le([ - 214, 245, 27, 238, 108, 86, 170, 235, 11, 57, 234, 149, 208, 157, 208, 220, 117, 123, - 204, 157, 148, 73, 248, 132, 47, 186, 182, 70, 48, 151, 34, 182, - ]), - U256::from_bytes_le([ - 3, 147, 61, 129, 186, 110, 4, 79, 0, 255, 64, 199, 18, 132, 152, 22, 117, 50, 42, 15, - 210, 252, 199, 173, 170, 235, 101, 133, 85, 89, 86, 133, - ]), - U256::from_bytes_le([ - 174, 51, 28, 13, 80, 134, 144, 186, 244, 4, 194, 184, 123, 197, 7, 59, 47, 77, 53, 201, - 102, 171, 236, 15, 27, 219, 229, 103, 82, 173, 77, 9, - ]), - U256::from_bytes_le([ - 222, 245, 105, 245, 144, 35, 15, 211, 154, 206, 222, 173, 190, 149, 186, 83, 175, 100, - 9, 112, 102, 23, 157, 120, 185, 213, 232, 34, 49, 5, 202, 65, - ]), - U256::from_bytes_le([ - 250, 73, 28, 158, 206, 140, 232, 214, 98, 157, 10, 242, 96, 105, 27, 60, 18, 42, 176, - 136, 255, 244, 83, 183, 19, 58, 38, 106, 198, 86, 60, 206, - ]), - U256::from_bytes_le([ - 207, 78, 53, 59, 3, 49, 20, 172, 48, 199, 84, 133, 244, 182, 4, 216, 132, 171, 8, 88, - 18, 237, 62, 60, 204, 230, 230, 79, 141, 158, 13, 52, - ]), - U256::from_bytes_le([ - 186, 83, 102, 71, 52, 60, 176, 7, 210, 136, 71, 133, 89, 107, 68, 199, 93, 251, 20, - 171, 82, 174, 81, 105, 18, 18, 85, 226, 106, 244, 16, 56, - ]), - U256::from_bytes_le([ - 65, 177, 198, 23, 11, 163, 236, 230, 106, 50, 35, 198, 210, 252, 49, 57, 30, 156, 47, - 162, 143, 33, 43, 238, 76, 84, 155, 126, 207, 80, 217, 124, - ]), - U256::from_bytes_le([ - 73, 10, 103, 156, 74, 171, 94, 15, 153, 157, 142, 156, 161, 112, 108, 111, 34, 157, - 124, 76, 237, 125, 130, 45, 39, 141, 37, 65, 86, 88, 43, 190, - ]), - U256::from_bytes_le([ - 85, 183, 89, 0, 192, 29, 62, 87, 141, 124, 44, 67, 195, 142, 118, 192, 192, 140, 14, - 148, 237, 244, 170, 105, 167, 138, 172, 145, 128, 136, 221, 102, - ]), - U256::from_bytes_le([ - 2, 129, 176, 155, 3, 73, 44, 218, 217, 52, 94, 210, 227, 230, 214, 223, 155, 240, 67, - 171, 176, 203, 51, 146, 163, 255, 140, 95, 197, 17, 89, 31, - ]), - U256::from_bytes_le([ - 232, 172, 172, 197, 253, 90, 63, 35, 10, 137, 8, 116, 56, 123, 127, 103, 224, 84, 9, - 110, 156, 208, 191, 172, 40, 234, 229, 185, 59, 110, 15, 103, - ]), - U256::from_bytes_le([ - 38, 214, 220, 54, 133, 72, 140, 188, 147, 170, 247, 149, 147, 45, 150, 103, 81, 185, - 163, 184, 220, 60, 216, 152, 120, 201, 38, 123, 206, 2, 207, 137, - ]), - U256::from_bytes_le([ - 49, 178, 177, 38, 204, 253, 161, 79, 85, 47, 138, 48, 178, 115, 107, 237, 30, 6, 16, - 43, 21, 124, 152, 239, 180, 79, 69, 229, 177, 2, 200, 237, - ]), - U256::from_bytes_le([ - 131, 35, 63, 55, 200, 43, 236, 93, 212, 202, 53, 7, 143, 22, 186, 85, 0, 219, 213, 10, - 38, 214, 107, 185, 141, 19, 76, 173, 137, 68, 221, 224, - ]), - U256::from_bytes_le([ - 225, 8, 132, 2, 143, 229, 74, 244, 104, 158, 56, 32, 65, 250, 69, 197, 241, 159, 188, - 157, 22, 115, 183, 80, 153, 254, 117, 239, 87, 67, 121, 119, - ]), - U256::from_bytes_le([ - 69, 75, 107, 156, 122, 72, 127, 216, 12, 55, 183, 54, 171, 228, 45, 5, 42, 83, 105, - 234, 119, 110, 121, 249, 95, 99, 127, 161, 153, 123, 223, 202, - ]), - U256::from_bytes_le([ - 8, 112, 90, 33, 135, 170, 251, 123, 77, 38, 122, 245, 212, 21, 27, 154, 58, 198, 76, - 107, 235, 209, 255, 192, 196, 141, 224, 130, 229, 146, 52, 189, - ]), - U256::from_bytes_le([ - 42, 44, 58, 149, 161, 195, 102, 133, 252, 81, 7, 164, 145, 222, 100, 179, 67, 175, 20, - 144, 160, 117, 236, 154, 227, 99, 115, 127, 19, 36, 211, 3, - ]), - U256::from_bytes_le([ - 244, 3, 16, 185, 5, 122, 226, 42, 169, 60, 129, 143, 117, 2, 217, 214, 161, 130, 232, - 108, 187, 216, 163, 179, 31, 226, 67, 159, 91, 108, 179, 175, - ]), - U256::from_bytes_le([ - 255, 62, 88, 118, 83, 204, 110, 202, 118, 116, 142, 238, 32, 109, 187, 226, 136, 51, - 84, 116, 159, 59, 116, 70, 3, 29, 193, 70, 251, 46, 84, 77, - ]), - U256::from_bytes_le([ - 140, 156, 175, 22, 194, 138, 248, 99, 214, 24, 217, 110, 154, 40, 161, 132, 56, 106, - 122, 226, 133, 248, 130, 191, 165, 118, 129, 247, 48, 203, 165, 80, - ]), - U256::from_bytes_le([ - 129, 79, 162, 23, 144, 21, 122, 89, 42, 129, 220, 50, 227, 79, 74, 144, 165, 95, 72, - 86, 93, 163, 70, 32, 39, 192, 190, 117, 15, 125, 125, 12, - ]), - U256::from_bytes_le([ - 28, 33, 174, 96, 214, 93, 197, 212, 207, 81, 49, 64, 104, 38, 47, 137, 209, 160, 186, - 252, 126, 52, 248, 114, 199, 88, 189, 41, 152, 90, 212, 165, - ]), - U256::from_bytes_le([ - 151, 85, 25, 239, 158, 58, 161, 110, 125, 64, 89, 158, 209, 112, 29, 167, 63, 114, 161, - 118, 97, 124, 170, 106, 210, 34, 175, 59, 165, 142, 144, 3, - ]), - U256::from_bytes_le([ - 193, 5, 138, 24, 134, 217, 165, 52, 117, 73, 8, 146, 157, 64, 234, 53, 22, 35, 184, - 174, 122, 180, 255, 110, 216, 80, 95, 120, 192, 59, 38, 167, - ]), - U256::from_bytes_le([ - 112, 41, 5, 2, 200, 50, 190, 216, 156, 52, 29, 234, 60, 103, 237, 165, 146, 146, 102, - 43, 36, 119, 41, 77, 140, 38, 210, 244, 120, 21, 185, 88, - ]), - U256::from_bytes_le([ - 241, 236, 185, 116, 7, 161, 38, 117, 34, 133, 100, 187, 140, 158, 94, 12, 69, 211, 158, - 80, 68, 20, 171, 167, 150, 172, 176, 32, 204, 141, 235, 140, - ]), - U256::from_bytes_le([ - 37, 170, 198, 64, 94, 39, 74, 55, 48, 225, 90, 106, 116, 169, 156, 26, 171, 86, 54, 57, - 108, 151, 17, 19, 185, 201, 24, 64, 204, 117, 54, 136, - ]), - U256::from_bytes_le([ - 241, 110, 193, 155, 99, 110, 97, 43, 69, 146, 24, 192, 183, 9, 162, 98, 62, 139, 106, - 100, 137, 139, 180, 143, 221, 40, 103, 142, 115, 102, 12, 218, - ]), - U256::from_bytes_le([ - 74, 48, 136, 4, 115, 96, 79, 237, 226, 153, 234, 226, 18, 122, 143, 186, 123, 147, 23, - 167, 133, 172, 247, 188, 54, 142, 164, 109, 26, 105, 223, 201, - ]), - U256::from_bytes_le([ - 194, 161, 19, 99, 101, 192, 216, 94, 214, 51, 229, 164, 129, 116, 244, 136, 93, 212, - 90, 32, 132, 155, 114, 23, 204, 127, 118, 245, 214, 171, 40, 193, - ]), - U256::from_bytes_le([ - 162, 37, 69, 241, 180, 107, 167, 164, 68, 173, 112, 72, 245, 61, 31, 112, 60, 241, 162, - 169, 229, 123, 69, 94, 72, 66, 139, 242, 94, 20, 164, 187, - ]), - U256::from_bytes_le([ - 51, 39, 102, 56, 159, 204, 138, 160, 101, 50, 50, 214, 14, 137, 153, 42, 131, 253, 231, - 60, 60, 84, 119, 27, 26, 123, 41, 104, 221, 202, 95, 229, - ]), - U256::from_bytes_le([ - 223, 78, 192, 88, 183, 54, 32, 144, 63, 193, 30, 122, 99, 168, 117, 68, 9, 93, 235, - 215, 52, 19, 245, 39, 79, 86, 222, 247, 3, 116, 199, 104, - ]), - U256::from_bytes_le([ - 71, 82, 194, 18, 160, 195, 15, 212, 177, 100, 245, 91, 29, 137, 125, 168, 108, 51, 158, - 22, 237, 128, 4, 50, 11, 127, 95, 6, 115, 21, 75, 236, - ]), - U256::from_bytes_le([ - 193, 98, 57, 33, 58, 158, 206, 242, 252, 234, 202, 254, 70, 238, 165, 176, 162, 113, - 155, 195, 30, 130, 253, 78, 132, 105, 153, 68, 49, 150, 231, 166, - ]), - U256::from_bytes_le([ - 224, 224, 163, 170, 18, 80, 85, 142, 133, 50, 38, 191, 228, 88, 135, 137, 246, 251, 90, - 173, 58, 146, 113, 140, 13, 73, 203, 44, 191, 250, 104, 19, - ]), - U256::from_bytes_le([ - 157, 212, 112, 255, 239, 91, 53, 109, 211, 56, 73, 168, 16, 11, 90, 111, 205, 194, 180, - 199, 15, 167, 169, 117, 145, 245, 142, 198, 37, 230, 46, 253, - ]), - U256::from_bytes_le([ - 147, 70, 140, 58, 163, 196, 193, 104, 42, 154, 52, 203, 1, 218, 243, 237, 87, 142, 151, - 100, 153, 85, 68, 98, 224, 37, 121, 8, 219, 52, 237, 199, - ]), - U256::from_bytes_le([ - 145, 41, 148, 121, 215, 225, 114, 188, 199, 200, 162, 45, 181, 137, 20, 19, 215, 143, - 72, 230, 70, 208, 182, 215, 195, 139, 35, 17, 150, 188, 254, 135, - ]), - U256::from_bytes_le([ - 35, 131, 185, 137, 16, 53, 31, 29, 94, 93, 211, 224, 216, 243, 93, 199, 245, 208, 136, - 81, 245, 0, 146, 151, 235, 250, 223, 150, 173, 170, 144, 153, - ]), - U256::from_bytes_le([ - 52, 93, 19, 222, 29, 145, 83, 231, 124, 88, 112, 61, 165, 168, 181, 76, 97, 218, 133, - 22, 155, 7, 68, 29, 29, 104, 81, 8, 93, 79, 117, 126, - ]), - U256::from_bytes_le([ - 60, 204, 67, 211, 121, 155, 51, 131, 73, 70, 164, 198, 78, 200, 30, 106, 137, 199, 69, - 248, 95, 1, 59, 248, 228, 143, 199, 83, 84, 171, 19, 27, - ]), - U256::from_bytes_le([ - 140, 171, 198, 145, 4, 109, 23, 136, 47, 53, 11, 95, 70, 92, 52, 177, 1, 41, 242, 255, - 138, 60, 190, 168, 71, 95, 181, 181, 51, 128, 91, 90, - ]), - U256::from_bytes_le([ - 78, 21, 20, 176, 85, 31, 119, 36, 118, 191, 31, 62, 33, 130, 122, 66, 234, 176, 99, 51, - 169, 200, 145, 236, 40, 3, 201, 134, 79, 38, 110, 196, - ]), - U256::from_bytes_le([ - 143, 204, 122, 84, 69, 160, 27, 24, 15, 118, 255, 196, 31, 198, 184, 164, 7, 157, 156, - 65, 68, 121, 205, 145, 215, 94, 141, 237, 100, 60, 121, 78, - ]), - U256::from_bytes_le([ - 202, 229, 114, 110, 100, 205, 79, 30, 149, 125, 220, 196, 88, 195, 23, 238, 69, 110, 3, - 60, 172, 15, 147, 141, 202, 39, 83, 219, 173, 53, 34, 42, - ]), - U256::from_bytes_le([ - 183, 18, 8, 169, 21, 184, 236, 125, 90, 146, 117, 32, 49, 84, 0, 94, 4, 132, 135, 169, - 102, 244, 149, 144, 249, 209, 117, 24, 108, 14, 141, 186, - ]), - U256::from_bytes_le([ - 47, 95, 232, 170, 180, 149, 235, 243, 51, 197, 150, 226, 118, 205, 75, 120, 15, 148, - 167, 82, 103, 33, 14, 247, 146, 243, 196, 80, 65, 51, 157, 115, - ]), - U256::from_bytes_le([ - 174, 161, 80, 170, 80, 239, 129, 75, 250, 140, 47, 101, 241, 192, 242, 246, 78, 60, - 187, 183, 36, 27, 36, 132, 121, 80, 71, 102, 5, 223, 204, 133, - ]), - U256::from_bytes_le([ - 73, 104, 180, 124, 212, 170, 156, 93, 245, 166, 70, 85, 152, 181, 14, 163, 240, 23, - 138, 248, 209, 63, 106, 167, 45, 211, 238, 117, 83, 87, 125, 37, - ]), - U256::from_bytes_le([ - 178, 125, 109, 74, 73, 18, 200, 51, 104, 21, 12, 145, 83, 188, 209, 59, 245, 113, 87, - 196, 22, 17, 39, 220, 191, 157, 65, 33, 215, 97, 30, 132, - ]), - U256::from_bytes_le([ - 90, 90, 154, 35, 110, 116, 154, 39, 192, 109, 80, 167, 97, 45, 34, 163, 209, 16, 248, - 120, 76, 11, 222, 64, 147, 55, 82, 109, 117, 3, 228, 19, - ]), - U256::from_bytes_le([ - 206, 227, 78, 114, 141, 123, 114, 61, 62, 100, 210, 185, 42, 43, 203, 90, 20, 49, 87, - 246, 241, 16, 56, 134, 74, 149, 103, 87, 232, 15, 13, 184, - ]), - U256::from_bytes_le([ - 5, 210, 96, 250, 92, 132, 229, 248, 173, 227, 178, 110, 66, 136, 239, 84, 44, 181, 31, - 219, 170, 16, 216, 123, 62, 24, 130, 14, 240, 233, 141, 109, - ]), - U256::from_bytes_le([ - 203, 219, 132, 162, 125, 178, 253, 207, 59, 232, 120, 116, 69, 144, 76, 252, 191, 209, - 217, 50, 72, 110, 175, 0, 2, 53, 200, 175, 192, 42, 20, 159, - ]), - U256::from_bytes_le([ - 198, 72, 236, 2, 242, 39, 250, 167, 160, 203, 2, 202, 158, 14, 193, 137, 50, 57, 125, - 107, 62, 136, 43, 140, 154, 76, 217, 194, 206, 87, 248, 175, - ]), - U256::from_bytes_le([ - 247, 144, 5, 211, 15, 60, 82, 82, 146, 187, 222, 24, 133, 71, 155, 241, 58, 12, 171, - 130, 79, 192, 195, 21, 153, 149, 36, 68, 72, 2, 34, 6, - ]), - U256::from_bytes_le([ - 163, 198, 8, 91, 23, 220, 242, 3, 14, 129, 211, 172, 72, 224, 45, 181, 116, 156, 90, - 58, 182, 71, 115, 155, 83, 217, 119, 250, 81, 167, 151, 123, - ]), - U256::from_bytes_le([ - 1, 207, 98, 216, 243, 140, 202, 237, 210, 144, 215, 222, 115, 57, 76, 64, 220, 215, 48, - 148, 168, 148, 25, 77, 67, 118, 105, 253, 113, 141, 111, 156, - ]), - U256::from_bytes_le([ - 69, 242, 182, 197, 121, 148, 56, 214, 168, 29, 179, 226, 201, 159, 82, 140, 129, 60, - 45, 20, 19, 46, 34, 184, 159, 0, 89, 29, 32, 66, 80, 231, - ]), - U256::from_bytes_le([ - 181, 106, 202, 62, 96, 36, 53, 158, 217, 241, 131, 112, 231, 5, 34, 186, 6, 36, 90, - 229, 233, 84, 209, 168, 192, 240, 93, 53, 184, 130, 10, 154, - ]), - U256::from_bytes_le([ - 87, 176, 242, 64, 51, 195, 201, 14, 235, 180, 22, 38, 148, 202, 225, 186, 170, 23, 92, - 62, 238, 247, 247, 175, 20, 121, 181, 85, 54, 207, 120, 252, - ]), - U256::from_bytes_le([ - 49, 117, 89, 220, 46, 69, 129, 109, 12, 44, 173, 212, 13, 71, 180, 160, 212, 69, 134, - 238, 78, 6, 148, 251, 81, 28, 207, 146, 245, 58, 230, 202, - ]), - U256::from_bytes_le([ - 120, 232, 244, 252, 98, 165, 64, 71, 207, 85, 248, 181, 157, 199, 141, 203, 169, 120, - 237, 151, 102, 24, 63, 186, 28, 55, 160, 162, 245, 123, 77, 160, - ]), - U256::from_bytes_le([ - 143, 161, 66, 3, 56, 35, 233, 91, 139, 59, 161, 50, 166, 249, 73, 24, 108, 200, 117, - 225, 214, 74, 70, 184, 24, 112, 47, 148, 8, 117, 40, 158, - ]), - U256::from_bytes_le([ - 147, 197, 143, 19, 130, 229, 78, 10, 14, 10, 50, 215, 114, 8, 141, 60, 36, 70, 169, 44, - 169, 85, 236, 39, 110, 44, 10, 150, 242, 130, 65, 115, - ]), - U256::from_bytes_le([ - 109, 79, 114, 158, 102, 107, 18, 79, 182, 27, 78, 93, 56, 210, 189, 180, 203, 207, 220, - 112, 200, 75, 55, 164, 105, 34, 77, 83, 59, 38, 220, 232, - ]), - U256::from_bytes_le([ - 49, 197, 118, 216, 40, 181, 168, 126, 120, 231, 121, 11, 118, 28, 44, 51, 181, 115, - 212, 94, 215, 124, 226, 219, 138, 88, 99, 213, 130, 242, 14, 102, - ]), - U256::from_bytes_le([ - 151, 139, 237, 149, 88, 133, 108, 160, 65, 31, 72, 240, 74, 18, 27, 223, 146, 214, 110, - 160, 46, 180, 32, 137, 162, 9, 32, 229, 191, 238, 154, 175, - ]), - U256::from_bytes_le([ - 43, 4, 151, 233, 55, 212, 134, 119, 119, 80, 247, 182, 176, 20, 143, 120, 92, 255, 131, - 22, 244, 186, 148, 92, 137, 142, 118, 23, 46, 34, 251, 80, - ]), - U256::from_bytes_le([ - 122, 243, 77, 211, 178, 132, 140, 207, 184, 244, 179, 3, 11, 89, 36, 23, 133, 10, 162, - 44, 187, 118, 156, 23, 196, 90, 163, 106, 223, 162, 32, 191, - ]), - U256::from_bytes_le([ - 243, 213, 26, 213, 174, 18, 80, 168, 39, 233, 125, 179, 30, 138, 34, 155, 252, 127, - 221, 176, 16, 85, 55, 141, 77, 202, 255, 93, 44, 138, 42, 107, - ]), - U256::from_bytes_le([ - 88, 120, 84, 68, 107, 112, 158, 212, 0, 145, 153, 126, 213, 251, 213, 179, 101, 137, - 149, 165, 11, 67, 118, 254, 59, 89, 106, 47, 168, 206, 188, 113, - ]), - U256::from_bytes_le([ - 78, 190, 239, 61, 101, 139, 84, 211, 244, 8, 53, 49, 179, 212, 96, 216, 241, 36, 56, - 91, 97, 221, 153, 134, 187, 66, 210, 152, 181, 70, 104, 252, - ]), - U256::from_bytes_le([ - 222, 87, 23, 88, 195, 108, 5, 130, 227, 194, 176, 134, 159, 33, 9, 78, 48, 187, 92, 22, - 253, 10, 68, 185, 52, 92, 109, 202, 241, 98, 227, 167, - ]), - U256::from_bytes_le([ - 162, 157, 163, 24, 67, 160, 22, 210, 145, 44, 122, 34, 74, 117, 35, 65, 92, 240, 16, - 126, 40, 4, 16, 253, 33, 222, 44, 117, 103, 147, 161, 31, - ]), - U256::from_bytes_le([ - 231, 82, 39, 56, 50, 183, 163, 15, 151, 155, 5, 15, 164, 246, 3, 123, 112, 91, 205, - 185, 204, 140, 118, 169, 84, 180, 245, 248, 99, 39, 233, 252, - ]), - U256::from_bytes_le([ - 63, 61, 170, 186, 248, 38, 104, 29, 227, 180, 32, 170, 127, 217, 25, 161, 23, 7, 80, - 24, 73, 102, 171, 25, 243, 35, 3, 153, 114, 212, 129, 127, - ]), - U256::from_bytes_le([ - 255, 135, 128, 51, 245, 60, 84, 32, 192, 244, 254, 190, 194, 157, 162, 30, 218, 139, - 146, 144, 153, 237, 244, 253, 100, 194, 198, 143, 29, 54, 78, 249, - ]), - U256::from_bytes_le([ - 145, 154, 244, 42, 89, 28, 117, 152, 117, 65, 79, 250, 206, 194, 207, 36, 112, 47, 106, - 119, 48, 68, 78, 28, 222, 69, 216, 169, 69, 75, 105, 235, - ]), - U256::from_bytes_le([ - 143, 66, 252, 236, 18, 203, 132, 158, 152, 76, 44, 107, 71, 179, 151, 9, 9, 51, 108, - 38, 190, 84, 65, 21, 193, 90, 194, 58, 74, 215, 34, 78, - ]), - U256::from_bytes_le([ - 145, 252, 151, 17, 168, 17, 39, 197, 249, 153, 165, 175, 21, 205, 64, 213, 19, 20, 217, - 239, 129, 182, 189, 109, 62, 159, 210, 252, 69, 218, 111, 170, - ]), - U256::from_bytes_le([ - 12, 146, 226, 62, 152, 150, 242, 123, 235, 28, 188, 175, 243, 132, 235, 127, 157, 172, - 211, 108, 110, 117, 67, 201, 185, 60, 226, 210, 34, 56, 250, 160, - ]), - U256::from_bytes_le([ - 23, 113, 27, 3, 67, 109, 159, 201, 38, 118, 143, 99, 209, 165, 120, 18, 75, 205, 95, - 119, 112, 59, 132, 180, 238, 24, 132, 156, 45, 252, 15, 12, - ]), - U256::from_bytes_le([ - 94, 165, 236, 109, 213, 135, 100, 200, 64, 182, 240, 80, 36, 0, 222, 108, 182, 207, 21, - 194, 125, 57, 12, 120, 168, 203, 65, 34, 97, 92, 61, 70, - ]), - U256::from_bytes_le([ - 31, 7, 93, 27, 198, 107, 49, 144, 149, 206, 163, 146, 75, 38, 142, 195, 234, 100, 41, - 194, 229, 75, 187, 179, 178, 52, 243, 128, 51, 156, 41, 241, - ]), - U256::from_bytes_le([ - 66, 160, 212, 95, 147, 190, 36, 173, 204, 92, 155, 198, 80, 50, 154, 0, 146, 249, 55, - 90, 242, 6, 47, 255, 24, 55, 191, 40, 166, 75, 160, 126, - ]), - U256::from_bytes_le([ - 100, 91, 204, 111, 226, 214, 142, 31, 135, 35, 108, 119, 101, 106, 188, 103, 137, 187, - 55, 76, 87, 227, 122, 197, 117, 9, 126, 112, 144, 135, 19, 43, - ]), - U256::from_bytes_le([ - 142, 157, 68, 175, 24, 198, 29, 34, 78, 128, 192, 196, 125, 86, 134, 142, 178, 189, - 219, 45, 59, 139, 20, 231, 174, 39, 157, 170, 185, 71, 139, 63, - ]), - U256::from_bytes_le([ - 215, 49, 192, 91, 214, 241, 61, 118, 149, 231, 93, 148, 229, 86, 15, 166, 104, 92, 2, - 193, 103, 170, 40, 71, 165, 4, 71, 108, 182, 218, 133, 122, - ]), - U256::from_bytes_le([ - 144, 222, 220, 207, 42, 128, 103, 141, 51, 125, 227, 202, 30, 202, 239, 44, 222, 81, - 116, 110, 24, 227, 131, 29, 144, 150, 235, 136, 49, 211, 144, 128, - ]), - U256::from_bytes_le([ - 105, 136, 15, 199, 96, 132, 166, 1, 254, 68, 135, 112, 56, 180, 147, 53, 188, 37, 138, - 16, 74, 185, 144, 189, 91, 235, 20, 120, 170, 54, 106, 149, - ]), - U256::from_bytes_le([ - 165, 37, 184, 115, 68, 116, 237, 154, 76, 135, 219, 25, 181, 238, 26, 49, 110, 204, - 152, 192, 173, 51, 99, 244, 125, 100, 121, 53, 236, 152, 20, 243, - ]), - U256::from_bytes_le([ - 110, 135, 117, 38, 29, 204, 72, 14, 194, 118, 24, 226, 34, 202, 39, 231, 169, 123, 194, - 67, 31, 77, 242, 231, 63, 29, 85, 86, 238, 159, 28, 135, - ]), - U256::from_bytes_le([ - 34, 250, 231, 230, 175, 135, 24, 104, 129, 61, 148, 137, 197, 133, 98, 114, 142, 229, - 14, 3, 61, 77, 50, 5, 19, 234, 197, 252, 109, 61, 255, 121, - ]), - U256::from_bytes_le([ - 6, 38, 49, 79, 167, 28, 192, 118, 78, 46, 8, 63, 50, 218, 200, 217, 120, 250, 78, 67, - 71, 32, 72, 101, 7, 179, 192, 202, 56, 108, 21, 47, - ]), - U256::from_bytes_le([ - 142, 3, 154, 6, 197, 46, 237, 212, 203, 34, 49, 11, 169, 19, 91, 229, 218, 163, 28, - 214, 64, 208, 84, 89, 153, 38, 69, 253, 89, 211, 56, 60, - ]), - U256::from_bytes_le([ - 163, 44, 215, 192, 124, 168, 30, 41, 38, 173, 58, 222, 95, 23, 202, 25, 178, 206, 163, - 98, 122, 84, 33, 194, 234, 33, 111, 79, 70, 141, 165, 173, - ]), - U256::from_bytes_le([ - 211, 134, 159, 133, 103, 208, 48, 201, 8, 53, 88, 82, 195, 28, 204, 254, 218, 255, 227, - 185, 39, 19, 11, 111, 99, 67, 76, 62, 133, 81, 171, 122, - ]), - U256::from_bytes_le([ - 255, 40, 98, 201, 98, 109, 15, 225, 28, 255, 200, 122, 240, 167, 87, 37, 142, 54, 44, - 187, 14, 202, 46, 217, 207, 166, 61, 170, 186, 229, 14, 159, - ]), - U256::from_bytes_le([ - 39, 109, 255, 98, 1, 6, 198, 66, 203, 56, 137, 33, 189, 198, 44, 200, 181, 197, 203, - 124, 170, 154, 181, 10, 45, 215, 97, 71, 49, 156, 217, 35, - ]), - U256::from_bytes_le([ - 239, 107, 215, 107, 248, 103, 196, 93, 234, 161, 156, 53, 38, 123, 253, 71, 110, 80, - 100, 11, 101, 137, 97, 11, 8, 121, 215, 114, 177, 70, 134, 233, - ]), - U256::from_bytes_le([ - 48, 125, 92, 128, 206, 66, 183, 18, 118, 132, 24, 93, 24, 46, 153, 43, 177, 132, 95, - 79, 3, 51, 50, 5, 15, 102, 77, 18, 2, 113, 89, 212, - ]), - U256::from_bytes_le([ - 75, 150, 96, 10, 206, 247, 205, 253, 118, 46, 131, 118, 152, 112, 226, 6, 212, 60, 192, - 63, 193, 196, 156, 245, 86, 148, 57, 202, 134, 205, 161, 170, - ]), - U256::from_bytes_le([ - 153, 103, 38, 67, 189, 125, 193, 46, 180, 111, 175, 249, 194, 173, 228, 101, 74, 52, - 128, 82, 206, 234, 42, 37, 52, 69, 228, 244, 219, 222, 43, 0, - ]), - U256::from_bytes_le([ - 144, 31, 82, 172, 39, 149, 169, 32, 242, 183, 128, 153, 41, 154, 197, 43, 79, 114, 139, - 214, 125, 39, 170, 17, 88, 16, 225, 148, 130, 12, 58, 234, - ]), - U256::from_bytes_le([ - 245, 33, 15, 244, 214, 61, 120, 10, 147, 255, 248, 41, 12, 29, 255, 132, 181, 110, 127, - 105, 242, 135, 1, 163, 232, 190, 1, 49, 81, 130, 217, 196, - ]), - U256::from_bytes_le([ - 118, 73, 234, 211, 120, 247, 100, 145, 223, 209, 114, 242, 250, 75, 211, 242, 139, 176, - 243, 89, 203, 74, 148, 64, 253, 106, 222, 96, 110, 106, 150, 164, - ]), - U256::from_bytes_le([ - 66, 91, 100, 182, 86, 21, 69, 233, 171, 178, 120, 171, 135, 179, 20, 253, 44, 51, 146, - 223, 136, 197, 84, 32, 129, 7, 200, 138, 104, 130, 225, 103, - ]), - U256::from_bytes_le([ - 55, 85, 145, 241, 55, 121, 99, 237, 175, 166, 165, 192, 158, 48, 116, 107, 150, 247, - 39, 225, 62, 125, 79, 53, 132, 222, 113, 20, 22, 61, 151, 182, - ]), - U256::from_bytes_le([ - 60, 113, 156, 119, 86, 112, 253, 153, 6, 35, 114, 28, 55, 56, 215, 43, 178, 211, 180, - 122, 119, 169, 106, 124, 103, 2, 58, 80, 123, 147, 153, 127, - ]), - U256::from_bytes_le([ - 203, 204, 131, 56, 84, 161, 231, 229, 137, 98, 55, 90, 253, 11, 53, 200, 83, 91, 158, - 134, 29, 178, 67, 221, 27, 74, 86, 115, 101, 61, 4, 130, - ]), - U256::from_bytes_le([ - 153, 145, 140, 247, 152, 63, 233, 125, 7, 161, 98, 211, 71, 15, 119, 188, 117, 18, 67, - 250, 251, 63, 254, 181, 242, 69, 186, 39, 107, 123, 252, 252, - ]), - U256::from_bytes_le([ - 43, 43, 57, 171, 48, 37, 236, 79, 167, 240, 103, 110, 135, 161, 244, 239, 167, 85, 50, - 15, 153, 120, 243, 105, 135, 129, 147, 193, 31, 84, 137, 69, - ]), - U256::from_bytes_le([ - 196, 249, 106, 184, 227, 185, 109, 63, 137, 199, 59, 153, 173, 172, 255, 216, 165, 7, - 218, 144, 125, 116, 212, 225, 113, 248, 142, 76, 0, 232, 90, 229, - ]), - U256::from_bytes_le([ - 98, 137, 143, 215, 90, 83, 76, 86, 255, 105, 148, 250, 231, 139, 68, 254, 52, 221, 229, - 0, 12, 181, 62, 110, 2, 86, 123, 236, 216, 39, 18, 9, - ]), - U256::from_bytes_le([ - 117, 192, 131, 91, 85, 51, 194, 19, 82, 25, 76, 136, 160, 43, 0, 201, 221, 238, 128, - 220, 202, 227, 75, 112, 183, 230, 89, 9, 228, 93, 194, 136, - ]), - U256::from_bytes_le([ - 176, 16, 103, 65, 23, 12, 213, 65, 48, 248, 33, 149, 243, 23, 74, 205, 133, 110, 208, - 228, 115, 37, 13, 252, 121, 228, 184, 210, 140, 64, 196, 124, - ]), - U256::from_bytes_le([ - 195, 36, 107, 74, 161, 193, 80, 128, 88, 218, 137, 137, 41, 227, 127, 236, 134, 107, - 16, 221, 172, 199, 184, 231, 171, 236, 170, 233, 111, 13, 38, 86, - ]), - U256::from_bytes_le([ - 24, 159, 240, 134, 253, 197, 21, 236, 0, 123, 33, 130, 56, 177, 152, 172, 155, 19, 148, - 172, 68, 71, 96, 212, 133, 63, 79, 240, 31, 82, 202, 140, - ]), - U256::from_bytes_le([ - 70, 24, 169, 92, 195, 247, 98, 110, 213, 189, 5, 76, 252, 44, 198, 75, 51, 93, 176, 93, - 206, 248, 246, 193, 73, 79, 133, 79, 0, 105, 200, 101, - ]), - U256::from_bytes_le([ - 20, 127, 104, 232, 242, 6, 51, 79, 251, 207, 176, 69, 22, 204, 71, 211, 88, 88, 176, - 177, 113, 233, 253, 136, 9, 53, 159, 2, 100, 19, 215, 30, - ]), - U256::from_bytes_le([ - 134, 134, 235, 106, 131, 200, 104, 210, 65, 146, 250, 81, 47, 251, 55, 13, 138, 79, - 134, 62, 224, 70, 252, 240, 221, 158, 150, 160, 166, 197, 222, 56, - ]), - U256::from_bytes_le([ - 145, 45, 150, 90, 112, 61, 0, 244, 229, 225, 85, 214, 44, 86, 91, 236, 115, 200, 7, - 247, 239, 229, 25, 229, 10, 69, 131, 212, 207, 123, 196, 30, - ]), - U256::from_bytes_le([ - 38, 33, 20, 21, 45, 244, 219, 139, 20, 74, 36, 132, 35, 151, 216, 75, 171, 245, 112, - 224, 203, 212, 69, 201, 30, 185, 228, 221, 138, 229, 99, 186, - ]), - U256::from_bytes_le([ - 237, 230, 215, 231, 121, 185, 75, 104, 148, 14, 77, 231, 250, 176, 220, 109, 53, 110, - 181, 161, 178, 16, 226, 251, 16, 121, 254, 201, 202, 45, 94, 54, - ]), - U256::from_bytes_le([ - 164, 12, 77, 56, 18, 50, 61, 105, 217, 215, 18, 33, 143, 95, 181, 70, 191, 117, 186, - 241, 169, 242, 114, 80, 4, 196, 172, 113, 133, 176, 50, 10, - ]), - U256::from_bytes_le([ - 177, 66, 57, 85, 205, 220, 150, 57, 100, 200, 163, 30, 160, 246, 157, 83, 162, 249, 40, - 95, 19, 89, 217, 204, 227, 103, 225, 72, 142, 230, 124, 233, - ]), - U256::from_bytes_le([ - 228, 44, 119, 104, 71, 221, 220, 10, 186, 44, 120, 133, 73, 56, 34, 140, 238, 4, 176, - 8, 136, 56, 33, 175, 118, 199, 53, 145, 158, 156, 169, 250, - ]), - U256::from_bytes_le([ - 176, 192, 231, 65, 94, 80, 232, 76, 17, 95, 163, 37, 5, 226, 177, 249, 104, 194, 2, 14, - 10, 124, 173, 176, 17, 136, 172, 194, 147, 200, 161, 65, - ]), - U256::from_bytes_le([ - 150, 228, 80, 196, 76, 124, 18, 47, 72, 187, 221, 217, 20, 30, 247, 47, 38, 160, 118, - 237, 236, 44, 203, 43, 117, 4, 120, 85, 171, 208, 94, 115, - ]), - U256::from_bytes_le([ - 193, 215, 120, 14, 189, 153, 224, 154, 163, 158, 169, 12, 19, 187, 42, 175, 236, 11, - 139, 21, 210, 218, 228, 86, 25, 229, 216, 213, 79, 133, 208, 28, - ]), - U256::from_bytes_le([ - 51, 75, 241, 148, 220, 65, 152, 93, 54, 37, 91, 92, 35, 22, 150, 205, 184, 168, 11, 97, - 129, 210, 17, 220, 189, 117, 163, 172, 70, 184, 150, 138, - ]), - U256::from_bytes_le([ - 122, 49, 191, 91, 38, 125, 64, 103, 59, 107, 141, 197, 26, 9, 227, 226, 86, 52, 248, - 147, 42, 170, 156, 91, 231, 63, 47, 232, 217, 193, 244, 18, - ]), - U256::from_bytes_le([ - 184, 217, 213, 120, 119, 39, 32, 138, 128, 176, 199, 224, 248, 188, 105, 117, 193, 145, - 73, 125, 121, 52, 245, 142, 109, 240, 81, 102, 128, 103, 1, 246, - ]), - U256::from_bytes_le([ - 172, 227, 81, 153, 195, 122, 6, 242, 65, 247, 119, 4, 167, 118, 6, 226, 13, 162, 23, - 92, 100, 44, 20, 155, 243, 180, 229, 13, 67, 145, 93, 222, - ]), - U256::from_bytes_le([ - 127, 139, 132, 85, 105, 208, 97, 102, 130, 185, 191, 164, 171, 119, 57, 69, 233, 193, - 178, 111, 50, 43, 155, 126, 115, 11, 99, 23, 240, 33, 173, 235, - ]), - U256::from_bytes_le([ - 237, 247, 156, 222, 6, 91, 167, 140, 240, 54, 135, 38, 128, 61, 103, 53, 252, 64, 163, - 9, 84, 125, 170, 176, 185, 149, 119, 234, 93, 132, 58, 224, - ]), - U256::from_bytes_le([ - 0, 136, 226, 145, 62, 24, 76, 251, 75, 45, 52, 106, 65, 141, 93, 229, 15, 64, 212, 198, - 25, 68, 113, 100, 244, 83, 87, 18, 233, 221, 24, 12, - ]), - U256::from_bytes_le([ - 97, 72, 218, 251, 179, 94, 46, 178, 147, 99, 187, 207, 17, 163, 51, 178, 150, 10, 133, - 76, 214, 22, 31, 35, 247, 75, 108, 247, 132, 3, 74, 199, - ]), - U256::from_bytes_le([ - 92, 168, 156, 200, 229, 81, 244, 59, 113, 199, 174, 73, 78, 191, 74, 17, 105, 167, 154, - 208, 172, 178, 18, 223, 226, 161, 177, 76, 131, 99, 203, 164, - ]), - U256::from_bytes_le([ - 91, 148, 39, 107, 123, 78, 144, 61, 107, 216, 91, 245, 65, 236, 139, 111, 200, 115, - 160, 145, 154, 7, 108, 143, 72, 192, 135, 172, 20, 90, 63, 135, - ]), - U256::from_bytes_le([ - 196, 191, 109, 156, 32, 179, 38, 178, 35, 166, 239, 238, 110, 58, 162, 77, 246, 244, - 253, 206, 145, 1, 118, 72, 148, 108, 191, 134, 212, 123, 117, 74, - ]), - U256::from_bytes_le([ - 254, 2, 241, 232, 29, 36, 64, 218, 208, 128, 97, 66, 123, 47, 192, 236, 110, 96, 211, - 88, 192, 14, 146, 236, 39, 173, 13, 58, 237, 23, 32, 44, - ]), - U256::from_bytes_le([ - 23, 241, 236, 156, 25, 250, 242, 84, 185, 208, 159, 96, 195, 59, 43, 139, 69, 125, 4, - 82, 204, 238, 73, 86, 224, 245, 89, 137, 229, 241, 99, 181, - ]), - U256::from_bytes_le([ - 26, 201, 13, 19, 15, 109, 199, 107, 169, 158, 8, 180, 52, 36, 81, 202, 76, 34, 44, 156, - 243, 251, 244, 147, 161, 58, 41, 55, 71, 87, 50, 157, - ]), - U256::from_bytes_le([ - 42, 26, 183, 135, 41, 196, 168, 244, 72, 228, 206, 86, 142, 247, 20, 39, 232, 208, 184, - 162, 93, 74, 254, 251, 42, 40, 137, 95, 18, 253, 87, 195, - ]), - U256::from_bytes_le([ - 88, 121, 98, 7, 229, 18, 96, 59, 44, 110, 38, 99, 222, 67, 77, 222, 211, 147, 69, 103, - 168, 78, 43, 67, 173, 6, 13, 185, 141, 6, 91, 140, - ]), - U256::from_bytes_le([ - 244, 178, 221, 151, 50, 28, 3, 197, 54, 20, 164, 80, 70, 171, 246, 239, 203, 64, 186, - 27, 32, 196, 65, 16, 53, 119, 248, 25, 150, 242, 27, 219, - ]), - U256::from_bytes_le([ - 216, 45, 191, 143, 199, 109, 37, 86, 63, 254, 35, 73, 140, 37, 40, 62, 14, 201, 8, 198, - 191, 178, 240, 38, 250, 19, 150, 172, 80, 98, 197, 14, - ]), - U256::from_bytes_le([ - 174, 34, 246, 155, 47, 123, 179, 132, 34, 171, 248, 226, 221, 194, 203, 79, 231, 30, - 157, 128, 214, 57, 200, 157, 109, 102, 51, 139, 131, 248, 167, 243, - ]), - U256::from_bytes_le([ - 25, 18, 211, 172, 184, 153, 170, 9, 32, 110, 208, 120, 71, 112, 182, 249, 129, 51, 20, - 110, 55, 5, 139, 92, 174, 58, 114, 17, 154, 89, 175, 206, - ]), - U256::from_bytes_le([ - 167, 167, 67, 96, 56, 189, 34, 92, 179, 82, 79, 66, 120, 224, 143, 254, 225, 208, 178, - 61, 253, 192, 112, 9, 141, 33, 181, 11, 160, 118, 210, 36, - ]), - U256::from_bytes_le([ - 2, 111, 97, 120, 8, 29, 71, 80, 105, 24, 213, 130, 115, 153, 204, 125, 237, 81, 75, 44, - 60, 47, 243, 212, 99, 85, 101, 215, 124, 153, 105, 36, - ]), - U256::from_bytes_le([ - 97, 14, 111, 251, 221, 185, 177, 182, 174, 116, 191, 189, 70, 27, 171, 47, 60, 246, - 239, 21, 169, 1, 92, 101, 175, 4, 233, 121, 254, 19, 119, 163, - ]), - U256::from_bytes_le([ - 96, 96, 132, 162, 240, 77, 146, 166, 245, 85, 160, 144, 206, 28, 71, 82, 50, 51, 177, - 9, 127, 251, 63, 231, 172, 96, 72, 44, 4, 204, 102, 231, - ]), - U256::from_bytes_le([ - 173, 45, 90, 214, 204, 29, 199, 238, 89, 61, 211, 122, 244, 26, 147, 115, 111, 229, 12, - 254, 130, 144, 122, 49, 56, 41, 147, 18, 241, 15, 42, 4, - ]), - U256::from_bytes_le([ - 169, 64, 151, 145, 234, 192, 101, 144, 126, 2, 169, 175, 214, 200, 92, 52, 48, 190, - 130, 153, 253, 244, 93, 188, 5, 87, 107, 87, 186, 6, 167, 168, - ]), - U256::from_bytes_le([ - 199, 65, 136, 82, 64, 232, 167, 112, 120, 60, 216, 16, 155, 191, 221, 113, 239, 235, - 32, 97, 194, 91, 242, 143, 73, 102, 223, 54, 102, 46, 190, 101, - ]), - U256::from_bytes_le([ - 41, 223, 31, 105, 40, 128, 41, 85, 253, 40, 190, 38, 235, 158, 225, 142, 75, 147, 167, - 105, 225, 27, 210, 85, 207, 44, 177, 12, 119, 231, 24, 73, - ]), - U256::from_bytes_le([ - 208, 34, 101, 228, 233, 89, 95, 32, 135, 47, 131, 37, 108, 158, 152, 0, 141, 203, 241, - 183, 50, 132, 59, 146, 169, 152, 52, 150, 139, 36, 162, 192, - ]), - U256::from_bytes_le([ - 133, 138, 189, 146, 49, 158, 150, 10, 89, 168, 226, 116, 165, 28, 104, 71, 72, 69, 158, - 86, 248, 205, 247, 209, 243, 57, 61, 56, 17, 112, 65, 242, - ]), - U256::from_bytes_le([ - 35, 108, 153, 212, 118, 189, 210, 170, 213, 197, 236, 132, 116, 141, 209, 215, 14, 54, - 169, 89, 29, 215, 98, 231, 63, 145, 252, 200, 34, 70, 115, 189, - ]), - U256::from_bytes_le([ - 205, 207, 128, 139, 5, 115, 84, 76, 98, 195, 158, 83, 71, 61, 85, 243, 250, 164, 52, 6, - 191, 37, 227, 196, 166, 136, 32, 179, 8, 29, 6, 152, - ]), - U256::from_bytes_le([ - 170, 98, 220, 173, 195, 27, 149, 213, 141, 69, 248, 112, 218, 9, 82, 50, 60, 218, 96, - 84, 96, 103, 31, 253, 109, 110, 46, 116, 198, 31, 198, 39, - ]), - U256::from_bytes_le([ - 218, 142, 63, 221, 255, 4, 120, 218, 230, 177, 207, 173, 174, 135, 187, 162, 34, 194, - 77, 155, 190, 0, 190, 6, 10, 184, 40, 71, 70, 176, 158, 179, - ]), - U256::from_bytes_le([ - 252, 37, 42, 161, 168, 44, 53, 202, 58, 207, 104, 32, 89, 87, 137, 218, 8, 36, 18, 52, - 57, 127, 65, 10, 252, 148, 197, 201, 190, 228, 46, 97, - ]), - U256::from_bytes_le([ - 158, 114, 205, 103, 210, 250, 219, 124, 193, 223, 43, 216, 14, 1, 111, 103, 15, 130, - 152, 231, 3, 195, 0, 0, 20, 147, 218, 32, 254, 219, 1, 234, - ]), - U256::from_bytes_le([ - 62, 165, 122, 180, 42, 247, 93, 249, 167, 83, 90, 17, 101, 198, 177, 243, 172, 223, - 144, 155, 69, 86, 78, 111, 68, 162, 38, 131, 94, 112, 42, 182, - ]), - U256::from_bytes_le([ - 80, 143, 36, 159, 228, 41, 242, 253, 45, 45, 42, 108, 69, 39, 176, 73, 84, 5, 154, 185, - 170, 249, 192, 32, 77, 209, 3, 46, 96, 78, 200, 135, - ]), - U256::from_bytes_le([ - 25, 98, 175, 82, 14, 245, 204, 144, 23, 216, 38, 115, 177, 75, 25, 130, 70, 210, 21, - 61, 32, 239, 130, 75, 107, 122, 219, 170, 164, 117, 145, 37, - ]), - U256::from_bytes_le([ - 252, 27, 244, 148, 186, 172, 234, 109, 188, 194, 14, 190, 73, 3, 115, 37, 168, 170, - 210, 240, 113, 223, 205, 139, 123, 100, 211, 81, 78, 201, 232, 34, - ]), - U256::from_bytes_le([ - 98, 241, 200, 105, 189, 22, 181, 11, 196, 12, 124, 193, 224, 31, 154, 42, 63, 170, 84, - 29, 170, 66, 185, 35, 90, 213, 224, 111, 208, 82, 181, 71, - ]), - U256::from_bytes_le([ - 138, 248, 229, 47, 28, 38, 130, 3, 69, 57, 23, 165, 11, 219, 102, 85, 79, 145, 38, 232, - 84, 144, 48, 80, 217, 95, 19, 17, 246, 131, 38, 252, - ]), - U256::from_bytes_le([ - 139, 116, 195, 31, 56, 190, 96, 64, 65, 97, 28, 129, 95, 44, 4, 233, 85, 103, 255, 163, - 172, 225, 238, 98, 203, 196, 81, 69, 30, 172, 108, 159, - ]), - U256::from_bytes_le([ - 61, 159, 11, 223, 92, 22, 150, 2, 57, 167, 212, 119, 182, 57, 200, 249, 73, 110, 228, - 85, 32, 25, 196, 74, 12, 181, 198, 15, 84, 225, 196, 183, - ]), - U256::from_bytes_le([ - 249, 92, 141, 39, 107, 13, 194, 155, 62, 55, 241, 14, 89, 165, 82, 94, 122, 166, 232, - 57, 110, 145, 216, 66, 73, 52, 106, 11, 219, 92, 105, 130, - ]), - U256::from_bytes_le([ - 84, 95, 58, 6, 77, 13, 188, 215, 83, 145, 220, 123, 105, 245, 32, 69, 208, 219, 102, - 192, 251, 188, 50, 29, 3, 78, 38, 142, 186, 163, 126, 127, - ]), - U256::from_bytes_le([ - 122, 109, 79, 149, 37, 167, 169, 149, 217, 109, 201, 134, 131, 114, 132, 125, 188, 146, - 37, 215, 79, 68, 133, 75, 211, 138, 3, 142, 207, 210, 148, 55, - ]), - U256::from_bytes_le([ - 23, 151, 180, 66, 189, 58, 108, 10, 188, 51, 55, 61, 54, 232, 5, 3, 186, 255, 41, 3, - 223, 242, 186, 215, 114, 15, 84, 86, 28, 58, 94, 111, - ]), - U256::from_bytes_le([ - 156, 76, 113, 72, 148, 229, 3, 19, 119, 249, 21, 149, 152, 63, 158, 71, 108, 18, 163, - 233, 137, 229, 96, 70, 165, 196, 185, 234, 122, 105, 91, 9, - ]), - U256::from_bytes_le([ - 233, 27, 39, 102, 133, 193, 174, 72, 117, 95, 209, 164, 147, 171, 104, 64, 223, 20, - 145, 75, 88, 30, 94, 203, 212, 157, 185, 71, 67, 87, 223, 180, - ]), - U256::from_bytes_le([ - 35, 193, 82, 175, 202, 228, 140, 109, 136, 103, 1, 163, 142, 66, 138, 127, 241, 235, - 77, 128, 65, 92, 115, 151, 100, 202, 19, 47, 63, 191, 213, 21, - ]), - U256::from_bytes_le([ - 104, 188, 109, 58, 225, 21, 132, 104, 182, 58, 186, 229, 226, 24, 42, 68, 141, 201, - 178, 60, 123, 149, 24, 198, 191, 242, 89, 26, 89, 237, 75, 150, - ]), - U256::from_bytes_le([ - 173, 21, 51, 36, 220, 60, 204, 112, 236, 231, 58, 159, 168, 197, 104, 197, 75, 231, 72, - 233, 75, 95, 41, 153, 149, 38, 88, 88, 56, 185, 42, 73, - ]), - U256::from_bytes_le([ - 51, 10, 203, 197, 80, 179, 125, 128, 250, 117, 40, 91, 211, 172, 195, 170, 90, 158, - 199, 178, 160, 197, 153, 74, 242, 24, 246, 227, 224, 97, 11, 62, - ]), - U256::from_bytes_le([ - 21, 192, 108, 247, 81, 235, 58, 157, 221, 96, 246, 75, 25, 167, 222, 236, 32, 201, 32, - 109, 1, 50, 92, 202, 158, 248, 217, 9, 143, 196, 239, 73, - ]), - U256::from_bytes_le([ - 50, 75, 138, 217, 231, 35, 163, 109, 15, 37, 228, 192, 84, 35, 86, 15, 71, 192, 241, - 94, 74, 183, 242, 255, 146, 254, 230, 208, 131, 6, 82, 46, - ]), - U256::from_bytes_le([ - 33, 9, 119, 233, 64, 34, 203, 159, 60, 67, 159, 113, 13, 98, 37, 237, 33, 128, 77, 129, - 61, 59, 136, 88, 131, 16, 173, 118, 50, 30, 181, 101, - ]), - U256::from_bytes_le([ - 141, 128, 188, 44, 77, 160, 15, 26, 81, 211, 188, 185, 25, 201, 48, 90, 228, 250, 46, - 10, 110, 197, 108, 166, 255, 123, 126, 238, 158, 187, 218, 38, - ]), - U256::from_bytes_le([ - 253, 74, 74, 93, 161, 36, 110, 203, 229, 224, 52, 111, 213, 41, 23, 40, 213, 97, 92, - 135, 172, 93, 210, 96, 9, 79, 171, 66, 120, 250, 189, 104, - ]), - U256::from_bytes_le([ - 13, 105, 65, 238, 209, 88, 142, 201, 134, 150, 105, 82, 12, 40, 26, 79, 105, 255, 85, - 90, 34, 124, 169, 200, 211, 133, 83, 144, 233, 112, 36, 87, - ]), - U256::from_bytes_le([ - 6, 68, 197, 166, 68, 80, 239, 177, 216, 82, 216, 131, 62, 141, 154, 109, 84, 54, 104, - 93, 237, 81, 72, 248, 207, 166, 36, 55, 215, 87, 7, 251, - ]), - U256::from_bytes_le([ - 176, 18, 113, 249, 254, 173, 7, 62, 206, 107, 210, 233, 105, 157, 69, 148, 182, 89, - 116, 166, 143, 2, 40, 15, 227, 43, 215, 145, 239, 20, 205, 195, - ]), - U256::from_bytes_le([ - 251, 161, 106, 252, 68, 230, 46, 182, 82, 69, 164, 27, 245, 226, 171, 174, 17, 149, - 242, 39, 111, 100, 148, 102, 187, 156, 183, 40, 110, 154, 119, 122, - ]), - U256::from_bytes_le([ - 168, 251, 137, 41, 232, 90, 150, 237, 9, 89, 36, 35, 198, 71, 120, 169, 7, 46, 154, - 149, 138, 14, 27, 179, 130, 184, 227, 168, 26, 101, 53, 122, - ]), - U256::from_bytes_le([ - 66, 124, 214, 160, 173, 42, 36, 31, 131, 135, 203, 49, 65, 253, 71, 29, 122, 89, 53, - 201, 253, 153, 245, 106, 229, 19, 138, 59, 141, 217, 77, 95, - ]), - U256::from_bytes_le([ - 146, 22, 94, 247, 210, 26, 51, 73, 216, 164, 236, 138, 115, 20, 120, 140, 141, 187, 49, - 48, 224, 213, 48, 250, 214, 126, 115, 219, 153, 136, 122, 149, - ]), - U256::from_bytes_le([ - 1, 244, 68, 52, 234, 203, 244, 232, 217, 144, 83, 26, 65, 113, 162, 159, 58, 63, 211, - 242, 187, 149, 97, 78, 26, 27, 12, 138, 134, 2, 51, 198, - ]), - U256::from_bytes_le([ - 190, 173, 159, 20, 168, 130, 73, 38, 186, 117, 7, 231, 55, 197, 241, 220, 132, 23, 243, - 235, 160, 38, 224, 53, 113, 119, 151, 5, 248, 249, 88, 14, - ]), - U256::from_bytes_le([ - 42, 99, 108, 198, 253, 13, 81, 134, 19, 70, 248, 255, 38, 166, 166, 70, 23, 158, 236, - 157, 173, 232, 167, 167, 123, 212, 98, 78, 150, 63, 96, 15, - ]), - U256::from_bytes_le([ - 28, 180, 196, 213, 225, 145, 122, 222, 206, 17, 81, 27, 175, 182, 188, 234, 16, 2, 60, - 162, 149, 146, 199, 68, 147, 193, 226, 147, 68, 208, 66, 89, - ]), - U256::from_bytes_le([ - 16, 90, 44, 130, 115, 24, 54, 16, 99, 77, 216, 151, 97, 125, 129, 96, 14, 51, 188, 166, - 129, 57, 125, 70, 155, 138, 184, 253, 98, 4, 109, 134, - ]), - U256::from_bytes_le([ - 83, 63, 83, 174, 207, 63, 152, 188, 165, 169, 66, 102, 239, 119, 24, 142, 140, 211, - 178, 41, 50, 146, 91, 197, 235, 84, 127, 223, 72, 139, 243, 162, - ]), - U256::from_bytes_le([ - 115, 145, 219, 25, 4, 123, 175, 18, 244, 237, 243, 185, 156, 40, 56, 36, 248, 205, 90, - 73, 230, 250, 89, 120, 139, 160, 109, 19, 76, 84, 2, 146, - ]), - U256::from_bytes_le([ - 172, 78, 34, 98, 102, 174, 216, 28, 73, 191, 81, 200, 69, 112, 249, 171, 104, 242, 134, - 240, 76, 74, 206, 36, 178, 1, 242, 213, 176, 85, 59, 163, - ]), - U256::from_bytes_le([ - 171, 200, 235, 3, 243, 190, 0, 134, 219, 15, 65, 201, 58, 120, 242, 248, 47, 235, 242, - 222, 97, 58, 80, 1, 60, 153, 53, 155, 14, 96, 68, 247, - ]), - U256::from_bytes_le([ - 252, 175, 27, 146, 138, 201, 244, 91, 67, 7, 157, 81, 142, 88, 124, 163, 37, 165, 46, - 164, 238, 149, 202, 159, 179, 15, 172, 50, 121, 91, 60, 161, - ]), - U256::from_bytes_le([ - 252, 250, 68, 12, 125, 157, 2, 101, 202, 60, 85, 137, 229, 84, 74, 37, 236, 11, 207, - 123, 81, 193, 56, 139, 133, 228, 107, 196, 212, 221, 83, 131, - ]), - U256::from_bytes_le([ - 83, 40, 121, 72, 195, 22, 135, 225, 156, 157, 137, 182, 71, 41, 88, 67, 229, 121, 238, - 39, 201, 205, 248, 106, 209, 140, 142, 123, 73, 239, 146, 35, - ]), - U256::from_bytes_le([ - 121, 253, 107, 38, 207, 173, 95, 52, 207, 140, 58, 116, 61, 201, 75, 164, 55, 70, 76, - 123, 24, 168, 18, 81, 34, 196, 6, 218, 171, 14, 167, 225, - ]), - U256::from_bytes_le([ - 72, 234, 5, 246, 152, 155, 78, 122, 204, 191, 192, 71, 93, 202, 208, 231, 154, 24, 231, - 91, 201, 110, 53, 168, 126, 65, 86, 158, 3, 171, 12, 89, - ]), - U256::from_bytes_le([ - 91, 51, 221, 110, 203, 142, 222, 204, 29, 185, 25, 146, 36, 176, 157, 5, 122, 152, 63, - 217, 250, 208, 97, 184, 179, 114, 208, 166, 206, 243, 139, 199, - ]), - U256::from_bytes_le([ - 145, 210, 153, 65, 206, 119, 141, 78, 4, 255, 75, 31, 126, 218, 169, 135, 172, 126, - 145, 15, 232, 211, 199, 182, 39, 106, 151, 81, 53, 167, 27, 253, - ]), - U256::from_bytes_le([ - 40, 250, 235, 72, 205, 80, 136, 144, 70, 236, 108, 56, 57, 182, 38, 72, 247, 228, 31, - 11, 244, 158, 217, 41, 180, 233, 83, 229, 69, 247, 53, 226, - ]), - U256::from_bytes_le([ - 214, 206, 104, 130, 113, 242, 254, 151, 189, 79, 112, 123, 237, 68, 1, 58, 163, 160, - 33, 89, 177, 119, 204, 176, 57, 166, 249, 0, 117, 55, 28, 107, - ]), - U256::from_bytes_le([ - 12, 108, 64, 80, 228, 111, 239, 89, 218, 162, 50, 206, 112, 119, 65, 70, 230, 59, 80, - 30, 232, 200, 131, 222, 104, 115, 60, 185, 30, 20, 62, 56, - ]), - U256::from_bytes_le([ - 17, 22, 211, 154, 54, 217, 35, 188, 223, 21, 154, 124, 83, 74, 190, 127, 18, 90, 188, - 181, 17, 34, 108, 108, 168, 29, 251, 76, 122, 224, 76, 204, - ]), - U256::from_bytes_le([ - 154, 114, 163, 240, 106, 85, 126, 166, 249, 149, 79, 249, 142, 15, 249, 102, 79, 157, - 195, 222, 150, 38, 81, 114, 13, 42, 246, 252, 83, 155, 19, 189, - ]), - U256::from_bytes_le([ - 220, 56, 97, 78, 98, 214, 3, 78, 7, 245, 243, 88, 245, 21, 67, 84, 229, 108, 66, 220, - 130, 218, 24, 152, 236, 226, 231, 64, 244, 11, 82, 251, - ]), - U256::from_bytes_le([ - 24, 85, 196, 4, 83, 15, 85, 140, 197, 152, 128, 89, 106, 249, 99, 43, 31, 116, 93, 202, - 80, 64, 153, 234, 242, 185, 246, 215, 74, 200, 115, 17, - ]), - U256::from_bytes_le([ - 228, 50, 145, 207, 218, 140, 7, 101, 96, 52, 152, 122, 170, 208, 17, 117, 192, 3, 222, - 11, 217, 87, 27, 171, 178, 80, 127, 134, 21, 201, 127, 198, - ]), - U256::from_bytes_le([ - 194, 7, 152, 11, 166, 150, 142, 163, 159, 194, 219, 233, 33, 217, 112, 240, 175, 242, - 218, 231, 145, 155, 65, 23, 13, 20, 79, 210, 136, 116, 210, 62, - ]), - U256::from_bytes_le([ - 31, 57, 37, 229, 83, 183, 181, 6, 92, 36, 125, 193, 234, 86, 192, 24, 16, 96, 161, 203, - 12, 147, 46, 126, 110, 242, 218, 233, 31, 38, 203, 154, - ]), - U256::from_bytes_le([ - 32, 223, 222, 219, 211, 30, 216, 108, 236, 149, 124, 6, 157, 194, 151, 178, 33, 42, - 117, 252, 144, 130, 5, 35, 168, 150, 91, 194, 220, 246, 214, 39, - ]), - U256::from_bytes_le([ - 255, 207, 176, 131, 181, 60, 255, 167, 230, 19, 91, 219, 254, 25, 157, 71, 120, 63, 31, - 142, 118, 245, 76, 80, 193, 111, 15, 185, 79, 126, 135, 4, - ]), - U256::from_bytes_le([ - 76, 177, 171, 215, 91, 173, 141, 48, 236, 186, 220, 47, 175, 61, 132, 111, 245, 22, - 231, 101, 115, 16, 152, 84, 24, 4, 65, 148, 36, 194, 49, 169, - ]), - U256::from_bytes_le([ - 45, 182, 101, 20, 80, 234, 17, 241, 252, 102, 8, 146, 183, 41, 155, 198, 131, 171, 197, - 227, 21, 218, 118, 45, 181, 52, 116, 49, 129, 181, 224, 132, - ]), - U256::from_bytes_le([ - 95, 215, 183, 23, 157, 125, 36, 253, 251, 52, 249, 130, 88, 24, 31, 195, 239, 108, 137, - 161, 132, 219, 231, 121, 224, 17, 102, 181, 208, 177, 146, 45, - ]), - U256::from_bytes_le([ - 46, 124, 235, 173, 54, 148, 57, 202, 128, 75, 10, 185, 62, 60, 208, 159, 247, 30, 171, - 150, 74, 206, 151, 188, 60, 86, 50, 182, 234, 52, 216, 20, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_513_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("cf114fb32b16706fc55188ad17f4dcced660baf4f31353048a5f51317134dc2b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_31_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 3052724393868548387, - 3810693530679841654, - 12585541796688525245, - 7797619408698423071, - 17300603542735752207, - 1500042191375799293, - 15730311807639243063, - 4896003536604206404, - 11052623568709729964, - 7620613587987365317, - 14725846845076244548, - 8277023605973026738, - 17826368043195852359, - 3128829880034264486, - 3473891868744927914, - 18343612133879937169, - 11117133942831612242, - 15989397465635862691, - 7217156999682606300, - 11356562156743016218, - 8285094276436873719, - 1589676644942788053, - 4169250114160504621, - 558291410544594398, - 15615879608970573885, - 9651926789184060127, - 7687155892063378437, - 17756836253102770925, - 5291345685353917916, - 15829036281687984180, - 4874883508035225879, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_31_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("692da28053f3e2d585e5359989519e2af9044140b7f50d0db8e36b89e5ddd6f3"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_512_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_512_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("006eed26f731a68917853879507d9fa9f4044f7af999f9df535fac29715db555"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_8_max() { - let mut value = - Vector::::try_from(Vec::::from_iter([255, 255, 255, 255, 255, 255, 255, 255])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_8_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffff000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_5_random() { - let mut value = - Vector::::try_from(Vec::::from_iter([15, 8, 177, 247, 237])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_5_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0f08b1f7ed000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_513_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_513_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("9efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_513_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_513_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_3_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_3_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_8_zero() { - let mut value = - Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0, 0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_8_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_5_max() { - let mut value = - Vector::::try_from(Vec::::from_iter([255, 255, 255, 255, 255])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_5_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffff000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_31_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_31_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("e7492e2fb875c43b137514ed057ddfc23ddd1220431403c9a3395e2bbaf51407"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_3_random() { - let mut value = - Vector::::try_from(Vec::::from_iter([55998, 58650, 32471])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_3_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("beda1ae5d77e0000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_1_max() { - let mut value = - Vector::::try_from(Vec::::from_iter([18446744073709551615])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_1_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffff000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_3_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_3_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("1e3915ef9ca4ed8619d472b72fb1833448756054b4de9acb439da54dff7166aa"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_5_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 1051503312, 1875702585, 3338068896, 1062162289, 44280150, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_5_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("d0aaac3e39f3cc6fa0e3f6c6714f4f3f56a9a302000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_1_random() { - let mut value = Vector::::try_from(Vec::::from_iter([U256::from_bytes_le([ - 23, 198, 217, 240, 65, 96, 243, 95, 206, 232, 214, 26, 230, 80, 25, 35, 116, 138, 185, 248, - 165, 147, 63, 252, 41, 25, 209, 95, 73, 233, 26, 244, - ])])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_1_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("17c6d9f04160f35fcee8d61ae6501923748ab9f8a5933ffc2919d15f49e91af4"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_1_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_1_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_16_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_16_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("c78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_16_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 240, 52, 157, 62, 33, 82, 186, 76, 43, 156, 161, 241, 59, 31, 225, 79, 247, 97, 118, - 251, 234, 138, 47, 120, 129, 122, 206, 216, 201, 221, 67, 133, - ]), - U256::from_bytes_le([ - 212, 233, 42, 72, 109, 30, 150, 166, 88, 4, 208, 133, 82, 125, 255, 36, 249, 82, 137, - 253, 208, 202, 238, 139, 89, 125, 32, 184, 194, 35, 67, 228, - ]), - U256::from_bytes_le([ - 208, 105, 149, 83, 2, 180, 140, 191, 233, 37, 135, 57, 130, 252, 145, 71, 76, 173, 132, - 46, 249, 51, 122, 56, 225, 158, 152, 51, 196, 172, 24, 18, - ]), - U256::from_bytes_le([ - 97, 39, 155, 196, 77, 16, 157, 41, 102, 252, 217, 171, 184, 68, 202, 234, 63, 183, 7, - 221, 237, 207, 49, 201, 225, 175, 163, 83, 239, 45, 247, 101, - ]), - U256::from_bytes_le([ - 70, 14, 165, 110, 162, 181, 160, 255, 106, 186, 164, 191, 44, 169, 228, 169, 248, 154, - 41, 111, 79, 244, 153, 151, 24, 219, 136, 247, 172, 88, 238, 251, - ]), - U256::from_bytes_le([ - 62, 10, 101, 3, 25, 26, 183, 177, 148, 210, 253, 158, 9, 182, 247, 222, 224, 93, 222, - 42, 167, 173, 74, 239, 207, 212, 142, 144, 20, 85, 92, 90, - ]), - U256::from_bytes_le([ - 43, 43, 101, 214, 10, 154, 114, 74, 19, 170, 147, 124, 11, 70, 23, 0, 125, 82, 11, 121, - 71, 230, 232, 150, 239, 232, 250, 93, 218, 212, 204, 130, - ]), - U256::from_bytes_le([ - 49, 96, 40, 230, 174, 26, 30, 184, 55, 154, 214, 62, 60, 161, 121, 92, 59, 246, 44, - 186, 80, 192, 28, 66, 237, 133, 169, 171, 172, 173, 59, 90, - ]), - U256::from_bytes_le([ - 196, 231, 203, 2, 98, 198, 170, 41, 17, 140, 109, 246, 151, 202, 56, 81, 122, 237, 131, - 226, 70, 26, 136, 50, 152, 234, 50, 172, 133, 77, 247, 85, - ]), - U256::from_bytes_le([ - 249, 187, 45, 222, 65, 149, 93, 108, 105, 204, 110, 197, 173, 81, 110, 93, 180, 149, - 163, 181, 52, 5, 89, 169, 35, 190, 40, 58, 238, 202, 172, 192, - ]), - U256::from_bytes_le([ - 54, 52, 107, 75, 46, 163, 28, 241, 243, 172, 165, 205, 237, 118, 85, 13, 170, 7, 205, - 220, 134, 48, 51, 139, 212, 170, 109, 129, 159, 233, 76, 97, - ]), - U256::from_bytes_le([ - 61, 221, 81, 65, 43, 122, 39, 223, 193, 16, 207, 117, 189, 255, 60, 203, 63, 111, 177, - 81, 97, 245, 119, 44, 97, 2, 84, 80, 86, 146, 230, 230, - ]), - U256::from_bytes_le([ - 125, 167, 181, 185, 177, 182, 24, 151, 80, 163, 2, 242, 167, 227, 201, 211, 136, 98, - 219, 64, 251, 168, 254, 63, 36, 30, 47, 49, 135, 67, 81, 124, - ]), - U256::from_bytes_le([ - 40, 175, 24, 214, 113, 163, 253, 157, 148, 106, 189, 102, 38, 33, 201, 187, 32, 147, - 153, 228, 220, 138, 87, 137, 145, 55, 13, 233, 91, 137, 56, 93, - ]), - U256::from_bytes_le([ - 117, 43, 14, 180, 130, 170, 82, 40, 76, 107, 118, 110, 10, 246, 96, 35, 44, 43, 50, - 201, 61, 101, 247, 36, 42, 134, 71, 103, 91, 62, 238, 249, - ]), - U256::from_bytes_le([ - 171, 127, 221, 201, 139, 31, 221, 183, 128, 145, 61, 209, 23, 93, 25, 164, 96, 48, 210, - 1, 84, 130, 44, 131, 33, 60, 0, 100, 125, 32, 229, 220, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_16_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("1acf6f6a33e7a6642bf9f60d5c829ca9f09390bf30663f50ef1424796f582057"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_31_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 2630, 4376, 65427, 13583, 41975, 15842, 27686, 33957, 45114, 56180, 24895, 4175, 40381, - 32830, 48421, 52207, 58611, 41821, 31373, 23853, 55119, 1957, 34877, 62496, 37311, 40303, - 44876, 36839, 47492, 53209, 24055, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_31_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("29fab6cb24858519d6e8d3af2fdac7ec9fce5c08e978fb1a3cdb3fad6fe88f7f"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_512_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 3535294352, 2244578171, 32943704, 3015817426, 2456157102, 219351158, 2006999311, - 1996972550, 2838712831, 1656769757, 3318502982, 4213769932, 2050078503, 4292367497, - 4290313471, 1262779699, 4083724714, 1323361645, 974092343, 710698434, 2984936844, - 2709051461, 793048327, 2740605131, 4271720468, 1239230976, 737431578, 3362943983, - 918617091, 2606153556, 388763806, 2502078683, 3378874323, 2355187203, 157263768, - 1750398229, 1726973279, 1685332809, 2492836426, 1734731691, 3216588585, 19605804, - 1079902211, 752009555, 1313141487, 2557096315, 3782998189, 1055732267, 1012020811, - 3323197044, 4054145370, 4138435231, 2069952128, 306530649, 1494565330, 3753105050, - 1360186424, 2380191177, 3271137983, 2853578005, 1966300545, 2445678985, 1722906387, - 1568386585, 500870613, 1339987259, 3268820798, 3981291882, 933156616, 3775563964, - 1596013155, 741998234, 268068699, 2563970862, 1804695176, 3982648303, 2655461544, - 2734449043, 738208464, 3745411901, 99361025, 2741088555, 4201353158, 3348783183, - 2054886505, 4084856832, 3508954061, 498624123, 2117203264, 3745504180, 3062233877, - 3074639656, 2386643714, 1332975315, 3901865235, 1858598116, 2599471745, 859192293, - 1322827830, 2027021532, 2694401832, 3990078534, 2974308187, 3968735550, 4206014803, - 2971436541, 3774373948, 2846923396, 3578470527, 3654481937, 3353460878, 4075675716, - 3799520987, 4120838021, 2158786311, 403313196, 2508911367, 10900908, 3028221190, 342848224, - 3529437045, 359980750, 1781538672, 1604481683, 674127897, 37035551, 2695472569, 496109305, - 3159798786, 2419165439, 663646611, 874882601, 1646773349, 3622039566, 1046420945, - 3665303103, 678740365, 685087413, 526677619, 2275681050, 1032960777, 3429497003, - 1417114643, 3172213549, 1404837023, 1325283518, 3893270408, 602238145, 3914985577, - 3975382686, 2601748675, 2356353894, 3153873749, 526408453, 2640845379, 3926620605, - 1258444490, 986708388, 3975693528, 299605420, 104768804, 444965549, 4065545249, 490166175, - 657757140, 2768701878, 3813333597, 3455406501, 2504511478, 355414935, 4015633969, - 2880420128, 2359983044, 3197597614, 212209564, 3888226910, 3951085813, 401264663, - 3792922719, 1420661438, 2254844891, 580834507, 3364803238, 2203604914, 2615046504, - 1115697783, 392870589, 311935107, 1442208749, 1209298478, 1013593249, 2053215367, - 3412394840, 4030116388, 142371070, 1950874224, 3042396528, 3018316910, 3697727630, - 1998412466, 1565816659, 841459056, 4030754272, 1312053095, 2455378572, 1731126608, - 2845452582, 3953375723, 3822263095, 252824003, 3630660489, 1739260497, 1803576050, - 1912944999, 2601986289, 2541404050, 4215070596, 1061521796, 1754148457, 3255336258, - 3582596520, 514105160, 2980764780, 3130695110, 1253698669, 3004166864, 3824662942, - 3246231229, 460259310, 4089129029, 4114996050, 3534152197, 2122530116, 865630905, - 968035546, 2199557573, 1958771466, 773581354, 370339735, 614529460, 3234242989, 3517297738, - 830368230, 2173424325, 3013280028, 427969949, 2679037354, 908067850, 2821401428, 603844792, - 71983645, 4161931391, 3067792552, 1418037527, 4463265, 84316272, 950745375, 3964187759, - 1501489365, 2988654540, 2292636560, 3945907452, 502636829, 1574346912, 3281827256, - 2787880690, 1499982341, 847934911, 610690502, 163824992, 777259958, 2781566187, 3615351968, - 3708981020, 976054856, 100913786, 4090496589, 300612182, 2030010945, 4173694335, - 3969615050, 2415563, 991623807, 3310316394, 2251061732, 1305042197, 3465256011, 3395953082, - 2513468668, 1354005343, 1632604415, 216263825, 3076011258, 3746999400, 1117079550, - 2295596376, 883106176, 2361055599, 3258628962, 3945266859, 3860808418, 846352371, - 1399590686, 772378354, 1588875802, 3343689110, 2082989732, 3408728540, 1076495583, - 1680687149, 291855826, 726487704, 799970947, 3551790903, 2742915380, 1890091834, - 2507392407, 1727482428, 3096669669, 2909223385, 1635977177, 2089470236, 981557541, - 2342237733, 2363710558, 2696327208, 2986914419, 292191546, 1107478332, 2959391739, - 378566732, 1118392952, 973862178, 1031998503, 1820508723, 3075483448, 3249413162, - 2076796467, 545866968, 3457667772, 1385917415, 2606276828, 437737244, 2540365289, - 728331253, 2258686738, 470639768, 4189510907, 3916947153, 2585918050, 565375584, - 3686965793, 1007880761, 2413669839, 1063127889, 825859952, 3139645345, 3186620248, - 578211014, 2693981046, 3057114146, 1493741110, 458566123, 2468827650, 4140026266, - 894690154, 523145548, 3726228913, 1831559042, 2679193135, 4072981159, 3190351894, - 2550794351, 1938105959, 4245338721, 3988907142, 2457209373, 3975700772, 144892689, - 3811184202, 425355055, 1855911656, 3474887805, 203251995, 1787895772, 3172519209, - 962544690, 3629109328, 345813322, 150915150, 2893137764, 2618891532, 1625475391, - 2029336085, 1263731842, 1911894423, 3894118586, 1363971621, 960015382, 192449136, 67552855, - 1294879004, 2591718910, 1736825353, 3490063644, 2128190458, 1972629089, 2399260128, - 17379262, 161281455, 1709561484, 2933730946, 3225981600, 2543293831, 1978452738, - 3008899847, 3118751066, 1254469678, 1023053771, 3193145277, 3070133883, 2941828171, - 1001485872, 1869687394, 2769560579, 4142957345, 3319210633, 1455429722, 2614932657, - 4245078534, 994863755, 3143378383, 199381130, 661298469, 2452039343, 2031879050, - 2729949360, 2235242867, 2996710365, 2227030039, 1405749267, 3825028104, 848321069, - 1458715752, 2000071960, 3126188701, 106644335, 2050139015, 4236278138, 1131957322, - 1005264630, 3652645946, 3343357510, 3773188712, 271071174, 3557746887, 317450074, - 1545562146, 193974785, 3599222840, 879189109, 4092020238, 3841666085, 2197870115, - 182750812, 2605303221, 2012863450, 3219471627, 918483864, 53850912, 2530136267, 1612901225, - 743481088, 613878693, 2916861685, 971257519, 3236860384, 3379284124, 2519555053, 366466546, - 1686741245, 2943106452, 1199737384, 4035650276, 3529673426, 2114328522, 2416026204, - 2731819303, 2314409199, 3516208253, 1107875552, 2938755457, 3081337177, 2481720773, - 387862847, 3668943239, 2471366547, 3042011515, 1291823301, 3478236734, 4266051645, - 1225358750, 2712399533, 3151898487, 2747576291, 2815685304, 2442136584, 2977848056, - 1605903903, 2992868241, 2668529965, 1279750435, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_512_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("29520e549f20e52e3cd8ef74509a65c936a54c25207355c6c7d8b93b50c16b79"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_8_zero() { - let mut value = - Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0, 0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_8_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_31_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_31_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("43cbd26c37dcff8448ce8896f9b5e553a1047de0c59ec3b477decefbdea9c74b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_2_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_2_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_4_max() { - let mut value = Vector::::try_from(Vec::::from_iter([255, 255, 255, 255])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_4_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffff00000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_16_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 238, 35, 45, 23, 138, 32, 154, 246, 181, 136, 127, 102, 232, 9, 36, 2, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_16_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ee232d178a209af6b5887f66e809240200000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_512_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_512_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_4_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_4_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_4_max() { - let mut value = - Vector::::try_from(Vec::::from_iter([true, true, true, true])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_4_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0101010100000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_513_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_513_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("e243d140ab8d341e3cad517d2ba8cd3b8ef7df2ff6f6962f0aeaf20e366fe7e3"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_513_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_513_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5299a985b414f61b75a2c8c15f886b14a1a668135c01d9a44f094b893d72852"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_1_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_1_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_2_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 18446744073709551615, - 18446744073709551615, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_2_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffff00000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_8_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_8_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_513_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_513_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("8d90ae08c4b61479f6867707545ea8b26e91d9ef54e863a8daf7427f1e4d04c1"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_4_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_4_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_512_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_512_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("a278cf32ca74f920b67a7b3d02447453d8883fecb4a7aa1ba4327079fa3d5162"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_8_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 598083651574187315, - 16261093746939895763, - 11288686854153899408, - 4845075573469762221, - 17314674068189149066, - 14806780961068871529, - 11182945185590657296, - 10120249242423179797, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_8_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("d5a3754afc2badf65538d7358ba6199e5433893701dafc2f775e6e3b49cf13ca"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_4_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 7900660817174063737, - 6533979385570669156, - 4271747397033668748, - 3517156834185333722, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_4_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("79ea815a27c9a46d6432aaf6a15bad5a8c3064fa9f4b483bda4bf4888173cf30"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_1_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 340282366920938463463374607431768211455, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_1_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffff00000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_3_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_3_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_3_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_3_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_512_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_512_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("bea533dbcce99238f8e459b813178182fbb2903627d119e0e6a91718dee93bec"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_512_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, - 4294967295, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_512_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("7c09b1cdfe9a7e172dfe2ca8715becf5132c036abbfdfb500daa9c51f365074d"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_8_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_8_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffff00000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_5_max() { - let mut value = - Vector::::try_from(Vec::::from_iter([true, true, true, true, true])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_5_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0101010101000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_16_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_16_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_1_max() { - let mut value = Vector::::try_from(Vec::::from_iter([true])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_1_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0100000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_5_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_5_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("42b2994e8f77b7cc4b05fe01a2d6570ab7d29be54e434582425697ee8cd8f2c2"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_3_max() { - let mut value = Vector::::try_from(Vec::::from_iter([255, 255, 255])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_3_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffff0000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_2_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_2_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_16_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_16_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_16_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_16_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_5_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_5_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_31_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_31_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("c78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_1_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([false])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_1_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_2_max() { - let mut value = Vector::::try_from(Vec::::from_iter([255, 255])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_2_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffff000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_4_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_4_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("8667e718294e9e0df1d30600ba3eeb201f764aad2dad72748643e4a285e1d1f7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_513_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_513_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("9efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_5_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_5_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_31_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_31_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_5_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 194578830033788736352569855138204668708, - 222404791245710801707639009374583541271, - 300921627290141104382250227469409620613, - 262165721261575220299431625592070664586, - 114390707564886779102314838295082086088, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_5_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3783f4ecb6a705af305039d2f104b57616a40fd279144e6723358ca561a22a51"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_2_max() { - let mut value = Vector::::try_from(Vec::::from_iter([true, true])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_2_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0101000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_513_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_513_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("71b09f3b6e5e978c55a3e8e88640e9abbfe68c41e61e96424cffa42b63bfa413"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_4_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_4_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_3_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 180, 21, 110, 11, 140, 206, 247, 50, 116, 42, 151, 240, 95, 129, 184, 145, 10, 60, 171, - 40, 120, 79, 137, 163, 69, 100, 70, 1, 173, 244, 248, 44, - ]), - U256::from_bytes_le([ - 251, 233, 155, 132, 150, 17, 100, 94, 219, 18, 216, 181, 81, 16, 227, 193, 182, 29, - 106, 23, 114, 245, 186, 36, 187, 57, 209, 98, 187, 13, 191, 164, - ]), - U256::from_bytes_le([ - 201, 244, 78, 58, 39, 55, 151, 126, 63, 239, 151, 45, 32, 114, 114, 145, 25, 154, 100, - 142, 85, 203, 94, 39, 125, 63, 163, 149, 244, 214, 209, 134, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_3_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0d0ad5da1149666a95382488e4164f5eaf34c9a5d4616dabaf74fc5c1cb5416c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_1_random() { - let mut value = Vector::::try_from(Vec::::from_iter([58671])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_1_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("2fe5000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_5_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_5_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f0b46c4ab8cd5720de9457addeff0a7267e475c09fd5abb6661e32faf9dd30cd"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_1_max() { - let mut value = Vector::::try_from(Vec::::from_iter([255])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_1_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_513_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 34806233895606943316594477386264063388, - 269482665842274191832954812547223680643, - 98566888497380199723262118438348948905, - 306220238885959541900464878040688725020, - 111159210194802426381381041643724587505, - 255284616880460028192586642678864289378, - 188871549660503800108679523636135765568, - 21056290823491066720648133193625324049, - 286710680113285492371594620423571623971, - 200004860114587550212458443689430210411, - 321851956264775548612724788518793872734, - 3532337742491205460942323389975095296, - 323481655059545229713341333709240616122, - 323136964091009130056662149426183105457, - 65167318114830798017853810940849211815, - 99515404003291191584176500698893947096, - 180752719303242454432654495283527282623, - 316094185457648142185214471716302456967, - 93108837894792737125268951133721012040, - 223432116605195098796196862999105167008, - 36136949214178855160871726075755908205, - 302685122815841206762281614237458018211, - 125443367308817112377866828073872853275, - 81839106221620302098317069081963502378, - 79868404006231383566878264208180763516, - 82045941390403533866916174239465997712, - 114786098599669193029507218675990346556, - 277150593060181503827173172054038761065, - 134160698114177924670518200285967824094, - 54307925108328140336193430071292664302, - 81237491094300166034936894545685569135, - 339137825481638857685737855647652444540, - 100444922531596670474477300535544185083, - 304917587669227796313009737172322898092, - 67545143044848126908800951695149216631, - 200330516374109347995164263472097286053, - 57008632998146200089913222745105393955, - 274569345757878505322705087144276745732, - 304202587007901236355082194481916703186, - 114022363498830864639840147187644134991, - 305604296489208184357315646941263079491, - 62415697895798625222187970203431978046, - 212473946153620257507317728946356887645, - 6960034907456026234434260266584973406, - 187393605190011137027154046505864228541, - 86455527766341212244670704268469208684, - 115819451863739675140779780615033767652, - 75098126903439813739065905721927603597, - 44146474389129539911169430458352196742, - 258660355275685503683719592571436739980, - 236024392362650090176037828983661685381, - 194379966247782328856615689857154389416, - 258411776661483687391859525914642937736, - 329595757116581011391576813918821972920, - 104204073831744179958368680780400890931, - 179459781283877086488823271607414654080, - 170832652511394071304123668419115703278, - 218060991854722196656996706140045268201, - 96277322228460602817723751160483777565, - 153841079210086519343186459132396542708, - 138208317953302167387562966637428744828, - 126578676301160949140892395804017228857, - 3645025998846620796940971243468910676, - 104537413799756899135541944630954930279, - 234975575917491814005902371630971086280, - 332106924614250529586477868040168131558, - 282348027500597244128781340047887657594, - 97766988785716932963173272223212366772, - 106638883738156562609847876715751976755, - 70273114598914754154979122700372820817, - 180035778760960650582292529008939494832, - 176087344579726961184384050339345398219, - 240575812092879350277015191650271377369, - 277492100560593682752724362587380202686, - 313573961130288179822689821311629708968, - 233349244850888732251319812403423392334, - 294739209938672767175109958009718995667, - 158546319483829881918550211852268429291, - 150514918589426145007018114981053616199, - 14346362869902976673690978164614055802, - 189946922491791557956027742419236145054, - 142548158909253567029964304587649265398, - 39482133759591022481459641708890390642, - 94007789590443924513964716851761019241, - 295811620290576542547361414990678438759, - 114397773768869953894312840134377361219, - 300863106230159297034794357178279827100, - 318638833796044043346070543416279492179, - 71015864690116482811749779030434626709, - 71911132557073211736550146969030402658, - 198693736898785517956156448753394156016, - 300028572813307061464498739424798969321, - 338819733526523946463150159703685318005, - 327308647752096643213571602817940447795, - 17856216928942555709366709672698008752, - 16337615903034349237318035267418765482, - 155631161046614346361868077600010135717, - 159579921524121322571986148530090258937, - 52448034977495035268906194016230227058, - 226249836738449197632123927173022234990, - 284682329466967481753157695897768580756, - 336666077482294946940857502687346589124, - 47238248049178118096602784891379277234, - 1623247273694393890905991923310375068, - 204600920949585785785604506564732577859, - 160652961618860841113755815228643170481, - 289473837337210632200393681681097420591, - 268837063026041494516244499431962630952, - 325489298828601488388449641069800828381, - 148752403879228802100184400514728504956, - 13068179053504524564312161116600211541, - 74255354762929223490963204801594969826, - 210442607508879117399352858248291519055, - 174725361633019944886072153691415472080, - 286639400195610869464298543479532707577, - 292756726916625014906287691236276640584, - 128401361410066268594465348099234749842, - 196511083009584388385149372924362136470, - 187524958128641129231156601369304138680, - 261345686512293319179015600863327457941, - 152657771338718559403746481632097909879, - 288164935265327982992932566028623721723, - 306979039669599340062003007880332639225, - 54467652375185419954206245469420787151, - 92899323918121377409095167563136706236, - 208061683491856029900000329124049909721, - 112282901040895607378043268936919789066, - 123073582811178312504154424673372583661, - 188250533161277569349647752257317611049, - 2830006874395189957219661647590580787, - 93911482360705451650982379789597980021, - 321307650579124171463673972631620638752, - 47701286423845786582508186821414424863, - 206408368687541460037820175117117130977, - 170066510256474493534290808539179775062, - 91605241227824911816865059905900304353, - 114729335694352220327623665721506857093, - 22194185641353189474875879416690697024, - 256022801464095439247900313952636439407, - 140383937056462874775553361757357574507, - 15961810878358601881527646023010509221, - 124794119902474099776090350851445083054, - 198169628009311065792623785308130146529, - 311760983345791784241648507028199609396, - 129553712728922002831276591856339827228, - 222104092770193338958825152071853111162, - 96645047190289468957593578365392869015, - 313761892272717481365531332771324212091, - 307195232542436740741186084995460095692, - 250005657825317746935389895516448130448, - 36449055807335231151872268316130095899, - 18482132038945606647789431602430216208, - 5011381221826506230108824483502879310, - 141372147050436215319405296686297326693, - 279598264949256321708926808359127249374, - 301269478421795099893217072810488129437, - 162543493123370422006042040659140940281, - 96118430907212862579127990379065143155, - 159289271454328420652458324759143421917, - 337992080784566386323247894997560353968, - 5229658174929415251895920105630929935, - 268552975083365828490892284392804011690, - 247384864530717213830603724038965832983, - 214055185738105862888206767237763629806, - 23693571564554319554993359016010499201, - 287628661797779570858619132271218342099, - 292443174504906882721863284521652021180, - 52145939198259001101952359398809154160, - 290302759899913758280586648361828582357, - 166817661561478301148629119117143026206, - 91434877287398497727541521962580492742, - 23358835134733732771181987795987200839, - 146353505364457735741755398857741975323, - 178744620488145364319893013703941793532, - 273179903825287271848038593077446992006, - 212447130864357515526043283306188580233, - 143317001051304702559569941148852205111, - 219647227741795784712646053270117061166, - 146195943102904802271062647133567607063, - 212241124180253227758859032591931991385, - 325869461649761576527913968160028206712, - 248149532457379535532722975518440716247, - 325792397719078016930330029174039568084, - 274646057134122374482458677963418329930, - 1773461617822456571326194291043615189, - 146699663470315690023147066886652390422, - 204156932773722545326782846678719413854, - 239621682904325967278892855393624824615, - 37896929623687905853883263346444613567, - 94585521626235411595725912493424713832, - 195704971936763381698554410220325632853, - 212035126380273276778035786579979476802, - 176622893403723820665491387241105701738, - 324938864404095516867129037630628939818, - 42106209207800727690593025251160004170, - 246097963045449165633027096548303060707, - 90247989431685517878370690363815981477, - 56015299796271031976687260496806703737, - 15718120956761988765008472344447993893, - 183481204412340071738077846540060178662, - 44935315818060725947720560206784917911, - 284412706963868634942497643375290447231, - 5234074441977302547815443101826087587, - 178491225163860493693249948439628412301, - 50654502501600410927085753225761906177, - 72758588785181775706499453402521382367, - 105766562883944598247885133845621533897, - 264938786484612722485349401924068535867, - 329997875977001267480966887397193365227, - 93706453807036234618395522396663375320, - 269347036193489175205006259454211868268, - 139711032526376825871996177180270906858, - 282801908193138940637571142655544984651, - 15651702118375671172333729631120565317, - 115275394909088211175141117747786537242, - 38775003030334853952091493787037190648, - 258768424613875828090663097220831505466, - 110789338227394536542258300727845773016, - 290121872465176519477726367755776078924, - 268097218250901005305506743784602527924, - 170501593429014361333815518892081199111, - 190075309464201614500933263131312950605, - 15284042930197657899266703697435808445, - 251711112346510789510012925883300581456, - 32777930811606340106678010259088580172, - 159931869076381475282427321991644013049, - 75196925249171908244203167971162565923, - 226797935284352946955984775490965760228, - 71231223815892755162381563836928077143, - 130164446722578492239161269461433406215, - 81656670669930350300291292821140663731, - 324213745561026698183640983146328573079, - 194996676064018939946412828799039348725, - 83364329309766744342201218617869857862, - 336220934747775708847818801008374101615, - 215253718136283453541072278112827713356, - 128513931422880285298005510273289787654, - 81844830850151679872430805568547120123, - 125354313221682085755791449334108776843, - 30114676357833680239150643752533530979, - 168474838651827714278846509738201966868, - 193253208189281486466055792881336479605, - 164503824926246580252824582206559161467, - 97066288962273275344843430636876307866, - 311627486857188708476852052200291858852, - 275986381632743143364667200716011216348, - 82105826671921693647340013041104515000, - 302785179303168369484983041227231988828, - 195249956567967506637883949422945647425, - 155797472952317774557660202436715601771, - 305385568395287656838142127098215681339, - 114973450019464086668464530251405823921, - 257123666101110857942716142345540430315, - 134621479749583156105744033694947429377, - 301526093545053129714725781355937071549, - 94139976669111407977526828124810311456, - 246805593437486911411344869701396544892, - 46446281040864487095411717242016261292, - 328606402329262610580921804691797586586, - 102891681111402081739162959344555656138, - 144580083917191726016481220217722422393, - 122136813004348520626446661186492008652, - 318822311604243553874293104524548464568, - 322523589647811276819193499783838962269, - 230480845379761553596834883532459326222, - 296828989914577090873301557994236317497, - 125298699393769779935312472358829832430, - 114287229943311434348030799763708324151, - 291109131283946449026840281386167860323, - 14174034287051335737974446378779242674, - 126902352962166088213242277444353070332, - 180617122157575486476306717471499562790, - 261093182098062529692707076348778231963, - 224233643055403226275614889584424355450, - 270400231638642297529672448690664829479, - 215143589417490090780380610294382121829, - 243482845364263372209153084432576869209, - 118560820224197765905075139736393609450, - 47103020165320637167206623667187930956, - 284118317971439912602334890596516688860, - 20329047223871621564119646327389561683, - 294415419020673514697425536305092203616, - 223156058190770108878051218723793412213, - 272062182889284646743082383604774779276, - 261714962860020224667351581141024007246, - 122234500080132310243226820262021459839, - 50020774016352326866855732557207512296, - 79966142581084661986107436157772108715, - 59569508209666118394229252747116352128, - 177449710045924021970154493313266682085, - 169889037971264327586062864747829281168, - 224579609332542977284640328743368411836, - 197868965699671594701782479482313847014, - 62856354403886969021205374871406418804, - 35976853697770061988251487543161816684, - 28075286358289119440288964979030692487, - 330322145312995692800721533484122620265, - 289367715816944809386367499125890832826, - 311438324935593794500703926089083120811, - 150821910281893610043051674760767656974, - 126407936269627044410465065529052586849, - 158905869255698782756386670067991000934, - 201186521969319895879484699289158084362, - 320690891684918335961677291224379626521, - 146560794064396747430989376899403489143, - 291852838810252468990778339901881302800, - 169009499023191937908643251225274753892, - 222611190890723618585065704317431281350, - 101070028958843036402497979992349143575, - 215576747657148183083965418032092422813, - 91508833849933606528430825774962919582, - 29595459226878147948615552044156097121, - 226376685952631215407928734913832964626, - 301260160594866011257574390230227988565, - 317479126916165143225617102230659766923, - 244462609413456563913050095613676618458, - 270704365218328255581432279816252038474, - 294196807977837210929538287531843354531, - 212628453534702156362743955641268823930, - 5677791524817541596060092381480255804, - 138687997258538177179425309521759854190, - 259957066901601598760152489788973884312, - 200927271252361163906108938056932673981, - 24411201151676272937733302974133212894, - 195718591670560390658129813606806529693, - 48010162603876786623715624506524274669, - 273677304742407484351513251516522742979, - 85568865829140641183644741456072631334, - 242511145172197276273702530382366301650, - 128864464787960460250478501004879911975, - 53387188533730812929501408008405746529, - 255765750242344796367837757336982393683, - 249342339620995191684171147020372932416, - 329873897127033343913522982745046272690, - 29094573381731605924559697250901276342, - 14669576776489067484114466983590184339, - 4522546893269986307811971388294719968, - 98545881702491922643274851979747500718, - 207007035555654367992076939017559542245, - 47251495553872384243901472187069259200, - 2694181369399693601520217350375099812, - 234053663050407573410107341972100124835, - 184231464578109402311222429643789193534, - 312643158495292203648915681393436660188, - 170038580728108563030414257230519015572, - 308069216188561631445719508773830461776, - 303003561728146767921786277253305092843, - 295124839666362619962502271397339183430, - 42075774094529612702085244702965987314, - 222303703209741250446195781239992919740, - 181705205176182403192700279542416879335, - 30281884679462436302801474547062039519, - 47555576185741722940273410025012825062, - 91579187348509757599667669486335655631, - 225070669705653098809252722490268541296, - 231469905751638611927214600031537282106, - 239758096705314136908320203687557556159, - 71760321581391979162350191658730302935, - 247129567634057314261255937751419372295, - 77720666029613310335565313239010993244, - 255473114780244677689383263663622370640, - 239514901680458072817661047584835482828, - 304878050668299341755187792491025630916, - 213678941294168094430911240458675709392, - 269728450553747750731559446003254588939, - 29891991961618089763677927317576448905, - 212725405781280381047125034851205521382, - 333400447790445072798173086324663281968, - 232960472371962022165090293165979988155, - 142133702805784354146440456979909464208, - 254972550604552529297073837831007704134, - 9030966779072054488031699516968420492, - 219638091202733453662903234534856287568, - 32445235387052729112149347290534085651, - 102284639913360802221127004015106980728, - 221520370693569843609873719634726895156, - 77820292303791615758864845879083457933, - 164972414795442160061844278495113860660, - 18098965979287963641579969237551639824, - 36732689838146755467901213604533171223, - 52679251373271568428523139654899870962, - 213359831556524448634325369972800231195, - 184883153729997813665074975417233683459, - 40514828955193067095892683797849862789, - 31851554808687080347127939176480569593, - 182691410666916675981078255489201061421, - 320507283518900342781156947441021356281, - 13149597991278312367771009484523267258, - 337570201464636697437314502097639234091, - 205809581514989495598762328905615141674, - 41374301604298760192286864668971462466, - 75064901111089181509416178219068452006, - 302415610046207754295384074612633813307, - 47165717328685781003420332133398230763, - 5389066198551080605879833439737799499, - 257080053435295218527779397269270405782, - 284003235380522299954948237375415531069, - 224969252251223555891829888602459411878, - 70438772592315274144802266972373596436, - 192488255562217886512335206443228491047, - 71833346986491319148169975542023088912, - 181018544431220736309526830624878815115, - 333717691470275440658830040613994786471, - 202137518116584642304589781210074632978, - 102442679004337011231345344829891015493, - 124863204326006281050248345622785611341, - 208140791672912941099032676363795826239, - 109100704943125578954618450465328411381, - 101144857096536798592317001716874498869, - 86520853165236391683734696798873338484, - 314203898608206346152153894730126862032, - 337644330531048322936730449085273015897, - 339691214173151855963281264996741081198, - 4974335854522284426566916404706362190, - 196414541290605833169617742009592206005, - 300365715027419908772018451000853513257, - 132577590439298175342883947882081335238, - 263878934156944337125536470476971864904, - 233923779527024545789807684282251004489, - 131665083890128424343856912045539680379, - 169352350623046944819489716243588353374, - 332320061953920626841597554422150506343, - 172139239266840723842707506448553977032, - 338987809311295280502277384193643470904, - 310167963287987736955286574096116593070, - 18519309750083408357079283121562451223, - 313564124160272566304194347102740447959, - 158906361430100740150658893371856130179, - 95701448370845478068254397660689605516, - 277238645116514805831097547261433526823, - 143209809787977525518308738738880422040, - 52798759258241942570979511359410125428, - 280733043575169518362981473565094983737, - 125265944423527168256904163343979763377, - 239683922564149602736966057272398460264, - 328926062097868951504077452504669922085, - 12358813718555259181684522109757917209, - 203575127917216970031340038111998633493, - 315502175925381787534820009727778621784, - 51554118958403705746989698684550226985, - 144116720682187797891226079153148640892, - 82451417815285479898403806642641132082, - 186902012655005578027397264183435980472, - 33625305532234670390023847516519354930, - 197966011548828444022338585924675270611, - 338295823785170362918829953875589854558, - 168822590932972871866450287070115064860, - 140790721261095706323502982512044536988, - 274496954896219652696909423114529491504, - 339545551834219214231916796020998722208, - 287690546721521539834754953488501778055, - 222065686727893123386904155196173798489, - 74405117096035972833830432179016472894, - 227162005572928491352390677389529763085, - 180709042558678267804347035446588378475, - 205875219752703314568931504400449457892, - 57317178928629534585262679694795341889, - 53358965587809360426133007570924386284, - 147787351987681307505516744626017659828, - 204232118816580034806859877547430404821, - 265720665050899807525608255627725680283, - 243000591446827277138785181106636904418, - 302456119993615948279247739377395306578, - 322962192027178373763971906935276434769, - 326420716753970971091644559942082041066, - 236654545216880540796223630593954372759, - 50521133337630896515784142044593212754, - 9267802159093076155706887778612249331, - 325522942434685073094136443680011961361, - 192682179850857199992091829042064895969, - 314864237895746760310736419452902807972, - 118110231100042762477446006412839968070, - 289343784617659729396508880032068562430, - 101989450006512218740615208375588591689, - 312547556274232015781431813120234646931, - 164820945314900024285827141604899423993, - 128945941564122507971270698431915949999, - 193079131540605264366545438020720819161, - 223700928183392668735069779119091432042, - 43346391068518570409069107876068495735, - 142412886278717401332026472944416778459, - 1849935188028431796526211154154310997, - 185158338190715399808990406060340669310, - 297283936372651553856542205349049044098, - 187249263280892350318945311530344895607, - 23983226407233284446785287276993024890, - 237188694161353479360907996789831009591, - 148728211580346479983672545364133437263, - 187341439561034011093365261507806225518, - 212997861984480309171261712306611028308, - 63399801444325324698609238346981078465, - 91728364814444314404824629262948230111, - 32715757456789913488723324600282994650, - 269652131788898035519253492215905290248, - 115539653526852109661444656231699418344, - 171081833323177810791432313985591011623, - 3088403098500007329298505322815864984, - 32424346684320607752881892459898139111, - 129304480335990825040470217571765833580, - 262113825311805794210841948226528437913, - 55967954843542081252345215961381591687, - 73692338009507700432207520465512222635, - 43100108541061168616022500222122537182, - 2279741118419694817978913958827940054, - 209207581190236367534533098662422781049, - 79364598170184386374865388987943569285, - 83754191790187064317181377455913425959, - 105903243335747692983269541729934460863, - 68600884388131324600073417027612130105, - 53559242678598888571051637563625109998, - 31123334673239505985502485469190871818, - 108221987199725942615133993358635423732, - 144858385761375916683877311660170870186, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_513_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("7c9e8b3a007dbdcf573b837b5ace3e186a390e605306d95a3c9c4fc893b62088"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_2_random() { - let mut value = Vector::::try_from(Vec::::from_iter([59, 3])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_2_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3b03000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_512_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_512_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("d13fb49c7c7e17c33d7bfb88c3e3d674e602b53315c769a4b9f053ffba656cc3"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_3_max() { - let mut value = - Vector::::try_from(Vec::::from_iter([true, true, true])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_3_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0101010000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_2_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_2_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_2_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_2_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_16_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_16_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("375d6c7b280a1e30f968db1d948da0f977bf9139b0d5516761ac874700208aba"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_1_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 209794508200186098054846448654859096491, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_1_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("abd1d3e35caaf8d7c91f1b63daf3d49d00000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_16_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 1381494992, 3456058494, 3316673465, 2895863808, 3039979229, 2658482247, 324065072, - 1118337861, 3690875953, 98201721, 1227056475, 2365715743, 1634445540, 616917765, - 1742195761, 2632010539, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_16_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("83aab501333050d1fbd420a889c52af0f2c274a1e4529a5c287b805ed477ccf6"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_2_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 16527226978582771838, - 7558561043290308816, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_2_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("7eb8ad3c5f815ce5d0c06cce3867e56800000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_2_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_2_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_5_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_5_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("c78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_5_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_5_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_31_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_31_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("9efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_16_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_16_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffff00000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_5_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_5_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("8a70016e9e63b5927d8575c08b19132107772e149f3d1ba4e1b4306dce9b7aa5"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_31_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_31_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_31_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_31_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_513_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_513_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("26846476fd5fc54a5d43385167c95144f2643f533cc85bb9d16b782f8d7db193"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_3_random() { - let mut value = - Vector::::try_from(Vec::::from_iter([414721764, 1396444802, 4099449558])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_3_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("e426b818820e3c53d6a258f40000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_5_random() { - let mut value = - Vector::::try_from(Vec::::from_iter([35919, 34593, 14706, 39574, 53868])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_5_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("4f8c21877239969a6cd200000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_16_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 14973315493487554254, - 14609512114016110986, - 10032323568597029119, - 15153216164748753291, - 10355457468023345721, - 2367705310487571285, - 16938628278728286031, - 549797285436435601, - 13256773041589582886, - 5207050997383557932, - 8672288948259042494, - 17841422853058231140, - 14461294523448768516, - 15336235419586149355, - 16699880407387000672, - 10919772420411846664, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_16_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("18efd70dfb660ebe73c72c6f8d0258f97495b3bf86a98741e3c9bfb2aeab5d28"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_16_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_16_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_4_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_4_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("375d6c7b280a1e30f968db1d948da0f977bf9139b0d5516761ac874700208aba"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_16_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_16_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_512_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 39340, 21094, 12815, 18079, 3546, 9133, 45047, 41320, 3878, 13753, 38525, 64568, 43355, - 62649, 55650, 30889, 7989, 16810, 53928, 52810, 54272, 34111, 43130, 14634, 55804, 24247, - 2549, 37573, 53039, 1273, 63106, 10081, 35901, 22063, 65529, 36398, 22557, 6548, 49942, - 51535, 8125, 6097, 44735, 41844, 6924, 38812, 46284, 28742, 15255, 52107, 18447, 53412, - 25887, 55412, 63792, 34766, 5505, 60081, 60102, 22907, 4472, 52200, 9287, 57769, 19130, - 9576, 33612, 29442, 51950, 31312, 57224, 42421, 3948, 27456, 17061, 26184, 43827, 38666, - 45497, 49012, 31663, 20589, 33660, 6416, 42817, 12859, 36023, 18361, 13106, 3948, 6069, - 45466, 29677, 18064, 3643, 3116, 53510, 64358, 43166, 45247, 20328, 64702, 19889, 60714, - 32942, 45721, 46172, 65267, 36597, 16011, 60612, 34941, 2235, 28718, 60810, 57652, 34739, - 8085, 40064, 34439, 30836, 63285, 49357, 36164, 40730, 6028, 20536, 7821, 11758, 13935, - 41594, 5480, 50109, 45486, 34524, 65518, 33646, 26927, 51166, 8137, 65325, 47159, 15817, - 21430, 55199, 43094, 18188, 10207, 9270, 12316, 59028, 45281, 65293, 18359, 26572, 1483, - 37642, 33838, 30229, 20598, 17948, 17913, 8381, 2294, 65136, 56785, 32374, 21420, 32944, - 55524, 54245, 9455, 19743, 46340, 44594, 34585, 20335, 47339, 56153, 6446, 38290, 11996, - 3640, 19236, 56251, 26006, 39485, 49775, 18442, 14177, 58677, 29326, 65175, 15895, 55082, - 13796, 36474, 17814, 15645, 18234, 33170, 51110, 44025, 25628, 50098, 4543, 11961, 5240, - 12269, 60922, 50694, 57333, 36294, 54967, 34897, 38937, 23327, 21211, 38130, 40763, 28268, - 32512, 44967, 13536, 14845, 33262, 60590, 42683, 51728, 39972, 55685, 7063, 44366, 38396, - 34545, 19207, 23781, 5187, 6760, 4664, 2548, 34910, 45079, 63988, 24389, 33740, 46265, - 48490, 13086, 13997, 4472, 58789, 42140, 38861, 56799, 27990, 2090, 17510, 18149, 56801, - 36116, 29, 27248, 14112, 43872, 56950, 31835, 54234, 60391, 61682, 6150, 8409, 14113, - 14813, 43837, 34413, 35895, 60346, 9764, 39419, 8802, 34406, 19505, 46628, 3351, 48702, - 8558, 5754, 2593, 60784, 39575, 1647, 5760, 16362, 63845, 48749, 27443, 24090, 40960, - 19478, 5559, 7717, 62950, 12398, 29842, 16378, 36410, 37918, 22070, 37187, 2388, 2471, - 59879, 9256, 16878, 28021, 9280, 63982, 3237, 64103, 60696, 53445, 43639, 26328, 22322, - 25785, 42833, 11185, 19944, 39503, 46656, 62113, 54641, 39184, 38083, 52218, 10422, 19936, - 38976, 37156, 53804, 24969, 32577, 54761, 27676, 35737, 44695, 48600, 31136, 19500, 44205, - 36060, 25786, 26618, 37361, 8899, 64311, 2514, 9554, 32401, 56118, 2234, 41629, 45679, - 18067, 55083, 13659, 38338, 11145, 48099, 7097, 19777, 40789, 42260, 16593, 28212, 32284, - 48885, 60017, 41548, 48980, 52748, 29436, 6519, 51390, 13850, 16050, 57484, 19504, 2382, - 57695, 21309, 36053, 58478, 36350, 38811, 1214, 25105, 48123, 49033, 13665, 51370, 49698, - 6760, 32128, 58193, 128, 1545, 26614, 50542, 30613, 54988, 14353, 10738, 7815, 13360, - 40678, 7110, 25066, 60556, 54461, 22528, 17659, 13689, 48277, 30774, 43061, 20261, 15691, - 35630, 19815, 30383, 49861, 2839, 31450, 13493, 28681, 541, 61617, 22342, 59591, 40410, - 38843, 30711, 35254, 41534, 728, 11071, 55064, 35225, 56657, 37227, 9777, 34110, 65339, - 21575, 59226, 17161, 38436, 43428, 43115, 38104, 42399, 18787, 25758, 38789, 26768, 57600, - 7547, 87, 63710, 50131, 47366, 52622, 62452, 41355, 23911, 59936, 32112, 53056, 25947, - 1377, 20244, 46065, 60988, 10318, 54100, 17850, 50438, 11595, 21746, 25610, 55196, 23824, - 6586, 41973, 6026, 57980, 57254, 40365, 21772, 63353, 32160, 11991, 18726, 48970, 29746, - 49440, 17081, 41097, 13465, 63697, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_512_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("01f2508b1eb51699811c789fd266764f6c2831cbbfd862c91b860066149970e9"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_31_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_31_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("7399c0e47ac1d2d1e38e8ee039ef6242bd17bc41816dd9c49d0c7720687950df"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_512_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 139, 35, 218, 181, 245, 36, 123, 0, 134, 153, 41, 134, 218, 150, 141, 38, 149, 194, - 111, 25, 214, 237, 163, 176, 43, 132, 142, 30, 4, 87, 68, 59, - ]), - U256::from_bytes_le([ - 13, 228, 36, 173, 95, 216, 228, 2, 93, 162, 64, 49, 195, 169, 78, 240, 209, 245, 67, - 79, 90, 144, 117, 81, 193, 138, 62, 16, 169, 45, 30, 177, - ]), - U256::from_bytes_le([ - 180, 204, 172, 142, 34, 1, 159, 175, 179, 94, 83, 40, 205, 60, 57, 196, 75, 24, 180, - 227, 59, 56, 249, 197, 39, 21, 41, 65, 136, 188, 16, 203, - ]), - U256::from_bytes_le([ - 136, 9, 197, 139, 21, 181, 120, 109, 230, 74, 246, 145, 67, 123, 83, 200, 110, 228, 32, - 242, 26, 164, 212, 175, 18, 49, 249, 59, 196, 183, 242, 43, - ]), - U256::from_bytes_le([ - 27, 176, 216, 168, 133, 115, 169, 120, 164, 168, 201, 216, 70, 161, 67, 8, 76, 124, - 203, 241, 234, 248, 3, 19, 255, 44, 253, 145, 25, 41, 102, 207, - ]), - U256::from_bytes_le([ - 172, 203, 158, 0, 251, 114, 212, 144, 254, 38, 6, 193, 194, 187, 179, 141, 93, 176, - 132, 31, 141, 231, 66, 172, 112, 185, 215, 170, 154, 150, 207, 121, - ]), - U256::from_bytes_le([ - 152, 69, 141, 217, 228, 133, 209, 200, 234, 254, 219, 43, 217, 63, 187, 15, 201, 18, 0, - 53, 152, 1, 90, 242, 193, 188, 56, 114, 206, 0, 103, 154, - ]), - U256::from_bytes_le([ - 212, 168, 133, 184, 109, 68, 248, 3, 109, 145, 65, 0, 26, 66, 119, 87, 14, 39, 67, 180, - 235, 56, 70, 141, 186, 176, 68, 25, 109, 209, 83, 106, - ]), - U256::from_bytes_le([ - 4, 88, 85, 239, 234, 89, 114, 183, 63, 107, 128, 212, 17, 33, 42, 120, 210, 211, 197, - 121, 161, 81, 241, 224, 14, 41, 228, 160, 169, 110, 187, 163, - ]), - U256::from_bytes_le([ - 103, 162, 118, 17, 88, 206, 51, 236, 189, 131, 225, 6, 163, 204, 250, 91, 189, 169, - 167, 193, 84, 88, 28, 17, 64, 175, 149, 32, 96, 4, 251, 10, - ]), - U256::from_bytes_le([ - 176, 165, 38, 249, 246, 52, 83, 69, 151, 166, 168, 64, 78, 216, 131, 81, 255, 88, 109, - 66, 83, 96, 56, 188, 255, 205, 212, 219, 95, 212, 57, 201, - ]), - U256::from_bytes_le([ - 217, 202, 132, 234, 62, 104, 254, 50, 96, 161, 153, 189, 118, 219, 233, 166, 68, 193, - 103, 75, 241, 74, 47, 75, 28, 159, 218, 102, 67, 173, 95, 15, - ]), - U256::from_bytes_le([ - 239, 92, 129, 150, 134, 71, 200, 239, 221, 43, 114, 217, 205, 104, 21, 93, 33, 3, 15, - 155, 216, 97, 44, 69, 43, 163, 52, 176, 112, 14, 10, 47, - ]), - U256::from_bytes_le([ - 125, 94, 124, 115, 181, 59, 245, 220, 67, 60, 195, 247, 0, 160, 110, 29, 70, 121, 68, - 249, 137, 213, 208, 191, 54, 23, 49, 239, 217, 225, 234, 125, - ]), - U256::from_bytes_le([ - 46, 99, 123, 45, 218, 247, 208, 220, 122, 180, 253, 32, 172, 59, 158, 201, 70, 181, - 241, 237, 32, 156, 81, 185, 54, 211, 188, 240, 47, 248, 108, 121, - ]), - U256::from_bytes_le([ - 243, 129, 8, 23, 7, 71, 83, 203, 56, 151, 2, 39, 5, 252, 70, 24, 188, 63, 143, 28, 181, - 162, 52, 185, 42, 195, 51, 196, 179, 184, 137, 253, - ]), - U256::from_bytes_le([ - 141, 95, 119, 33, 18, 20, 176, 150, 93, 167, 41, 126, 206, 69, 185, 196, 229, 80, 1, - 178, 170, 137, 201, 105, 120, 80, 192, 77, 76, 18, 98, 35, - ]), - U256::from_bytes_le([ - 6, 18, 109, 74, 58, 67, 93, 133, 220, 177, 132, 48, 221, 216, 185, 194, 169, 73, 199, - 156, 38, 132, 32, 58, 150, 155, 94, 24, 8, 79, 245, 124, - ]), - U256::from_bytes_le([ - 188, 223, 10, 146, 133, 252, 252, 24, 205, 204, 113, 254, 212, 145, 74, 92, 126, 184, - 195, 144, 236, 120, 59, 248, 224, 119, 163, 142, 44, 196, 168, 247, - ]), - U256::from_bytes_le([ - 211, 110, 74, 239, 75, 148, 107, 87, 114, 242, 135, 132, 90, 97, 11, 141, 175, 132, - 241, 62, 168, 140, 94, 254, 151, 160, 149, 224, 149, 59, 129, 122, - ]), - U256::from_bytes_le([ - 236, 169, 163, 181, 232, 83, 233, 196, 30, 132, 144, 2, 50, 40, 155, 174, 175, 74, 70, - 97, 225, 49, 16, 129, 159, 24, 7, 65, 144, 72, 183, 216, - ]), - U256::from_bytes_le([ - 247, 231, 203, 65, 42, 166, 142, 4, 52, 109, 53, 75, 61, 132, 102, 75, 29, 88, 95, 217, - 240, 159, 185, 188, 80, 38, 202, 79, 55, 108, 72, 227, - ]), - U256::from_bytes_le([ - 96, 144, 15, 104, 232, 89, 235, 245, 164, 7, 123, 109, 8, 54, 255, 151, 103, 219, 146, - 13, 98, 250, 24, 163, 219, 145, 23, 219, 185, 74, 4, 149, - ]), - U256::from_bytes_le([ - 254, 87, 21, 64, 65, 73, 50, 66, 7, 76, 139, 18, 42, 221, 101, 230, 88, 79, 23, 42, - 240, 190, 225, 243, 211, 103, 157, 49, 201, 172, 196, 170, - ]), - U256::from_bytes_le([ - 94, 123, 150, 101, 66, 84, 252, 57, 241, 241, 57, 126, 197, 230, 207, 167, 160, 226, - 189, 58, 103, 29, 165, 143, 150, 182, 254, 54, 192, 43, 157, 93, - ]), - U256::from_bytes_le([ - 182, 122, 150, 78, 0, 245, 143, 213, 249, 84, 128, 193, 6, 202, 186, 203, 204, 52, 118, - 42, 244, 118, 167, 200, 188, 37, 215, 14, 25, 168, 11, 206, - ]), - U256::from_bytes_le([ - 239, 129, 88, 175, 185, 140, 244, 130, 71, 5, 1, 151, 130, 193, 181, 135, 33, 55, 237, - 165, 155, 11, 59, 61, 250, 176, 71, 34, 209, 65, 230, 97, - ]), - U256::from_bytes_le([ - 36, 124, 177, 150, 206, 40, 156, 215, 62, 73, 205, 154, 111, 62, 133, 3, 125, 155, 175, - 137, 134, 148, 210, 196, 63, 165, 34, 158, 201, 39, 82, 93, - ]), - U256::from_bytes_le([ - 117, 255, 242, 22, 145, 192, 104, 34, 56, 108, 142, 203, 182, 46, 3, 6, 60, 153, 15, - 28, 176, 182, 88, 217, 57, 108, 182, 3, 225, 146, 77, 93, - ]), - U256::from_bytes_le([ - 250, 219, 61, 245, 53, 35, 118, 45, 176, 37, 240, 35, 189, 179, 124, 42, 208, 86, 38, - 45, 101, 134, 123, 232, 6, 229, 8, 219, 52, 232, 59, 200, - ]), - U256::from_bytes_le([ - 133, 67, 145, 91, 108, 105, 93, 20, 195, 231, 224, 236, 3, 35, 138, 236, 141, 226, 20, - 93, 74, 129, 250, 69, 168, 85, 97, 33, 112, 255, 6, 48, - ]), - U256::from_bytes_le([ - 226, 90, 220, 61, 150, 194, 104, 186, 27, 251, 116, 197, 12, 138, 180, 119, 18, 100, - 54, 126, 1, 72, 19, 9, 120, 46, 145, 97, 107, 83, 231, 54, - ]), - U256::from_bytes_le([ - 58, 102, 54, 157, 64, 7, 218, 71, 199, 202, 158, 109, 75, 106, 215, 193, 252, 94, 203, - 89, 132, 149, 244, 182, 110, 135, 75, 13, 222, 66, 21, 208, - ]), - U256::from_bytes_le([ - 245, 140, 140, 27, 96, 42, 34, 146, 120, 179, 33, 100, 214, 197, 172, 246, 211, 213, - 50, 143, 107, 41, 113, 195, 90, 223, 227, 120, 190, 141, 136, 232, - ]), - U256::from_bytes_le([ - 101, 25, 197, 121, 21, 221, 226, 199, 147, 84, 175, 134, 33, 41, 113, 61, 78, 76, 138, - 223, 255, 180, 135, 101, 28, 81, 211, 33, 32, 118, 47, 210, - ]), - U256::from_bytes_le([ - 13, 19, 53, 68, 91, 245, 199, 141, 148, 202, 170, 12, 91, 224, 154, 115, 17, 198, 49, - 183, 189, 14, 145, 155, 57, 195, 169, 150, 14, 205, 83, 155, - ]), - U256::from_bytes_le([ - 160, 168, 76, 46, 160, 45, 156, 155, 92, 183, 107, 206, 45, 135, 165, 23, 228, 109, 26, - 236, 108, 129, 216, 79, 47, 227, 148, 55, 88, 105, 63, 9, - ]), - U256::from_bytes_le([ - 243, 84, 28, 252, 61, 233, 201, 123, 140, 135, 90, 247, 197, 137, 1, 14, 35, 164, 48, - 215, 23, 238, 106, 88, 203, 161, 160, 41, 188, 145, 61, 173, - ]), - U256::from_bytes_le([ - 98, 173, 169, 74, 49, 56, 207, 218, 153, 69, 253, 64, 56, 81, 222, 143, 181, 99, 133, - 210, 122, 226, 195, 122, 43, 108, 37, 30, 233, 70, 14, 112, - ]), - U256::from_bytes_le([ - 204, 228, 239, 123, 43, 185, 232, 152, 29, 188, 220, 50, 80, 197, 48, 33, 205, 61, 109, - 250, 21, 129, 46, 250, 35, 227, 100, 165, 171, 3, 150, 159, - ]), - U256::from_bytes_le([ - 158, 135, 234, 46, 206, 251, 114, 83, 55, 126, 147, 196, 223, 188, 103, 21, 228, 191, - 215, 201, 47, 230, 22, 172, 220, 176, 113, 89, 209, 101, 174, 229, - ]), - U256::from_bytes_le([ - 183, 194, 176, 184, 47, 191, 19, 18, 245, 29, 189, 145, 195, 66, 145, 125, 40, 52, 138, - 125, 59, 48, 147, 9, 98, 41, 137, 197, 213, 71, 94, 84, - ]), - U256::from_bytes_le([ - 59, 242, 9, 40, 35, 50, 243, 211, 152, 164, 234, 224, 208, 62, 229, 15, 196, 203, 214, - 179, 229, 169, 175, 81, 196, 228, 79, 36, 147, 236, 29, 197, - ]), - U256::from_bytes_le([ - 22, 40, 158, 101, 100, 125, 244, 37, 238, 132, 53, 60, 241, 185, 210, 123, 153, 35, - 100, 226, 90, 123, 71, 22, 237, 18, 200, 233, 174, 211, 60, 202, - ]), - U256::from_bytes_le([ - 244, 35, 43, 30, 56, 158, 197, 228, 73, 79, 27, 212, 33, 239, 130, 198, 93, 23, 155, - 215, 129, 60, 172, 38, 74, 78, 1, 134, 143, 239, 156, 240, - ]), - U256::from_bytes_le([ - 209, 50, 221, 166, 21, 101, 212, 43, 14, 178, 87, 135, 37, 152, 34, 241, 203, 52, 29, - 170, 28, 186, 35, 233, 237, 251, 43, 207, 126, 165, 182, 94, - ]), - U256::from_bytes_le([ - 218, 241, 213, 91, 75, 62, 48, 73, 67, 118, 149, 7, 219, 191, 52, 199, 25, 113, 57, - 231, 196, 196, 13, 219, 97, 215, 48, 116, 149, 137, 12, 15, - ]), - U256::from_bytes_le([ - 2, 251, 224, 107, 22, 168, 68, 241, 182, 178, 130, 201, 235, 88, 89, 202, 157, 107, - 138, 40, 205, 59, 120, 67, 29, 226, 55, 47, 215, 6, 224, 193, - ]), - U256::from_bytes_le([ - 207, 105, 189, 240, 55, 220, 126, 87, 68, 1, 197, 217, 92, 219, 184, 60, 12, 47, 140, - 77, 242, 213, 251, 81, 237, 201, 232, 34, 50, 173, 146, 105, - ]), - U256::from_bytes_le([ - 185, 13, 98, 86, 217, 146, 57, 2, 48, 156, 36, 187, 139, 94, 85, 38, 246, 252, 210, - 161, 26, 175, 252, 220, 96, 170, 71, 229, 78, 189, 125, 210, - ]), - U256::from_bytes_le([ - 242, 205, 215, 234, 74, 74, 212, 214, 244, 227, 199, 153, 180, 139, 182, 62, 44, 97, - 185, 88, 131, 145, 249, 146, 123, 122, 160, 63, 37, 186, 179, 205, - ]), - U256::from_bytes_le([ - 157, 57, 126, 95, 16, 35, 72, 80, 77, 139, 69, 122, 197, 64, 91, 68, 17, 14, 170, 1, - 196, 194, 128, 213, 23, 174, 147, 188, 22, 206, 202, 166, - ]), - U256::from_bytes_le([ - 201, 3, 213, 102, 50, 192, 224, 240, 231, 39, 194, 68, 187, 16, 179, 68, 73, 94, 208, - 170, 43, 87, 87, 165, 148, 191, 229, 174, 52, 195, 78, 78, - ]), - U256::from_bytes_le([ - 10, 219, 205, 129, 249, 154, 98, 194, 133, 85, 192, 120, 45, 92, 165, 118, 178, 87, 32, - 108, 89, 134, 168, 170, 39, 170, 230, 188, 194, 24, 58, 85, - ]), - U256::from_bytes_le([ - 182, 28, 150, 165, 75, 149, 53, 66, 104, 173, 142, 206, 83, 133, 39, 117, 83, 32, 86, - 217, 225, 183, 79, 241, 3, 97, 250, 209, 161, 235, 92, 97, - ]), - U256::from_bytes_le([ - 233, 79, 97, 206, 161, 233, 234, 39, 170, 131, 174, 143, 220, 106, 72, 219, 51, 166, - 38, 118, 190, 43, 74, 91, 154, 245, 72, 132, 8, 19, 155, 111, - ]), - U256::from_bytes_le([ - 243, 39, 52, 136, 39, 154, 129, 51, 249, 117, 88, 251, 195, 123, 108, 102, 253, 174, - 171, 44, 134, 213, 125, 214, 36, 197, 39, 149, 139, 54, 197, 7, - ]), - U256::from_bytes_le([ - 173, 242, 253, 254, 25, 38, 98, 252, 58, 201, 190, 167, 206, 43, 199, 109, 105, 141, - 139, 76, 23, 55, 189, 236, 73, 5, 210, 221, 154, 230, 76, 206, - ]), - U256::from_bytes_le([ - 202, 135, 236, 206, 107, 156, 25, 3, 197, 205, 111, 150, 67, 56, 162, 241, 134, 252, - 204, 159, 166, 58, 175, 110, 29, 75, 190, 131, 144, 243, 85, 249, - ]), - U256::from_bytes_le([ - 232, 82, 1, 209, 131, 202, 35, 218, 132, 139, 62, 6, 183, 180, 241, 36, 142, 140, 51, - 87, 159, 148, 109, 87, 58, 161, 201, 44, 10, 148, 248, 127, - ]), - U256::from_bytes_le([ - 178, 4, 246, 130, 93, 3, 167, 99, 86, 83, 89, 49, 101, 145, 142, 57, 159, 16, 89, 150, - 113, 25, 96, 131, 118, 149, 84, 198, 183, 190, 34, 144, - ]), - U256::from_bytes_le([ - 192, 226, 93, 89, 174, 206, 220, 26, 110, 198, 183, 128, 93, 250, 187, 198, 2, 250, - 164, 33, 204, 65, 134, 63, 183, 169, 151, 94, 173, 137, 183, 203, - ]), - U256::from_bytes_le([ - 40, 194, 216, 144, 150, 34, 141, 73, 115, 244, 84, 210, 182, 197, 0, 35, 11, 65, 234, - 121, 38, 44, 228, 190, 78, 41, 50, 186, 169, 165, 8, 221, - ]), - U256::from_bytes_le([ - 47, 176, 101, 198, 32, 139, 140, 223, 240, 192, 136, 55, 186, 118, 54, 83, 230, 157, - 255, 201, 28, 205, 183, 106, 5, 56, 147, 30, 134, 188, 63, 136, - ]), - U256::from_bytes_le([ - 110, 55, 208, 214, 231, 195, 192, 200, 158, 83, 6, 41, 151, 115, 66, 55, 102, 250, 101, - 13, 133, 93, 140, 119, 177, 150, 49, 110, 242, 141, 83, 85, - ]), - U256::from_bytes_le([ - 111, 245, 27, 208, 83, 199, 223, 91, 88, 64, 219, 24, 220, 113, 56, 10, 197, 200, 179, - 98, 20, 73, 164, 60, 210, 65, 66, 103, 3, 215, 107, 171, - ]), - U256::from_bytes_le([ - 219, 127, 44, 139, 50, 187, 16, 20, 28, 153, 32, 158, 144, 6, 8, 28, 106, 227, 4, 157, - 174, 189, 115, 175, 8, 216, 234, 17, 191, 49, 208, 200, - ]), - U256::from_bytes_le([ - 203, 25, 92, 228, 61, 116, 66, 34, 164, 87, 185, 148, 98, 133, 115, 111, 163, 161, 230, - 159, 132, 148, 152, 8, 214, 70, 131, 200, 224, 2, 82, 49, - ]), - U256::from_bytes_le([ - 111, 211, 102, 53, 95, 246, 59, 92, 68, 98, 183, 125, 173, 247, 23, 52, 149, 238, 205, - 231, 191, 99, 28, 63, 210, 36, 143, 143, 110, 24, 78, 111, - ]), - U256::from_bytes_le([ - 171, 142, 163, 106, 88, 232, 96, 34, 176, 34, 111, 173, 40, 19, 95, 45, 205, 58, 195, - 175, 139, 187, 214, 57, 239, 91, 237, 143, 186, 167, 75, 147, - ]), - U256::from_bytes_le([ - 26, 180, 40, 179, 118, 199, 216, 158, 70, 140, 114, 153, 239, 236, 131, 34, 109, 163, - 71, 172, 79, 157, 229, 11, 96, 103, 244, 176, 101, 202, 65, 199, - ]), - U256::from_bytes_le([ - 135, 14, 32, 176, 109, 111, 113, 152, 117, 45, 160, 207, 20, 20, 206, 197, 255, 141, - 188, 0, 40, 200, 204, 11, 55, 189, 187, 146, 179, 223, 125, 19, - ]), - U256::from_bytes_le([ - 144, 174, 97, 238, 24, 12, 123, 241, 186, 201, 94, 99, 151, 127, 125, 213, 53, 80, 129, - 26, 24, 161, 8, 68, 44, 94, 19, 84, 150, 173, 65, 27, - ]), - U256::from_bytes_le([ - 27, 139, 201, 8, 7, 44, 99, 149, 33, 15, 144, 36, 16, 221, 15, 247, 254, 220, 197, 254, - 3, 75, 104, 224, 141, 48, 178, 12, 85, 55, 238, 96, - ]), - U256::from_bytes_le([ - 189, 173, 112, 60, 135, 226, 137, 237, 17, 135, 96, 134, 123, 123, 81, 173, 173, 169, - 127, 100, 34, 115, 188, 207, 56, 72, 0, 73, 60, 39, 251, 232, - ]), - U256::from_bytes_le([ - 169, 171, 169, 216, 98, 212, 83, 230, 109, 200, 96, 166, 184, 78, 179, 207, 2, 222, 91, - 174, 174, 253, 235, 79, 91, 226, 225, 56, 42, 195, 12, 145, - ]), - U256::from_bytes_le([ - 83, 176, 126, 111, 14, 255, 212, 252, 246, 111, 4, 87, 185, 191, 81, 218, 167, 153, - 223, 182, 162, 169, 93, 84, 78, 32, 113, 54, 201, 164, 77, 142, - ]), - U256::from_bytes_le([ - 24, 160, 14, 44, 251, 229, 166, 211, 134, 91, 240, 84, 144, 186, 217, 71, 202, 121, - 197, 45, 86, 25, 4, 82, 141, 14, 59, 188, 76, 157, 144, 111, - ]), - U256::from_bytes_le([ - 74, 42, 166, 57, 150, 70, 181, 40, 130, 17, 221, 230, 38, 182, 98, 129, 136, 42, 238, - 153, 148, 32, 122, 182, 12, 137, 77, 76, 23, 240, 33, 100, - ]), - U256::from_bytes_le([ - 238, 89, 127, 60, 142, 220, 219, 221, 250, 51, 72, 140, 208, 237, 124, 150, 94, 151, - 143, 124, 12, 97, 73, 11, 232, 184, 173, 26, 18, 22, 147, 235, - ]), - U256::from_bytes_le([ - 162, 220, 134, 176, 173, 39, 243, 183, 170, 232, 171, 87, 203, 30, 129, 234, 167, 214, - 105, 105, 193, 98, 115, 0, 168, 252, 138, 126, 198, 152, 97, 79, - ]), - U256::from_bytes_le([ - 118, 129, 196, 186, 6, 199, 234, 237, 61, 233, 85, 230, 243, 73, 47, 248, 68, 174, 233, - 154, 237, 243, 194, 151, 122, 14, 5, 205, 66, 218, 39, 76, - ]), - U256::from_bytes_le([ - 189, 7, 250, 236, 144, 109, 167, 161, 242, 84, 145, 114, 127, 180, 193, 174, 142, 215, - 43, 32, 109, 184, 61, 249, 218, 12, 245, 248, 176, 122, 102, 124, - ]), - U256::from_bytes_le([ - 186, 237, 137, 167, 158, 108, 0, 48, 77, 239, 204, 234, 214, 122, 214, 105, 68, 250, - 48, 100, 116, 148, 112, 103, 194, 123, 92, 112, 59, 17, 129, 18, - ]), - U256::from_bytes_le([ - 230, 189, 254, 240, 214, 176, 215, 36, 172, 98, 52, 18, 205, 205, 179, 151, 109, 155, - 217, 67, 131, 248, 73, 129, 147, 98, 109, 64, 110, 246, 223, 197, - ]), - U256::from_bytes_le([ - 206, 73, 223, 59, 193, 40, 138, 139, 28, 36, 32, 169, 235, 212, 163, 15, 167, 33, 91, - 189, 48, 147, 53, 114, 48, 127, 191, 43, 157, 149, 166, 183, - ]), - U256::from_bytes_le([ - 7, 31, 53, 102, 75, 234, 244, 247, 27, 116, 62, 182, 2, 101, 111, 3, 218, 153, 94, 13, - 122, 188, 167, 139, 178, 203, 119, 31, 85, 111, 191, 79, - ]), - U256::from_bytes_le([ - 172, 61, 123, 132, 19, 177, 38, 185, 191, 7, 13, 48, 93, 37, 78, 170, 46, 3, 29, 171, - 103, 4, 230, 93, 129, 139, 40, 234, 105, 228, 86, 132, - ]), - U256::from_bytes_le([ - 7, 136, 233, 32, 26, 0, 59, 76, 86, 210, 169, 251, 112, 53, 251, 223, 104, 254, 32, - 132, 40, 159, 76, 154, 60, 98, 36, 50, 27, 108, 114, 225, - ]), - U256::from_bytes_le([ - 147, 254, 20, 214, 49, 130, 245, 226, 254, 35, 0, 156, 185, 159, 124, 252, 111, 4, 73, - 241, 23, 215, 243, 79, 53, 126, 16, 238, 109, 124, 175, 107, - ]), - U256::from_bytes_le([ - 192, 246, 149, 178, 158, 82, 187, 21, 153, 154, 172, 25, 91, 221, 35, 97, 23, 175, 208, - 184, 84, 48, 114, 85, 10, 121, 196, 21, 245, 135, 183, 143, - ]), - U256::from_bytes_le([ - 40, 128, 165, 68, 109, 15, 118, 132, 170, 11, 173, 131, 229, 112, 180, 121, 201, 29, - 250, 36, 44, 156, 177, 79, 93, 252, 209, 67, 253, 63, 220, 186, - ]), - U256::from_bytes_le([ - 82, 197, 160, 117, 31, 247, 80, 142, 12, 199, 180, 130, 207, 184, 207, 77, 179, 160, - 244, 156, 54, 3, 45, 82, 137, 120, 135, 218, 216, 213, 24, 166, - ]), - U256::from_bytes_le([ - 226, 80, 102, 129, 227, 52, 229, 76, 156, 1, 224, 34, 248, 202, 121, 120, 224, 80, 197, - 237, 224, 117, 153, 243, 116, 87, 183, 67, 91, 236, 53, 156, - ]), - U256::from_bytes_le([ - 145, 211, 246, 235, 78, 157, 60, 181, 15, 212, 66, 3, 91, 79, 121, 12, 180, 15, 184, - 223, 141, 76, 190, 73, 194, 6, 6, 177, 8, 98, 58, 80, - ]), - U256::from_bytes_le([ - 173, 169, 146, 245, 212, 127, 234, 185, 241, 4, 90, 247, 87, 205, 232, 101, 240, 119, - 115, 160, 245, 165, 123, 163, 234, 40, 9, 88, 190, 147, 147, 124, - ]), - U256::from_bytes_le([ - 4, 168, 65, 81, 43, 203, 14, 108, 43, 18, 159, 0, 20, 105, 141, 237, 105, 106, 227, - 223, 15, 26, 147, 183, 230, 13, 57, 157, 238, 49, 166, 186, - ]), - U256::from_bytes_le([ - 198, 214, 48, 144, 167, 91, 232, 111, 209, 58, 114, 15, 240, 182, 204, 45, 116, 251, - 222, 240, 228, 63, 27, 211, 5, 53, 253, 190, 73, 83, 134, 218, - ]), - U256::from_bytes_le([ - 233, 214, 227, 234, 221, 115, 81, 154, 157, 140, 184, 240, 230, 22, 195, 118, 181, 90, - 121, 160, 33, 254, 146, 16, 102, 65, 174, 75, 115, 86, 69, 13, - ]), - U256::from_bytes_le([ - 52, 126, 127, 9, 14, 226, 232, 58, 40, 238, 142, 68, 238, 102, 33, 24, 127, 248, 7, - 160, 51, 217, 218, 174, 17, 38, 88, 151, 236, 156, 241, 61, - ]), - U256::from_bytes_le([ - 4, 96, 62, 236, 98, 148, 190, 58, 183, 173, 98, 111, 4, 45, 53, 150, 139, 84, 211, 4, - 49, 164, 215, 140, 236, 187, 5, 63, 90, 63, 6, 239, - ]), - U256::from_bytes_le([ - 97, 20, 127, 198, 95, 98, 80, 201, 209, 184, 149, 13, 179, 61, 90, 42, 253, 32, 82, - 211, 51, 142, 193, 102, 193, 164, 57, 170, 242, 238, 43, 118, - ]), - U256::from_bytes_le([ - 204, 151, 89, 132, 95, 150, 176, 17, 179, 5, 101, 97, 176, 19, 75, 105, 17, 251, 159, - 232, 48, 10, 164, 82, 127, 29, 13, 26, 119, 73, 221, 199, - ]), - U256::from_bytes_le([ - 217, 89, 103, 45, 84, 75, 185, 42, 67, 213, 155, 152, 47, 198, 192, 144, 26, 222, 50, - 183, 24, 147, 3, 101, 224, 149, 240, 53, 222, 26, 25, 224, - ]), - U256::from_bytes_le([ - 13, 167, 13, 36, 254, 104, 193, 124, 34, 84, 170, 144, 164, 60, 176, 124, 149, 38, 90, - 164, 45, 180, 83, 59, 83, 74, 191, 188, 79, 212, 140, 132, - ]), - U256::from_bytes_le([ - 171, 107, 157, 80, 114, 113, 44, 200, 250, 22, 2, 237, 130, 76, 242, 98, 108, 160, 66, - 77, 92, 20, 255, 162, 153, 208, 242, 95, 70, 127, 18, 210, - ]), - U256::from_bytes_le([ - 203, 95, 219, 158, 132, 205, 42, 96, 206, 190, 250, 63, 229, 120, 188, 12, 42, 19, 106, - 220, 234, 207, 53, 240, 140, 99, 212, 165, 69, 112, 14, 79, - ]), - U256::from_bytes_le([ - 210, 173, 137, 167, 154, 9, 75, 1, 145, 6, 73, 112, 185, 148, 94, 121, 141, 148, 236, - 116, 198, 19, 134, 171, 79, 108, 111, 63, 227, 12, 112, 207, - ]), - U256::from_bytes_le([ - 173, 107, 209, 159, 4, 106, 110, 133, 7, 235, 27, 146, 250, 15, 155, 1, 108, 202, 224, - 46, 130, 216, 49, 201, 80, 226, 219, 137, 79, 95, 57, 193, - ]), - U256::from_bytes_le([ - 235, 113, 209, 111, 10, 91, 60, 39, 65, 22, 227, 22, 47, 29, 33, 83, 191, 126, 206, - 106, 227, 122, 137, 252, 225, 105, 83, 112, 18, 212, 186, 90, - ]), - U256::from_bytes_le([ - 6, 171, 228, 189, 230, 222, 88, 163, 117, 200, 201, 47, 165, 112, 199, 115, 103, 228, - 251, 15, 96, 62, 67, 63, 32, 183, 223, 66, 250, 178, 233, 254, - ]), - U256::from_bytes_le([ - 197, 203, 193, 64, 21, 202, 212, 187, 20, 19, 119, 67, 229, 6, 226, 177, 119, 212, 94, - 35, 96, 157, 0, 87, 136, 80, 104, 226, 89, 131, 101, 253, - ]), - U256::from_bytes_le([ - 33, 228, 50, 129, 145, 43, 74, 225, 52, 45, 112, 149, 228, 46, 31, 135, 150, 197, 32, - 154, 142, 193, 167, 114, 108, 245, 72, 190, 198, 180, 199, 234, - ]), - U256::from_bytes_le([ - 54, 249, 147, 136, 230, 232, 227, 61, 31, 50, 249, 179, 216, 84, 144, 172, 63, 102, - 157, 184, 37, 188, 133, 211, 129, 22, 166, 183, 102, 122, 184, 65, - ]), - U256::from_bytes_le([ - 59, 85, 236, 240, 128, 160, 133, 80, 200, 119, 58, 59, 139, 187, 167, 17, 144, 250, - 101, 128, 81, 79, 237, 98, 105, 117, 156, 189, 69, 73, 46, 32, - ]), - U256::from_bytes_le([ - 254, 197, 54, 164, 89, 57, 91, 33, 182, 112, 81, 235, 81, 106, 247, 25, 132, 193, 32, - 113, 71, 183, 101, 124, 183, 148, 67, 121, 99, 242, 187, 143, - ]), - U256::from_bytes_le([ - 221, 41, 244, 39, 200, 156, 131, 235, 187, 21, 215, 117, 99, 149, 195, 245, 54, 197, - 171, 118, 67, 9, 114, 15, 157, 55, 80, 218, 216, 128, 160, 138, - ]), - U256::from_bytes_le([ - 51, 130, 32, 179, 22, 147, 120, 186, 104, 96, 107, 68, 170, 16, 181, 193, 95, 215, 171, - 157, 179, 193, 57, 202, 17, 246, 192, 110, 151, 60, 48, 169, - ]), - U256::from_bytes_le([ - 244, 249, 92, 18, 237, 232, 207, 169, 41, 52, 39, 23, 1, 215, 220, 180, 227, 118, 158, - 51, 171, 188, 99, 201, 237, 172, 81, 204, 135, 252, 181, 200, - ]), - U256::from_bytes_le([ - 241, 0, 236, 121, 39, 17, 129, 40, 120, 119, 192, 59, 245, 221, 29, 5, 135, 225, 156, - 12, 178, 134, 14, 163, 23, 223, 196, 250, 59, 236, 164, 25, - ]), - U256::from_bytes_le([ - 78, 129, 251, 100, 127, 252, 243, 170, 98, 39, 81, 62, 44, 175, 36, 185, 54, 157, 189, - 118, 182, 49, 220, 6, 34, 110, 172, 74, 159, 115, 65, 71, - ]), - U256::from_bytes_le([ - 18, 218, 127, 104, 236, 1, 123, 16, 70, 255, 100, 82, 232, 21, 12, 101, 227, 91, 175, - 141, 215, 240, 222, 97, 225, 212, 124, 213, 21, 159, 125, 82, - ]), - U256::from_bytes_le([ - 146, 8, 112, 24, 150, 14, 55, 69, 112, 91, 92, 80, 34, 97, 201, 20, 207, 226, 191, 19, - 172, 139, 5, 207, 42, 190, 2, 254, 133, 204, 27, 146, - ]), - U256::from_bytes_le([ - 188, 54, 219, 217, 102, 183, 60, 124, 231, 12, 158, 155, 86, 0, 250, 83, 253, 74, 96, - 222, 4, 69, 93, 151, 170, 176, 70, 8, 81, 58, 62, 101, - ]), - U256::from_bytes_le([ - 83, 81, 24, 140, 121, 55, 244, 41, 219, 173, 60, 148, 236, 103, 131, 208, 196, 50, 65, - 25, 229, 97, 210, 55, 47, 24, 185, 204, 25, 82, 229, 214, - ]), - U256::from_bytes_le([ - 153, 46, 212, 42, 247, 228, 0, 7, 53, 112, 177, 202, 243, 67, 35, 67, 235, 119, 152, - 12, 183, 47, 182, 4, 119, 189, 197, 250, 101, 223, 201, 178, - ]), - U256::from_bytes_le([ - 104, 151, 108, 62, 201, 166, 215, 36, 186, 22, 88, 1, 15, 246, 22, 13, 7, 79, 140, 80, - 201, 6, 79, 169, 170, 181, 109, 214, 12, 93, 246, 84, - ]), - U256::from_bytes_le([ - 230, 183, 242, 80, 238, 207, 63, 147, 206, 105, 196, 177, 39, 121, 116, 149, 167, 106, - 21, 10, 135, 237, 108, 216, 86, 42, 9, 99, 182, 37, 223, 49, - ]), - U256::from_bytes_le([ - 144, 69, 55, 103, 35, 201, 8, 131, 193, 71, 95, 194, 118, 74, 239, 185, 245, 29, 248, - 152, 112, 74, 26, 184, 250, 124, 228, 9, 82, 62, 19, 86, - ]), - U256::from_bytes_le([ - 17, 5, 91, 47, 55, 177, 16, 69, 113, 35, 226, 241, 152, 108, 55, 252, 30, 205, 31, 79, - 24, 43, 231, 86, 108, 70, 15, 144, 32, 217, 30, 120, - ]), - U256::from_bytes_le([ - 235, 59, 211, 254, 31, 243, 94, 150, 156, 203, 22, 190, 42, 122, 64, 21, 48, 208, 217, - 94, 194, 44, 32, 78, 196, 95, 115, 15, 31, 69, 45, 33, - ]), - U256::from_bytes_le([ - 147, 3, 137, 237, 125, 89, 131, 198, 18, 12, 184, 219, 7, 158, 72, 145, 54, 245, 232, - 219, 1, 24, 118, 122, 41, 17, 228, 162, 82, 148, 154, 194, - ]), - U256::from_bytes_le([ - 245, 78, 255, 93, 128, 86, 149, 200, 120, 223, 0, 85, 61, 155, 9, 131, 90, 202, 171, - 164, 218, 171, 193, 117, 2, 195, 231, 24, 194, 162, 155, 74, - ]), - U256::from_bytes_le([ - 83, 195, 210, 45, 82, 219, 30, 94, 254, 254, 46, 60, 24, 16, 105, 15, 151, 249, 21, - 195, 200, 164, 161, 42, 221, 252, 165, 240, 21, 226, 177, 72, - ]), - U256::from_bytes_le([ - 47, 91, 5, 83, 170, 34, 13, 209, 74, 245, 122, 175, 107, 178, 99, 92, 100, 65, 17, 123, - 245, 98, 223, 187, 218, 37, 192, 176, 229, 104, 80, 220, - ]), - U256::from_bytes_le([ - 5, 171, 4, 216, 110, 8, 110, 86, 72, 14, 128, 26, 6, 215, 207, 36, 179, 17, 8, 170, - 239, 134, 127, 10, 22, 226, 214, 254, 178, 133, 23, 66, - ]), - U256::from_bytes_le([ - 216, 148, 72, 215, 241, 213, 245, 195, 64, 42, 246, 53, 9, 103, 72, 75, 110, 78, 183, - 191, 39, 191, 72, 170, 137, 123, 84, 162, 238, 216, 110, 187, - ]), - U256::from_bytes_le([ - 187, 45, 74, 127, 205, 246, 95, 184, 156, 94, 230, 237, 0, 58, 147, 122, 9, 20, 193, - 155, 123, 72, 145, 143, 124, 235, 7, 22, 70, 50, 8, 70, - ]), - U256::from_bytes_le([ - 124, 192, 234, 15, 72, 110, 218, 19, 13, 241, 15, 249, 91, 168, 26, 16, 119, 165, 254, - 120, 217, 239, 55, 200, 101, 86, 239, 105, 247, 195, 195, 103, - ]), - U256::from_bytes_le([ - 175, 218, 20, 224, 175, 5, 222, 10, 165, 118, 37, 194, 44, 146, 181, 198, 164, 34, 101, - 223, 106, 102, 253, 102, 81, 116, 218, 149, 134, 83, 221, 67, - ]), - U256::from_bytes_le([ - 247, 186, 63, 2, 0, 13, 48, 57, 145, 124, 169, 29, 237, 237, 166, 205, 99, 163, 205, - 20, 165, 92, 75, 56, 121, 218, 32, 147, 201, 251, 5, 8, - ]), - U256::from_bytes_le([ - 147, 143, 10, 173, 216, 63, 46, 113, 102, 32, 68, 50, 207, 40, 250, 244, 195, 63, 137, - 6, 112, 72, 169, 138, 149, 149, 134, 139, 3, 175, 179, 5, - ]), - U256::from_bytes_le([ - 170, 194, 123, 101, 94, 186, 101, 112, 244, 148, 254, 114, 183, 0, 105, 136, 28, 37, - 52, 108, 156, 139, 30, 135, 67, 105, 90, 230, 119, 90, 236, 194, - ]), - U256::from_bytes_le([ - 190, 79, 223, 55, 125, 171, 145, 245, 18, 137, 78, 255, 84, 82, 214, 27, 76, 253, 6, - 54, 155, 5, 157, 168, 83, 182, 72, 191, 126, 10, 195, 202, - ]), - U256::from_bytes_le([ - 221, 41, 35, 131, 162, 106, 80, 190, 102, 88, 123, 205, 166, 202, 232, 192, 120, 134, - 15, 22, 161, 91, 164, 193, 203, 107, 7, 188, 149, 211, 231, 182, - ]), - U256::from_bytes_le([ - 18, 176, 26, 33, 51, 193, 146, 74, 6, 59, 120, 27, 125, 146, 30, 26, 97, 48, 246, 138, - 126, 164, 164, 254, 45, 25, 130, 184, 146, 167, 47, 136, - ]), - U256::from_bytes_le([ - 148, 52, 81, 62, 248, 134, 161, 31, 182, 214, 6, 10, 10, 247, 55, 124, 220, 197, 169, - 36, 146, 11, 252, 91, 60, 136, 236, 11, 94, 46, 48, 235, - ]), - U256::from_bytes_le([ - 163, 100, 249, 230, 81, 42, 94, 52, 38, 94, 244, 190, 175, 9, 127, 3, 60, 227, 189, 6, - 167, 201, 167, 178, 175, 10, 84, 159, 116, 139, 72, 230, - ]), - U256::from_bytes_le([ - 248, 174, 149, 211, 182, 89, 31, 89, 123, 106, 132, 113, 81, 222, 16, 228, 249, 104, - 173, 62, 34, 64, 79, 16, 7, 192, 187, 35, 117, 52, 200, 232, - ]), - U256::from_bytes_le([ - 11, 8, 28, 218, 106, 172, 70, 138, 105, 42, 212, 192, 131, 32, 26, 51, 221, 105, 209, - 131, 123, 58, 5, 201, 87, 136, 35, 36, 90, 145, 31, 60, - ]), - U256::from_bytes_le([ - 193, 150, 182, 144, 56, 144, 94, 44, 36, 123, 182, 19, 220, 183, 70, 45, 48, 83, 50, - 86, 61, 69, 160, 184, 142, 132, 137, 109, 22, 13, 29, 19, - ]), - U256::from_bytes_le([ - 11, 49, 110, 158, 143, 157, 78, 237, 16, 209, 210, 11, 13, 194, 177, 212, 190, 196, - 110, 28, 226, 91, 122, 235, 9, 22, 159, 58, 113, 143, 56, 103, - ]), - U256::from_bytes_le([ - 77, 70, 85, 3, 46, 75, 80, 222, 162, 247, 206, 157, 150, 244, 193, 18, 10, 202, 195, - 109, 191, 89, 250, 137, 50, 33, 38, 71, 28, 15, 204, 117, - ]), - U256::from_bytes_le([ - 96, 125, 255, 240, 73, 51, 134, 108, 189, 58, 179, 32, 130, 249, 6, 75, 242, 79, 90, - 184, 1, 229, 55, 82, 213, 54, 165, 71, 9, 199, 24, 239, - ]), - U256::from_bytes_le([ - 103, 157, 135, 118, 113, 6, 22, 65, 89, 13, 236, 24, 85, 85, 104, 205, 215, 232, 134, - 70, 225, 104, 39, 13, 45, 34, 34, 43, 55, 126, 63, 73, - ]), - U256::from_bytes_le([ - 122, 86, 39, 197, 211, 151, 16, 179, 70, 76, 115, 64, 222, 243, 237, 206, 118, 123, - 108, 19, 33, 13, 68, 242, 33, 112, 47, 137, 32, 239, 145, 223, - ]), - U256::from_bytes_le([ - 2, 93, 220, 89, 220, 60, 194, 197, 116, 226, 145, 16, 68, 22, 24, 192, 27, 84, 197, 86, - 132, 211, 234, 140, 99, 102, 192, 34, 106, 130, 239, 194, - ]), - U256::from_bytes_le([ - 86, 187, 48, 184, 152, 188, 165, 14, 228, 230, 255, 113, 188, 77, 186, 27, 226, 237, - 129, 55, 222, 167, 15, 248, 115, 89, 96, 134, 121, 166, 29, 163, - ]), - U256::from_bytes_le([ - 224, 250, 203, 190, 223, 197, 168, 186, 171, 233, 247, 154, 176, 47, 13, 172, 12, 165, - 78, 129, 143, 227, 109, 249, 254, 64, 65, 209, 116, 141, 231, 210, - ]), - U256::from_bytes_le([ - 21, 154, 185, 148, 116, 178, 9, 161, 182, 103, 97, 112, 103, 162, 209, 77, 245, 218, - 230, 23, 59, 102, 205, 127, 4, 252, 113, 141, 160, 85, 241, 106, - ]), - U256::from_bytes_le([ - 53, 193, 5, 119, 156, 152, 146, 153, 246, 169, 152, 209, 33, 73, 160, 241, 74, 66, 219, - 210, 95, 128, 173, 25, 145, 52, 250, 62, 184, 34, 150, 144, - ]), - U256::from_bytes_le([ - 128, 212, 182, 27, 139, 81, 191, 10, 141, 219, 138, 240, 86, 233, 191, 224, 129, 127, - 221, 82, 115, 3, 101, 138, 176, 215, 76, 135, 196, 247, 253, 227, - ]), - U256::from_bytes_le([ - 214, 25, 187, 210, 124, 214, 75, 113, 89, 254, 19, 190, 57, 163, 30, 20, 26, 157, 134, - 5, 163, 118, 245, 98, 168, 117, 223, 167, 29, 226, 148, 104, - ]), - U256::from_bytes_le([ - 206, 148, 167, 163, 100, 187, 244, 23, 70, 58, 12, 16, 215, 112, 56, 155, 192, 113, - 125, 210, 0, 110, 76, 81, 39, 90, 139, 108, 209, 88, 121, 82, - ]), - U256::from_bytes_le([ - 81, 109, 41, 159, 167, 129, 85, 212, 184, 230, 184, 119, 80, 105, 47, 215, 116, 200, - 98, 189, 140, 74, 204, 74, 223, 196, 179, 56, 165, 224, 248, 108, - ]), - U256::from_bytes_le([ - 222, 161, 45, 135, 168, 149, 171, 163, 185, 27, 158, 120, 212, 188, 210, 23, 160, 233, - 168, 6, 158, 178, 163, 237, 225, 245, 183, 146, 125, 233, 49, 198, - ]), - U256::from_bytes_le([ - 233, 23, 125, 56, 223, 81, 92, 167, 19, 117, 68, 163, 133, 40, 116, 14, 131, 239, 39, - 170, 219, 175, 31, 215, 142, 9, 89, 161, 92, 57, 214, 213, - ]), - U256::from_bytes_le([ - 34, 49, 129, 2, 79, 13, 143, 8, 132, 143, 73, 164, 65, 73, 58, 152, 64, 14, 47, 125, - 217, 90, 192, 196, 205, 192, 62, 0, 55, 7, 80, 231, - ]), - U256::from_bytes_le([ - 96, 223, 142, 126, 99, 192, 77, 185, 143, 149, 101, 216, 149, 95, 10, 220, 249, 145, - 206, 126, 99, 7, 59, 92, 9, 232, 66, 47, 68, 181, 160, 185, - ]), - U256::from_bytes_le([ - 241, 39, 170, 234, 26, 144, 18, 135, 255, 47, 227, 168, 246, 51, 88, 95, 139, 60, 101, - 135, 225, 173, 73, 233, 196, 255, 147, 218, 167, 15, 175, 106, - ]), - U256::from_bytes_le([ - 24, 116, 237, 83, 15, 98, 205, 217, 53, 204, 83, 142, 113, 249, 235, 81, 119, 110, 97, - 96, 251, 35, 241, 157, 176, 57, 129, 208, 132, 90, 229, 251, - ]), - U256::from_bytes_le([ - 95, 225, 38, 72, 194, 7, 60, 158, 119, 113, 249, 135, 77, 51, 206, 29, 197, 51, 253, - 122, 89, 209, 177, 171, 30, 255, 29, 78, 90, 12, 150, 13, - ]), - U256::from_bytes_le([ - 33, 35, 103, 31, 179, 187, 28, 23, 80, 27, 210, 135, 246, 128, 26, 85, 199, 17, 224, - 181, 114, 161, 36, 223, 240, 244, 2, 53, 184, 99, 131, 49, - ]), - U256::from_bytes_le([ - 76, 103, 143, 138, 15, 20, 58, 132, 139, 196, 205, 15, 165, 225, 117, 41, 57, 110, 180, - 142, 221, 60, 189, 216, 173, 95, 76, 243, 92, 222, 156, 73, - ]), - U256::from_bytes_le([ - 113, 63, 23, 9, 61, 166, 59, 137, 139, 223, 144, 119, 10, 216, 251, 127, 76, 251, 4, - 180, 181, 12, 31, 40, 188, 84, 253, 97, 238, 243, 141, 69, - ]), - U256::from_bytes_le([ - 77, 154, 0, 131, 143, 255, 118, 60, 153, 162, 17, 185, 119, 117, 220, 42, 121, 165, - 135, 141, 66, 9, 174, 21, 125, 60, 162, 115, 23, 187, 84, 142, - ]), - U256::from_bytes_le([ - 194, 99, 62, 77, 157, 226, 100, 237, 139, 5, 140, 42, 22, 105, 30, 253, 18, 96, 162, - 235, 239, 56, 173, 164, 191, 221, 110, 7, 255, 58, 181, 12, - ]), - U256::from_bytes_le([ - 184, 18, 50, 224, 67, 200, 93, 98, 143, 156, 131, 115, 27, 128, 39, 106, 118, 56, 87, - 1, 153, 54, 135, 225, 110, 37, 62, 49, 51, 96, 159, 249, - ]), - U256::from_bytes_le([ - 67, 143, 17, 157, 34, 133, 230, 147, 11, 82, 33, 75, 195, 142, 69, 76, 83, 217, 21, - 228, 247, 200, 175, 254, 89, 158, 192, 93, 127, 101, 200, 42, - ]), - U256::from_bytes_le([ - 245, 188, 249, 24, 97, 78, 217, 101, 162, 222, 123, 154, 245, 235, 190, 166, 133, 191, - 111, 111, 185, 164, 152, 10, 206, 127, 228, 159, 65, 250, 231, 150, - ]), - U256::from_bytes_le([ - 63, 214, 9, 65, 255, 27, 204, 115, 168, 196, 171, 162, 186, 178, 123, 229, 10, 38, 56, - 72, 60, 132, 194, 250, 253, 211, 52, 100, 120, 227, 186, 168, - ]), - U256::from_bytes_le([ - 176, 2, 195, 108, 65, 169, 13, 66, 85, 206, 18, 120, 241, 71, 205, 254, 18, 180, 34, - 236, 120, 29, 35, 104, 3, 20, 245, 168, 165, 39, 25, 89, - ]), - U256::from_bytes_le([ - 72, 46, 242, 27, 98, 53, 221, 118, 219, 215, 208, 169, 249, 31, 46, 50, 143, 213, 124, - 135, 31, 222, 152, 98, 84, 98, 208, 163, 207, 35, 158, 130, - ]), - U256::from_bytes_le([ - 83, 126, 157, 42, 179, 245, 120, 233, 13, 226, 243, 36, 206, 228, 23, 222, 249, 61, - 237, 60, 152, 88, 117, 139, 57, 252, 16, 100, 99, 241, 243, 62, - ]), - U256::from_bytes_le([ - 188, 38, 78, 101, 124, 226, 32, 246, 36, 146, 6, 159, 105, 14, 207, 177, 236, 189, 244, - 252, 169, 141, 88, 148, 174, 240, 217, 71, 48, 203, 123, 60, - ]), - U256::from_bytes_le([ - 154, 30, 35, 94, 32, 1, 234, 174, 110, 225, 64, 113, 177, 87, 169, 211, 62, 212, 248, - 240, 38, 66, 90, 95, 5, 158, 168, 50, 222, 123, 21, 255, - ]), - U256::from_bytes_le([ - 86, 45, 97, 35, 205, 139, 197, 23, 135, 159, 133, 237, 224, 246, 189, 72, 231, 31, 90, - 121, 48, 124, 42, 104, 232, 110, 223, 232, 27, 198, 143, 179, - ]), - U256::from_bytes_le([ - 56, 235, 65, 113, 202, 46, 171, 94, 200, 179, 45, 119, 86, 91, 251, 25, 105, 34, 52, - 37, 251, 94, 123, 24, 189, 28, 161, 76, 94, 217, 77, 69, - ]), - U256::from_bytes_le([ - 132, 76, 255, 192, 194, 30, 222, 12, 159, 157, 141, 217, 113, 92, 164, 43, 152, 3, 225, - 61, 135, 184, 234, 200, 211, 114, 23, 207, 80, 25, 67, 129, - ]), - U256::from_bytes_le([ - 176, 66, 30, 181, 244, 91, 237, 207, 174, 118, 62, 96, 21, 50, 187, 141, 125, 208, 227, - 220, 213, 51, 130, 24, 27, 6, 215, 189, 173, 22, 148, 143, - ]), - U256::from_bytes_le([ - 226, 220, 14, 67, 21, 8, 247, 192, 88, 250, 119, 189, 114, 21, 111, 108, 118, 157, 151, - 171, 145, 21, 243, 218, 60, 240, 203, 83, 131, 239, 135, 108, - ]), - U256::from_bytes_le([ - 133, 241, 5, 2, 164, 141, 65, 247, 188, 101, 29, 193, 77, 217, 235, 7, 12, 8, 61, 40, - 8, 202, 122, 97, 111, 244, 118, 129, 154, 124, 255, 134, - ]), - U256::from_bytes_le([ - 8, 153, 255, 193, 243, 109, 61, 216, 153, 239, 158, 252, 155, 75, 98, 93, 155, 114, - 209, 18, 125, 82, 229, 43, 1, 203, 122, 97, 20, 114, 240, 171, - ]), - U256::from_bytes_le([ - 189, 179, 86, 105, 1, 72, 246, 221, 58, 41, 117, 118, 207, 108, 87, 81, 211, 215, 119, - 109, 122, 186, 113, 203, 206, 31, 190, 190, 23, 23, 233, 128, - ]), - U256::from_bytes_le([ - 244, 118, 139, 143, 120, 2, 112, 149, 26, 66, 198, 255, 82, 138, 75, 118, 215, 208, - 249, 58, 2, 17, 93, 153, 209, 51, 157, 80, 61, 110, 27, 240, - ]), - U256::from_bytes_le([ - 228, 30, 22, 150, 134, 113, 201, 3, 69, 39, 28, 112, 194, 37, 72, 20, 104, 104, 63, - 217, 217, 83, 246, 238, 116, 144, 93, 190, 116, 235, 80, 24, - ]), - U256::from_bytes_le([ - 103, 197, 119, 36, 19, 237, 214, 10, 199, 198, 73, 8, 164, 126, 12, 174, 102, 141, 87, - 85, 20, 95, 146, 43, 119, 107, 187, 218, 68, 149, 151, 158, - ]), - U256::from_bytes_le([ - 4, 194, 165, 57, 51, 102, 11, 193, 200, 23, 224, 95, 55, 58, 14, 12, 224, 35, 207, 214, - 181, 143, 233, 140, 195, 192, 122, 119, 163, 171, 195, 21, - ]), - U256::from_bytes_le([ - 110, 38, 218, 49, 44, 145, 5, 190, 59, 16, 152, 47, 213, 248, 148, 108, 89, 44, 81, 74, - 234, 113, 243, 9, 145, 54, 23, 89, 67, 132, 239, 198, - ]), - U256::from_bytes_le([ - 214, 16, 149, 191, 27, 18, 222, 180, 60, 141, 82, 232, 162, 35, 246, 106, 55, 250, 249, - 226, 100, 76, 232, 52, 203, 128, 196, 121, 187, 235, 151, 45, - ]), - U256::from_bytes_le([ - 109, 140, 51, 114, 70, 74, 165, 91, 122, 73, 190, 102, 198, 21, 78, 136, 111, 129, 149, - 218, 167, 13, 2, 50, 109, 29, 152, 180, 240, 76, 8, 231, - ]), - U256::from_bytes_le([ - 211, 145, 174, 168, 239, 176, 252, 177, 84, 93, 47, 86, 75, 114, 169, 41, 151, 133, 29, - 101, 156, 115, 212, 26, 0, 49, 181, 217, 4, 130, 135, 38, - ]), - U256::from_bytes_le([ - 71, 117, 215, 82, 185, 59, 110, 160, 14, 35, 109, 97, 87, 181, 57, 34, 67, 62, 18, 214, - 192, 185, 95, 17, 188, 1, 15, 184, 197, 202, 149, 30, - ]), - U256::from_bytes_le([ - 196, 138, 89, 162, 150, 233, 21, 198, 134, 166, 249, 164, 153, 82, 206, 104, 163, 244, - 84, 142, 69, 1, 197, 237, 7, 99, 24, 107, 166, 187, 255, 25, - ]), - U256::from_bytes_le([ - 230, 106, 17, 171, 240, 208, 43, 8, 77, 221, 139, 48, 251, 220, 174, 216, 120, 164, 89, - 229, 112, 191, 126, 39, 183, 3, 132, 99, 172, 79, 45, 202, - ]), - U256::from_bytes_le([ - 134, 231, 164, 151, 97, 245, 51, 234, 47, 191, 194, 143, 61, 153, 89, 68, 115, 140, - 152, 148, 130, 181, 207, 9, 96, 186, 17, 176, 6, 52, 62, 131, - ]), - U256::from_bytes_le([ - 234, 25, 211, 11, 226, 122, 55, 236, 17, 208, 121, 32, 4, 220, 137, 101, 188, 111, 84, - 7, 228, 250, 14, 8, 124, 223, 78, 21, 179, 98, 197, 50, - ]), - U256::from_bytes_le([ - 244, 50, 232, 22, 56, 15, 95, 114, 101, 146, 142, 189, 50, 21, 47, 238, 17, 77, 40, 52, - 232, 214, 37, 7, 149, 185, 59, 75, 113, 33, 15, 122, - ]), - U256::from_bytes_le([ - 228, 195, 194, 163, 12, 31, 206, 17, 229, 67, 232, 68, 140, 210, 228, 9, 28, 103, 56, - 229, 178, 7, 116, 142, 68, 172, 2, 140, 11, 30, 81, 189, - ]), - U256::from_bytes_le([ - 12, 164, 196, 24, 23, 250, 166, 55, 238, 191, 2, 55, 176, 13, 54, 128, 38, 30, 12, 140, - 157, 136, 147, 203, 125, 174, 88, 221, 94, 111, 187, 165, - ]), - U256::from_bytes_le([ - 7, 92, 191, 35, 231, 193, 213, 33, 47, 54, 12, 210, 204, 38, 95, 1, 179, 35, 48, 222, - 60, 52, 245, 9, 224, 24, 90, 153, 255, 167, 193, 205, - ]), - U256::from_bytes_le([ - 92, 209, 155, 181, 86, 67, 201, 3, 211, 17, 85, 102, 182, 100, 30, 71, 2, 7, 108, 102, - 2, 120, 189, 240, 131, 75, 132, 196, 97, 173, 75, 110, - ]), - U256::from_bytes_le([ - 182, 90, 249, 38, 116, 81, 169, 39, 139, 224, 131, 87, 17, 162, 45, 243, 161, 174, 51, - 209, 243, 215, 154, 147, 208, 60, 248, 237, 96, 167, 17, 157, - ]), - U256::from_bytes_le([ - 108, 209, 133, 136, 252, 187, 202, 65, 19, 110, 253, 7, 90, 81, 87, 251, 81, 202, 115, - 7, 92, 245, 34, 184, 43, 175, 119, 121, 106, 181, 65, 110, - ]), - U256::from_bytes_le([ - 93, 140, 53, 116, 233, 91, 4, 39, 127, 171, 74, 69, 43, 161, 108, 30, 252, 45, 182, - 169, 79, 117, 165, 102, 88, 165, 52, 34, 9, 176, 59, 76, - ]), - U256::from_bytes_le([ - 130, 150, 225, 185, 170, 122, 74, 212, 250, 46, 68, 76, 199, 11, 235, 145, 225, 196, - 212, 3, 177, 27, 61, 206, 20, 50, 127, 164, 187, 212, 206, 46, - ]), - U256::from_bytes_le([ - 155, 12, 43, 183, 64, 173, 85, 139, 217, 158, 76, 153, 124, 39, 160, 181, 85, 137, 123, - 105, 22, 103, 91, 34, 59, 110, 149, 8, 79, 94, 28, 243, - ]), - U256::from_bytes_le([ - 49, 228, 230, 220, 195, 177, 179, 162, 115, 53, 33, 87, 253, 191, 173, 105, 216, 200, - 173, 247, 190, 186, 68, 73, 151, 240, 250, 9, 124, 141, 3, 76, - ]), - U256::from_bytes_le([ - 26, 107, 37, 139, 117, 252, 247, 76, 99, 105, 136, 156, 110, 103, 92, 249, 191, 154, - 66, 136, 150, 27, 21, 24, 71, 112, 65, 112, 205, 98, 149, 223, - ]), - U256::from_bytes_le([ - 97, 249, 48, 116, 164, 112, 9, 147, 30, 66, 220, 232, 124, 19, 243, 137, 124, 97, 171, - 60, 196, 63, 26, 34, 87, 165, 73, 233, 35, 1, 248, 151, - ]), - U256::from_bytes_le([ - 228, 147, 237, 54, 255, 65, 8, 31, 181, 109, 205, 157, 128, 47, 110, 165, 174, 76, 114, - 162, 143, 27, 248, 112, 154, 98, 113, 30, 46, 130, 107, 163, - ]), - U256::from_bytes_le([ - 6, 87, 233, 122, 93, 61, 74, 230, 113, 10, 187, 86, 100, 213, 152, 229, 200, 205, 200, - 87, 243, 182, 81, 251, 171, 11, 35, 246, 40, 228, 5, 52, - ]), - U256::from_bytes_le([ - 145, 51, 3, 121, 38, 57, 255, 184, 151, 157, 252, 122, 129, 139, 9, 7, 138, 208, 117, - 59, 46, 71, 161, 224, 113, 143, 40, 24, 191, 255, 85, 34, - ]), - U256::from_bytes_le([ - 34, 149, 180, 60, 214, 82, 235, 58, 70, 117, 165, 213, 192, 238, 58, 94, 132, 111, 105, - 238, 154, 111, 74, 196, 243, 136, 58, 132, 157, 44, 146, 45, - ]), - U256::from_bytes_le([ - 212, 89, 232, 132, 183, 44, 200, 48, 98, 172, 211, 236, 17, 8, 11, 153, 252, 52, 62, - 76, 69, 155, 29, 166, 29, 168, 237, 182, 20, 186, 87, 182, - ]), - U256::from_bytes_le([ - 121, 201, 104, 127, 127, 25, 130, 7, 115, 252, 187, 250, 31, 55, 158, 221, 206, 73, 35, - 5, 38, 199, 251, 82, 209, 150, 136, 169, 186, 153, 116, 148, - ]), - U256::from_bytes_le([ - 48, 209, 64, 10, 62, 158, 221, 106, 53, 120, 124, 223, 70, 215, 183, 209, 253, 122, - 123, 165, 149, 22, 94, 22, 226, 81, 245, 194, 175, 51, 88, 23, - ]), - U256::from_bytes_le([ - 41, 17, 20, 33, 38, 211, 132, 230, 32, 112, 220, 149, 61, 50, 99, 4, 230, 21, 170, 238, - 6, 65, 108, 115, 144, 217, 65, 209, 99, 71, 1, 45, - ]), - U256::from_bytes_le([ - 232, 202, 224, 211, 62, 52, 65, 65, 231, 79, 204, 212, 123, 13, 28, 197, 46, 143, 79, - 242, 34, 132, 136, 233, 78, 217, 0, 91, 27, 80, 44, 171, - ]), - U256::from_bytes_le([ - 57, 230, 15, 39, 10, 72, 52, 136, 128, 126, 6, 70, 42, 7, 172, 114, 93, 58, 86, 36, 13, - 120, 146, 96, 93, 61, 124, 197, 120, 187, 187, 176, - ]), - U256::from_bytes_le([ - 63, 168, 96, 147, 2, 173, 94, 79, 15, 60, 186, 39, 199, 13, 198, 201, 240, 201, 157, - 92, 157, 69, 23, 136, 98, 56, 107, 72, 204, 125, 83, 225, - ]), - U256::from_bytes_le([ - 35, 190, 216, 168, 222, 71, 63, 130, 183, 10, 158, 93, 65, 49, 101, 30, 247, 23, 16, - 164, 14, 92, 41, 130, 139, 100, 76, 97, 65, 32, 102, 190, - ]), - U256::from_bytes_le([ - 58, 232, 5, 180, 81, 110, 108, 166, 89, 96, 176, 67, 150, 248, 12, 77, 251, 49, 195, - 47, 231, 127, 237, 232, 246, 186, 169, 233, 16, 16, 144, 253, - ]), - U256::from_bytes_le([ - 227, 207, 68, 141, 112, 10, 49, 125, 85, 14, 60, 186, 177, 185, 145, 217, 247, 24, 101, - 225, 244, 143, 156, 78, 129, 160, 38, 46, 55, 52, 252, 1, - ]), - U256::from_bytes_le([ - 102, 82, 44, 24, 194, 205, 208, 233, 142, 153, 16, 61, 201, 79, 220, 36, 120, 210, 216, - 83, 178, 117, 143, 117, 13, 78, 123, 167, 121, 115, 102, 179, - ]), - U256::from_bytes_le([ - 200, 36, 34, 57, 170, 13, 174, 212, 51, 180, 47, 58, 6, 208, 166, 121, 155, 21, 31, 76, - 5, 190, 31, 22, 121, 151, 151, 116, 35, 91, 121, 150, - ]), - U256::from_bytes_le([ - 83, 54, 5, 200, 113, 94, 191, 196, 201, 0, 158, 40, 19, 2, 34, 4, 243, 65, 156, 31, - 237, 135, 51, 3, 156, 167, 217, 163, 88, 7, 182, 47, - ]), - U256::from_bytes_le([ - 22, 128, 198, 28, 187, 228, 154, 203, 47, 0, 241, 26, 46, 111, 188, 21, 97, 254, 89, 6, - 187, 186, 131, 132, 129, 30, 174, 160, 111, 122, 180, 87, - ]), - U256::from_bytes_le([ - 87, 253, 164, 223, 185, 71, 60, 95, 230, 62, 17, 75, 1, 232, 158, 69, 74, 235, 134, 39, - 191, 221, 39, 99, 93, 152, 100, 41, 113, 145, 184, 104, - ]), - U256::from_bytes_le([ - 83, 32, 201, 116, 137, 131, 89, 22, 19, 166, 146, 103, 6, 118, 246, 83, 173, 210, 28, - 144, 173, 209, 144, 82, 99, 62, 56, 172, 168, 222, 56, 5, - ]), - U256::from_bytes_le([ - 233, 180, 208, 208, 2, 167, 90, 33, 167, 8, 221, 192, 58, 100, 243, 198, 217, 18, 163, - 141, 152, 165, 181, 11, 168, 213, 50, 6, 138, 27, 14, 82, - ]), - U256::from_bytes_le([ - 157, 220, 110, 12, 32, 143, 121, 85, 213, 169, 246, 40, 193, 183, 224, 233, 190, 6, - 164, 236, 2, 48, 21, 115, 90, 64, 78, 138, 16, 64, 26, 64, - ]), - U256::from_bytes_le([ - 133, 99, 48, 212, 37, 105, 222, 157, 159, 125, 196, 56, 132, 119, 84, 224, 131, 6, 226, - 159, 215, 23, 221, 73, 26, 149, 52, 29, 44, 241, 116, 118, - ]), - U256::from_bytes_le([ - 83, 138, 161, 70, 183, 137, 46, 241, 234, 74, 130, 5, 228, 217, 156, 120, 192, 37, 152, - 111, 12, 124, 165, 70, 23, 6, 66, 171, 3, 36, 127, 78, - ]), - U256::from_bytes_le([ - 227, 200, 146, 82, 182, 0, 53, 22, 212, 246, 170, 50, 138, 142, 226, 234, 89, 155, 102, - 238, 168, 206, 135, 39, 135, 29, 20, 106, 126, 15, 170, 119, - ]), - U256::from_bytes_le([ - 110, 242, 106, 64, 244, 134, 108, 222, 69, 181, 119, 204, 241, 142, 223, 132, 154, 113, - 186, 27, 112, 18, 43, 233, 162, 92, 81, 244, 3, 174, 106, 68, - ]), - U256::from_bytes_le([ - 57, 243, 120, 34, 156, 175, 100, 8, 60, 161, 142, 22, 3, 193, 144, 13, 180, 242, 8, 26, - 110, 136, 21, 123, 194, 237, 69, 247, 131, 80, 66, 95, - ]), - U256::from_bytes_le([ - 211, 246, 147, 81, 89, 140, 156, 73, 154, 206, 128, 60, 149, 77, 31, 70, 103, 8, 68, 6, - 251, 239, 94, 21, 89, 80, 1, 199, 169, 132, 27, 147, - ]), - U256::from_bytes_le([ - 17, 57, 174, 34, 14, 10, 220, 188, 30, 198, 224, 53, 211, 223, 244, 8, 44, 129, 85, - 209, 37, 48, 5, 177, 253, 30, 125, 213, 89, 229, 84, 156, - ]), - U256::from_bytes_le([ - 65, 136, 207, 123, 199, 75, 245, 43, 82, 139, 61, 184, 66, 24, 178, 65, 21, 229, 129, - 84, 6, 87, 143, 141, 33, 17, 88, 167, 216, 46, 253, 0, - ]), - U256::from_bytes_le([ - 247, 238, 60, 69, 147, 59, 0, 226, 11, 193, 103, 176, 220, 116, 40, 15, 164, 248, 14, - 119, 94, 71, 2, 170, 7, 216, 198, 117, 169, 13, 221, 45, - ]), - U256::from_bytes_le([ - 125, 166, 173, 87, 4, 53, 11, 177, 48, 101, 154, 204, 75, 86, 166, 156, 91, 175, 152, - 137, 81, 150, 188, 65, 31, 180, 241, 68, 2, 111, 30, 150, - ]), - U256::from_bytes_le([ - 20, 95, 64, 247, 171, 206, 101, 57, 27, 14, 162, 47, 252, 189, 200, 35, 42, 119, 221, - 93, 44, 246, 128, 247, 183, 49, 174, 33, 182, 182, 223, 190, - ]), - U256::from_bytes_le([ - 19, 171, 217, 45, 99, 165, 148, 17, 161, 237, 29, 93, 116, 41, 184, 82, 230, 138, 184, - 249, 155, 27, 223, 14, 17, 80, 70, 224, 252, 63, 238, 49, - ]), - U256::from_bytes_le([ - 112, 181, 200, 31, 200, 241, 101, 182, 59, 121, 108, 58, 233, 39, 222, 79, 225, 146, - 131, 144, 33, 217, 102, 24, 94, 14, 53, 136, 220, 72, 69, 71, - ]), - U256::from_bytes_le([ - 18, 109, 27, 225, 171, 206, 196, 225, 134, 83, 166, 170, 183, 187, 200, 187, 177, 38, - 214, 82, 83, 157, 152, 64, 143, 245, 144, 252, 55, 148, 26, 45, - ]), - U256::from_bytes_le([ - 48, 198, 201, 94, 245, 43, 223, 34, 242, 203, 199, 174, 55, 162, 63, 200, 255, 113, 77, - 96, 95, 140, 138, 121, 140, 136, 17, 88, 239, 127, 9, 77, - ]), - U256::from_bytes_le([ - 236, 253, 198, 121, 206, 184, 51, 72, 34, 255, 19, 174, 163, 176, 172, 152, 248, 61, - 37, 38, 250, 111, 252, 203, 194, 128, 173, 137, 17, 244, 232, 169, - ]), - U256::from_bytes_le([ - 46, 22, 135, 220, 108, 3, 224, 205, 94, 189, 186, 204, 148, 46, 114, 30, 135, 131, 140, - 122, 167, 173, 110, 39, 30, 113, 186, 8, 242, 22, 78, 153, - ]), - U256::from_bytes_le([ - 86, 179, 37, 154, 15, 213, 2, 81, 201, 199, 134, 105, 221, 185, 68, 62, 225, 227, 151, - 225, 140, 106, 196, 108, 174, 64, 174, 168, 248, 250, 82, 244, - ]), - U256::from_bytes_le([ - 10, 31, 69, 90, 14, 169, 53, 11, 75, 49, 106, 245, 115, 230, 54, 84, 8, 148, 46, 11, - 164, 35, 16, 163, 152, 148, 65, 148, 234, 171, 0, 113, - ]), - U256::from_bytes_le([ - 79, 47, 70, 100, 185, 110, 186, 168, 197, 210, 129, 251, 199, 6, 8, 227, 88, 132, 32, - 183, 104, 31, 167, 94, 157, 217, 242, 92, 81, 247, 224, 172, - ]), - U256::from_bytes_le([ - 23, 204, 195, 181, 74, 251, 72, 137, 105, 142, 185, 153, 86, 142, 158, 117, 185, 56, - 129, 152, 186, 125, 88, 125, 112, 219, 159, 97, 119, 52, 158, 55, - ]), - U256::from_bytes_le([ - 240, 192, 18, 57, 51, 248, 168, 195, 213, 175, 238, 133, 115, 52, 63, 79, 54, 18, 73, - 71, 149, 118, 61, 53, 38, 85, 106, 179, 240, 32, 177, 163, - ]), - U256::from_bytes_le([ - 0, 232, 163, 0, 143, 222, 193, 7, 101, 244, 223, 137, 189, 37, 194, 7, 137, 121, 65, - 40, 81, 206, 2, 144, 165, 3, 6, 8, 237, 152, 133, 125, - ]), - U256::from_bytes_le([ - 193, 74, 203, 169, 65, 71, 85, 55, 219, 41, 92, 246, 2, 118, 25, 253, 51, 83, 49, 89, - 162, 248, 172, 101, 161, 187, 253, 68, 212, 133, 93, 96, - ]), - U256::from_bytes_le([ - 201, 165, 28, 33, 136, 153, 139, 83, 30, 212, 34, 175, 3, 247, 188, 112, 76, 134, 104, - 248, 70, 146, 59, 34, 167, 147, 54, 35, 16, 44, 231, 218, - ]), - U256::from_bytes_le([ - 253, 236, 87, 77, 116, 41, 106, 163, 179, 116, 174, 253, 219, 104, 97, 72, 120, 92, - 210, 118, 82, 190, 144, 217, 234, 46, 94, 89, 4, 237, 148, 29, - ]), - U256::from_bytes_le([ - 101, 247, 194, 244, 74, 40, 55, 249, 229, 194, 122, 140, 83, 247, 40, 54, 157, 76, 96, - 223, 177, 207, 108, 96, 105, 227, 159, 76, 197, 32, 92, 134, - ]), - U256::from_bytes_le([ - 182, 82, 184, 76, 86, 22, 118, 231, 156, 36, 65, 185, 120, 7, 153, 34, 66, 44, 111, 0, - 15, 126, 195, 61, 106, 40, 178, 186, 104, 52, 121, 106, - ]), - U256::from_bytes_le([ - 157, 9, 138, 25, 222, 255, 57, 126, 86, 187, 193, 51, 77, 62, 255, 228, 198, 147, 6, - 133, 70, 152, 40, 5, 57, 131, 95, 224, 83, 196, 216, 122, - ]), - U256::from_bytes_le([ - 217, 246, 173, 96, 147, 88, 172, 205, 73, 58, 140, 102, 211, 177, 145, 48, 136, 223, - 220, 35, 60, 184, 50, 188, 105, 160, 147, 229, 220, 133, 22, 121, - ]), - U256::from_bytes_le([ - 187, 249, 179, 208, 25, 241, 22, 198, 44, 184, 143, 103, 16, 75, 236, 89, 30, 217, 166, - 188, 71, 114, 148, 15, 23, 204, 255, 224, 15, 52, 62, 144, - ]), - U256::from_bytes_le([ - 26, 223, 226, 254, 255, 228, 134, 29, 12, 171, 169, 196, 22, 192, 164, 75, 183, 196, - 86, 68, 243, 207, 177, 205, 167, 129, 83, 115, 191, 181, 167, 160, - ]), - U256::from_bytes_le([ - 84, 247, 40, 36, 238, 0, 83, 91, 208, 213, 178, 114, 157, 28, 37, 123, 14, 201, 166, - 166, 93, 31, 150, 122, 149, 207, 145, 235, 197, 16, 146, 247, - ]), - U256::from_bytes_le([ - 77, 50, 225, 17, 84, 142, 119, 108, 74, 77, 89, 168, 58, 144, 100, 135, 94, 96, 78, 23, - 192, 105, 53, 150, 10, 133, 49, 89, 101, 79, 123, 136, - ]), - U256::from_bytes_le([ - 233, 179, 33, 73, 224, 40, 209, 247, 26, 186, 106, 43, 245, 219, 39, 174, 170, 183, 3, - 95, 113, 31, 135, 26, 201, 221, 46, 211, 170, 104, 113, 59, - ]), - U256::from_bytes_le([ - 39, 238, 225, 255, 128, 38, 96, 88, 70, 168, 62, 189, 102, 96, 176, 50, 239, 222, 48, - 176, 122, 121, 200, 165, 153, 83, 233, 168, 183, 42, 70, 68, - ]), - U256::from_bytes_le([ - 187, 50, 63, 188, 151, 223, 231, 123, 150, 181, 42, 103, 159, 48, 92, 117, 170, 152, - 244, 47, 91, 35, 220, 208, 215, 187, 81, 46, 119, 249, 244, 231, - ]), - U256::from_bytes_le([ - 67, 117, 7, 48, 4, 243, 217, 53, 136, 25, 97, 155, 33, 89, 132, 162, 226, 144, 97, 197, - 146, 241, 27, 236, 249, 62, 154, 111, 114, 187, 88, 112, - ]), - U256::from_bytes_le([ - 16, 234, 243, 120, 43, 30, 214, 198, 121, 214, 132, 92, 51, 189, 27, 171, 195, 153, 19, - 78, 223, 117, 87, 218, 8, 69, 108, 255, 161, 82, 26, 41, - ]), - U256::from_bytes_le([ - 2, 205, 119, 111, 20, 196, 42, 0, 46, 132, 168, 75, 244, 142, 227, 25, 96, 70, 53, 241, - 128, 155, 102, 115, 199, 27, 25, 13, 230, 133, 242, 72, - ]), - U256::from_bytes_le([ - 95, 116, 171, 147, 162, 15, 11, 233, 109, 215, 132, 223, 150, 80, 4, 7, 207, 37, 194, - 76, 173, 228, 55, 165, 27, 173, 249, 158, 243, 7, 221, 211, - ]), - U256::from_bytes_le([ - 123, 185, 211, 69, 107, 180, 165, 141, 86, 65, 218, 146, 176, 87, 98, 210, 157, 125, - 221, 102, 106, 145, 29, 125, 101, 43, 179, 217, 30, 113, 110, 238, - ]), - U256::from_bytes_le([ - 24, 116, 75, 96, 69, 237, 163, 100, 31, 159, 190, 110, 176, 25, 224, 79, 61, 51, 10, - 27, 27, 233, 128, 113, 134, 45, 150, 176, 198, 40, 124, 11, - ]), - U256::from_bytes_le([ - 178, 19, 138, 159, 160, 57, 52, 37, 110, 51, 2, 24, 254, 188, 37, 45, 131, 32, 91, 1, - 119, 175, 69, 22, 151, 191, 145, 6, 199, 227, 152, 8, - ]), - U256::from_bytes_le([ - 18, 188, 108, 173, 226, 201, 142, 24, 125, 191, 88, 66, 36, 132, 234, 192, 129, 242, - 40, 4, 213, 162, 66, 216, 102, 139, 32, 219, 60, 37, 84, 182, - ]), - U256::from_bytes_le([ - 47, 42, 137, 87, 152, 58, 179, 142, 40, 198, 32, 154, 173, 1, 8, 38, 183, 30, 2, 91, - 60, 106, 158, 220, 106, 146, 74, 45, 173, 228, 113, 189, - ]), - U256::from_bytes_le([ - 16, 163, 1, 134, 113, 199, 105, 120, 170, 218, 49, 68, 136, 115, 248, 40, 145, 17, 169, - 174, 26, 128, 9, 200, 172, 6, 236, 30, 101, 122, 20, 145, - ]), - U256::from_bytes_le([ - 98, 180, 11, 201, 78, 212, 78, 66, 249, 112, 44, 122, 210, 5, 87, 40, 62, 150, 158, - 203, 188, 157, 116, 214, 5, 63, 150, 187, 216, 150, 227, 12, - ]), - U256::from_bytes_le([ - 60, 185, 202, 148, 173, 205, 205, 238, 199, 235, 157, 206, 161, 12, 82, 90, 79, 224, - 124, 13, 222, 49, 146, 45, 58, 123, 194, 65, 12, 54, 2, 49, - ]), - U256::from_bytes_le([ - 170, 94, 79, 129, 56, 248, 190, 28, 11, 51, 249, 117, 70, 81, 206, 184, 55, 199, 166, - 85, 241, 98, 101, 215, 185, 16, 69, 188, 94, 81, 179, 234, - ]), - U256::from_bytes_le([ - 39, 83, 221, 104, 214, 244, 40, 129, 70, 237, 214, 68, 4, 6, 44, 138, 89, 153, 125, - 142, 38, 150, 141, 23, 63, 192, 101, 129, 10, 183, 182, 235, - ]), - U256::from_bytes_le([ - 239, 222, 199, 18, 201, 252, 72, 112, 67, 86, 250, 226, 133, 247, 141, 180, 225, 169, - 145, 63, 68, 76, 103, 111, 53, 198, 100, 202, 169, 154, 163, 20, - ]), - U256::from_bytes_le([ - 50, 73, 248, 249, 235, 147, 53, 127, 25, 76, 104, 183, 145, 211, 110, 40, 254, 154, 23, - 240, 203, 196, 79, 92, 253, 25, 110, 252, 206, 53, 29, 51, - ]), - U256::from_bytes_le([ - 238, 42, 195, 135, 150, 161, 67, 214, 81, 8, 49, 237, 128, 126, 149, 142, 203, 163, 39, - 186, 5, 208, 231, 75, 102, 86, 199, 89, 92, 160, 162, 252, - ]), - U256::from_bytes_le([ - 241, 190, 179, 145, 250, 145, 176, 110, 95, 129, 210, 227, 124, 189, 13, 122, 18, 19, - 151, 104, 51, 25, 177, 61, 110, 148, 127, 18, 109, 171, 223, 56, - ]), - U256::from_bytes_le([ - 108, 51, 107, 204, 141, 199, 100, 232, 66, 116, 16, 83, 96, 42, 151, 72, 82, 159, 153, - 198, 210, 198, 233, 218, 162, 169, 195, 22, 78, 189, 59, 198, - ]), - U256::from_bytes_le([ - 115, 69, 165, 31, 91, 103, 131, 136, 67, 218, 234, 120, 130, 11, 118, 199, 201, 235, - 174, 3, 168, 103, 28, 79, 90, 120, 83, 153, 202, 247, 43, 25, - ]), - U256::from_bytes_le([ - 41, 89, 63, 254, 74, 215, 238, 249, 144, 83, 95, 170, 244, 79, 13, 106, 91, 45, 197, - 85, 208, 75, 89, 103, 123, 214, 195, 206, 87, 29, 77, 134, - ]), - U256::from_bytes_le([ - 160, 139, 90, 35, 203, 141, 148, 11, 204, 223, 253, 148, 131, 147, 5, 118, 79, 241, 56, - 172, 88, 226, 86, 180, 92, 110, 177, 161, 152, 104, 118, 162, - ]), - U256::from_bytes_le([ - 94, 56, 235, 244, 7, 143, 9, 108, 33, 86, 125, 67, 11, 93, 84, 6, 26, 175, 251, 203, - 226, 28, 166, 249, 42, 17, 197, 17, 10, 134, 137, 124, - ]), - U256::from_bytes_le([ - 205, 233, 171, 161, 85, 138, 141, 205, 118, 161, 222, 123, 68, 146, 69, 55, 51, 193, - 232, 195, 36, 217, 121, 231, 251, 190, 39, 159, 128, 191, 242, 77, - ]), - U256::from_bytes_le([ - 217, 217, 26, 156, 45, 165, 186, 168, 134, 14, 250, 18, 177, 119, 62, 216, 51, 201, 12, - 163, 41, 105, 130, 197, 251, 155, 145, 45, 33, 101, 104, 193, - ]), - U256::from_bytes_le([ - 128, 4, 14, 112, 1, 92, 55, 21, 98, 58, 245, 222, 108, 198, 148, 226, 220, 15, 164, 6, - 55, 217, 41, 149, 1, 167, 241, 136, 221, 81, 29, 40, - ]), - U256::from_bytes_le([ - 60, 149, 215, 65, 191, 229, 220, 46, 254, 13, 87, 110, 98, 121, 58, 159, 145, 76, 87, - 40, 122, 12, 251, 97, 133, 211, 227, 205, 36, 63, 156, 82, - ]), - U256::from_bytes_le([ - 20, 11, 91, 182, 91, 115, 216, 119, 118, 177, 44, 240, 175, 25, 242, 179, 160, 125, - 143, 106, 250, 183, 103, 155, 111, 241, 138, 250, 96, 53, 117, 181, - ]), - U256::from_bytes_le([ - 43, 123, 76, 195, 157, 0, 53, 85, 154, 0, 78, 97, 57, 57, 199, 216, 104, 225, 88, 81, - 45, 144, 197, 6, 152, 154, 3, 246, 90, 21, 143, 106, - ]), - U256::from_bytes_le([ - 213, 150, 56, 79, 139, 174, 47, 156, 53, 221, 26, 58, 82, 236, 146, 51, 142, 33, 55, - 185, 134, 157, 201, 195, 100, 144, 154, 251, 203, 250, 207, 148, - ]), - U256::from_bytes_le([ - 99, 58, 42, 2, 124, 68, 20, 65, 173, 225, 216, 21, 72, 31, 44, 221, 211, 196, 20, 238, - 67, 203, 55, 199, 8, 34, 168, 119, 71, 240, 177, 110, - ]), - U256::from_bytes_le([ - 46, 192, 96, 107, 160, 42, 212, 128, 253, 133, 180, 127, 91, 59, 15, 29, 55, 48, 238, - 58, 5, 202, 218, 144, 10, 94, 241, 203, 222, 74, 103, 235, - ]), - U256::from_bytes_le([ - 36, 50, 28, 43, 163, 169, 12, 160, 183, 167, 126, 143, 116, 127, 107, 61, 110, 150, - 128, 92, 59, 88, 185, 61, 24, 252, 101, 167, 192, 14, 207, 83, - ]), - U256::from_bytes_le([ - 243, 205, 213, 154, 124, 210, 96, 117, 97, 49, 163, 251, 232, 93, 108, 41, 71, 95, 55, - 90, 253, 247, 119, 29, 39, 110, 97, 121, 90, 55, 34, 151, - ]), - U256::from_bytes_le([ - 8, 144, 72, 245, 58, 243, 215, 185, 209, 114, 218, 169, 45, 48, 253, 50, 112, 99, 176, - 72, 60, 85, 24, 103, 249, 136, 114, 145, 18, 221, 241, 14, - ]), - U256::from_bytes_le([ - 38, 63, 183, 98, 252, 13, 123, 17, 10, 161, 158, 114, 144, 93, 18, 190, 233, 219, 91, - 210, 148, 98, 183, 134, 204, 229, 144, 83, 238, 35, 199, 243, - ]), - U256::from_bytes_le([ - 251, 251, 42, 142, 188, 159, 144, 230, 12, 12, 23, 174, 142, 158, 39, 168, 61, 163, - 156, 47, 191, 154, 79, 233, 163, 239, 234, 245, 122, 15, 161, 180, - ]), - U256::from_bytes_le([ - 251, 209, 100, 128, 250, 106, 179, 165, 42, 197, 89, 225, 177, 52, 121, 140, 106, 40, - 147, 3, 13, 130, 225, 177, 122, 180, 44, 155, 199, 225, 116, 240, - ]), - U256::from_bytes_le([ - 125, 243, 11, 162, 126, 247, 17, 241, 209, 242, 108, 18, 67, 248, 253, 174, 197, 188, - 166, 150, 163, 252, 167, 185, 252, 235, 142, 58, 14, 207, 215, 25, - ]), - U256::from_bytes_le([ - 167, 103, 107, 149, 184, 80, 154, 190, 22, 118, 29, 61, 85, 163, 36, 178, 133, 20, 40, - 175, 230, 155, 66, 9, 31, 7, 52, 10, 15, 150, 172, 112, - ]), - U256::from_bytes_le([ - 38, 229, 243, 31, 174, 176, 33, 231, 243, 165, 216, 53, 237, 198, 69, 255, 1, 160, 110, - 99, 167, 238, 98, 183, 132, 149, 134, 213, 206, 136, 88, 82, - ]), - U256::from_bytes_le([ - 163, 207, 233, 19, 170, 124, 1, 249, 232, 144, 108, 29, 75, 8, 3, 214, 110, 44, 94, - 170, 145, 128, 107, 27, 67, 29, 8, 218, 89, 100, 58, 240, - ]), - U256::from_bytes_le([ - 65, 152, 171, 101, 172, 139, 230, 60, 191, 33, 11, 15, 78, 237, 24, 224, 120, 5, 123, - 178, 41, 40, 70, 16, 251, 230, 103, 173, 229, 116, 129, 79, - ]), - U256::from_bytes_le([ - 76, 9, 68, 165, 202, 166, 24, 99, 182, 160, 128, 14, 59, 110, 215, 156, 79, 60, 33, - 122, 154, 245, 50, 246, 204, 131, 173, 198, 205, 6, 151, 218, - ]), - U256::from_bytes_le([ - 164, 246, 117, 247, 34, 44, 51, 197, 84, 214, 176, 255, 235, 11, 7, 137, 29, 241, 128, - 128, 175, 32, 107, 210, 179, 124, 20, 184, 137, 201, 84, 177, - ]), - U256::from_bytes_le([ - 52, 206, 79, 225, 5, 187, 137, 42, 140, 20, 162, 103, 174, 33, 48, 162, 139, 15, 118, - 183, 31, 20, 15, 69, 144, 209, 22, 139, 215, 176, 96, 88, - ]), - U256::from_bytes_le([ - 102, 9, 216, 184, 154, 46, 223, 93, 127, 180, 137, 233, 62, 47, 2, 149, 129, 178, 99, - 246, 50, 140, 119, 76, 241, 122, 185, 166, 237, 173, 64, 51, - ]), - U256::from_bytes_le([ - 158, 221, 183, 62, 32, 95, 95, 0, 115, 144, 90, 172, 49, 0, 222, 96, 207, 122, 72, 150, - 106, 197, 198, 181, 201, 233, 196, 74, 247, 10, 9, 13, - ]), - U256::from_bytes_le([ - 189, 71, 227, 78, 175, 61, 116, 8, 40, 33, 198, 27, 175, 22, 83, 63, 81, 162, 161, 3, - 106, 169, 149, 192, 65, 216, 99, 72, 2, 54, 172, 134, - ]), - U256::from_bytes_le([ - 210, 203, 21, 245, 64, 250, 68, 2, 161, 180, 81, 151, 36, 191, 244, 169, 178, 189, 106, - 73, 85, 155, 126, 92, 255, 94, 67, 216, 73, 52, 192, 180, - ]), - U256::from_bytes_le([ - 129, 168, 216, 77, 77, 90, 88, 142, 57, 132, 31, 183, 173, 240, 79, 18, 94, 154, 176, - 76, 155, 2, 58, 38, 77, 56, 137, 143, 76, 97, 132, 28, - ]), - U256::from_bytes_le([ - 248, 24, 207, 47, 5, 226, 204, 151, 74, 233, 82, 171, 253, 140, 217, 248, 116, 159, - 144, 215, 140, 166, 112, 255, 211, 162, 202, 207, 146, 198, 206, 176, - ]), - U256::from_bytes_le([ - 29, 27, 123, 210, 134, 46, 192, 57, 65, 52, 66, 90, 33, 20, 129, 233, 250, 201, 30, 61, - 29, 224, 244, 89, 135, 116, 65, 162, 110, 94, 54, 31, - ]), - U256::from_bytes_le([ - 128, 14, 126, 119, 7, 12, 65, 206, 40, 201, 131, 1, 147, 36, 88, 100, 174, 203, 131, - 168, 155, 183, 85, 114, 191, 5, 193, 56, 187, 97, 77, 19, - ]), - U256::from_bytes_le([ - 60, 5, 106, 84, 33, 254, 121, 112, 236, 123, 208, 44, 115, 3, 97, 179, 252, 42, 239, - 48, 0, 184, 239, 233, 57, 141, 185, 69, 76, 161, 21, 212, - ]), - U256::from_bytes_le([ - 102, 225, 77, 2, 150, 120, 143, 21, 214, 68, 90, 18, 158, 174, 15, 231, 221, 18, 74, - 230, 231, 187, 6, 39, 212, 241, 92, 131, 51, 185, 31, 237, - ]), - U256::from_bytes_le([ - 248, 24, 222, 23, 72, 201, 225, 85, 58, 6, 79, 21, 60, 17, 244, 215, 233, 135, 144, - 237, 129, 125, 82, 25, 140, 254, 77, 195, 140, 154, 197, 75, - ]), - U256::from_bytes_le([ - 152, 68, 231, 70, 218, 149, 247, 81, 179, 87, 20, 53, 64, 34, 63, 19, 29, 155, 112, - 172, 6, 109, 185, 95, 188, 32, 216, 83, 138, 179, 243, 212, - ]), - U256::from_bytes_le([ - 252, 131, 14, 186, 196, 141, 243, 245, 244, 129, 124, 80, 187, 37, 236, 196, 27, 105, - 106, 131, 188, 244, 8, 24, 127, 46, 214, 126, 192, 106, 209, 169, - ]), - U256::from_bytes_le([ - 1, 216, 191, 89, 223, 46, 243, 217, 246, 95, 102, 183, 243, 178, 39, 19, 158, 240, 42, - 84, 169, 205, 143, 66, 198, 168, 179, 84, 249, 124, 195, 127, - ]), - U256::from_bytes_le([ - 170, 184, 82, 27, 24, 36, 219, 194, 127, 142, 54, 70, 201, 188, 126, 96, 10, 17, 211, - 29, 237, 160, 189, 195, 193, 249, 238, 82, 92, 92, 153, 38, - ]), - U256::from_bytes_le([ - 44, 59, 154, 53, 225, 222, 175, 196, 145, 44, 25, 90, 210, 155, 119, 159, 32, 166, 162, - 240, 211, 161, 73, 158, 253, 95, 255, 230, 208, 220, 101, 161, - ]), - U256::from_bytes_le([ - 12, 218, 84, 161, 44, 100, 117, 248, 110, 170, 65, 90, 15, 195, 3, 77, 192, 227, 46, - 29, 206, 18, 85, 6, 3, 168, 21, 87, 45, 116, 17, 167, - ]), - U256::from_bytes_le([ - 51, 196, 95, 7, 202, 242, 9, 38, 240, 228, 139, 121, 219, 63, 88, 249, 14, 77, 229, 19, - 71, 80, 129, 234, 97, 94, 65, 51, 146, 13, 153, 79, - ]), - U256::from_bytes_le([ - 43, 124, 46, 152, 24, 160, 238, 98, 102, 14, 74, 220, 152, 131, 254, 249, 50, 151, 57, - 245, 52, 180, 84, 160, 233, 180, 36, 1, 132, 47, 126, 139, - ]), - U256::from_bytes_le([ - 120, 29, 180, 143, 185, 24, 178, 94, 140, 63, 6, 47, 181, 182, 195, 162, 45, 164, 58, - 196, 129, 236, 33, 18, 242, 232, 209, 105, 48, 173, 140, 227, - ]), - U256::from_bytes_le([ - 187, 143, 10, 227, 140, 243, 110, 226, 253, 197, 16, 126, 86, 47, 250, 207, 123, 15, - 114, 181, 74, 174, 38, 57, 219, 193, 174, 216, 100, 118, 111, 178, - ]), - U256::from_bytes_le([ - 252, 226, 124, 36, 127, 208, 71, 144, 200, 191, 100, 171, 110, 78, 32, 144, 17, 74, 52, - 84, 68, 212, 160, 33, 170, 55, 251, 144, 203, 156, 206, 123, - ]), - U256::from_bytes_le([ - 200, 83, 43, 62, 138, 27, 55, 184, 66, 70, 180, 61, 119, 162, 58, 114, 36, 244, 96, 74, - 235, 59, 238, 63, 100, 184, 86, 125, 2, 119, 183, 61, - ]), - U256::from_bytes_le([ - 69, 9, 236, 140, 105, 237, 201, 31, 115, 71, 27, 133, 43, 64, 243, 52, 244, 17, 134, - 79, 198, 202, 64, 171, 78, 52, 162, 79, 219, 153, 200, 122, - ]), - U256::from_bytes_le([ - 134, 110, 127, 214, 45, 79, 36, 237, 10, 172, 133, 15, 89, 169, 181, 9, 49, 159, 180, - 190, 37, 5, 202, 158, 203, 37, 18, 108, 112, 36, 185, 7, - ]), - U256::from_bytes_le([ - 168, 17, 118, 102, 16, 49, 145, 172, 182, 220, 154, 105, 218, 229, 83, 188, 48, 204, - 145, 43, 48, 36, 211, 229, 163, 105, 65, 67, 246, 253, 106, 105, - ]), - U256::from_bytes_le([ - 40, 14, 167, 32, 123, 50, 40, 135, 52, 35, 159, 244, 206, 238, 226, 149, 91, 229, 65, - 146, 3, 158, 227, 115, 134, 16, 192, 41, 120, 58, 215, 238, - ]), - U256::from_bytes_le([ - 96, 15, 86, 80, 163, 191, 70, 200, 2, 9, 58, 203, 129, 20, 150, 0, 102, 19, 85, 67, - 105, 220, 232, 223, 147, 208, 136, 183, 56, 0, 169, 122, - ]), - U256::from_bytes_le([ - 3, 251, 235, 220, 126, 3, 51, 164, 136, 24, 112, 23, 113, 90, 117, 209, 253, 140, 219, - 35, 31, 77, 151, 169, 120, 199, 131, 89, 217, 220, 8, 228, - ]), - U256::from_bytes_le([ - 164, 147, 49, 157, 173, 248, 27, 105, 100, 71, 169, 232, 58, 161, 240, 230, 105, 172, - 89, 45, 243, 55, 172, 80, 43, 224, 37, 177, 210, 250, 240, 132, - ]), - U256::from_bytes_le([ - 220, 189, 38, 244, 54, 245, 249, 62, 101, 88, 180, 71, 10, 80, 223, 66, 185, 176, 61, - 73, 1, 137, 40, 26, 164, 156, 94, 221, 113, 61, 201, 120, - ]), - U256::from_bytes_le([ - 19, 177, 113, 119, 171, 250, 245, 182, 190, 17, 102, 37, 105, 101, 72, 113, 75, 129, - 209, 104, 198, 177, 78, 81, 22, 55, 124, 111, 157, 236, 163, 173, - ]), - U256::from_bytes_le([ - 31, 67, 73, 40, 103, 245, 3, 20, 180, 190, 125, 111, 96, 229, 78, 66, 217, 142, 251, - 78, 137, 71, 13, 65, 54, 45, 172, 175, 17, 217, 85, 158, - ]), - U256::from_bytes_le([ - 54, 191, 114, 106, 168, 189, 143, 189, 29, 70, 117, 10, 95, 62, 84, 152, 157, 241, 68, - 190, 81, 39, 42, 71, 219, 14, 99, 98, 2, 156, 115, 152, - ]), - U256::from_bytes_le([ - 102, 53, 227, 161, 173, 13, 86, 107, 154, 202, 249, 253, 4, 81, 97, 54, 15, 197, 254, - 127, 0, 52, 184, 21, 90, 237, 101, 250, 108, 63, 117, 55, - ]), - U256::from_bytes_le([ - 193, 138, 135, 180, 100, 200, 215, 216, 63, 104, 19, 189, 90, 160, 224, 176, 27, 142, - 168, 6, 191, 72, 157, 14, 214, 118, 7, 191, 182, 210, 174, 34, - ]), - U256::from_bytes_le([ - 189, 112, 179, 235, 128, 85, 95, 71, 91, 216, 37, 68, 129, 107, 91, 15, 147, 153, 52, - 131, 28, 34, 55, 3, 98, 76, 184, 232, 153, 109, 108, 249, - ]), - U256::from_bytes_le([ - 97, 38, 211, 20, 243, 74, 116, 4, 97, 9, 230, 67, 171, 93, 222, 0, 250, 105, 198, 195, - 98, 49, 175, 14, 32, 127, 246, 172, 130, 203, 30, 82, - ]), - U256::from_bytes_le([ - 136, 195, 0, 32, 182, 197, 74, 16, 149, 223, 111, 253, 1, 48, 122, 36, 122, 106, 34, - 206, 208, 160, 238, 137, 113, 164, 68, 199, 217, 187, 186, 111, - ]), - U256::from_bytes_le([ - 197, 35, 54, 206, 239, 115, 226, 219, 144, 106, 215, 243, 132, 120, 141, 197, 126, 101, - 95, 247, 240, 177, 246, 135, 46, 94, 13, 159, 212, 28, 203, 246, - ]), - U256::from_bytes_le([ - 230, 59, 240, 62, 204, 247, 75, 107, 52, 117, 33, 229, 123, 242, 80, 216, 237, 125, 13, - 131, 61, 142, 246, 91, 82, 235, 19, 77, 30, 183, 179, 198, - ]), - U256::from_bytes_le([ - 7, 67, 45, 12, 56, 65, 18, 243, 168, 103, 37, 15, 113, 144, 41, 100, 176, 35, 85, 170, - 80, 160, 151, 105, 33, 218, 217, 100, 129, 83, 187, 250, - ]), - U256::from_bytes_le([ - 0, 205, 153, 34, 127, 105, 239, 41, 120, 224, 185, 49, 8, 42, 178, 12, 173, 221, 107, - 232, 177, 89, 155, 252, 126, 177, 180, 125, 106, 208, 157, 219, - ]), - U256::from_bytes_le([ - 11, 215, 156, 88, 38, 119, 189, 107, 39, 196, 234, 74, 247, 235, 117, 154, 109, 120, - 120, 128, 99, 118, 62, 136, 128, 189, 147, 191, 218, 11, 104, 69, - ]), - U256::from_bytes_le([ - 40, 138, 12, 178, 123, 101, 50, 68, 84, 86, 206, 199, 85, 89, 54, 194, 129, 151, 43, - 59, 195, 221, 117, 238, 6, 41, 58, 190, 249, 85, 90, 16, - ]), - U256::from_bytes_le([ - 49, 72, 211, 231, 87, 198, 171, 225, 123, 238, 49, 181, 213, 17, 240, 135, 33, 141, - 240, 155, 203, 38, 91, 39, 203, 156, 235, 208, 66, 57, 172, 108, - ]), - U256::from_bytes_le([ - 223, 47, 253, 178, 187, 228, 77, 162, 153, 255, 33, 72, 20, 111, 32, 157, 96, 128, 57, - 84, 218, 119, 101, 95, 41, 146, 195, 188, 124, 232, 242, 57, - ]), - U256::from_bytes_le([ - 10, 119, 223, 219, 49, 68, 26, 86, 110, 9, 100, 16, 18, 209, 107, 63, 202, 118, 118, - 36, 125, 75, 42, 94, 68, 5, 54, 187, 165, 233, 99, 33, - ]), - U256::from_bytes_le([ - 218, 176, 27, 94, 22, 198, 227, 107, 93, 165, 211, 210, 70, 38, 33, 209, 153, 61, 15, - 116, 185, 15, 53, 247, 41, 106, 92, 189, 158, 138, 92, 141, - ]), - U256::from_bytes_le([ - 95, 7, 145, 168, 15, 30, 167, 183, 228, 188, 64, 218, 19, 101, 87, 58, 135, 18, 71, - 143, 191, 228, 198, 102, 223, 99, 134, 118, 53, 176, 64, 190, - ]), - U256::from_bytes_le([ - 50, 105, 227, 74, 138, 0, 208, 176, 184, 82, 159, 142, 155, 179, 206, 236, 176, 206, - 170, 5, 252, 68, 218, 121, 99, 153, 166, 189, 76, 102, 83, 11, - ]), - U256::from_bytes_le([ - 50, 248, 204, 139, 224, 237, 240, 93, 189, 6, 240, 67, 165, 70, 129, 220, 252, 225, - 114, 33, 54, 0, 171, 103, 4, 73, 248, 123, 159, 42, 26, 160, - ]), - U256::from_bytes_le([ - 189, 40, 204, 241, 180, 81, 72, 222, 29, 113, 39, 193, 250, 145, 32, 229, 150, 92, 125, - 136, 129, 152, 181, 100, 239, 129, 62, 90, 218, 164, 148, 56, - ]), - U256::from_bytes_le([ - 15, 199, 84, 192, 242, 88, 123, 66, 241, 210, 154, 207, 184, 4, 157, 145, 179, 72, 249, - 83, 242, 136, 245, 12, 141, 45, 232, 107, 191, 213, 64, 107, - ]), - U256::from_bytes_le([ - 141, 219, 201, 82, 203, 112, 180, 15, 171, 49, 120, 246, 8, 211, 132, 200, 234, 140, - 34, 151, 79, 130, 226, 171, 224, 157, 62, 214, 138, 121, 94, 32, - ]), - U256::from_bytes_le([ - 14, 217, 56, 21, 246, 67, 30, 139, 186, 82, 130, 145, 130, 231, 208, 2, 138, 27, 183, - 10, 82, 207, 91, 190, 135, 42, 130, 0, 77, 173, 186, 28, - ]), - U256::from_bytes_le([ - 232, 6, 222, 109, 9, 152, 29, 178, 227, 84, 215, 212, 98, 150, 197, 105, 251, 16, 103, - 60, 166, 129, 208, 83, 169, 208, 153, 11, 89, 99, 52, 180, - ]), - U256::from_bytes_le([ - 58, 122, 60, 91, 52, 36, 243, 183, 207, 24, 20, 2, 95, 98, 181, 172, 19, 187, 46, 144, - 75, 102, 0, 234, 132, 190, 196, 39, 132, 86, 94, 105, - ]), - U256::from_bytes_le([ - 2, 199, 210, 50, 254, 71, 223, 254, 165, 205, 208, 76, 35, 114, 70, 14, 49, 114, 157, - 86, 2, 156, 14, 82, 69, 60, 244, 158, 48, 142, 42, 255, - ]), - U256::from_bytes_le([ - 3, 218, 67, 172, 10, 136, 55, 243, 146, 90, 99, 239, 240, 251, 220, 69, 253, 69, 255, - 178, 60, 249, 148, 233, 157, 214, 233, 125, 123, 53, 42, 81, - ]), - U256::from_bytes_le([ - 164, 56, 26, 71, 203, 121, 128, 232, 216, 158, 63, 99, 78, 77, 158, 196, 118, 196, 115, - 44, 214, 34, 26, 108, 52, 91, 13, 11, 164, 230, 188, 211, - ]), - U256::from_bytes_le([ - 97, 243, 176, 107, 144, 126, 30, 114, 163, 71, 158, 192, 96, 87, 101, 147, 199, 217, - 160, 10, 112, 76, 1, 244, 11, 6, 138, 191, 70, 162, 175, 182, - ]), - U256::from_bytes_le([ - 202, 72, 154, 200, 150, 214, 190, 49, 48, 50, 20, 44, 159, 28, 74, 36, 223, 120, 59, - 92, 107, 102, 72, 202, 98, 217, 40, 136, 73, 86, 28, 167, - ]), - U256::from_bytes_le([ - 198, 53, 36, 45, 231, 3, 22, 47, 46, 36, 30, 73, 250, 216, 172, 203, 61, 25, 190, 95, - 231, 228, 220, 190, 202, 180, 162, 13, 230, 29, 24, 56, - ]), - U256::from_bytes_le([ - 50, 50, 2, 189, 164, 58, 58, 153, 199, 184, 204, 220, 46, 149, 239, 209, 149, 144, 43, - 105, 12, 8, 164, 42, 63, 118, 209, 9, 55, 61, 217, 0, - ]), - U256::from_bytes_le([ - 183, 142, 138, 136, 226, 139, 63, 113, 207, 115, 155, 225, 147, 113, 146, 115, 99, 75, - 11, 225, 56, 13, 124, 160, 0, 11, 24, 251, 145, 128, 148, 113, - ]), - U256::from_bytes_le([ - 115, 188, 56, 97, 102, 124, 223, 247, 39, 205, 226, 1, 84, 39, 144, 0, 7, 232, 18, 222, - 4, 163, 158, 207, 214, 207, 67, 26, 130, 184, 122, 163, - ]), - U256::from_bytes_le([ - 58, 137, 110, 93, 173, 108, 75, 47, 17, 155, 219, 50, 135, 5, 143, 229, 62, 156, 115, - 211, 164, 115, 28, 131, 248, 21, 239, 47, 47, 70, 125, 37, - ]), - U256::from_bytes_le([ - 168, 216, 165, 136, 165, 193, 249, 172, 212, 188, 15, 182, 34, 126, 224, 147, 155, 66, - 104, 186, 37, 143, 105, 65, 254, 172, 234, 109, 17, 178, 242, 148, - ]), - U256::from_bytes_le([ - 7, 21, 158, 21, 36, 194, 44, 113, 44, 31, 220, 29, 240, 143, 177, 202, 25, 143, 161, - 188, 251, 30, 184, 251, 191, 66, 144, 52, 210, 2, 112, 45, - ]), - U256::from_bytes_le([ - 212, 13, 43, 73, 55, 213, 88, 202, 144, 215, 174, 198, 219, 37, 20, 135, 152, 215, 15, - 170, 27, 150, 192, 85, 6, 120, 161, 230, 81, 103, 194, 93, - ]), - U256::from_bytes_le([ - 13, 45, 109, 157, 234, 22, 165, 205, 46, 149, 168, 149, 42, 103, 205, 199, 13, 77, 196, - 250, 230, 199, 138, 38, 248, 206, 62, 52, 192, 66, 178, 223, - ]), - U256::from_bytes_le([ - 203, 13, 64, 95, 44, 143, 248, 175, 175, 5, 27, 223, 201, 218, 68, 47, 208, 13, 142, - 80, 69, 4, 44, 176, 137, 233, 226, 2, 38, 211, 255, 45, - ]), - U256::from_bytes_le([ - 144, 154, 181, 191, 5, 81, 212, 103, 27, 178, 59, 189, 63, 2, 244, 123, 150, 226, 80, - 26, 117, 58, 246, 124, 14, 74, 47, 200, 198, 255, 207, 221, - ]), - U256::from_bytes_le([ - 141, 170, 189, 72, 35, 189, 225, 181, 234, 124, 107, 188, 126, 175, 182, 74, 157, 79, - 237, 94, 81, 15, 118, 197, 178, 217, 131, 97, 31, 177, 100, 57, - ]), - U256::from_bytes_le([ - 35, 116, 144, 37, 83, 229, 157, 99, 3, 1, 98, 24, 145, 150, 232, 203, 170, 86, 203, 74, - 50, 70, 122, 215, 129, 169, 116, 233, 219, 190, 248, 161, - ]), - U256::from_bytes_le([ - 157, 5, 239, 218, 175, 61, 99, 7, 239, 108, 35, 228, 73, 45, 44, 207, 98, 39, 32, 80, - 234, 231, 49, 6, 96, 42, 128, 3, 230, 139, 213, 222, - ]), - U256::from_bytes_le([ - 34, 30, 182, 176, 47, 202, 131, 122, 7, 137, 18, 137, 79, 1, 110, 39, 64, 21, 80, 158, - 28, 11, 83, 24, 45, 16, 219, 246, 57, 220, 149, 28, - ]), - U256::from_bytes_le([ - 113, 190, 8, 144, 185, 41, 31, 198, 176, 244, 236, 23, 74, 48, 136, 60, 144, 111, 116, - 52, 61, 213, 233, 96, 96, 52, 134, 172, 179, 134, 56, 158, - ]), - U256::from_bytes_le([ - 32, 231, 44, 46, 9, 154, 163, 241, 186, 217, 247, 194, 177, 160, 199, 171, 163, 201, - 245, 105, 181, 47, 219, 249, 70, 132, 87, 16, 251, 123, 255, 132, - ]), - U256::from_bytes_le([ - 217, 221, 169, 161, 197, 135, 59, 79, 201, 209, 186, 168, 165, 238, 243, 111, 111, 207, - 59, 16, 253, 87, 250, 233, 9, 8, 179, 117, 252, 151, 5, 118, - ]), - U256::from_bytes_le([ - 29, 151, 213, 129, 52, 95, 230, 145, 158, 147, 1, 80, 255, 165, 29, 151, 16, 208, 123, - 244, 50, 215, 119, 77, 19, 159, 139, 211, 28, 50, 207, 81, - ]), - U256::from_bytes_le([ - 72, 81, 121, 111, 149, 188, 80, 204, 181, 72, 86, 118, 205, 101, 172, 83, 102, 86, 243, - 238, 222, 214, 71, 117, 217, 12, 168, 13, 238, 4, 1, 58, - ]), - U256::from_bytes_le([ - 75, 159, 172, 229, 12, 43, 89, 243, 54, 15, 150, 197, 247, 39, 197, 111, 76, 194, 36, - 77, 203, 220, 120, 4, 124, 215, 178, 225, 250, 58, 58, 103, - ]), - U256::from_bytes_le([ - 233, 207, 83, 76, 70, 53, 79, 135, 232, 76, 163, 79, 16, 96, 105, 119, 34, 231, 52, - 137, 226, 20, 171, 36, 200, 249, 161, 22, 86, 18, 102, 32, - ]), - U256::from_bytes_le([ - 220, 199, 236, 39, 32, 213, 30, 49, 50, 65, 169, 19, 87, 119, 182, 9, 121, 91, 19, 76, - 82, 51, 63, 220, 174, 155, 18, 53, 113, 177, 246, 117, - ]), - U256::from_bytes_le([ - 160, 119, 246, 147, 210, 2, 198, 232, 208, 224, 73, 149, 60, 50, 129, 189, 114, 88, - 139, 195, 224, 102, 199, 138, 111, 131, 65, 75, 231, 196, 20, 12, - ]), - U256::from_bytes_le([ - 123, 149, 197, 188, 163, 22, 178, 141, 225, 83, 7, 85, 243, 13, 119, 126, 104, 242, - 100, 3, 185, 244, 46, 160, 237, 223, 199, 147, 24, 37, 174, 169, - ]), - U256::from_bytes_le([ - 86, 127, 130, 239, 74, 85, 160, 97, 243, 141, 85, 111, 3, 141, 235, 77, 41, 112, 34, - 56, 123, 154, 246, 67, 41, 106, 37, 63, 167, 222, 149, 228, - ]), - U256::from_bytes_le([ - 167, 91, 231, 213, 188, 184, 169, 20, 190, 47, 29, 120, 56, 243, 209, 49, 109, 143, - 137, 53, 219, 234, 8, 211, 140, 213, 65, 21, 184, 159, 201, 124, - ]), - U256::from_bytes_le([ - 250, 182, 41, 116, 149, 2, 38, 250, 234, 169, 24, 165, 167, 31, 54, 78, 78, 41, 167, - 194, 202, 97, 227, 101, 238, 169, 27, 50, 165, 101, 32, 160, - ]), - U256::from_bytes_le([ - 154, 24, 44, 121, 102, 184, 152, 117, 69, 80, 18, 193, 176, 207, 59, 151, 19, 127, 82, - 217, 181, 79, 205, 158, 232, 56, 45, 35, 58, 69, 57, 255, - ]), - U256::from_bytes_le([ - 159, 137, 98, 109, 45, 197, 179, 46, 214, 104, 190, 195, 66, 71, 54, 112, 216, 160, 1, - 112, 239, 142, 90, 238, 126, 146, 1, 187, 190, 144, 76, 12, - ]), - U256::from_bytes_le([ - 57, 91, 172, 162, 85, 31, 84, 230, 8, 112, 187, 50, 25, 172, 48, 58, 129, 83, 137, 136, - 201, 203, 229, 106, 51, 222, 82, 3, 78, 218, 39, 190, - ]), - U256::from_bytes_le([ - 212, 251, 28, 25, 94, 18, 112, 77, 211, 164, 248, 23, 16, 34, 178, 80, 115, 19, 230, - 91, 164, 40, 207, 140, 221, 28, 117, 172, 90, 219, 152, 12, - ]), - U256::from_bytes_le([ - 178, 19, 74, 236, 69, 14, 167, 124, 229, 121, 254, 109, 71, 37, 95, 69, 240, 16, 176, - 58, 34, 243, 41, 47, 158, 179, 57, 242, 104, 215, 207, 34, - ]), - U256::from_bytes_le([ - 18, 2, 56, 201, 102, 112, 142, 221, 99, 134, 108, 124, 189, 137, 91, 133, 171, 180, 41, - 203, 151, 171, 248, 69, 90, 172, 85, 228, 198, 243, 84, 101, - ]), - U256::from_bytes_le([ - 24, 51, 74, 225, 102, 219, 172, 151, 52, 249, 171, 176, 195, 163, 216, 102, 183, 194, - 161, 255, 70, 106, 135, 241, 205, 64, 17, 179, 232, 7, 168, 227, - ]), - U256::from_bytes_le([ - 117, 229, 46, 108, 137, 251, 200, 249, 147, 164, 92, 23, 53, 48, 138, 25, 82, 0, 5, - 231, 139, 251, 106, 130, 137, 218, 29, 229, 162, 232, 37, 176, - ]), - U256::from_bytes_le([ - 111, 170, 85, 3, 240, 24, 148, 56, 130, 73, 62, 159, 157, 35, 166, 23, 123, 9, 44, 17, - 167, 241, 219, 71, 28, 84, 64, 54, 53, 134, 51, 108, - ]), - U256::from_bytes_le([ - 135, 153, 191, 210, 125, 221, 21, 72, 35, 17, 43, 129, 52, 107, 16, 157, 157, 242, 100, - 162, 116, 41, 112, 232, 168, 115, 147, 71, 249, 102, 66, 197, - ]), - U256::from_bytes_le([ - 188, 149, 30, 83, 71, 98, 111, 48, 116, 232, 47, 84, 185, 31, 242, 226, 139, 118, 186, - 170, 194, 209, 143, 124, 223, 114, 58, 76, 193, 150, 249, 204, - ]), - U256::from_bytes_le([ - 113, 49, 236, 13, 26, 33, 161, 131, 156, 49, 118, 82, 29, 43, 88, 121, 221, 205, 213, - 31, 198, 159, 82, 7, 81, 98, 170, 79, 46, 244, 200, 90, - ]), - U256::from_bytes_le([ - 16, 39, 197, 77, 22, 8, 124, 216, 238, 80, 74, 1, 236, 153, 146, 12, 231, 67, 142, 251, - 4, 71, 102, 192, 70, 210, 23, 26, 117, 113, 174, 165, - ]), - U256::from_bytes_le([ - 8, 146, 130, 245, 214, 121, 7, 147, 188, 164, 99, 23, 157, 193, 247, 207, 75, 59, 17, - 109, 244, 169, 220, 167, 142, 230, 66, 23, 110, 136, 196, 25, - ]), - U256::from_bytes_le([ - 189, 137, 82, 251, 39, 179, 131, 242, 180, 14, 114, 192, 166, 210, 137, 99, 10, 16, - 140, 215, 138, 162, 70, 151, 249, 149, 8, 37, 81, 122, 95, 168, - ]), - U256::from_bytes_le([ - 186, 102, 52, 112, 113, 70, 117, 218, 13, 181, 213, 85, 128, 2, 88, 2, 202, 153, 99, - 179, 154, 29, 188, 198, 115, 255, 76, 55, 12, 234, 242, 132, - ]), - U256::from_bytes_le([ - 194, 121, 79, 233, 11, 92, 245, 137, 227, 253, 5, 14, 87, 182, 76, 204, 128, 113, 155, - 32, 144, 201, 219, 232, 68, 52, 119, 213, 50, 182, 146, 206, - ]), - U256::from_bytes_le([ - 67, 35, 109, 102, 187, 71, 20, 91, 224, 28, 107, 196, 75, 67, 86, 146, 110, 189, 30, - 179, 125, 6, 179, 118, 147, 66, 232, 119, 201, 60, 72, 186, - ]), - U256::from_bytes_le([ - 168, 200, 76, 163, 217, 114, 9, 180, 57, 170, 155, 112, 25, 87, 173, 145, 76, 99, 250, - 168, 28, 246, 9, 112, 36, 156, 247, 206, 63, 192, 185, 75, - ]), - U256::from_bytes_le([ - 101, 133, 12, 126, 47, 142, 134, 91, 145, 244, 87, 73, 71, 46, 52, 237, 11, 228, 208, - 81, 167, 77, 71, 15, 24, 253, 180, 176, 234, 162, 36, 201, - ]), - U256::from_bytes_le([ - 253, 185, 68, 42, 7, 96, 235, 84, 252, 136, 220, 183, 102, 59, 168, 95, 61, 180, 212, - 43, 248, 42, 194, 46, 253, 164, 201, 101, 218, 92, 138, 96, - ]), - U256::from_bytes_le([ - 50, 142, 162, 235, 65, 133, 21, 209, 194, 238, 185, 198, 9, 72, 215, 20, 12, 252, 75, - 184, 232, 195, 89, 148, 52, 126, 188, 162, 205, 94, 91, 74, - ]), - U256::from_bytes_le([ - 209, 247, 22, 92, 173, 68, 137, 78, 75, 163, 5, 75, 182, 173, 197, 162, 175, 219, 131, - 63, 218, 85, 24, 10, 58, 104, 1, 153, 61, 171, 109, 41, - ]), - U256::from_bytes_le([ - 16, 105, 33, 47, 235, 208, 167, 214, 254, 51, 223, 150, 167, 155, 218, 12, 33, 121, - 109, 75, 131, 193, 92, 102, 22, 242, 122, 174, 199, 104, 137, 130, - ]), - U256::from_bytes_le([ - 251, 138, 16, 116, 28, 168, 128, 80, 119, 90, 23, 57, 3, 227, 119, 218, 38, 154, 0, - 225, 133, 242, 64, 153, 10, 42, 147, 205, 215, 105, 103, 234, - ]), - U256::from_bytes_le([ - 117, 164, 241, 204, 120, 230, 159, 245, 242, 72, 227, 169, 31, 61, 240, 83, 5, 27, 19, - 58, 179, 43, 197, 148, 59, 188, 191, 35, 242, 169, 68, 70, - ]), - U256::from_bytes_le([ - 192, 228, 211, 153, 179, 122, 75, 22, 131, 69, 129, 145, 92, 46, 86, 95, 62, 254, 110, - 101, 94, 252, 21, 94, 1, 91, 134, 196, 223, 225, 22, 203, - ]), - U256::from_bytes_le([ - 123, 108, 129, 2, 109, 66, 34, 222, 41, 70, 7, 96, 105, 190, 206, 165, 161, 180, 186, - 55, 190, 232, 160, 208, 244, 221, 11, 92, 27, 14, 152, 135, - ]), - U256::from_bytes_le([ - 128, 142, 110, 160, 7, 117, 124, 54, 255, 156, 65, 96, 15, 52, 234, 95, 138, 219, 206, - 4, 54, 43, 169, 206, 81, 0, 240, 182, 242, 123, 198, 215, - ]), - U256::from_bytes_le([ - 58, 67, 91, 26, 103, 240, 48, 81, 182, 207, 29, 2, 230, 88, 69, 112, 107, 41, 193, 165, - 18, 81, 130, 106, 4, 237, 224, 215, 40, 249, 23, 92, - ]), - U256::from_bytes_le([ - 88, 166, 194, 86, 164, 164, 247, 160, 215, 59, 19, 133, 50, 122, 202, 128, 17, 248, - 168, 234, 199, 67, 154, 162, 5, 170, 239, 96, 6, 105, 59, 178, - ]), - U256::from_bytes_le([ - 52, 100, 157, 137, 162, 115, 86, 230, 235, 106, 166, 235, 143, 5, 203, 178, 245, 59, - 129, 78, 20, 77, 126, 245, 243, 214, 37, 212, 34, 49, 120, 151, - ]), - U256::from_bytes_le([ - 247, 12, 214, 36, 242, 96, 130, 152, 132, 22, 1, 163, 206, 30, 170, 173, 217, 194, 24, - 249, 186, 101, 170, 190, 98, 124, 218, 32, 55, 31, 28, 74, - ]), - U256::from_bytes_le([ - 186, 188, 221, 30, 3, 150, 23, 100, 77, 109, 144, 72, 153, 229, 83, 153, 83, 74, 4, - 152, 188, 125, 242, 12, 81, 200, 206, 40, 252, 133, 65, 201, - ]), - U256::from_bytes_le([ - 60, 108, 250, 154, 33, 79, 96, 200, 168, 194, 35, 38, 44, 45, 164, 24, 163, 129, 213, - 175, 232, 71, 148, 18, 144, 96, 66, 44, 243, 129, 220, 113, - ]), - U256::from_bytes_le([ - 53, 224, 61, 74, 79, 234, 31, 231, 150, 68, 163, 146, 30, 25, 2, 97, 98, 203, 213, 231, - 204, 134, 18, 244, 217, 138, 19, 130, 210, 52, 97, 150, - ]), - U256::from_bytes_le([ - 127, 185, 19, 65, 197, 183, 194, 104, 82, 83, 7, 144, 70, 163, 78, 241, 68, 179, 128, - 214, 192, 134, 207, 29, 102, 184, 136, 105, 31, 139, 249, 237, - ]), - U256::from_bytes_le([ - 139, 106, 159, 226, 125, 151, 108, 64, 82, 187, 52, 52, 11, 122, 208, 139, 47, 228, 10, - 22, 180, 96, 55, 189, 235, 219, 91, 92, 27, 10, 80, 160, - ]), - U256::from_bytes_le([ - 171, 159, 186, 174, 31, 242, 198, 76, 225, 26, 147, 156, 39, 1, 29, 194, 27, 106, 13, - 94, 213, 213, 134, 36, 68, 28, 215, 103, 142, 227, 252, 14, - ]), - U256::from_bytes_le([ - 9, 11, 237, 220, 198, 121, 139, 157, 182, 63, 253, 197, 187, 100, 116, 221, 217, 64, - 165, 3, 108, 250, 229, 192, 145, 235, 175, 197, 32, 151, 10, 112, - ]), - U256::from_bytes_le([ - 230, 66, 96, 85, 177, 13, 230, 251, 111, 95, 42, 156, 95, 83, 210, 129, 234, 72, 2, 67, - 50, 15, 117, 12, 102, 22, 58, 200, 41, 79, 232, 209, - ]), - U256::from_bytes_le([ - 194, 204, 232, 199, 246, 153, 220, 24, 10, 210, 91, 80, 65, 65, 29, 55, 164, 69, 42, - 55, 92, 214, 197, 24, 197, 66, 222, 47, 155, 130, 100, 174, - ]), - U256::from_bytes_le([ - 47, 255, 146, 57, 253, 188, 128, 56, 118, 196, 239, 29, 205, 231, 105, 205, 159, 49, - 60, 25, 98, 4, 88, 217, 255, 200, 61, 89, 250, 181, 245, 17, - ]), - U256::from_bytes_le([ - 76, 238, 163, 45, 196, 8, 103, 133, 231, 129, 189, 214, 57, 7, 23, 35, 210, 111, 77, - 69, 119, 52, 171, 133, 21, 127, 170, 252, 12, 165, 110, 95, - ]), - U256::from_bytes_le([ - 95, 140, 73, 76, 43, 39, 138, 250, 217, 41, 223, 49, 229, 24, 252, 200, 6, 229, 130, - 205, 39, 223, 181, 185, 229, 137, 59, 210, 47, 18, 142, 120, - ]), - U256::from_bytes_le([ - 42, 88, 10, 106, 149, 123, 162, 220, 234, 163, 122, 114, 143, 153, 88, 199, 159, 246, - 10, 2, 76, 215, 66, 48, 34, 110, 124, 120, 90, 56, 115, 193, - ]), - U256::from_bytes_le([ - 25, 87, 27, 25, 52, 115, 232, 104, 153, 46, 56, 241, 178, 91, 156, 197, 42, 49, 195, - 88, 79, 200, 119, 39, 79, 55, 182, 247, 64, 32, 214, 155, - ]), - U256::from_bytes_le([ - 166, 246, 110, 133, 238, 103, 51, 226, 126, 142, 6, 120, 57, 155, 44, 181, 178, 143, - 164, 97, 98, 63, 120, 128, 124, 245, 147, 238, 12, 22, 2, 214, - ]), - U256::from_bytes_le([ - 224, 97, 0, 113, 183, 234, 55, 81, 206, 49, 46, 251, 18, 203, 121, 11, 86, 86, 153, - 240, 241, 173, 66, 45, 106, 142, 65, 62, 97, 204, 62, 35, - ]), - U256::from_bytes_le([ - 228, 198, 101, 62, 126, 116, 8, 47, 111, 156, 6, 80, 129, 171, 119, 128, 72, 165, 35, - 151, 192, 18, 251, 28, 194, 69, 43, 150, 223, 89, 26, 222, - ]), - U256::from_bytes_le([ - 220, 4, 78, 135, 132, 122, 109, 190, 151, 231, 235, 254, 84, 21, 167, 23, 135, 131, - 208, 14, 35, 16, 39, 104, 86, 203, 242, 156, 92, 234, 105, 131, - ]), - U256::from_bytes_le([ - 253, 134, 43, 112, 23, 70, 62, 213, 218, 46, 116, 24, 212, 126, 44, 219, 40, 249, 197, - 53, 124, 91, 242, 130, 144, 197, 77, 223, 172, 116, 179, 196, - ]), - U256::from_bytes_le([ - 243, 105, 18, 47, 203, 235, 57, 134, 45, 66, 8, 35, 149, 4, 43, 191, 119, 175, 23, 62, - 174, 54, 157, 38, 8, 48, 123, 248, 199, 204, 49, 192, - ]), - U256::from_bytes_le([ - 68, 27, 229, 96, 218, 121, 40, 208, 242, 215, 106, 98, 160, 163, 33, 96, 64, 183, 40, - 166, 149, 112, 31, 73, 33, 226, 205, 161, 107, 170, 172, 200, - ]), - U256::from_bytes_le([ - 105, 13, 6, 160, 215, 192, 247, 224, 79, 104, 197, 100, 85, 230, 19, 159, 232, 248, 6, - 43, 150, 59, 207, 223, 164, 75, 225, 146, 33, 9, 33, 192, - ]), - U256::from_bytes_le([ - 16, 62, 178, 200, 29, 35, 164, 80, 194, 229, 81, 122, 191, 202, 230, 134, 80, 162, 48, - 248, 69, 225, 67, 56, 188, 69, 85, 28, 157, 126, 192, 100, - ]), - U256::from_bytes_le([ - 93, 143, 237, 105, 74, 141, 79, 237, 93, 89, 198, 35, 23, 225, 222, 186, 172, 223, 89, - 31, 88, 16, 39, 105, 172, 233, 63, 238, 225, 88, 174, 181, - ]), - U256::from_bytes_le([ - 249, 79, 8, 5, 124, 216, 154, 160, 157, 52, 14, 123, 77, 136, 172, 193, 231, 8, 20, 91, - 237, 153, 88, 109, 44, 224, 80, 254, 11, 10, 176, 173, - ]), - U256::from_bytes_le([ - 132, 211, 241, 209, 181, 190, 32, 205, 244, 188, 231, 111, 24, 18, 57, 145, 236, 19, - 155, 195, 235, 136, 180, 153, 120, 220, 148, 62, 37, 121, 161, 33, - ]), - U256::from_bytes_le([ - 37, 155, 247, 180, 231, 202, 57, 92, 135, 185, 58, 187, 180, 212, 114, 94, 64, 62, 130, - 39, 66, 52, 242, 240, 230, 229, 252, 164, 129, 225, 131, 33, - ]), - U256::from_bytes_le([ - 33, 213, 127, 81, 47, 122, 50, 155, 110, 41, 169, 140, 239, 155, 159, 26, 82, 117, 40, - 32, 241, 55, 229, 145, 250, 84, 183, 79, 125, 253, 93, 64, - ]), - U256::from_bytes_le([ - 184, 6, 135, 120, 86, 182, 228, 35, 198, 139, 52, 149, 98, 49, 148, 139, 69, 173, 92, - 247, 252, 34, 8, 174, 99, 195, 114, 17, 105, 111, 151, 164, - ]), - U256::from_bytes_le([ - 153, 103, 119, 184, 21, 0, 40, 144, 49, 226, 136, 172, 238, 172, 192, 155, 215, 98, - 253, 145, 99, 236, 133, 43, 160, 99, 17, 167, 101, 165, 131, 246, - ]), - U256::from_bytes_le([ - 35, 82, 69, 163, 219, 79, 149, 67, 57, 242, 50, 127, 6, 105, 32, 191, 255, 182, 228, - 55, 24, 244, 168, 209, 173, 175, 169, 152, 187, 76, 199, 239, - ]), - U256::from_bytes_le([ - 46, 39, 73, 50, 86, 3, 202, 39, 43, 208, 202, 251, 65, 247, 10, 183, 135, 96, 203, 205, - 86, 89, 103, 140, 37, 54, 108, 75, 81, 76, 136, 60, - ]), - U256::from_bytes_le([ - 135, 144, 32, 245, 208, 218, 117, 199, 101, 63, 255, 194, 37, 217, 95, 118, 3, 206, - 165, 202, 214, 244, 93, 71, 159, 207, 48, 253, 237, 225, 65, 83, - ]), - U256::from_bytes_le([ - 36, 2, 105, 159, 57, 127, 58, 172, 95, 161, 70, 100, 0, 146, 232, 166, 85, 2, 218, 69, - 236, 88, 140, 41, 115, 235, 9, 114, 239, 136, 104, 174, - ]), - U256::from_bytes_le([ - 42, 107, 187, 0, 175, 76, 203, 94, 119, 174, 26, 209, 115, 75, 72, 15, 233, 170, 123, - 210, 153, 105, 209, 24, 21, 17, 116, 88, 216, 122, 165, 222, - ]), - U256::from_bytes_le([ - 88, 73, 237, 161, 154, 50, 157, 0, 154, 204, 54, 83, 219, 137, 69, 156, 217, 14, 127, - 58, 26, 69, 73, 134, 85, 65, 154, 81, 6, 124, 141, 60, - ]), - U256::from_bytes_le([ - 122, 105, 198, 46, 45, 66, 114, 92, 43, 156, 4, 55, 34, 250, 209, 228, 248, 214, 195, - 255, 2, 152, 30, 31, 110, 27, 5, 173, 125, 15, 61, 22, - ]), - U256::from_bytes_le([ - 114, 89, 135, 148, 91, 209, 122, 199, 43, 135, 121, 104, 20, 254, 17, 53, 185, 83, 157, - 227, 245, 5, 156, 239, 34, 85, 192, 32, 43, 119, 123, 136, - ]), - U256::from_bytes_le([ - 96, 225, 229, 224, 88, 17, 85, 11, 159, 227, 128, 19, 54, 137, 3, 189, 68, 6, 43, 183, - 208, 121, 244, 207, 219, 87, 151, 104, 100, 72, 233, 166, - ]), - U256::from_bytes_le([ - 184, 121, 169, 94, 128, 186, 146, 198, 56, 51, 39, 162, 162, 70, 28, 96, 233, 121, 252, - 231, 102, 36, 97, 19, 22, 21, 163, 99, 64, 237, 66, 180, - ]), - U256::from_bytes_le([ - 141, 214, 184, 187, 137, 247, 236, 127, 26, 215, 222, 230, 244, 62, 82, 7, 7, 182, 254, - 159, 23, 190, 59, 222, 212, 9, 128, 185, 116, 149, 234, 228, - ]), - U256::from_bytes_le([ - 166, 53, 46, 198, 125, 250, 248, 179, 168, 17, 37, 102, 46, 219, 114, 3, 65, 253, 43, - 27, 70, 168, 192, 148, 158, 31, 202, 142, 8, 124, 191, 140, - ]), - U256::from_bytes_le([ - 151, 232, 52, 255, 184, 71, 50, 255, 140, 216, 71, 14, 30, 180, 78, 89, 98, 79, 84, 69, - 107, 216, 27, 8, 254, 251, 59, 69, 112, 236, 71, 63, - ]), - U256::from_bytes_le([ - 227, 116, 251, 209, 37, 108, 67, 64, 3, 37, 194, 134, 216, 150, 26, 173, 26, 46, 192, - 180, 74, 61, 42, 111, 170, 201, 110, 255, 255, 224, 238, 216, - ]), - U256::from_bytes_le([ - 210, 236, 226, 30, 225, 225, 174, 30, 66, 7, 139, 121, 239, 52, 174, 135, 173, 247, - 205, 168, 251, 71, 239, 106, 13, 134, 26, 244, 50, 169, 44, 8, - ]), - U256::from_bytes_le([ - 180, 222, 177, 31, 116, 105, 255, 130, 110, 247, 111, 87, 38, 186, 34, 89, 60, 48, 221, - 181, 82, 112, 187, 104, 123, 208, 180, 139, 233, 76, 216, 48, - ]), - U256::from_bytes_le([ - 5, 243, 223, 239, 123, 20, 171, 85, 215, 153, 96, 37, 117, 149, 163, 182, 30, 95, 60, - 74, 103, 127, 186, 7, 234, 102, 18, 72, 118, 176, 74, 133, - ]), - U256::from_bytes_le([ - 32, 0, 186, 167, 165, 46, 61, 48, 128, 136, 214, 90, 199, 227, 141, 215, 41, 136, 186, - 44, 173, 150, 45, 200, 29, 38, 101, 130, 136, 174, 201, 181, - ]), - U256::from_bytes_le([ - 72, 150, 117, 125, 74, 66, 72, 89, 182, 96, 207, 222, 11, 32, 200, 128, 96, 112, 140, - 12, 32, 146, 115, 127, 172, 181, 192, 116, 192, 179, 83, 184, - ]), - U256::from_bytes_le([ - 75, 105, 228, 174, 155, 155, 206, 150, 83, 72, 103, 252, 176, 203, 188, 124, 84, 171, - 103, 14, 187, 76, 23, 168, 45, 229, 247, 194, 208, 181, 62, 93, - ]), - U256::from_bytes_le([ - 71, 195, 178, 35, 158, 235, 9, 232, 212, 227, 30, 215, 143, 107, 56, 232, 65, 34, 52, - 173, 208, 105, 144, 52, 65, 159, 10, 45, 77, 69, 185, 231, - ]), - U256::from_bytes_le([ - 63, 159, 234, 36, 48, 117, 80, 152, 47, 22, 43, 210, 182, 199, 49, 121, 153, 156, 88, - 63, 105, 21, 47, 249, 135, 116, 98, 6, 249, 234, 225, 244, - ]), - U256::from_bytes_le([ - 204, 209, 193, 75, 116, 187, 252, 87, 86, 92, 100, 49, 157, 174, 41, 230, 250, 173, - 175, 175, 197, 51, 78, 194, 25, 168, 154, 127, 137, 244, 217, 109, - ]), - U256::from_bytes_le([ - 92, 139, 171, 90, 217, 67, 165, 27, 246, 132, 123, 164, 145, 112, 168, 198, 16, 79, - 103, 172, 167, 163, 55, 117, 211, 123, 44, 8, 44, 58, 148, 55, - ]), - U256::from_bytes_le([ - 2, 240, 211, 240, 144, 87, 33, 185, 213, 180, 4, 247, 59, 28, 87, 17, 188, 177, 17, 62, - 63, 49, 47, 197, 106, 33, 125, 77, 167, 176, 234, 32, - ]), - U256::from_bytes_le([ - 78, 129, 67, 130, 202, 255, 241, 148, 92, 2, 242, 72, 232, 28, 33, 223, 1, 93, 183, 44, - 58, 165, 24, 186, 191, 82, 132, 41, 211, 156, 177, 109, - ]), - U256::from_bytes_le([ - 6, 4, 251, 38, 36, 118, 145, 161, 13, 130, 70, 163, 193, 211, 80, 153, 32, 119, 28, 93, - 137, 41, 188, 88, 235, 37, 228, 29, 156, 219, 24, 202, - ]), - U256::from_bytes_le([ - 144, 191, 94, 132, 78, 184, 61, 28, 121, 0, 182, 108, 76, 6, 254, 133, 43, 74, 230, - 124, 137, 144, 209, 110, 64, 189, 228, 242, 139, 53, 255, 158, - ]), - U256::from_bytes_le([ - 42, 18, 234, 10, 238, 253, 70, 76, 144, 218, 225, 203, 8, 133, 35, 205, 26, 106, 206, - 5, 20, 20, 4, 99, 111, 211, 85, 17, 182, 213, 233, 92, - ]), - U256::from_bytes_le([ - 151, 233, 155, 59, 158, 244, 71, 88, 126, 230, 120, 155, 105, 5, 143, 10, 85, 200, 140, - 97, 211, 221, 91, 216, 228, 211, 165, 45, 146, 246, 3, 209, - ]), - U256::from_bytes_le([ - 47, 21, 80, 244, 36, 160, 216, 148, 241, 207, 167, 133, 77, 170, 173, 134, 247, 32, - 210, 241, 20, 42, 127, 251, 112, 30, 11, 54, 65, 237, 163, 162, - ]), - U256::from_bytes_le([ - 162, 144, 74, 176, 13, 146, 192, 98, 98, 166, 11, 226, 187, 176, 251, 217, 7, 17, 23, - 196, 48, 62, 106, 126, 66, 225, 198, 121, 108, 154, 65, 205, - ]), - U256::from_bytes_le([ - 90, 71, 50, 210, 136, 158, 160, 197, 173, 195, 183, 16, 68, 156, 60, 162, 242, 82, 230, - 160, 108, 50, 29, 169, 29, 178, 127, 185, 38, 234, 143, 220, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_512_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("88320d2bead34a47f2ef4e1e8e415b42bcb9955ad04e06ff309d49681c2628f2"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_8_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_8_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("c78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_512_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_512_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("8f711e9197bcd96314b8d20425eac7dce4aee7c9a0579e901d636d3256db3672"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_8_random() { - let mut value = - Vector::::try_from(Vec::::from_iter([76, 46, 93, 58, 7, 249, 127, 33])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_8_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("4c2e5d3a07f97f21000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_512_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_512_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("d3313908d702519e871c34a2b5f7d84108966149289a16d7795ef15ebaa42b25"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_4_random() { - let mut value = Vector::::try_from(Vec::::from_iter([50, 181, 121, 8])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_4_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("32b5790800000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_512_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_512_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("87eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_5_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 179, 22, 196, 129, 77, 158, 184, 168, 7, 100, 123, 93, 196, 11, 104, 117, 250, 160, - 128, 244, 88, 117, 73, 178, 87, 111, 186, 153, 1, 54, 206, 160, - ]), - U256::from_bytes_le([ - 153, 100, 207, 157, 51, 141, 54, 134, 26, 34, 226, 19, 133, 32, 118, 48, 113, 230, 32, - 79, 111, 236, 253, 237, 225, 220, 67, 124, 134, 148, 211, 239, - ]), - U256::from_bytes_le([ - 108, 160, 164, 78, 114, 212, 79, 190, 253, 129, 70, 169, 115, 42, 5, 49, 75, 4, 111, - 19, 46, 85, 119, 82, 177, 187, 196, 49, 87, 80, 31, 189, - ]), - U256::from_bytes_le([ - 131, 209, 237, 58, 84, 125, 195, 202, 209, 12, 173, 34, 238, 25, 1, 95, 203, 67, 9, - 235, 139, 149, 129, 43, 230, 200, 50, 241, 181, 61, 97, 136, - ]), - U256::from_bytes_le([ - 60, 169, 38, 245, 186, 228, 193, 208, 131, 226, 128, 133, 125, 253, 167, 1, 52, 50, 64, - 86, 59, 104, 210, 200, 254, 145, 245, 192, 67, 234, 155, 68, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_5_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("2080573f384b29b3453b8cc44a967325a2e9ad22cb1b3f1d81554bb11479c2bc"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_1_max() { - let mut value = Vector::::try_from(Vec::::from_iter([U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ])])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_1_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_513_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_513_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("193411b011bc1acbf600803324bc5dc359acef14c1be285ef7565186c0ea9b10"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_513_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - 18446744073709551615, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_513_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("76e07c25312b02171801bc5bfa77a4c4f65ca1a93464d9812362009307ecfb55"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint32_1_random() { - let mut value = Vector::::try_from(Vec::::from_iter([1797257601])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_1_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("81f91f6b00000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_4_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_4_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_4_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_4_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_3_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 220301989141709271334326095341414922102, - 210235080945710533958926333282570767995, - 38717160196772117737433576948282568669, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_3_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5376f444f73d42d4319e96d18c1d78ffab3f12464280dee8cf1df519ff50d628"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_3_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_3_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("4a6ba660d16b4dde152d00ba82cdde34827411f341c56b102e7962410924ad36"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_31_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_31_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint16_3_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint16_3_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint8_513_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 43, 14, 152, 176, 220, 9, 200, 233, 44, 111, 40, 178, 171, 180, 198, 181, 48, 15, 66, 68, - 230, 183, 64, 49, 31, 136, 81, 16, 173, 252, 42, 222, 184, 9, 215, 161, 98, 84, 117, 216, - 87, 221, 255, 71, 194, 243, 197, 156, 141, 132, 73, 183, 67, 133, 159, 127, 151, 85, 79, - 233, 29, 133, 214, 188, 25, 178, 4, 19, 101, 156, 97, 243, 198, 144, 161, 196, 212, 139, - 228, 28, 171, 131, 99, 161, 48, 206, 186, 186, 218, 151, 199, 209, 144, 131, 86, 232, 183, - 102, 93, 31, 193, 232, 67, 121, 192, 155, 190, 210, 130, 114, 167, 226, 160, 63, 84, 128, - 90, 207, 230, 133, 141, 230, 46, 84, 233, 251, 24, 29, 154, 108, 194, 67, 210, 36, 96, 78, - 148, 190, 149, 92, 223, 240, 26, 123, 244, 200, 49, 81, 27, 58, 49, 75, 66, 63, 241, 189, - 53, 10, 41, 105, 69, 160, 193, 131, 216, 150, 184, 229, 117, 32, 160, 24, 104, 153, 205, - 191, 252, 156, 131, 85, 94, 162, 10, 20, 175, 168, 184, 232, 62, 223, 41, 150, 213, 54, - 165, 69, 201, 137, 246, 21, 192, 3, 208, 14, 113, 32, 32, 190, 186, 250, 20, 30, 0, 9, 112, - 61, 197, 142, 118, 130, 152, 32, 38, 149, 170, 175, 217, 243, 19, 233, 213, 166, 108, 106, - 102, 139, 6, 210, 15, 239, 3, 139, 221, 7, 27, 208, 216, 85, 45, 228, 120, 19, 116, 48, - 134, 4, 107, 204, 196, 13, 96, 73, 49, 173, 52, 41, 47, 59, 231, 16, 103, 206, 203, 102, - 168, 172, 29, 31, 214, 209, 227, 114, 227, 231, 185, 167, 146, 249, 56, 137, 251, 184, 239, - 166, 53, 74, 94, 54, 140, 210, 149, 233, 137, 139, 45, 23, 244, 165, 227, 51, 28, 126, 16, - 106, 46, 49, 204, 203, 187, 169, 48, 139, 100, 71, 178, 186, 142, 247, 20, 238, 21, 217, - 13, 100, 56, 152, 92, 135, 219, 81, 149, 252, 35, 39, 100, 175, 233, 49, 236, 57, 250, 254, - 200, 144, 149, 37, 214, 114, 17, 157, 77, 254, 132, 255, 166, 123, 126, 228, 52, 204, 60, - 42, 103, 31, 198, 155, 125, 203, 94, 97, 99, 69, 126, 63, 7, 154, 141, 105, 66, 31, 151, - 199, 161, 230, 121, 86, 74, 222, 252, 68, 162, 86, 70, 252, 231, 169, 176, 89, 116, 107, - 57, 132, 184, 246, 145, 106, 200, 41, 185, 202, 203, 199, 115, 98, 183, 130, 84, 69, 70, - 222, 128, 233, 139, 223, 126, 201, 200, 40, 35, 160, 157, 27, 23, 48, 11, 34, 247, 132, - 117, 131, 95, 49, 39, 56, 174, 15, 187, 155, 71, 238, 228, 50, 217, 225, 56, 244, 84, 228, - 71, 179, 11, 105, 120, 12, 65, 177, 182, 83, 0, 120, 23, 76, 109, 41, 159, 173, 200, 184, - 33, 131, 140, 182, 199, 67, 42, 16, 125, 127, 18, 77, 49, 218, 239, 181, 171, 203, 25, 223, - 154, 160, 91, 41, 183, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint8_513_random/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("fd0fdfd0c2ccb9a01421e330f2054910070c6b53353a8ddefad470286f00c6f0"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_bool_16_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_bool_16_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0101010101010101010101010101010100000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint256_2_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]), - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint256_2_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("8667e718294e9e0df1d30600ba3eeb201f764aad2dad72748643e4a285e1d1f7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint128_31_max() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - 340282366920938463463374607431768211455, - ])) - .unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_31_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("661455692304dacd704fda4ac469deedd8783f5353c7120b35ceab4309536e81"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_basic_vector_vec_uint64_513_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 977103724348450572, - 16638432304304789571, - 12981575418293692183, - 17859366747050231130, - 1662188454432232370, - 12352759710061780267, - 3234183931608500270, - 12266557138542509930, - 18199525626158707669, - 5038972670114315769, - 240056978730606423, - 2299934165864924530, - 12922065155132691865, - 18441095095944811941, - 10547737433159558699, - 3164040834623204831, - 8252904268285025382, - 11157110078015893423, - 14697827361463508405, - 2962665335592765897, - 1074194440157433128, - 10073361041261425891, - 7896847460035987796, - 1010194339988494562, - 10364684437029658170, - 15960287444316904761, - 1570304858216343206, - 12985069376921160054, - 10916134868048390423, - 17069946255720410243, - 4869242683969811141, - 2129015309923850593, - 10476304318490304096, - 13339042352261771329, - 5941049901647385193, - 9942080628048200013, - 6345441787934907564, - 8819300459248380270, - 1252881971507668822, - 15855629560153214387, - 14880830346892594844, - 1604107670465918491, - 5862926247889560120, - 8834826465942384487, - 15431618807287173213, - 4626830461960455797, - 17948599707814642865, - 6052719615078921178, - 14941482303404072695, - 8532564245082819179, - 3629561283757400391, - 8070439397851215541, - 2397438750926008647, - 4520474401805166454, - 9068468324028717470, - 12949472848189146366, - 7353773373764974969, - 115413469786052923, - 9272589064902772418, - 1596199742278885123, - 1657968880462860703, - 11305867595369271879, - 2026428676385444947, - 722155380768152563, - 17926384892494548427, - 17411947881045756476, - 18171495979452969890, - 10271912908915521427, - 18444072933594399825, - 16254972903105040221, - 16630667709769063357, - 2116026815894303745, - 4454480130719606956, - 6185770977174465258, - 6461058098288351768, - 2407546369850650362, - 1736253749300089891, - 8326379031142126451, - 15245139458704920030, - 7800865543378848579, - 13250382195738629619, - 14706068740585648306, - 3850128657021269084, - 12450415049153406078, - 15183617305060454899, - 6080880139738469099, - 17142733175562698278, - 14813917226429878668, - 6350636848342992140, - 1292272255182616335, - 2951801177775582325, - 14929861678113850638, - 15303809795567306110, - 13429354516284496764, - 10468402811529773529, - 16517481984463469354, - 2600473578641855538, - 1172476548310435807, - 17153780428535628975, - 10876715679105180607, - 16230772551522009395, - 8981785852487886878, - 5606395164467263395, - 6439970286716300739, - 9613025542977167084, - 16643379267038893448, - 10461597085246760395, - 361898406582954478, - 13656085897097645900, - 12142103879289021746, - 11902174243844765091, - 1076884863364074785, - 13395343138273787165, - 4685197415037034828, - 4624403585813928935, - 14688164166482407520, - 5009148445009422684, - 10426995946049637526, - 17067659258237820077, - 16151196628372992833, - 16020756694471742510, - 16740341963836231169, - 957815390429969771, - 307380283991785680, - 17932005890976886049, - 4028332519112066145, - 4249494472044475262, - 8332863645066922792, - 8936342202372523962, - 1242708572808694348, - 17098362380836494452, - 1543788437703937461, - 7628293118361326122, - 15951591927402662895, - 4769943789829437756, - 3784493926891439957, - 11578978942430627002, - 9820097252214369557, - 8497943326456914922, - 7128030052475419650, - 13640155228270433438, - 17294254210312748542, - 1832312825995144470, - 16757292153262371961, - 1345969373415803643, - 5613875569429700617, - 15991574966279976095, - 12416500008980030839, - 3474778905885400974, - 14867920376097183102, - 10746928886674173074, - 10823804150798926770, - 10046429162186511432, - 11646991899814770941, - 3514522824795561720, - 7404260138859596894, - 14087090359193136834, - 11596826265225316278, - 10247673722282781753, - 4583832196746093885, - 7959694153170389028, - 15795016839667219313, - 17981803593641625078, - 18070641334068719064, - 4311609789340170678, - 2416446175340911328, - 18294510219067021080, - 2563518867903100564, - 12116293250618016997, - 15001919653874834954, - 8670797458928043964, - 14658334131481750297, - 3032226661314458659, - 3575308331709676815, - 17194522325603676865, - 12812753547866815303, - 1464259543470389484, - 8538898544879404648, - 17741557292068894607, - 14100540531974802206, - 15162561447461089425, - 8408299487882720227, - 9757114783876767806, - 10822680141219423323, - 6210502447799521273, - 16873406633514314324, - 10492750123568636676, - 4996088035508255892, - 15733011781169482494, - 3153702619890365756, - 12214074507108402521, - 8191953044963906350, - 849479552785829818, - 7973602689523079172, - 18223031247497777078, - 14707408569419421818, - 7590245971377371921, - 8386046059632801067, - 16591942872509859227, - 8932989759840508647, - 17251041534594728489, - 12752242752429514898, - 18312462689682074020, - 14849438105100578428, - 16531378619225387711, - 1049785817727824518, - 3438403429400108241, - 13622440129624493177, - 7294142514636142063, - 1050694307207084724, - 17325982763132519005, - 11066261219747154337, - 424964219897196415, - 10358465959164754750, - 16191343281145831123, - 14706859925053900711, - 9478076136206631038, - 10082121966792968232, - 7176331980659839893, - 6038551199436888163, - 6371204431702843692, - 537491328086380327, - 16600166063353322009, - 12864254759985040499, - 3002736687134609946, - 5288999767166849061, - 2332742758978117360, - 6171323241928474, - 7733075660885415939, - 2715096982413586706, - 16450244688735888882, - 12766080316604434908, - 14044177173031951324, - 1234750501368857859, - 6550455764232392489, - 5733753751399645241, - 16130569834633669506, - 4828186682330495528, - 11603964233003828709, - 6713001560240990145, - 14153300493346514016, - 9757862045754467156, - 14740760692203577561, - 6449251713716628687, - 7608429398130067000, - 5779499436536925057, - 8715043935646495998, - 16743941371017494056, - 3682930293052520590, - 3386541564944628427, - 8186901106527813310, - 12735231512082683134, - 11837887129224817067, - 6076782378255021260, - 13849184223622479739, - 9513926526814577025, - 15078142390208687667, - 5670138880896722148, - 2193840338817769788, - 9888762987601666526, - 6332746795305001355, - 6744409690485399655, - 11828170087867954940, - 9134569966268024468, - 15631517117588702918, - 1010311973990396199, - 9062597867739511222, - 10320051759361653705, - 18323714258898391913, - 11079524985228536617, - 6368937473401999288, - 2879603048802106960, - 8939067638791907710, - 4229678228821803932, - 10629034884544094180, - 17507651088536253562, - 13296551257710456166, - 12803831624491391283, - 10270687523255168200, - 6253853071066629327, - 697752467825601686, - 2374050714609293898, - 1809288210864145063, - 2104073316659238077, - 2914216662232695089, - 5398331114487347354, - 1569386377584900982, - 7334483225068371110, - 4824659887469262759, - 3245634556868106884, - 1361264426983855281, - 17393225238243551898, - 1944614949879069374, - 6847888877919501984, - 16329253065361864824, - 1692705332873723200, - 12299901941561016988, - 5054879646520189683, - 14022166108677490513, - 14629113922582673047, - 13773351236750348147, - 4506033799782911264, - 10628113952037505275, - 12133574253433656820, - 18045568604286587962, - 13943129714931790827, - 5842093147356500465, - 1315246979481186379, - 374454881891939684, - 12241430376051190206, - 12729067699042087835, - 672556044508046680, - 4334232478421652829, - 13908528131000165365, - 5817499316291993042, - 14351326725043769812, - 2736455887209948757, - 10650629294131740542, - 5785008207263882914, - 12226476774917316421, - 4014347991071999874, - 7728289174859199950, - 15538338060773092868, - 11938966179942889829, - 10848679102949447944, - 6111923947390495248, - 15247664056630173200, - 15300856881812248354, - 6369652789083940966, - 5267369261604710236, - 16116013964712795961, - 3450064078342642600, - 11873895928188173827, - 5319706518863945301, - 5727522113200389041, - 12235018433862143859, - 14105021369386995746, - 6809721757885222124, - 219793605388017465, - 1737427988309027437, - 5348070613335793074, - 4402147530811830975, - 4946302330849414821, - 2931386982768685636, - 11491254244483457891, - 9623225613231124028, - 1332916429573567880, - 15018399817416344729, - 895553669500251501, - 3049833949269508848, - 17578277292605907349, - 3320299650964482870, - 15529564204577842217, - 10253503409753905547, - 17946160060674602599, - 2778391689585994379, - 966527544871518158, - 6452185034020868010, - 18331297442979147000, - 17861976450934949620, - 54699698327791804, - 11015745203556648688, - 15649759510379865866, - 14475322353305104147, - 6452670999954384386, - 9379803429761113190, - 4018971747352677006, - 6194252225890704721, - 17075544086244763299, - 12583732346440517628, - 4324424376762449703, - 18002399391480954229, - 8222793074863915373, - 18015083723550436228, - 8873468665691630237, - 17231868237387851994, - 9041041672007772543, - 14818629517089198288, - 15590173423697766104, - 6843740596887981317, - 13259987630375850076, - 7699755765774032302, - 13422256548837971492, - 8669873132979216565, - 3823007466124039052, - 14652563368254494460, - 18305490524504221085, - 10913443855133380803, - 5291226702304588380, - 12214992447837551799, - 15778609592348634039, - 7600972396487000732, - 698539533044532156, - 13120948962532282029, - 5699215972050925426, - 5075841750027968518, - 15262773747255503300, - 15566599214790639916, - 12371787164596265490, - 13282825495803648690, - 17354901350188778814, - 5393804799168207484, - 1658012233555177836, - 7008802881421935423, - 15146509193444214835, - 3831917034374232498, - 13492473966674058897, - 2021648133239835330, - 10253891712204393862, - 2568016909369634744, - 2746673888555437756, - 8489663429555171900, - 12352885808510789615, - 4628406709145564472, - 10616284371183379835, - 1792470448096092442, - 12969377839355295351, - 12649473032902760982, - 2880918724927640543, - 9344632906478757395, - 1358865706731397851, - 17899596571558459306, - 16620734700046590241, - 12193385508172480413, - 1250612460394093914, - 18190619839367729848, - 182750353813862475, - 10437850624401527963, - 3607259500979184922, - 6092379119613403121, - 7113427661520026968, - 9124330741577613322, - 16827474614344379080, - 6634522662935610896, - 16994161811317559262, - 6711559979544000908, - 8431679369065294341, - 11113214940512732966, - 18321766918334997737, - 18017973113951139343, - 17346984676911965647, - 15467477095917285803, - 7117902076001873222, - 3976174878934683116, - 248158050053846300, - 10396635844709392606, - 9494618202303821304, - 13348262414313478018, - 11144131154075977938, - 11137833590274629751, - 4000328585646465772, - 12992270891286918959, - 12787006879032673005, - 2114620623129741975, - 6567601661678006642, - 1894933664218880020, - 5468223335964910829, - 11344781676272244938, - 18110784953789556264, - 9560655331156861916, - 3391443475888987649, - 5653897762071313825, - 13376924772586631532, - 1416473301212112754, - 4289309093816947364, - 13118549440340121725, - 18081352111142950390, - 11875105283670334127, - 14794076995797171607, - 12768052566344648509, - 9261473835921339636, - 12996329951128155184, - 10275206396656299692, - 35687255015005293, - 6849475506285714222, - 4962513261041768844, - 832767074499705168, - 3373266155223823379, - 17232294947068512856, - 15720827646424143898, - 3339680257007613233, - 3999179047115322394, - 17532391346520134224, - 3941488948321551104, - 1032506466133652731, - 983172949831851205, - 4074965048585363814, - 13755543591888407947, - 3870779899516715030, - 9750580635403444034, - 12535323561517976624, - 12758885831344876897, - 5939426750581532694, - 2317731676631631068, - 7904436366116719169, - 18052442318159734840, - 15560263424525297839, - 17727671056821725508, - 17102954599136982273, - 16412839837776152599, - 13935598261994724923, - 16017613144876653411, - 18208311262234999095, - 13854945983761605132, - 5895148453236540642, - 2653976566142290933, - 4085465542295721804, - 7377022203015075797, - 5172591284434077144, - 5793742294252119682, - 10847189400170229879, - 15461835451771729183, - 5109845722067874472, +#[should_panic] +fn test_basic_vector_vec_bool_16_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_16_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_16_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_zero_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_16_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_1_max() { + let mut value = Vector::::try_from(Vec::::from_iter([true])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_1_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0100000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_1_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_max_one_byte_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_1_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_max_one_byte_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_1_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_1_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_1_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_1_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([false])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_1_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_1_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_1_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_1_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_zero_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_1_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_2_max() { + let mut value = Vector::::try_from(Vec::::from_iter([true, true])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_2_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0101000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_2_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_max_one_byte_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_2_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_max_one_byte_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_2_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_2_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_2_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_2_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([false, false])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_2_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_2_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_2_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_2_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_zero_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_2_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_31_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_31_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0101010101010101010101010101010101010101010101010101010101010100"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_31_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_max_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_31_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_max_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_31_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_31_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_31_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_31_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_31_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_31_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_31_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_31_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_zero_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_31_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_3_max() { + let mut value = + Vector::::try_from(Vec::::from_iter([true, true, true])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_3_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0101010000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_3_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_max_one_byte_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_3_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_max_one_byte_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_3_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_3_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_3_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_3_zero() { + let mut value = + Vector::::try_from(Vec::::from_iter([false, false, false])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_3_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_3_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_3_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_3_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_zero_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_3_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_4_max() { + let mut value = + Vector::::try_from(Vec::::from_iter([true, true, true, true])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_4_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0101010100000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_4_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_max_one_byte_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_4_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_max_one_byte_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_4_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_4_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_4_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_4_zero() { + let mut value = + Vector::::try_from(Vec::::from_iter([false, false, false, false])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_4_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_4_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_4_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_4_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_zero_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_4_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_512_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_512_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xbea533dbcce99238f8e459b813178182fbb2903627d119e0e6a91718dee93bec"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_512_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_max_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_512_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_max_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_512_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_512_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_512_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_512_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_512_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_512_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_512_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_512_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_zero_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_512_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_513_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_513_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5299a985b414f61b75a2c8c15f886b14a1a668135c01d9a44f094b893d72852"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_513_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_max_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_513_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_max_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_513_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_513_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_513_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_513_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_513_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x9efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_513_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_513_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_513_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_zero_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_513_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_5_max() { + let mut value = + Vector::::try_from(Vec::::from_iter([true, true, true, true, true])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_5_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0101010101000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_5_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_max_one_byte_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_5_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_max_one_byte_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_5_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_5_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_5_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_5_zero() { + let mut value = + Vector::::try_from(Vec::::from_iter([false, false, false, false, false])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_5_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_5_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_5_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_5_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_zero_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_5_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_8_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + true, true, true, true, true, true, true, true, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_8_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0101010101010101000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_8_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_max_one_byte_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_8_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_max_one_byte_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_8_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_8_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_8_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_bool_8_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + false, false, false, false, false, false, false, false, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_bool_8_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_8_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_8_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_8_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_zero_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_bool_8_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_0() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_0/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_16_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_16_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xbe1b7015ed50d7490a51f1b11dff804a4440775cc808b9cfd26157805c1f8e86"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_16_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_max_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_16_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_max_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_16_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_16_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_16_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_16_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 116865446011030976513736559583719158568, + 108209157078503776199170871747996541938, + 87702234582352091614673494037436374999, + 221828058742841668693726214230899376370, + 279540889116606239598116694762153141470, + 187631146300711777716677008331378506013, + 121512487529790280944859056892923591317, + 339016522251302040963550589746380144376, + 185461572441833072109297853349623060391, + 300649262967034080487309929999441874990, + 294925353640914561010535622080866823202, + 2315156355476259093055440479649376987, + 142046101570705160243789098805171808953, + 280271393250584818608153587082340849287, + 18181767184539268539905647783521070538, + 290973072975603641839643580523364338186, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_16_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x817667c88413a5134f4f42a1d0eb8e128cb658f3b2c3956360d32ca62f287f3f"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_16_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_random_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_16_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_random_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_16_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_random_one_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_16_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_random_one_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_16_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_16_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_16_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_16_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_16_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_zero_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_16_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_1_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 340282366920938463463374607431768211455, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_1_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffffffffffffffffffff00000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_1_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_max_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_1_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_max_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_1_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_1_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_1_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_1_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 209794508200186098054846448654859096491, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_1_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xabd1d3e35caaf8d7c91f1b63daf3d49d00000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_1_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_random_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_1_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_random_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_1_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_random_one_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_1_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_random_one_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_1_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_1_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_1_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_1_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_1_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_zero_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_1_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_2_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_2_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_2_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_max_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_2_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_max_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_2_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_2_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_2_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_2_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 293619838168840684930947284175392625045, + 264388153583386100657556026933098957077, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_2_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x9551683c41029561557e6e42b51fe5dc15c90da19169c5900b46e5a5624ee7c6"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_2_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_random_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_2_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_random_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_2_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_random_one_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_2_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_random_one_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_2_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_2_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_2_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_2_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_2_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_zero_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_2_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_31_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_31_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x661455692304dacd704fda4ac469deedd8783f5353c7120b35ceab4309536e81"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_31_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_max_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_31_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_max_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_31_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_31_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_31_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_31_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 322161099503949134246875383873042092581, + 48424120129033191202980611955490263589, + 83525771833522514138478832606095687392, + 174251362918903408377989570730386164359, + 327747722507188692603366405698089864121, + 324251219760392034443636083014245934168, + 160254778627258514227686166426224969984, + 53192731999358379862870660337238805470, + 166940110809962759607404717190565613527, + 287582397582068604130213094273086311503, + 219506566239800782574702895602883165791, + 49245529651081786813928168573143042666, + 301794544056749546798446275637383573640, + 155937435447398140651092870430499978315, + 127316426699795576538260461433889230642, + 128452975846864490943894793014215027614, + 317260113814669819552084270499724543086, + 16914731941051294314237570386865266560, + 144218158159492149549446492790394091793, + 282489757228217463406902370669044160920, + 311015163710547241879359459124322944322, + 274557519463898321910961455997120503679, + 190811083757632720512110498408594642752, + 92699632770453078379646724062876033016, + 88903809372731974263458073004247133983, + 68990849651486535201001743283432629392, + 124895642468721040054565964881513861598, + 134825508388621974592041493857531874555, + 78462050498312150224719961424376658389, + 153336548508268826136733686433451871611, + 41167450208159900235790428302057680448, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_31_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x6f8bfa11523cb7f78e6dabe9796ad0cb5b4730f6647c77164474985034ce1eba"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_31_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_random_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_31_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_random_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_31_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_random_one_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_31_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_random_one_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_31_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_31_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_31_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_31_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_31_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_zero_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_31_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_3_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_3_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x1e3915ef9ca4ed8619d472b72fb1833448756054b4de9acb439da54dff7166aa"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_3_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_max_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_3_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_max_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_3_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_3_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_3_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_3_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 220301989141709271334326095341414922102, + 210235080945710533958926333282570767995, + 38717160196772117737433576948282568669, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_3_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5376f444f73d42d4319e96d18c1d78ffab3f12464280dee8cf1df519ff50d628"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_3_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_random_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_3_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_random_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_3_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_random_one_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_3_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_random_one_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_3_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_3_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_3_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_3_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_3_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_zero_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_3_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_4_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_4_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x8667e718294e9e0df1d30600ba3eeb201f764aad2dad72748643e4a285e1d1f7"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_4_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_max_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_4_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_max_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_4_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_4_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_4_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_4_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 131085251763681703650210983225134279210, + 204149994827974013891189432256283029251, + 138314451233364434501509339736780133583, + 87190916912719743438450099653641299249, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_4_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xe7b9070421c5a3414fa58f06ad8bdf6f4a8e8464fe1dc5b1214aab2db1662e06"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_4_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_random_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_4_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_random_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_4_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_random_one_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_4_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_random_one_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_4_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_4_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_4_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_4_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_4_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_zero_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_4_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_512_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_512_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xd13fb49c7c7e17c33d7bfb88c3e3d674e602b53315c769a4b9f053ffba656cc3"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_512_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_max_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_512_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_max_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_512_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_512_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_512_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_512_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 26828682623905485853721589978864387876, + 45362230084934828632880963081896644001, + 247417070223805448009596661148965288679, + 233435946323840404519105253470141693058, + 48270642472271104900526093037459031455, + 66520735216030151239714891092404644513, + 280229322034323384052699099308850986999, + 104876539345324116234633977126562892583, + 62053737243447943335328889845976890418, + 115150778003737644570314412548569196662, + 60837422455905539464283970835244348165, + 14971885816624552460364123313225338840, + 141373400188887949233573643440572148370, + 315558180146170550304219748075496589529, + 192832702686931265848701899386472550861, + 195242849447416542650282397408705348609, + 3159768586696475726130243760652423921, + 280976955595646743990035910166905396696, + 48145462755830632991328135842155799273, + 45727448734246753632897580957866192001, + 93669871191691645101398613537831796721, + 270468935803632630299259822557389975996, + 257657171915062120800715583958851021431, + 143502338199025987170760915516024962297, + 88823700945885749471690202908135711777, + 167825619953100335773847023551371760978, + 272799632490583618214951897233958389039, + 6931466504102931468089280598062436854, + 227129099815982693311697808605804113078, + 190991213830636389607630234180646015166, + 94665077017450433967996163233943161681, + 104442287321252800048144287126459909528, + 111984121489495207128924202958762389095, + 139936482167984053056821989819471703902, + 131014629105291684826343804913844541820, + 268845842132595174381319542315698095682, + 75171104698645730147320610733935680293, + 188919654263237738565471418725236547096, + 139443032094518694251119896661150856155, + 212224791068740157240962495709925633688, + 9091349307978242295696087198261198263, + 265949610406892960806549475648778472820, + 128688494213035166265090231634914484918, + 86325517523858968239206432741700378460, + 120488629521339414087399576992543820142, + 160980827996625757844534938871461470081, + 229339366166722750521595145406513327654, + 212826567380487477304132519266599165957, + 33736938902897032991258004023704944283, + 20647404232152582890937735112905147718, + 174307488059321481411980956314482861076, + 182870809375317713676269812154114833178, + 255449134442859232032589560643987424832, + 3327587593608969403510790552521641937, + 228796895331761997368557137952015337570, + 173401717654658566678803501845418681717, + 145753538631582908337891904360242873450, + 145305369872021551533678361294921112893, + 152106492142581925633393348104773498495, + 63943612201891140132934132705217376031, + 214770829884066489984049547332748555844, + 126888149938969670311744256029745393100, + 324274218652420208639262215234859114368, + 133387804507532082482457195979509083188, + 264611146042400724818108845708964759574, + 253255137134331345360724671359646005906, + 166782268041576968080783983279630939216, + 37671118578186383302992609922437945540, + 26587946399585902795651262209794549829, + 1961015457335467326068331039447629730, + 4254806961814882220301747290823991194, + 308104308089334295256101677566106196014, + 37063999245103616540268353759942155944, + 121645946377364452585933094191285853163, + 161048285595292245350352672889475762153, + 149401701940324201485709324373178479430, + 49563740728014241891163608884934352144, + 52076044639587971806885048829369115370, + 179799047418413373396876208996285334917, + 313125910898948945211513308922346368079, + 263141004886510288130833149448493186616, + 24880666764035537120498111814784594276, + 244033168847918516781799517763099473870, + 237024090893956911018900071669857460871, + 144414853971541131493745017938110197424, + 138555684748153658828846086010749058888, + 211251904477912335560628591102117418737, + 82686339646308109441011550627009851182, + 115235954114539334218234743722763506129, + 115662543830337771968916670738292603123, + 221798345799192609353172159941201325673, + 6926774184072691057114868533879021792, + 5694889605277154023565158457936814846, + 313407497526835022984279381655402121329, + 110670343731416261564284105580725764775, + 231058153426857522432841605590609590553, + 211750572375839290698246689628795663485, + 241108737427680497688687042042742173388, + 109006874758568559475981409144284413404, + 54824947249519626083205617311781774730, + 243812916385798476195815914646717328982, + 138479748283393420051566081257076792575, + 181274593275688533385558121792921793358, + 120393940466427010549728873724179690685, + 27826038560624417555889885327531192218, + 315151785115462667257568009126915207145, + 130459266571058569382810067795220051273, + 132842523353905011189860168419707993331, + 59839863451282141688258798089471137845, + 20254473285766703925238914314828709637, + 128906284012149069933631760594047723246, + 52776809595619548343910694136652844370, + 174775382933029702659507092255717449558, + 263563310660352369819909167550510614639, + 196887944917458596878213424376328530831, + 181949958696615205021162150854739810576, + 139587060331950664917632305614956378137, + 338671275421650534963128961469857868852, + 155317607710825692904522109098461079872, + 244383870580703563645529793873451040421, + 4620483933550170477662418031630030901, + 129259224877724566609550551236545851018, + 193614492146938639585558624443519370309, + 89779080348704136635266056121056944156, + 131421374722716737991381318356729527893, + 5569905341158623602093984174547390696, + 131737060014189489073973545545612076996, + 186040344300393193173042839506082731336, + 293702550686490761096590982318687603092, + 255144148912433128858199336137670011412, + 279002492317304198700457976299295509707, + 57694275257783106017263757336776385941, + 228836987706021643623265168420253214681, + 42557917887325748267185972516161571835, + 255035143664299721501904330274347798678, + 162907946353635788513496820825582915919, + 58334702634968558506315001057646102921, + 299036125955333458292972890398077938255, + 214012726690216787376002795018524874570, + 339737723127425306868240826833242497172, + 148116693839884547082122917245082917348, + 118638609480959777931391956115228170455, + 70049388967103419081381816976354288000, + 321350324499718496431405059597835822590, + 114415642043268251851454480482755199360, + 1771507360800623444536881174620182640, + 68433725610798147462546774857024436801, + 183610678235804501703289364934986757412, + 260430944951921695403626817609447293819, + 336070431382170503117465878424687028555, + 8747516752576054583546419627561305026, + 25414433237838806716771118185960391007, + 27991088366098801247640145266267327201, + 134667778910758562775756385670814047243, + 265958469220066170468363330412494359510, + 138087385530530368232910013015333369277, + 223273960303740663939427143568329872912, + 226698647960847710245351874868329380956, + 279836402123216043196375970208514359256, + 230777420763799932386567780376931338865, + 334328668889044032120908092187833298741, + 186110377133843222524976103853713897304, + 226068929200034794184067359833216591518, + 307395742308631238533223609823979676171, + 270244849749936426372205429996168472371, + 146201415018946415671005458144085772825, + 300969570425449657166669989808819437053, + 251687458323136382835572752983811895475, + 270641028168126422955317776514936397717, + 31589530127920356246091130515057059912, + 96924903584643007146889582889689426292, + 142058468804648550003297997471382771447, + 314944764230038250337076326399340323492, + 325215830334179713564866109827218937852, + 257976636578206567133918811533061479139, + 302232878420023792860098643459870305395, + 83780703798992577006307497913800507870, + 193667087313367062853574512735191895236, + 83375452479451163654548752761333189610, + 240926892296838555168958237021169924370, + 153840378120810127829468048413787133280, + 38455886484474574011136589447140227210, + 201966933799926032743496530591844175331, + 238405084128553623279464089421679182417, + 79134533565052825159182943905651010052, + 264145050755083038029594179837472432365, + 91204757487212663074517391084708491680, + 209338328671053373501952225237078699913, + 85645078991084883688692433042680752461, + 95967147795241281028765727991582305765, + 228533749106777146421074580579914184491, + 202609898816392978177542853982359433234, + 307079969400346886854396012420455752886, + 187115219247772061078815641076583952926, + 230542258694458959424309629843952593443, + 74332352609913642726938042964026415187, + 91950340584438980832357416887833680089, + 253250286149221379972855075116839085475, + 239545960080661793860192052157224049713, + 49281749599220939578996569501739186730, + 131462906977393070031818453242459278831, + 10352029838493135617831431143066364453, + 73408192521407472644231035045711596171, + 238814024694400682014086109861209537814, + 66091987442644246193015750957086469186, + 3571372971639372633906021729177171072, + 257612594443266212716830202977027399515, + 59108130182326579149785149831221554060, + 263222220647700078307598770683042988272, + 296049924529240964856164005857428701404, + 170505451907555693102729907642458469224, + 252632951948103577467595278565842113750, + 177005895812640429855381235800107879505, + 138812781368593448188989240528490030533, + 149292869496287283142283272196583892041, + 84966947109149623834597473467125816457, + 288887586898068294394453812468451513930, + 240040038405508477905283529586773402148, + 102121494120219547386089770231897656625, + 330714536345281145534225729404377743996, + 243995924349346577739099524261021947889, + 149529993043722712074310726931836143035, + 192765893363431805682795584905544406601, + 183623040969929642749671509006927222577, + 1525573958767026733011437846643064721, + 117166243094341434382415149775517138592, + 108317570567260381957444348850119405270, + 265379866248840244626059950683337371207, + 101439885818932106981238519576732452668, + 305382987333931579010722377513357707194, + 84791721843245170977779990586106702161, + 128052673033601092863556807497569482457, + 323970116080423360183549353020887602436, + 253178912470512253870284195517502478752, + 327567745154006156499920950325920180337, + 37760851567799716139384884658885468439, + 197908320985583295127982407294586864884, + 266878838735372680888432013040757164334, + 291997814267333372848639447156161385057, + 32902465489644465428263202477386654904, + 217514975031485349366770843144750039143, + 25358794551349852181185633204236665904, + 144493068001809023664174224940279293807, + 68737418717551687825594089813310379675, + 125563467002138064186914113073399634900, + 301626209029641111181838107746121876227, + 158714849747972444160427417222466396443, + 261960090756636115163930939299212093837, + 140473205448781477891558791776962906661, + 25764354349558874643452816729640822044, + 35500985603009141874391332252797386051, + 6130328008084854946605320998530612759, + 65911070872777301652371695333277770339, + 143516661043274387337708968079545747547, + 124005107572155327766102681813910351928, + 196183448116618734064409945819933602671, + 321626010754814019303036264377672436622, + 319639293174762780809428341890530809802, + 154177077952058557430129994690663194407, + 165708535551522843240540301769761990097, + 96966528245352734724517475056797912060, + 156766160185796521254105805157044602779, + 271108427613111056655306024994207714846, + 225021475359652760326916597886440027593, + 322508676403834215230209072184479897499, + 233442986658152879187128957949166861242, + 6632834701150293496290041701739530981, + 72945848993703027206006761488573354637, + 220461161602619345766199740580194213620, + 321159411836169763341556412084804452724, + 24281678107281275484453505329916095811, + 310715275211136077011602269956503178835, + 122870329840458638343326342813018512849, + 13571213452018854499205866398304767123, + 148475575601522570889887470308323059757, + 14097843040597683413022399766129370370, + 102718660192813748149092193456897093775, + 180595841654842928922244486633136512132, + 248799457970517318601937546177129628787, + 40071711920819430360439175851771764513, + 286098925161670631272152784250670063950, + 275112462745497950888328731927654249280, + 290068609383266100194140781747032289394, + 311800436580168149493310310018323904341, + 121930434417233109389609434228680930394, + 281574554972024339666376866877676101235, + 123913120007588541889307903573623882055, + 312449833180571905372504215436640736182, + 22188561845116767730666605340693357532, + 164193566270753732025115010005180770782, + 251779278959456111385598086548036893553, + 280800426346172004653189471251054540010, + 8137305751057639085595495387508082547, + 299828193200954978090780694201908041132, + 187449300058176320897627622976389774343, + 165045999537015536826432678512103155089, + 185272648877873407238079404862543415740, + 236629802363933727652259521466782431141, + 56421288793209262409776732605900025515, + 255594772545778155554374275992038804001, + 250205017877782987180750545031246560121, + 226453750341230180774270564668437562013, + 260605398977675584579104599069120938332, + 125392505686394559417474564859844391928, + 338126281238683346773071987037005616355, + 9328199974415020283249005756268859616, + 123888392668312447000706355778647022661, + 194534313234333519574696076358020947605, + 24710236171156162216791551051268125885, + 43889898743651888600383188627001828128, + 315171527686540475787642890314118427925, + 218934644233940047126532282627557470797, + 187267494209116719977177242359658047810, + 215155205553097774614912396356049386399, + 262216576587441792961966274101255468822, + 36947220824673522414895973516164900275, + 91352968010301160956189613987386961455, + 1526661060248372386435309853408760488, + 186934124806556109144387341641340698260, + 102993952313774016120695692337485795570, + 40191516347711559912799933205739453067, + 41933311847854580194072896089635772105, + 21074769366332168591578346387005281737, + 170015113800577287589263816807892593237, + 47954622667409004582475167820858545355, + 325128049242869022730457807944576025513, + 52035175976200952538030566941816563422, + 174773736600302959346529091536828305513, + 19077212147149455341049980696100735695, + 63561467101782995257570039359218316519, + 134093540376544292764942557421750495624, + 320470991095881762342995518775846760139, + 328062414867529105865935704950197203935, + 68301821704292774520291453416491555782, + 35698180309399041547275994328087686952, + 311506793047480286698363570197389233292, + 338338483704047092847801535610928800050, + 143089363725240677791339433167163006443, + 113117065754723735857236371396621769453, + 125723372422605648473689790078935043613, + 238585366233633898944999090543726164960, + 293729916644654494936525370213054939790, + 39203111410532752545664786484193257819, + 261074744186283445977447754562284066682, + 228456114877028492222942892368951348630, + 100705936697510034149383339598887754784, + 157862771086018727343101233574818765588, + 241756853913614730875530607089370627311, + 207262214398201745430201875248761757390, + 156924485159565599272342952589118003045, + 320217455551763982424562198204550851761, + 89452067989312678490323653528680249042, + 180468611890948688055144842101229574751, + 29479279040695614991884843023002065654, + 167390388006269209103321642837626866291, + 254695777026440907432827254516985460666, + 187177115285826221625518187624347223498, + 332045191917050698504536824830205536486, + 184274114083220384310326268792313645244, + 222188697420284057483248561705709517959, + 140578027748998958737945635934128791218, + 183426950464464315290429788391842367231, + 111580503306619631358723576137159769662, + 335643580354127791599598488673755616408, + 260550164151322930524025480381622714601, + 47806658196182748622039001992492472621, + 20186803003182304816930824185716380089, + 62789484860111330656212111726584018842, + 107790431342605135216397076296068254585, + 292666443780633938401389104296644058920, + 220927652750266244331716492446792155310, + 208207206962244036457286379395453915098, + 195778068808291695326824062103410574608, + 340199904400557338450121909774247743622, + 262203568635302105035059948551841157952, + 128618692521700291137948818227813602478, + 243320224668649517668896658074761744878, + 211839684670054287498093905237816611368, + 82166970181933501266675073625897185085, + 75527854628078629016159252745417719369, + 121625610575743604085725221967197075838, + 277566753294527800171039609953342932992, + 187885813802059778562365677650116634903, + 191403315444987604731401217615078871220, + 80771018852102354583745334438004508008, + 8090637672941034548940752857122628479, + 110366221490089495255284677830009286982, + 63618169708923541949447163759926312008, + 307144232996073349511717449907861114512, + 248429007854739810382765734389293390726, + 224051169962642915134940269976875457421, + 45714491655938342434923362988014407300, + 190857047529084524562287563005430811593, + 283638693262798174564765314872874674283, + 38407247642906473477727792470701443077, + 288284565241831009635841261605804718097, + 116084538477280280912337928640057265511, + 295035064216000126501771210308445522416, + 103868253733672629632572148676305565401, + 79394408729164793992671408821149275830, + 123134385157755731989243417161723099235, + 188881727447990422839981908635445577559, + 193868004887328193349426609920850166554, + 125238851893067113132856477032811664176, + 97369616960898104773918789755365303504, + 218094202641917307686764857364552190126, + 187918447907273256957535142762141476048, + 26744800024999667902593869796079915, + 202457515425581276393652252803803258913, + 10502186513105902379021182003235975705, + 306414978640606260132231755414309026498, + 39384078943492160303809693785691690098, + 102182047653449651977246724958534740056, + 70597095573607902789979276144010337930, + 64001332434250742288670266923105022001, + 70011737959055169032971544227970567663, + 319349255074886856584599293341032912060, + 149075373674604848941455636935004195811, + 256105825798040314551146856384833212238, + 196047512591257221793189534487653610348, + 14586100463770328028792698254552639562, + 20264627864068714219101178892284543310, + 296236384632716297475274574664397705576, + 17817075365980510597165642780066647726, + 60095503887948394084172605096256990139, + 219614996212180887705533341339975621402, + 278759465578491474931999047518601395137, + 273986483832797023146147542014511808346, + 288302115222814056176277861962995498752, + 260317948964171328735169833240356961350, + 57527101794221862418486478881556018579, + 312574992008304887866535433558095267138, + 264873690423767834690720810460474769057, + 141410049559959758539756333755434880046, + 55445373322090056204258811732721921319, + 264752094417217241150260989642163343840, + 210482006155453806494692010139247919004, + 308114253102078761931037333124652558573, + 208454081233086025185950166069270689769, + 27634749417831287570256666832657292229, + 87663153995377643264086488074712097711, + 162702898363795052239907855129805116369, + 8730207649155596367329256285843665966, + 183542228004854796910561714717190216163, + 97408678713210875971668486882923173437, + 88487627920109498466455357792626221135, + 106598589823900890714508022862184984179, + 328767280304183303668354318669805555569, + 28229702100636414159506739455728947244, + 245986906066714145373440235943207350967, + 65659226250518690026725234094260789476, + 146232767761021233502917908577719090591, + 46393977670067832672575994838481101713, + 105750567811286582153708697610889683076, + 51323137905191351083291908125276310470, + 295749807725626247971905931509330662394, + 214131379585880913039114908540270856163, + 215893444130137504253045249794739488207, + 301471673729806061374498803901723786058, + 229057718158170479549273668919519075752, + 138080778461226751313261585062135878201, + 141026359934210462356233256181613757034, + 68933837692685322317706218817210809476, + 25393406359558256430225320707719342819, + 275356532140429148441012678305732049494, + 53956275977923019137388743871615957759, + 163061957672615896574859873254114456866, + 272399972844833674586376883926838721925, + 85673668450825091245306967783783822160, + 24828506698899796694273636324332494745, + 309508192186894448859185621412520682191, + 282670190454130410452927134823404796104, + 67342611178596508938122051708689330984, + 62176716943068424547544218228433941423, + 188584503027719286274573937553652461422, + 268263438126094948857293758640533903305, + 214325647874741346829538781176702742742, + 37360184964600511060756595110969992036, + 108625034075624820947408016345188036286, + 65525164047779797052391340365153626199, + 94871307247042586715068198789316439507, + 94780138674303327085126689432194366608, + 194572446345783945529943353062637156364, + 253700939822265131591620516306016345671, + 117732382580966670103929531631634746601, + 199304445053249453569933947603592550419, + 177463547005652117653650259961789847937, + 303619750568901187676335298651373431399, + 172929310331248581342800058159323312451, + 181294802785284653810839530993375923313, + 283590565789356541498093717820841532276, + 257056520852802158030615007915971536986, + 234745968812608244106232238249574055915, + 31929172996341263720673865366105258765, + 318142021164067218741683279724887696160, + 193217284183218800872453414477910642532, + 38015259050277092864377624271795294891, + 80952665656346897324426890198445307085, + 11680346385960638763848089196633275298, + 9513088880086236426231810951583830880, + 205103283984377178181195116465041832729, + 226509686283217197945442878084969145736, + 50924452316343130246682489878599503228, + 242962718177031429342675033754379775187, + 2803714896324820509453569171158616640, + 194392809421372535213057759184984077758, + 242879370917311287658016505785983131511, + 143679272127425713848911322228852709049, + 121575049863118828740048589625100857957, + 8715635290235044735142199835438054170, + 117597421515019045174966032141113687217, + 166032223549541867891948250634350487251, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_512_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xa70c5dc4851c46df26580a4d719f454113421b5b078b1af7b8f6435f8d61b304"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_512_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_random_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_512_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_random_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_512_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_random_one_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_512_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_random_one_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_512_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_512_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x26846476fd5fc54a5d43385167c95144f2643f533cc85bb9d16b782f8d7db193"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_512_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_512_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_512_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_zero_one_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_512_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_zero_one_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_513_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_513_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x71b09f3b6e5e978c55a3e8e88640e9abbfe68c41e61e96424cffa42b63bfa413"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_513_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_max_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_513_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_max_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_513_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_513_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_513_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_513_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 34806233895606943316594477386264063388, + 269482665842274191832954812547223680643, + 98566888497380199723262118438348948905, + 306220238885959541900464878040688725020, + 111159210194802426381381041643724587505, + 255284616880460028192586642678864289378, + 188871549660503800108679523636135765568, + 21056290823491066720648133193625324049, + 286710680113285492371594620423571623971, + 200004860114587550212458443689430210411, + 321851956264775548612724788518793872734, + 3532337742491205460942323389975095296, + 323481655059545229713341333709240616122, + 323136964091009130056662149426183105457, + 65167318114830798017853810940849211815, + 99515404003291191584176500698893947096, + 180752719303242454432654495283527282623, + 316094185457648142185214471716302456967, + 93108837894792737125268951133721012040, + 223432116605195098796196862999105167008, + 36136949214178855160871726075755908205, + 302685122815841206762281614237458018211, + 125443367308817112377866828073872853275, + 81839106221620302098317069081963502378, + 79868404006231383566878264208180763516, + 82045941390403533866916174239465997712, + 114786098599669193029507218675990346556, + 277150593060181503827173172054038761065, + 134160698114177924670518200285967824094, + 54307925108328140336193430071292664302, + 81237491094300166034936894545685569135, + 339137825481638857685737855647652444540, + 100444922531596670474477300535544185083, + 304917587669227796313009737172322898092, + 67545143044848126908800951695149216631, + 200330516374109347995164263472097286053, + 57008632998146200089913222745105393955, + 274569345757878505322705087144276745732, + 304202587007901236355082194481916703186, + 114022363498830864639840147187644134991, + 305604296489208184357315646941263079491, + 62415697895798625222187970203431978046, + 212473946153620257507317728946356887645, + 6960034907456026234434260266584973406, + 187393605190011137027154046505864228541, + 86455527766341212244670704268469208684, + 115819451863739675140779780615033767652, + 75098126903439813739065905721927603597, + 44146474389129539911169430458352196742, + 258660355275685503683719592571436739980, + 236024392362650090176037828983661685381, + 194379966247782328856615689857154389416, + 258411776661483687391859525914642937736, + 329595757116581011391576813918821972920, + 104204073831744179958368680780400890931, + 179459781283877086488823271607414654080, + 170832652511394071304123668419115703278, + 218060991854722196656996706140045268201, + 96277322228460602817723751160483777565, + 153841079210086519343186459132396542708, + 138208317953302167387562966637428744828, + 126578676301160949140892395804017228857, + 3645025998846620796940971243468910676, + 104537413799756899135541944630954930279, + 234975575917491814005902371630971086280, + 332106924614250529586477868040168131558, + 282348027500597244128781340047887657594, + 97766988785716932963173272223212366772, + 106638883738156562609847876715751976755, + 70273114598914754154979122700372820817, + 180035778760960650582292529008939494832, + 176087344579726961184384050339345398219, + 240575812092879350277015191650271377369, + 277492100560593682752724362587380202686, + 313573961130288179822689821311629708968, + 233349244850888732251319812403423392334, + 294739209938672767175109958009718995667, + 158546319483829881918550211852268429291, + 150514918589426145007018114981053616199, + 14346362869902976673690978164614055802, + 189946922491791557956027742419236145054, + 142548158909253567029964304587649265398, + 39482133759591022481459641708890390642, + 94007789590443924513964716851761019241, + 295811620290576542547361414990678438759, + 114397773768869953894312840134377361219, + 300863106230159297034794357178279827100, + 318638833796044043346070543416279492179, + 71015864690116482811749779030434626709, + 71911132557073211736550146969030402658, + 198693736898785517956156448753394156016, + 300028572813307061464498739424798969321, + 338819733526523946463150159703685318005, + 327308647752096643213571602817940447795, + 17856216928942555709366709672698008752, + 16337615903034349237318035267418765482, + 155631161046614346361868077600010135717, + 159579921524121322571986148530090258937, + 52448034977495035268906194016230227058, + 226249836738449197632123927173022234990, + 284682329466967481753157695897768580756, + 336666077482294946940857502687346589124, + 47238248049178118096602784891379277234, + 1623247273694393890905991923310375068, + 204600920949585785785604506564732577859, + 160652961618860841113755815228643170481, + 289473837337210632200393681681097420591, + 268837063026041494516244499431962630952, + 325489298828601488388449641069800828381, + 148752403879228802100184400514728504956, + 13068179053504524564312161116600211541, + 74255354762929223490963204801594969826, + 210442607508879117399352858248291519055, + 174725361633019944886072153691415472080, + 286639400195610869464298543479532707577, + 292756726916625014906287691236276640584, + 128401361410066268594465348099234749842, + 196511083009584388385149372924362136470, + 187524958128641129231156601369304138680, + 261345686512293319179015600863327457941, + 152657771338718559403746481632097909879, + 288164935265327982992932566028623721723, + 306979039669599340062003007880332639225, + 54467652375185419954206245469420787151, + 92899323918121377409095167563136706236, + 208061683491856029900000329124049909721, + 112282901040895607378043268936919789066, + 123073582811178312504154424673372583661, + 188250533161277569349647752257317611049, + 2830006874395189957219661647590580787, + 93911482360705451650982379789597980021, + 321307650579124171463673972631620638752, + 47701286423845786582508186821414424863, + 206408368687541460037820175117117130977, + 170066510256474493534290808539179775062, + 91605241227824911816865059905900304353, + 114729335694352220327623665721506857093, + 22194185641353189474875879416690697024, + 256022801464095439247900313952636439407, + 140383937056462874775553361757357574507, + 15961810878358601881527646023010509221, + 124794119902474099776090350851445083054, + 198169628009311065792623785308130146529, + 311760983345791784241648507028199609396, + 129553712728922002831276591856339827228, + 222104092770193338958825152071853111162, + 96645047190289468957593578365392869015, + 313761892272717481365531332771324212091, + 307195232542436740741186084995460095692, + 250005657825317746935389895516448130448, + 36449055807335231151872268316130095899, + 18482132038945606647789431602430216208, + 5011381221826506230108824483502879310, + 141372147050436215319405296686297326693, + 279598264949256321708926808359127249374, + 301269478421795099893217072810488129437, + 162543493123370422006042040659140940281, + 96118430907212862579127990379065143155, + 159289271454328420652458324759143421917, + 337992080784566386323247894997560353968, + 5229658174929415251895920105630929935, + 268552975083365828490892284392804011690, + 247384864530717213830603724038965832983, + 214055185738105862888206767237763629806, + 23693571564554319554993359016010499201, + 287628661797779570858619132271218342099, + 292443174504906882721863284521652021180, + 52145939198259001101952359398809154160, + 290302759899913758280586648361828582357, + 166817661561478301148629119117143026206, + 91434877287398497727541521962580492742, + 23358835134733732771181987795987200839, + 146353505364457735741755398857741975323, + 178744620488145364319893013703941793532, + 273179903825287271848038593077446992006, + 212447130864357515526043283306188580233, + 143317001051304702559569941148852205111, + 219647227741795784712646053270117061166, + 146195943102904802271062647133567607063, + 212241124180253227758859032591931991385, + 325869461649761576527913968160028206712, + 248149532457379535532722975518440716247, + 325792397719078016930330029174039568084, + 274646057134122374482458677963418329930, + 1773461617822456571326194291043615189, + 146699663470315690023147066886652390422, + 204156932773722545326782846678719413854, + 239621682904325967278892855393624824615, + 37896929623687905853883263346444613567, + 94585521626235411595725912493424713832, + 195704971936763381698554410220325632853, + 212035126380273276778035786579979476802, + 176622893403723820665491387241105701738, + 324938864404095516867129037630628939818, + 42106209207800727690593025251160004170, + 246097963045449165633027096548303060707, + 90247989431685517878370690363815981477, + 56015299796271031976687260496806703737, + 15718120956761988765008472344447993893, + 183481204412340071738077846540060178662, + 44935315818060725947720560206784917911, + 284412706963868634942497643375290447231, + 5234074441977302547815443101826087587, + 178491225163860493693249948439628412301, + 50654502501600410927085753225761906177, + 72758588785181775706499453402521382367, + 105766562883944598247885133845621533897, + 264938786484612722485349401924068535867, + 329997875977001267480966887397193365227, + 93706453807036234618395522396663375320, + 269347036193489175205006259454211868268, + 139711032526376825871996177180270906858, + 282801908193138940637571142655544984651, + 15651702118375671172333729631120565317, + 115275394909088211175141117747786537242, + 38775003030334853952091493787037190648, + 258768424613875828090663097220831505466, + 110789338227394536542258300727845773016, + 290121872465176519477726367755776078924, + 268097218250901005305506743784602527924, + 170501593429014361333815518892081199111, + 190075309464201614500933263131312950605, + 15284042930197657899266703697435808445, + 251711112346510789510012925883300581456, + 32777930811606340106678010259088580172, + 159931869076381475282427321991644013049, + 75196925249171908244203167971162565923, + 226797935284352946955984775490965760228, + 71231223815892755162381563836928077143, + 130164446722578492239161269461433406215, + 81656670669930350300291292821140663731, + 324213745561026698183640983146328573079, + 194996676064018939946412828799039348725, + 83364329309766744342201218617869857862, + 336220934747775708847818801008374101615, + 215253718136283453541072278112827713356, + 128513931422880285298005510273289787654, + 81844830850151679872430805568547120123, + 125354313221682085755791449334108776843, + 30114676357833680239150643752533530979, + 168474838651827714278846509738201966868, + 193253208189281486466055792881336479605, + 164503824926246580252824582206559161467, + 97066288962273275344843430636876307866, + 311627486857188708476852052200291858852, + 275986381632743143364667200716011216348, + 82105826671921693647340013041104515000, + 302785179303168369484983041227231988828, + 195249956567967506637883949422945647425, + 155797472952317774557660202436715601771, + 305385568395287656838142127098215681339, + 114973450019464086668464530251405823921, + 257123666101110857942716142345540430315, + 134621479749583156105744033694947429377, + 301526093545053129714725781355937071549, + 94139976669111407977526828124810311456, + 246805593437486911411344869701396544892, + 46446281040864487095411717242016261292, + 328606402329262610580921804691797586586, + 102891681111402081739162959344555656138, + 144580083917191726016481220217722422393, + 122136813004348520626446661186492008652, + 318822311604243553874293104524548464568, + 322523589647811276819193499783838962269, + 230480845379761553596834883532459326222, + 296828989914577090873301557994236317497, + 125298699393769779935312472358829832430, + 114287229943311434348030799763708324151, + 291109131283946449026840281386167860323, + 14174034287051335737974446378779242674, + 126902352962166088213242277444353070332, + 180617122157575486476306717471499562790, + 261093182098062529692707076348778231963, + 224233643055403226275614889584424355450, + 270400231638642297529672448690664829479, + 215143589417490090780380610294382121829, + 243482845364263372209153084432576869209, + 118560820224197765905075139736393609450, + 47103020165320637167206623667187930956, + 284118317971439912602334890596516688860, + 20329047223871621564119646327389561683, + 294415419020673514697425536305092203616, + 223156058190770108878051218723793412213, + 272062182889284646743082383604774779276, + 261714962860020224667351581141024007246, + 122234500080132310243226820262021459839, + 50020774016352326866855732557207512296, + 79966142581084661986107436157772108715, + 59569508209666118394229252747116352128, + 177449710045924021970154493313266682085, + 169889037971264327586062864747829281168, + 224579609332542977284640328743368411836, + 197868965699671594701782479482313847014, + 62856354403886969021205374871406418804, + 35976853697770061988251487543161816684, + 28075286358289119440288964979030692487, + 330322145312995692800721533484122620265, + 289367715816944809386367499125890832826, + 311438324935593794500703926089083120811, + 150821910281893610043051674760767656974, + 126407936269627044410465065529052586849, + 158905869255698782756386670067991000934, + 201186521969319895879484699289158084362, + 320690891684918335961677291224379626521, + 146560794064396747430989376899403489143, + 291852838810252468990778339901881302800, + 169009499023191937908643251225274753892, + 222611190890723618585065704317431281350, + 101070028958843036402497979992349143575, + 215576747657148183083965418032092422813, + 91508833849933606528430825774962919582, + 29595459226878147948615552044156097121, + 226376685952631215407928734913832964626, + 301260160594866011257574390230227988565, + 317479126916165143225617102230659766923, + 244462609413456563913050095613676618458, + 270704365218328255581432279816252038474, + 294196807977837210929538287531843354531, + 212628453534702156362743955641268823930, + 5677791524817541596060092381480255804, + 138687997258538177179425309521759854190, + 259957066901601598760152489788973884312, + 200927271252361163906108938056932673981, + 24411201151676272937733302974133212894, + 195718591670560390658129813606806529693, + 48010162603876786623715624506524274669, + 273677304742407484351513251516522742979, + 85568865829140641183644741456072631334, + 242511145172197276273702530382366301650, + 128864464787960460250478501004879911975, + 53387188533730812929501408008405746529, + 255765750242344796367837757336982393683, + 249342339620995191684171147020372932416, + 329873897127033343913522982745046272690, + 29094573381731605924559697250901276342, + 14669576776489067484114466983590184339, + 4522546893269986307811971388294719968, + 98545881702491922643274851979747500718, + 207007035555654367992076939017559542245, + 47251495553872384243901472187069259200, + 2694181369399693601520217350375099812, + 234053663050407573410107341972100124835, + 184231464578109402311222429643789193534, + 312643158495292203648915681393436660188, + 170038580728108563030414257230519015572, + 308069216188561631445719508773830461776, + 303003561728146767921786277253305092843, + 295124839666362619962502271397339183430, + 42075774094529612702085244702965987314, + 222303703209741250446195781239992919740, + 181705205176182403192700279542416879335, + 30281884679462436302801474547062039519, + 47555576185741722940273410025012825062, + 91579187348509757599667669486335655631, + 225070669705653098809252722490268541296, + 231469905751638611927214600031537282106, + 239758096705314136908320203687557556159, + 71760321581391979162350191658730302935, + 247129567634057314261255937751419372295, + 77720666029613310335565313239010993244, + 255473114780244677689383263663622370640, + 239514901680458072817661047584835482828, + 304878050668299341755187792491025630916, + 213678941294168094430911240458675709392, + 269728450553747750731559446003254588939, + 29891991961618089763677927317576448905, + 212725405781280381047125034851205521382, + 333400447790445072798173086324663281968, + 232960472371962022165090293165979988155, + 142133702805784354146440456979909464208, + 254972550604552529297073837831007704134, + 9030966779072054488031699516968420492, + 219638091202733453662903234534856287568, + 32445235387052729112149347290534085651, + 102284639913360802221127004015106980728, + 221520370693569843609873719634726895156, + 77820292303791615758864845879083457933, + 164972414795442160061844278495113860660, + 18098965979287963641579969237551639824, + 36732689838146755467901213604533171223, + 52679251373271568428523139654899870962, + 213359831556524448634325369972800231195, + 184883153729997813665074975417233683459, + 40514828955193067095892683797849862789, + 31851554808687080347127939176480569593, + 182691410666916675981078255489201061421, + 320507283518900342781156947441021356281, + 13149597991278312367771009484523267258, + 337570201464636697437314502097639234091, + 205809581514989495598762328905615141674, + 41374301604298760192286864668971462466, + 75064901111089181509416178219068452006, + 302415610046207754295384074612633813307, + 47165717328685781003420332133398230763, + 5389066198551080605879833439737799499, + 257080053435295218527779397269270405782, + 284003235380522299954948237375415531069, + 224969252251223555891829888602459411878, + 70438772592315274144802266972373596436, + 192488255562217886512335206443228491047, + 71833346986491319148169975542023088912, + 181018544431220736309526830624878815115, + 333717691470275440658830040613994786471, + 202137518116584642304589781210074632978, + 102442679004337011231345344829891015493, + 124863204326006281050248345622785611341, + 208140791672912941099032676363795826239, + 109100704943125578954618450465328411381, + 101144857096536798592317001716874498869, + 86520853165236391683734696798873338484, + 314203898608206346152153894730126862032, + 337644330531048322936730449085273015897, + 339691214173151855963281264996741081198, + 4974335854522284426566916404706362190, + 196414541290605833169617742009592206005, + 300365715027419908772018451000853513257, + 132577590439298175342883947882081335238, + 263878934156944337125536470476971864904, + 233923779527024545789807684282251004489, + 131665083890128424343856912045539680379, + 169352350623046944819489716243588353374, + 332320061953920626841597554422150506343, + 172139239266840723842707506448553977032, + 338987809311295280502277384193643470904, + 310167963287987736955286574096116593070, + 18519309750083408357079283121562451223, + 313564124160272566304194347102740447959, + 158906361430100740150658893371856130179, + 95701448370845478068254397660689605516, + 277238645116514805831097547261433526823, + 143209809787977525518308738738880422040, + 52798759258241942570979511359410125428, + 280733043575169518362981473565094983737, + 125265944423527168256904163343979763377, + 239683922564149602736966057272398460264, + 328926062097868951504077452504669922085, + 12358813718555259181684522109757917209, + 203575127917216970031340038111998633493, + 315502175925381787534820009727778621784, + 51554118958403705746989698684550226985, + 144116720682187797891226079153148640892, + 82451417815285479898403806642641132082, + 186902012655005578027397264183435980472, + 33625305532234670390023847516519354930, + 197966011548828444022338585924675270611, + 338295823785170362918829953875589854558, + 168822590932972871866450287070115064860, + 140790721261095706323502982512044536988, + 274496954896219652696909423114529491504, + 339545551834219214231916796020998722208, + 287690546721521539834754953488501778055, + 222065686727893123386904155196173798489, + 74405117096035972833830432179016472894, + 227162005572928491352390677389529763085, + 180709042558678267804347035446588378475, + 205875219752703314568931504400449457892, + 57317178928629534585262679694795341889, + 53358965587809360426133007570924386284, + 147787351987681307505516744626017659828, + 204232118816580034806859877547430404821, + 265720665050899807525608255627725680283, + 243000591446827277138785181106636904418, + 302456119993615948279247739377395306578, + 322962192027178373763971906935276434769, + 326420716753970971091644559942082041066, + 236654545216880540796223630593954372759, + 50521133337630896515784142044593212754, + 9267802159093076155706887778612249331, + 325522942434685073094136443680011961361, + 192682179850857199992091829042064895969, + 314864237895746760310736419452902807972, + 118110231100042762477446006412839968070, + 289343784617659729396508880032068562430, + 101989450006512218740615208375588591689, + 312547556274232015781431813120234646931, + 164820945314900024285827141604899423993, + 128945941564122507971270698431915949999, + 193079131540605264366545438020720819161, + 223700928183392668735069779119091432042, + 43346391068518570409069107876068495735, + 142412886278717401332026472944416778459, + 1849935188028431796526211154154310997, + 185158338190715399808990406060340669310, + 297283936372651553856542205349049044098, + 187249263280892350318945311530344895607, + 23983226407233284446785287276993024890, + 237188694161353479360907996789831009591, + 148728211580346479983672545364133437263, + 187341439561034011093365261507806225518, + 212997861984480309171261712306611028308, + 63399801444325324698609238346981078465, + 91728364814444314404824629262948230111, + 32715757456789913488723324600282994650, + 269652131788898035519253492215905290248, + 115539653526852109661444656231699418344, + 171081833323177810791432313985591011623, + 3088403098500007329298505322815864984, + 32424346684320607752881892459898139111, + 129304480335990825040470217571765833580, + 262113825311805794210841948226528437913, + 55967954843542081252345215961381591687, + 73692338009507700432207520465512222635, + 43100108541061168616022500222122537182, + 2279741118419694817978913958827940054, + 209207581190236367534533098662422781049, + 79364598170184386374865388987943569285, + 83754191790187064317181377455913425959, + 105903243335747692983269541729934460863, + 68600884388131324600073417027612130105, + 53559242678598888571051637563625109998, + 31123334673239505985502485469190871818, + 108221987199725942615133993358635423732, + 144858385761375916683877311660170870186, ])) .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint64_513_random/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_513_random/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Vector = deserialize(&expected_encoding); + let recovered_value: Vector = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f6fe5bb836cca4115fcca592f3ca646c0d56b4ab316eb8f469c372846ec6d7f6"); + root_from_hex("0x7c9e8b3a007dbdcf573b837b5ace3e186a390e605306d95a3c9c4fc893b62088"); assert_eq!(root, expected_root); } #[test] -fn test_basic_vector_vec_uint128_31_random() { - let mut value = Vector::::try_from(Vec::::from_iter([ - 322161099503949134246875383873042092581, - 48424120129033191202980611955490263589, - 83525771833522514138478832606095687392, - 174251362918903408377989570730386164359, - 327747722507188692603366405698089864121, - 324251219760392034443636083014245934168, - 160254778627258514227686166426224969984, - 53192731999358379862870660337238805470, - 166940110809962759607404717190565613527, - 287582397582068604130213094273086311503, - 219506566239800782574702895602883165791, - 49245529651081786813928168573143042666, - 301794544056749546798446275637383573640, - 155937435447398140651092870430499978315, - 127316426699795576538260461433889230642, - 128452975846864490943894793014215027614, - 317260113814669819552084270499724543086, - 16914731941051294314237570386865266560, - 144218158159492149549446492790394091793, - 282489757228217463406902370669044160920, - 311015163710547241879359459124322944322, - 274557519463898321910961455997120503679, - 190811083757632720512110498408594642752, - 92699632770453078379646724062876033016, - 88903809372731974263458073004247133983, - 68990849651486535201001743283432629392, - 124895642468721040054565964881513861598, - 134825508388621974592041493857531874555, - 78462050498312150224719961424376658389, - 153336548508268826136733686433451871611, - 41167450208159900235790428302057680448, +#[should_panic] +fn test_basic_vector_vec_uint_128_513_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_random_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_513_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_random_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_513_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_random_one_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_513_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_random_one_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_513_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_513_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_513_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_513_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_513_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_zero_one_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_513_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_zero_one_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_5_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_5_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x42b2994e8f77b7cc4b05fe01a2d6570ab7d29be54e434582425697ee8cd8f2c2"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_5_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_max_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_5_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_max_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_5_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_max_one_less/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_5_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_max_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_5_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_nil/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_5_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 194578830033788736352569855138204668708, + 222404791245710801707639009374583541271, + 300921627290141104382250227469409620613, + 262165721261575220299431625592070664586, + 114390707564886779102314838295082086088, ])) .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_31_random/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_5_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3783f4ecb6a705af305039d2f104b57616a40fd279144e6723358ca561a22a51"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_5_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_random_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_5_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_random_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_5_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_random_one_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_5_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_random_one_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_128_5_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_5_zero/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Vector = deserialize(&expected_encoding); + let recovered_value: Vector = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("6f8bfa11523cb7f78e6dabe9796ad0cb5b4730f6647c77164474985034ce1eba"); + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); assert_eq!(root, expected_root); } #[test] -fn test_basic_vector_vec_uint128_8_zero() { - let mut value = - Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0, 0, 0, 0])).unwrap(); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint128_8_zero/serialized.ssz_snappy", +#[should_panic] +fn test_basic_vector_vec_uint_128_5_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_zero_one_byte_less/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_5_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_5_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_zero_one_less/serialized.ssz_snappy", ); - assert_eq!(encoding, expected_encoding); - let recovered_value: Vector = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); + deserialize::>(&encoding); +} - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); - assert_eq!(root, expected_root); +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_128_5_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); } #[test] -fn test_basic_vector_vec_uint32_3_zero() { - let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0])).unwrap(); +fn test_basic_vector_vec_uint_128_8_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + 340282366920938463463374607431768211455, + ])) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/valid/vec_uint32_3_zero/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_8_max/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Vector = deserialize(&expected_encoding); + let recovered_value: Vector = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x375d6c7b280a1e30f968db1d948da0f977bf9139b0d5516761ac874700208aba"); assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_2_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_128_8_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_16_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_128_8_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_5_max_one_less() { +fn test_basic_vector_vec_uint_128_8_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_1_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_128_8_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_4_max_one_more() { +fn test_basic_vector_vec_uint_128_8_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_bool_3_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_nil/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_128_8_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 50419731819167183509591636238702702250, + 243160052554941226771061620517961416402, + 132077915854571525015052582449039997777, + 61460288984888672921797294507799676928, + 33856030730033169859812168683582159294, + 252573635149269036055565766513369444631, + 279794156752397104374168485305690172734, + 134813396102573383821633959344133057265, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_8_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5b77a9c4d86ba3e9079f98093f5e6da648e81f10f89f46c1fcab2a4c779c0363"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_2_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_128_8_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_4_random_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_random_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_128_8_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_512_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_128_8_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_8_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_128_8_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_random_one_more/serialized.ssz_snappy"); deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_2_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_zero_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_128_8_zero() { + let mut value = + Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0, 0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint128_8_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_512_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_128_8_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_16_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_128_8_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_31_zero_one_less() { +fn test_basic_vector_vec_uint_128_8_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_1_nil() { +fn test_basic_vector_vec_uint_128_8_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_2_max_one_less() { +fn test_basic_vector_vec_uint_16_0() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_0/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_5_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_nil/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_16_16_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_16_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_3_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_16_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_31_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_16_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_3_random_one_more() { +fn test_basic_vector_vec_uint_16_16_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_random_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_5_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_16_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_1_zero_one_more() { +fn test_basic_vector_vec_uint_16_16_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_4_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_16_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 14966, 37668, 46928, 65487, 22250, 24796, 7043, 49742, 46495, 44245, 5372, 46169, 36046, + 60670, 29615, 59474, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_16_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x763a249350b7cfffea56dc60831b4ec29fb5d5acfc1459b4ce8cfeecaf7352e8"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_16_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_16_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_512_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_16_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_4_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_16_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_1_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_16_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint256_5_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_16_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_16_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_512_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_16_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_16_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_16_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_zero_one_byte_more/serialized.ssz_snappy"); deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_3_random_one_less() { +fn test_basic_vector_vec_uint_16_16_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_random_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_31_zero_one_less() { +fn test_basic_vector_vec_uint_16_16_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_513_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_1_max() { + let mut value = Vector::::try_from(Vec::::from_iter([65535])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_1_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffff000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_1_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_1_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_513_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_1_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_3_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_1_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_3_zero_one_less() { +fn test_basic_vector_vec_uint_16_1_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_2_zero_one_less() { +fn test_basic_vector_vec_uint_16_1_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_31_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_zero_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_16_1_random() { + let mut value = Vector::::try_from(Vec::::from_iter([58671])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_1_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x2fe5000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_512_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_1_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_512_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_1_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_31_max_one_less() { +fn test_basic_vector_vec_uint_16_1_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_512_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_1_random_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_random_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_bool_16_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_zero_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_16_1_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_1_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_513_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_1_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_4_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_max_one_byte_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_1_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_513_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_1_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_zero_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_8_max_one_less() { +fn test_basic_vector_vec_uint_16_1_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_513_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_2_max() { + let mut value = Vector::::try_from(Vec::::from_iter([65535, 65535])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_2_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffff00000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_4_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_2_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_2_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_2_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_16_zero_one_more() { +fn test_basic_vector_vec_uint_16_2_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_31_max_one_less() { +fn test_basic_vector_vec_uint_16_2_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_31_zero_one_more() { +fn test_basic_vector_vec_uint_16_2_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_16_2_random() { + let mut value = Vector::::try_from(Vec::::from_iter([12188, 36886])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_2_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x9c2f169000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_513_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_2_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_16_2_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_random_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_4_nil() { +fn test_basic_vector_vec_uint_16_2_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_16_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_2_random_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_random_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_16_2_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_2_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_31_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_2_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_31_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_2_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_513_nil() { +fn test_basic_vector_vec_uint_16_2_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_2_zero_one_less() { +fn test_basic_vector_vec_uint_16_2_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_zero_one_more/serialized.ssz_snappy", ); deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_1_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_31_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_31_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x43cbd26c37dcff8448ce8896f9b5e553a1047de0c59ec3b477decefbdea9c74b"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_16_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_31_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_8_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_31_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_2_nil() { +fn test_basic_vector_vec_uint_16_31_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_5_zero_one_more() { +fn test_basic_vector_vec_uint_16_31_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_512_max_one_less() { +fn test_basic_vector_vec_uint_16_31_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_5_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_31_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 2630, 4376, 65427, 13583, 41975, 15842, 27686, 33957, 45114, 56180, 24895, 4175, 40381, + 32830, 48421, 52207, 58611, 41821, 31373, 23853, 55119, 1957, 34877, 62496, 37311, 40303, + 44876, 36839, 47492, 53209, 24055, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_31_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x29fab6cb24858519d6e8d3af2fdac7ec9fce5c08e978fb1a3cdb3fad6fe88f7f"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_8_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_31_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_513_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_31_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_512_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_31_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_5_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_31_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_4_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_nil/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_16_31_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_31_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_2_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_31_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_513_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_31_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_512_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_31_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_zero_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_513_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_31_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_zero_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_2_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_16_3_max() { + let mut value = + Vector::::try_from(Vec::::from_iter([65535, 65535, 65535])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_3_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffff0000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_31_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_3_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_8_random_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_random_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_3_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_8_zero_one_more() { +fn test_basic_vector_vec_uint_16_3_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_513_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_zero_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_3_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_512_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_3_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_5_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_16_3_random() { + let mut value = + Vector::::try_from(Vec::::from_iter([55998, 58650, 32471])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_3_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xbeda1ae5d77e0000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_1_random_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_random_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_3_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_8_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_3_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_4_zero_one_more() { +fn test_basic_vector_vec_uint_16_3_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_5_zero_one_less() { +fn test_basic_vector_vec_uint_16_3_random_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_random_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_513_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_max_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_16_3_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_3_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_8_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_3_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_512_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_3_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_1_max_one_byte_less() { +fn test_basic_vector_vec_uint_16_3_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_max_one_byte_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_2_random_one_less() { +fn test_basic_vector_vec_uint_16_3_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_random_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint16_5_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_zero_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_3_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_16_4_max() { + let mut value = + Vector::::try_from(Vec::::from_iter([65535, 65535, 65535, 65535])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_4_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffff000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_8_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_4_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_512_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_4_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_3_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_4_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_5_random_one_less() { +fn test_basic_vector_vec_uint_16_4_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_random_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_31_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_4_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_4_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_16_4_random() { + let mut value = + Vector::::try_from(Vec::::from_iter([15417, 28067, 51352, 59311])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_4_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x393ca36d98c8afe7000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_8_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_4_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_5_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_4_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_3_max_one_byte_more() { +fn test_basic_vector_vec_uint_16_4_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_max_one_byte_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_513_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_4_random_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_random_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_1_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_zero_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_16_4_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_4_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_16_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_4_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_3_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_4_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_16_max_one_more() { +fn test_basic_vector_vec_uint_16_4_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_5_max_one_less() { +fn test_basic_vector_vec_uint_16_4_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_16_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_512_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_512_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xd3313908d702519e871c34a2b5f7d84108966149289a16d7795ef15ebaa42b25"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_2_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_512_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_512_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_512_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_max_one_byte_more/serialized.ssz_snappy"); deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_3_nil() { +fn test_basic_vector_vec_uint_16_512_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_5_nil() { +fn test_basic_vector_vec_uint_16_512_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint256_5_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_random_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_512_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_512_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_5_random_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_random_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_16_512_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 39340, 21094, 12815, 18079, 3546, 9133, 45047, 41320, 3878, 13753, 38525, 64568, 43355, + 62649, 55650, 30889, 7989, 16810, 53928, 52810, 54272, 34111, 43130, 14634, 55804, 24247, + 2549, 37573, 53039, 1273, 63106, 10081, 35901, 22063, 65529, 36398, 22557, 6548, 49942, + 51535, 8125, 6097, 44735, 41844, 6924, 38812, 46284, 28742, 15255, 52107, 18447, 53412, + 25887, 55412, 63792, 34766, 5505, 60081, 60102, 22907, 4472, 52200, 9287, 57769, 19130, + 9576, 33612, 29442, 51950, 31312, 57224, 42421, 3948, 27456, 17061, 26184, 43827, 38666, + 45497, 49012, 31663, 20589, 33660, 6416, 42817, 12859, 36023, 18361, 13106, 3948, 6069, + 45466, 29677, 18064, 3643, 3116, 53510, 64358, 43166, 45247, 20328, 64702, 19889, 60714, + 32942, 45721, 46172, 65267, 36597, 16011, 60612, 34941, 2235, 28718, 60810, 57652, 34739, + 8085, 40064, 34439, 30836, 63285, 49357, 36164, 40730, 6028, 20536, 7821, 11758, 13935, + 41594, 5480, 50109, 45486, 34524, 65518, 33646, 26927, 51166, 8137, 65325, 47159, 15817, + 21430, 55199, 43094, 18188, 10207, 9270, 12316, 59028, 45281, 65293, 18359, 26572, 1483, + 37642, 33838, 30229, 20598, 17948, 17913, 8381, 2294, 65136, 56785, 32374, 21420, 32944, + 55524, 54245, 9455, 19743, 46340, 44594, 34585, 20335, 47339, 56153, 6446, 38290, 11996, + 3640, 19236, 56251, 26006, 39485, 49775, 18442, 14177, 58677, 29326, 65175, 15895, 55082, + 13796, 36474, 17814, 15645, 18234, 33170, 51110, 44025, 25628, 50098, 4543, 11961, 5240, + 12269, 60922, 50694, 57333, 36294, 54967, 34897, 38937, 23327, 21211, 38130, 40763, 28268, + 32512, 44967, 13536, 14845, 33262, 60590, 42683, 51728, 39972, 55685, 7063, 44366, 38396, + 34545, 19207, 23781, 5187, 6760, 4664, 2548, 34910, 45079, 63988, 24389, 33740, 46265, + 48490, 13086, 13997, 4472, 58789, 42140, 38861, 56799, 27990, 2090, 17510, 18149, 56801, + 36116, 29, 27248, 14112, 43872, 56950, 31835, 54234, 60391, 61682, 6150, 8409, 14113, + 14813, 43837, 34413, 35895, 60346, 9764, 39419, 8802, 34406, 19505, 46628, 3351, 48702, + 8558, 5754, 2593, 60784, 39575, 1647, 5760, 16362, 63845, 48749, 27443, 24090, 40960, + 19478, 5559, 7717, 62950, 12398, 29842, 16378, 36410, 37918, 22070, 37187, 2388, 2471, + 59879, 9256, 16878, 28021, 9280, 63982, 3237, 64103, 60696, 53445, 43639, 26328, 22322, + 25785, 42833, 11185, 19944, 39503, 46656, 62113, 54641, 39184, 38083, 52218, 10422, 19936, + 38976, 37156, 53804, 24969, 32577, 54761, 27676, 35737, 44695, 48600, 31136, 19500, 44205, + 36060, 25786, 26618, 37361, 8899, 64311, 2514, 9554, 32401, 56118, 2234, 41629, 45679, + 18067, 55083, 13659, 38338, 11145, 48099, 7097, 19777, 40789, 42260, 16593, 28212, 32284, + 48885, 60017, 41548, 48980, 52748, 29436, 6519, 51390, 13850, 16050, 57484, 19504, 2382, + 57695, 21309, 36053, 58478, 36350, 38811, 1214, 25105, 48123, 49033, 13665, 51370, 49698, + 6760, 32128, 58193, 128, 1545, 26614, 50542, 30613, 54988, 14353, 10738, 7815, 13360, + 40678, 7110, 25066, 60556, 54461, 22528, 17659, 13689, 48277, 30774, 43061, 20261, 15691, + 35630, 19815, 30383, 49861, 2839, 31450, 13493, 28681, 541, 61617, 22342, 59591, 40410, + 38843, 30711, 35254, 41534, 728, 11071, 55064, 35225, 56657, 37227, 9777, 34110, 65339, + 21575, 59226, 17161, 38436, 43428, 43115, 38104, 42399, 18787, 25758, 38789, 26768, 57600, + 7547, 87, 63710, 50131, 47366, 52622, 62452, 41355, 23911, 59936, 32112, 53056, 25947, + 1377, 20244, 46065, 60988, 10318, 54100, 17850, 50438, 11595, 21746, 25610, 55196, 23824, + 6586, 41973, 6026, 57980, 57254, 40365, 21772, 63353, 32160, 11991, 18726, 48970, 29746, + 49440, 17081, 41097, 13465, 63697, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_512_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x01f2508b1eb51699811c789fd266764f6c2831cbbfd862c91b860066149970e9"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_1_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_512_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_2_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_512_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_512_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_512_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_512_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_512_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_bool_5_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_nil/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_16_512_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_512_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x9efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_8_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_512_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_3_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_512_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_2_random_one_more() { +fn test_basic_vector_vec_uint_16_512_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_random_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_512_nil() { +fn test_basic_vector_vec_uint_16_512_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_5_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_513_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_513_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x193411b011bc1acbf600803324bc5dc359acef14c1be285ef7565186c0ea9b10"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_31_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_513_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_512_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_513_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_8_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_513_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_513_max_one_less() { +fn test_basic_vector_vec_uint_16_513_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_1_nil() { +fn test_basic_vector_vec_uint_16_513_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_3_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_nil/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_16_513_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 27185, 40496, 45588, 22785, 5755, 5950, 14234, 16151, 23366, 48189, 28838, 47431, 22937, + 44687, 9960, 18008, 43796, 16472, 40344, 6307, 60750, 42176, 48076, 3047, 34291, 53364, + 5934, 35808, 39627, 16700, 61818, 17790, 2074, 12801, 14876, 34651, 31986, 54424, 35627, + 13246, 27491, 2754, 17156, 3650, 56913, 28167, 40485, 5286, 26716, 54344, 20105, 10227, + 12201, 17682, 4930, 50210, 52882, 56220, 56083, 32674, 54172, 58006, 17356, 19067, 27616, + 33887, 37780, 12415, 3852, 5482, 6320, 20044, 51795, 34591, 8396, 35071, 39025, 33720, + 27350, 1214, 12489, 28905, 10545, 7894, 58460, 50487, 7556, 5510, 43456, 9897, 21919, + 43418, 15610, 51627, 22828, 26017, 41734, 27862, 2329, 13688, 53343, 26009, 43570, 5267, + 1550, 22485, 16557, 64823, 64098, 49563, 7109, 31682, 48433, 47419, 33456, 15614, 58115, + 37566, 11748, 56178, 31947, 55839, 23907, 39863, 45318, 62202, 53558, 32368, 15687, 53444, + 47210, 42931, 37640, 53500, 9048, 51678, 37398, 5322, 43230, 21833, 36405, 35061, 29262, + 9277, 12384, 59158, 31163, 4746, 57569, 1723, 58523, 6263, 14535, 59878, 52424, 31661, + 6214, 23799, 19965, 64506, 13195, 39399, 34387, 23723, 49447, 46439, 36212, 62454, 58077, + 49181, 17517, 57269, 57490, 9498, 980, 61407, 4360, 41477, 20314, 15300, 22147, 40103, + 54993, 61031, 41339, 32587, 12514, 54805, 51111, 33512, 41665, 59236, 7998, 31477, 45546, + 63362, 6925, 42377, 20507, 6202, 19455, 16556, 23535, 29143, 7737, 51549, 58357, 61793, + 58806, 2026, 13961, 6066, 19732, 46806, 23699, 19514, 8377, 64814, 47852, 56334, 22031, + 14309, 55332, 28372, 13423, 28189, 4416, 40742, 55008, 22937, 40917, 47057, 23312, 6084, + 50385, 33592, 27753, 25055, 47606, 50144, 49001, 16740, 34502, 8301, 21864, 29823, 42703, + 59858, 3591, 46786, 31144, 58289, 45473, 25231, 34072, 62297, 23287, 54205, 24656, 17481, + 60407, 16069, 41459, 23673, 47102, 10189, 53774, 2466, 24103, 40128, 6503, 59475, 54342, + 26961, 8919, 26201, 5446, 55610, 19872, 1418, 57935, 65235, 63090, 12315, 8968, 51805, + 42662, 59153, 39158, 46192, 65217, 3304, 62992, 4936, 10694, 47294, 14922, 10373, 49555, + 52677, 56876, 43038, 47088, 52506, 53601, 60897, 49707, 21052, 58120, 11098, 12866, 15398, + 5442, 37598, 25597, 44803, 23359, 62624, 38117, 36739, 21148, 48895, 32395, 10357, 64402, + 12077, 39546, 20435, 32185, 50268, 37625, 11605, 37027, 44710, 32293, 64708, 49747, 7621, + 29736, 4507, 14697, 20130, 17173, 14817, 60481, 49719, 44836, 13313, 36862, 33794, 46741, + 36669, 41584, 44211, 35232, 59687, 51526, 37997, 54193, 17520, 56053, 39102, 61771, 49769, + 18370, 61989, 25683, 56035, 26878, 27505, 41063, 1141, 3229, 47503, 61963, 34624, 36914, + 48463, 60248, 64422, 32255, 14207, 22118, 30112, 61730, 19016, 17969, 4022, 52923, 36107, + 56603, 36238, 12010, 36707, 29754, 12654, 3873, 25427, 28554, 12347, 17269, 55449, 54337, + 28007, 48659, 45648, 53594, 58826, 6468, 56179, 221, 22362, 45908, 38017, 4298, 3453, + 41039, 12557, 21685, 2289, 6762, 58315, 33753, 44846, 9774, 57922, 10115, 35370, 16928, + 21313, 20458, 54321, 14421, 9423, 19692, 35952, 11796, 6252, 65089, 61471, 59269, 17700, + 44039, 8858, 662, 39168, 17303, 52820, 49010, 39886, 56264, 32618, 9688, 32617, 9689, 2814, + 21516, 30617, 30594, 33147, 12190, 19780, 26425, 63835, 38413, 25273, 12600, 8022, 42766, + 50061, 5733, 18650, 47269, 8553, 36611, 21506, 39512, 58347, 47847, 61805, 44970, 33468, + 48499, 64833, 45876, 3604, 39105, 13538, 26802, 61195, 24696, 61996, 16997, 11456, 46813, + 32837, 7224, 39459, 24848, 46856, 25573, 5246, 64735, 17847, 51773, 60812, 37973, 30569, + 64742, 51362, 63841, 3543, 52659, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_513_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x188c519f6d8f57d2cc1232b7ad085ed707cec9537fb3912ffa095423dc614dea"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_5_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_513_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_4_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_513_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_1_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_513_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_16_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_513_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_16_513_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_513_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xd88ddfeed400a8755596b21942c1497e114c302e6118290f91e6772976041fa1"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_8_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_513_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_4_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_513_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_513_max_one_less() { +fn test_basic_vector_vec_uint_16_513_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_512_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_513_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_zero_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_2_random_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_random_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_16_5_max() { + let mut value = + Vector::::try_from(Vec::::from_iter([65535, 65535, 65535, 65535, 65535])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_5_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffffffff00000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_16_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_5_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_3_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_5_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_512_nil() { +fn test_basic_vector_vec_uint_16_5_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_8_max_one_more() { +fn test_basic_vector_vec_uint_16_5_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_5_random_one_less() { +fn test_basic_vector_vec_uint_16_5_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_random_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_8_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_5_random() { + let mut value = + Vector::::try_from(Vec::::from_iter([35919, 34593, 14706, 39574, 53868])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_5_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x4f8c21877239969a6cd200000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_16_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_5_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_31_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_5_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_3_max_one_less() { +fn test_basic_vector_vec_uint_16_5_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_16_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_5_random_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_random_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_bool_2_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_16_5_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_5_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_513_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_5_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_513_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_5_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_513_zero_one_less() { +fn test_basic_vector_vec_uint_16_5_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_5_max_one_byte_less() { +fn test_basic_vector_vec_uint_16_5_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_max_one_byte_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_513_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_max_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} +fn test_basic_vector_vec_uint_16_8_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_8_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_basic_vector_vec_uint128_512_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_random_one_more/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffffffffffffffffffff00000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_4_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_8_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_512_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_8_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_16_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_8_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_5_max_one_more() { +fn test_basic_vector_vec_uint_16_8_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_8_max_one_less() { +fn test_basic_vector_vec_uint_16_8_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_8_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_8_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 48757, 12920, 33149, 59406, 48754, 39786, 12312, 58318, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_8_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x75be78327d810ee872be6a9b1830cee300000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_3_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_8_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_31_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_8_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_8_nil() { +fn test_basic_vector_vec_uint_16_8_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_31_max_one_less() { +fn test_basic_vector_vec_uint_16_8_random_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_random_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_2_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_nil/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_16_8_zero() { + let mut value = + Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0, 0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint16_8_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_513_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_16_8_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_3_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_16_8_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_0() { +fn test_basic_vector_vec_uint_16_8_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_0/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_513_zero_one_more() { +fn test_basic_vector_vec_uint_16_8_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint64_512_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_random_one_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint32_2_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_random_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_31_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_0() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_0/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_31_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_16_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_16_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x006eed26f731a68917853879507d9fa9f4044f7af999f9df535fac29715db555"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_5_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_16_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_513_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_16_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_1_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_16_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_4_nil() { +fn test_basic_vector_vec_uint_256_16_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_3_zero_one_more() { +fn test_basic_vector_vec_uint_256_16_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_513_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_16_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 240, 52, 157, 62, 33, 82, 186, 76, 43, 156, 161, 241, 59, 31, 225, 79, 247, 97, + 118, 251, 234, 138, 47, 120, 129, 122, 206, 216, 201, 221, 67, 133, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 212, 233, 42, 72, 109, 30, 150, 166, 88, 4, 208, 133, 82, 125, 255, 36, 249, 82, + 137, 253, 208, 202, 238, 139, 89, 125, 32, 184, 194, 35, 67, 228, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 208, 105, 149, 83, 2, 180, 140, 191, 233, 37, 135, 57, 130, 252, 145, 71, 76, 173, + 132, 46, 249, 51, 122, 56, 225, 158, 152, 51, 196, 172, 24, 18, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 97, 39, 155, 196, 77, 16, 157, 41, 102, 252, 217, 171, 184, 68, 202, 234, 63, 183, + 7, 221, 237, 207, 49, 201, 225, 175, 163, 83, 239, 45, 247, 101, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 70, 14, 165, 110, 162, 181, 160, 255, 106, 186, 164, 191, 44, 169, 228, 169, 248, + 154, 41, 111, 79, 244, 153, 151, 24, 219, 136, 247, 172, 88, 238, 251, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 62, 10, 101, 3, 25, 26, 183, 177, 148, 210, 253, 158, 9, 182, 247, 222, 224, 93, + 222, 42, 167, 173, 74, 239, 207, 212, 142, 144, 20, 85, 92, 90, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 43, 43, 101, 214, 10, 154, 114, 74, 19, 170, 147, 124, 11, 70, 23, 0, 125, 82, 11, + 121, 71, 230, 232, 150, 239, 232, 250, 93, 218, 212, 204, 130, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 49, 96, 40, 230, 174, 26, 30, 184, 55, 154, 214, 62, 60, 161, 121, 92, 59, 246, 44, + 186, 80, 192, 28, 66, 237, 133, 169, 171, 172, 173, 59, 90, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 196, 231, 203, 2, 98, 198, 170, 41, 17, 140, 109, 246, 151, 202, 56, 81, 122, 237, + 131, 226, 70, 26, 136, 50, 152, 234, 50, 172, 133, 77, 247, 85, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 249, 187, 45, 222, 65, 149, 93, 108, 105, 204, 110, 197, 173, 81, 110, 93, 180, + 149, 163, 181, 52, 5, 89, 169, 35, 190, 40, 58, 238, 202, 172, 192, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 54, 52, 107, 75, 46, 163, 28, 241, 243, 172, 165, 205, 237, 118, 85, 13, 170, 7, + 205, 220, 134, 48, 51, 139, 212, 170, 109, 129, 159, 233, 76, 97, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 61, 221, 81, 65, 43, 122, 39, 223, 193, 16, 207, 117, 189, 255, 60, 203, 63, 111, + 177, 81, 97, 245, 119, 44, 97, 2, 84, 80, 86, 146, 230, 230, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 125, 167, 181, 185, 177, 182, 24, 151, 80, 163, 2, 242, 167, 227, 201, 211, 136, + 98, 219, 64, 251, 168, 254, 63, 36, 30, 47, 49, 135, 67, 81, 124, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 40, 175, 24, 214, 113, 163, 253, 157, 148, 106, 189, 102, 38, 33, 201, 187, 32, + 147, 153, 228, 220, 138, 87, 137, 145, 55, 13, 233, 91, 137, 56, 93, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 117, 43, 14, 180, 130, 170, 82, 40, 76, 107, 118, 110, 10, 246, 96, 35, 44, 43, 50, + 201, 61, 101, 247, 36, 42, 134, 71, 103, 91, 62, 238, 249, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 171, 127, 221, 201, 139, 31, 221, 183, 128, 145, 61, 209, 23, 93, 25, 164, 96, 48, + 210, 1, 84, 130, 44, 131, 33, 60, 0, 100, 125, 32, 229, 220, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_16_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x1acf6f6a33e7a6642bf9f60d5c829ca9f09390bf30663f50ef1424796f582057"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_2_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_16_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_513_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_16_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_5_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_16_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_4_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_16_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_bool_5_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_zero_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_16_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_16_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_5_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_16_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_513_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_zero_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_16_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_4_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_16_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_zero_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_8_zero_one_more() { +fn test_basic_vector_vec_uint_256_16_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_16_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_1_max() { + let mut value = Vector::::try_from(Vec::::from_iter([U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap()])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_1_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_513_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_1_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_2_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_1_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_4_nil() { +fn test_basic_vector_vec_uint_256_1_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_2_nil() { +fn test_basic_vector_vec_uint_256_1_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_1_zero_one_less() { +fn test_basic_vector_vec_uint_256_1_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_2_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_1_random() { + let mut value = Vector::::try_from(Vec::::from_iter([U256::try_from_bytes_le( + Vec::::from_iter([ + 23, 198, 217, 240, 65, 96, 243, 95, 206, 232, 214, 26, 230, 80, 25, 35, 116, 138, 185, + 248, 165, 147, 63, 252, 41, 25, 209, 95, 73, 233, 26, 244, + ]) + .as_ref(), + ) + .unwrap()])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_1_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x17c6d9f04160f35fcee8d61ae6501923748ab9f8a5933ffc2919d15f49e91af4"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_16_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_1_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_3_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_1_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_3_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_1_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_31_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_1_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_31_random_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_random_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_1_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap()])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_1_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_513_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_1_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_31_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_1_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_31_nil() { +fn test_basic_vector_vec_uint_256_1_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_4_max_one_less() { +fn test_basic_vector_vec_uint_256_1_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint8_512_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_random_one_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_5_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_zero_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_2_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_2_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x8667e718294e9e0df1d30600ba3eeb201f764aad2dad72748643e4a285e1d1f7"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_1_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_2_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_513_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_2_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_2_zero_one_more() { +fn test_basic_vector_vec_uint_256_2_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_4_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_2_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_31_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_2_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_bool_4_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_zero_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} +fn test_basic_vector_vec_uint_256_2_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 205, 105, 106, 166, 152, 194, 84, 202, 219, 225, 56, 160, 68, 10, 149, 101, 132, + 138, 122, 138, 194, 11, 156, 151, 229, 118, 123, 132, 155, 190, 223, 147, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 7, 186, 191, 192, 7, 230, 151, 207, 220, 105, 184, 31, 117, 110, 158, 244, 167, 86, + 173, 232, 133, 233, 107, 240, 221, 64, 139, 35, 8, 9, 65, 144, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_2_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_basic_vector_vec_uint256_513_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_max_one_byte_more/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xe765c4ca305f07d9e25e1c4c879528e9994b9fb5e4230bfda8c4b7805b1905c7"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_8_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_2_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_8_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_2_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_4_random_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_random_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_2_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_513_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_2_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_16_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_zero_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_2_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_2_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint128_513_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_max_one_byte_more/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_16_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_2_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_8_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_2_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_5_zero_one_less() { +fn test_basic_vector_vec_uint_256_2_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_0() { +fn test_basic_vector_vec_uint_256_2_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_0/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_bool_1_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_31_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_31_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x7399c0e47ac1d2d1e38e8ee039ef6242bd17bc41816dd9c49d0c7720687950df"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_2_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_31_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_3_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_31_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_2_max_one_byte_more() { +fn test_basic_vector_vec_uint_256_31_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_max_one_byte_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_4_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_31_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_1_zero_one_less() { +fn test_basic_vector_vec_uint_256_31_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_8_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_31_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 193, 221, 0, 27, 7, 14, 132, 79, 246, 169, 102, 206, 52, 7, 70, 134, 104, 201, 85, + 248, 190, 117, 18, 78, 173, 106, 20, 121, 246, 174, 52, 111, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 77, 163, 1, 33, 241, 64, 145, 38, 118, 203, 187, 74, 226, 61, 193, 122, 84, 213, + 199, 190, 152, 30, 25, 148, 113, 35, 91, 41, 95, 81, 65, 193, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 62, 63, 30, 44, 176, 253, 109, 5, 94, 138, 230, 183, 64, 142, 121, 138, 118, 55, + 68, 199, 73, 150, 26, 179, 202, 238, 228, 119, 182, 66, 142, 181, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 126, 5, 183, 228, 32, 15, 73, 40, 131, 27, 123, 43, 103, 141, 219, 98, 62, 205, 85, + 38, 104, 240, 98, 11, 232, 253, 65, 78, 73, 138, 72, 25, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 109, 90, 131, 232, 44, 29, 218, 226, 157, 93, 247, 239, 96, 164, 131, 142, 114, + 175, 234, 237, 206, 45, 213, 110, 90, 157, 89, 110, 8, 61, 153, 232, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 20, 86, 100, 251, 170, 152, 231, 58, 130, 224, 226, 238, 69, 37, 195, 44, 207, 126, + 51, 118, 72, 155, 72, 1, 65, 166, 34, 12, 43, 0, 87, 113, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 161, 42, 241, 82, 66, 189, 83, 79, 78, 234, 170, 149, 181, 121, 234, 196, 29, 248, + 148, 222, 212, 164, 209, 130, 250, 177, 19, 182, 234, 132, 47, 194, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 202, 42, 41, 233, 119, 86, 102, 102, 21, 21, 180, 115, 212, 144, 13, 94, 126, 141, + 53, 132, 26, 127, 107, 83, 224, 31, 169, 25, 197, 243, 128, 37, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 219, 143, 23, 64, 86, 102, 131, 106, 133, 54, 96, 39, 17, 34, 130, 187, 59, 110, + 101, 241, 235, 57, 135, 43, 172, 96, 98, 86, 204, 140, 216, 49, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 149, 148, 138, 79, 51, 240, 14, 235, 219, 120, 11, 3, 229, 125, 62, 49, 130, 55, + 61, 61, 214, 114, 185, 228, 11, 104, 125, 90, 160, 205, 85, 15, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 3, 163, 91, 202, 215, 130, 178, 128, 87, 21, 242, 136, 83, 227, 10, 12, 138, 164, + 203, 43, 131, 20, 219, 62, 142, 20, 96, 107, 241, 115, 238, 107, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 53, 174, 177, 239, 64, 162, 213, 178, 223, 90, 208, 212, 87, 27, 145, 72, 82, 143, + 158, 106, 255, 72, 57, 101, 106, 123, 125, 133, 237, 247, 91, 96, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 186, 105, 38, 141, 57, 120, 240, 7, 49, 159, 250, 166, 5, 95, 67, 237, 120, 160, + 85, 239, 237, 243, 219, 91, 99, 173, 147, 44, 119, 182, 115, 70, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 153, 206, 8, 153, 108, 157, 130, 58, 46, 220, 171, 135, 10, 157, 243, 130, 18, 215, + 226, 154, 53, 65, 183, 35, 115, 18, 196, 219, 93, 0, 72, 66, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 43, 199, 155, 15, 79, 246, 48, 49, 5, 247, 16, 136, 127, 170, 54, 129, 144, 125, + 61, 98, 93, 239, 189, 0, 82, 65, 114, 30, 158, 68, 182, 40, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 60, 244, 129, 113, 176, 159, 9, 207, 54, 202, 45, 173, 210, 82, 121, 67, 223, 78, + 35, 158, 158, 120, 165, 97, 17, 172, 60, 239, 86, 143, 204, 91, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 86, 229, 158, 131, 226, 117, 240, 50, 5, 92, 109, 24, 69, 82, 68, 225, 157, 124, + 206, 164, 10, 248, 79, 243, 148, 42, 134, 121, 72, 53, 10, 130, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 67, 243, 95, 138, 28, 254, 88, 132, 100, 152, 126, 234, 243, 61, 251, 124, 188, 18, + 228, 138, 89, 170, 214, 111, 201, 85, 209, 208, 133, 49, 251, 246, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 158, 36, 44, 110, 93, 209, 197, 243, 226, 98, 109, 47, 67, 183, 211, 94, 140, 58, + 102, 195, 86, 151, 133, 201, 128, 97, 45, 117, 122, 250, 13, 9, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 164, 207, 184, 58, 249, 186, 175, 34, 118, 14, 178, 78, 252, 169, 243, 33, 140, + 146, 122, 94, 167, 10, 193, 16, 39, 4, 148, 253, 129, 252, 156, 146, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 241, 254, 164, 59, 80, 246, 221, 27, 23, 102, 106, 191, 174, 98, 212, 207, 45, 162, + 216, 255, 120, 207, 10, 131, 170, 156, 113, 3, 121, 217, 44, 30, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 37, 240, 161, 54, 122, 236, 178, 182, 209, 63, 135, 64, 171, 97, 170, 160, 85, 236, + 253, 159, 120, 72, 181, 101, 43, 114, 122, 93, 253, 189, 235, 13, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 37, 108, 195, 144, 156, 146, 136, 166, 183, 232, 83, 78, 177, 231, 95, 77, 82, 201, + 121, 28, 29, 17, 116, 59, 207, 162, 140, 160, 222, 238, 228, 115, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 104, 172, 43, 39, 207, 174, 177, 164, 213, 34, 173, 28, 186, 37, 202, 76, 25, 123, + 213, 148, 215, 139, 98, 214, 16, 32, 65, 2, 187, 51, 243, 242, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 144, 231, 33, 5, 53, 156, 65, 127, 83, 108, 232, 47, 63, 138, 240, 56, 0, 57, 143, + 87, 202, 122, 135, 105, 254, 195, 98, 135, 250, 22, 49, 130, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 149, 216, 205, 189, 144, 203, 149, 127, 90, 202, 114, 35, 55, 84, 198, 72, 202, + 207, 31, 159, 19, 228, 231, 181, 117, 93, 97, 57, 133, 243, 99, 97, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 160, 125, 245, 184, 129, 140, 184, 233, 68, 184, 156, 12, 142, 202, 77, 215, 163, + 168, 67, 216, 209, 201, 180, 252, 209, 169, 204, 21, 63, 62, 120, 36, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 146, 159, 182, 144, 237, 183, 9, 230, 55, 237, 136, 103, 166, 223, 199, 105, 180, + 124, 173, 16, 157, 45, 65, 190, 223, 204, 202, 163, 222, 68, 13, 105, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 205, 244, 175, 220, 65, 243, 125, 146, 29, 127, 3, 135, 181, 37, 184, 238, 253, + 236, 208, 56, 113, 55, 57, 224, 31, 32, 142, 252, 246, 23, 173, 153, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 127, 206, 138, 216, 23, 163, 78, 200, 208, 77, 20, 105, 182, 34, 196, 10, 171, 130, + 9, 120, 214, 180, 155, 66, 102, 30, 243, 90, 177, 244, 76, 110, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 29, 128, 241, 233, 25, 243, 148, 120, 122, 143, 67, 17, 176, 24, 21, 215, 64, 97, + 4, 154, 145, 60, 248, 254, 205, 97, 37, 111, 87, 79, 95, 2, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_31_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xa1bd4eec44b1f37b07b53f29daf2a3569be0d6ebe727e18539071206950a6813"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_3_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_31_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_513_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_31_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_16_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_31_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_1_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_31_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_4_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_31_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_31_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x9efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_4_random_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_random_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_31_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_16_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_31_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_512_max_one_less() { +fn test_basic_vector_vec_uint_256_31_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint8_8_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_zero_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_1_nil() { +fn test_basic_vector_vec_uint_256_31_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_1_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_zero_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_3_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_3_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x4a6ba660d16b4dde152d00ba82cdde34827411f341c56b102e7962410924ad36"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_3_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_3_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_31_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_3_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_5_nil() { +fn test_basic_vector_vec_uint_256_3_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_3_max_one_more() { +fn test_basic_vector_vec_uint_256_3_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_3_random_one_more() { +fn test_basic_vector_vec_uint_256_3_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_random_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_5_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_3_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 180, 21, 110, 11, 140, 206, 247, 50, 116, 42, 151, 240, 95, 129, 184, 145, 10, 60, + 171, 40, 120, 79, 137, 163, 69, 100, 70, 1, 173, 244, 248, 44, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 251, 233, 155, 132, 150, 17, 100, 94, 219, 18, 216, 181, 81, 16, 227, 193, 182, 29, + 106, 23, 114, 245, 186, 36, 187, 57, 209, 98, 187, 13, 191, 164, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 201, 244, 78, 58, 39, 55, 151, 126, 63, 239, 151, 45, 32, 114, 114, 145, 25, 154, + 100, 142, 85, 203, 94, 39, 125, 63, 163, 149, 244, 214, 209, 134, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_3_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0d0ad5da1149666a95382488e4164f5eaf34c9a5d4616dabaf74fc5c1cb5416c"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_8_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_3_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_3_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_3_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_2_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_3_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_3_random_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_random_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_3_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_31_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_3_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_3_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint128_5_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_zero_one_byte_less/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_4_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_3_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_2_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_3_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_4_random_one_less() { +fn test_basic_vector_vec_uint_256_3_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_random_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_5_max_one_more() { +fn test_basic_vector_vec_uint_256_3_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_2_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_4_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_4_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x375d6c7b280a1e30f968db1d948da0f977bf9139b0d5516761ac874700208aba"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_16_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_4_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_31_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_4_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_1_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_4_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_31_zero_one_more() { +fn test_basic_vector_vec_uint_256_4_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_512_max_one_more() { +fn test_basic_vector_vec_uint_256_4_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_16_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_zero_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_4_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 71, 106, 105, 163, 151, 75, 86, 137, 3, 140, 57, 168, 63, 49, 156, 118, 90, 171, + 234, 173, 47, 5, 84, 194, 65, 72, 161, 55, 197, 219, 55, 187, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 227, 195, 98, 142, 240, 64, 184, 45, 236, 219, 3, 44, 129, 239, 176, 243, 156, 167, + 64, 123, 43, 223, 126, 54, 226, 167, 224, 90, 66, 50, 146, 199, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 238, 211, 34, 186, 31, 76, 80, 81, 26, 125, 146, 107, 131, 167, 187, 18, 12, 81, + 114, 111, 72, 171, 248, 188, 8, 125, 60, 95, 202, 181, 10, 235, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 33, 12, 13, 114, 86, 47, 37, 217, 185, 14, 170, 41, 57, 200, 237, 119, 210, 221, + 195, 98, 101, 196, 217, 67, 23, 117, 28, 155, 29, 55, 126, 120, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_4_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xfa6875722e5f598b45c4b742d1156f397f73e5aeb1a6bb33eed523bdba40693d"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_8_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_4_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_2_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_4_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_2_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_4_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_513_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_4_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_bool_31_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_zero_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_4_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_4_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_1_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_4_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_3_random_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_random_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_4_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_16_nil() { +fn test_basic_vector_vec_uint_256_4_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_16_zero_one_less() { +fn test_basic_vector_vec_uint_256_4_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_4_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_512_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_512_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xa278cf32ca74f920b67a7b3d02447453d8883fecb4a7aa1ba4327079fa3d5162"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_512_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_512_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_1_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_512_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_512_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_512_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_16_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_512_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_1_max_one_more() { +fn test_basic_vector_vec_uint_256_512_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_4_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_512_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 139, 35, 218, 181, 245, 36, 123, 0, 134, 153, 41, 134, 218, 150, 141, 38, 149, 194, + 111, 25, 214, 237, 163, 176, 43, 132, 142, 30, 4, 87, 68, 59, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 13, 228, 36, 173, 95, 216, 228, 2, 93, 162, 64, 49, 195, 169, 78, 240, 209, 245, + 67, 79, 90, 144, 117, 81, 193, 138, 62, 16, 169, 45, 30, 177, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 180, 204, 172, 142, 34, 1, 159, 175, 179, 94, 83, 40, 205, 60, 57, 196, 75, 24, + 180, 227, 59, 56, 249, 197, 39, 21, 41, 65, 136, 188, 16, 203, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 136, 9, 197, 139, 21, 181, 120, 109, 230, 74, 246, 145, 67, 123, 83, 200, 110, 228, + 32, 242, 26, 164, 212, 175, 18, 49, 249, 59, 196, 183, 242, 43, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 27, 176, 216, 168, 133, 115, 169, 120, 164, 168, 201, 216, 70, 161, 67, 8, 76, 124, + 203, 241, 234, 248, 3, 19, 255, 44, 253, 145, 25, 41, 102, 207, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 172, 203, 158, 0, 251, 114, 212, 144, 254, 38, 6, 193, 194, 187, 179, 141, 93, 176, + 132, 31, 141, 231, 66, 172, 112, 185, 215, 170, 154, 150, 207, 121, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 152, 69, 141, 217, 228, 133, 209, 200, 234, 254, 219, 43, 217, 63, 187, 15, 201, + 18, 0, 53, 152, 1, 90, 242, 193, 188, 56, 114, 206, 0, 103, 154, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 212, 168, 133, 184, 109, 68, 248, 3, 109, 145, 65, 0, 26, 66, 119, 87, 14, 39, 67, + 180, 235, 56, 70, 141, 186, 176, 68, 25, 109, 209, 83, 106, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 4, 88, 85, 239, 234, 89, 114, 183, 63, 107, 128, 212, 17, 33, 42, 120, 210, 211, + 197, 121, 161, 81, 241, 224, 14, 41, 228, 160, 169, 110, 187, 163, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 103, 162, 118, 17, 88, 206, 51, 236, 189, 131, 225, 6, 163, 204, 250, 91, 189, 169, + 167, 193, 84, 88, 28, 17, 64, 175, 149, 32, 96, 4, 251, 10, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 176, 165, 38, 249, 246, 52, 83, 69, 151, 166, 168, 64, 78, 216, 131, 81, 255, 88, + 109, 66, 83, 96, 56, 188, 255, 205, 212, 219, 95, 212, 57, 201, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 217, 202, 132, 234, 62, 104, 254, 50, 96, 161, 153, 189, 118, 219, 233, 166, 68, + 193, 103, 75, 241, 74, 47, 75, 28, 159, 218, 102, 67, 173, 95, 15, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 239, 92, 129, 150, 134, 71, 200, 239, 221, 43, 114, 217, 205, 104, 21, 93, 33, 3, + 15, 155, 216, 97, 44, 69, 43, 163, 52, 176, 112, 14, 10, 47, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 125, 94, 124, 115, 181, 59, 245, 220, 67, 60, 195, 247, 0, 160, 110, 29, 70, 121, + 68, 249, 137, 213, 208, 191, 54, 23, 49, 239, 217, 225, 234, 125, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 46, 99, 123, 45, 218, 247, 208, 220, 122, 180, 253, 32, 172, 59, 158, 201, 70, 181, + 241, 237, 32, 156, 81, 185, 54, 211, 188, 240, 47, 248, 108, 121, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 243, 129, 8, 23, 7, 71, 83, 203, 56, 151, 2, 39, 5, 252, 70, 24, 188, 63, 143, 28, + 181, 162, 52, 185, 42, 195, 51, 196, 179, 184, 137, 253, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 141, 95, 119, 33, 18, 20, 176, 150, 93, 167, 41, 126, 206, 69, 185, 196, 229, 80, + 1, 178, 170, 137, 201, 105, 120, 80, 192, 77, 76, 18, 98, 35, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 6, 18, 109, 74, 58, 67, 93, 133, 220, 177, 132, 48, 221, 216, 185, 194, 169, 73, + 199, 156, 38, 132, 32, 58, 150, 155, 94, 24, 8, 79, 245, 124, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 188, 223, 10, 146, 133, 252, 252, 24, 205, 204, 113, 254, 212, 145, 74, 92, 126, + 184, 195, 144, 236, 120, 59, 248, 224, 119, 163, 142, 44, 196, 168, 247, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 211, 110, 74, 239, 75, 148, 107, 87, 114, 242, 135, 132, 90, 97, 11, 141, 175, 132, + 241, 62, 168, 140, 94, 254, 151, 160, 149, 224, 149, 59, 129, 122, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 236, 169, 163, 181, 232, 83, 233, 196, 30, 132, 144, 2, 50, 40, 155, 174, 175, 74, + 70, 97, 225, 49, 16, 129, 159, 24, 7, 65, 144, 72, 183, 216, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 247, 231, 203, 65, 42, 166, 142, 4, 52, 109, 53, 75, 61, 132, 102, 75, 29, 88, 95, + 217, 240, 159, 185, 188, 80, 38, 202, 79, 55, 108, 72, 227, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 96, 144, 15, 104, 232, 89, 235, 245, 164, 7, 123, 109, 8, 54, 255, 151, 103, 219, + 146, 13, 98, 250, 24, 163, 219, 145, 23, 219, 185, 74, 4, 149, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 254, 87, 21, 64, 65, 73, 50, 66, 7, 76, 139, 18, 42, 221, 101, 230, 88, 79, 23, 42, + 240, 190, 225, 243, 211, 103, 157, 49, 201, 172, 196, 170, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 94, 123, 150, 101, 66, 84, 252, 57, 241, 241, 57, 126, 197, 230, 207, 167, 160, + 226, 189, 58, 103, 29, 165, 143, 150, 182, 254, 54, 192, 43, 157, 93, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 182, 122, 150, 78, 0, 245, 143, 213, 249, 84, 128, 193, 6, 202, 186, 203, 204, 52, + 118, 42, 244, 118, 167, 200, 188, 37, 215, 14, 25, 168, 11, 206, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 239, 129, 88, 175, 185, 140, 244, 130, 71, 5, 1, 151, 130, 193, 181, 135, 33, 55, + 237, 165, 155, 11, 59, 61, 250, 176, 71, 34, 209, 65, 230, 97, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 36, 124, 177, 150, 206, 40, 156, 215, 62, 73, 205, 154, 111, 62, 133, 3, 125, 155, + 175, 137, 134, 148, 210, 196, 63, 165, 34, 158, 201, 39, 82, 93, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 117, 255, 242, 22, 145, 192, 104, 34, 56, 108, 142, 203, 182, 46, 3, 6, 60, 153, + 15, 28, 176, 182, 88, 217, 57, 108, 182, 3, 225, 146, 77, 93, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 250, 219, 61, 245, 53, 35, 118, 45, 176, 37, 240, 35, 189, 179, 124, 42, 208, 86, + 38, 45, 101, 134, 123, 232, 6, 229, 8, 219, 52, 232, 59, 200, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 133, 67, 145, 91, 108, 105, 93, 20, 195, 231, 224, 236, 3, 35, 138, 236, 141, 226, + 20, 93, 74, 129, 250, 69, 168, 85, 97, 33, 112, 255, 6, 48, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 226, 90, 220, 61, 150, 194, 104, 186, 27, 251, 116, 197, 12, 138, 180, 119, 18, + 100, 54, 126, 1, 72, 19, 9, 120, 46, 145, 97, 107, 83, 231, 54, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 58, 102, 54, 157, 64, 7, 218, 71, 199, 202, 158, 109, 75, 106, 215, 193, 252, 94, + 203, 89, 132, 149, 244, 182, 110, 135, 75, 13, 222, 66, 21, 208, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 245, 140, 140, 27, 96, 42, 34, 146, 120, 179, 33, 100, 214, 197, 172, 246, 211, + 213, 50, 143, 107, 41, 113, 195, 90, 223, 227, 120, 190, 141, 136, 232, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 101, 25, 197, 121, 21, 221, 226, 199, 147, 84, 175, 134, 33, 41, 113, 61, 78, 76, + 138, 223, 255, 180, 135, 101, 28, 81, 211, 33, 32, 118, 47, 210, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 13, 19, 53, 68, 91, 245, 199, 141, 148, 202, 170, 12, 91, 224, 154, 115, 17, 198, + 49, 183, 189, 14, 145, 155, 57, 195, 169, 150, 14, 205, 83, 155, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 160, 168, 76, 46, 160, 45, 156, 155, 92, 183, 107, 206, 45, 135, 165, 23, 228, 109, + 26, 236, 108, 129, 216, 79, 47, 227, 148, 55, 88, 105, 63, 9, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 243, 84, 28, 252, 61, 233, 201, 123, 140, 135, 90, 247, 197, 137, 1, 14, 35, 164, + 48, 215, 23, 238, 106, 88, 203, 161, 160, 41, 188, 145, 61, 173, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 98, 173, 169, 74, 49, 56, 207, 218, 153, 69, 253, 64, 56, 81, 222, 143, 181, 99, + 133, 210, 122, 226, 195, 122, 43, 108, 37, 30, 233, 70, 14, 112, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 204, 228, 239, 123, 43, 185, 232, 152, 29, 188, 220, 50, 80, 197, 48, 33, 205, 61, + 109, 250, 21, 129, 46, 250, 35, 227, 100, 165, 171, 3, 150, 159, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 158, 135, 234, 46, 206, 251, 114, 83, 55, 126, 147, 196, 223, 188, 103, 21, 228, + 191, 215, 201, 47, 230, 22, 172, 220, 176, 113, 89, 209, 101, 174, 229, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 183, 194, 176, 184, 47, 191, 19, 18, 245, 29, 189, 145, 195, 66, 145, 125, 40, 52, + 138, 125, 59, 48, 147, 9, 98, 41, 137, 197, 213, 71, 94, 84, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 59, 242, 9, 40, 35, 50, 243, 211, 152, 164, 234, 224, 208, 62, 229, 15, 196, 203, + 214, 179, 229, 169, 175, 81, 196, 228, 79, 36, 147, 236, 29, 197, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 22, 40, 158, 101, 100, 125, 244, 37, 238, 132, 53, 60, 241, 185, 210, 123, 153, 35, + 100, 226, 90, 123, 71, 22, 237, 18, 200, 233, 174, 211, 60, 202, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 244, 35, 43, 30, 56, 158, 197, 228, 73, 79, 27, 212, 33, 239, 130, 198, 93, 23, + 155, 215, 129, 60, 172, 38, 74, 78, 1, 134, 143, 239, 156, 240, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 209, 50, 221, 166, 21, 101, 212, 43, 14, 178, 87, 135, 37, 152, 34, 241, 203, 52, + 29, 170, 28, 186, 35, 233, 237, 251, 43, 207, 126, 165, 182, 94, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 218, 241, 213, 91, 75, 62, 48, 73, 67, 118, 149, 7, 219, 191, 52, 199, 25, 113, 57, + 231, 196, 196, 13, 219, 97, 215, 48, 116, 149, 137, 12, 15, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 2, 251, 224, 107, 22, 168, 68, 241, 182, 178, 130, 201, 235, 88, 89, 202, 157, 107, + 138, 40, 205, 59, 120, 67, 29, 226, 55, 47, 215, 6, 224, 193, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 207, 105, 189, 240, 55, 220, 126, 87, 68, 1, 197, 217, 92, 219, 184, 60, 12, 47, + 140, 77, 242, 213, 251, 81, 237, 201, 232, 34, 50, 173, 146, 105, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 185, 13, 98, 86, 217, 146, 57, 2, 48, 156, 36, 187, 139, 94, 85, 38, 246, 252, 210, + 161, 26, 175, 252, 220, 96, 170, 71, 229, 78, 189, 125, 210, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 242, 205, 215, 234, 74, 74, 212, 214, 244, 227, 199, 153, 180, 139, 182, 62, 44, + 97, 185, 88, 131, 145, 249, 146, 123, 122, 160, 63, 37, 186, 179, 205, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 157, 57, 126, 95, 16, 35, 72, 80, 77, 139, 69, 122, 197, 64, 91, 68, 17, 14, 170, + 1, 196, 194, 128, 213, 23, 174, 147, 188, 22, 206, 202, 166, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 201, 3, 213, 102, 50, 192, 224, 240, 231, 39, 194, 68, 187, 16, 179, 68, 73, 94, + 208, 170, 43, 87, 87, 165, 148, 191, 229, 174, 52, 195, 78, 78, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 10, 219, 205, 129, 249, 154, 98, 194, 133, 85, 192, 120, 45, 92, 165, 118, 178, 87, + 32, 108, 89, 134, 168, 170, 39, 170, 230, 188, 194, 24, 58, 85, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 182, 28, 150, 165, 75, 149, 53, 66, 104, 173, 142, 206, 83, 133, 39, 117, 83, 32, + 86, 217, 225, 183, 79, 241, 3, 97, 250, 209, 161, 235, 92, 97, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 233, 79, 97, 206, 161, 233, 234, 39, 170, 131, 174, 143, 220, 106, 72, 219, 51, + 166, 38, 118, 190, 43, 74, 91, 154, 245, 72, 132, 8, 19, 155, 111, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 243, 39, 52, 136, 39, 154, 129, 51, 249, 117, 88, 251, 195, 123, 108, 102, 253, + 174, 171, 44, 134, 213, 125, 214, 36, 197, 39, 149, 139, 54, 197, 7, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 173, 242, 253, 254, 25, 38, 98, 252, 58, 201, 190, 167, 206, 43, 199, 109, 105, + 141, 139, 76, 23, 55, 189, 236, 73, 5, 210, 221, 154, 230, 76, 206, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 202, 135, 236, 206, 107, 156, 25, 3, 197, 205, 111, 150, 67, 56, 162, 241, 134, + 252, 204, 159, 166, 58, 175, 110, 29, 75, 190, 131, 144, 243, 85, 249, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 232, 82, 1, 209, 131, 202, 35, 218, 132, 139, 62, 6, 183, 180, 241, 36, 142, 140, + 51, 87, 159, 148, 109, 87, 58, 161, 201, 44, 10, 148, 248, 127, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 178, 4, 246, 130, 93, 3, 167, 99, 86, 83, 89, 49, 101, 145, 142, 57, 159, 16, 89, + 150, 113, 25, 96, 131, 118, 149, 84, 198, 183, 190, 34, 144, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 192, 226, 93, 89, 174, 206, 220, 26, 110, 198, 183, 128, 93, 250, 187, 198, 2, 250, + 164, 33, 204, 65, 134, 63, 183, 169, 151, 94, 173, 137, 183, 203, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 40, 194, 216, 144, 150, 34, 141, 73, 115, 244, 84, 210, 182, 197, 0, 35, 11, 65, + 234, 121, 38, 44, 228, 190, 78, 41, 50, 186, 169, 165, 8, 221, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 47, 176, 101, 198, 32, 139, 140, 223, 240, 192, 136, 55, 186, 118, 54, 83, 230, + 157, 255, 201, 28, 205, 183, 106, 5, 56, 147, 30, 134, 188, 63, 136, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 110, 55, 208, 214, 231, 195, 192, 200, 158, 83, 6, 41, 151, 115, 66, 55, 102, 250, + 101, 13, 133, 93, 140, 119, 177, 150, 49, 110, 242, 141, 83, 85, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 111, 245, 27, 208, 83, 199, 223, 91, 88, 64, 219, 24, 220, 113, 56, 10, 197, 200, + 179, 98, 20, 73, 164, 60, 210, 65, 66, 103, 3, 215, 107, 171, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 219, 127, 44, 139, 50, 187, 16, 20, 28, 153, 32, 158, 144, 6, 8, 28, 106, 227, 4, + 157, 174, 189, 115, 175, 8, 216, 234, 17, 191, 49, 208, 200, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 203, 25, 92, 228, 61, 116, 66, 34, 164, 87, 185, 148, 98, 133, 115, 111, 163, 161, + 230, 159, 132, 148, 152, 8, 214, 70, 131, 200, 224, 2, 82, 49, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 111, 211, 102, 53, 95, 246, 59, 92, 68, 98, 183, 125, 173, 247, 23, 52, 149, 238, + 205, 231, 191, 99, 28, 63, 210, 36, 143, 143, 110, 24, 78, 111, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 171, 142, 163, 106, 88, 232, 96, 34, 176, 34, 111, 173, 40, 19, 95, 45, 205, 58, + 195, 175, 139, 187, 214, 57, 239, 91, 237, 143, 186, 167, 75, 147, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 26, 180, 40, 179, 118, 199, 216, 158, 70, 140, 114, 153, 239, 236, 131, 34, 109, + 163, 71, 172, 79, 157, 229, 11, 96, 103, 244, 176, 101, 202, 65, 199, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 135, 14, 32, 176, 109, 111, 113, 152, 117, 45, 160, 207, 20, 20, 206, 197, 255, + 141, 188, 0, 40, 200, 204, 11, 55, 189, 187, 146, 179, 223, 125, 19, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 144, 174, 97, 238, 24, 12, 123, 241, 186, 201, 94, 99, 151, 127, 125, 213, 53, 80, + 129, 26, 24, 161, 8, 68, 44, 94, 19, 84, 150, 173, 65, 27, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 27, 139, 201, 8, 7, 44, 99, 149, 33, 15, 144, 36, 16, 221, 15, 247, 254, 220, 197, + 254, 3, 75, 104, 224, 141, 48, 178, 12, 85, 55, 238, 96, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 189, 173, 112, 60, 135, 226, 137, 237, 17, 135, 96, 134, 123, 123, 81, 173, 173, + 169, 127, 100, 34, 115, 188, 207, 56, 72, 0, 73, 60, 39, 251, 232, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 169, 171, 169, 216, 98, 212, 83, 230, 109, 200, 96, 166, 184, 78, 179, 207, 2, 222, + 91, 174, 174, 253, 235, 79, 91, 226, 225, 56, 42, 195, 12, 145, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 83, 176, 126, 111, 14, 255, 212, 252, 246, 111, 4, 87, 185, 191, 81, 218, 167, 153, + 223, 182, 162, 169, 93, 84, 78, 32, 113, 54, 201, 164, 77, 142, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 24, 160, 14, 44, 251, 229, 166, 211, 134, 91, 240, 84, 144, 186, 217, 71, 202, 121, + 197, 45, 86, 25, 4, 82, 141, 14, 59, 188, 76, 157, 144, 111, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 74, 42, 166, 57, 150, 70, 181, 40, 130, 17, 221, 230, 38, 182, 98, 129, 136, 42, + 238, 153, 148, 32, 122, 182, 12, 137, 77, 76, 23, 240, 33, 100, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 238, 89, 127, 60, 142, 220, 219, 221, 250, 51, 72, 140, 208, 237, 124, 150, 94, + 151, 143, 124, 12, 97, 73, 11, 232, 184, 173, 26, 18, 22, 147, 235, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 162, 220, 134, 176, 173, 39, 243, 183, 170, 232, 171, 87, 203, 30, 129, 234, 167, + 214, 105, 105, 193, 98, 115, 0, 168, 252, 138, 126, 198, 152, 97, 79, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 118, 129, 196, 186, 6, 199, 234, 237, 61, 233, 85, 230, 243, 73, 47, 248, 68, 174, + 233, 154, 237, 243, 194, 151, 122, 14, 5, 205, 66, 218, 39, 76, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 189, 7, 250, 236, 144, 109, 167, 161, 242, 84, 145, 114, 127, 180, 193, 174, 142, + 215, 43, 32, 109, 184, 61, 249, 218, 12, 245, 248, 176, 122, 102, 124, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 186, 237, 137, 167, 158, 108, 0, 48, 77, 239, 204, 234, 214, 122, 214, 105, 68, + 250, 48, 100, 116, 148, 112, 103, 194, 123, 92, 112, 59, 17, 129, 18, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 230, 189, 254, 240, 214, 176, 215, 36, 172, 98, 52, 18, 205, 205, 179, 151, 109, + 155, 217, 67, 131, 248, 73, 129, 147, 98, 109, 64, 110, 246, 223, 197, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 206, 73, 223, 59, 193, 40, 138, 139, 28, 36, 32, 169, 235, 212, 163, 15, 167, 33, + 91, 189, 48, 147, 53, 114, 48, 127, 191, 43, 157, 149, 166, 183, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 7, 31, 53, 102, 75, 234, 244, 247, 27, 116, 62, 182, 2, 101, 111, 3, 218, 153, 94, + 13, 122, 188, 167, 139, 178, 203, 119, 31, 85, 111, 191, 79, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 172, 61, 123, 132, 19, 177, 38, 185, 191, 7, 13, 48, 93, 37, 78, 170, 46, 3, 29, + 171, 103, 4, 230, 93, 129, 139, 40, 234, 105, 228, 86, 132, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 7, 136, 233, 32, 26, 0, 59, 76, 86, 210, 169, 251, 112, 53, 251, 223, 104, 254, 32, + 132, 40, 159, 76, 154, 60, 98, 36, 50, 27, 108, 114, 225, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 147, 254, 20, 214, 49, 130, 245, 226, 254, 35, 0, 156, 185, 159, 124, 252, 111, 4, + 73, 241, 23, 215, 243, 79, 53, 126, 16, 238, 109, 124, 175, 107, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 192, 246, 149, 178, 158, 82, 187, 21, 153, 154, 172, 25, 91, 221, 35, 97, 23, 175, + 208, 184, 84, 48, 114, 85, 10, 121, 196, 21, 245, 135, 183, 143, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 40, 128, 165, 68, 109, 15, 118, 132, 170, 11, 173, 131, 229, 112, 180, 121, 201, + 29, 250, 36, 44, 156, 177, 79, 93, 252, 209, 67, 253, 63, 220, 186, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 82, 197, 160, 117, 31, 247, 80, 142, 12, 199, 180, 130, 207, 184, 207, 77, 179, + 160, 244, 156, 54, 3, 45, 82, 137, 120, 135, 218, 216, 213, 24, 166, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 226, 80, 102, 129, 227, 52, 229, 76, 156, 1, 224, 34, 248, 202, 121, 120, 224, 80, + 197, 237, 224, 117, 153, 243, 116, 87, 183, 67, 91, 236, 53, 156, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 145, 211, 246, 235, 78, 157, 60, 181, 15, 212, 66, 3, 91, 79, 121, 12, 180, 15, + 184, 223, 141, 76, 190, 73, 194, 6, 6, 177, 8, 98, 58, 80, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 173, 169, 146, 245, 212, 127, 234, 185, 241, 4, 90, 247, 87, 205, 232, 101, 240, + 119, 115, 160, 245, 165, 123, 163, 234, 40, 9, 88, 190, 147, 147, 124, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 4, 168, 65, 81, 43, 203, 14, 108, 43, 18, 159, 0, 20, 105, 141, 237, 105, 106, 227, + 223, 15, 26, 147, 183, 230, 13, 57, 157, 238, 49, 166, 186, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 198, 214, 48, 144, 167, 91, 232, 111, 209, 58, 114, 15, 240, 182, 204, 45, 116, + 251, 222, 240, 228, 63, 27, 211, 5, 53, 253, 190, 73, 83, 134, 218, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 233, 214, 227, 234, 221, 115, 81, 154, 157, 140, 184, 240, 230, 22, 195, 118, 181, + 90, 121, 160, 33, 254, 146, 16, 102, 65, 174, 75, 115, 86, 69, 13, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 52, 126, 127, 9, 14, 226, 232, 58, 40, 238, 142, 68, 238, 102, 33, 24, 127, 248, 7, + 160, 51, 217, 218, 174, 17, 38, 88, 151, 236, 156, 241, 61, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 4, 96, 62, 236, 98, 148, 190, 58, 183, 173, 98, 111, 4, 45, 53, 150, 139, 84, 211, + 4, 49, 164, 215, 140, 236, 187, 5, 63, 90, 63, 6, 239, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 97, 20, 127, 198, 95, 98, 80, 201, 209, 184, 149, 13, 179, 61, 90, 42, 253, 32, 82, + 211, 51, 142, 193, 102, 193, 164, 57, 170, 242, 238, 43, 118, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 204, 151, 89, 132, 95, 150, 176, 17, 179, 5, 101, 97, 176, 19, 75, 105, 17, 251, + 159, 232, 48, 10, 164, 82, 127, 29, 13, 26, 119, 73, 221, 199, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 217, 89, 103, 45, 84, 75, 185, 42, 67, 213, 155, 152, 47, 198, 192, 144, 26, 222, + 50, 183, 24, 147, 3, 101, 224, 149, 240, 53, 222, 26, 25, 224, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 13, 167, 13, 36, 254, 104, 193, 124, 34, 84, 170, 144, 164, 60, 176, 124, 149, 38, + 90, 164, 45, 180, 83, 59, 83, 74, 191, 188, 79, 212, 140, 132, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 171, 107, 157, 80, 114, 113, 44, 200, 250, 22, 2, 237, 130, 76, 242, 98, 108, 160, + 66, 77, 92, 20, 255, 162, 153, 208, 242, 95, 70, 127, 18, 210, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 203, 95, 219, 158, 132, 205, 42, 96, 206, 190, 250, 63, 229, 120, 188, 12, 42, 19, + 106, 220, 234, 207, 53, 240, 140, 99, 212, 165, 69, 112, 14, 79, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 210, 173, 137, 167, 154, 9, 75, 1, 145, 6, 73, 112, 185, 148, 94, 121, 141, 148, + 236, 116, 198, 19, 134, 171, 79, 108, 111, 63, 227, 12, 112, 207, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 173, 107, 209, 159, 4, 106, 110, 133, 7, 235, 27, 146, 250, 15, 155, 1, 108, 202, + 224, 46, 130, 216, 49, 201, 80, 226, 219, 137, 79, 95, 57, 193, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 235, 113, 209, 111, 10, 91, 60, 39, 65, 22, 227, 22, 47, 29, 33, 83, 191, 126, 206, + 106, 227, 122, 137, 252, 225, 105, 83, 112, 18, 212, 186, 90, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 6, 171, 228, 189, 230, 222, 88, 163, 117, 200, 201, 47, 165, 112, 199, 115, 103, + 228, 251, 15, 96, 62, 67, 63, 32, 183, 223, 66, 250, 178, 233, 254, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 197, 203, 193, 64, 21, 202, 212, 187, 20, 19, 119, 67, 229, 6, 226, 177, 119, 212, + 94, 35, 96, 157, 0, 87, 136, 80, 104, 226, 89, 131, 101, 253, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 33, 228, 50, 129, 145, 43, 74, 225, 52, 45, 112, 149, 228, 46, 31, 135, 150, 197, + 32, 154, 142, 193, 167, 114, 108, 245, 72, 190, 198, 180, 199, 234, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 54, 249, 147, 136, 230, 232, 227, 61, 31, 50, 249, 179, 216, 84, 144, 172, 63, 102, + 157, 184, 37, 188, 133, 211, 129, 22, 166, 183, 102, 122, 184, 65, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 59, 85, 236, 240, 128, 160, 133, 80, 200, 119, 58, 59, 139, 187, 167, 17, 144, 250, + 101, 128, 81, 79, 237, 98, 105, 117, 156, 189, 69, 73, 46, 32, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 254, 197, 54, 164, 89, 57, 91, 33, 182, 112, 81, 235, 81, 106, 247, 25, 132, 193, + 32, 113, 71, 183, 101, 124, 183, 148, 67, 121, 99, 242, 187, 143, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 221, 41, 244, 39, 200, 156, 131, 235, 187, 21, 215, 117, 99, 149, 195, 245, 54, + 197, 171, 118, 67, 9, 114, 15, 157, 55, 80, 218, 216, 128, 160, 138, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 51, 130, 32, 179, 22, 147, 120, 186, 104, 96, 107, 68, 170, 16, 181, 193, 95, 215, + 171, 157, 179, 193, 57, 202, 17, 246, 192, 110, 151, 60, 48, 169, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 244, 249, 92, 18, 237, 232, 207, 169, 41, 52, 39, 23, 1, 215, 220, 180, 227, 118, + 158, 51, 171, 188, 99, 201, 237, 172, 81, 204, 135, 252, 181, 200, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 241, 0, 236, 121, 39, 17, 129, 40, 120, 119, 192, 59, 245, 221, 29, 5, 135, 225, + 156, 12, 178, 134, 14, 163, 23, 223, 196, 250, 59, 236, 164, 25, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 78, 129, 251, 100, 127, 252, 243, 170, 98, 39, 81, 62, 44, 175, 36, 185, 54, 157, + 189, 118, 182, 49, 220, 6, 34, 110, 172, 74, 159, 115, 65, 71, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 18, 218, 127, 104, 236, 1, 123, 16, 70, 255, 100, 82, 232, 21, 12, 101, 227, 91, + 175, 141, 215, 240, 222, 97, 225, 212, 124, 213, 21, 159, 125, 82, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 146, 8, 112, 24, 150, 14, 55, 69, 112, 91, 92, 80, 34, 97, 201, 20, 207, 226, 191, + 19, 172, 139, 5, 207, 42, 190, 2, 254, 133, 204, 27, 146, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 188, 54, 219, 217, 102, 183, 60, 124, 231, 12, 158, 155, 86, 0, 250, 83, 253, 74, + 96, 222, 4, 69, 93, 151, 170, 176, 70, 8, 81, 58, 62, 101, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 83, 81, 24, 140, 121, 55, 244, 41, 219, 173, 60, 148, 236, 103, 131, 208, 196, 50, + 65, 25, 229, 97, 210, 55, 47, 24, 185, 204, 25, 82, 229, 214, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 153, 46, 212, 42, 247, 228, 0, 7, 53, 112, 177, 202, 243, 67, 35, 67, 235, 119, + 152, 12, 183, 47, 182, 4, 119, 189, 197, 250, 101, 223, 201, 178, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 104, 151, 108, 62, 201, 166, 215, 36, 186, 22, 88, 1, 15, 246, 22, 13, 7, 79, 140, + 80, 201, 6, 79, 169, 170, 181, 109, 214, 12, 93, 246, 84, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 230, 183, 242, 80, 238, 207, 63, 147, 206, 105, 196, 177, 39, 121, 116, 149, 167, + 106, 21, 10, 135, 237, 108, 216, 86, 42, 9, 99, 182, 37, 223, 49, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 144, 69, 55, 103, 35, 201, 8, 131, 193, 71, 95, 194, 118, 74, 239, 185, 245, 29, + 248, 152, 112, 74, 26, 184, 250, 124, 228, 9, 82, 62, 19, 86, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 17, 5, 91, 47, 55, 177, 16, 69, 113, 35, 226, 241, 152, 108, 55, 252, 30, 205, 31, + 79, 24, 43, 231, 86, 108, 70, 15, 144, 32, 217, 30, 120, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 235, 59, 211, 254, 31, 243, 94, 150, 156, 203, 22, 190, 42, 122, 64, 21, 48, 208, + 217, 94, 194, 44, 32, 78, 196, 95, 115, 15, 31, 69, 45, 33, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 147, 3, 137, 237, 125, 89, 131, 198, 18, 12, 184, 219, 7, 158, 72, 145, 54, 245, + 232, 219, 1, 24, 118, 122, 41, 17, 228, 162, 82, 148, 154, 194, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 245, 78, 255, 93, 128, 86, 149, 200, 120, 223, 0, 85, 61, 155, 9, 131, 90, 202, + 171, 164, 218, 171, 193, 117, 2, 195, 231, 24, 194, 162, 155, 74, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 83, 195, 210, 45, 82, 219, 30, 94, 254, 254, 46, 60, 24, 16, 105, 15, 151, 249, 21, + 195, 200, 164, 161, 42, 221, 252, 165, 240, 21, 226, 177, 72, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 47, 91, 5, 83, 170, 34, 13, 209, 74, 245, 122, 175, 107, 178, 99, 92, 100, 65, 17, + 123, 245, 98, 223, 187, 218, 37, 192, 176, 229, 104, 80, 220, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 5, 171, 4, 216, 110, 8, 110, 86, 72, 14, 128, 26, 6, 215, 207, 36, 179, 17, 8, 170, + 239, 134, 127, 10, 22, 226, 214, 254, 178, 133, 23, 66, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 216, 148, 72, 215, 241, 213, 245, 195, 64, 42, 246, 53, 9, 103, 72, 75, 110, 78, + 183, 191, 39, 191, 72, 170, 137, 123, 84, 162, 238, 216, 110, 187, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 187, 45, 74, 127, 205, 246, 95, 184, 156, 94, 230, 237, 0, 58, 147, 122, 9, 20, + 193, 155, 123, 72, 145, 143, 124, 235, 7, 22, 70, 50, 8, 70, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 124, 192, 234, 15, 72, 110, 218, 19, 13, 241, 15, 249, 91, 168, 26, 16, 119, 165, + 254, 120, 217, 239, 55, 200, 101, 86, 239, 105, 247, 195, 195, 103, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 175, 218, 20, 224, 175, 5, 222, 10, 165, 118, 37, 194, 44, 146, 181, 198, 164, 34, + 101, 223, 106, 102, 253, 102, 81, 116, 218, 149, 134, 83, 221, 67, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 247, 186, 63, 2, 0, 13, 48, 57, 145, 124, 169, 29, 237, 237, 166, 205, 99, 163, + 205, 20, 165, 92, 75, 56, 121, 218, 32, 147, 201, 251, 5, 8, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 147, 143, 10, 173, 216, 63, 46, 113, 102, 32, 68, 50, 207, 40, 250, 244, 195, 63, + 137, 6, 112, 72, 169, 138, 149, 149, 134, 139, 3, 175, 179, 5, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 170, 194, 123, 101, 94, 186, 101, 112, 244, 148, 254, 114, 183, 0, 105, 136, 28, + 37, 52, 108, 156, 139, 30, 135, 67, 105, 90, 230, 119, 90, 236, 194, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 190, 79, 223, 55, 125, 171, 145, 245, 18, 137, 78, 255, 84, 82, 214, 27, 76, 253, + 6, 54, 155, 5, 157, 168, 83, 182, 72, 191, 126, 10, 195, 202, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 221, 41, 35, 131, 162, 106, 80, 190, 102, 88, 123, 205, 166, 202, 232, 192, 120, + 134, 15, 22, 161, 91, 164, 193, 203, 107, 7, 188, 149, 211, 231, 182, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 18, 176, 26, 33, 51, 193, 146, 74, 6, 59, 120, 27, 125, 146, 30, 26, 97, 48, 246, + 138, 126, 164, 164, 254, 45, 25, 130, 184, 146, 167, 47, 136, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 148, 52, 81, 62, 248, 134, 161, 31, 182, 214, 6, 10, 10, 247, 55, 124, 220, 197, + 169, 36, 146, 11, 252, 91, 60, 136, 236, 11, 94, 46, 48, 235, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 163, 100, 249, 230, 81, 42, 94, 52, 38, 94, 244, 190, 175, 9, 127, 3, 60, 227, 189, + 6, 167, 201, 167, 178, 175, 10, 84, 159, 116, 139, 72, 230, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 248, 174, 149, 211, 182, 89, 31, 89, 123, 106, 132, 113, 81, 222, 16, 228, 249, + 104, 173, 62, 34, 64, 79, 16, 7, 192, 187, 35, 117, 52, 200, 232, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 11, 8, 28, 218, 106, 172, 70, 138, 105, 42, 212, 192, 131, 32, 26, 51, 221, 105, + 209, 131, 123, 58, 5, 201, 87, 136, 35, 36, 90, 145, 31, 60, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 193, 150, 182, 144, 56, 144, 94, 44, 36, 123, 182, 19, 220, 183, 70, 45, 48, 83, + 50, 86, 61, 69, 160, 184, 142, 132, 137, 109, 22, 13, 29, 19, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 11, 49, 110, 158, 143, 157, 78, 237, 16, 209, 210, 11, 13, 194, 177, 212, 190, 196, + 110, 28, 226, 91, 122, 235, 9, 22, 159, 58, 113, 143, 56, 103, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 77, 70, 85, 3, 46, 75, 80, 222, 162, 247, 206, 157, 150, 244, 193, 18, 10, 202, + 195, 109, 191, 89, 250, 137, 50, 33, 38, 71, 28, 15, 204, 117, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 96, 125, 255, 240, 73, 51, 134, 108, 189, 58, 179, 32, 130, 249, 6, 75, 242, 79, + 90, 184, 1, 229, 55, 82, 213, 54, 165, 71, 9, 199, 24, 239, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 103, 157, 135, 118, 113, 6, 22, 65, 89, 13, 236, 24, 85, 85, 104, 205, 215, 232, + 134, 70, 225, 104, 39, 13, 45, 34, 34, 43, 55, 126, 63, 73, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 122, 86, 39, 197, 211, 151, 16, 179, 70, 76, 115, 64, 222, 243, 237, 206, 118, 123, + 108, 19, 33, 13, 68, 242, 33, 112, 47, 137, 32, 239, 145, 223, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 2, 93, 220, 89, 220, 60, 194, 197, 116, 226, 145, 16, 68, 22, 24, 192, 27, 84, 197, + 86, 132, 211, 234, 140, 99, 102, 192, 34, 106, 130, 239, 194, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 86, 187, 48, 184, 152, 188, 165, 14, 228, 230, 255, 113, 188, 77, 186, 27, 226, + 237, 129, 55, 222, 167, 15, 248, 115, 89, 96, 134, 121, 166, 29, 163, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 224, 250, 203, 190, 223, 197, 168, 186, 171, 233, 247, 154, 176, 47, 13, 172, 12, + 165, 78, 129, 143, 227, 109, 249, 254, 64, 65, 209, 116, 141, 231, 210, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 21, 154, 185, 148, 116, 178, 9, 161, 182, 103, 97, 112, 103, 162, 209, 77, 245, + 218, 230, 23, 59, 102, 205, 127, 4, 252, 113, 141, 160, 85, 241, 106, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 53, 193, 5, 119, 156, 152, 146, 153, 246, 169, 152, 209, 33, 73, 160, 241, 74, 66, + 219, 210, 95, 128, 173, 25, 145, 52, 250, 62, 184, 34, 150, 144, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 128, 212, 182, 27, 139, 81, 191, 10, 141, 219, 138, 240, 86, 233, 191, 224, 129, + 127, 221, 82, 115, 3, 101, 138, 176, 215, 76, 135, 196, 247, 253, 227, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 214, 25, 187, 210, 124, 214, 75, 113, 89, 254, 19, 190, 57, 163, 30, 20, 26, 157, + 134, 5, 163, 118, 245, 98, 168, 117, 223, 167, 29, 226, 148, 104, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 206, 148, 167, 163, 100, 187, 244, 23, 70, 58, 12, 16, 215, 112, 56, 155, 192, 113, + 125, 210, 0, 110, 76, 81, 39, 90, 139, 108, 209, 88, 121, 82, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 81, 109, 41, 159, 167, 129, 85, 212, 184, 230, 184, 119, 80, 105, 47, 215, 116, + 200, 98, 189, 140, 74, 204, 74, 223, 196, 179, 56, 165, 224, 248, 108, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 222, 161, 45, 135, 168, 149, 171, 163, 185, 27, 158, 120, 212, 188, 210, 23, 160, + 233, 168, 6, 158, 178, 163, 237, 225, 245, 183, 146, 125, 233, 49, 198, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 233, 23, 125, 56, 223, 81, 92, 167, 19, 117, 68, 163, 133, 40, 116, 14, 131, 239, + 39, 170, 219, 175, 31, 215, 142, 9, 89, 161, 92, 57, 214, 213, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 34, 49, 129, 2, 79, 13, 143, 8, 132, 143, 73, 164, 65, 73, 58, 152, 64, 14, 47, + 125, 217, 90, 192, 196, 205, 192, 62, 0, 55, 7, 80, 231, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 96, 223, 142, 126, 99, 192, 77, 185, 143, 149, 101, 216, 149, 95, 10, 220, 249, + 145, 206, 126, 99, 7, 59, 92, 9, 232, 66, 47, 68, 181, 160, 185, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 241, 39, 170, 234, 26, 144, 18, 135, 255, 47, 227, 168, 246, 51, 88, 95, 139, 60, + 101, 135, 225, 173, 73, 233, 196, 255, 147, 218, 167, 15, 175, 106, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 24, 116, 237, 83, 15, 98, 205, 217, 53, 204, 83, 142, 113, 249, 235, 81, 119, 110, + 97, 96, 251, 35, 241, 157, 176, 57, 129, 208, 132, 90, 229, 251, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 95, 225, 38, 72, 194, 7, 60, 158, 119, 113, 249, 135, 77, 51, 206, 29, 197, 51, + 253, 122, 89, 209, 177, 171, 30, 255, 29, 78, 90, 12, 150, 13, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 33, 35, 103, 31, 179, 187, 28, 23, 80, 27, 210, 135, 246, 128, 26, 85, 199, 17, + 224, 181, 114, 161, 36, 223, 240, 244, 2, 53, 184, 99, 131, 49, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 76, 103, 143, 138, 15, 20, 58, 132, 139, 196, 205, 15, 165, 225, 117, 41, 57, 110, + 180, 142, 221, 60, 189, 216, 173, 95, 76, 243, 92, 222, 156, 73, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 113, 63, 23, 9, 61, 166, 59, 137, 139, 223, 144, 119, 10, 216, 251, 127, 76, 251, + 4, 180, 181, 12, 31, 40, 188, 84, 253, 97, 238, 243, 141, 69, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 77, 154, 0, 131, 143, 255, 118, 60, 153, 162, 17, 185, 119, 117, 220, 42, 121, 165, + 135, 141, 66, 9, 174, 21, 125, 60, 162, 115, 23, 187, 84, 142, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 194, 99, 62, 77, 157, 226, 100, 237, 139, 5, 140, 42, 22, 105, 30, 253, 18, 96, + 162, 235, 239, 56, 173, 164, 191, 221, 110, 7, 255, 58, 181, 12, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 184, 18, 50, 224, 67, 200, 93, 98, 143, 156, 131, 115, 27, 128, 39, 106, 118, 56, + 87, 1, 153, 54, 135, 225, 110, 37, 62, 49, 51, 96, 159, 249, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 67, 143, 17, 157, 34, 133, 230, 147, 11, 82, 33, 75, 195, 142, 69, 76, 83, 217, 21, + 228, 247, 200, 175, 254, 89, 158, 192, 93, 127, 101, 200, 42, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 245, 188, 249, 24, 97, 78, 217, 101, 162, 222, 123, 154, 245, 235, 190, 166, 133, + 191, 111, 111, 185, 164, 152, 10, 206, 127, 228, 159, 65, 250, 231, 150, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 63, 214, 9, 65, 255, 27, 204, 115, 168, 196, 171, 162, 186, 178, 123, 229, 10, 38, + 56, 72, 60, 132, 194, 250, 253, 211, 52, 100, 120, 227, 186, 168, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 176, 2, 195, 108, 65, 169, 13, 66, 85, 206, 18, 120, 241, 71, 205, 254, 18, 180, + 34, 236, 120, 29, 35, 104, 3, 20, 245, 168, 165, 39, 25, 89, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 72, 46, 242, 27, 98, 53, 221, 118, 219, 215, 208, 169, 249, 31, 46, 50, 143, 213, + 124, 135, 31, 222, 152, 98, 84, 98, 208, 163, 207, 35, 158, 130, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 83, 126, 157, 42, 179, 245, 120, 233, 13, 226, 243, 36, 206, 228, 23, 222, 249, 61, + 237, 60, 152, 88, 117, 139, 57, 252, 16, 100, 99, 241, 243, 62, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 188, 38, 78, 101, 124, 226, 32, 246, 36, 146, 6, 159, 105, 14, 207, 177, 236, 189, + 244, 252, 169, 141, 88, 148, 174, 240, 217, 71, 48, 203, 123, 60, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 154, 30, 35, 94, 32, 1, 234, 174, 110, 225, 64, 113, 177, 87, 169, 211, 62, 212, + 248, 240, 38, 66, 90, 95, 5, 158, 168, 50, 222, 123, 21, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 86, 45, 97, 35, 205, 139, 197, 23, 135, 159, 133, 237, 224, 246, 189, 72, 231, 31, + 90, 121, 48, 124, 42, 104, 232, 110, 223, 232, 27, 198, 143, 179, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 56, 235, 65, 113, 202, 46, 171, 94, 200, 179, 45, 119, 86, 91, 251, 25, 105, 34, + 52, 37, 251, 94, 123, 24, 189, 28, 161, 76, 94, 217, 77, 69, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 132, 76, 255, 192, 194, 30, 222, 12, 159, 157, 141, 217, 113, 92, 164, 43, 152, 3, + 225, 61, 135, 184, 234, 200, 211, 114, 23, 207, 80, 25, 67, 129, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 176, 66, 30, 181, 244, 91, 237, 207, 174, 118, 62, 96, 21, 50, 187, 141, 125, 208, + 227, 220, 213, 51, 130, 24, 27, 6, 215, 189, 173, 22, 148, 143, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 226, 220, 14, 67, 21, 8, 247, 192, 88, 250, 119, 189, 114, 21, 111, 108, 118, 157, + 151, 171, 145, 21, 243, 218, 60, 240, 203, 83, 131, 239, 135, 108, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 133, 241, 5, 2, 164, 141, 65, 247, 188, 101, 29, 193, 77, 217, 235, 7, 12, 8, 61, + 40, 8, 202, 122, 97, 111, 244, 118, 129, 154, 124, 255, 134, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 8, 153, 255, 193, 243, 109, 61, 216, 153, 239, 158, 252, 155, 75, 98, 93, 155, 114, + 209, 18, 125, 82, 229, 43, 1, 203, 122, 97, 20, 114, 240, 171, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 189, 179, 86, 105, 1, 72, 246, 221, 58, 41, 117, 118, 207, 108, 87, 81, 211, 215, + 119, 109, 122, 186, 113, 203, 206, 31, 190, 190, 23, 23, 233, 128, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 244, 118, 139, 143, 120, 2, 112, 149, 26, 66, 198, 255, 82, 138, 75, 118, 215, 208, + 249, 58, 2, 17, 93, 153, 209, 51, 157, 80, 61, 110, 27, 240, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 228, 30, 22, 150, 134, 113, 201, 3, 69, 39, 28, 112, 194, 37, 72, 20, 104, 104, 63, + 217, 217, 83, 246, 238, 116, 144, 93, 190, 116, 235, 80, 24, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 103, 197, 119, 36, 19, 237, 214, 10, 199, 198, 73, 8, 164, 126, 12, 174, 102, 141, + 87, 85, 20, 95, 146, 43, 119, 107, 187, 218, 68, 149, 151, 158, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 4, 194, 165, 57, 51, 102, 11, 193, 200, 23, 224, 95, 55, 58, 14, 12, 224, 35, 207, + 214, 181, 143, 233, 140, 195, 192, 122, 119, 163, 171, 195, 21, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 110, 38, 218, 49, 44, 145, 5, 190, 59, 16, 152, 47, 213, 248, 148, 108, 89, 44, 81, + 74, 234, 113, 243, 9, 145, 54, 23, 89, 67, 132, 239, 198, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 214, 16, 149, 191, 27, 18, 222, 180, 60, 141, 82, 232, 162, 35, 246, 106, 55, 250, + 249, 226, 100, 76, 232, 52, 203, 128, 196, 121, 187, 235, 151, 45, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 109, 140, 51, 114, 70, 74, 165, 91, 122, 73, 190, 102, 198, 21, 78, 136, 111, 129, + 149, 218, 167, 13, 2, 50, 109, 29, 152, 180, 240, 76, 8, 231, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 211, 145, 174, 168, 239, 176, 252, 177, 84, 93, 47, 86, 75, 114, 169, 41, 151, 133, + 29, 101, 156, 115, 212, 26, 0, 49, 181, 217, 4, 130, 135, 38, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 71, 117, 215, 82, 185, 59, 110, 160, 14, 35, 109, 97, 87, 181, 57, 34, 67, 62, 18, + 214, 192, 185, 95, 17, 188, 1, 15, 184, 197, 202, 149, 30, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 196, 138, 89, 162, 150, 233, 21, 198, 134, 166, 249, 164, 153, 82, 206, 104, 163, + 244, 84, 142, 69, 1, 197, 237, 7, 99, 24, 107, 166, 187, 255, 25, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 230, 106, 17, 171, 240, 208, 43, 8, 77, 221, 139, 48, 251, 220, 174, 216, 120, 164, + 89, 229, 112, 191, 126, 39, 183, 3, 132, 99, 172, 79, 45, 202, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 134, 231, 164, 151, 97, 245, 51, 234, 47, 191, 194, 143, 61, 153, 89, 68, 115, 140, + 152, 148, 130, 181, 207, 9, 96, 186, 17, 176, 6, 52, 62, 131, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 234, 25, 211, 11, 226, 122, 55, 236, 17, 208, 121, 32, 4, 220, 137, 101, 188, 111, + 84, 7, 228, 250, 14, 8, 124, 223, 78, 21, 179, 98, 197, 50, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 244, 50, 232, 22, 56, 15, 95, 114, 101, 146, 142, 189, 50, 21, 47, 238, 17, 77, 40, + 52, 232, 214, 37, 7, 149, 185, 59, 75, 113, 33, 15, 122, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 228, 195, 194, 163, 12, 31, 206, 17, 229, 67, 232, 68, 140, 210, 228, 9, 28, 103, + 56, 229, 178, 7, 116, 142, 68, 172, 2, 140, 11, 30, 81, 189, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 12, 164, 196, 24, 23, 250, 166, 55, 238, 191, 2, 55, 176, 13, 54, 128, 38, 30, 12, + 140, 157, 136, 147, 203, 125, 174, 88, 221, 94, 111, 187, 165, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 7, 92, 191, 35, 231, 193, 213, 33, 47, 54, 12, 210, 204, 38, 95, 1, 179, 35, 48, + 222, 60, 52, 245, 9, 224, 24, 90, 153, 255, 167, 193, 205, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 92, 209, 155, 181, 86, 67, 201, 3, 211, 17, 85, 102, 182, 100, 30, 71, 2, 7, 108, + 102, 2, 120, 189, 240, 131, 75, 132, 196, 97, 173, 75, 110, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 182, 90, 249, 38, 116, 81, 169, 39, 139, 224, 131, 87, 17, 162, 45, 243, 161, 174, + 51, 209, 243, 215, 154, 147, 208, 60, 248, 237, 96, 167, 17, 157, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 108, 209, 133, 136, 252, 187, 202, 65, 19, 110, 253, 7, 90, 81, 87, 251, 81, 202, + 115, 7, 92, 245, 34, 184, 43, 175, 119, 121, 106, 181, 65, 110, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 93, 140, 53, 116, 233, 91, 4, 39, 127, 171, 74, 69, 43, 161, 108, 30, 252, 45, 182, + 169, 79, 117, 165, 102, 88, 165, 52, 34, 9, 176, 59, 76, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 130, 150, 225, 185, 170, 122, 74, 212, 250, 46, 68, 76, 199, 11, 235, 145, 225, + 196, 212, 3, 177, 27, 61, 206, 20, 50, 127, 164, 187, 212, 206, 46, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 155, 12, 43, 183, 64, 173, 85, 139, 217, 158, 76, 153, 124, 39, 160, 181, 85, 137, + 123, 105, 22, 103, 91, 34, 59, 110, 149, 8, 79, 94, 28, 243, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 49, 228, 230, 220, 195, 177, 179, 162, 115, 53, 33, 87, 253, 191, 173, 105, 216, + 200, 173, 247, 190, 186, 68, 73, 151, 240, 250, 9, 124, 141, 3, 76, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 26, 107, 37, 139, 117, 252, 247, 76, 99, 105, 136, 156, 110, 103, 92, 249, 191, + 154, 66, 136, 150, 27, 21, 24, 71, 112, 65, 112, 205, 98, 149, 223, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 97, 249, 48, 116, 164, 112, 9, 147, 30, 66, 220, 232, 124, 19, 243, 137, 124, 97, + 171, 60, 196, 63, 26, 34, 87, 165, 73, 233, 35, 1, 248, 151, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 228, 147, 237, 54, 255, 65, 8, 31, 181, 109, 205, 157, 128, 47, 110, 165, 174, 76, + 114, 162, 143, 27, 248, 112, 154, 98, 113, 30, 46, 130, 107, 163, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 6, 87, 233, 122, 93, 61, 74, 230, 113, 10, 187, 86, 100, 213, 152, 229, 200, 205, + 200, 87, 243, 182, 81, 251, 171, 11, 35, 246, 40, 228, 5, 52, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 145, 51, 3, 121, 38, 57, 255, 184, 151, 157, 252, 122, 129, 139, 9, 7, 138, 208, + 117, 59, 46, 71, 161, 224, 113, 143, 40, 24, 191, 255, 85, 34, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 34, 149, 180, 60, 214, 82, 235, 58, 70, 117, 165, 213, 192, 238, 58, 94, 132, 111, + 105, 238, 154, 111, 74, 196, 243, 136, 58, 132, 157, 44, 146, 45, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 212, 89, 232, 132, 183, 44, 200, 48, 98, 172, 211, 236, 17, 8, 11, 153, 252, 52, + 62, 76, 69, 155, 29, 166, 29, 168, 237, 182, 20, 186, 87, 182, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 121, 201, 104, 127, 127, 25, 130, 7, 115, 252, 187, 250, 31, 55, 158, 221, 206, 73, + 35, 5, 38, 199, 251, 82, 209, 150, 136, 169, 186, 153, 116, 148, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 48, 209, 64, 10, 62, 158, 221, 106, 53, 120, 124, 223, 70, 215, 183, 209, 253, 122, + 123, 165, 149, 22, 94, 22, 226, 81, 245, 194, 175, 51, 88, 23, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 41, 17, 20, 33, 38, 211, 132, 230, 32, 112, 220, 149, 61, 50, 99, 4, 230, 21, 170, + 238, 6, 65, 108, 115, 144, 217, 65, 209, 99, 71, 1, 45, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 232, 202, 224, 211, 62, 52, 65, 65, 231, 79, 204, 212, 123, 13, 28, 197, 46, 143, + 79, 242, 34, 132, 136, 233, 78, 217, 0, 91, 27, 80, 44, 171, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 57, 230, 15, 39, 10, 72, 52, 136, 128, 126, 6, 70, 42, 7, 172, 114, 93, 58, 86, 36, + 13, 120, 146, 96, 93, 61, 124, 197, 120, 187, 187, 176, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 63, 168, 96, 147, 2, 173, 94, 79, 15, 60, 186, 39, 199, 13, 198, 201, 240, 201, + 157, 92, 157, 69, 23, 136, 98, 56, 107, 72, 204, 125, 83, 225, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 35, 190, 216, 168, 222, 71, 63, 130, 183, 10, 158, 93, 65, 49, 101, 30, 247, 23, + 16, 164, 14, 92, 41, 130, 139, 100, 76, 97, 65, 32, 102, 190, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 58, 232, 5, 180, 81, 110, 108, 166, 89, 96, 176, 67, 150, 248, 12, 77, 251, 49, + 195, 47, 231, 127, 237, 232, 246, 186, 169, 233, 16, 16, 144, 253, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 227, 207, 68, 141, 112, 10, 49, 125, 85, 14, 60, 186, 177, 185, 145, 217, 247, 24, + 101, 225, 244, 143, 156, 78, 129, 160, 38, 46, 55, 52, 252, 1, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 102, 82, 44, 24, 194, 205, 208, 233, 142, 153, 16, 61, 201, 79, 220, 36, 120, 210, + 216, 83, 178, 117, 143, 117, 13, 78, 123, 167, 121, 115, 102, 179, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 200, 36, 34, 57, 170, 13, 174, 212, 51, 180, 47, 58, 6, 208, 166, 121, 155, 21, 31, + 76, 5, 190, 31, 22, 121, 151, 151, 116, 35, 91, 121, 150, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 83, 54, 5, 200, 113, 94, 191, 196, 201, 0, 158, 40, 19, 2, 34, 4, 243, 65, 156, 31, + 237, 135, 51, 3, 156, 167, 217, 163, 88, 7, 182, 47, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 22, 128, 198, 28, 187, 228, 154, 203, 47, 0, 241, 26, 46, 111, 188, 21, 97, 254, + 89, 6, 187, 186, 131, 132, 129, 30, 174, 160, 111, 122, 180, 87, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 87, 253, 164, 223, 185, 71, 60, 95, 230, 62, 17, 75, 1, 232, 158, 69, 74, 235, 134, + 39, 191, 221, 39, 99, 93, 152, 100, 41, 113, 145, 184, 104, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 83, 32, 201, 116, 137, 131, 89, 22, 19, 166, 146, 103, 6, 118, 246, 83, 173, 210, + 28, 144, 173, 209, 144, 82, 99, 62, 56, 172, 168, 222, 56, 5, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 233, 180, 208, 208, 2, 167, 90, 33, 167, 8, 221, 192, 58, 100, 243, 198, 217, 18, + 163, 141, 152, 165, 181, 11, 168, 213, 50, 6, 138, 27, 14, 82, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 157, 220, 110, 12, 32, 143, 121, 85, 213, 169, 246, 40, 193, 183, 224, 233, 190, 6, + 164, 236, 2, 48, 21, 115, 90, 64, 78, 138, 16, 64, 26, 64, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 133, 99, 48, 212, 37, 105, 222, 157, 159, 125, 196, 56, 132, 119, 84, 224, 131, 6, + 226, 159, 215, 23, 221, 73, 26, 149, 52, 29, 44, 241, 116, 118, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 83, 138, 161, 70, 183, 137, 46, 241, 234, 74, 130, 5, 228, 217, 156, 120, 192, 37, + 152, 111, 12, 124, 165, 70, 23, 6, 66, 171, 3, 36, 127, 78, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 227, 200, 146, 82, 182, 0, 53, 22, 212, 246, 170, 50, 138, 142, 226, 234, 89, 155, + 102, 238, 168, 206, 135, 39, 135, 29, 20, 106, 126, 15, 170, 119, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 110, 242, 106, 64, 244, 134, 108, 222, 69, 181, 119, 204, 241, 142, 223, 132, 154, + 113, 186, 27, 112, 18, 43, 233, 162, 92, 81, 244, 3, 174, 106, 68, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 57, 243, 120, 34, 156, 175, 100, 8, 60, 161, 142, 22, 3, 193, 144, 13, 180, 242, 8, + 26, 110, 136, 21, 123, 194, 237, 69, 247, 131, 80, 66, 95, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 211, 246, 147, 81, 89, 140, 156, 73, 154, 206, 128, 60, 149, 77, 31, 70, 103, 8, + 68, 6, 251, 239, 94, 21, 89, 80, 1, 199, 169, 132, 27, 147, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 17, 57, 174, 34, 14, 10, 220, 188, 30, 198, 224, 53, 211, 223, 244, 8, 44, 129, 85, + 209, 37, 48, 5, 177, 253, 30, 125, 213, 89, 229, 84, 156, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 65, 136, 207, 123, 199, 75, 245, 43, 82, 139, 61, 184, 66, 24, 178, 65, 21, 229, + 129, 84, 6, 87, 143, 141, 33, 17, 88, 167, 216, 46, 253, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 247, 238, 60, 69, 147, 59, 0, 226, 11, 193, 103, 176, 220, 116, 40, 15, 164, 248, + 14, 119, 94, 71, 2, 170, 7, 216, 198, 117, 169, 13, 221, 45, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 125, 166, 173, 87, 4, 53, 11, 177, 48, 101, 154, 204, 75, 86, 166, 156, 91, 175, + 152, 137, 81, 150, 188, 65, 31, 180, 241, 68, 2, 111, 30, 150, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 20, 95, 64, 247, 171, 206, 101, 57, 27, 14, 162, 47, 252, 189, 200, 35, 42, 119, + 221, 93, 44, 246, 128, 247, 183, 49, 174, 33, 182, 182, 223, 190, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 19, 171, 217, 45, 99, 165, 148, 17, 161, 237, 29, 93, 116, 41, 184, 82, 230, 138, + 184, 249, 155, 27, 223, 14, 17, 80, 70, 224, 252, 63, 238, 49, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 112, 181, 200, 31, 200, 241, 101, 182, 59, 121, 108, 58, 233, 39, 222, 79, 225, + 146, 131, 144, 33, 217, 102, 24, 94, 14, 53, 136, 220, 72, 69, 71, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 18, 109, 27, 225, 171, 206, 196, 225, 134, 83, 166, 170, 183, 187, 200, 187, 177, + 38, 214, 82, 83, 157, 152, 64, 143, 245, 144, 252, 55, 148, 26, 45, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 48, 198, 201, 94, 245, 43, 223, 34, 242, 203, 199, 174, 55, 162, 63, 200, 255, 113, + 77, 96, 95, 140, 138, 121, 140, 136, 17, 88, 239, 127, 9, 77, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 236, 253, 198, 121, 206, 184, 51, 72, 34, 255, 19, 174, 163, 176, 172, 152, 248, + 61, 37, 38, 250, 111, 252, 203, 194, 128, 173, 137, 17, 244, 232, 169, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 46, 22, 135, 220, 108, 3, 224, 205, 94, 189, 186, 204, 148, 46, 114, 30, 135, 131, + 140, 122, 167, 173, 110, 39, 30, 113, 186, 8, 242, 22, 78, 153, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 86, 179, 37, 154, 15, 213, 2, 81, 201, 199, 134, 105, 221, 185, 68, 62, 225, 227, + 151, 225, 140, 106, 196, 108, 174, 64, 174, 168, 248, 250, 82, 244, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 10, 31, 69, 90, 14, 169, 53, 11, 75, 49, 106, 245, 115, 230, 54, 84, 8, 148, 46, + 11, 164, 35, 16, 163, 152, 148, 65, 148, 234, 171, 0, 113, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 79, 47, 70, 100, 185, 110, 186, 168, 197, 210, 129, 251, 199, 6, 8, 227, 88, 132, + 32, 183, 104, 31, 167, 94, 157, 217, 242, 92, 81, 247, 224, 172, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 23, 204, 195, 181, 74, 251, 72, 137, 105, 142, 185, 153, 86, 142, 158, 117, 185, + 56, 129, 152, 186, 125, 88, 125, 112, 219, 159, 97, 119, 52, 158, 55, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 240, 192, 18, 57, 51, 248, 168, 195, 213, 175, 238, 133, 115, 52, 63, 79, 54, 18, + 73, 71, 149, 118, 61, 53, 38, 85, 106, 179, 240, 32, 177, 163, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 232, 163, 0, 143, 222, 193, 7, 101, 244, 223, 137, 189, 37, 194, 7, 137, 121, + 65, 40, 81, 206, 2, 144, 165, 3, 6, 8, 237, 152, 133, 125, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 193, 74, 203, 169, 65, 71, 85, 55, 219, 41, 92, 246, 2, 118, 25, 253, 51, 83, 49, + 89, 162, 248, 172, 101, 161, 187, 253, 68, 212, 133, 93, 96, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 201, 165, 28, 33, 136, 153, 139, 83, 30, 212, 34, 175, 3, 247, 188, 112, 76, 134, + 104, 248, 70, 146, 59, 34, 167, 147, 54, 35, 16, 44, 231, 218, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 253, 236, 87, 77, 116, 41, 106, 163, 179, 116, 174, 253, 219, 104, 97, 72, 120, 92, + 210, 118, 82, 190, 144, 217, 234, 46, 94, 89, 4, 237, 148, 29, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 101, 247, 194, 244, 74, 40, 55, 249, 229, 194, 122, 140, 83, 247, 40, 54, 157, 76, + 96, 223, 177, 207, 108, 96, 105, 227, 159, 76, 197, 32, 92, 134, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 182, 82, 184, 76, 86, 22, 118, 231, 156, 36, 65, 185, 120, 7, 153, 34, 66, 44, 111, + 0, 15, 126, 195, 61, 106, 40, 178, 186, 104, 52, 121, 106, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 157, 9, 138, 25, 222, 255, 57, 126, 86, 187, 193, 51, 77, 62, 255, 228, 198, 147, + 6, 133, 70, 152, 40, 5, 57, 131, 95, 224, 83, 196, 216, 122, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 217, 246, 173, 96, 147, 88, 172, 205, 73, 58, 140, 102, 211, 177, 145, 48, 136, + 223, 220, 35, 60, 184, 50, 188, 105, 160, 147, 229, 220, 133, 22, 121, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 187, 249, 179, 208, 25, 241, 22, 198, 44, 184, 143, 103, 16, 75, 236, 89, 30, 217, + 166, 188, 71, 114, 148, 15, 23, 204, 255, 224, 15, 52, 62, 144, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 26, 223, 226, 254, 255, 228, 134, 29, 12, 171, 169, 196, 22, 192, 164, 75, 183, + 196, 86, 68, 243, 207, 177, 205, 167, 129, 83, 115, 191, 181, 167, 160, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 84, 247, 40, 36, 238, 0, 83, 91, 208, 213, 178, 114, 157, 28, 37, 123, 14, 201, + 166, 166, 93, 31, 150, 122, 149, 207, 145, 235, 197, 16, 146, 247, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 77, 50, 225, 17, 84, 142, 119, 108, 74, 77, 89, 168, 58, 144, 100, 135, 94, 96, 78, + 23, 192, 105, 53, 150, 10, 133, 49, 89, 101, 79, 123, 136, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 233, 179, 33, 73, 224, 40, 209, 247, 26, 186, 106, 43, 245, 219, 39, 174, 170, 183, + 3, 95, 113, 31, 135, 26, 201, 221, 46, 211, 170, 104, 113, 59, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 39, 238, 225, 255, 128, 38, 96, 88, 70, 168, 62, 189, 102, 96, 176, 50, 239, 222, + 48, 176, 122, 121, 200, 165, 153, 83, 233, 168, 183, 42, 70, 68, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 187, 50, 63, 188, 151, 223, 231, 123, 150, 181, 42, 103, 159, 48, 92, 117, 170, + 152, 244, 47, 91, 35, 220, 208, 215, 187, 81, 46, 119, 249, 244, 231, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 67, 117, 7, 48, 4, 243, 217, 53, 136, 25, 97, 155, 33, 89, 132, 162, 226, 144, 97, + 197, 146, 241, 27, 236, 249, 62, 154, 111, 114, 187, 88, 112, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 16, 234, 243, 120, 43, 30, 214, 198, 121, 214, 132, 92, 51, 189, 27, 171, 195, 153, + 19, 78, 223, 117, 87, 218, 8, 69, 108, 255, 161, 82, 26, 41, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 2, 205, 119, 111, 20, 196, 42, 0, 46, 132, 168, 75, 244, 142, 227, 25, 96, 70, 53, + 241, 128, 155, 102, 115, 199, 27, 25, 13, 230, 133, 242, 72, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 95, 116, 171, 147, 162, 15, 11, 233, 109, 215, 132, 223, 150, 80, 4, 7, 207, 37, + 194, 76, 173, 228, 55, 165, 27, 173, 249, 158, 243, 7, 221, 211, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 123, 185, 211, 69, 107, 180, 165, 141, 86, 65, 218, 146, 176, 87, 98, 210, 157, + 125, 221, 102, 106, 145, 29, 125, 101, 43, 179, 217, 30, 113, 110, 238, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 24, 116, 75, 96, 69, 237, 163, 100, 31, 159, 190, 110, 176, 25, 224, 79, 61, 51, + 10, 27, 27, 233, 128, 113, 134, 45, 150, 176, 198, 40, 124, 11, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 178, 19, 138, 159, 160, 57, 52, 37, 110, 51, 2, 24, 254, 188, 37, 45, 131, 32, 91, + 1, 119, 175, 69, 22, 151, 191, 145, 6, 199, 227, 152, 8, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 18, 188, 108, 173, 226, 201, 142, 24, 125, 191, 88, 66, 36, 132, 234, 192, 129, + 242, 40, 4, 213, 162, 66, 216, 102, 139, 32, 219, 60, 37, 84, 182, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 47, 42, 137, 87, 152, 58, 179, 142, 40, 198, 32, 154, 173, 1, 8, 38, 183, 30, 2, + 91, 60, 106, 158, 220, 106, 146, 74, 45, 173, 228, 113, 189, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 16, 163, 1, 134, 113, 199, 105, 120, 170, 218, 49, 68, 136, 115, 248, 40, 145, 17, + 169, 174, 26, 128, 9, 200, 172, 6, 236, 30, 101, 122, 20, 145, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 98, 180, 11, 201, 78, 212, 78, 66, 249, 112, 44, 122, 210, 5, 87, 40, 62, 150, 158, + 203, 188, 157, 116, 214, 5, 63, 150, 187, 216, 150, 227, 12, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 60, 185, 202, 148, 173, 205, 205, 238, 199, 235, 157, 206, 161, 12, 82, 90, 79, + 224, 124, 13, 222, 49, 146, 45, 58, 123, 194, 65, 12, 54, 2, 49, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 170, 94, 79, 129, 56, 248, 190, 28, 11, 51, 249, 117, 70, 81, 206, 184, 55, 199, + 166, 85, 241, 98, 101, 215, 185, 16, 69, 188, 94, 81, 179, 234, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 39, 83, 221, 104, 214, 244, 40, 129, 70, 237, 214, 68, 4, 6, 44, 138, 89, 153, 125, + 142, 38, 150, 141, 23, 63, 192, 101, 129, 10, 183, 182, 235, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 239, 222, 199, 18, 201, 252, 72, 112, 67, 86, 250, 226, 133, 247, 141, 180, 225, + 169, 145, 63, 68, 76, 103, 111, 53, 198, 100, 202, 169, 154, 163, 20, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 50, 73, 248, 249, 235, 147, 53, 127, 25, 76, 104, 183, 145, 211, 110, 40, 254, 154, + 23, 240, 203, 196, 79, 92, 253, 25, 110, 252, 206, 53, 29, 51, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 238, 42, 195, 135, 150, 161, 67, 214, 81, 8, 49, 237, 128, 126, 149, 142, 203, 163, + 39, 186, 5, 208, 231, 75, 102, 86, 199, 89, 92, 160, 162, 252, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 241, 190, 179, 145, 250, 145, 176, 110, 95, 129, 210, 227, 124, 189, 13, 122, 18, + 19, 151, 104, 51, 25, 177, 61, 110, 148, 127, 18, 109, 171, 223, 56, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 108, 51, 107, 204, 141, 199, 100, 232, 66, 116, 16, 83, 96, 42, 151, 72, 82, 159, + 153, 198, 210, 198, 233, 218, 162, 169, 195, 22, 78, 189, 59, 198, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 115, 69, 165, 31, 91, 103, 131, 136, 67, 218, 234, 120, 130, 11, 118, 199, 201, + 235, 174, 3, 168, 103, 28, 79, 90, 120, 83, 153, 202, 247, 43, 25, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 41, 89, 63, 254, 74, 215, 238, 249, 144, 83, 95, 170, 244, 79, 13, 106, 91, 45, + 197, 85, 208, 75, 89, 103, 123, 214, 195, 206, 87, 29, 77, 134, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 160, 139, 90, 35, 203, 141, 148, 11, 204, 223, 253, 148, 131, 147, 5, 118, 79, 241, + 56, 172, 88, 226, 86, 180, 92, 110, 177, 161, 152, 104, 118, 162, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 94, 56, 235, 244, 7, 143, 9, 108, 33, 86, 125, 67, 11, 93, 84, 6, 26, 175, 251, + 203, 226, 28, 166, 249, 42, 17, 197, 17, 10, 134, 137, 124, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 205, 233, 171, 161, 85, 138, 141, 205, 118, 161, 222, 123, 68, 146, 69, 55, 51, + 193, 232, 195, 36, 217, 121, 231, 251, 190, 39, 159, 128, 191, 242, 77, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 217, 217, 26, 156, 45, 165, 186, 168, 134, 14, 250, 18, 177, 119, 62, 216, 51, 201, + 12, 163, 41, 105, 130, 197, 251, 155, 145, 45, 33, 101, 104, 193, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 128, 4, 14, 112, 1, 92, 55, 21, 98, 58, 245, 222, 108, 198, 148, 226, 220, 15, 164, + 6, 55, 217, 41, 149, 1, 167, 241, 136, 221, 81, 29, 40, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 60, 149, 215, 65, 191, 229, 220, 46, 254, 13, 87, 110, 98, 121, 58, 159, 145, 76, + 87, 40, 122, 12, 251, 97, 133, 211, 227, 205, 36, 63, 156, 82, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 20, 11, 91, 182, 91, 115, 216, 119, 118, 177, 44, 240, 175, 25, 242, 179, 160, 125, + 143, 106, 250, 183, 103, 155, 111, 241, 138, 250, 96, 53, 117, 181, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 43, 123, 76, 195, 157, 0, 53, 85, 154, 0, 78, 97, 57, 57, 199, 216, 104, 225, 88, + 81, 45, 144, 197, 6, 152, 154, 3, 246, 90, 21, 143, 106, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 213, 150, 56, 79, 139, 174, 47, 156, 53, 221, 26, 58, 82, 236, 146, 51, 142, 33, + 55, 185, 134, 157, 201, 195, 100, 144, 154, 251, 203, 250, 207, 148, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 99, 58, 42, 2, 124, 68, 20, 65, 173, 225, 216, 21, 72, 31, 44, 221, 211, 196, 20, + 238, 67, 203, 55, 199, 8, 34, 168, 119, 71, 240, 177, 110, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 46, 192, 96, 107, 160, 42, 212, 128, 253, 133, 180, 127, 91, 59, 15, 29, 55, 48, + 238, 58, 5, 202, 218, 144, 10, 94, 241, 203, 222, 74, 103, 235, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 36, 50, 28, 43, 163, 169, 12, 160, 183, 167, 126, 143, 116, 127, 107, 61, 110, 150, + 128, 92, 59, 88, 185, 61, 24, 252, 101, 167, 192, 14, 207, 83, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 243, 205, 213, 154, 124, 210, 96, 117, 97, 49, 163, 251, 232, 93, 108, 41, 71, 95, + 55, 90, 253, 247, 119, 29, 39, 110, 97, 121, 90, 55, 34, 151, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 8, 144, 72, 245, 58, 243, 215, 185, 209, 114, 218, 169, 45, 48, 253, 50, 112, 99, + 176, 72, 60, 85, 24, 103, 249, 136, 114, 145, 18, 221, 241, 14, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 38, 63, 183, 98, 252, 13, 123, 17, 10, 161, 158, 114, 144, 93, 18, 190, 233, 219, + 91, 210, 148, 98, 183, 134, 204, 229, 144, 83, 238, 35, 199, 243, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 251, 251, 42, 142, 188, 159, 144, 230, 12, 12, 23, 174, 142, 158, 39, 168, 61, 163, + 156, 47, 191, 154, 79, 233, 163, 239, 234, 245, 122, 15, 161, 180, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 251, 209, 100, 128, 250, 106, 179, 165, 42, 197, 89, 225, 177, 52, 121, 140, 106, + 40, 147, 3, 13, 130, 225, 177, 122, 180, 44, 155, 199, 225, 116, 240, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 125, 243, 11, 162, 126, 247, 17, 241, 209, 242, 108, 18, 67, 248, 253, 174, 197, + 188, 166, 150, 163, 252, 167, 185, 252, 235, 142, 58, 14, 207, 215, 25, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 167, 103, 107, 149, 184, 80, 154, 190, 22, 118, 29, 61, 85, 163, 36, 178, 133, 20, + 40, 175, 230, 155, 66, 9, 31, 7, 52, 10, 15, 150, 172, 112, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 38, 229, 243, 31, 174, 176, 33, 231, 243, 165, 216, 53, 237, 198, 69, 255, 1, 160, + 110, 99, 167, 238, 98, 183, 132, 149, 134, 213, 206, 136, 88, 82, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 163, 207, 233, 19, 170, 124, 1, 249, 232, 144, 108, 29, 75, 8, 3, 214, 110, 44, 94, + 170, 145, 128, 107, 27, 67, 29, 8, 218, 89, 100, 58, 240, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 65, 152, 171, 101, 172, 139, 230, 60, 191, 33, 11, 15, 78, 237, 24, 224, 120, 5, + 123, 178, 41, 40, 70, 16, 251, 230, 103, 173, 229, 116, 129, 79, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 76, 9, 68, 165, 202, 166, 24, 99, 182, 160, 128, 14, 59, 110, 215, 156, 79, 60, 33, + 122, 154, 245, 50, 246, 204, 131, 173, 198, 205, 6, 151, 218, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 164, 246, 117, 247, 34, 44, 51, 197, 84, 214, 176, 255, 235, 11, 7, 137, 29, 241, + 128, 128, 175, 32, 107, 210, 179, 124, 20, 184, 137, 201, 84, 177, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 52, 206, 79, 225, 5, 187, 137, 42, 140, 20, 162, 103, 174, 33, 48, 162, 139, 15, + 118, 183, 31, 20, 15, 69, 144, 209, 22, 139, 215, 176, 96, 88, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 102, 9, 216, 184, 154, 46, 223, 93, 127, 180, 137, 233, 62, 47, 2, 149, 129, 178, + 99, 246, 50, 140, 119, 76, 241, 122, 185, 166, 237, 173, 64, 51, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 158, 221, 183, 62, 32, 95, 95, 0, 115, 144, 90, 172, 49, 0, 222, 96, 207, 122, 72, + 150, 106, 197, 198, 181, 201, 233, 196, 74, 247, 10, 9, 13, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 189, 71, 227, 78, 175, 61, 116, 8, 40, 33, 198, 27, 175, 22, 83, 63, 81, 162, 161, + 3, 106, 169, 149, 192, 65, 216, 99, 72, 2, 54, 172, 134, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 210, 203, 21, 245, 64, 250, 68, 2, 161, 180, 81, 151, 36, 191, 244, 169, 178, 189, + 106, 73, 85, 155, 126, 92, 255, 94, 67, 216, 73, 52, 192, 180, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 129, 168, 216, 77, 77, 90, 88, 142, 57, 132, 31, 183, 173, 240, 79, 18, 94, 154, + 176, 76, 155, 2, 58, 38, 77, 56, 137, 143, 76, 97, 132, 28, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 248, 24, 207, 47, 5, 226, 204, 151, 74, 233, 82, 171, 253, 140, 217, 248, 116, 159, + 144, 215, 140, 166, 112, 255, 211, 162, 202, 207, 146, 198, 206, 176, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 29, 27, 123, 210, 134, 46, 192, 57, 65, 52, 66, 90, 33, 20, 129, 233, 250, 201, 30, + 61, 29, 224, 244, 89, 135, 116, 65, 162, 110, 94, 54, 31, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 128, 14, 126, 119, 7, 12, 65, 206, 40, 201, 131, 1, 147, 36, 88, 100, 174, 203, + 131, 168, 155, 183, 85, 114, 191, 5, 193, 56, 187, 97, 77, 19, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 60, 5, 106, 84, 33, 254, 121, 112, 236, 123, 208, 44, 115, 3, 97, 179, 252, 42, + 239, 48, 0, 184, 239, 233, 57, 141, 185, 69, 76, 161, 21, 212, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 102, 225, 77, 2, 150, 120, 143, 21, 214, 68, 90, 18, 158, 174, 15, 231, 221, 18, + 74, 230, 231, 187, 6, 39, 212, 241, 92, 131, 51, 185, 31, 237, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 248, 24, 222, 23, 72, 201, 225, 85, 58, 6, 79, 21, 60, 17, 244, 215, 233, 135, 144, + 237, 129, 125, 82, 25, 140, 254, 77, 195, 140, 154, 197, 75, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 152, 68, 231, 70, 218, 149, 247, 81, 179, 87, 20, 53, 64, 34, 63, 19, 29, 155, 112, + 172, 6, 109, 185, 95, 188, 32, 216, 83, 138, 179, 243, 212, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 252, 131, 14, 186, 196, 141, 243, 245, 244, 129, 124, 80, 187, 37, 236, 196, 27, + 105, 106, 131, 188, 244, 8, 24, 127, 46, 214, 126, 192, 106, 209, 169, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 1, 216, 191, 89, 223, 46, 243, 217, 246, 95, 102, 183, 243, 178, 39, 19, 158, 240, + 42, 84, 169, 205, 143, 66, 198, 168, 179, 84, 249, 124, 195, 127, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 170, 184, 82, 27, 24, 36, 219, 194, 127, 142, 54, 70, 201, 188, 126, 96, 10, 17, + 211, 29, 237, 160, 189, 195, 193, 249, 238, 82, 92, 92, 153, 38, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 44, 59, 154, 53, 225, 222, 175, 196, 145, 44, 25, 90, 210, 155, 119, 159, 32, 166, + 162, 240, 211, 161, 73, 158, 253, 95, 255, 230, 208, 220, 101, 161, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 12, 218, 84, 161, 44, 100, 117, 248, 110, 170, 65, 90, 15, 195, 3, 77, 192, 227, + 46, 29, 206, 18, 85, 6, 3, 168, 21, 87, 45, 116, 17, 167, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 51, 196, 95, 7, 202, 242, 9, 38, 240, 228, 139, 121, 219, 63, 88, 249, 14, 77, 229, + 19, 71, 80, 129, 234, 97, 94, 65, 51, 146, 13, 153, 79, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 43, 124, 46, 152, 24, 160, 238, 98, 102, 14, 74, 220, 152, 131, 254, 249, 50, 151, + 57, 245, 52, 180, 84, 160, 233, 180, 36, 1, 132, 47, 126, 139, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 120, 29, 180, 143, 185, 24, 178, 94, 140, 63, 6, 47, 181, 182, 195, 162, 45, 164, + 58, 196, 129, 236, 33, 18, 242, 232, 209, 105, 48, 173, 140, 227, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 187, 143, 10, 227, 140, 243, 110, 226, 253, 197, 16, 126, 86, 47, 250, 207, 123, + 15, 114, 181, 74, 174, 38, 57, 219, 193, 174, 216, 100, 118, 111, 178, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 252, 226, 124, 36, 127, 208, 71, 144, 200, 191, 100, 171, 110, 78, 32, 144, 17, 74, + 52, 84, 68, 212, 160, 33, 170, 55, 251, 144, 203, 156, 206, 123, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 200, 83, 43, 62, 138, 27, 55, 184, 66, 70, 180, 61, 119, 162, 58, 114, 36, 244, 96, + 74, 235, 59, 238, 63, 100, 184, 86, 125, 2, 119, 183, 61, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 69, 9, 236, 140, 105, 237, 201, 31, 115, 71, 27, 133, 43, 64, 243, 52, 244, 17, + 134, 79, 198, 202, 64, 171, 78, 52, 162, 79, 219, 153, 200, 122, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 134, 110, 127, 214, 45, 79, 36, 237, 10, 172, 133, 15, 89, 169, 181, 9, 49, 159, + 180, 190, 37, 5, 202, 158, 203, 37, 18, 108, 112, 36, 185, 7, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 168, 17, 118, 102, 16, 49, 145, 172, 182, 220, 154, 105, 218, 229, 83, 188, 48, + 204, 145, 43, 48, 36, 211, 229, 163, 105, 65, 67, 246, 253, 106, 105, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 40, 14, 167, 32, 123, 50, 40, 135, 52, 35, 159, 244, 206, 238, 226, 149, 91, 229, + 65, 146, 3, 158, 227, 115, 134, 16, 192, 41, 120, 58, 215, 238, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 96, 15, 86, 80, 163, 191, 70, 200, 2, 9, 58, 203, 129, 20, 150, 0, 102, 19, 85, 67, + 105, 220, 232, 223, 147, 208, 136, 183, 56, 0, 169, 122, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 3, 251, 235, 220, 126, 3, 51, 164, 136, 24, 112, 23, 113, 90, 117, 209, 253, 140, + 219, 35, 31, 77, 151, 169, 120, 199, 131, 89, 217, 220, 8, 228, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 164, 147, 49, 157, 173, 248, 27, 105, 100, 71, 169, 232, 58, 161, 240, 230, 105, + 172, 89, 45, 243, 55, 172, 80, 43, 224, 37, 177, 210, 250, 240, 132, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 220, 189, 38, 244, 54, 245, 249, 62, 101, 88, 180, 71, 10, 80, 223, 66, 185, 176, + 61, 73, 1, 137, 40, 26, 164, 156, 94, 221, 113, 61, 201, 120, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 19, 177, 113, 119, 171, 250, 245, 182, 190, 17, 102, 37, 105, 101, 72, 113, 75, + 129, 209, 104, 198, 177, 78, 81, 22, 55, 124, 111, 157, 236, 163, 173, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 31, 67, 73, 40, 103, 245, 3, 20, 180, 190, 125, 111, 96, 229, 78, 66, 217, 142, + 251, 78, 137, 71, 13, 65, 54, 45, 172, 175, 17, 217, 85, 158, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 54, 191, 114, 106, 168, 189, 143, 189, 29, 70, 117, 10, 95, 62, 84, 152, 157, 241, + 68, 190, 81, 39, 42, 71, 219, 14, 99, 98, 2, 156, 115, 152, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 102, 53, 227, 161, 173, 13, 86, 107, 154, 202, 249, 253, 4, 81, 97, 54, 15, 197, + 254, 127, 0, 52, 184, 21, 90, 237, 101, 250, 108, 63, 117, 55, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 193, 138, 135, 180, 100, 200, 215, 216, 63, 104, 19, 189, 90, 160, 224, 176, 27, + 142, 168, 6, 191, 72, 157, 14, 214, 118, 7, 191, 182, 210, 174, 34, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 189, 112, 179, 235, 128, 85, 95, 71, 91, 216, 37, 68, 129, 107, 91, 15, 147, 153, + 52, 131, 28, 34, 55, 3, 98, 76, 184, 232, 153, 109, 108, 249, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 97, 38, 211, 20, 243, 74, 116, 4, 97, 9, 230, 67, 171, 93, 222, 0, 250, 105, 198, + 195, 98, 49, 175, 14, 32, 127, 246, 172, 130, 203, 30, 82, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 136, 195, 0, 32, 182, 197, 74, 16, 149, 223, 111, 253, 1, 48, 122, 36, 122, 106, + 34, 206, 208, 160, 238, 137, 113, 164, 68, 199, 217, 187, 186, 111, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 197, 35, 54, 206, 239, 115, 226, 219, 144, 106, 215, 243, 132, 120, 141, 197, 126, + 101, 95, 247, 240, 177, 246, 135, 46, 94, 13, 159, 212, 28, 203, 246, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 230, 59, 240, 62, 204, 247, 75, 107, 52, 117, 33, 229, 123, 242, 80, 216, 237, 125, + 13, 131, 61, 142, 246, 91, 82, 235, 19, 77, 30, 183, 179, 198, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 7, 67, 45, 12, 56, 65, 18, 243, 168, 103, 37, 15, 113, 144, 41, 100, 176, 35, 85, + 170, 80, 160, 151, 105, 33, 218, 217, 100, 129, 83, 187, 250, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 205, 153, 34, 127, 105, 239, 41, 120, 224, 185, 49, 8, 42, 178, 12, 173, 221, + 107, 232, 177, 89, 155, 252, 126, 177, 180, 125, 106, 208, 157, 219, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 11, 215, 156, 88, 38, 119, 189, 107, 39, 196, 234, 74, 247, 235, 117, 154, 109, + 120, 120, 128, 99, 118, 62, 136, 128, 189, 147, 191, 218, 11, 104, 69, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 40, 138, 12, 178, 123, 101, 50, 68, 84, 86, 206, 199, 85, 89, 54, 194, 129, 151, + 43, 59, 195, 221, 117, 238, 6, 41, 58, 190, 249, 85, 90, 16, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 49, 72, 211, 231, 87, 198, 171, 225, 123, 238, 49, 181, 213, 17, 240, 135, 33, 141, + 240, 155, 203, 38, 91, 39, 203, 156, 235, 208, 66, 57, 172, 108, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 223, 47, 253, 178, 187, 228, 77, 162, 153, 255, 33, 72, 20, 111, 32, 157, 96, 128, + 57, 84, 218, 119, 101, 95, 41, 146, 195, 188, 124, 232, 242, 57, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 10, 119, 223, 219, 49, 68, 26, 86, 110, 9, 100, 16, 18, 209, 107, 63, 202, 118, + 118, 36, 125, 75, 42, 94, 68, 5, 54, 187, 165, 233, 99, 33, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 218, 176, 27, 94, 22, 198, 227, 107, 93, 165, 211, 210, 70, 38, 33, 209, 153, 61, + 15, 116, 185, 15, 53, 247, 41, 106, 92, 189, 158, 138, 92, 141, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 95, 7, 145, 168, 15, 30, 167, 183, 228, 188, 64, 218, 19, 101, 87, 58, 135, 18, 71, + 143, 191, 228, 198, 102, 223, 99, 134, 118, 53, 176, 64, 190, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 50, 105, 227, 74, 138, 0, 208, 176, 184, 82, 159, 142, 155, 179, 206, 236, 176, + 206, 170, 5, 252, 68, 218, 121, 99, 153, 166, 189, 76, 102, 83, 11, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 50, 248, 204, 139, 224, 237, 240, 93, 189, 6, 240, 67, 165, 70, 129, 220, 252, 225, + 114, 33, 54, 0, 171, 103, 4, 73, 248, 123, 159, 42, 26, 160, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 189, 40, 204, 241, 180, 81, 72, 222, 29, 113, 39, 193, 250, 145, 32, 229, 150, 92, + 125, 136, 129, 152, 181, 100, 239, 129, 62, 90, 218, 164, 148, 56, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 15, 199, 84, 192, 242, 88, 123, 66, 241, 210, 154, 207, 184, 4, 157, 145, 179, 72, + 249, 83, 242, 136, 245, 12, 141, 45, 232, 107, 191, 213, 64, 107, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 141, 219, 201, 82, 203, 112, 180, 15, 171, 49, 120, 246, 8, 211, 132, 200, 234, + 140, 34, 151, 79, 130, 226, 171, 224, 157, 62, 214, 138, 121, 94, 32, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 14, 217, 56, 21, 246, 67, 30, 139, 186, 82, 130, 145, 130, 231, 208, 2, 138, 27, + 183, 10, 82, 207, 91, 190, 135, 42, 130, 0, 77, 173, 186, 28, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 232, 6, 222, 109, 9, 152, 29, 178, 227, 84, 215, 212, 98, 150, 197, 105, 251, 16, + 103, 60, 166, 129, 208, 83, 169, 208, 153, 11, 89, 99, 52, 180, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 58, 122, 60, 91, 52, 36, 243, 183, 207, 24, 20, 2, 95, 98, 181, 172, 19, 187, 46, + 144, 75, 102, 0, 234, 132, 190, 196, 39, 132, 86, 94, 105, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 2, 199, 210, 50, 254, 71, 223, 254, 165, 205, 208, 76, 35, 114, 70, 14, 49, 114, + 157, 86, 2, 156, 14, 82, 69, 60, 244, 158, 48, 142, 42, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 3, 218, 67, 172, 10, 136, 55, 243, 146, 90, 99, 239, 240, 251, 220, 69, 253, 69, + 255, 178, 60, 249, 148, 233, 157, 214, 233, 125, 123, 53, 42, 81, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 164, 56, 26, 71, 203, 121, 128, 232, 216, 158, 63, 99, 78, 77, 158, 196, 118, 196, + 115, 44, 214, 34, 26, 108, 52, 91, 13, 11, 164, 230, 188, 211, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 97, 243, 176, 107, 144, 126, 30, 114, 163, 71, 158, 192, 96, 87, 101, 147, 199, + 217, 160, 10, 112, 76, 1, 244, 11, 6, 138, 191, 70, 162, 175, 182, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 202, 72, 154, 200, 150, 214, 190, 49, 48, 50, 20, 44, 159, 28, 74, 36, 223, 120, + 59, 92, 107, 102, 72, 202, 98, 217, 40, 136, 73, 86, 28, 167, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 198, 53, 36, 45, 231, 3, 22, 47, 46, 36, 30, 73, 250, 216, 172, 203, 61, 25, 190, + 95, 231, 228, 220, 190, 202, 180, 162, 13, 230, 29, 24, 56, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 50, 50, 2, 189, 164, 58, 58, 153, 199, 184, 204, 220, 46, 149, 239, 209, 149, 144, + 43, 105, 12, 8, 164, 42, 63, 118, 209, 9, 55, 61, 217, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 183, 142, 138, 136, 226, 139, 63, 113, 207, 115, 155, 225, 147, 113, 146, 115, 99, + 75, 11, 225, 56, 13, 124, 160, 0, 11, 24, 251, 145, 128, 148, 113, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 115, 188, 56, 97, 102, 124, 223, 247, 39, 205, 226, 1, 84, 39, 144, 0, 7, 232, 18, + 222, 4, 163, 158, 207, 214, 207, 67, 26, 130, 184, 122, 163, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 58, 137, 110, 93, 173, 108, 75, 47, 17, 155, 219, 50, 135, 5, 143, 229, 62, 156, + 115, 211, 164, 115, 28, 131, 248, 21, 239, 47, 47, 70, 125, 37, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 168, 216, 165, 136, 165, 193, 249, 172, 212, 188, 15, 182, 34, 126, 224, 147, 155, + 66, 104, 186, 37, 143, 105, 65, 254, 172, 234, 109, 17, 178, 242, 148, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 7, 21, 158, 21, 36, 194, 44, 113, 44, 31, 220, 29, 240, 143, 177, 202, 25, 143, + 161, 188, 251, 30, 184, 251, 191, 66, 144, 52, 210, 2, 112, 45, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 212, 13, 43, 73, 55, 213, 88, 202, 144, 215, 174, 198, 219, 37, 20, 135, 152, 215, + 15, 170, 27, 150, 192, 85, 6, 120, 161, 230, 81, 103, 194, 93, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 13, 45, 109, 157, 234, 22, 165, 205, 46, 149, 168, 149, 42, 103, 205, 199, 13, 77, + 196, 250, 230, 199, 138, 38, 248, 206, 62, 52, 192, 66, 178, 223, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 203, 13, 64, 95, 44, 143, 248, 175, 175, 5, 27, 223, 201, 218, 68, 47, 208, 13, + 142, 80, 69, 4, 44, 176, 137, 233, 226, 2, 38, 211, 255, 45, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 144, 154, 181, 191, 5, 81, 212, 103, 27, 178, 59, 189, 63, 2, 244, 123, 150, 226, + 80, 26, 117, 58, 246, 124, 14, 74, 47, 200, 198, 255, 207, 221, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 141, 170, 189, 72, 35, 189, 225, 181, 234, 124, 107, 188, 126, 175, 182, 74, 157, + 79, 237, 94, 81, 15, 118, 197, 178, 217, 131, 97, 31, 177, 100, 57, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 35, 116, 144, 37, 83, 229, 157, 99, 3, 1, 98, 24, 145, 150, 232, 203, 170, 86, 203, + 74, 50, 70, 122, 215, 129, 169, 116, 233, 219, 190, 248, 161, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 157, 5, 239, 218, 175, 61, 99, 7, 239, 108, 35, 228, 73, 45, 44, 207, 98, 39, 32, + 80, 234, 231, 49, 6, 96, 42, 128, 3, 230, 139, 213, 222, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 34, 30, 182, 176, 47, 202, 131, 122, 7, 137, 18, 137, 79, 1, 110, 39, 64, 21, 80, + 158, 28, 11, 83, 24, 45, 16, 219, 246, 57, 220, 149, 28, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 113, 190, 8, 144, 185, 41, 31, 198, 176, 244, 236, 23, 74, 48, 136, 60, 144, 111, + 116, 52, 61, 213, 233, 96, 96, 52, 134, 172, 179, 134, 56, 158, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 32, 231, 44, 46, 9, 154, 163, 241, 186, 217, 247, 194, 177, 160, 199, 171, 163, + 201, 245, 105, 181, 47, 219, 249, 70, 132, 87, 16, 251, 123, 255, 132, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 217, 221, 169, 161, 197, 135, 59, 79, 201, 209, 186, 168, 165, 238, 243, 111, 111, + 207, 59, 16, 253, 87, 250, 233, 9, 8, 179, 117, 252, 151, 5, 118, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 29, 151, 213, 129, 52, 95, 230, 145, 158, 147, 1, 80, 255, 165, 29, 151, 16, 208, + 123, 244, 50, 215, 119, 77, 19, 159, 139, 211, 28, 50, 207, 81, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 72, 81, 121, 111, 149, 188, 80, 204, 181, 72, 86, 118, 205, 101, 172, 83, 102, 86, + 243, 238, 222, 214, 71, 117, 217, 12, 168, 13, 238, 4, 1, 58, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 75, 159, 172, 229, 12, 43, 89, 243, 54, 15, 150, 197, 247, 39, 197, 111, 76, 194, + 36, 77, 203, 220, 120, 4, 124, 215, 178, 225, 250, 58, 58, 103, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 233, 207, 83, 76, 70, 53, 79, 135, 232, 76, 163, 79, 16, 96, 105, 119, 34, 231, 52, + 137, 226, 20, 171, 36, 200, 249, 161, 22, 86, 18, 102, 32, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 220, 199, 236, 39, 32, 213, 30, 49, 50, 65, 169, 19, 87, 119, 182, 9, 121, 91, 19, + 76, 82, 51, 63, 220, 174, 155, 18, 53, 113, 177, 246, 117, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 160, 119, 246, 147, 210, 2, 198, 232, 208, 224, 73, 149, 60, 50, 129, 189, 114, 88, + 139, 195, 224, 102, 199, 138, 111, 131, 65, 75, 231, 196, 20, 12, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 123, 149, 197, 188, 163, 22, 178, 141, 225, 83, 7, 85, 243, 13, 119, 126, 104, 242, + 100, 3, 185, 244, 46, 160, 237, 223, 199, 147, 24, 37, 174, 169, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 86, 127, 130, 239, 74, 85, 160, 97, 243, 141, 85, 111, 3, 141, 235, 77, 41, 112, + 34, 56, 123, 154, 246, 67, 41, 106, 37, 63, 167, 222, 149, 228, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 167, 91, 231, 213, 188, 184, 169, 20, 190, 47, 29, 120, 56, 243, 209, 49, 109, 143, + 137, 53, 219, 234, 8, 211, 140, 213, 65, 21, 184, 159, 201, 124, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 250, 182, 41, 116, 149, 2, 38, 250, 234, 169, 24, 165, 167, 31, 54, 78, 78, 41, + 167, 194, 202, 97, 227, 101, 238, 169, 27, 50, 165, 101, 32, 160, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 154, 24, 44, 121, 102, 184, 152, 117, 69, 80, 18, 193, 176, 207, 59, 151, 19, 127, + 82, 217, 181, 79, 205, 158, 232, 56, 45, 35, 58, 69, 57, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 159, 137, 98, 109, 45, 197, 179, 46, 214, 104, 190, 195, 66, 71, 54, 112, 216, 160, + 1, 112, 239, 142, 90, 238, 126, 146, 1, 187, 190, 144, 76, 12, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 57, 91, 172, 162, 85, 31, 84, 230, 8, 112, 187, 50, 25, 172, 48, 58, 129, 83, 137, + 136, 201, 203, 229, 106, 51, 222, 82, 3, 78, 218, 39, 190, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 212, 251, 28, 25, 94, 18, 112, 77, 211, 164, 248, 23, 16, 34, 178, 80, 115, 19, + 230, 91, 164, 40, 207, 140, 221, 28, 117, 172, 90, 219, 152, 12, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 178, 19, 74, 236, 69, 14, 167, 124, 229, 121, 254, 109, 71, 37, 95, 69, 240, 16, + 176, 58, 34, 243, 41, 47, 158, 179, 57, 242, 104, 215, 207, 34, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 18, 2, 56, 201, 102, 112, 142, 221, 99, 134, 108, 124, 189, 137, 91, 133, 171, 180, + 41, 203, 151, 171, 248, 69, 90, 172, 85, 228, 198, 243, 84, 101, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 24, 51, 74, 225, 102, 219, 172, 151, 52, 249, 171, 176, 195, 163, 216, 102, 183, + 194, 161, 255, 70, 106, 135, 241, 205, 64, 17, 179, 232, 7, 168, 227, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 117, 229, 46, 108, 137, 251, 200, 249, 147, 164, 92, 23, 53, 48, 138, 25, 82, 0, 5, + 231, 139, 251, 106, 130, 137, 218, 29, 229, 162, 232, 37, 176, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 111, 170, 85, 3, 240, 24, 148, 56, 130, 73, 62, 159, 157, 35, 166, 23, 123, 9, 44, + 17, 167, 241, 219, 71, 28, 84, 64, 54, 53, 134, 51, 108, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 135, 153, 191, 210, 125, 221, 21, 72, 35, 17, 43, 129, 52, 107, 16, 157, 157, 242, + 100, 162, 116, 41, 112, 232, 168, 115, 147, 71, 249, 102, 66, 197, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 188, 149, 30, 83, 71, 98, 111, 48, 116, 232, 47, 84, 185, 31, 242, 226, 139, 118, + 186, 170, 194, 209, 143, 124, 223, 114, 58, 76, 193, 150, 249, 204, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 113, 49, 236, 13, 26, 33, 161, 131, 156, 49, 118, 82, 29, 43, 88, 121, 221, 205, + 213, 31, 198, 159, 82, 7, 81, 98, 170, 79, 46, 244, 200, 90, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 16, 39, 197, 77, 22, 8, 124, 216, 238, 80, 74, 1, 236, 153, 146, 12, 231, 67, 142, + 251, 4, 71, 102, 192, 70, 210, 23, 26, 117, 113, 174, 165, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 8, 146, 130, 245, 214, 121, 7, 147, 188, 164, 99, 23, 157, 193, 247, 207, 75, 59, + 17, 109, 244, 169, 220, 167, 142, 230, 66, 23, 110, 136, 196, 25, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 189, 137, 82, 251, 39, 179, 131, 242, 180, 14, 114, 192, 166, 210, 137, 99, 10, 16, + 140, 215, 138, 162, 70, 151, 249, 149, 8, 37, 81, 122, 95, 168, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 186, 102, 52, 112, 113, 70, 117, 218, 13, 181, 213, 85, 128, 2, 88, 2, 202, 153, + 99, 179, 154, 29, 188, 198, 115, 255, 76, 55, 12, 234, 242, 132, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 194, 121, 79, 233, 11, 92, 245, 137, 227, 253, 5, 14, 87, 182, 76, 204, 128, 113, + 155, 32, 144, 201, 219, 232, 68, 52, 119, 213, 50, 182, 146, 206, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 67, 35, 109, 102, 187, 71, 20, 91, 224, 28, 107, 196, 75, 67, 86, 146, 110, 189, + 30, 179, 125, 6, 179, 118, 147, 66, 232, 119, 201, 60, 72, 186, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 168, 200, 76, 163, 217, 114, 9, 180, 57, 170, 155, 112, 25, 87, 173, 145, 76, 99, + 250, 168, 28, 246, 9, 112, 36, 156, 247, 206, 63, 192, 185, 75, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 101, 133, 12, 126, 47, 142, 134, 91, 145, 244, 87, 73, 71, 46, 52, 237, 11, 228, + 208, 81, 167, 77, 71, 15, 24, 253, 180, 176, 234, 162, 36, 201, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 253, 185, 68, 42, 7, 96, 235, 84, 252, 136, 220, 183, 102, 59, 168, 95, 61, 180, + 212, 43, 248, 42, 194, 46, 253, 164, 201, 101, 218, 92, 138, 96, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 50, 142, 162, 235, 65, 133, 21, 209, 194, 238, 185, 198, 9, 72, 215, 20, 12, 252, + 75, 184, 232, 195, 89, 148, 52, 126, 188, 162, 205, 94, 91, 74, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 209, 247, 22, 92, 173, 68, 137, 78, 75, 163, 5, 75, 182, 173, 197, 162, 175, 219, + 131, 63, 218, 85, 24, 10, 58, 104, 1, 153, 61, 171, 109, 41, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 16, 105, 33, 47, 235, 208, 167, 214, 254, 51, 223, 150, 167, 155, 218, 12, 33, 121, + 109, 75, 131, 193, 92, 102, 22, 242, 122, 174, 199, 104, 137, 130, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 251, 138, 16, 116, 28, 168, 128, 80, 119, 90, 23, 57, 3, 227, 119, 218, 38, 154, 0, + 225, 133, 242, 64, 153, 10, 42, 147, 205, 215, 105, 103, 234, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 117, 164, 241, 204, 120, 230, 159, 245, 242, 72, 227, 169, 31, 61, 240, 83, 5, 27, + 19, 58, 179, 43, 197, 148, 59, 188, 191, 35, 242, 169, 68, 70, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 192, 228, 211, 153, 179, 122, 75, 22, 131, 69, 129, 145, 92, 46, 86, 95, 62, 254, + 110, 101, 94, 252, 21, 94, 1, 91, 134, 196, 223, 225, 22, 203, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 123, 108, 129, 2, 109, 66, 34, 222, 41, 70, 7, 96, 105, 190, 206, 165, 161, 180, + 186, 55, 190, 232, 160, 208, 244, 221, 11, 92, 27, 14, 152, 135, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 128, 142, 110, 160, 7, 117, 124, 54, 255, 156, 65, 96, 15, 52, 234, 95, 138, 219, + 206, 4, 54, 43, 169, 206, 81, 0, 240, 182, 242, 123, 198, 215, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 58, 67, 91, 26, 103, 240, 48, 81, 182, 207, 29, 2, 230, 88, 69, 112, 107, 41, 193, + 165, 18, 81, 130, 106, 4, 237, 224, 215, 40, 249, 23, 92, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 88, 166, 194, 86, 164, 164, 247, 160, 215, 59, 19, 133, 50, 122, 202, 128, 17, 248, + 168, 234, 199, 67, 154, 162, 5, 170, 239, 96, 6, 105, 59, 178, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 52, 100, 157, 137, 162, 115, 86, 230, 235, 106, 166, 235, 143, 5, 203, 178, 245, + 59, 129, 78, 20, 77, 126, 245, 243, 214, 37, 212, 34, 49, 120, 151, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 247, 12, 214, 36, 242, 96, 130, 152, 132, 22, 1, 163, 206, 30, 170, 173, 217, 194, + 24, 249, 186, 101, 170, 190, 98, 124, 218, 32, 55, 31, 28, 74, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 186, 188, 221, 30, 3, 150, 23, 100, 77, 109, 144, 72, 153, 229, 83, 153, 83, 74, 4, + 152, 188, 125, 242, 12, 81, 200, 206, 40, 252, 133, 65, 201, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 60, 108, 250, 154, 33, 79, 96, 200, 168, 194, 35, 38, 44, 45, 164, 24, 163, 129, + 213, 175, 232, 71, 148, 18, 144, 96, 66, 44, 243, 129, 220, 113, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 53, 224, 61, 74, 79, 234, 31, 231, 150, 68, 163, 146, 30, 25, 2, 97, 98, 203, 213, + 231, 204, 134, 18, 244, 217, 138, 19, 130, 210, 52, 97, 150, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 127, 185, 19, 65, 197, 183, 194, 104, 82, 83, 7, 144, 70, 163, 78, 241, 68, 179, + 128, 214, 192, 134, 207, 29, 102, 184, 136, 105, 31, 139, 249, 237, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 139, 106, 159, 226, 125, 151, 108, 64, 82, 187, 52, 52, 11, 122, 208, 139, 47, 228, + 10, 22, 180, 96, 55, 189, 235, 219, 91, 92, 27, 10, 80, 160, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 171, 159, 186, 174, 31, 242, 198, 76, 225, 26, 147, 156, 39, 1, 29, 194, 27, 106, + 13, 94, 213, 213, 134, 36, 68, 28, 215, 103, 142, 227, 252, 14, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 9, 11, 237, 220, 198, 121, 139, 157, 182, 63, 253, 197, 187, 100, 116, 221, 217, + 64, 165, 3, 108, 250, 229, 192, 145, 235, 175, 197, 32, 151, 10, 112, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 230, 66, 96, 85, 177, 13, 230, 251, 111, 95, 42, 156, 95, 83, 210, 129, 234, 72, 2, + 67, 50, 15, 117, 12, 102, 22, 58, 200, 41, 79, 232, 209, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 194, 204, 232, 199, 246, 153, 220, 24, 10, 210, 91, 80, 65, 65, 29, 55, 164, 69, + 42, 55, 92, 214, 197, 24, 197, 66, 222, 47, 155, 130, 100, 174, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 47, 255, 146, 57, 253, 188, 128, 56, 118, 196, 239, 29, 205, 231, 105, 205, 159, + 49, 60, 25, 98, 4, 88, 217, 255, 200, 61, 89, 250, 181, 245, 17, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 76, 238, 163, 45, 196, 8, 103, 133, 231, 129, 189, 214, 57, 7, 23, 35, 210, 111, + 77, 69, 119, 52, 171, 133, 21, 127, 170, 252, 12, 165, 110, 95, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 95, 140, 73, 76, 43, 39, 138, 250, 217, 41, 223, 49, 229, 24, 252, 200, 6, 229, + 130, 205, 39, 223, 181, 185, 229, 137, 59, 210, 47, 18, 142, 120, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 42, 88, 10, 106, 149, 123, 162, 220, 234, 163, 122, 114, 143, 153, 88, 199, 159, + 246, 10, 2, 76, 215, 66, 48, 34, 110, 124, 120, 90, 56, 115, 193, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 25, 87, 27, 25, 52, 115, 232, 104, 153, 46, 56, 241, 178, 91, 156, 197, 42, 49, + 195, 88, 79, 200, 119, 39, 79, 55, 182, 247, 64, 32, 214, 155, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 166, 246, 110, 133, 238, 103, 51, 226, 126, 142, 6, 120, 57, 155, 44, 181, 178, + 143, 164, 97, 98, 63, 120, 128, 124, 245, 147, 238, 12, 22, 2, 214, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 224, 97, 0, 113, 183, 234, 55, 81, 206, 49, 46, 251, 18, 203, 121, 11, 86, 86, 153, + 240, 241, 173, 66, 45, 106, 142, 65, 62, 97, 204, 62, 35, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 228, 198, 101, 62, 126, 116, 8, 47, 111, 156, 6, 80, 129, 171, 119, 128, 72, 165, + 35, 151, 192, 18, 251, 28, 194, 69, 43, 150, 223, 89, 26, 222, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 220, 4, 78, 135, 132, 122, 109, 190, 151, 231, 235, 254, 84, 21, 167, 23, 135, 131, + 208, 14, 35, 16, 39, 104, 86, 203, 242, 156, 92, 234, 105, 131, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 253, 134, 43, 112, 23, 70, 62, 213, 218, 46, 116, 24, 212, 126, 44, 219, 40, 249, + 197, 53, 124, 91, 242, 130, 144, 197, 77, 223, 172, 116, 179, 196, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 243, 105, 18, 47, 203, 235, 57, 134, 45, 66, 8, 35, 149, 4, 43, 191, 119, 175, 23, + 62, 174, 54, 157, 38, 8, 48, 123, 248, 199, 204, 49, 192, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 68, 27, 229, 96, 218, 121, 40, 208, 242, 215, 106, 98, 160, 163, 33, 96, 64, 183, + 40, 166, 149, 112, 31, 73, 33, 226, 205, 161, 107, 170, 172, 200, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 105, 13, 6, 160, 215, 192, 247, 224, 79, 104, 197, 100, 85, 230, 19, 159, 232, 248, + 6, 43, 150, 59, 207, 223, 164, 75, 225, 146, 33, 9, 33, 192, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 16, 62, 178, 200, 29, 35, 164, 80, 194, 229, 81, 122, 191, 202, 230, 134, 80, 162, + 48, 248, 69, 225, 67, 56, 188, 69, 85, 28, 157, 126, 192, 100, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 93, 143, 237, 105, 74, 141, 79, 237, 93, 89, 198, 35, 23, 225, 222, 186, 172, 223, + 89, 31, 88, 16, 39, 105, 172, 233, 63, 238, 225, 88, 174, 181, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 249, 79, 8, 5, 124, 216, 154, 160, 157, 52, 14, 123, 77, 136, 172, 193, 231, 8, 20, + 91, 237, 153, 88, 109, 44, 224, 80, 254, 11, 10, 176, 173, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 132, 211, 241, 209, 181, 190, 32, 205, 244, 188, 231, 111, 24, 18, 57, 145, 236, + 19, 155, 195, 235, 136, 180, 153, 120, 220, 148, 62, 37, 121, 161, 33, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 37, 155, 247, 180, 231, 202, 57, 92, 135, 185, 58, 187, 180, 212, 114, 94, 64, 62, + 130, 39, 66, 52, 242, 240, 230, 229, 252, 164, 129, 225, 131, 33, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 33, 213, 127, 81, 47, 122, 50, 155, 110, 41, 169, 140, 239, 155, 159, 26, 82, 117, + 40, 32, 241, 55, 229, 145, 250, 84, 183, 79, 125, 253, 93, 64, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 184, 6, 135, 120, 86, 182, 228, 35, 198, 139, 52, 149, 98, 49, 148, 139, 69, 173, + 92, 247, 252, 34, 8, 174, 99, 195, 114, 17, 105, 111, 151, 164, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 153, 103, 119, 184, 21, 0, 40, 144, 49, 226, 136, 172, 238, 172, 192, 155, 215, 98, + 253, 145, 99, 236, 133, 43, 160, 99, 17, 167, 101, 165, 131, 246, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 35, 82, 69, 163, 219, 79, 149, 67, 57, 242, 50, 127, 6, 105, 32, 191, 255, 182, + 228, 55, 24, 244, 168, 209, 173, 175, 169, 152, 187, 76, 199, 239, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 46, 39, 73, 50, 86, 3, 202, 39, 43, 208, 202, 251, 65, 247, 10, 183, 135, 96, 203, + 205, 86, 89, 103, 140, 37, 54, 108, 75, 81, 76, 136, 60, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 135, 144, 32, 245, 208, 218, 117, 199, 101, 63, 255, 194, 37, 217, 95, 118, 3, 206, + 165, 202, 214, 244, 93, 71, 159, 207, 48, 253, 237, 225, 65, 83, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 36, 2, 105, 159, 57, 127, 58, 172, 95, 161, 70, 100, 0, 146, 232, 166, 85, 2, 218, + 69, 236, 88, 140, 41, 115, 235, 9, 114, 239, 136, 104, 174, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 42, 107, 187, 0, 175, 76, 203, 94, 119, 174, 26, 209, 115, 75, 72, 15, 233, 170, + 123, 210, 153, 105, 209, 24, 21, 17, 116, 88, 216, 122, 165, 222, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 88, 73, 237, 161, 154, 50, 157, 0, 154, 204, 54, 83, 219, 137, 69, 156, 217, 14, + 127, 58, 26, 69, 73, 134, 85, 65, 154, 81, 6, 124, 141, 60, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 122, 105, 198, 46, 45, 66, 114, 92, 43, 156, 4, 55, 34, 250, 209, 228, 248, 214, + 195, 255, 2, 152, 30, 31, 110, 27, 5, 173, 125, 15, 61, 22, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 114, 89, 135, 148, 91, 209, 122, 199, 43, 135, 121, 104, 20, 254, 17, 53, 185, 83, + 157, 227, 245, 5, 156, 239, 34, 85, 192, 32, 43, 119, 123, 136, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 96, 225, 229, 224, 88, 17, 85, 11, 159, 227, 128, 19, 54, 137, 3, 189, 68, 6, 43, + 183, 208, 121, 244, 207, 219, 87, 151, 104, 100, 72, 233, 166, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 184, 121, 169, 94, 128, 186, 146, 198, 56, 51, 39, 162, 162, 70, 28, 96, 233, 121, + 252, 231, 102, 36, 97, 19, 22, 21, 163, 99, 64, 237, 66, 180, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 141, 214, 184, 187, 137, 247, 236, 127, 26, 215, 222, 230, 244, 62, 82, 7, 7, 182, + 254, 159, 23, 190, 59, 222, 212, 9, 128, 185, 116, 149, 234, 228, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 166, 53, 46, 198, 125, 250, 248, 179, 168, 17, 37, 102, 46, 219, 114, 3, 65, 253, + 43, 27, 70, 168, 192, 148, 158, 31, 202, 142, 8, 124, 191, 140, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 151, 232, 52, 255, 184, 71, 50, 255, 140, 216, 71, 14, 30, 180, 78, 89, 98, 79, 84, + 69, 107, 216, 27, 8, 254, 251, 59, 69, 112, 236, 71, 63, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 227, 116, 251, 209, 37, 108, 67, 64, 3, 37, 194, 134, 216, 150, 26, 173, 26, 46, + 192, 180, 74, 61, 42, 111, 170, 201, 110, 255, 255, 224, 238, 216, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 210, 236, 226, 30, 225, 225, 174, 30, 66, 7, 139, 121, 239, 52, 174, 135, 173, 247, + 205, 168, 251, 71, 239, 106, 13, 134, 26, 244, 50, 169, 44, 8, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 180, 222, 177, 31, 116, 105, 255, 130, 110, 247, 111, 87, 38, 186, 34, 89, 60, 48, + 221, 181, 82, 112, 187, 104, 123, 208, 180, 139, 233, 76, 216, 48, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 5, 243, 223, 239, 123, 20, 171, 85, 215, 153, 96, 37, 117, 149, 163, 182, 30, 95, + 60, 74, 103, 127, 186, 7, 234, 102, 18, 72, 118, 176, 74, 133, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 32, 0, 186, 167, 165, 46, 61, 48, 128, 136, 214, 90, 199, 227, 141, 215, 41, 136, + 186, 44, 173, 150, 45, 200, 29, 38, 101, 130, 136, 174, 201, 181, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 72, 150, 117, 125, 74, 66, 72, 89, 182, 96, 207, 222, 11, 32, 200, 128, 96, 112, + 140, 12, 32, 146, 115, 127, 172, 181, 192, 116, 192, 179, 83, 184, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 75, 105, 228, 174, 155, 155, 206, 150, 83, 72, 103, 252, 176, 203, 188, 124, 84, + 171, 103, 14, 187, 76, 23, 168, 45, 229, 247, 194, 208, 181, 62, 93, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 71, 195, 178, 35, 158, 235, 9, 232, 212, 227, 30, 215, 143, 107, 56, 232, 65, 34, + 52, 173, 208, 105, 144, 52, 65, 159, 10, 45, 77, 69, 185, 231, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 63, 159, 234, 36, 48, 117, 80, 152, 47, 22, 43, 210, 182, 199, 49, 121, 153, 156, + 88, 63, 105, 21, 47, 249, 135, 116, 98, 6, 249, 234, 225, 244, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 204, 209, 193, 75, 116, 187, 252, 87, 86, 92, 100, 49, 157, 174, 41, 230, 250, 173, + 175, 175, 197, 51, 78, 194, 25, 168, 154, 127, 137, 244, 217, 109, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 92, 139, 171, 90, 217, 67, 165, 27, 246, 132, 123, 164, 145, 112, 168, 198, 16, 79, + 103, 172, 167, 163, 55, 117, 211, 123, 44, 8, 44, 58, 148, 55, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 2, 240, 211, 240, 144, 87, 33, 185, 213, 180, 4, 247, 59, 28, 87, 17, 188, 177, 17, + 62, 63, 49, 47, 197, 106, 33, 125, 77, 167, 176, 234, 32, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 78, 129, 67, 130, 202, 255, 241, 148, 92, 2, 242, 72, 232, 28, 33, 223, 1, 93, 183, + 44, 58, 165, 24, 186, 191, 82, 132, 41, 211, 156, 177, 109, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 6, 4, 251, 38, 36, 118, 145, 161, 13, 130, 70, 163, 193, 211, 80, 153, 32, 119, 28, + 93, 137, 41, 188, 88, 235, 37, 228, 29, 156, 219, 24, 202, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 144, 191, 94, 132, 78, 184, 61, 28, 121, 0, 182, 108, 76, 6, 254, 133, 43, 74, 230, + 124, 137, 144, 209, 110, 64, 189, 228, 242, 139, 53, 255, 158, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 42, 18, 234, 10, 238, 253, 70, 76, 144, 218, 225, 203, 8, 133, 35, 205, 26, 106, + 206, 5, 20, 20, 4, 99, 111, 211, 85, 17, 182, 213, 233, 92, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 151, 233, 155, 59, 158, 244, 71, 88, 126, 230, 120, 155, 105, 5, 143, 10, 85, 200, + 140, 97, 211, 221, 91, 216, 228, 211, 165, 45, 146, 246, 3, 209, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 47, 21, 80, 244, 36, 160, 216, 148, 241, 207, 167, 133, 77, 170, 173, 134, 247, 32, + 210, 241, 20, 42, 127, 251, 112, 30, 11, 54, 65, 237, 163, 162, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 162, 144, 74, 176, 13, 146, 192, 98, 98, 166, 11, 226, 187, 176, 251, 217, 7, 17, + 23, 196, 48, 62, 106, 126, 66, 225, 198, 121, 108, 154, 65, 205, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 90, 71, 50, 210, 136, 158, 160, 197, 173, 195, 183, 16, 68, 156, 60, 162, 242, 82, + 230, 160, 108, 50, 29, 169, 29, 178, 127, 185, 38, 234, 143, 220, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_512_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x88320d2bead34a47f2ef4e1e8e415b42bcb9955ad04e06ff309d49681c2628f2"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_5_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_512_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_513_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_512_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_512_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_512_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_31_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_512_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_bool_4_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_max_one_byte_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_512_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_512_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_513_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_512_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_16_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_512_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_4_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_512_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_zero_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_513_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_512_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_zero_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_8_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_513_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_513_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x8d90ae08c4b61479f6867707545ea8b26e91d9ef54e863a8daf7427f1e4d04c1"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_3_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_513_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_3_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_513_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_2_zero_one_more() { +fn test_basic_vector_vec_uint_256_513_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_513_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_513_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_512_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_513_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint256_512_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_513_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 178, 71, 197, 209, 59, 6, 21, 36, 228, 31, 161, 186, 233, 29, 46, 37, 73, 216, 72, + 86, 69, 54, 206, 110, 221, 177, 166, 166, 186, 186, 215, 68, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 35, 224, 168, 135, 18, 101, 248, 46, 56, 120, 178, 30, 239, 218, 38, 28, 6, 240, + 148, 191, 128, 60, 247, 192, 96, 89, 104, 171, 100, 10, 40, 62, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 30, 221, 119, 190, 130, 190, 160, 23, 203, 63, 137, 228, 191, 180, 64, 185, 162, + 209, 133, 209, 20, 172, 25, 138, 228, 163, 137, 6, 193, 240, 250, 47, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 62, 169, 21, 161, 250, 9, 206, 247, 30, 76, 164, 18, 194, 246, 95, 172, 82, 165, + 213, 242, 234, 10, 162, 138, 180, 24, 129, 91, 43, 76, 169, 204, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 99, 45, 118, 204, 18, 14, 247, 142, 237, 70, 142, 7, 106, 109, 240, 4, 8, 158, 206, + 220, 99, 157, 177, 36, 207, 0, 27, 32, 199, 28, 34, 170, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 96, 238, 170, 133, 190, 69, 74, 93, 216, 192, 45, 244, 189, 44, 96, 14, 14, 138, + 110, 2, 150, 43, 213, 2, 26, 63, 181, 73, 211, 241, 197, 212, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 208, 36, 201, 109, 140, 99, 100, 58, 32, 210, 66, 232, 14, 33, 170, 42, 170, 94, + 198, 83, 197, 101, 245, 255, 120, 157, 156, 250, 89, 230, 33, 30, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 173, 50, 149, 161, 137, 27, 29, 203, 170, 202, 16, 255, 158, 194, 251, 188, 137, + 196, 107, 168, 93, 208, 79, 243, 102, 72, 38, 9, 41, 197, 176, 200, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 197, 235, 149, 163, 193, 46, 219, 220, 87, 237, 166, 190, 96, 129, 64, 184, 49, + 224, 247, 185, 235, 112, 200, 33, 201, 166, 214, 109, 245, 148, 130, 43, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 17, 112, 84, 116, 241, 154, 12, 234, 204, 217, 192, 55, 91, 147, 46, 241, 84, 77, + 154, 162, 69, 51, 164, 214, 249, 149, 179, 28, 55, 82, 11, 108, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 233, 187, 81, 91, 170, 151, 23, 229, 10, 248, 194, 250, 196, 229, 50, 107, 104, + 172, 67, 54, 222, 12, 17, 156, 112, 221, 209, 171, 209, 47, 8, 234, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 46, 238, 115, 185, 73, 25, 97, 13, 141, 79, 45, 138, 48, 173, 221, 170, 201, 3, 10, + 2, 206, 246, 194, 225, 5, 134, 51, 106, 67, 237, 10, 185, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 157, 7, 23, 108, 211, 35, 110, 236, 247, 224, 225, 229, 239, 119, 47, 203, 23, 227, + 132, 45, 187, 208, 114, 44, 32, 53, 92, 124, 76, 18, 91, 180, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 150, 67, 190, 187, 102, 133, 84, 218, 156, 192, 108, 114, 210, 75, 35, 209, 150, + 162, 255, 238, 55, 151, 117, 121, 48, 59, 145, 213, 155, 146, 22, 134, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 25, 54, 191, 145, 156, 85, 110, 165, 155, 133, 187, 52, 13, 5, 196, 239, 103, 237, + 200, 102, 11, 180, 57, 36, 238, 184, 198, 181, 191, 196, 169, 88, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 208, 217, 225, 42, 12, 10, 171, 12, 245, 51, 131, 110, 56, 186, 18, 6, 32, 170, 20, + 196, 216, 32, 244, 2, 30, 67, 112, 208, 163, 188, 189, 192, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 41, 226, 112, 76, 190, 210, 233, 170, 88, 41, 47, 236, 239, 121, 209, 49, 3, 156, + 29, 222, 108, 172, 129, 67, 253, 186, 90, 153, 130, 169, 114, 184, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 98, 83, 27, 108, 119, 132, 255, 1, 83, 205, 167, 185, 69, 143, 28, 44, 112, 42, 47, + 112, 70, 196, 20, 48, 78, 96, 103, 47, 156, 148, 195, 166, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 233, 22, 130, 25, 208, 219, 207, 203, 171, 11, 25, 238, 102, 56, 132, 215, 61, 150, + 77, 110, 10, 175, 185, 124, 143, 85, 211, 173, 24, 92, 138, 122, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 174, 201, 78, 251, 134, 147, 80, 131, 34, 48, 132, 202, 237, 31, 3, 155, 71, 24, + 187, 169, 197, 47, 165, 79, 115, 138, 243, 195, 204, 236, 141, 163, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 216, 199, 142, 77, 73, 201, 189, 20, 96, 101, 22, 170, 209, 49, 93, 107, 182, 6, + 88, 213, 85, 49, 248, 134, 27, 246, 113, 128, 32, 150, 71, 168, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 70, 145, 215, 171, 144, 39, 231, 74, 87, 201, 93, 129, 35, 128, 156, 141, 136, 31, + 228, 162, 2, 172, 8, 135, 164, 69, 245, 47, 74, 24, 39, 239, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 29, 100, 159, 136, 120, 20, 214, 71, 1, 142, 158, 107, 124, 69, 140, 198, 95, 19, + 167, 138, 24, 214, 6, 235, 22, 179, 131, 147, 226, 138, 125, 228, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 51, 121, 185, 204, 177, 154, 144, 187, 48, 197, 160, 211, 83, 4, 4, 218, 137, 41, + 98, 84, 241, 79, 221, 207, 245, 198, 137, 129, 5, 55, 190, 229, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 163, 77, 183, 245, 189, 111, 239, 229, 114, 29, 21, 151, 135, 233, 239, 138, 161, + 148, 9, 129, 52, 132, 21, 155, 201, 218, 89, 7, 146, 216, 4, 82, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 1, 153, 163, 179, 29, 202, 77, 13, 185, 39, 60, 225, 165, 190, 34, 53, 247, 180, + 169, 155, 145, 94, 214, 250, 83, 2, 182, 137, 146, 231, 196, 13, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 245, 20, 86, 32, 27, 252, 228, 6, 101, 85, 20, 49, 85, 180, 180, 114, 55, 183, 33, + 108, 77, 222, 131, 141, 162, 28, 90, 146, 186, 71, 175, 155, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 93, 178, 235, 193, 166, 215, 111, 224, 19, 241, 164, 54, 221, 139, 69, 39, 222, 46, + 144, 172, 120, 116, 233, 230, 140, 9, 51, 173, 89, 207, 101, 87, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 133, 3, 28, 110, 72, 154, 217, 41, 134, 152, 207, 234, 234, 218, 232, 168, 65, 249, + 124, 212, 15, 46, 203, 28, 132, 104, 95, 119, 177, 135, 133, 194, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 209, 135, 15, 213, 3, 143, 90, 176, 22, 203, 102, 91, 234, 133, 24, 245, 72, 252, + 212, 208, 20, 237, 83, 121, 165, 94, 45, 41, 224, 3, 104, 235, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 108, 111, 87, 1, 255, 92, 18, 141, 233, 18, 117, 231, 238, 72, 61, 101, 200, 169, + 119, 108, 177, 214, 54, 22, 172, 56, 26, 205, 215, 210, 6, 162, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 245, 254, 132, 70, 206, 22, 148, 55, 150, 182, 25, 108, 235, 96, 89, 102, 187, 0, + 129, 254, 158, 55, 83, 66, 115, 122, 69, 165, 116, 8, 70, 186, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 83, 104, 58, 205, 179, 179, 97, 101, 182, 78, 78, 180, 12, 189, 25, 210, 48, 64, + 235, 119, 243, 137, 237, 144, 84, 210, 202, 178, 32, 12, 42, 135, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 240, 159, 142, 102, 148, 193, 233, 85, 34, 127, 79, 35, 77, 227, 178, 52, 92, 98, + 4, 209, 14, 71, 62, 166, 156, 246, 119, 113, 156, 182, 49, 34, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 215, 3, 248, 30, 69, 46, 117, 180, 192, 87, 8, 168, 36, 104, 28, 219, 15, 253, 246, + 148, 40, 101, 74, 45, 59, 129, 83, 143, 245, 213, 101, 45, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 55, 105, 177, 69, 135, 244, 64, 238, 136, 223, 41, 250, 197, 32, 138, 192, 104, + 167, 225, 24, 69, 167, 180, 136, 125, 66, 95, 67, 79, 30, 182, 220, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 222, 15, 245, 179, 116, 31, 141, 229, 177, 175, 126, 16, 31, 198, 73, 67, 26, 95, + 195, 98, 204, 247, 129, 253, 30, 18, 164, 181, 4, 138, 198, 164, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 183, 53, 103, 73, 146, 220, 122, 52, 89, 201, 212, 130, 61, 100, 45, 116, 40, 126, + 89, 64, 119, 179, 185, 203, 230, 137, 128, 66, 22, 36, 201, 136, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 87, 208, 7, 148, 200, 249, 41, 189, 35, 211, 125, 100, 153, 244, 129, 206, 223, + 150, 189, 26, 178, 223, 117, 23, 239, 202, 251, 252, 173, 33, 178, 94, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 96, 60, 62, 71, 121, 45, 122, 234, 102, 249, 34, 225, 151, 144, 173, 96, 196, 9, + 199, 171, 54, 79, 71, 176, 141, 183, 165, 237, 171, 25, 12, 214, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 251, 175, 202, 42, 72, 251, 88, 108, 210, 16, 96, 144, 127, 94, 244, 120, 105, 57, + 163, 1, 103, 187, 3, 124, 4, 104, 238, 25, 208, 200, 145, 8, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 196, 66, 8, 195, 78, 241, 145, 131, 158, 76, 74, 48, 236, 94, 172, 246, 16, 119, + 239, 29, 108, 227, 25, 185, 149, 26, 148, 219, 40, 220, 167, 174, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 207, 254, 108, 11, 15, 75, 35, 46, 69, 19, 0, 94, 30, 177, 18, 4, 6, 4, 139, 168, + 79, 39, 114, 245, 24, 147, 229, 173, 195, 250, 171, 189, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 144, 250, 196, 99, 24, 213, 168, 242, 101, 209, 89, 41, 62, 55, 180, 211, 174, 245, + 33, 238, 212, 249, 98, 195, 226, 208, 28, 120, 209, 4, 249, 230, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 105, 193, 211, 100, 176, 174, 97, 60, 144, 173, 181, 55, 200, 195, 57, 134, 253, + 86, 2, 5, 197, 119, 215, 167, 58, 108, 188, 99, 135, 220, 58, 36, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 189, 147, 225, 14, 113, 180, 171, 195, 10, 142, 13, 132, 79, 175, 73, 10, 233, 96, + 204, 255, 228, 185, 36, 62, 35, 177, 35, 247, 183, 2, 216, 224, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 202, 241, 161, 197, 104, 214, 11, 93, 226, 46, 22, 9, 232, 191, 212, 208, 201, 179, + 18, 225, 251, 62, 82, 253, 21, 26, 141, 235, 161, 217, 182, 22, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 30, 157, 113, 125, 213, 172, 170, 226, 114, 151, 16, 195, 182, 195, 80, 230, 106, + 21, 226, 44, 238, 6, 149, 102, 199, 251, 82, 108, 187, 233, 202, 180, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 112, 190, 45, 42, 38, 187, 96, 133, 160, 61, 102, 116, 227, 15, 27, 59, 12, 194, + 13, 98, 162, 164, 161, 36, 219, 173, 117, 247, 6, 236, 46, 196, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 101, 186, 191, 25, 234, 193, 100, 254, 44, 213, 150, 229, 110, 245, 214, 66, 157, + 14, 39, 178, 232, 26, 224, 39, 196, 28, 77, 68, 49, 108, 124, 20, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 226, 3, 39, 103, 66, 204, 187, 119, 249, 176, 207, 215, 94, 64, 150, 241, 162, 200, + 250, 28, 217, 2, 13, 103, 77, 152, 45, 251, 170, 137, 252, 118, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 139, 213, 243, 72, 116, 253, 237, 126, 204, 92, 100, 94, 145, 234, 104, 244, 207, + 186, 66, 192, 134, 163, 5, 112, 50, 25, 20, 171, 146, 205, 45, 53, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 181, 8, 86, 251, 58, 1, 204, 203, 38, 153, 215, 166, 89, 1, 23, 112, 165, 105, 60, + 215, 251, 114, 247, 103, 238, 152, 182, 84, 213, 123, 208, 131, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 150, 76, 74, 154, 78, 106, 87, 111, 176, 41, 48, 145, 246, 190, 37, 127, 170, 106, + 182, 78, 254, 145, 166, 35, 101, 160, 44, 34, 208, 55, 144, 208, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 118, 246, 194, 135, 193, 204, 164, 206, 115, 238, 102, 82, 187, 144, 112, 33, 206, + 46, 42, 174, 140, 125, 0, 225, 111, 121, 89, 205, 3, 112, 60, 161, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 15, 95, 93, 206, 107, 237, 4, 244, 152, 222, 154, 37, 196, 216, 15, 86, 214, 158, + 25, 46, 182, 130, 35, 248, 14, 26, 89, 235, 73, 90, 74, 230, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 231, 13, 106, 52, 53, 239, 137, 203, 186, 254, 68, 200, 85, 5, 181, 108, 4, 224, + 127, 47, 99, 62, 129, 236, 235, 135, 0, 105, 255, 83, 170, 162, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 243, 103, 193, 249, 159, 210, 222, 172, 142, 95, 91, 8, 18, 131, 37, 73, 20, 153, + 21, 138, 72, 88, 244, 45, 162, 192, 214, 155, 140, 202, 132, 253, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 118, 39, 78, 139, 53, 188, 156, 128, 94, 217, 244, 106, 81, 210, 173, 76, 21, 102, + 21, 125, 168, 29, 238, 183, 221, 162, 187, 123, 215, 12, 104, 237, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 7, 37, 46, 145, 82, 175, 23, 5, 247, 117, 117, 53, 45, 14, 23, 253, 143, 49, 6, + 230, 48, 12, 233, 87, 47, 76, 5, 67, 158, 192, 115, 245, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 223, 199, 45, 97, 157, 114, 81, 6, 58, 102, 84, 213, 51, 154, 244, 126, 226, 165, + 130, 206, 206, 160, 73, 176, 111, 17, 11, 173, 164, 169, 198, 98, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 133, 30, 237, 19, 54, 227, 173, 7, 68, 154, 9, 3, 29, 58, 7, 25, 34, 199, 140, 119, + 21, 36, 22, 12, 153, 135, 18, 127, 246, 51, 78, 101, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 77, 131, 152, 95, 81, 247, 79, 217, 124, 197, 255, 208, 254, 10, 61, 128, 139, 112, + 168, 121, 36, 224, 212, 148, 56, 210, 240, 196, 178, 106, 20, 57, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 252, 240, 191, 164, 78, 254, 105, 9, 238, 197, 203, 250, 101, 80, 192, 123, 216, + 183, 115, 158, 30, 106, 63, 97, 61, 9, 149, 40, 58, 149, 166, 214, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 26, 54, 80, 72, 61, 99, 27, 35, 242, 222, 111, 25, 109, 198, 108, 75, 130, 52, 67, + 229, 36, 56, 198, 47, 164, 143, 134, 0, 213, 126, 67, 140, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 200, 192, 200, 240, 144, 208, 21, 143, 243, 233, 240, 205, 74, 237, 66, 243, 138, + 180, 127, 213, 190, 0, 21, 148, 123, 166, 226, 238, 198, 175, 155, 22, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 173, 59, 57, 59, 89, 102, 136, 88, 65, 59, 186, 169, 68, 143, 133, 119, 97, 173, + 228, 128, 106, 12, 124, 156, 0, 49, 148, 87, 217, 129, 238, 77, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 6, 35, 101, 192, 241, 76, 32, 123, 9, 19, 226, 130, 2, 238, 182, 5, 124, 65, 155, + 192, 53, 186, 125, 216, 255, 35, 118, 198, 103, 50, 8, 140, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 43, 73, 156, 43, 191, 116, 92, 49, 37, 60, 147, 109, 162, 14, 90, 137, 105, 193, + 188, 161, 84, 20, 24, 195, 5, 161, 86, 146, 137, 50, 129, 241, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 92, 116, 152, 57, 217, 122, 124, 73, 86, 12, 155, 24, 180, 130, 8, 151, 96, 88, + 133, 186, 42, 50, 202, 238, 12, 176, 164, 220, 234, 6, 37, 46, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 231, 14, 84, 54, 187, 121, 24, 120, 125, 217, 54, 155, 174, 125, 171, 57, 211, 245, + 242, 74, 150, 101, 64, 144, 78, 106, 225, 220, 141, 238, 210, 158, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 123, 158, 195, 130, 161, 221, 44, 204, 8, 13, 37, 20, 115, 160, 235, 24, 70, 171, + 224, 237, 52, 161, 187, 119, 198, 119, 215, 58, 200, 150, 199, 18, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 20, 32, 69, 77, 211, 8, 103, 174, 134, 63, 89, 161, 150, 9, 103, 236, 137, 245, + 204, 129, 181, 0, 138, 214, 168, 190, 164, 215, 40, 209, 198, 207, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 128, 230, 61, 125, 135, 181, 103, 62, 77, 158, 164, 31, 172, 223, 47, 93, 254, 248, + 174, 49, 221, 69, 151, 139, 49, 62, 61, 203, 24, 40, 247, 36, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 99, 58, 102, 96, 183, 26, 87, 205, 45, 36, 130, 2, 188, 188, 54, 68, 228, 173, 168, + 122, 175, 232, 105, 187, 253, 123, 105, 252, 255, 98, 194, 24, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 244, 228, 6, 59, 113, 253, 99, 151, 26, 112, 163, 75, 5, 46, 45, 147, 234, 42, 182, + 99, 120, 39, 18, 36, 223, 118, 185, 149, 169, 192, 73, 198, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 227, 121, 82, 0, 167, 52, 74, 81, 94, 62, 216, 63, 229, 233, 62, 218, 184, 176, 19, + 150, 218, 105, 141, 95, 140, 198, 239, 25, 215, 141, 111, 3, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 109, 245, 250, 123, 233, 165, 37, 221, 23, 96, 80, 230, 248, 4, 177, 93, 255, 190, + 49, 170, 196, 166, 151, 105, 152, 49, 233, 216, 190, 220, 205, 56, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 195, 186, 74, 36, 89, 18, 236, 54, 8, 94, 174, 221, 111, 220, 208, 160, 231, 93, + 141, 199, 110, 125, 145, 69, 45, 150, 155, 165, 36, 171, 79, 17, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 46, 88, 38, 57, 103, 239, 1, 76, 85, 189, 108, 229, 208, 116, 111, 143, 47, 193, + 25, 64, 206, 80, 146, 123, 24, 9, 40, 40, 163, 148, 7, 139, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 44, 125, 135, 6, 198, 176, 55, 253, 221, 18, 82, 154, 223, 24, 119, 7, 52, 116, + 250, 231, 241, 229, 94, 101, 222, 97, 228, 87, 58, 120, 182, 191, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 224, 131, 193, 194, 98, 213, 224, 78, 95, 142, 17, 62, 16, 63, 208, 1, 90, 128, + 255, 62, 115, 220, 97, 104, 30, 227, 46, 229, 245, 63, 145, 65, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 217, 20, 152, 65, 164, 4, 57, 177, 45, 98, 127, 131, 40, 212, 141, 195, 215, 62, + 140, 116, 110, 161, 139, 84, 244, 135, 67, 28, 156, 79, 132, 153, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 206, 135, 11, 115, 113, 21, 11, 208, 247, 165, 192, 157, 185, 7, 85, 151, 21, 119, + 103, 43, 89, 182, 47, 41, 192, 59, 37, 182, 159, 152, 181, 190, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 15, 202, 178, 89, 0, 31, 141, 99, 253, 155, 32, 57, 134, 247, 13, 78, 233, 12, 163, + 137, 131, 27, 65, 230, 1, 1, 239, 47, 157, 215, 48, 28, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 99, 98, 213, 97, 193, 146, 244, 70, 192, 22, 72, 205, 185, 66, 64, 223, 53, 238, + 82, 255, 32, 132, 87, 51, 186, 231, 152, 111, 140, 167, 0, 11, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 234, 166, 50, 152, 161, 203, 100, 77, 93, 11, 5, 180, 190, 177, 71, 74, 127, 126, + 149, 95, 202, 122, 250, 128, 189, 32, 154, 190, 212, 88, 110, 94, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 126, 213, 154, 153, 36, 230, 133, 2, 65, 76, 249, 164, 156, 98, 45, 239, 126, 230, + 21, 7, 164, 62, 218, 17, 6, 60, 128, 71, 193, 50, 175, 29, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 184, 20, 161, 155, 8, 175, 74, 173, 68, 181, 229, 151, 34, 20, 238, 78, 22, 45, + 169, 249, 93, 91, 157, 106, 64, 241, 170, 91, 17, 142, 153, 1, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 40, 46, 178, 83, 198, 151, 5, 111, 24, 129, 9, 6, 168, 9, 12, 91, 17, 212, 238, 81, + 155, 198, 220, 10, 109, 238, 216, 209, 230, 142, 142, 99, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 42, 48, 115, 219, 237, 88, 71, 188, 224, 196, 1, 219, 131, 244, 182, 130, 37, 5, + 143, 81, 219, 119, 14, 185, 161, 79, 68, 225, 151, 68, 241, 140, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 140, 81, 219, 118, 213, 103, 0, 163, 212, 31, 123, 170, 1, 77, 141, 146, 94, 19, + 99, 120, 18, 158, 120, 113, 122, 248, 40, 228, 225, 34, 55, 239, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 43, 177, 185, 179, 151, 154, 156, 185, 203, 183, 180, 54, 36, 42, 123, 95, 215, + 128, 112, 109, 104, 49, 30, 61, 8, 140, 130, 71, 107, 40, 109, 138, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 163, 161, 220, 209, 26, 112, 25, 206, 142, 67, 41, 199, 174, 242, 217, 147, 90, + 147, 175, 176, 136, 180, 231, 181, 36, 136, 66, 152, 53, 66, 19, 126, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 181, 193, 47, 200, 136, 168, 68, 251, 157, 59, 88, 88, 143, 84, 87, 54, 8, 111, + 172, 10, 37, 133, 242, 25, 185, 128, 244, 202, 146, 243, 66, 100, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 122, 153, 147, 228, 154, 187, 138, 248, 148, 178, 113, 87, 181, 53, 55, 150, 97, + 228, 139, 155, 162, 217, 153, 178, 70, 230, 173, 122, 90, 239, 226, 224, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 87, 182, 231, 95, 3, 8, 145, 105, 74, 224, 238, 222, 212, 116, 215, 104, 18, 45, + 135, 195, 86, 41, 190, 150, 215, 88, 8, 133, 132, 50, 212, 48, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 224, 225, 38, 244, 19, 31, 101, 135, 239, 207, 21, 21, 165, 212, 119, 28, 56, 219, + 143, 96, 141, 241, 86, 77, 204, 181, 56, 99, 51, 129, 54, 80, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 171, 128, 206, 45, 143, 218, 155, 16, 227, 43, 101, 253, 215, 16, 142, 25, 151, + 116, 40, 198, 77, 64, 89, 113, 233, 213, 17, 17, 8, 54, 148, 67, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 109, 183, 244, 243, 8, 194, 196, 176, 252, 249, 245, 61, 173, 127, 216, 149, 174, + 229, 175, 249, 149, 128, 56, 247, 120, 28, 43, 213, 12, 186, 213, 95, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 57, 172, 177, 163, 16, 76, 82, 34, 255, 85, 12, 227, 167, 121, 47, 28, 11, 106, + 223, 122, 48, 136, 164, 158, 47, 67, 15, 255, 111, 38, 64, 227, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 88, 48, 21, 175, 73, 216, 200, 24, 213, 62, 89, 25, 251, 250, 60, 51, 198, 173, + 215, 0, 225, 36, 231, 55, 144, 20, 35, 252, 185, 169, 17, 158, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 72, 159, 255, 86, 182, 186, 148, 100, 232, 54, 91, 176, 134, 61, 4, 140, 134, 142, + 131, 175, 118, 150, 72, 31, 0, 201, 63, 197, 101, 56, 226, 250, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 35, 247, 159, 220, 103, 253, 21, 219, 83, 47, 252, 33, 15, 82, 255, 157, 215, 238, + 194, 127, 82, 5, 18, 237, 147, 6, 226, 184, 168, 160, 225, 24, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 125, 100, 59, 198, 245, 62, 53, 77, 255, 149, 83, 199, 82, 42, 68, 224, 78, 217, + 222, 181, 186, 147, 40, 67, 113, 193, 186, 92, 147, 4, 102, 170, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 45, 57, 118, 28, 48, 141, 88, 188, 149, 211, 110, 32, 122, 12, 48, 107, 123, 79, + 216, 90, 87, 66, 224, 158, 214, 108, 206, 133, 148, 108, 22, 195, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 134, 23, 79, 91, 252, 232, 30, 200, 141, 39, 221, 43, 216, 212, 194, 23, 10, 9, + 105, 132, 209, 180, 83, 243, 236, 0, 145, 53, 251, 191, 142, 156, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 39, 87, 94, 195, 251, 48, 27, 210, 205, 166, 135, 16, 73, 144, 134, 9, 246, 196, + 178, 10, 12, 41, 26, 253, 33, 174, 243, 15, 150, 8, 81, 179, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 184, 192, 243, 120, 42, 146, 100, 138, 70, 117, 95, 13, 241, 85, 87, 74, 7, 54, + 150, 180, 221, 181, 210, 75, 76, 155, 150, 90, 126, 70, 157, 154, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 74, 172, 30, 255, 46, 8, 178, 117, 0, 124, 234, 229, 153, 216, 211, 41, 110, 162, + 186, 231, 151, 64, 54, 129, 174, 144, 245, 153, 128, 183, 242, 59, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 95, 122, 68, 78, 214, 144, 136, 31, 172, 126, 215, 168, 67, 116, 92, 208, 242, 244, + 0, 182, 182, 232, 148, 154, 235, 193, 31, 34, 220, 143, 31, 177, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 242, 120, 102, 193, 86, 44, 238, 159, 1, 17, 250, 202, 236, 13, 229, 182, 188, 134, + 142, 140, 155, 70, 162, 180, 25, 144, 72, 148, 134, 244, 199, 202, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 208, 118, 146, 92, 188, 229, 213, 111, 39, 159, 234, 45, 26, 37, 197, 115, 91, 149, + 11, 59, 33, 28, 77, 163, 70, 20, 57, 99, 3, 177, 48, 12, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 16, 148, 26, 231, 123, 97, 90, 157, 3, 121, 156, 169, 129, 244, 2, 142, 192, 236, + 29, 37, 126, 137, 210, 113, 132, 251, 154, 161, 9, 107, 161, 32, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 160, 129, 8, 45, 140, 240, 195, 183, 119, 238, 25, 241, 22, 162, 67, 81, 181, 220, + 11, 10, 129, 110, 237, 63, 174, 215, 92, 54, 210, 25, 151, 70, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 56, 86, 111, 247, 157, 109, 218, 241, 134, 243, 41, 97, 224, 87, 3, 176, 9, 122, + 143, 64, 228, 212, 126, 160, 49, 3, 39, 135, 154, 24, 136, 105, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 169, 207, 46, 88, 215, 140, 217, 152, 91, 2, 200, 71, 11, 144, 203, 14, 65, 109, + 57, 148, 113, 183, 136, 132, 224, 123, 214, 61, 182, 60, 149, 168, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 211, 82, 116, 39, 253, 172, 140, 22, 126, 109, 121, 113, 31, 159, 183, 73, 222, 50, + 35, 33, 222, 238, 113, 188, 52, 244, 20, 48, 181, 52, 244, 58, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 234, 11, 4, 121, 140, 252, 242, 190, 241, 4, 238, 40, 50, 86, 240, 128, 226, 189, + 134, 53, 154, 62, 92, 52, 64, 189, 141, 179, 14, 68, 183, 28, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 96, 238, 252, 188, 211, 25, 191, 75, 210, 106, 27, 209, 189, 118, 185, 68, 214, + 129, 230, 94, 108, 20, 144, 194, 63, 154, 131, 146, 198, 230, 35, 149, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 155, 155, 154, 116, 225, 75, 97, 55, 134, 150, 133, 110, 243, 212, 153, 141, 221, + 198, 155, 124, 135, 103, 192, 165, 72, 109, 36, 39, 121, 161, 249, 107, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 232, 126, 150, 98, 220, 143, 197, 13, 116, 225, 47, 224, 57, 20, 29, 142, 216, 202, + 50, 163, 68, 101, 109, 121, 203, 78, 173, 194, 82, 225, 105, 50, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 186, 187, 37, 250, 186, 163, 52, 249, 66, 149, 99, 20, 109, 160, 9, 81, 48, 187, + 173, 156, 156, 47, 219, 135, 42, 73, 195, 78, 191, 120, 86, 68, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 185, 110, 17, 170, 23, 88, 78, 232, 179, 18, 196, 172, 244, 207, 89, 109, 213, 29, + 251, 117, 94, 125, 200, 125, 156, 152, 70, 109, 156, 42, 30, 169, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 134, 48, 170, 93, 63, 138, 212, 252, 253, 46, 220, 164, 31, 78, 29, 66, 250, 195, + 113, 6, 130, 46, 7, 40, 125, 61, 210, 223, 218, 126, 80, 90, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 197, 225, 36, 77, 20, 71, 175, 21, 192, 69, 5, 9, 160, 182, 35, 2, 51, 217, 238, + 13, 34, 49, 223, 246, 81, 193, 31, 26, 75, 116, 190, 219, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 43, 133, 97, 227, 210, 149, 255, 0, 206, 5, 186, 233, 37, 221, 100, 16, 18, 170, + 141, 183, 75, 185, 90, 35, 254, 49, 92, 191, 35, 125, 169, 227, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 172, 213, 173, 150, 100, 55, 64, 93, 135, 211, 14, 203, 150, 198, 84, 240, 185, 53, + 195, 200, 161, 152, 170, 181, 248, 178, 27, 58, 142, 170, 241, 81, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 224, 92, 10, 153, 70, 17, 191, 193, 83, 133, 2, 253, 51, 207, 249, 99, 8, 204, 143, + 159, 208, 44, 73, 34, 247, 29, 11, 121, 144, 65, 80, 183, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 131, 227, 92, 224, 96, 245, 152, 31, 210, 252, 1, 94, 4, 101, 157, 214, 128, 229, + 246, 133, 235, 53, 110, 152, 145, 250, 187, 231, 62, 218, 79, 100, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 12, 248, 67, 184, 97, 34, 129, 27, 236, 134, 250, 6, 239, 154, 63, 118, 163, 217, + 39, 169, 43, 190, 234, 26, 129, 113, 141, 90, 156, 156, 157, 90, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 147, 167, 113, 161, 251, 14, 251, 84, 46, 88, 50, 121, 139, 201, 68, 40, 15, 112, + 251, 38, 170, 19, 23, 83, 29, 187, 228, 44, 177, 239, 170, 91, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 112, 23, 213, 170, 221, 13, 128, 3, 19, 215, 139, 123, 65, 235, 67, 189, 123, 23, + 237, 189, 233, 77, 0, 21, 152, 131, 110, 176, 221, 93, 96, 51, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 209, 83, 120, 237, 0, 157, 62, 131, 68, 111, 79, 251, 193, 72, 233, 54, 80, 37, + 131, 26, 200, 99, 45, 8, 241, 72, 81, 25, 242, 130, 3, 43, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 21, 159, 54, 152, 200, 94, 117, 137, 33, 85, 172, 186, 205, 6, 80, 51, 134, 125, + 225, 225, 9, 66, 182, 14, 202, 72, 159, 131, 213, 172, 24, 29, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 125, 195, 4, 203, 241, 114, 66, 171, 107, 153, 161, 96, 83, 228, 220, 74, 21, 165, + 139, 252, 250, 255, 36, 141, 145, 126, 8, 135, 176, 196, 136, 95, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 147, 41, 45, 49, 123, 89, 118, 140, 193, 82, 110, 71, 73, 186, 207, 165, 89, 209, + 143, 168, 51, 247, 20, 71, 44, 189, 147, 64, 88, 199, 131, 182, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 160, 170, 242, 246, 247, 118, 68, 216, 70, 180, 212, 171, 127, 160, 180, 28, 74, + 118, 65, 36, 172, 87, 33, 34, 87, 149, 4, 50, 66, 251, 60, 203, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 45, 106, 143, 194, 179, 106, 145, 137, 122, 187, 248, 37, 32, 133, 226, 119, 114, + 215, 149, 80, 201, 252, 43, 70, 27, 79, 176, 103, 8, 82, 112, 182, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 30, 66, 80, 171, 135, 87, 79, 100, 8, 18, 135, 30, 204, 92, 244, 116, 25, 11, 65, + 115, 157, 73, 19, 100, 205, 229, 61, 80, 155, 156, 168, 187, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 167, 159, 244, 236, 238, 41, 75, 119, 135, 189, 162, 21, 220, 236, 15, 131, 69, 80, + 198, 36, 219, 227, 90, 63, 14, 45, 84, 253, 226, 159, 146, 45, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 235, 248, 13, 128, 54, 96, 228, 29, 154, 39, 1, 75, 114, 93, 176, 89, 127, 144, 79, + 93, 61, 175, 146, 231, 12, 141, 42, 69, 166, 58, 4, 21, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 167, 58, 47, 4, 3, 72, 239, 86, 37, 151, 82, 53, 84, 220, 212, 26, 97, 165, 114, + 55, 44, 194, 79, 182, 48, 94, 19, 121, 33, 244, 188, 79, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 76, 92, 53, 237, 251, 168, 168, 147, 179, 213, 5, 111, 182, 249, 122, 44, 212, 168, + 141, 67, 141, 161, 109, 91, 114, 190, 198, 105, 120, 81, 39, 66, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 71, 61, 123, 152, 152, 223, 27, 147, 13, 193, 236, 87, 68, 254, 175, 249, 22, 36, + 35, 106, 175, 145, 30, 161, 0, 254, 50, 150, 116, 0, 65, 42, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 160, 250, 172, 98, 29, 6, 67, 101, 23, 83, 149, 84, 3, 30, 96, 240, 59, 195, 178, + 252, 101, 124, 155, 109, 105, 43, 206, 247, 43, 235, 206, 65, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 127, 8, 198, 128, 97, 109, 39, 51, 60, 2, 2, 85, 65, 55, 164, 218, 16, 20, 114, + 180, 158, 43, 196, 176, 175, 8, 111, 183, 103, 161, 197, 3, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 83, 66, 136, 9, 65, 167, 86, 83, 46, 12, 223, 250, 235, 57, 142, 65, 57, 73, 5, 14, + 238, 39, 2, 101, 98, 202, 185, 130, 101, 197, 247, 56, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 4, 62, 58, 207, 238, 239, 28, 208, 179, 216, 139, 117, 30, 227, 94, 68, 208, 58, + 143, 98, 59, 64, 79, 40, 202, 83, 197, 254, 108, 139, 119, 192, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 110, 10, 238, 235, 212, 134, 145, 150, 70, 141, 47, 120, 158, 185, 34, 209, 13, 47, + 143, 149, 181, 214, 202, 132, 186, 199, 30, 180, 167, 241, 142, 16, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 128, 85, 18, 78, 38, 60, 227, 145, 99, 2, 96, 76, 173, 67, 89, 182, 51, 253, 77, + 250, 132, 176, 62, 26, 196, 179, 213, 71, 16, 22, 182, 224, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 102, 228, 122, 195, 188, 229, 118, 171, 55, 237, 129, 14, 101, 164, 171, 19, 179, + 120, 197, 59, 232, 68, 53, 114, 52, 67, 20, 118, 85, 92, 16, 71, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 55, 1, 96, 244, 27, 29, 198, 236, 35, 50, 185, 219, 206, 166, 241, 240, 223, 12, + 188, 242, 20, 63, 86, 198, 137, 177, 47, 122, 96, 209, 99, 70, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 1, 161, 208, 57, 141, 211, 225, 109, 218, 175, 138, 179, 238, 187, 168, 162, 207, + 71, 57, 143, 86, 86, 37, 35, 112, 251, 46, 166, 180, 82, 239, 38, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 109, 245, 27, 146, 74, 243, 141, 0, 138, 239, 22, 36, 233, 248, 17, 240, 109, 118, + 184, 176, 125, 63, 177, 114, 132, 57, 197, 225, 48, 125, 202, 115, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 57, 146, 158, 106, 100, 179, 122, 13, 212, 228, 174, 31, 176, 145, 64, 177, 64, 69, + 50, 94, 244, 112, 22, 5, 105, 77, 90, 97, 250, 167, 32, 141, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 47, 198, 180, 26, 233, 190, 162, 18, 38, 87, 255, 163, 240, 167, 14, 218, 177, 65, + 117, 180, 132, 208, 105, 143, 189, 224, 172, 231, 172, 173, 14, 46, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 140, 233, 71, 150, 49, 239, 83, 220, 211, 16, 204, 194, 161, 223, 132, 188, 183, + 153, 188, 170, 140, 105, 74, 35, 238, 219, 198, 111, 162, 70, 248, 34, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 111, 129, 179, 156, 209, 200, 234, 88, 157, 0, 88, 24, 106, 181, 132, 254, 244, + 174, 133, 254, 179, 9, 127, 41, 170, 77, 118, 82, 134, 135, 215, 244, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 178, 129, 81, 124, 187, 173, 203, 188, 7, 175, 210, 62, 231, 207, 135, 135, 11, + 145, 82, 228, 22, 96, 60, 238, 87, 53, 208, 201, 75, 251, 215, 178, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 54, 111, 251, 115, 31, 73, 219, 6, 237, 84, 22, 23, 166, 41, 109, 232, 15, 161, + 114, 241, 71, 7, 208, 111, 153, 177, 182, 113, 111, 65, 125, 210, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 226, 2, 219, 29, 200, 174, 10, 153, 133, 248, 147, 31, 15, 162, 198, 50, 61, 145, + 250, 92, 46, 21, 64, 223, 209, 67, 94, 59, 193, 61, 162, 221, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 13, 238, 227, 150, 16, 66, 163, 117, 131, 173, 55, 95, 121, 214, 238, 112, 49, 146, + 69, 174, 43, 33, 108, 156, 116, 170, 26, 103, 221, 2, 104, 216, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 113, 0, 167, 156, 190, 52, 46, 82, 243, 113, 157, 18, 135, 3, 213, 126, 46, 22, + 104, 33, 144, 149, 232, 49, 235, 6, 185, 35, 178, 253, 116, 65, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 87, 49, 107, 57, 218, 151, 213, 160, 171, 15, 210, 127, 45, 252, 254, 19, 59, 54, + 197, 133, 132, 37, 198, 17, 211, 84, 116, 29, 123, 143, 90, 41, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 231, 202, 75, 43, 254, 65, 106, 42, 128, 168, 204, 157, 11, 189, 117, 128, 184, + 188, 228, 58, 67, 232, 83, 239, 90, 173, 69, 66, 211, 152, 240, 104, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 119, 15, 255, 30, 121, 176, 181, 188, 221, 64, 41, 222, 116, 36, 199, 174, 195, + 186, 168, 65, 8, 226, 218, 92, 86, 89, 68, 155, 113, 5, 192, 135, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 154, 177, 113, 213, 104, 33, 16, 123, 136, 113, 117, 137, 15, 29, 51, 163, 117, 86, + 31, 251, 220, 33, 35, 128, 111, 161, 207, 106, 18, 216, 197, 231, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 158, 7, 5, 58, 190, 170, 54, 2, 236, 20, 64, 147, 164, 68, 105, 88, 93, 63, 140, + 14, 96, 103, 141, 239, 107, 170, 68, 48, 106, 41, 33, 118, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 247, 105, 241, 197, 73, 120, 93, 250, 74, 10, 28, 90, 247, 64, 117, 107, 225, 37, + 104, 184, 58, 143, 180, 202, 171, 237, 130, 5, 176, 124, 7, 230, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 136, 0, 100, 224, 221, 204, 129, 99, 203, 202, 27, 94, 43, 113, 66, 128, 100, 217, + 131, 245, 232, 91, 159, 12, 133, 93, 173, 27, 3, 53, 212, 13, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 166, 148, 216, 63, 72, 107, 91, 68, 188, 160, 149, 77, 28, 37, 154, 28, 247, 55, + 160, 90, 173, 62, 247, 99, 207, 2, 254, 16, 66, 57, 237, 67, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 13, 179, 61, 117, 140, 68, 238, 11, 241, 172, 99, 235, 89, 105, 127, 253, 107, 227, + 196, 168, 91, 190, 145, 120, 200, 79, 116, 75, 91, 91, 232, 210, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 36, 137, 231, 151, 114, 195, 204, 29, 110, 226, 17, 172, 125, 151, 224, 63, 182, + 40, 17, 212, 212, 180, 219, 181, 190, 241, 116, 193, 237, 111, 248, 237, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 103, 173, 110, 205, 187, 113, 38, 214, 130, 112, 52, 219, 195, 177, 16, 140, 156, + 97, 219, 35, 215, 250, 93, 220, 100, 168, 24, 54, 189, 238, 190, 72, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 214, 218, 255, 80, 19, 115, 34, 43, 60, 150, 50, 9, 224, 147, 51, 82, 16, 209, 69, + 192, 82, 29, 211, 62, 150, 187, 221, 28, 177, 35, 179, 119, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 98, 82, 110, 181, 23, 168, 102, 206, 222, 18, 243, 103, 164, 184, 23, 219, 6, 241, + 128, 185, 144, 169, 129, 134, 4, 109, 255, 209, 109, 152, 55, 166, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 61, 35, 187, 30, 3, 253, 246, 110, 128, 198, 40, 137, 249, 162, 150, 19, 219, 73, + 118, 104, 73, 192, 200, 254, 139, 240, 179, 51, 248, 17, 90, 15, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 178, 81, 64, 145, 198, 147, 26, 30, 229, 138, 108, 99, 44, 55, 209, 220, 157, 176, + 119, 233, 150, 172, 100, 194, 250, 53, 118, 161, 241, 42, 75, 53, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 6, 199, 167, 83, 65, 12, 182, 181, 90, 247, 251, 39, 116, 191, 170, 93, 56, 198, + 175, 152, 49, 139, 47, 51, 22, 163, 48, 247, 155, 181, 117, 250, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 193, 104, 192, 143, 218, 249, 174, 186, 226, 227, 3, 233, 47, 101, 197, 149, 227, + 226, 2, 58, 68, 156, 75, 120, 68, 214, 134, 11, 100, 51, 3, 15, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 88, 181, 79, 189, 38, 149, 230, 247, 45, 103, 125, 222, 163, 105, 163, 81, 148, + 191, 177, 137, 77, 177, 35, 199, 142, 16, 142, 159, 97, 69, 102, 110, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 119, 107, 187, 103, 137, 158, 191, 83, 33, 253, 161, 3, 58, 181, 112, 34, 61, 175, + 192, 236, 202, 5, 17, 137, 142, 83, 186, 217, 65, 212, 117, 203, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 227, 40, 86, 57, 98, 107, 85, 81, 255, 152, 240, 213, 253, 170, 131, 165, 201, 41, + 75, 167, 124, 212, 137, 124, 173, 32, 12, 229, 95, 4, 252, 60, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 176, 226, 61, 30, 196, 214, 151, 145, 149, 210, 125, 167, 82, 161, 224, 174, 65, + 197, 223, 165, 109, 223, 55, 127, 203, 192, 170, 73, 59, 212, 127, 88, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 201, 35, 20, 184, 196, 234, 242, 237, 192, 160, 83, 88, 217, 254, 130, 42, 122, + 237, 164, 106, 137, 84, 137, 79, 223, 33, 213, 86, 142, 98, 21, 219, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 128, 157, 219, 183, 181, 70, 41, 190, 55, 123, 22, 187, 58, 70, 199, 20, 230, 22, + 154, 249, 50, 238, 240, 166, 166, 84, 166, 165, 154, 120, 15, 4, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 27, 155, 220, 238, 59, 201, 9, 2, 178, 172, 83, 47, 233, 5, 80, 170, 142, 68, 138, + 142, 139, 159, 120, 141, 128, 165, 131, 143, 240, 180, 200, 225, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 158, 38, 78, 66, 136, 106, 55, 118, 178, 238, 189, 197, 214, 78, 88, 137, 244, 188, + 123, 5, 20, 56, 210, 208, 190, 208, 21, 233, 193, 214, 200, 194, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 205, 169, 58, 23, 171, 7, 74, 208, 94, 2, 9, 44, 138, 103, 229, 115, 224, 177, 170, + 49, 67, 218, 152, 53, 183, 170, 132, 53, 233, 32, 52, 23, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 165, 200, 3, 80, 189, 116, 109, 222, 84, 127, 208, 162, 100, 14, 44, 14, 195, 233, + 0, 62, 71, 82, 44, 115, 68, 27, 81, 97, 196, 13, 28, 253, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 220, 46, 135, 204, 254, 87, 122, 47, 86, 173, 150, 227, 153, 198, 48, 180, 56, 221, + 123, 17, 118, 75, 190, 203, 217, 145, 138, 60, 7, 22, 62, 18, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 86, 106, 104, 181, 180, 96, 96, 27, 148, 195, 128, 156, 211, 59, 205, 30, 130, 19, + 3, 124, 243, 51, 27, 87, 166, 229, 186, 127, 214, 20, 211, 117, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 67, 25, 78, 184, 204, 203, 40, 21, 179, 236, 223, 93, 131, 13, 32, 146, 208, 189, + 208, 145, 209, 138, 142, 18, 50, 101, 150, 215, 154, 255, 28, 46, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 231, 244, 61, 70, 189, 71, 69, 27, 49, 131, 116, 168, 115, 136, 144, 80, 195, 121, + 142, 41, 200, 223, 29, 137, 48, 111, 162, 108, 115, 83, 126, 178, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 237, 137, 4, 148, 46, 5, 202, 196, 168, 27, 23, 3, 29, 33, 191, 181, 132, 106, 76, + 1, 101, 28, 58, 51, 85, 1, 166, 47, 164, 141, 25, 13, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 165, 59, 92, 211, 92, 138, 121, 182, 29, 226, 63, 161, 255, 61, 213, 52, 168, 165, + 154, 200, 209, 252, 113, 56, 69, 219, 61, 172, 57, 120, 238, 14, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 157, 43, 231, 255, 31, 104, 213, 7, 54, 250, 120, 30, 183, 226, 11, 220, 220, 183, + 67, 135, 237, 70, 89, 211, 244, 177, 202, 36, 98, 175, 65, 17, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 151, 154, 195, 178, 115, 103, 203, 239, 201, 251, 225, 200, 32, 133, 244, 3, 136, + 74, 163, 21, 219, 24, 95, 158, 145, 209, 64, 173, 223, 119, 158, 248, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 185, 220, 16, 62, 190, 30, 219, 31, 36, 19, 73, 191, 169, 9, 109, 143, 105, 202, + 134, 37, 55, 22, 119, 52, 146, 194, 224, 196, 51, 176, 158, 91, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 50, 72, 1, 59, 0, 109, 220, 138, 196, 145, 238, 135, 92, 97, 176, 133, 15, 222, + 134, 222, 1, 190, 7, 58, 134, 82, 252, 9, 112, 2, 90, 166, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 27, 221, 196, 110, 118, 131, 60, 14, 85, 65, 50, 128, 50, 84, 228, 108, 79, 33, + 169, 204, 150, 224, 184, 67, 50, 249, 224, 247, 121, 188, 123, 72, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 126, 173, 146, 22, 136, 123, 208, 175, 35, 221, 68, 242, 213, 84, 73, 39, 85, 13, + 250, 137, 201, 106, 151, 26, 93, 184, 226, 6, 181, 100, 204, 122, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 192, 236, 208, 51, 89, 252, 137, 130, 41, 105, 131, 37, 24, 217, 150, 244, 156, + 232, 184, 125, 48, 130, 82, 254, 108, 57, 80, 225, 84, 72, 215, 253, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 23, 196, 188, 79, 56, 180, 167, 11, 254, 50, 226, 118, 5, 35, 214, 91, 113, 70, + 200, 225, 155, 237, 85, 169, 194, 109, 97, 77, 232, 83, 31, 247, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 53, 127, 57, 195, 224, 103, 40, 226, 4, 193, 218, 246, 94, 45, 159, 34, 13, 86, + 164, 15, 18, 108, 97, 13, 73, 202, 66, 195, 246, 2, 157, 2, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 192, 85, 193, 195, 198, 7, 1, 224, 117, 156, 222, 48, 32, 163, 239, 128, 142, 187, + 222, 47, 137, 196, 245, 214, 228, 166, 252, 32, 193, 11, 94, 126, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 50, 66, 171, 189, 114, 125, 200, 128, 126, 189, 71, 26, 188, 179, 49, 129, 83, 97, + 97, 207, 185, 51, 36, 113, 245, 227, 0, 122, 203, 248, 20, 212, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 232, 34, 47, 67, 25, 110, 186, 182, 124, 98, 163, 239, 185, 251, 218, 227, 53, 127, + 230, 56, 224, 180, 98, 181, 131, 247, 118, 184, 149, 17, 194, 52, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 190, 144, 166, 167, 55, 113, 179, 202, 159, 155, 111, 150, 91, 8, 240, 138, 254, + 193, 30, 231, 171, 79, 78, 240, 110, 84, 80, 58, 57, 52, 144, 112, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 7, 229, 87, 17, 135, 252, 117, 45, 148, 250, 32, 219, 109, 251, 191, 123, 216, 191, + 218, 115, 193, 119, 38, 40, 174, 112, 228, 21, 35, 141, 217, 59, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 126, 149, 241, 84, 84, 186, 144, 3, 235, 140, 232, 181, 49, 151, 124, 249, 142, + 232, 72, 194, 218, 154, 76, 162, 115, 102, 163, 65, 41, 30, 103, 121, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 233, 138, 195, 83, 10, 172, 120, 245, 77, 228, 211, 65, 89, 119, 4, 21, 180, 46, + 173, 131, 147, 251, 181, 155, 240, 171, 148, 32, 222, 64, 236, 240, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 239, 4, 241, 20, 20, 47, 69, 183, 246, 46, 253, 11, 38, 128, 43, 144, 147, 71, 116, + 181, 177, 130, 213, 201, 235, 72, 140, 108, 34, 146, 239, 231, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 140, 20, 216, 96, 234, 252, 146, 38, 130, 218, 14, 49, 209, 54, 29, 101, 171, 125, + 129, 125, 12, 76, 121, 183, 196, 162, 115, 182, 216, 149, 142, 23, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 6, 6, 218, 202, 66, 74, 50, 244, 147, 76, 39, 220, 47, 224, 110, 192, 22, 151, 230, + 155, 110, 54, 189, 223, 53, 239, 181, 241, 227, 123, 30, 196, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 51, 124, 126, 41, 7, 193, 99, 56, 189, 194, 120, 99, 40, 168, 184, 148, 199, 48, + 165, 18, 50, 14, 144, 187, 70, 179, 101, 80, 116, 136, 88, 228, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 2, 126, 253, 199, 94, 126, 119, 27, 228, 86, 216, 155, 132, 114, 246, 107, 113, 42, + 145, 30, 116, 41, 22, 19, 203, 236, 117, 135, 200, 248, 15, 44, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 104, 196, 191, 71, 193, 220, 14, 171, 41, 174, 81, 197, 147, 61, 63, 84, 158, 35, + 115, 35, 163, 214, 125, 243, 91, 207, 246, 12, 241, 173, 100, 142, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 95, 145, 21, 229, 118, 20, 104, 255, 35, 205, 80, 255, 242, 105, 139, 253, 188, + 140, 143, 47, 251, 222, 99, 100, 29, 37, 253, 110, 199, 106, 15, 138, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 85, 251, 42, 189, 113, 70, 121, 127, 47, 23, 195, 158, 152, 225, 6, 143, 7, 126, + 137, 143, 31, 7, 48, 105, 10, 23, 74, 45, 73, 0, 100, 67, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 200, 203, 105, 246, 39, 37, 135, 40, 183, 40, 217, 30, 43, 252, 92, 19, 155, 15, + 16, 59, 57, 252, 134, 239, 80, 45, 69, 65, 174, 128, 40, 221, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 143, 254, 190, 196, 173, 21, 121, 212, 99, 91, 98, 243, 227, 129, 74, 127, 34, 116, + 70, 155, 66, 185, 148, 193, 187, 63, 9, 215, 186, 144, 74, 172, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 182, 23, 118, 170, 64, 177, 157, 84, 119, 173, 141, 219, 40, 202, 63, 45, 222, 65, + 39, 57, 101, 196, 184, 221, 120, 188, 239, 29, 223, 226, 245, 224, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 30, 247, 157, 105, 205, 82, 173, 35, 126, 134, 84, 34, 3, 125, 35, 212, 67, 100, + 43, 77, 180, 156, 167, 191, 41, 35, 218, 100, 90, 193, 140, 121, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 208, 104, 194, 231, 121, 241, 171, 145, 57, 65, 120, 173, 190, 143, 34, 152, 207, + 213, 167, 192, 150, 96, 14, 244, 141, 152, 27, 153, 135, 87, 89, 175, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 25, 212, 231, 192, 162, 188, 97, 246, 84, 66, 191, 224, 250, 99, 132, 89, 66, 207, + 146, 117, 169, 43, 62, 64, 239, 90, 134, 25, 11, 174, 11, 97, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 13, 141, 113, 244, 74, 16, 147, 245, 25, 30, 64, 144, 143, 241, 55, 247, 45, 157, + 149, 195, 119, 191, 221, 119, 98, 53, 30, 166, 174, 101, 44, 135, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 48, 224, 247, 203, 72, 105, 14, 186, 3, 122, 51, 15, 107, 70, 31, 175, 142, 213, + 153, 221, 55, 7, 134, 160, 254, 203, 168, 162, 14, 85, 73, 119, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 14, 184, 115, 22, 107, 208, 57, 123, 175, 61, 199, 3, 197, 212, 16, 2, 216, 180, + 247, 154, 159, 233, 33, 236, 174, 33, 182, 86, 61, 55, 159, 76, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 181, 151, 249, 109, 80, 51, 148, 110, 34, 62, 51, 242, 192, 15, 76, 34, 115, 235, + 73, 16, 84, 27, 188, 216, 91, 9, 119, 42, 103, 129, 41, 179, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 226, 179, 148, 185, 233, 254, 88, 186, 74, 58, 84, 178, 87, 79, 36, 49, 26, 228, 6, + 133, 228, 134, 92, 11, 77, 164, 254, 203, 46, 105, 84, 202, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 80, 107, 232, 140, 80, 166, 212, 154, 195, 64, 207, 131, 227, 237, 183, 15, 121, + 226, 31, 217, 58, 148, 92, 132, 66, 129, 195, 10, 148, 236, 147, 15, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 222, 229, 26, 117, 140, 92, 34, 20, 9, 206, 44, 153, 173, 59, 147, 66, 248, 30, 33, + 53, 91, 220, 15, 27, 45, 223, 211, 126, 244, 143, 142, 57, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 84, 132, 210, 131, 156, 210, 40, 24, 210, 5, 237, 18, 254, 14, 208, 13, 19, 47, 31, + 150, 135, 118, 248, 115, 168, 216, 148, 204, 24, 219, 234, 221, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 15, 24, 97, 95, 158, 104, 183, 33, 53, 51, 95, 113, 157, 225, 63, 105, 248, 224, + 16, 55, 36, 237, 52, 76, 92, 1, 125, 203, 15, 103, 135, 135, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 232, 116, 9, 108, 167, 119, 95, 12, 109, 43, 249, 56, 150, 167, 152, 247, 135, 125, + 60, 26, 214, 117, 78, 205, 60, 38, 23, 76, 9, 57, 189, 186, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 113, 40, 127, 190, 12, 179, 194, 27, 134, 150, 205, 229, 218, 215, 115, 43, 177, + 192, 189, 173, 157, 234, 43, 52, 207, 190, 72, 39, 175, 99, 214, 240, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 101, 150, 90, 110, 120, 26, 239, 184, 228, 128, 130, 174, 70, 211, 118, 69, 41, 11, + 227, 93, 5, 38, 153, 73, 164, 53, 132, 105, 215, 195, 113, 218, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 181, 188, 110, 19, 213, 185, 124, 106, 60, 69, 160, 10, 138, 88, 177, 178, 251, + 114, 118, 126, 18, 43, 181, 141, 75, 16, 2, 187, 21, 184, 194, 175, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 60, 8, 225, 177, 83, 214, 127, 35, 59, 247, 156, 56, 247, 134, 125, 189, 47, 233, + 35, 116, 4, 206, 148, 27, 38, 177, 202, 222, 82, 72, 94, 30, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 79, 11, 81, 223, 248, 44, 166, 44, 55, 53, 168, 196, 206, 89, 36, 31, 188, 43, 109, + 158, 46, 112, 158, 118, 1, 253, 59, 104, 199, 140, 121, 29, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 169, 61, 22, 137, 90, 53, 101, 232, 165, 174, 185, 209, 97, 101, 61, 27, 0, 178, + 162, 84, 235, 4, 129, 127, 29, 93, 0, 226, 76, 17, 4, 116, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 61, 162, 94, 54, 61, 183, 1, 69, 8, 151, 158, 53, 10, 69, 129, 169, 36, 200, 238, + 141, 90, 151, 99, 139, 188, 21, 30, 252, 161, 193, 53, 87, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 58, 126, 10, 126, 178, 224, 13, 12, 229, 135, 37, 234, 71, 229, 167, 85, 63, 150, + 182, 237, 200, 236, 177, 31, 3, 160, 219, 120, 185, 199, 91, 12, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 242, 34, 74, 125, 70, 160, 14, 67, 242, 215, 84, 236, 57, 88, 174, 28, 97, 158, + 100, 187, 127, 18, 164, 89, 226, 38, 157, 187, 236, 196, 237, 56, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 129, 202, 156, 39, 227, 215, 134, 248, 49, 43, 38, 239, 79, 152, 26, 227, 220, 136, + 150, 132, 76, 205, 226, 117, 232, 220, 247, 40, 79, 158, 89, 22, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 198, 10, 247, 43, 85, 42, 168, 124, 170, 228, 221, 4, 70, 174, 40, 9, 209, 133, + 236, 49, 26, 141, 185, 66, 71, 220, 209, 228, 158, 217, 123, 197, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 176, 96, 255, 20, 175, 196, 75, 123, 112, 128, 129, 123, 103, 85, 198, 211, 250, + 210, 178, 155, 157, 227, 75, 89, 40, 211, 86, 123, 95, 250, 174, 174, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 18, 31, 184, 232, 230, 52, 231, 202, 55, 22, 104, 21, 75, 225, 3, 230, 11, 11, 160, + 172, 44, 229, 17, 129, 196, 190, 13, 90, 142, 221, 60, 247, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 37, 225, 210, 183, 236, 227, 198, 7, 247, 111, 161, 78, 201, 89, 123, 61, 223, 208, + 149, 141, 32, 26, 142, 167, 158, 128, 152, 239, 80, 174, 140, 30, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 238, 240, 178, 239, 68, 197, 152, 136, 33, 3, 204, 163, 112, 233, 138, 4, 12, 11, + 110, 146, 252, 245, 188, 130, 203, 220, 209, 9, 46, 84, 162, 226, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 57, 77, 208, 186, 113, 81, 226, 245, 24, 216, 241, 35, 26, 72, 110, 181, 178, 14, + 123, 174, 133, 155, 78, 25, 150, 104, 30, 143, 169, 181, 147, 113, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 164, 101, 159, 104, 82, 98, 87, 1, 178, 90, 119, 251, 115, 149, 193, 210, 135, 221, + 69, 55, 43, 124, 96, 231, 135, 136, 44, 230, 217, 47, 140, 110, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 189, 160, 225, 107, 144, 63, 217, 132, 166, 241, 245, 51, 240, 33, 121, 150, 240, + 190, 80, 147, 169, 52, 92, 21, 67, 76, 88, 134, 189, 89, 98, 193, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 72, 139, 236, 26, 163, 213, 170, 143, 149, 60, 151, 59, 37, 222, 193, 157, 16, 99, + 142, 150, 11, 250, 34, 76, 163, 84, 172, 19, 128, 31, 21, 219, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 249, 52, 205, 122, 52, 157, 101, 213, 215, 71, 98, 131, 255, 37, 11, 140, 176, 75, + 69, 141, 178, 211, 90, 234, 42, 188, 5, 218, 14, 14, 122, 101, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 204, 117, 112, 177, 190, 135, 82, 196, 202, 0, 163, 190, 51, 110, 99, 8, 51, 92, + 76, 225, 102, 240, 158, 137, 206, 255, 220, 91, 242, 255, 85, 88, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 202, 13, 211, 36, 243, 62, 66, 83, 108, 187, 16, 62, 222, 79, 231, 251, 164, 16, + 58, 23, 33, 134, 34, 2, 64, 203, 237, 74, 18, 73, 151, 203, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 75, 85, 178, 81, 108, 162, 155, 241, 162, 92, 10, 81, 117, 155, 180, 200, 225, 175, + 124, 36, 58, 149, 234, 173, 145, 250, 233, 74, 217, 117, 80, 29, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 143, 235, 18, 85, 159, 80, 97, 229, 195, 136, 3, 110, 197, 24, 56, 241, 128, 83, + 57, 177, 47, 164, 70, 171, 173, 2, 216, 5, 123, 203, 137, 31, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 140, 205, 156, 66, 221, 46, 125, 95, 59, 226, 181, 225, 12, 78, 12, 112, 133, 187, + 50, 39, 87, 136, 136, 165, 254, 253, 168, 59, 153, 194, 184, 179, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 51, 24, 170, 249, 49, 178, 16, 29, 7, 250, 247, 238, 79, 17, 188, 164, 112, 32, + 231, 52, 167, 43, 173, 143, 3, 97, 59, 22, 136, 226, 220, 173, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 227, 45, 102, 239, 134, 64, 8, 168, 249, 89, 163, 68, 117, 60, 148, 250, 128, 154, + 56, 202, 234, 15, 44, 7, 244, 49, 103, 126, 242, 233, 57, 190, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 24, 40, 154, 139, 122, 182, 159, 177, 164, 11, 193, 69, 127, 90, 143, 94, 23, 202, + 220, 79, 63, 56, 102, 177, 30, 197, 100, 50, 194, 45, 182, 34, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 229, 115, 18, 157, 120, 117, 249, 44, 170, 193, 71, 5, 132, 50, 32, 79, 195, 28, + 14, 21, 180, 65, 169, 193, 172, 243, 205, 166, 86, 1, 106, 118, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 125, 100, 148, 198, 176, 206, 208, 3, 171, 119, 68, 255, 26, 225, 137, 175, 188, + 15, 56, 6, 111, 186, 19, 95, 12, 220, 242, 212, 27, 187, 52, 66, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 226, 188, 11, 13, 38, 48, 137, 80, 241, 212, 226, 219, 62, 120, 107, 173, 80, 120, + 142, 211, 66, 199, 162, 219, 237, 186, 99, 65, 103, 255, 85, 31, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 124, 122, 117, 14, 106, 198, 66, 66, 254, 28, 211, 68, 89, 32, 77, 187, 164, 216, + 32, 74, 239, 25, 38, 159, 20, 62, 232, 126, 166, 29, 11, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 209, 134, 26, 47, 226, 26, 93, 55, 5, 68, 215, 77, 224, 94, 105, 205, 198, 122, + 126, 207, 63, 207, 107, 114, 69, 12, 10, 225, 16, 176, 83, 195, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 241, 202, 235, 165, 107, 42, 21, 11, 21, 137, 241, 209, 180, 106, 132, 49, 239, 60, + 6, 56, 223, 252, 88, 35, 46, 174, 229, 227, 116, 52, 94, 234, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 48, 76, 79, 239, 46, 227, 188, 217, 88, 249, 50, 214, 202, 105, 96, 121, 183, 51, + 31, 240, 58, 7, 139, 60, 64, 17, 70, 205, 178, 89, 32, 249, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 72, 183, 25, 152, 22, 44, 54, 109, 234, 127, 143, 250, 239, 228, 131, 106, 149, 47, + 250, 35, 15, 204, 238, 58, 237, 104, 210, 74, 61, 13, 175, 201, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 145, 219, 118, 4, 71, 194, 51, 139, 206, 235, 50, 130, 205, 21, 192, 34, 100, 144, + 53, 2, 91, 86, 232, 201, 169, 46, 246, 64, 49, 237, 219, 201, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 10, 92, 38, 63, 212, 153, 199, 248, 185, 63, 212, 163, 203, 151, 56, 75, 28, 182, + 236, 72, 164, 193, 135, 5, 96, 191, 19, 124, 16, 51, 165, 144, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 30, 15, 196, 44, 86, 137, 247, 176, 30, 248, 73, 133, 80, 168, 108, 206, 198, 0, + 13, 186, 223, 175, 211, 146, 25, 120, 123, 59, 59, 158, 79, 28, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 13, 109, 34, 100, 111, 200, 53, 47, 243, 120, 212, 114, 74, 15, 150, 132, 177, 77, + 213, 179, 112, 48, 225, 104, 102, 48, 203, 212, 122, 12, 36, 133, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 190, 5, 243, 142, 196, 96, 197, 121, 241, 88, 44, 46, 107, 55, 45, 202, 10, 50, 5, + 157, 143, 5, 2, 206, 74, 112, 74, 246, 38, 95, 98, 181, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 227, 134, 173, 58, 42, 115, 187, 113, 53, 241, 192, 245, 76, 175, 58, 132, 191, + 139, 203, 251, 48, 44, 177, 184, 55, 194, 96, 233, 62, 187, 204, 36, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 156, 57, 46, 244, 180, 255, 195, 152, 181, 238, 0, 133, 54, 14, 20, 84, 47, + 218, 32, 176, 178, 130, 56, 55, 202, 150, 89, 132, 3, 187, 40, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 205, 166, 234, 86, 15, 7, 97, 139, 215, 233, 69, 160, 34, 191, 238, 220, 237, 102, + 183, 117, 141, 209, 82, 251, 177, 74, 253, 58, 195, 246, 57, 117, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 214, 245, 27, 238, 108, 86, 170, 235, 11, 57, 234, 149, 208, 157, 208, 220, 117, + 123, 204, 157, 148, 73, 248, 132, 47, 186, 182, 70, 48, 151, 34, 182, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 3, 147, 61, 129, 186, 110, 4, 79, 0, 255, 64, 199, 18, 132, 152, 22, 117, 50, 42, + 15, 210, 252, 199, 173, 170, 235, 101, 133, 85, 89, 86, 133, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 174, 51, 28, 13, 80, 134, 144, 186, 244, 4, 194, 184, 123, 197, 7, 59, 47, 77, 53, + 201, 102, 171, 236, 15, 27, 219, 229, 103, 82, 173, 77, 9, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 222, 245, 105, 245, 144, 35, 15, 211, 154, 206, 222, 173, 190, 149, 186, 83, 175, + 100, 9, 112, 102, 23, 157, 120, 185, 213, 232, 34, 49, 5, 202, 65, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 250, 73, 28, 158, 206, 140, 232, 214, 98, 157, 10, 242, 96, 105, 27, 60, 18, 42, + 176, 136, 255, 244, 83, 183, 19, 58, 38, 106, 198, 86, 60, 206, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 207, 78, 53, 59, 3, 49, 20, 172, 48, 199, 84, 133, 244, 182, 4, 216, 132, 171, 8, + 88, 18, 237, 62, 60, 204, 230, 230, 79, 141, 158, 13, 52, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 186, 83, 102, 71, 52, 60, 176, 7, 210, 136, 71, 133, 89, 107, 68, 199, 93, 251, 20, + 171, 82, 174, 81, 105, 18, 18, 85, 226, 106, 244, 16, 56, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 65, 177, 198, 23, 11, 163, 236, 230, 106, 50, 35, 198, 210, 252, 49, 57, 30, 156, + 47, 162, 143, 33, 43, 238, 76, 84, 155, 126, 207, 80, 217, 124, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 73, 10, 103, 156, 74, 171, 94, 15, 153, 157, 142, 156, 161, 112, 108, 111, 34, 157, + 124, 76, 237, 125, 130, 45, 39, 141, 37, 65, 86, 88, 43, 190, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 85, 183, 89, 0, 192, 29, 62, 87, 141, 124, 44, 67, 195, 142, 118, 192, 192, 140, + 14, 148, 237, 244, 170, 105, 167, 138, 172, 145, 128, 136, 221, 102, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 2, 129, 176, 155, 3, 73, 44, 218, 217, 52, 94, 210, 227, 230, 214, 223, 155, 240, + 67, 171, 176, 203, 51, 146, 163, 255, 140, 95, 197, 17, 89, 31, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 232, 172, 172, 197, 253, 90, 63, 35, 10, 137, 8, 116, 56, 123, 127, 103, 224, 84, + 9, 110, 156, 208, 191, 172, 40, 234, 229, 185, 59, 110, 15, 103, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 38, 214, 220, 54, 133, 72, 140, 188, 147, 170, 247, 149, 147, 45, 150, 103, 81, + 185, 163, 184, 220, 60, 216, 152, 120, 201, 38, 123, 206, 2, 207, 137, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 49, 178, 177, 38, 204, 253, 161, 79, 85, 47, 138, 48, 178, 115, 107, 237, 30, 6, + 16, 43, 21, 124, 152, 239, 180, 79, 69, 229, 177, 2, 200, 237, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 131, 35, 63, 55, 200, 43, 236, 93, 212, 202, 53, 7, 143, 22, 186, 85, 0, 219, 213, + 10, 38, 214, 107, 185, 141, 19, 76, 173, 137, 68, 221, 224, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 225, 8, 132, 2, 143, 229, 74, 244, 104, 158, 56, 32, 65, 250, 69, 197, 241, 159, + 188, 157, 22, 115, 183, 80, 153, 254, 117, 239, 87, 67, 121, 119, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 69, 75, 107, 156, 122, 72, 127, 216, 12, 55, 183, 54, 171, 228, 45, 5, 42, 83, 105, + 234, 119, 110, 121, 249, 95, 99, 127, 161, 153, 123, 223, 202, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 8, 112, 90, 33, 135, 170, 251, 123, 77, 38, 122, 245, 212, 21, 27, 154, 58, 198, + 76, 107, 235, 209, 255, 192, 196, 141, 224, 130, 229, 146, 52, 189, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 42, 44, 58, 149, 161, 195, 102, 133, 252, 81, 7, 164, 145, 222, 100, 179, 67, 175, + 20, 144, 160, 117, 236, 154, 227, 99, 115, 127, 19, 36, 211, 3, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 244, 3, 16, 185, 5, 122, 226, 42, 169, 60, 129, 143, 117, 2, 217, 214, 161, 130, + 232, 108, 187, 216, 163, 179, 31, 226, 67, 159, 91, 108, 179, 175, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 62, 88, 118, 83, 204, 110, 202, 118, 116, 142, 238, 32, 109, 187, 226, 136, + 51, 84, 116, 159, 59, 116, 70, 3, 29, 193, 70, 251, 46, 84, 77, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 140, 156, 175, 22, 194, 138, 248, 99, 214, 24, 217, 110, 154, 40, 161, 132, 56, + 106, 122, 226, 133, 248, 130, 191, 165, 118, 129, 247, 48, 203, 165, 80, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 129, 79, 162, 23, 144, 21, 122, 89, 42, 129, 220, 50, 227, 79, 74, 144, 165, 95, + 72, 86, 93, 163, 70, 32, 39, 192, 190, 117, 15, 125, 125, 12, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 28, 33, 174, 96, 214, 93, 197, 212, 207, 81, 49, 64, 104, 38, 47, 137, 209, 160, + 186, 252, 126, 52, 248, 114, 199, 88, 189, 41, 152, 90, 212, 165, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 151, 85, 25, 239, 158, 58, 161, 110, 125, 64, 89, 158, 209, 112, 29, 167, 63, 114, + 161, 118, 97, 124, 170, 106, 210, 34, 175, 59, 165, 142, 144, 3, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 193, 5, 138, 24, 134, 217, 165, 52, 117, 73, 8, 146, 157, 64, 234, 53, 22, 35, 184, + 174, 122, 180, 255, 110, 216, 80, 95, 120, 192, 59, 38, 167, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 112, 41, 5, 2, 200, 50, 190, 216, 156, 52, 29, 234, 60, 103, 237, 165, 146, 146, + 102, 43, 36, 119, 41, 77, 140, 38, 210, 244, 120, 21, 185, 88, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 241, 236, 185, 116, 7, 161, 38, 117, 34, 133, 100, 187, 140, 158, 94, 12, 69, 211, + 158, 80, 68, 20, 171, 167, 150, 172, 176, 32, 204, 141, 235, 140, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 37, 170, 198, 64, 94, 39, 74, 55, 48, 225, 90, 106, 116, 169, 156, 26, 171, 86, 54, + 57, 108, 151, 17, 19, 185, 201, 24, 64, 204, 117, 54, 136, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 241, 110, 193, 155, 99, 110, 97, 43, 69, 146, 24, 192, 183, 9, 162, 98, 62, 139, + 106, 100, 137, 139, 180, 143, 221, 40, 103, 142, 115, 102, 12, 218, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 74, 48, 136, 4, 115, 96, 79, 237, 226, 153, 234, 226, 18, 122, 143, 186, 123, 147, + 23, 167, 133, 172, 247, 188, 54, 142, 164, 109, 26, 105, 223, 201, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 194, 161, 19, 99, 101, 192, 216, 94, 214, 51, 229, 164, 129, 116, 244, 136, 93, + 212, 90, 32, 132, 155, 114, 23, 204, 127, 118, 245, 214, 171, 40, 193, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 162, 37, 69, 241, 180, 107, 167, 164, 68, 173, 112, 72, 245, 61, 31, 112, 60, 241, + 162, 169, 229, 123, 69, 94, 72, 66, 139, 242, 94, 20, 164, 187, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 51, 39, 102, 56, 159, 204, 138, 160, 101, 50, 50, 214, 14, 137, 153, 42, 131, 253, + 231, 60, 60, 84, 119, 27, 26, 123, 41, 104, 221, 202, 95, 229, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 223, 78, 192, 88, 183, 54, 32, 144, 63, 193, 30, 122, 99, 168, 117, 68, 9, 93, 235, + 215, 52, 19, 245, 39, 79, 86, 222, 247, 3, 116, 199, 104, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 71, 82, 194, 18, 160, 195, 15, 212, 177, 100, 245, 91, 29, 137, 125, 168, 108, 51, + 158, 22, 237, 128, 4, 50, 11, 127, 95, 6, 115, 21, 75, 236, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 193, 98, 57, 33, 58, 158, 206, 242, 252, 234, 202, 254, 70, 238, 165, 176, 162, + 113, 155, 195, 30, 130, 253, 78, 132, 105, 153, 68, 49, 150, 231, 166, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 224, 224, 163, 170, 18, 80, 85, 142, 133, 50, 38, 191, 228, 88, 135, 137, 246, 251, + 90, 173, 58, 146, 113, 140, 13, 73, 203, 44, 191, 250, 104, 19, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 157, 212, 112, 255, 239, 91, 53, 109, 211, 56, 73, 168, 16, 11, 90, 111, 205, 194, + 180, 199, 15, 167, 169, 117, 145, 245, 142, 198, 37, 230, 46, 253, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 147, 70, 140, 58, 163, 196, 193, 104, 42, 154, 52, 203, 1, 218, 243, 237, 87, 142, + 151, 100, 153, 85, 68, 98, 224, 37, 121, 8, 219, 52, 237, 199, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 145, 41, 148, 121, 215, 225, 114, 188, 199, 200, 162, 45, 181, 137, 20, 19, 215, + 143, 72, 230, 70, 208, 182, 215, 195, 139, 35, 17, 150, 188, 254, 135, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 35, 131, 185, 137, 16, 53, 31, 29, 94, 93, 211, 224, 216, 243, 93, 199, 245, 208, + 136, 81, 245, 0, 146, 151, 235, 250, 223, 150, 173, 170, 144, 153, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 52, 93, 19, 222, 29, 145, 83, 231, 124, 88, 112, 61, 165, 168, 181, 76, 97, 218, + 133, 22, 155, 7, 68, 29, 29, 104, 81, 8, 93, 79, 117, 126, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 60, 204, 67, 211, 121, 155, 51, 131, 73, 70, 164, 198, 78, 200, 30, 106, 137, 199, + 69, 248, 95, 1, 59, 248, 228, 143, 199, 83, 84, 171, 19, 27, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 140, 171, 198, 145, 4, 109, 23, 136, 47, 53, 11, 95, 70, 92, 52, 177, 1, 41, 242, + 255, 138, 60, 190, 168, 71, 95, 181, 181, 51, 128, 91, 90, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 78, 21, 20, 176, 85, 31, 119, 36, 118, 191, 31, 62, 33, 130, 122, 66, 234, 176, 99, + 51, 169, 200, 145, 236, 40, 3, 201, 134, 79, 38, 110, 196, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 143, 204, 122, 84, 69, 160, 27, 24, 15, 118, 255, 196, 31, 198, 184, 164, 7, 157, + 156, 65, 68, 121, 205, 145, 215, 94, 141, 237, 100, 60, 121, 78, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 202, 229, 114, 110, 100, 205, 79, 30, 149, 125, 220, 196, 88, 195, 23, 238, 69, + 110, 3, 60, 172, 15, 147, 141, 202, 39, 83, 219, 173, 53, 34, 42, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 183, 18, 8, 169, 21, 184, 236, 125, 90, 146, 117, 32, 49, 84, 0, 94, 4, 132, 135, + 169, 102, 244, 149, 144, 249, 209, 117, 24, 108, 14, 141, 186, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 47, 95, 232, 170, 180, 149, 235, 243, 51, 197, 150, 226, 118, 205, 75, 120, 15, + 148, 167, 82, 103, 33, 14, 247, 146, 243, 196, 80, 65, 51, 157, 115, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 174, 161, 80, 170, 80, 239, 129, 75, 250, 140, 47, 101, 241, 192, 242, 246, 78, 60, + 187, 183, 36, 27, 36, 132, 121, 80, 71, 102, 5, 223, 204, 133, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 73, 104, 180, 124, 212, 170, 156, 93, 245, 166, 70, 85, 152, 181, 14, 163, 240, 23, + 138, 248, 209, 63, 106, 167, 45, 211, 238, 117, 83, 87, 125, 37, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 178, 125, 109, 74, 73, 18, 200, 51, 104, 21, 12, 145, 83, 188, 209, 59, 245, 113, + 87, 196, 22, 17, 39, 220, 191, 157, 65, 33, 215, 97, 30, 132, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 90, 90, 154, 35, 110, 116, 154, 39, 192, 109, 80, 167, 97, 45, 34, 163, 209, 16, + 248, 120, 76, 11, 222, 64, 147, 55, 82, 109, 117, 3, 228, 19, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 206, 227, 78, 114, 141, 123, 114, 61, 62, 100, 210, 185, 42, 43, 203, 90, 20, 49, + 87, 246, 241, 16, 56, 134, 74, 149, 103, 87, 232, 15, 13, 184, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 5, 210, 96, 250, 92, 132, 229, 248, 173, 227, 178, 110, 66, 136, 239, 84, 44, 181, + 31, 219, 170, 16, 216, 123, 62, 24, 130, 14, 240, 233, 141, 109, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 203, 219, 132, 162, 125, 178, 253, 207, 59, 232, 120, 116, 69, 144, 76, 252, 191, + 209, 217, 50, 72, 110, 175, 0, 2, 53, 200, 175, 192, 42, 20, 159, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 198, 72, 236, 2, 242, 39, 250, 167, 160, 203, 2, 202, 158, 14, 193, 137, 50, 57, + 125, 107, 62, 136, 43, 140, 154, 76, 217, 194, 206, 87, 248, 175, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 247, 144, 5, 211, 15, 60, 82, 82, 146, 187, 222, 24, 133, 71, 155, 241, 58, 12, + 171, 130, 79, 192, 195, 21, 153, 149, 36, 68, 72, 2, 34, 6, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 163, 198, 8, 91, 23, 220, 242, 3, 14, 129, 211, 172, 72, 224, 45, 181, 116, 156, + 90, 58, 182, 71, 115, 155, 83, 217, 119, 250, 81, 167, 151, 123, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 1, 207, 98, 216, 243, 140, 202, 237, 210, 144, 215, 222, 115, 57, 76, 64, 220, 215, + 48, 148, 168, 148, 25, 77, 67, 118, 105, 253, 113, 141, 111, 156, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 69, 242, 182, 197, 121, 148, 56, 214, 168, 29, 179, 226, 201, 159, 82, 140, 129, + 60, 45, 20, 19, 46, 34, 184, 159, 0, 89, 29, 32, 66, 80, 231, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 181, 106, 202, 62, 96, 36, 53, 158, 217, 241, 131, 112, 231, 5, 34, 186, 6, 36, 90, + 229, 233, 84, 209, 168, 192, 240, 93, 53, 184, 130, 10, 154, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 87, 176, 242, 64, 51, 195, 201, 14, 235, 180, 22, 38, 148, 202, 225, 186, 170, 23, + 92, 62, 238, 247, 247, 175, 20, 121, 181, 85, 54, 207, 120, 252, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 49, 117, 89, 220, 46, 69, 129, 109, 12, 44, 173, 212, 13, 71, 180, 160, 212, 69, + 134, 238, 78, 6, 148, 251, 81, 28, 207, 146, 245, 58, 230, 202, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 120, 232, 244, 252, 98, 165, 64, 71, 207, 85, 248, 181, 157, 199, 141, 203, 169, + 120, 237, 151, 102, 24, 63, 186, 28, 55, 160, 162, 245, 123, 77, 160, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 143, 161, 66, 3, 56, 35, 233, 91, 139, 59, 161, 50, 166, 249, 73, 24, 108, 200, + 117, 225, 214, 74, 70, 184, 24, 112, 47, 148, 8, 117, 40, 158, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 147, 197, 143, 19, 130, 229, 78, 10, 14, 10, 50, 215, 114, 8, 141, 60, 36, 70, 169, + 44, 169, 85, 236, 39, 110, 44, 10, 150, 242, 130, 65, 115, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 109, 79, 114, 158, 102, 107, 18, 79, 182, 27, 78, 93, 56, 210, 189, 180, 203, 207, + 220, 112, 200, 75, 55, 164, 105, 34, 77, 83, 59, 38, 220, 232, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 49, 197, 118, 216, 40, 181, 168, 126, 120, 231, 121, 11, 118, 28, 44, 51, 181, 115, + 212, 94, 215, 124, 226, 219, 138, 88, 99, 213, 130, 242, 14, 102, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 151, 139, 237, 149, 88, 133, 108, 160, 65, 31, 72, 240, 74, 18, 27, 223, 146, 214, + 110, 160, 46, 180, 32, 137, 162, 9, 32, 229, 191, 238, 154, 175, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 43, 4, 151, 233, 55, 212, 134, 119, 119, 80, 247, 182, 176, 20, 143, 120, 92, 255, + 131, 22, 244, 186, 148, 92, 137, 142, 118, 23, 46, 34, 251, 80, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 122, 243, 77, 211, 178, 132, 140, 207, 184, 244, 179, 3, 11, 89, 36, 23, 133, 10, + 162, 44, 187, 118, 156, 23, 196, 90, 163, 106, 223, 162, 32, 191, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 243, 213, 26, 213, 174, 18, 80, 168, 39, 233, 125, 179, 30, 138, 34, 155, 252, 127, + 221, 176, 16, 85, 55, 141, 77, 202, 255, 93, 44, 138, 42, 107, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 88, 120, 84, 68, 107, 112, 158, 212, 0, 145, 153, 126, 213, 251, 213, 179, 101, + 137, 149, 165, 11, 67, 118, 254, 59, 89, 106, 47, 168, 206, 188, 113, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 78, 190, 239, 61, 101, 139, 84, 211, 244, 8, 53, 49, 179, 212, 96, 216, 241, 36, + 56, 91, 97, 221, 153, 134, 187, 66, 210, 152, 181, 70, 104, 252, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 222, 87, 23, 88, 195, 108, 5, 130, 227, 194, 176, 134, 159, 33, 9, 78, 48, 187, 92, + 22, 253, 10, 68, 185, 52, 92, 109, 202, 241, 98, 227, 167, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 162, 157, 163, 24, 67, 160, 22, 210, 145, 44, 122, 34, 74, 117, 35, 65, 92, 240, + 16, 126, 40, 4, 16, 253, 33, 222, 44, 117, 103, 147, 161, 31, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 231, 82, 39, 56, 50, 183, 163, 15, 151, 155, 5, 15, 164, 246, 3, 123, 112, 91, 205, + 185, 204, 140, 118, 169, 84, 180, 245, 248, 99, 39, 233, 252, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 63, 61, 170, 186, 248, 38, 104, 29, 227, 180, 32, 170, 127, 217, 25, 161, 23, 7, + 80, 24, 73, 102, 171, 25, 243, 35, 3, 153, 114, 212, 129, 127, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 135, 128, 51, 245, 60, 84, 32, 192, 244, 254, 190, 194, 157, 162, 30, 218, + 139, 146, 144, 153, 237, 244, 253, 100, 194, 198, 143, 29, 54, 78, 249, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 145, 154, 244, 42, 89, 28, 117, 152, 117, 65, 79, 250, 206, 194, 207, 36, 112, 47, + 106, 119, 48, 68, 78, 28, 222, 69, 216, 169, 69, 75, 105, 235, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 143, 66, 252, 236, 18, 203, 132, 158, 152, 76, 44, 107, 71, 179, 151, 9, 9, 51, + 108, 38, 190, 84, 65, 21, 193, 90, 194, 58, 74, 215, 34, 78, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 145, 252, 151, 17, 168, 17, 39, 197, 249, 153, 165, 175, 21, 205, 64, 213, 19, 20, + 217, 239, 129, 182, 189, 109, 62, 159, 210, 252, 69, 218, 111, 170, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 12, 146, 226, 62, 152, 150, 242, 123, 235, 28, 188, 175, 243, 132, 235, 127, 157, + 172, 211, 108, 110, 117, 67, 201, 185, 60, 226, 210, 34, 56, 250, 160, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 23, 113, 27, 3, 67, 109, 159, 201, 38, 118, 143, 99, 209, 165, 120, 18, 75, 205, + 95, 119, 112, 59, 132, 180, 238, 24, 132, 156, 45, 252, 15, 12, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 94, 165, 236, 109, 213, 135, 100, 200, 64, 182, 240, 80, 36, 0, 222, 108, 182, 207, + 21, 194, 125, 57, 12, 120, 168, 203, 65, 34, 97, 92, 61, 70, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 31, 7, 93, 27, 198, 107, 49, 144, 149, 206, 163, 146, 75, 38, 142, 195, 234, 100, + 41, 194, 229, 75, 187, 179, 178, 52, 243, 128, 51, 156, 41, 241, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 66, 160, 212, 95, 147, 190, 36, 173, 204, 92, 155, 198, 80, 50, 154, 0, 146, 249, + 55, 90, 242, 6, 47, 255, 24, 55, 191, 40, 166, 75, 160, 126, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 100, 91, 204, 111, 226, 214, 142, 31, 135, 35, 108, 119, 101, 106, 188, 103, 137, + 187, 55, 76, 87, 227, 122, 197, 117, 9, 126, 112, 144, 135, 19, 43, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 142, 157, 68, 175, 24, 198, 29, 34, 78, 128, 192, 196, 125, 86, 134, 142, 178, 189, + 219, 45, 59, 139, 20, 231, 174, 39, 157, 170, 185, 71, 139, 63, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 215, 49, 192, 91, 214, 241, 61, 118, 149, 231, 93, 148, 229, 86, 15, 166, 104, 92, + 2, 193, 103, 170, 40, 71, 165, 4, 71, 108, 182, 218, 133, 122, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 144, 222, 220, 207, 42, 128, 103, 141, 51, 125, 227, 202, 30, 202, 239, 44, 222, + 81, 116, 110, 24, 227, 131, 29, 144, 150, 235, 136, 49, 211, 144, 128, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 105, 136, 15, 199, 96, 132, 166, 1, 254, 68, 135, 112, 56, 180, 147, 53, 188, 37, + 138, 16, 74, 185, 144, 189, 91, 235, 20, 120, 170, 54, 106, 149, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 165, 37, 184, 115, 68, 116, 237, 154, 76, 135, 219, 25, 181, 238, 26, 49, 110, 204, + 152, 192, 173, 51, 99, 244, 125, 100, 121, 53, 236, 152, 20, 243, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 110, 135, 117, 38, 29, 204, 72, 14, 194, 118, 24, 226, 34, 202, 39, 231, 169, 123, + 194, 67, 31, 77, 242, 231, 63, 29, 85, 86, 238, 159, 28, 135, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 34, 250, 231, 230, 175, 135, 24, 104, 129, 61, 148, 137, 197, 133, 98, 114, 142, + 229, 14, 3, 61, 77, 50, 5, 19, 234, 197, 252, 109, 61, 255, 121, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 6, 38, 49, 79, 167, 28, 192, 118, 78, 46, 8, 63, 50, 218, 200, 217, 120, 250, 78, + 67, 71, 32, 72, 101, 7, 179, 192, 202, 56, 108, 21, 47, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 142, 3, 154, 6, 197, 46, 237, 212, 203, 34, 49, 11, 169, 19, 91, 229, 218, 163, 28, + 214, 64, 208, 84, 89, 153, 38, 69, 253, 89, 211, 56, 60, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 163, 44, 215, 192, 124, 168, 30, 41, 38, 173, 58, 222, 95, 23, 202, 25, 178, 206, + 163, 98, 122, 84, 33, 194, 234, 33, 111, 79, 70, 141, 165, 173, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 211, 134, 159, 133, 103, 208, 48, 201, 8, 53, 88, 82, 195, 28, 204, 254, 218, 255, + 227, 185, 39, 19, 11, 111, 99, 67, 76, 62, 133, 81, 171, 122, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 40, 98, 201, 98, 109, 15, 225, 28, 255, 200, 122, 240, 167, 87, 37, 142, 54, + 44, 187, 14, 202, 46, 217, 207, 166, 61, 170, 186, 229, 14, 159, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 39, 109, 255, 98, 1, 6, 198, 66, 203, 56, 137, 33, 189, 198, 44, 200, 181, 197, + 203, 124, 170, 154, 181, 10, 45, 215, 97, 71, 49, 156, 217, 35, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 239, 107, 215, 107, 248, 103, 196, 93, 234, 161, 156, 53, 38, 123, 253, 71, 110, + 80, 100, 11, 101, 137, 97, 11, 8, 121, 215, 114, 177, 70, 134, 233, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 48, 125, 92, 128, 206, 66, 183, 18, 118, 132, 24, 93, 24, 46, 153, 43, 177, 132, + 95, 79, 3, 51, 50, 5, 15, 102, 77, 18, 2, 113, 89, 212, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 75, 150, 96, 10, 206, 247, 205, 253, 118, 46, 131, 118, 152, 112, 226, 6, 212, 60, + 192, 63, 193, 196, 156, 245, 86, 148, 57, 202, 134, 205, 161, 170, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 153, 103, 38, 67, 189, 125, 193, 46, 180, 111, 175, 249, 194, 173, 228, 101, 74, + 52, 128, 82, 206, 234, 42, 37, 52, 69, 228, 244, 219, 222, 43, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 144, 31, 82, 172, 39, 149, 169, 32, 242, 183, 128, 153, 41, 154, 197, 43, 79, 114, + 139, 214, 125, 39, 170, 17, 88, 16, 225, 148, 130, 12, 58, 234, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 245, 33, 15, 244, 214, 61, 120, 10, 147, 255, 248, 41, 12, 29, 255, 132, 181, 110, + 127, 105, 242, 135, 1, 163, 232, 190, 1, 49, 81, 130, 217, 196, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 118, 73, 234, 211, 120, 247, 100, 145, 223, 209, 114, 242, 250, 75, 211, 242, 139, + 176, 243, 89, 203, 74, 148, 64, 253, 106, 222, 96, 110, 106, 150, 164, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 66, 91, 100, 182, 86, 21, 69, 233, 171, 178, 120, 171, 135, 179, 20, 253, 44, 51, + 146, 223, 136, 197, 84, 32, 129, 7, 200, 138, 104, 130, 225, 103, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 55, 85, 145, 241, 55, 121, 99, 237, 175, 166, 165, 192, 158, 48, 116, 107, 150, + 247, 39, 225, 62, 125, 79, 53, 132, 222, 113, 20, 22, 61, 151, 182, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 60, 113, 156, 119, 86, 112, 253, 153, 6, 35, 114, 28, 55, 56, 215, 43, 178, 211, + 180, 122, 119, 169, 106, 124, 103, 2, 58, 80, 123, 147, 153, 127, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 203, 204, 131, 56, 84, 161, 231, 229, 137, 98, 55, 90, 253, 11, 53, 200, 83, 91, + 158, 134, 29, 178, 67, 221, 27, 74, 86, 115, 101, 61, 4, 130, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 153, 145, 140, 247, 152, 63, 233, 125, 7, 161, 98, 211, 71, 15, 119, 188, 117, 18, + 67, 250, 251, 63, 254, 181, 242, 69, 186, 39, 107, 123, 252, 252, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 43, 43, 57, 171, 48, 37, 236, 79, 167, 240, 103, 110, 135, 161, 244, 239, 167, 85, + 50, 15, 153, 120, 243, 105, 135, 129, 147, 193, 31, 84, 137, 69, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 196, 249, 106, 184, 227, 185, 109, 63, 137, 199, 59, 153, 173, 172, 255, 216, 165, + 7, 218, 144, 125, 116, 212, 225, 113, 248, 142, 76, 0, 232, 90, 229, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 98, 137, 143, 215, 90, 83, 76, 86, 255, 105, 148, 250, 231, 139, 68, 254, 52, 221, + 229, 0, 12, 181, 62, 110, 2, 86, 123, 236, 216, 39, 18, 9, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 117, 192, 131, 91, 85, 51, 194, 19, 82, 25, 76, 136, 160, 43, 0, 201, 221, 238, + 128, 220, 202, 227, 75, 112, 183, 230, 89, 9, 228, 93, 194, 136, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 176, 16, 103, 65, 23, 12, 213, 65, 48, 248, 33, 149, 243, 23, 74, 205, 133, 110, + 208, 228, 115, 37, 13, 252, 121, 228, 184, 210, 140, 64, 196, 124, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 195, 36, 107, 74, 161, 193, 80, 128, 88, 218, 137, 137, 41, 227, 127, 236, 134, + 107, 16, 221, 172, 199, 184, 231, 171, 236, 170, 233, 111, 13, 38, 86, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 24, 159, 240, 134, 253, 197, 21, 236, 0, 123, 33, 130, 56, 177, 152, 172, 155, 19, + 148, 172, 68, 71, 96, 212, 133, 63, 79, 240, 31, 82, 202, 140, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 70, 24, 169, 92, 195, 247, 98, 110, 213, 189, 5, 76, 252, 44, 198, 75, 51, 93, 176, + 93, 206, 248, 246, 193, 73, 79, 133, 79, 0, 105, 200, 101, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 20, 127, 104, 232, 242, 6, 51, 79, 251, 207, 176, 69, 22, 204, 71, 211, 88, 88, + 176, 177, 113, 233, 253, 136, 9, 53, 159, 2, 100, 19, 215, 30, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 134, 134, 235, 106, 131, 200, 104, 210, 65, 146, 250, 81, 47, 251, 55, 13, 138, 79, + 134, 62, 224, 70, 252, 240, 221, 158, 150, 160, 166, 197, 222, 56, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 145, 45, 150, 90, 112, 61, 0, 244, 229, 225, 85, 214, 44, 86, 91, 236, 115, 200, 7, + 247, 239, 229, 25, 229, 10, 69, 131, 212, 207, 123, 196, 30, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 38, 33, 20, 21, 45, 244, 219, 139, 20, 74, 36, 132, 35, 151, 216, 75, 171, 245, + 112, 224, 203, 212, 69, 201, 30, 185, 228, 221, 138, 229, 99, 186, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 237, 230, 215, 231, 121, 185, 75, 104, 148, 14, 77, 231, 250, 176, 220, 109, 53, + 110, 181, 161, 178, 16, 226, 251, 16, 121, 254, 201, 202, 45, 94, 54, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 164, 12, 77, 56, 18, 50, 61, 105, 217, 215, 18, 33, 143, 95, 181, 70, 191, 117, + 186, 241, 169, 242, 114, 80, 4, 196, 172, 113, 133, 176, 50, 10, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 177, 66, 57, 85, 205, 220, 150, 57, 100, 200, 163, 30, 160, 246, 157, 83, 162, 249, + 40, 95, 19, 89, 217, 204, 227, 103, 225, 72, 142, 230, 124, 233, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 228, 44, 119, 104, 71, 221, 220, 10, 186, 44, 120, 133, 73, 56, 34, 140, 238, 4, + 176, 8, 136, 56, 33, 175, 118, 199, 53, 145, 158, 156, 169, 250, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 176, 192, 231, 65, 94, 80, 232, 76, 17, 95, 163, 37, 5, 226, 177, 249, 104, 194, 2, + 14, 10, 124, 173, 176, 17, 136, 172, 194, 147, 200, 161, 65, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 150, 228, 80, 196, 76, 124, 18, 47, 72, 187, 221, 217, 20, 30, 247, 47, 38, 160, + 118, 237, 236, 44, 203, 43, 117, 4, 120, 85, 171, 208, 94, 115, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 193, 215, 120, 14, 189, 153, 224, 154, 163, 158, 169, 12, 19, 187, 42, 175, 236, + 11, 139, 21, 210, 218, 228, 86, 25, 229, 216, 213, 79, 133, 208, 28, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 51, 75, 241, 148, 220, 65, 152, 93, 54, 37, 91, 92, 35, 22, 150, 205, 184, 168, 11, + 97, 129, 210, 17, 220, 189, 117, 163, 172, 70, 184, 150, 138, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 122, 49, 191, 91, 38, 125, 64, 103, 59, 107, 141, 197, 26, 9, 227, 226, 86, 52, + 248, 147, 42, 170, 156, 91, 231, 63, 47, 232, 217, 193, 244, 18, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 184, 217, 213, 120, 119, 39, 32, 138, 128, 176, 199, 224, 248, 188, 105, 117, 193, + 145, 73, 125, 121, 52, 245, 142, 109, 240, 81, 102, 128, 103, 1, 246, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 172, 227, 81, 153, 195, 122, 6, 242, 65, 247, 119, 4, 167, 118, 6, 226, 13, 162, + 23, 92, 100, 44, 20, 155, 243, 180, 229, 13, 67, 145, 93, 222, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 127, 139, 132, 85, 105, 208, 97, 102, 130, 185, 191, 164, 171, 119, 57, 69, 233, + 193, 178, 111, 50, 43, 155, 126, 115, 11, 99, 23, 240, 33, 173, 235, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 237, 247, 156, 222, 6, 91, 167, 140, 240, 54, 135, 38, 128, 61, 103, 53, 252, 64, + 163, 9, 84, 125, 170, 176, 185, 149, 119, 234, 93, 132, 58, 224, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 136, 226, 145, 62, 24, 76, 251, 75, 45, 52, 106, 65, 141, 93, 229, 15, 64, 212, + 198, 25, 68, 113, 100, 244, 83, 87, 18, 233, 221, 24, 12, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 97, 72, 218, 251, 179, 94, 46, 178, 147, 99, 187, 207, 17, 163, 51, 178, 150, 10, + 133, 76, 214, 22, 31, 35, 247, 75, 108, 247, 132, 3, 74, 199, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 92, 168, 156, 200, 229, 81, 244, 59, 113, 199, 174, 73, 78, 191, 74, 17, 105, 167, + 154, 208, 172, 178, 18, 223, 226, 161, 177, 76, 131, 99, 203, 164, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 91, 148, 39, 107, 123, 78, 144, 61, 107, 216, 91, 245, 65, 236, 139, 111, 200, 115, + 160, 145, 154, 7, 108, 143, 72, 192, 135, 172, 20, 90, 63, 135, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 196, 191, 109, 156, 32, 179, 38, 178, 35, 166, 239, 238, 110, 58, 162, 77, 246, + 244, 253, 206, 145, 1, 118, 72, 148, 108, 191, 134, 212, 123, 117, 74, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 254, 2, 241, 232, 29, 36, 64, 218, 208, 128, 97, 66, 123, 47, 192, 236, 110, 96, + 211, 88, 192, 14, 146, 236, 39, 173, 13, 58, 237, 23, 32, 44, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 23, 241, 236, 156, 25, 250, 242, 84, 185, 208, 159, 96, 195, 59, 43, 139, 69, 125, + 4, 82, 204, 238, 73, 86, 224, 245, 89, 137, 229, 241, 99, 181, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 26, 201, 13, 19, 15, 109, 199, 107, 169, 158, 8, 180, 52, 36, 81, 202, 76, 34, 44, + 156, 243, 251, 244, 147, 161, 58, 41, 55, 71, 87, 50, 157, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 42, 26, 183, 135, 41, 196, 168, 244, 72, 228, 206, 86, 142, 247, 20, 39, 232, 208, + 184, 162, 93, 74, 254, 251, 42, 40, 137, 95, 18, 253, 87, 195, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 88, 121, 98, 7, 229, 18, 96, 59, 44, 110, 38, 99, 222, 67, 77, 222, 211, 147, 69, + 103, 168, 78, 43, 67, 173, 6, 13, 185, 141, 6, 91, 140, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 244, 178, 221, 151, 50, 28, 3, 197, 54, 20, 164, 80, 70, 171, 246, 239, 203, 64, + 186, 27, 32, 196, 65, 16, 53, 119, 248, 25, 150, 242, 27, 219, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 216, 45, 191, 143, 199, 109, 37, 86, 63, 254, 35, 73, 140, 37, 40, 62, 14, 201, 8, + 198, 191, 178, 240, 38, 250, 19, 150, 172, 80, 98, 197, 14, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 174, 34, 246, 155, 47, 123, 179, 132, 34, 171, 248, 226, 221, 194, 203, 79, 231, + 30, 157, 128, 214, 57, 200, 157, 109, 102, 51, 139, 131, 248, 167, 243, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 25, 18, 211, 172, 184, 153, 170, 9, 32, 110, 208, 120, 71, 112, 182, 249, 129, 51, + 20, 110, 55, 5, 139, 92, 174, 58, 114, 17, 154, 89, 175, 206, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 167, 167, 67, 96, 56, 189, 34, 92, 179, 82, 79, 66, 120, 224, 143, 254, 225, 208, + 178, 61, 253, 192, 112, 9, 141, 33, 181, 11, 160, 118, 210, 36, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 2, 111, 97, 120, 8, 29, 71, 80, 105, 24, 213, 130, 115, 153, 204, 125, 237, 81, 75, + 44, 60, 47, 243, 212, 99, 85, 101, 215, 124, 153, 105, 36, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 97, 14, 111, 251, 221, 185, 177, 182, 174, 116, 191, 189, 70, 27, 171, 47, 60, 246, + 239, 21, 169, 1, 92, 101, 175, 4, 233, 121, 254, 19, 119, 163, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 96, 96, 132, 162, 240, 77, 146, 166, 245, 85, 160, 144, 206, 28, 71, 82, 50, 51, + 177, 9, 127, 251, 63, 231, 172, 96, 72, 44, 4, 204, 102, 231, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 173, 45, 90, 214, 204, 29, 199, 238, 89, 61, 211, 122, 244, 26, 147, 115, 111, 229, + 12, 254, 130, 144, 122, 49, 56, 41, 147, 18, 241, 15, 42, 4, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 169, 64, 151, 145, 234, 192, 101, 144, 126, 2, 169, 175, 214, 200, 92, 52, 48, 190, + 130, 153, 253, 244, 93, 188, 5, 87, 107, 87, 186, 6, 167, 168, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 199, 65, 136, 82, 64, 232, 167, 112, 120, 60, 216, 16, 155, 191, 221, 113, 239, + 235, 32, 97, 194, 91, 242, 143, 73, 102, 223, 54, 102, 46, 190, 101, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 41, 223, 31, 105, 40, 128, 41, 85, 253, 40, 190, 38, 235, 158, 225, 142, 75, 147, + 167, 105, 225, 27, 210, 85, 207, 44, 177, 12, 119, 231, 24, 73, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 208, 34, 101, 228, 233, 89, 95, 32, 135, 47, 131, 37, 108, 158, 152, 0, 141, 203, + 241, 183, 50, 132, 59, 146, 169, 152, 52, 150, 139, 36, 162, 192, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 133, 138, 189, 146, 49, 158, 150, 10, 89, 168, 226, 116, 165, 28, 104, 71, 72, 69, + 158, 86, 248, 205, 247, 209, 243, 57, 61, 56, 17, 112, 65, 242, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 35, 108, 153, 212, 118, 189, 210, 170, 213, 197, 236, 132, 116, 141, 209, 215, 14, + 54, 169, 89, 29, 215, 98, 231, 63, 145, 252, 200, 34, 70, 115, 189, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 205, 207, 128, 139, 5, 115, 84, 76, 98, 195, 158, 83, 71, 61, 85, 243, 250, 164, + 52, 6, 191, 37, 227, 196, 166, 136, 32, 179, 8, 29, 6, 152, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 170, 98, 220, 173, 195, 27, 149, 213, 141, 69, 248, 112, 218, 9, 82, 50, 60, 218, + 96, 84, 96, 103, 31, 253, 109, 110, 46, 116, 198, 31, 198, 39, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 218, 142, 63, 221, 255, 4, 120, 218, 230, 177, 207, 173, 174, 135, 187, 162, 34, + 194, 77, 155, 190, 0, 190, 6, 10, 184, 40, 71, 70, 176, 158, 179, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 252, 37, 42, 161, 168, 44, 53, 202, 58, 207, 104, 32, 89, 87, 137, 218, 8, 36, 18, + 52, 57, 127, 65, 10, 252, 148, 197, 201, 190, 228, 46, 97, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 158, 114, 205, 103, 210, 250, 219, 124, 193, 223, 43, 216, 14, 1, 111, 103, 15, + 130, 152, 231, 3, 195, 0, 0, 20, 147, 218, 32, 254, 219, 1, 234, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 62, 165, 122, 180, 42, 247, 93, 249, 167, 83, 90, 17, 101, 198, 177, 243, 172, 223, + 144, 155, 69, 86, 78, 111, 68, 162, 38, 131, 94, 112, 42, 182, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 80, 143, 36, 159, 228, 41, 242, 253, 45, 45, 42, 108, 69, 39, 176, 73, 84, 5, 154, + 185, 170, 249, 192, 32, 77, 209, 3, 46, 96, 78, 200, 135, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 25, 98, 175, 82, 14, 245, 204, 144, 23, 216, 38, 115, 177, 75, 25, 130, 70, 210, + 21, 61, 32, 239, 130, 75, 107, 122, 219, 170, 164, 117, 145, 37, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 252, 27, 244, 148, 186, 172, 234, 109, 188, 194, 14, 190, 73, 3, 115, 37, 168, 170, + 210, 240, 113, 223, 205, 139, 123, 100, 211, 81, 78, 201, 232, 34, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 98, 241, 200, 105, 189, 22, 181, 11, 196, 12, 124, 193, 224, 31, 154, 42, 63, 170, + 84, 29, 170, 66, 185, 35, 90, 213, 224, 111, 208, 82, 181, 71, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 138, 248, 229, 47, 28, 38, 130, 3, 69, 57, 23, 165, 11, 219, 102, 85, 79, 145, 38, + 232, 84, 144, 48, 80, 217, 95, 19, 17, 246, 131, 38, 252, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 139, 116, 195, 31, 56, 190, 96, 64, 65, 97, 28, 129, 95, 44, 4, 233, 85, 103, 255, + 163, 172, 225, 238, 98, 203, 196, 81, 69, 30, 172, 108, 159, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 61, 159, 11, 223, 92, 22, 150, 2, 57, 167, 212, 119, 182, 57, 200, 249, 73, 110, + 228, 85, 32, 25, 196, 74, 12, 181, 198, 15, 84, 225, 196, 183, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 249, 92, 141, 39, 107, 13, 194, 155, 62, 55, 241, 14, 89, 165, 82, 94, 122, 166, + 232, 57, 110, 145, 216, 66, 73, 52, 106, 11, 219, 92, 105, 130, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 84, 95, 58, 6, 77, 13, 188, 215, 83, 145, 220, 123, 105, 245, 32, 69, 208, 219, + 102, 192, 251, 188, 50, 29, 3, 78, 38, 142, 186, 163, 126, 127, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 122, 109, 79, 149, 37, 167, 169, 149, 217, 109, 201, 134, 131, 114, 132, 125, 188, + 146, 37, 215, 79, 68, 133, 75, 211, 138, 3, 142, 207, 210, 148, 55, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 23, 151, 180, 66, 189, 58, 108, 10, 188, 51, 55, 61, 54, 232, 5, 3, 186, 255, 41, + 3, 223, 242, 186, 215, 114, 15, 84, 86, 28, 58, 94, 111, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 156, 76, 113, 72, 148, 229, 3, 19, 119, 249, 21, 149, 152, 63, 158, 71, 108, 18, + 163, 233, 137, 229, 96, 70, 165, 196, 185, 234, 122, 105, 91, 9, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 233, 27, 39, 102, 133, 193, 174, 72, 117, 95, 209, 164, 147, 171, 104, 64, 223, 20, + 145, 75, 88, 30, 94, 203, 212, 157, 185, 71, 67, 87, 223, 180, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 35, 193, 82, 175, 202, 228, 140, 109, 136, 103, 1, 163, 142, 66, 138, 127, 241, + 235, 77, 128, 65, 92, 115, 151, 100, 202, 19, 47, 63, 191, 213, 21, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 104, 188, 109, 58, 225, 21, 132, 104, 182, 58, 186, 229, 226, 24, 42, 68, 141, 201, + 178, 60, 123, 149, 24, 198, 191, 242, 89, 26, 89, 237, 75, 150, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 173, 21, 51, 36, 220, 60, 204, 112, 236, 231, 58, 159, 168, 197, 104, 197, 75, 231, + 72, 233, 75, 95, 41, 153, 149, 38, 88, 88, 56, 185, 42, 73, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 51, 10, 203, 197, 80, 179, 125, 128, 250, 117, 40, 91, 211, 172, 195, 170, 90, 158, + 199, 178, 160, 197, 153, 74, 242, 24, 246, 227, 224, 97, 11, 62, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 21, 192, 108, 247, 81, 235, 58, 157, 221, 96, 246, 75, 25, 167, 222, 236, 32, 201, + 32, 109, 1, 50, 92, 202, 158, 248, 217, 9, 143, 196, 239, 73, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 50, 75, 138, 217, 231, 35, 163, 109, 15, 37, 228, 192, 84, 35, 86, 15, 71, 192, + 241, 94, 74, 183, 242, 255, 146, 254, 230, 208, 131, 6, 82, 46, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 33, 9, 119, 233, 64, 34, 203, 159, 60, 67, 159, 113, 13, 98, 37, 237, 33, 128, 77, + 129, 61, 59, 136, 88, 131, 16, 173, 118, 50, 30, 181, 101, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 141, 128, 188, 44, 77, 160, 15, 26, 81, 211, 188, 185, 25, 201, 48, 90, 228, 250, + 46, 10, 110, 197, 108, 166, 255, 123, 126, 238, 158, 187, 218, 38, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 253, 74, 74, 93, 161, 36, 110, 203, 229, 224, 52, 111, 213, 41, 23, 40, 213, 97, + 92, 135, 172, 93, 210, 96, 9, 79, 171, 66, 120, 250, 189, 104, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 13, 105, 65, 238, 209, 88, 142, 201, 134, 150, 105, 82, 12, 40, 26, 79, 105, 255, + 85, 90, 34, 124, 169, 200, 211, 133, 83, 144, 233, 112, 36, 87, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 6, 68, 197, 166, 68, 80, 239, 177, 216, 82, 216, 131, 62, 141, 154, 109, 84, 54, + 104, 93, 237, 81, 72, 248, 207, 166, 36, 55, 215, 87, 7, 251, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 176, 18, 113, 249, 254, 173, 7, 62, 206, 107, 210, 233, 105, 157, 69, 148, 182, 89, + 116, 166, 143, 2, 40, 15, 227, 43, 215, 145, 239, 20, 205, 195, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 251, 161, 106, 252, 68, 230, 46, 182, 82, 69, 164, 27, 245, 226, 171, 174, 17, 149, + 242, 39, 111, 100, 148, 102, 187, 156, 183, 40, 110, 154, 119, 122, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 168, 251, 137, 41, 232, 90, 150, 237, 9, 89, 36, 35, 198, 71, 120, 169, 7, 46, 154, + 149, 138, 14, 27, 179, 130, 184, 227, 168, 26, 101, 53, 122, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 66, 124, 214, 160, 173, 42, 36, 31, 131, 135, 203, 49, 65, 253, 71, 29, 122, 89, + 53, 201, 253, 153, 245, 106, 229, 19, 138, 59, 141, 217, 77, 95, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 146, 22, 94, 247, 210, 26, 51, 73, 216, 164, 236, 138, 115, 20, 120, 140, 141, 187, + 49, 48, 224, 213, 48, 250, 214, 126, 115, 219, 153, 136, 122, 149, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 1, 244, 68, 52, 234, 203, 244, 232, 217, 144, 83, 26, 65, 113, 162, 159, 58, 63, + 211, 242, 187, 149, 97, 78, 26, 27, 12, 138, 134, 2, 51, 198, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 190, 173, 159, 20, 168, 130, 73, 38, 186, 117, 7, 231, 55, 197, 241, 220, 132, 23, + 243, 235, 160, 38, 224, 53, 113, 119, 151, 5, 248, 249, 88, 14, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 42, 99, 108, 198, 253, 13, 81, 134, 19, 70, 248, 255, 38, 166, 166, 70, 23, 158, + 236, 157, 173, 232, 167, 167, 123, 212, 98, 78, 150, 63, 96, 15, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 28, 180, 196, 213, 225, 145, 122, 222, 206, 17, 81, 27, 175, 182, 188, 234, 16, 2, + 60, 162, 149, 146, 199, 68, 147, 193, 226, 147, 68, 208, 66, 89, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 16, 90, 44, 130, 115, 24, 54, 16, 99, 77, 216, 151, 97, 125, 129, 96, 14, 51, 188, + 166, 129, 57, 125, 70, 155, 138, 184, 253, 98, 4, 109, 134, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 83, 63, 83, 174, 207, 63, 152, 188, 165, 169, 66, 102, 239, 119, 24, 142, 140, 211, + 178, 41, 50, 146, 91, 197, 235, 84, 127, 223, 72, 139, 243, 162, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 115, 145, 219, 25, 4, 123, 175, 18, 244, 237, 243, 185, 156, 40, 56, 36, 248, 205, + 90, 73, 230, 250, 89, 120, 139, 160, 109, 19, 76, 84, 2, 146, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 172, 78, 34, 98, 102, 174, 216, 28, 73, 191, 81, 200, 69, 112, 249, 171, 104, 242, + 134, 240, 76, 74, 206, 36, 178, 1, 242, 213, 176, 85, 59, 163, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 171, 200, 235, 3, 243, 190, 0, 134, 219, 15, 65, 201, 58, 120, 242, 248, 47, 235, + 242, 222, 97, 58, 80, 1, 60, 153, 53, 155, 14, 96, 68, 247, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 252, 175, 27, 146, 138, 201, 244, 91, 67, 7, 157, 81, 142, 88, 124, 163, 37, 165, + 46, 164, 238, 149, 202, 159, 179, 15, 172, 50, 121, 91, 60, 161, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 252, 250, 68, 12, 125, 157, 2, 101, 202, 60, 85, 137, 229, 84, 74, 37, 236, 11, + 207, 123, 81, 193, 56, 139, 133, 228, 107, 196, 212, 221, 83, 131, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 83, 40, 121, 72, 195, 22, 135, 225, 156, 157, 137, 182, 71, 41, 88, 67, 229, 121, + 238, 39, 201, 205, 248, 106, 209, 140, 142, 123, 73, 239, 146, 35, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 121, 253, 107, 38, 207, 173, 95, 52, 207, 140, 58, 116, 61, 201, 75, 164, 55, 70, + 76, 123, 24, 168, 18, 81, 34, 196, 6, 218, 171, 14, 167, 225, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 72, 234, 5, 246, 152, 155, 78, 122, 204, 191, 192, 71, 93, 202, 208, 231, 154, 24, + 231, 91, 201, 110, 53, 168, 126, 65, 86, 158, 3, 171, 12, 89, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 91, 51, 221, 110, 203, 142, 222, 204, 29, 185, 25, 146, 36, 176, 157, 5, 122, 152, + 63, 217, 250, 208, 97, 184, 179, 114, 208, 166, 206, 243, 139, 199, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 145, 210, 153, 65, 206, 119, 141, 78, 4, 255, 75, 31, 126, 218, 169, 135, 172, 126, + 145, 15, 232, 211, 199, 182, 39, 106, 151, 81, 53, 167, 27, 253, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 40, 250, 235, 72, 205, 80, 136, 144, 70, 236, 108, 56, 57, 182, 38, 72, 247, 228, + 31, 11, 244, 158, 217, 41, 180, 233, 83, 229, 69, 247, 53, 226, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 214, 206, 104, 130, 113, 242, 254, 151, 189, 79, 112, 123, 237, 68, 1, 58, 163, + 160, 33, 89, 177, 119, 204, 176, 57, 166, 249, 0, 117, 55, 28, 107, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 12, 108, 64, 80, 228, 111, 239, 89, 218, 162, 50, 206, 112, 119, 65, 70, 230, 59, + 80, 30, 232, 200, 131, 222, 104, 115, 60, 185, 30, 20, 62, 56, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 17, 22, 211, 154, 54, 217, 35, 188, 223, 21, 154, 124, 83, 74, 190, 127, 18, 90, + 188, 181, 17, 34, 108, 108, 168, 29, 251, 76, 122, 224, 76, 204, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 154, 114, 163, 240, 106, 85, 126, 166, 249, 149, 79, 249, 142, 15, 249, 102, 79, + 157, 195, 222, 150, 38, 81, 114, 13, 42, 246, 252, 83, 155, 19, 189, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 220, 56, 97, 78, 98, 214, 3, 78, 7, 245, 243, 88, 245, 21, 67, 84, 229, 108, 66, + 220, 130, 218, 24, 152, 236, 226, 231, 64, 244, 11, 82, 251, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 24, 85, 196, 4, 83, 15, 85, 140, 197, 152, 128, 89, 106, 249, 99, 43, 31, 116, 93, + 202, 80, 64, 153, 234, 242, 185, 246, 215, 74, 200, 115, 17, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 228, 50, 145, 207, 218, 140, 7, 101, 96, 52, 152, 122, 170, 208, 17, 117, 192, 3, + 222, 11, 217, 87, 27, 171, 178, 80, 127, 134, 21, 201, 127, 198, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 194, 7, 152, 11, 166, 150, 142, 163, 159, 194, 219, 233, 33, 217, 112, 240, 175, + 242, 218, 231, 145, 155, 65, 23, 13, 20, 79, 210, 136, 116, 210, 62, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 31, 57, 37, 229, 83, 183, 181, 6, 92, 36, 125, 193, 234, 86, 192, 24, 16, 96, 161, + 203, 12, 147, 46, 126, 110, 242, 218, 233, 31, 38, 203, 154, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 32, 223, 222, 219, 211, 30, 216, 108, 236, 149, 124, 6, 157, 194, 151, 178, 33, 42, + 117, 252, 144, 130, 5, 35, 168, 150, 91, 194, 220, 246, 214, 39, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 207, 176, 131, 181, 60, 255, 167, 230, 19, 91, 219, 254, 25, 157, 71, 120, 63, + 31, 142, 118, 245, 76, 80, 193, 111, 15, 185, 79, 126, 135, 4, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 76, 177, 171, 215, 91, 173, 141, 48, 236, 186, 220, 47, 175, 61, 132, 111, 245, 22, + 231, 101, 115, 16, 152, 84, 24, 4, 65, 148, 36, 194, 49, 169, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 45, 182, 101, 20, 80, 234, 17, 241, 252, 102, 8, 146, 183, 41, 155, 198, 131, 171, + 197, 227, 21, 218, 118, 45, 181, 52, 116, 49, 129, 181, 224, 132, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 95, 215, 183, 23, 157, 125, 36, 253, 251, 52, 249, 130, 88, 24, 31, 195, 239, 108, + 137, 161, 132, 219, 231, 121, 224, 17, 102, 181, 208, 177, 146, 45, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 46, 124, 235, 173, 54, 148, 57, 202, 128, 75, 10, 185, 62, 60, 208, 159, 247, 30, + 171, 150, 74, 206, 151, 188, 60, 86, 50, 182, 234, 52, 216, 20, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_513_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xcf114fb32b16706fc55188ad17f4dcced660baf4f31353048a5f51317134dc2b"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_3_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_513_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_31_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_513_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_2_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_513_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_8_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_513_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_16_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_513_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_513_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_1_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_513_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_31_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_513_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_31_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_513_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_zero_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_5_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_513_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_zero_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_bool_512_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_5_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_5_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x8a70016e9e63b5927d8575c08b19132107772e149f3d1ba4e1b4306dce9b7aa5"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_31_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_5_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_2_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_5_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_16_zero_one_less() { +fn test_basic_vector_vec_uint_256_5_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_31_max_one_more() { +fn test_basic_vector_vec_uint_256_5_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_16_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_5_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_513_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_5_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 179, 22, 196, 129, 77, 158, 184, 168, 7, 100, 123, 93, 196, 11, 104, 117, 250, 160, + 128, 244, 88, 117, 73, 178, 87, 111, 186, 153, 1, 54, 206, 160, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 153, 100, 207, 157, 51, 141, 54, 134, 26, 34, 226, 19, 133, 32, 118, 48, 113, 230, + 32, 79, 111, 236, 253, 237, 225, 220, 67, 124, 134, 148, 211, 239, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 108, 160, 164, 78, 114, 212, 79, 190, 253, 129, 70, 169, 115, 42, 5, 49, 75, 4, + 111, 19, 46, 85, 119, 82, 177, 187, 196, 49, 87, 80, 31, 189, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 131, 209, 237, 58, 84, 125, 195, 202, 209, 12, 173, 34, 238, 25, 1, 95, 203, 67, 9, + 235, 139, 149, 129, 43, 230, 200, 50, 241, 181, 61, 97, 136, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 60, 169, 38, 245, 186, 228, 193, 208, 131, 226, 128, 133, 125, 253, 167, 1, 52, 50, + 64, 86, 59, 104, 210, 200, 254, 145, 245, 192, 67, 234, 155, 68, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_5_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x2080573f384b29b3453b8cc44a967325a2e9ad22cb1b3f1d81554bb11479c2bc"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_513_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_5_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_512_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_5_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_513_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_5_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_5_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_5_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_bool_8_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_5_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_5_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint16_5_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_max_one_byte_less/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_0() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_0/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_5_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_512_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_5_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_513_nil() { +fn test_basic_vector_vec_uint_256_5_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_8_zero_one_less() { +fn test_basic_vector_vec_uint_256_5_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint256_1_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_nil/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_8_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_8_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xbe1b7015ed50d7490a51f1b11dff804a4440775cc808b9cfd26157805c1f8e86"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_513_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_8_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_513_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_zero_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_8_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_4_zero_one_less() { +fn test_basic_vector_vec_uint_256_8_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint32_8_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_max_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_513_max_one_more() { +fn test_basic_vector_vec_uint_256_8_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_5_zero_one_more() { +fn test_basic_vector_vec_uint_256_8_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_5_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_max_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_8_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 101, 98, 195, 77, 141, 84, 10, 65, 199, 185, 225, 176, 137, 102, 31, 27, 37, 157, + 156, 98, 26, 68, 252, 14, 97, 110, 55, 40, 121, 83, 119, 1, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 138, 126, 202, 137, 117, 108, 110, 221, 173, 146, 90, 230, 231, 224, 22, 70, 176, + 98, 96, 245, 203, 194, 31, 217, 233, 125, 156, 173, 130, 96, 202, 74, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 139, 177, 198, 146, 199, 238, 1, 209, 191, 221, 130, 37, 236, 151, 48, 0, 103, 182, + 122, 222, 32, 165, 195, 62, 178, 246, 19, 227, 251, 26, 118, 71, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 63, 97, 75, 84, 66, 135, 139, 237, 71, 224, 89, 89, 75, 165, 199, 123, 142, 237, + 93, 8, 218, 212, 69, 238, 0, 224, 135, 96, 8, 4, 55, 190, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 49, 143, 213, 215, 113, 232, 176, 194, 249, 16, 51, 22, 132, 119, 215, 210, 51, + 239, 35, 18, 66, 58, 146, 234, 61, 216, 225, 69, 144, 186, 171, 167, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 28, 20, 176, 41, 80, 99, 16, 78, 81, 183, 229, 96, 50, 12, 41, 53, 131, 219, 0, + 219, 69, 244, 158, 175, 44, 97, 242, 63, 213, 166, 171, 242, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 117, 137, 168, 131, 57, 1, 140, 208, 200, 217, 107, 182, 8, 204, 75, 14, 126, 208, + 227, 137, 3, 32, 251, 119, 113, 175, 110, 25, 75, 169, 19, 164, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 234, 119, 134, 236, 104, 109, 33, 103, 74, 136, 45, 220, 180, 224, 14, 205, 31, + 146, 106, 119, 32, 149, 135, 252, 0, 16, 26, 162, 248, 214, 34, 12, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_8_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf37250ebb8bfc70f992eb9c95107ea4def905c0062cda51a2688641a19645505"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_512_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_8_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_1_random_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_random_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_8_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_513_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_8_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_31_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_8_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_8_random_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_random_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_256_8_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(), + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint256_8_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_2_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_256_8_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_31_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_8_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_5_random_one_more() { +fn test_basic_vector_vec_uint_256_8_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_random_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_8_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_256_8_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_zero_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_3_max_one_byte_less() { +fn test_basic_vector_vec_uint_32_0() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_max_one_byte_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_0/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_5_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_16_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_16_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x8667e718294e9e0df1d30600ba3eeb201f764aad2dad72748643e4a285e1d1f7"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_4_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_16_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_512_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_16_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_1_max_one_byte_more() { +fn test_basic_vector_vec_uint_32_16_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_max_one_byte_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_8_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_16_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_3_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_16_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_512_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_max_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} +fn test_basic_vector_vec_uint_32_16_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 1381494992, 3456058494, 3316673465, 2895863808, 3039979229, 2658482247, 324065072, + 1118337861, 3690875953, 98201721, 1227056475, 2365715743, 1634445540, 616917765, + 1742195761, 2632010539, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_16_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_basic_vector_vec_uint16_5_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_zero_one_byte_more/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x83aab501333050d1fbd420a889c52af0f2c274a1e4529a5c287b805ed477ccf6"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_3_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_16_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_2_random_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_random_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_16_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_512_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_16_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_8_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_16_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_512_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_nil/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_32_16_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_16_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_5_random_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_random_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_16_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_512_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_16_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_5_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_16_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_zero_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_512_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_16_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_zero_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_2_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_32_1_max() { + let mut value = Vector::::try_from(Vec::::from_iter([4294967295])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_1_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffff00000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_512_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_1_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_16_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_1_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_3_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_1_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_16_max_one_less() { +fn test_basic_vector_vec_uint_32_1_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_513_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_1_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_1_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_zero_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_32_1_random() { + let mut value = Vector::::try_from(Vec::::from_iter([1797257601])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_1_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x81f91f6b00000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_31_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_1_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_16_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_1_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_5_max_one_more() { +fn test_basic_vector_vec_uint_32_1_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_512_zero_one_less() { +fn test_basic_vector_vec_uint_32_1_random_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_random_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_2_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_1_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_1_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_5_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_1_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_513_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_1_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_31_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_1_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_zero_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_5_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_1_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_zero_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_8_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_2_max() { + let mut value = + Vector::::try_from(Vec::::from_iter([4294967295, 4294967295])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_2_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffff000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_1_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_2_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_16_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_2_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_4_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_2_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_3_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_2_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_2_random_one_less() { +fn test_basic_vector_vec_uint_32_2_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_random_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_5_random_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_random_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_32_2_random() { + let mut value = + Vector::::try_from(Vec::::from_iter([2286406229, 3289673013])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_2_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x55ca4788356d14c4000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_4_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_2_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_3_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_2_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_8_max_one_less() { +fn test_basic_vector_vec_uint_32_2_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_8_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_2_random_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_random_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_32_2_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_2_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_513_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_2_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_4_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_2_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_8_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_2_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_zero_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_2_random_one_more() { +fn test_basic_vector_vec_uint_32_2_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_random_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_16_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_31_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_31_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xe7492e2fb875c43b137514ed057ddfc23ddd1220431403c9a3395e2bbaf51407"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_512_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_31_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_513_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_31_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_5_max_one_byte_more() { +fn test_basic_vector_vec_uint_32_31_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_max_one_byte_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint32_513_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_max_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_513_max_one_more() { +fn test_basic_vector_vec_uint_32_31_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_5_max_one_less() { +fn test_basic_vector_vec_uint_32_31_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_512_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_31_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 508235682, 2308341395, 1525766118, 4136650562, 3621852454, 1567937308, 3269584467, + 1320546218, 2077416840, 739946730, 1282600407, 3203298029, 942979653, 497143087, 933745505, + 3794525861, 2714083317, 1289423485, 3524519556, 3497991789, 3711737680, 3061871525, + 2306867877, 4238440987, 945702953, 3720141995, 3191674143, 2674649049, 543916394, + 2875606851, 3068061043, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_31_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xefa45b70c8a45a482800655c239ed2e8d91d1325666fd1755da23b6fea1405ee"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_512_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_31_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_16_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_31_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_4_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_31_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_31_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_31_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_16_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_31_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_31_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_16_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_31_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_5_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_31_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_16_nil() { +fn test_basic_vector_vec_uint_32_31_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_2_max_one_less() { +fn test_basic_vector_vec_uint_32_31_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_3_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_32_3_max() { + let mut value = + Vector::::try_from(Vec::::from_iter([4294967295, 4294967295, 4294967295])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_3_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffffffffffff0000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_31_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_3_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_2_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_3_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_31_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_3_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_5_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_3_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_3_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_3_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_513_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_zero_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_32_3_random() { + let mut value = + Vector::::try_from(Vec::::from_iter([414721764, 1396444802, 4099449558])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_3_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xe426b818820e3c53d6a258f40000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_512_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_3_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_513_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_3_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_3_zero_one_less() { +fn test_basic_vector_vec_uint_32_3_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_2_zero_one_more() { +fn test_basic_vector_vec_uint_32_3_random_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_random_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_1_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_random_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} +fn test_basic_vector_vec_uint_32_3_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_3_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_basic_vector_vec_uint64_3_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_zero_one_byte_more/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_8_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_3_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_8_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_3_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_31_max_one_more() { +fn test_basic_vector_vec_uint_32_3_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_bool_31_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_zero_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_1_zero_one_more() { +fn test_basic_vector_vec_uint_32_3_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_513_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_4_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 4294967295, 4294967295, 4294967295, 4294967295, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_4_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffffffffffffffffffff00000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_2_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_4_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_2_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_4_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_4_zero_one_more() { +fn test_basic_vector_vec_uint_32_4_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_5_zero_one_more() { +fn test_basic_vector_vec_uint_32_4_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_513_zero_one_less() { +fn test_basic_vector_vec_uint_32_4_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_5_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_max_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_32_4_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 2599571881, 2754953818, 2448479820, 3973051506, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_4_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint128_16_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_max_one_byte_more/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xa951f29a5a4235a44cd6f09172f4cfec00000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_8_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_4_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_5_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_4_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_513_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_zero_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_4_random_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_random_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_4_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_4_random_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_random_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_5_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_zero_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_32_4_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_4_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_512_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_4_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_1_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_4_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_4_max_one_more() { +fn test_basic_vector_vec_uint_32_4_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_4_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_4_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_zero_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_31_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_random_one_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} +fn test_basic_vector_vec_uint_32_512_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_512_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_basic_vector_vec_uint16_4_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_random_one_byte_less/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x7c09b1cdfe9a7e172dfe2ca8715becf5132c036abbfdfb500daa9c51f365074d"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_2_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_512_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_513_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_512_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_8_zero_one_less() { +fn test_basic_vector_vec_uint_32_512_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_513_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_512_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_31_random_one_more() { +fn test_basic_vector_vec_uint_32_512_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_random_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_3_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_512_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 3535294352, 2244578171, 32943704, 3015817426, 2456157102, 219351158, 2006999311, + 1996972550, 2838712831, 1656769757, 3318502982, 4213769932, 2050078503, 4292367497, + 4290313471, 1262779699, 4083724714, 1323361645, 974092343, 710698434, 2984936844, + 2709051461, 793048327, 2740605131, 4271720468, 1239230976, 737431578, 3362943983, + 918617091, 2606153556, 388763806, 2502078683, 3378874323, 2355187203, 157263768, + 1750398229, 1726973279, 1685332809, 2492836426, 1734731691, 3216588585, 19605804, + 1079902211, 752009555, 1313141487, 2557096315, 3782998189, 1055732267, 1012020811, + 3323197044, 4054145370, 4138435231, 2069952128, 306530649, 1494565330, 3753105050, + 1360186424, 2380191177, 3271137983, 2853578005, 1966300545, 2445678985, 1722906387, + 1568386585, 500870613, 1339987259, 3268820798, 3981291882, 933156616, 3775563964, + 1596013155, 741998234, 268068699, 2563970862, 1804695176, 3982648303, 2655461544, + 2734449043, 738208464, 3745411901, 99361025, 2741088555, 4201353158, 3348783183, + 2054886505, 4084856832, 3508954061, 498624123, 2117203264, 3745504180, 3062233877, + 3074639656, 2386643714, 1332975315, 3901865235, 1858598116, 2599471745, 859192293, + 1322827830, 2027021532, 2694401832, 3990078534, 2974308187, 3968735550, 4206014803, + 2971436541, 3774373948, 2846923396, 3578470527, 3654481937, 3353460878, 4075675716, + 3799520987, 4120838021, 2158786311, 403313196, 2508911367, 10900908, 3028221190, 342848224, + 3529437045, 359980750, 1781538672, 1604481683, 674127897, 37035551, 2695472569, 496109305, + 3159798786, 2419165439, 663646611, 874882601, 1646773349, 3622039566, 1046420945, + 3665303103, 678740365, 685087413, 526677619, 2275681050, 1032960777, 3429497003, + 1417114643, 3172213549, 1404837023, 1325283518, 3893270408, 602238145, 3914985577, + 3975382686, 2601748675, 2356353894, 3153873749, 526408453, 2640845379, 3926620605, + 1258444490, 986708388, 3975693528, 299605420, 104768804, 444965549, 4065545249, 490166175, + 657757140, 2768701878, 3813333597, 3455406501, 2504511478, 355414935, 4015633969, + 2880420128, 2359983044, 3197597614, 212209564, 3888226910, 3951085813, 401264663, + 3792922719, 1420661438, 2254844891, 580834507, 3364803238, 2203604914, 2615046504, + 1115697783, 392870589, 311935107, 1442208749, 1209298478, 1013593249, 2053215367, + 3412394840, 4030116388, 142371070, 1950874224, 3042396528, 3018316910, 3697727630, + 1998412466, 1565816659, 841459056, 4030754272, 1312053095, 2455378572, 1731126608, + 2845452582, 3953375723, 3822263095, 252824003, 3630660489, 1739260497, 1803576050, + 1912944999, 2601986289, 2541404050, 4215070596, 1061521796, 1754148457, 3255336258, + 3582596520, 514105160, 2980764780, 3130695110, 1253698669, 3004166864, 3824662942, + 3246231229, 460259310, 4089129029, 4114996050, 3534152197, 2122530116, 865630905, + 968035546, 2199557573, 1958771466, 773581354, 370339735, 614529460, 3234242989, 3517297738, + 830368230, 2173424325, 3013280028, 427969949, 2679037354, 908067850, 2821401428, 603844792, + 71983645, 4161931391, 3067792552, 1418037527, 4463265, 84316272, 950745375, 3964187759, + 1501489365, 2988654540, 2292636560, 3945907452, 502636829, 1574346912, 3281827256, + 2787880690, 1499982341, 847934911, 610690502, 163824992, 777259958, 2781566187, 3615351968, + 3708981020, 976054856, 100913786, 4090496589, 300612182, 2030010945, 4173694335, + 3969615050, 2415563, 991623807, 3310316394, 2251061732, 1305042197, 3465256011, 3395953082, + 2513468668, 1354005343, 1632604415, 216263825, 3076011258, 3746999400, 1117079550, + 2295596376, 883106176, 2361055599, 3258628962, 3945266859, 3860808418, 846352371, + 1399590686, 772378354, 1588875802, 3343689110, 2082989732, 3408728540, 1076495583, + 1680687149, 291855826, 726487704, 799970947, 3551790903, 2742915380, 1890091834, + 2507392407, 1727482428, 3096669669, 2909223385, 1635977177, 2089470236, 981557541, + 2342237733, 2363710558, 2696327208, 2986914419, 292191546, 1107478332, 2959391739, + 378566732, 1118392952, 973862178, 1031998503, 1820508723, 3075483448, 3249413162, + 2076796467, 545866968, 3457667772, 1385917415, 2606276828, 437737244, 2540365289, + 728331253, 2258686738, 470639768, 4189510907, 3916947153, 2585918050, 565375584, + 3686965793, 1007880761, 2413669839, 1063127889, 825859952, 3139645345, 3186620248, + 578211014, 2693981046, 3057114146, 1493741110, 458566123, 2468827650, 4140026266, + 894690154, 523145548, 3726228913, 1831559042, 2679193135, 4072981159, 3190351894, + 2550794351, 1938105959, 4245338721, 3988907142, 2457209373, 3975700772, 144892689, + 3811184202, 425355055, 1855911656, 3474887805, 203251995, 1787895772, 3172519209, + 962544690, 3629109328, 345813322, 150915150, 2893137764, 2618891532, 1625475391, + 2029336085, 1263731842, 1911894423, 3894118586, 1363971621, 960015382, 192449136, 67552855, + 1294879004, 2591718910, 1736825353, 3490063644, 2128190458, 1972629089, 2399260128, + 17379262, 161281455, 1709561484, 2933730946, 3225981600, 2543293831, 1978452738, + 3008899847, 3118751066, 1254469678, 1023053771, 3193145277, 3070133883, 2941828171, + 1001485872, 1869687394, 2769560579, 4142957345, 3319210633, 1455429722, 2614932657, + 4245078534, 994863755, 3143378383, 199381130, 661298469, 2452039343, 2031879050, + 2729949360, 2235242867, 2996710365, 2227030039, 1405749267, 3825028104, 848321069, + 1458715752, 2000071960, 3126188701, 106644335, 2050139015, 4236278138, 1131957322, + 1005264630, 3652645946, 3343357510, 3773188712, 271071174, 3557746887, 317450074, + 1545562146, 193974785, 3599222840, 879189109, 4092020238, 3841666085, 2197870115, + 182750812, 2605303221, 2012863450, 3219471627, 918483864, 53850912, 2530136267, 1612901225, + 743481088, 613878693, 2916861685, 971257519, 3236860384, 3379284124, 2519555053, 366466546, + 1686741245, 2943106452, 1199737384, 4035650276, 3529673426, 2114328522, 2416026204, + 2731819303, 2314409199, 3516208253, 1107875552, 2938755457, 3081337177, 2481720773, + 387862847, 3668943239, 2471366547, 3042011515, 1291823301, 3478236734, 4266051645, + 1225358750, 2712399533, 3151898487, 2747576291, 2815685304, 2442136584, 2977848056, + 1605903903, 2992868241, 2668529965, 1279750435, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_512_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x29520e549f20e52e3cd8ef74509a65c936a54c25207355c6c7d8b93b50c16b79"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_31_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_512_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_16_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_512_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_3_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_512_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_513_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_512_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_31_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_max_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_32_512_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_512_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xd88ddfeed400a8755596b21942c1497e114c302e6118290f91e6772976041fa1"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_2_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_512_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_1_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_512_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_513_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_513_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_512_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_zero_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_16_max_one_more() { +fn test_basic_vector_vec_uint_32_512_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_zero_one_more/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_32_513_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, 4294967295, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_513_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint256_4_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_zero_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_bool_2_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_2_max_one_byte_less/serialized.ssz_snappy", - ); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xe243d140ab8d341e3cad517d2ba8cd3b8ef7df2ff6f6962f0aeaf20e366fe7e3"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_3_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_513_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_3_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_513_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_1_zero_one_more() { +fn test_basic_vector_vec_uint_32_513_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_8_max_one_less() { +fn test_basic_vector_vec_uint_32_513_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint32_513_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_4_random_one_more() { +fn test_basic_vector_vec_uint_32_513_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_random_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_8_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_zero_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_32_513_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 1506286316, 3340455671, 2249197219, 1137228810, 3708188369, 1032790960, 2037375995, + 2165993127, 4279139643, 2878934835, 2234060784, 3341241397, 2832291162, 1862974295, + 2889755957, 716023347, 1781425995, 2766618165, 430694095, 1734393401, 3038286926, + 3255298884, 582239825, 4282855218, 4037619729, 4120262294, 3201356237, 2129479017, + 2298271168, 653701574, 4073339317, 753403713, 666458174, 601739694, 991606557, 498411397, + 913566211, 2843839713, 1248176716, 3173178403, 543145845, 1325723472, 1189806715, + 2611216111, 2540953507, 1759274002, 4096358814, 450494791, 2381579651, 665652591, + 1557892724, 4168366933, 2466073243, 3798260386, 1561520741, 3664263969, 1638137859, + 2167415852, 385021871, 1910306539, 1268079858, 438813197, 3745724194, 4085199927, + 2952778760, 2474423108, 3642524002, 1873853403, 4121767960, 480950318, 1831383191, + 66237295, 2959509997, 3246280272, 1333288321, 1206621475, 3346990117, 2638657967, + 2024365252, 840741523, 3914944712, 205708374, 1450434398, 2445220963, 3831582069, + 3465469049, 1018383524, 1117522544, 723038903, 1620185571, 1064668939, 576109385, + 2828800672, 2252340617, 2748600585, 3985166077, 2112758930, 2520322950, 1921186383, + 2034758722, 1857181222, 465190395, 3176726281, 3540283126, 1769857205, 358472846, + 518077754, 565062142, 2382811964, 1649966621, 2267265845, 3818128603, 2294250758, + 3613687380, 2592975730, 3287202364, 931524721, 3095974833, 1957121000, 2137051497, + 2686354159, 858594131, 2718934110, 971575805, 1367980273, 3276477567, 939318706, + 1423831258, 3750632431, 4103488232, 2463611651, 1774045082, 1068942028, 3900895791, + 3357521548, 1997636802, 1408745787, 1198080120, 4195633777, 3307995274, 802811736, + 29479226, 1742888435, 551237958, 1168518096, 3386124569, 3128826162, 2977548974, + 1588907015, 707192585, 2733838829, 1414430182, 2535485231, 2196633121, 2463541328, + 812262923, 484565396, 1622322609, 3101255187, 3134374185, 16503051, 285493324, 432140521, + 1355563783, 38249683, 4178611981, 1484297329, 3718934377, 4150643229, 3403499489, + 731879685, 3517169620, 2854266221, 3506230662, 1930958121, 4123949451, 900225876, + 3091874489, 2698105599, 2508004367, 2238398363, 1427390625, 2903189632, 3000028363, + 571012530, 63175638, 59853690, 1713147023, 3146249007, 3526181153, 1372883894, 1504561928, + 2457118510, 1626985271, 987978391, 143836281, 3789995858, 3252070375, 4132634261, + 3221782718, 349567165, 3416784449, 1727443970, 2430130758, 3594949372, 972991002, + 3092618197, 1901637435, 3667090212, 114128050, 804086554, 1093298018, 3933497340, + 3389536209, 1367076373, 1495662617, 3033503538, 598961572, 2925618706, 3016222921, + 3591371655, 3748132815, 2009211793, 3668211961, 4147806015, 1388741344, 1490496015, + 3683837807, 2901683192, 1810619706, 1495518881, 2776414283, 4109520767, 2840215364, + 2518978058, 3160417324, 3775105752, 489152240, 1978176050, 1198088809, 3537016245, + 3876031109, 4040591353, 2864117648, 154646669, 1034221632, 3322212787, 3952301773, + 3710723473, 2891835090, 419231810, 2089280376, 1985119198, 1402546590, 2728523506, + 418516640, 4173335852, 1997416910, 1711781512, 3229441913, 458702555, 3437685422, + 2012224269, 8576837, 1289578171, 46388586, 953564783, 4227283809, 1039808904, 73072792, + 1074493689, 1364122679, 2145323461, 930933353, 2409668532, 1634491673, 707031241, + 3155394720, 1303817262, 3555872033, 3128202286, 568159496, 552258584, 3973549089, + 1060464717, 3140249670, 2430674601, 3363698437, 1577485436, 2983698493, 1858777960, + 3960906150, 519861347, 1767214457, 3384748076, 4009704865, 3607502512, 2288460027, + 949763013, 4048574249, 135230061, 800488137, 4033357964, 2227166319, 3424631590, + 3425238545, 1702015330, 3447556229, 2170689549, 497644257, 4185223235, 2839954560, + 1342812737, 1486113821, 231486973, 2681013696, 1838238458, 1071749240, 889525611, + 2099459701, 2183271852, 3621795461, 651464427, 1165461003, 2584995600, 4236741445, + 3566914702, 617066705, 306945100, 221558467, 205877939, 498620318, 1220636744, 2084900749, + 3341960165, 2017827827, 3139327527, 2593883084, 552652114, 2177915392, 3598924413, + 4005395602, 3396456091, 2549752221, 827357923, 2383403384, 1355306673, 2066102692, + 2454374990, 2185051248, 330410530, 944069661, 1799157665, 1378364549, 1167099369, + 1240179795, 1716793447, 1845918660, 1653459010, 737301750, 171556112, 1142613921, + 4002411749, 2710100149, 3293072449, 3355947151, 3318954054, 3909933896, 2318026715, + 3098628905, 82164764, 2112510872, 1622160195, 3601322957, 1309662235, 116350522, + 2944765264, 1798670043, 1355087853, 2114961922, 1475273625, 3747013596, 1153638626, + 947205157, 2674464284, 1524507392, 4285752117, 2201619328, 2352035814, 3287902853, + 651378914, 3181046705, 2660894372, 3541173450, 1581635980, 885116129, 165540048, + 1738547452, 2375458597, 216095626, 1686223374, 3466801601, 3536178351, 142933408, + 3134380789, 2700580797, 3580743180, 182034499, 2993168171, 3520956124, 3187702160, + 2099180929, 4277314162, 43671642, 1972002241, 2530400265, 2989038791, 4033451152, + 3166020882, 2830883087, 1848825694, 408689932, 3384769654, 781083988, 636248491, + 1967482400, 1172573031, 1439895523, 2488044060, 4065107509, 3715028207, 2812954358, + 4108359554, 3591793532, 1068128478, 1605736168, 2062217997, 2722331125, 2614301416, + 2516767397, 907111898, 1792625177, 3141205496, 4178269297, 3115197996, 2338391639, + 2451731357, 2634998417, 3648889870, 3373935617, 1145153742, 734057970, 937333535, + 3268493535, 2027372762, 1877116097, 1019941937, 1013534127, 2588864974, 4206609071, + 3484011851, 386496563, 2259806811, 2081546382, 1177459515, 1173797248, 2823727885, + 3065122614, 1446822518, 4081343003, 3981935143, 2258722366, 3182066297, 1990687767, + 2347506465, 1072240320, 2050296960, 1956416018, 2005655829, 100462876, 51128402, 732387540, + 123604188, 431055316, 1312308164, 1317552596, 735778923, 938916610, 459366303, 4104152733, + 2726288486, 2401227334, 2713354785, 2556762219, 1826807441, 1522326161, 3897258428, + 3478082366, 451761890, 1225089752, 1262376617, 3824933588, 2227252992, 4015579077, + 320045527, 579310834, 1762256425, 3585893227, 2476950437, 1559797180, 1197444470, + 3233215794, 682626811, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_513_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint128_16_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_random_one_more/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x73d6601e80c118fe2d467dcc72a40e9a121608b87b5d1333a6a95fcbc93af038"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_8_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_513_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_513_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_513_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_16_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_513_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_5_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_513_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_3_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_max_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_32_513_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_513_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint8_5_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_zero_one_byte_more/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x87eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_0() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_0/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_513_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_8_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_513_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_3_random_one_less() { +fn test_basic_vector_vec_uint_32_513_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_random_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_512_max_one_more() { +fn test_basic_vector_vec_uint_32_513_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_16_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_zero_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} +fn test_basic_vector_vec_uint_32_5_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_5_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_basic_vector_vec_uint16_1_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_random_one_byte_less/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_4_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_5_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_4_random_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_random_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_5_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_16_nil() { +fn test_basic_vector_vec_uint_32_5_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_8_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_5_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_1_zero_one_more() { +fn test_basic_vector_vec_uint_32_5_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_3_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_5_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 1051503312, 1875702585, 3338068896, 1062162289, 44280150, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_5_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xd0aaac3e39f3cc6fa0e3f6c6714f4f3f56a9a302000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_31_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_32_5_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_4_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_5_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_512_zero_one_less() { +fn test_basic_vector_vec_uint_32_5_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_16_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_5_random_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_random_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_31_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_zero_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_32_5_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_5_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_8_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_5_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_4_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_5_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_2_zero_one_less() { +fn test_basic_vector_vec_uint_32_5_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_2_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_5_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_zero_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_3_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_zero_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_32_8_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, + 4294967295, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_8_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_31_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_8_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_16_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_8_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_5_random_one_more() { +fn test_basic_vector_vec_uint_32_8_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_random_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_2_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_8_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_0() { +fn test_basic_vector_vec_uint_32_8_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_0/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_32_8_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 2255247108, 883929842, 2722841916, 3289001244, 3428769191, 4039771928, 1073577161, + 1629830620, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_8_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x04576c86f2b2af343c454ba21c2d0ac4a7dd5ecc1807caf0c97cfd3fdc3d2561"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_4_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_8_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_512_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_8_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_512_zero_one_more() { +fn test_basic_vector_vec_uint_32_8_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_4_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_8_random_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_random_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_31_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_8_zero() { + let mut value = + Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0, 0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint32_8_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_2_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_8_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_2_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_8_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_1_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_8_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_zero_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_1_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_32_8_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_zero_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_1_random_one_less() { +fn test_basic_vector_vec_uint_64_0() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_random_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_0/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_64_16_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_16_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x375d6c7b280a1e30f968db1d948da0f977bf9139b0d5516761ac874700208aba"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_1_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_16_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_2_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_16_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_5_max_one_more() { +fn test_basic_vector_vec_uint_64_16_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_8_random_one_more() { +fn test_basic_vector_vec_uint_64_16_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_random_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_16_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_16_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_512_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_max_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_64_16_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 14973315493487554254, + 14609512114016110986, + 10032323568597029119, + 15153216164748753291, + 10355457468023345721, + 2367705310487571285, + 16938628278728286031, + 549797285436435601, + 13256773041589582886, + 5207050997383557932, + 8672288948259042494, + 17841422853058231140, + 14461294523448768516, + 15336235419586149355, + 16699880407387000672, + 10919772420411846664, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_16_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x18efd70dfb660ebe73c72c6f8d0258f97495b3bf86a98741e3c9bfb2aeab5d28"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_31_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_16_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_5_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_16_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_5_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_16_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_3_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_16_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_31_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_nil/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_64_16_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_16_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_2_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_16_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_2_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_16_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_1_random_one_more() { +fn test_basic_vector_vec_uint_64_16_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_random_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_1_max_one_more() { +fn test_basic_vector_vec_uint_64_16_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_31_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_1_max() { + let mut value = + Vector::::try_from(Vec::::from_iter([18446744073709551615])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_1_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffff000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_8_random_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_random_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_1_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_513_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_1_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_16_zero_one_more() { +fn test_basic_vector_vec_uint_64_1_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_31_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_1_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_8_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_1_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_bool_513_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_max_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} +fn test_basic_vector_vec_uint_64_1_random() { + let mut value = + Vector::::try_from(Vec::::from_iter([8914067055681793591])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_1_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_basic_vector_vec_uint256_5_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_zero_one_byte_more/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x37eeec25c220b57b000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_512_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_1_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_1_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_1_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_random_one_byte_more/serialized.ssz_snappy"); deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_16_max_one_more() { +fn test_basic_vector_vec_uint_64_1_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_1_max_one_more() { +fn test_basic_vector_vec_uint_64_1_random_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_random_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_3_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_random_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} +fn test_basic_vector_vec_uint_64_1_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_1_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_basic_vector_vec_uint32_5_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_max_one_byte_more/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_8_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_1_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_513_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_1_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_3_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_1_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_zero_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_512_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_1_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_zero_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_8_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_max_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} +fn test_basic_vector_vec_uint_64_2_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 18446744073709551615, + 18446744073709551615, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_2_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_basic_vector_vec_uint64_2_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_random_one_byte_less/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffffffffffffffffffff00000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_4_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_2_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_8_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_2_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_4_zero_one_more() { +fn test_basic_vector_vec_uint_64_2_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_1_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_2_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_1_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_2_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint256_8_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_2_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 16527226978582771838, + 7558561043290308816, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_2_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x7eb8ad3c5f815ce5d0c06cce3867e56800000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_16_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_2_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_5_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_2_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_31_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_2_random_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_random_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_16_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_2_random_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_random_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_16_random_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_random_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_64_2_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_2_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_3_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_2_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_1_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_2_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_1_zero_one_more() { +fn test_basic_vector_vec_uint_64_2_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_16_max_one_more() { +fn test_basic_vector_vec_uint_64_2_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_31_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_31_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_31_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x6323465d736a7126b4e2a25da8d76670d49d6bb0cdf9ffc77d0b007a9e86d77c"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_1_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_31_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_16_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_31_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_4_zero_one_more() { +fn test_basic_vector_vec_uint_64_31_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_4_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_31_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_31_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_31_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_3_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_zero_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_64_31_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 3052724393868548387, + 3810693530679841654, + 12585541796688525245, + 7797619408698423071, + 17300603542735752207, + 1500042191375799293, + 15730311807639243063, + 4896003536604206404, + 11052623568709729964, + 7620613587987365317, + 14725846845076244548, + 8277023605973026738, + 17826368043195852359, + 3128829880034264486, + 3473891868744927914, + 18343612133879937169, + 11117133942831612242, + 15989397465635862691, + 7217156999682606300, + 11356562156743016218, + 8285094276436873719, + 1589676644942788053, + 4169250114160504621, + 558291410544594398, + 15615879608970573885, + 9651926789184060127, + 7687155892063378437, + 17756836253102770925, + 5291345685353917916, + 15829036281687984180, + 4874883508035225879, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_31_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x692da28053f3e2d585e5359989519e2af9044140b7f50d0db8e36b89e5ddd6f3"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_1_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_31_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_513_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_31_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_512_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_31_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_5_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_31_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_5_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_zero_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_64_31_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_31_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_31_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_31_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_64_31_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_zero_one_byte_more/serialized.ssz_snappy"); + + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_3_random_one_less() { +fn test_basic_vector_vec_uint_64_31_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_random_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_4_zero_one_more() { +fn test_basic_vector_vec_uint_64_31_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_512_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_3_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_3_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_512_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_zero_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_3_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_5_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_3_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_8_zero_one_less() { +fn test_basic_vector_vec_uint_64_3_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_16_max_one_more() { +fn test_basic_vector_vec_uint_64_3_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_8_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_3_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_512_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_3_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 6167802979638570618, + 1670982671822494120, + 2649190588485934153, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_3_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x7aeef3ad21709855a819d003e3853017491c03e1cdd0c3240000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_4_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_3_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_0() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_0/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_3_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_31_nil() { +fn test_basic_vector_vec_uint_64_3_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint128_2_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_zero_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_4_max_one_less() { +fn test_basic_vector_vec_uint_64_3_random_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_random_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_1_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_3_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_3_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_3_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_3_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_3_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_3_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_513_max_one_less() { +fn test_basic_vector_vec_uint_64_3_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_16_nil() { +fn test_basic_vector_vec_uint_64_3_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_3_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_max_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_64_4_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_4_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_16_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_4_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_8_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_4_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_4_max_one_more() { +fn test_basic_vector_vec_uint_64_4_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_3_zero_one_more() { +fn test_basic_vector_vec_uint_64_4_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_16_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_4_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_5_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_4_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 7900660817174063737, + 6533979385570669156, + 4271747397033668748, + 3517156834185333722, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_4_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x79ea815a27c9a46d6432aaf6a15bad5a8c3064fa9f4b483bda4bf4888173cf30"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_4_random_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_random_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_4_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_3_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_4_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_4_zero_one_less() { +fn test_basic_vector_vec_uint_64_4_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_513_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_4_random_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_random_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_2_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_4_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_4_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_31_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_4_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_2_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_4_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_3_zero_one_more() { +fn test_basic_vector_vec_uint_64_4_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_1_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_4_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_zero_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_31_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_64_512_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_512_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x8f711e9197bcd96314b8d20425eac7dce4aee7c9a0579e901d636d3256db3672"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_31_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_31_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_512_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_3_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_512_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_1_max_one_less() { +fn test_basic_vector_vec_uint_64_512_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint128_5_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_max_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_16_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_512_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_4_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_512_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_16_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_max_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_64_512_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 17241722399186003656, + 4508348299491693172, + 6390266777275510888, + 7713446915618301827, + 3550195828120217512, + 5302692434353415902, + 15673077652530784987, + 14832124852888348945, + 1753911173413660973, + 1075815492117229518, + 11241194954592044759, + 1281488023918797583, + 599453714058194419, + 3735940553373052238, + 9886605999730343926, + 13894876080851666743, + 13766153765073927061, + 13296635374888364831, + 6339360142116274942, + 7079501668842920010, + 1372060629282321776, + 10179341093532542329, + 1086554926191249476, + 51310827223246976, + 15101027843973281037, + 17264578345840941884, + 2895091660111282452, + 11259336413260264993, + 4468757979379698791, + 4035715919530899261, + 1025181016203009511, + 4752313924109113596, + 3100904083213969471, + 13356428012977393122, + 13337157767310759285, + 6011642549773058850, + 2679491627697271076, + 5774685149971234157, + 2664236705892336475, + 9484694635352631218, + 8438500221004822688, + 12226477678261729015, + 13972420747356812790, + 17778471074937523903, + 5538186573400162679, + 15307566472736657798, + 16874304098913023531, + 10496412146825823418, + 13345309971802243453, + 1979576016101362527, + 8341772102581541009, + 14795818846096597535, + 12063527766864817109, + 933932265033871243, + 15495519375337801800, + 11004710052413938247, + 11376911068644489062, + 11274078372000306369, + 16024899649062489895, + 12527901368166666644, + 9167851986810971607, + 7639250520330553670, + 12175943369748294703, + 11433296979460156398, + 3289776498715737894, + 1975424119365053845, + 14132559792450940331, + 14175906319092989077, + 6568938907366052985, + 2884247324734735147, + 2783865510701722067, + 11614104864990869776, + 15118413830640886550, + 7303142987856320849, + 7350383677278671339, + 17161093046890865875, + 13881597113642395285, + 17216341447778575131, + 15420211816188792653, + 5931271727769086795, + 1396380889137055954, + 7995627627154630275, + 15046964727593040364, + 4118119230448789621, + 15056492579684120378, + 149696359103794600, + 6436401256916666699, + 14485664388021798587, + 6672484247361041213, + 9369412990468149472, + 7387583474326038300, + 7717994733169550446, + 9657668808183836845, + 10881287544527265224, + 7740144991257366388, + 16603284103914164383, + 16909852972644451977, + 16190034088261681620, + 975044726690203640, + 14921330866560914651, + 14204365217829969646, + 9321249052168994969, + 2855218731091338846, + 5158761002360057888, + 16323423960645790248, + 7080249016278350233, + 8163639944976994831, + 17246584292805788030, + 14912918418824322447, + 17879238257254559006, + 1687439776959916951, + 11897214710284854188, + 5467428801567803790, + 99939598953289243, + 6254316951401486413, + 3298325683893392646, + 17416546930489226544, + 554984695726970825, + 16591273569279856590, + 3646260786662757445, + 1143846323617756527, + 14409176393006675924, + 7239332693029023530, + 17868549094480882513, + 12840141672683914763, + 4534589331587855663, + 2502683457403019267, + 10800894965932499723, + 10354517057987210350, + 9865920798843503314, + 9251910129262137493, + 17882979680984287028, + 14107283363256701260, + 11692608695634569721, + 10404876596311847319, + 15653715697997658202, + 737432608457339476, + 4069276128116235638, + 8927027426406681578, + 17926639373548099222, + 7103551943313900801, + 15649961668578718108, + 12934290109134082792, + 6863348590517809611, + 12968390131768490626, + 1813459423434256197, + 12668413937093358467, + 18164297446852058700, + 2361054352696138093, + 1931608926296492116, + 7156709574881923459, + 17414374383363939762, + 16925444688267625456, + 9817277035217745369, + 17419060459670714038, + 12548530771652298825, + 6679019902374202760, + 1456389206725541843, + 11025118668108218210, + 14381508088579879882, + 6672488383267110341, + 2069008514071114127, + 375615829666888739, + 17475793861017636857, + 9764959397083686100, + 2162908909818681181, + 686763681868282441, + 14954144079718712321, + 14023152835952446281, + 10956840285030854795, + 968529128027547872, + 16829138398656711526, + 3774482904287025835, + 11015064706022367165, + 16034423873709308150, + 6691021874340720961, + 12761653061143385413, + 6659399105571997969, + 3902872516376264569, + 1125151405377440558, + 17273330492149640622, + 5799030435078732763, + 2198324642423143817, + 6528472560914593134, + 8451870605828010870, + 2382190313510954831, + 14730209600129330038, + 2448602058301590244, + 14566501270120547011, + 8731226846157349505, + 3279979957310511818, + 354206126376205686, + 13060104378643099, + 1621375492784137385, + 16156576380725138571, + 18230451966841522836, + 4826352740080314192, + 1385642393553235938, + 7702346681028068046, + 3597340335513122046, + 6920454437688751391, + 13212641535644769927, + 13474321152608180520, + 7122465017198914852, + 2076529986563788945, + 18185243652560053090, + 7247909942712927990, + 17373481430258691575, + 578260744966406347, + 9604568488809600873, + 7632328430249421415, + 13289660263410606318, + 5099372283166947112, + 4593996339337045664, + 17329648525261830085, + 3190782261622312396, + 2317071425599680242, + 7839477342383709997, + 8830064471720011612, + 4935917348189041693, + 7522538888948218485, + 161979932831419853, + 16605791947526161933, + 6463361861324507966, + 11227535428784196574, + 10708235948126784567, + 4857188858792470471, + 3157426922187774434, + 7354764536444748080, + 3979744032003108424, + 774859249809097223, + 10372920160473634757, + 16148538034702494412, + 2746169823755237631, + 8980950585885599888, + 9709513013684378042, + 12820761045193447371, + 7028688630663578368, + 2473765168274632097, + 7273118918852980263, + 16516712058817110821, + 11553173586727302804, + 3798037895425309735, + 13992046615457199640, + 11593443416242926054, + 10297285135538651727, + 4866184542985161209, + 5953625941386431602, + 3345497314112634183, + 8692704381884788155, + 14726779239607691362, + 8840938638741323896, + 13052642178125456935, + 14281744265389672379, + 3883817754981417505, + 9068025905541002631, + 8669504042795297506, + 12449821616841197193, + 4358765626989477747, + 16185339260913121928, + 834698172944353232, + 17560780797103206462, + 7379088181189580616, + 6252577659364551190, + 10379497994576507399, + 4863537630105322954, + 3622080541464128084, + 10278693032601993774, + 646216505689449031, + 13154727716280167247, + 11022966720835280344, + 1333489268512260275, + 18416204524378066806, + 6021358009616251340, + 5630802006144228962, + 6715341222990751325, + 12774374200825138789, + 12478372084698311441, + 12535156747957729405, + 5568221094604683128, + 3832184545619069473, + 4829721335720239211, + 8675483737039685518, + 18096220140071845889, + 7758924104409419884, + 6987409562154010085, + 3982701214569520462, + 15988008153987428106, + 17587242640044375138, + 16997122468007091171, + 6026215816746994292, + 626302505356232489, + 10720773851086879225, + 8305236194016240889, + 3932713913640377117, + 15625103590455174694, + 4580669710577487901, + 6866237510051473022, + 12212213730682288456, + 5062868727576835576, + 170359117255568983, + 7865884378855248982, + 10534773481478953675, + 7155487624278265633, + 14322180520475197393, + 10152560118405481876, + 12859010522967556226, + 11580159338152390386, + 10120064097538469230, + 10252023360644551151, + 10535138147795043367, + 930800106376199373, + 1834152388430370434, + 15494849906342347764, + 11048427263420736996, + 17123619240272148459, + 2435176304313737242, + 2712294746328953176, + 620886735287380312, + 16165773538072642751, + 2566257083841881550, + 16966310957240506672, + 5269284092913405441, + 13850945224454864398, + 11756810020960481125, + 16633183927649591555, + 17904509870569615842, + 17841513380636906897, + 11158352805905199905, + 11623989538410805355, + 17099577066103607969, + 1772399243014015990, + 10998257534549811529, + 2143822019277250880, + 7922903718853209313, + 6314476190438146449, + 4761921651499062130, + 15890283794832641365, + 15139824976495038536, + 16607998068638793448, + 8341363592175266184, + 14808349981901859745, + 11158007797666491729, + 17408069133989053727, + 5837648777950419528, + 14576625808490734979, + 15216293341699376739, + 13756024116819966193, + 5028816035998365766, + 6492677005645834691, + 3951252210874442859, + 119058755059473364, + 13744925311900968661, + 3982786882072158769, + 3122752589341001230, + 10504208486203158071, + 6652408325547086747, + 5967474466344967961, + 12539121297600626407, + 1831163339347427376, + 7868114814755902815, + 7729102434867955318, + 10792601863845520542, + 15327711596842879013, + 14730808801359957011, + 13121948649095597837, + 10291034340260237520, + 13562186750934916778, + 11893124589482900772, + 4216614846885738542, + 5380991314915788387, + 7588567317617226717, + 11763275040999342292, + 14721824372618256217, + 3814744527349517609, + 6669444972815830915, + 4453311070294464051, + 17150678754265386723, + 3180479219182529655, + 13753406126426600702, + 18039519803161735191, + 16978087054732732497, + 4753587762321157187, + 16349090300908904091, + 1719914446282977460, + 10497110735814996482, + 7729768539088985149, + 4890671606572480113, + 12893970054684446229, + 896141493801635325, + 4064723958976488956, + 1084645415411900279, + 5769119770770455245, + 16575323795449897482, + 14885646597978204918, + 2420851202774840493, + 15271173362913424904, + 18047310131733227355, + 17384678802650177216, + 5464172276830829655, + 14818089207220879262, + 231881840306745236, + 9319876150797849115, + 10353447138996405490, + 7770214348921122165, + 7553287734467352768, + 4040307014012336414, + 11980970108428985587, + 8063764240108738475, + 14749321943128113691, + 10264000127073918304, + 537540237453590564, + 10243753712644813004, + 10956195294627753220, + 15141991952122893673, + 2849514475226491629, + 614081310301071834, + 11964704847203999018, + 8078388910864765979, + 14454341332910612932, + 6052796197188009711, + 14386023744813843551, + 13257904575195033026, + 11501125974282942918, + 6783395893226430540, + 9832175631847610406, + 6577082661209438489, + 283012575285651246, + 5517723887933788175, + 10439741863153267001, + 8687763311968593313, + 8205782270208761212, + 7025841073662323682, + 10387229734518108058, + 142617070939414579, + 13803827233078255887, + 11777533550195138143, + 7183961127473715685, + 853017645937610837, + 3598424427347891859, + 49634819974482811, + 2038404877488800279, + 13483271778583008643, + 15157533314308187849, + 2918541179210384126, + 13794139156355354544, + 151841964911089355, + 13570552526060823977, + 10158219054306749755, + 1060253014266168405, + 1112115383996279390, + 12520016191611191326, + 8781870202542488753, + 4975835405302382437, + 5705904694736107550, + 3758725711421399923, + 1925159567569233306, + 499896115393088959, + 11899025888433791825, + 15682408163367139445, + 6563481322991136312, + 9129687374050668767, + 2378242382723489419, + 11419698217704485491, + 18303363177605120951, + 119097852652391841, + 207784874726242248, + 14216165769960901462, + 8604181500446787430, + 16926535962794786424, + 8783378487370317368, + 852504826686441867, + 17553104900546318147, + 9030694207409821712, + 13352020686711684464, + 3791043664537127126, + 4301579124652776915, + 9305794633316854866, + 1004979148389846188, + 12610028657407783693, + 1942677164820237066, + 12000529508553989685, + 8814874170978082399, + 12359219626082016813, + 9645287674288360205, + 7128934259613174656, + 13295583807902059405, + 544030423271756204, + 2501598784155156254, + 13384179086790650846, + 5758795200590176989, + 8907312125745157390, + 5736422272745975136, + 16346141694478899689, + 17089056999711466723, + 15362835914937497208, + 5882116093858791798, + 8165449238502268942, + 17958972839213318217, + 9265641795985317271, + 9170235597135942008, + 1826393314748018190, + 13996528346981171162, + 12099397881246726994, + 17935337810234220217, + 6426419383251358429, + 5476057065032524981, + 16076021385039656340, + 2510196106676515353, + 2704501097220025208, + 16058110628056241513, + 6507984389564325741, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_512_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint64_31_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_max_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint16_513_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_random_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint16_31_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_max_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_bool_3_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_zero_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint8_2_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_max_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint256_8_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_random_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint256_3_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_max_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint16_512_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_zero_one_byte_less/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0dac791ef3e531baa9195787060367a1ea72df21153ceff38d53d67bdbf14cdb"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_3_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_512_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_3_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_512_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_513_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_512_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_16_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_512_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_bool_8_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_max_one_byte_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_64_512_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_512_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint32_31_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_random_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint256_1_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_max_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint256_1_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_zero_one_less/serialized.ssz_snappy", - ); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x87eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_8_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_512_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_16_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_512_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_512_max_one_more() { +fn test_basic_vector_vec_uint_64_512_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_zero_one_less/serialized.ssz_snappy", ); deserialize::>(&encoding); @@ -28132,567 +39840,1539 @@ fn test_basic_vector_vec_uint64_512_max_one_more() { #[test] #[should_panic] -fn test_basic_vector_vec_uint64_4_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_zero_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint128_1_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_random_one_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_bool_512_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_max_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint16_513_zero_one_less() { +fn test_basic_vector_vec_uint_64_512_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint128_31_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_max_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint16_4_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_zero_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint128_8_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_random_one_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint256_8_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_max_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_64_513_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_513_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint32_4_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_max_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint32_2_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_zero_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint8_513_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_max_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint64_2_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_max_one_byte_less/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x76e07c25312b02171801bc5bfa77a4c4f65ca1a93464d9812362009307ecfb55"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_513_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_513_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_1_random_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_random_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_513_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_16_zero_one_less() { +fn test_basic_vector_vec_uint_64_513_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint8_2_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_random_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint32_512_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_random_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_8_random_one_more() { +fn test_basic_vector_vec_uint_64_513_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_random_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint128_2_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_max_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint64_31_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_zero_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_31_zero_one_more() { +fn test_basic_vector_vec_uint_64_513_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint8_5_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_max_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint256_8_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_zero_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_64_513_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 977103724348450572, + 16638432304304789571, + 12981575418293692183, + 17859366747050231130, + 1662188454432232370, + 12352759710061780267, + 3234183931608500270, + 12266557138542509930, + 18199525626158707669, + 5038972670114315769, + 240056978730606423, + 2299934165864924530, + 12922065155132691865, + 18441095095944811941, + 10547737433159558699, + 3164040834623204831, + 8252904268285025382, + 11157110078015893423, + 14697827361463508405, + 2962665335592765897, + 1074194440157433128, + 10073361041261425891, + 7896847460035987796, + 1010194339988494562, + 10364684437029658170, + 15960287444316904761, + 1570304858216343206, + 12985069376921160054, + 10916134868048390423, + 17069946255720410243, + 4869242683969811141, + 2129015309923850593, + 10476304318490304096, + 13339042352261771329, + 5941049901647385193, + 9942080628048200013, + 6345441787934907564, + 8819300459248380270, + 1252881971507668822, + 15855629560153214387, + 14880830346892594844, + 1604107670465918491, + 5862926247889560120, + 8834826465942384487, + 15431618807287173213, + 4626830461960455797, + 17948599707814642865, + 6052719615078921178, + 14941482303404072695, + 8532564245082819179, + 3629561283757400391, + 8070439397851215541, + 2397438750926008647, + 4520474401805166454, + 9068468324028717470, + 12949472848189146366, + 7353773373764974969, + 115413469786052923, + 9272589064902772418, + 1596199742278885123, + 1657968880462860703, + 11305867595369271879, + 2026428676385444947, + 722155380768152563, + 17926384892494548427, + 17411947881045756476, + 18171495979452969890, + 10271912908915521427, + 18444072933594399825, + 16254972903105040221, + 16630667709769063357, + 2116026815894303745, + 4454480130719606956, + 6185770977174465258, + 6461058098288351768, + 2407546369850650362, + 1736253749300089891, + 8326379031142126451, + 15245139458704920030, + 7800865543378848579, + 13250382195738629619, + 14706068740585648306, + 3850128657021269084, + 12450415049153406078, + 15183617305060454899, + 6080880139738469099, + 17142733175562698278, + 14813917226429878668, + 6350636848342992140, + 1292272255182616335, + 2951801177775582325, + 14929861678113850638, + 15303809795567306110, + 13429354516284496764, + 10468402811529773529, + 16517481984463469354, + 2600473578641855538, + 1172476548310435807, + 17153780428535628975, + 10876715679105180607, + 16230772551522009395, + 8981785852487886878, + 5606395164467263395, + 6439970286716300739, + 9613025542977167084, + 16643379267038893448, + 10461597085246760395, + 361898406582954478, + 13656085897097645900, + 12142103879289021746, + 11902174243844765091, + 1076884863364074785, + 13395343138273787165, + 4685197415037034828, + 4624403585813928935, + 14688164166482407520, + 5009148445009422684, + 10426995946049637526, + 17067659258237820077, + 16151196628372992833, + 16020756694471742510, + 16740341963836231169, + 957815390429969771, + 307380283991785680, + 17932005890976886049, + 4028332519112066145, + 4249494472044475262, + 8332863645066922792, + 8936342202372523962, + 1242708572808694348, + 17098362380836494452, + 1543788437703937461, + 7628293118361326122, + 15951591927402662895, + 4769943789829437756, + 3784493926891439957, + 11578978942430627002, + 9820097252214369557, + 8497943326456914922, + 7128030052475419650, + 13640155228270433438, + 17294254210312748542, + 1832312825995144470, + 16757292153262371961, + 1345969373415803643, + 5613875569429700617, + 15991574966279976095, + 12416500008980030839, + 3474778905885400974, + 14867920376097183102, + 10746928886674173074, + 10823804150798926770, + 10046429162186511432, + 11646991899814770941, + 3514522824795561720, + 7404260138859596894, + 14087090359193136834, + 11596826265225316278, + 10247673722282781753, + 4583832196746093885, + 7959694153170389028, + 15795016839667219313, + 17981803593641625078, + 18070641334068719064, + 4311609789340170678, + 2416446175340911328, + 18294510219067021080, + 2563518867903100564, + 12116293250618016997, + 15001919653874834954, + 8670797458928043964, + 14658334131481750297, + 3032226661314458659, + 3575308331709676815, + 17194522325603676865, + 12812753547866815303, + 1464259543470389484, + 8538898544879404648, + 17741557292068894607, + 14100540531974802206, + 15162561447461089425, + 8408299487882720227, + 9757114783876767806, + 10822680141219423323, + 6210502447799521273, + 16873406633514314324, + 10492750123568636676, + 4996088035508255892, + 15733011781169482494, + 3153702619890365756, + 12214074507108402521, + 8191953044963906350, + 849479552785829818, + 7973602689523079172, + 18223031247497777078, + 14707408569419421818, + 7590245971377371921, + 8386046059632801067, + 16591942872509859227, + 8932989759840508647, + 17251041534594728489, + 12752242752429514898, + 18312462689682074020, + 14849438105100578428, + 16531378619225387711, + 1049785817727824518, + 3438403429400108241, + 13622440129624493177, + 7294142514636142063, + 1050694307207084724, + 17325982763132519005, + 11066261219747154337, + 424964219897196415, + 10358465959164754750, + 16191343281145831123, + 14706859925053900711, + 9478076136206631038, + 10082121966792968232, + 7176331980659839893, + 6038551199436888163, + 6371204431702843692, + 537491328086380327, + 16600166063353322009, + 12864254759985040499, + 3002736687134609946, + 5288999767166849061, + 2332742758978117360, + 6171323241928474, + 7733075660885415939, + 2715096982413586706, + 16450244688735888882, + 12766080316604434908, + 14044177173031951324, + 1234750501368857859, + 6550455764232392489, + 5733753751399645241, + 16130569834633669506, + 4828186682330495528, + 11603964233003828709, + 6713001560240990145, + 14153300493346514016, + 9757862045754467156, + 14740760692203577561, + 6449251713716628687, + 7608429398130067000, + 5779499436536925057, + 8715043935646495998, + 16743941371017494056, + 3682930293052520590, + 3386541564944628427, + 8186901106527813310, + 12735231512082683134, + 11837887129224817067, + 6076782378255021260, + 13849184223622479739, + 9513926526814577025, + 15078142390208687667, + 5670138880896722148, + 2193840338817769788, + 9888762987601666526, + 6332746795305001355, + 6744409690485399655, + 11828170087867954940, + 9134569966268024468, + 15631517117588702918, + 1010311973990396199, + 9062597867739511222, + 10320051759361653705, + 18323714258898391913, + 11079524985228536617, + 6368937473401999288, + 2879603048802106960, + 8939067638791907710, + 4229678228821803932, + 10629034884544094180, + 17507651088536253562, + 13296551257710456166, + 12803831624491391283, + 10270687523255168200, + 6253853071066629327, + 697752467825601686, + 2374050714609293898, + 1809288210864145063, + 2104073316659238077, + 2914216662232695089, + 5398331114487347354, + 1569386377584900982, + 7334483225068371110, + 4824659887469262759, + 3245634556868106884, + 1361264426983855281, + 17393225238243551898, + 1944614949879069374, + 6847888877919501984, + 16329253065361864824, + 1692705332873723200, + 12299901941561016988, + 5054879646520189683, + 14022166108677490513, + 14629113922582673047, + 13773351236750348147, + 4506033799782911264, + 10628113952037505275, + 12133574253433656820, + 18045568604286587962, + 13943129714931790827, + 5842093147356500465, + 1315246979481186379, + 374454881891939684, + 12241430376051190206, + 12729067699042087835, + 672556044508046680, + 4334232478421652829, + 13908528131000165365, + 5817499316291993042, + 14351326725043769812, + 2736455887209948757, + 10650629294131740542, + 5785008207263882914, + 12226476774917316421, + 4014347991071999874, + 7728289174859199950, + 15538338060773092868, + 11938966179942889829, + 10848679102949447944, + 6111923947390495248, + 15247664056630173200, + 15300856881812248354, + 6369652789083940966, + 5267369261604710236, + 16116013964712795961, + 3450064078342642600, + 11873895928188173827, + 5319706518863945301, + 5727522113200389041, + 12235018433862143859, + 14105021369386995746, + 6809721757885222124, + 219793605388017465, + 1737427988309027437, + 5348070613335793074, + 4402147530811830975, + 4946302330849414821, + 2931386982768685636, + 11491254244483457891, + 9623225613231124028, + 1332916429573567880, + 15018399817416344729, + 895553669500251501, + 3049833949269508848, + 17578277292605907349, + 3320299650964482870, + 15529564204577842217, + 10253503409753905547, + 17946160060674602599, + 2778391689585994379, + 966527544871518158, + 6452185034020868010, + 18331297442979147000, + 17861976450934949620, + 54699698327791804, + 11015745203556648688, + 15649759510379865866, + 14475322353305104147, + 6452670999954384386, + 9379803429761113190, + 4018971747352677006, + 6194252225890704721, + 17075544086244763299, + 12583732346440517628, + 4324424376762449703, + 18002399391480954229, + 8222793074863915373, + 18015083723550436228, + 8873468665691630237, + 17231868237387851994, + 9041041672007772543, + 14818629517089198288, + 15590173423697766104, + 6843740596887981317, + 13259987630375850076, + 7699755765774032302, + 13422256548837971492, + 8669873132979216565, + 3823007466124039052, + 14652563368254494460, + 18305490524504221085, + 10913443855133380803, + 5291226702304588380, + 12214992447837551799, + 15778609592348634039, + 7600972396487000732, + 698539533044532156, + 13120948962532282029, + 5699215972050925426, + 5075841750027968518, + 15262773747255503300, + 15566599214790639916, + 12371787164596265490, + 13282825495803648690, + 17354901350188778814, + 5393804799168207484, + 1658012233555177836, + 7008802881421935423, + 15146509193444214835, + 3831917034374232498, + 13492473966674058897, + 2021648133239835330, + 10253891712204393862, + 2568016909369634744, + 2746673888555437756, + 8489663429555171900, + 12352885808510789615, + 4628406709145564472, + 10616284371183379835, + 1792470448096092442, + 12969377839355295351, + 12649473032902760982, + 2880918724927640543, + 9344632906478757395, + 1358865706731397851, + 17899596571558459306, + 16620734700046590241, + 12193385508172480413, + 1250612460394093914, + 18190619839367729848, + 182750353813862475, + 10437850624401527963, + 3607259500979184922, + 6092379119613403121, + 7113427661520026968, + 9124330741577613322, + 16827474614344379080, + 6634522662935610896, + 16994161811317559262, + 6711559979544000908, + 8431679369065294341, + 11113214940512732966, + 18321766918334997737, + 18017973113951139343, + 17346984676911965647, + 15467477095917285803, + 7117902076001873222, + 3976174878934683116, + 248158050053846300, + 10396635844709392606, + 9494618202303821304, + 13348262414313478018, + 11144131154075977938, + 11137833590274629751, + 4000328585646465772, + 12992270891286918959, + 12787006879032673005, + 2114620623129741975, + 6567601661678006642, + 1894933664218880020, + 5468223335964910829, + 11344781676272244938, + 18110784953789556264, + 9560655331156861916, + 3391443475888987649, + 5653897762071313825, + 13376924772586631532, + 1416473301212112754, + 4289309093816947364, + 13118549440340121725, + 18081352111142950390, + 11875105283670334127, + 14794076995797171607, + 12768052566344648509, + 9261473835921339636, + 12996329951128155184, + 10275206396656299692, + 35687255015005293, + 6849475506285714222, + 4962513261041768844, + 832767074499705168, + 3373266155223823379, + 17232294947068512856, + 15720827646424143898, + 3339680257007613233, + 3999179047115322394, + 17532391346520134224, + 3941488948321551104, + 1032506466133652731, + 983172949831851205, + 4074965048585363814, + 13755543591888407947, + 3870779899516715030, + 9750580635403444034, + 12535323561517976624, + 12758885831344876897, + 5939426750581532694, + 2317731676631631068, + 7904436366116719169, + 18052442318159734840, + 15560263424525297839, + 17727671056821725508, + 17102954599136982273, + 16412839837776152599, + 13935598261994724923, + 16017613144876653411, + 18208311262234999095, + 13854945983761605132, + 5895148453236540642, + 2653976566142290933, + 4085465542295721804, + 7377022203015075797, + 5172591284434077144, + 5793742294252119682, + 10847189400170229879, + 15461835451771729183, + 5109845722067874472, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_513_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint128_512_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_zero_one_more/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf6fe5bb836cca4115fcca592f3ca646c0d56b4ab316eb8f469c372846ec6d7f6"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_2_random_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_random_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_513_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_513_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_513_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_2_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_513_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_5_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_513_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_4_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_zero_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_64_513_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_513_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint8_1_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_max_one_less/serialized.ssz_snappy", - ); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x26846476fd5fc54a5d43385167c95144f2643f533cc85bb9d16b782f8d7db193"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_1_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_513_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_4_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_513_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_512_zero_one_less() { +fn test_basic_vector_vec_uint_64_513_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint16_512_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_random_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint64_512_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_zero_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint16_1_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_zero_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_16_nil() { +fn test_basic_vector_vec_uint_64_513_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_31_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_zero_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_64_5_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_5_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint64_512_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_zero_one_more/serialized.ssz_snappy", - ); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf0b46c4ab8cd5720de9457addeff0a7267e475c09fd5abb6661e32faf9dd30cd"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_4_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_5_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_16_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_5_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_2_zero_one_more() { +fn test_basic_vector_vec_uint_64_5_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_4_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_5_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_3_zero_one_less() { +fn test_basic_vector_vec_uint_64_5_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_2_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_5_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 5828194763697002133, + 3153164540286514337, + 17780602567657386724, + 14508245260957717736, + 17433120455160158885, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_5_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x11f1f940a8342239bd6a9f7eb4f08eff81e1d4467df7399a6d8729c59aabb984"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_8_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_5_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_0() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_0/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_5_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_8_nil() { +fn test_basic_vector_vec_uint_64_5_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_512_nil() { +fn test_basic_vector_vec_uint_64_5_random_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_random_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint64_3_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_random_one_byte_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint256_31_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_max_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_64_5_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_5_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_512_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_5_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_512_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_5_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_2_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_5_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_zero_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_31_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_5_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_zero_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_2_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_8_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + 18446744073709551615, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_8_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x8667e718294e9e0df1d30600ba3eeb201f764aad2dad72748643e4a285e1d1f7"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_4_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_8_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_16_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_8_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_31_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_8_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_4_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_8_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_2_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_8_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_5_random_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_random_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_64_8_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 598083651574187315, + 16261093746939895763, + 11288686854153899408, + 4845075573469762221, + 17314674068189149066, + 14806780961068871529, + 11182945185590657296, + 10120249242423179797, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_8_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xd5a3754afc2badf65538d7358ba6199e5433893701dafc2f775e6e3b49cf13ca"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_512_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_8_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_16_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_8_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_8_random_one_less() { +fn test_basic_vector_vec_uint_64_8_random_one_less() { let encoding = read_ssz_snappy_from_test_data( "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_random_one_less/serialized.ssz_snappy", ); @@ -28702,1512 +41382,1973 @@ fn test_basic_vector_vec_uint64_8_random_one_less() { #[test] #[should_panic] -fn test_basic_vector_vec_uint256_31_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_31_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_8_random_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_random_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint256_2_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_max_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_64_8_zero() { + let mut value = + Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0, 0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint64_8_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_5_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_8_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_5_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_64_8_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_3_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_8_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_zero_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_1_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_64_8_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_zero_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_1_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_0() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_0/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_1_random_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_random_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_8_16_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_16_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffffffffffffffffffff00000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_1_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_16_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_5_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_8_16_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_2_max_one_more() { +fn test_basic_vector_vec_uint_8_16_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_513_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_16_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_8_random_one_more() { +fn test_basic_vector_vec_uint_8_16_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_random_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_513_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_nil/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_8_16_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 238, 35, 45, 23, 138, 32, 154, 246, 181, 136, 127, 102, 232, 9, 36, 2, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_16_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xee232d178a209af6b5887f66e809240200000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_31_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_16_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_16_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_8_16_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_random_one_byte_more/serialized.ssz_snappy"); deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_1_random_one_less() { +fn test_basic_vector_vec_uint_8_16_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_random_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_1_max_one_less() { +fn test_basic_vector_vec_uint_8_16_random_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_random_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint256_2_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_max_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} +fn test_basic_vector_vec_uint_8_16_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_16_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_basic_vector_vec_uint8_31_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_max_one_byte_less/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_8_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_16_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_3_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_16_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_4_nil() { +fn test_basic_vector_vec_uint_8_16_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_5_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_16_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_zero_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_512_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_max_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} +fn test_basic_vector_vec_uint_8_1_max() { + let mut value = Vector::::try_from(Vec::::from_iter([255])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_1_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_basic_vector_vec_uint64_3_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_3_max_one_byte_more/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_513_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_1_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_512_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_1_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_1_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_1_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_5_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_1_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_5_nil() { +fn test_basic_vector_vec_uint_8_1_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_5_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_8_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_1_random() { + let mut value = Vector::::try_from(Vec::::from_iter([225])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_1_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xe100000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_513_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_513_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_1_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_1_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_max_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_8_1_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_16_max_one_less() { +fn test_basic_vector_vec_uint_8_1_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_16_random_one_more() { +fn test_basic_vector_vec_uint_8_1_random_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_16_random_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_random_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_16_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_random_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} +fn test_basic_vector_vec_uint_8_1_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_1_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_basic_vector_vec_uint128_3_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_max_one_byte_less/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_5_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_1_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_31_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_1_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_16_max_one_less() { +fn test_basic_vector_vec_uint_8_1_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_16_nil() { +fn test_basic_vector_vec_uint_8_1_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint32_31_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_zero_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_1_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_zero_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_8_2_max() { + let mut value = Vector::::try_from(Vec::::from_iter([255, 255])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_2_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffff000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_1_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_2_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_4_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_2_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_2_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_2_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_8_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_8_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_2_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_1_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_2_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint256_8_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_2_random() { + let mut value = Vector::::try_from(Vec::::from_iter([59, 3])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_2_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3b03000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_16_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_16_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_2_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_1_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_2_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_4_zero_one_less() { +fn test_basic_vector_vec_uint_8_2_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_4_zero_one_less() { +fn test_basic_vector_vec_uint_8_2_random_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_random_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_4_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_2_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_2_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_3_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_3_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_8_2_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_1_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_8_2_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_513_max_one_less() { +fn test_basic_vector_vec_uint_8_2_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_513_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_31_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_2_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_zero_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint256_16_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_31_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_31_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_1_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_31_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_4_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_31_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_8_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_31_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_512_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_31_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_16_max_one_less() { +fn test_basic_vector_vec_uint_8_31_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_4_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_nil/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_8_31_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 170, 73, 242, 193, 85, 27, 39, 254, 83, 38, 110, 73, 13, 177, 56, 72, 156, 232, 20, 213, + 141, 20, 90, 139, 79, 153, 79, 237, 21, 197, 178, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_31_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xaa49f2c1551b27fe53266e490db138489ce814d58d145a8b4f994fed15c5b200"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_2_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_31_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_16_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_16_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_8_31_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_5_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_5_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_31_random_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_random_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_5_zero_one_less() { +fn test_basic_vector_vec_uint_8_31_random_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_random_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_bool_4_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_4_zero_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_8_31_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_31_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_31_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_31_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_3_random_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_random_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_8_31_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_512_zero_one_more() { +fn test_basic_vector_vec_uint_8_31_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_5_nil() { +fn test_basic_vector_vec_uint_8_31_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_5_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_8_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_zero_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_8_3_max() { + let mut value = Vector::::try_from(Vec::::from_iter([255, 255, 255])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_3_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffff0000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_5_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_3_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_512_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_3_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_512_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_512_zero_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_3_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_8_nil() { +fn test_basic_vector_vec_uint_8_3_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_3_zero_one_less() { +fn test_basic_vector_vec_uint_8_3_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint256_4_max_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_max_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_8_3_random() { + let mut value = Vector::::try_from(Vec::::from_iter([46, 17, 42])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_3_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x2e112a0000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_basic_vector_vec_uint_8_3_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_8_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_3_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_5_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_5_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_3_random_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_random_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_1_nil() { +fn test_basic_vector_vec_uint_8_3_random_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_random_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_8_3_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_3_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_16_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_3_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_16_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_16_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_3_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_3_max_one_more() { +fn test_basic_vector_vec_uint_8_3_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_4_zero_one_more() { +fn test_basic_vector_vec_uint_8_3_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_513_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_4_max() { + let mut value = Vector::::try_from(Vec::::from_iter([255, 255, 255, 255])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_4_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffff00000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_2_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_4_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_3_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_4_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_4_random_one_more() { +fn test_basic_vector_vec_uint_8_4_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_random_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_3_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_3_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_4_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_3_max_one_less() { +fn test_basic_vector_vec_uint_8_4_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_8_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_nil/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_8_4_random() { + let mut value = Vector::::try_from(Vec::::from_iter([50, 181, 121, 8])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_4_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x32b5790800000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_4_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_8_4_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_1_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_4_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_513_max_one_more() { +fn test_basic_vector_vec_uint_8_4_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_31_max_one_less() { +fn test_basic_vector_vec_uint_8_4_random_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_31_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_random_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); +} + +#[test] +fn test_basic_vector_vec_uint_8_4_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_4_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_5_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_5_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_4_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_16_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_4_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_1_max_one_more() { +fn test_basic_vector_vec_uint_8_4_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_1_max_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_3_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_4_zero_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_4_zero_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint8_2_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_zero_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_8_512_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_512_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x006eed26f731a68917853879507d9fa9f4044f7af999f9df535fac29715db555"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_3_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_zero_one_less/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_8_512_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_31_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_512_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_1_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_512_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_513_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_512_max_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_max_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_3_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_3_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_512_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } -#[test] -#[should_panic] -fn test_basic_vector_vec_uint8_2_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_max_one_byte_less/serialized.ssz_snappy"); +#[test] +fn test_basic_vector_vec_uint_8_512_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 253, 174, 239, 243, 23, 241, 87, 225, 224, 151, 140, 63, 95, 213, 223, 61, 52, 248, 192, + 130, 98, 176, 55, 80, 137, 79, 165, 228, 36, 40, 202, 109, 24, 146, 19, 112, 44, 162, 156, + 235, 33, 131, 37, 218, 103, 51, 203, 99, 235, 120, 184, 105, 215, 89, 104, 154, 30, 180, + 78, 255, 241, 170, 71, 67, 24, 84, 74, 35, 166, 87, 0, 31, 44, 75, 111, 20, 221, 200, 166, + 106, 195, 143, 155, 216, 163, 77, 47, 133, 142, 210, 204, 141, 58, 192, 140, 109, 152, 203, + 26, 178, 225, 119, 251, 84, 194, 157, 1, 37, 245, 202, 152, 219, 245, 95, 205, 244, 80, + 144, 189, 177, 105, 86, 234, 242, 14, 239, 53, 13, 187, 243, 33, 71, 169, 178, 148, 152, + 169, 150, 99, 142, 37, 104, 173, 171, 164, 234, 136, 43, 61, 125, 131, 190, 70, 14, 202, + 19, 22, 106, 79, 160, 181, 222, 35, 156, 133, 248, 112, 178, 42, 9, 169, 117, 83, 244, 255, + 71, 34, 74, 124, 84, 201, 167, 66, 228, 20, 190, 35, 188, 209, 22, 36, 160, 116, 101, 177, + 194, 252, 26, 15, 229, 41, 150, 218, 174, 75, 248, 123, 15, 182, 190, 212, 89, 38, 9, 108, + 100, 72, 67, 130, 25, 239, 185, 190, 147, 203, 208, 188, 119, 146, 4, 160, 136, 61, 18, + 111, 189, 94, 164, 149, 185, 139, 90, 233, 86, 1, 209, 122, 98, 227, 139, 89, 181, 209, + 248, 246, 245, 227, 190, 52, 205, 65, 54, 240, 249, 49, 67, 131, 122, 36, 171, 200, 150, + 181, 207, 96, 242, 238, 163, 226, 55, 237, 43, 38, 101, 90, 171, 88, 193, 139, 102, 135, + 15, 80, 161, 51, 23, 28, 133, 217, 165, 174, 157, 222, 85, 192, 202, 4, 148, 145, 162, 127, + 79, 99, 231, 227, 213, 172, 137, 222, 200, 132, 252, 161, 126, 146, 80, 83, 210, 80, 17, + 119, 181, 105, 220, 227, 12, 207, 35, 32, 36, 125, 195, 248, 194, 121, 154, 167, 231, 32, + 155, 13, 92, 73, 75, 192, 219, 90, 70, 154, 48, 250, 171, 68, 136, 220, 241, 142, 161, 85, + 33, 224, 117, 226, 127, 34, 136, 79, 140, 74, 201, 111, 102, 74, 108, 175, 211, 0, 177, 97, + 114, 8, 9, 185, 225, 121, 5, 212, 216, 254, 215, 169, 127, 248, 156, 240, 8, 10, 149, 63, + 231, 125, 202, 214, 107, 21, 220, 200, 57, 211, 91, 89, 37, 188, 87, 117, 32, 194, 16, 65, + 137, 14, 176, 30, 140, 9, 23, 210, 246, 15, 147, 93, 118, 250, 31, 150, 124, 228, 234, 89, + 134, 82, 213, 159, 4, 149, 166, 105, 94, 16, 157, 255, 9, 217, 83, 222, 173, 146, 48, 40, + 214, 171, 19, 209, 226, 93, 207, 54, 169, 97, 51, 202, 45, 162, 64, 37, 169, 246, 134, 39, + 32, 230, 5, 180, 18, 110, 55, 228, 91, 21, 136, 204, 158, 16, 172, 175, 108, 44, 124, 50, + 153, 8, 34, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_512_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf4eb96b6673f096fe9ac07abad28b1ae70eeaf6704326b183ed57a02e22933e4"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_31_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_31_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_512_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_16_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint128_16_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_8_512_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_4_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_4_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_512_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_31_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_512_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_513_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_513_zero_one_byte_more/serialized.ssz_snappy"); - - deserialize::>(&encoding); -} +fn test_basic_vector_vec_uint_8_512_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_512_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_basic_vector_vec_bool_16_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_16_max_one_byte_less/serialized.ssz_snappy"); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_3_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_512_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_1_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_512_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_31_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_31_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_512_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_zero_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_1_nil() { +fn test_basic_vector_vec_uint_8_512_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_512_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_bool_8_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_bool_8_max_one_byte_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_8_513_max() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_513_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x711318b44d37a71b616d0747647acbe4b8cd24d42a19c6a3ed7b8743adc33bd4"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_3_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_3_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_513_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_512_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_513_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_8_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_513_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_3_zero_one_less() { +fn test_basic_vector_vec_uint_8_513_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_4_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_4_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_513_nil() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_nil/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint16_2_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_nil/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_8_513_random() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 43, 14, 152, 176, 220, 9, 200, 233, 44, 111, 40, 178, 171, 180, 198, 181, 48, 15, 66, 68, + 230, 183, 64, 49, 31, 136, 81, 16, 173, 252, 42, 222, 184, 9, 215, 161, 98, 84, 117, 216, + 87, 221, 255, 71, 194, 243, 197, 156, 141, 132, 73, 183, 67, 133, 159, 127, 151, 85, 79, + 233, 29, 133, 214, 188, 25, 178, 4, 19, 101, 156, 97, 243, 198, 144, 161, 196, 212, 139, + 228, 28, 171, 131, 99, 161, 48, 206, 186, 186, 218, 151, 199, 209, 144, 131, 86, 232, 183, + 102, 93, 31, 193, 232, 67, 121, 192, 155, 190, 210, 130, 114, 167, 226, 160, 63, 84, 128, + 90, 207, 230, 133, 141, 230, 46, 84, 233, 251, 24, 29, 154, 108, 194, 67, 210, 36, 96, 78, + 148, 190, 149, 92, 223, 240, 26, 123, 244, 200, 49, 81, 27, 58, 49, 75, 66, 63, 241, 189, + 53, 10, 41, 105, 69, 160, 193, 131, 216, 150, 184, 229, 117, 32, 160, 24, 104, 153, 205, + 191, 252, 156, 131, 85, 94, 162, 10, 20, 175, 168, 184, 232, 62, 223, 41, 150, 213, 54, + 165, 69, 201, 137, 246, 21, 192, 3, 208, 14, 113, 32, 32, 190, 186, 250, 20, 30, 0, 9, 112, + 61, 197, 142, 118, 130, 152, 32, 38, 149, 170, 175, 217, 243, 19, 233, 213, 166, 108, 106, + 102, 139, 6, 210, 15, 239, 3, 139, 221, 7, 27, 208, 216, 85, 45, 228, 120, 19, 116, 48, + 134, 4, 107, 204, 196, 13, 96, 73, 49, 173, 52, 41, 47, 59, 231, 16, 103, 206, 203, 102, + 168, 172, 29, 31, 214, 209, 227, 114, 227, 231, 185, 167, 146, 249, 56, 137, 251, 184, 239, + 166, 53, 74, 94, 54, 140, 210, 149, 233, 137, 139, 45, 23, 244, 165, 227, 51, 28, 126, 16, + 106, 46, 49, 204, 203, 187, 169, 48, 139, 100, 71, 178, 186, 142, 247, 20, 238, 21, 217, + 13, 100, 56, 152, 92, 135, 219, 81, 149, 252, 35, 39, 100, 175, 233, 49, 236, 57, 250, 254, + 200, 144, 149, 37, 214, 114, 17, 157, 77, 254, 132, 255, 166, 123, 126, 228, 52, 204, 60, + 42, 103, 31, 198, 155, 125, 203, 94, 97, 99, 69, 126, 63, 7, 154, 141, 105, 66, 31, 151, + 199, 161, 230, 121, 86, 74, 222, 252, 68, 162, 86, 70, 252, 231, 169, 176, 89, 116, 107, + 57, 132, 184, 246, 145, 106, 200, 41, 185, 202, 203, 199, 115, 98, 183, 130, 84, 69, 70, + 222, 128, 233, 139, 223, 126, 201, 200, 40, 35, 160, 157, 27, 23, 48, 11, 34, 247, 132, + 117, 131, 95, 49, 39, 56, 174, 15, 187, 155, 71, 238, 228, 50, 217, 225, 56, 244, 84, 228, + 71, 179, 11, 105, 120, 12, 65, 177, 182, 83, 0, 120, 23, 76, 109, 41, 159, 173, 200, 184, + 33, 131, 140, 182, 199, 67, 42, 16, 125, 127, 18, 77, 49, 218, 239, 181, 171, 203, 25, 223, + 154, 160, 91, 41, 183, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_513_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xfd0fdfd0c2ccb9a01421e330f2054910070c6b53353a8ddefad470286f00c6f0"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_8_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_8_513_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_2_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_513_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_4_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_4_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_513_random_one_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_random_one_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_8_random_one_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_8_random_one_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_513_random_one_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_random_one_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } -#[test] -#[should_panic] -fn test_basic_vector_vec_uint128_513_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_513_zero_one_byte_less/serialized.ssz_snappy"); +#[test] +fn test_basic_vector_vec_uint_8_513_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_513_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x9efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_2_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_2_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_513_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_513_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_513_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_zero_one_byte_more/serialized.ssz_snappy"); deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_16_max_one_less() { +fn test_basic_vector_vec_uint_8_513_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_512_max_one_less() { +fn test_basic_vector_vec_uint_8_513_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_513_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_1_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_1_random_one_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_5_max() { + let mut value = + Vector::::try_from(Vec::::from_iter([255, 255, 255, 255, 255])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_5_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffff000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_bool_512_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_bool_512_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_5_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_3_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_3_nil/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_8_5_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_4_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_5_max_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_max_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_1_zero_one_more() { +fn test_basic_vector_vec_uint_8_5_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_1_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_8_max_one_less() { +fn test_basic_vector_vec_uint_8_5_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_max_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint128_31_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_31_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_5_random() { + let mut value = + Vector::::try_from(Vec::::from_iter([15, 8, 177, 247, 237])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_5_random/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0f08b1f7ed000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_513_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_zero_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_8_5_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_31_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_5_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_8_random_one_less() { +fn test_basic_vector_vec_uint_8_5_random_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_8_random_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_random_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint128_2_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_2_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_5_random_one_more() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_random_one_more/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_512_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_5_zero() { + let mut value = Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_5_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_1_random_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_1_random_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_8_5_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_2_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_2_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_5_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_16_zero_one_more() { +fn test_basic_vector_vec_uint_8_5_zero_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_16_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_zero_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_2_random_one_less() { +fn test_basic_vector_vec_uint_8_5_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_2_random_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint128_512_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint128_512_zero_one_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint256_8_zero_one_less() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_8_zero_one_less/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_8_8_max() { + let mut value = + Vector::::try_from(Vec::::from_iter([255, 255, 255, 255, 255, 255, 255, 255])) + .unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_8_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xffffffffffffffff000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_5_max_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_5_max_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_8_max_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_max_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_2_random_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_2_random_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_8_max_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_max_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_5_zero_one_more() { +fn test_basic_vector_vec_uint_8_8_max_one_less() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint256_5_zero_one_more/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_max_one_less/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_4_zero_one_less() { +fn test_basic_vector_vec_uint_8_8_max_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_4_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_max_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_basic_vector_vec_uint16_513_random_one_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_513_random_one_less/serialized.ssz_snappy"); - - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_31_zero_one_less() { +fn test_basic_vector_vec_uint_8_8_nil() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_31_zero_one_less/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_nil/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint32_512_zero_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_512_zero_one_more/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_8_8_random() { + let mut value = + Vector::::try_from(Vec::::from_iter([76, 46, 93, 58, 7, 249, 127, 33])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_8_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x4c2e5d3a07f97f21000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_512_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_512_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_8_random_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_random_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_512_random_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_512_random_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_8_random_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_random_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_1_zero_one_byte_more() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint16_1_zero_one_byte_more/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_8_random_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_random_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint32_2_nil() { +fn test_basic_vector_vec_uint_8_8_random_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint32_2_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_random_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_basic_vector_vec_uint64_8_nil() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint64_8_nil/serialized.ssz_snappy", +fn test_basic_vector_vec_uint_8_8_zero() { + let mut value = + Vector::::try_from(Vec::::from_iter([0, 0, 0, 0, 0, 0, 0, 0])).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/valid/vec_uint8_8_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Vector = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_basic_vector_vec_uint8_1_max_one_more() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_1_max_one_more/serialized.ssz_snappy", - ); +fn test_basic_vector_vec_uint_8_8_zero_one_byte_less() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_zero_one_byte_less/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint256_4_max_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint256_4_max_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_8_zero_one_byte_more() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_zero_one_byte_more/serialized.ssz_snappy"); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint64_1_zero_one_byte_less() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/basic_vector/invalid/vec_uint64_1_zero_one_byte_less/serialized.ssz_snappy"); +fn test_basic_vector_vec_uint_8_8_zero_one_less() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_zero_one_less/serialized.ssz_snappy", + ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_basic_vector_vec_uint16_3_nil() { +fn test_basic_vector_vec_uint_8_8_zero_one_more() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/basic_vector/invalid/vec_uint16_3_nil/serialized.ssz_snappy", + "ssz-rs/tests/data/basic_vector/invalid/vec_uint8_8_zero_one_more/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } diff --git a/ssz-rs/tests/bitlist.rs b/ssz-rs/tests/bitlist.rs index 63f0e3f5..4084c2e3 100644 --- a/ssz-rs/tests/bitlist.rs +++ b/ssz-rs/tests/bitlist.rs @@ -1,3 +1,4 @@ +//! This file was generated by `ssz-rs-test-gen`; do NOT manually edit. mod test_utils; use ssz_rs::prelude::*; @@ -6,29 +7,29 @@ use test_utils::{ }; #[test] -fn test_bitlist_bitlist_8_random_4() { - let mut value = Bitlist::<8>::from_iter([true, true, true]); +fn test_bitlist_bitlist_16_lengthy_0() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([160, 92, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_lengthy_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("251d8bd955c85219bb8f6de682810b4aafe3e0c3d3c624020fb39f81dbb85910"); + root_from_hex("0x6232812aa34ca3e9ce77374f8915f059832b1671edbbe38e8816196b2be450d5"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_random_2() { - let mut value = Bitlist::<16>::from_iter([true, true, false, true, true, true, false, false]); +fn test_bitlist_bitlist_16_lengthy_1() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([64, 179, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_lengthy_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -37,445 +38,394 @@ fn test_bitlist_bitlist_16_random_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("8bd00e1a82454504a094276182544df713103259ba3f96133871a55281b44d18"); + root_from_hex("0x8c2b7bd1b88a7d1be36dad5c3734873af45f38d2d4618f83211b394aa65a665e"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_lengthy_0() { - let mut value = Bitlist::<31>::from_iter([ - false, false, true, false, false, false, false, false, true, true, false, true, false, - true, true, false, true, false, true, false, true, true, true, true, false, false, true, - false, true, true, true, - ]); +fn test_bitlist_bitlist_16_lengthy_2() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([161, 151, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_lengthy_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_lengthy_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("2b4e175a3cabe516e47026098d7a07a105d94c6e1d7859c5f8e99d81d5fb73e5"); + root_from_hex("0xfc0027195d4d241e8d3111d41d749a46f62e2d0e78aa503b856774abe6b7e6c3"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_random_3() { - let mut value = Bitlist::<8>::from_iter([false]); +fn test_bitlist_bitlist_16_lengthy_3() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([137, 3, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_lengthy_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("cb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); + root_from_hex("0x50fea858f788bbc2f17f809e05682bf855493a7b8c594f4c2342b469ac7bdb53"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_random_2() { - let mut value = Bitlist::<3>::from_iter([true, false]); +fn test_bitlist_bitlist_16_lengthy_4() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([30, 209, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_lengthy_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ff55c97976a840b4ced964ed49e3794594ba3f675238b5fd25d282b60f70a194"); + root_from_hex("0x983039dcf7ee961e2a2c1b1d0b57ad04491b8674c0f9f6dc326244e48dacd851"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_random_2() { - let mut value = Bitlist::<2>::from_iter([true, true]); +fn test_bitlist_bitlist_16_max_0() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([255, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("c397e31994d6b872c69af43765ab16a1cef673be726a820dacd2637bea2f5fbb"); + root_from_hex("0x017d2fa0f6934ed2354e4cdb7a2230ccf8f31fe758c7a47442e37fdea1d68bfe"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_max_4() { - let mut value = Bitlist::<31>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, - ]); +fn test_bitlist_bitlist_16_max_1() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([255, 255, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_max_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_max_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("4b5bcf109d8b0381e1ca551794c9fb864838f5b07057e05da75830f7999d96de"); + root_from_hex("0xdc8212e2404720c98554dfddc81733f88cbbe307a1d4ca5eae4b88e55e382392"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_nil_1() { - let mut value = Bitlist::<4>::from_iter([]); +fn test_bitlist_bitlist_16_max_2() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([255, 7]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_nil_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_max_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x5879404f965b9356ffe1e124c2ef7aef85a31eda844aa967aa74d3422a7e2b2e"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_max_3() { - let mut value = Bitlist::<31>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, - ]); +fn test_bitlist_bitlist_16_max_3() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([255, 63]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_max_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("b8570b9c932d5fd3d2bd727a64d527f790d8261acd9f6ce2786cc1fa34dd2fa8"); + root_from_hex("0x16472e350c0d8e0cf112307b5cfa66561668ffef5f9f3281c9ad0af85122ba2c"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_max_0() { - let mut value = Bitlist::<2>::from_iter([]); +fn test_bitlist_bitlist_16_max_4() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([31]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_max_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x4b07c3799db025f3aa92ced1e8545367a2b6e44960f479d3f9d62b61812892d5"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_zero_4() { - let mut value = Bitlist::<4>::from_iter([false, false, false, false]); +fn test_bitlist_bitlist_16_nil_0() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_zero_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_nil_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("d647eb2598d33d7216256356596d29cecd31c1ba7a7ff25ccb5be4a453410b9d"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_zero_3() { - let mut value = Bitlist::<4>::from_iter([false, false]); +fn test_bitlist_bitlist_16_nil_1() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_zero_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_nil_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_lengthy_1() { - let mut value = Bitlist::<513>::from_iter([ - true, false, false, true, true, true, false, false, true, true, false, true, true, false, - true, false, false, false, true, false, false, true, false, false, true, true, false, true, - true, true, false, true, false, false, false, false, false, false, true, false, false, - false, true, true, true, false, false, true, false, false, true, false, true, true, true, - true, false, false, false, false, false, true, false, false, true, true, false, true, true, - true, false, true, false, false, true, false, true, false, true, false, true, false, true, - false, false, false, false, true, true, true, true, true, false, true, false, false, false, - false, true, false, true, false, false, true, false, false, false, true, true, true, false, - true, false, true, false, true, true, true, false, false, true, false, false, false, true, - true, true, true, true, true, false, false, false, false, false, false, false, true, false, - false, true, false, true, false, false, true, true, true, true, true, false, false, false, - true, false, true, false, false, true, true, true, true, true, false, false, true, false, - false, true, true, false, true, false, true, false, true, true, false, true, true, true, - true, false, true, true, true, true, false, false, false, false, false, false, false, true, - false, false, true, true, false, false, true, false, true, false, false, false, false, - false, true, false, false, false, true, false, false, false, false, false, true, true, - true, false, false, false, true, false, true, true, true, false, false, false, true, false, - false, true, false, true, true, true, true, false, true, true, true, false, true, false, - true, true, true, false, false, false, false, false, false, false, false, false, true, - false, true, true, true, false, false, true, false, false, true, false, true, true, false, - false, false, true, false, true, true, false, false, false, false, true, true, true, false, - true, false, false, true, false, true, false, true, false, true, false, true, true, true, - true, true, true, true, true, true, false, false, true, true, false, false, true, true, - true, true, false, true, true, true, false, false, false, true, false, true, true, true, - true, false, true, true, false, false, false, true, true, false, false, true, true, false, - true, false, false, true, true, true, false, true, false, false, true, false, false, false, - false, false, true, true, true, true, false, false, false, false, false, true, true, false, - false, true, false, true, false, false, true, true, true, true, false, true, true, false, - true, false, false, true, false, true, true, false, false, false, false, false, false, - false, false, false, false, true, false, false, true, true, false, true, true, true, true, - false, false, true, false, false, true, false, true, false, false, true, false, false, - false, true, false, true, true, false, true, false, true, false, false, false, false, - false, false, false, false, true, true, true, false, true, false, true, true, true, false, - false, false, false, true, false, false, true, true, true, true, true, false, false, false, - true, true, true, false, true, false, false, false, false, false, true, true, false, false, - true, false, true, false, false, false, false, false, true, false, true, true, true, false, - true, false, false, true, true, false, false, true, false, false, true, true, true, false, - true, false, - ]); +fn test_bitlist_bitlist_16_nil_2() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_lengthy_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_nil_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("10041d4cf07da1077e84c9b5c01fa6d5f29ba8feb934ebdf7ca184a2857cdf55"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_zero_1() { - let mut value = Bitlist::<5>::from_iter([false, false, false, false, false]); +fn test_bitlist_bitlist_16_nil_3() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_zero_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_nil_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("16aaf795af421b6156d4c3319879d422a0c3ffd26db07207a54d6cafcbef0b10"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_zero_3() { - let mut value = Bitlist::<8>::from_iter([false, false, false, false, false, false]); +fn test_bitlist_bitlist_16_nil_4() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_zero_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_nil_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("7d360196d14b15261c9e5f576df8dc8b48d18d79b4198f167741052747704352"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_nil_0() { - let mut value = Bitlist::<513>::from_iter([]); +fn test_bitlist_bitlist_16_random_0() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([180, 3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_nil_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("28ba1834a3a7b657460ce79fa3a1d909ab8828fd557659d4d0554a9bdbc0ec30"); + root_from_hex("0xeec57ef94d128f67c545a95b84f97501237ed672f583769110409b2df50bce84"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_zero_4() { - let mut value = Bitlist::<8>::from_iter([false, false, false, false]); +fn test_bitlist_bitlist_16_random_1() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([4]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_zero_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("d647eb2598d33d7216256356596d29cecd31c1ba7a7ff25ccb5be4a453410b9d"); + root_from_hex("0x1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_lengthy_0() { - let mut value = Bitlist::<2>::from_iter([true, true]); +fn test_bitlist_bitlist_16_random_2() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([59, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_lengthy_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("c397e31994d6b872c69af43765ab16a1cef673be726a820dacd2637bea2f5fbb"); + root_from_hex("0x8bd00e1a82454504a094276182544df713103259ba3f96133871a55281b44d18"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_nil_0() { - let mut value = Bitlist::<4>::from_iter([]); +fn test_bitlist_bitlist_16_random_3() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([104, 23]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_nil_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_random_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x160937bf5c6f4256c285385214969c965a8c841be474c62d7ed3c184ec3cdb69"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_max_2() { - let mut value = Bitlist::<31>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, - ]); +fn test_bitlist_bitlist_16_random_4() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([25]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_random_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("e78c29807c3f3ced69109d22d734a1c69d361e0671c21b8681a1761333e95537"); + root_from_hex("0x53de69c30b9c07be9cba006e32db34dc1e4ebfe649bc94aa7c8aae0ef419aeed"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_random_2() { - let mut value = Bitlist::<8>::from_iter([false]); +fn test_bitlist_bitlist_16_zero_0() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([0, 64]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_zero_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("cb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); + root_from_hex("0x69713c9ac33bde909bd8763512e69a7f523d544adcfb8c892e24bc8f6341ea16"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_random_3() { - let mut value = Bitlist::<3>::from_iter([]); +fn test_bitlist_bitlist_16_zero_1() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([0, 2]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_zero_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x7b460f51b362b95b384743dda74f56fbcd35f4d8e7ebda7206632e60c91e663d"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_random_3() { - let mut value = Bitlist::<2>::from_iter([true]); +fn test_bitlist_bitlist_16_zero_2() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([0, 4]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_zero_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); + root_from_hex("0xb04cc2cb8ea6754f94c2e7403cf58e20c9023a98350c84282966e0bd6729d3ca"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_random_4() { - let mut value = Bitlist::<16>::from_iter([true, false, false, true]); +fn test_bitlist_bitlist_16_zero_3() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([64]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_zero_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -484,18 +434,16 @@ fn test_bitlist_bitlist_16_random_4() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("53de69c30b9c07be9cba006e32db34dc1e4ebfe649bc94aa7c8aae0ef419aeed"); + root_from_hex("0x7d360196d14b15261c9e5f576df8dc8b48d18d79b4198f167741052747704352"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_random_3() { - let mut value = Bitlist::<16>::from_iter([ - false, false, false, true, false, true, true, false, true, true, true, false, - ]); +fn test_bitlist_bitlist_16_zero_4() { + let mut value = Bitlist::<16>::try_from(Vec::::from_iter([0, 0, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_16_zero_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -504,332 +452,298 @@ fn test_bitlist_bitlist_16_random_3() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("160937bf5c6f4256c285385214969c965a8c841be474c62d7ed3c184ec3cdb69"); + root_from_hex("0xa44a029e04493b8d2fe7893391c2b3ceefec1603c585aad6203f2d14e07bfead"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_lengthy_1() { - let mut value = Bitlist::<31>::from_iter([ - false, false, false, false, true, false, false, false, true, true, false, true, false, - true, false, false, true, true, false, false, true, false, true, true, true, false, true, - true, true, false, true, - ]); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_lengthy_1/serialized.ssz_snappy", +#[should_panic] +fn test_bitlist_bitlist_1_but_2() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitlist/invalid/bitlist_1_but_2/serialized.ssz_snappy", ); - assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); + deserialize::>(&encoding); +} - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5054e572357a7c57c9f05e8f79208348c9dfe9f28461d7935700459b1ae2307"); - assert_eq!(root, expected_root); +#[test] +#[should_panic] +fn test_bitlist_bitlist_1_but_8() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitlist/invalid/bitlist_1_but_8/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); } #[test] -fn test_bitlist_bitlist_2_random_4() { - let mut value = Bitlist::<2>::from_iter([]); +#[should_panic] +fn test_bitlist_bitlist_1_but_9() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitlist/invalid/bitlist_1_but_9/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitlist_bitlist_1_lengthy_0() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_lengthy_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_random_4() { - let mut value = Bitlist::<3>::from_iter([false, false]); +fn test_bitlist_bitlist_1_lengthy_1() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_lengthy_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); + root_from_hex("0x56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_nil_1() { - let mut value = Bitlist::<513>::from_iter([]); +fn test_bitlist_bitlist_1_lengthy_2() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_nil_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_lengthy_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("28ba1834a3a7b657460ce79fa3a1d909ab8828fd557659d4d0554a9bdbc0ec30"); + root_from_hex("0xcb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_lengthy_1() { - let mut value = Bitlist::<2>::from_iter([true, false]); +fn test_bitlist_bitlist_1_lengthy_3() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_lengthy_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_lengthy_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ff55c97976a840b4ced964ed49e3794594ba3f675238b5fd25d282b60f70a194"); + root_from_hex("0xcb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_lengthy_0() { - let mut value = Bitlist::<513>::from_iter([ - false, false, false, true, false, true, true, false, false, false, true, true, false, true, - true, false, true, true, false, false, true, false, false, true, false, true, false, false, - true, false, true, false, true, true, true, false, true, true, true, true, false, true, - false, true, false, false, false, false, true, false, false, true, false, true, false, - false, false, false, true, true, false, true, true, true, true, false, false, false, true, - false, true, false, true, true, true, true, true, true, true, true, true, true, true, - false, true, true, true, false, true, false, false, false, true, false, false, true, false, - false, true, true, false, false, false, false, true, true, true, true, true, true, false, - false, false, false, true, true, true, true, true, false, true, true, false, false, false, - false, false, true, true, false, true, false, true, false, false, false, true, true, false, - false, true, false, true, true, false, false, true, false, false, false, true, true, true, - false, true, true, true, true, true, false, true, false, false, false, false, true, false, - true, false, true, false, false, true, true, true, true, false, true, true, true, true, - false, true, true, true, false, false, false, false, false, true, true, false, false, true, - true, true, false, false, true, true, false, true, false, false, false, false, true, false, - false, true, false, false, false, true, false, false, true, true, true, false, true, false, - true, true, false, false, false, true, false, false, false, false, true, true, true, false, - true, true, true, false, false, false, true, false, false, false, false, true, false, true, - false, false, true, false, false, false, false, false, true, true, false, false, true, - false, false, false, true, true, false, false, true, true, false, false, true, false, - false, true, false, true, false, false, true, true, false, false, false, false, false, - true, false, true, false, false, false, false, true, false, true, false, false, false, - true, true, false, false, false, false, false, true, true, false, true, true, true, false, - false, false, false, false, true, false, false, false, false, true, false, true, true, - true, true, true, true, true, true, false, true, true, false, false, true, true, true, - true, true, false, true, true, false, true, true, true, false, false, true, true, true, - true, true, true, false, false, true, false, false, true, true, true, false, true, true, - true, false, true, true, false, true, true, false, false, true, true, true, false, true, - false, true, true, true, false, false, true, false, false, true, false, false, false, - false, false, false, false, true, true, false, true, false, false, false, false, false, - true, false, false, true, false, true, false, true, true, true, true, false, false, true, - false, false, true, true, true, true, false, false, false, true, false, false, true, true, - false, false, true, false, false, true, true, false, false, false, false, true, true, true, - true, false, true, false, true, true, true, true, true, true, true, true, false, false, - false, false, true, true, false, true, true, false, true, true, false, true, false, true, - true, true, false, false, true, false, false, false, false, false, true, true, true, true, - false, true, true, true, true, true, false, false, true, false, false, false, false, true, - false, true, true, - ]); +fn test_bitlist_bitlist_1_lengthy_4() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_lengthy_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_lengthy_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("77184930e328732d5413240f6114e269a9df6573d8b177f03d328eda7d3ffae2"); + root_from_hex("0x56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_zero_0() { - let mut value = Bitlist::<5>::from_iter([false, false]); +fn test_bitlist_bitlist_1_max_0() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_zero_2() { - let mut value = Bitlist::<8>::from_iter([false, false, false, false, false, false]); +fn test_bitlist_bitlist_1_max_1() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_max_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("7d360196d14b15261c9e5f576df8dc8b48d18d79b4198f167741052747704352"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_zero_2() { - let mut value = Bitlist::<4>::from_iter([]); +fn test_bitlist_bitlist_1_max_2() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_max_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_max_1() { - let mut value = Bitlist::<2>::from_iter([]); +fn test_bitlist_bitlist_1_max_3() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_max_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_nil_1() { - let mut value = Bitlist::<2>::from_iter([]); +fn test_bitlist_bitlist_1_max_4() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_nil_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_max_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_lengthy_0() { - let mut value = Bitlist::<4>::from_iter([true, true, false, true]); +fn test_bitlist_bitlist_1_nil_0() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_lengthy_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_nil_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("9d2816f451512382c000156fad1578555537321084d091d3c7b228aa705c36aa"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_max_1() { - let mut value = Bitlist::<513>::from_iter([true, true, true, true, true, true]); +fn test_bitlist_bitlist_1_nil_1() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_max_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_nil_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("b00f282b126680bcbd302d657b117dc32294c4cb586f76c244932141012e6a82"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_lengthy_0() { - let mut value = Bitlist::<16>::from_iter([ - false, false, false, false, false, true, false, true, false, false, true, true, true, - false, true, false, - ]); +fn test_bitlist_bitlist_1_nil_2() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_lengthy_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_nil_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("6232812aa34ca3e9ce77374f8915f059832b1671edbbe38e8816196b2be450d5"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_max_0() { - let mut value = Bitlist::<4>::from_iter([true, true, true]); +fn test_bitlist_bitlist_1_nil_3() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_nil_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("251d8bd955c85219bb8f6de682810b4aafe3e0c3d3c624020fb39f81dbb85910"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_random_0() { - let mut value = Bitlist::<1>::from_iter([]); +fn test_bitlist_bitlist_1_nil_4() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_random_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_nil_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -838,140 +752,124 @@ fn test_bitlist_bitlist_1_random_0() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_nil_2() { - let mut value = Bitlist::<31>::from_iter([]); +fn test_bitlist_bitlist_1_random_0() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_nil_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_max_0() { - let mut value = Bitlist::<513>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, - ]); +fn test_bitlist_bitlist_1_random_1() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("3116c9a3fab7c6ebf0978f8ef07aa2c27ea9c79887d773980a39b95e5c035593"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_lengthy_1() { - let mut value = Bitlist::<16>::from_iter([ - false, false, false, false, false, false, true, false, true, true, false, false, true, - true, false, true, - ]); +fn test_bitlist_bitlist_1_random_2() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_lengthy_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("8c2b7bd1b88a7d1be36dad5c3734873af45f38d2d4618f83211b394aa65a665e"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_lengthy_1() { - let mut value = Bitlist::<4>::from_iter([true, false, true, false]); +fn test_bitlist_bitlist_1_random_3() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_lengthy_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_random_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("e90722eb4d2a891700f1f3aa2e95661e707b19e60e147a96f8cf089e8cbc4bec"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_nil_0() { - let mut value = Bitlist::<2>::from_iter([]); +fn test_bitlist_bitlist_1_random_4() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_nil_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_random_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_max_1() { - let mut value = Bitlist::<4>::from_iter([true]); +fn test_bitlist_bitlist_1_zero_0() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_max_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_zero_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_random_1() { - let mut value = Bitlist::<1>::from_iter([]); +fn test_bitlist_bitlist_1_zero_1() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_random_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_zero_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -980,267 +878,206 @@ fn test_bitlist_bitlist_1_random_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_nil_3() { - let mut value = Bitlist::<31>::from_iter([]); +fn test_bitlist_bitlist_1_zero_2() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_nil_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_zero_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_nil_4() { - let mut value = Bitlist::<31>::from_iter([]); +fn test_bitlist_bitlist_1_zero_3() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_nil_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_zero_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_max_3() { - let mut value = Bitlist::<16>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, - ]); +fn test_bitlist_bitlist_1_zero_4() { + let mut value = Bitlist::<1>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_max_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_1_zero_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("16472e350c0d8e0cf112307b5cfa66561668ffef5f9f3281c9ad0af85122ba2c"); + root_from_hex("0xcb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_zero_0() { - let mut value = Bitlist::<3>::from_iter([]); +#[should_panic] +fn test_bitlist_bitlist_2_but_3() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitlist/invalid/bitlist_2_but_3/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitlist_bitlist_2_lengthy_0() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([7]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_lengthy_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xc397e31994d6b872c69af43765ab16a1cef673be726a820dacd2637bea2f5fbb"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_random_1() { - let mut value = Bitlist::<512>::from_iter([ - false, true, false, true, false, false, false, true, false, true, true, false, true, false, - true, true, false, false, true, false, false, true, false, false, true, true, true, true, - true, true, true, false, false, false, true, false, false, false, false, false, false, - false, - ]); +fn test_bitlist_bitlist_2_lengthy_1() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([5]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_random_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_lengthy_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("4979bcefe3ded00d52ea1342595d1390e372a93c4acf10ed2c3c1fc604d1a92e"); + root_from_hex("0xff55c97976a840b4ced964ed49e3794594ba3f675238b5fd25d282b60f70a194"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_random_1() { - let mut value = Bitlist::<513>::from_iter([ - true, false, true, false, true, true, true, true, true, false, false, false, false, true, - false, true, true, true, true, false, false, true, true, false, true, true, true, false, - false, false, false, true, false, false, false, true, true, true, false, true, true, false, - false, true, true, false, false, true, false, false, false, true, true, true, false, true, - true, true, false, true, false, true, true, false, false, false, true, false, true, false, - true, true, true, true, false, false, true, true, true, false, false, false, false, false, - true, true, true, true, false, false, true, false, true, true, true, false, true, true, - false, false, false, false, true, false, true, true, false, true, false, false, false, - true, true, true, true, false, true, true, false, true, false, false, true, false, true, - true, false, true, false, false, false, false, false, false, true, true, false, false, - false, true, true, true, false, false, false, true, false, true, false, true, false, false, - true, true, false, true, true, true, false, false, true, false, true, true, true, false, - true, false, false, false, true, true, false, false, false, true, true, false, true, true, - true, true, true, true, false, true, true, false, false, true, false, false, true, true, - false, true, false, true, true, true, true, false, false, true, false, true, false, true, - false, true, true, true, true, true, false, true, true, true, false, true, false, true, - true, false, false, false, false, true, false, false, true, false, true, true, false, true, - false, true, true, true, true, true, false, false, true, true, false, true, false, true, - false, false, false, false, true, false, true, true, true, true, false, true, true, - ]); +fn test_bitlist_bitlist_2_lengthy_2() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([7]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_random_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_lengthy_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("339f84a3e78443af74c3ea49f06c6d1933f3b4e3440dc631820662651085a306"); + root_from_hex("0xc397e31994d6b872c69af43765ab16a1cef673be726a820dacd2637bea2f5fbb"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_zero_0() { - let mut value = Bitlist::<513>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - ]); +fn test_bitlist_bitlist_2_lengthy_3() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([5]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_lengthy_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("3f398072fb9acafba24683799d8250de322a96a12e3016134220db24526b372d"); + root_from_hex("0xff55c97976a840b4ced964ed49e3794594ba3f675238b5fd25d282b60f70a194"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_max_4() { - let mut value = Bitlist::<16>::from_iter([true, true, true, true]); +fn test_bitlist_bitlist_2_lengthy_4() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([5]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_max_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_lengthy_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("4b07c3799db025f3aa92ced1e8545367a2b6e44960f479d3f9d62b61812892d5"); + root_from_hex("0xff55c97976a840b4ced964ed49e3794594ba3f675238b5fd25d282b60f70a194"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_max_0() { - let mut value = Bitlist::<1>::from_iter([]); +fn test_bitlist_bitlist_2_max_0() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_zero_2() { - let mut value = Bitlist::<512>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, - ]); +fn test_bitlist_bitlist_2_max_1() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_max_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0f4ea9e6bc6fce537e76838bafa08072aec839c4acc1d3a8c62bb4a253a0a451"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_zero_2() { - let mut value = Bitlist::<2>::from_iter([]); +fn test_bitlist_bitlist_2_max_2() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_max_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -1249,264 +1086,214 @@ fn test_bitlist_bitlist_2_zero_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_nil_0() { - let mut value = Bitlist::<5>::from_iter([]); +fn test_bitlist_bitlist_2_max_3() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_nil_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_lengthy_1() { - let mut value = Bitlist::<512>::from_iter([ - false, true, true, true, true, false, true, false, false, false, false, true, true, true, - false, true, true, false, false, false, false, false, false, false, true, true, false, - false, false, true, true, false, true, false, false, false, true, true, false, false, true, - true, false, true, false, true, true, true, false, true, false, false, true, false, true, - false, true, false, true, true, false, false, true, true, true, false, false, false, false, - false, true, true, false, true, true, false, true, true, false, true, false, false, false, - false, true, true, false, false, true, false, false, true, true, false, true, true, true, - false, true, false, true, true, true, true, false, true, true, false, false, true, true, - true, false, true, false, true, true, false, true, true, false, true, true, true, true, - true, false, true, false, false, false, true, false, false, true, true, false, false, - false, false, true, false, false, true, false, true, false, false, false, false, false, - true, true, false, true, false, true, true, false, false, false, false, false, false, true, - false, true, false, true, true, true, false, false, true, false, true, false, true, true, - true, false, true, true, false, true, false, false, false, true, false, true, true, true, - false, true, false, true, false, true, false, true, false, false, true, true, true, true, - true, true, false, true, false, true, false, true, true, false, true, false, true, false, - false, false, true, false, false, true, false, false, true, false, true, true, true, true, - false, true, false, false, true, true, true, true, true, false, true, false, true, true, - false, true, true, true, true, true, false, false, false, false, true, false, false, true, - true, true, false, false, true, true, true, true, true, false, false, true, false, false, - false, true, true, true, true, true, true, false, false, true, true, false, true, true, - false, true, false, true, true, false, true, true, true, false, true, false, true, true, - true, true, false, false, false, true, true, false, false, false, true, false, false, true, - false, true, false, true, false, false, false, false, true, true, false, false, false, - false, false, true, false, false, true, false, true, false, false, true, true, true, false, - true, true, false, true, false, true, true, false, false, true, true, true, true, false, - true, false, false, true, false, false, false, false, false, false, true, false, false, - true, true, false, true, false, true, true, true, false, false, false, false, true, true, - false, false, false, false, false, true, true, false, false, true, false, true, true, true, - true, true, true, true, false, false, false, false, true, true, true, true, false, true, - true, true, false, false, false, true, true, false, true, true, true, true, false, false, - true, false, false, true, true, false, false, true, true, false, false, false, true, false, - true, true, true, false, false, true, false, true, false, false, true, false, false, true, - false, true, true, false, true, false, true, false, true, false, true, true, false, true, - false, false, true, true, true, true, false, true, true, false, false, false, true, true, - false, false, false, false, false, false, true, false, true, true, false, true, true, - false, false, false, false, false, false, false, false, false, true, false, true, true, - true, - ]); +fn test_bitlist_bitlist_2_max_4() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_lengthy_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_max_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("2b28c2217c3f1f99e0c5ad46c77be392323ae7c6e68612e6b1701e762a0285e7"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_lengthy_3() { - let mut value = Bitlist::<1>::from_iter([false]); +fn test_bitlist_bitlist_2_nil_0() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_lengthy_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_nil_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("cb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_max_1() { - let mut value = Bitlist::<3>::from_iter([true, true, true]); +fn test_bitlist_bitlist_2_nil_1() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_max_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_nil_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("251d8bd955c85219bb8f6de682810b4aafe3e0c3d3c624020fb39f81dbb85910"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_lengthy_4() { - let mut value = Bitlist::<1>::from_iter([true]); +fn test_bitlist_bitlist_2_nil_2() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_lengthy_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_nil_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_lengthy_0() { - let mut value = Bitlist::<3>::from_iter([false, false, false]); +fn test_bitlist_bitlist_2_nil_3() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_lengthy_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_nil_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("d86ae2ca925345bf2412bde450ac175742d979c1ea7b961bd1efe10beb9500cf"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_nil_1() { - let mut value = Bitlist::<512>::from_iter([]); +fn test_bitlist_bitlist_2_nil_4() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_nil_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_nil_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("7a0501f5957bdf9cb3a8ff4966f02265f968658b7a9c62642cba1165e86642f5"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_max_2() { - let mut value = Bitlist::<8>::from_iter([]); +fn test_bitlist_bitlist_2_random_0() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_zero_0() { - let mut value = Bitlist::<31>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, - ]); +fn test_bitlist_bitlist_2_random_1() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([6]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("6463f4376faab07e62e5a4737d2d95ad690892f8fae0b9559c0ed3ae96bb2790"); + root_from_hex("0x0e01f8d9a6720610a44a70c2c91bbe750ec6cd67892d92b1016394abfc382cf9"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_nil_1() { - let mut value = Bitlist::<5>::from_iter([]); +fn test_bitlist_bitlist_2_random_2() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([7]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_nil_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xc397e31994d6b872c69af43765ab16a1cef673be726a820dacd2637bea2f5fbb"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_zero_4() { - let mut value = Bitlist::<512>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, - ]); +fn test_bitlist_bitlist_2_random_3() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_zero_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_random_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("c3f35acbdbda16dc35969a4b0c817b2a7c9f8b037ace72cae4efb76797d8d4c4"); + root_from_hex("0x56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_zero_3() { - let mut value = Bitlist::<2>::from_iter([false]); +fn test_bitlist_bitlist_2_random_4() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_zero_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_random_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -1515,16 +1302,16 @@ fn test_bitlist_bitlist_2_zero_3() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("cb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_zero_4() { - let mut value = Bitlist::<2>::from_iter([false]); +fn test_bitlist_bitlist_2_zero_0() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([4]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_zero_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_zero_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -1533,283 +1320,183 @@ fn test_bitlist_bitlist_2_zero_4() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("cb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); + root_from_hex("0x1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_zero_3() { - let mut value = Bitlist::<512>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, - ]); +fn test_bitlist_bitlist_2_zero_1() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_zero_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_zero_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ec7fd7a922a87b641e3c8e0f2b092b1f470050c14409fcd95985c07024a429f4"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_random_0() { - let mut value = Bitlist::<512>::from_iter([ - true, true, true, true, true, false, false, true, true, false, false, false, false, false, - true, true, true, false, false, false, false, false, true, false, true, true, false, false, - true, false, true, false, true, false, false, true, true, false, false, true, true, false, - false, true, false, false, true, true, false, true, false, true, false, false, false, true, - false, false, true, true, false, true, false, true, true, false, true, false, true, false, - false, true, true, true, true, false, false, false, false, true, true, false, true, false, - true, false, true, true, true, true, false, true, true, true, true, false, false, false, - false, true, false, true, false, false, false, false, false, false, true, false, false, - true, true, false, false, false, true, false, false, true, false, false, false, false, - true, true, true, true, true, false, true, false, false, false, false, false, true, false, - true, false, false, true, true, false, false, true, true, true, true, false, false, false, - true, true, true, false, false, true, true, true, true, true, true, false, false, true, - true, false, false, false, true, true, false, false, false, true, false, false, true, - false, true, true, true, false, true, false, false, true, true, false, true, false, true, - false, true, false, true, true, true, false, false, false, true, false, true, true, true, - true, false, false, false, false, false, false, false, true, true, false, false, true, - true, false, true, true, false, false, false, false, false, false, true, false, false, - false, true, true, true, true, true, true, false, false, false, true, false, false, false, - true, true, true, false, false, false, false, true, true, true, true, false, false, true, - true, true, false, false, true, false, false, false, true, true, true, true, false, false, - false, false, true, false, true, false, true, false, true, false, true, true, true, false, - false, true, true, true, false, false, true, true, false, true, true, true, false, true, - true, true, false, false, - ]); +fn test_bitlist_bitlist_2_zero_2() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_random_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_zero_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("d01782fa00046d31ecef1828d806bc82a0635ba68a829abaea5bc5e83cfc3b39"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_random_0() { - let mut value = Bitlist::<513>::from_iter([ - false, false, false, false, true, true, false, true, true, true, true, false, true, false, - true, true, false, false, true, false, false, true, true, true, false, false, true, false, - true, true, false, true, true, true, true, false, true, true, false, false, false, true, - true, false, false, true, true, false, false, true, true, false, true, false, false, false, - false, false, false, true, true, true, false, false, true, true, false, true, false, true, - false, true, false, false, false, false, false, false, false, false, false, true, false, - false, true, false, true, true, false, true, false, true, - ]); +fn test_bitlist_bitlist_2_zero_3() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_random_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_zero_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("62110ea980c0e8b321149e2681d66a3c9ca6d2af615ed3f7b2ea1f950519cee3"); + root_from_hex("0xcb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_zero_1() { - let mut value = Bitlist::<513>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, - ]); +fn test_bitlist_bitlist_2_zero_4() { + let mut value = Bitlist::<2>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_zero_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_2_zero_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("25f3b33649409489b22232a7706a5ae5c4f5b62cadee098a758d3fa16d1087d2"); + root_from_hex("0xcb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_max_1() { - let mut value = Bitlist::<1>::from_iter([]); +fn test_bitlist_bitlist_31_lengthy_0() { + let mut value = + Bitlist::<31>::try_from(Vec::::from_iter([4, 107, 245, 244]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_max_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_lengthy_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x2b4e175a3cabe516e47026098d7a07a105d94c6e1d7859c5f8e99d81d5fb73e5"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_zero_1() { - let mut value = Bitlist::<3>::from_iter([false]); +fn test_bitlist_bitlist_31_lengthy_1() { + let mut value = + Bitlist::<31>::try_from(Vec::::from_iter([16, 43, 211, 221]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_zero_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_lengthy_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("cb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); + root_from_hex("0xf5054e572357a7c57c9f05e8f79208348c9dfe9f28461d7935700459b1ae2307"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_max_2() { +fn test_bitlist_bitlist_31_lengthy_2() { let mut value = - Bitlist::<16>::from_iter([true, true, true, true, true, true, true, true, true, true]); + Bitlist::<31>::try_from(Vec::::from_iter([149, 146, 83, 204]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_lengthy_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("5879404f965b9356ffe1e124c2ef7aef85a31eda844aa967aa74d3422a7e2b2e"); + root_from_hex("0x57bdf36005bb9113c2b89db95c10946d97609b3173d4397a1a74755d0c6490f8"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_max_3() { - let mut value = Bitlist::<8>::from_iter([true, true, true, true, true]); +fn test_bitlist_bitlist_31_lengthy_3() { + let mut value = + Bitlist::<31>::try_from(Vec::::from_iter([188, 71, 14, 158]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_max_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_lengthy_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("cb9e73cb5c2e4ef66fa63540f8220301d31eea7edfccedb2b47b9bdf849ccee7"); + root_from_hex("0x0faa1049c965bf5a37db3b457dcc3a2ee179ef704c42a29722641b2ec3bb3658"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_nil_0() { - let mut value = Bitlist::<512>::from_iter([]); +fn test_bitlist_bitlist_31_lengthy_4() { + let mut value = + Bitlist::<31>::try_from(Vec::::from_iter([46, 129, 210, 162]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_nil_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_lengthy_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("7a0501f5957bdf9cb3a8ff4966f02265f968658b7a9c62642cba1165e86642f5"); + root_from_hex("0x152b52ebbfc701c7a39758748e1f14b4361ae37dd480b6914aa725824cde97f2"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_zero_1() { - let mut value = Bitlist::<31>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, - ]); +fn test_bitlist_bitlist_31_max_0() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([255, 255]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_zero_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -1818,163 +1505,126 @@ fn test_bitlist_bitlist_31_zero_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("7d934ef6667cff3afea0633d57baa9a82a7009f89b0f8c12f47150047098b396"); + root_from_hex("0xebe018d5287ea5be7d789946da9587c27f5dd82d8c120a594ae0e8ddd2e21802"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_max_4() { - let mut value = Bitlist::<8>::from_iter([]); +fn test_bitlist_bitlist_31_max_1() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_max_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_max_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_lengthy_1() { - let mut value = Bitlist::<3>::from_iter([false, false, false]); +fn test_bitlist_bitlist_31_max_2() { + let mut value = + Bitlist::<31>::try_from(Vec::::from_iter([255, 255, 255, 3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_lengthy_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_max_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("d86ae2ca925345bf2412bde450ac175742d979c1ea7b961bd1efe10beb9500cf"); + root_from_hex("0xe78c29807c3f3ced69109d22d734a1c69d361e0671c21b8681a1761333e95537"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_lengthy_0() { - let mut value = Bitlist::<512>::from_iter([ - false, false, false, false, false, false, false, false, true, false, false, true, false, - true, false, false, false, false, false, false, false, false, false, true, false, false, - true, true, true, false, false, true, true, false, false, false, false, false, true, false, - false, false, true, true, false, true, false, false, false, false, false, true, true, - false, false, true, true, false, true, false, true, false, true, true, true, false, false, - false, true, false, false, true, true, false, false, true, true, true, true, true, true, - true, true, false, false, true, true, true, true, true, false, false, false, false, false, - false, false, true, true, false, true, true, false, false, false, false, false, false, - true, true, false, true, true, false, false, false, false, true, false, true, false, false, - true, false, true, false, false, false, true, false, true, false, true, true, true, true, - false, false, false, true, true, true, true, true, true, false, false, true, false, false, - true, true, false, false, false, false, false, true, false, false, false, true, true, true, - false, true, false, true, false, true, false, false, true, true, false, false, true, true, - false, true, true, true, true, false, true, true, false, false, true, true, true, true, - false, true, true, true, true, false, true, true, false, false, true, false, false, true, - true, false, false, false, true, false, false, false, false, false, false, true, false, - false, false, false, false, true, true, true, true, false, false, false, false, false, - false, true, true, false, false, false, true, true, true, true, true, true, true, false, - false, false, false, true, false, true, true, false, false, false, false, true, false, - true, false, true, true, true, false, true, false, false, true, false, false, true, true, - true, false, false, true, false, true, false, false, false, false, false, true, false, - true, true, false, true, false, false, false, false, true, true, false, true, false, true, - true, true, true, false, false, true, false, true, true, true, true, true, true, true, - false, false, true, true, true, false, false, false, false, true, true, true, false, false, - true, false, true, true, false, false, false, false, true, true, true, true, false, false, - false, false, true, false, true, false, false, false, false, true, true, false, false, - true, true, true, false, false, false, false, false, true, false, false, true, true, false, - false, true, true, true, true, true, false, false, true, false, true, true, true, true, - false, true, false, false, true, false, false, true, false, false, true, false, true, - false, true, false, true, true, true, true, true, false, false, true, true, true, true, - true, true, true, false, false, false, false, true, false, false, false, false, true, true, - true, true, true, true, true, true, false, false, false, false, false, true, false, false, - false, true, true, false, false, true, false, false, false, true, true, true, false, false, - false, false, true, false, false, false, true, false, false, false, false, true, false, - true, false, false, false, true, true, true, false, false, false, true, false, false, - false, true, false, true, true, false, true, false, true, true, false, false, false, true, - true, false, false, false, false, false, false, true, true, false, true, false, false, - false, false, false, false, false, false, true, - ]); +fn test_bitlist_bitlist_31_max_3() { + let mut value = + Bitlist::<31>::try_from(Vec::::from_iter([255, 255, 255]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_lengthy_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("bc152fc83f6fefea40b3b3fdf626dc1af7eaea74e6bce7aba12a6602679004e1"); + root_from_hex("0xb8570b9c932d5fd3d2bd727a64d527f790d8261acd9f6ce2786cc1fa34dd2fa8"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_max_0() { - let mut value = Bitlist::<3>::from_iter([true, true, true]); +fn test_bitlist_bitlist_31_max_4() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([255, 31]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_max_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("251d8bd955c85219bb8f6de682810b4aafe3e0c3d3c624020fb39f81dbb85910"); + root_from_hex("0x4b5bcf109d8b0381e1ca551794c9fb864838f5b07057e05da75830f7999d96de"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_lengthy_2() { - let mut value = Bitlist::<1>::from_iter([false]); +fn test_bitlist_bitlist_31_nil_0() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_lengthy_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_nil_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("cb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_nil_0() { - let mut value = Bitlist::<3>::from_iter([]); +fn test_bitlist_bitlist_31_nil_1() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_nil_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_nil_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_random_1() { - let mut value = Bitlist::<31>::from_iter([false, true, false, true, false, true, true, false]); +fn test_bitlist_bitlist_31_nil_2() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_random_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_nil_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -1983,430 +1633,407 @@ fn test_bitlist_bitlist_31_random_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("62681102fbb14f3973d9db3e302be35e5bbd79984aed6a85c532c63189afb38a"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_zero_3() { - let mut value = Bitlist::<16>::from_iter([false, false, false, false, false, false]); +fn test_bitlist_bitlist_31_nil_3() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_zero_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_nil_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("7d360196d14b15261c9e5f576df8dc8b48d18d79b4198f167741052747704352"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_random_2() { - let mut value = Bitlist::<4>::from_iter([true]); +fn test_bitlist_bitlist_31_nil_4() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_nil_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_random_2() { - let mut value = Bitlist::<5>::from_iter([true]); +fn test_bitlist_bitlist_31_random_0() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); + root_from_hex("0xcb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_zero_1() { - let mut value = Bitlist::<1>::from_iter([]); +fn test_bitlist_bitlist_31_random_1() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([106, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_zero_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x62681102fbb14f3973d9db3e302be35e5bbd79984aed6a85c532c63189afb38a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_lengthy_0() { - let mut value = Bitlist::<5>::from_iter([false, false, true, false, false]); +fn test_bitlist_bitlist_31_random_2() { + let mut value = + Bitlist::<31>::try_from(Vec::::from_iter([106, 141, 117, 7]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_lengthy_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("bd50456d5ad175ae99a1612a53ca229124b65d3eaabd9ff9c7ab979a385cf6b3"); + root_from_hex("0x1037ee25750a944efe9b3dc796628f6468a9f242bd791013c439ca785c134482"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_zero_4() { - let mut value = Bitlist::<16>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, - ]); +fn test_bitlist_bitlist_31_random_3() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([155, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_zero_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_random_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("a44a029e04493b8d2fe7893391c2b3ceefec1603c585aad6203f2d14e07bfead"); + root_from_hex("0x5940967aaa293730d0e7876047dfceb9cf5512fafb5d4be3d05c776902163786"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_nil_4() { - let mut value = Bitlist::<8>::from_iter([]); +fn test_bitlist_bitlist_31_random_4() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_nil_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_random_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_max_0() { - let mut value = Bitlist::<512>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, - ]); +fn test_bitlist_bitlist_31_zero_0() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([0, 0, 0, 16]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_zero_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("bbf3224946b87b12d7c3c24d4887a1a1bdb6afd356e3fb40bfa7a42cd0a7d478"); + root_from_hex("0x6463f4376faab07e62e5a4737d2d95ad690892f8fae0b9559c0ed3ae96bb2790"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_nil_3() { - let mut value = Bitlist::<8>::from_iter([]); +fn test_bitlist_bitlist_31_zero_1() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([0, 0, 0, 64]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_nil_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_zero_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x7d934ef6667cff3afea0633d57baa9a82a7009f89b0f8c12f47150047098b396"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_lengthy_1() { - let mut value = Bitlist::<8>::from_iter([false, false, true, false, true, true, false, true]); +fn test_bitlist_bitlist_31_zero_2() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([0, 0, 2]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_lengthy_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_zero_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("5b6af4c3df02247b90fc3736e0a2ff746b5a7f7dc54e7edc66bbb0f68f1b7206"); + root_from_hex("0x967293ee9d7ba679c3ef076bef139e2ceb96d45d19a624cc59bb5a3c1649ce38"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_nil_2() { - let mut value = Bitlist::<16>::from_iter([]); +fn test_bitlist_bitlist_31_zero_3() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([0, 0, 0, 8]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_nil_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_zero_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x04997ec49450b710d4d92e2e6e92c47b193b0ec6f841d7d692bf0f410cbc7269"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_nil_1() { - let mut value = Bitlist::<1>::from_iter([]); +fn test_bitlist_bitlist_31_zero_4() { + let mut value = Bitlist::<31>::try_from(Vec::::from_iter([4]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_nil_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_31_zero_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_max_1() { - let mut value = Bitlist::<5>::from_iter([true, true, true]); +#[should_panic] +fn test_bitlist_bitlist_32_but_33() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitlist/invalid/bitlist_32_but_33/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_bitlist_bitlist_32_but_64() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitlist/invalid/bitlist_32_but_64/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +#[should_panic] +fn test_bitlist_bitlist_3_but_4() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitlist/invalid/bitlist_3_but_4/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitlist_bitlist_3_lengthy_0() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([8]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_max_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_lengthy_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("251d8bd955c85219bb8f6de682810b4aafe3e0c3d3c624020fb39f81dbb85910"); + root_from_hex("0xd86ae2ca925345bf2412bde450ac175742d979c1ea7b961bd1efe10beb9500cf"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_lengthy_0() { - let mut value = Bitlist::<8>::from_iter([false, true, true, true, false, false, true, true]); +fn test_bitlist_bitlist_3_lengthy_1() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([8]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_lengthy_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_lengthy_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("095847dd477b5ac2b2a5930d0633975f09e835630c2d4a832b6469e8c0d106d1"); + root_from_hex("0xd86ae2ca925345bf2412bde450ac175742d979c1ea7b961bd1efe10beb9500cf"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_nil_2() { - let mut value = Bitlist::<8>::from_iter([]); +fn test_bitlist_bitlist_3_lengthy_2() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([9]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_nil_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_lengthy_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xcaea92341df83aa8d4225099f16e86cbf457ec7ea97ccddb4ba5560062eee695"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_max_1() { - let mut value = Bitlist::<512>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, - ]); +fn test_bitlist_bitlist_3_lengthy_3() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([12]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_max_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_lengthy_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ca6250f3556974d64650a327c0551859f706d9778399caff8a6be920d88fb39f"); + root_from_hex("0xd3156136ef0ebd0cb8945f7c18cfe8ad539d08d8703744bc11371e49e6a4d9ad"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_random_4() { - let mut value = Bitlist::<5>::from_iter([false, true, true, false]); +fn test_bitlist_bitlist_3_lengthy_4() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([15]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_lengthy_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("894e8a2ce460c6c6ba12d467634e6c34ce2a1b58d0c6dfe3d98b532898c58611"); + root_from_hex("0x251d8bd955c85219bb8f6de682810b4aafe3e0c3d3c624020fb39f81dbb85910"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_random_4() { - let mut value = Bitlist::<4>::from_iter([false, false]); +fn test_bitlist_bitlist_3_max_0() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([15]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); + root_from_hex("0x251d8bd955c85219bb8f6de682810b4aafe3e0c3d3c624020fb39f81dbb85910"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_random_0() { - let mut value = Bitlist::<31>::from_iter([false]); +fn test_bitlist_bitlist_3_max_1() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([15]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_random_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_max_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("cb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); + root_from_hex("0x251d8bd955c85219bb8f6de682810b4aafe3e0c3d3c624020fb39f81dbb85910"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_zero_2() { - let mut value = Bitlist::<16>::from_iter([ - false, false, false, false, false, false, false, false, false, false, - ]); +fn test_bitlist_bitlist_3_max_2() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_max_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("b04cc2cb8ea6754f94c2e7403cf58e20c9023a98350c84282966e0bd6729d3ca"); + root_from_hex("0x56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_nil_1() { - let mut value = Bitlist::<3>::from_iter([]); +fn test_bitlist_bitlist_3_max_3() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_nil_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -2415,494 +2042,458 @@ fn test_bitlist_bitlist_3_nil_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_random_3() { - let mut value = Bitlist::<4>::from_iter([false]); +fn test_bitlist_bitlist_3_max_4() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([7]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_max_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("cb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); + root_from_hex("0xc397e31994d6b872c69af43765ab16a1cef673be726a820dacd2637bea2f5fbb"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_lengthy_1() { - let mut value = Bitlist::<5>::from_iter([true, false, false, true, true]); +fn test_bitlist_bitlist_3_nil_0() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_lengthy_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_nil_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("7000b9bd26fb753d24a4ed870faee659894843b795377a89ade25b649246e773"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_random_3() { - let mut value = Bitlist::<5>::from_iter([false, true]); +fn test_bitlist_bitlist_3_nil_1() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_nil_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0e01f8d9a6720610a44a70c2c91bbe750ec6cd67892d92b1016394abfc382cf9"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_zero_0() { - let mut value = Bitlist::<1>::from_iter([]); +fn test_bitlist_bitlist_3_nil_2() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_nil_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_max_0() { - let mut value = Bitlist::<5>::from_iter([true, true, true]); +fn test_bitlist_bitlist_3_nil_3() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_nil_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("251d8bd955c85219bb8f6de682810b4aafe3e0c3d3c624020fb39f81dbb85910"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_nil_0() { - let mut value = Bitlist::<1>::from_iter([]); +fn test_bitlist_bitlist_3_nil_4() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_nil_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_nil_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_nil_4() { - let mut value = Bitlist::<16>::from_iter([]); +fn test_bitlist_bitlist_3_random_0() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([4]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_nil_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_nil_3() { - let mut value = Bitlist::<16>::from_iter([]); +fn test_bitlist_bitlist_3_random_1() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_nil_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_max_4() { - let mut value = Bitlist::<2>::from_iter([]); +fn test_bitlist_bitlist_3_random_2() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([5]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_max_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xff55c97976a840b4ced964ed49e3794594ba3f675238b5fd25d282b60f70a194"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_zero_0() { - let mut value = Bitlist::<4>::from_iter([false, false, false, false]); +fn test_bitlist_bitlist_3_random_3() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_random_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("d647eb2598d33d7216256356596d29cecd31c1ba7a7ff25ccb5be4a453410b9d"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_max_3() { - let mut value = Bitlist::<2>::from_iter([true]); +fn test_bitlist_bitlist_3_random_4() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([4]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_max_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_random_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); + root_from_hex("0x1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_nil_3() { - let mut value = Bitlist::<513>::from_iter([]); +fn test_bitlist_bitlist_3_zero_0() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_nil_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_zero_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("28ba1834a3a7b657460ce79fa3a1d909ab8828fd557659d4d0554a9bdbc0ec30"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_lengthy_3() { - let mut value = Bitlist::<2>::from_iter([true, false]); +fn test_bitlist_bitlist_3_zero_1() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_lengthy_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_zero_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ff55c97976a840b4ced964ed49e3794594ba3f675238b5fd25d282b60f70a194"); + root_from_hex("0xcb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_nil_4() { - let mut value = Bitlist::<513>::from_iter([]); +fn test_bitlist_bitlist_3_zero_2() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_nil_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_zero_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("28ba1834a3a7b657460ce79fa3a1d909ab8828fd557659d4d0554a9bdbc0ec30"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_lengthy_2() { - let mut value = Bitlist::<513>::from_iter([ - true, false, false, false, false, true, false, false, false, true, false, true, true, - false, true, true, false, true, true, false, false, true, false, true, true, true, true, - true, false, false, false, false, true, false, false, true, true, true, true, true, true, - false, false, false, false, true, true, true, false, true, false, true, true, false, false, - true, true, false, true, true, false, false, true, true, false, true, true, false, false, - false, false, false, true, true, true, false, true, false, true, true, false, false, true, - false, false, true, true, false, true, false, true, true, false, false, true, false, false, - true, true, true, false, false, false, false, false, false, false, false, true, false, - false, false, true, true, true, true, false, false, true, true, false, false, true, false, - false, false, true, true, true, true, true, true, true, true, false, true, false, false, - false, true, true, false, true, true, false, true, true, false, true, true, true, false, - false, true, true, false, false, true, true, false, true, true, true, true, true, true, - false, false, true, true, true, true, true, false, true, true, true, true, false, false, - true, false, true, true, true, true, true, true, false, true, false, false, true, false, - false, false, true, false, true, false, true, false, false, true, false, true, true, false, - false, false, true, false, true, false, false, true, true, true, true, false, true, false, - false, true, false, true, true, false, false, true, true, true, true, false, true, false, - false, true, true, false, true, true, true, false, false, false, true, true, false, false, - false, false, false, false, true, false, true, true, true, true, true, true, false, false, - true, true, true, false, false, false, true, true, true, false, false, false, true, true, - false, true, false, false, false, false, true, true, false, true, false, true, false, true, - false, false, true, false, false, true, true, true, true, true, true, true, true, true, - true, false, false, false, true, true, false, true, false, false, false, true, false, true, - true, false, false, false, true, false, true, true, true, true, false, true, false, false, - true, false, true, true, true, false, true, true, false, false, false, false, false, false, - true, true, false, true, true, false, true, true, true, true, false, false, true, true, - false, true, true, true, false, false, true, false, false, true, false, true, false, true, - false, false, true, true, false, true, true, true, false, false, true, true, true, true, - true, true, false, false, true, false, true, true, true, true, true, true, false, true, - false, false, true, false, false, true, true, false, true, true, false, true, false, true, - false, false, true, false, true, false, true, false, true, false, false, true, true, true, - false, false, true, true, true, true, true, true, false, true, false, true, false, true, - true, true, false, false, true, true, false, false, true, true, false, false, true, true, - false, true, false, false, true, false, false, true, true, false, true, true, true, false, - false, true, false, false, false, false, true, false, true, true, false, true, false, - false, true, false, false, true, true, false, false, true, true, true, true, false, false, - true, true, false, true, false, true, false, false, false, true, true, false, - ]); +fn test_bitlist_bitlist_3_zero_3() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([8]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_lengthy_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_zero_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("fcc1fb245d5eae1370c4cfaf51a23a68d24fc931eb75d8e3b337eadf1c94b4be"); + root_from_hex("0xd86ae2ca925345bf2412bde450ac175742d979c1ea7b961bd1efe10beb9500cf"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_zero_2() { - let mut value = Bitlist::<5>::from_iter([false, false, false, false]); +fn test_bitlist_bitlist_3_zero_4() { + let mut value = Bitlist::<3>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_3_zero_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("d647eb2598d33d7216256356596d29cecd31c1ba7a7ff25ccb5be4a453410b9d"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_lengthy_4() { - let mut value = Bitlist::<2>::from_iter([true, false]); +#[should_panic] +fn test_bitlist_bitlist_4_but_5() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitlist/invalid/bitlist_4_but_5/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitlist_bitlist_4_lengthy_0() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([27]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_lengthy_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_lengthy_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ff55c97976a840b4ced964ed49e3794594ba3f675238b5fd25d282b60f70a194"); + root_from_hex("0x9d2816f451512382c000156fad1578555537321084d091d3c7b228aa705c36aa"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_zero_0() { - let mut value = Bitlist::<8>::from_iter([false, false, false, false, false, false]); +fn test_bitlist_bitlist_4_lengthy_1() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([21]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_lengthy_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("7d360196d14b15261c9e5f576df8dc8b48d18d79b4198f167741052747704352"); + root_from_hex("0xe90722eb4d2a891700f1f3aa2e95661e707b19e60e147a96f8cf089e8cbc4bec"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_random_0() { - let mut value = Bitlist::<8>::from_iter([true, true, true, true, false, false]); +fn test_bitlist_bitlist_4_lengthy_2() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([23]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_random_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_lengthy_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("385e8de0fb7865579bcaf9d0a9c86e4cca08a6911d1ce85530f96ce202a38d21"); + root_from_hex("0x374bd7c88680671ad4be6e1b576db80646d992d893a5eeb1d1d0f403c3331b32"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_lengthy_4() { - let mut value = Bitlist::<31>::from_iter([ - false, true, true, true, false, true, false, false, true, false, false, false, false, - false, false, true, false, true, false, false, true, false, true, true, false, true, false, - false, false, true, false, - ]); +fn test_bitlist_bitlist_4_lengthy_3() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([17]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_lengthy_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_lengthy_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("152b52ebbfc701c7a39758748e1f14b4361ae37dd480b6914aa725824cde97f2"); + root_from_hex("0xf9c5ada16029ed1580188989686f19e749c006b2eac37d3ef087b824b31ba997"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_random_1() { - let mut value = Bitlist::<3>::from_iter([]); +fn test_bitlist_bitlist_4_lengthy_4() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([22]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_random_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_lengthy_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x894e8a2ce460c6c6ba12d467634e6c34ce2a1b58d0c6dfe3d98b532898c58611"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_random_1() { - let mut value = Bitlist::<2>::from_iter([false, true]); +fn test_bitlist_bitlist_4_max_0() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([15]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_random_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0e01f8d9a6720610a44a70c2c91bbe750ec6cd67892d92b1016394abfc382cf9"); + root_from_hex("0x251d8bd955c85219bb8f6de682810b4aafe3e0c3d3c624020fb39f81dbb85910"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_random_1() { - let mut value = Bitlist::<16>::from_iter([false, false]); +fn test_bitlist_bitlist_4_max_1() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_random_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_max_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); + root_from_hex("0x56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_lengthy_3() { - let mut value = Bitlist::<31>::from_iter([ - false, false, true, true, true, true, false, true, true, true, true, false, false, false, - true, false, false, true, true, true, false, false, false, false, false, true, true, true, - true, false, false, - ]); +fn test_bitlist_bitlist_4_max_2() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_lengthy_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_max_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0faa1049c965bf5a37db3b457dcc3a2ee179ef704c42a29722641b2ec3bb3658"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_nil_2() { - let mut value = Bitlist::<4>::from_iter([]); +fn test_bitlist_bitlist_4_max_3() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([31]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_nil_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -2911,258 +2502,178 @@ fn test_bitlist_bitlist_4_nil_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x4b07c3799db025f3aa92ced1e8545367a2b6e44960f479d3f9d62b61812892d5"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_max_0() { - let mut value = Bitlist::<31>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - ]); +fn test_bitlist_bitlist_4_max_4() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([7]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_max_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ebe018d5287ea5be7d789946da9587c27f5dd82d8c120a594ae0e8ddd2e21802"); + root_from_hex("0xc397e31994d6b872c69af43765ab16a1cef673be726a820dacd2637bea2f5fbb"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_lengthy_3() { - let mut value = Bitlist::<513>::from_iter([ - false, false, true, false, true, true, true, true, false, false, true, false, true, true, - true, false, true, false, true, true, true, true, true, false, false, true, true, false, - true, true, true, true, true, false, false, true, true, true, false, true, false, true, - false, true, true, true, true, false, true, false, true, false, false, true, false, false, - true, false, false, true, true, true, true, false, false, false, false, true, false, true, - false, false, true, true, true, false, false, false, false, true, true, false, true, true, - true, true, false, false, false, false, false, false, false, true, true, false, false, - true, false, false, true, true, true, false, false, false, false, true, true, false, true, - false, true, true, false, false, false, true, false, true, false, true, true, false, false, - true, false, true, false, true, true, true, true, true, true, true, false, false, true, - false, false, false, true, false, true, false, false, false, true, true, false, true, - false, false, false, false, true, false, false, false, false, true, false, true, false, - false, false, false, false, true, false, true, true, true, true, false, false, false, - false, true, true, false, false, false, true, true, true, true, true, false, true, false, - true, true, false, false, false, true, false, false, false, false, true, true, false, - false, true, true, false, true, false, true, false, true, false, true, true, false, false, - false, false, true, true, true, true, true, true, true, false, false, true, true, false, - false, true, true, false, true, true, false, false, true, true, true, true, false, false, - true, true, true, false, false, true, true, false, true, false, false, false, true, true, - true, true, true, false, true, false, true, true, true, false, true, true, false, false, - false, true, false, true, false, true, false, true, true, true, true, true, true, false, - false, false, true, true, true, true, false, true, true, false, false, false, true, false, - true, false, false, true, false, true, false, false, true, true, false, true, true, true, - false, true, true, true, false, false, false, true, true, false, false, true, false, true, - true, true, true, true, true, false, true, true, false, false, true, true, false, false, - false, true, false, false, false, false, false, true, false, false, false, true, true, - true, true, false, true, true, false, false, false, true, false, true, true, false, true, - false, true, false, true, false, false, true, false, false, true, true, true, true, false, - true, false, true, false, false, true, false, false, true, false, true, true, true, true, - true, false, true, true, false, true, true, true, false, true, true, false, true, false, - true, true, true, true, false, false, false, false, true, true, true, true, false, true, - false, false, false, false, false, true, false, true, true, true, true, false, true, true, - false, false, true, true, false, false, false, true, true, true, true, false, false, true, - true, true, true, true, true, true, false, true, false, true, true, true, false, false, - true, true, true, false, true, false, false, false, false, false, true, true, true, true, - false, false, true, true, false, false, true, true, false, true, false, false, true, true, - false, true, false, true, false, false, false, false, false, false, false, true, false, - true, true, - ]); +fn test_bitlist_bitlist_4_nil_0() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_lengthy_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_nil_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("eb5acc36387e3d3e44187bd6c086e4409fab204daa33ad40a99226dd2c487d8e"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_zero_3() { - let mut value = Bitlist::<5>::from_iter([false]); +fn test_bitlist_bitlist_4_nil_1() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_zero_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_nil_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("cb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_zero_1() { - let mut value = Bitlist::<8>::from_iter([false, false]); +fn test_bitlist_bitlist_4_nil_2() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_zero_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_nil_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_nil_2() { - let mut value = Bitlist::<513>::from_iter([]); +fn test_bitlist_bitlist_4_nil_3() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_nil_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_nil_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("28ba1834a3a7b657460ce79fa3a1d909ab8828fd557659d4d0554a9bdbc0ec30"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_zero_4() { - let mut value = Bitlist::<5>::from_iter([false, false, false, false]); +fn test_bitlist_bitlist_4_nil_4() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_zero_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_nil_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("d647eb2598d33d7216256356596d29cecd31c1ba7a7ff25ccb5be4a453410b9d"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_lengthy_4() { - let mut value = Bitlist::<513>::from_iter([ - true, false, true, true, true, true, false, false, true, false, true, true, true, false, - true, false, true, false, true, true, false, true, true, false, true, true, true, true, - false, true, true, true, false, false, false, true, true, true, true, true, true, false, - true, true, true, true, false, false, false, false, true, false, false, true, true, true, - false, true, false, false, false, false, false, true, false, true, true, true, true, true, - false, true, false, false, true, true, true, true, true, false, true, true, false, false, - true, true, true, true, true, false, true, true, true, false, true, false, true, true, - true, false, true, true, true, false, false, false, false, false, false, true, true, true, - false, true, false, false, true, true, true, true, false, true, false, true, true, false, - true, false, false, false, true, false, true, true, true, false, false, false, true, true, - false, false, true, true, true, true, true, false, false, true, true, false, true, false, - true, false, false, false, true, false, true, true, false, true, true, true, true, false, - true, true, true, false, true, false, false, true, false, true, true, false, false, false, - false, false, false, true, true, true, true, false, true, true, false, true, false, true, - true, false, true, true, true, false, true, true, false, false, true, false, false, false, - false, false, false, true, false, false, false, true, false, false, true, false, true, - false, true, false, false, false, true, false, false, false, false, true, false, true, - false, false, false, false, true, true, false, true, true, false, false, false, true, - false, true, false, false, false, false, true, true, true, false, true, true, true, false, - true, false, true, false, true, false, true, false, false, true, true, true, false, true, - false, true, false, true, false, true, true, false, false, true, false, true, false, false, - false, false, false, true, true, false, true, false, false, false, false, true, true, true, - true, true, false, true, false, true, true, false, false, false, true, true, false, true, - true, false, false, false, false, false, false, false, true, false, false, false, true, - false, false, false, true, true, false, true, false, false, true, true, true, true, false, - false, true, false, true, false, true, true, true, false, true, false, true, false, false, - false, true, true, false, true, true, false, true, true, true, false, true, false, false, - true, false, true, false, false, false, true, false, true, false, false, true, false, - false, false, true, true, false, false, true, true, true, true, true, false, true, true, - false, true, true, false, true, false, false, true, false, false, false, true, true, true, - false, true, false, true, false, true, false, false, true, true, false, false, false, - false, true, true, false, false, false, true, true, true, true, true, true, true, false, - true, true, false, true, false, false, false, false, true, true, false, false, false, true, - false, true, true, false, true, false, false, true, true, false, true, false, false, false, - false, true, false, false, true, true, false, false, false, false, true, true, true, true, - true, true, true, true, true, false, true, true, true, true, true, false, false, false, - false, false, false, true, true, false, false, true, true, true, true, false, true, true, - true, - ]); +fn test_bitlist_bitlist_4_random_0() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([13]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_lengthy_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("4edc0e0f8cb3511f8e89e5a9d73fdd50270e49aa8bfa62ffe8c8e99c161e76ba"); + root_from_hex("0xcf8ca64c265b9b6234fb7573a200745204fd04fecf680f1157f27367ee8f4aa2"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_lengthy_2() { - let mut value = Bitlist::<2>::from_iter([true, true]); +fn test_bitlist_bitlist_4_random_1() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([17]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_lengthy_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("c397e31994d6b872c69af43765ab16a1cef673be726a820dacd2637bea2f5fbb"); + root_from_hex("0xf9c5ada16029ed1580188989686f19e749c006b2eac37d3ef087b824b31ba997"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_max_2() { - let mut value = Bitlist::<2>::from_iter([true]); +fn test_bitlist_bitlist_4_random_2() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); + root_from_hex("0x56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_zero_1() { - let mut value = Bitlist::<4>::from_iter([false]); +fn test_bitlist_bitlist_4_random_3() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_zero_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_random_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -3171,16 +2682,16 @@ fn test_bitlist_bitlist_4_zero_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("cb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); + root_from_hex("0xcb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_nil_4() { - let mut value = Bitlist::<4>::from_iter([]); +fn test_bitlist_bitlist_4_random_4() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([4]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_nil_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_random_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -3189,16 +2700,16 @@ fn test_bitlist_bitlist_4_nil_4() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_nil_3() { - let mut value = Bitlist::<4>::from_iter([]); +fn test_bitlist_bitlist_4_zero_0() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([16]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_nil_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_zero_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -3207,590 +2718,648 @@ fn test_bitlist_bitlist_4_nil_3() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xd647eb2598d33d7216256356596d29cecd31c1ba7a7ff25ccb5be4a453410b9d"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_max_1() { - let mut value = Bitlist::<31>::from_iter([true]); +fn test_bitlist_bitlist_4_zero_1() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_max_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_zero_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); + root_from_hex("0xcb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_random_0() { - let mut value = - Bitlist::<16>::from_iter([false, false, true, false, true, true, false, true, true]); +fn test_bitlist_bitlist_4_zero_2() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_random_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_zero_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("eec57ef94d128f67c545a95b84f97501237ed672f583769110409b2df50bce84"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_lengthy_2() { - let mut value = Bitlist::<31>::from_iter([ - true, false, true, false, true, false, false, true, false, true, false, false, true, false, - false, true, true, true, false, false, true, false, true, false, false, false, true, true, - false, false, true, - ]); +fn test_bitlist_bitlist_4_zero_3() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([4]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_lengthy_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_zero_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("57bdf36005bb9113c2b89db95c10946d97609b3173d4397a1a74755d0c6490f8"); + root_from_hex("0x1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_random_1() { - let mut value = Bitlist::<8>::from_iter([false, false]); +fn test_bitlist_bitlist_4_zero_4() { + let mut value = Bitlist::<4>::try_from(Vec::::from_iter([16]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_random_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_4_zero_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); + root_from_hex("0xd647eb2598d33d7216256356596d29cecd31c1ba7a7ff25ccb5be4a453410b9d"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_random_0() { - let mut value = Bitlist::<3>::from_iter([false, false]); +#[should_panic] +fn test_bitlist_bitlist_512_but_513() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitlist/invalid/bitlist_512_but_513/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitlist_bitlist_512_lengthy_0() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([ + 0, 41, 128, 156, 65, 44, 152, 213, 145, 249, 231, 3, 54, 176, 161, 20, 245, 248, 201, + 32, 174, 50, 123, 243, 222, 100, 4, 130, 7, 198, 31, 26, 234, 146, 83, 208, 194, 122, + 250, 115, 56, 13, 15, 133, 57, 200, 124, 122, 73, 170, 207, 31, 194, 63, 136, 137, 67, + 132, 226, 136, 214, 24, 88, 128, 1, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_random_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_lengthy_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); + root_from_hex("0xbc152fc83f6fefea40b3b3fdf626dc1af7eaea74e6bce7aba12a6602679004e1"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_random_0() { - let mut value = Bitlist::<2>::from_iter([true]); +fn test_bitlist_bitlist_512_lengthy_1() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([ + 94, 184, 1, 99, 49, 235, 82, 205, 193, 182, 48, 217, 245, 230, 218, 190, 200, 144, 130, + 53, 80, 167, 110, 209, 85, 249, 213, 138, 164, 151, 175, 125, 200, 249, 196, 207, 214, + 174, 199, 72, 133, 65, 202, 173, 121, 9, 100, 29, 6, 211, 31, 222, 177, 39, 51, 58, 37, + 173, 90, 222, 24, 104, 3, 232, 1, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_random_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_lengthy_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); + root_from_hex("0x2b28c2217c3f1f99e0c5ad46c77be392323ae7c6e68612e6b1701e762a0285e7"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_max_3() { - let mut value = Bitlist::<4>::from_iter([true, true, true, true]); +fn test_bitlist_bitlist_512_lengthy_2() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([ + 161, 54, 224, 29, 250, 19, 154, 61, 234, 110, 180, 240, 239, 156, 21, 64, 107, 106, 17, + 233, 80, 37, 181, 67, 39, 44, 105, 232, 196, 133, 9, 158, 189, 240, 53, 62, 87, 32, + 162, 166, 95, 142, 186, 239, 32, 16, 225, 190, 107, 170, 72, 24, 81, 252, 124, 121, + 154, 69, 9, 186, 172, 147, 135, 220, 1, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_max_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_lengthy_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("4b07c3799db025f3aa92ced1e8545367a2b6e44960f479d3f9d62b61812892d5"); + root_from_hex("0x04d0ff41239e5365cafa09c58dedb823eb13cb4912afea9fc26a658b955a4594"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_random_3() { - let mut value = Bitlist::<1>::from_iter([]); +fn test_bitlist_bitlist_512_lengthy_3() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([ + 7, 77, 193, 97, 6, 198, 213, 2, 67, 206, 135, 31, 250, 188, 197, 117, 43, 158, 239, + 119, 214, 235, 178, 157, 44, 138, 110, 35, 81, 248, 201, 84, 190, 88, 184, 122, 203, + 27, 77, 169, 14, 235, 229, 112, 105, 217, 5, 207, 151, 239, 101, 112, 49, 80, 124, 19, + 32, 179, 8, 81, 221, 223, 225, 108, 1, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_lengthy_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x57d984dd8dc742665160586d43e684d59f48ea2fbf7ff6fc6742cdcf050bea09"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_nil_1() { - let mut value = Bitlist::<31>::from_iter([]); +fn test_bitlist_bitlist_512_lengthy_4() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([ + 18, 50, 181, 231, 116, 52, 232, 102, 4, 191, 32, 1, 249, 166, 102, 194, 183, 79, 119, + 8, 192, 206, 36, 45, 150, 71, 35, 141, 185, 152, 251, 167, 194, 89, 90, 22, 11, 201, + 96, 126, 130, 62, 114, 237, 146, 167, 254, 2, 60, 134, 87, 216, 0, 37, 182, 251, 107, + 210, 41, 13, 21, 196, 118, 247, 1, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_nil_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_lengthy_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x28933deb812002abaf34c610f6b2f77cb8acbc617d5a8f8a320ca4813c29fea2"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_max_4() { - let mut value = Bitlist::<4>::from_iter([true, true]); +fn test_bitlist_bitlist_512_max_0() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 7, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_max_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("c397e31994d6b872c69af43765ab16a1cef673be726a820dacd2637bea2f5fbb"); + root_from_hex("0xbbf3224946b87b12d7c3c24d4887a1a1bdb6afd356e3fb40bfa7a42cd0a7d478"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_random_4() { - let mut value = Bitlist::<1>::from_iter([true]); +fn test_bitlist_bitlist_512_max_1() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_max_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); + root_from_hex("0xca6250f3556974d64650a327c0551859f706d9778399caff8a6be920d88fb39f"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_nil_2() { - let mut value = Bitlist::<2>::from_iter([]); +fn test_bitlist_bitlist_512_max_2() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 127, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_nil_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_max_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x08e61443f630601ca65f47622a47ef029baad7a757f3f1d10de0098c9add4589"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_max_2() { - let mut value = Bitlist::<513>::from_iter([true, true, true, true, true, true, true, true]); +fn test_bitlist_bitlist_512_max_3() { + let mut value = + Bitlist::<512>::try_from(Vec::::from_iter([255, 255, 255, 255, 255, 255, 7]).as_ref()) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("848557322ff06141bbb7ac657b15c24e6300986a5ff8ce878ef4b198c0bd51b0"); + root_from_hex("0x8cbf50b584a296a316a71c486b4d4e1fd94edae9bf75f1aff71b8f609dc8352c"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_lengthy_3() { - let mut value = Bitlist::<16>::from_iter([ - true, false, false, true, false, false, false, true, true, true, false, false, false, - false, false, false, - ]); +fn test_bitlist_bitlist_512_max_4() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_lengthy_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_max_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("50fea858f788bbc2f17f809e05682bf855493a7b8c594f4c2342b469ac7bdb53"); + root_from_hex("0x1bb7ab569c8b46d1e40884241195c1369ea760bf957583d3a78a4315c0e2f495"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_lengthy_4() { - let mut value = Bitlist::<4>::from_iter([false, true, true, false]); +fn test_bitlist_bitlist_512_nil_0() { + let mut value = Bitlist::<512>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_lengthy_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_nil_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("894e8a2ce460c6c6ba12d467634e6c34ce2a1b58d0c6dfe3d98b532898c58611"); + root_from_hex("0x7a0501f5957bdf9cb3a8ff4966f02265f968658b7a9c62642cba1165e86642f5"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_lengthy_3() { - let mut value = Bitlist::<4>::from_iter([true, false, false, false]); +fn test_bitlist_bitlist_512_nil_1() { + let mut value = Bitlist::<512>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_lengthy_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_nil_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f9c5ada16029ed1580188989686f19e749c006b2eac37d3ef087b824b31ba997"); + root_from_hex("0x7a0501f5957bdf9cb3a8ff4966f02265f968658b7a9c62642cba1165e86642f5"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_lengthy_4() { - let mut value = Bitlist::<16>::from_iter([ - false, true, true, true, true, false, false, false, true, false, false, false, true, false, - true, true, - ]); +fn test_bitlist_bitlist_512_nil_2() { + let mut value = Bitlist::<512>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_lengthy_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_nil_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("983039dcf7ee961e2a2c1b1d0b57ad04491b8674c0f9f6dc326244e48dacd851"); + root_from_hex("0x7a0501f5957bdf9cb3a8ff4966f02265f968658b7a9c62642cba1165e86642f5"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_max_2() { - let mut value = Bitlist::<4>::from_iter([]); +fn test_bitlist_bitlist_512_nil_3() { + let mut value = Bitlist::<512>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_nil_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x7a0501f5957bdf9cb3a8ff4966f02265f968658b7a9c62642cba1165e86642f5"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_random_2() { - let mut value = Bitlist::<1>::from_iter([]); +fn test_bitlist_bitlist_512_nil_4() { + let mut value = Bitlist::<512>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_nil_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x7a0501f5957bdf9cb3a8ff4966f02265f968658b7a9c62642cba1165e86642f5"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_nil_0() { - let mut value = Bitlist::<31>::from_iter([]); +fn test_bitlist_bitlist_512_random_0() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([ + 159, 193, 65, 83, 153, 201, 138, 172, 149, 135, 213, 123, 40, 144, 145, 240, 5, 101, + 30, 231, 103, 140, 116, 89, 117, 244, 128, 217, 64, 252, 136, 195, 115, 226, 161, 234, + 156, 221, 9, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_nil_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xd01782fa00046d31ecef1828d806bc82a0635ba68a829abaea5bc5e83cfc3b39"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_max_4() { - let mut value = Bitlist::<513>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - ]); +fn test_bitlist_bitlist_512_random_1() { + let mut value = + Bitlist::<512>::try_from(Vec::::from_iter([138, 214, 36, 127, 4, 4]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_max_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("e05d10ac23b945573dca5263c13a7eaf50854397bf48f920175a10509bf65ecf"); + root_from_hex("0x4979bcefe3ded00d52ea1342595d1390e372a93c4acf10ed2c3c1fc604d1a92e"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_lengthy_2() { - let mut value = Bitlist::<4>::from_iter([true, true, true, false]); +fn test_bitlist_bitlist_512_random_2() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([ + 55, 212, 241, 100, 234, 188, 0, 34, 27, 192, 190, 127, 91, 209, 229, 142, 167, 28, 205, + 84, 238, 210, 242, 138, 164, 125, 156, 167, 143, 125, 166, 47, 243, 117, 126, 131, 242, + 82, 247, 247, 109, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_lengthy_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("374bd7c88680671ad4be6e1b576db80646d992d893a5eeb1d1d0f403c3331b32"); + root_from_hex("0x0885e8d339f7016801875ef256eb180be417810e6151703137877f68926952f5"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_max_3() { - let mut value = Bitlist::<513>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, - ]); +fn test_bitlist_bitlist_512_random_3() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([ + 114, 184, 230, 175, 17, 28, 190, 227, 166, 99, 92, 23, 192, 50, 85, 247, 116, 227, 60, + 162, 196, 86, 135, 217, 176, 85, 95, 52, 220, 1, 21, 183, 204, 52, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_max_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_random_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("a575735c9960d438c8bdd59d05fedefce22f8e5b77b09efb5b4e9942b847468e"); + root_from_hex("0x0c24b4aa44483bc91415618c8d23fa1ec87cbbf57dd1747ac001513f3ddeea8c"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_lengthy_2() { - let mut value = Bitlist::<16>::from_iter([ - true, false, false, false, false, true, false, true, true, true, true, false, true, false, - false, true, - ]); +fn test_bitlist_bitlist_512_random_4() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([ + 96, 46, 1, 71, 234, 203, 14, 250, 120, 192, 34, 73, 169, 192, 182, 165, 161, 213, 114, + 128, 250, 72, 183, 182, 164, 2, 138, 211, 54, 233, 137, 237, 21, 53, 242, 229, 217, 36, + 123, 228, 172, 63, 139, 69, 245, 130, 136, 245, 70, 77, 6, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_lengthy_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_random_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("fc0027195d4d241e8d3111d41d749a46f62e2d0e78aa503b856774abe6b7e6c3"); + root_from_hex("0x813ccb937403bbd02d4ce9cd7e101c3bf3214ed4a1d8c11199288fbcdca45860"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_nil_3() { - let mut value = Bitlist::<2>::from_iter([]); +fn test_bitlist_bitlist_512_zero_0() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_nil_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_zero_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xb9622f5ac7a4f2982e31494019e6fc83a8510ba1313084df18fe74cfd63fff28"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_nil_4() { - let mut value = Bitlist::<2>::from_iter([]); +fn test_bitlist_bitlist_512_zero_1() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_nil_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_zero_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x4d8dddd9769fcea91305afd9f96b9b187ad7dbd994a67cea4eeb7e2c0348c292"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_lengthy_3() { - let mut value = Bitlist::<3>::from_iter([false, false, true]); +fn test_bitlist_bitlist_512_zero_2() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_lengthy_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_zero_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("d3156136ef0ebd0cb8945f7c18cfe8ad539d08d8703744bc11371e49e6a4d9ad"); + root_from_hex("0x0f4ea9e6bc6fce537e76838bafa08072aec839c4acc1d3a8c62bb4a253a0a451"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_lengthy_2() { - let mut value = Bitlist::<512>::from_iter([ - true, false, false, false, false, true, false, true, false, true, true, false, true, true, - false, false, false, false, false, false, false, true, true, true, true, false, true, true, - true, false, false, false, false, true, false, true, true, true, true, true, true, true, - false, false, true, false, false, false, false, true, false, true, true, false, false, - true, true, false, true, true, true, true, false, false, false, true, false, true, false, - true, true, true, false, true, true, true, false, true, true, false, false, false, true, - false, true, true, false, true, false, false, false, false, true, true, true, true, true, - true, true, true, false, true, true, true, false, false, true, true, true, false, false, - true, true, false, true, false, true, false, false, false, false, false, false, false, - false, false, true, false, true, true, false, true, false, true, true, false, false, true, - false, true, false, true, true, false, true, false, false, false, true, false, false, - false, true, false, false, true, false, true, true, true, false, false, false, false, true, - false, true, false, true, false, true, false, false, true, false, false, true, false, true, - false, true, true, false, true, true, true, false, false, false, false, true, false, true, - true, true, false, false, true, false, false, false, false, true, true, false, true, false, - false, true, false, false, true, false, true, true, false, false, false, false, true, - false, true, true, true, false, false, true, false, false, false, true, true, true, false, - true, false, false, false, false, true, true, false, false, true, false, false, false, - false, false, true, true, true, true, false, false, true, true, false, true, true, true, - true, false, true, false, false, false, false, true, true, true, true, true, false, true, - false, true, true, false, false, false, true, true, true, true, true, false, false, true, - true, true, false, true, false, true, false, false, false, false, false, false, true, - false, false, false, true, false, false, false, true, false, true, false, true, true, - false, false, true, false, true, true, true, true, true, true, false, true, false, false, - true, true, true, false, false, false, true, false, true, false, true, true, true, false, - true, true, true, true, true, false, true, true, true, false, false, false, false, false, - true, false, false, false, false, false, false, true, false, false, false, true, false, - false, false, false, true, true, true, false, true, true, true, true, true, false, true, - true, true, false, true, false, true, true, false, false, true, false, true, false, true, - false, true, false, false, false, true, false, false, true, false, false, false, false, - true, true, false, false, false, true, false, false, false, true, false, true, false, - false, false, true, true, true, true, true, true, false, false, true, true, true, true, - true, false, true, false, false, true, true, true, true, false, false, true, false, true, - true, false, false, true, true, false, true, false, false, false, true, false, true, false, - false, true, false, false, false, false, false, true, false, true, true, true, false, true, - false, false, true, true, false, true, false, true, true, true, false, false, true, false, - false, true, true, true, true, false, false, false, false, true, false, false, true, true, - true, false, true, true, - ]); +fn test_bitlist_bitlist_512_zero_3() { + let mut value = Bitlist::<512>::try_from( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_lengthy_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_zero_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -3799,221 +3368,214 @@ fn test_bitlist_bitlist_512_lengthy_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("04d0ff41239e5365cafa09c58dedb823eb13cb4912afea9fc26a658b955a4594"); + root_from_hex("0xec7fd7a922a87b641e3c8e0f2b092b1f470050c14409fcd95985c07024a429f4"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_max_2() { - let mut value = Bitlist::<3>::from_iter([true]); +fn test_bitlist_bitlist_512_zero_4() { + let mut value = + Bitlist::<512>::try_from(Vec::::from_iter([0, 0, 0, 0, 0, 0, 0, 0, 64]).as_ref()) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_512_zero_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); + root_from_hex("0xc3f35acbdbda16dc35969a4b0c817b2a7c9f8b037ace72cae4efb76797d8d4c4"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_lengthy_0() { - let mut value = Bitlist::<1>::from_iter([true]); +fn test_bitlist_bitlist_513_lengthy_0() { + let mut value = Bitlist::<513>::try_from( + Vec::::from_iter([ + 104, 108, 147, 82, 247, 10, 41, 236, 81, 255, 119, 145, 12, 63, 124, 131, 21, 211, 196, + 125, 161, 242, 222, 193, 156, 133, 68, 174, 17, 238, 8, 37, 152, 152, 73, 25, 20, 138, + 193, 14, 66, 255, 230, 219, 249, 201, 221, 230, 58, 9, 88, 144, 122, 242, 200, 100, + 120, 253, 195, 182, 78, 240, 62, 161, 3, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_lengthy_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_lengthy_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); + root_from_hex("0x77184930e328732d5413240f6114e269a9df6573d8b177f03d328eda7d3ffae2"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_lengthy_4() { - let mut value = Bitlist::<3>::from_iter([true, true, true]); +fn test_bitlist_bitlist_513_lengthy_1() { + let mut value = Bitlist::<513>::try_from( + Vec::::from_iter([ + 57, 91, 36, 187, 64, 156, 244, 32, 187, 84, 133, 47, 148, 184, 58, 241, 3, 82, 62, 202, + 39, 171, 189, 7, 100, 10, 34, 56, 58, 210, 187, 14, 160, 147, 70, 195, 165, 234, 63, + 243, 142, 222, 152, 229, 18, 60, 152, 242, 150, 6, 32, 123, 82, 162, 21, 224, 58, 228, + 227, 130, 41, 232, 50, 185, 2, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_lengthy_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_lengthy_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("251d8bd955c85219bb8f6de682810b4aafe3e0c3d3c624020fb39f81dbb85910"); + root_from_hex("0x10041d4cf07da1077e84c9b5c01fa6d5f29ba8feb934ebdf7ca184a2857cdf55"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_max_1() { - let mut value = Bitlist::<8>::from_iter([true, true, true, true, true, true, true, true]); +fn test_bitlist_bitlist_513_lengthy_2() { + let mut value = Bitlist::<513>::try_from( + Vec::::from_iter([ + 33, 218, 166, 15, 249, 225, 154, 205, 6, 215, 100, 77, 14, 16, 207, 196, 191, 216, 118, + 102, 63, 223, 211, 47, 81, 105, 148, 151, 230, 101, 199, 64, 63, 199, 177, 176, 74, + 254, 199, 162, 209, 75, 55, 176, 61, 59, 169, 236, 252, 244, 75, 182, 82, 229, 252, + 234, 204, 44, 217, 9, 45, 153, 103, 197, 2, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_max_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_lengthy_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("017d2fa0f6934ed2354e4cdb7a2230ccf8f31fe758c7a47442e37fdea1d68bfe"); + root_from_hex("0xfcc1fb245d5eae1370c4cfaf51a23a68d24fc931eb75d8e3b337eadf1c94b4be"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_nil_2() { - let mut value = Bitlist::<512>::from_iter([]); +fn test_bitlist_bitlist_513_lengthy_3() { + let mut value = Bitlist::<513>::try_from( + Vec::::from_iter([ + 244, 116, 125, 246, 185, 122, 37, 121, 40, 135, 61, 96, 114, 88, 163, 166, 254, 68, + 177, 16, 10, 122, 24, 95, 35, 204, 170, 225, 207, 108, 158, 179, 248, 186, 81, 253, + 120, 163, 148, 221, 49, 253, 102, 4, 241, 70, 171, 228, 149, 244, 237, 214, 195, 11, + 122, 51, 158, 191, 206, 5, 207, 44, 43, 160, 3, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_nil_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_lengthy_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("7a0501f5957bdf9cb3a8ff4966f02265f968658b7a9c62642cba1165e86642f5"); + root_from_hex("0xeb5acc36387e3d3e44187bd6c086e4409fab204daa33ad40a99226dd2c487d8e"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_zero_3() { - let mut value = Bitlist::<31>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, - ]); +fn test_bitlist_bitlist_513_lengthy_4() { + let mut value = Bitlist::<513>::try_from( + Vec::::from_iter([ + 61, 93, 109, 239, 248, 61, 228, 130, 190, 124, 243, 93, 119, 224, 242, 90, 116, 204, + 103, 69, 123, 151, 6, 222, 218, 77, 32, 82, 17, 10, 27, 133, 187, 42, 87, 77, 193, 194, + 215, 216, 128, 136, 229, 169, 43, 182, 75, 81, 98, 190, 45, 113, 149, 97, 252, 45, 140, + 150, 133, 12, 255, 125, 96, 222, 3, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_zero_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_lengthy_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("04997ec49450b710d4d92e2e6e92c47b193b0ec6f841d7d692bf0f410cbc7269"); + root_from_hex("0x4edc0e0f8cb3511f8e89e5a9d73fdd50270e49aa8bfa62ffe8c8e99c161e76ba"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_zero_4() { - let mut value = Bitlist::<31>::from_iter([false, false]); +fn test_bitlist_bitlist_513_max_0() { + let mut value = Bitlist::<513>::try_from( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 7, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_zero_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); + root_from_hex("0x3116c9a3fab7c6ebf0978f8ef07aa2c27ea9c79887d773980a39b95e5c035593"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_random_2() { - let mut value = Bitlist::<512>::from_iter([ - true, true, true, false, true, true, false, false, false, false, true, false, true, false, - true, true, true, false, false, false, true, true, true, true, false, false, true, false, - false, true, true, false, false, true, false, true, false, true, true, true, false, false, - true, true, true, true, false, true, false, false, false, false, false, false, false, - false, false, true, false, false, false, true, false, false, true, true, false, true, true, - false, false, false, false, false, false, false, false, false, true, true, false, true, - true, true, true, true, false, true, true, true, true, true, true, true, true, false, true, - true, false, true, true, false, true, false, true, false, false, false, true, false, true, - true, true, false, true, false, false, true, true, true, false, true, true, true, false, - false, false, true, true, true, true, false, false, true, false, true, false, false, true, - true, true, false, false, false, true, false, true, true, false, false, true, true, false, - false, true, false, true, false, true, false, false, true, true, true, false, true, true, - true, false, true, false, false, true, false, true, true, false, true, false, false, true, - true, true, true, false, true, false, true, false, false, false, true, false, false, true, - false, false, true, false, true, true, false, true, true, true, true, true, false, false, - false, true, true, true, false, false, true, true, true, true, false, false, true, false, - true, true, true, true, true, false, false, false, true, true, false, true, true, true, - true, true, false, false, true, true, false, false, true, false, true, true, true, true, - true, false, true, false, false, true, true, false, false, true, true, true, true, true, - false, true, false, true, true, true, false, false, true, true, true, true, true, true, - false, true, true, false, false, false, false, false, true, false, true, false, false, - true, true, true, true, false, true, false, false, true, false, true, false, true, true, - true, false, true, true, true, true, true, true, true, false, true, true, true, true, true, - false, true, true, false, true, - ]); +fn test_bitlist_bitlist_513_max_1() { + let mut value = Bitlist::<513>::try_from(Vec::::from_iter([127]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_max_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0885e8d339f7016801875ef256eb180be417810e6151703137877f68926952f5"); + root_from_hex("0xb00f282b126680bcbd302d657b117dc32294c4cb586f76c244932141012e6a82"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_random_2() { - let mut value = Bitlist::<513>::from_iter([ - false, true, false, true, true, true, false, true, true, true, true, true, false, false, - true, false, true, false, true, false, false, true, true, true, true, true, false, false, - false, true, true, false, true, false, false, false, false, true, true, true, false, true, - false, false, true, true, true, false, true, false, true, true, true, true, true, true, - true, true, false, true, false, true, true, true, false, true, false, true, true, false, - false, true, false, false, true, false, true, true, true, false, true, true, false, false, - true, true, false, true, false, false, true, true, true, true, false, false, false, false, - false, true, true, false, false, true, true, false, true, true, false, true, true, false, - true, true, true, false, true, true, true, false, false, true, false, true, false, true, - false, true, true, false, true, true, true, false, true, false, true, true, true, true, - true, true, false, false, false, true, true, true, false, true, false, true, false, true, - false, false, false, true, false, true, true, false, false, false, true, true, false, true, - false, true, true, false, true, true, false, true, true, false, false, true, true, false, - true, false, false, false, true, true, false, false, false, false, true, false, false, - false, true, false, false, true, false, false, true, true, false, false, false, true, true, - true, true, true, true, false, true, false, false, false, true, true, false, true, false, - false, false, true, true, true, false, false, false, true, true, true, true, true, false, - true, true, true, true, false, false, false, true, true, false, false, false, true, false, - true, false, false, true, false, true, false, false, true, false, false, true, false, true, - false, true, false, true, true, false, true, false, true, false, false, true, false, false, - true, false, false, false, false, true, true, true, true, true, false, false, false, false, - false, true, false, false, true, true, false, false, true, false, true, true, true, false, - true, true, true, true, true, true, false, false, true, true, true, true, false, true, - true, true, false, true, true, true, false, false, false, true, false, false, true, true, - false, true, true, false, false, false, false, false, false, false, true, false, true, - false, true, true, false, false, true, false, false, false, false, false, false, false, - false, false, true, true, false, true, false, true, false, false, true, true, true, false, - false, true, false, true, false, false, false, true, true, true, false, false, false, - false, false, false, false, false, false, true, false, true, true, true, true, false, true, - false, false, false, true, true, false, false, true, true, false, false, false, false, - true, false, true, true, true, true, false, true, - ]); +fn test_bitlist_bitlist_513_max_2() { + let mut value = Bitlist::<513>::try_from(Vec::::from_iter([255, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_max_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -4022,29 +3584,24 @@ fn test_bitlist_bitlist_513_random_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("bb76eb1bab23fc2865c84717251e4305221771924259082d793d3bbaa6444ba1"); + root_from_hex("0x848557322ff06141bbb7ac657b15c24e6300986a5ff8ce878ef4b198c0bd51b0"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_zero_3() { - let mut value = Bitlist::<513>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, - ]); +fn test_bitlist_bitlist_513_max_3() { + let mut value = Bitlist::<513>::try_from( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_zero_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -4053,111 +3610,94 @@ fn test_bitlist_bitlist_513_zero_3() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("54bfe2c647e52bf3897cff9675165d53f277e1f7dbd7c620f630a2deb02ce0c8"); + root_from_hex("0xa575735c9960d438c8bdd59d05fedefce22f8e5b77b09efb5b4e9942b847468e"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_zero_4() { - let mut value = Bitlist::<3>::from_iter([]); +fn test_bitlist_bitlist_513_max_4() { + let mut value = Bitlist::<513>::try_from( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 1, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_zero_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_max_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xe05d10ac23b945573dca5263c13a7eaf50854397bf48f920175a10509bf65ecf"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_max_3() { - let mut value = Bitlist::<1>::from_iter([true]); +fn test_bitlist_bitlist_513_nil_0() { + let mut value = Bitlist::<513>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_max_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_nil_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); + root_from_hex("0x28ba1834a3a7b657460ce79fa3a1d909ab8828fd557659d4d0554a9bdbc0ec30"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_max_4() { - let mut value = Bitlist::<1>::from_iter([true]); +fn test_bitlist_bitlist_513_nil_1() { + let mut value = Bitlist::<513>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_max_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_nil_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); + root_from_hex("0x28ba1834a3a7b657460ce79fa3a1d909ab8828fd557659d4d0554a9bdbc0ec30"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_zero_3() { - let mut value = Bitlist::<3>::from_iter([false, false, false]); +fn test_bitlist_bitlist_513_nil_2() { + let mut value = Bitlist::<513>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_zero_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_nil_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("d86ae2ca925345bf2412bde450ac175742d979c1ea7b961bd1efe10beb9500cf"); + root_from_hex("0x28ba1834a3a7b657460ce79fa3a1d909ab8828fd557659d4d0554a9bdbc0ec30"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_zero_4() { - let mut value = Bitlist::<513>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, - ]); +fn test_bitlist_bitlist_513_nil_3() { + let mut value = Bitlist::<513>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_zero_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_nil_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -4166,437 +3706,344 @@ fn test_bitlist_bitlist_513_zero_4() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("9b7d4ffa3720c8ea2c66e59f1890a83c86ef2b4442a5ebe6d757fb4cbe0b3231"); + root_from_hex("0x28ba1834a3a7b657460ce79fa3a1d909ab8828fd557659d4d0554a9bdbc0ec30"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_max_0() { - let mut value = Bitlist::<16>::from_iter([true, true, true, true, true, true, true, true]); +fn test_bitlist_bitlist_513_nil_4() { + let mut value = Bitlist::<513>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_nil_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("017d2fa0f6934ed2354e4cdb7a2230ccf8f31fe758c7a47442e37fdea1d68bfe"); + root_from_hex("0x28ba1834a3a7b657460ce79fa3a1d909ab8828fd557659d4d0554a9bdbc0ec30"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_zero_1() { - let mut value = Bitlist::<2>::from_iter([]); +fn test_bitlist_bitlist_513_random_0() { + let mut value = Bitlist::<513>::try_from( + Vec::::from_iter([176, 215, 228, 180, 55, 102, 22, 56, 171, 0, 210, 26]).as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_zero_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x62110ea980c0e8b321149e2681d66a3c9ca6d2af615ed3f7b2ea1f950519cee3"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_nil_3() { - let mut value = Bitlist::<5>::from_iter([]); +fn test_bitlist_bitlist_513_random_1() { + let mut value = Bitlist::<513>::try_from( + Vec::::from_iter([ + 245, 161, 103, 135, 184, 153, 184, 107, 212, 115, 240, 116, 67, 139, 183, 180, 192, 56, + 42, 59, 93, 140, 253, 38, 235, 169, 190, 107, 72, 235, 179, 66, 239, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_nil_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x339f84a3e78443af74c3ea49f06c6d1933f3b4e3440dc631820662651085a306"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_nil_4() { - let mut value = Bitlist::<5>::from_iter([]); +fn test_bitlist_bitlist_513_random_2() { + let mut value = Bitlist::<513>::try_from( + Vec::::from_iter([ + 186, 79, 229, 99, 225, 114, 253, 235, 154, 116, 179, 60, 152, 109, 119, 170, 93, 63, + 174, 162, 177, 182, 89, 12, 145, 140, 95, 44, 142, 239, 49, 74, 73, 181, 146, 240, 65, + 166, 251, 121, 119, 100, 3, 106, 2, 88, 57, 197, 1, 244, 98, 134, 222, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_nil_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xbb76eb1bab23fc2865c84717251e4305221771924259082d793d3bbaa6444ba1"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_zero_1() { - let mut value = Bitlist::<512>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, - ]); +fn test_bitlist_bitlist_513_random_3() { + let mut value = + Bitlist::<513>::try_from(Vec::::from_iter([218, 86, 210, 218]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_zero_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_random_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("4d8dddd9769fcea91305afd9f96b9b187ad7dbd994a67cea4eeb7e2c0348c292"); + root_from_hex("0x32370b95731ef776a513ca5ef154a83ba935260f2f4bdbba23c21b33e12f7b62"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_nil_4() { - let mut value = Bitlist::<512>::from_iter([]); +fn test_bitlist_bitlist_513_random_4() { + let mut value = Bitlist::<513>::try_from( + Vec::::from_iter([104, 76, 185, 82, 136, 235, 228, 30, 187, 193, 232, 34, 2]).as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_nil_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_random_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("7a0501f5957bdf9cb3a8ff4966f02265f968658b7a9c62642cba1165e86642f5"); + root_from_hex("0xba02d7073304a825d35943f503cb081434b0b49713afdff5b5a6ab1f46d14171"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_nil_3() { - let mut value = Bitlist::<512>::from_iter([]); +fn test_bitlist_bitlist_513_zero_0() { + let mut value = Bitlist::<513>::try_from( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_nil_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_zero_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("7a0501f5957bdf9cb3a8ff4966f02265f968658b7a9c62642cba1165e86642f5"); + root_from_hex("0x3f398072fb9acafba24683799d8250de322a96a12e3016134220db24526b372d"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_max_0() { - let mut value = Bitlist::<8>::from_iter([true, true, true, true, true, true, true, true]); +fn test_bitlist_bitlist_513_zero_1() { + let mut value = Bitlist::<513>::try_from( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_zero_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("017d2fa0f6934ed2354e4cdb7a2230ccf8f31fe758c7a47442e37fdea1d68bfe"); + root_from_hex("0x25f3b33649409489b22232a7706a5ae5c4f5b62cadee098a758d3fa16d1087d2"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_zero_2() { - let mut value = Bitlist::<31>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, - ]); +fn test_bitlist_bitlist_513_zero_2() { + let mut value = + Bitlist::<513>::try_from(Vec::::from_iter([0, 0, 0, 0, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_zero_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("967293ee9d7ba679c3ef076bef139e2ceb96d45d19a624cc59bb5a3c1649ce38"); + root_from_hex("0x38ab4aeb5726a3fb78af0101063f2586905c3e8466206bfc8777f44ed9e6ef20"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_lengthy_3() { - let mut value = Bitlist::<512>::from_iter([ - true, true, true, false, false, false, false, false, true, false, true, true, false, false, - true, false, true, false, false, false, false, false, true, true, true, false, false, - false, false, true, true, false, false, true, true, false, false, false, false, false, - false, true, true, false, false, false, true, true, true, false, true, false, true, false, - true, true, false, true, false, false, false, false, false, false, true, true, false, - false, false, false, true, false, false, true, true, true, false, false, true, true, true, - true, true, false, false, false, false, true, true, true, true, true, true, false, false, - false, false, true, false, true, true, true, true, true, false, false, true, true, true, - true, false, true, true, false, true, false, false, false, true, true, true, false, true, - false, true, true, true, false, true, true, false, true, false, true, false, false, false, - true, true, true, true, false, false, true, true, true, true, true, false, true, true, - true, true, true, true, false, true, true, true, false, false, true, true, false, true, - false, true, true, true, true, false, true, false, true, true, true, false, true, false, - false, true, true, false, true, true, false, true, true, true, false, false, true, false, - false, true, true, false, true, false, false, false, true, false, true, false, false, - false, true, false, true, true, true, false, true, true, false, true, true, false, false, - false, true, false, false, true, false, false, false, true, false, true, false, false, - false, false, true, true, true, true, true, true, false, false, true, false, false, true, - true, false, false, true, false, true, false, true, false, false, true, true, true, true, - true, false, true, false, false, false, true, true, false, true, false, false, false, - false, true, true, true, false, true, false, true, false, true, true, true, true, false, - true, true, false, true, false, false, true, true, true, true, false, true, true, false, - false, false, true, false, true, true, false, false, true, false, true, false, false, true, - false, true, false, true, false, true, true, true, false, false, false, false, true, true, - false, true, false, true, true, true, true, false, true, false, false, true, true, true, - false, false, false, false, true, true, true, false, true, false, false, true, false, true, - true, false, true, false, false, true, true, false, true, true, true, false, true, false, - false, false, false, false, true, true, true, true, false, false, true, true, true, true, - true, false, true, false, false, true, true, true, true, true, false, true, true, true, - true, false, true, false, false, true, true, false, false, false, false, false, true, true, - true, false, true, false, false, false, true, true, false, false, false, false, false, - false, true, false, true, false, false, false, true, true, true, true, true, false, true, - true, false, false, true, false, false, false, false, false, false, false, false, true, - false, false, true, true, false, false, true, true, false, true, false, false, false, true, - false, false, false, false, true, false, false, false, true, false, true, false, true, - false, true, true, true, false, true, true, true, true, true, true, true, false, true, - true, true, false, false, false, false, true, true, true, false, false, true, true, false, - true, true, false, - ]); +fn test_bitlist_bitlist_513_zero_3() { + let mut value = Bitlist::<513>::try_from( + Vec::::from_iter([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4]).as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_lengthy_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_zero_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("57d984dd8dc742665160586d43e684d59f48ea2fbf7ff6fc6742cdcf050bea09"); + root_from_hex("0x54bfe2c647e52bf3897cff9675165d53f277e1f7dbd7c620f630a2deb02ce0c8"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_lengthy_1() { - let mut value = Bitlist::<1>::from_iter([true]); +fn test_bitlist_bitlist_513_zero_4() { + let mut value = Bitlist::<513>::try_from( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 64, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_lengthy_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_513_zero_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); + root_from_hex("0x9b7d4ffa3720c8ea2c66e59f1890a83c86ef2b4442a5ebe6d757fb4cbe0b3231"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_max_3() { - let mut value = Bitlist::<3>::from_iter([true]); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_max_3/serialized.ssz_snappy", +#[should_panic] +fn test_bitlist_bitlist_5_but_6() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitlist/invalid/bitlist_5_but_6/serialized.ssz_snappy", ); - assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); - assert_eq!(root, expected_root); + deserialize::>(&encoding); } #[test] -fn test_bitlist_bitlist_3_max_4() { - let mut value = Bitlist::<3>::from_iter([true, true]); +fn test_bitlist_bitlist_5_lengthy_0() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([36]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_max_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_lengthy_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("c397e31994d6b872c69af43765ab16a1cef673be726a820dacd2637bea2f5fbb"); + root_from_hex("0xbd50456d5ad175ae99a1612a53ca229124b65d3eaabd9ff9c7ab979a385cf6b3"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_lengthy_4() { - let mut value = Bitlist::<512>::from_iter([ - false, true, false, false, true, false, false, false, false, true, false, false, true, - true, false, false, true, false, true, false, true, true, false, true, true, true, true, - false, false, true, true, true, false, false, true, false, true, true, true, false, false, - false, true, false, true, true, false, false, false, false, false, true, false, true, true, - true, false, true, true, false, false, true, true, false, false, false, true, false, false, - false, false, false, true, true, true, true, true, true, false, true, false, false, false, - false, false, true, false, false, true, false, false, false, false, false, false, false, - true, false, false, true, true, true, true, true, false, true, true, false, false, true, - false, true, false, true, true, false, false, true, true, false, false, true, false, false, - false, false, true, true, true, true, true, false, true, true, false, true, true, true, - true, true, false, false, true, false, true, true, true, false, true, true, true, false, - false, false, false, true, false, false, false, false, false, false, false, false, false, - false, true, true, false, true, true, true, false, false, true, true, false, false, true, - false, false, true, false, false, true, false, true, true, false, true, false, false, - false, true, true, false, true, false, false, true, true, true, true, false, false, false, - true, false, true, true, false, false, false, true, false, false, true, false, true, true, - false, false, false, true, true, false, false, true, true, true, false, true, false, false, - false, true, true, false, false, true, true, true, false, true, true, true, true, true, - true, true, true, false, false, true, false, true, false, true, false, false, false, false, - true, true, true, false, false, true, true, false, true, false, false, true, false, true, - true, false, true, false, false, true, true, false, true, false, false, false, true, true, - false, true, false, false, false, false, true, false, false, true, false, false, true, - true, false, false, false, false, false, true, true, false, false, true, true, true, true, - true, true, false, false, true, false, false, false, false, false, true, false, true, true, - true, true, true, false, false, false, true, false, false, true, true, true, false, true, - false, true, true, false, true, true, true, false, true, false, false, true, false, false, - true, true, true, true, false, false, true, false, true, false, true, true, true, true, - true, true, true, false, true, false, false, false, false, false, false, false, false, - true, true, true, true, false, false, false, true, true, false, false, false, false, true, - true, true, true, false, true, false, true, false, false, false, false, true, true, false, - true, true, false, false, false, false, false, false, false, false, true, false, true, - false, false, true, false, false, false, true, true, false, true, true, false, true, true, - true, false, true, true, true, true, true, true, true, false, true, false, true, true, - false, false, true, false, false, true, false, true, true, true, false, false, true, false, - true, false, false, true, false, true, true, false, false, false, false, true, false, true, - false, true, false, false, false, false, false, true, false, false, false, true, true, - false, true, true, false, true, true, true, false, true, true, true, false, true, true, - true, true, - ]); +fn test_bitlist_bitlist_5_lengthy_1() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([57]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_lengthy_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_lengthy_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("28933deb812002abaf34c610f6b2f77cb8acbc617d5a8f8a320ca4813c29fea2"); + root_from_hex("0x7000b9bd26fb753d24a4ed870faee659894843b795377a89ade25b649246e773"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_lengthy_2() { - let mut value = Bitlist::<3>::from_iter([true, false, false]); +fn test_bitlist_bitlist_5_lengthy_2() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([34]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_lengthy_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_lengthy_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("caea92341df83aa8d4225099f16e86cbf457ec7ea97ccddb4ba5560062eee695"); + root_from_hex("0xd13061c7b549c86b29ad2389cbe4fb2fd05bbdf3170da634e67f77ab981b82cb"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_zero_0() { - let mut value = Bitlist::<512>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, - ]); +fn test_bitlist_bitlist_5_lengthy_3() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([58]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_lengthy_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("b9622f5ac7a4f2982e31494019e6fc83a8510ba1313084df18fe74cfd63fff28"); + root_from_hex("0x5d40a4acd8c5f8b674c29a7b7814a546fade497a96d0e7bb51c3a4951fb1fa7e"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_nil_2() { - let mut value = Bitlist::<5>::from_iter([]); +fn test_bitlist_bitlist_5_lengthy_4() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([48]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_nil_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_lengthy_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -4605,286 +4052,214 @@ fn test_bitlist_bitlist_5_nil_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x88b744d02033bbb6a4ebc2dc3f31c4910681596c7bcb9349d9483a33e45899c7"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_2_zero_0() { - let mut value = Bitlist::<2>::from_iter([false, false]); +fn test_bitlist_bitlist_5_max_0() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([15]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_2_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<2> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); + root_from_hex("0x251d8bd955c85219bb8f6de682810b4aafe3e0c3d3c624020fb39f81dbb85910"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_random_4() { - let mut value = Bitlist::<513>::from_iter([ - false, false, false, true, false, true, true, false, false, false, true, true, false, - false, true, false, true, false, false, true, true, true, false, true, false, true, false, - false, true, false, true, false, false, false, false, true, false, false, false, true, - true, true, false, true, false, true, true, true, false, false, true, false, false, true, - true, true, false, true, true, true, true, false, false, false, true, true, false, true, - true, true, false, true, true, false, false, false, false, false, true, true, false, false, - false, true, false, true, true, true, false, true, false, false, false, true, false, false, - false, - ]); +fn test_bitlist_bitlist_5_max_1() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([15]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_max_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ba02d7073304a825d35943f503cb081434b0b49713afdff5b5a6ab1f46d14171"); + root_from_hex("0x251d8bd955c85219bb8f6de682810b4aafe3e0c3d3c624020fb39f81dbb85910"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_random_4() { - let mut value = Bitlist::<512>::from_iter([ - false, false, false, false, false, true, true, false, false, true, true, true, false, true, - false, false, true, false, false, false, false, false, false, false, true, true, true, - false, false, false, true, false, false, true, false, true, false, true, true, true, true, - true, false, true, false, false, true, true, false, true, true, true, false, false, false, - false, false, true, false, true, true, true, true, true, false, false, false, true, true, - true, true, false, false, false, false, false, false, false, true, true, false, true, - false, false, false, true, false, false, true, false, false, true, false, false, true, - false, true, false, false, true, false, true, false, true, false, false, false, false, - false, false, true, true, false, true, true, false, true, true, false, true, true, false, - true, false, false, true, false, true, true, false, false, false, false, true, false, true, - true, false, true, false, true, false, true, true, false, true, false, false, true, true, - true, false, false, false, false, false, false, false, false, true, false, true, false, - true, true, true, true, true, false, false, false, true, false, false, true, false, true, - true, true, false, true, true, false, true, false, true, true, false, true, true, false, - true, false, false, true, false, false, true, false, true, false, true, false, false, - false, false, false, false, false, true, false, true, false, false, false, true, true, - true, false, false, true, false, true, true, false, true, true, false, true, true, false, - false, true, false, false, true, false, true, true, true, true, false, false, true, false, - false, false, true, true, false, true, true, false, true, true, true, true, false, true, - false, true, false, false, false, true, false, true, false, true, true, false, false, - false, true, false, false, true, true, true, true, true, false, true, false, false, true, - true, true, true, false, false, true, true, false, true, true, false, false, true, false, - false, true, false, false, true, true, false, true, true, true, true, false, false, false, - true, false, false, true, true, true, false, false, true, true, false, true, false, true, - true, true, true, true, true, true, false, false, true, true, false, true, false, false, - false, true, true, false, true, false, false, false, true, false, true, false, true, false, - true, true, true, true, false, true, false, false, false, false, false, true, false, false, - false, true, false, false, false, true, true, false, true, false, true, true, true, true, - false, true, true, false, false, false, true, false, true, false, true, true, false, false, - true, false, false, true, - ]); +fn test_bitlist_bitlist_5_max_2() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([31]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_max_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("813ccb937403bbd02d4ce9cd7e101c3bf3214ed4a1d8c11199288fbcdca45860"); + root_from_hex("0x4b07c3799db025f3aa92ced1e8545367a2b6e44960f479d3f9d62b61812892d5"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_max_1() { - let mut value = Bitlist::<16>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, - ]); +fn test_bitlist_bitlist_5_max_3() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([31]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_max_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("dc8212e2404720c98554dfddc81733f88cbbe307a1d4ca5eae4b88e55e382392"); + root_from_hex("0x4b07c3799db025f3aa92ced1e8545367a2b6e44960f479d3f9d62b61812892d5"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_zero_2() { - let mut value = Bitlist::<3>::from_iter([]); +fn test_bitlist_bitlist_5_max_4() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([7]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_max_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xc397e31994d6b872c69af43765ab16a1cef673be726a820dacd2637bea2f5fbb"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_random_3() { - let mut value = Bitlist::<512>::from_iter([ - false, true, false, false, true, true, true, false, false, false, false, true, true, true, - false, true, false, true, true, false, false, true, true, true, true, true, true, true, - false, true, false, true, true, false, false, false, true, false, false, false, false, - false, true, true, true, false, false, false, false, true, true, true, true, true, false, - true, true, true, false, false, false, true, true, true, false, true, true, false, false, - true, false, true, true, true, false, false, false, true, true, false, false, false, true, - true, true, false, true, false, true, true, true, false, true, false, false, false, false, - false, false, false, false, false, true, true, false, true, false, false, true, true, - false, false, true, false, true, false, true, false, true, false, true, true, true, false, - true, true, true, true, false, false, true, false, true, true, true, false, true, true, - false, false, false, true, true, true, false, false, true, true, true, true, false, false, - false, true, false, false, false, true, false, true, false, false, true, false, false, - false, true, true, false, true, true, false, true, false, true, false, true, true, true, - false, false, false, false, true, true, false, false, true, true, false, true, true, false, - false, false, false, true, true, false, true, true, false, true, false, true, false, true, - false, true, true, true, true, true, false, true, false, false, false, true, false, true, - true, false, false, false, false, true, true, true, false, true, true, true, false, false, - false, false, false, false, false, true, false, true, false, true, false, false, false, - true, true, true, false, true, true, false, true, false, false, true, true, false, false, - true, true, false, false, true, false, true, - ]); +fn test_bitlist_bitlist_5_nil_0() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_nil_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0c24b4aa44483bc91415618c8d23fa1ec87cbbf57dd1747ac001513f3ddeea8c"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_random_3() { - let mut value = Bitlist::<513>::from_iter([ - false, true, false, true, true, false, true, true, false, true, true, false, true, false, - true, false, false, true, false, false, true, false, true, true, false, true, false, true, - true, false, true, - ]); +fn test_bitlist_bitlist_5_nil_1() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_nil_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("32370b95731ef776a513ca5ef154a83ba935260f2f4bdbba23c21b33e12f7b62"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_513_zero_2() { - let mut value = Bitlist::<513>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, - ]); +fn test_bitlist_bitlist_5_nil_2() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_513_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_nil_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<513> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("38ab4aeb5726a3fb78af0101063f2586905c3e8466206bfc8777f44ed9e6ef20"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_max_2() { - let mut value = Bitlist::<1>::from_iter([]); +fn test_bitlist_bitlist_5_nil_3() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_nil_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_nil_2() { - let mut value = Bitlist::<1>::from_iter([]); +fn test_bitlist_bitlist_5_nil_4() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_nil_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_nil_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_nil_1() { - let mut value = Bitlist::<16>::from_iter([]); +fn test_bitlist_bitlist_5_random_0() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_nil_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_max_2() { - let mut value = Bitlist::<5>::from_iter([true, true, true, true]); +fn test_bitlist_bitlist_5_random_1() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([8]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -4893,34 +4268,34 @@ fn test_bitlist_bitlist_5_max_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("4b07c3799db025f3aa92ced1e8545367a2b6e44960f479d3f9d62b61812892d5"); + root_from_hex("0xd86ae2ca925345bf2412bde450ac175742d979c1ea7b961bd1efe10beb9500cf"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_nil_4() { - let mut value = Bitlist::<3>::from_iter([]); +fn test_bitlist_bitlist_5_random_2() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_nil_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x56d8a66fbae0300efba7ec2c531973aaae22e7a2ed6ded081b5b32d07a32780a"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_lengthy_4() { - let mut value = Bitlist::<5>::from_iter([false, false, false, false, true]); +fn test_bitlist_bitlist_5_random_3() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([6]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_lengthy_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_random_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -4929,94 +4304,88 @@ fn test_bitlist_bitlist_5_lengthy_4() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("88b744d02033bbb6a4ebc2dc3f31c4910681596c7bcb9349d9483a33e45899c7"); + root_from_hex("0x0e01f8d9a6720610a44a70c2c91bbe750ec6cd67892d92b1016394abfc382cf9"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_nil_3() { - let mut value = Bitlist::<3>::from_iter([]); +fn test_bitlist_bitlist_5_random_4() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([22]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_nil_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_random_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x894e8a2ce460c6c6ba12d467634e6c34ce2a1b58d0c6dfe3d98b532898c58611"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_random_2() { - let mut value = Bitlist::<31>::from_iter([ - false, true, false, true, false, true, true, false, true, false, true, true, false, false, - false, true, true, false, true, false, true, true, true, false, true, true, - ]); +fn test_bitlist_bitlist_5_zero_0() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([4]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_zero_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1037ee25750a944efe9b3dc796628f6468a9f242bd791013c439ca785c134482"); + root_from_hex("0x1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_zero_0() { - let mut value = Bitlist::<16>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, - ]); +fn test_bitlist_bitlist_5_zero_1() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([32]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_zero_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("69713c9ac33bde909bd8763512e69a7f523d544adcfb8c892e24bc8f6341ea16"); + root_from_hex("0x16aaf795af421b6156d4c3319879d422a0c3ffd26db07207a54d6cafcbef0b10"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_random_1() { - let mut value = Bitlist::<4>::from_iter([true, false, false, false]); +fn test_bitlist_bitlist_5_zero_2() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([16]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_random_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_zero_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f9c5ada16029ed1580188989686f19e749c006b2eac37d3ef087b824b31ba997"); + root_from_hex("0xd647eb2598d33d7216256356596d29cecd31c1ba7a7ff25ccb5be4a453410b9d"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_lengthy_3() { - let mut value = Bitlist::<5>::from_iter([false, true, false, true, true]); +fn test_bitlist_bitlist_5_zero_3() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_lengthy_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_zero_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -5025,52 +4394,44 @@ fn test_bitlist_bitlist_5_lengthy_3() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("5d40a4acd8c5f8b674c29a7b7814a546fade497a96d0e7bb51c3a4951fb1fa7e"); + root_from_hex("0xcb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_zero_2() { - let mut value = Bitlist::<1>::from_iter([]); +fn test_bitlist_bitlist_5_zero_4() { + let mut value = Bitlist::<5>::try_from(Vec::::from_iter([16]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_5_zero_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xd647eb2598d33d7216256356596d29cecd31c1ba7a7ff25ccb5be4a453410b9d"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_random_1() { - let mut value = Bitlist::<5>::from_iter([false, false, false]); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_random_1/serialized.ssz_snappy", +#[should_panic] +fn test_bitlist_bitlist_8_but_9() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitlist/invalid/bitlist_8_but_9/serialized.ssz_snappy", ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("d86ae2ca925345bf2412bde450ac175742d979c1ea7b961bd1efe10beb9500cf"); - assert_eq!(root, expected_root); + deserialize::>(&encoding); } #[test] -fn test_bitlist_bitlist_8_nil_0() { - let mut value = Bitlist::<8>::from_iter([]); +fn test_bitlist_bitlist_8_lengthy_0() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([206, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_nil_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_lengthy_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -5079,36 +4440,31 @@ fn test_bitlist_bitlist_8_nil_0() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x095847dd477b5ac2b2a5930d0633975f09e835630c2d4a832b6469e8c0d106d1"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_max_3() { - let mut value = Bitlist::<512>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, - ]); +fn test_bitlist_bitlist_8_lengthy_1() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([180, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_max_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_lengthy_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("8cbf50b584a296a316a71c486b4d4e1fd94edae9bf75f1aff71b8f609dc8352c"); + root_from_hex("0x5b6af4c3df02247b90fc3736e0a2ff746b5a7f7dc54e7edc66bbb0f68f1b7206"); assert_eq!(root, expected_root); } #[test] fn test_bitlist_bitlist_8_lengthy_2() { - let mut value = Bitlist::<8>::from_iter([true, true, false, false, true, false, true, false]); + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([83, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( "ssz-rs/tests/data/bitlist/valid/bitlist_8_lengthy_2/serialized.ssz_snappy", @@ -5120,142 +4476,124 @@ fn test_bitlist_bitlist_8_lengthy_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("eeb7a380c63f2182c38a556ee4170cb9fd06b86b5014181e7a01ce0097627cf0"); + root_from_hex("0xeeb7a380c63f2182c38a556ee4170cb9fd06b86b5014181e7a01ce0097627cf0"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_max_4() { - let mut value = Bitlist::<512>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, - ]); +fn test_bitlist_bitlist_8_lengthy_3() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([99, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_max_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_lengthy_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1bb7ab569c8b46d1e40884241195c1369ea760bf957583d3a78a4315c0e2f495"); + root_from_hex("0xb8148b13b48faa79622d9a6975e7abdf85dd4639a25e53412eb0aa5c34386019"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_max_4() { - let mut value = Bitlist::<5>::from_iter([true, true]); +fn test_bitlist_bitlist_8_lengthy_4() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([227, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_max_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_lengthy_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("c397e31994d6b872c69af43765ab16a1cef673be726a820dacd2637bea2f5fbb"); + root_from_hex("0x6d1fd4c1b192e8aeb35074214855c593805c2ed1ff79f7aa7c6128814fa41bf3"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_max_3() { - let mut value = Bitlist::<5>::from_iter([true, true, true, true]); +fn test_bitlist_bitlist_8_max_0() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([255, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_max_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("4b07c3799db025f3aa92ced1e8545367a2b6e44960f479d3f9d62b61812892d5"); + root_from_hex("0x017d2fa0f6934ed2354e4cdb7a2230ccf8f31fe758c7a47442e37fdea1d68bfe"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_nil_0() { - let mut value = Bitlist::<16>::from_iter([]); +fn test_bitlist_bitlist_8_max_1() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([255, 1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_nil_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_max_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x017d2fa0f6934ed2354e4cdb7a2230ccf8f31fe758c7a47442e37fdea1d68bfe"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_nil_4() { - let mut value = Bitlist::<1>::from_iter([]); +fn test_bitlist_bitlist_8_max_2() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_nil_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_max_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_nil_3() { - let mut value = Bitlist::<1>::from_iter([]); +fn test_bitlist_bitlist_8_max_3() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([63]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_nil_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xcb9e73cb5c2e4ef66fa63540f8220301d31eea7edfccedb2b47b9bdf849ccee7"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_lengthy_4() { - let mut value = Bitlist::<8>::from_iter([true, true, false, false, false, true, true, true]); +fn test_bitlist_bitlist_8_max_4() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_lengthy_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_max_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -5264,16 +4602,16 @@ fn test_bitlist_bitlist_8_lengthy_4() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("6d1fd4c1b192e8aeb35074214855c593805c2ed1ff79f7aa7c6128814fa41bf3"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_lengthy_3() { - let mut value = Bitlist::<8>::from_iter([true, true, false, false, false, true, true, false]); +fn test_bitlist_bitlist_8_nil_0() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_lengthy_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_nil_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -5282,55 +4620,34 @@ fn test_bitlist_bitlist_8_lengthy_3() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("b8148b13b48faa79622d9a6975e7abdf85dd4639a25e53412eb0aa5c34386019"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_512_max_2() { - let mut value = Bitlist::<512>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, - ]); +fn test_bitlist_bitlist_8_nil_1() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_512_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_nil_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<512> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("08e61443f630601ca65f47622a47ef029baad7a757f3f1d10de0098c9add4589"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_8_nil_1() { - let mut value = Bitlist::<8>::from_iter([]); +fn test_bitlist_bitlist_8_nil_2() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_8_nil_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_nil_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -5339,231 +4656,224 @@ fn test_bitlist_bitlist_8_nil_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_random_3() { - let mut value = Bitlist::<31>::from_iter([true, true, false, true, true, false, false, true]); +fn test_bitlist_bitlist_8_nil_3() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_nil_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("5940967aaa293730d0e7876047dfceb9cf5512fafb5d4be3d05c776902163786"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_16_zero_1() { - let mut value = - Bitlist::<16>::from_iter([false, false, false, false, false, false, false, false, false]); +fn test_bitlist_bitlist_8_nil_4() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_16_zero_1/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_nil_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<16> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("7b460f51b362b95b384743dda74f56fbcd35f4d8e7ebda7206632e60c91e663d"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_3_nil_2() { - let mut value = Bitlist::<3>::from_iter([]); +fn test_bitlist_bitlist_8_random_0() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([79]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_3_nil_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<3> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x385e8de0fb7865579bcaf9d0a9c86e4cca08a6911d1ce85530f96ce202a38d21"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_4_random_0() { - let mut value = Bitlist::<4>::from_iter([true, false, true]); +fn test_bitlist_bitlist_8_random_1() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([4]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_4_random_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<4> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("cf8ca64c265b9b6234fb7573a200745204fd04fecf680f1157f27367ee8f4aa2"); + root_from_hex("0x1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_zero_3() { - let mut value = Bitlist::<1>::from_iter([]); +fn test_bitlist_bitlist_8_random_2() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_zero_3/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xcb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_random_0() { - let mut value = Bitlist::<5>::from_iter([]); +fn test_bitlist_bitlist_8_random_3() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_random_0/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_random_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xcb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_5_lengthy_2() { - let mut value = Bitlist::<5>::from_iter([false, true, false, false, false]); +fn test_bitlist_bitlist_8_random_4() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([15]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_5_lengthy_2/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_random_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<5> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("d13061c7b549c86b29ad2389cbe4fb2fd05bbdf3170da634e67f77ab981b82cb"); + root_from_hex("0x251d8bd955c85219bb8f6de682810b4aafe3e0c3d3c624020fb39f81dbb85910"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_31_random_4() { - let mut value = Bitlist::<31>::from_iter([]); +fn test_bitlist_bitlist_8_zero_0() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([64]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_31_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_zero_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<31> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x7d360196d14b15261c9e5f576df8dc8b48d18d79b4198f167741052747704352"); assert_eq!(root, expected_root); } #[test] -fn test_bitlist_bitlist_1_zero_4() { - let mut value = Bitlist::<1>::from_iter([false]); +fn test_bitlist_bitlist_8_zero_1() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([4]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/valid/bitlist_1_zero_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitlist/valid/bitlist_8_zero_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitlist<1> = deserialize(&expected_encoding); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("cb592844121d926f1ca3ad4e1d6fb9d8e260ed6e3216361f7732e975a0e8bbf6"); + root_from_hex("0x1205f4789155711e2542dba1a64d226626fe3eb43baa854752d0b59077e010fc"); assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_bitlist_bitlist_1_but_2() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/invalid/bitlist_1_but_2/serialized.ssz_snappy", +fn test_bitlist_bitlist_8_zero_2() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([64]).as_ref()).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitlist/valid/bitlist_8_zero_2/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitlist_bitlist_8_but_9() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/invalid/bitlist_8_but_9/serialized.ssz_snappy", - ); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x7d360196d14b15261c9e5f576df8dc8b48d18d79b4198f167741052747704352"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_bitlist_bitlist_3_but_4() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/invalid/bitlist_3_but_4/serialized.ssz_snappy", +fn test_bitlist_bitlist_8_zero_3() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([64]).as_ref()).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitlist/valid/bitlist_8_zero_3/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitlist_bitlist_512_but_513() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/invalid/bitlist_512_but_513/serialized.ssz_snappy", - ); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x7d360196d14b15261c9e5f576df8dc8b48d18d79b4198f167741052747704352"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_bitlist_bitlist_4_but_5() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/invalid/bitlist_4_but_5/serialized.ssz_snappy", +fn test_bitlist_bitlist_8_zero_4() { + let mut value = Bitlist::<8>::try_from(Vec::::from_iter([16]).as_ref()).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitlist/valid/bitlist_8_zero_4/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitlist_bitlist_32_but_64() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/invalid/bitlist_32_but_64/serialized.ssz_snappy", - ); + let recovered_value: Bitlist<8> = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xd647eb2598d33d7216256356596d29cecd31c1ba7a7ff25ccb5be4a453410b9d"); + assert_eq!(root, expected_root); } #[test] @@ -5576,16 +4886,6 @@ fn test_bitlist_bitlist_no_delimiter_empty() { deserialize::>(&encoding); } -#[test] -#[should_panic] -fn test_bitlist_bitlist_2_but_3() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/invalid/bitlist_2_but_3/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - #[test] #[should_panic] fn test_bitlist_bitlist_no_delimiter_zero_byte() { @@ -5596,46 +4896,6 @@ fn test_bitlist_bitlist_no_delimiter_zero_byte() { deserialize::>(&encoding); } -#[test] -#[should_panic] -fn test_bitlist_bitlist_5_but_6() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/invalid/bitlist_5_but_6/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitlist_bitlist_1_but_8() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/invalid/bitlist_1_but_8/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitlist_bitlist_1_but_9() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/invalid/bitlist_1_but_9/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitlist_bitlist_32_but_33() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitlist/invalid/bitlist_32_but_33/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - #[test] #[should_panic] fn test_bitlist_bitlist_no_delimiter_zeroes() { diff --git a/ssz-rs/tests/bitvector.rs b/ssz-rs/tests/bitvector.rs index 0c43d787..51b5fb6e 100644 --- a/ssz-rs/tests/bitvector.rs +++ b/ssz-rs/tests/bitvector.rs @@ -1,3 +1,4 @@ +//! This file was generated by `ssz-rs-test-gen`; do NOT manually edit. mod test_utils; use ssz_rs::prelude::*; @@ -6,195 +7,186 @@ use test_utils::{ }; #[test] -fn test_bitvector_bitvec_5_max() { - let mut value = Bitvector::<5>::from_iter([true, true, true, true, true]); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_5_max/serialized.ssz_snappy", +#[should_panic] +fn test_bitvector_bitvec_0() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_0/serialized.ssz_snappy", ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Bitvector<5> = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("1f00000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); + deserialize::>(&encoding); } #[test] -fn test_bitvector_bitvec_1_random() { - let mut value = Bitvector::<1>::from_iter([false]); +fn test_bitvector_bitvec_16_max() { + let mut value = Bitvector::<16>::try_from(Vec::::from_iter([255, 255]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_1_random/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_16_max/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<1> = deserialize(&expected_encoding); + let recovered_value: Bitvector<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffff000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_512_random() { - let mut value = Bitvector::<512>::from_iter([ - false, false, false, false, true, false, true, false, false, false, false, true, true, - false, false, true, true, false, false, false, true, false, true, true, false, true, false, - false, true, true, false, true, true, false, true, true, true, false, false, false, true, - false, true, false, true, true, false, true, false, true, false, true, false, true, true, - false, true, false, true, false, false, false, true, true, true, true, true, true, false, - true, true, true, true, true, true, true, false, false, false, true, false, false, false, - false, false, true, true, false, false, false, false, false, true, false, false, true, - false, false, true, false, false, true, false, true, false, false, true, true, false, - false, false, false, false, true, false, false, true, false, false, false, true, true, - false, false, true, false, true, true, false, false, true, true, false, false, false, - false, false, false, true, false, true, true, false, false, false, false, false, true, - true, true, false, false, true, true, false, true, true, true, true, false, false, false, - true, false, false, false, true, false, true, true, false, true, true, false, false, true, - true, true, true, true, false, false, true, false, true, false, true, false, false, true, - true, false, true, true, false, false, false, true, true, false, true, false, false, false, - true, false, true, true, false, false, false, true, true, true, true, true, true, true, - false, true, false, false, false, false, false, false, false, true, false, true, false, - false, true, true, true, false, true, false, false, false, false, true, false, true, true, - false, true, true, false, false, true, false, false, false, false, false, false, false, - true, false, true, true, false, false, true, true, false, true, true, false, false, false, - false, false, true, false, false, false, false, true, false, true, true, true, true, false, - true, false, false, true, false, true, true, false, true, true, true, false, false, false, - false, false, false, true, false, false, true, false, false, false, true, true, true, - false, false, false, false, false, false, false, false, false, false, true, false, true, - true, false, true, true, true, false, true, false, false, true, false, true, true, true, - true, false, false, false, true, false, false, false, true, false, true, true, true, true, - false, false, true, true, false, true, false, false, true, false, false, false, false, - false, true, true, false, true, false, true, true, false, true, false, true, false, true, - true, true, true, false, false, true, false, true, true, true, true, false, false, true, - true, false, false, false, false, false, true, false, false, false, true, true, false, - true, false, true, false, false, true, true, false, false, true, false, true, true, true, - false, true, true, true, false, true, true, false, true, false, true, false, true, true, - false, false, true, false, true, true, false, true, false, true, false, false, true, false, - true, false, false, true, false, false, true, true, true, false, false, true, false, true, - false, false, false, true, true, false, false, true, false, false, true, false, true, - false, true, true, false, true, false, true, true, false, false, false, true, true, false, - true, false, true, true, true, false, true, true, false, false, false, true, false, false, - true, true, true, true, false, true, true, - ]); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_512_random/serialized.ssz_snappy", +#[should_panic] +fn test_bitvector_bitvec_16_max_8() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_16_max_8/serialized.ssz_snappy", ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: Bitvector<512> = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("fbdb71e991457c4fd956e16be1ae1dc959bceaf00f692fec9431de3f0175655a"); - assert_eq!(root, expected_root); + deserialize::>(&encoding); } #[test] -fn test_bitvector_bitvec_4_max() { - let mut value = Bitvector::<4>::from_iter([true, true, true, true]); +fn test_bitvector_bitvec_16_random() { + let mut value = Bitvector::<16>::try_from(Vec::::from_iter([46, 236]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_4_max/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_16_random/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<4> = deserialize(&expected_encoding); + let recovered_value: Bitvector<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0f00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x2eec000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_5_zero() { - let mut value = Bitvector::<5>::from_iter([false, false, false, false, false]); +#[should_panic] +fn test_bitvector_bitvec_16_random_8() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_16_random_8/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitvector_bitvec_16_zero() { + let mut value = Bitvector::<16>::try_from(Vec::::from_iter([0, 0]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_5_zero/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_16_zero/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<5> = deserialize(&expected_encoding); + let recovered_value: Bitvector<16> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_3_max() { - let mut value = Bitvector::<3>::from_iter([true, true, true]); +#[should_panic] +fn test_bitvector_bitvec_16_zero_8() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_16_zero_8/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitvector_bitvec_1_max() { + let mut value = Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_3_max/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_1_max/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<3> = deserialize(&expected_encoding); + let recovered_value: Bitvector<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0700000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0100000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_4_zero() { - let mut value = Bitvector::<4>::from_iter([false, false, false, false]); +#[should_panic] +fn test_bitvector_bitvec_1_max_2() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_1_max_2/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitvector_bitvec_1_random() { + let mut value = Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_4_zero/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_1_random/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<4> = deserialize(&expected_encoding); + let recovered_value: Bitvector<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_31_zero() { - let mut value = Bitvector::<31>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, - ]); +#[should_panic] +fn test_bitvector_bitvec_1_random_2() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_1_random_2/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitvector_bitvec_1_zero() { + let mut value = Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_31_zero/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_1_zero/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<31> = deserialize(&expected_encoding); + let recovered_value: Bitvector<1> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } +#[test] +#[should_panic] +fn test_bitvector_bitvec_1_zero_2() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_1_zero_2/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + #[test] fn test_bitvector_bitvec_2_max() { - let mut value = Bitvector::<2>::from_iter([true, true]); + let mut value = Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( "ssz-rs/tests/data/bitvector/valid/bitvec_2_max/serialized.ssz_snappy", @@ -206,54 +198,80 @@ fn test_bitvector_bitvec_2_max() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0300000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0300000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_3_random() { - let mut value = Bitvector::<3>::from_iter([true, true, true]); +#[should_panic] +fn test_bitvector_bitvec_2_max_3() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_2_max_3/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitvector_bitvec_2_random() { + let mut value = Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_3_random/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_2_random/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<3> = deserialize(&expected_encoding); + let recovered_value: Bitvector<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0700000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0300000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_8_zero() { - let mut value = - Bitvector::<8>::from_iter([false, false, false, false, false, false, false, false]); +#[should_panic] +fn test_bitvector_bitvec_2_random_3() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_2_random_3/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitvector_bitvec_2_zero() { + let mut value = Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_8_zero/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_2_zero/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<8> = deserialize(&expected_encoding); + let recovered_value: Bitvector<2> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } +#[test] +#[should_panic] +fn test_bitvector_bitvec_2_zero_3() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_2_zero_3/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + #[test] fn test_bitvector_bitvec_31_max() { - let mut value = Bitvector::<31>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, - ]); + let mut value = + Bitvector::<31>::try_from(Vec::::from_iter([255, 255, 255, 127]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( "ssz-rs/tests/data/bitvector/valid/bitvec_31_max/serialized.ssz_snappy", @@ -265,628 +283,535 @@ fn test_bitvector_bitvec_31_max() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffff7f00000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffffff7f00000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_16_random() { - let mut value = Bitvector::<16>::from_iter([ - false, true, true, true, false, true, false, false, false, false, true, true, false, true, - true, true, - ]); +fn test_bitvector_bitvec_31_random() { + let mut value = + Bitvector::<31>::try_from(Vec::::from_iter([114, 223, 100, 21]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_16_random/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_31_random/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<16> = deserialize(&expected_encoding); + let recovered_value: Bitvector<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("2eec000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x72df641500000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_1_max() { - let mut value = Bitvector::<1>::from_iter([true]); +fn test_bitvector_bitvec_31_zero() { + let mut value = Bitvector::<31>::try_from(Vec::::from_iter([0, 0, 0, 0]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_1_max/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_31_zero/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<1> = deserialize(&expected_encoding); + let recovered_value: Bitvector<31> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0100000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_3_zero() { - let mut value = Bitvector::<3>::from_iter([false, false, false]); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_3_zero/serialized.ssz_snappy", +#[should_panic] +fn test_bitvector_bitvec_32_max_33() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_32_max_33/serialized.ssz_snappy", ); - assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<3> = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); + deserialize::>(&encoding); } #[test] -fn test_bitvector_bitvec_16_zero() { - let mut value = Bitvector::<16>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, - ]); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_16_zero/serialized.ssz_snappy", +#[should_panic] +fn test_bitvector_bitvec_32_random_33() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_32_random_33/serialized.ssz_snappy", ); - assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<16> = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); + deserialize::>(&encoding); +} - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); +#[test] +#[should_panic] +fn test_bitvector_bitvec_32_zero_33() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_32_zero_33/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); } #[test] -fn test_bitvector_bitvec_512_max() { - let mut value = Bitvector::<512>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, - ]); +fn test_bitvector_bitvec_3_max() { + let mut value = Bitvector::<3>::try_from(Vec::::from_iter([7]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_512_max/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_3_max/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<512> = deserialize(&expected_encoding); + let recovered_value: Bitvector<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("8667e718294e9e0df1d30600ba3eeb201f764aad2dad72748643e4a285e1d1f7"); + root_from_hex("0x0700000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_5_random() { - let mut value = Bitvector::<5>::from_iter([true, true, false, false, false]); +#[should_panic] +fn test_bitvector_bitvec_3_max_4() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_3_max_4/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitvector_bitvec_3_random() { + let mut value = Bitvector::<3>::try_from(Vec::::from_iter([7]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_5_random/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_3_random/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<5> = deserialize(&expected_encoding); + let recovered_value: Bitvector<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0300000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0700000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_513_max() { - let mut value = Bitvector::<513>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, true, true, - ]); +#[should_panic] +fn test_bitvector_bitvec_3_random_4() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_3_random_4/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitvector_bitvec_3_zero() { + let mut value = Bitvector::<3>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_513_max/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_3_zero/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<513> = deserialize(&expected_encoding); + let recovered_value: Bitvector<3> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("222dd9eebc6467de9788eb1c05ce9c2da8ecc89abdd38810925ce061d91236ef"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_2_zero() { - let mut value = Bitvector::<2>::from_iter([false, false]); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_2_zero/serialized.ssz_snappy", +#[should_panic] +fn test_bitvector_bitvec_3_zero_4() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_3_zero_4/serialized.ssz_snappy", ); - assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<2> = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); + deserialize::>(&encoding); } #[test] -fn test_bitvector_bitvec_1_zero() { - let mut value = Bitvector::<1>::from_iter([false]); +fn test_bitvector_bitvec_4_max() { + let mut value = Bitvector::<4>::try_from(Vec::::from_iter([15]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_1_zero/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_4_max/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<1> = deserialize(&expected_encoding); + let recovered_value: Bitvector<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0f00000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_512_zero() { - let mut value = Bitvector::<512>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, - ]); +#[should_panic] +fn test_bitvector_bitvec_4_max_5() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_4_max_5/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitvector_bitvec_4_random() { + let mut value = Bitvector::<4>::try_from(Vec::::from_iter([13]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_512_zero/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_4_random/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<512> = deserialize(&expected_encoding); + let recovered_value: Bitvector<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x0d00000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_513_random() { - let mut value = Bitvector::<513>::from_iter([ - true, true, false, false, false, true, false, false, true, true, true, false, false, false, - false, false, true, true, true, true, false, false, true, true, true, false, true, true, - false, false, true, false, false, true, false, false, true, true, true, false, true, false, - false, true, false, false, false, false, false, false, true, false, true, false, false, - true, false, true, true, false, true, false, false, false, true, false, true, true, true, - false, true, false, false, false, false, false, false, false, false, true, false, false, - true, false, true, false, false, false, false, false, false, false, false, false, true, - false, false, true, true, true, false, false, true, true, false, false, false, false, - false, true, false, false, false, true, true, false, true, false, false, false, false, - false, true, true, false, false, true, true, false, true, false, true, false, true, true, - true, false, false, false, true, false, false, true, true, false, false, true, true, true, - true, true, true, true, true, false, false, true, true, true, true, true, false, false, - false, false, false, false, false, true, true, false, true, true, false, false, false, - false, false, false, true, true, false, true, true, false, false, false, false, true, - false, true, false, false, true, false, true, false, false, false, true, false, true, - false, true, true, true, true, false, false, false, true, true, true, true, true, true, - false, false, true, false, false, true, true, false, false, false, false, false, true, - false, false, false, true, true, true, false, true, false, true, false, true, false, false, - true, true, false, false, true, true, false, true, true, true, true, false, true, true, - false, false, true, true, true, true, false, true, true, true, true, false, true, true, - false, false, true, false, false, true, true, false, false, false, true, false, false, - false, false, false, false, true, false, false, false, false, false, true, true, true, - true, false, false, false, false, false, false, true, true, false, false, false, true, - true, true, true, true, true, true, false, false, false, false, true, false, true, true, - false, false, false, false, true, false, true, false, true, true, true, false, true, false, - false, true, false, false, true, true, true, false, false, true, false, true, false, false, - false, false, false, true, false, true, true, false, true, false, false, false, false, - true, true, false, true, false, true, true, true, true, false, false, true, false, true, - true, true, true, true, true, true, false, false, true, true, true, false, false, false, - false, true, true, true, false, false, true, false, true, true, false, false, false, false, - true, true, true, true, false, false, false, false, true, false, true, false, false, false, - false, true, true, false, false, true, true, true, false, false, false, false, false, true, - false, false, true, true, false, false, true, true, true, true, true, false, false, true, - false, true, true, true, true, false, true, false, false, true, false, false, true, false, - false, true, false, true, false, true, false, true, true, true, true, true, false, false, - true, true, true, true, true, true, true, false, false, false, false, true, false, false, - false, false, true, true, true, true, true, true, true, true, false, false, false, false, - false, true, false, false, false, true, true, false, - ]); +#[should_panic] +fn test_bitvector_bitvec_4_random_5() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_4_random_5/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitvector_bitvec_4_zero() { + let mut value = Bitvector::<4>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_513_random/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_4_zero/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<513> = deserialize(&expected_encoding); + let recovered_value: Bitvector<4> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("84f06e5024cc71b8162c3a96f4b743505481722da5a281a6aaa69791b9f79283"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_31_random() { - let mut value = Bitvector::<31>::from_iter([ - false, true, false, false, true, true, true, false, true, true, true, true, true, false, - true, true, false, false, true, false, false, true, true, false, true, false, true, false, - true, false, false, - ]); +#[should_panic] +fn test_bitvector_bitvec_4_zero_5() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_4_zero_5/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitvector_bitvec_512_max() { + let mut value = Bitvector::<512>::try_from( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_31_random/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_512_max/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<31> = deserialize(&expected_encoding); + let recovered_value: Bitvector<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("72df641500000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x8667e718294e9e0df1d30600ba3eeb201f764aad2dad72748643e4a285e1d1f7"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_2_random() { - let mut value = Bitvector::<2>::from_iter([true, true]); +#[should_panic] +fn test_bitvector_bitvec_512_max_513() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_512_max_513/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitvector_bitvec_512_random() { + let mut value = Bitvector::<512>::try_from( + Vec::::from_iter([ + 80, 152, 209, 178, 29, 181, 106, 197, 239, 143, 96, 144, 164, 12, 18, 211, 12, 52, 56, + 123, 68, 155, 79, 101, 99, 209, 248, 11, 40, 23, 218, 4, 52, 27, 132, 94, 218, 129, + 196, 1, 104, 151, 30, 209, 179, 4, 107, 245, 244, 12, 98, 101, 186, 91, 77, 43, 37, + 167, 152, 212, 26, 235, 70, 222, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_2_random/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_512_random/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<2> = deserialize(&expected_encoding); + let recovered_value: Bitvector<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0300000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xfbdb71e991457c4fd956e16be1ae1dc959bceaf00f692fec9431de3f0175655a"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_513_zero() { - let mut value = Bitvector::<513>::from_iter([ - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, - ]); +#[should_panic] +fn test_bitvector_bitvec_512_random_513() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_512_random_513/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitvector_bitvec_512_zero() { + let mut value = Bitvector::<512>::try_from( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_513_zero/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_512_zero/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<513> = deserialize(&expected_encoding); + let recovered_value: Bitvector<512> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_16_max() { - let mut value = Bitvector::<16>::from_iter([ - true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, - true, - ]); +#[should_panic] +fn test_bitvector_bitvec_512_zero_513() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/invalid/bitvec_512_zero_513/serialized.ssz_snappy", + ); + + deserialize::>(&encoding); +} + +#[test] +fn test_bitvector_bitvec_513_max() { + let mut value = Bitvector::<513>::try_from( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 1, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_16_max/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_513_max/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<16> = deserialize(&expected_encoding); + let recovered_value: Bitvector<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffff000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x222dd9eebc6467de9788eb1c05ce9c2da8ecc89abdd38810925ce061d91236ef"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_4_random() { - let mut value = Bitvector::<4>::from_iter([true, false, true, true]); +fn test_bitvector_bitvec_513_random() { + let mut value = Bitvector::<513>::try_from( + Vec::::from_iter([ + 35, 7, 207, 77, 114, 9, 148, 22, 93, 128, 20, 64, 206, 32, 22, 204, 234, 200, 252, 243, + 1, 27, 216, 80, 138, 122, 252, 100, 16, 87, 153, 189, 121, 111, 50, 2, 193, 3, 227, 15, + 13, 117, 201, 41, 104, 97, 61, 253, 57, 156, 134, 135, 194, 28, 100, 62, 189, 36, 213, + 231, 15, 225, 31, 196, 0, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_4_random/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_513_random/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<4> = deserialize(&expected_encoding); + let recovered_value: Bitvector<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0d00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x84f06e5024cc71b8162c3a96f4b743505481722da5a281a6aaa69791b9f79283"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_8_random() { - let mut value = Bitvector::<8>::from_iter([true, true, true, true, true, false, true, true]); +fn test_bitvector_bitvec_513_zero() { + let mut value = Bitvector::<513>::try_from( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_8_random/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_513_zero/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<8> = deserialize(&expected_encoding); + let recovered_value: Bitvector<513> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("df00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); assert_eq!(root, expected_root); } #[test] -fn test_bitvector_bitvec_8_max() { - let mut value = Bitvector::<8>::from_iter([true, true, true, true, true, true, true, true]); +fn test_bitvector_bitvec_5_max() { + let mut value = Bitvector::<5>::try_from(Vec::::from_iter([31]).as_ref()).unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/valid/bitvec_8_max/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/valid/bitvec_5_max/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: Bitvector<8> = deserialize(&expected_encoding); + let recovered_value: Bitvector<5> = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x1f00000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_bitvector_bitvec_9_max_8() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_9_max_8/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_5_random_6() { +fn test_bitvector_bitvec_5_max_6() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_5_random_6/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/invalid/bitvec_5_max_6/serialized.ssz_snappy", ); deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_bitvector_bitvec_2_zero_3() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_2_zero_3/serialized.ssz_snappy", +fn test_bitvector_bitvec_5_random() { + let mut value = Bitvector::<5>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/valid/bitvec_5_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_2_max_3() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_2_max_3/serialized.ssz_snappy", - ); + let recovered_value: Bitvector<5> = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0300000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_bitvector_bitvec_16_zero_8() { +fn test_bitvector_bitvec_5_random_6() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_16_zero_8/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/invalid/bitvec_5_random_6/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_bitvector_bitvec_4_max_5() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_4_max_5/serialized.ssz_snappy", +fn test_bitvector_bitvec_5_zero() { + let mut value = Bitvector::<5>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/valid/bitvec_5_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_512_zero_513() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_512_zero_513/serialized.ssz_snappy", - ); + let recovered_value: Bitvector<5> = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_bitvector_bitvec_512_max_513() { +fn test_bitvector_bitvec_5_zero_6() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_512_max_513/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/invalid/bitvec_5_zero_6/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] -#[should_panic] -fn test_bitvector_bitvec_3_max_4() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_3_max_4/serialized.ssz_snappy", +fn test_bitvector_bitvec_8_max() { + let mut value = Bitvector::<8>::try_from(Vec::::from_iter([255]).as_ref()).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/valid/bitvec_8_max/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); + let recovered_value: Bitvector<8> = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] @@ -900,83 +825,21 @@ fn test_bitvector_bitvec_8_max_9() { } #[test] -#[should_panic] -fn test_bitvector_bitvec_32_max_33() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_32_max_33/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_512_random_513() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_512_random_513/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_32_zero_33() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_32_zero_33/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_1_max_2() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_1_max_2/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_5_zero_6() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_5_zero_6/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_9_zero_8() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_9_zero_8/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_1_random_2() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_1_random_2/serialized.ssz_snappy", +fn test_bitvector_bitvec_8_random() { + let mut value = Bitvector::<8>::try_from(Vec::::from_iter([223]).as_ref()).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/valid/bitvec_8_random/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_4_zero_5() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_4_zero_5/serialized.ssz_snappy", - ); + let recovered_value: Bitvector<8> = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdf00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] @@ -990,63 +853,21 @@ fn test_bitvector_bitvec_8_random_9() { } #[test] -#[should_panic] -fn test_bitvector_bitvec_9_random_8() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_9_random_8/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_4_random_5() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_4_random_5/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_3_zero_4() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_3_zero_4/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_16_max_8() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_16_max_8/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_32_random_33() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_32_random_33/serialized.ssz_snappy", +fn test_bitvector_bitvec_8_zero() { + let mut value = Bitvector::<8>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(); + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/bitvector/valid/bitvec_8_zero/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_1_zero_2() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_1_zero_2/serialized.ssz_snappy", - ); + let recovered_value: Bitvector<8> = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::>(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] @@ -1061,50 +882,30 @@ fn test_bitvector_bitvec_8_zero_9() { #[test] #[should_panic] -fn test_bitvector_bitvec_0() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_0/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_2_random_3() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_2_random_3/serialized.ssz_snappy", - ); - - deserialize::>(&encoding); -} - -#[test] -#[should_panic] -fn test_bitvector_bitvec_3_random_4() { +fn test_bitvector_bitvec_9_max_8() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_3_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/invalid/bitvec_9_max_8/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_bitvector_bitvec_5_max_6() { +fn test_bitvector_bitvec_9_random_8() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_5_max_6/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/invalid/bitvec_9_random_8/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } #[test] #[should_panic] -fn test_bitvector_bitvec_16_random_8() { +fn test_bitvector_bitvec_9_zero_8() { let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/bitvector/invalid/bitvec_16_random_8/serialized.ssz_snappy", + "ssz-rs/tests/data/bitvector/invalid/bitvec_9_zero_8/serialized.ssz_snappy", ); - deserialize::>(&encoding); + deserialize::>(&encoding); } diff --git a/ssz-rs/tests/boolean.rs b/ssz-rs/tests/boolean.rs index bdb8f117..81e20ece 100644 --- a/ssz-rs/tests/boolean.rs +++ b/ssz-rs/tests/boolean.rs @@ -1,3 +1,4 @@ +//! This file was generated by `ssz-rs-test-gen`; do NOT manually edit. mod test_utils; use ssz_rs::prelude::*; @@ -5,45 +6,9 @@ use test_utils::{ deserialize, hash_tree_root, read_ssz_snappy_from_test_data, root_from_hex, serialize, }; -#[test] -fn test_boolean_true() { - let mut value = true; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/boolean/valid/true/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: bool = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0100000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_boolean_false() { - let mut value = false; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/boolean/valid/false/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: bool = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - #[test] #[should_panic] -fn test_boolean_byte_0x80() { +fn test_boolean_byte_0_x_80() { let encoding = read_ssz_snappy_from_test_data( "ssz-rs/tests/data/boolean/invalid/byte_0x80/serialized.ssz_snappy", ); @@ -80,3 +45,39 @@ fn test_boolean_byte_rev_nibble() { deserialize::(&encoding); } + +#[test] +fn test_boolean_false() { + let mut value = false; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/boolean/valid/false/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: bool = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_boolean_true() { + let mut value = true; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/boolean/valid/true/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: bool = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0100000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} diff --git a/ssz-rs/tests/containers.rs b/ssz-rs/tests/containers.rs index ed8bface..f3ad53d7 100644 --- a/ssz-rs/tests/containers.rs +++ b/ssz-rs/tests/containers.rs @@ -1,3 +1,4 @@ +//! This file was generated by `ssz-rs-test-gen`; do NOT manually edit. mod test_utils; use ssz_rs::prelude::*; @@ -51,73 +52,51 @@ struct BitsStruct { } #[test] -fn test_containers_var_test_struct_zero_chaos_2() { - let mut value = VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, +#[should_panic] +fn test_containers_bits_struct_extra_byte() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/invalid/BitsStruct_extra_byte/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +fn test_containers_bits_struct_lengthy_0() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([62]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([117]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([29]).as_ref()).unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_chaos_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: VarTestStruct = deserialize(&expected_encoding); + let recovered_value: BitsStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("e0021bb04ff4cbf7fdb8ce02d79ed8295dedafb6f1b44a30a500cc97d800e36a"); + root_from_hex("0x39bb190acc9f76e94c785e87e6d20235be64a0d8913fad03cabcf7ec6929e005"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_random_chaos_1() { +fn test_containers_bits_struct_lengthy_1() { let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, true, false, true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([false, false, true, true, false, true, true, false]), + a: Bitlist::<5>::try_from(Vec::::from_iter([50]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([88]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([92]).as_ref()).unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_random_chaos_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -126,7884 +105,2513 @@ fn test_containers_bits_struct_random_chaos_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f11a74232c75623074eeb6bf827b692e43f613e672b40ed442f72cd01c5ee2f4"); + root_from_hex("0x105a099af0fed50f5972d242475878035e14d2322e5c2a12e8ac5cc41cdc9dbe"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_max_0() { - let mut value = ComplexTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - d: List::::try_from(Vec::::from_iter([255])).unwrap(), - e: VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, - ])) - .unwrap(), - c: 255, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - ]) - .unwrap(), +fn test_containers_bits_struct_lengthy_2() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([36]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([67]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([145]).as_ref()).unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); + let recovered_value: BitsStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("9a7021a723498d5ae6cadbc025f7ff755e98438d410ce09fd55b27a9e6a25a5c"); + root_from_hex("0x469f6b49a4ed8f733d42ee4e769eba9c19d5e07aff60b3f9486e30c95d919c95"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_max_7() { - let mut value = ComplexTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - d: List::::try_from(Vec::::from_iter([255])).unwrap(), - e: VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, - ])) - .unwrap(), - c: 255, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - ]) - .unwrap(), +fn test_containers_bits_struct_lengthy_3() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([49]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([100]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([52]).as_ref()).unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_7/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); + let recovered_value: BitsStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("2355b8f62ff0427f4f1bda41968c93eb41f6be15f2989b2e235ab24772699bbf"); + root_from_hex("0x6ed9d1f323c1b7c84169e063e266ad39f60b7fb4162e77d91aa7635a289b9413"); assert_eq!(root, expected_root); } #[test] -fn test_containers_single_field_test_struct_max_chaos_2() { - let mut value = SingleFieldTestStruct { a: 255 }; +fn test_containers_bits_struct_lengthy_4() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([35]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([87]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([51]).as_ref()).unwrap(), + }; let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_chaos_2/serialized.ssz_snappy"); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_4/serialized.ssz_snappy", + ); assert_eq!(encoding, expected_encoding); - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + let recovered_value: BitsStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x9fef37c569b75fd6c8128910e47d0c566fdfef1b6e0559e80729e27bb43a9593"); assert_eq!(root, expected_root); } #[test] -fn test_containers_fixed_test_struct_zero_chaos_1() { - let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; +fn test_containers_bits_struct_lengthy_5() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([43]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([124]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([222]).as_ref()).unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_chaos_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_5/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + let recovered_value: BitsStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + root_from_hex("0xe855d6c5c37e013075aa63d9adc7887a1eba417b39695c4fd36ae276b78182a8"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_one_3() { - let mut value = ComplexTestStruct { - a: 49003, - b: List::::try_from(Vec::::from_iter([15653])).unwrap(), - c: 239, - d: List::::try_from(Vec::::from_iter([148])).unwrap(), - e: VarTestStruct { - a: 56933, - b: List::::try_from(Vec::::from_iter([51513])).unwrap(), - c: 227, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 198, b: 207392827392641159, c: 1227551918 }, - FixedTestStruct { a: 84, b: 10977915993707539152, c: 2750630791 }, - FixedTestStruct { a: 153, b: 4650923157821976456, c: 1619878481 }, - FixedTestStruct { a: 152, b: 8681817436929663740, c: 1036507554 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 50540, - b: List::::try_from(Vec::::from_iter([62171])).unwrap(), - c: 33, - }, - VarTestStruct { - a: 37202, - b: List::::try_from(Vec::::from_iter([64409])).unwrap(), - c: 142, - }, - ]) - .unwrap(), +fn test_containers_bits_struct_lengthy_6() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([55]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([122]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([198]).as_ref()).unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_3/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_6/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); + let recovered_value: BitsStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1adf1503de419e5735c87cd21784ddf520cb547be4f18ea5d25390d65a654ef1"); + root_from_hex("0x26545a0284e45121d8699e25f19fc9c1c4c41112144013c50472a663e9dec051"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_one_4() { - let mut value = ComplexTestStruct { - a: 33449, - b: List::::try_from(Vec::::from_iter([11465])).unwrap(), - c: 54, - d: List::::try_from(Vec::::from_iter([146])).unwrap(), - e: VarTestStruct { - a: 18361, - b: List::::try_from(Vec::::from_iter([27935])).unwrap(), - c: 175, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 253, b: 4615349917584694335, c: 872999527 }, - FixedTestStruct { a: 196, b: 943453220127137753, c: 1191989886 }, - FixedTestStruct { a: 222, b: 16035451323611208354, c: 3434643610 }, - FixedTestStruct { a: 17, b: 2846087815058082165, c: 837051951 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 37931, - b: List::::try_from(Vec::::from_iter([29047])).unwrap(), - c: 70, - }, - VarTestStruct { - a: 25348, - b: List::::try_from(Vec::::from_iter([18965])).unwrap(), - c: 186, - }, - ]) - .unwrap(), +fn test_containers_bits_struct_lengthy_7() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([57]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([110]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([88]).as_ref()).unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_4/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_7/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); + let recovered_value: BitsStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f8591818dc82c94e16373493167e3a04d837fe453a532336d2f4b80c986b7da5"); + root_from_hex("0xe7156a8ddcb2f1c71a736c1fa3e5e429bd70dac43c624261774a506fd0bf9091"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_max_9() { - let mut value = ComplexTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - d: List::::try_from(Vec::::from_iter([255])).unwrap(), - e: VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("8fc6ab2617bc9d8e8b0156ec1c6cda0d5b9f09c91e2ab52900e65376c767bfc3"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_zero() { - let mut value = SmallTestStruct { a: 0, b: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_zero_chaos_1() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, false, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_zero_chaos_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("aaaa3533b5c1fb113f5629286d167a1c134872b245c59f5b1f547fc325618d84"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_max_8() { - let mut value = SingleFieldTestStruct { a: 255 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_max_1() { - let mut value = SingleFieldTestStruct { a: 255 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_random_5() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, false, true]), - b: Bitvector::<2>::from_iter([false, true]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([true]), - e: Bitvector::<8>::from_iter([false, false, true, false, false, false, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_random_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5c652a6881fdbcf2bb433889972d124eeaefc56e933603449bd5654f3aa77f4d"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_max_chaos_0() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, true, true]), - e: Bitvector::<8>::from_iter([true, true, true, true, true, true, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_max_chaos_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f4d67e998921885ee4480b12b72a3fa729ac54f8b6c5b7e02bfc5be185bcec3a"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_zero_2() { - let mut value = ComplexTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - d: List::::try_from(Vec::::from_iter([0])).unwrap(), - e: VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }, - VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("1f6d75d4252f3c39169e59d7831661be5224e98bd91460fd93582645af0e8abf"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_zero_3() { - let mut value = SingleFieldTestStruct { a: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_max_6() { - let mut value = SingleFieldTestStruct { a: 255 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_zero_4() { - let mut value = SingleFieldTestStruct { a: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_zero_5() { - let mut value = ComplexTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - d: List::::try_from(Vec::::from_iter([0])).unwrap(), - e: VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }, - VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("b14eff3c8dcf43636fb3674437f01c1e31541a4fe2f59fce85969931cf502e66"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_random_2() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, false, false]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, false, false, false]), - e: Bitvector::<8>::from_iter([true, false, true, false, false, true, true, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_random_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("b8f13ccf822810bb645e3c6fb81ebb92971e06d9a3bffb4ec521f55de27f8138"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_one_5() { - let mut value = ComplexTestStruct { - a: 522, - b: List::::try_from(Vec::::from_iter([58016])).unwrap(), - c: 1, - d: List::::try_from(Vec::::from_iter([219])).unwrap(), - e: VarTestStruct { - a: 55674, - b: List::::try_from(Vec::::from_iter([51843])).unwrap(), - c: 103, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 51, b: 8951864537982408591, c: 648765584 }, - FixedTestStruct { a: 123, b: 4699791381600974666, c: 2038553040 }, - FixedTestStruct { a: 170, b: 1053862214600258695, c: 1813309682 }, - FixedTestStruct { a: 254, b: 4682841909108083768, c: 3230963302 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 5130, - b: List::::try_from(Vec::::from_iter([59171])).unwrap(), - c: 150, - }, - VarTestStruct { - a: 48351, - b: List::::try_from(Vec::::from_iter([14640])).unwrap(), - c: 9, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("65b2e7eb07c99979ba85bc12bfb32c3f443bdc9a0a5ea5c284d5f4a4a8255615"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_max_8() { - let mut value = ComplexTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - d: List::::try_from(Vec::::from_iter([255])).unwrap(), - e: VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("92ca028b53e0f56f97935a2a736f42f176f4810165ed93b8aae9637825ceecf6"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_one_2() { - let mut value = ComplexTestStruct { - a: 12541, - b: List::::try_from(Vec::::from_iter([2249])).unwrap(), - c: 53, - d: List::::try_from(Vec::::from_iter([126])).unwrap(), - e: VarTestStruct { - a: 37873, - b: List::::try_from(Vec::::from_iter([24680])).unwrap(), - c: 104, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 111, b: 9187765509688476407, c: 1210202299 }, - FixedTestStruct { a: 158, b: 18103802857683004608, c: 3789132591 }, - FixedTestStruct { a: 124, b: 1767260191485559055, c: 2679810848 }, - FixedTestStruct { a: 146, b: 10731242871815542387, c: 1584483294 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 49176, - b: List::::try_from(Vec::::from_iter([36844])).unwrap(), - c: 150, - }, - VarTestStruct { - a: 3399, - b: List::::try_from(Vec::::from_iter([39383])).unwrap(), - c: 4, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("bfb6c2ce9bbc2339a06b32d54b9beebb6628397f1bc9f31b2919045350e076da"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_zero_chaos_0() { - let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_chaos_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_max_6() { - let mut value = ComplexTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - d: List::::try_from(Vec::::from_iter([255])).unwrap(), - e: VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, - ])) - .unwrap(), - c: 255, - }, - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f2e200a0ed6dddf52d635ab3b163ab612c1e8f1d9f614f3aef85beb4cd66cdd2"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_lengthy_chaos_2() { - let mut value = ComplexTestStruct { - a: 43914, - b: List::::try_from(Vec::::from_iter([ - 62086, 1328, 36452, 57324, 9737, 54653, 31513, 53012, 55142, 1461, 52584, 61080, 47577, - 41202, 28554, 51016, 3395, 21150, 12211, 16631, 4736, 51622, 20853, 48055, 36665, - 38198, 21707, 62715, 27251, 56397, 58251, 20691, 59462, 54066, 14496, 12001, 57294, - 56845, 26369, 29814, 34603, 34624, 32640, 24630, 53704, 52972, 1442, 48234, 57217, - 7410, 54435, 39184, 16945, 26130, 19393, 29353, 46432, 22530, 25280, 46319, 2456, - 43794, 19084, 3999, 13723, 59888, 18991, 6336, 33994, 39883, 7156, 30544, 4935, 36305, - 46871, 44707, 2403, 24512, 18361, 45353, 23333, 41515, 51072, 6572, 4622, 7773, 20374, - 2079, 39276, 5866, 1956, 30298, 41162, 31599, 34614, 34697, 8326, 61013, 29554, 36633, - 48167, 20032, 25457, 51141, 25570, 16769, 33919, 35383, 41487, 53945, 59643, 15499, - 16000, 28282, 8774, 61412, 30042, 22151, 7154, 31953, 53103, 43074, 3550, 62797, 56455, - 2268, 34010, 46390, - ])) - .unwrap(), - c: 115, - d: List::::try_from(Vec::::from_iter([ - 67, 108, 235, 173, 230, 5, 113, 72, 60, 94, 194, 112, 0, 195, 72, 239, 116, 39, 209, 7, - 55, 12, 69, 237, 106, 45, 69, 169, 158, 5, 86, 197, 56, 18, 136, 199, 56, 253, 135, - 167, 99, 191, 156, 177, 203, 104, 181, 35, 173, 200, 59, 66, 34, 241, 28, 7, 202, 17, - 152, 1, 80, 229, 248, 221, 104, 209, 225, 153, 248, 141, 133, 252, 32, 31, 190, 39, - 252, 34, 242, 143, 198, 66, 128, 86, 68, 48, 157, 76, 204, 134, 206, 168, 107, 34, 30, - 238, 30, 166, 247, 74, 6, 193, 108, 96, 33, 92, 149, 243, 186, 0, 179, 78, 185, 77, - 197, 17, 160, 176, 210, 92, 0, 95, 167, 215, 41, 9, 253, 91, 57, 27, 83, 118, 243, 242, - 125, 159, 71, 97, 170, 221, 158, 90, 42, 176, 152, 77, 213, 181, 94, 141, 158, 47, 133, - 54, 30, 236, 128, 160, 204, 103, 189, 183, 9, 245, 176, 173, 227, 87, 148, 39, 236, - 102, 112, 112, 254, 0, 164, 157, 178, 74, 94, 213, 181, 187, 169, 85, 18, 139, 177, - 121, 109, 119, 188, 237, 125, 99, 126, 78, 93, 197, 98, 118, 19, 103, 137, 62, 97, 244, - 239, 40, 191, 78, 123, 59, 69, 87, 141, 185, 229, 209, 146, 29, 83, 119, 118, 231, 164, - 154, 8, 155, 120, 254, 112, 189, 55, 125, 183, 130, 92, 131, 250, 23, 193, 66, 100, - 106, 165, 194, 172, 37, 60, 139, 111, 203, 59, 156, - ])) - .unwrap(), - e: VarTestStruct { - a: 23486, - b: List::::try_from(Vec::::from_iter([ - 15593, 63604, 1036, 11176, 19273, 36219, 35466, 12766, 22074, 40009, 2165, 60871, - 10347, 18371, 24026, 49210, 12254, 61533, 19213, 17225, 47173, 23502, 19775, 16365, - 22372, 23420, 17370, 16473, 31126, 21509, 57384, 13788, 57261, 35364, 16417, 44529, - 7955, 44734, 34744, 16949, 22873, 45312, 61913, 21451, 54156, 34596, 48106, 38739, - 19399, 17826, 65002, 48667, 45100, 33250, 13181, 53778, 61679, 12600, 34137, 23291, - 11566, 54421, 3586, 52520, 52111, 22904, 34356, 16399, 42888, 44715, 811, 14021, - 29563, 19294, 20194, 4654, 30802, 53104, 63566, 16361, 18204, 40434, 14592, 54330, - 34911, 65254, 15030, 40691, 4026, 57356, 37607, 51999, 7557, 60424, 32999, 5102, - 55569, 7475, 32717, 39629, 46335, 18013, 63081, 15022, 16576, 27703, 15518, 17745, - 39333, 27791, 39625, 14139, 1093, 55255, 14612, 14935, 12345, 5001, 17837, 28995, - 29585, 5056, 54529, 11226, 19431, 54130, 52849, 63301, 38394, 53611, 9896, 40345, - 20777, 52688, 43652, 33871, 31087, 31651, 35739, 40443, 25280, 10296, 15747, 32611, - 1081, 39938, 14502, 9303, 3537, 60499, 36699, 24564, 65253, 6807, 30936, 41530, - 48628, 6260, 15739, 1139, 40541, 47136, 15559, 42283, 289, 14025, 46768, 12445, - 65457, 29556, 56398, 22133, 4010, 15117, 51299, 1849, 41906, 3322, 63024, 29634, - 59788, 8797, 37379, 46302, 54222, 59902, 39908, 892, 40776, 851, 63341, 17747, - 9924, 31453, 3330, 47434, 49418, 38032, 15150, 19307, 14499, 55637, 62039, 31569, - 7939, 22269, 29644, 36440, 29079, 54213, 60614, 8454, 7136, 25386, 54692, 52439, - 7988, 4419, 7337, 5885, 37333, 44102, 8467, 19262, 14565, 29567, 4389, 2150, 22606, - 24929, 62638, 36224, 59591, 64252, 12798, 33698, 57182, 49489, 21629, 29980, 16955, - 56048, 31331, 672, 7913, 36101, 4590, 9552, 64424, 48603, 63066, 48019, 35026, - 32305, 63429, 47675, 9882, 63825, 1988, 51424, 64792, 7468, 53151, 11836, 26345, - 18733, 8007, 59569, 43430, 24548, 19184, 63699, 22931, 48166, 36294, 10338, 53620, - 23212, 39218, 18483, 45371, 55720, 27938, 4726, 44647, 38401, 49521, 19471, 44093, - 63219, 13068, 37585, 29740, 24131, 14987, 28170, 29699, 21522, 53644, 10230, 61387, - 40881, 54835, 32503, 30687, 17639, 20658, 41262, 57767, 32695, 57562, 33557, 61532, - 39796, 38990, 37545, 21916, 36408, 23564, 21978, 33729, 17441, 39285, 39075, 32251, - 11196, 530, 20433, 53546, 3251, 5308, 7916, 15230, 15239, 29647, 11165, 13798, - 15624, 45725, 24663, 27518, 29704, 20356, 17569, 23591, 40658, 62983, 13806, 32779, - 49993, 60125, 35645, 34057, 21187, 700, 22933, 42449, 11875, 38642, 54045, 62276, - 17852, 43830, 33150, 7567, 26722, 12643, 61311, 11197, 31854, 24390, 14883, 43019, - 16072, 28709, 53377, 14780, 41804, 28600, 22978, 59696, 28566, 22795, 54819, 565, - 25043, 60497, 61053, 25985, 5623, 48427, 28414, 63343, 1552, 24065, 55802, 52313, - 20987, 20413, 23652, 38352, 35994, 2359, 34882, 54943, 51456, 45078, 2482, 50647, - 9045, 44827, 13211, 7614, 30564, 37107, 42904, 16679, 18928, 346, 60545, 23498, - 56045, 24394, 4957, 1612, 31439, 40317, 26146, 21858, 62101, 6024, 23110, 1710, - 39471, 7255, 41863, 12500, 54170, 51554, 13006, 51282, 64352, 38251, 56915, 56357, - 59322, 41790, 38471, 37871, 16280, 5836, 21261, 63787, 63480, 50239, 19560, 13311, - 147, 61842, 59690, 46612, 3647, 36505, 15819, 48395, 62981, 22804, 64596, 31329, - 53717, 13176, 14350, 9580, 59930, 6626, 46327, 45394, 32470, 52910, 63908, 35667, - 56648, 59841, 23125, 47598, 64652, 43078, 9051, 38319, 2169, 33224, 8208, 25652, - 31213, 65189, 49435, 22200, 25770, 10046, 56995, 6051, 37079, 47757, 1575, 31413, - 62094, 47831, 37338, 22664, 59667, 47280, 50437, 36960, 55442, 18695, 9506, 3419, - 37141, 32711, 13765, 44832, 44756, 43642, 13683, 39098, 51545, 48305, 61022, 50798, - 48781, 49651, 11142, 58483, 36057, 26512, 50015, 46941, 1717, 6499, 54385, 50804, - 21901, 57400, 56294, 33992, 57100, 47195, 53247, 11033, 64931, 51432, 63216, 24006, - 7085, 37975, 10085, 33231, 37845, 28664, 31642, 18596, 53057, 22196, 45887, 55139, - 33019, 10912, 29363, 47731, 26613, 27872, 33421, 10935, 40453, 6549, 24689, 22586, - 61720, 42568, 47856, 5594, 57343, 60876, 20883, 57761, 5956, 32113, 3280, 1178, - 15913, 2049, 59601, 16040, 32110, 32684, 53297, 29911, 29285, 39850, 46579, 820, - 53434, 1348, 4384, 44069, 9891, 26242, 123, 22715, 15634, 25332, 4730, 36848, - 15146, 54955, 26910, 6389, 21390, 41975, 40896, 64000, 57206, 33749, 40627, 1089, - 16195, 27857, 26715, 36724, 61762, 14098, 52516, 14825, 45574, 16740, 50819, 15917, - 42908, 57274, 59206, 48821, 18520, 63350, 21886, 5404, 56160, 14298, 50529, 19117, - 51178, 10729, 9479, 33161, 49061, 40405, 28682, 51229, 41030, 34045, 32018, 8913, - 8102, 54945, 19476, 10464, 25104, 29972, 30576, 23970, 18614, 30398, 48925, 22794, - 53775, 4360, 56013, 30762, 27630, 36344, 22201, 31812, 57292, 16847, 8723, 44865, - 14239, 21211, 40014, 45888, 9448, 42422, 10155, 47957, 54903, 19108, 30675, 38878, - 55849, 19222, 63753, 52007, 7711, 33914, 14692, 42498, 36292, 80, 58900, 62143, - 33579, 10866, 9229, 33885, 33596, 33049, 24701, 31623, 8145, 39668, 16053, 50623, - 48594, 30376, 54719, 3191, 24141, 51164, 47700, 23261, 50228, 44211, 16540, 16983, - 50346, 42231, 39277, 1890, 15757, 64567, 32369, 34087, 34497, 49583, 32796, 19877, - 6123, 33688, 26272, 9943, 364, 37190, 29476, 7916, 26196, 7435, 11626, 32608, - 36861, 55350, 21656, 57724, 51795, 3930, 4048, 47282, 29956, 20641, 44773, 60183, - 30145, 52596, 33581, 37854, 48499, 52450, 37241, 39260, 61850, 31260, 65004, 24599, - 59099, 8488, 9090, 26873, 42722, 11990, 55440, 6440, 52949, 42119, 39667, 39535, - 9551, 14793, 65248, 24786, 7594, 27946, 10427, 63086, 64125, 61148, 59202, 46526, - 36548, 58192, 38515, 45732, 15881, 5315, 33765, 63866, 24349, 41267, 36335, 46448, - 37326, 44485, 26486, 22998, 39914, 15176, 30154, 36370, 41988, 39079, 12642, 58414, - 18475, 59493, 4021, 12388, 14050, 27629, 39314, 3812, 8418, 36396, 56265, 21661, - 18297, 33798, 45977, 14658, 47219, 65435, 6893, 55984, 17635, 30505, 34812, 56035, - 341, 64693, 11675, 52967, 46548, 41950, 46037, 27232, 20237, 59428, 39272, 11168, - 63822, 51982, 34297, 9583, 40733, 54617, 8106, 63768, 49931, 42463, 51512, 33001, - 32730, 20866, 13896, 26820, 2256, 52704, 20449, 23064, 26726, 29364, 41601, 17879, - 18327, 41223, 1854, 41891, 39994, 22242, 6757, 33874, 23444, 888, 10838, 27845, - 29135, 11693, 7425, 12244, 16038, 2633, 12130, 14798, 50876, 38216, 42936, 17915, - 41877, 58345, 45828, 9014, 57600, 19775, 21573, 12511, 58596, 18220, 58924, 5404, - 18798, 7048, 30268, 38033, 41665, 29706, 48009, 60874, 35441, 3641, 25972, 34946, - 35012, 46392, 18328, 18080, 14997, 2596, 56549, 44023, 25242, 37423, 44762, 34635, - 54001, 2408, 29980, 64152, 1463, 905, 56029, 3463, 1799, 13585, 52253, 25167, 2143, - 24081, 61603, 10888, 45578, 13276, 26583, 63122, 34896, 22960, 39961, 28934, 24033, - 61958, 49473, 64840, 24974, 55178, 42152, 45365, 23387, 15509, 59867, 58993, 1684, - 33050, 2912, 41106, 24440, 20485, 2921, 48132, 47509, 51589, 28075, 4631, 61031, - 35897, 9677, 8828, 54958, 11312, 62827, 64638, 10491, 19197, 15403, 18327, 47761, - 55042, 40670, 19875, 52462, 15920, 8766, 30590, 65344, 21233, 41136, 58846, 61639, - 18621, 40045, - ])) - .unwrap(), - c: 132, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 159, b: 16295530782191573869, c: 898963900 }, - FixedTestStruct { a: 192, b: 1126888825704345083, c: 621551181 }, - FixedTestStruct { a: 76, b: 5513933778385349547, c: 203149383 }, - FixedTestStruct { a: 121, b: 16663028344398051269, c: 3304510184 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 27500, - b: List::::try_from(Vec::::from_iter([ - 29281, 21678, 50067, 64292, 22880, 65463, 7138, 53665, 14459, 7247, 28850, - 3632, 48847, 4930, 27628, 65477, 46860, 56833, 37500, 54486, 32885, 40941, - 35048, 2303, 51735, 33978, 3806, 7921, 10309, 6720, 40601, 58072, 30791, 41291, - 59863, 47889, 44613, 39102, 64879, 18428, 60829, 17503, 15135, 42841, 52697, - 13327, 25197, 21289, 12684, 3032, 52332, 31674, 54132, 46576, 9328, 19929, - 15199, 28739, 64668, 14956, 12487, 11298, 63454, 8433, 59697, 10916, 10576, - 7778, 2933, 6240, 41564, 33717, 33157, 32638, 28815, 24690, 56340, 57098, - 12594, 4884, 10251, 52714, 38939, 50189, 59680, 60785, 8434, 21363, 38159, - 21210, 7813, 57275, 48557, 19144, 49458, 37297, 4938, 55434, 57328, 48834, - 31094, 52384, 46280, 36369, 32522, 50513, 43750, 21913, 42931, 33435, 56808, - 51411, 33397, 19192, 314, 19092, 56648, 22113, 34241, 29343, 59574, 45397, - 22937, 12923, 51665, 61548, 18252, 13989, 32443, 35371, 34000, 15966, 28542, - 43895, 37691, 43946, 23361, 31019, 47770, 37293, 1317, 23353, 27705, 22762, - 12063, 30990, 48165, 33960, 9359, 49239, 59607, 21590, 63123, 23882, 8591, - 51475, 49097, 56351, 32627, 62560, 31764, 61277, 43166, 20931, 28824, 2261, - 25890, 21257, 52400, 62298, 12636, 26512, 31233, 7924, 16836, 9421, 473, 45438, - 52131, 33646, 13964, 22344, 49422, 22029, 2643, 15253, 60944, 19839, 51819, - 37299, 33641, 45154, 17558, 37923, 16057, 14251, 19645, 31147, 25540, 24210, - 47302, 4334, 61043, 49038, 49138, 14645, 60456, 34158, 51891, 45900, 9064, - 52434, 16409, 27182, 14597, 50036, 63404, 44719, 36248, 46806, 19898, 40730, - 51144, 50223, 12889, 20890, 13446, 59804, 4308, 59376, 58207, 11130, 19410, - 3580, 51378, 21218, 5571, 22459, 43310, 51370, 47510, 4906, 38160, 185, 50073, - 23563, 46787, 1134, 49942, 29705, 34854, 42239, 26463, 45191, 14758, 44872, - 15758, 13509, 35241, 60869, 1180, 28884, 65034, 40406, 43540, 59859, 12472, - 27235, 29732, 2850, 4677, 45797, 23491, 57561, 38559, 9150, 57394, 55174, - 27405, 14792, 65063, 31178, 59833, 3992, 61436, 5507, 62030, 11270, 7891, - 44528, 39536, 62181, 29705, 50009, 6318, 7008, 28140, 63195, 35116, 16219, - 36277, 54583, 61926, 22439, 55119, 23900, 47365, 54634, 27477, 48718, 55945, - 62353, 42684, 26179, 54934, 58362, 59848, 14301, 11550, 32290, 47877, 59428, - 18842, 12660, 47022, 36199, 15279, 43073, 10706, 41013, 29076, 26146, 58099, - 841, 34914, 55835, 47362, 32550, 9495, 5268, 62103, 54611, 30863, 2081, 29651, - 41084, 1359, 48434, 64730, 54973, 50126, 2330, 9468, 49299, 16687, 43299, - 36671, 50540, 64279, 33834, 8622, 33841, 10688, 37470, 42486, 13936, 47066, - 32289, 36691, 23849, 39080, 62657, 2773, 31344, 42870, 15677, 30603, 37153, - 42395, 15322, 63124, 48559, 7328, 20189, 58043, 8093, 58828, 51207, 2114, - 36835, 13252, 3707, 39308, 25399, 53406, 13064, 39503, 42822, 13484, 38997, - 63362, 59378, 54524, 5137, 64056, 47367, 39193, 16882, 32708, 18031, 46298, - 853, 5439, 40214, 57048, 25090, 55664, 21207, 49603, 17699, 58781, 1924, 58961, - 59483, 52953, 60307, 62525, 34479, 58494, 54391, 10794, 18956, 16365, 4443, - 38307, 62346, 51856, 16471, 29440, 18772, 23814, 15911, 7070, 3814, 20349, - 62982, 5907, 32825, 20539, 17303, 46730, 22652, 33165, 17845, 63772, 15107, - 32494, 14987, 63697, 45621, 32698, 53224, 60643, 21055, 56974, 45361, 45284, - 44643, 50551, 47011, 51060, 45721, 44041, 30835, 9881, 6391, 58187, 58994, - 58604, 12222, 31423, 33364, 9211, 40136, 28115, 902, 64318, 36908, 47299, - 27806, 65025, 56474, 22184, 1347, 15152, 58487, 22663, 48281, 50383, 27012, - 60317, 10930, 58668, 25699, 65086, 63670, 37544, 13743, 29675, 9059, 59240, - 60332, 42067, 45576, 10439, 24820, 33770, 53328, 17818, 51074, 1101, 10223, - 17557, 33394, 14350, 21327, 535, 10266, 56608, 53721, 50965, 46452, 6628, - 60343, 19453, 2031, 29074, 6841, 54516, 38480, 32486, 50226, 27771, 65047, - 48750, 46925, 23550, 12936, 61725, 8960, 58747, 63394, 14362, 62625, 34672, - 44488, 36369, 18002, 52446, 56401, 23489, 16458, 32346, 61390, 63897, 44782, - 52399, 23980, 47161, 34397, 51454, 23096, 5915, 38087, 32330, 30759, 64907, - 23291, 57274, 50361, 2438, 65103, 15611, 35113, 14452, 24767, 47741, 6771, - 5464, 18028, 34414, 20216, 61370, 38822, 54651, 9997, 49885, 12194, 57514, - 54941, 23964, 25211, 42202, 62513, 1482, 50034, 15373, 29366, 6518, 62828, - 44943, 23540, 60872, 34821, 11471, 48374, 50550, 46184, 57887, 39127, 44717, - 57530, 55050, 24207, 18865, 16812, 54363, 24025, 27634, 53075, 56798, 11209, - 8542, 17612, 63460, 18319, 24223, 20119, 43846, 23677, 2043, 62607, 28177, - 14729, 63173, 3573, 14973, 24655, 53232, 45305, 16004, 29849, 30363, 56088, - 7304, 43785, 3745, 30406, 39539, 28636, 9826, 37167, 28079, 38691, 41687, - 52727, 36603, 6532, 55972, 58854, 40001, 27012, 31467, 10885, 51968, 40634, - 38334, 48923, 38917, 9345, 15379, 39211, 23137, 23680, 19685, 27357, 39568, - 30352, 1221, 9847, 32890, 64371, 24432, 59292, 29796, 8865, 50896, 13383, - 65165, 64813, 58863, 62256, 50694, 4005, 52913, 13044, 44650, 18022, 10963, - 40399, 16733, 42523, 25865, 14058, 57112, 54382, 50123, 49378, 47060, 26100, - 61428, 23399, 52180, 47432, 43529, 47807, 3548, 1649, 62506, 24732, 57335, - 12939, 2445, 60052, 56214, 21944, 22678, 2333, 38485, 29216, 57769, 27778, - 11103, 11657, 28153, 65248, 47062, 57037, 39819, 27645, 12723, 28614, 43831, - 4879, 29063, 9191, 56588, 3524, 50473, 29823, 13413, 35968, 13411, 30390, - 28453, 43423, 22630, 21359, 10937, 5891, 4024, 10313, 61875, 31116, 61714, - 57223, 57066, 35134, 3306, 38544, 58431, 39002, 29273, 25657, 36366, 36201, - 29920, 18817, 51234, 1743, 5610, 6535, 11243, 11750, 35869, 54518, 57026, - 31084, 17954, 17018, 31061, 9010, 34366, 46449, 46626, 14605, 15340, 28281, - 48176, 18299, 16830, 40421, 62857, 50759, 32586, 22972, 40189, 57097, 61732, - 51089, 50555, 20246, 19972, 6857, 6066, 8899, 33451, 41181, 60518, 10812, - 53543, 41959, 6898, 56889, 24460, 54529, 47261, 65479, 38784, 18860, 49388, - 44832, 36788, 23391, 55467, 45585, 593, 25372, 52439, 39129, 38297, 11694, - 42871, 52432, 37960, 5975, 24967, 6784, 22940, 13569, 15322, 30808, 41078, - 21779, 55278, 56941, 57162, 37426, 49844, 20751, 65095, 553, 22041, 57433, - 13702, 56756, 9738, 10730, 43825, 51206, 3846, 5067, 4530, 7474, 53004, 16880, - 13976, 48440, 64924, 41769, 53831, 18007, 25740, 53501, 5765, 16481, 9370, - 9215, 27715, 32600, 63059, 477, 56163, 6795, 36965, 59318, 61703, 36318, 28881, - 52037, 62255, 56436, 3350, 35307, 60908, 56557, 9511, 20001, 31208, 22330, - 15784, 29174, 51004, 29021, 49288, 30727, 14524, 40929, 61498, 6682, 60102, - 40195, 42501, 40427, 35669, 3208, 12501, 5997, 38962, 63611, 54147, 30767, - 50079, 10401, 48961, 57477, 7170, 49076, 42623, 62301, 62640, 906, 54476, - 29802, 44727, 51111, 61797, 32882, 30971, 6591, 54332, 26948, 1339, 15681, - 20937, 60583, 58110, 8648, 45273, 44179, 46977, 62778, 49195, 45342, 25689, - 41104, 13364, 29007, 32860, 8492, 48825, 16478, 3958, 33220, 18983, 56898, - 13293, 33388, 57384, 20773, 57702, 44664, 6798, 24610, 38836, 15132, 39434, - 41898, 33155, 12551, 28531, 58476, 29132, 56174, 22516, 35582, 12646, 33909, - 58087, 35818, 56124, 37228, 24483, 30578, 28958, 12868, 32882, 59585, 39454, - 5929, 6920, 56966, 56742, 62425, - ])) - .unwrap(), - c: 147, - }, - VarTestStruct { - a: 25233, - b: List::::try_from(Vec::::from_iter([ - 47297, 16490, 46876, 14434, 59976, 18686, 52905, 35542, 53890, 62146, 7934, - 42139, 27861, 6454, 12550, 56788, 34173, 60275, 52163, 43444, 31478, 10378, - 39625, 46265, 46166, 49816, 31867, 16558, 25895, 2996, 55050, 24105, 17354, - 47100, 46836, 11416, 32905, 40733, 12316, 5906, 22671, 12926, 61635, 45033, - 20928, 29922, 49327, 25439, 18241, 2307, 64858, 36404, 63027, 54157, 30849, - 7651, 28544, 27353, 50876, 55798, 7487, 29320, 14233, 50164, 35351, 25869, - 7981, 57499, 62035, 55646, 24474, 65453, 3655, 42375, 63330, 39055, 31017, 840, - 55732, 16969, 4853, 42838, 17024, 62107, 53038, 17328, 42412, 23061, 63323, - 4196, 43417, 52117, 13454, 34855, 2009, 16955, 28149, 18381, 12658, 24321, - 45656, 43998, 32456, 53105, 32548, 46839, 52041, 31061, 1809, 6065, 28847, - 58331, 58188, 36887, 44225, 5122, 14080, 17057, 31036, 62287, 29583, 35836, - 63282, 1474, 10386, 64844, 28127, 1719, 30772, 4014, 8815, 6298, 13413, 63307, - 42025, 33081, 26099, 10021, 50075, 13997, 30351, 52470, 31694, 24331, 16702, - 54619, 18707, 16071, 60574, 55181, 48416, 19776, 63349, 22894, 61573, 18314, - 63100, 27827, 58132, 30545, 57340, 18305, 30266, 28865, 22379, 4022, 62071, - 11734, 54899, 37941, 19254, 50153, 46645, 33839, 5023, 18917, 15599, 49432, - 10423, 29690, 58396, 11326, 52348, 60105, 37951, 16837, 17482, 41954, 56376, - 57039, 27662, 40843, 35098, 59637, 16114, 37994, 58016, 39165, 11107, 841, - 56817, 41740, 31991, 17304, 34550, 55282, 61214, 2295, 64467, 20625, 23285, - 33085, 15160, 32987, 26524, 16565, 28706, 61070, 62335, 11617, 62611, 55822, - 8372, 45841, 18377, 8438, 52095, 19900, 36093, 31518, 47210, 1526, 47603, - 32826, 39037, 12709, 37301, 59542, 65456, 65337, 10147, 21680, 28023, 56695, - 12784, 46084, 32953, 328, 55871, 27257, 13978, 12214, 25991, 60306, 3121, - 11520, 19360, 55903, 54509, 58395, 12310, 55498, 1448, 2624, 51507, 59785, - 35092, 14688, 39810, 21056, 36088, 8398, 16828, 9132, 12606, 63082, 40854, - 14528, 19130, 54996, 30388, 26490, 32371, 50064, 50662, 42283, 23909, 54985, - 29822, 47740, 8322, 8262, 57203, 29546, 29668, 22812, 38039, 38031, 61257, - 34499, 25237, 47820, 21886, 50805, 30225, 42457, 16584, 37790, 28103, 12211, - 21345, 37100, 16492, 51591, 46750, 58467, 15613, 9071, 57201, 18426, 37422, - 25951, 59194, 8582, 44849, 28287, 38117, 43390, 31852, 27521, 64594, 36274, - 15559, 49432, 29181, 5730, 8395, 45237, 14886, 3215, 11421, 63038, 52614, 5042, - 55608, 52450, 37806, 39645, 28224, 60154, 43119, 57382, 55658, 32623, 35363, - 57794, 58361, 41783, 44388, 13143, 32030, 20203, 54281, 22157, 21472, 8736, - 61490, 4025, 6012, 62445, 58407, 50014, 49277, 25469, 48941, 17471, 47128, - 17066, 60189, 22970, 37698, 37864, 31339, 27600, 43300, 47458, 50985, 3122, - 27897, 45397, 19383, 7347, 13520, 25565, 26745, 17977, 31869, 39374, 28124, - 721, 18530, 342, 13051, 61923, 3855, 29524, 53902, 45108, 47878, 9159, 17734, - 13466, 27446, 42308, 53489, 40346, 26062, 25719, 54361, 60254, 7861, 22122, - 62538, 27201, 58681, 15638, 51115, 18291, 5672, 10203, 25051, 49872, 6928, - 24773, 25500, 39825, 30848, 17685, 26323, 3032, 30173, 14457, 29642, 23807, - 11328, 16277, 33100, 40931, 12873, 12227, 33581, 52984, 15066, 37054, 33862, - 32543, 23127, 18356, 1858, 30829, 51568, 14495, 2640, 34734, 62460, 13191, - 37284, 56382, 65385, 52698, 36788, 33235, 18878, 50262, 47475, 52151, 50523, - 42583, 6818, 47993, 58869, 59933, 743, 5032, 39184, 53906, 2395, 449, 8013, - 56728, 14566, 27334, 33037, 61939, 64455, 14861, 47446, 7011, 12345, 59934, - 49485, 24984, 26723, 59873, 65392, 43725, 63231, 1484, 16297, 33744, 10662, - 48257, 65058, 6545, 56068, 38160, 34417, 15743, 22765, 5873, 36812, 40808, - 19041, 58234, 18120, 59080, 57057, 56989, 59172, 65367, 39304, 62737, 25324, - 3813, 17398, 50801, 60904, 32965, 4548, 37439, 5998, 53473, 10326, 39159, - 63603, 27590, 60297, 18437, 40221, 20300, 29959, 55452, 61767, 54906, 61447, - 30334, 487, 6176, 12970, 26687, 2219, 46565, 55590, 37369, 61653, 17292, 15404, - 28037, 34879, 59090, 58189, 37146, 39289, 32104, 59106, 36584, 43939, 56637, - 13533, 44645, 57578, 34027, 30793, 56916, 56858, 63385, 31733, 7768, 56488, - 35521, 31179, 49861, 45155, 33577, 23244, 15418, 64584, 20739, 64411, 34059, - 3155, 20341, 44392, 57595, 2238, 52319, 11167, 44065, 7739, 33438, 62651, - 58152, 12637, 10162, 38016, 55444, 35498, 1776, 53995, 55151, 9860, 50828, - 39846, 32519, 15039, 22242, 1408, 58097, 42437, 57798, 47613, 10416, 21839, - 49283, 12474, 5553, 3063, 37432, 26476, 28180, 56248, 40458, 8372, 19692, 1740, - 27670, 40456, 8994, 8527, 48204, 7690, 40755, 9323, 37950, 253, 5965, 40263, - 58589, 17811, 12853, 21386, 26749, 26033, 36007, 48257, 14967, 47304, 62240, - 40866, 63732, 43018, 41995, 32104, 13974, 51311, 9851, 11777, 39867, 52546, - 19088, 20015, 16594, 49254, 62473, 29279, 41694, 38257, 39659, 65145, 5949, - 23520, 11822, 20655, 55952, 20228, 41403, 32749, 49884, 21642, 19935, 29242, - 29710, 8515, 40312, 41324, 57890, 27224, 47955, 53368, 30090, 33816, 2239, - 27409, 3065, 18242, 48535, 56868, 12100, 571, 3639, 59905, 48489, 55401, 49187, - 2302, 914, 48951, 64645, 58366, 37841, 48833, 28712, 26433, 51940, 37757, - 18044, 21658, 54295, 24766, 19918, 1934, 41025, 17130, 12387, 63846, 54711, - 30267, 40658, 3645, 18071, 55870, 2075, 37734, 1889, 58908, 37826, 2301, 7373, - 6256, 29956, 39147, 48746, 7523, 3918, 21983, 56639, 41908, 46343, 24019, - 43717, 45597, 54500, 45369, 64794, 51619, 27342, 57138, 14104, 64745, 32442, - 60083, 39249, 28754, 43156, 15038, 47370, 24344, 31286, 49708, 31360, 10422, - 41394, 12117, 57430, 56285, 41688, 19010, 35437, 18918, 59151, 27131, 49205, - 26134, 58797, 2844, 22194, 52590, 42833, 39403, 35383, 38013, 17522, 42441, - 32007, 33073, 41469, 6351, 42379, 61175, 43042, 59429, 31180, 47950, 15901, - 40015, 41723, 56784, 53325, 38700, 23600, 34006, 35203, 27692, 61588, 55278, - 17482, 47141, 56412, 36071, 57706, 60945, 33647, 7738, 38128, 58432, 12463, - 42864, 3738, 12734, 52176, 26068, 32193, 38078, 49841, 25355, 28916, 65516, - 40322, 52189, 33877, 7886, 49477, 49593, 57477, 11904, 33951, 43112, 21849, - 8963, 20985, 34414, 25506, 59206, 61670, 49924, 43620, 14109, 59834, 36437, - 1357, 44938, 58300, 53424, 51048, 7622, 7207, 62071, 16084, 29282, 26143, - 47976, 57684, 63378, 38521, 7145, 63359, 14438, 44028, 24900, 33799, 54049, - 1058, 9573, 34224, 48175, 16842, 26172, 12160, 33149, 24383, 25754, 29135, - 25261, 44387, 601, 9649, 44749, 47256, 33629, 36804, 45071, 20925, 7179, 2961, - 34170, 20691, 21828, 57792, 50851, 33553, 12051, 3437, 63853, 33510, 51536, - 812, 56029, 19496, 53784, 10945, 54152, 46354, 16822, 11521, 25521, 57291, - 44074, 56589, 7696, 47238, 38422, 128, 30555, 34576, 45760, 23625, 14201, - 59861, 45825, 32478, 19431, 36634, 13304, 63936, 54325, 15159, 43583, 33923, - 23346, 15538, 39697, 23928, 27618, 35253, 17802, 18782, 1885, 6766, 39663, - 8960, 44945, 54220, 12113, 39765, 21884, 24868, 13089, 11077, 10643, 44397, - 4769, 37780, 16483, 4825, 26581, 62372, 12716, 37193, 8446, 64329, 57747, - 53148, 15916, 17895, 57125, 47188, 64611, 13150, 48768, 17788, 51180, 63494, - 19391, 4062, 11525, 64498, 16275, 38102, 11672, 51183, 49513, 65084, 37895, - 26572, - ])) - .unwrap(), - c: 0, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_chaos_2/serialized.ssz_snappy"); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("b4e8f7ebdf3579a50da0cbf6eb889fafa7daef0efffb0fc165d76d88dff40bf4"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_max_1() { - let mut value = ComplexTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - d: List::::try_from(Vec::::from_iter([255])).unwrap(), - e: VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("822b36c8a4513b7c9c81f8100a99b1ca977fc64a180154af81c27af6ce6da5a8"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_zero() { - let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_random_chaos_0() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([true, false]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([false, true, false]), - e: Bitvector::<8>::from_iter([true, true, true, false, true, false, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_random_chaos_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("38c9859e2c0584a1802aa9b25ec33db9dae9df50169d68d948b589d8eb01f7aa"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_max_7() { - let mut value = SingleFieldTestStruct { a: 255 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_zero_4() { - let mut value = ComplexTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - d: List::::try_from(Vec::::from_iter([0])).unwrap(), - e: VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }, - VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("8021f013769eba11681a8dcf7458660e19c30efe1b95bf0ad1d047a80a51bcc5"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_zero_5() { - let mut value = SingleFieldTestStruct { a: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_random_3() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, false, true]), - b: Bitvector::<2>::from_iter([false, true]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([true, false]), - e: Bitvector::<8>::from_iter([true, true, true, false, false, false, false, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_random_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("00bebd4ee633b4af3e0247fbba72ff80727cd84e5999374dabf8ba04740114aa"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_one_chaos_2() { - let mut value = ComplexTestStruct { - a: 30483, - b: List::::try_from(Vec::::from_iter([9712])).unwrap(), - c: 0, - d: List::::try_from(Vec::::from_iter([70])).unwrap(), - e: VarTestStruct { - a: 50066, - b: List::::try_from(Vec::::from_iter([3290])).unwrap(), - c: 58, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 139, b: 7928507530719916828, c: 4282303815 }, - FixedTestStruct { a: 51, b: 4745801933491683654, c: 1707679012 }, - FixedTestStruct { a: 162, b: 9136612036359568408, c: 168035181 }, - FixedTestStruct { a: 135, b: 15428331690937311254, c: 3775273129 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 31574, - b: List::::try_from(Vec::::from_iter([50627])).unwrap(), - c: 188, - }, - VarTestStruct { - a: 38077, - b: List::::try_from(Vec::::from_iter([18972])).unwrap(), - c: 184, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("887aeaa4092a72ed26e711b4e2147f1c1ee3de66f61641981c17326727824d53"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_max_0() { - let mut value = SingleFieldTestStruct { a: 255 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_random_4() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, true]), - b: Bitvector::<2>::from_iter([false, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, true]), - e: Bitvector::<8>::from_iter([false, false, true, false, false, true, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_random_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("a72542f6f22787da3a00dc428c75c8dd6a75dab48cc8fb663f65594e7947e63a"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_zero_2() { - let mut value = SingleFieldTestStruct { a: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_max_chaos_1() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, true, true, true, true]), - e: Bitvector::<8>::from_iter([true, true, true, true, true, true, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_max_chaos_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("d14588c56f40c8ec3eae3b9a658aab2baac9cc08c418d609737dc6137b90045b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_zero_3() { - let mut value = ComplexTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - d: List::::try_from(Vec::::from_iter([0])).unwrap(), - e: VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, - ])) - .unwrap(), - c: 0, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }, - VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("10d835c8af095afc274d2a76ce98ebeb857396a8f68cbf524d14d3521076c3f8"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_zero_chaos_0() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, false, false, false]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, false, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_zero_chaos_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("27b61f43e35013d439d4d131de8ad79811792cf58724d87ae45f1f3d1f74bacd"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_max_9() { - let mut value = SingleFieldTestStruct { a: 255 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_max_6() { - let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_max_1() { - let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_zero_chaos_2() { - let mut value = SmallTestStruct { a: 0, b: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_max_8() { - let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_nil_1() { - let mut value = ComplexTestStruct { - a: 52446, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 216, - d: List::::try_from(Vec::::from_iter([])).unwrap(), - e: VarTestStruct { - a: 9582, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 179, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 113, b: 8308260144033443154, c: 856314353 }, - FixedTestStruct { a: 88, b: 18286529193086391033, c: 3373857601 }, - FixedTestStruct { a: 10, b: 866825965816182963, c: 3877443397 }, - FixedTestStruct { a: 73, b: 16810218414276843777, c: 184057769 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 56619, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 32, - }, - VarTestStruct { - a: 28432, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 148, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3ad080351afcde8c45956a9dbba68db5b7bd737f5be21f6b07833356b3b77ac5"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_nil_chaos_2() { - let mut value = ComplexTestStruct { - a: 43567, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 74, - d: List::::try_from(Vec::::from_iter([])).unwrap(), - e: VarTestStruct { - a: 3088, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 230, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 80, b: 12261896720768000582, c: 1113008435 }, - FixedTestStruct { a: 167, b: 13074400124343650680, c: 250375806 }, - FixedTestStruct { a: 106, b: 9461353936973742711, c: 613200224 }, - FixedTestStruct { a: 114, b: 15818203515089967829, c: 143907859 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 61793, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 214, - }, - VarTestStruct { - a: 56893, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 6, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("643a44a63abc2b0c12c5db0dd5376fe5a6681e1336d0c0bf99a945d4aa9774e7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_zero_9() { - let mut value = SmallTestStruct { a: 0, b: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_nil_6() { - let mut value = ComplexTestStruct { - a: 14779, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 128, - d: List::::try_from(Vec::::from_iter([])).unwrap(), - e: VarTestStruct { - a: 11314, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 88, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 69, b: 2289519359095941959, c: 4055974165 }, - FixedTestStruct { a: 207, b: 9671730801211586811, c: 3033394329 }, - FixedTestStruct { a: 210, b: 15954635843475561660, c: 3723422315 }, - FixedTestStruct { a: 121, b: 12464746318130489510, c: 2445696058 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 57485, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 228, - }, - VarTestStruct { - a: 15604, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 201, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ff282ed32a48f3c3cab8f5e90c41f31e3b765f98d841adf99f26b0afb1599c66"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_zero_0() { - let mut value = SmallTestStruct { a: 0, b: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_nil_8() { - let mut value = ComplexTestStruct { - a: 9736, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 129, - d: List::::try_from(Vec::::from_iter([])).unwrap(), - e: VarTestStruct { - a: 52567, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 0, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 155, b: 8632484518626447911, c: 4093634018 }, - FixedTestStruct { a: 229, b: 17748644962945795383, c: 2079529187 }, - FixedTestStruct { a: 210, b: 3312027085582884946, c: 3589310165 }, - FixedTestStruct { a: 99, b: 9084020690761810545, c: 2773076247 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 65501, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 183, - }, - VarTestStruct { - a: 13237, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 155, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("6660bf5b0be775c00b5a3a0bbeb90d8f110adb2bd54e7a1779a1230398b27f69"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_zero_7() { - let mut value = SmallTestStruct { a: 0, b: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_random_chaos_2() { - let mut value = FixedTestStruct { a: 30, b: 6156748712181862619, c: 562352362 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5fddaefef3945fe9d1efe6d5f33d593db1cac4dc5e0edff46092b80ae564f713"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_max_9() { - let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_max_0() { - let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_max_7() { - let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_random_chaos_2() { - let mut value = SingleFieldTestStruct { a: 177 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_chaos_2/serialized.ssz_snappy"); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("b100000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_max() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, true, true, true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, true, true]), - e: Bitvector::<8>::from_iter([true, true, true, true, true, true, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("696fb0974bbb2eb3a5d4a7613f2c3cabf81d28a8e51005e7fcab962da7ebca2b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_nil_9() { - let mut value = ComplexTestStruct { - a: 23577, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 175, - d: List::::try_from(Vec::::from_iter([])).unwrap(), - e: VarTestStruct { - a: 52190, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 120, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 179, b: 14068119846896464581, c: 1617655325 }, - FixedTestStruct { a: 205, b: 9540752016240576228, c: 779151254 }, - FixedTestStruct { a: 62, b: 57390556918623452, c: 3205281123 }, - FixedTestStruct { a: 209, b: 2652996980740976958, c: 1890472584 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 18553, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 151, - }, - VarTestStruct { - a: 61674, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 65, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("cc17028327728aac7c2760530199432a97ee4812bdd76faefb4b11bac84e981a"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_zero_6() { - let mut value = SmallTestStruct { a: 0, b: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_zero_1() { - let mut value = SmallTestStruct { a: 0, b: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_max_chaos_2() { - let mut value = VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_max_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("e9aabd6fc8bc59fcbe5d369d36a5a7f4e4da30372c2ee0a79042c68b64306e2c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_zero_8() { - let mut value = SmallTestStruct { a: 0, b: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_nil_7() { - let mut value = ComplexTestStruct { - a: 50885, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 128, - d: List::::try_from(Vec::::from_iter([])).unwrap(), - e: VarTestStruct { - a: 48844, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 156, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 111, b: 9308979922821387243, c: 1304134955 }, - FixedTestStruct { a: 39, b: 16163096394648852761, c: 2955079535 }, - FixedTestStruct { a: 220, b: 13508351431752869162, c: 2371579308 }, - FixedTestStruct { a: 69, b: 4382219926106737506, c: 1420285418 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 25187, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 165, - }, - VarTestStruct { - a: 33983, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 251, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("354ebad67ef3b789f06d89b0ecea632024ca91d353f1e847e83111060f9b6523"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_nil_0() { - let mut value = ComplexTestStruct { - a: 18142, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 231, - d: List::::try_from(Vec::::from_iter([])).unwrap(), - e: VarTestStruct { - a: 61305, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 147, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 141, b: 10953418948196676936, c: 1290597142 }, - FixedTestStruct { a: 218, b: 10485599593819308885, c: 2568442688 }, - FixedTestStruct { a: 148, b: 7829464349203048716, c: 2940052654 }, - FixedTestStruct { a: 130, b: 12125340572984727979, c: 2441735511 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 59231, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 103, - }, - VarTestStruct { - a: 5969, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 211, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("27375ceba8646507e7195acd6a9b584af05e32ac9939ef29df75faa8e1fb7198"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_max_0() { - let mut value = SmallTestStruct { a: 65535, b: 65535 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_zero_5() { - let mut value = VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("4929401717bbb72c80a54a7d31d9fe75e36091585a2c188fa9f4a278cd28f504"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_zero_5() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false, false, false, false]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, false, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_zero_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("a0ed0ec4a187f5f5a40bee9c8680cf42cf0a4c7631957639772eff3628d913f3"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_lengthy_9() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, false, true, false, true]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, true, false, false, false, true]), - e: Bitvector::<8>::from_iter([false, true, false, false, false, false, true, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0ab92b5d899d3e4c819f32bda870df0d777c2eed0a22eee40532a3feff7eb197"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_zero_2() { - let mut value = VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([0, 0, 0])).unwrap(), - c: 0, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("24635e0d491ca51baf0883d3e8b61f7684db971a9608fd4fb5b51a97257f976d"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_max_7() { - let mut value = SmallTestStruct { a: 65535, b: 65535 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_zero_2() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, false, false, false]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false, false]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, false, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_zero_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("7aa68d25017352ef95142af2bb269ce805269676da6111d74887aa9cdcb072a4"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_random_9() { - let mut value = VarTestStruct { - a: 36289, - b: List::::try_from(Vec::::from_iter([ - 15770, 34869, 26310, 3628, 24227, 36802, 9331, 13524, 8151, 1295, 18640, 24073, 3542, - 47222, 15379, 49690, 31549, 2507, 53458, 64468, 25758, 49504, 64229, 3740, 39967, - 28550, 3550, 6921, 65195, 54891, 28559, 41353, 13795, 52666, 64543, 30565, 45021, 7635, - 13316, 55848, 35206, 41794, 41064, 28906, 53686, 15265, 46524, 24718, 53773, 42436, - 53160, 52479, 56223, 8179, 59380, 52392, 54755, 19878, 14302, 53916, 31155, 26664, - 48267, 9328, 27011, 8710, 46885, 5051, 17694, 30649, 53056, 655, 25365, 6594, 573, - 51459, 35850, 47644, 64232, 62783, 54844, - ])) - .unwrap(), - c: 17, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_random_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("496d0493780bb91c6ced1e11510a1e2c494ac1eb16e3bf293dfdadaf834958c7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_random_0() { - let mut value = VarTestStruct { - a: 9142, - b: List::::try_from(Vec::::from_iter([ - 22416, 223, 7972, 11484, 19434, 28447, 5231, 56724, 51306, 42521, 27147, 49964, 36706, - 39915, 55317, 41805, 19846, 12172, 34120, 36440, 53773, 52437, 36273, 14907, 49197, - 35943, 28034, 38986, 52211, 6881, 45813, 57744, 30473, 64290, 21668, 49878, 40359, 320, - 9611, 62941, 51772, 39114, 56218, 62860, 24324, 52495, 62647, 20603, 36865, 48434, - 45414, 27009, 22148, 59954, 62184, 3708, 61327, 13593, 3527, 48055, 62366, 8544, 18352, - 43486, 45729, 37965, 39140, 43330, 38506, 25502, 36573, 9500, 26738, 44516, 43808, - 42082, 60034, 35062, 11135, 15678, 32145, 33705, 48742, 17967, 3719, 51713, 4896, 5776, - 27355, 20291, 41026, 46586, 56958, 9043, 39998, 34265, 63644, 28783, 45579, 10862, - 2379, 43396, 30094, 21303, 62649, 65459, 18342, 8943, 19075, 31887, 21528, 51531, - 42795, 16898, 58502, 5359, 48719, 9003, 48379, 53529, 5849, 9293, 41177, 29874, 25977, - 45375, 49779, 64590, 6874, 3911, 58730, 10509, 38425, 55888, 44604, 19384, 63720, - 31723, 3906, 46741, 48681, 54395, 22813, 9786, 2334, 27822, 25749, 18540, 17367, 33387, - 6489, 61347, 47389, 48731, 37802, 51990, 53503, 48217, 30693, 37390, 1146, 40992, - 34865, 15790, 4640, 28647, 48418, 24104, 42236, 38394, 47560, 35769, 23109, 59882, - 22177, 423, 53557, 31329, 25129, 58161, 35835, 22838, 46381, 53662, 63722, 63059, - 62940, 58363, 48893, 13445, 52629, 16651, 13906, 61519, 63976, 12682, 17280, 33541, - 31322, 9288, 43949, 51404, 38481, 46527, 53147, 24686, 61987, 61038, 41883, 57878, - 14142, 60712, 11255, 9968, 25881, 23043, 44026, 22629, 49513, 35585, 26161, 34678, - 3851, 20729, 41423, 13074, 5930, 7299, 34124, 55573, 42360, 44558, 40360, 56850, 21792, - 49250, 51715, 1160, 37892, 37185, 41500, 32616, 20458, 25467, 59368, 58330, 54723, - 44092, 35226, 57025, 51351, 34034, 64690, 41306, 32465, 37513, 20683, 21484, 53850, - 20660, 4514, 30481, 46379, 27036, 56373, 58231, 3172, 53001, 9068, 8268, 9281, 32033, - 49955, 63629, 49768, 31128, 39678, 42896, 59238, 8420, 39680, 3423, 23669, 18717, - 19250, 49210, 56133, 23208, 17950, 39502, 12292, 64027, 44021, 17505, 34999, 56486, - 61866, 36539, 41349, 21955, 8641, 57572, 30183, 57983, 32735, 8757, 34950, 20469, - 35938, 18988, 51651, 28556, 26356, 19159, 27794, 44907, 54154, 242, 45388, 25075, - 29313, 2174, 2314, 47601, 57706, 30986, 1451, 54310, 55358, 65115, 55275, 43470, 32677, - 63547, 40039, 61454, 2236, 2646, 38283, 16176, 59286, 32096, 51802, 54940, 27443, 5518, - 56533, 51332, 14617, 54082, 23329, 22820, 9483, 48295, 22353, 30089, 8292, 49798, 4329, - 16647, 35158, 3770, 45230, 7856, 36001, 2317, 5922, 53944, 63075, 3987, 37793, 23932, - 30238, 64222, 8098, 38614, 31902, 58410, 60158, 22946, 34517, 21133, 54713, 40857, - 1249, 38290, 42738, 26882, 24319, 4260, 40285, 65497, 2365, 55677, 21290, 56983, 44440, - 37594, 12326, 10481, 54917, 43962, 4982, 53518, 57962, 23944, 53195, 13978, 43412, - 24919, 13137, 51956, 11767, 41673, 16436, 9498, 43299, 63167, 34351, 10006, 8354, - 59068, 1377, 46262, 4763, 28350, 14144, 58447, 23475, 5438, 34975, 52436, 40688, 4232, - 44224, 44922, 27855, 11518, 31954, 12900, 39291, 2204, 8952, 11027, 3659, 39007, 45278, - 56515, 2365, 51232, 59731, 11478, 28586, 10316, 45669, 43867, 46239, 50889, 46538, - 12456, 4094, 16941, 17517, 59135, 46966, 16505, 12639, 8089, 34897, 20779, 4142, 44528, - 64715, 10776, 57067, 47195, 2350, 55112, 41270, 25163, 21751, 30049, 55494, 22443, - 56693, 65477, 18304, 49722, 62399, 50538, 40000, 36289, 34045, 18731, 46894, 17228, - 34239, 40826, 32621, 38704, 21978, 20313, 59697, 7675, 34261, 54989, 48326, 6525, - 45585, 1149, 4908, 25857, 40177, 24839, 62376, 50834, 36995, 41448, 50390, 54481, - 35759, 58404, 7367, 43845, 33680, 25556, 41328, 12424, 52819, 47853, 47789, 55978, - 38859, 50960, 53553, 36937, 33677, 22217, 59545, 47048, 26333, 23995, 8154, 49423, - 59537, 17383, 31070, 49224, 39907, 48761, 53876, 33303, 29275, 42796, 57934, 41127, - 16235, 21731, 32887, 23106, 53006, 58920, 34131, 36269, 59068, 11913, 21507, 59728, - 64259, 6271, 7602, 39449, 27773, 49674, 17386, 53896, 9330, 24816, 20014, 37952, 48875, - 38206, 23681, 57114, 61553, 6859, 31683, 62582, 51244, 12580, 20831, 7093, 15057, - 12773, 19211, 16994, 16260, 61759, 48546, 13804, 2755, 10654, 27001, 17678, 41104, - 49638, 33604, 55547, 38612, 47139, 58864, 30198, 8363, 41113, 6293, 26879, 39412, - 52639, 49144, 64727, 39990, 33655, 21796, 24259, 41590, 2733, 5172, 44938, 43068, - 47316, 59594, 16123, 57322, 10619, 38642, 54714, 13858, 42426, 17878, 51553, 35176, - 63160, 5617, 49361, 878, 53276, 3591, 29091, 8321, 8286, 48804, 47701, 64141, 5356, - 7849, 31, 2535, 28852, 15777, 50447, 36423, 30409, 33434, 39079, 8277, 9918, - ])) - .unwrap(), - c: 149, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_random_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3c833af82f46636a42cfa718c0e9b287f4e26fa14c0f32a1a7674eaf10347707"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_lengthy_0() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, true, true, true, true]), - b: Bitvector::<2>::from_iter([false, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, false, true, false, true, true]), - e: Bitvector::<8>::from_iter([true, false, true, true, true, false, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("39bb190acc9f76e94c785e87e6d20235be64a0d8913fad03cabcf7ec6929e005"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_random_7() { - let mut value = VarTestStruct { - a: 15141, - b: List::::try_from(Vec::::from_iter([ - 11492, 62534, 29650, 54155, 42383, 41747, 4722, 64781, 28665, 7575, 43451, 64198, - 60649, 65080, 30481, 20350, 555, 54139, 29652, 32621, 2068, 50399, 35141, 35336, 60963, - 54790, 42991, 63010, 25898, 36562, 22390, 61383, 737, 60181, 59369, 59664, 18944, 620, - 24499, 62519, 23843, 899, 61045, 25610, 40129, 53188, 15773, 16822, 59078, 35660, - 17975, 18177, 35999, 36333, 25068, 45479, 24058, 48489, 6432, 21581, 33765, 60791, - 30983, 43164, 63790, 14094, 52188, 38186, 36408, 32854, 24788, 50280, 43473, 14787, - 9431, 49509, 54204, 13158, 33909, 1723, 49512, 3998, 503, 47620, 8712, 21099, 13187, - 3886, 41368, 39291, 1167, 11778, 31776, 51077, 45297, 27096, 49776, 604, 25107, 31694, - 59670, 58098, 48640, 25738, 34494, 11456, 22335, 48893, 51124, 38865, 54749, 64901, - 2690, 58928, 10742, 5477, 23760, 36812, 27472, 27174, 42401, 55421, 10142, 11710, - 51903, 57988, 33169, 24510, 62967, 43560, 50759, 58756, 52983, 17425, 29663, 32043, - 11452, 9229, 1927, 57451, 1826, 42134, 46590, 57091, 52281, 58185, 25106, 58335, 41897, - 9009, 34924, 45915, 36396, 58361, 64873, 48476, 49651, 12566, 61137, 55462, 30150, - 14019, 4389, 28838, 8230, 44742, 3998, 16639, 60592, 52017, 24957, 39976, 10667, 50788, - 10386, 17062, 52717, 59242, 7305, 18157, 36353, 64471, 29693, 54452, 47924, 58033, - 55809, 20008, 4788, 10971, 5333, 3482, 50366, 24538, 5926, 33364, 20599, 22726, 16586, - 23058, 17253, 41719, 43348, 21710, 45644, 22138, 8726, 18278, 49545, 26174, 4856, - 18980, 52829, 61316, 54755, 52387, 547, 42381, 52940, 45486, 45221, 47272, 33976, - 55255, 64271, 45639, 34992, 20289, 32179, 60967, 4831, 24867, 30900, 51068, 51180, - 18895, 14927, 50714, 60369, 26178, 36562, 50371, 32112, 33435, 49200, 19207, 63908, - 4719, 23431, 42143, 31561, 52266, 63902, 43408, 20806, 29202, 43171, 2965, 37781, - 34174, 13194, 3809, 28446, 12793, 41574, 63759, 39184, 1511, 60581, 20365, 10171, - 56885, 62303, 62419, 1784, 42802, 47183, 32218, 60120, 12772, 32106, 52623, 45977, - 60956, 7417, 17576, 52239, 39073, 8323, 19153, 13998, 41076, 5947, 61408, 49315, 46038, - 261, 13569, 33734, 39354, 3214, 1415, 29150, 35761, 29100, 6532, 15563, 7411, 31732, - 10962, 2230, 24119, 54489, 41040, 20960, 32790, 11001, 37776, 14676, 41629, 34703, - 65470, 36146, 28409, 29239, 7533, 49880, 50145, 21576, 15064, 52685, 18777, 38920, - 39789, 18249, 35922, 5120, 17338, 45878, 16853, 45834, 33349, 15022, 12205, 51928, - 32362, 60661, 46068, 51503, 29739, 14495, 33225, 7330, 55026, 48141, 46474, 51413, - 6204, 60291, 56725, 13734, 54630, 49359, 15864, 18765, 53931, 33278, 61242, 52695, - 36214, 2238, 28984, 61680, 56467, 4126, 31773, 24428, 768, 3157, 28140, 43695, 36472, - 8674, 36615, 42024, 38150, 51941, 46819, 5331, 42260, 17174, 2717, 3694, 15186, 13635, - 45771, 41472, 40979, 26855, 45352, 35254, 7064, 15687, 17205, 57566, 2125, 56098, - 28480, 32707, - ])) - .unwrap(), - c: 227, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_random_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("fdec9924b0923e29f38cef674bb14550bb6ae3ad82afa514c8f0f9fd5b9f1501"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_nil_chaos_1() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([true, true, false, true, false, false, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_nil_chaos_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("b54cbc74cccfac2ac02868b7442271e3e0e98533c9a409529c183874e742f416"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_max_9() { - let mut value = SmallTestStruct { a: 65535, b: 65535 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_lengthy_7() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, false, false, true, true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false, true, true, true, false, true]), - e: Bitvector::<8>::from_iter([false, false, false, true, true, false, true, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("e7156a8ddcb2f1c71a736c1fa3e5e429bd70dac43c624261774a506fd0bf9091"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_nil_2() { - let mut value = VarTestStruct { - a: 54253, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 113, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("393695f7c96d59344d2c9ac1877e32143abf12828b1cf629876140699d66b84f"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_random_9() { - let mut value = ComplexTestStruct { - a: 11787, - b: List::::try_from(Vec::::from_iter([ - 8531, 23602, 46945, 14476, 64645, 50631, 21162, 24632, 45653, 45856, 24236, 2463, - ])) - .unwrap(), - c: 255, - d: List::::try_from(Vec::::from_iter([ - 12, 10, 211, 92, 54, 219, 98, 127, 115, 201, 120, 168, 193, 48, 16, 117, 97, 182, 170, - 209, 95, 96, 24, 123, 140, 84, 62, 197, 247, 79, 150, 209, 41, 38, 101, 170, 232, 99, - 254, 141, 0, 123, 233, 167, 194, 199, 151, 12, 251, 148, 116, 165, 205, 133, 57, 10, - 26, 87, 227, 51, 158, 142, 187, 47, 159, 231, 231, 40, 197, 103, 3, 18, 117, 200, 205, - 109, 93, 76, 37, 46, 116, 133, 159, 101, 128, 70, 147, 191, 206, 6, 161, 92, 67, 187, - 52, 132, 240, 37, 33, 100, 86, 154, 13, 228, 243, 222, 215, 35, 139, 107, 179, 163, 46, - 252, 90, 239, 68, 39, 141, 244, 226, 203, 209, 32, 68, 166, 10, 197, 251, 119, 209, 60, - 32, 27, 95, 173, 68, 141, 210, 136, 167, 187, 174, 246, 12, 6, 124, 103, 217, 135, 19, - 189, 216, 27, 128, 124, 151, 231, 186, 171, 191, 105, 224, 18, 3, 214, 240, 195, 55, - 222, 8, 167, 136, 138, 184, 20, 69, 96, 71, 195, 218, 206, 71, 49, 17, 216, 62, 183, - 245, 76, 27, 221, 5, 188, - ])) - .unwrap(), - e: VarTestStruct { - a: 52907, - b: List::::try_from(Vec::::from_iter([ - 37099, 31817, 10319, 35717, 54398, 56813, 58033, 39357, 26917, 38775, 10885, 34282, - 26328, 45783, 28493, 27345, 56865, 48149, 57156, 60669, 22262, 33108, 35756, 44313, - 25626, 13033, 13296, 56332, 27214, 50796, 18143, 61919, 19611, 49665, 54790, 17370, - 42341, 57736, 46631, 15055, 63126, 27596, 61180, 45983, 22076, 33823, 54868, 55242, - 40024, 5960, 25823, 209, 38243, 63926, 37020, 29071, 43264, 14046, 22787, 47774, - 2597, 40202, 35452, 51232, 59558, 37244, 28361, 31303, 63216, 65320, 21705, 31661, - 31970, 11224, 30328, 12502, 50719, 53320, 59551, 6177, 25842, 23233, 10672, 59866, - 33248, 51464, 24129, 15868, 51310, 831, 11679, 39776, 16838, 15094, 1891, 4945, - 17139, 14483, 53417, 43793, 26732, 25508, 60376, 45651, 42304, 20805, 51017, 51137, - 18853, 5282, 56980, 36262, 63291, 40055, 17194, 44512, 3754, 14677, 37193, 4063, - 61233, 22279, 23257, 13592, 30216, 19982, 28442, 27947, 26463, 53635, 61708, 47188, - 59831, 42961, 26492, 9340, 35601, 11309, 38972, 6821, 2617, 50856, 11340, 4937, - 46850, 7973, 37673, 27306, 19855, 41187, 5963, 44203, 64792, 33983, 13343, 10665, - 11175, 64153, 53260, 62614, 49346, 36709, 55179, 8543, 39141, 36887, 27874, 11142, - 32650, 16114, 64619, 58247, 8714, 18354, 43117, 2534, 60065, 40265, 31687, 48791, - 50066, 27022, 40843, 4931, 24620, 57753, 25680, 2913, 55151, 20387, 15219, 11052, - 9219, 37402, 63692, 21719, 39391, 33838, 39773, 997, 36072, 4482, 55672, 60378, - 32729, 34536, 7624, 17576, 48245, 426, 55571, 40444, 33146, 33971, 6131, 35061, - 18155, 7598, 36545, 60972, 26042, 744, 27907, 14928, 44169, 29624, 62476, 62732, - 7788, 59995, 12290, 2471, 53137, 25846, 61841, 43565, 8741, 49759, 39626, 1621, - 26404, 47860, 10662, - ])) - .unwrap(), - c: 236, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 244, b: 10736787368015739932, c: 2999381551 }, - FixedTestStruct { a: 118, b: 8708320525189144534, c: 4021318982 }, - FixedTestStruct { a: 212, b: 11980052676225444100, c: 3164386682 }, - FixedTestStruct { a: 250, b: 2578982393630105132, c: 1941069318 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 36012, - b: List::::try_from(Vec::::from_iter([ - 45286, 64710, 8368, 8693, 49467, 56997, 22986, 51416, 21129, 56764, 42816, - 26552, 20183, 4560, 3501, 29609, 22941, 8435, 18060, 6370, 14409, 55377, 47088, - 2710, 48849, 53593, 63102, 56162, 64610, 44972, 60690, 33226, 4385, 20787, - 62649, 14925, 11076, 18857, 65112, 45284, 25042, 31476, 10658, 52761, 9685, - 28598, 64039, 51278, 17992, 37157, 1498, 52309, 32568, 62865, 41435, 55629, - 35149, 33412, 28758, 28117, 58245, 14074, 22108, 34109, 61881, 32814, 37049, - 45305, 42186, 5714, 7265, 13932, 447, 61512, 11899, 17687, 64398, 34194, 21446, - 35552, 26702, 48997, 61368, 14868, 42241, 54460, 50699, 60111, 59354, 55703, - 42362, 53746, 8603, 2741, 64296, 18003, 32343, 34383, 8391, 62667, 44571, - 20590, 64772, 31105, 56873, 40297, 55524, 2322, 17617, 42097, 41871, 36808, - 48776, 22211, 62889, 19084, 8932, 16013, 43393, 16865, 40638, 10791, 17251, - 26095, 40987, 26729, 9192, 32057, 46343, 8810, 17582, 55995, 44869, 8001, - 23345, 54462, 36009, 40649, 17469, 4343, 3093, 52656, 59475, 7954, 43018, - 20960, 25278, 37715, 54264, 26240, 58334, 5105, 47069, 5160, 38451, 40773, - 13359, 27225, 37181, 33916, 56148, 23569, 38233, 10482, 23428, 34537, 36982, - 25181, 46879, 45695, 41328, 52917, 56537, 23022, 22362, 9637, 22502, 30665, - 52452, 40130, 48728, 61342, 35105, 28775, 7801, 21527, 10960, 49907, 1641, - 3484, 62086, 41865, 35410, 60677, 40950, 59160, 64936, 57534, 24173, 42359, - 37968, 22374, 52091, 49686, 4477, 47609, 22917, 54488, 36737, 20905, 37087, - 41243, 32660, 46427, 55358, 43032, 32413, 26366, 37967, 24909, 56387, 12032, - 33133, 17852, 10866, 26859, 63534, 47675, 47325, 61384, 7279, 51925, 38224, - 35343, 65409, 45459, 64379, 45111, 60623, 7260, 28870, 8442, 7300, 45830, 1759, - 18499, 23076, 60368, 57635, 61907, 5922, 12539, 56519, 27867, 61191, 595, - 28032, 15966, 27715, 46892, 15097, 13286, 14895, 36347, 693, 42448, 15546, - 52347, 23353, 27833, 14817, 35726, 13538, 45073, 28152, 10903, 29949, 15038, - 57062, 34920, 14561, 19470, 17932, 10674, 18489, 428, 54348, 5739, 14770, - 15543, 13621, 20382, 60636, 59709, 3807, 49258, 39153, 52366, 53293, 7894, - 53835, 55045, 52192, 36234, 27933, 9105, 42430, 18848, 4460, 64409, 59681, - 31874, 40799, 33941, 20631, 42146, 45969, 31351, 60280, 54110, 26471, 34224, - 24968, 17633, 22435, 45965, 63293, 19971, 20740, 40692, 28847, 18645, 11345, - 33386, 58714, 43968, 45436, 4270, 46708, 61014, 37550, 50779, 27530, 17093, - 2259, 23561, 21896, 5186, 47076, 24443, 936, 38650, 60577, 44251, 5761, 62387, - 18540, 5317, 3363, 56878, 10919, 18535, 44141, 39677, 24206, 15318, 37574, - 57387, 62783, 3389, 8092, 12209, 18049, 24502, 46967, 22503, 8512, 8226, 63811, - 56513, 4743, 19782, 12640, 37695, 64386, 9762, 45475, 9411, 17115, 10015, - 12599, 54147, 61600, 26852, 1148, 37474, 63075, 15980, 43161, 55810, 61079, - 27848, 62525, 6834, 60241, 50441, 15839, 49518, 44909, 11828, 55384, 46282, - 33324, 35412, 41225, 34489, 61487, 64526, 41570, 4958, 2146, 22053, 46184, - 26429, 65286, 45439, 45344, 2204, 55658, 27206, 38544, 14014, 61098, 51208, - 53600, 16659, 12558, 55154, 20309, 47872, 40118, 33163, 2610, 47296, 10209, - 33906, 9158, 30500, 28178, 36440, 16967, 41714, 41582, 45966, 38529, 49792, - 13737, 37646, 10501, 16316, 32590, 24455, 16772, 12864, 21596, 16527, 12798, - 18187, 52900, 59773, 56087, 13932, 15454, 50483, 21790, 40332, 47284, 37669, - 29153, 30352, 10849, 2347, 42574, 39453, 42068, 8065, 28073, 2582, 26238, - 34891, 39482, 13426, 38648, 56760, 10387, 9840, 52595, 4807, 32639, 51655, - 21344, 53750, 21916, 29446, 27482, 41372, 33985, 49020, 3663, 2019, 12577, - 55177, 931, 27485, 11373, 1267, 55553, 59022, 62195, 20393, 63584, 21974, - 47084, 27772, 17704, 10495, 2500, 15315, 52055, 23126, 59962, 56334, 44004, - 23761, 334, 51509, 41332, 12235, 18653, 31753, 46390, 60926, 24835, 26748, - 16684, 58141, 4015, 3914, 59060, 21889, 20349, 7707, 36486, 59721, 25215, - 55969, 37148, 53949, 22911, 45007, 19793, 23959, 48820, 48149, 49686, 51059, - 33115, 26073, 51296, 14882, 1326, 30168, 64869, 43058, 48107, 29482, 48491, - 43455, 44790, 1503, 27454, 37513, 9376, 38519, 6451, 15707, 20228, 30422, - 62993, 19751, 47556, 2878, 13163, 34329, 34559, 62383, 52402, 61134, 33229, - 8925, 52851, 6132, 23037, 4657, 7954, 38039, 49967, 14081, 41895, 33737, 46823, - 51981, 61105, 30655, 9660, 615, 2294, 45829, 33125, 36603, 42625, 22707, 16947, - 45044, 40025, 52227, 26381, 4849, 37959, 60411, 22338, 22519, 29277, 44102, - 65308, 11318, 37027, 31689, 11116, 55217, 2284, 11058, 6249, 15882, 12448, - 45130, 11494, 63883, 17598, 7170, 49100, 44676, 6514, 32885, 45865, 14767, - 22431, 43642, 27078, 3781, 33964, 63007, 12512, 62469, 38426, 19395, 29509, - 4615, 6228, 17896, 32730, 25060, 20060, 38936, 63691, 9729, 54210, 30236, - 26207, 63821, 39139, 2882, 16276, 55087, 33316, 14854, 48439, 31930, 23761, - 8885, 28439, 13358, 49995, 46555, 63024, 34432, 13298, 21409, 33225, 44572, - 20507, 15112, 64911, 25235, 6362, 12931, 30836, 27340, 48648, 35724, 29930, - 46277, 13513, 40053, - ])) - .unwrap(), - c: 75, - }, - VarTestStruct { - a: 31422, - b: List::::try_from(Vec::::from_iter([ - 41536, 53745, 8614, 26181, 41078, 47910, 51433, 8103, 43092, 60217, 35900, - 28603, 6651, 41287, 19112, 59182, 47397, 35978, 5990, 1581, 35667, 10300, - 45523, 47493, 44283, 34256, 36472, 36037, 52151, 60187, 18020, 42646, 48183, - 2853, 8697, 58435, 57453, 16165, 62083, 46951, 22790, 56044, 62268, 1757, - 18900, 45829, 64950, 5366, 18666, 62278, 16311, 54792, 6113, 42220, 4249, - 32254, 15092, 17794, 27843, 8568, 60888, 54806, 39105, 2787, 54509, 14154, - 24967, 3656, 465, 59445, 12025, 27791, 20363, 14487, 7737, 51844, 47341, 2248, - 5041, 16650, 4692, 27755, 62812, 8429, 50753, 30416, 27531, 53358, 63241, - 45643, 55306, 37281, 37230, 61432, 17032, 35216, 61364, 31748, 9459, 32814, - 65411, 30654, 55370, 3399, 15511, 5240, 41442, 38449, 43079, 52342, 47357, - 36560, 62152, 43645, 57855, 27808, 10563, 64456, 45779, 18756, 60554, 34229, - 39138, 56430, 59421, 245, 64706, 56095, 17053, 39701, 46279, 59737, 39576, - 3386, 20323, 64231, 40947, 606, 13118, 55847, 15063, 737, 37551, 33620, 44503, - 35756, 10535, 49135, 27599, 33839, 12785, 60403, 58687, 45402, 47195, 37566, - 1337, 30181, 33364, 42690, 50490, 37666, 16274, 27821, 25761, 31495, 49899, - 28386, 33207, 31819, 40538, 59051, 17171, 64316, 47999, 64395, 44710, 39715, - 63030, 30234, 10304, 20987, 56323, 13163, 19022, - ])) - .unwrap(), - c: 47, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ef116345d1d809e3a8c2fde4dae330d025ce3d5afbd096ca0477bde166093560"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_one_1() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false]), - b: Bitvector::<2>::from_iter([false, true]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false]), - e: Bitvector::<8>::from_iter([true, false, true, true, true, true, false, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_one_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("41c895a709caea4c3e74ef7bafafb1cb189eae3298ab2817c28ce78444488545"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_nil_5() { - let mut value = VarTestStruct { - a: 33408, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 65, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("d97827015e4a4920cb11833893aafdf4335e4495a69b7ac9aa4bb9e2282f2077"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_random_9() { - let mut value = SingleFieldTestStruct { a: 8 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0800000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_one_6() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true]), - e: Bitvector::<8>::from_iter([false, true, true, false, false, false, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_one_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("317370e20fa26f536091dafc94282aa86db552df4ac30045150d4bcd2cc49426"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_lengthy_chaos_2() { - let mut value = VarTestStruct { - a: 1866, - b: List::::try_from(Vec::::from_iter([ - 5970, 16331, 6233, 25696, 43712, 34308, 6378, 53193, 12729, 41143, 28218, 28244, 12683, - 24508, 43595, 29477, 28929, 15327, 12920, 45691, 9195, 49912, 53273, 60694, 64402, - 5845, 47975, 23367, 17966, 35482, 48861, 63267, 39059, 25534, 61724, 45706, 54292, - 58613, 1045, 24709, 61688, 42432, 54121, 30218, 65150, 20066, 25154, 43166, 16452, - 12854, 53712, 45446, 20207, 3310, 52949, 60249, 23203, 53917, 35632, 61453, 49993, - 62739, 43525, 367, 35467, 57856, 41583, 5875, 23173, 31875, 18045, 54676, 38595, 46884, - 22358, 2063, 33608, 31947, 24080, 40973, 14838, 43625, 16170, 50450, 44754, 14162, - 55307, 8892, 23549, 34990, 10095, 50915, 16197, 40134, 60136, 17179, 19271, 23620, - 5124, 12110, 7585, 53326, 13824, 831, 24949, 56586, 48809, 39253, 14814, 48606, 15947, - 28078, 43571, 46273, 34098, 25445, 25167, 45435, 57431, 12520, 27531, 27363, 24100, - 17936, 31791, 19770, 37935, 1299, 46114, 12568, 60826, 6719, 36327, 41530, 31543, - 19327, 49610, 50389, 49219, 37438, 40502, 16771, 39555, 56974, 165, 62026, 51594, - 22029, 56832, 41288, 62627, 28807, 14506, 51584, 10197, 54235, 18316, 16051, 53838, - 22324, 2576, 63004, 46632, 55985, 1981, 57295, 32041, 17218, 34588, 47219, 48357, - 20228, 17159, 7290, 41727, 13631, 16464, 40814, 32955, 48902, 53396, 1809, 58332, - 10962, 22715, 60120, 54891, 49895, 6185, 61710, 18377, 8933, 33281, 22283, 41494, - 27669, 20502, 59533, 25947, 42727, 34602, 65125, 28617, 42599, 25746, 20372, 38616, - 30992, 42804, 28034, 37067, 62166, 52442, 60520, 53349, 60607, 36539, 42627, 20810, - 26732, 287, 25168, 56862, 36705, 51341, 35764, 21272, 58387, 63383, 374, 48534, 7824, - 12706, 45288, 55943, 314, 42605, 29950, 41780, 31002, 24329, 1140, 43282, 31766, 40488, - 39765, 24238, 63647, 33116, 12833, 23948, 47332, 28169, 15933, 11386, 28330, 53491, - 27171, 16768, 55320, 5802, 9985, 53550, 37294, 48466, 49208, 9922, 51014, 4301, 65497, - 3748, 40404, 51586, 49775, 21765, 32601, 25754, 41752, 64935, 53061, 20604, 35425, - 34957, 22356, 49238, 15530, 12659, 22637, 4844, 40024, 12527, 63141, 52298, 1765, - 13911, 22490, 7311, 45725, 35496, 4151, 35447, 32399, 38929, 32902, 56916, 43167, 9748, - 4762, 50505, 44050, 64685, 15813, 15709, 62230, 54750, 4185, 62634, 18175, 20663, - 27181, 38941, 45930, 31981, 16227, 44767, 45637, 53622, 25008, 7810, 41642, 714, 30658, - 13957, 64254, 3677, 7525, 3211, 25752, 53390, 43862, 19137, 38008, 3956, 36900, 12589, - 53890, 33104, 31383, 59596, 24698, 46509, 22901, 10973, 18080, 65086, 20274, 27048, - 64235, 45712, 6424, 65255, 59777, 48325, 63865, 7375, 47741, 46549, 25913, 2634, 59115, - 25776, 37445, 18277, 26912, 23061, 18528, 18901, 62051, 32433, 3268, 63069, 38787, - 45049, 25288, 65333, 56243, 48363, 46423, 14154, 60015, 4184, 28456, 60447, 8878, - 31779, 39674, 16853, 13917, 37348, 22894, 21256, 56163, 12562, 19958, 47672, 45432, - 15304, 43109, 14459, 55660, 63948, 56739, 45099, 5588, 39053, 2972, 50696, 8875, 47571, - 6614, 2544, 42326, 43348, 64673, 30519, 45199, 5406, 49945, 23371, 371, 27670, 48568, - 50561, 64724, 62349, 54189, 57613, 14443, 8559, 26502, 41726, 6901, 44688, 52502, - 18474, 19036, 44177, 56732, 35247, 15602, 23660, 38154, 38785, 25149, 15782, 24048, - 15716, 14413, 31824, 14362, 64210, 22880, 14971, 54874, 22139, 2245, 12097, 3347, - 24565, 34623, 9544, 46850, 4927, 10725, 28793, 58842, 24528, 3868, 2528, 18787, 16438, - 55970, 47764, 7360, 1245, 1450, 37738, 46922, 42795, 22641, 14711, 14407, 11947, 2869, - 57715, 56210, 29896, 21844, 42892, 15427, 11967, 4684, 22552, 3131, 46662, 7291, 64288, - 8462, 24742, 37077, 34461, 17296, 56237, 22277, 24355, 46309, 59560, 28545, 14695, - 55318, 39797, 46755, 54885, 27783, 7696, 44432, 4470, 59831, 6850, 1044, 54375, 44760, - 55342, 23305, 22757, 63672, 48825, 58585, 62187, 65267, 38774, 22121, 21157, 18583, - 55683, 20800, 40792, 550, 26999, 52625, 18547, 45395, 39277, 21955, 6486, 56582, 3109, - 1512, 44872, 57839, 38523, 43275, 61248, 41045, 61315, 39137, 25506, 34563, 7938, - 30840, 57727, 44389, 27419, 57344, 18982, 55350, 1023, 22585, 57438, 24617, 24270, - 32652, 13060, 56475, 63859, 62740, 29880, 40778, 5479, 45638, 39709, 10619, 54970, - 2335, 38350, 24554, 31392, 36780, 55101, 56904, 47853, 14208, 42640, 45385, 43204, - 34753, 3763, 41993, 16633, 6811, 27205, 7049, 47069, 16556, 3529, 25128, 58729, 55363, - 58056, 11218, 52268, 31716, 23504, 38870, 6557, 53680, 32717, 37837, 10970, 44350, - 18756, 61361, 27977, 20107, 44747, 61306, 56376, 21427, 14742, 61118, 51044, 11174, - 9042, 8518, 19128, 21434, 46797, 62119, 21082, 14199, 686, 51834, 55535, 11373, 63797, - 36105, 28456, 55347, 52402, 33958, 12968, 54287, 55896, 46715, 47588, 49198, 13997, - 53648, 5990, 49277, 39390, 51907, 61398, 26931, 52509, 43987, 18078, 26981, 58095, - 17507, 21970, 59132, 19414, 5301, 15822, 57689, 53917, 48447, 15856, 23188, 23243, - 6173, 15966, 17789, 10233, 45716, 3083, 40619, 35682, 12739, 34494, 35142, 8445, 34451, - 50566, 7643, 46456, 18351, 53283, 18030, 53469, 37402, 1928, 58633, 59357, 63711, - 26428, 50762, 53830, 37582, 26869, 59482, 32946, 34049, 3608, 43454, 46718, 38124, - 46039, 7835, 65191, 50456, 51451, 13691, 12011, 48484, 27478, 2451, 54180, 36476, - 49499, 5854, 59560, 7551, 64268, 20884, 21909, 55473, 61928, 838, 63495, 13276, 4387, - 60645, 24724, 15326, 31256, 31738, 22293, 55344, 15508, 13464, 35228, 49188, 36578, - 38066, 3360, 38285, 16843, 63090, 4088, 5849, 23622, 48128, 2085, 61965, 54534, 10191, - 25398, 40351, 39275, 44581, 1075, 48561, 63662, 19557, 30062, 7923, 64529, 4157, 51081, - 21171, 61497, 29294, 51623, 30915, 28523, 2564, 51064, 18549, 32604, 11172, 34918, - 7619, 5267, 31817, 19228, 47639, 4652, 11629, 10658, 5566, 56690, 44297, 17576, 64227, - 22980, 52522, 55461, 22503, 21595, 59596, 30262, 50203, 18755, 27349, 13183, 34221, - 20416, 34970, 10488, 62359, 897, 62230, 2310, 59557, 52814, 61303, 14837, 52762, 60921, - 26199, 37351, 64987, 48328, 57355, 27227, 38458, 32459, 33462, 20660, 54514, 4981, - 61664, 49957, 15663, 34590, 23097, 8231, 65379, 42482, 280, 1223, 6681, 6156, 19655, - 57390, 53230, 43373, 42754, 60562, 42763, 9783, 23547, 36149, 27002, 13331, 20777, - 47385, 31177, 41070, 18660, 57006, 65099, 40300, 18253, 17497, 32333, 42189, 17121, - 1470, 13624, 4990, 6379, 23246, 6974, 45554, 40945, 26476, 39928, 55462, 10801, 14894, - 46886, 31161, 10674, 28639, 3274, 62862, 25278, 5882, 27918, 19253, 44063, 23603, - 41694, 12114, 7981, 18099, 58430, 26836, 55658, 24319, 53761, 53503, 36355, 21488, - 33774, 43737, 64294, 64278, 38315, 45991, 22998, 7864, 27676, 18684, 61900, 56624, - 4278, 37451, 23528, 51577, 39587, 63099, 31768, 54706, 14829, 60296, 54761, 39259, - 64042, 63351, 50844, 64804, 13666, 39608, 21155, 38025, 50900, 61208, 20115, 2607, - 27370, 45010, 34314, 8386, 13699, 47900, 1646, 35166, 9217, 20659, 32720, 26382, 49755, - 3234, 65001, 50573, 30074, 10202, 3931, 1555, 12814, 61209, 6188, 65061, 51868, 20794, - 45650, 49084, 59964, 45754, 6407, 51965, 42941, 15645, 17485, 14612, 4420, 32948, - 48945, 62288, 29224, 61120, 33430, 4819, 63360, 49790, 20778, 20285, 33746, 17870, - 37550, 65203, 44896, 6194, 28706, 16922, 25682, 49818, 28984, 356, 43222, - ])) - .unwrap(), - c: 138, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("8f429bf1e545075721c16851b18e1a739991404141ef08e63d23ecfadab79d41"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_random_0() { - let mut value = SingleFieldTestStruct { a: 225 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("e100000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_random_7() { - let mut value = ComplexTestStruct { - a: 1062, - b: List::::try_from(Vec::::from_iter([ - 7871, 15592, 44564, 58127, 25646, 24396, 9801, 25517, 30144, 20664, 5792, 56306, 64674, - 27800, 52593, 36265, 57252, 21602, 8534, 62398, 64818, 36283, 6802, 24593, 20984, - 17318, 29447, 60640, 15717, 7292, 60554, 36208, 32300, 32134, 48798, 15032, 7980, - 63005, 24421, 23810, 25719, 55471, 16882, 14932, 34601, 43250, 2139, 2944, 33882, - 48450, 18166, 59547, 48486, 37668, 12682, 15929, 63034, 31640, 17667, 27607, 64387, - 20804, 20296, 30183, 8042, 37003, 36014, 23584, 17738, 37637, 7402, 4123, 30247, 65530, - 27032, 49484, 34057, 64929, 51903, 55218, 41188, 44292, 7511, 40492, 44924, 473, 53670, - 53051, 23861, 47634, 42549, 51375, 24749, 17034, 12266, 46234, 13588, 4317, 24555, - 8559, 55946, 47474, 33775, 62956, 52506, 64845, 57029, 4215, 50404, 54094, 33610, - 61550, 46057, 44761, - ])) - .unwrap(), - c: 111, - d: List::::try_from(Vec::::from_iter([ - 198, 161, 60, 63, 253, 100, 243, 231, 3, 42, 12, 4, 163, 239, 231, 12, 42, 229, 115, - 238, 152, 84, 151, 79, 169, 145, 51, 196, 113, 25, 94, 21, 53, - ])) - .unwrap(), - e: VarTestStruct { - a: 51924, - b: List::::try_from(Vec::::from_iter([ - 57236, 10831, 42662, 34230, 2526, 4927, 61167, 41459, 7798, 12414, 43345, 13692, - 48636, 59892, 63284, 42044, 35235, 50832, 1703, 47028, 40466, 64651, 56307, 29066, - 17694, 1155, 44038, 59504, 54451, 34142, 7106, 61363, 27357, 45932, 24160, 46724, - 24015, 20859, 48680, 35381, 5844, 54848, 9361, 46461, 10798, 56348, 56432, 34579, - 33178, 62511, 50087, 40882, 39780, 49814, 53431, 61715, 17138, 6276, 36794, 19612, - 37741, 25752, 56826, 33468, 6011, 56121, 51014, 33343, 34747, 18255, 48131, 24443, - 15255, 26972, 57524, 34537, 11650, 35781, 7244, 12009, 4976, 19767, 36973, 52579, - 26872, 24115, 23242, 26471, 33170, 5494, 54282, 46899, 57793, 458, 33439, 33949, - 43245, 37559, 10200, 56877, 39976, 27389, 59444, 5213, 30929, 5613, 9177, 4787, - 55947, 60298, 10280, 17231, 29477, 50263, 65122, 13489, 47610, 8371, 29727, 49617, - 22063, 3488, 13750, 14433, 7948, 59870, 33605, 32617, 4336, 20424, 8546, 11286, - 32240, 16004, 38397, 58041, 35739, 12687, 18888, 23169, 63191, 35791, 12185, 14573, - 58319, 10949, 36028, 54890, 40324, 59052, 31528, 53608, 13677, 46594, 9120, 58479, - 26028, 18608, 62392, 36094, 55363, 1241, 62470, 10406, 51200, 38466, 53705, 42458, - 28567, 43104, 4373, 25654, 49874, 47501, 23228, 17428, 41418, 28635, 60527, 52358, - 63139, 15239, 42030, 55321, 50142, 13832, 59165, 39630, 16419, 26653, 25229, 44822, - 55123, 7382, 36306, 1172, 18371, 6640, 14156, 57307, 3565, 47827, 10860, 55405, - 58034, 11303, 2423, 2066, 61743, 26136, 35506, 34983, 42754, 54833, 6265, 49501, - 60112, 53591, 33405, 24543, 56860, 21004, 49778, 34335, 18742, 13096, 51621, 14790, - 59823, 52848, 45656, 43934, 26110, 26165, 16698, 33516, 61399, 51219, 58511, 35478, - 44672, 22148, 15437, 64311, 63434, 34380, 36535, 63408, 48165, 34299, 36287, 37464, - 22273, 53551, 64413, 24892, 10752, 56395, 31602, 1277, 46914, 7449, 49943, 31565, - 22184, 11422, 23425, 34145, 27662, 39829, 4880, 17335, 10708, 60069, 20951, 16466, - 39337, 19534, 18704, 35602, 60745, 40186, 5634, 35542, 57091, 33065, 9371, 9184, - 28177, 47666, 38109, 56669, 39761, 31955, 46925, 24344, 54905, 10859, 39298, 35307, - 3702, 51944, 34403, 16866, 10887, 54918, 13622, 25027, 59986, 15255, 63514, 59647, - 33904, 52147, 17843, 18026, 3999, 2987, 58838, 51416, 6611, 27716, 7052, 55016, - 52498, 46161, 58490, 44602, 19391, 27900, 28319, 15701, 19499, 54526, 15835, 37717, - 10736, 64623, 38502, 60475, 63591, 4497, 50657, - ])) - .unwrap(), - c: 41, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 236, b: 7317836259427658061, c: 4070989328 }, - FixedTestStruct { a: 241, b: 2866003389764641033, c: 1136948491 }, - FixedTestStruct { a: 121, b: 18232523595989838681, c: 1887266280 }, - FixedTestStruct { a: 94, b: 6612092953144428216, c: 3128966878 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 41464, - b: List::::try_from(Vec::::from_iter([ - 59857, 12838, 60112, 52836, 54408, 37997, 10347, 26218, 52511, 52907, 52086, - 42812, 21088, 53968, 54622, 27862, 61709, 41763, 10063, 1008, 18890, 40199, - 24885, 14998, 42868, 60475, 53312, 28514, 30180, 36424, 18293, 38449, 30738, - 46916, 27499, 37804, 35655, 11832, 49339, 41551, 17260, 18853, 33650, 57808, - 16173, 32883, 29461, 13507, 14476, 35065, 26053, 32909, 56336, 26707, 18962, - 51583, 10941, 45750, 34817, 17018, 43880, 28249, 25413, 1607, 3629, 2355, - 10544, 10455, 43271, 40569, 28803, 62773, 17542, 16266, 9198, 2897, 3851, 3354, - 22972, 38319, 14719, 55527, 43036, 64628, 1951, 30024, 14710, 6440, 13390, - 38625, 45298, 55789, 19336, 56627, 29522, 64967, 1488, 49510, 54627, 31288, - 18347, 24681, 41546, 45928, 12078, 59085, 62363, 52293, 36620, 21855, 20312, - 4817, 24538, 4225, 45399, 244, 48407, 19151, 49897, 43745, 27162, 54695, 32567, - 48799, 4015, 11772, 62200, 46724, 31884, 28578, 55434, 45904, 46851, 65125, - 43224, 32290, 24475, 35141, 63007, 11205, 27517, 36540, 56502, 33114, 59809, - 26039, 7642, 59185, 14507, 49248, 2074, 832, 11149, 2059, 15052, 34116, 62260, - 51135, 11376, 57190, 49016, 57783, 45829, 44468, 45343, 43172, 44952, 14313, - 60040, 19958, 8851, 29607, 7183, 47486, 13904, 11350, 26501, 59854, 13266, - 44897, 23302, 23264, 24296, 44992, 3099, 12467, 27590, 25506, 27979, 46745, - 45069, 15448, 29618, 45419, 29237, 59113, 26399, 59126, 8274, 18307, 26554, - 38198, 60084, 19727, 34621, 5136, 57090, 3269, 17431, 48782, 35166, 571, 25832, - 12792, 37507, 1261, 14164, 1988, 59986, 26394, 16289, 40483, 458, 42077, 46410, - 39332, 64420, 61749, 17144, 22081, 22810, 59629, 36576, 5913, 6293, 12922, - 49882, 42798, 60132, 8522, 60160, 31481, 59653, 44639, 10726, 56928, 22241, - 5353, 9664, 15526, 34904, 3424, 11920, 3454, 49989, 26004, 39144, 21295, 49245, - 48605, 2907, 14952, 14220, 50732, 11, 23177, 11516, 18584, 3159, 44676, 11053, - 43356, 64723, 33548, 44696, 52529, 27252, 30260, 486, 7129, 50745, 46575, - 35931, 50867, 14243, 64778, 49842, 12278, 61448, 16138, 12996, 46230, 14707, - 33829, 58189, 2577, 675, 2022, 36619, 18736, 17542, 42568, 37660, 40919, 26173, - 56657, 25669, 14093, 10974, 39972, 41918, 23992, 40461, 41634, 42532, 24258, - 11694, 56649, 16235, 520, 41827, 55695, 28949, 44731, 33652, 46774, 18046, - 11514, 46511, 25547, 55437, 23895, 13479, 34814, 17459, 1971, 63102, 65365, - 63115, 9511, 37034, 40029, 63575, 42679, 23889, 46963, 208, 58990, 32063, - 47333, 39725, 25439, 65149, 39144, 20576, 57281, 20912, 1632, 48877, 34704, - 46263, 9042, 12899, 4492, 10017, 19720, 64153, 28431, 39965, 55744, 48152, - 24592, 48448, 64012, 10606, 27587, 33352, 65401, 2668, 39127, 1107, 45311, - 29490, 50665, 57195, 42615, 34718, 500, 54201, 25546, 25737, 55336, 22774, 804, - 48164, 47507, 38649, 35846, 50895, 5940, 29102, 4053, 21926, 6486, 6901, 17935, - 44898, 4243, 2304, 47171, 26991, 26784, 27545, 10865, 7368, 29382, 60691, 1166, - 18307, 33168, 25600, 21335, 36423, 35993, 42521, 24603, 15099, 64943, 32591, - 1082, 16841, 54466, 10419, 14549, 9915, 28409, 14528, 30081, 5937, 40738, - 28063, 2187, 28786, 64126, 49383, 41814, 9204, 546, 3867, 45145, 8527, 1018, - 23976, 36517, 34987, 45614, 25278, 34836, 12950, 11694, 56409, 49449, 53023, - 60439, 32102, 11858, 37323, 13851, 41588, 27609, 63749, 55920, 60364, 57863, - 46148, 50844, 32261, 6792, 5501, 12771, 54901, 31653, 47023, 13720, 40083, - 54434, 22025, 28795, 45083, 28425, 31881, 41538, 40305, 14918, 22028, 17856, - 20431, 30408, 221, 22931, 49186, 26233, 57555, 49227, 31081, 26150, 53264, - 51462, 8543, 6090, 47251, 42316, 45383, 7218, 46007, 28037, 47451, 46936, - 46217, 54746, 56648, 3565, 38259, 33645, 41504, 28480, 31347, 3432, 44084, - 36810, 29475, 47887, 10186, 56134, 40610, 62583, 63039, 38472, 65004, 51166, - 33597, 39618, 53504, 19191, 44581, 53048, 46083, 49728, 65292, 2052, 57048, - 60297, 24389, 3829, 41159, 13259, 6577, 48080, 47454, 12345, 59215, 39396, - 9234, 22700, 17540, 19030, 64618, 58417, 27936, 6211, 15418, 43151, 10828, - 19212, 58134, 2270, 14325, 14574, 8274, 6726, 51038, 47945, 35033, 33011, 1664, - 3355, 50793, 58506, 55248, 27206, 25643, 54231, 45155, 30990, 18133, 63276, - 28353, 63892, 2972, 61538, 53755, 11050, 56709, 14415, 15084, 7533, 48805, - 32705, 59998, 24547, 3555, 39, 10296, 55758, 52857, 23455, 17169, 20038, 38869, - 12578, 25134, 53379, 47249, 1695, 45356, 27617, 5972, 21343, 50046, 87, 22584, - 62060, 59114, 13800, 29581, 1171, 38874, 57321, 42409, 2184, 64415, 6076, - 48406, 40829, 59768, 2166, 45725, 6366, 51063, 49683, 24621, 97, 44200, 26495, - 37236, 34525, 7662, 17312, 44503, 55196, 31510, 42158, 17301, 18538, 16481, - 15445, 28664, 1550, 6905, 10239, 35146, 27566, 54731, 43865, 332, 5015, 41075, - 29747, 26353, 19655, 49071, 49795, 16102, 40760, 1614, 48807, 61005, 35446, - 63860, 31453, 37569, 28856, 39270, 19756, 324, 7538, 54747, 47373, 10931, 8667, - 26782, 21516, 43340, 57300, 39272, 24481, 48285, 17275, 24429, 43651, 61180, - 34835, 61259, 20928, 33332, 11318, 62719, 23522, 9125, 60715, 33169, 35984, - 55358, 42778, 17336, 20563, 10029, 14303, 42762, 51446, 57250, 43791, 3553, - 46043, 37341, - ])) - .unwrap(), - c: 6, - }, - VarTestStruct { - a: 23382, - b: List::::try_from(Vec::::from_iter([ - 7292, 62152, 54746, 49789, 34666, 32564, 63999, 45527, 16076, 27308, 53941, - 41650, 31214, 23325, 60736, 1409, 30298, 22851, 62472, 54988, 47414, 17809, - 5979, 59154, 19737, 60947, 63941, 31574, 61560, 23791, 7625, 52180, 33394, - 24151, 29348, 7593, 26975, 63747, 19618, 54649, 38892, 8268, 24591, 46258, - 35189, 34319, 61142, 22425, 31747, 26069, 55816, 45820, 61166, 44108, 36310, - 36327, 57155, 32942, 4985, 49395, 14791, 21239, 24004, 1660, 13128, 14225, - 20702, 6952, 44956, 20415, 44845, 59587, 38802, 24255, 54130, 2657, 38576, - 47092, 53018, 1353, 58676, 51455, 58981, 18586, 4072, 62868, 55769, 36050, - 60497, 40534, 35914, 2875, 46338, 1022, 6783, 8041, 40528, 25083, 51644, 52797, - 3578, 5416, 46943, 61293, 58393, 43251, 23426, 13533, 49791, 49843, 42515, - 28978, 45852, 24273, 26823, 6366, 4408, 58138, 51144, 29315, 54882, 14345, - 21333, 15653, 64283, 40207, 32827, 43793, 30829, 26044, 246, 9427, 48148, - 47135, 63205, 65007, 49038, 36731, 17641, 18006, 53720, 62456, 33162, 19896, - 11727, 64779, 12984, 20187, 47165, 64199, 29021, 34202, 35477, 41370, 65501, - 17748, 17172, 50569, 4234, 15429, 30499, 36401, 35586, 16261, 50071, 9349, - 17911, 33101, 58367, 34178, 26290, 62294, 35925, 48942, 42367, 4832, 37143, - 49432, 9537, 26353, 9423, 23249, 9096, 56237, 16732, 634, 42370, 14486, 22950, - 39848, 57410, 16573, 42670, 7069, 52647, 2066, 12307, 14770, 42689, 65443, - 24556, 50687, 49653, 13211, 65146, 23198, 48369, 5124, 58052, 63121, 5209, - 32605, 49725, 47551, 59422, 57574, 8784, 55475, 23468, 8407, 41206, 44871, - 57394, 56810, 28563, 64807, 2731, 19845, 62392, 26341, 50176, 6370, 53698, - 41686, 34647, 36623, 39165, 15024, 9268, 4838, 22272, 45961, 53138, 63332, - 35700, 29638, 18819, 42053, 51075, 38318, 20922, 34816, 8259, 37004, 35821, - 14532, 61189, 56751, 61386, 59672, 57279, 45287, 39337, 36882, 61643, 39339, - 10134, 309, 30077, 31374, 27880, 27444, 12155, 17596, 17191, 60603, 53444, - 33121, 33418, 62164, 20700, 42906, 29184, 10098, 59216, 7405, 26987, 34421, - 55695, 16905, 14917, 36148, 13329, 10563, 62834, 20190, 26012, 23813, 3365, - 33948, 43510, 18154, 62935, 54716, 38117, 49131, 12866, 61211, 37140, 45119, - 57976, 50746, 39707, 64489, 47532, 31877, 7658, 47682, 37305, 19046, 19181, - 7244, 24801, 35127, 25365, 38196, 16809, 55918, 39889, 39130, 40163, 52876, - 38112, 32996, 37933, 46702, 48321, 29278, 23681, 59645, 59338, 56897, 8366, - 51551, 34991, 58873, 11615, 53259, 18695, 32295, 52983, 52307, 52577, 22121, - 57250, 62221, 46975, 17057, 5908, 33793, 37639, 45518, 57222, 38024, 18475, - 23371, 50891, 40761, 18875, 56407, 578, 6565, 10165, 41160, 11418, 26946, - 37621, 23820, 6573, 25671, 11573, 15288, 56409, 22204, 12491, 7384, 16470, - 45173, 3546, 24492, 64207, 1905, 63383, 11124, 62890, 57500, 7029, 32167, - 10808, 40378, 4855, 13811, 51034, 31975, 43696, 34159, 4181, 51377, 11973, - 65475, 51794, 24238, 53126, 16071, 60541, 46235, 732, 31851, 40193, 22591, - 51633, 531, 31946, - ])) - .unwrap(), - c: 111, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("423f3f5a0661f71ca55f045f87ab19265d7b53c701a438893ac630277c2faea0"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_random_chaos_1() { - let mut value = SmallTestStruct { a: 59426, b: 2529 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_chaos_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("d7d8effdbcd60412d8b8affe2aaeeb6a6252256055f4efe4e54863bb9bf940f5"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_max_2() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, true, true, true, true, true]), - e: Bitvector::<8>::from_iter([true, true, true, true, true, true, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_max_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("9a3d0c2e21e801c79164317f02379726734baa7c163bbe5a1f9c34055113a8bd"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_random_0() { - let mut value = ComplexTestStruct { - a: 45098, - b: List::::try_from(Vec::::from_iter([24760, 11575, 2534, 13704, 55254])) - .unwrap(), - c: 96, - d: List::::try_from(Vec::::from_iter([ - 141, 59, 88, 169, 119, 128, 156, 87, 77, 70, 192, 123, 130, 5, 192, 216, 198, 140, 107, - 43, 49, 109, 137, 161, 195, 146, 241, 74, 32, 190, 3, 4, 2, 219, 194, 152, 240, 57, 73, - 24, 151, 186, 238, 220, 46, 78, 90, 76, 175, 161, 242, 111, 30, 99, 220, 54, 120, 155, - 57, 74, 144, 220, 158, 69, 130, 204, 20, 24, 237, 119, 58, 18, 82, 121, 96, 112, 67, - 113, 48, 206, 48, 208, 230, 91, 34, 223, 13, 141, 184, 142, 132, 77, 174, 161, 236, - 129, 214, 215, 207, 3, 125, 62, 31, 93, 49, 139, 203, 36, 84, 96, 205, - ])) - .unwrap(), - e: VarTestStruct { - a: 1284, - b: List::::try_from(Vec::::from_iter([ - 62801, 12676, 50809, 30221, 38726, 51052, 18468, 59585, 63940, 64980, 40354, 21180, - 31638, 16957, 49696, 164, 41620, 32688, 48922, 13279, 1759, 7737, 63477, 47970, - 54063, 29083, 51239, 18581, 28120, 35618, 8863, 16998, 29260, 38915, 32819, 63268, - 20560, 18956, 51280, 23952, 11129, 56406, 3342, 3822, 51901, 45000, 41696, 40385, - 31779, 928, 32255, 53443, 33570, 45501, 51216, 43732, 24156, 35486, 9812, 33584, - 59672, 43287, 14471, 4037, 58903, 22222, 21087, 14542, 38704, 30732, 41262, 58351, - 45925, 50970, 29249, 39963, 24542, 14433, 31920, 33158, 23374, 57731, 54091, 42771, - 38871, 65074, 33415, 19160, 16143, 51638, 50090, 36329, 26287, 57137, 5633, 56449, - 39625, 38031, 48938, 48348, 9966, 30765, 26355, 8632, 45986, 23892, 36279, 33895, - 34323, 24456, 1291, 3627, 9140, 36608, 15198, 6627, 49584, 63051, 50591, 40412, - 54586, 46933, 819, 13979, 42852, 56843, 3091, 46616, 41949, 5561, 50973, 65043, - 41758, 41270, 60854, 61638, 58097, 49082, 28009, 48886, 56033, 31292, 36613, 52316, - 64550, 27960, 51763, 64807, 360, 11327, 54514, 45232, 27822, 5464, 13285, 51333, - 43546, 44771, 62811, 43740, 49103, 54050, 53678, 25000, 27644, 32503, 60383, 14930, - 1853, 14877, 62163, 11335, 10795, 14575, 49439, 39597, 50801, 41069, 48537, 39603, - 15218, 51080, 7835, 25379, 24238, 13033, 15896, 30372, 275, 23453, 8503, 13084, - 58034, 8739, 34600, 25443, 54836, 44961, 18656, 29412, 15764, 2618, 24311, 37072, - 9785, 31723, 49067, 54898, 17572, 14430, 62910, 3421, 12689, 12978, 26233, 431, - 28622, 46748, 44543, 51497, 16017, 48776, 35900, 31745, 31204, 27197, 34761, 65462, - 34986, 17400, 65413, 12739, 23434, 63499, 64320, 40163, 18430, 53400, 32036, 39530, - 34385, 47477, 37997, 54620, 33135, 57990, 62186, 20679, 33802, 46961, 61819, 38704, - 10434, 8675, 14572, 16605, 54880, 46512, 61751, 46750, 22458, 12165, 27426, 59728, - 8463, 4877, 5477, 8167, 49491, 2355, 54078, 61927, 6846, 38062, 38821, 46381, - 49303, 63599, 46708, 47439, 8465, 39556, 60260, 21415, 30693, 60905, 4905, 45868, - 37397, 40072, 16145, 17471, 19502, 58308, 47396, 57259, 23509, 59274, 30231, 50802, - 6241, 54565, 41870, 11052, 15025, 58401, 64859, 37129, 55258, 16163, 50668, 51358, - 22008, 51206, 19003, 58277, 16706, 5106, 61860, 43434, 52523, 64227, 63820, 38277, - 62597, 23057, 41607, 5143, 32730, 27833, 36142, 37387, 49747, 33054, 54032, 22789, - 1146, 26097, 45312, 28010, 42407, 10524, 39414, 30977, 45149, 36752, 7575, 31660, - 14392, 3013, 34379, 34915, 27881, 53059, 30975, 61054, 51041, 36721, 24576, 43343, - 20200, 11545, 58098, 37743, 16966, 24617, 30184, 54565, 4478, 41471, 57584, 50767, - 24311, 57709, 61960, 20956, 27405, 26808, 14702, 27203, 18802, 46072, 58598, 62292, - 53382, 26220, 65021, 56397, 37777, 51076, 37342, 9956, 51351, 11231, 40949, 38411, - 43224, 13856, 28755, 61099, 54806, 38782, 35186, 48589, 62021, 48608, 35636, 48491, - 21764, 7498, 59701, 28354, 56587, 63799, 20040, 55283, 40167, 50476, 7051, 62170, - 25811, 28859, 8908, 702, 26577, 36510, 43810, 28804, 40947, 47961, 14353, 48346, - 40133, 64817, 56334, 64974, 24892, 10439, 41491, 40326, 34988, 57939, 55987, 60406, - 64400, 55949, 51913, 47956, 33850, 3299, 20494, 46240, 4524, 39497, 11102, 4618, - 1095, 7133, 13375, 9845, 511, 8393, 18101, 44759, 47744, 29751, 41955, 57665, 1245, - 32303, 11193, 51187, 17554, 61974, 37301, 47236, 19647, 31536, 16177, 48131, 51359, - 56360, 35750, 24390, 9649, 34896, 23661, 14856, 44515, 42323, 3387, 35370, 29921, - 10462, 64264, 43005, 14082, 3573, 60543, 13781, 46362, 46395, 58536, 21370, 6328, - 43763, 43510, 62052, 20617, 19958, 42542, 22985, 46933, 42263, 54655, 18168, 40689, - 61202, 5421, 1030, 55210, 40852, 55448, 59304, 35819, 34683, 1792, 63255, 10752, - 26304, 27346, 28114, 13574, 4186, 12962, 22023, 46593, 26272, 7532, 14897, 33813, - 4690, 14544, 12203, 28806, - ])) - .unwrap(), - c: 96, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 188, b: 9730166158537326586, c: 582055670 }, - FixedTestStruct { a: 142, b: 12146156903005665865, c: 481599615 }, - FixedTestStruct { a: 68, b: 14644856350027584855, c: 637057914 }, - FixedTestStruct { a: 161, b: 15243040026072936985, c: 1682921351 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 59880, - b: List::::try_from(Vec::::from_iter([ - 51238, 41083, 39782, 47063, 19253, 43226, 61078, 11077, 18828, 32437, 23333, - 54387, 15304, 38402, 45920, 47775, 35413, 10760, 14587, 2142, 44510, 27301, - 13737, 28389, 61990, 40825, 36833, 57074, 44628, 50528, 33918, 56843, 22773, - 34587, 46811, 54157, 33870, 46448, 45017, 54342, 21634, 58217, 41806, 52216, - 62560, 50521, 51846, 43306, 56118, 33693, 39260, 51350, 3603, 13157, 47372, - 2761, 26190, 43524, 1931, 5764, 20664, 48756, 6326, 37655, 4735, 4880, 42669, - 33564, 7178, 51716, 29167, 63508, 15132, 59746, 40067, 2736, 33947, 49661, - 39584, 55606, 26382, 4886, 8623, 62292, 60183, 35005, 50462, 20638, 60782, - 56295, 22674, 32684, 4708, 36045, 37839, 40860, 61535, 8477, 40858, 39972, - 39104, 13437, 36779, 59659, 7427, 10071, 30602, 58474, 60456, 36384, 31033, - 17749, 19732, 51958, 34584, 6692, 55404, 62559, 36039, 44083, 29601, 56259, - 17994, 19934, 32152, 283, 18477, 58722, 59284, 12213, 54589, 6901, 16221, - 48228, 2604, 49844, 46449, 27329, 25538, 38148, 36087, 25060, 13673, 9541, - 23581, 48137, 18068, 57229, 17904, 39674, 21943, 41282, 29001, 58721, 45525, - 12464, 21246, 42220, 43994, 63651, 32165, 41032, 59382, 3510, 11820, 57248, - 58221, 33864, 15286, 16167, 25997, 47605, 30396, 30072, 57188, 3617, 55325, - 42201, 47914, 60230, 48751, 57821, 52789, 62962, 42076, 9530, 64938, 17104, - 25553, 18290, 33513, 13526, 29398, 65444, 10237, 9100, 15080, 21173, 39509, - 38712, 40526, 42677, 26523, 22525, 29897, 16864, 26101, 43991, 42834, 3149, - 41463, 22167, 21716, 30153, 33931, 53729, 37341, 18679, 22148, 58784, 53991, - 15870, 33617, 47541, 3689, 63008, 54687, 39914, 29706, 1133, 45266, 7448, - 24713, 60482, 46040, 46136, 55018, 2821, 63338, 30049, 35694, 50422, 50947, - 48183, 6462, 14170, 7080, 39032, 36947, 13735, 10793, 53683, 32689, 34998, - 39723, 14644, 46400, 51182, 8700, 34778, 60057, 52784, 36164, 60569, 16907, - 55391, 52366, 10984, 25945, 60027, 6108, 61731, 38632, 19487, 15257, 32705, - 53925, 30513, 1036, 56741, 47257, 25869, 34351, 32770, 2781, 47657, 47155, - 18358, 27697, 37245, 56394, 61706, 6130, 1507, 36830, 8926, 41471, 22084, 4709, - 42087, 32166, 14779, 61286, 18848, 53222, 47009, 5024, 41372, 19586, 62620, - 56160, 15734, 56813, 10029, 53484, 26471, 7860, 63554, 15413, 50905, 27286, - 7132, 42831, 20471, 47957, 26207, 58312, 29701, 61591, 5901, 7686, 18827, - 31053, 23402, 41020, 27898, 52318, 62296, 45516, 40734, 29277, 12421, 2906, - 49157, 30041, 29353, 41798, 56524, 30284, 53110, 42879, 1859, 17633, 10400, - 4691, 50304, 4162, 25306, 16708, 40827, 36860, 3198, 46204, 52425, 9686, 1296, - 37261, 5765, 56562, 26108, 32748, 43094, 21872, 44320, 29356, 41642, 63763, - 31224, 38951, 12326, 57684, 46254, 16900, 22451, 30560, 19083, 11371, 14147, - 15483, 65135, 37717, 45311, 37291, 45223, 21765, 54601, 40722, 44458, 36498, - 10638, 2078, 1566, 1043, 24231, 60296, 33948, 60526, 2807, 4607, 11893, 22546, - 59338, 25429, 27441, 27401, 11880, 8856, 17644, 63453, 35130, 50120, 42497, - 63737, 48365, 52771, 40967, 7256, 31745, 58968, 49826, 46929, 24308, 8951, - 30997, 9340, 24870, 35000, 17240, 49880, 52282, 44365, 15289, 25155, 50359, - 19071, 14016, 15770, 63494, 44598, 65397, 60326, 13321, 10833, 48063, 9501, - 23609, 7644, 35963, 13962, 41249, 21276, 55620, 11630, 42128, 38874, 63304, - 29998, 62631, 13498, 1582, 664, 26228, 24396, 6707, 4801, 27050, 28899, 7644, - 52796, 45772, 24670, 26322, 57744, 4010, 15601, 18837, 8835, 57180, 2025, - 11078, 59063, 55094, 38720, 44201, 31777, 16310, 19213, 26862, 46909, 9462, - 16085, 29557, 41105, 23230, 24319, 16853, 59071, 58820, 47708, 40765, 55587, - 29714, 32635, 961, 24212, 32722, 4142, 26467, 57894, 16479, 30210, 29711, 5112, - 6136, 56713, 7289, 55752, 34673, 37111, 59336, 11557, 20114, 13614, 3525, - 62872, 3560, 26529, 19206, 64369, 52344, 40825, 5967, 60868, 47020, 39618, - 37500, 17726, 8008, 6850, 1338, 7334, 25021, 24509, 16889, 64700, 20285, 32059, - 44716, 59511, 55365, 32630, 13455, 57928, 62465, 23912, 34398, 29132, 27012, - 57444, 45336, 60340, 7714, 44882, 51844, 38093, 23126, 15142, 16800, 54212, - 29856, 57632, 43289, 8879, 23275, 63359, 59317, 20556, 11208, 30643, 39552, - 43491, 1825, 33606, 62158, 58063, 37827, 2509, 42887, 33703, 10760, 16681, - 63750, 16097, 31555, 10722, 6138, 55576, 280, 49584, 19749, 25117, 51770, - 64258, 12061, 13961, 48712, 14490, 47505, 21524, 19496, 46975, 16710, 3392, - 19106, 3757, 52785, 33573, 61594, 59301, 22942, 21244, 28871, 50929, 9546, - 41163, 6988, 14062, 55276, 15650, 9772, 22559, 36131, 48109, 40180, 12911, - 28736, 11906, 36735, 43134, 18150, 6637, 52743, 7653, 62701, 46605, 13450, - 24351, 51399, 56826, 60224, 65266, 53856, 23188, 34504, 34114, 15786, 19629, - 41884, 52356, 4225, 9884, 53460, 39877, 14903, 37672, 39619, 7868, 20750, - 15794, 9913, 30240, 33418, 44756, 5638, 35125, 8412, 21986, 5948, 25577, 43722, - 18043, 65173, 30832, 31201, 46635, 1608, 13472, 51585, 43323, 23167, 29262, - 15327, 4920, 54075, 18266, 17577, 39510, 51636, 62233, 22086, 64792, 26896, - 64500, 55966, 39568, 18200, 45832, 60197, 32892, 13068, 49687, 17142, 3026, - 62589, 19623, 616, 36672, 36830, 51880, 63450, 45700, 35989, 1527, 61371, - 58142, 7782, 61074, 48620, 11495, 63091, 1934, 1057, 44396, 39230, 47927, 8440, - 25883, 50393, 64262, 4791, 4369, 55781, 62252, 11699, 56307, 56616, 17560, - 8339, 21742, 35440, 15369, 26117, 48382, 57360, 35277, 14851, 9748, 47941, - 11765, 6828, 25160, 5817, 54281, 8047, 5511, 7975, 59344, 4473, 21785, 52528, - 5836, 18153, 48343, 28146, 48488, 30276, 64502, 4154, 45509, 59957, 10308, - 34086, 27202, 13855, 64935, 29469, 61467, 39072, 21297, 18919, 39040, 56662, - 55186, 12369, 9690, 7072, 59376, 18090, 48834, 17262, 58046, 53887, 28193, - 39017, 30431, 3632, 16483, 11332, 65443, 55314, 6334, 29170, 13432, 38958, - 33328, 11872, 46856, 30806, 37484, 14213, 22247, 26711, 20113, 65148, 56501, - 35565, 48070, 37682, 54024, 23999, 9949, 54521, 5440, 64748, 28893, 13081, - 54594, 16750, 35353, 2181, 8616, 18175, 28985, 59463, 14121, 15548, 59185, - 52570, 61386, 30140, 61404, 22860, 15944, 60732, 53367, 15091, 49135, 24605, - 58139, 11767, 616, 40902, 16764, 46031, 13946, 43333, 65282, 59400, 51158, - 27837, 35331, 27453, 44651, 12379, 64532, 6171, 43855, 16227, 61879, 6327, - 24863, 64148, 34333, 14684, 45896, 29147, 38364, 33364, 32974, 32789, 40769, - 2693, 10359, 63522, 41864, 34548, 20281, 60357, 20975, 11443, 7685, 1379, - 64175, 32975, 22510, 63824, 2491, 4689, 25561, 34163, 18760, 40177, - ])) - .unwrap(), - c: 230, - }, - VarTestStruct { - a: 53517, - b: List::::try_from(Vec::::from_iter([ - 11845, 15331, 4596, 1367, 47799, 6408, 49887, 10341, 41539, 51692, 34465, - 58213, 10750, 63127, 63235, 45719, 63149, 19657, 26565, 17773, 6406, 65330, - 1027, 40763, 8342, 51231, 19674, 10960, 46107, 61188, 3981, 40258, 31478, - 15641, 25830, 2325, 5027, 43220, 47058, 56688, 35103, 48538, 50311, 18403, - 12957, 58151, 65341, 13196, 38878, 11186, 46418, 52884, 57807, 20946, 25006, - 14041, 5375, 1346, 29742, 31497, 53566, 686, 28299, 56600, 56668, 55235, 26603, - 10936, 27003, 13785, 30510, 38981, 10072, 13327, 62874, 51956, 52132, 54469, - 33946, 37615, 20369, 32870, 43646, 53304, 52190, 33577, 45970, 49705, 59447, - 20141, 62508, 1290, 30408, 5157, 4294, 47033, 45227, 22499, 7603, 59807, 2412, - 18854, 42628, 31777, 11892, 1093, 38363, 4406, 28779, 29532, 40307, 16248, - 21777, 5017, 3058, 41828, 41492, 18681, 38355, 15008, 48239, 59253, 27637, - 42292, 6209, 44985, 43557, 56327, 2992, 16147, 23957, 34105, 48890, 57368, - 20069, 30545, 44840, 26208, 46480, 41268, 46893, 44552, 41668, 55793, 7017, - 14881, 27086, 11382, 46799, 6524, 5353, 60116, 3765, 35142, 3672, 64718, 4880, - 35714, 48414, 40889, 25801, 17772, 5615, 23026, 2703, 40512, 10780, 60628, - 45149, 15555, 54362, 42684, 18369, 44687, 1953, 3184, 48679, 33897, 32253, - 6679, 41234, 33479, 16043, 10340, 34487, 45717, 52308, 36937, 52038, 27657, - 11771, 7402, 33925, 35238, 37953, 64976, 18156, 16069, 21275, 35916, 24117, - 28346, 39854, 58583, 37423, 5674, 25352, 28684, 18097, 44161, 10367, 43200, - 29763, 9643, 32444, 62144, 30998, 13888, 55916, 54535, 18420, 30173, 38308, - 26146, 63608, 40395, 14702, 7447, 2285, 17792, 1131, 33260, 2960, 32332, 38513, - 37337, 2831, 63527, 16931, 22920, 30454, 14495, 33167, 51268, 24171, 58792, - 53698, 57702, 60022, 64480, 4330, 30086, 37025, 42134, 35636, 22129, 16956, - 64925, 62346, 23640, 14228, 30043, 58230, 18841, 39563, 13550, 18521, 19504, - 23667, 477, 10268, 16820, 28933, 45869, 20854, 17269, 64544, 9645, 35815, - 42542, 20048, 20539, 41750, 23915, 57789, 30885, 29366, 55670, 48984, 35912, - 36928, 21634, 2735, - ])) - .unwrap(), - c: 76, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("e3fbf979c708d4d77adc452ca27d02e9cd978f3fc28601fc75c929b9f1821705"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_one_8() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false]), - b: Bitvector::<2>::from_iter([true, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, false, false, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_one_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ddc21ccafde9998af8e3fd39a744f1b4d1a08b64e49c9eb7f6137d8e04c07512"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_random_7() { - let mut value = SingleFieldTestStruct { a: 181 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("b500000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_max_5() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, true, true, true, true, true]), - e: Bitvector::<8>::from_iter([true, true, true, true, true, true, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_max_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("7b1d842462bfa92850d7e7bfbf6042416e2a0cffdf850987712212d33142e8c4"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_max_chaos_1() { - let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_chaos_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_random_6() { - let mut value = VarTestStruct { - a: 64476, - b: List::::try_from(Vec::::from_iter([ - 53688, 48973, 58629, 2535, 50734, 12116, 62095, 53745, 26049, 52022, 56676, 54631, - 32042, 14196, 56909, 30469, 19594, 54011, 16861, 63636, 10939, 39418, 15810, 5773, - 17244, 33735, 40043, 50352, 61825, 9238, 19987, 45755, 56357, 27296, 15875, 35616, - 15348, 10125, 58115, 63028, 48302, 35751, 5032, 28427, 49223, 26098, 25675, 59726, - 12839, 65217, 16028, 58573, 17825, 43167, 4383, - ])) - .unwrap(), - c: 37, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_random_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("42f6b3f1963d18c3bca3c22c8fbb50df79b0a55b016591fb42d2e3428d9b334d"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_lengthy_6() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, true, false, true]), - b: Bitvector::<2>::from_iter([false, true]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false, true, false, true, true, true]), - e: Bitvector::<8>::from_iter([false, true, true, false, false, false, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("26545a0284e45121d8699e25f19fc9c1c4c41112144013c50472a663e9dec051"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_nil_chaos_0() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([false, true]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([true, false, false, false, true, true, false, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_nil_chaos_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("91aca4bfc8c7a312ed9834decb0c9b2fd8b7f8c6128ac236382a22513df732a1"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_max_8() { - let mut value = SmallTestStruct { a: 65535, b: 65535 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_one_chaos_2() { - let mut value = VarTestStruct { - a: 7706, - b: List::::try_from(Vec::::from_iter([40992])).unwrap(), - c: 148, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_one_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f51f249688539a42ee372275ec980a4ff15647920a2215f6c572c3d178058275"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_random_1() { - let mut value = VarTestStruct { - a: 43634, - b: List::::try_from(Vec::::from_iter([ - 55593, 62281, 4908, 59811, 54631, 42687, 27754, 27273, 26194, 35717, 1605, 53917, 4007, - 61438, 1012, 35712, 56777, 1947, 7104, 53378, 55331, 21992, 11578, 58601, 30836, 5086, - 29700, 12490, 34397, 1117, 27495, 52391, 50304, 3392, 24708, 18726, 12722, 44314, - 13333, 10550, 12089, 15248, 59251, 4147, 26456, 52856, 52045, 26285, 43132, 44254, - 7579, 8064, 54813, 53649, 58140, 29406, 58276, 59263, 47571, 42844, 37539, 63904, - 14568, 35186, 64267, 47115, 61329, 42554, 13821, 18970, 24310, 13957, 35941, 53797, - 38170, 59692, 35209, 35683, 11691, 6108, 62708, 42277, 58234, 13256, 7191, 32396, 4100, - 27360, 11818, 12580, 52257, 52094, 48006, 43310, 12496, 35666, 25786, 18344, 45715, - 47644, 36559, 63271, 5337, 61110, 5413, 55741, 3566, 25693, 14581, 39066, 23559, 34561, - 56241, 20922, 38150, 64575, 9193, 10095, 25655, 44861, 59792, 12597, 60448, 14839, - 64050, 65247, 51265, 36873, 38147, 9610, 54991, 29399, 4513, 40366, 19914, 65200, - 33889, 65303, 42555, 31735, 32484, 58482, 13483, 52310, 15478, 10926, 26602, 7977, - 50775, 39848, 32156, 52108, 24170, 24878, 25522, 17688, 32352, 16137, 1829, 39541, - 36216, 26913, 17042, 8075, 38756, 51004, 41348, 58925, 31179, 22140, 19154, 57071, - 64662, 17552, 41678, 22160, 18149, 64721, 59288, 43373, 45073, 22817, 29913, 27426, - 14635, 34046, 47293, 63103, 37279, 27200, 51273, 10569, 47453, 51839, 52101, 50944, - 29518, 25244, 47018, 33508, 21557, 17846, 17927, 57043, 32878, 59897, 35793, 57091, - 32497, 51567, 51361, 10257, 9147, 41209, 40319, 7159, 6035, 12320, 2948, 8913, 63446, - 33955, 30176, 33539, 24417, 12731, 10030, 14547, 44648, 4009, 48074, 39874, 18367, - 61065, 58508, 12900, 55669, 57835, 14509, 62532, 21599, 58550, 18193, 45887, 2996, - 27048, 30968, 3280, 16733, 45330, 46622, 21302, 199, 30809, 5961, 19489, 28107, 10620, - 40919, 44336, 51387, 47261, 8560, 33558, 35987, 46831, 50989, 17202, 10824, 4165, - 32156, 32741, 4824, 19954, 12555, 56038, 61215, 46504, 43945, 52040, 6544, 57173, - 39481, 41003, 23365, 10530, 46924, 58671, 12188, 36886, 55998, 58650, 32471, 15417, - 28067, 51352, 59311, 35919, 34593, 14706, 39574, 53868, 48757, 12920, 33149, 59406, - 48754, 39786, 12312, 58318, 14966, 37668, 46928, 65487, 22250, 24796, 7043, 49742, - 46495, 44245, 5372, 46169, 36046, 60670, 29615, 59474, 2630, 4376, 65427, 13583, 41975, - 15842, 27686, 33957, 45114, 56180, 24895, 4175, 40381, 32830, 48421, 52207, 58611, - 41821, 31373, 23853, 55119, 1957, 34877, 62496, 37311, 40303, 44876, 36839, 47492, - 53209, 24055, 39340, 21094, 12815, 18079, 3546, 9133, 45047, 41320, 3878, 13753, 38525, - 64568, 43355, 62649, 55650, 30889, 7989, 16810, 53928, 52810, 54272, 34111, 43130, - 14634, 55804, 24247, 2549, 37573, 53039, 1273, 63106, 10081, 35901, 22063, 65529, - 36398, 22557, 6548, 49942, 51535, 8125, 6097, 44735, 41844, 6924, 38812, 46284, 28742, - 15255, 52107, 18447, 53412, 25887, 55412, 63792, 34766, 5505, 60081, 60102, 22907, - 4472, 52200, 9287, 57769, 19130, 9576, 33612, 29442, 51950, 31312, 57224, 42421, 3948, - 27456, 17061, 26184, 43827, 38666, 45497, 49012, 31663, 20589, 33660, 6416, 42817, - 12859, 36023, 18361, 13106, 3948, 6069, 45466, 29677, 18064, 3643, 3116, 53510, 64358, - 43166, 45247, 20328, 64702, 19889, 60714, 32942, 45721, 46172, 65267, 36597, 16011, - 60612, 34941, 2235, 28718, 60810, 57652, 34739, 8085, 40064, 34439, 30836, 63285, - 49357, 36164, 40730, 6028, 20536, 7821, 11758, 13935, 41594, 5480, 50109, 45486, 34524, - 65518, 33646, 26927, 51166, 8137, 65325, 47159, 15817, 21430, 55199, 43094, 18188, - 10207, 9270, 12316, 59028, 45281, 65293, 18359, 26572, 1483, 37642, 33838, 30229, - 20598, 17948, 17913, 8381, 2294, 65136, 56785, 32374, 21420, 32944, 55524, 54245, 9455, - 19743, 46340, 44594, 34585, 20335, 47339, 56153, 6446, 38290, 11996, 3640, 19236, - 56251, 26006, 39485, 49775, 18442, 14177, 58677, 29326, 65175, 15895, 55082, 13796, - 36474, 17814, 15645, 18234, 33170, 51110, 44025, 25628, 50098, 4543, 11961, 5240, - 12269, 60922, 50694, 57333, 36294, 54967, 34897, 38937, 23327, 21211, 38130, 40763, - 28268, 32512, 44967, 13536, 14845, 33262, 60590, 42683, 51728, 39972, 55685, 7063, - 44366, 38396, 34545, 19207, 23781, 5187, 6760, 4664, 2548, 34910, 45079, 63988, 24389, - 33740, 46265, 48490, 13086, 13997, 4472, 58789, 42140, 38861, 56799, 27990, 2090, - 17510, 18149, 56801, 36116, 29, 27248, 14112, 43872, 56950, 31835, 54234, 60391, 61682, - 6150, 8409, 14113, 14813, 43837, 34413, 35895, 60346, 9764, 39419, 8802, 34406, 19505, - 46628, 3351, 48702, 8558, 5754, 2593, 60784, 39575, 1647, 5760, 16362, 63845, 48749, - 27443, 24090, 40960, 19478, 5559, 7717, 62950, 12398, 29842, 16378, 36410, 37918, - 22070, 37187, 2388, 2471, 59879, 9256, 16878, 28021, 9280, 63982, 3237, 64103, 60696, - 53445, 43639, 26328, 22322, 25785, 42833, 11185, 19944, 39503, 46656, 62113, 54641, - 39184, 38083, 52218, 10422, 19936, 38976, 37156, 53804, 24969, 32577, - ])) - .unwrap(), - c: 213, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_random_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("19b0167346cd2f1c984be3174c47724ddc1137b403532b6b12158e8005cf1539"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_lengthy_1() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, true, false, false, true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([false, false, false, true, true, false]), - e: Bitvector::<8>::from_iter([false, false, true, true, true, false, true, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("105a099af0fed50f5972d242475878035e14d2322e5c2a12e8ac5cc41cdc9dbe"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_max_6() { - let mut value = SmallTestStruct { a: 65535, b: 65535 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_lengthy_8() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, true, false, true]), - b: Bitvector::<2>::from_iter([true, false]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, false, false, true, true, true]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, true, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("50c9c0adb3b583620b03914e9d06233cebfdc185c0b1dd3be2a00fe64d16d015"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_zero_3() { - let mut value = VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("21a89163d6419cf2b1b80f4371602341016505eba8a183eebac76841fc29a77d"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_zero_chaos_2() { - let mut value = ComplexTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - d: List::::try_from(Vec::::from_iter([0])).unwrap(), - e: VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }, - VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0ec955700f739bb044257ec65d06df9ba2b4028dc074362e9ae558e313896af0"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_random_8() { - let mut value = VarTestStruct { - a: 27146, - b: List::::try_from(Vec::::from_iter([ - 22447, 64070, 3185, 62696, 47496, 19881, 59400, 35567, 8927, 12773, 18897, 10230, - 64382, 59300, 18831, 59520, 9367, 47402, 6761, 8006, 22245, 16016, 13486, 6282, 23492, - 51927, 15216, 47571, 37250, 41454, 63626, 38860, 62393, 61579, 38901, 18485, 26811, - 9006, 16865, 61638, 60728, 61196, 27714, 10173, 46074, 38945, 35079, 60651, 19970, - 31751, 11585, 25248, 60548, 4715, 41360, 1418, 63052, 44162, 34875, 39425, 30674, - 10083, 35543, 28810, 13258, 54905, 51912, 42064, 42086, 35617, 63924, 37847, 35858, - 16198, 52392, 15619, 56332, 56708, 7220, 58504, 47340, 50459, 8003, - ])) - .unwrap(), - c: 87, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_random_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("2b40e3ede4edeb7bd1809b6b360acd0929eeea5556de2886b75b946058eccf94"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_zero_3() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false, false, false, false]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, false, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_zero_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("a08e590982dffd5e3b7a9410c9d86d152cfb2d342bd00eec228aab3e3c5ef64b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_zero_4() { - let mut value = VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("95043ab51c19af41709a41bcecfe6b3efafc1eacf1ac3ea4185c0d26f175584f"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_max_1() { - let mut value = SmallTestStruct { a: 65535, b: 65535 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_zero_4() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, false, false]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false, false, false]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, false, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_zero_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("7a14e144cf89605fa98f03d5315652596c9607d815e162b2d371d7bad872012d"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_random_6() { - let mut value = SingleFieldTestStruct { a: 50 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3200000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_random_1() { - let mut value = ComplexTestStruct { - a: 10570, - b: List::::try_from(Vec::::from_iter([ - 25130, 47018, 44501, 60270, 30202, 60019, 979, 5334, 4184, 39381, 16060, 48693, 2177, - 1624, 44145, 109, 26297, 3760, 45976, 26234, 12306, 35072, 23108, 359, 36205, 42375, - 43668, 49701, 5985, 17741, 35986, 50806, 40456, 11569, 7764, 49999, 31368, 7231, 60872, - 61541, 20524, 32048, 6712, 30223, 8153, 53195, 4763, 44163, 42869, 57362, 61754, 17873, - 33684, 10606, 30774, 54348, 33012, 632, 28777, 42496, 43559, 30314, 45073, 30845, - 40909, 26651, 302, 6161, 19181, 36556, 3936, 53923, 28705, 46409, 24161, 53550, 61875, - 42759, 7125, 12173, 29283, 64822, 63922, 44442, 43951, 37379, 46418, 2732, 16965, 9105, - 53923, 48096, 41181, 32866, 7869, 57048, 39161, 23300, 33355, 10982, 179, 44668, 34392, - 54101, 52667, 38022, 48921, 16050, 37525, 18046, 59409, 52990, 56338, 52766, 31686, - 28089, - ])) - .unwrap(), - c: 207, - d: List::::try_from(Vec::::from_iter([ - 137, 42, 38, 79, 48, 237, 43, 239, 229, 237, 68, 206, 34, 234, 199, 211, 147, 192, 39, - 165, 55, 93, 7, 85, 10, 185, 173, 224, 62, 43, 122, 41, 37, 183, 181, 15, 253, 188, - 120, 16, 63, 210, 198, 236, 94, 224, 242, 54, 162, 151, 152, 213, 4, 229, 175, 226, 79, - 117, 44, 79, 247, 141, 63, 149, 171, 2, 244, 32, 197, 157, 80, 239, 119, 21, 156, 216, - 54, 5, 234, 249, 161, 202, 102, 168, 153, 37, 122, 68, 63, 58, 154, 238, 33, 123, 245, - 154, 107, 192, 130, 189, 108, 149, 133, 164, 179, 144, 154, 127, 3, 98, 185, 42, 143, - 214, 108, 179, 159, 175, 87, 118, 202, 238, 226, 116, 70, 70, 77, 84, 25, 32, 154, 160, - 106, 161, 48, 152, 144, 22, 99, 110, 132, 226, 191, 247, 80, 83, 23, 89, 50, 144, 86, - 32, 117, 12, 24, 96, 212, 64, 137, 252, 114, 41, 165, 33, 239, 110, 158, 167, 118, 106, - 59, 3, 2, 24, 52, 146, 53, 174, 110, 120, 167, 96, 2, 216, 234, 165, 43, 77, 244, 88, - 7, 83, 239, 87, 77, 33, 155, 34, 49, 215, 159, 211, 137, 117, 70, 103, 91, 120, 158, - 116, 117, 187, 12, 80, 167, 32, 140, 4, 4, 151, 215, 20, 108, 68, 24, 82, 228, 177, - 171, 191, 154, 198, 1, 180, 218, 203, 252, 138, 37, 42, 40, 214, 78, 127, 146, 80, - ])) - .unwrap(), - e: VarTestStruct { - a: 3432, - b: List::::try_from(Vec::::from_iter([ - 28962, 11394, 22785, 28581, 55052, 43341, 53264, 30844, 33165, 28308, 54453, 13625, - 29292, 9763, 32817, 58460, 40141, 2448, 37496, 34081, 52786, 22210, 50500, 51413, - 29126, 36769, 43292, 18244, 20473, 47107, 50265, 2320, 56137, 2746, 50727, 48561, - 16565, 12005, 6276, 47926, 45147, 29886, 55396, 57000, 46288, 48724, 37089, 57406, - 48266, 59628, 28876, 21811, 31183, 14062, 53330, 10317, 45440, 62525, 35051, 20458, - 53646, 11341, 9604, 47082, 11580, 25609, 3262, 39181, 17010, 40443, 35122, 31288, - 22934, 9937, 4106, 15004, 59372, 16131, 12670, 39395, 28159, 58633, 6266, 4724, - 55914, 57012, 60243, 54445, 2377, 7458, 34134, 22124, 29976, 53635, 51503, 50312, - 4338, 2295, 62248, 23365, 9769, 8775, 11132, 14910, 41745, 1220, 31456, 39275, - 11531, 14984, 4258, 64746, 9235, 60642, 42010, 3378, 32360, 35392, 1838, 31984, - 46955, 29648, 15826, 64936, 62965, 53274, 21525, 52201, 33182, 39605, 24181, 56208, - 22404, 54333, 42895, 13863, 24206, 48662, 46263, 437, 2398, 22343, 20176, 18670, - 31807, 34037, 26311, 35649, 43253, 12343, 33593, 40178, 64534, 39707, 32148, 18244, - 922, 28452, 42570, 6781, 63724, 36488, 32874, 56549, 15519, 30726, 21572, 43165, - 64473, 16619, 48128, 12523, 33120, 61591, 42319, 41353, 59194, 15140, 38659, 51807, - 52366, 36837, 2052, 47911, 64953, 19816, 18801, 52259, 48898, 52463, 22137, 46456, - 58429, 17201, 1704, 61033, 63848, 47929, 43661, 60381, 19194, 15658, 38106, 26512, - 30627, 17027, 47403, 18228, 20276, 61936, 33212, 55972, 10184, 11399, 15291, 30938, - 30612, 5398, 6772, 58525, 31460, 46486, 44751, 50458, 7858, 43542, 50930, 56945, - 36025, 56677, 43487, 63408, 7428, 56091, 55253, 24345, 58999, 51149, 30080, 40324, - 10777, 56094, 5654, 9730, 59633, 26035, 350, 29364, 56062, 50655, 7435, 51169, - 1496, 55034, 19505, 28135, 36965, 42148, 12733, 11143, 34889, 3140, 24353, 25123, - 56868, 40242, 27381, 24145, 37854, 46609, 2021, 29877, 63279, 56335, 32920, 39475, - 31007, 10330, 15026, 29818, 32041, 23646, 54540, 63584, 32148, 57607, 27323, 42202, - 33253, 7571, 19501, 31928, 43882, 54288, 11689, 28873, 18582, 11100, 15274, 56066, - 16607, 63103, 52394, 23088, 5934, 47019, 23313, 21529, 53968, 28636, 36481, 7394, - 1669, 47058, 25922, 12435, 14106, 25807, 45774, 56007, 57169, 22425, 14315, 10015, - 5277, 31002, 22866, 20440, 59011, 59782, 40484, 47772, 57785, 42650, 34494, 13672, - 29484, 22960, 42630, 64849, 5875, 26200, 48552, 52253, 57580, 26786, 58474, 16470, - 41167, 50301, 26638, 43149, 38135, 51118, 61197, 61726, 11527, 47401, 12013, 41462, - 63503, 1895, 11848, 22852, 12088, 54598, 2239, 48127, 54869, 53764, 34984, 64819, - 24276, 58233, 29952, 31711, 25194, 46704, 21808, 45102, 39954, 11449, 25982, 58525, - 15035, 34896, 58909, 907, 12615, 17652, 33350, 64545, 59993, 16195, 60900, 28750, - 8007, 7691, 62983, 42024, 58583, 36933, 42557, 52132, 54761, 15056, 12448, 13142, - 65283, 27373, 26369, 16552, 15685, 51428, 21993, 18847, 61140, 14492, 56600, 17930, - 26404, 42741, 50153, 54872, 4911, 19672, 10882, 30084, 40005, 37122, 5487, 13875, - 9070, 3529, 60893, 41929, 26048, 36420, 20226, 12206, 15736, 9007, 56187, 22710, - 29413, 26169, 42891, 31453, 52558, 16561, 48212, 32197, 63461, 65495, 55719, 34166, - 27183, 6277, 10330, 30055, 24421, 39894, 1590, 50974, 9457, 61119, 6175, 6847, - 56281, 41441, 55740, 61464, 17539, 35962, 55569, 14010, 50314, 49065, 308, 46191, - 20862, 64832, 3597, 32058, 59561, 30926, 52830, 3180, 56167, 58450, 39944, 51675, - 26064, 49070, 58947, 52813, 62294, 36713, 48767, 22670, 11739, 24851, 3258, 40199, - 44300, 58863, 57240, 16157, 61144, 53112, 39023, 57596, 22055, 38379, 17467, 23479, - 32534, 15470, 46976, 60539, 36433, 55438, 62731, 21650, 22672, 23007, 56552, 15111, - 30304, 845, 57614, 27431, 8468, 61481, 62207, 46583, 8118, 34734, - ])) - .unwrap(), - c: 230, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 231, b: 1863231633934349380, c: 2790073216 }, - FixedTestStruct { a: 37, b: 14159239175366384790, c: 3878144546 }, - FixedTestStruct { a: 172, b: 10223347348532532647, c: 3873962530 }, - FixedTestStruct { a: 228, b: 6481981747729743213, c: 817324705 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 33242, - b: List::::try_from(Vec::::from_iter([ - 47227, 37536, 46215, 50335, 52121, 8097, 64235, 27197, 7249, 8568, 16725, - 16612, 42968, 20796, 6356, 31220, 27948, 4246, 33344, 40546, 60800, 32272, - 34461, 51856, 24106, 11988, 3380, 5730, 45737, 30833, 1965, 21053, 13204, - 50503, 40670, 51104, 42160, 56854, 31896, 62806, 35065, 62865, 19119, 13151, - 50686, 34188, 17170, 63895, 5483, 36547, 18355, 61042, 55214, 48008, 27449, - 36858, 5832, 5827, 58798, 30184, 14349, 29998, 58597, 26956, 21310, 38282, - 9582, 47665, 22322, 40639, 2660, 9370, 56242, 5313, 60678, 3524, 32640, 22397, - 48941, 6325, 43146, 47535, 34380, 23938, 52169, 42240, 19029, 87, 65211, 16723, - 22411, 9044, 48028, 5360, 21489, 54014, 25091, 40209, 56957, 30166, 61763, - 12538, 57745, 18461, 950, 5884, 61044, 15658, 9510, 37657, 5342, 46055, 33064, - 49596, 49727, 16553, 53187, 39859, 55016, 27294, 10467, 33639, 6496, 21574, - 3319, 28053, 61240, 14564, 22446, 62825, 63701, 41076, 65331, 25976, 28935, - 46190, 59052, 5978, 4937, 29649, 21714, 43348, 59083, 48671, 54719, 54919, - 62564, 15064, 15492, 10310, 23814, 58312, 15505, 35497, 64466, 20340, 51492, - 55526, 47630, 40920, 56527, 7780, 54246, 35602, 1091, 24618, 28046, 3956, - 62891, 32475, 39197, 10864, 44184, 459, 56445, 4644, 48076, 64797, 5477, 9971, - 908, 46855, 10116, 57495, 4787, 10777, 33486, 33706, 63880, 35814, 38102, - 44108, 20955, 12199, 3413, 37589, 20131, 28128, 19806, 44211, 225, 6181, 58015, - 61157, 672, 1685, 47442, 56517, 38923, 38796, 47968, 40714, 52112, 51923, 3279, - 20351, 62297, 13769, 53676, 1685, 18586, 40550, 35681, 1342, 15790, 54458, - 54743, 41973, 6767, 32012, 29117, 6801, 24552, 52877, 46380, 15752, 60197, - 16849, 37141, 32613, 64372, 64207, 27250, 49276, 30880, 26452, 25222, 62169, - 9643, 26537, 7274, 21835, 10792, 38833, 33229, 53399, 56249, 27836, 42095, - 1994, 55040, 65447, 42454, 28826, 53882, 16933, 36202, 41189, 58201, 5221, - 22199, 30992, 52153, 60946, 27007, 43634, 29485, 15687, 42811, 48721, 37314, - 41995, 53486, 5561, 4448, 36422, 58238, 32123, 60207, 18145, 1022, 23369, - 11938, 33743, 39376, 19270, 7173, 33603, 58949, 3060, 10799, 27215, 49617, - 13604, 35875, 24198, 56380, 48764, 61890, 21136, 23821, 32848, 16553, 10389, - 34924, 64208, 43619, 40757, 9632, 34271, 21110, 24100, 24558, 22422, 43760, - ])) - .unwrap(), - c: 230, - }, - VarTestStruct { - a: 41398, - b: List::::try_from(Vec::::from_iter([ - 37637, 60630, 5618, 16275, 48590, 34771, 14023, 39677, 5882, 7409, 6483, 11030, - 44489, 14753, 6355, 47920, 47286, 49687, 32520, 46974, 52864, 46905, 9705, - 35634, 29235, 28158, 31341, 3993, 20930, 61867, 60115, 64147, 52387, 24318, - 23065, 2287, 47151, 7115, 60782, 33894, 54203, 20345, 12088, 43785, 52419, - 35442, 57189, 64822, 11974, 18782, 19726, 27342, 4934, 35411, 51636, 42411, - 32915, 3358, 31351, 6191, 54101, 38763, 41845, 32368, 37795, 60060, 26247, - 37383, 37831, 30981, 59295, 34278, 54376, 51426, 9390, 6193, 10660, 39178, - 17982, 45343, 30696, 37725, 8853, 39267, 30340, 54863, 31520, 57111, 20655, - 39748, 37100, 38122, 43901, 41022, 64161, 40570, 50122, 17037, 33987, 45478, - 29723, 22592, 36173, 5241, 45030, 33006, 28014, 31705, 52871, 52245, 65263, - 21204, 43385, 43900, 35230, 1496, 23777, 407, 43493, 49471, 41992, 44179, - 32461, 9755, 55182, 28242, 1552, 44445, 20009, 48914, 8957, 3780, 30400, 50764, - 52875, 34390, 64667, 41288, 14196, 8323, 13296, 12300, 44106, 37447, 31824, - 19937, 7562, 55441, 19922, 65393, 62069, 54216, 53575, 29471, 35523, 40855, - 38995, 4949, 61856, 56360, 47382, 8932, 64144, 26639, 20860, 28353, 28778, - 29764, 8993, 49287, 47173, 33950, 31589, 4833, 5994, 18852, 57108, 38201, - 15181, 10162, 11260, 6547, 26391, 62446, 9488, 17658, 22078, 45846, 40070, - 59120, 8767, 64778, 14054, 3636, 28072, 5851, 30583, 2158, 34866, 31945, 30376, - 61634, 41102, 64409, 22678, 18643, 21341, 24406, 11231, 51896, 62418, 32255, - 42126, 4962, 22672, 43634, 27654, 5928, 4376, 1987, 55380, 19561, 62886, 59174, - 25333, 9510, 2132, 2378, 26809, 44758, 36510, 28142, 12136, 9685, 32159, 42256, - 57679, 8624, 58299, 49729, 28094, 52092, 20607, 53823, 43603, 19836, 54095, - 43940, 6498, 37425, 46432, 63707, 2048, 30217, 31148, 15431, 65083, 4044, - 27107, 54770, 1634, 26113, 16574, 19206, 305, 14190, 13627, 24517, 59034, 2066, - 5421, 59845, 36560, 44348, 28794, 12620, 46123, 56797, 17640, 42063, 35763, - 31669, 43113, 41417, 13979, 44036, 48544, 45906, 35142, 39080, 42813, 3177, - 53424, 57840, 25764, 43201, 59484, 20364, 32041, 3452, 36433, 21146, 6679, - 13195, 16593, 26660, 5250, 49757, 30435, 9150, 56914, 14896, 53146, 63927, - 52958, 1, 16821, 24439, 64956, 3804, 21930, 15532, 47984, 8884, 56988, 48868, - 35611, 5493, 63657, 41499, 55380, 37728, 16769, 23559, 57683, 3921, 49532, - 9588, 49903, 3020, 42334, 58957, 31275, 38661, 19234, 44853, 20525, 62481, - 28416, 26298, 58537, 60679, 56277, 19174, 41894, 17873, 64750, 9105, 19665, - 14539, 14113, 13899, 48921, 48840, 45740, 54161, 5994, 21812, 15017, 18290, - 57281, 36714, 37001, 24523, 1796, 43725, 41057, 8742, 12975, 21189, 57679, - 10027, 5673, 28958, 49524, 3221, 11316, 20434, 60805, 52210, 2892, 165, 50601, - 44737, 2009, 16262, 32961, 50653, 35491, 15144, 1324, 61353, 43976, 38280, - 8077, 21034, 20250, 7650, 48293, 29649, 34225, 5844, 3954, 29912, 2764, 32640, - 18295, 37007, 8517, 7629, 40727, 37087, 30131, 3188, 63417, 35393, 14949, - 65277, 53493, 64264, 38666, 28457, 48270, 34153, 5336, 31342, 1547, 1619, - 44200, 57020, 49459, 37090, 9735, 36668, 36033, 4790, 8294, 52302, 37213, - 32977, 38690, 36723, 12201, 60669, 61855, 51776, 56089, 65300, 24103, 11179, - 432, 29915, 53512, 34900, 31077, 13491, 34671, 28147, 56567, 1360, 37625, - 26580, 34806, 491, 18534, 57752, 45232, 37461, 55246, 61194, 23002, 34230, - 18780, 28938, 46672, 38195, 31766, 28682, 38892, 55873, 5043, 37855, 36346, - 56134, 7852, 48611, 23716, 61276, 10763, 48469, 30334, 30417, 58174, 45328, - 60762, 52074, 47252, 61442, 43105, 39409, 57960, 64420, 65204, 32094, 20482, - 22905, 13343, 46177, 5213, 19893, 31472, 47764, 56937, 20526, 49572, 34134, - 53627, 31468, 40245, 27105, 51064, 15981, 9629, 24690, 1030, 18771, 44540, - 36668, 11054, 27243, - ])) - .unwrap(), - c: 247, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("7c29a9a223e62fb6fd23a50ee5dab5de6de62ec44f9a9785e203123599b68bc3"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_one_9() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false]), - b: Bitvector::<2>::from_iter([true, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([true]), - e: Bitvector::<8>::from_iter([false, false, true, false, false, false, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_one_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("6d9ba4547518645f70c84b158d170837d2a6627f4dc9b851f46d2487b3b94af4"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_max_4() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, true]), - e: Bitvector::<8>::from_iter([true, true, true, true, true, true, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_max_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("c91372ca27e8e68838e9afd761fa5e4adbb48e4a2e2ea9377a863b4c1a41b880"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_max_chaos_0() { - let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_chaos_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_random_6() { - let mut value = ComplexTestStruct { - a: 56082, - b: List::::try_from(Vec::::from_iter([ - 16100, 22857, 27807, 34340, 18934, 15120, 29987, 2470, 46665, 59647, 31943, 45611, - 58344, 27670, 50944, 47092, 21665, 36667, 42227, 41577, 12512, 596, 62087, 38343, - 31525, 9968, 45121, 40434, 32084, 5333, 4835, 3339, 38395, 20109, 58009, 60253, 3746, - 13519, 13381, 18659, 23803, 44518, 2163, 32548, 22246, 23513, 46382, 41869, 50979, - 65142, 44880, 7016, 22020, 29275, 21014, 46115, 44108, 60556, 28879, 43476, 62973, - 33776, 18845, 11764, 21132, 34696, 27081, 29853, 43833, 22089, 54364, 22524, 48064, - 11065, 34923, 31045, 19944, 21676, 57420, 29950, 31156, 23207, 53147, 36016, 8072, - 8802, 30624, 746, 39360, 48449, 47030, 56748, 63276, - ])) - .unwrap(), - c: 168, - d: List::::try_from(Vec::::from_iter([ - 40, 41, 197, 38, 95, 95, 2, 105, 184, 76, 97, 39, 73, 184, 37, 136, 136, 110, 210, 118, - 215, 74, 142, 13, 197, 139, 95, 107, 119, 111, 26, 254, 80, 89, 236, 205, 186, 139, 39, - 51, 94, 149, 164, 178, 230, 135, 193, 198, 60, 14, 218, 149, 132, 85, 23, 199, 210, - 226, 118, 31, 56, 216, 11, 255, 151, 87, 151, 247, 184, 3, 165, 107, 241, 90, 168, 8, - 147, 188, 31, 135, 132, 23, 116, 141, 64, 10, 255, 176, 119, 227, 129, 51, 94, 193, - 154, 121, 153, 218, 196, 184, 54, 166, 186, 114, 32, 243, 54, 12, 70, 207, 234, 14, 35, - 181, 112, 105, 210, 174, 163, 42, 243, 165, 96, 136, 231, 207, 198, 179, 141, 160, 122, - 168, 12, 200, 212, 185, 22, 118, 247, 54, 107, 152, 167, - ])) - .unwrap(), - e: VarTestStruct { - a: 11429, - b: List::::try_from(Vec::::from_iter([ - 60109, 40769, 46399, 40756, 54364, 14755, 50154, 2464, 1212, 36993, 15934, 14639, - 39209, 27684, 14374, 35993, 10919, 51667, 30710, 27337, 35066, 29087, 42877, 31353, - 59108, 5772, 31403, 56426, 36255, 2499, 40269, 61875, 14862, 55082, 12666, 40997, - 32483, 5102, 29843, 44065, 62507, 22572, 14565, 40211, 63852, 40161, 26729, 27975, - 34763, 41474, 13844, 49887, 62325, 43565, 55572, 10575, 55219, 31844, 56829, 61982, - 8771, 45842, 21991, 15880, 54050, 20851, 54799, 31339, 54890, 46122, 51850, 58914, - 2017, 39112, 54124, 47541, 44552, 5427, 7523, 29640, 51044, 54296, 31402, 59264, - 25986, 51517, 8277, 9171, 20055, 31198, 53559, 8724, 18988, 58309, 36392, 30245, - 10592, 42461, 48509, 4718, 34309, 20621, 27109, 39094, 1022, 58534, 17763, 16513, - 45819, 39001, 53091, 55842, 4204, 50292, 24274, 47003, 42656, 25870, 52020, 21053, - 46432, 10180, 9480, 34172, 26850, 4541, 49254, 16630, 40105, 35609, 1479, 29030, - 900, 64758, 28345, 26429, 2734, 39968, 53604, 33270, 28230, 10428, 44780, 27263, - 54066, 39925, 22898, 52924, 30209, 59795, 5412, 26053, 49646, 62122, 48129, 35818, - 46169, 55076, 45832, 21972, 3104, 5797, 30916, 46820, 53916, 36058, 6868, 49186, - 54491, 29663, 12432, 62953, 58052, 39803, 37474, 11824, 41000, 7692, 40243, 38171, - 14003, 17490, 46196, 64915, 6431, 36061, 45610, 43994, 35390, 25523, 26079, 21393, - 28906, 23901, 31445, 17045, 52356, 21030, 55380, 48331, 16940, 48799, 58154, 32164, - 19082, 39629, 63652, 63132, 13473, 1364, 57314, 23750, 1810, 43481, 37305, 52627, - 9392, 58872, 53894, 46152, 45875, 34605, 44743, 57919, 60216, 57430, 29934, 29802, - 44241, 57402, 29074, 64833, 58200, 28698, 56489, 59917, 38441, 2832, 46336, 21703, - 40717, 60689, 41146, 25148, 37711, 20280, 65169, 37198, 47577, 10489, 7122, 10868, - 21298, 48235, 33165, 19746, 43817, 43550, 47763, 41143, 20578, 64962, 29759, 47455, - 57859, 6635, 17711, 29993, 13215, 28406, 47882, 8564, 51741, 58231, 44409, 23398, - 28637, 24610, 44549, 63219, 63341, 28771, 17697, 53943, 42839, 23415, 20512, 14303, - 58799, 19909, 32500, 45613, 9698, 7229, 20909, 18416, 13781, 44003, 37876, 46575, - 3038, 11285, 25808, 18171, 45806, 57529, 7098, 61748, 45637, 25942, 7953, 36145, - 50040, 34868, 64094, 47417, 38691, 51227, 1536, 17259, 24120, 41457, 56671, 13966, - 1174, 2387, 17070, 64206, 44057, 46027, 28588, 21394, 19856, 16102, 4257, 34921, - 22595, 59352, 57474, 50989, 12619, 64380, 38802, 1453, 28019, 46175, 38494, 63087, - 3317, 25228, 5061, 6857, 2720, 11644, 10185, 48463, 860, 28939, 18110, 46013, - 57306, 23289, 37649, 2141, 10370, 59391, 20084, 52753, 11556, 40070, 14866, 35041, - 25792, 14187, 45309, 27530, 3086, 12714, 39807, 20461, 43265, 45510, 28492, 19647, - 31047, 42926, 59070, 38759, 50348, 54563, 54077, 59543, 35695, 22876, 63822, 26594, - 14422, 63493, 17703, 27724, 51362, 11687, 26337, 23525, 1101, 55583, 51781, 16023, - 23421, 9737, 13157, 51954, 6741, 3529, 52313, 27377, 3865, 46942, 45209, 28247, - 33929, 62684, 24120, 8762, 40347, 46217, 10954, 35789, 61978, 47615, 20503, 37495, - 9803, 519, 45395, 7594, 57011, 39206, 46855, 20502, 61895, 17227, 59147, 19898, - 37317, 41325, 45616, 56104, 36278, 55740, 53453, 36719, 34719, 39113, 18132, 29006, - 37500, 46312, 58213, 49214, 48729, 2111, 8067, 47898, 57516, 61328, 2473, 52107, - 10288, 36501, 17254, 54973, 29799, 25435, 46730, 21493, 29954, 11644, 65224, 51985, - 61765, 56600, 31555, 760, 31761, 65476, 52084, 57730, 46812, 28512, 37606, 11305, - 64521, 9535, 43867, 46039, 21311, 7189, 50903, 33032, 30180, 24892, 18303, 43250, - 51003, 2353, 101, 40042, 20819, 31079, 15497, 24071, 4230, 30715, 53670, 42124, - 55028, 6882, 19357, 36370, 32944, 1660, 5756, 748, 20482, 49167, 3140, 11548, - 10076, 29953, 33585, 46644, 30843, 7781, 6809, 2134, 25327, 47376, 41257, 39430, - 51286, 17936, 32262, 63837, 56966, 317, 64489, 11660, 29588, 277, 49999, 16712, - 48048, 10742, 26833, 39029, 10154, 22940, 5028, 34882, 1087, 14107, 50349, 40229, - 2318, 13391, 9539, 35939, 6920, 45422, 10917, 23853, 30605, 17288, 5432, 40796, - 9667, 16573, 8351, 55697, 4253, 33724, 6543, 42128, 62401, 35278, 30338, 9506, - 35655, 58431, 42941, 11053, 500, 46484, 20741, 34337, 2317, 3187, 33738, 25311, - 11821, 63656, 38232, 39161, 47836, 32621, 19988, 5037, 14530, 45416, 26008, 23924, - 1994, 64224, 19500, 56883, 56009, 55221, 53206, 42436, 56981, 20695, 3758, 36394, - 35154, 48634, 63340, 32711, 27716, 37784, 39640, 40504, 35772, 31659, 32637, 36833, - 47472, 19880, 45447, 10695, 34458, 63716, 44762, 5507, 28180, 3823, 30626, 38140, - 37042, 39212, 35480, 45559, 15401, 37524, 28408, 51096, 40489, 53487, 41212, 60999, - 31696, 42933, 21149, 45805, 15412, 62896, 62451, 33440, 64374, 12928, 50948, 45095, - 18714, 39236, 37743, 7906, 16113, 55455, 45351, 62767, 47743, 28792, 50466, 3907, - 5872, 64569, - ])) - .unwrap(), - c: 101, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 222, b: 15123379162607136266, c: 1353896497 }, - FixedTestStruct { a: 133, b: 12301823266505627415, c: 2049419971 }, - FixedTestStruct { a: 74, b: 14612473027338292713, c: 3280573163 }, - FixedTestStruct { a: 182, b: 13293144499800156659, c: 1044267296 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 39096, - b: List::::try_from(Vec::::from_iter([ - 47532, 38310, 11840, 11592, 469, 61623, 49907, 61644, 16027, 49338, 26917, - 37058, 43868, 56308, 35037, 41241, 42071, 16557, 41814, 8749, 19464, 25529, - 25666, 40039, 17818, 23454, 23260, 57082, 3694, 56932, 40871, 37605, 21584, - 62023, 37510, 58767, 1740, 49525, 7762, 30260, 65402, 22805, 30770, 44599, - 45778, 24465, 46478, 43863, 65460, 38184, 63704, 41862, 20097, 56089, 41588, - 7427, 11636, 23305, 57184, 6169, 43277, 46876, 866, 942, 16690, 5511, 63265, - 50351, 45473, 42186, 3573, 17690, 27032, 32319, 45154, 62190, 18710, 27725, - 17911, 10316, 42125, 27374, 57853, 34124, 24971, 52653, 49910, 16461, 16134, - 32588, 61027, 46832, 34179, 40576, 11813, 32137, 8074, 27030, 42590, 45711, - 54805, 47087, 25417, 45070, 44553, 33690, 1476, 57171, 44579, 9033, 46690, - 39935, 59737, 52755, 51391, 41295, 41330, 55941, 31939, 60444, 36601, 6926, - 13523, 40091, 45339, 61991, 40007, 64321, 49560, 15169, 51322, 58774, 37107, - 45583, 26297, 54708, 15267, 60625, 26517, 12538, 34030, 11853, 35855, 40582, - 21421, 21490, 10358, 65012, 3368, 36628, 30058, 21475, 49777, 64440, 43991, - 38963, 53494, 41266, 46001, 62084, 8817, 55638, 33082, 49874, 54457, 24837, - 14921, 3546, 37103, 31542, 9459, 45588, 57889, 54278, 19541, 35765, 34527, - 22277, 6360, 50737, 711, 18118, 46590, 54432, 53814, 51163, 11539, 24925, - 44565, 37206, 26721, 5775, 25630, 46440, 715, 13361, 35588, 17454, 52223, - 63509, 36023, 28724, 7212, 45929, 7093, 13976, 26737, 53576, 39567, 47240, - 3399, 2570, 65470, 57086, 21490, 48871, 22074, 10452, 57419, 50547, 26682, - 56144, 32132, 31349, 31428, 60860, 63913, 16701, 15163, 62923, 46513, 22322, - 20280, 61732, 35918, 62171, 11841, 33745, 33886, 44409, 17300, 24502, 53435, - 30350, 61009, 59322, 22652, 59882, 50889, 29382, 62177, 42818, 29659, 12527, - 49610, 49504, 54014, 31847, 56059, 569, 46255, 12576, 14335, 62835, 23626, - 18121, 62389, 63161, 19213, 11139, 48834, 27132, 38294, 311, 43846, 38965, - 45448, 10736, 59742, 21994, 42385, 17169, 44705, 53907, 16422, 26005, 65396, - 35343, 19231, 58743, 56975, 40844, 2550, 34550, 6201, 11680, 1627, 26935, - 64630, 13940, 57153, 40641, 25861, 32773, 30797, 56282, 50811, 59832, 47756, - 40228, 3679, 15430, 46829, 4476, 41464, 30031, 33894, 3082, 20909, 30595, - 41297, 1935, 11186, 45945, 22677, 48425, 56310, 27995, 45984, 64564, 23437, - 15856, 376, 22595, 46436, 54846, 61800, 13210, 55192, 2145, 15867, 43340, - 19287, 58291, 51954, 32430, 40773, 27789, 45920, 38315, 27976, 865, 23067, - 60034, 52964, 32871, 65017, 54288, 22730, 53655, 15956, 46364, 33889, 48645, - 3575, 47240, 12690, 44880, 61855, 39332, 12337, 3796, 17014, 32757, 53382, - 27373, 48405, 51912, 25461, 18008, 9758, 56914, 23441, 38416, 53458, 26875, - 56623, 37735, 1106, 40434, 49852, 13272, 35545, 42887, 14662, 40822, 21207, - 16350, 52258, 47876, 29357, 63271, 34551, 59103, 1705, 49636, 26140, 51260, - 47625, 45058, 55421, 17852, 130, 55603, 58211, 35244, 9802, 19550, 13156, - 31748, 20604, 36363, 32394, 47311, 61977, 1320, 24478, 6849, 3493, 39758, - 65307, 32498, 63115, 20745, 22748, 37608, 8312, 35439, 46642, 56304, 33462, - 7710, 31596, 26039, 10265, 35734, 36134, 31444, 3555, 43971, 43202, 43305, - 9362, 37528, 38184, 35015, 8089, 8947, 3778, 2872, 55387, 43079, 14895, 58214, - 35030, 30203, 48410, 58640, 59856, 9390, 41965, 10568, 14369, 29385, 26143, - 6191, 19045, 9739, 35007, 35051, 65360, 51280, 64462, 417, 54846, 38325, 65258, - 20017, 7246, 15520, 59245, 48884, - ])) - .unwrap(), - c: 181, - }, - VarTestStruct { - a: 38223, - b: List::::try_from(Vec::::from_iter([ - 5078, 33434, 40974, 12861, 22394, 56300, 44801, 7123, 45572, 52308, 40807, - 3493, 48886, 3940, 18613, 26392, 12954, 58150, 22535, 15141, 14353, 34568, - 5140, 33061, 42050, 222, 56269, 22014, 15367, 23727, 29954, 10957, 50158, - 25117, 37952, 29924, 31698, 52634, 60633, 29668, 42847, 57732, 14741, 45137, - 45876, 30641, 46256, 60313, 10369, 60296, 14824, 39076, 35703, 15327, 61517, - 53968, 18262, 48816, 64261, 4225, 52297, 24968, 46731, 45883, 32368, 23481, - 7710, 53869, 44403, 63559, 13037, 30310, 24176, 19340, 1609, 20624, 60769, - 56915, 58478, 33712, 35868, 1383, 44415, 27418, 4835, 20124, 54465, 12941, - 60505, 31993, 61029, 51639, 60735, 5170, 14228, 38317, 36735, 23988, 23534, - 1572, 12474, 47683, 53173, 29696, 31315, 14715, 30743, 52757, 6495, 26642, - 38707, 49754, 884, 47564, 22209, 12685, 32687, 9040, 52980, 36502, 42059, - 18218, 5867, 59198, 5543, 57792, 34772, 60792, 30934, 19458, 58984, 34757, - 13434, 50929, 10068, 37958, 38209, 61035, 43630, 24939, 15188, 43949, 5392, - 58805, 44519, 42242, 33351, 19984, 46339, 12170, 32558, 28737, 20471, 27073, - 8747, 51893, 33789, 50217, 29880, 39244, 55549, 9906, 23468, 21564, 39514, - 3538, 496, 29247, 33027, 16765, 11771, 6754, 28493, 43204, 36568, 18739, 26868, - 39761, 51957, 46326, 13487, 56253, 12066, 34608, 34664, 63073, 27848, 59618, - 40095, 2098, 38457, 36086, 8412, 34675, 24069, 14637, 32751, 42661, 48717, - 54862, 44866, 11369, 26564, 8032, 3474, 27864, 61073, 4585, 1981, 56747, 14372, - 24057, 37663, 6864, 20457, 57876, 56687, 28893, 36773, 34602, 38592, 20539, 44, - 26662, 65056, 11589, 25283, 60360, 58177, 42948, 29815, 7773, 44818, 30993, - 56295, 10455, 62408, 328, 29491, 2300, 21072, 12450, 10602, 38200, 18317, - 51447, 48975, 58303, 65519, 59005, 20637, 11803, 14445, 3742, 50580, 45846, - 3151, 13312, 41621, 18102, 27387, 24634, 29568, 47549, 12592, 28440, 18599, - 61206, 33614, 20136, 18281, 13331, 1323, 33935, 32131, 57383, 41544, 12392, - 48431, 22301, 14528, 16018, 65209, 32376, 42426, 47698, 32853, 56741, 54779, - 6409, 9829, 38179, 3275, 18353, 21512, 62518, 2467, 22415, 65086, 56003, 59330, - 38995, 62356, 44340, 4130, 17221, 39589, 29757, 64864, 10488, 13534, 1576, - 12041, 49624, 30253, 90, 11287, 5595, 60461, 4469, 57154, 56043, 28711, 29304, - 26712, 60310, 59433, 32725, 21522, 8517, 31293, 51504, 63333, 63611, 46241, - 2279, 8302, 24105, 43332, 25429, 48327, 41648, 38022, 46441, 63420, 7988, - 13751, 7908, 56906, 32998, 5488, 21060, 30701, 53544, 35117, 46511, 24316, - 10634, 38944, 3325, 29584, 48800, 12977, 63867, 61882, 33782, 58423, 53522, - 11685, 11320, 42282, 41308, 37014, 62120, 7496, 35660, 49308, 12485, 38555, - 32241, 25401, 56247, 31195, 12137, 25727, 48105, 28020, 30806, 63222, 65509, - 13275, 30811, 44812, 26557, 2288, 50631, 59536, 12184, 50965, 59295, 39461, - 41675, 61012, 35958, 25508, 14033, 58216, 59021, 43365, 46666, 27207, 10699, - 904, 46546, 51842, 9621, 35291, 2728, 22417, 51561, 48692, 26054, 12037, 58524, - 27047, 37005, 12523, 49344, 8493, 45596, 34948, 35244, 4823, 34631, 53606, - 13865, 13199, 50519, 53984, 8566, 53831, 59750, 31949, 45881, 33739, 55355, - 19664, 2750, 32342, 10813, 57648, 54334, 50656, 44969, 38621, 18149, 47740, - 40327, 62600, 29955, 45508, 27697, 18509, 11655, 60093, 2851, 3594, 58830, - 17466, 11472, 27443, 21810, 32487, 35764, 20858, 30826, 5069, 60940, 54966, - 45899, 38522, 65346, 33917, 55533, 18830, 5978, 20715, 41704, 46018, 59850, - 49630, 57108, 42312, 11541, 10152, 39108, 28724, 43661, 42906, 60771, 61287, - 17566, 52887, 56450, 8683, 6633, 64194, 42012, 35214, 65394, 39797, 28253, - 52835, 30726, 14013, 49892, 32969, 27705, 10921, 56995, 21051, 14409, 62434, - 19748, 53963, 32044, 17003, 4488, 56800, 28496, 47074, 46312, 41792, 8267, - 14566, 61835, 4262, 25737, 41313, 20863, 54045, 26891, 48484, 56404, 15748, - 36192, 30175, 19914, 60233, 64930, 10483, 47069, 45904, 65413, 60672, 55080, - 41007, 48128, 6070, 31624, 22731, 22469, 6073, 10766, 40073, 26700, 60161, - 16290, 3795, 52035, 17291, 4152, 56414, 21318, 58001, 61727, 9740, 40194, - 52455, 64347, 27221, 59041, 19095, 58610, 4366, 50095, 63260, 55737, 60937, - 7222, 51754, 1108, 18973, 14077, 31157, 45997, 20645, 41240, 36439, 16135, - 61571, 21045, 27703, 12363, 36386, 39286, 65410, 60890, 20350, 43267, 10669, - 12243, 21158, 59186, 12638, 36701, 26560, 61417, 28835, 41381, 28053, 20393, - 17703, 23909, 51913, 6918, 47017, 6885, 23656, 20831, 43054, 37613, 52560, - 33514, 8989, 32310, 1298, 35171, 16171, 52683, 3297, 53769, 36205, 58958, - 59415, 30566, 18349, 16569, 46120, 8668, 48644, 21468, 40978, 7834, 16466, - 34612, 43494, 50607, 45423, 21905, 61423, 2783, 24196, 38257, 29335, 50288, - 16685, 62897, 46316, 33355, 46608, 13827, 37696, 31120, 32772, 46822, 63564, - 36404, 56740, 14611, 37355, 61409, 2265, 41750, 40866, 46534, 33758, 52433, - 41622, 33281, 51011, 61997, 48199, 52823, 58395, 28191, 43893, 21034, 17496, - 11992, 37674, 20854, 16846, 47118, 40681, 18949, 23045, 39577, 11889, 38199, - 64960, 30494, 60573, 58008, 46796, 10877, 21882, 14735, 35892, 62994, 39881, - 59415, 25418, 46530, 62264, 55770, 40414, 18337, 53684, 51738, 10026, 46718, - 28596, 29473, 8228, 2258, 44354, 42402, 59577, 21544, 57265, 30307, 65156, - 32329, 18486, 30384, 48616, 33690, 57627, 62515, 40417, 12520, 16990, 60549, - 7877, 39042, 31668, 53799, 33442, 8452, 33676, 1684, 9274, 40279, 28787, 62165, - 15875, 25232, 64774, 21820, 1073, 20019, 4589, 64738, 56552, 62726, 44483, - 50846, 659, 19753, 10017, 6086, 45600, 36665, 61487, 14711, 36820, 7006, 3134, - 43946, 413, 13265, 14490, 31396, 18428, 64861, 44336, 62908, 24269, 16313, - 14633, 33920, 32136, 12444, 15697, 6174, 22281, 3076, 25048, 19740, 27731, - 59445, 16649, 53662, 53231, 41088, 60671, 37263, 43399, 2813, 55789, 27855, - 49652, 16510, 6149, 61821, 2217, 21260, 30861, 59369, 27966, 7392, 65127, 1056, - 47428, 4868, 24329, 58533, 42001, 19903, 38866, 44845, 31781, - ])) - .unwrap(), - c: 120, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("171ae6694d194490e836168998f9ee01694f403e9104a36ec8b9ca05df67cdbe"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_random_chaos_0() { - let mut value = SmallTestStruct { a: 32656, b: 26218 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_chaos_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("42fccd03498ca740c0d81c60d845db06b8b10257b9112411d1863b732810725d"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_random_1() { - let mut value = SingleFieldTestStruct { a: 59 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3b00000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_max_3() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([true, true, true, true, true, true, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_max_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("4ba4cfc5cf2a708b0b5fac027a42fd0d03e25ea79114660a4183a9f8ed7fe70f"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_nil_4() { - let mut value = VarTestStruct { - a: 28577, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 222, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("1f74745ce203e543c7e2ca93e001fc86755a5aa6cf4a0e3a0f02b516a8764974"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_one_7() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true]), - b: Bitvector::<2>::from_iter([true, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([true]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, true, true, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_one_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ebeb7f15f8e27e619d126d73430a13dadc766ce9ab7cae7b0701dbcf88b8cae3"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_random_8() { - let mut value = SingleFieldTestStruct { a: 121 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("7900000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_random_chaos_2() { - let mut value = VarTestStruct { - a: 56424, - b: List::::try_from(Vec::::from_iter([ - 14923, 5692, 42866, 61765, 4524, 40147, 49185, 62818, 16625, 13626, 26774, 26803, - 27596, 7960, 33695, 64432, 57196, 57270, 58176, 61600, 53363, 27678, 55705, 55519, 99, - 61383, 30970, 56502, 42545, 5930, 30494, 5507, 7084, 1879, 52535, 37062, 52431, 9370, - 44427, 28161, 55314, 34557, 20893, 25736, 5799, 15607, 32615, 63064, 42958, 4591, - 63902, 61997, 18283, 8868, 56569, 10716, 49303, 16470, 35770, 18456, 22101, 59922, - 5112, 16222, 9475, 2909, 53670, 14946, 9470, 29043, 6466, 42784, 54249, 51930, 53120, - 49553, 40009, 62722, 15442, 39885, 47715, 31420, 30392, 59441, 49844, 30511, 60938, - 24123, 37496, 60799, 39564, 41712, 46779, 27229, 33936, 34677, 34317, 3524, 61643, - 64379, 41330, 38164, 55130, 1863, 25732, 28989, 49648, 57163, 44576, 19832, 35293, - 28298, 28054, 30960, 63728, 63386, 64191, 16214, 53783, 42818, 14406, 58212, 4450, - 12448, 28328, 1525, 59012, 3222, 27943, 26956, 51734, 16261, 48885, 10425, 32547, - 27503, 48787, 61339, 56655, 35114, 48615, 50238, 54306, 35846, 46318, 21347, 35973, - 28551, 29932, 1210, 33034, 38597, 32462, 52056, 55890, 27690, 57732, 27173, 27704, - 54492, 36064, 50832, 28574, 50842, 5328, 14306, 55779, 49080, 47166, 41079, 22171, - 17880, 13494, 40666, 1033, 41469, 53527, 11442, 60101, 6853, 51301, 20698, 60179, - 13770, 44646, 18935, 6613, 6065, 20647, 13032, 3082, 1807, 2462, 13790, 38100, 51950, - 5549, 26563, 65532, 45091, 17302, 25886, 19272, 17176, 48484, 27932, 4411, 26989, - 52117, 40255, 48837, 4549, 43056, 11717, 4213, 13597, 18234, 44020, 23535, 27845, - 37440, 45023, 41171, 11738, 9492, 65076, 44029, 26722, 16406, 38258, 20273, 59229, - 61837, 13718, 22651, 29205, 58345, 25080, 51116, 41205, 7082, 58487, 47213, 59964, - 54195, 34052, 12593, 7040, 23308, 15232, 55712, 36564, 46983, 61371, 56295, 20614, - 18532, 44867, 64237, 2879, 52724, 19375, 33835, 45323, 21348, 11045, 5764, 7128, 65493, - 16173, 4336, 34064, 15351, 59268, 46550, 29691, 55782, 11758, 31160, 62671, 51828, - 41478, 38046, 64362, 52586, 34516, 34317, 38339, 39417, 7111, 51712, 44259, 23120, - 3386, 57500, 31109, 4932, 7691, 19250, 62704, 35731, 16459, 34235, 46133, 25305, 65099, - 28075, 61760, 33544, 845, - ])) - .unwrap(), - c: 237, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_random_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("afc6aa81f584fba24b6c7a0fa73bd1b3bdb09a75dab31d111b62bc9e9850cfae"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_nil_3() { - let mut value = VarTestStruct { - a: 16239, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 51, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3168dedbcb599653e924a07f395a5e2d2ee0af53acdb1323fcd7d8b5c018c65d"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_random_8() { - let mut value = ComplexTestStruct { - a: 20254, - b: List::::try_from(Vec::::from_iter([ - 20019, 60900, 48556, 15177, 23768, 57178, 35087, 7767, 19440, 595, 14057, 20155, 35173, - 35336, 64153, 21450, 36425, 55180, 52004, 42407, 19621, 742, 32674, 58289, 9198, 44946, - 48837, 57874, 50783, 46004, 42531, 47118, 25301, 48855, 10466, 34574, 27766, 32913, - 59288, 29576, 62320, 39237, 48839, 29122, 25641, 41609, 60367, 30823, 21187, 34405, - 65294, 5151, 1793, 5552, 2864, 42727, 702, 2491, 48324, 3944, 62993, 16985, 21918, - 49657, 8425, 10712, 50340, 30588, 14530, 11749, 6804, 1495, 51933, 8457, 34646, 21116, - 60205, 58353, 124, 1481, 59528, 9590, 4347, 2702, 15150, 677, 38550, 28196, 46638, - 59880, - ])) - .unwrap(), - c: 118, - d: List::::try_from(Vec::::from_iter([ - 108, 97, 223, 200, 182, 147, 35, 133, 49, 171, 249, 221, 65, 139, 125, 159, 124, 65, - 204, 18, 41, 97, 28, 230, 55, 150, 187, 143, 212, 236, 222, 220, 218, 110, 168, 119, - 178, 58, 139, 231, 162, 177, 213, 78, 145, 200, 194, 101, 182, 175, 220, 126, 11, 138, - 185, 212, 172, 112, 93, 123, 53, 188, 91, 79, 153, 60, 104, 141, 33, - ])) - .unwrap(), - e: VarTestStruct { - a: 15566, - b: List::::try_from(Vec::::from_iter([ - 23038, 52467, 41326, 7563, 19676, 51828, 34152, 35277, 31528, 15242, 52634, 23460, - 662, 57334, 51356, 51069, 62275, 51556, 9608, 61918, 11647, 8270, 23699, 38091, - 13755, 10586, 1912, 12225, 49116, 20133, 37751, 60597, 64257, 42895, 46087, 33385, - 2505, 39233, 65481, 36900, 44692, 48901, 57503, 47013, 10149, 11443, 6751, 40026, - 65136, 24278, 24408, 52675, 30579, 22220, 16607, 45228, 22219, 54085, 30563, 55581, - 9463, 53112, 34, 30617, 47477, 5298, 30294, 11311, 29564, 58717, 35313, 16998, - 21351, 58470, 8359, 1304, 53801, 49970, 3507, 57786, 56260, 44562, 30257, 7650, - 36333, 47070, 3575, 5861, 17655, 57540, 15435, 42401, 51256, 34878, 28770, 2628, - 48312, 43028, 62550, 54455, 14143, 56090, 33068, 61934, 19848, 30845, 44235, 43090, - 39642, 59346, 35395, 41672, 40733, 20450, 2975, 58444, 27817, 5251, 407, 41801, - 11994, 34767, 35100, 53842, 51699, 51779, 27328, 55964, 31723, 48561, 28002, 30110, - 33484, 35352, 58292, 4230, 47386, 56285, 64411, 33751, 33961, 29007, 38688, 51050, - 7125, 11803, 13068, 63754, 53090, 34587, 35542, 45246, 54620, 6581, 5122, 10149, - 45379, 25659, 23061, 45914, 598, 40874, 7128, 11296, 26013, 56871, 10082, 17350, - 35057, 64511, 23196, 25536, 921, 34801, 57331, 53619, 3385, 24312, 7501, 64696, - 43269, 51564, 16998, 37607, 9736, 20160, 23205, 47204, 12909, 62084, 46171, 34480, - 7301, 19, 48602, 17400, 53932, 34104, 54714, 50565, 23142, 9583, 36290, 13105, - 17632, 64758, 53859, 48557, 22417, 35909, 13069, 51497, 9730, 55921, 33459, 23387, - 38711, 54174, 42625, 57795, 17568, 38904, 20044, 58948, 48375, 32402, 27931, 35005, - 38562, 1676, 17801, 54, 7513, 26578, 46119, 30052, 35530, 11384, 13531, 42624, - 56620, 18653, 42752, 41161, 23162, 34126, 20564, 49149, 24100, 12881, 30241, 47538, - 53663, 38843, 47756, 9411, 25012, 19131, 42097, 52976, 17633, 34450, 12281, 32939, - 21055, 43801, 48633, 37097, 34579, 33852, 4982, 2955, 48169, 34914, 1437, 48070, - 33516, 39601, 1788, 46643, 52766, 47271, 41865, 22083, 1058, 49598, 33249, 43144, - 41894, 21913, 64824, 33419, 6358, 2988, 43758, 19922, 24492, 50825, 39861, 62492, - 12321, 59018, 8514, 40413, 59127, 22379, 6038, 27666, 33790, 55918, 25974, 19092, - 10219, 2648, 17859, 16754, 65381, 40019, 42411, 40586, 18643, 38833, 60778, 35088, - 19365, 16615, 47563, 49340, 20330, 20458, 33330, 60705, 47494, 51169, 11203, 43187, - 6138, 2505, 20405, 46548, 40584, 24993, 62231, 20986, 46283, 38288, 60599, 20233, - 55047, 5984, 23254, 24025, 31374, 47643, 62445, 52763, 52452, 43885, 43362, 14792, - 5673, 10021, 31738, 9067, 15167, 7853, 63528, 27105, 62764, 13090, 6254, 35859, - 59536, 54027, 14904, 64031, 65071, 53232, 27028, 42983, 40543, 24781, 20444, 41784, - 60171, 34731, 34600, 39511, 32768, 27348, 42675, 25447, 55249, 24705, 22908, 37437, - 45719, 11497, 50270, 47556, 40284, 22236, 58097, 52214, 62016, 52033, 51909, 1017, - 36042, 31122, 58767, 3302, 61282, 24875, 50420, 19597, 56833, 24486, 64716, 51516, - 2892, 51416, 42233, 33490, 28745, 10441, 16353, 23993, 29684, 39092, 33527, 14540, - 63877, 52781, 19691, 21007, 37703, 38191, 1160, 62982, 52948, 8684, 59121, 56101, - 5091, 62786, 6965, 29258, 24770, 18219, 2061, 28593, 16491, 55234, 12659, 31184, - 2347, 24082, 1817, 19529, 59188, 8470, 54829, 35039, 54773, 6492, 22279, 25784, - 47210, 64774, 49465, 63119, 23357, 46595, 8480, 7135, 37037, 55754, 58607, 15162, - 59514, 62454, 64385, 53026, 40752, 28766, 60737, 39821, 34691, 41439, 42882, 24899, - 46916, 13493, 55991, 44304, 30454, 11407, 53016, 16063, 7049, 56307, 9135, 56666, - 12923, 39358, 17561, 46630, 7399, 20274, 32193, 22999, 47006, 63989, 11858, 9990, - 21774, 49916, 37153, 9606, 63414, 35134, 8733, 44605, 26307, 52908, 11617, 37977, - 33251, 14901, 34690, 39345, 47417, 9357, 29558, 63632, 23563, 62408, 15920, 42437, - 8958, 22378, 36801, 20725, 18729, 16779, 38026, 26668, 34107, 47028, 62619, 40842, - 30704, 6197, 45446, 23256, 53321, 16785, 8464, 29133, 31951, 14485, 32301, 31234, - 8675, 7635, 33229, 4765, 17395, 22256, 60347, 16649, 23084, 19739, 48433, 40504, - 3208, 40921, 63982, 45174, 23696, 688, 12887, 3603, 28246, 7593, 43322, 61745, - 11342, 29008, 51004, 15627, 36299, 12852, 6301, 27901, 56818, 28378, 40325, 31964, - 33201, 8283, 29352, 56931, 58168, 58626, 12750, 1693, 56526, 37439, 3393, 7169, - 38011, 2024, 35868, 44922, 57706, 17629, 1927, 30471, 16307, 59197, 52511, 38939, - 52119, 6498, 55563, 36590, 63080, 43285, 21344, 29599, 58333, 36815, 30442, 16488, - 5865, 16310, 22214, 3197, 1994, 46368, 26181, 15751, 292, 37374, 7959, 43053, - 43706, 3804, 54377, 20680, 32790, 46929, 16913, 57654, 16611, 36697, 10334, 54145, - 34644, 36632, 52785, 10180, 26004, 16564, 15248, 6316, 6205, 21235, 7245, 10689, - 35183, 6528, 32510, 38225, 46675, 37667, 50383, 22314, 42619, 20975, 5100, 28320, - 9244, 8456, 16467, 42101, 52228, 20837, 65198, 18384, 2023, 18571, 7614, 42939, - 58425, 5177, 63253, 62529, 24436, 17040, 435, 23623, 21340, 34153, 17123, 18561, - 21853, 16579, 20498, 28322, 59997, 59146, 29827, 33000, 18576, 9772, 31481, 11536, - 36242, 42804, 26276, 40157, 42698, 12944, 46401, 57269, 34921, 58492, 43121, 58409, - 43764, 51536, 18534, 56921, 64238, 9140, 16751, 13987, 22539, 4143, 61909, 64012, - 1545, 7899, 64832, 3251, 49234, 63211, 47145, 14128, 55114, 26059, 4646, 54250, - 19494, 20415, 17706, 20466, 34349, 13833, 38218, 13018, 28319, 45422, 61053, 4983, - 35438, 42987, 57782, 23435, 63994, 49597, 19417, 32429, 56932, 21668, 26397, 62483, - 425, 41979, 3748, 41752, 1925, 24146, 14386, 63454, 2571, 38359, 60363, 9558, - 57512, 15444, 3022, 57386, 38406, 13766, 33526, 1004, 52004, 63668, 43171, 18294, - 40038, 43932, 37914, 45261, 22944, 3603, 56880, 4943, 32036, 17552, 22058, 24106, - 17075, 61325, 39999, 45555, 53765, 60978, 6921, 59977, 41619, 60973, 60245, 18330, - 54001, 40067, 16271, 61908, 53267, 10359, 63026, 42225, 31232, 28082, 16767, 34385, - 34457, 42076, 27634, 16656, 22750, 14799, 50248, 49235, 4043, 64542, 27166, 42198, - 20774, 52729, 48013, 41013, 45422, 31504, 45128, 16020, 20162, 33898, 52032, 49305, - 49790, 25177, 45504, 5590, 22672, 8392, 54615, 25499, 7724, 29949, 46898, 37758, - 46248, 46673, 34286, 9910, 14859, 4033, 64325, 16766, 30351, 20549, 58149, 41480, - 46831, 38411, 47717, 36604, 55904, 60964, 61372, 6153, 7, 51179, 43044, 60547, - 57477, 47628, 11910, 23577, 53559, 9283, 19886, 48454, 54199, 54701, 3286, 41565, - 38454, 17603, 26062, 58024, 15522, 58312, 39831, 24586, 59926, 49516, 21706, 42153, - 5540, 64830, 38577, 54671, 16607, 32804, 45601, 2312, 1769, 63576, 34619, 23153, - 55671, 3450, 6981, 35324, 4052, 35486, 16532, 62252, 41492, 10429, 64631, 61955, - 24238, 40810, 46168, 50191, 48746, 20982, 36322, 39661, 38201, 13902, 62589, 15644, - 1597, 8016, 20948, 32630, 7116, 40892, 55874, 17482, 18790, 30054, 3759, 58363, - 59346, 37782, 52308, 55784, 18670, 62067, 11374, 44003, 27072, 34676, 61532, 51383, - 3289, 7494, 28421, 16328, 59441, 43722, 32573, 47552, 31206, 13961, 59701, 31785, - 46488, 52510, 15541, 54445, 12747, 56879, 37276, 53177, 24919, 24322, 55996, 35239, - 20308, 38034, 47668, 30704, 2903, 41200, 34928, 32197, 45503, 14275, 25982, 39402, - 46211, 10299, - ])) - .unwrap(), - c: 159, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 35, b: 13234913345360785102, c: 172363296 }, - FixedTestStruct { a: 143, b: 15275530587653726896, c: 1598380581 }, - FixedTestStruct { a: 87, b: 11938384569861367173, c: 4135857227 }, - FixedTestStruct { a: 174, b: 2815096997284796480, c: 3314608453 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 61309, - b: List::::try_from(Vec::::from_iter([ - 6101, 25775, 3733, 46672, 48616, 25668, 59747, 37205, 60722, 47023, 15262, - 53619, 24589, 51541, 14230, 56659, 37929, 52476, 9436, 23768, 61651, 11002, - 11113, 23652, 28837, 46402, 48222, 37692, 22676, 47681, 62696, 6057, 13277, - 18819, 18034, 27652, 18360, 23490, 41594, 11574, 4644, 60947, 28531, 19304, - 18903, 52404, 8652, 36103, 61759, 8841, 51954, 30458, 23370, 50510, 52460, - 2919, 21203, 62480, 11693, 61840, 15044, 13144, 23298, 27578, 11400, 35760, - 10498, 17558, 27972, 9958, 44038, 7793, 61468, 43420, 19814, 33495, 8683, - 64391, 60163, 45374, 51934, 39630, 29711, 62043, 15550, 29818, 39152, 8075, - 63681, 35378, 17310, 49144, 39836, 32212, 37525, 3003, 3086, 28649, 26124, - 47198, 44647, 55203, 36586, 63172, 4780, 55953, 19499, 44062, 35712, 60565, - 35068, 23197, 24909, 13556, 2502, 26719, 54123, 11655, 8825, 26298, 33724, - 11153, 47187, 10731, 14067, 12914, 59297, 46848, 28674, 58531, 7589, 44146, - 55565, 17183, 3016, 60325, 837, 6518, 23866, 2514, 2719, 34416, 46727, 40113, - 52505, 46306, 57350, 7232, 65080, 28462, 35430, 56086, 44291, 48032, 40131, - 3440, 5846, 45642, 44602, 40407, 47046, 30387, 27211, 32955, 55269, 22245, - 10795, 5043, 37598, 4975, 22369, 23489, 49633, 56785, 11299, 58007, 56493, - 6855, 7084, 58084, 27102, 24899, 63424, 25800, 46243, 15144, 48060, 20000, - 7379, 35259, 61989, 20194, 41803, 59007, 48247, 7065, 10646, 41599, 58393, - 10050, 23459, 50541, 38902, 13378, 60735, 31461, 40617, 24902, 19441, 47698, - 51392, 39897, 19877, 38465, 22167, 56974, 42646, 52013, 59659, 31775, 64391, - 11835, 55150, 61661, 49227, 21634, 26656, 56465, 65202, 4049, 46575, 32503, - 56898, 689, 5469, 63418, 64096, 21223, 15890, 52426, 40652, 31684, 54047, - 29107, 19711, 58157, 24638, 27364, 7933, 9853, 21155, 35563, 50597, 30362, - 6890, 51785, 53965, 14563, 35295, 17174, 55105, 46077, 63507, 42763, 31369, - 8762, 64581, 19172, 51474, 20717, 57786, 9096, 29042, 54841, 48798, 55143, - 56743, 33164, 13989, 25509, 58981, 20853, 21778, 26005, 52876, 22627, 55027, - 37733, 20744, 58945, 62213, 23052, 54639, 6129, 50988, 57145, 51447, 22969, - 47273, 48897, 16962, 11028, 8106, 2891, 60396, 57229, 9064, 31469, 2591, 24817, - 60259, 64928, 22513, 625, 26886, 25764, 58261, 41026, 57810, 39521, 61285, - 61026, 42128, 43152, 16450, 32737, 25657, 2560, 40193, 17144, 4120, 54355, - 50871, 15492, 13070, 52287, 49836, 9657, 6505, 29156, 43743, 3522, 10611, - 64255, 6008, 46055, 26789, 36959, 32442, 6235, 19906, 37973, 56812, 9841, - 31861, 46749, 7627, 18867, 42436, 13433, 11022, 63536, 23238, 11233, 38202, - 13879, 29216, 6119, 63821, 62132, 32015, 12339, 41057, 43390, 32683, 5569, - 44573, 28138, 17649, 51768, 40247, 37972, 63291, 46940, 7657, 2400, 17498, - 23529, 27203, 2673, 39161, 6939, 33235, 8877, 44277, 47743, 8243, 62420, 41619, - 63808, 55063, 36170, 8122, 50009, 64887, 28710, 10198, 9556, 26240, 1835, - 44772, 32033, 10457, 2021, 1053, 62308, 642, 36767, 63676, 30961, 39187, 7748, - 3553, 8959, 39150, 17902, 45253, 31234, 24700, 11499, 24130, 14067, 1532, - 27967, 25496, 7458, 2619, 3714, 21336, 29363, 1624, 857, 6720, 57098, 52810, - 16421, 19807, 6039, 20422, 28223, 61824, 12870, 36232, 57898, 16126, 43049, - 59000, 32480, 33493, 36269, 37733, 62095, 59870, 56470, 41882, 60716, 12599, - 46080, - ])) - .unwrap(), - c: 3, - }, - VarTestStruct { - a: 34532, - b: List::::try_from(Vec::::from_iter([ - 45796, 18375, 37834, 2783, 2547, 23183, 37213, 4430, 2216, 28517, 6685, 9572, - 14339, 7840, 46610, 62005, 14231, 56026, 49029, 25365, 45017, 59892, 37635, - 37039, 5534, 32488, 36307, 20202, 14133, 38835, 41232, 43417, 50193, 61322, - 12497, 63946, 40186, 5409, 6597, 29495, 51569, 50776, 56488, 48943, 38415, - 30793, 60777, 49597, 33818, 22039, 22367, 9419, 43194, 556, 53740, 227, 34763, - 64976, 45771, 57206, 11303, 43770, 62989, 12619, 25054, 12198, 22037, 59265, - 56189, 12513, 22698, 40654, 56041, 41845, 63478, 62016, 50246, 51149, 9579, - 37949, 35223, 61704, 39497, 25753, 56055, 21150, 2548, 2226, 62713, 61281, - 4253, 63662, 52884, 60310, 377, 41170, 27307, 8545, 62008, 54420, 43051, 18340, - 9371, 20869, 8305, 57799, 59553, 53148, 8258, 37659, 33621, 63382, 42335, - 40163, 46424, 46243, 50852, 40396, 35123, 52333, 6167, 287, 64998, 61939, - 11339, 28726, 5251, 24746, 3192, 34887, 58919, 14305, 22516, 21983, 16053, - 52208, 31078, 49245, 4278, 37520, 11095, 60968, 47723, 31762, 22801, 1730, - 61360, 55701, 53998, 2241, 47691, 32901, 25085, 28305, 24029, 30555, 42918, - 64945, 44616, 28144, 33595, 41350, 41692, 30993, 4497, 50838, 3530, 48805, - 27173, 27712, 37570, 62305, 62316, 44712, 62793, 29394, 16491, 28390, 10408, - 14516, 25130, 65110, 14324, 15169, 44744, 46253, 7562, 45029, 316, 18792, 6675, - 38865, 10052, 36666, 40807, 3336, 25176, 56382, 39360, 22193, 47798, 63773, - 56176, 43762, 60444, 29203, 42920, 31031, 42960, 734, 10279, 29084, 63167, - 48335, 14468, 6904, 39217, 25254, 42026, 39024, 43077, 3253, 5909, 28959, - 52143, 39849, 30151, 28996, 48557, 24876, 54341, 58060, 49819, 2229, 59147, - 10436, 61764, 12145, 10176, 62235, 20188, 36701, 10774, 4552, 26705, 8406, - 46742, 1391, 24846, 33930, 56731, 28552, 59949, 64839, 30449, 4956, 5056, - 65013, 56177, 56052, 13256, 64421, 26667, 24891, 19374, 46271, 2746, 27946, - 21012, 19467, 16435, 7137, 62398, 50061, 3870, 27785, 171, 48103, 4629, 39017, - 48636, 46150, 44826, 53782, 61652, 14988, 54004, 23821, 64602, 61791, 43490, - 48957, 40252, 60539, 2530, 33509, 40557, 47585, 43780, 1834, 31083, 10151, - 54286, 24033, 28501, 22262, 19242, 54632, 17777, 34759, 12546, 19928, 61296, - 34569, 50440, 32506, 44229, 54793, 48774, 46966, 7241, 62272, 25104, 42472, - 51610, 15296, 22483, 31651, 1759, 51706, 50005, 2698, 41805, 32307, 51683, - 4805, 58759, 44512, 23034, 1429, 16509, 18365, 46197, 35862, 42220, 14834, - 10886, 34534, 47865, 47372, 45365, 17310, 56323, 6, 30602, 53341, 57603, 38787, - 45467, 31382, 17241, 8690, 29575, 54319, 39136, 58139, 3899, 51017, 52062, - 40422, 36738, 32920, 39190, 58054, 65026, 37016, 64298, 22094, 60177, 845, - 32645, 23084, 6448, 61671, 53586, 45336, 18107, 61191, 43493, 21989, 48665, - 46880, 45959, 6581, 26222, 20775, 51807, 818, 41555, 34348, 17275, 6841, 47144, - 43896, 23236, 25456, 44616, 59703, 41068, 11379, 44392, 50336, 11859, 42669, - 24047, 52984, 18849, 8877, 8302, 5689, 58346, 21274, 24696, 61887, 14159, - 46439, 35139, 57289, 12242, 12064, 4178, 63296, 35933, 10596, 48988, 1199, - 56617, 22335, 64255, 53441, 42364, 23662, 3098, 53507, 54208, 35064, 21739, - 20295, 22858, 41962, 29193, 37230, 43789, 10663, 27948, 47478, 62004, 28553, - 34909, 12686, 39782, 53788, 26674, 61096, 25235, 58177, 21025, 17613, 56304, - 40182, 15235, 4973, 34064, 4669, 6825, 53751, 35358, 36209, 37355, 39640, - 38754, 34402, 29436, 34612, 23886, 10436, 48569, 28894, 50118, 38832, 62722, - 32879, 33441, 888, 44111, 15312, 18232, 51122, 34096, 62233, 20445, 43928, - 17291, 46008, 20354, 64717, 18103, 60897, 64357, 554, 45709, 64630, 26749, - 50210, 43786, 54811, 15955, 53515, 11793, 29758, 37700, 31728, 24881, 30698, - 581, 23336, 23207, 18859, 11761, 59544, 41643, 43820, 31524, 62873, 42794, - 52162, 7006, 49091, 52896, 24037, 15770, 7876, 10000, 62193, 23699, 47752, - 22825, 55255, 32138, 38357, 37743, 33771, 45651, 52988, 33575, 2880, 36046, - 41461, 8806, 27885, 28629, 19862, 38098, 33447, 20, 9564, 3345, 27856, 62546, - 5801, 1182, 48799, 56772, 34700, 63084, 29108, 2338, 38017, 13752, 52727, - 60959, 6915, 47186, 16535, 53223, 61297, 64167, 7103, 13071, 57525, 5815, - 17031, 3467, 45601, 57726, 47281, 24225, 40594, 50673, 4837, 36578, 47507, - 6271, 45344, 21430, 23186, 54985, 9546, 59568, 19721, 62488, 17246, 18336, - 2932, 43077, 9573, 20550, 10186, 45299, 38415, 11154, 25431, 2224, 7952, 34040, - 9661, 33383, 1011, 53102, 34504, 17596, 20500, 61731, 15480, 38020, 11293, - 13132, 9733, 20343, 23111, 38910, 10912, 23775, 51763, 15820, 53023, 15054, - 6614, 34479, 61444, 17471, 8416, 50288, 17795, 48290, 26408, 23071, 7673, - 51868, 6919, 13493, 50846, 61423, 3022, 4267, 2318, 58447, 20104, 47029, 47130, - 18948, 33554, 51913, 48287, 16235, 25618, 22268, 11310, 51214, 7566, 24288, - 19481, 61627, 30623, 44372, 35744, 60201, 1603, 39373, 43735, 50183, 63915, - 28188, 29454, 43387, 20397, 16759, 14539, 6184, 1018, 2334, 41552, 63924, - 44028, 57577, 60663, 48790, 4721, 19935, 49753, 2823, 51430, 30779, 55295, - 35820, 36457, 54220, 38345, 49902, 24291, 16128, 65240, 15017, 2238, 62226, - 37171, 9869, 59963, 37788, 43747, 60871, 30196, 48022, 34800, 45626, 17874, - 52700, 27023, 25737, 5972, 39448, 63979, 18675, 13631, 40688, 64367, 19842, - 42761, 22227, 60207, 39866, 3442, 59616, 46666, 11948, 45279, 20839, 24310, - 36553, 18628, 32331, 64683, 63900, 18663, 4406, 22521, 23809, 41824, 57718, - 18566, 18581, 7917, 50562, 23865, 57352, 61204, 5438, 13668, 42052, 39805, - 25256, 25471, 43890, 46357, 2497, - ])) - .unwrap(), - c: 87, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("c44655c114a8ebcf54bbb672b379a0eb3b8091237000cb806c9e3c664bffe2c5"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_one_0() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true]), - b: Bitvector::<2>::from_iter([true, false]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true]), - e: Bitvector::<8>::from_iter([false, true, true, false, true, false, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_one_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("1542a289ee369034f9a2bc8b879978a66b396b90cfbcff05168d7acdb3ea78c7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_random_chaos_2() { - let mut value = ComplexTestStruct { - a: 38946, - b: List::::try_from(Vec::::from_iter([ - 5471, 27102, 57450, 14239, 40850, 28804, 29251, 64229, 2817, 698, 12066, 31923, 8627, - 46696, 45162, 20487, 26658, 9609, 30585, 34251, 1327, 43070, 64396, 53909, 458, 40421, - 42105, 41328, 38697, 1374, 64232, 64691, 62808, 17976, 53874, 61537, 15907, 42772, - 58056, 61290, 30753, 11997, 32240, 35573, 523, 58558, 9488, 19648, 49356, 13503, 41572, - 5291, 46694, 18537, 24217, 55537, 34818, 14214, 52245, 20089, - ])) - .unwrap(), - c: 19, - d: List::::try_from(Vec::::from_iter([ - 232, 30, 111, 0, 23, 237, 114, 162, 9, 235, 232, 180, 148, 118, 35, 147, 142, 238, 230, - 156, 255, 204, 127, 12, 221, 208, 18, 64, 118, 234, 211, 34, 86, 11, 4, 180, 217, 132, - 95, 149, 28, 249, 15, 9, 250, 110, 164, 184, 160, 36, 57, 12, 19, 24, 139, 194, 160, - 109, 156, 247, 95, 237, 109, 211, 9, 87, 18, 214, 86, 26, 80, 134, 207, 34, 192, 74, - 12, 143, 43, 141, 154, 104, 197, 209, 206, 66, 4, 70, 16, 190, 155, 34, 178, 134, 28, - 212, 211, 161, 125, 221, 195, 89, 97, 8, 48, 106, 190, 202, 190, - ])) - .unwrap(), - e: VarTestStruct { - a: 41206, - b: List::::try_from(Vec::::from_iter([ - 38917, 43774, 38559, 38822, 50501, 34597, 19855, 23072, 14435, 33924, 7401, 4825, - 30064, 2249, 14300, 5634, 61411, 21535, 45447, 65111, 51794, 54294, 11954, 521, - 33149, 41959, 58815, 60732, 13060, 32016, 27542, 32726, 62219, 7113, 43818, 8180, - 58547, 29689, 13656, 2705, 61030, 43613, 51475, 56830, 3954, 35527, 27835, 58907, - 9584, 40816, 65058, 53223, 27346, 51756, 37323, 9645, 28525, 23973, 17596, 46371, - 42743, 23765, 35775, 23725, 8966, 58476, 9215, 16391, 17257, 64861, 2628, 16202, - 22869, 44322, 58192, 42671, 49395, 16050, 14801, 25682, 63949, 2898, 29059, 3450, - 60756, 24032, 23356, 45771, 869, 6203, 39521, 28192, 23493, 45118, 47074, 58746, - 22150, 50329, 43202, 18371, 49297, 63860, 44745, 31131, 21100, 55372, 22881, 26972, - 55494, 11192, 32695, 17773, 37190, 38006, 781, 18248, 15905, 33626, 61383, 35394, - 51218, 31372, 2439, 32229, 6278, 26983, 13978, 35737, 56317, 50329, 33325, 3122, - 40882, 62197, 22635, 17845, 30168, 44278, 49784, 57542, 54176, 13316, 43007, 63245, - 10824, 49640, 50495, 36115, 60655, 11039, 18879, 59080, 41747, 47926, 15000, 64884, - 62864, 27986, 4917, 59531, 7465, 21435, 43, 27262, 51058, 8788, 48329, 10090, - 58015, 56030, 57239, 6245, 10615, 143, 34311, 11281, 18352, 152, 54221, 3987, - 19183, 46145, 59264, 29443, 32202, 5947, 5443, 8909, 28022, 63743, 10668, 60739, - 14533, 31871, 22029, 49332, 62812, 20917, 43810, 17372, 15526, 48388, 23144, 13711, - 40790, 51387, 60411, 63038, 48660, 27050, 55777, 28593, 45019, 6074, 21433, 10257, - 17804, 4842, 56494, 25660, 46301, 10365, 19003, 53706, 2165, 23718, 38577, 39791, - 52570, 48178, 64438, 54362, 19988, 38343, 15376, 23105, 983, 44621, 40452, 63081, - 9959, 50448, 4145, 52587, 59052, 6088, 65292, 60185, 20052, 44118, 9748, 15779, - 1765, 21188, 9430, 28527, 50525, 24557, 43404, 41168, 31153, 24875, 5594, 28984, - 4465, 9999, 48399, 48441, 38957, 7452, 56282, 1934, 43469, 59140, 26798, 56848, - 54391, 21009, 49171, 40128, 4466, 5013, 4282, 9355, 39488, 52680, 61685, 58911, - 27385, 37935, 61272, 49908, 8749, 4604, 18348, 7448, 45770, 29231, 20248, 2210, - 11529, 40380, 50412, 18109, 21000, 61587, 57791, 34100, 61720, 14550, 61375, 26716, - 25658, 42477, 6222, 61297, 50324, 40262, 7606, 6290, 32195, 28638, 11935, 41914, - 40809, 55164, 25353, 49954, 9807, 12244, 15097, 62087, 39388, 6355, 47420, 7566, - 56057, 49238, 14737, 36442, 48155, 57518, 63191, 25589, 33852, 46017, 57260, 48771, - 35039, 20136, 3671, 38230, 40508, 53972, 34396, 3033, 21862, 24145, 32479, 22911, - 25842, 38158, 54146, 2776, 39681, 61546, 41221, 5011, 6394, 56998, 42877, 53615, - 27157, 28848, 20009, 61556, 27988, 44277, 57719, 34396, 26429, 32945, 42464, 25956, - 62649, 45461, 55102, 59697, 62670, 59172, 14786, 58950, 20171, 1057, 37935, 19530, - 21109, 22243, 7482, 20469, 9970, 25902, 42395, 8743, 55772, 35528, 2326, 1859, - 59130, 42304, 60807, 14184, 1267, 35620, 7748, 25619, 10385, 10989, 24594, 4693, - 64475, 48253, 11534, 60744, 43291, 62230, 65502, 27181, 31997, 16934, 55882, 44858, - 8372, 63603, 31364, 27282, 42991, 35984, 30183, 20650, 41066, 47355, 51951, 16848, - 62122, 42744, 41585, 16942, 43377, 20856, 18694, 23907, 37953, 35856, 31037, 15748, - 28208, 21520, 48447, 33080, 40178, 42973, 41617, 24909, 56187, 392, 13155, 44233, - 45802, 63936, 57243, 42453, 16377, 31140, 51590, 11141, 16667, 47826, 58779, 51244, - 20699, 35202, 32246, 28921, 17369, 33032, 31063, 9568, 44849, 1311, 23124, 472, - 35834, 11322, 8902, 26137, 63396, 64598, 44549, 29418, 48388, 29027, 12818, 40904, - 56816, 11868, 32629, 29459, 50779, 27706, 58473, 2955, 20098, 22243, 28670, 49805, - 5081, 22117, 8350, 60055, 47281, 37562, 54748, 58881, 50297, 25767, 51006, 3169, - 21092, 3417, 41301, 40026, 38949, 11398, 8010, 24862, 49266, 12377, 57112, 15391, - 18299, 33685, 36838, 41339, 23327, 22682, 3441, 45058, 15711, 12647, 34735, 55741, - 25140, 23751, 8944, 44679, 39171, 48351, 44085, 37813, 16167, 26821, 23654, 56932, - 51609, 64743, 13824, 18868, 46246, 20461, 61404, 49451, 17923, 24494, 30616, 6657, - 22205, 60250, 30931, 13459, 33590, 32087, 58546, 28238, 51702, 24234, 51892, 11958, - 14255, 38912, 59705, 47624, 54577, 48223, 43956, 32055, 58016, 25908, 57852, 8931, - 6290, 63949, 64466, 16049, 7756, 27274, 12887, 37376, 21310, 47565, 54834, 62792, - 49104, 40280, 60903, 63983, 39815, 27609, 9759, 35583, 5553, 32470, 16252, 26701, - 4592, 22002, 9234, 2477, 38507, 57312, 32552, 24116, 32314, 28271, 46492, 38029, - 51183, 60798, 21437, 48852, 14101, 11901, 42307, 6842, 37425, 62394, 51423, 13673, - 20486, 3659, 32098, 63167, 59225, 21637, 33444, 34322, 8267, 20452, 3314, - ])) - .unwrap(), - c: 114, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 249, b: 4107181588698988535, c: 2407634107 }, - FixedTestStruct { a: 106, b: 18323237399640037470, c: 1699273180 }, - FixedTestStruct { a: 23, b: 3936185887010202334, c: 892696758 }, - FixedTestStruct { a: 136, b: 351826920636170295, c: 3961519671 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 55095, - b: List::::try_from(Vec::::from_iter([ - 12824, 37147, 20776, 9838, 30702, 26363, 53923, 12254, 26244, 39805, 30481, - 48303, 31045, 49481, 65263, 45286, 45319, 44074, 20758, 12542, 9423, 51600, - 29493, 13156, 29556, 47905, 27566, 56758, 42483, 29799, 11737, 59600, 35788, - 33629, 46098, 42830, 26727, 26295, 42353, 17462, 64187, 36623, 34323, 29974, - 6677, 48943, 60803, 63543, 24735, 27439, 7744, 50536, 6985, 10999, 29008, - 53803, 26760, 65535, 26346, 51565, 23105, 59016, 15291, 19928, 41125, 25932, - 11501, 60495, 49720, 40527, 37131, 52402, 18647, 29767, 20242, 52106, 29541, - 39733, 56977, 39719, 40192, 6599, 42959, 62415, 20379, 5536, 42176, 26657, - 48935, 28529, 15560, 54443, 54965, 59505, 50340, 51504, 6594, 46283, 55134, - 41413, 35577, 23452, 50471, 39753, 60901, 42658, 52881, 55662, 17251, 26506, - 50089, 38721, 29254, 4193, 26877, 18116, 16514, 23089, 50072, 33386, 13532, - 24169, 48965, 54057, 3044, 26949, 45527, 25214, 6386, 809, 913, 60299, 54301, - 19923, 2524, 53044, 13359, 33429, 20256, 8594, 46446, 15918, 30530, 11318, - 43633, 45556, 57775, 42976, - ])) - .unwrap(), - c: 34, - }, - VarTestStruct { - a: 36056, - b: List::::try_from(Vec::::from_iter([ - 63443, 953, 61737, 53195, 19552, 12277, 49695, 10490, 61265, 4699, 19174, - 58223, 35909, 23830, 38240, 24693, 21556, 28113, 55300, 44141, 22697, 60601, - 43258, 21075, 30469, 6417, 21447, 59691, 8827, 40374, 28331, 57423, 51412, - 21639, 49521, 48990, 48607, 54943, 31490, 50477, 50405, 34046, 51668, 7471, - 25523, 17449, 53308, 23182, 15293, 56485, 27508, 56093, 1170, 53289, 30201, - 13836, 53910, 53979, 20463, 44633, 38314, 49085, 1830, 29589, 65322, 29362, - 10412, 41065, 55813, 29800, 56445, 22331, 34661, 48588, 50048, 42554, 5616, - 19552, 32911, 48337, 6584, 1276, 7580, 56607, 32677, 50035, 21878, 10121, - 56487, - ])) - .unwrap(), - c: 86, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("da1d555dbd61054d6102286c29ac6076cac1b835620a76dba49c92812cebd1ef"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_max_3() { - let mut value = VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_max_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("fee37a3f786fcd9d92d4b79fb1b8582694fde17505f381d69c0b0442ab8a9646"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_nil_chaos_2() { - let mut value = VarTestStruct { - a: 57138, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 18, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("df3efa5ecdee8b78e276a4019413bb50ce5d8fd8cd1d9907584659732db872c1"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_zero_6() { - let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_max_4() { - let mut value = VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, - ])) - .unwrap(), - c: 255, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_max_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f43b89ecb1afcea42daf293bdd44f386565d4798ab5dc989b91ccc5964714e36"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_lengthy_chaos_2() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, false, false, true, true]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([false, true, true, false, false, false]), - e: Bitvector::<8>::from_iter([true, false, true, true, false, true, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("15e8b95c167c4d5af197499b0109debf87516cab159f1a211fd4f4bdace7d05d"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_zero_1() { - let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_one_chaos_0() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false]), - b: Bitvector::<2>::from_iter([false, true]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false]), - e: Bitvector::<8>::from_iter([true, true, true, true, false, true, false, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_one_chaos_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("63c94f1066c71e7fa926100c20d180831c6db761bb9e8500073cb3cccfb180fb"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_one_9() { - let mut value = VarTestStruct { - a: 34750, - b: List::::try_from(Vec::::from_iter([11259])).unwrap(), - c: 43, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_one_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("585294982a9f2210cc413c2c211b1564eec730eaf550a08db0d3a6c0308083f4"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_zero_8() { - let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_one_0() { - let mut value = VarTestStruct { - a: 61255, - b: List::::try_from(Vec::::from_iter([17467])).unwrap(), - c: 65, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_one_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("263402ff6691e913333141841d14b9a4d4f7b1b08d83f07d57a4638babfcb6ce"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_lengthy_5() { - let mut value = VarTestStruct { - a: 15159, - b: List::::try_from(Vec::::from_iter([ - 40266, 41646, 61275, 56828, 55784, 13765, 5796, 17724, 49215, 57779, 48446, 61955, - 31367, 42786, 50032, 49065, 62786, 42186, 205, 17247, 50820, 37658, 24377, 10169, - 41075, 53746, 8356, 25932, 45622, 27068, 52763, 3905, 15862, 28126, 20621, 13913, 3287, - 32731, 64049, 38140, 4633, 59798, 46915, 50652, 56348, 14212, 31268, 28124, 30184, - 42573, 50609, 38750, 56173, 55013, 29426, 30317, 27321, 30176, 53921, 30516, 50391, - 64286, 4002, 26549, 37697, 64128, 62791, 47733, 6758, 23354, 35398, 39783, 5603, 31593, - 29931, 62807, 39525, 22960, 31611, 60076, 61069, 33118, 51633, 36681, 35201, 63131, - 57976, 53980, 26862, 5526, 27693, 59949, 28315, 40673, 21657, 37447, 7173, 6273, 60144, - 46334, 51675, 21959, 14083, 63322, 19817, 11565, 64397, 44620, 33698, 17540, 54907, - 18417, 46083, 57982, 15207, 19947, 39484, 38645, 20556, 47523, 35769, 60442, 16245, - 7136, 36210, 64424, 59417, 7065, 25400, 17770, 12639, 53513, 26893, 24945, 20458, - 44064, 32684, 33195, 34288, 54811, 64545, 26163, 1606, 34438, 61765, 27354, 49031, - 43873, 27699, 55178, 20057, 26741, 56039, 48720, 42869, 11207, 18823, 35744, 16640, - 51189, 56213, 39393, 11279, 57428, 25401, 51327, 12373, 46056, 39658, 22790, 16024, - 27028, 6877, 8169, 26767, 23285, 24104, 40186, 18733, 6293, 30884, 49327, 63942, 44730, - 59946, 567, 4896, 3305, 61423, 16351, 57417, 16923, 61467, 4028, 50748, 25219, 2858, - 23941, 16045, 6325, 39192, 52108, 20202, 23170, 28164, 32713, 8566, 65058, 17592, - 31227, 9495, 58572, 59169, 64539, 18195, 25848, 62999, 2567, 625, 27932, 38439, 63734, - 18357, 16889, 10120, 58645, 45807, 28477, 24032, 61881, 28697, 15837, 40711, 62441, - 43212, 36747, 47247, 48702, 5004, 50713, 58757, 327, 32023, 18047, 44629, 56156, 49809, - 27253, 8667, 43371, 22270, 49207, 57148, 55652, 12853, 57297, 4882, 5033, 15717, 20909, - 51369, 1660, 28602, 58525, 64722, 33487, 10225, 41969, 15432, 39244, 6650, 11309, - 50468, 39975, 47851, 28207, 21584, 32420, 12698, 49458, 57098, 64727, 23627, 25878, - 61213, 34397, 27200, 58343, 26552, 19799, 59954, 61221, 47544, 35901, 35508, 52836, - 1719, 31754, 34244, 52550, 16561, 58801, 25853, 43681, 39390, 12185, 9972, 47546, 1829, - 5990, 64073, 18298, 9266, 12496, 4894, 41007, 6298, 60698, 4441, 23191, 20980, 44225, - 26750, 26529, 44543, 60132, 53479, 24363, 10817, 6294, 33523, 21955, 35783, 814, 30126, - 41274, 13287, 20372, 38718, 43249, 10103, 41521, 41728, 15359, 23356, 13482, 47949, - 60925, 19649, 50587, 2028, 16188, 47406, 32411, 18392, 50087, 23556, 28540, 46938, - 34260, 24645, 1090, 17582, 12425, 40898, 18533, 57465, 9365, 16851, 36173, 49601, - 57394, 9303, 1450, 11421, 34731, 36704, 36258, 58268, 51543, 60559, 10002, 18373, - 38304, 63147, 46545, 11631, 36682, 65507, 61565, 13008, 37688, 35285, 10122, 16840, - 44192, 52338, 24551, 10878, 38335, 1428, 8548, 41925, 37327, 32416, 57973, 14418, - 65315, 54073, 7303, 35650, 38067, 26344, 33488, 6148, 58584, 11080, 36753, 48068, - 60853, 823, 28807, 24356, 42206, 36600, 60392, 34488, 18009, 9267, 4261, 30247, 1832, - 49902, 55776, 25964, 63822, 39898, 54359, 37226, 6056, 51461, 42397, 51733, 8952, 1902, - 28244, 5940, 55887, 21082, 57457, 54552, 46612, 30577, 49304, 29271, 52470, 24464, - 9714, 63341, 24988, 64426, 58887, 62248, 41551, 56777, 54860, 28940, 55726, 6549, - 22294, 55725, 30601, 42710, 14039, 52355, 7119, 42975, 36398, 1930, 23194, 44716, - 38544, 2894, 21186, 42457, 54454, 55759, 64726, 1852, 23267, 9989, 28219, 217, 39404, - 62326, 36654, 45520, 58659, 22569, 31612, 25724, 52933, 54063, 33087, 41451, 18482, - 56623, 6304, 65297, 62609, 53445, 20788, 41257, 22370, 45448, 65004, 37023, 6513, - 35082, 34973, 11324, 23313, 11166, 61355, 31282, 23348, 3442, 41310, 14410, 2014, - 22002, 61242, 60764, 50457, 28559, 36741, 53740, 61396, 19742, 20263, 59788, 45465, - 5999, 58492, 34682, 60825, 55849, 53614, 48937, 54765, 14165, 20739, 49363, 2825, - 36502, 9126, 61867, 63656, 55683, 33646, 55788, 1976, 48822, 27901, 36850, 36062, - 13705, 42944, 4739, 19406, 42522, 14031, 9424, 62422, 20085, 31389, 4691, 1664, 17488, - 59411, 51719, 53248, 53066, 11988, 11526, 839, 13086, 64255, 41602, 41621, 6730, 35219, - 45484, 21924, 35220, 8997, 54406, 1963, 18713, 1689, 48031, 64652, 2562, 56373, 45801, - 6715, 61166, 9535, 15176, 35880, 60603, 53642, 30585, 58224, 57970, 23717, 52159, - 55203, 64886, 43811, 21809, 60137, 52074, 2427, 41056, 52065, 48321, 61357, 31128, - 63474, 19282, 42205, 64338, 52686, 48111, 12309, 33128, 56312, 25846, 23180, 62647, - 1918, 47884, 43671, 32982, 720, 52850, 21660, 60389, 44679, 60224, 6524, 30144, 35778, - 58718, 39114, 2284, 26229, 683, 5325, 17429, 56506, 59126, 8096, 60346, 24052, 56057, - 12781, 18297, 61239, 17808, 29364, 43074, 14597, 61708, 56273, 46909, 49018, 36433, - 1378, 4165, 1576, 12138, 34945, 55039, 55036, 22472, 38716, 13039, 58305, 12691, 31453, - 31231, 26723, 43467, 34003, 48679, 18972, 41114, 28527, 46927, 55097, 4018, 37957, - 16218, 52456, 10564, 54694, 32175, 45058, 26121, 34762, 13729, 21576, 41371, 31687, - 2777, 6054, 21893, 1826, 7885, 11857, 30076, 17308, 22458, 41625, 42706, 20125, 42911, - 31021, 2016, 7295, 15907, 59269, 14430, 27729, 41255, 56802, 40413, 52836, 40571, - 19781, 19511, 39353, 2203, 20540, 50713, 28025, 11288, 23858, 30906, 14831, 51241, - 38482, 29467, 40739, 22915, 28559, 62212, 15451, 1785, 36094, 12095, 55418, 58100, - 14415, 42213, 3993, 27868, 25731, 53728, 53814, 56621, 9064, 11021, 55263, 6028, 48344, - 5647, 44402, 6470, 60431, 41746, 22183, 13371, 14935, 7984, 59835, 35098, 9046, 18696, - 60865, 11445, 32353, 37537, 42674, 39469, 56849, 36301, 64063, 34090, 45803, 45644, - 32168, 8650, 42425, 2885, 55870, 53898, 8613, 45166, 12328, 43003, 7596, 16808, 52606, - 33787, 8079, 5887, 34729, 8977, 4941, 64214, 12625, 23713, 35509, 35288, 27855, 61603, - 23221, 24087, 2651, 47664, 14691, 45924, 28964, 7892, 4004, 56152, 64321, 11425, 55781, - 24967, 27437, 60968, 28528, 802, 40192, 50137, 923, 30539, 5466, 35683, 31453, 53346, - 25938, 61027, 60517, 31683, 41838, 21897, 46743, 32110, 11414, 26229, 51251, 3953, - 19554, 56673, 7711, 52659, 54031, 49501, 34924, 3052, 41045, 55152, 38717, 50952, - 27832, 6652, 16988, 32005, 35892, 31525, 63326, 62447, 43759, 6586, 2966, 48284, 39202, - 11599, 18244, 61583, 64894, 8393, 52087, 56738, 63364, 33619, 30876, 37388, 38748, - 26641, 16052, 64964, 4936, 4889, 31626, 61209, 5332, 4895, 15946, 47219, 43451, 60011, - 46921, 42616, 6807, 44286, 53386, 15090, 3790, 9451, 42557, 21237, 58854, 17340, 39880, - 5134, 51854, 42730, 10774, 33289, 61764, 52806, 36261, 64602, 45571, 59385, 59626, - 35994, 17746, 16175, 24702, 17890, 23900, 28308, 6044, 36617, 51900, 58907, 28840, - 39632, 10362, 1773, 55690, 21503, 29648, 33760, 47045, 16792, 15348, 41911, 65046, - 27133, 58266, 50916, 22440, 11367, 61567, 51332, 20347, 30981, 21759, 20725, 30837, - 56781, 37830, 31915, 48263, 14330, 2594, 57138, 51927, 51244, 27232, 3128, 44021, - 51173, 7697, 32119, 17398, 32775, 21509, 46252, 27407, 62467, 45228, 49480, 61986, - 38413, 5459, 2861, 42474, 48881, 28027, 20981, 59394, 60034, 58475, 53265, 22845, - 44462, 9073, 51844, 46219, 37527, 28131, 15546, 38281, 14527, 5713, - ])) - .unwrap(), - c: 136, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("c1155932fbf4dfa2b35cb98acc09f52cde342511a72a66655dd4d71c748efaf8"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_nil_3() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([true, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([true, false, false, true, true, true, true, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_nil_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("4c2527b09791d6a951c4dc5a5a2a7c441856d5473dcac3cb138b04a891f599e2"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_lengthy_2() { - let mut value = VarTestStruct { - a: 6378, - b: List::::try_from(Vec::::from_iter([ - 56213, 56690, 5490, 50070, 64104, 50125, 17654, 6411, 61997, 28536, 45501, 33550, - 17405, 30649, 13300, 14528, 41192, 51965, 17404, 60982, 27197, 54125, 891, 29291, 4026, - 64060, 30878, 37389, 2818, 38130, 54714, 49140, 31623, 12673, 35472, 4012, 23691, - 44257, 15127, 7003, 9921, 59134, 3361, 37492, 46003, 533, 59373, 6187, 44573, 48111, - 61171, 3927, 54079, 12224, 40227, 59644, 18652, 34944, 44207, 55057, 27540, 17904, - 39424, 46910, 20815, 6330, 32172, 10904, 27684, 43829, 26441, 19196, 49116, 23580, - 8417, 63413, 8632, 36484, 61727, 24337, 52098, 45525, 48734, 8087, 25227, 24952, 60172, - 20489, 45524, 6155, 61837, 11859, 63895, 43556, 7585, 29924, 64302, 47897, 48852, - 56300, 22224, 10597, 57398, 49891, 33097, 5904, 26806, 6944, 30491, 17359, 17939, - 29460, 62085, 6539, 30209, 38401, 18968, 36704, 40001, 58447, 50270, 30679, 911, 60064, - 56770, 57687, 4741, 52537, 29645, 23002, 49040, 18468, 58066, 50512, 5886, 15505, - 42753, 11000, 59827, 40304, 49478, 62576, 24582, 36409, 38539, 9545, 21585, 53048, - 46585, 59128, 46710, 30126, 17367, 29162, 15679, 22249, 22546, 16182, 19513, 18682, - 59188, 24875, 10383, 1234, 6515, 4304, 58536, 44436, 60819, 55550, 61079, 53822, 18983, - 18896, 63873, 59599, 1235, 3018, 3987, 5370, 33022, 15950, 19533, 1721, 12416, 47618, - 41631, 41237, 28989, 56678, 28356, 19395, 57226, 45502, 59124, 23664, 27634, 35706, - 33915, 5924, 34244, 29604, 45893, 35512, 26574, 19766, 28385, 48108, 18087, 51932, - 26116, 47251, 38527, 30222, 43941, 19930, 50261, 46553, 59063, 40994, 15857, 56362, - 35908, 65177, 1035, 10334, 23318, 60257, 6546, 44603, 29092, 17553, 18581, 52255, - 64079, 13799, 56127, 58824, 32240, 26519, 17472, 40291, 14017, 26712, 31706, 1498, - 51383, 50896, 51354, 27156, 18490, 60346, 18593, 18881, 18741, 49251, 25622, 9718, - 58417, 45173, 51310, 61531, 64722, 7094, 30197, 40396, 35631, 61283, 29654, 45535, - 23902, 30598, 9970, 44354, 16946, 62686, 65110, 52174, 23433, 64107, 47176, 63584, - 35585, 15472, 5148, 4424, 24503, 22180, 28446, 52501, 29142, 36414, 51160, 48586, 5766, - 43971, 44634, 39855, 20297, 54455, 17995, 20761, 31464, 44231, 17891, 57603, 26332, - 47871, 36307, 48537, 42247, 916, 31939, 64461, 23668, 20397, 27954, 33666, 32545, - 28403, 314, 28446, 33962, 12817, 24764, 41250, 1217, 41522, 48036, 40577, 18544, 12995, - 16521, 59386, 17613, 19877, 43443, 50891, 31281, 29065, 21805, 63326, 10933, 36080, - 46469, 19587, 59395, 18320, 36997, 56079, 53301, 53776, 6863, 55275, 50765, 17305, - 34213, 51951, 14220, 41708, 24872, 47278, 64644, 42201, 39659, 63923, 57317, 19217, - 7205, 2669, 48342, 51903, 23325, 6618, 36489, 38246, 36686, 32461, 25775, 39783, 40256, - 21072, 21643, 62327, 58801, 52908, 36463, 22419, 36885, 14882, 40229, 8489, 6626, - 27723, 916, 45860, 23435, 23242, 43134, 25348, 19905, 18792, 33382, 18226, 53901, - 56490, 50464, 61880, 26601, 33436, 23972, 29332, 17761, 13596, 8346, 27867, 57762, - 6487, 5164, 30669, 49385, 36829, 6052, 2983, 59937, 40413, 48055, 5005, 64750, 30683, - 24195, 28954, 55842, 45130, 6613, 7661, 51429, 52102, 53711, 1534, 27869, 38164, 38469, - 3501, 29190, 57523, 15976, 23650, 34310, 28938, 28490, 46058, 20728, 49569, 52781, - 2263, 47277, 33251, 23620, 18727, 46410, 43332, 49060, 57302, 19180, 62007, 13476, - 24446, 29821, 47456, 17107, 63922, 48616, 28313, 57603, 56836, 12994, 40252, 37663, - 60847, 13190, 7953, 21467, 62514, 43444, 10018, 37838, 3473, 879, 23657, 59372, 24023, - 63455, 35378, 32761, 23690, 1281, 40517, 31178, 53835, 21115, 17994, 38655, 36010, - 43698, 42350, 56142, 12263, 40819, 10377, 55969, 49743, 49581, 61416, 48318, 36625, - 40034, 58589, 33135, 24630, 60840, 22381, 8971, 57488, 58984, 23117, 21338, 48875, - 10706, 16938, 48527, 46735, 45623, 51379, 17461, 43380, 62950, 10343, 23231, 31204, - 49074, 10899, 63867, 16638, 41718, 9629, 64242, 63955, 53544, 34682, 15526, 25620, - 39558, 53827, 26170, 711, 26461, 18868, 8338, 10873, 30987, 14510, 9769, 5087, 31384, - 29197, 4132, 57137, 10241, 62862, 47525, 755, 60182, 43238, 10344, 11225, 47119, 18784, - 1638, 45502, 32275, 14356, 63427, 42758, 24544, 30894, 14276, 50201, 56292, 39408, - 1498, 46856, 516, 29377, 25531, 43021, 64920, 30019, 34869, 61749, 62033, 17469, 27949, - 62966, 41220, 65037, 23504, 45516, 57547, 16717, 24198, 29283, 8884, 62621, 3860, - 19091, 15855, 38983, 57074, 20058, 5856, 65056, 62143, 18576, 11391, 59878, 24269, - 17669, 25259, 8468, 41730, 21483, 64015, 6373, 25019, 53269, 18973, 40840, 9583, 2649, - 841, 5068, 41928, 32078, 56191, 50434, 55626, 57951, 19260, 37211, 24479, 39731, 53369, - 8479, 60265, 35413, 53118, 13209, 31132, 24585, 808, 29774, 47757, 31849, 1585, 10441, - 25565, 57828, 13586, 31259, 37059, 64605, 22548, 23742, 43016, 54382, 20064, 15444, - 11306, 5699, 29994, 44387, 60028, 54857, 63979, 42457, 3607, 54872, 44551, 2385, 57022, - 52973, 65376, 12748, 42932, 22828, 50592, 23926, 2341, 47803, 11509, 5111, 55500, - 51645, 63861, 2668, 11548, 29883, 58149, 40166, 2193, 52824, 34882, 37249, 30557, - 64680, 42628, 46885, 8840, 17838, 59335, 37036, 7203, 50643, 340, 36113, 18966, 37689, - 47601, 55203, 23079, 64072, 64965, 47483, 39619, 20526, 15520, 48171, 46887, 41987, - 27322, 56677, 58814, 12813, 20499, 20988, 54754, 26252, 33450, 21117, 42892, 22453, - 14678, 48476, 53340, 36438, 44926, 2765, 5292, 54278, 2365, 47397, 51706, 8521, 2955, - 26381, 10240, 46374, 35385, 63226, 10718, 10184, 47615, 31534, 31102, 8947, 56566, - 45771, 29423, 5201, 10380, 27094, 10908, 50251, 4515, 64727, 61484, 26699, 44500, - 51169, 21347, 6324, 23049, 54660, 19877, 63898, 12550, 7801, 44396, 51651, 59938, - 40896, 49652, 22958, 20328, 50463, 20778, 61526, 492, 38905, 40124, 56110, 50710, - 37900, 14967, 49633, 36052, 2922, 32298, 44884, 38711, 64259, 43410, 60047, 32736, - 35176, 50514, 40000, 59754, 79, 13811, 46856, 40468, 11593, 43206, 53766, 46286, 21254, - 1028, 55528, 9153, 48331, 23094, 59826, 44199, 16351, 14987, 56860, 9643, 19996, 31437, - 38431, 32187, 22621, 2384, 28058, 1779, 60095, 46511, 58290, 38711, 42379, 49788, - 52918, 23405, 21794, 10169, 31634, 56761, 64534, 6488, 34581, 11348, 22963, 11391, - 58333, 14709, 8707, 50621, 28106, 39682, 14515, 2145, 52433, 23705, 30255, 18846, - 51493, 54189, 65404, 19446, 50743, 29933, 24975, 556, 31258, 28964, 2730, 50624, 5634, - 48038, 29965, 36247, 8272, 48400, 34074, 48962, 26709, 52827, 60618, 33499, 5976, - 11419, 21782, 38640, 22223, 64887, 28193, 34856, 41569, 17444, 44444, 30139, 37310, - 62485, 21992, 25391, 8215, 16392, 15120, 51019, 51050, 5778, 255, 20528, 24982, 16400, - 7819, 37720, 19899, 25289, 24536, 53117, 40044, 8589, 59192, 62749, 48819, 61910, - 53602, 9490, 61039, 57172, 29192, 22469, 57228, 34328, 31266, 39220, 27043, 27114, - 63188, 39647, 5268, 50746, 8495, 18351, 35797, 57052, 4696, 61775, 12605, 54791, 34979, - 45697, 38779, 33067, 26982, 2938, 6110, 37084, 19831, 7836, 33227, 27623, 19271, 8329, - 51158, 33965, 44071, 47508, 10894, 52334, 63719, 6808, 56243, 52946, 682, 48416, 26359, - 48885, 17707, 56903, 60483, 8139, 56249, 37205, 34338, 59837, 64288, 50997, 6618, - 53792, 30126, 30157, 3369, 27996, 9789, 42130, 13424, 10781, 13704, 35789, 40904, - ])) - .unwrap(), - c: 209, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ff4561a4611b946e3422adc157c64abd3ada3013475eb8d6f2920e5c6376481a"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_one_7() { - let mut value = VarTestStruct { - a: 14149, - b: List::::try_from(Vec::::from_iter([16482])).unwrap(), - c: 230, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_one_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("92f9dcdd18f4dc0f8641862bd82cdf4081aefeb974f36bc74cda484ce7dc6637"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_nil_4() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([true, false]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([false, false, false, true, false, false, false, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_nil_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("a4c710723bb49c0db44a70044fa725642f265b6c9d1cce288f8d40c42a294c1c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_lengthy_1() { - let mut value = ComplexTestStruct { - a: 63134, - b: List::::try_from(Vec::::from_iter([ - 15027, 15033, 56026, 45017, 4982, 62406, 9561, 49872, 52603, 11592, 55880, 4782, 36171, - 26861, 55558, 58823, 12551, 11511, 24886, 43494, 40213, 41920, 27461, 15039, 49814, - 26538, 36052, 14184, 10525, 50365, 9275, 23249, 1104, 30936, 24487, 53059, 41222, - 38145, 15502, 56163, 39867, 19511, 38728, 2915, 23614, 48179, 20924, 18112, 51366, - 53923, 42019, 23120, 45722, 40060, 36337, 32414, 51796, 9358, 59730, 55551, 7324, - 10685, 57486, 55930, 45841, 31863, 54502, 12634, 20045, 52645, 22003, 53987, 50618, - 40953, 27187, 11254, 33967, 42019, 35326, 47678, 49945, 11221, 57245, 54437, 20412, - 45170, 28640, 15880, 61263, 19478, 4927, 63744, 59926, 62295, 56389, 36956, 44117, - 3845, 3345, 6133, 54169, 5586, 43234, 7624, 9784, 3959, 2242, 62530, 30627, 12414, - 8430, 51041, 45125, 40760, 50229, 24210, 64534, 33741, 19262, 60229, 49611, 57320, - 35270, 2712, 4988, 6673, 50059, 46899, - ])) - .unwrap(), - c: 60, - d: List::::try_from(Vec::::from_iter([ - 106, 216, 87, 172, 99, 102, 184, 141, 255, 105, 248, 168, 165, 231, 129, 170, 137, 141, - 127, 63, 127, 154, 190, 203, 210, 76, 118, 183, 138, 67, 221, 231, 150, 246, 56, 180, - 183, 158, 12, 11, 25, 24, 198, 6, 159, 71, 249, 18, 36, 54, 105, 108, 148, 194, 129, - 35, 70, 54, 9, 254, 175, 114, 127, 2, 91, 108, 240, 57, 76, 64, 136, 192, 37, 202, 90, - 78, 95, 211, 221, 10, 36, 30, 158, 128, 248, 99, 242, 220, 72, 228, 198, 95, 132, 206, - 99, 102, 71, 116, 221, 205, 203, 207, 203, 79, 143, 155, 121, 209, 218, 255, 167, 121, - 114, 93, 223, 82, 71, 229, 127, 91, 223, 190, 36, 202, 220, 71, 189, 40, 105, 111, 255, - 156, 173, 96, 43, 179, 201, 68, 168, 120, 85, 43, 218, 112, 149, 239, 171, 215, 2, 130, - 188, 51, 95, 202, 232, 210, 140, 105, 36, 155, 243, 24, 22, 109, 92, 231, 6, 91, 150, - 16, 66, 77, 73, 117, 234, 93, 96, 12, 214, 172, 147, 232, 33, 161, 32, 77, 205, 85, - 131, 83, 195, 192, 78, 108, 180, 164, 200, 233, 87, 61, 110, 141, 103, 78, 10, 249, 82, - 117, 251, 212, 220, 204, 208, 93, 156, 160, 39, 156, 97, 194, 161, 6, 6, 12, 99, 186, - 111, 6, 177, 75, 52, 50, 215, 118, 35, 196, 119, 142, 243, 183, 140, 194, 125, 182, 40, - 48, 67, 72, 47, 145, 28, 165, 178, 135, 5, 139, - ])) - .unwrap(), - e: VarTestStruct { - a: 16603, - b: List::::try_from(Vec::::from_iter([ - 43809, 9135, 16086, 48583, 13970, 22509, 12263, 46555, 15163, 11156, 33631, 7319, - 3475, 39814, 64328, 43807, 29156, 12012, 55126, 30153, 58754, 18899, 25946, 15610, - 7685, 8906, 3696, 33019, 24544, 59865, 18399, 38783, 62712, 60126, 39734, 27342, - 6025, 57776, 30836, 24783, 45974, 7172, 64852, 65222, 17661, 23046, 57744, 8643, - 6970, 18089, 30272, 56662, 1355, 64699, 46997, 23865, 57731, 62231, 38548, 27234, - 4686, 5274, 31519, 31190, 35830, 64398, 48383, 15574, 7111, 27229, 29662, 16030, - 15346, 36806, 50186, 16436, 51502, 47299, 64895, 28076, 50356, 35869, 45367, 13305, - 58226, 11054, 32921, 19746, 58470, 38055, 60447, 32297, 16523, 51118, 22079, 29369, - 55573, 9637, 63509, 19251, 12334, 33272, 57584, 6543, 25311, 1008, 47382, 54649, - 11758, 17318, 28109, 18807, 29173, 37849, 45690, 63856, 24578, 17766, 56278, 50792, - 12391, 62332, 861, 64970, 56712, 33173, 45373, 8933, 35241, 1560, 61195, 6632, - 28453, 55691, 40908, 20061, 10534, 51476, 29293, 23408, 52911, 63477, 51603, 48647, - 25092, 39029, 7799, 40231, 49604, 34434, 19543, 54952, 37892, 44511, 44171, 8051, - 5605, 43788, 41808, 10904, 33271, 14349, 65498, 37830, 30095, 49014, 34133, 48215, - 322, 35881, 38942, 4928, 40524, 32813, 53672, 35444, 34072, 26883, 6655, 24924, - 31889, 19726, 10080, 39203, 110, 13331, 20015, 52470, 39626, 15358, 34326, 8369, - 22283, 63277, 37804, 30221, 18437, 18973, 13944, 24075, 31405, 32972, 12606, 51933, - 65088, 50106, 63839, 39676, 57664, 52661, 41475, 45638, 36472, 43132, 4539, 34909, - 17398, 35390, 54372, 42179, 31606, 25148, 53502, 49304, 25543, 40497, 1632, 47880, - 31860, 54855, 35365, 37471, 11315, 33647, 17189, 1538, 12915, 58947, 7324, 27091, - 49388, 54839, 44056, 38317, 172, 20887, 51675, 19699, 19703, 31360, 30118, 32806, - 54730, 12628, 50755, 64744, 10647, 13739, 31930, 34670, 16155, 19298, 22807, 24447, - 44735, 25934, 42539, 8932, 28991, 47497, 23569, 58967, 19264, 4448, 47848, 47792, - 56937, 3594, 52219, 50209, 35453, 34801, 60105, 275, 53205, 15415, 47725, 46290, - 23778, 23300, 2037, 53673, 12090, 54196, 60945, 42116, 3814, 19146, 38117, 11681, - 52641, 62468, 16251, 32734, 2685, 6113, 8649, 34804, 48046, 13099, 36263, 22932, - 43077, 12057, 54729, 27039, 57343, 60514, 56414, 40976, 60737, 58725, 29139, 58721, - 7733, 43270, 54753, 10973, 44469, 10570, 48231, 8495, 52167, 33222, 29145, 29337, - 55356, 43950, 7810, 30423, 59865, 65282, 51269, 22772, 65530, 48503, 15313, 1285, - 60948, 6379, 25255, 8121, 58504, 47676, 21291, 44456, 14666, 40036, 45249, 49365, - 40777, 56059, 59949, 18803, 36467, 11857, 57956, 39922, 44578, 3025, 53081, 32781, - 4294, 27700, 29003, 19280, 12064, 39319, 54733, 44768, 15327, 1206, 6149, 32734, - 7242, 7245, 13464, 25709, 64075, 24126, 65498, 3336, 65185, 52640, 46277, 7815, - 57319, 64332, 5945, 56674, 6729, 51606, 45143, 34377, 43833, 2892, 58697, 36254, - 54022, 61208, 50772, 30636, 63103, 40669, 2495, 33654, 60476, 8362, 51993, 59348, - 50512, 48627, 56968, 34687, 32674, 28498, 57608, 49904, 23372, 48496, 30231, 44997, - 42255, 45435, 26509, 8417, 31923, 17041, 20862, 1834, 46016, 62550, 7295, 12447, - 14795, 6053, 57763, 54029, 32788, 27850, 61916, 58099, 1982, 30124, 40816, 2766, - 64378, 26979, 26911, 30129, 51620, 27604, 28949, 12566, 26762, 27402, 22463, 33190, - 33972, 7271, 11931, 31616, 57428, 225, 10657, 43957, 57902, 8534, 32493, 16011, - 601, 455, 46471, 62529, 56085, 46166, 3427, 16865, 40692, 532, 8616, 5162, 20447, - 7734, 46917, 2407, 33522, 13136, 42667, 33656, 17231, 29906, 63852, 57087, 25575, - 16480, 24914, 41227, 37421, 54568, 27233, 13941, 14398, 57835, 28563, 1533, 4687, - 46872, 60329, 19690, 60298, 48517, 47049, 27694, 39374, 17730, 15231, 27522, 2767, - 43036, 19219, 34264, 52020, 62290, 15065, 6262, 47178, 37741, 29534, 32693, 55223, - 3793, 23317, 53071, 6297, 17129, 1084, 12097, 38879, 22003, 29287, 35932, 25739, - 8525, 19442, 51066, 64338, 21505, 19627, 55245, 50841, 59125, 7547, 21286, 52395, - 54057, 38734, 33986, 13974, 65144, 16106, 14745, 48756, 44516, 40837, 39257, 60012, - 54294, 53085, 30637, 55144, 56486, 5389, 23513, 53685, 22419, 64094, 347, 19087, - 9444, 30683, 35252, 15211, 36546, 21968, 43578, 46882, 32873, 7059, 51185, 53582, - 49587, 54622, 57587, 10114, 50398, 38660, 47966, 46173, 53920, 40284, 34441, 37508, - 41617, 2843, 25808, 2701, 16960, 65435, 64699, 2534, 47940, 27303, 32843, 45840, - 43034, 60033, 48454, 47506, 63470, 30546, 22690, 28892, 31625, 28032, 30391, 39288, - 44315, 1709, 6770, 32713, 52742, 33261, 2031, 56245, 27452, 17489, 26948, 56626, - 25891, 10915, 45382, 51551, 1447, 53972, 46519, 34979, 36229, 9860, 3484, 29042, - 20079, 18997, 1402, 14340, 61269, 41276, 27810, 29432, 8237, 39184, 8822, 57969, - 28769, 62653, 28315, 56607, 53230, 43104, 18950, 1195, 41178, 40620, 60826, 52714, - 23882, 58487, 56224, 23987, 55837, 62529, 2221, 1544, 18473, 42, 37793, 56643, - 29564, 50017, 20862, 58975, 27898, 13547, 14352, 30024, 37277, 25852, 24425, 8740, - 2446, 7274, 2910, 61004, 24552, 39845, 52144, 15430, 21841, 61626, 60080, 56930, - 2800, 25150, 65187, 60963, 2825, 16887, 32365, 64296, 3335, 61525, 23942, 38574, - 29398, 42380, 27196, 63483, 5422, 17873, 27408, 980, 27080, 58134, 37981, 58654, - 41902, 16065, 29352, 34791, 27269, 21635, 43679, 27005, 64730, 18072, 29466, 53775, - 6889, 25052, 1126, 12558, 35518, 43049, 13137, 64030, 49123, 16845, 18772, 44846, - 2593, 44948, 60663, 35501, 43962, 13486, 44953, 32332, 32946, 20164, 6146, 9727, - 57740, 20742, 12595, 46365, 56614, 22084, 6317, 65021, 37045, 13280, 25179, 31232, - 17378, 62137, 19290, 26175, 53089, 40575, 46274, 64051, 43276, 7803, 22037, 51835, - 24215, 178, 32839, 19120, 18755, 21044, 39579, 59105, 52837, 36488, 45071, 59349, - 63384, 18447, 28, 3518, 8874, 18842, 133, 45890, 36173, 49362, 57915, 14332, 56330, - 41248, 38912, 63718, 20356, 46898, 31554, 55369, 19062, 9200, 127, 7666, 18127, - 42883, 42201, 10403, 5932, 22943, 64786, 53451, 15877, 423, 2621, 39399, 38499, - 4520, 36693, 43222, 46353, 36711, 57964, 43398, 7073, 16417, 13834, 14266, 15790, - 25897, 21393, 45543, 50953, 42072, 33898, 48991, 16728, 4015, 58969, 64091, 37612, - 16181, 41807, 50711, 1932, 1791, 5531, 7596, 63035, 57933, 43549, 2920, 8843, - 26733, 6918, 29834, 24406, 50246, 16023, 24572, 10895, 35239, 61436, 43827, 41786, - 15722, 27279, 52841, 21595, 61861, 5624, 63255, 41644, 59788, 7875, 59566, 62491, - 23627, 40764, 43348, 29599, 38244, 36578, 47370, 45822, 1011, 24531, 29897, 37846, - 2893, 15870, 29212, 41476, 5611, 53742, 50435, 42809, 5405, 16218, 55762, 44472, - 62983, 6126, 40309, 26819, 28390, 38207, 37780, 44817, 48104, 37231, 47179, 49228, - 29088, 64569, 55009, 19922, 59137, 14282, 24667, 50932, 33600, 26612, 5060, 32216, - 41643, 8931, 23519, 44853, 63679, 58097, 57325, 50871, 45610, 58930, 61464, 43659, - 20570, 57545, 50595, 2459, 42741, 6160, 63273, 17454, 17927, 34693, 54867, 5447, - 31562, 63784, 6036, 22183, 22204, 18370, 38749, 48257, 27996, 43191, 48403, 17342, - 30870, 44612, 65375, 34411, 49212, 17629, 832, 11062, 11812, 24883, 61908, 56214, - 65118, 8156, 46627, 48590, 34539, 43110, 24849, 18621, 53361, 39585, 34054, 57930, - 24281, 19601, - ])) - .unwrap(), - c: 172, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 228, b: 3400495176621689780, c: 2782837041 }, - FixedTestStruct { a: 242, b: 11524830070205099188, c: 745207975 }, - FixedTestStruct { a: 86, b: 4411883652197834213, c: 1172881869 }, - FixedTestStruct { a: 43, b: 14564562638993582932, c: 1949588893 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 30799, - b: List::::try_from(Vec::::from_iter([ - 14556, 55222, 24251, 24293, 27235, 26958, 6438, 60832, 7215, 22695, 17144, - 54587, 61706, 47463, 14773, 4854, 39837, 15514, 9141, 44675, 27253, 22362, - 28392, 40731, 21612, 54045, 5781, 26217, 56460, 64881, 41020, 57680, 65287, - 13880, 52279, 5846, 29036, 50062, 19738, 11373, 60434, 7130, 8227, 64105, - 54444, 40315, 59712, 17241, 13550, 4700, 56140, 61280, 47635, 9319, 964, 56488, - 15578, 43452, 12098, 17876, 16873, 62551, 39093, 27189, 54872, 57422, 3735, - 64046, 64039, 31954, 15993, 18984, 60283, 6361, 46789, 42785, 13332, 31918, - 27160, 52343, 52679, 54286, 38773, 54607, 59847, 62384, 26963, 46459, 33899, - 48285, 39854, 8461, 2958, 23862, 38568, 12694, 57934, 58916, 3171, 27759, - 34964, 6302, 51666, 7205, 30337, 18842, 34555, 41713, 29536, 21168, 58754, - 21771, 363, 30290, 7256, 20252, 47998, 23556, 40739, 17033, 51474, 7401, 50679, - 49735, 47305, 51765, 8270, 57990, 17814, 16191, 9226, 14888, 29, 30812, 59921, - 62268, 47691, 28929, 9225, 53347, 51029, 33411, 11593, 21327, 47202, 38974, - 48095, 49443, 63303, 10284, 43717, 37160, 61700, 24089, 61130, 20083, 35567, - 34995, 55871, 7756, 15226, 56633, 20387, 13331, 8658, 32666, 51541, 63796, - 22539, 53400, 12691, 33213, 52248, 43492, 12098, 61685, 38634, 3287, 50398, - 15855, 11166, 65229, 20185, 36228, 12371, 38469, 22190, 58344, 12598, 2572, - 11134, 47093, 52623, 3299, 43477, 11235, 11139, 46752, 3710, 62367, 42947, - 4946, 27498, 705, 43305, 61060, 60143, 27517, 31065, 38648, 11199, 42291, - 19735, 44971, 37078, 25592, 49935, 41192, 2488, 60095, 62630, 49877, 44753, - 38876, 6094, 53516, 41457, 52845, 31569, 23301, 33034, 8316, 40753, 19410, - 9092, 6612, 59485, 54815, 24910, 829, 11082, 6023, 15632, 37404, 23602, 34937, - 28490, 14501, 46857, 2295, 1961, 37006, 51278, 24044, 23398, 29645, 34623, - 38583, 62124, 62923, 47659, 15649, 28428, 29646, 678, 8332, 10965, 34236, - 56552, 53594, 3605, 39484, 64402, 28026, 30609, 16502, 53763, 61311, 51658, - 9914, 43182, 42103, 46559, 26671, 1103, 37378, 65332, 52477, 37344, 35287, - 38760, 55241, 64071, 49612, 33094, 32259, 40962, 33646, 19645, 43641, 51853, - 30409, 61156, 10026, 29813, 49648, 26448, 32412, 27328, 45121, 39106, 18453, - 18718, 56097, 41358, 12420, 55211, 23373, 57936, 32039, 21907, 62933, 60621, - 48588, 1438, 56083, 8707, 42191, 23084, 16085, 35176, 8884, 52825, 6273, 48998, - 24022, 17108, 8257, 6866, 12342, 48899, 54001, 28090, 38925, 52560, 38546, - 28992, 34307, 43464, 3518, 53589, 40150, 43840, 42707, 11231, 5273, 2326, - 43213, 34992, 57773, 64470, 65156, 6707, 13073, 30922, 19089, 10095, 25809, - 29796, 56113, 3918, 52182, 33662, 21162, 52741, 3396, 41269, 1630, 31035, - 11627, 30437, 39583, 51163, 18537, 2789, 40419, 42790, 47780, 33202, 9659, - 35203, 1675, 9623, 22516, 42101, 1244, 63558, 46536, 4757, 9228, 22978, 1111, - 29752, 25019, 5374, 22596, 30775, 60334, 54534, 23115, 22358, 906, 21640, - 54802, 28556, 10043, 29331, 23348, 9043, 39272, 26085, 29669, 19662, 16208, - 34232, 19721, 17033, 32501, 51268, 64668, 9273, 112, 51105, 5090, 18774, 16722, - 49529, 53521, 59295, 13507, 9208, 26709, 57166, 8394, 61444, 2869, 34477, 2673, - 9806, 47275, 7356, 48361, 32519, 46320, 37630, 63924, 62227, 52074, 19676, - 13768, 44794, 17114, 22579, 13988, 16042, 19260, 24709, 9126, 60050, 28983, - 35407, 1981, 25374, 64260, 30768, 28960, 22351, 26592, 32378, 53284, 59178, - 59194, 9727, 56100, 21791, 36486, 50857, 194, 25358, 63240, 39097, 20785, - 14097, 57187, 39396, 59708, 24091, 65452, 17992, 19600, 40184, 4537, 64667, - 19700, 42549, 42197, 63737, 4738, 63550, 5828, 2367, 41525, 55485, 53638, - 42635, 47473, 14898, 5676, 37546, 7977, 19269, 12103, 31222, 55931, 61413, - 50869, 62541, 22455, 61032, 38894, 33182, 53831, 1277, 19149, 3676, 25082, - 55975, 33203, 55880, 28342, 31990, 8493, 40881, 38352, 3353, 28926, 60116, - 6144, 14730, 9028, 48367, 60749, 60869, 31703, 48910, 37001, 4582, 57947, - 37773, 59656, 48705, 39951, 22954, 19269, 49989, 51833, 1175, 34028, 22453, - 14534, 20802, 16514, 3306, 46801, 12271, 17499, 34362, 50048, 63163, 21414, - 42617, 29047, 16063, 47720, 2279, 21646, 37699, 20678, 24600, 5258, 7534, - 21605, 54730, 54792, 57909, 55219, 52889, 14202, 50279, 11688, 50212, 23909, - 54533, 49331, 65532, 37091, 31449, 45485, 61378, 14797, 64406, 5716, 968, - 32257, 47486, 30143, 32992, 40587, 2360, 2748, 5867, 7880, 38105, 53759, 18957, - 62817, 19433, 27156, 21744, 36370, 45295, 20204, 9493, 63319, 137, 37281, - 20860, 55658, 59719, 33497, 54537, 15323, 58963, 37836, 16228, 46851, 32734, - 32, 5874, 502, 44055, 53228, 899, 42636, 154, 41256, 48491, 12457, 59255, - 44138, 32993, 57620, 64385, 32340, 26627, 55894, 3424, 49969, 23264, 35397, - 34359, 490, 49359, 65418, 39386, 45830, 63227, 27112, 59864, 35938, 14413, - 59271, 29434, 59797, 4758, 42380, 20292, 6298, 36596, 55049, 62380, 23445, - 23848, 25498, 2250, 33407, 44083, 23451, 25449, 14514, 50239, 32414, 57696, - 46504, 27760, 53667, 16794, 18360, 32469, 2397, 30070, 21997, 50802, 15192, - 5447, 10167, 56749, 243, 51024, 50148, 47278, 30030, 20638, 40910, 57523, - 54192, 23718, 55917, 32121, 64181, 28197, 63332, 21020, 28275, 45116, 14199, - 9787, 13201, 46969, 38791, 39564, 56544, 60144, 17769, 58323, 3820, 56379, - 63633, 56116, 50646, 47449, 36608, 58106, 36161, 47561, 57190, 43016, 9732, - 18842, 3407, 15817, 27227, 26584, 44870, 26800, 37705, 27407, 57242, 4141, - 34870, 43410, 19921, 64652, 17189, 27651, 65019, 53261, 59448, 19171, 2270, - 4456, 63205, 62012, 20051, 43164, 15617, 63877, 35186, 3359, 54985, 57920, - 57460, 11143, 25139, 24129, 33191, 27670, 27400, 54144, 1448, 48527, 47199, - 60491, 49589, 48774, 57698, 27172, 33599, 22866, 7911, 59659, 43569, 48199, - 60439, 56615, 20261, 64799, 54021, 19186, 2178, 21671, 17258, 29766, 48683, - 37926, 37030, 27164, 3488, 38172, 41727, 32029, 33375, 51842, 61716, 51174, - 50472, 19665, 28249, 14765, 23675, 14883, 32606, 55668, 39312, 26075, 62632, - 15060, 17545, 40226, 58995, 43158, 11009, 31970, 5449, 26415, 8355, 3795, - 58391, 3021, 60465, 58668, 30215, 53797, 28590, 44993, 5494, 48013, 37939, - 23129, 58786, 5780, 49976, 47175, 1827, 58376, 33707, 30781, 36499, 26501, - 3723, 55708, 35322, 4027, 49633, 11260, 48645, 43174, 5706, 47771, 17325, - 58745, 38674, 30280, 8495, 17113, 39129, 42198, 47502, 13357, 13971, 17258, - 26099, 25143, 9472, 20621, 40948, 62577, 60545, 40091, 1388, 38198, 2215, - 56268, 58353, 5630, 48419, 50700, 18201, 63935, 674, 43023, 3196, 44845, 7697, - 124, 24471, 4267, 7138, 42472, 30305, 57544, 61019, 29579, 51793, 41534, 50316, - 58377, 61785, 52786, 37544, 61278, 18872, 4433, 46600, 16066, 56558, 29303, - 34779, 51332, 3121, 20687, 49639, 61120, 1157, 32143, 42256, 12923, 5650, - 59278, 54678, 55709, 7880, 56954, 39195, 18645, 38050, 45208, 29446, 56410, - 57187, 19994, 41883, 35183, 27266, 14092, 7295, 12740, 53582, 52766, 4978, - 5886, 60421, 48413, 44860, 37449, 55511, 53735, 64929, 64849, 3804, 57355, - 6442, 59897, 42688, 48255, 64036, 3936, 18883, 6608, 23716, 60749, 64147, - 60292, 33495, 9911, 3267, 2343, 60532, 30389, 33446, 40794, 25352, 26142, 4116, - 29406, 15719, 61133, 64295, 24586, 34867, 36836, 14632, 52950, 10854, - ])) - .unwrap(), - c: 206, - }, - VarTestStruct { - a: 37045, - b: List::::try_from(Vec::::from_iter([ - 40012, 20147, 36304, 59222, 14275, 40439, 12833, 27481, 16102, 36518, 22014, - 12807, 17727, 33809, 17208, 45861, 61773, 21505, 42225, 40102, 38056, 58524, - 37981, 17397, 13087, 36293, 47576, 52952, 27090, 43652, 29267, 46696, 16852, - 37112, 9531, 13325, 1466, 61863, 42155, 62232, 12589, 28753, 33531, 24078, - 56683, 14224, 7090, 60762, 4722, 19589, 63213, 51906, 26344, 18995, 23765, - 11486, 56992, 6725, 9359, 24923, 13926, 22031, 31792, 30944, 60351, 39062, - 19921, 48559, 29761, 13049, 46939, 29256, 43454, 35501, 28042, 64171, 45372, - 26888, 48905, 51339, 32221, 27638, 28617, 16252, 25820, 58631, 15852, 53646, - 64640, 36283, 43676, 5838, 59027, 45762, 24511, 27023, 50613, 28369, 32983, - 41790, 5336, 27837, 4168, 43765, 65137, 41046, 52071, 17284, 13059, 36003, - 59279, 29416, 50090, 57022, 1989, 14276, 6207, 33414, 20965, 44909, 15013, - 60567, 54810, 28900, 48638, 11177, 64319, 47831, 13075, 11489, 39025, 52903, - 24991, 40957, 11799, 17348, 408, 61755, 64537, 34135, 39212, 64652, 25136, - 48250, 11263, 46229, 60248, 52685, 34902, 32762, 38922, 45399, 49417, 2938, - 21508, 65307, 63859, 7876, 57720, 25663, 54923, 33095, 31001, 30716, 51753, - 17696, 36934, 59917, 34026, 9742, 46695, 41753, 62085, 47677, 34225, 32936, - 36676, 15824, 58934, 30315, 42073, 63265, 57180, 5931, 7653, 23772, 37796, - 46691, 57491, 35253, 40233, 15924, 8312, 51764, 22787, 28997, 10923, 8934, - 41694, 4834, 3848, 9493, 26339, 19692, 22645, 62370, 33015, 64879, 42141, - 23417, 55244, 21749, 5923, 20127, 45099, 805, 4061, 3069, 53926, 42858, 41811, - 35544, 19671, 7512, 52226, 23952, 36654, 37186, 154, 48126, 56118, 48224, 950, - 12048, 7420, 50752, 56476, 5741, 32248, 34848, 40286, 24084, 33667, 14003, - 2032, 25472, 55337, 26201, 8175, 38831, 42511, 11217, 42707, 28091, 23108, - 38837, 14045, 10260, 60295, 46509, 37159, 25573, 5177, 24741, 5753, 43034, - 39289, 58363, 27404, 48758, 57944, 15448, 20620, 46900, 25590, 35364, 26062, - 36508, 19601, 25034, 58475, 33925, 37339, 3252, 16534, 65055, 41647, 63677, - 48556, 42838, 41823, 20932, 17658, 6347, 18175, 60908, 25572, 15000, 52779, - 43200, 26729, 51503, 29562, 57961, 13004, 64270, 60277, 34380, 114, 51877, - 37393, 38043, 48436, 37482, 7018, 36989, 33064, 3752, 2271, 29822, 32608, 1663, - 19799, 48033, 17726, 9406, 34956, 62537, 20965, 20727, 23637, 25135, 7824, - 64492, 24616, 10006, 9516, 55228, 37163, 52628, 8420, 27032, 18196, 12996, - 28651, 11090, 48241, 3272, 45651, 5543, 37274, 33988, 15081, 25189, 42622, - 2511, 51445, 49272, 41866, 17934, 60762, 35498, 1085, 60453, 8143, 61704, - 10287, 26432, 60631, 24521, 42889, 37512, 58750, 2942, 33426, 32085, 7143, - 14640, 56329, 45068, 62234, 59453, 42021, 5966, 16811, 25187, 32519, 31741, - 63147, 6725, 40535, 42943, 44038, 54399, 58685, 15197, 28082, 31942, 56015, - 2066, 28985, 52896, 19192, 56281, 30924, 34425, 47177, 34460, 51507, 42741, - 14896, 26601, 2318, 56385, 7576, 20018, 11107, 40457, 55679, 27021, 15365, - 12886, 28363, 30532, 23095, 23431, 5122, 7424, 45142, 44294, 16249, 31276, - 54752, 44051, 48489, 6015, 12944, 15076, 6538, 31583, 64013, 29130, 5885, - 14706, 57426, 24552, 20012, 25002, 46199, 34863, 17288, 40925, 42416, 17096, - 64694, 3516, 32441, 64249, 51154, 53658, 31688, 47842, 34335, 19862, 35134, - 4620, 28911, 23128, 5142, 13356, 39460, 28794, 16442, 45973, 29492, 43697, - 14654, 28740, 20168, 44845, 37537, 56071, 8593, 63059, 39823, 28877, 15252, - 31094, 42001, 14891, 63163, 20035, 43696, 64832, 55112, 23912, 34767, 48027, - 31228, 49363, 28741, 29488, 10044, 15481, 54081, 58409, 22193, 55297, 1952, - 43279, 21985, 55701, 12320, 31379, 192, 40191, 3965, 50958, 9405, 29711, 38711, - 39068, 48864, 43048, 19592, 39709, 52789, 42656, 11163, 939, 3019, 17595, - 54840, 4731, 15914, 6611, 54415, 30247, 59319, 25966, 37848, 22279, 54871, - 38565, 40508, 23438, 15023, 40328, 21368, 47621, 43884, 48424, 46057, 65032, - 32393, 29943, 36598, 26755, 41965, 29747, 29303, 28697, 39964, 43470, 51690, - 41376, 21785, 55344, 7090, 32594, 32947, 12839, 19988, 47449, 28471, 24129, - 49292, 19991, 58370, 46928, 62574, 20869, 33886, 41180, 18699, 26187, 57673, - 14570, 46440, 38207, 47794, 7906, 64563, 780, 29956, 6168, 7699, 30983, 23271, - 13490, 23984, 17101, 8174, 8475, 12461, 6430, 29468, 48872, 8198, 43557, 3774, - 56496, 22672, 531, 38858, 1963, 4157, 4027, 24258, 35414, 58654, 26576, 63574, - 28600, 38030, 40178, 21770, 1455, 15617, 11702, 2728, 3941, 45294, 35534, - 13201, 7802, 55539, 33941, 62473, 1627, 4813, 59044, 33505, 47750, 44671, 6298, - 43442, 2703, 41407, 50359, 56933, 60562, 12477, 63417, 36975, 22808, 12107, - 5138, 3442, 35804, 15212, 53958, 10668, 31878, 56026, 7077, 27957, 10490, - 42511, 41672, 33229, 946, 29494, 10200, 40814, 14410, 17119, 15869, 24487, - 13358, 16618, 39310, 25590, 30117, 51290, 21107, 6419, 19230, 15869, 31117, - 2280, 40448, 59248, 757, 41509, 37521, 63923, 17345, 17093, 58259, 2016, 42147, - 8146, 10808, 64148, 3366, 22909, 1348, 18614, 51765, 28134, 64236, 41910, - 28810, 60285, 38021, 55988, 32096, 4676, 9980, 42341, 50499, 3866, 14359, - 45516, 38989, 60286, 50177, 12176, 47473, 46731, 44122, 11272, 16488, 28558, - 14976, 39301, 28460, 41575, 29325, 24049, 13378, 39713, 14267, 7112, 62737, - 19241, 27716, 38407, 41677, 27790, 25307, 27292, 54856, 36100, 7016, 36272, - 39293, 4711, 35652, 524, 59838, 2945, 24996, 35616, 19953, 48279, 35041, 34115, - 32979, 26300, 49391, 12088, 52389, 57216, 64926, 55031, 12448, 51541, 62389, - 56322, 22336, 11570, 56399, 13062, 17281, 5848, 48155, 22250, 64970, 56866, - 29747, 5708, 8341, 31396, 23899, 44477, 38975, 20551, 63525, 1988, 16141, 461, - 19533, 8040, 33126, 37918, 52286, 19918, 23976, 48132, 46772, 61128, 63943, - 19095, 65229, 30128, 62239, 1130, 34642, 25489, 15483, 43490, 29676, 17263, - 14149, 36672, 28137, 35952, 25885, 10179, 21137, 56624, 855, 5073, 41001, 5119, - 56247, 59776, 40332, 42294, 20132, 58808, 19313, 61043, 4484, 56733, 25618, - 28810, 58373, 17674, 6171, 34843, 11786, 25399, 1144, 12727, 23261, 6449, - 39312, 41019, 39024, 52056, 9872, 10047, 18372, 61860, 18740, 16481, 59082, - 12694, 24320, 47466, 23533, 39700, 2707, 21902, 50810, 26154, 5844, 1972, - 18853, 20426, 45366, 63924, 50390, 701, 59286, 26137, 14889, 15937, 60214, - 34554, 34388, 20536, 30313, 33859, 11547, 35367, 43251, 48515, 9146, 59007, - 42202, 59810, 18822, 32724, 3495, 7564, 2450, 63288, 53590, 64480, 15468, - 60039, 54247, 30387, 53881, 51366, 14127, 23319, 21560, 40792, 44251, 24824, - 57063, 17578, 31107, 55489, 35456, 12293, 62625, 20633, 37677, 22715, 47017, - 29894, 3185, 51501, 51221, 62711, 64906, 1114, 32352, 58756, 52323, 57123, - 59880, 54564, 12790, 57690, 48578, 48349, 20482, 40182, 25647, 30777, 60673, - 25842, 35200, 43534, 7138, 18523, 27530, 34278, 47898, 7890, 56141, 58316, - 34553, 6882, 57094, 20866, 18280, 31289, 21868, 14464, 34023, 34390, 62698, - 12885, 50477, 10221, 34724, 20145, 27647, 58502, 42417, 17562, 49318, 64729, - 19487, 54821, 45307, 13639, 23461, 11632, 2007, 58981, 37626, 1146, 20743, - 10624, 20726, 1875, 36451, 19954, 33597, 54359, 19014, 6816, 59600, 5837, 9682, - 17257, 38614, 19693, 50996, 34155, 53196, 8804, 64272, 15365, 506, - ])) - .unwrap(), - c: 165, - }, - ]) - .unwrap(), +fn test_containers_bits_struct_lengthy_8() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([55]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([121]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([32]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_8/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x50c9c0adb3b583620b03914e9d06233cebfdc185c0b1dd3be2a00fe64d16d015"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_lengthy_9() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([53]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([99]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([66]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0ab92b5d899d3e4c819f32bda870df0d777c2eed0a22eee40532a3feff7eb197"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_lengthy_chaos_0() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([51]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([94]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([252]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_chaos_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x8615f5ce488e94a1a5b01d715a1931806ef7b5064acc413c6e3f30a16247effe"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_lengthy_chaos_1() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([54]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([103]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([59]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_chaos_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xb73c9629e7f6c711c93f623c20ae2887b6cdb264f1e89a62516a4da6954611cb"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_lengthy_chaos_2() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([56]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([70]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([45]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_chaos_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x15e8b95c167c4d5af197499b0109debf87516cab159f1a211fd4f4bdace7d05d"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_lengthy_last_offset_0_overflow() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_last_offset_0_overflow/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_lengthy_last_offset_10_overflow() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_last_offset_10_overflow/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_lengthy_last_offset_6_overflow() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_last_offset_6_overflow/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_lengthy_offset_0_minus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_0_minus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_lengthy_offset_0_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_0_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_lengthy_offset_0_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_0_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_lengthy_offset_10_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_10_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_lengthy_offset_10_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_10_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_lengthy_offset_6_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_6_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_lengthy_offset_6_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_6_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +fn test_containers_bits_struct_max() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([63]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([15]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([255]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x696fb0974bbb2eb3a5d4a7613f2c3cabf81d28a8e51005e7fcab962da7ebca2b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_max_0() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([7]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([255]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_max_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xad8ac96de2066eef5bcb859e32dbf4120dff7d64efd015629878c805d7d38a01"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_max_1() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([255]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_max_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xa7b7b02a9e2d2899c443fa4da11dedecc7b1b1c76f90e8c1a7cc4b0830e84336"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_max_2() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([127]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([255]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_max_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x9a3d0c2e21e801c79164317f02379726734baa7c163bbe5a1f9c34055113a8bd"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_max_3() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([255]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_max_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x4ba4cfc5cf2a708b0b5fac027a42fd0d03e25ea79114660a4183a9f8ed7fe70f"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_max_4() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([15]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([7]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([255]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_max_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xc91372ca27e8e68838e9afd761fa5e4adbb48e4a2e2ea9377a863b4c1a41b880"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_max_5() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([15]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([127]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([255]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_max_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x7b1d842462bfa92850d7e7bfbf6042416e2a0cffdf850987712212d33142e8c4"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_max_6() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([63]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([63]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([255]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_max_6/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x42fa920fba341869972baf9a71aec699fee9f0d6797f18b5e1406989a2487d81"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_max_7() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([63]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([255]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_max_7/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x679f5c980c00f2253a3bdd1844e3a97fb1ea2d37916e8defd25253875ad27478"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_max_8() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([7]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([31]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([255]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_max_8/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf369e7425a52cffdac341543d5368d4f233d155a29c2d0bfece3c159c0c6d120"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_max_9() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([63]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([31]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([255]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_max_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xa6a9c5f7ac748508e6ca448b1c79a3ce3287ce4d84e54bb4d0ea912963cc1ac9"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_max_chaos_0() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([15]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([15]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([255]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_max_chaos_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf4d67e998921885ee4480b12b72a3fa729ac54f8b6c5b7e02bfc5be185bcec3a"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_max_chaos_1() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([7]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([63]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([255]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_max_chaos_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xd14588c56f40c8ec3eae3b9a658aab2baac9cc08c418d609737dc6137b90045b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_max_chaos_2() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([15]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([31]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([255]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_max_chaos_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x662a52b056d31844fe9a143bc7bf82f6c52d7cc9d6b9d9736c2e0d7c9a4b65f3"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_nil_0() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([109]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_nil_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x34d6ec1518de55f431f8d344f0687350c926f34d803c2a5f9c6343677f954061"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_nil_1() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([163]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_nil_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x09bc67e7267c47092b276f600b9d424af52f153ea649ec71934bde0d17a3c04a"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_nil_2() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([188]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_nil_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x6624f0820a556f057e3fbe2cc01793f8b0feab93bba19c642d0aee954d336493"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_nil_3() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([121]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_nil_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x4c2527b09791d6a951c4dc5a5a2a7c441856d5473dcac3cb138b04a891f599e2"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_nil_4() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([136]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_nil_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xa4c710723bb49c0db44a70044fa725642f265b6c9d1cce288f8d40c42a294c1c"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_nil_5() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([241]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_nil_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x51e74ba89a64b57dcb64384a1ba81c8ac3e15edfec97f187e20dfa5669859035"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_nil_6() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([47]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_nil_6/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x66142f50cb9200a075d512910dd5614263dcb2a5060a3ff0d88f0127e29b3931"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_nil_7() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([84]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_nil_7/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xcf8f07d7ff9ded4a52803bab9c5d38f91808b1072da9d1c81aabaeb57c12f29f"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_nil_8() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([245]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_nil_8/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0d85fba91fb9c52366820101ae72c082568ac76f8c5250ea9d2dabd5943dc298"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_nil_9() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([12]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_nil_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5f0c9f6aea78a6c52c3cea1594d184237a74cfd7981c4d88206df4e0c5514942"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_nil_chaos_0() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([177]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_nil_chaos_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x91aca4bfc8c7a312ed9834decb0c9b2fd8b7f8c6128ac236382a22513df732a1"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_nil_chaos_1() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([203]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_nil_chaos_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xb54cbc74cccfac2ac02868b7442271e3e0e98533c9a409529c183874e742f416"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_nil_chaos_2() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([211]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_nil_chaos_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xb5d2c977cf885fab0f2bcac642caa687fe989b39577ef8ce73f90458daadb1e4"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_nil_offset_0_minus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_0_minus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_nil_offset_0_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_0_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_nil_offset_0_zeroed() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_0_zeroed/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_nil_offset_10_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_10_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_nil_offset_10_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_10_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_nil_offset_6_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_6_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_nil_offset_6_zeroed() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_6_zeroed/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +fn test_containers_bits_struct_one_0() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([22]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_one_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x1542a289ee369034f9a2bc8b879978a66b396b90cfbcff05168d7acdb3ea78c7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_one_1() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([189]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_one_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x41c895a709caea4c3e74ef7bafafb1cb189eae3298ab2817c28ce78444488545"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_one_2() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([212]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_one_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xb7b8ea390463d99872628ca0d4aa1fc58abe086fd2b51b37396c61388d044ebe"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_one_3() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([165]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_one_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a1b1469addca4b542972bcd8c609a6eea1253ee3152b9d816d77bad37d3a07"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_one_4() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([165]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_one_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x56c00424e17ba0839c67e441de93d1a233518a787b9f5beae8f9a7800f7721d2"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_one_5() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([45]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_one_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0a9f6477919000daaadaaf9f290347d1e51387c7bc8843bc8188c5ec65323b1b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_one_6() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([198]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_one_6/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x317370e20fa26f536091dafc94282aa86db552df4ac30045150d4bcd2cc49426"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_one_7() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([96]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_one_7/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xebeb7f15f8e27e619d126d73430a13dadc766ce9ab7cae7b0701dbcf88b8cae3"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_one_8() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([128]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_one_8/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xddc21ccafde9998af8e3fd39a744f1b4d1a08b64e49c9eb7f6137d8e04c07512"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_one_9() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([4]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_one_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x6d9ba4547518645f70c84b158d170837d2a6627f4dc9b851f46d2487b3b94af4"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_one_chaos_0() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([175]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_one_chaos_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x63c94f1066c71e7fa926100c20d180831c6db761bb9e8500073cb3cccfb180fb"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_one_chaos_1() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([74]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_one_chaos_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x64d99ff40982dc77152ffd324add9251d78e4b83fc1a1e466d79a123444bdf8d"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_one_chaos_2() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([58]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_one_chaos_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x39f1b83c9006973db77b48722ae4dafdcfe92a60865c55d386d050dca10e365e"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_one_last_offset_0_wrong_byte_length() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_one_last_offset_0_wrong_byte_length/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_one_last_offset_10_wrong_byte_length() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_one_last_offset_10_wrong_byte_length/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_one_last_offset_6_wrong_byte_length() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_one_last_offset_6_wrong_byte_length/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_one_offset_0_minus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_0_minus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_one_offset_0_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_0_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_one_offset_0_zeroed() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_0_zeroed/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_one_offset_10_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_10_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_one_offset_10_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_10_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_one_offset_6_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_6_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_one_offset_6_zeroed() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_6_zeroed/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +fn test_containers_bits_struct_random_0() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([31]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([114]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_random_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x772980f52813d8970bcc933736cd21975517a61483612efd2086591e1b0cdae6"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_random_1() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([15]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([71]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_random_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdf0f6d27156f4692278048a9b03fed71e2265fb85a651d685197034ebbce876f"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_random_2() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([9]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([17]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([101]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_random_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xb8f13ccf822810bb645e3c6fb81ebb92971e06d9a3bffb4ec521f55de27f8138"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_random_3() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([13]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([5]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([135]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_random_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x00bebd4ee633b4af3e0247fbba72ff80727cd84e5999374dabf8ba04740114aa"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_random_4() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([6]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([7]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([228]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_random_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xa72542f6f22787da3a00dc428c75c8dd6a75dab48cc8fb663f65594e7947e63a"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_random_5() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([12]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([196]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_random_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5c652a6881fdbcf2bb433889972d124eeaefc56e933603449bd5654f3aa77f4d"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_random_6() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([62]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([104]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([143]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_random_6/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3e65520e875a5d0347f9cdf810c1d2c76b33f0606bbf136b9e4d5d17ff87ded9"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_random_7() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([5]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([5]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([229]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_random_7/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x9b29961c7d4a3b73ea66e6adf69a520890e9bedb001b01c3a24b79a0cc135997"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_random_8() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([31]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([4]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([180]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_random_8/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xde589adc2de052524b60cb01e01ed8a5cc1c24404877b152b1e9154f6393b5bd"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_random_9() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([27]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([29]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([80]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_random_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0c78458e737991adc376b4be7ab7b07522374623557c4ca8abcd00bd8665cd13"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_random_chaos_0() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([10]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([215]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_random_chaos_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x38c9859e2c0584a1802aa9b25ec33db9dae9df50169d68d948b589d8eb01f7aa"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_random_chaos_1() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([55]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([3]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([108]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_random_chaos_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf11a74232c75623074eeb6bf827b692e43f613e672b40ed442f72cd01c5ee2f4"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_random_chaos_2() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([8]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([56]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([239]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_random_chaos_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xc89390bf6b5c49e2c42be8203a79bdb6c67780ad00c1e649fea1255335f4244b"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_random_offset_0_minus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_0_minus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_random_offset_0_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_0_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_random_offset_0_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_0_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_random_offset_10_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_10_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_random_offset_10_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_10_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_random_offset_6_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_6_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_bits_struct_random_offset_6_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_6_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +fn test_containers_bits_struct_zero() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([16]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([4]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x7aa68d25017352ef95142af2bb269ce805269676da6111d74887aa9cdcb072a4"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_zero_0() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([4]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_zero_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf8deab9880644342f558abbfafbbdcea80f0652e260bd8f6c14fdc18b5599426"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_zero_1() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([16]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([8]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_zero_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x93d1e2d05c32e35744a9c04b1f81f2f8c58a491a747893d1b6b9d26ade98b9b9"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_zero_2() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([16]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([4]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_zero_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x7aa68d25017352ef95142af2bb269ce805269676da6111d74887aa9cdcb072a4"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_zero_3() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([16]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_zero_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xa08e590982dffd5e3b7a9410c9d86d152cfb2d342bd00eec228aab3e3c5ef64b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_zero_4() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([8]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([8]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_zero_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x7a14e144cf89605fa98f03d5315652596c9607d815e162b2d371d7bad872012d"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_zero_5() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([16]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_zero_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xa0ed0ec4a187f5f5a40bee9c8680cf42cf0a4c7631957639772eff3628d913f3"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_zero_6() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([16]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([4]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_zero_6/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x7aa68d25017352ef95142af2bb269ce805269676da6111d74887aa9cdcb072a4"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_zero_7() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([8]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([8]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/BitsStruct_zero_7/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); + let recovered_value: BitsStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("8edf67843395b2619b3d98e675e5a533be437a2164391889399bba6e4e8f5c46"); + root_from_hex("0x7a14e144cf89605fa98f03d5315652596c9607d815e162b2d371d7bad872012d"); assert_eq!(root, expected_root); } #[test] -fn test_containers_fixed_test_struct_random_4() { - let mut value = FixedTestStruct { a: 141, b: 14877529853037520628, c: 761682555 }; +fn test_containers_bits_struct_zero_8() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([16]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([32]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/BitsStruct_zero_8/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + let recovered_value: BitsStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("3dd95177bc95d33d840bde460ca0c86b483a15e51f0a0eabe1998f05df5c7edd"); + root_from_hex("0x24126453e1d5be00e010b8e9ca4f512d777db14429656f9dfb360683b114f36d"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_lengthy_6() { +fn test_containers_bits_struct_zero_9() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([16]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_zero_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x27b61f43e35013d439d4d131de8ad79811792cf58724d87ae45f1f3d1f74bacd"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_zero_chaos_0() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([16]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([2]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_zero_chaos_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x27b61f43e35013d439d4d131de8ad79811792cf58724d87ae45f1f3d1f74bacd"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_zero_chaos_1() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_zero_chaos_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xaaaa3533b5c1fb113f5629286d167a1c134872b245c59f5b1f547fc325618d84"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_bits_struct_zero_chaos_2() { + let mut value = BitsStruct { + a: Bitlist::<5>::try_from(Vec::::from_iter([8]).as_ref()).unwrap(), + b: Bitvector::<2>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + c: Bitvector::<1>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + d: Bitlist::<6>::try_from(Vec::::from_iter([1]).as_ref()).unwrap(), + e: Bitvector::<8>::try_from(Vec::::from_iter([0]).as_ref()).unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/BitsStruct_zero_chaos_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: BitsStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5b8c65840d6ad9823340ff0108e98f8efa055be1911fc7d7012c5de1064b4caf"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_extra_byte() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/invalid/ComplexTestStruct_extra_byte/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +fn test_containers_complex_test_struct_lengthy_0() { let mut value = ComplexTestStruct { - a: 3811, + a: 34044, b: List::::try_from(Vec::::from_iter([ - 53668, 15579, 54351, 30460, 22734, 24817, 58067, 27093, 43172, 7583, 31508, 17987, - 22578, 45349, 63406, 16953, 15482, 215, 55951, 50236, 65030, 17195, 34478, 56436, - 39178, 13504, 10962, 26642, 35363, 34750, 65094, 34944, 52252, 52387, 18841, 40676, - 39903, 2510, 26977, 51265, 865, 45298, 44314, 57523, 42380, 52460, 56453, 47329, 27505, - 27818, 49198, 19391, 10041, 17106, 61847, 28903, 26794, 61417, 52975, 1800, 57350, - 35440, 9709, 22868, 50054, 58390, 23066, 27877, 57177, 30799, 6053, 10140, 4418, 65064, - 37772, 27086, 61234, 31150, 16384, 46863, 44847, 58711, 25933, 3389, 35522, 31063, - 32912, 25682, 26834, 28911, 36410, 50641, 43417, 30597, 42842, 21182, 29256, 10153, - 34902, 32427, 58349, 62223, 27817, 34853, 50982, 45197, 59236, 1996, 9004, 11384, - 11541, 63527, 30766, 40467, 42520, 8912, 60430, 20150, 25536, 65294, 5125, 17995, - 39235, 35005, 7350, 20710, 61776, 1880, + 48874, 34700, 53776, 29805, 17569, 35418, 43707, 15489, 5164, 33511, 1254, 54569, + 16520, 32997, 29838, 23006, 40826, 60676, 46896, 6267, 31061, 14530, 56395, 56663, + 2084, 56824, 62602, 58694, 51680, 18415, 34766, 3506, 23098, 54494, 27270, 42848, + 27840, 1235, 57458, 18698, 42777, 56323, 14515, 8153, 4254, 57377, 27167, 35643, 40944, + 52977, 7846, 1253, 39539, 20098, 46499, 35303, 48573, 40247, 25159, 20692, 43641, + 17960, 58202, 42582, 9646, 37256, 65084, 26088, 52645, 62272, 31932, 14050, 38418, + 9204, 46698, 61903, 13828, 53723, 59474, 56151, 15229, 53335, 60044, 47156, 25870, + 45301, 25326, 13946, 8490, 38033, 19445, 6806, 6972, 58745, 19550, 6545, 61811, 58973, + 14877, 31691, 19354, 29588, 24023, 26217, 56464, 21662, 16898, 9753, 50257, 14051, + 2119, 53084, 41811, 44751, 53566, 38834, 5628, 58306, 28488, 51782, 29900, 12554, + 15448, 16999, 13292, 59987, 32816, 8584, ])) .unwrap(), - c: 11, + c: 250, d: List::::try_from(Vec::::from_iter([ - 23, 206, 127, 68, 96, 28, 185, 87, 18, 206, 94, 235, 156, 137, 17, 193, 39, 92, 135, - 234, 85, 44, 19, 55, 74, 177, 188, 29, 103, 226, 44, 84, 55, 101, 74, 230, 117, 236, - 218, 188, 128, 243, 92, 8, 46, 86, 198, 179, 87, 119, 166, 207, 247, 216, 170, 217, 96, - 7, 221, 152, 63, 161, 86, 165, 225, 110, 113, 186, 239, 173, 13, 22, 144, 166, 9, 69, - 40, 110, 100, 80, 88, 34, 22, 94, 202, 189, 35, 184, 79, 184, 92, 223, 47, 156, 23, - 163, 91, 64, 210, 70, 174, 184, 13, 171, 51, 100, 67, 53, 124, 37, 140, 79, 203, 208, - 206, 251, 68, 71, 250, 235, 176, 149, 149, 200, 182, 216, 217, 231, 126, 205, 40, 185, - 155, 147, 159, 159, 95, 19, 236, 34, 227, 25, 120, 170, 205, 39, 108, 110, 67, 120, - 243, 21, 65, 179, 40, 167, 179, 192, 109, 133, 10, 218, 28, 160, 243, 105, 24, 213, 56, - 78, 150, 246, 99, 88, 140, 110, 1, 94, 30, 221, 215, 133, 61, 196, 44, 220, 124, 185, - 44, 82, 160, 198, 81, 244, 154, 54, 213, 237, 162, 239, 41, 3, 69, 111, 103, 1, 201, - 29, 184, 248, 254, 179, 221, 214, 96, 192, 14, 153, 190, 34, 157, 176, 218, 235, 133, - 10, 98, 60, 237, 34, 156, 42, 29, 225, 204, 61, 236, 224, 119, 96, 63, 13, 249, 2, 162, - 234, 148, 37, 199, 237, 137, 243, 121, 155, 133, 193, + 35, 210, 33, 112, 187, 147, 48, 91, 156, 105, 238, 219, 117, 100, 200, 235, 191, 6, + 115, 210, 221, 78, 181, 61, 189, 5, 165, 235, 210, 230, 252, 143, 236, 219, 212, 17, + 117, 56, 198, 82, 187, 155, 134, 148, 17, 109, 251, 103, 184, 201, 98, 14, 223, 252, + 205, 86, 71, 200, 122, 163, 99, 29, 108, 156, 165, 212, 118, 240, 187, 123, 0, 252, + 146, 235, 33, 59, 26, 138, 135, 215, 215, 0, 164, 189, 147, 15, 210, 10, 99, 77, 29, + 73, 125, 72, 225, 185, 56, 39, 231, 199, 165, 38, 134, 44, 152, 209, 170, 38, 156, 226, + 99, 143, 67, 241, 234, 70, 28, 229, 255, 105, 152, 137, 10, 151, 20, 225, 211, 181, 23, + 47, 23, 223, 20, 85, 99, 150, 50, 255, 248, 227, 190, 249, 164, 208, 151, 104, 134, + 163, 78, 96, 56, 37, 76, 118, 61, 170, 49, 69, 175, 33, 0, 99, 208, 112, 79, 45, 200, + 159, 49, 240, 101, 156, 251, 94, 169, 201, 18, 241, 0, 170, 173, 14, 84, 100, 186, 168, + 158, 116, 122, 223, 112, 12, 111, 83, 99, 63, 13, 182, 139, 40, 9, 0, 164, 191, 156, + 176, 36, 117, 85, 98, 214, 117, 38, 12, 100, 37, 49, 208, 235, 209, 133, 159, 146, 234, + 207, 245, 223, 102, 176, 43, 63, 201, 34, 172, 111, 88, 177, 209, 34, 138, 145, 13, + 222, 130, 253, 186, 49, 87, 212, 156, 231, 136, 186, 199, 171, 140, ])) .unwrap(), e: VarTestStruct { - a: 17184, + a: 58150, b: List::::try_from(Vec::::from_iter([ - 59369, 53687, 12570, 39161, 59430, 3090, 17863, 22211, 2669, 50509, 59882, 22858, - 49824, 20553, 9648, 49698, 5967, 21001, 65028, 10108, 39476, 59598, 34704, 8646, - 37968, 37897, 31296, 60081, 62822, 47017, 17915, 5145, 11738, 54916, 25290, 43720, - 20721, 6569, 33528, 10785, 29601, 8051, 4528, 38376, 50664, 53339, 30638, 20398, - 3683, 56945, 15937, 36951, 31088, 1674, 41055, 35522, 4853, 4534, 5708, 40058, - 15905, 13370, 36470, 25169, 20632, 21965, 15158, 12507, 882, 55238, 39589, 18301, - 22884, 735, 58426, 8608, 30099, 34829, 18361, 4599, 43627, 49126, 22766, 41253, - 20459, 13862, 17731, 24093, 43777, 20468, 20097, 41682, 62197, 46004, 12054, 14961, - 64176, 46905, 29880, 4368, 18864, 30556, 15212, 9247, 59219, 51053, 44791, 26776, - 60456, 53819, 56955, 1951, 42635, 43913, 16204, 40262, 28821, 46199, 55048, 5268, - 38787, 26400, 35184, 22964, 42226, 16680, 11207, 32214, 34858, 9050, 61054, 31504, - 57325, 26882, 48617, 1193, 9662, 22462, 40852, 60712, 31058, 12882, 65479, 64889, - 56631, 28126, 31786, 24847, 23628, 109, 14430, 54867, 45293, 8339, 38662, 2381, - 64710, 51029, 57378, 6786, 64775, 45346, 47054, 23888, 41221, 21552, 33824, 1854, - 62580, 7749, 42902, 985, 56878, 52609, 52844, 17699, 10114, 9858, 34795, 63453, - 2219, 6192, 16763, 10375, 31901, 31130, 20949, 62176, 61918, 8506, 2751, 21935, - 19114, 13824, 52063, 33857, 52476, 33393, 45905, 1866, 6936, 59985, 31557, 6979, - 11500, 49908, 61153, 20804, 26988, 1325, 60489, 34980, 48024, 10407, 6871, 27561, - 54137, 56016, 50769, 65432, 46878, 20425, 35598, 46223, 26851, 43520, 11083, 30978, - 5730, 63556, 35278, 25719, 55113, 5478, 48671, 62717, 63643, 20672, 56677, 65392, - 59009, 45242, 17687, 17431, 11425, 5198, 63974, 52844, 49078, 60779, 21326, 54842, - 9961, 20375, 49040, 20213, 45682, 19524, 45706, 7824, 16255, 16187, 58831, 30226, - 10506, 12203, 64340, 57345, 13141, 32577, 27515, 18489, 51188, 40114, 2949, 48940, - 26680, 49997, 18295, 26302, 59548, 31565, 16689, 11374, 31363, 28515, 45669, 28840, - 15379, 39937, 54961, 9285, 53444, 54695, 18707, 57091, 28485, 27678, 13805, 55370, - 15952, 50522, 2536, 55714, 20925, 62711, 53439, 57375, 53894, 42499, 33693, 35883, - 55297, 30218, 60290, 7191, 62751, 24426, 56214, 34725, 28773, 26048, 40568, 45997, - 18520, 2488, 26446, 57979, 64616, 6523, 39227, 39077, 10814, 27316, 4512, 3777, - 37195, 31629, 56082, 8526, 59343, 21549, 19036, 37873, 65011, 19568, 11078, 7080, - 45097, 44287, 51603, 17099, 4036, 16632, 50265, 35893, 43345, 50038, 21665, 3142, - 44477, 55546, 9366, 55448, 29773, 29014, 28527, 34707, 59802, 53765, 27216, 28034, - 3593, 8531, 34638, 28731, 14010, 32021, 4480, 40401, 23953, 56050, 29523, 9455, - 31827, 34026, 17107, 43270, 7050, 63996, 38298, 1298, 48022, 38236, 35171, 6375, - 41023, 32213, 50731, 24903, 15765, 10364, 40504, 5418, 52798, 32340, 4097, 51261, - 30060, 40747, 36849, 52137, 3808, 19961, 32008, 30895, 54287, 52624, 47677, 12487, - 50659, 64622, 32649, 5021, 55935, 59339, 45856, 42739, 42813, 414, 53430, 31005, - 50609, 16418, 26268, 26848, 900, 43362, 1176, 44999, 21361, 3058, 3329, 61641, - 55280, 38902, 43916, 1983, 52887, 63012, 58342, 51664, 62887, 46974, 34351, 48499, - 49047, 18556, 11978, 7063, 61734, 57109, 65177, 12245, 5327, 39202, 55123, 40082, - 6316, 45423, 54217, 10072, 6925, 53447, 18466, 27754, 47357, 53776, 13437, 31653, - 13471, 21062, 56273, 50069, 44566, 47743, 37080, 57940, 38546, 13805, 39582, 11099, - 30543, 40856, 8010, 58972, 39205, 10302, 18926, 34275, 20025, 64854, 58859, 22397, - 16419, 5630, 48611, 27645, 9519, 58634, 33678, 59924, 11508, 36577, 20014, 24184, - 2160, 37721, 10887, 43033, 26938, 14951, 25659, 17789, 20640, 16717, 62517, 33962, - 53805, 2497, 46491, 5404, 48334, 65356, 52186, 48158, 26782, 44497, 23125, 63869, - 38584, 21214, 46755, 9974, 44730, 34948, 4206, 42048, 16286, 25249, 42831, 58891, - 10275, 20747, 43294, 17679, 54866, 12893, 20687, 64671, 33902, 35109, 24446, 21001, - 22560, 28440, 31315, 34285, 6951, 59745, 35419, 41182, 32435, 31764, 31778, 46523, - 51953, 15682, 28523, 53325, 50132, 38317, 46725, 18939, 55067, 56698, 39978, 53906, - 14483, 35592, 32977, 31505, 28480, 19994, 25060, 46073, 11287, 40659, 37444, 10019, - 20976, 42683, 56405, 15647, 2139, 27532, 23574, 3405, 10848, 29620, 9891, 49743, - 3659, 53838, 12335, 64348, 14180, 23699, 54596, 24746, 11277, 34639, 62599, 27559, - 54469, 7986, 24429, 63411, 51961, 25325, 27962, 45597, 43207, 59884, 37600, 47896, - 23440, 28985, 17759, 15175, 20812, 44569, 11648, 2445, 2547, 10443, 26976, 64387, - 48064, 62187, 42657, 64823, 17531, 5499, 62738, 4928, 60640, 12039, 52690, 64951, - 55795, 39093, 24211, 31382, 983, 53152, 33889, 38780, 50039, 47730, 49479, 57141, - 6027, 32006, 53012, 53988, 51614, 4085, 53782, 28969, 18301, 63374, 56984, 55478, - 16687, 772, 32990, 59305, 32300, 45594, 22768, 41224, 62228, 35857, 3946, 9389, - 15951, 8838, 5998, 49547, 17878, 21177, 11729, 37860, 37265, 37883, 45491, 31615, - 17208, 669, 61877, 47969, 10331, 42942, 12634, 4704, 30741, 4325, 39356, 11383, - 19210, 48664, 30365, 55558, 24065, 22970, 50995, 64266, 33696, 37543, 57085, 11944, - 19624, 20961, 64562, 26022, 43090, 4975, 3719, 60358, 50565, 26522, 21941, 27352, - 32846, 10316, 27274, 52255, 4139, 13232, 23075, 5956, 15618, 6838, 29241, 16121, - 18590, 33835, 62976, 24294, 4236, 44277, 48144, 33708, 5260, 1125, 31974, 24100, - 52755, 57691, 33401, 55406, 35893, 39810, 40516, 31625, 48075, 16067, 10472, 2451, - 29373, 35575, 13384, 64609, 24827, 48314, 46332, 61496, 23730, 63986, 4446, 27749, - 60825, 27415, 60957, 53068, 36771, 39965, 56202, 9083, 63771, 46114, 48850, 49914, - 57377, 12698, 41935, 52264, 61566, 55021, 35163, 24740, 45998, 29660, 52828, 27484, - 28787, 61850, 54104, 35530, 7373, 56657, 40295, 14445, 57763, 47856, 53837, 18523, - 45390, 24388, 26471, 38936, 63502, 1791, 51251, 14292, 31815, 55645, 22124, 198, - 31124, 50124, 60554, 12197, 42194, 7215, 28703, 50953, 46197, 35764, 43501, 1505, - 6640, 63262, 51772, 56840, 25288, 27496, 38161, 51063, 32680, 23705, 12486, 13106, - 23863, 40240, 55526, 15361, 54764, 49655, 16975, 52821, 37487, 18022, 35656, 25004, - 3798, 23595, 9486, 30723, 53884, 57907, 13600, 23494, 34758, 6125, 52471, 59052, - 20726, 4456, 41166, 3445, 944, 30855, 3938, 39365, 60479, 46851, 25921, 23572, - 44699, 19690, 17601, 9294, 48025, 62309, 63039, 5945, 40147, 40248, 30163, 7883, - 44262, 53301, 40053, 55808, 44905, 61604, 669, 59464, 4273, 51298, 27900, 59252, - 64228, 35589, 43883, 62461, 22710, 55778, 19633, 58823, 28784, 16077, 22747, 8268, - 63493, 58144, 8674, 376, 43580, 63447, 7363, 65509, 31876, 38802, 51621, 60130, - 53630, 43744, 3769, 32622, 46635, 45858, 16491, 58299, 893, 9978, 43663, 30752, - 39282, 35577, 50070, 9185, 16642, 39582, 12262, 25045, 59891, 37727, 47173, 10716, - 16822, 5715, 29662, 35, 39780, 42432, 37969, 27245, 3570, 1346, 53054, 18591, - 28480, 50803, 27633, 2699, 13511, 59700, 40383, 39077, 56934, 41897, 10201, 12963, - 45342, 46010, 40780, 42470, 39053, 48233, 55776, 43951, 60952, 54600, 4599, 62155, - 1892, 47008, 3379, 36053, 54895, 32445, 63889, 44565, 5123, 47150, 29285, 61861, - 51390, 40000, 62525, 51618, + 28375, 58221, 41145, 32357, 1664, 57869, 13675, 35989, 49729, 26286, 64527, 44083, + 50267, 27448, 34519, 3283, 60852, 63342, 40004, 35369, 30566, 21773, 18301, 59649, + 7569, 50344, 46676, 17930, 10745, 52690, 57680, 1384, 10842, 54891, 65494, 16900, + 49987, 44177, 25269, 16949, 60887, 3941, 10023, 22469, 61976, 63026, 44690, 15845, + 8017, 59159, 1637, 47743, 13948, 32319, 29050, 50525, 13954, 19511, 53874, 59934, + 60668, 27052, 3576, 37153, 5832, 20342, 31511, 29631, 13707, 65518, 36833, 45582, + 20628, 31310, 60814, 19798, 30013, 58186, 44674, 45819, 62235, 9803, 15318, 36806, + 29814, 8759, 31328, 12085, 59511, 27639, 38322, 36305, 35942, 18714, 53126, 15704, + 5161, 73, 28208, 5106, 40668, 55453, 13761, 18509, 27411, 40681, 44371, 11459, + 43334, 43283, 49557, 34276, 34263, 18122, 24981, 60351, 29562, 23301, 28407, 38218, + 62851, 47538, 37942, 12176, 52646, 18213, 980, 18458, 21438, 21869, 21069, 46735, + 47700, 10282, 5030, 34532, 31856, 21106, 56536, 56941, 15490, 5424, 48271, 22437, + 17636, 56304, 21694, 13921, 10890, 30935, 65255, 15202, 13200, 55152, 49984, 64350, + 64190, 55396, 30081, 40652, 28707, 36318, 13352, 48148, 23019, 19405, 3066, 47303, + 52657, 29852, 49627, 41773, 4718, 598, 28502, 60987, 43692, 9108, 43528, 48462, + 26998, 55727, 15543, 25347, 29289, 14577, 1670, 49577, 19860, 45573, 54837, 17472, + 18756, 44889, 14991, 1515, 32803, 48145, 21595, 19652, 4710, 23304, 39417, 7918, + 34936, 41671, 35693, 14717, 23279, 23870, 8924, 36944, 4427, 752, 32567, 10910, + 19039, 55410, 7733, 8427, 13830, 48607, 31085, 23343, 23847, 18518, 8019, 19893, + 58818, 13052, 35223, 10088, 57577, 14274, 5466, 61505, 14397, 20959, 13589, 60803, + 44786, 34183, 29388, 18951, 12203, 52757, 45107, 20924, 41979, 28307, 34069, 25333, + 27807, 32264, 43868, 17788, 29153, 16431, 48032, 17888, 41411, 56308, 2, 6695, + 10935, 48781, 43941, 62390, 22558, 28772, 12397, 50375, 64923, 56284, 44290, 4288, + 33833, 16440, 18649, 54317, 59248, 51589, 54749, 33695, 1348, 10750, 58660, 55582, + 43318, 842, 45, 43800, 22637, 18496, 23078, 61830, 8797, 36543, 51813, 19150, + 51513, 51109, 40101, 5082, 43947, 30362, 53914, 2190, 12651, 8587, 44746, 52970, + 64474, 61806, 5650, 6620, 63698, 5893, 22999, 9332, 56506, 22347, 28741, 54123, + 23263, 42707, 63813, 15870, 56784, 150, 11640, 4029, 7484, 790, 37465, 12951, 1233, + 56496, 48523, 10045, 28780, 37987, 63093, 23471, 30390, 34022, 9484, 58517, 44462, + 19112, 28290, 64440, 18120, 40954, 62676, 7008, 13962, 54984, 17172, 32919, 61142, + 41814, 12788, 28297, 3791, 45471, 30443, 22098, 12566, 28470, 21197, 22694, 7963, + 7772, 41589, 59990, 56795, 54740, 7022, 56014, 18619, 36740, 4500, 34963, 53211, + 17261, 4145, 37154, 19986, 43903, 26165, 29420, 64201, 15729, 15956, 42823, 1475, + 7137, 32108, 26635, 41910, 65517, 54285, 55628, 24778, 60958, 27893, 52969, 22786, + 16070, 3097, 9016, 18905, 6510, 20739, 30262, 12217, 10171, 10699, 15860, 21922, + 62626, 2849, 26393, 13509, 44374, 22478, 16598, 2442, 35425, 34232, 64801, 13569, + 33877, 63493, 23856, 12910, 56640, 24645, 30277, 21555, 40677, 18783, 44023, 20131, + 7527, 20375, 63956, 46726, 20608, 17139, 19476, 3477, 64523, 52059, 19526, 17394, + 57143, 31792, 62867, 16734, 56946, 53330, 17317, 24629, 41244, 30946, 37039, 61422, + 55935, 50574, 1049, 36279, 59209, 53991, 20968, 5286, 6720, 38891, 6823, 888, + 10192, 27267, 53894, 31583, 52868, 41408, 47190, 38338, 18671, 15046, 36256, 40596, + 22827, 22250, 405, 29253, 10027, 2155, 54481, 14021, 30918, 19853, 2571, 24299, + 24057, 34154, 4806, 17219, 6716, 41710, 41292, 36490, 59387, 387, 13282, 40783, + 32502, 51885, 10715, 47061, 60087, 60490, 60576, 33242, 4772, 7260, 48628, 62850, + 45515, 2030, 22255, 51734, 32005, 8489, 40064, 57951, 2720, 48489, 44505, 9257, + 36382, 12953, 56376, 63298, 64278, 2769, 16330, 18864, 44393, 52507, 3427, 20562, + 65432, 14733, 4647, 53458, 64805, 55385, 40424, 53899, 7460, 25501, 20486, 50181, + 20061, 30783, 3153, 37987, 22288, 61066, 29808, 15995, 10585, 33663, 34543, 26007, + 23913, 62267, 49703, 23390, 55425, 19485, 17121, 44531, 4094, 32941, 17454, 32358, + 22177, 27919, 27215, 26345, 16975, 36517, 61898, 40440, 32515, 33802, 16632, 5226, + 25817, 63632, 41165, 40082, 28264, 44057, 60594, 42564, 41906, 28205, 35183, 10188, + 59644, 6293, 14679, 51165, 58128, 46776, 33987, 45399, 46177, 22498, 41427, 40014, + 49718, 59135, 24675, 26921, 4328, 56179, 49374, 50808, 26062, 46246, 16649, 60154, + 12596, 26360, 13768, 27301, 50349, 26066, 64172, 47610, 55514, 8764, 62015, 63086, + 27632, 41705, 63582, 1288, 63506, 5810, 65503, 26449, 16293, 3129, 15541, 39735, + 41940, 12309, 41197, 6947, 7351, 27575, 42095, 7418, 21122, 36041, 53537, 16988, + 25978, 41817, 51005, 8209, 60786, 18328, 59131, 18865, 36696, 10982, 35201, 38825, + 25336, 2358, 40828, 55543, 43385, 5054, 50406, 16618, 55789, 19667, 25421, 28399, + 2524, 45630, 14183, 5632, 52200, 45566, 26257, 23502, 49474, 49330, 50417, 25191, + 51210, 64374, 34010, 65406, 31787, 33873, 62361, 52923, 30090, 38395, 61522, 6542, + 1687, 36154, 12044, 26590, 54522, 27254, 20341, 57812, 15919, 64081, 11500, 37268, + 56753, 58201, 61164, 32780, 44472, 26289, 22851, 60136, 1476, 30248, 35190, 20989, + 24663, 34995, 4432, 44128, 6635, 46005, 7393, 39515, 2871, 29986, 29749, 50079, + 36948, 34487, 59993, 12757, 57152, 20192, 5776, 23616, 51020, 42344, 16934, 25068, + 33204, 56066, 57846, 16551, 11423, 46229, 49283, 10710, 834, 53793, 26481, 7233, + 15416, 47358, 40005, 43889, 52539, 8561, 60718, 34482, 37970, 48864, 36847, 34941, + 6042, 734, 13559, 65307, 24069, 56211, 63235, 8503, 36787, 58113, 62242, 55660, + 30944, 42380, 22261, 44119, 7916, 9903, 13525, 14513, 2720, 42721, 3513, 63495, + 24992, 33404, 37099, 31517, 47922, 28095, 12195, 56497, 60157, 59855, 55384, 28603, + 31811, 13162, 62639, 16688, 43366, 21377, 29904, 10793, 10645, 44144, 14836, 57708, + 59748, 9145, 25175, 64324, 4664, 151, 44634, 43351, 23400, 64555, 20191, 2702, + 30879, 48431, 5694, 14436, 4924, 36958, 15660, 5294, 61227, 28847, 21116, 4999, + 17946, 23859, 39921, 51429, 32450, 50129, 16084, 61858, 48685, 47145, 46495, 22796, + 20777, 32161, 52813, 57967, 21575, 60176, 47299, 60912, 38332, 28302, 54683, 52211, + 929, 5025, 41998, 36619, 17771, 16712, 37397, 7502, 24590, 32974, 63998, 5914, + 43280, 61120, 27778, 1558, 24839, 27343, 18623, 32180, 6320, 8764, 32613, 59302, + 54110, 63461, 41102, 60618, 23378, 9764, 60883, 61403, 62898, 29789, 10343, 2496, + 59042, 25765, 55100, 59014, 61844, 16541, 24325, 24263, 32675, 11017, 37568, 62902, + 3396, 43313, 58237, 38512, 65225, 29192, 57963, 63687, 14971, 43291, 31524, 29912, + 65468, 51212, 48846, 44133, 618, 13987, 28545, 20894, 9351, 46583, 2088, 3439, + 28894, 30305, 60376, 30077, 36410, 19646, 50906, 8164, 48525, 17178, 5325, 48213, + 54335, 24349, 9710, 22967, 44316, 5782, 26138, 11941, 36293, 50938, 49133, 5500, + 41539, 51770, 36701, 39085, 33344, 30340, 56475, 33883, 57074, 60492, 49022, 58091, + 4384, 5411, 33155, 56957, 36746, 23977, 15290, 816, 21135, 63003, 49998, 23391, + 29302, 14140, 7253, 46182, 5993, 63370, 2166, 23187, 35562, 27379, 58117, 30136, + 43811, 96, 3774, ])) .unwrap(), - c: 72, + c: 105, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 250, b: 6141795178871855673, c: 240645572 }, - FixedTestStruct { a: 21, b: 4877910149201583175, c: 1417391071 }, - FixedTestStruct { a: 84, b: 7661562362140687688, c: 34213759 }, - FixedTestStruct { a: 148, b: 17897429674566788394, c: 859275185 }, + FixedTestStruct { a: 129, b: 4365870474151103771, c: 3073914233 }, + FixedTestStruct { a: 27, b: 34960855107345240, c: 2881905467 }, + FixedTestStruct { a: 79, b: 258237538561784111, c: 2295427765 }, + FixedTestStruct { a: 39, b: 9916630652249637025, c: 3021856725 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 59524, + a: 60806, b: List::::try_from(Vec::::from_iter([ - 10829, 17303, 14277, 18963, 26241, 29327, 14882, 15208, 16925, 43597, 63407, - 22188, 9080, 32634, 27816, 31164, 62634, 43697, 25236, 21639, 49155, 62153, - 42459, 8754, 63899, 3773, 30550, 31486, 42200, 23508, 22649, 40233, 64909, - 58136, 29268, 23491, 43831, 54614, 32649, 34803, 4503, 40920, 17028, 11498, - 5441, 25244, 12038, 44684, 52919, 46024, 61494, 13879, 16946, 44122, 13281, - 12881, 41775, 65006, 42076, 10505, 40143, 34603, 4030, 64491, 26608, 17982, - 26953, 33797, 31453, 48743, 43486, 17025, 31087, 821, 52611, 9933, 17022, - 10248, 53814, 63518, 30466, 44358, 6696, 61013, 45985, 65252, 52476, 20982, - 23284, 61884, 51368, 5673, 15481, 19431, 3358, 11464, 4673, 42707, 52054, - 61137, 46937, 51377, 21535, 15120, 48203, 25496, 32564, 12175, 9803, 46362, - 30395, 40246, 36898, 44829, 8585, 19954, 64971, 25362, 9883, 19115, 8842, - 58710, 42571, 11367, 29933, 45983, 11034, 59508, 24039, 5616, 23038, 30185, - 61232, 64372, 41890, 19531, 42215, 57345, 43408, 8060, 24106, 25020, 52510, - 38991, 61735, 38145, 46877, 27423, 3309, 21204, 8143, 5051, 51914, 46824, - 21030, 6891, 26973, 11863, 28466, 27450, 2527, 51543, 14911, 21882, 19565, - 54303, 19662, 25798, 31502, 9075, 62792, 49623, 23414, 14861, 65416, 4226, - 2008, 49016, 29194, 19835, 51380, 5755, 40770, 31484, 43928, 10351, 11727, - 25702, 58126, 37719, 52682, 42108, 59305, 7372, 289, 64507, 62580, 13835, - 24241, 60477, 60121, 24444, 15733, 37288, 34648, 44120, 40895, 18533, 42645, - 215, 56618, 1989, 63331, 56068, 60311, 10840, 8487, 18087, 44964, 48359, 57762, - 1169, 6688, 54151, 39816, 52091, 43107, 21641, 56201, 25746, 19717, 15893, 654, - 29840, 28169, 52558, 16703, 13994, 31133, 54566, 34082, 65437, 32360, 29933, - 52655, 61439, 16938, 47562, 24921, 44634, 34257, 39447, 59598, 59472, 43706, - 26065, 48002, 28380, 18207, 629, 43865, 3243, 51644, 54683, 44853, 29618, - 57015, 26648, 49254, 9596, 21030, 41724, 46454, 23808, 10018, 50893, 46422, - 5251, 39365, 30830, 20429, 38407, 8564, 28002, 53564, 48937, 33163, 15429, - 15749, 2993, 24196, 1219, 5311, 50065, 44914, 37887, 59655, 61649, 53208, - 54533, 47065, 59893, 19225, 39982, 44831, 41041, 46626, 64086, 36379, 48387, - 16249, 40636, 36520, 37238, 30167, 36199, 42774, 22724, 31869, 20324, 40607, - 44299, 24685, 32488, 1935, 59249, 28563, 49592, 29837, 28784, 26734, 48026, - 40239, 4445, 52448, 6425, 2400, 38266, 30416, 15235, 30324, 2333, 42479, 53606, - 59885, 9452, 2350, 24415, 3614, 61364, 48457, 1498, 9036, 8070, 20971, 3733, - 22393, 60486, 6966, 6830, 61645, 34014, 45532, 21062, 4815, 40350, 8731, 10248, - 32955, 47230, 14286, 31244, 49723, 64216, 12573, 12644, 44735, 19615, 42728, - 40653, 8495, 6463, 17091, 11961, 30409, 57657, 38752, 13856, 15847, 62969, - 4789, 15671, 33889, 40836, 46091, 47581, 35699, 1886, 64209, 196, 49619, 16402, - 35657, 44018, 59823, 60110, 48784, 25695, 8509, 9033, 5485, 45987, 28498, - 28543, 18362, 14544, 10102, 60514, 58998, 31860, 23063, 15291, 28445, 7425, - 33623, 3575, 7521, 23322, 30292, 52055, 19063, 51342, 41872, 23888, 54621, - 60424, 19240, 17936, 61444, 13973, 63622, 16994, 40654, 32290, 9233, 60248, - 45059, 16571, 10451, 388, 41036, 60733, 34731, 1248, 40854, 34310, 32783, - 54912, 62483, 10302, 21839, 25216, 44642, 39043, 44447, 12619, 33529, 5184, - 62792, 32156, 16330, 55631, 2046, 23113, 33092, 1251, 49534, 32221, 23739, - 39058, 2686, 32575, 18530, 19538, 30073, 22914, 63457, 21377, 62501, 19103, - 22077, 61408, 30878, 60002, 2576, 61082, 56812, 35834, 16671, 26752, 32064, - 23410, 15114, 33432, 36189, 7828, 64559, 51227, 39867, 6683, 13568, 64345, - 40496, 1037, 52134, 37084, 9142, 43639, 47880, 16270, 29532, 10371, 22449, - 44545, 41895, 55699, 59155, 21055, 65507, 1817, 5402, 41200, 38564, 21735, - 59250, 15662, 29713, 1806, 54410, 31841, 3973, 44962, 40499, 22720, 30538, - 11332, 34374, 37028, 61218, 33097, 38835, 1146, 26430, 35935, 14509, 60165, - 50617, 12495, 8743, 64394, 26725, 42910, 1047, 62399, 45584, 2281, 62128, - 54498, 8783, 12877, 32881, 3839, 19700, 18676, 19274, 2522, 48559, 34038, - 20723, 24550, 7503, 35805, 28985, 33951, 54134, 51404, 57864, 65463, 43076, - 46714, 56641, 63660, 8794, 61384, 60531, 9664, 38903, 10161, 15870, 30598, - 13795, 16437, 40506, 28740, 6154, 60428, 49781, 57444, 43731, 19968, 28634, - 55137, 13786, 6134, 1519, 40282, 35940, 25174, 50285, 41906, 61046, 21095, - 47444, 36991, 31116, 43711, 61524, 39282, 17378, 17051, 12921, 38646, 35919, - 44758, 16522, 21515, 10094, 24938, 23822, 15701, 3835, 52747, 29305, 17662, - 8633, 56088, 3070, 3360, 17883, 20682, 46010, 646, 26974, 31499, 43764, 25366, - 25701, 28938, 37614, 58246, 28876, 56429, 48124, 26057, 3323, 34945, 29008, - 40465, 40907, 28642, 52930, 44602, 5221, 27830, 3138, 31935, 21989, 14863, - 17154, 4971, 400, 25004, 25841, 9157, 26822, 30926, 1715, 4031, 43256, 25072, - 62071, 38596, 24388, 64715, 61618, 40439, 30437, 57693, 15064, 12610, 26813, - 62837, 60826, 22328, 15650, 51738, 11278, 22588, 8096, 47194, 40188, 12709, - 40663, 24962, 47915, 3999, 26531, 25148, 55305, 10590, 2934, 50982, 63596, - 30391, 1241, 56272, 49079, 28504, 30694, 64376, 45874, 38405, 52669, 31784, - 9810, 38049, 61769, 17896, 39815, 33058, 36507, 30802, 43174, 13842, 9532, - 3986, 30556, 9170, 58461, 60882, 9645, 2747, 61918, 9507, 35029, 14685, 25016, - 4132, 2229, 10158, 61199, 45253, 17766, 13821, 58966, 21249, 49476, 15232, - 27071, 45929, 7407, 48478, 16799, 56816, 7577, 13357, 51450, 51323, 36165, - 7604, 60233, 14632, 22801, 63658, 61743, 57000, 45560, 12439, 50497, 1737, 661, - 60834, 3218, 11662, 63660, 22961, 38192, 32605, 35503, 20075, 51982, 55188, - 50737, 48657, 2448, 43453, 25893, 40412, 20129, 29870, 50190, 38953, 27855, - 30688, 20362, 808, 30355, 53214, 4536, 29502, 36597, 50964, 2098, 56085, 15741, - 3210, 4346, 45395, 48777, 64625, 25194, 43703, 15077, 29871, 16452, 15502, - 22278, 6070, 36034, 34465, 33077, 56059, 34837, 65063, 9523, 59050, 25322, - 10260, 47546, 36821, 23635, 22743, 3881, 25441, 41951, 56260, 36813, 30884, - 9080, 53639, 29467, 62037, 59505, 10290, 41577, 21843, 22248, 19168, 61051, - 12845, 12552, 22163, 18666, 56439, 63015, 6673, 57774, 2087, 2859, 7621, 53684, - 8000, 8837, 39627, 2328, 35823, 30843, 17826, 60431, 10991, 40223, 5530, 61596, - 4337, 11434, 54912, 33118, 35117, 31593, 34435, 20067, 28565, 57213, 2946, - 48275, 63039, 30883, 26791, 4894, 61034, 60199, 38558, 24715, 14570, 61617, - 17923, 4570, 57095, 41794, 32421, 32162, 1552, 29918, 30492, 9783, 8326, 17119, - 2817, 25380, 786, 54780, 32247, 32633, 29672, 25028, 38667, 30829, 44200, - 56739, 43971, 43486, 51603, 61797, 1846, 22999, 30932, 30404, 52770, 24960, - 1720, 20527, 2063, 63381, 8403, 23610, 27404, 31122, 46604, 40343, 61974, - 29104, 13733, 15144, 18222, 7145, 44018, 202, 53993, 43841, 18802, 10973, - 46184, 36611, 36570, 11686, 20815, 12120, 55460, 62963, 58393, 19002, 14194, - 61571, 1966, 37737, 877, 43509, 50443, 51770, 28544, 30703, 22948, 14718, - 33988, 37425, 29980, 28674, 62494, 25223, 34219, 31488, 46045, 29638, 2399, - 11514, 14584, 64887, 56279, 22625, 8510, 42610, 12916, 48421, 36341, 21345, - 62956, 26679, 35104, 56011, 52969, 33573, 59036, 62433, 9469, + 1668, 1285, 26968, 24028, 22219, 30539, 10736, 61246, 7153, 7264, 28743, 6875, + 29268, 16523, 37945, 14995, 3556, 58115, 48080, 59908, 41327, 61877, 13971, + 49544, 58779, 24167, 54612, 82, 60472, 44148, 5394, 25388, 998, 55884, 13710, + 41974, 34922, 2924, 14985, 17067, 62561, 52349, 16477, 36531, 63531, 9367, + 31905, 51948, 32788, 62758, 61419, 22805, 42614, 48983, 58560, 59449, 51003, + 4670, 42178, 64178, 5369, 18180, 15140, 549, 49920, 7530, 8022, 8947, 46321, + 37341, 53968, 8911, 27877, 9943, 35137, 9290, 44775, 15822, 44224, 42118, + 58108, 36231, 10577, 4135, 2437, 12142, 57741, 2268, 9837, 49160, 26515, 35533, + 34160, 64548, 11263, 29064, 48228, 38086, 8588, 59072, 41763, 5208, 53429, + 14621, 47154, 2569, 31875, 47557, 52821, 31784, 1946, 62841, 36032, 53266, + 53801, 31104, 58821, 7174, 60251, 46169, 63218, 32666, 8864, 20514, 3986, + 34139, 50246, 21116, 17179, 731, 16509, 55272, 7943, 61719, 38468, 11496, + 65253, 52874, 50899, 41388, 29057, 742, 36343, 24386, 41533, 43775, 36046, + 37843, 55988, 38113, 1587, 36260, 36878, 36843, 46937, 63616, 17059, 5390, + 38257, 43741, 31937, 44500, 10816, 27723, 24291, 46673, 31976, 20609, 31489, + 22768, 38325, 12938, 55098, 25582, 33399, 51057, 28773, 49973, 27929, 61877, + 48909, 55460, 38078, 33637, 28262, 10253, 45124, 41303, 5191, 54384, 11636, + 35019, 60946, 591, 1882, 54769, 7793, 9839, 22153, 64547, 26406, 11390, 9220, + 31102, 35423, 36773, 49242, 53616, 44515, 31738, 52805, 51789, 37016, 44101, + 31596, 9795, 42269, 41329, 26191, 19852, 60557, 29405, 65054, 36442, 61384, + 35237, 12547, 24499, 18465, 13944, 5272, 58124, 41906, 644, 60885, 16610, + 34880, 52306, 28769, 22097, 1457, 27566, 36881, 26592, 16397, 15267, 1034, + 51047, 52158, 13318, 59844, 14688, 60401, 39963, 42033, 4434, 22973, 61077, + 11951, 52365, 43727, 13466, 27458, 29107, 42761, 59059, 54721, 22221, 61870, + 22864, 8887, 1565, 48990, 12611, 34921, 44810, 22195, 52793, 36328, 53594, + 13354, 42007, 46393, 51832, 37991, 7350, 25568, 52345, 58688, 59357, 50782, + 16992, 10979, 17782, 16450, 55108, 57901, 40375, 4264, 22711, 42150, 14133, + 38578, 29015, 44963, 32151, 51011, 2195, 10097, 55320, 35593, 56303, 46012, + 27149, 13758, 102, 21121, 54743, 33023, 38343, 49600, 58045, 32741, 28607, + 2666, 35430, 10992, 48301, 3448, 34318, 56213, 17961, 2913, 6647, 2362, 55802, + 39749, 20235, 25474, 9438, 58372, 16058, 42754, 28791, 38553, 71, 63676, 49440, + 47340, 45635, 28594, 58453, 21208, 20377, 37902, 2621, 12658, 48051, 26147, + 31523, 60608, 43958, 64715, 24964, 33880, 38269, 5741, 58705, 42328, 7373, + 33981, 55179, 15633, 61034, 9914, 38072, 52422, 5886, 22928, 5931, 18446, + 44184, 9407, 21727, 59593, 41280, 43583, 16852, 57002, 7826, 52051, 46323, + 54959, 6369, 20124, 20878, 60719, 2803, 59032, 10702, 43579, 21831, 59945, + 45717, 24824, 61062, 47908, 25705, 14592, 26398, 3367, 16535, 2075, 29064, + 29014, 38633, 32085, 11656, 61801, 6831, 38036, 50263, 14750, 47729, 30713, + 47861, 8310, 61704, 5295, 21698, 12498, 16772, 50690, 26423, 33779, 10876, + 29148, 24465, 11881, 3076, 12074, 24399, 40037, 23445, 37884, 31257, 24467, + 61992, 7684, 14961, 13050, 54908, 58700, 48298, 19180, 32297, 10199, 29353, + 13775, 46175, 56844, 62225, 9208, 54164, 43702, 54019, 65416, 33331, 5793, + 58631, 58400, 4524, 19354, 895, 39221, 62862, 16675, 32979, 26242, 62788, + 17905, 27258, 61097, 23700, 50535, 42890, 60667, 41435, 40955, 9493, 36280, + 3870, 20178, 28474, 7798, 47860, 15555, 61921, 56967, 2315, 15531, 21992, + 63981, 58101, 9132, 30593, 62087, 22709, 25602, 48258, 4396, 47111, 55380, + 19837, 46367, 5891, 6190, 6774, 39201, 50797, 50305, 52328, 9377, 37192, 10902, + 51145, 45427, 33454, 1414, 6380, 9608, 63704, 64320, 16965, 44787, 61354, + 32239, 3244, 11398, 48260, 11996, 39826, 13080, 16166, 1297, 61448, 51374, + 50053, 61449, 56459, 38154, 8815, 9728, 45200, 888, 39305, 25442, 37424, 54709, + 26324, 21821, 8227, 15865, 53769, 3235, 19030, 47307, 36025, 49593, 59768, + 21070, 64337, 3642, 28508, 28658, 20690, 9930, 21692, 8151, 64405, 7190, 36306, + 63891, 42031, 19592, 10094, 22981, 3980, 5805, 47915, 38509, 21061, 52968, + 36624, 55391, 34296, 60677, 19728, 18118, 23372, 10724, 46879, 15772, 11525, + 47097, 51930, 20033, 34527, 9939, 24210, 56454, 31174, 3990, 48130, 4998, + 10791, 32986, 57706, 44128, 62626, 14091, 31654, 3005, 7308, 75, 35551, 61377, + 14196, 61884, 57323, 8612, 57849, 25947, 44783, 13300, 44899, 7058, 64039, + 6957, 22334, 35812, 243, 43358, 45718, 15771, 6243, 33619, 39268, 30156, 57491, + 7536, 58356, 19193, 29025, 9804, 22770, 28239, 56104, 14830, 38346, 5732, + 55885, 18705, 10299, 49320, 32207, 6092, 52296, 25920, 45714, 56861, 52086, + 56633, 13108, 34860, 61085, 60645, 64823, 11514, 54765, 60115, 25518, 14790, + 64103, 63143, 52637, 17316, 16641, 43714, 13720, 56354, 33677, 62462, 48744, + 48565, 60516, 63618, 57892, 4332, 57403, 27425, 12202, 64302, 8753, 58368, + 7993, 28185, 53814, 24689, 29917, 567, 25469, 37018, 53080, 7462, 48288, 20872, + 669, 7416, 32145, 45540, 18274, 30247, 28450, 50316, 39103, 18406, 13409, + 14623, 10269, 12479, 32652, 24845, 50403, 5469, 16926, 44523, 32913, 15066, + 41282, 50229, 30811, 59217, 15779, 51522, 65290, 15079, 20765, 2805, 52174, + 54509, 32779, 63164, 31337, 19558, 15719, 62818, 39116, 2044, 25155, 65366, + 16392, 49378, 39853, 56155, 58167, 6938, 29798, 48201, 3561, 8580, 46938, + 58688, 41813, 41373, 50473, 47465, 55634, 53596, 63348, 46884, 19395, 49791, + 14750, 37129, 39382, 12060, 54313, 56428, 2369, 61755, 2574, 49412, 51540, + 47304, 58640, 59537, 1169, 27771, 2631, 6077, 23448, 61208, 29025, 38974, 8951, + 4553, 15720, 683, 64158, 11648, 3432, 6313, 19649, 3030, 53524, 58604, 23389, + 9115, 14443, 53676, 64593, 63378, 10878, 43138, 8374, 8865, 17183, 59080, + 30477, 42907, 30646, 10960, 49556, 62228, 60597, 62598, 4833, 44284, 19733, + 11670, 40299, 19668, 16209, 43703, 15122, 34724, 45144, 49048, 39975, 6908, + 60485, 18947, 35805, 30174, 30388, 25460, 48228, 13691, 340, 19681, 25228, + 4020, 1913, 26867, 46450, 14852, 14485, 63692, 26457, 12697, 25538, 12984, + 45712, 59549, 4717, 21, 7105, 30283, 20495, 58524, 63885, 1652, 15280, 54894, + 46077, 46129, 8967, 11132, 58176, 1043, 59413, 2563, 56043, 46634, 36334, + 17017, 63996, 1563, 12164, 13454, 58660, 8189, 28871, 32763, 1380, 60920, 7729, + 45523, 21453, 35646, 64849, 57412, 61930, 6457, 63918, 40903, 29391, 45920, + 63909, 53202, 31653, 6597, 36449, 50872, 17834, 16796, 37348, 45142, 59672, + 10168, 53048, 50879, 7633, 49646, 32455, 24835, 32701, 30875, 24474, 59281, + 33069, 53729, 22030, 59425, 17324, 52269, 2751, 23244, 31323, 15545, 30871, + 26895, 64413, 57317, 8776, 19517, 21360, 35833, 7284, 14168, 8355, 49100, + 22031, 7302, 35598, 53730, 65187, 265, 32312, 30216, 59751, 5657, 52341, 1986, + 64785, 4745, 41132, 22262, 14629, 30998, 57032, 11955, 204, 963, 10315, 36272, + 12862, 4223, 43658, 55565, 28146, 2067, 15527, 7660, 21725, 44167, 23399, + 47310, 60642, 62286, 48685, 55178, 28134, 28969, 28238, 35621, 64728, 59882, + 60998, 1341, 26206, 21975, 36226, 50508, 36824, 34108, 57115, 43592, 36989, + 54318, 4303, 16337, 25397, ])) .unwrap(), - c: 219, + c: 250, }, VarTestStruct { - a: 39373, + a: 4703, b: List::::try_from(Vec::::from_iter([ - 56408, 61365, 9279, 903, 31115, 9775, 20507, 30317, 59362, 20743, 16552, 36108, - 22961, 29672, 19552, 7599, 53970, 10548, 44814, 26173, 34010, 47860, 51321, - 6361, 25857, 31826, 39286, 47620, 11766, 56215, 4605, 10337, 62081, 24409, - 53653, 40085, 41398, 63566, 64952, 7760, 50321, 44674, 37374, 56430, 59559, - 57198, 49443, 34044, 35741, 161, 43887, 52933, 62906, 43096, 51604, 15862, - 51233, 15259, 21807, 57071, 3441, 1511, 31170, 41454, 8954, 9172, 57618, 43042, - 3033, 44658, 9027, 36312, 19295, 17776, 28204, 35318, 46442, 58706, 36036, - 55999, 5093, 43984, 965, 9625, 7709, 63228, 20605, 37067, 6769, 41433, 53186, - 34211, 50131, 39599, 2251, 63553, 37999, 43484, 55553, 53746, 18529, 59223, - 38433, 59691, 38064, 12606, 65327, 33034, 7029, 24552, 44816, 41365, 51567, - 64669, 19201, 42688, 38528, 39033, 48477, 12300, 5379, 9857, 17916, 19525, - 42405, 52703, 3852, 46739, 9812, 17890, 5110, 19733, 51544, 31208, 52707, - 55511, 18006, 56766, 64208, 25867, 47373, 3584, 14260, 61945, 36972, 59330, - 2192, 32828, 57735, 34283, 26208, 9812, 40824, 53320, 39120, 42817, 37540, - 16163, 23237, 10288, 56744, 12702, 48690, 20825, 63661, 48530, 35032, 17795, - 38732, 17563, 31140, 32650, 13005, 47348, 42202, 18107, 37143, 37550, 36987, - 42833, 39673, 45124, 29712, 57705, 65523, 11334, 8638, 63758, 1347, 23256, - 61794, 28643, 7932, 53994, 48123, 15101, 32415, 11693, 44867, 4018, 20981, - 56304, 18567, 46173, 42624, 62493, 17947, 11444, 31601, 63509, 53688, 26705, - 34780, 59441, 4223, 1165, 22437, 24073, 38315, 35752, 6247, 21960, 41883, 2717, - 2748, 15746, 65014, 25763, 32571, 38705, 6829, 57172, 74, 14509, 10460, 31342, - 29941, 8177, 59076, 34973, 3263, 11501, 30166, 24257, 38183, 63535, 50092, - 32889, 36441, 63354, 38305, 53303, 3213, 23681, 5572, 35388, 462, 46461, 43912, - 1274, 7902, 55595, 37884, 60574, 25109, 2975, 33298, 19114, 31205, 2818, 34665, - 3779, 30793, 44724, 9318, 36591, 27289, 52378, 61104, 14355, 55356, 44330, - 48788, 876, 51257, 12199, 13437, 8114, 60774, 45122, 40045, 36910, 24480, - 56455, 10682, 17842, 11909, 41220, 6856, 41577, 49591, 12315, 25184, 35994, - 22365, 39470, 10816, 5525, 37553, 59359, 33060, 55583, 39312, 14458, 47779, - 26227, 36099, 51332, 40196, 53651, 35193, 9747, 43226, 16553, 44826, 53065, - 53981, 42011, 20347, 9362, 22629, 23709, 31994, 56931, 58737, 25703, 2646, - 16284, 49768, 24647, 29236, 60764, 58527, 56369, 4809, 23250, 27806, 35791, - 11102, 53887, 25276, 2069, 9642, 20266, 65073, 43662, 20761, 88, 18462, 18770, - 36031, 4105, 46450, 40725, 27026, 45763, 20160, 429, 5378, 62493, 27072, 27921, - 9339, 41361, 26215, 25124, 12275, 53621, 31447, 54567, 13015, 12057, 11482, - 25284, 26461, 19772, 14671, 60076, 42970, 20545, 39285, 48806, 18526, 46229, - 44984, 21961, 27652, 30916, 43254, 1353, 27819, 2085, 31258, 30774, 20656, - 50391, 34354, 27482, 8365, 30907, 49104, 37886, 26300, 58764, 63180, 51505, - 51538, 48915, 58450, 43428, 23072, 907, 20856, 56490, 24597, 51995, 31526, - 57710, 5956, 61340, 16289, 45515, 27164, 40244, 39283, 52718, 60463, 51324, - 40090, 50027, 6180, 40208, 64746, 3223, 15740, 6757, 28504, 55684, 36883, - 55243, 12637, 34100, 37747, 30475, 57033, 12707, 20514, 64054, 58313, 63005, - 7186, 18098, 52147, 31769, 58224, 10269, 47788, 33651, 60201, 53800, 60066, - 4852, 10085, 16673, 45807, 50849, 15683, 16611, 20278, 55287, 13271, 35013, - 1689, 26596, 8575, 13853, 54389, 26815, 63362, 1162, 45603, 12844, 15331, - 44479, 62876, 15124, 42689, 64522, 5962, 52582, 65003, 7455, 17444, 9843, 2507, - 47649, 12074, 53249, 48525, 48339, 22658, 62104, 56643, 8052, 1926, 57580, - 27728, 59257, 25315, 55397, 54876, 34273, 28664, 36367, 11384, 55072, 22230, - 28482, 45237, 11017, 50303, 19031, 43158, 60141, 5823, 43913, 48924, 11649, - 60267, 41252, 7662, 40135, 15391, 47957, 6024, 48096, 49336, 16173, 218, 8025, - 38298, 1174, 44144, 40840, 62862, 12391, 23517, 25079, 28163, 3556, 65389, - 10016, 11329, 5151, 64198, 3087, 47921, 61681, 59733, 4636, 14097, 46441, - 26571, 48353, 19188, 40806, 39466, 23284, 2134, 25586, 18548, 28201, 42970, - 24783, 8710, 28849, 39846, 14968, 1740, 1999, 10183, 36907, 20290, 7701, 39671, - 38204, 26550, 37541, 49517, 40336, 10442, 15375, 11919, 23004, 52051, 44718, - 35874, 49033, 59164, 36017, 14593, 57643, 23764, 37436, 24119, 27665, 14245, - 45119, 1851, 37551, 21221, 10187, 60022, 10133, 45798, 9089, 64769, 64484, - 59298, 9143, 57804, 60470, 40461, 17021, 46515, 21246, 19362, 29937, 37197, - 17341, 19247, 46329, 65029, 59777, 12984, 1102, 20472, 52710, 55114, 40355, - 38902, 39954, 15988, 42346, 50944, 3324, 14443, 56291, 56624, 51149, 4837, - 45824, 908, 10990, 43762, 47420, 36392, 32029, 63092, 935, 60270, 674, 32785, - 43706, 21294, 63739, 5275, 5377, 5008, 12934, 45320, 15789, 35750, 51030, - 14462, 30912, 28011, 20382, 36812, 53357, 54641, 12664, 38116, 19877, 29424, - 23640, 48978, 23960, 25192, 8992, 32128, 52536, 12631, 18256, 37548, 3018, - 7890, 18852, 39566, 51167, 43999, 30760, 36030, 61600, 17772, 2949, 15782, - 38531, 47300, 33921, 33352, 42288, 59053, 52902, 7250, 8833, 7777, 61704, - 55278, 63261, 27673, 54921, 10021, 20363, 65048, 31217, 7995, 12296, 15459, - 52384, 42841, 20855, 34718, 17523, 58745, 19668, 51517, 4777, 49166, 381, - 13850, 47185, 10574, 64896, 55259, 51528, 16563, 13922, 23108, 38405, 6296, - 64938, 41784, 62733, 62107, 9510, 11039, 14394, 5439, 1153, 11329, 65097, 4409, - 39356, 44464, 50017, 43656, 55395, 5742, 37521, 59587, 53723, 22784, 1127, - 54952, 40911, 46916, 11831, 24047, 58220, 49096, 45647, 53394, 12747, 6050, - 12594, 58420, 6597, 57068, 39976, 64932, 22677, 17311, 46285, 35171, 57310, - 41922, 37499, 58495, 22969, 8233, 12616, 35337, 26983, 30778, 33390, 12639, - 49801, 12443, 49862, 37771, 48668, 51982, 60969, 2628, 3656, 24376, 58479, - 39986, 63823, 58562, 61111, 49358, 55661, 6518, 23302, 46538, 35358, 44050, - 7160, 44683, 16253, 51841, 29263, 59470, 42534, 51112, 24861, 20943, 58256, - 36589, 29060, 14946, 57182, 52842, 16995, 42106, 62456, 35985, 43770, 37744, - 26814, 58578, 34821, 792, 18721, 56167, 56742, 36183, 3291, 52187, 11146, 3258, - 6269, 37280, 37380, 5210, 38307, 30216, 56248, 5148, 12622, 24405, 9245, 28641, - 45672, 50254, 12575, 41018, 535, 28169, 50367, 42967, 25699, 28077, 10543, - 23062, 15460, 20931, 61126, 6882, 43584, 24209, 38474, 50295, 15269, 25181, - 28497, 30970, 36289, 35570, 59075, 6754, 19579, 24441, 50140, 29369, 49749, - 35394, 37385, 35815, 65098, 8346, 3282, 5740, 57943, 55153, 3379, 48142, 43368, - 49308, 20920, 30512, 20610, 59534, 6691, 40086, 10580, 504, 24654, 50764, 1371, - 29697, 28480, 27015, 6049, 14438, 57976, 33254, 14479, 17454, 43424, 39540, - 48248, 11454, 52970, 57139, 47794, 54891, 43472, 5952, 46945, 37107, 41072, - 18540, 36831, 22311, 12116, 58498, 50420, 1411, 1555, 47045, 44841, 58799, - 25178, 24602, 33537, 29722, 42746, 61795, 5564, 34873, 6131, 26533, 26502, - 43907, 26850, 1951, 26625, 9509, 58079, 50170, 52887, 1611, 65082, 3664, 32566, - 10237, 12375, 22764, 49728, 17285, 50663, 56437, 11507, 17281, 42379, 34309, - 25175, 60147, 20043, 1121, 36641, 11215, 56020, 63529, 49110, 52642, 8241, - 14382, 26558, 9404, 42074, + 60490, 40978, 209, 51204, 53280, 50414, 30138, 24087, 59631, 51584, 42330, + 56509, 9742, 49650, 49661, 17545, 3768, 57673, 64119, 16467, 1405, 9188, 52282, + 31454, 10481, 43745, 23159, 455, 30629, 46779, 37195, 64515, 48507, 21569, + 63164, 22178, 25160, 55615, 58953, 64032, 46884, 44321, 46898, 40007, 23307, + 59014, 51756, 55556, 47035, 11109, 40185, 25166, 360, 18578, 21013, 46790, + 26323, 38999, 18398, 24586, 30656, 62072, 22121, 17306, 34272, 54705, 10091, + 42169, 55410, 32954, 63924, 46034, 3688, 53743, 17323, 42095, 32162, 56544, + 55372, 50066, 42067, 39275, 18742, 24392, 62402, 43088, 40064, 57833, 31915, + 4788, 51474, 5125, 56858, 30995, 51220, 4635, 54295, 22024, 2410, 17277, 40471, + 10850, 47018, 33138, 24634, 56609, 64138, 33513, 65221, 1475, 11581, 33291, + 52827, 14842, 36786, 413, 56789, 27242, 36406, 48977, 19480, 34017, 37650, + 26781, 23705, 58781, 40563, 39235, 3669, 1735, 11331, 37606, 341, 24431, 59216, + 16678, 33435, 55808, 26587, 37401, 47677, 52901, 30185, 30474, 24197, 56382, + 27520, 64534, 6217, 24747, 39579, 22361, 24609, 45973, 41899, 33423, 9851, + 35335, 38077, 17659, 42245, 61695, 16966, 975, 25771, 30672, 62688, 4688, 4337, + 27696, 16698, 20584, 23561, 41949, 62961, 31083, 5484, 24585, 46630, 20591, + 29428, 49376, 61525, 2058, 28605, 44934, 46746, 29629, 4432, 10762, 36858, + 11052, 46691, 34534, 43516, 12528, 17188, 51517, 53879, 91, 63825, 8548, 27727, + 25033, 52048, 27049, 53775, 26931, 48368, 3694, 26944, 25074, 31645, 57893, + 51760, 62849, 50965, 25259, 63728, 24635, 14461, 4747, 5098, 64014, 44939, + 33071, 33667, 51587, 316, 11154, 38371, 28277, 2198, 30602, 60056, 1060, 63117, + 25587, 49451, 12593, 50307, 47047, 31690, 62573, 21640, 44683, 12904, 50629, + 59220, 1509, 20015, 1329, 46891, 60113, 8315, 47193, 27245, 36006, 49164, + 13076, 28024, 44704, 47220, 45484, 43117, 57935, 52201, 34044, 34618, 62657, + 2039, 8316, 8689, 33809, 605, 30319, 33136, 24333, 44340, 63793, 51139, 35441, + 18989, 58357, 12292, 37349, 55621, 35609, 61923, 13040, 11238, 64003, 29958, + 15317, 13557, 64734, 23166, 14571, 55999, 16757, 34296, 47644, 3592, 28872, + 15527, 54071, 36682, 29430, 63168, 29353, 50771, 22590, 21892, 12824, 4607, + 27890, 8934, 37182, 4511, 38290, 15551, 44701, 55376, 64915, 31748, 27345, + 60915, 33077, 29827, 54165, 42813, 1341, 57154, 38491, 44894, 51749, 36587, + 51596, 59598, 16607, 3845, 49198, 1852, 37703, 65353, 48713, 26762, 46096, + 50884, 22704, 46199, 65043, 63378, 46908, 25564, 42607, 15858, 12754, 56603, + 61745, 15553, 35034, 63276, 31791, 65395, 21347, 45707, 26564, 30310, 14743, + 14492, 8813, 16977, 49600, 21695, 44719, 34695, 48261, 38075, 57735, 41105, + 30282, 46159, 9765, 22408, 7107, 27543, 18502, 34307, 55784, 16761, 22621, + 34191, 19700, 19368, 14950, 17453, 17140, 49113, 25739, 32139, 28585, 38046, + 46465, 42298, 30326, 60944, 3766, 13253, 45551, 46286, 778, 15278, 62840, + 16413, 43334, 23621, 30329, 16351, 63863, 65471, 41848, 27693, 52501, 381, + 1961, 38324, 37177, 32655, 49475, 44716, 47872, 30975, 714, 38082, 9932, 52281, + 28409, 50741, 9013, 53486, 29215, 23651, 16331, 31756, 54725, 45347, 45306, + 11882, 27939, 49767, 6775, 22765, 4473, 34693, 42012, 12611, 6022, 5226, 27247, + 60475, 13302, 16672, 14714, 5866, 7137, 53938, 21713, 41918, 33031, 43682, + 9868, 19835, 28102, 49789, 46648, 50833, 55370, 52805, 4930, 62578, 36194, + 63080, 28446, 60459, 46358, 14709, 48475, 34801, 60460, 25140, 5849, 15381, + 45854, 49464, 47883, 54606, 61265, 35394, 21104, 44288, 29653, 51355, 64485, + 41577, 64088, 12157, 44247, 37987, 60631, 45026, 56043, 57738, 53740, 64248, + 40827, 4741, 22340, 48149, 21908, 6208, 25546, 19149, 29510, 12646, 4135, + 24826, 34752, 52971, 28570, 42490, 17655, 52246, 51913, 12993, 4824, 53699, + 54831, 52341, 20883, 23752, 45970, 38384, 18298, 22064, 24101, 15809, 47371, + 2339, 27543, 42669, 17891, 37102, 61557, 50633, 40247, 52547, 34381, 2208, + 53524, 19213, 20470, 44730, 8759, 28753, 23327, 34607, 14456, 33795, 6841, + 17336, 12966, 61019, 13036, 17068, 28331, 39261, 48399, 57559, 53036, 992, + 34028, 8717, 63795, 64418, 4505, 63092, 53117, 45450, 57757, 64439, 48767, + 6590, 59669, 34135, 50266, 19885, 53242, 17166, 51610, 9779, 20099, 61671, + 11075, 50010, 7220, 47242, 58393, 43750, 45451, 36995, 56295, 35198, 33946, + 4330, 55691, 29840, 12311, 40295, 49004, 13974, 15384, 23419, 350, 33117, + 45441, 17767, 14644, 45765, 28564, 39824, 2127, 21303, 23331, 12711, 8977, + 59756, 15945, 41453, 9373, 22928, 37662, 18467, 10676, 61550, 24024, 30611, + 62005, 57007, 540, 28744, 40875, 4946, 16426, 60823, 20246, 2928, 23405, 25189, + 64912, 1082, 3115, 15851, 2225, 2314, 14103, 12187, 52834, 52362, 10004, 27539, + 25822, 40600, 30575, 35071, 37377, 38414, 8378, 58813, 33550, 24525, 53239, + 46773, 32786, 11546, 63813, 28985, 50703, 62879, 12700, 973, 17364, 37674, + 58327, 34784, 58644, 46114, 11830, 12134, 54539, 39292, 8746, 34316, 58466, + 24959, 33831, 58222, 48056, 65067, 22289, 3655, 42140, 24759, 13483, 11939, + 59348, 50106, 40716, 58001, 17874, 64488, 23272, 32463, 61190, 32611, 135, + 64098, 36230, 19512, 40214, 10564, 40270, 47116, 42582, 30689, 48110, 13578, + 7589, 40462, 14977, 31906, 20888, 44859, 11506, 53487, 40520, 63676, 10855, + 58667, 39088, 27601, 18752, 63110, 18475, 57289, 18431, 41390, 57620, 26085, + 22771, 34478, 41657, 27633, 11528, 11079, 8986, 47042, 30394, 39677, 16167, + 47431, 22038, 56228, 54625, 51123, 19798, 46514, 28488, 426, 62162, 55270, + 60774, 4402, 17537, 58499, 15185, 1722, 11502, 61793, 54484, 23616, 15489, + 36027, 14802, 2320, 25169, 56821, 52034, 35056, 6535, 58572, 56076, 4556, + 42993, 22825, 49678, 35427, 59614, 18884, 49668, 60647, 47546, 39368, 21266, + 36185, 62562, 16624, 4019, 36900, 25307, 58953, 52072, 29613, 61500, 8892, + 59210, 53285, 9882, 38732, 54560, 56859, 56107, 31008, 4213, 41342, 26304, + 26399, 26626, 17757, 28248, 13430, 44322, 46738, 18797, 38856, 14224, 44358, + 45331, 3623, 58893, 415, 23780, 32265, 28315, 17639, 50164, 27847, 29681, + 37722, 55632, 12536, 25247, 65212, 27540, 1290, 19543, 44473, 53494, 62504, + 365, 57624, 64314, 36574, 54090, 22207, 24010, 52520, 11326, 4080, 25811, + 14651, 40609, 36823, 10419, 16157, 28821, 42883, 13293, 26963, 4768, 50688, + 55161, 30748, 58063, 26827, 12679, 61279, 63489, 41884, 6485, 44921, 26214, + 24304, 40805, 26790, 17169, 9407, 37029, 21032, 61353, 58632, 7309, 10716, + 16230, 43600, 1786, 8736, 26311, 57026, 36947, 49893, 24867, 41560, 53164, + 48933, 64830, 56078, 54033, 7712, 33111, 58864, 18141, 4973, 55508, 56776, + 9323, 21206, 19534, 25917, 9628, 23623, 12779, 33660, 6822, 61633, 17121, + 22651, 27509, 14925, 9703, 20922, 44817, 41887, 44171, 14556, 37614, 22580, + 29784, 43281, 9663, 22875, 41637, 29127, 25494, 57336, 29104, 14016, 13559, + 9529, 59253, 15830, 50931, 7826, 53448, 13747, 667, 38859, 42451, 50476, 62419, + 58977, 39636, 17707, 23892, 30212, 55819, 21968, 37482, 11569, 50438, 35431, + 24406, 54713, 35326, 39657, 6009, 53892, 5453, 60537, 32164, 58056, 3581, 5671, + 31963, 58017, 44667, 57071, 42403, 38396, 19810, 37025, 27965, 98, 17235, 6286, + 29020, 62045, 35020, 44137, 47451, 3971, 43408, 896, 18089, ])) .unwrap(), - c: 133, + c: 174, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_6/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -8011,1001 +2619,1059 @@ fn test_containers_complex_test_struct_lengthy_6() { assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("4741272dc08836f02aa60f80fa5406f123bc608906860f276af418b525c49756"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_random_3() { - let mut value = FixedTestStruct { a: 72, b: 5633501076518207946, c: 170036136 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("14e08728743971dd0ac92ca94864067b449c28e91d3dcebd6b5f47df98697acb"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_random_5() { - let mut value = SmallTestStruct { a: 61066, b: 8987 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("b056a7a8da6c09c77b17d34126d6cf3c772d818c6893ca5c4ea512be7ab55d88"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_lengthy_8() { - let mut value = ComplexTestStruct { - a: 19399, - b: List::::try_from(Vec::::from_iter([ - 22032, 62371, 21788, 9932, 54144, 27131, 3242, 54591, 47647, 13046, 29529, 13141, - 13151, 65437, 479, 12807, 8406, 19308, 58331, 12475, 60877, 648, 47633, 54804, 53138, - 32889, 14147, 49208, 62814, 28632, 16541, 28011, 29384, 46093, 25628, 4212, 1275, - 34893, 33063, 15710, 28029, 21874, 32187, 860, 44718, 5406, 21494, 51195, 39418, 53687, - 3242, 57475, 43017, 14479, 9464, 21638, 46818, 26768, 60783, 62698, 45868, 38771, - 21489, 41619, 36701, 55099, 15797, 11487, 7063, 46591, 9249, 33310, 18093, 8741, 52420, - 11068, 11526, 60206, 4998, 63015, 36848, 23591, 28844, 26898, 36240, 32994, 5319, - 41353, 26402, 10342, 6770, 31168, 13710, 24788, 39775, 41401, 46666, 55851, 25958, - 62625, 61587, 8989, 63624, 7883, 42031, 42898, 2138, 29944, 44939, 49024, 59647, 5306, - 49764, 45165, 61638, 13884, 58920, 35065, 62325, 44582, 53512, 54047, 21337, 1998, - 58010, 2841, 47024, 38382, + let expected_root = + root_from_hex("0xd1bb44d6f0a011c83488f0f87c801b8392a35a9e6b78218332de4e193b29dc48"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_complex_test_struct_lengthy_1() { + let mut value = ComplexTestStruct { + a: 63134, + b: List::::try_from(Vec::::from_iter([ + 15027, 15033, 56026, 45017, 4982, 62406, 9561, 49872, 52603, 11592, 55880, 4782, 36171, + 26861, 55558, 58823, 12551, 11511, 24886, 43494, 40213, 41920, 27461, 15039, 49814, + 26538, 36052, 14184, 10525, 50365, 9275, 23249, 1104, 30936, 24487, 53059, 41222, + 38145, 15502, 56163, 39867, 19511, 38728, 2915, 23614, 48179, 20924, 18112, 51366, + 53923, 42019, 23120, 45722, 40060, 36337, 32414, 51796, 9358, 59730, 55551, 7324, + 10685, 57486, 55930, 45841, 31863, 54502, 12634, 20045, 52645, 22003, 53987, 50618, + 40953, 27187, 11254, 33967, 42019, 35326, 47678, 49945, 11221, 57245, 54437, 20412, + 45170, 28640, 15880, 61263, 19478, 4927, 63744, 59926, 62295, 56389, 36956, 44117, + 3845, 3345, 6133, 54169, 5586, 43234, 7624, 9784, 3959, 2242, 62530, 30627, 12414, + 8430, 51041, 45125, 40760, 50229, 24210, 64534, 33741, 19262, 60229, 49611, 57320, + 35270, 2712, 4988, 6673, 50059, 46899, ])) .unwrap(), - c: 161, + c: 60, d: List::::try_from(Vec::::from_iter([ - 96, 63, 241, 170, 196, 246, 41, 136, 3, 163, 4, 17, 205, 53, 24, 20, 174, 161, 184, - 147, 191, 243, 129, 225, 14, 212, 237, 43, 210, 161, 69, 108, 12, 212, 78, 174, 134, - 243, 80, 175, 222, 45, 216, 172, 65, 223, 68, 13, 202, 122, 178, 214, 156, 65, 81, 91, - 239, 218, 198, 184, 244, 166, 66, 118, 24, 193, 82, 180, 163, 246, 15, 190, 170, 51, - 20, 189, 50, 12, 234, 49, 121, 18, 25, 246, 2, 138, 31, 110, 130, 208, 133, 111, 243, - 249, 160, 20, 107, 177, 45, 158, 44, 62, 29, 102, 36, 200, 212, 225, 179, 205, 144, - 209, 240, 14, 17, 82, 27, 244, 249, 13, 213, 160, 247, 175, 4, 146, 149, 101, 30, 34, - 74, 166, 163, 233, 12, 161, 56, 246, 254, 137, 104, 197, 182, 38, 79, 179, 40, 213, 40, - 218, 40, 19, 82, 63, 19, 104, 210, 25, 49, 149, 205, 47, 21, 99, 87, 48, 156, 147, 141, - 135, 229, 137, 32, 142, 69, 118, 252, 84, 34, 79, 180, 241, 159, 210, 199, 47, 179, 31, - 222, 187, 227, 191, 124, 128, 225, 1, 145, 38, 97, 169, 116, 64, 99, 146, 63, 231, 67, - 103, 89, 196, 137, 125, 229, 155, 244, 5, 35, 120, 7, 128, 128, 224, 30, 4, 68, 15, 61, - 200, 144, 227, 215, 189, 107, 27, 168, 20, 114, 109, 41, 218, 15, 194, 204, 132, 50, - 133, 161, 124, 73, 199, 212, 98, 229, 156, 69, 63, + 106, 216, 87, 172, 99, 102, 184, 141, 255, 105, 248, 168, 165, 231, 129, 170, 137, 141, + 127, 63, 127, 154, 190, 203, 210, 76, 118, 183, 138, 67, 221, 231, 150, 246, 56, 180, + 183, 158, 12, 11, 25, 24, 198, 6, 159, 71, 249, 18, 36, 54, 105, 108, 148, 194, 129, + 35, 70, 54, 9, 254, 175, 114, 127, 2, 91, 108, 240, 57, 76, 64, 136, 192, 37, 202, 90, + 78, 95, 211, 221, 10, 36, 30, 158, 128, 248, 99, 242, 220, 72, 228, 198, 95, 132, 206, + 99, 102, 71, 116, 221, 205, 203, 207, 203, 79, 143, 155, 121, 209, 218, 255, 167, 121, + 114, 93, 223, 82, 71, 229, 127, 91, 223, 190, 36, 202, 220, 71, 189, 40, 105, 111, 255, + 156, 173, 96, 43, 179, 201, 68, 168, 120, 85, 43, 218, 112, 149, 239, 171, 215, 2, 130, + 188, 51, 95, 202, 232, 210, 140, 105, 36, 155, 243, 24, 22, 109, 92, 231, 6, 91, 150, + 16, 66, 77, 73, 117, 234, 93, 96, 12, 214, 172, 147, 232, 33, 161, 32, 77, 205, 85, + 131, 83, 195, 192, 78, 108, 180, 164, 200, 233, 87, 61, 110, 141, 103, 78, 10, 249, 82, + 117, 251, 212, 220, 204, 208, 93, 156, 160, 39, 156, 97, 194, 161, 6, 6, 12, 99, 186, + 111, 6, 177, 75, 52, 50, 215, 118, 35, 196, 119, 142, 243, 183, 140, 194, 125, 182, 40, + 48, 67, 72, 47, 145, 28, 165, 178, 135, 5, 139, ])) .unwrap(), e: VarTestStruct { - a: 64404, + a: 16603, b: List::::try_from(Vec::::from_iter([ - 50822, 53487, 218, 11457, 62680, 59808, 6329, 29782, 25436, 7336, 62178, 17478, - 61419, 65325, 44191, 30048, 58349, 46880, 10909, 55045, 26538, 17437, 34657, 29113, - 45580, 13831, 34004, 9692, 37147, 16086, 16226, 40707, 18063, 41603, 17459, 19073, - 26070, 11990, 62242, 42024, 25124, 63881, 40618, 43700, 51045, 50416, 23397, 47943, - 56472, 35909, 23410, 50852, 9601, 750, 31943, 57458, 16369, 31237, 41361, 13475, - 41287, 63964, 42328, 63898, 52363, 42923, 56981, 27517, 29978, 56193, 39554, 15609, - 55036, 7362, 38879, 3179, 4044, 11912, 63382, 14604, 17907, 40233, 53000, 28437, - 24397, 43730, 7157, 51311, 44475, 60273, 20925, 3965, 10808, 55387, 21071, 7898, - 11510, 15975, 9816, 64308, 23540, 63783, 54045, 10035, 49185, 24817, 54807, 3524, - 42225, 53517, 44493, 55722, 25776, 26177, 43607, 65477, 40066, 6723, 40868, 17393, - 26362, 21983, 48536, 13206, 9864, 45301, 64780, 35891, 12873, 14177, 50199, 55108, - 1464, 53455, 38495, 28472, 20013, 10186, 52619, 37505, 32299, 35612, 7194, 25051, - 43900, 20431, 58627, 58768, 62735, 5933, 31418, 44215, 33743, 24127, 22392, 14672, - 24741, 42508, 60128, 50020, 53547, 64562, 26813, 64776, 17591, 5090, 61409, 25558, - 27318, 50386, 62745, 521, 57775, 44451, 31660, 55112, 31714, 21674, 48412, 21524, - 1619, 61860, 31479, 37834, 19947, 16131, 62554, 16291, 51959, 26042, 7931, 58821, - 26949, 19690, 28748, 63858, 39231, 20265, 15035, 2880, 6254, 51835, 32100, 52733, - 30361, 15407, 39475, 29228, 20494, 62922, 21020, 54737, 47687, 48367, 36757, 35221, - 53457, 31016, 39907, 52325, 39332, 4024, 6348, 64798, 51978, 19159, 38816, 8145, - 16496, 5055, 21984, 59114, 32388, 35802, 34594, 50209, 42742, 49318, 17591, 12665, - 22341, 62579, 19470, 525, 9952, 63396, 58478, 64453, 5919, 36384, 2260, 8207, - 21174, 43889, 32280, 12442, 58625, 45111, 4014, 32361, 39989, 53955, 35355, 28816, - 16604, 40058, 30067, 29059, 13889, 36436, 32408, 36418, 33956, 11217, 62336, 58586, - 55266, 27567, 15918, 37007, 22875, 24454, 36766, 58731, 14878, 16885, 58455, 292, - 35245, 55442, 22658, 42222, 26703, 53347, 38811, 40876, 5788, 39217, 18291, 38793, - 60967, 23102, 7468, 50706, 61961, 53781, 49798, 43091, 25350, 21421, 39721, 15284, - 34253, 37662, 13895, 38011, 1526, 10320, 44564, 2864, 23610, 25366, 20532, 48447, - 31981, 37770, 14263, 13260, 27380, 30901, 44978, 53542, 36603, 50571, 43910, 56316, - 18478, 54920, 45681, 8283, 41162, 26131, 65481, 6861, 19735, 54259, 30296, 50181, - 49063, 39620, 16660, 38372, 6459, 43312, 31515, 59272, 7259, 64256, 24854, 11177, - 56777, 15450, 28203, 63054, 64693, 49598, 37319, 13387, 9246, 40913, 30771, 3264, - 44803, 62582, 23541, 44718, 34039, 42083, 303, 253, 33194, 40429, 54695, 9674, - 12120, 49448, 25608, 49721, 60824, 53598, 56004, 33545, 39773, 59495, 15350, 23979, - 51627, 40387, 25073, 34784, 61876, 57106, 51348, 28923, 41304, 10857, 50146, 65379, - 30695, 17971, 41744, 11146, 34990, 479, 52741, 6890, 31938, 39130, 2536, 19400, - 21845, 21008, 30654, 11337, 29341, 60894, 45192, 26002, 9569, 54625, 10406, 45140, - 64176, 51767, 26635, 1122, 11798, 58056, 25133, 57236, 64479, 64437, 5302, 17830, - 20249, 49475, 62507, 1795, 15734, 500, 33544, 59497, 5496, 3368, 11549, 7228, - 55517, 29253, 20634, 53393, 10906, 11293, 36718, 317, 60715, 28315, 18621, 43582, - 64973, 31663, 58821, 15268, 61881, 14365, 12810, 42708, 51000, 37963, 4864, 61957, - 13079, 59497, 56703, 55835, 40235, 27024, 17929, 1511, 56539, 37467, 21711, 64844, - 28363, 44905, 41421, 44516, 62254, 54502, 51479, 29761, 64230, 50596, 13109, 21224, - 26807, 12448, 43495, 60388, 59715, 473, 36658, 49627, 30353, 56362, 9880, 9633, - 19766, 62295, 30356, 31539, 23876, 64274, 20158, 47999, 13805, 63364, 1003, 60748, - 20622, 434, 9671, 51617, 6670, 25108, 25448, 54252, 10992, 26174, 15946, 39405, - 26233, 10029, 6884, 22168, 63607, 10426, 59256, 23770, 24589, 9388, 57735, 38410, - 6536, 55379, 53875, 60650, 2470, 59633, 41118, 44739, 15034, 40804, 65394, 41152, - 8352, 54576, 39269, 55190, 50381, 36079, 62403, 54174, 53182, 15299, 60549, 22194, - 22613, 62418, 23254, 49169, 60338, 20867, 12336, 48695, 42542, 63685, 60822, 17256, - 53642, 32927, 52750, 63579, 48217, 52827, 8942, 1820, 53705, 38661, 46378, 22593, - 45865, 5546, 59305, 32426, 41477, 39242, 46610, 30368, 11897, 27846, 2935, 57576, - 30339, 6867, 50591, 59892, 46091, 27934, 29857, 40968, 14152, 34791, 18667, 28592, - 63015, 5117, 37517, 28058, 49615, 41789, 31123, 49393, 38631, 47365, 60174, 12964, - 61246, 45455, 57146, 65109, 9377, 65349, 25623, 39940, 5182, 19212, 13028, 38051, - 43591, 31201, 19227, 41021, 26111, 35711, 62505, 18766, 29094, 34824, 11222, 43928, - 34425, 5123, 45548, 59900, 35932, 11515, 15753, 49829, 38431, 18619, 63220, 62040, - 6111, 16210, 4041, 40369, 54872, 2832, 1421, 8037, 57206, 65520, 11245, 32220, - 43416, 34493, 39888, 27635, 28942, 40642, 8084, 21367, 8160, 30884, 15410, 21259, - 46394, 48598, 31984, 49363, 42888, 30141, 40299, 11737, 33312, 29661, 28618, 21502, - 14733, 53935, 19345, 47585, 7586, 43724, 55831, 12080, 28193, 6653, 8308, 40106, - 7425, 63203, 47731, 41340, 26308, 45329, 48025, 51108, 47007, 47731, 63782, 53350, - 4015, 38980, 34920, 48449, 31705, 1488, 22457, 23347, 16992, 56681, 14429, 33527, - 12765, 20151, 46112, 1421, 62834, 22748, 59314, 11327, 2312, 58302, 63363, 3265, - 21926, 40114, 55177, 60244, 37620, 61488, 10287, 460, 29068, 60999, 713, 16091, - 15827, 41058, 1319, 47520, 5215, 40565, 1972, 1914, 30861, 19560, 2811, 59072, - 29824, 44862, 213, 24992, 20911, 37795, 26367, 53655, 60881, 7032, 28945, 60539, - 56890, 62146, 44351, 6870, 20189, 63384, 32285, 57301, 648, 563, 58096, 56614, - 58411, 62965, 36263, 29863, 53991, 55456, 32311, 1858, 6415, 54413, 5093, 41786, - 44133, 14979, 64800, 20978, 3362, 51659, 13409, 19106, 35229, 14345, 59318, 19729, - 27374, 24663, 55933, 50009, 35921, 63536, 22827, 47812, 3723, 54976, 46414, 58598, - 11684, 45054, 812, 62649, 20744, 37795, 8765, 35736, 58821, 62209, 43607, 21883, - 60853, 63978, 30960, 14803, 28167, 54300, 5881, 42380, 39608, 15000, 23000, 18951, - 63061, 29707, 51018, 14327, 18279, 3314, 21816, 32286, 29796, 7826, 44839, 39968, - 37867, 18933, 31217, 10616, 59625, 52633, 48450, 30414, 24235, 55644, 34702, 59985, - 48635, 22363, 24614, 64551, 42264, 18409, 33734, 33026, 27273, 45394, 6127, 42392, - 45504, 34704, 23929, 48967, 58934, 14363, 25931, 47902, 10533, 43411, 50746, 57932, - 51160, 31082, 35878, 30010, 56605, 19720, 44354, 39172, 39200, 57353, 11481, 58175, - 21891, 59976, 43980, 50141, 58864, 10561, 47808, 11169, 15212, 27778, 37923, 5259, - 57695, 33586, 39994, 32675, 36275, 8804, 39037, 14981, 12489, 17535, 8063, 48736, - 3439, 22024, 20693, 59623, 43521, 58628, 3481, 57705, 39685, 2332, 55301, 54418, - 1314, 9560, 28195, 56031, 37832, 39137, 11587, 35239, 20294, 4100, 48208, 61011, - 10064, 60853, 47593, 45743, 58509, 3262, 19525, 33613, 24319, 25901, 4039, 28446, - 5427, 4414, 43548, 26445, 9292, 12857, 46585, 33407, 3372, 42337, 57182, 32368, - 47528, 30472, 63534, 28991, 48686, 47536, 20132, 49451, 53621, 58534, 49758, 45621, - 37990, 29719, 60278, 28229, 43190, 32291, 21405, 55830, 3506, 6235, 9749, 33643, - 53436, 28877, 35078, 35442, - ])) - .unwrap(), - c: 233, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 82, b: 642531935108670539, c: 1838776326 }, - FixedTestStruct { a: 131, b: 5961421925085947308, c: 1737832730 }, - FixedTestStruct { a: 192, b: 10876950485646554345, c: 3013846498 }, - FixedTestStruct { a: 40, b: 10429973492576791947, c: 2638874374 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 23494, - b: List::::try_from(Vec::::from_iter([ - 62191, 8719, 61871, 52371, 4325, 52627, 15113, 41387, 46256, 64066, 23921, - 57006, 52024, 14123, 52688, 25260, 1534, 4578, 59148, 60025, 18090, 4127, - 18118, 58622, 25342, 6543, 59224, 25765, 676, 25053, 50858, 63336, 28537, - 57729, 43425, 24290, 51422, 42353, 22866, 15031, 20485, 18453, 16848, 18829, - 55314, 15976, 46459, 61304, 51311, 29694, 44125, 8044, 35035, 19778, 28952, - 6615, 56411, 7175, 14170, 43580, 37804, 64459, 38963, 47485, 34326, 43429, - 63311, 26647, 51254, 59880, 2699, 92, 20450, 40570, 9076, 20341, 23477, 26050, - 59964, 16179, 24878, 55637, 444, 46119, 31445, 47989, 27081, 1149, 28156, - 32773, 41560, 17593, 45182, 6245, 43914, 64624, 44185, 51507, 62888, 30346, - 46118, 46020, 29434, 54053, 47382, 5611, 38004, 52540, 44300, 60777, 60559, - 26005, 5822, 10987, 30633, 20032, 53531, 9222, 16509, 14044, 43208, 58186, - 59793, 54138, 50848, 44015, 52862, 61238, 36472, 154, 5098, 48827, 18839, 4924, - 35578, 3152, 60672, 31754, 41505, 3816, 63901, 11147, 48009, 62726, 20766, - 15846, 22382, 31535, 53123, 44009, 30832, 30365, 34949, 62007, 23094, 6962, - 56549, 19702, 36142, 38995, 46783, 60666, 52898, 23448, 50759, 38035, 54340, - 41776, 24211, 37750, 9620, 56156, 292, 23204, 40343, 41425, 56262, 53892, - 33710, 8284, 48961, 2982, 59758, 25438, 22503, 8668, 26619, 50730, 8356, 61977, - 55866, 48502, 61645, 48798, 40415, 13102, 35196, 56779, 46796, 37731, 38928, - 16588, 46582, 64290, 26751, 37435, 43258, 21538, 28089, 50485, 13346, 14907, - 41361, 49869, 446, 45538, 19715, 58516, 12783, 42204, 60856, 21829, 42133, - 23028, 50730, 60035, 29839, 54733, 2446, 52922, 29019, 28126, 35436, 15589, - 10542, 6667, 36915, 20564, 15057, 748, 13660, 35382, 60195, 24555, 17869, - 42435, 22765, 39650, 48393, 23203, 29556, 7801, 24232, 58274, 34912, 21357, - 12457, 4176, 11276, 1730, 26876, 9354, 15954, 24433, 4468, 9397, 46989, 26769, - 38163, 1774, 40930, 51365, 64538, 33629, 7654, 34424, 28960, 30428, 28594, - 55354, 40616, 62455, 38894, 49024, 49755, 52650, 64992, 18342, 35023, 17667, - 56484, 16755, 30750, 61882, 24585, 10795, 14801, 16912, 45508, 7085, 60466, - 24257, 1990, 5862, 47479, 55970, 45775, 7162, 8156, 17371, 30187, 54202, 11823, - 15573, 12840, 13243, 1263, 12431, 23496, 52000, 5924, 41551, 13669, 60239, - 7403, 49895, 35116, 25207, 20887, 33668, 351, 18018, 35552, 14323, 35509, 3710, - 22654, 40471, 63934, 27502, 26718, 55112, 37246, 10938, 7343, 6719, 58233, - 6144, 23089, 3383, 39228, 35848, 5146, 27867, 24716, 8081, 62689, 48306, 16648, - 11995, 25175, 6134, 57069, 10630, 18399, 44701, 15617, 43504, 23610, 61950, - 49021, 40170, 50765, 6994, 5897, 21505, 7080, 39266, 9212, 39982, 2058, 54074, - 56410, 12051, 52108, 50253, 62569, 56769, 7572, 49160, 65266, 15642, 50500, - 9711, 53998, 52967, 34476, 4076, 10437, 44165, 14942, 9033, 42939, 46803, - 23362, 31786, 17198, 40797, 44524, 7307, 22751, 20620, 44264, 46853, 29253, - 5124, 10033, 40243, 13321, 35051, 24615, 65102, 48524, 29313, 21855, 6955, - 57862, 25714, 63063, 40738, 2696, 20443, 31963, 4760, 46377, 13862, 26352, - 55527, 4045, 4013, 39291, 39960, 38643, 6271, 20501, 57354, 50070, 48143, - 35483, 2625, 18932, 62188, 49636, 27722, 19199, 40995, 41767, 59123, 55110, - 9584, 61617, 7846, 15898, 23996, 57750, 1512, 64979, 17410, 59138, 9553, 63487, - 17382, 32126, 47643, 13004, 2282, 55422, 41408, 27874, 16605, 60021, 24806, - 32930, 52065, 15198, 13726, 302, 12443, 32347, 28698, 52619, 5587, 326, 33090, - 35413, 26051, 3006, 25128, 50129, 54008, 28425, 2877, 36428, 48780, 60133, - 15346, 46743, 33084, 23717, 31273, 145, 8481, 40321, 61538, 7903, 23905, 3678, - 19559, 43084, 25933, 32461, 24788, 60754, 42195, 48135, 50846, 3150, 60911, - 60267, 4193, 44024, 29327, 5276, 25871, 51173, 47643, 42755, 51981, 51647, - 24232, 40874, 28027, 19657, 17143, 57219, 30483, 5485, 33844, 31562, 44934, - 58892, 54240, 52207, 46513, 12510, 55911, 32133, 42371, 1570, 43230, 39269, - 59613, 7561, 33556, 48104, 51193, 6208, 33674, 42273, 64503, 12609, 30434, - 45199, 45715, 5369, 31255, 16260, 23577, 21081, 41769, 65054, 44312, 2278, - 45485, 29238, 46249, 4442, 23, 19035, 9001, 45808, 13986, 9503, 5633, 31185, - 63181, 42369, 6926, 9197, 11428, 55738, 10686, 13854, 7202, 41715, 51414, - 51879, 61711, 6789, 36978, 23222, 56855, 11279, 22418, 9096, 58281, 54899, - 19764, 6689, 27108, 35723, 33393, 58956, 30927, 62578, 59410, 24544, 34094, - 53415, 23775, 26535, 35658, 18147, 18846, 46321, 60892, 18435, 46527, 7389, - 60259, 48294, 38834, 3878, 45532, 5838, 18234, 49174, 8902, 51493, 1108, 5697, - 49762, 54584, 37340, 19637, 51706, 23267, 27122, 36282, 5724, 10761, 10114, - 51996, 61053, 3367, 63987, 64494, 60026, 38466, 51491, 8074, 52960, 13399, - 13761, 32242, 22227, 16632, 10335, 64171, 63708, 39334, 13945, 50422, 41502, - 23900, 33459, 20576, 63075, 36813, 53171, 1333, 21498, 44793, 16899, 34376, - 41310, 61478, 43000, 44470, 35030, 21815, 60644, 17191, 49679, 55916, 55568, - 20525, 16873, 55669, 46990, 20812, 21004, 47358, 28886, 24033, 53541, 38799, - 40500, 33655, 28096, 19909, 22163, 58646, 1438, 19300, 45486, 15625, 4736, - 52773, 8107, 44256, 23959, 29712, 34987, 32629, 61777, 10508, 47024, 47918, - 62358, 32627, 60016, 61360, 18965, 34356, 15046, 59209, 46025, 24213, 5276, - 56640, 63413, 7075, 41930, 40904, 13720, 60923, 49987, 52362, 44754, 40574, - 14916, 53222, 22851, 26119, 25511, 64407, 8873, 16445, 55026, 50617, 44097, - 18296, 8616, 17153, 47006, 20239, 53120, 17559, 42213, 23768, 965, 637, 59104, - 32621, 6789, 5483, 49873, 32512, 22719, 21796, 19625, 63377, 1799, 41088, 2557, - 44854, 20722, 36933, 15858, 14400, 31235, 51052, 53327, 29495, 57904, 4146, - 18932, 25232, 13048, 29972, 22835, 31974, 20172, 32863, 44026, 50882, 3174, - 43562, 30254, 47240, 20351, 58500, 41491, 36623, 2362, 40284, 49440, 12485, - 35880, 3318, 9420, 50502, 54568, 51929, 37002, 6223, 27443, 7160, 37082, 36452, - 8342, 53248, 64760, 26304, 58672, 22861, 42074, 21767, 40528, 3973, 40099, - 37381, 1098, 64995, 48112, 35327, 7428, 13163, 59637, 21473, 5847, 51703, - 47236, 43554, 26323, 5479, 6095, 52918, 24954, 41134, 12702, 8985, 30564, - 16947, 55126, 27833, 63325, 2381, 50245, 49979, 24505, 40592, 10815, 58175, - 60050, 29763, 29871, 5196, 31350, 56428, 1983, 52875, 34927, 55670, 7069, 8308, - 53370, 19041, 20822, 14713, 20985, 30094, 54457, 36120, 23191, 6346, 10603, - 55737, 7683, 13077, 62699, 9603, 26704, 52537, 35149, 32458, 33447, 41441, - 11186, 43736, 8700, 19915, 24944, 15963, 27004, 19561, 25786, 25900, 45268, - 19239, 63365, 5373, 47282, 40030, 13747, 58850, 47686, 49482, 40267, 31428, - 17353, 42307, 59572, 48716, 64787, 35482, 21563, 14860, 51825, 20973, 424, - 19890, 26870, 39007, 60289, 17668, 22052, 36549, 45400, 35605, 58181, 40307, - 12062, 34867, 43943, 44128, 23797, 48770, 43726, 12974, 52184, 34142, 26983, - 48965, 47657, 17828, 12295, 1104, 35640, 3687, 43993, 16928, 30854, 37888, - 52097, 5540, 27351, 19547, 38977, 53008, 35634, 50688, 59133, 31620, 62563, - 50071, 63584, 743, 59929, 31910, 53142, 33817, 6879, 30309, 33065, 17363, - 39592, 21915, 24753, 19689, 61386, 43691, 55542, 25364, 24761, 55837, 37774, - 10253, 50414, 3909, 28594, 7191, 32780, - ])) - .unwrap(), - c: 227, - }, + 43809, 9135, 16086, 48583, 13970, 22509, 12263, 46555, 15163, 11156, 33631, 7319, + 3475, 39814, 64328, 43807, 29156, 12012, 55126, 30153, 58754, 18899, 25946, 15610, + 7685, 8906, 3696, 33019, 24544, 59865, 18399, 38783, 62712, 60126, 39734, 27342, + 6025, 57776, 30836, 24783, 45974, 7172, 64852, 65222, 17661, 23046, 57744, 8643, + 6970, 18089, 30272, 56662, 1355, 64699, 46997, 23865, 57731, 62231, 38548, 27234, + 4686, 5274, 31519, 31190, 35830, 64398, 48383, 15574, 7111, 27229, 29662, 16030, + 15346, 36806, 50186, 16436, 51502, 47299, 64895, 28076, 50356, 35869, 45367, 13305, + 58226, 11054, 32921, 19746, 58470, 38055, 60447, 32297, 16523, 51118, 22079, 29369, + 55573, 9637, 63509, 19251, 12334, 33272, 57584, 6543, 25311, 1008, 47382, 54649, + 11758, 17318, 28109, 18807, 29173, 37849, 45690, 63856, 24578, 17766, 56278, 50792, + 12391, 62332, 861, 64970, 56712, 33173, 45373, 8933, 35241, 1560, 61195, 6632, + 28453, 55691, 40908, 20061, 10534, 51476, 29293, 23408, 52911, 63477, 51603, 48647, + 25092, 39029, 7799, 40231, 49604, 34434, 19543, 54952, 37892, 44511, 44171, 8051, + 5605, 43788, 41808, 10904, 33271, 14349, 65498, 37830, 30095, 49014, 34133, 48215, + 322, 35881, 38942, 4928, 40524, 32813, 53672, 35444, 34072, 26883, 6655, 24924, + 31889, 19726, 10080, 39203, 110, 13331, 20015, 52470, 39626, 15358, 34326, 8369, + 22283, 63277, 37804, 30221, 18437, 18973, 13944, 24075, 31405, 32972, 12606, 51933, + 65088, 50106, 63839, 39676, 57664, 52661, 41475, 45638, 36472, 43132, 4539, 34909, + 17398, 35390, 54372, 42179, 31606, 25148, 53502, 49304, 25543, 40497, 1632, 47880, + 31860, 54855, 35365, 37471, 11315, 33647, 17189, 1538, 12915, 58947, 7324, 27091, + 49388, 54839, 44056, 38317, 172, 20887, 51675, 19699, 19703, 31360, 30118, 32806, + 54730, 12628, 50755, 64744, 10647, 13739, 31930, 34670, 16155, 19298, 22807, 24447, + 44735, 25934, 42539, 8932, 28991, 47497, 23569, 58967, 19264, 4448, 47848, 47792, + 56937, 3594, 52219, 50209, 35453, 34801, 60105, 275, 53205, 15415, 47725, 46290, + 23778, 23300, 2037, 53673, 12090, 54196, 60945, 42116, 3814, 19146, 38117, 11681, + 52641, 62468, 16251, 32734, 2685, 6113, 8649, 34804, 48046, 13099, 36263, 22932, + 43077, 12057, 54729, 27039, 57343, 60514, 56414, 40976, 60737, 58725, 29139, 58721, + 7733, 43270, 54753, 10973, 44469, 10570, 48231, 8495, 52167, 33222, 29145, 29337, + 55356, 43950, 7810, 30423, 59865, 65282, 51269, 22772, 65530, 48503, 15313, 1285, + 60948, 6379, 25255, 8121, 58504, 47676, 21291, 44456, 14666, 40036, 45249, 49365, + 40777, 56059, 59949, 18803, 36467, 11857, 57956, 39922, 44578, 3025, 53081, 32781, + 4294, 27700, 29003, 19280, 12064, 39319, 54733, 44768, 15327, 1206, 6149, 32734, + 7242, 7245, 13464, 25709, 64075, 24126, 65498, 3336, 65185, 52640, 46277, 7815, + 57319, 64332, 5945, 56674, 6729, 51606, 45143, 34377, 43833, 2892, 58697, 36254, + 54022, 61208, 50772, 30636, 63103, 40669, 2495, 33654, 60476, 8362, 51993, 59348, + 50512, 48627, 56968, 34687, 32674, 28498, 57608, 49904, 23372, 48496, 30231, 44997, + 42255, 45435, 26509, 8417, 31923, 17041, 20862, 1834, 46016, 62550, 7295, 12447, + 14795, 6053, 57763, 54029, 32788, 27850, 61916, 58099, 1982, 30124, 40816, 2766, + 64378, 26979, 26911, 30129, 51620, 27604, 28949, 12566, 26762, 27402, 22463, 33190, + 33972, 7271, 11931, 31616, 57428, 225, 10657, 43957, 57902, 8534, 32493, 16011, + 601, 455, 46471, 62529, 56085, 46166, 3427, 16865, 40692, 532, 8616, 5162, 20447, + 7734, 46917, 2407, 33522, 13136, 42667, 33656, 17231, 29906, 63852, 57087, 25575, + 16480, 24914, 41227, 37421, 54568, 27233, 13941, 14398, 57835, 28563, 1533, 4687, + 46872, 60329, 19690, 60298, 48517, 47049, 27694, 39374, 17730, 15231, 27522, 2767, + 43036, 19219, 34264, 52020, 62290, 15065, 6262, 47178, 37741, 29534, 32693, 55223, + 3793, 23317, 53071, 6297, 17129, 1084, 12097, 38879, 22003, 29287, 35932, 25739, + 8525, 19442, 51066, 64338, 21505, 19627, 55245, 50841, 59125, 7547, 21286, 52395, + 54057, 38734, 33986, 13974, 65144, 16106, 14745, 48756, 44516, 40837, 39257, 60012, + 54294, 53085, 30637, 55144, 56486, 5389, 23513, 53685, 22419, 64094, 347, 19087, + 9444, 30683, 35252, 15211, 36546, 21968, 43578, 46882, 32873, 7059, 51185, 53582, + 49587, 54622, 57587, 10114, 50398, 38660, 47966, 46173, 53920, 40284, 34441, 37508, + 41617, 2843, 25808, 2701, 16960, 65435, 64699, 2534, 47940, 27303, 32843, 45840, + 43034, 60033, 48454, 47506, 63470, 30546, 22690, 28892, 31625, 28032, 30391, 39288, + 44315, 1709, 6770, 32713, 52742, 33261, 2031, 56245, 27452, 17489, 26948, 56626, + 25891, 10915, 45382, 51551, 1447, 53972, 46519, 34979, 36229, 9860, 3484, 29042, + 20079, 18997, 1402, 14340, 61269, 41276, 27810, 29432, 8237, 39184, 8822, 57969, + 28769, 62653, 28315, 56607, 53230, 43104, 18950, 1195, 41178, 40620, 60826, 52714, + 23882, 58487, 56224, 23987, 55837, 62529, 2221, 1544, 18473, 42, 37793, 56643, + 29564, 50017, 20862, 58975, 27898, 13547, 14352, 30024, 37277, 25852, 24425, 8740, + 2446, 7274, 2910, 61004, 24552, 39845, 52144, 15430, 21841, 61626, 60080, 56930, + 2800, 25150, 65187, 60963, 2825, 16887, 32365, 64296, 3335, 61525, 23942, 38574, + 29398, 42380, 27196, 63483, 5422, 17873, 27408, 980, 27080, 58134, 37981, 58654, + 41902, 16065, 29352, 34791, 27269, 21635, 43679, 27005, 64730, 18072, 29466, 53775, + 6889, 25052, 1126, 12558, 35518, 43049, 13137, 64030, 49123, 16845, 18772, 44846, + 2593, 44948, 60663, 35501, 43962, 13486, 44953, 32332, 32946, 20164, 6146, 9727, + 57740, 20742, 12595, 46365, 56614, 22084, 6317, 65021, 37045, 13280, 25179, 31232, + 17378, 62137, 19290, 26175, 53089, 40575, 46274, 64051, 43276, 7803, 22037, 51835, + 24215, 178, 32839, 19120, 18755, 21044, 39579, 59105, 52837, 36488, 45071, 59349, + 63384, 18447, 28, 3518, 8874, 18842, 133, 45890, 36173, 49362, 57915, 14332, 56330, + 41248, 38912, 63718, 20356, 46898, 31554, 55369, 19062, 9200, 127, 7666, 18127, + 42883, 42201, 10403, 5932, 22943, 64786, 53451, 15877, 423, 2621, 39399, 38499, + 4520, 36693, 43222, 46353, 36711, 57964, 43398, 7073, 16417, 13834, 14266, 15790, + 25897, 21393, 45543, 50953, 42072, 33898, 48991, 16728, 4015, 58969, 64091, 37612, + 16181, 41807, 50711, 1932, 1791, 5531, 7596, 63035, 57933, 43549, 2920, 8843, + 26733, 6918, 29834, 24406, 50246, 16023, 24572, 10895, 35239, 61436, 43827, 41786, + 15722, 27279, 52841, 21595, 61861, 5624, 63255, 41644, 59788, 7875, 59566, 62491, + 23627, 40764, 43348, 29599, 38244, 36578, 47370, 45822, 1011, 24531, 29897, 37846, + 2893, 15870, 29212, 41476, 5611, 53742, 50435, 42809, 5405, 16218, 55762, 44472, + 62983, 6126, 40309, 26819, 28390, 38207, 37780, 44817, 48104, 37231, 47179, 49228, + 29088, 64569, 55009, 19922, 59137, 14282, 24667, 50932, 33600, 26612, 5060, 32216, + 41643, 8931, 23519, 44853, 63679, 58097, 57325, 50871, 45610, 58930, 61464, 43659, + 20570, 57545, 50595, 2459, 42741, 6160, 63273, 17454, 17927, 34693, 54867, 5447, + 31562, 63784, 6036, 22183, 22204, 18370, 38749, 48257, 27996, 43191, 48403, 17342, + 30870, 44612, 65375, 34411, 49212, 17629, 832, 11062, 11812, 24883, 61908, 56214, + 65118, 8156, 46627, 48590, 34539, 43110, 24849, 18621, 53361, 39585, 34054, 57930, + 24281, 19601, + ])) + .unwrap(), + c: 172, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 228, b: 3400495176621689780, c: 2782837041 }, + FixedTestStruct { a: 242, b: 11524830070205099188, c: 745207975 }, + FixedTestStruct { a: 86, b: 4411883652197834213, c: 1172881869 }, + FixedTestStruct { a: 43, b: 14564562638993582932, c: 1949588893 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ VarTestStruct { - a: 37931, + a: 30799, b: List::::try_from(Vec::::from_iter([ - 33232, 49745, 32208, 19257, 59506, 50483, 27643, 42473, 5883, 63100, 25377, - 38309, 64931, 41988, 59618, 12505, 11426, 12564, 49033, 59160, 54071, 60819, - 7716, 7965, 39124, 62484, 39276, 57449, 7320, 54267, 23912, 63484, 8827, 11782, - 13847, 35208, 57374, 40244, 53328, 2791, 51985, 55447, 37924, 3487, 30267, - 22529, 42413, 47235, 10845, 40887, 20408, 37661, 62626, 37899, 4384, 40353, - 34220, 25634, 39265, 56634, 1459, 1570, 27098, 6472, 1521, 44826, 38003, 11888, - 290, 3893, 46645, 6929, 45005, 14656, 56210, 33419, 50641, 12383, 31466, 21994, - 53378, 9261, 6666, 17491, 21735, 59633, 49822, 62999, 31824, 39411, 36362, - 14832, 2760, 54476, 8641, 22518, 42102, 29029, 27163, 16146, 35874, 13886, - 51784, 46204, 18791, 57909, 18012, 43519, 54259, 5894, 11495, 51486, 8181, - 30073, 8477, 29121, 39068, 24490, 4986, 33786, 31575, 23403, 50161, 59485, - 48904, 36212, 33666, 61527, 2129, 53555, 52529, 5486, 51562, 4534, 26341, - 18072, 13459, 47209, 64277, 46346, 16919, 41742, 29508, 19053, 15901, 22319, - 9651, 58641, 43175, 6736, 13543, 13832, 19637, 27437, 40663, 28975, 18028, - 28632, 19, 48466, 23844, 56296, 29125, 21254, 2055, 61565, 46985, 16810, 29883, - 43175, 2753, 48443, 18148, 45216, 31089, 6453, 60974, 47934, 58200, 43513, - 5024, 23323, 45869, 31548, 55228, 33247, 2087, 25225, 59264, 10405, 39972, - 6279, 44086, 12349, 2246, 31668, 15361, 60930, 57918, 57074, 20872, 53649, - 11262, 2039, 25103, 16081, 55513, 46032, 16810, 4748, 65174, 31704, 9373, 7664, - 36837, 13405, 3525, 47929, 1416, 13455, 16190, 34764, 42627, 63174, 13088, - 22210, 40794, 61543, 61524, 57256, 32549, 45568, 4062, 45423, 13111, 3579, - 37883, 33359, 19437, 11782, 39242, 14842, 36, 63841, 58760, 54662, 41654, 1756, - 30565, 55932, 52561, 28043, 1995, 50837, 37274, 16168, 64154, 30158, 41983, - 3043, 50605, 26286, 29390, 54470, 34069, 27565, 32945, 427, 55389, 49559, - 51033, 15133, 59704, 37912, 35763, 16790, 25796, 47492, 21405, 60196, 11838, - 58016, 43593, 55325, 17311, 64123, 18505, 16890, 9045, 50807, 48381, 41519, - 62549, 33546, 28863, 48237, 44386, 42213, 45075, 11179, 52764, 33269, 4414, - 35782, 53930, 840, 6103, 29647, 56460, 23363, 16249, 7406, 50938, 34251, 12539, - 20227, 51622, 62870, 16303, 36646, 51911, 61992, 31580, 8881, 50427, 11347, - 50302, 36261, 36170, 39729, 13501, 13163, 25482, 28153, 16734, 50238, 21442, - 55785, 27238, 8812, 3676, 41568, 12450, 26456, 25268, 8872, 17507, 46981, 5227, - 19553, 34279, 694, 38775, 46180, 59660, 51011, 42880, 8566, 65281, 29255, 5309, - 29962, 47485, 46229, 21434, 30944, 21652, 49461, 42476, 13200, 49168, 11274, - 52182, 15387, 8611, 4888, 21400, 52125, 24220, 14083, 37632, 31470, 53919, - 23707, 39502, 50622, 52863, 28792, 58321, 60284, 44856, 20709, 13444, 4659, - 640, 53293, 21235, 44075, 56440, 51231, 13946, 64401, 38305, 15262, 55431, - 37273, 14882, 42986, 7366, 25842, 32782, 4161, 28804, 23872, 23495, 29135, - 2136, 54160, 24172, 19533, 55912, 40296, 15572, 48253, 29676, 41192, 13743, - 43051, 35059, 2203, 5676, 17844, 22810, 10115, 62456, 60125, 9656, 3296, 22941, - 40532, 13693, 47128, 58293, 36504, 39152, 9489, 23967, 37675, 10542, 459, - 59701, 22715, 58997, 24572, 57156, 60140, 20937, 36530, 50545, 61567, 20801, - 30020, 58679, 64206, 51749, 58047, 59614, 41057, 32949, 62282, 47477, 18262, - 3741, 38454, 17946, 36908, 35656, 42445, 55570, 49469, 33066, 21053, 22443, - 35801, 6501, 53516, 23709, 40976, 57983, 27207, 22655, 62207, 38148, 52511, - 34650, 48422, 11531, 25474, 43062, 18927, 59331, 14694, 38814, 30037, 60319, - 47484, 7509, 26395, 10886, 47632, 63818, 7091, 33298, 3361, 13284, 37484, - 38433, 16929, 16744, 42972, 15286, 59004, 64424, 10820, 6975, 46943, 32406, - 22980, 7929, 27069, 13481, 19937, 1175, 63733, 30579, 3254, 49131, 27448, 973, - 28039, 58260, 2315, 46817, 61465, 57458, 27082, 34919, 46292, 9477, 37395, - 54895, 13989, 58344, 33234, 48514, 10013, 23372, 39777, 48969, 51859, 5022, - 65476, 51005, 55333, 59413, 1594, 51943, 45907, 41983, 55906, 6664, 30701, - 35013, 22727, 1121, 25600, 9544, 57605, 26200, 45663, 17555, 636, 14101, 56741, - 43836, 64905, 18905, 18406, 4450, 3681, 50139, 40001, 14933, 13861, 43235, - 15683, 38294, 41783, 34361, 17712, 30821, 55965, 27741, 44427, 29675, 11624, - 46932, 4788, 61259, 32422, 61249, 37116, 27512, 47066, 7206, 43574, 18970, - 24049, 4267, 37442, 30966, 42196, 27359, 1052, 39421, 37799, 44276, 3249, - 23107, 48774, 10703, 3652, 51266, 4988, 4789, 64548, 6791, 54506, 61965, 2233, - 16133, 20833, 31894, 55185, 55553, 58900, 42265, 23982, 4563, 9293, 26629, 175, - 18796, 57239, 34187, 65291, 31608, 65093, 59280, 58233, 12792, 62070, 55343, - 54841, 28314, 33215, 12105, 28290, 32337, 33529, 7153, 27806, 25534, 11519, - 43036, 25074, 4278, 2409, 22954, 8587, 32472, 52640, 6566, 62003, 19574, 32192, - 2705, 2068, 34403, 7858, 29371, 4245, 1294, 23185, 49353, 36435, 24985, 63316, - 21483, 6776, 1513, 5058, 45339, 14814, 42025, 64335, 60535, 53851, 51715, - 59393, 14618, 48382, 27394, 39310, 21058, 7076, 6211, 28691, 35565, 30500, - 43999, 46505, 46261, 61265, 40383, 65155, 63572, 31788, 53756, 43474, 16115, - 8169, 20813, 24048, 18296, 51827, 25214, 25179, 52235, 58173, 31157, 27773, - 27712, 62894, 3258, 61915, 36620, 10031, 27272, 61799, 8814, 53997, 44344, - 31313, 59839, 32067, 8877, 36514, 1579, 39593, 63869, 47571, 30967, 35198, - 6489, 65142, 53689, 16119, 9916, 6266, 55591, 14983, 63411, 44117, 46988, - 37220, 10898, 6399, 9425, 371, 53523, 52493, 10171, 63986, 24601, 12618, 21622, - 30756, 22168, 15632, 37784, 18170, 26423, 29787, 31163, 43433, 48707, 47147, - 64074, 3595, 18289, 29680, 8419, 46213, 9998, 40845, 19543, 2063, 26780, 39261, - 36867, 11861, 22532, 482, 46275, 61127, 12792, 64281, 45927, 16765, 47884, - 30879, 6136, 3592, 26929, 53918, 2055, 52446, 4127, 22016, 10513, 55797, 54, - 55962, 24550, 4122, 216, 8272, 26033, 60761, 58435, 14927, 64092, 41186, 5820, - 6599, 7607, 2843, 21510, 46932, 36564, 1599, 1444, 48375, 23107, 27101, 32863, - 59425, 55645, 41071, 54991, 39762, 27985, 13617, 45825, 63510, 44876, 43027, - 58745, 34335, 52176, 26016, 1029, 53235, 65506, 24985, 49690, 55491, 6797, - 5299, 56649, 49954, 13467, 37772, 61019, 9905, 41585, 41587, 53789, 36033, - 40085, 34009, 19870, 39740, 2791, 16242, 65226, 602, 3657, 8774, 19785, 11033, - 17321, 12743, 16813, 31986, 32454, 50437, 21549, 19129, 10769, 18028, 25901, - 47037, 15697, 52271, 39208, 11650, 24131, 51286, 22109, 27380, 38143, 9664, - 62877, 41423, 48176, 65245, 59433, 64131, 17601, 17491, 33769, 31239, 25953, - 40006, 40665, 19539, 29898, 54577, 28794, 2709, 20549, 23365, 48767, 34030, - 28172, 38739, 23497, 12497, 669, 47382, 55701, 54381, 28408, 25532, 12994, - 25510, 59802, 9767, 505, 4616, 37770, 59717, 17412, 64799, 24562, 3508, 53786, - 39485, 9473, 50327, 24863, 26667, 54354, 40963, 21436, 49367, 51215, 29704, - 44704, 42663, 49150, 46704, 31256, 53842, 51288, 37099, 42215, 62083, 9475, - 49879, 18005, 3423, 6405, 43997, 48786, 39755, 59538, 49695, 566, 10618, 58216, - 37762, 32930, 31347, 35431, 35734, 19275, 61864, 40299, 22981, 45058, 20344, - 27995, 40134, 20744, 16250, 13836, 63918, 26514, 16127, 57742, 24253, + 14556, 55222, 24251, 24293, 27235, 26958, 6438, 60832, 7215, 22695, 17144, + 54587, 61706, 47463, 14773, 4854, 39837, 15514, 9141, 44675, 27253, 22362, + 28392, 40731, 21612, 54045, 5781, 26217, 56460, 64881, 41020, 57680, 65287, + 13880, 52279, 5846, 29036, 50062, 19738, 11373, 60434, 7130, 8227, 64105, + 54444, 40315, 59712, 17241, 13550, 4700, 56140, 61280, 47635, 9319, 964, 56488, + 15578, 43452, 12098, 17876, 16873, 62551, 39093, 27189, 54872, 57422, 3735, + 64046, 64039, 31954, 15993, 18984, 60283, 6361, 46789, 42785, 13332, 31918, + 27160, 52343, 52679, 54286, 38773, 54607, 59847, 62384, 26963, 46459, 33899, + 48285, 39854, 8461, 2958, 23862, 38568, 12694, 57934, 58916, 3171, 27759, + 34964, 6302, 51666, 7205, 30337, 18842, 34555, 41713, 29536, 21168, 58754, + 21771, 363, 30290, 7256, 20252, 47998, 23556, 40739, 17033, 51474, 7401, 50679, + 49735, 47305, 51765, 8270, 57990, 17814, 16191, 9226, 14888, 29, 30812, 59921, + 62268, 47691, 28929, 9225, 53347, 51029, 33411, 11593, 21327, 47202, 38974, + 48095, 49443, 63303, 10284, 43717, 37160, 61700, 24089, 61130, 20083, 35567, + 34995, 55871, 7756, 15226, 56633, 20387, 13331, 8658, 32666, 51541, 63796, + 22539, 53400, 12691, 33213, 52248, 43492, 12098, 61685, 38634, 3287, 50398, + 15855, 11166, 65229, 20185, 36228, 12371, 38469, 22190, 58344, 12598, 2572, + 11134, 47093, 52623, 3299, 43477, 11235, 11139, 46752, 3710, 62367, 42947, + 4946, 27498, 705, 43305, 61060, 60143, 27517, 31065, 38648, 11199, 42291, + 19735, 44971, 37078, 25592, 49935, 41192, 2488, 60095, 62630, 49877, 44753, + 38876, 6094, 53516, 41457, 52845, 31569, 23301, 33034, 8316, 40753, 19410, + 9092, 6612, 59485, 54815, 24910, 829, 11082, 6023, 15632, 37404, 23602, 34937, + 28490, 14501, 46857, 2295, 1961, 37006, 51278, 24044, 23398, 29645, 34623, + 38583, 62124, 62923, 47659, 15649, 28428, 29646, 678, 8332, 10965, 34236, + 56552, 53594, 3605, 39484, 64402, 28026, 30609, 16502, 53763, 61311, 51658, + 9914, 43182, 42103, 46559, 26671, 1103, 37378, 65332, 52477, 37344, 35287, + 38760, 55241, 64071, 49612, 33094, 32259, 40962, 33646, 19645, 43641, 51853, + 30409, 61156, 10026, 29813, 49648, 26448, 32412, 27328, 45121, 39106, 18453, + 18718, 56097, 41358, 12420, 55211, 23373, 57936, 32039, 21907, 62933, 60621, + 48588, 1438, 56083, 8707, 42191, 23084, 16085, 35176, 8884, 52825, 6273, 48998, + 24022, 17108, 8257, 6866, 12342, 48899, 54001, 28090, 38925, 52560, 38546, + 28992, 34307, 43464, 3518, 53589, 40150, 43840, 42707, 11231, 5273, 2326, + 43213, 34992, 57773, 64470, 65156, 6707, 13073, 30922, 19089, 10095, 25809, + 29796, 56113, 3918, 52182, 33662, 21162, 52741, 3396, 41269, 1630, 31035, + 11627, 30437, 39583, 51163, 18537, 2789, 40419, 42790, 47780, 33202, 9659, + 35203, 1675, 9623, 22516, 42101, 1244, 63558, 46536, 4757, 9228, 22978, 1111, + 29752, 25019, 5374, 22596, 30775, 60334, 54534, 23115, 22358, 906, 21640, + 54802, 28556, 10043, 29331, 23348, 9043, 39272, 26085, 29669, 19662, 16208, + 34232, 19721, 17033, 32501, 51268, 64668, 9273, 112, 51105, 5090, 18774, 16722, + 49529, 53521, 59295, 13507, 9208, 26709, 57166, 8394, 61444, 2869, 34477, 2673, + 9806, 47275, 7356, 48361, 32519, 46320, 37630, 63924, 62227, 52074, 19676, + 13768, 44794, 17114, 22579, 13988, 16042, 19260, 24709, 9126, 60050, 28983, + 35407, 1981, 25374, 64260, 30768, 28960, 22351, 26592, 32378, 53284, 59178, + 59194, 9727, 56100, 21791, 36486, 50857, 194, 25358, 63240, 39097, 20785, + 14097, 57187, 39396, 59708, 24091, 65452, 17992, 19600, 40184, 4537, 64667, + 19700, 42549, 42197, 63737, 4738, 63550, 5828, 2367, 41525, 55485, 53638, + 42635, 47473, 14898, 5676, 37546, 7977, 19269, 12103, 31222, 55931, 61413, + 50869, 62541, 22455, 61032, 38894, 33182, 53831, 1277, 19149, 3676, 25082, + 55975, 33203, 55880, 28342, 31990, 8493, 40881, 38352, 3353, 28926, 60116, + 6144, 14730, 9028, 48367, 60749, 60869, 31703, 48910, 37001, 4582, 57947, + 37773, 59656, 48705, 39951, 22954, 19269, 49989, 51833, 1175, 34028, 22453, + 14534, 20802, 16514, 3306, 46801, 12271, 17499, 34362, 50048, 63163, 21414, + 42617, 29047, 16063, 47720, 2279, 21646, 37699, 20678, 24600, 5258, 7534, + 21605, 54730, 54792, 57909, 55219, 52889, 14202, 50279, 11688, 50212, 23909, + 54533, 49331, 65532, 37091, 31449, 45485, 61378, 14797, 64406, 5716, 968, + 32257, 47486, 30143, 32992, 40587, 2360, 2748, 5867, 7880, 38105, 53759, 18957, + 62817, 19433, 27156, 21744, 36370, 45295, 20204, 9493, 63319, 137, 37281, + 20860, 55658, 59719, 33497, 54537, 15323, 58963, 37836, 16228, 46851, 32734, + 32, 5874, 502, 44055, 53228, 899, 42636, 154, 41256, 48491, 12457, 59255, + 44138, 32993, 57620, 64385, 32340, 26627, 55894, 3424, 49969, 23264, 35397, + 34359, 490, 49359, 65418, 39386, 45830, 63227, 27112, 59864, 35938, 14413, + 59271, 29434, 59797, 4758, 42380, 20292, 6298, 36596, 55049, 62380, 23445, + 23848, 25498, 2250, 33407, 44083, 23451, 25449, 14514, 50239, 32414, 57696, + 46504, 27760, 53667, 16794, 18360, 32469, 2397, 30070, 21997, 50802, 15192, + 5447, 10167, 56749, 243, 51024, 50148, 47278, 30030, 20638, 40910, 57523, + 54192, 23718, 55917, 32121, 64181, 28197, 63332, 21020, 28275, 45116, 14199, + 9787, 13201, 46969, 38791, 39564, 56544, 60144, 17769, 58323, 3820, 56379, + 63633, 56116, 50646, 47449, 36608, 58106, 36161, 47561, 57190, 43016, 9732, + 18842, 3407, 15817, 27227, 26584, 44870, 26800, 37705, 27407, 57242, 4141, + 34870, 43410, 19921, 64652, 17189, 27651, 65019, 53261, 59448, 19171, 2270, + 4456, 63205, 62012, 20051, 43164, 15617, 63877, 35186, 3359, 54985, 57920, + 57460, 11143, 25139, 24129, 33191, 27670, 27400, 54144, 1448, 48527, 47199, + 60491, 49589, 48774, 57698, 27172, 33599, 22866, 7911, 59659, 43569, 48199, + 60439, 56615, 20261, 64799, 54021, 19186, 2178, 21671, 17258, 29766, 48683, + 37926, 37030, 27164, 3488, 38172, 41727, 32029, 33375, 51842, 61716, 51174, + 50472, 19665, 28249, 14765, 23675, 14883, 32606, 55668, 39312, 26075, 62632, + 15060, 17545, 40226, 58995, 43158, 11009, 31970, 5449, 26415, 8355, 3795, + 58391, 3021, 60465, 58668, 30215, 53797, 28590, 44993, 5494, 48013, 37939, + 23129, 58786, 5780, 49976, 47175, 1827, 58376, 33707, 30781, 36499, 26501, + 3723, 55708, 35322, 4027, 49633, 11260, 48645, 43174, 5706, 47771, 17325, + 58745, 38674, 30280, 8495, 17113, 39129, 42198, 47502, 13357, 13971, 17258, + 26099, 25143, 9472, 20621, 40948, 62577, 60545, 40091, 1388, 38198, 2215, + 56268, 58353, 5630, 48419, 50700, 18201, 63935, 674, 43023, 3196, 44845, 7697, + 124, 24471, 4267, 7138, 42472, 30305, 57544, 61019, 29579, 51793, 41534, 50316, + 58377, 61785, 52786, 37544, 61278, 18872, 4433, 46600, 16066, 56558, 29303, + 34779, 51332, 3121, 20687, 49639, 61120, 1157, 32143, 42256, 12923, 5650, + 59278, 54678, 55709, 7880, 56954, 39195, 18645, 38050, 45208, 29446, 56410, + 57187, 19994, 41883, 35183, 27266, 14092, 7295, 12740, 53582, 52766, 4978, + 5886, 60421, 48413, 44860, 37449, 55511, 53735, 64929, 64849, 3804, 57355, + 6442, 59897, 42688, 48255, 64036, 3936, 18883, 6608, 23716, 60749, 64147, + 60292, 33495, 9911, 3267, 2343, 60532, 30389, 33446, 40794, 25352, 26142, 4116, + 29406, 15719, 61133, 64295, 24586, 34867, 36836, 14632, 52950, 10854, ])) .unwrap(), - c: 107, + c: 206, }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("cf3761ba9461b1af5158ea2e93141841e86368e57dc089d80fded1e1f7750866"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_random_2() { - let mut value = SmallTestStruct { a: 23998, b: 14996 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("6c014ce952c149ee0484856ca5f90db0015b6fcc6afd4dd5fa8f3354ea32f427"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_max() { - let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_lengthy_3() { - let mut value = VarTestStruct { - a: 53621, - b: List::::try_from(Vec::::from_iter([ - 12824, 63199, 12227, 37027, 24572, 53189, 4389, 44798, 43145, 8174, 43110, 30174, - 62754, 21656, 40949, 53812, 40888, 30440, 59145, 10801, 28955, 19257, 37274, 43429, - 1057, 41095, 36357, 4155, 28658, 44280, 43649, 44937, 19737, 61292, 19192, 27640, - 12891, 33832, 21987, 15325, 30046, 39353, 42201, 41239, 578, 51593, 12759, 22415, - 25369, 41609, 63054, 34114, 5523, 44794, 8868, 3115, 10983, 29661, 35422, 46638, 44220, - 32081, 1521, 6905, 21448, 15523, 11823, 10535, 63613, 7800, 29751, 56314, 6810, 37152, - 45202, 17885, 46224, 41522, 55064, 55034, 23405, 16385, 37885, 52284, 56597, 22342, - 13705, 41350, 12167, 29118, 31088, 37853, 1988, 61330, 37334, 55488, 5963, 61333, - 12915, 63312, 20922, 54718, 63217, 34767, 20943, 41833, 38426, 48977, 30574, 24718, - 17816, 13273, 23697, 35672, 39289, 46117, 20558, 46389, 25024, 19873, 64107, 30217, - 6650, 2012, 56112, 41641, 12942, 4166, 64536, 5189, 55420, 32271, 25800, 51807, 63728, - 52464, 41427, 54659, 32115, 39009, 47270, 39551, 50858, 23532, 60800, 36607, 14927, - 13474, 59257, 35292, 62928, 23256, 14812, 51561, 17012, 4652, 32518, 8304, 30481, - 29465, 65016, 19089, 35130, 9756, 31265, 32297, 44620, 47169, 23733, 32989, 4086, - 59561, 39285, 36965, 22085, 8378, 54829, 50571, 13548, 63472, 2016, 52180, 64456, - 43721, 15993, 9031, 13471, 24815, 2034, 23903, 25676, 14915, 5684, 26632, 1329, 31017, - 42437, 57785, 19570, 28168, 42408, 8684, 21826, 50701, 25954, 62000, 28631, 17658, - 24628, 60838, 1818, 14082, 35417, 9495, 65040, 65256, 54854, 17912, 36016, 18982, - 46911, 59346, 50637, 56068, 8951, 3987, 25910, 10172, 32664, 28275, 7739, 2871, 19584, - 40133, 53255, 49564, 19850, 26000, 22484, 10086, 25457, 11863, 23747, 32063, 1375, - 20477, 38593, 1119, 23799, 32090, 21624, 39954, 22767, 23888, 9289, 65408, 36174, - 39294, 40728, 24981, 374, 55536, 10984, 44014, 26666, 15202, 24834, 18552, 53468, - 40709, 7921, 32676, 57505, 12446, 34258, 146, 32728, 50805, 17277, 15454, 43322, 8537, - 16913, 6511, 50187, 39335, 8752, 20231, 34134, 23248, 61310, 5165, 1814, 51275, 57596, - 45933, 55855, 19742, 1826, 40280, 10996, 36168, 13576, 54805, 47846, 61015, 587, 60471, - 29621, 26522, 5915, 158, 18461, 6820, 64659, 53083, 48481, 40473, 45506, 61232, 41672, - 17842, 1548, 4992, 34785, 55044, 45130, 29968, 39908, 41722, 26447, 30411, 30816, - 34584, 58139, 17373, 1767, 11136, 57962, 39073, 20109, 48849, 62197, 44858, 64613, - 25430, 31126, 9234, 23003, 30425, 23090, 32660, 36495, 62214, 56111, 5781, 49324, - 43924, 26114, 10988, 2595, 24871, 56135, 56882, 54305, 14533, 64595, 48290, 14544, - 24151, 1802, 61817, 48204, 49941, 47529, 12673, 49460, 29934, 64877, 43088, 10912, - 49531, 4222, 16284, 191, 9767, 17371, 26973, 55656, 19739, 27919, 65374, 40530, 40286, - 26476, 24664, 20366, 9967, 48365, 20415, 3879, 19655, 34812, 61134, 35950, 14720, - 18888, 10069, 16577, 31675, 34830, 19296, 28186, 57105, 63685, 28433, 2441, 38900, - 52568, 20180, 54108, 30962, 41663, 41162, 9924, 19119, 29418, 13674, 62989, 912, 21362, - 2361, 9348, 23810, 17782, 25388, 20276, 36758, 17616, 37003, 62703, 25855, 32639, - 41721, 55280, 50239, 9817, 59209, 7338, 61297, 7118, 7555, 23209, 34271, 52326, 63243, - 47765, 46845, 8216, 52514, 39175, 6855, 36103, 20546, 35462, 32576, 57863, 59386, - 28986, 10626, 34460, 30107, 63828, 55285, 24445, 30837, 36790, 16082, 51703, 37350, - 5331, 31688, 41107, 60384, 9222, 58880, 38350, 11341, 47994, 21225, 61858, 4590, 20131, - 19399, 7606, 46715, 47869, 12019, 40950, 9830, 1496, 47800, 48413, 2912, 4054, 51443, - 47494, 7523, 44600, 29898, 2554, 14621, 56416, 28097, 31884, 55056, 63050, 16540, - 16605, 52921, 34914, 60457, 32972, 9185, 19912, 9352, 39493, 36702, 39956, 52474, - 24680, 47327, 48286, 30950, 29333, 10409, 4091, 21410, 5227, 54353, 60079, 45759, - 56625, 14338, 57190, 40981, 43602, 17006, 53073, 56010, 4709, 5430, 26296, 37529, - 47667, 8833, 2971, 57303, 63231, 15702, 26827, 39565, 9249, 20140, 4173, 8250, 17027, - 4990, 20050, 4431, 15435, 46771, 15130, 13649, 30386, 48851, 17859, 40727, 1727, 3412, - 40850, 54557, 50322, 29032, 8445, 29183, 41999, 50925, 61595, 14196, 35072, 39816, - 50201, 23840, 37744, 26866, 3602, 46965, 22856, 26798, 43015, 40206, 55515, 11291, - 14295, 25047, 12508, 42920, 61545, 36847, 42827, 59149, 37648, 20834, 4214, 15295, - 45749, 17057, 37635, 47729, 15217, 50778, 7236, 63009, 47585, 8546, 20844, 1714, 26460, - 15336, 63245, 34216, 58685, 15646, 3498, 29123, 62271, 43203, 12246, 3134, 9311, 53746, - 28666, 5828, 45743, 50930, 41775, 21044, 7624, 49610, 19369, 41631, 40808, 21746, - 16537, 59450, 15484, 39419, 56493, 38487, 63573, 28134, 46943, 57911, 13618, 27665, - 63693, 21072, 34656, 63629, 23609, 55587, 30903, 8100, 28620, 21732, 27509, 47468, - 15126, 31921, 16048, 39864, 5653, 25472, 18436, 19876, 52126, 39651, 47640, 8025, - 60396, 12961, 11559, 19217, 37464, 48299, 60234, 48664, 17783, 6445, 23475, 14987, - 46398, 35504, 62413, 57423, 53601, 6077, 53923, 42587, 23539, 8990, 28851, 34421, - 49397, 61664, 54315, 3593, 28324, 50753, 47720, 37264, 7728, 20211, 34865, 39022, - 23668, 13442, 6771, 50757, 9518, 18825, 62867, 4054, 6240, 16905, 27035, 46010, 11940, - 24279, 48265, 37950, 20187, 56769, 27295, 31211, 575, 12642, 9751, 39340, 32877, 6935, - 27306, 10933, 58991, 47581, 48835, 15245, 15429, 50806, 5562, 14231, 5518, 9902, 16135, - 39182, 1680, 13628, 43562, 35187, 27239, 588, 17920, 5853, 39399, 31080, 13365, 61435, - 14953, 29568, 4929, 53504, 35721, 39671, 2227, 32135, 21383, 64510, 15481, 59049, 2032, - 16254, 17682, 8602, 64410, 16152, 17573, 23476, 21416, 60463, 30720, 8117, 59855, 3926, - 24068, 65487, 36427, 28490, 5766, 19232, 18471, 58849, 22846, 58016, 5434, 43093, - 57345, 50164, 20043, 20320, 59193, 1832, 34512, 28820, 64998, 7348, 26775, 50866, - 55706, 38800, 39677, 42733, 5620, 24482, 16486, 12981, 43476, 51650, 37424, 16718, - 3806, 56666, 9956, 4126, 57305, 16012, 51301, 46051, 48009, 26308, 17439, 44536, 42504, - 44282, 13750, 45145, 30812, 41906, 26513, 1365, 46416, 18062, 41850, 62624, 52481, - 45361, 62555, 54272, 13710, 59825, 55116, 8289, 29104, 14423, 25618, 43571, 8984, - 27448, 3638, 48426, 47278, 39039, 30918, 16734, 59710, 32735, 44274, 32123, 53804, - 13043, 28523, 25232, 36266, 15100, 58840, 28057, 50214, 42030, 38537, 40603, 61101, - 58153, 49848, 41247, 8699, 19091, 47538, 25546, 19561, 38790, 64260, 32976, 60806, - 14783, 9629, 48369, 30608, 29534, 17392, 54595, 2000, 1731, 16822, 14065, 12114, 48259, - 40194, 46581, 15692, 60445, 16662, 8508, 41248, 32381, 34455, 45060, 60137, 57750, - 14183, 11223, 38168, 34879, 11355, 3323, 16613, 64476, 3189, 53954, 24359, 62200, 1202, - 55946, 768, 27060, 14657, 55024, 27519, 42256, 63606, 36574, 54148, 29741, 36099, 8779, - 36894, 31347, 42576, 38020, 14817, 7303, 64961, 42979, 30210, 46928, 38757, 10021, - 28505, 64359, 50842, 28773, 19200, 18414, 55308, 18799, 6307, 6519, 7775, 53258, 61139, - 49334, 47308, 13579, 51794, 24185, 44464, 53056, 2504, 41519, 20023, 12170, 24384, - 56645, 14604, 61920, 39018, 32, 20528, 51398, 25015, 52982, 16304, 41598, 53136, 49436, - 19512, 42007, 1305, 5487, 23918, 57245, 1315, 12214, 462, 2117, - ])) + VarTestStruct { + a: 37045, + b: List::::try_from(Vec::::from_iter([ + 40012, 20147, 36304, 59222, 14275, 40439, 12833, 27481, 16102, 36518, 22014, + 12807, 17727, 33809, 17208, 45861, 61773, 21505, 42225, 40102, 38056, 58524, + 37981, 17397, 13087, 36293, 47576, 52952, 27090, 43652, 29267, 46696, 16852, + 37112, 9531, 13325, 1466, 61863, 42155, 62232, 12589, 28753, 33531, 24078, + 56683, 14224, 7090, 60762, 4722, 19589, 63213, 51906, 26344, 18995, 23765, + 11486, 56992, 6725, 9359, 24923, 13926, 22031, 31792, 30944, 60351, 39062, + 19921, 48559, 29761, 13049, 46939, 29256, 43454, 35501, 28042, 64171, 45372, + 26888, 48905, 51339, 32221, 27638, 28617, 16252, 25820, 58631, 15852, 53646, + 64640, 36283, 43676, 5838, 59027, 45762, 24511, 27023, 50613, 28369, 32983, + 41790, 5336, 27837, 4168, 43765, 65137, 41046, 52071, 17284, 13059, 36003, + 59279, 29416, 50090, 57022, 1989, 14276, 6207, 33414, 20965, 44909, 15013, + 60567, 54810, 28900, 48638, 11177, 64319, 47831, 13075, 11489, 39025, 52903, + 24991, 40957, 11799, 17348, 408, 61755, 64537, 34135, 39212, 64652, 25136, + 48250, 11263, 46229, 60248, 52685, 34902, 32762, 38922, 45399, 49417, 2938, + 21508, 65307, 63859, 7876, 57720, 25663, 54923, 33095, 31001, 30716, 51753, + 17696, 36934, 59917, 34026, 9742, 46695, 41753, 62085, 47677, 34225, 32936, + 36676, 15824, 58934, 30315, 42073, 63265, 57180, 5931, 7653, 23772, 37796, + 46691, 57491, 35253, 40233, 15924, 8312, 51764, 22787, 28997, 10923, 8934, + 41694, 4834, 3848, 9493, 26339, 19692, 22645, 62370, 33015, 64879, 42141, + 23417, 55244, 21749, 5923, 20127, 45099, 805, 4061, 3069, 53926, 42858, 41811, + 35544, 19671, 7512, 52226, 23952, 36654, 37186, 154, 48126, 56118, 48224, 950, + 12048, 7420, 50752, 56476, 5741, 32248, 34848, 40286, 24084, 33667, 14003, + 2032, 25472, 55337, 26201, 8175, 38831, 42511, 11217, 42707, 28091, 23108, + 38837, 14045, 10260, 60295, 46509, 37159, 25573, 5177, 24741, 5753, 43034, + 39289, 58363, 27404, 48758, 57944, 15448, 20620, 46900, 25590, 35364, 26062, + 36508, 19601, 25034, 58475, 33925, 37339, 3252, 16534, 65055, 41647, 63677, + 48556, 42838, 41823, 20932, 17658, 6347, 18175, 60908, 25572, 15000, 52779, + 43200, 26729, 51503, 29562, 57961, 13004, 64270, 60277, 34380, 114, 51877, + 37393, 38043, 48436, 37482, 7018, 36989, 33064, 3752, 2271, 29822, 32608, 1663, + 19799, 48033, 17726, 9406, 34956, 62537, 20965, 20727, 23637, 25135, 7824, + 64492, 24616, 10006, 9516, 55228, 37163, 52628, 8420, 27032, 18196, 12996, + 28651, 11090, 48241, 3272, 45651, 5543, 37274, 33988, 15081, 25189, 42622, + 2511, 51445, 49272, 41866, 17934, 60762, 35498, 1085, 60453, 8143, 61704, + 10287, 26432, 60631, 24521, 42889, 37512, 58750, 2942, 33426, 32085, 7143, + 14640, 56329, 45068, 62234, 59453, 42021, 5966, 16811, 25187, 32519, 31741, + 63147, 6725, 40535, 42943, 44038, 54399, 58685, 15197, 28082, 31942, 56015, + 2066, 28985, 52896, 19192, 56281, 30924, 34425, 47177, 34460, 51507, 42741, + 14896, 26601, 2318, 56385, 7576, 20018, 11107, 40457, 55679, 27021, 15365, + 12886, 28363, 30532, 23095, 23431, 5122, 7424, 45142, 44294, 16249, 31276, + 54752, 44051, 48489, 6015, 12944, 15076, 6538, 31583, 64013, 29130, 5885, + 14706, 57426, 24552, 20012, 25002, 46199, 34863, 17288, 40925, 42416, 17096, + 64694, 3516, 32441, 64249, 51154, 53658, 31688, 47842, 34335, 19862, 35134, + 4620, 28911, 23128, 5142, 13356, 39460, 28794, 16442, 45973, 29492, 43697, + 14654, 28740, 20168, 44845, 37537, 56071, 8593, 63059, 39823, 28877, 15252, + 31094, 42001, 14891, 63163, 20035, 43696, 64832, 55112, 23912, 34767, 48027, + 31228, 49363, 28741, 29488, 10044, 15481, 54081, 58409, 22193, 55297, 1952, + 43279, 21985, 55701, 12320, 31379, 192, 40191, 3965, 50958, 9405, 29711, 38711, + 39068, 48864, 43048, 19592, 39709, 52789, 42656, 11163, 939, 3019, 17595, + 54840, 4731, 15914, 6611, 54415, 30247, 59319, 25966, 37848, 22279, 54871, + 38565, 40508, 23438, 15023, 40328, 21368, 47621, 43884, 48424, 46057, 65032, + 32393, 29943, 36598, 26755, 41965, 29747, 29303, 28697, 39964, 43470, 51690, + 41376, 21785, 55344, 7090, 32594, 32947, 12839, 19988, 47449, 28471, 24129, + 49292, 19991, 58370, 46928, 62574, 20869, 33886, 41180, 18699, 26187, 57673, + 14570, 46440, 38207, 47794, 7906, 64563, 780, 29956, 6168, 7699, 30983, 23271, + 13490, 23984, 17101, 8174, 8475, 12461, 6430, 29468, 48872, 8198, 43557, 3774, + 56496, 22672, 531, 38858, 1963, 4157, 4027, 24258, 35414, 58654, 26576, 63574, + 28600, 38030, 40178, 21770, 1455, 15617, 11702, 2728, 3941, 45294, 35534, + 13201, 7802, 55539, 33941, 62473, 1627, 4813, 59044, 33505, 47750, 44671, 6298, + 43442, 2703, 41407, 50359, 56933, 60562, 12477, 63417, 36975, 22808, 12107, + 5138, 3442, 35804, 15212, 53958, 10668, 31878, 56026, 7077, 27957, 10490, + 42511, 41672, 33229, 946, 29494, 10200, 40814, 14410, 17119, 15869, 24487, + 13358, 16618, 39310, 25590, 30117, 51290, 21107, 6419, 19230, 15869, 31117, + 2280, 40448, 59248, 757, 41509, 37521, 63923, 17345, 17093, 58259, 2016, 42147, + 8146, 10808, 64148, 3366, 22909, 1348, 18614, 51765, 28134, 64236, 41910, + 28810, 60285, 38021, 55988, 32096, 4676, 9980, 42341, 50499, 3866, 14359, + 45516, 38989, 60286, 50177, 12176, 47473, 46731, 44122, 11272, 16488, 28558, + 14976, 39301, 28460, 41575, 29325, 24049, 13378, 39713, 14267, 7112, 62737, + 19241, 27716, 38407, 41677, 27790, 25307, 27292, 54856, 36100, 7016, 36272, + 39293, 4711, 35652, 524, 59838, 2945, 24996, 35616, 19953, 48279, 35041, 34115, + 32979, 26300, 49391, 12088, 52389, 57216, 64926, 55031, 12448, 51541, 62389, + 56322, 22336, 11570, 56399, 13062, 17281, 5848, 48155, 22250, 64970, 56866, + 29747, 5708, 8341, 31396, 23899, 44477, 38975, 20551, 63525, 1988, 16141, 461, + 19533, 8040, 33126, 37918, 52286, 19918, 23976, 48132, 46772, 61128, 63943, + 19095, 65229, 30128, 62239, 1130, 34642, 25489, 15483, 43490, 29676, 17263, + 14149, 36672, 28137, 35952, 25885, 10179, 21137, 56624, 855, 5073, 41001, 5119, + 56247, 59776, 40332, 42294, 20132, 58808, 19313, 61043, 4484, 56733, 25618, + 28810, 58373, 17674, 6171, 34843, 11786, 25399, 1144, 12727, 23261, 6449, + 39312, 41019, 39024, 52056, 9872, 10047, 18372, 61860, 18740, 16481, 59082, + 12694, 24320, 47466, 23533, 39700, 2707, 21902, 50810, 26154, 5844, 1972, + 18853, 20426, 45366, 63924, 50390, 701, 59286, 26137, 14889, 15937, 60214, + 34554, 34388, 20536, 30313, 33859, 11547, 35367, 43251, 48515, 9146, 59007, + 42202, 59810, 18822, 32724, 3495, 7564, 2450, 63288, 53590, 64480, 15468, + 60039, 54247, 30387, 53881, 51366, 14127, 23319, 21560, 40792, 44251, 24824, + 57063, 17578, 31107, 55489, 35456, 12293, 62625, 20633, 37677, 22715, 47017, + 29894, 3185, 51501, 51221, 62711, 64906, 1114, 32352, 58756, 52323, 57123, + 59880, 54564, 12790, 57690, 48578, 48349, 20482, 40182, 25647, 30777, 60673, + 25842, 35200, 43534, 7138, 18523, 27530, 34278, 47898, 7890, 56141, 58316, + 34553, 6882, 57094, 20866, 18280, 31289, 21868, 14464, 34023, 34390, 62698, + 12885, 50477, 10221, 34724, 20145, 27647, 58502, 42417, 17562, 49318, 64729, + 19487, 54821, 45307, 13639, 23461, 11632, 2007, 58981, 37626, 1146, 20743, + 10624, 20726, 1875, 36451, 19954, 33597, 54359, 19014, 6816, 59600, 5837, 9682, + 17257, 38614, 19693, 50996, 34155, 53196, 8804, 64272, 15365, 506, + ])) + .unwrap(), + c: 165, + }, + ]) .unwrap(), - c: 192, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ac826d5dd43427c8f4838bf5b54134ce4ddf37a6a9bcea07d229964940858853"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_one_6() { - let mut value = VarTestStruct { - a: 5264, - b: List::::try_from(Vec::::from_iter([12220])).unwrap(), - c: 50, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_one_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("14662980605e77baa6e07639d5bbe81467e2ca249340e9531edcaa87585cedab"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_nil_5() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([true, false, false, false, true, true, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_nil_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("51e74ba89a64b57dcb64384a1ba81c8ac3e15edfec97f187e20dfa5669859035"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_one_1() { - let mut value = VarTestStruct { - a: 47389, - b: List::::try_from(Vec::::from_iter([45887])).unwrap(), - c: 140, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_one_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: VarTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("90fc29dbcb37509bde9cbecb990e7fb5ead6249d16964870263e7b58c57ba7cb"); + root_from_hex("0x8edf67843395b2619b3d98e675e5a533be437a2164391889399bba6e4e8f5c46"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_lengthy_4() { - let mut value = VarTestStruct { - a: 49542, - b: List::::try_from(Vec::::from_iter([ - 24176, 6691, 23594, 34600, 279, 42247, 61589, 7750, 35436, 7515, 9624, 33952, 31649, - 13277, 30992, 9446, 46849, 44684, 29092, 21121, 32148, 37757, 15766, 53992, 14343, - 46848, 13002, 11444, 15204, 27637, 38576, 34625, 26673, 19521, 36230, 2040, 42348, - 31031, 37348, 53512, 47951, 23324, 52778, 59277, 60983, 50449, 925, 31111, 8005, 23828, - 17807, 3116, 37028, 54069, 32494, 42511, 27960, 51027, 4225, 15907, 24504, 5820, 6374, - 9214, 34511, 23569, 39346, 54283, 20963, 46388, 9248, 40785, 26950, 9648, 5362, 27878, - 36250, 20754, 17908, 46299, 52362, 44315, 21562, 21740, 36159, 22140, 40730, 17608, - 5915, 1543, 4244, 63320, 51731, 49433, 56472, 30938, 62884, 13353, 22011, 13603, 39755, - 36974, 14793, 41047, 42644, 47525, 8585, 41126, 3068, 61868, 32452, 52070, 33625, - 59274, 4232, 4123, 62962, 5919, 57924, 42027, 62102, 54757, 44714, 22173, 55963, 55023, - 35385, 25614, 14518, 50974, 21008, 35291, 64803, 23383, 32083, 40008, 54466, 4501, - 40608, 30567, 30581, 45418, 35755, 52742, 9300, 7454, 22498, 6943, 47429, 46974, 23901, - 57481, 34202, 15665, 29487, 22450, 48240, 7168, 37505, 29279, 9176, 14888, 17827, - 30185, 10835, 16258, 10, 2254, 55532, 37893, 26048, 60132, 65144, 38122, 41241, 48651, - 32337, 14493, 27793, 4045, 62823, 41331, 55548, 61248, 8373, 17875, 15170, 39035, - 48214, 39540, 47175, 25028, 39359, 55471, 34582, 31956, 62883, 58081, 25685, 11263, - 32593, 61245, 15820, 41533, 22717, 38000, 1384, 27193, 31524, 22975, 41184, 29342, - 5847, 32060, 7879, 24652, 34137, 33187, 26967, 42794, 5307, 38986, 28813, 57421, 29231, - 36, 18699, 35421, 59357, 26104, 30013, 52482, 5618, 38088, 31838, 7805, 17322, 28129, - 2877, 29566, 6862, 32532, 27071, 1987, 23147, 13110, 18689, 44738, 18454, 18160, 51485, - 37708, 30555, 30998, 59779, 62206, 44125, 65321, 47938, 30689, 52748, 40869, 2952, - 12566, 5409, 44384, 61449, 6342, 56545, 19438, 4594, 22158, 27778, 51319, 50187, 35936, - 14422, 40344, 58111, 5552, 43834, 49356, 55870, 8915, 25853, 46690, 47187, 14809, 1919, - 19597, 42198, 26016, 15751, 52908, 19762, 24896, 44586, 22383, 32549, 52973, 32963, - 54469, 27375, 54695, 8847, 61163, 29739, 21356, 1500, 21492, 7855, 18915, 46901, 55982, - 34455, 49702, 20122, 39680, 24157, 9292, 45732, 34031, 20797, 15331, 42589, 69, 40291, - 13901, 12701, 34931, 17402, 38396, 3110, 39186, 980, 65109, 8001, 54203, 7982, 10644, - 15853, 32133, 33766, 61594, 15788, 29198, 40624, 52298, 4386, 8873, 64378, 46318, - 44016, 31213, 31756, 35290, 21201, 18664, 62670, 24327, 48958, 18623, 3362, 11938, - 14438, 10886, 11030, 56209, 59949, 37520, 17563, 33924, 24993, 34084, 49026, 5634, - 52415, 38219, 48486, 45027, 25230, 2654, 41060, 45731, 39398, 57706, 9221, 26315, 7224, - 16867, 49921, 7805, 18418, 27190, 29605, 36359, 29785, 63860, 24874, 37547, 10873, - 30645, 46879, 1128, 36289, 16248, 65211, 25291, 54314, 20839, 29417, 53234, 58341, - 46797, 56326, 63209, 64319, 6554, 17870, 15067, 55045, 40733, 2326, 15114, 13536, - 25525, 1743, 55935, 19768, 35755, 12992, 55374, 60641, 27321, 43157, 64574, 35891, - 44609, 60838, 513, 51352, 57846, 8060, 36767, 36506, 19069, 54924, 16010, 37227, 28707, - 60322, 32929, 51131, 10723, 30838, 31526, 8309, 47710, 2473, 23498, 53300, 37291, - 10765, 29267, 14344, 19826, 40084, 44731, 10118, 32600, 53186, 61810, 42415, 54321, - 4864, 32063, 15243, 26552, 14641, 28192, 57558, 9781, 44137, 32123, 38308, 12573, - 48273, 47813, 20783, 4285, 45602, 27703, 62809, 56829, 41949, 32555, 12407, 47653, - 33000, 18411, 41481, 9563, 7496, 3352, 42560, 62847, 17073, 42997, 47040, 56191, 25939, - 45878, 20457, 18613, 5765, 32674, 64671, 30294, 22750, 33890, 51595, 21694, 18936, - 46983, 21385, 45557, 50079, 23949, 43257, 40700, 40058, 64281, 10550, 26952, 6781, - 10292, 41284, 40684, 19296, 38469, 65436, 48807, 54970, 33267, 225, 37537, 14390, - 10819, 45704, 47157, 23273, 40019, 63952, 48361, 41840, 37051, 31639, 34707, 24711, - 26598, 24132, 31161, 54780, 40532, 25239, 14389, 10673, 58898, 60210, 61180, 60406, - 58563, 18362, 9816, 3990, 36543, 53267, 36507, 64624, 62830, 40623, 6927, 18675, 63757, - 48167, 36978, 53133, 39634, 37097, 46323, 31345, 45398, 45348, 1612, 59525, 3728, - 54322, 65201, 15868, 46368, 35881, 45423, 36049, 56122, 57932, 53129, 62648, 48375, - 21424, 60423, 2348, 52797, 6775, 5255, 41656, 44466, 6959, 59394, 50100, 64363, 58849, - 35646, 18008, 36382, 9509, 44699, 20277, 738, 12298, 31313, 32696, 40912, 36950, 25236, - 17136, 28897, 47315, 39651, 62937, 14642, 23035, 28629, 32736, 16679, 35939, 31181, - 51426, 53744, 4499, 11172, 56374, 63738, 3664, 33845, 37157, 965, 32592, 63003, 63686, - 19615, 4657, 41773, 31900, 50581, 18028, 1079, 29992, 34383, 5175, 18724, 55095, 34374, - 48355, 12191, 62499, 62508, 63612, 39047, 26733, 53960, 55239, 20815, 65434, 55386, - 60984, 34748, 29996, 3357, 55343, 7686, 20719, 47697, 25815, 46829, 46412, 55814, - 14954, 3357, 42532, 15634, 35270, 32870, 59622, 3985, 27252, 45296, 48358, 8451, 64871, - 57567, 7304, 63953, 10696, 62588, 13406, 49243, 63350, 58218, 10163, 20681, 37966, - 64938, 24883, 12339, 20460, 6435, 5027, 12935, 58835, 25601, 42816, 55130, 46980, - 33955, 2700, 62344, 26772, 49951, 17175, 2289, 34685, 61812, 51435, 45366, 28638, - 36391, 22398, 20053, 60454, 27696, 39806, 23627, 30652, 8110, 20266, 16441, 20423, - 47009, 33684, 60909, 9702, 57568, 26503, 25931, 61716, 16870, 54646, 61593, 19618, - 48952, 4915, 53893, 24200, 63028, 38000, 44874, 7726, 31012, 24641, 61568, 59741, - 52712, 50516, 1360, 61226, 18309, 1403, 32679, 6717, 25356, 41731, 54184, 38756, 3767, - 25101, 24133, 2397, 38331, 2687, 37038, 43443, 47201, 37141, 57101, 31255, 14285, - 18735, 52887, 57902, 27817, 43542, 35864, 42910, 54409, 22273, 32147, 23776, 15718, - 27147, 30733, 49369, 13919, 46822, 46991, 43084, 36413, 53876, 61482, 23379, 10338, - 2753, 26758, 35000, 60336, 58532, 41487, 56416, 33731, 57977, 48319, 54818, 623, 31523, - 48801, 30764, 2552, 25466, 44332, 14911, 43224, 31602, 105, 48493, 44213, 24487, 57050, - 14160, 34137, 57442, 62213, 29737, 33973, 40612, 19783, 51676, 31939, 20052, 50605, - 20918, 55316, 48016, 40253, 58739, 26284, 31291, 19970, 11793, 11690, 14549, 35505, - 61927, 8663, 27698, 5182, 27535, 38689, 43328, 34168, 25500, 61636, 2259, 64968, 36733, - 31201, 25144, 41771, 2888, 28180, 10426, 40259, 47533, 35148, 29417, 2389, 33575, - 33454, 53437, 29607, 56328, 26017, 1631, 55664, 41612, 6499, 21837, 54618, 41586, - 21958, 48422, 32507, 4943, 28887, 35079, 29344, 42857, 18651, 21237, 43919, 29056, - 63768, 10172, 44679, 3866, 9606, 24041, 32219, 22596, 8366, 42644, 32522, 41151, 2680, - 15538, 34354, 47859, 36035, 60830, 54743, 52989, 24891, 42186, 33301, 36198, 30264, - 44612, 3714, 29131, 28926, 55360, 43546, 38201, 31205, 18149, 17004, 46729, 47446, - 15866, 31071, 9267, 60229, 1970, 25222, 59538, 1375, 21638, 18073, 38411, 33281, 12698, - 11192, 11252, 24193, 52988, 48070, 39438, 1888, 7320, 63951, 40461, 22286, 40137, - 61093, 52731, 30123, 17484, 3302, 22216, 55458, 608, 34610, 10863, 22823, 50379, 6078, - 37084, 2682, 5584, 43468, 44929, 16330, 57616, 12260, 59257, 2719, 11929, 39447, 16197, - 53235, 60854, 48756, 20252, 48603, 18883, 1404, +fn test_containers_complex_test_struct_lengthy_2() { + let mut value = ComplexTestStruct { + a: 19676, + b: List::::try_from(Vec::::from_iter([ + 26413, 56542, 62484, 27880, 9216, 53288, 53725, 51556, 51435, 17912, 31404, 48683, + 33123, 61838, 1290, 60253, 18212, 19066, 22623, 35525, 52094, 61005, 59784, 56842, + 32175, 7885, 62936, 21332, 21770, 9195, 7805, 35630, 48637, 13597, 38661, 40160, 42542, + 48532, 41715, 10860, 51049, 17867, 31701, 2019, 46591, 41282, 7622, 58267, 31787, + 58251, 31679, 6073, 56572, 37203, 65005, 61107, 29171, 25613, 49256, 7010, 16229, 6480, + 20904, 44320, 59873, 27134, 32263, 64979, 47467, 25750, 56609, 3786, 42479, 56432, + 52170, 62116, 56790, 9514, 47938, 1530, 45757, 42352, 31243, 62414, 10351, 8443, 17162, + 9168, 25591, 28451, 55483, 50427, 7090, 17128, 65191, 65432, 24944, 11250, 34195, + 53137, 31394, 8738, 7746, 57081, 57139, 16781, 3994, 17450, 24102, 4432, 51774, 11493, + 35094, 21841, 38181, 25375, 136, 46838, 22556, 9260, 28470, 40259, 23751, 6625, 54019, + 47625, 38295, 17613, + ])) + .unwrap(), + c: 15, + d: List::::try_from(Vec::::from_iter([ + 151, 152, 29, 69, 80, 41, 67, 175, 120, 66, 59, 63, 115, 49, 250, 222, 117, 183, 101, + 67, 76, 73, 231, 116, 31, 225, 161, 117, 253, 175, 37, 147, 151, 117, 179, 122, 171, + 96, 75, 236, 96, 167, 130, 224, 45, 93, 37, 118, 186, 216, 189, 38, 250, 110, 40, 214, + 162, 3, 186, 152, 142, 229, 207, 180, 99, 211, 50, 72, 225, 141, 147, 218, 105, 121, + 141, 17, 71, 50, 151, 82, 220, 160, 121, 116, 6, 131, 58, 79, 38, 124, 5, 139, 83, 113, + 49, 221, 13, 24, 154, 216, 104, 142, 215, 205, 0, 194, 192, 53, 124, 204, 2, 223, 123, + 134, 176, 208, 128, 109, 33, 96, 51, 28, 105, 42, 203, 234, 26, 200, 65, 185, 4, 14, + 148, 228, 163, 192, 3, 8, 116, 196, 92, 230, 249, 25, 206, 143, 115, 221, 130, 190, + 158, 172, 183, 27, 167, 22, 201, 202, 46, 226, 102, 64, 40, 56, 143, 194, 187, 77, 42, + 1, 243, 221, 23, 223, 116, 192, 208, 16, 153, 155, 84, 17, 7, 44, 0, 58, 88, 98, 156, + 176, 19, 104, 254, 83, 162, 104, 47, 120, 205, 107, 75, 104, 15, 216, 83, 90, 222, 4, + 237, 144, 10, 4, 56, 40, 141, 66, 86, 19, 55, 8, 60, 9, 201, 211, 232, 94, 50, 71, 212, + 150, 30, 188, 224, 243, 253, 127, 2, 101, 25, 12, 215, 73, 108, 121, 54, 63, 85, 7, + 187, 249, 65, 38, 149, 84, 67, 36, ])) .unwrap(), - c: 123, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("8c5021941ca0553eaff53a2b56b2ff86bee1249c77c700d3f47406569bd0b01f"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_zero_chaos_2() { - let mut value = SingleFieldTestStruct { a: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_chaos_2/serialized.ssz_snappy"); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_zero_9() { - let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_nil_2() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([false, false, true, true, true, true, false, true]), + e: VarTestStruct { + a: 19519, + b: List::::try_from(Vec::::from_iter([ + 20798, 29153, 62527, 57404, 59149, 38345, 17377, 7756, 26700, 50648, 28781, 45131, + 32930, 57741, 43440, 8279, 36252, 37564, 5208, 63939, 60381, 54898, 5309, 52263, + 8129, 63687, 24607, 17421, 13842, 65168, 19878, 1858, 42771, 29529, 42864, 11393, + 15706, 34579, 23468, 37365, 15917, 35315, 1039, 50221, 49116, 19666, 17491, 33456, + 27535, 25279, 6040, 2974, 35728, 59398, 18067, 57671, 30359, 1279, 4801, 20771, + 45797, 28857, 5252, 54858, 28178, 53541, 6483, 17460, 45524, 60672, 22366, 25959, + 63080, 37761, 13157, 12306, 47574, 64645, 4138, 52150, 13628, 19250, 45888, 54392, + 31167, 22285, 56850, 30840, 61885, 64282, 45213, 44748, 59400, 12776, 31636, 26342, + 36730, 36995, 26535, 42256, 58072, 65042, 20560, 51142, 62813, 41111, 9856, 44170, + 5629, 29501, 11194, 64090, 23690, 51963, 23752, 10063, 42341, 57801, 58361, 3974, + 6778, 8075, 4263, 35238, 44872, 5996, 62445, 50720, 38624, 52918, 54442, 42956, + 60307, 33172, 40762, 46561, 4803, 30747, 28606, 3259, 33706, 26518, 64760, 40995, + 19221, 51507, 42866, 39308, 59499, 8550, 3501, 59079, 43594, 25643, 19947, 27205, + 11366, 29125, 62724, 49540, 14575, 49130, 41293, 45754, 2593, 43911, 28199, 46967, + 13690, 128, 56574, 30353, 55218, 27334, 44225, 28715, 32027, 33933, 17110, 16185, + 14175, 11600, 39541, 22562, 63805, 47371, 59965, 14154, 35466, 37862, 7783, 23104, + 26057, 17513, 22096, 56784, 15282, 34865, 26377, 22345, 61094, 23560, 58113, 64253, + 34386, 14056, 28038, 60273, 58279, 33361, 23282, 62758, 46715, 37820, 49065, 4072, + 30225, 17466, 47234, 23533, 12364, 6453, 58816, 52174, 46690, 5321, 19303, 7749, + 3652, 63511, 60603, 64940, 30672, 30049, 24206, 39099, 39708, 9551, 57465, 12486, + 37971, 2722, 58710, 29152, 11632, 33935, 18594, 27746, 524, 56186, 52095, 20598, + 20948, 64939, 39846, 4046, 43098, 16699, 26780, 13021, 57850, 17594, 2902, 42234, + 10096, 51038, 24491, 42798, 39050, 33178, 3795, 61109, 6289, 29153, 30631, 12871, + 56189, 40721, 54409, 46929, 37928, 24388, 6138, 18268, 60340, 1020, 4267, 17706, + 2984, 46085, 3568, 12060, 4516, 32844, 14324, 25010, 33015, 20733, 3647, 58241, + 22789, 30585, 60174, 5701, 55100, 17339, 57989, 41438, 60587, 42644, 28634, 2146, + 41528, 27878, 63510, 54911, 46698, 21411, 3549, 42211, 48291, 55801, 9288, 6404, + 8050, 3706, 21759, 27008, 37877, 58249, 24624, 28989, 38421, 54133, 62608, 58919, + 59370, 22689, 56918, 30475, 58237, 38150, 36557, 49075, 14190, 41574, 3756, 49402, + 14250, 40421, 12817, 54486, 53758, 14807, 23899, 1031, 47234, 64920, 36182, 10500, + 10906, 2863, 14281, 41140, 5265, 31220, 21594, 34882, 59934, 28266, 50466, 55863, + 57439, 12983, 63812, 1051, 29540, 32431, 19262, 5650, 2474, 64776, 18895, 18759, + 463, 41774, 37362, 52770, 7312, 52378, 62824, 16225, 31669, 37442, 50582, 48083, + 44933, 27248, 42355, 28497, 21264, 18949, 29041, 64160, 28698, 51852, 25447, 747, + 47595, 50861, 22321, 2852, 6582, 10172, 22904, 4731, 59182, 32998, 58336, 57976, + 42328, 56546, 54836, 18747, 4870, 34629, 42546, 48559, 62857, 46203, 40692, 47706, + 20454, 5222, 48513, 51517, 38905, 39214, 30407, 40949, 20472, 30658, 37950, 36009, + 2582, 6150, 25913, 49253, 844, 30268, 27711, 53510, 4524, 34285, 89, 20492, 27551, + 4826, 32988, 24654, 52156, 15569, 30564, 46562, 18159, 60749, 45434, 30378, 15968, + 26452, 59692, 46293, 32919, 3195, 26325, 6677, 45393, 32471, 56038, 61887, 12188, + 55736, 56502, 35329, 7467, 30417, 23918, 54111, 27848, 30097, 26246, 10823, 19853, + 1118, 52854, 62207, 24551, 53341, 35094, 50662, 2692, 24818, 47711, 47963, 42031, + 46393, 55712, 50999, 21916, 37197, 25414, 63358, 26389, 35160, 3811, 54186, 31372, + 7782, 17, 2, 49649, 30682, 60522, 63996, 56089, 10402, 7126, 36204, 15138, 29777, + 35238, 59530, 25916, 21734, 51222, 23791, 13328, 62760, 18453, 33939, 27654, 22132, + 28439, 62125, 23056, 3503, 35113, 58901, 43507, 31325, 8086, 37140, 13998, 38397, + 17425, 40952, 63628, 33162, 33190, 26738, 2059, 15287, 41418, 1760, 34439, 44519, + 28679, 44416, 14582, 9634, 64661, 24711, 30320, 6032, 17246, 18286, 583, 37800, + 53076, 22526, 14444, 5654, 38638, 22240, 26999, 10341, 44110, 26808, 46713, 31537, + 39362, 49464, 15592, 2818, 43811, 37389, 47716, 45338, 62139, 3467, 23761, 14847, + 45142, 61750, 51915, 20717, 28571, 24132, 39147, 62367, 8601, 44803, 30529, 37444, + 24612, 4383, 59721, 19769, 15862, 53502, 10166, 51091, 43835, 23410, 16300, 12234, + 44239, 47326, 11940, 14243, 16813, 44997, 905, 4311, 14565, 10777, 26999, 24006, + 44826, 13852, 63424, 6435, 33882, 38204, 47001, 47228, 42748, 14123, 38063, 45494, + 9048, 58504, 49191, 58272, 65288, 34356, 20310, 1096, 43487, 26981, 34781, 10884, + 12591, 46566, 33247, 57523, 62067, 16372, 51245, 16659, 48799, 50997, 11639, 50385, + 52295, 25613, 60088, 45027, 21565, 13785, 9934, 52403, 1031, 26208, 35286, 37069, + 10416, 31837, 9100, 23649, 22041, 44966, 57212, 42651, 616, 34298, 57389, 11364, + 57937, 50891, 62289, 39256, 6471, 43676, 56015, 28909, 48610, 35485, 27459, 60524, + 31389, 37483, 946, 18891, 60620, 57312, 64781, 41189, 13866, 17651, 41603, 9138, + 56075, 39404, 27770, 55952, 39915, 3535, 48247, 23780, 63581, 43465, 32768, 29069, + 16714, 23234, 35139, 52046, 38655, 7214, 24518, 46258, 37513, 8643, 43857, 34050, + 57874, 32413, 54271, 255, 40214, 46403, 61869, 52427, 35307, 43630, 53350, 16806, + 30060, 5507, 34411, 55262, 63740, 1620, 61428, 46451, 24275, 39607, 27373, 56950, + 17091, 25410, 54930, 51160, 43265, 50312, 58764, 28353, 30414, 42823, 26209, 558, + 39348, 14319, 3579, 39552, 8894, 25834, 29254, 37726, 35495, 30190, 33633, 40879, + 12534, 18682, 35486, 10021, 42363, 1489, 50909, 13476, 54486, 60521, 16850, 25558, + 28171, 23070, 62891, 41398, 2624, 6454, 4896, 40664, 50773, 62881, 12691, 13915, + 59683, 49061, 56004, 29080, 62513, 23420, 51896, 19666, 11834, 16031, 17941, 21237, + 9166, 9254, 26531, 31722, 17443, 43712, 32185, 48928, 49089, 20900, 64695, 6017, + 50188, 55871, 31981, 50142, 3781, 50237, 13880, 53963, 33997, 25307, 8678, 4915, + 44620, 52207, 33301, 24022, 9192, 43901, 19653, 65347, 19136, 40337, 37673, 51610, + 31268, 32487, 42543, 39386, 15420, 2018, 58131, 14030, 50965, 11831, 26517, 39770, + 6043, 488, 52917, 32617, 25604, 38812, 43514, 60341, 63104, 26534, 15808, 65348, + 40034, 40469, 49837, 17947, 407, 8858, 51172, 54732, 33683, 50106, 59568, 11439, + 4293, 44948, 54941, 10143, 52682, 53376, 6801, 12016, 13393, 39632, 27498, 17538, + 48074, 12175, 25534, 27032, 7919, 54668, 64552, 40567, 58083, 63472, 6978, 48047, + 50623, 43151, 13066, 49267, 11539, 50315, 13682, 40922, 12444, 4787, 21455, 20345, + 17198, 5619, 10161, 45780, 2953, 44866, 8575, 55649, 44192, 3698, 43054, 42891, + 56756, 5667, 3974, 9085, 46087, 45346, 50513, 59212, 20109, 37412, 49030, 25962, + 45118, 8171, 24605, 49088, 54380, 15914, 1375, 16456, 49886, 15957, 6016, 63391, + 41087, 2422, 58877, 16802, 17832, 27030, 14994, 55542, 10568, 33778, 18647, 11121, + 9701, 21494, 2557, 18911, 15539, 22941, 30799, 3325, 55880, 61667, 41852, 23849, + 53127, 24570, 1351, 60041, 10141, 50733, 22585, 27020, 46768, 64587, 30330, 3614, + 38867, 4302, 56844, 2577, 9720, 31358, 57238, 4606, 62412, 10047, 32468, 54981, + 28023, 18157, + ])) + .unwrap(), + c: 253, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 172, b: 7406654203415557862, c: 4220772448 }, + FixedTestStruct { a: 98, b: 7652742876362695881, c: 3808688629 }, + FixedTestStruct { a: 176, b: 1379592184773335083, c: 2839628004 }, + FixedTestStruct { a: 164, b: 4672589617281835669, c: 3697546643 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 32854, + b: List::::try_from(Vec::::from_iter([ + 26507, 48422, 10627, 29169, 6446, 63993, 29607, 17606, 16566, 27942, 63995, + 63417, 58237, 52524, 3333, 5102, 37152, 65190, 10663, 41459, 53369, 39569, + 18584, 27659, 53416, 37837, 25086, 58064, 31649, 17763, 3396, 54905, 34611, + 20866, 64140, 46689, 53791, 1137, 49862, 18292, 44253, 44050, 25979, 406, + 20029, 20694, 26274, 61652, 21091, 55632, 64111, 52494, 43427, 3712, 50940, + 65463, 52834, 35987, 18388, 39873, 56148, 49608, 8532, 64748, 56679, 45007, + 20571, 51383, 61726, 50158, 26505, 28733, 43786, 45186, 23861, 49224, 59431, + 31716, 37515, 40335, 52941, 46116, 33698, 7884, 11050, 33546, 36591, 36962, + 12549, 38231, 56875, 31442, 37618, 34672, 15412, 13720, 3016, 12299, 4930, + 57275, 63508, 46848, 5326, 12589, 18657, 62221, 37019, 8764, 26394, 30050, + 61117, 13363, 41457, 13275, 42542, 29240, 17167, 50306, 27996, 13591, 17071, + 57553, 56530, 51034, 7810, 44394, 56792, 48389, 17918, 39711, 5085, 25509, + 50031, 29699, 42450, 26288, 7656, 17722, 34316, 32572, 24669, 18096, 33207, + 45840, 57115, 49857, 59357, 28674, 26313, 35968, 35418, 40944, 16595, 18338, + 31489, 20166, 61043, 6199, 29795, 7588, 17859, 23684, 55875, 10913, 37372, + 30723, 48260, 64447, 44321, 11831, 35885, 41808, 59229, 11614, 7554, 27582, + 52300, 65254, 49980, 26949, 43408, 45087, 23346, 24958, 46693, 60135, 28060, + 49947, 22153, 17323, 15333, 59956, 7017, 505, 41094, 62466, 14526, 27697, + 16725, 8821, 43713, 54352, 49413, 35154, 9214, 3769, 11913, 2747, 48076, 32311, + 57064, 65290, 23706, 9495, 16192, 311, 34710, 18431, 31390, 25615, 36572, + 13379, 60284, 41856, 52530, 19334, 63275, 63009, 46845, 57819, 52231, 12531, + 1471, 25073, 9608, 15735, 41688, 57166, 49609, 10827, 7244, 14941, 12337, 2535, + 54968, 14097, 52512, 47153, 38056, 60834, 3738, 31880, 62897, 14207, 27125, + 64818, 42132, 48068, 26414, 52202, 51688, 44695, 23672, 61828, 4993, 38674, + 63872, 62369, 65238, 4278, 23662, 1587, 33942, 26622, 18309, 12139, 62098, + 45526, 47620, 47510, 47648, 55699, 6756, 37166, 24645, 12294, 61748, 62913, + 48814, 13757, 36393, 40326, 60081, 46877, 53598, 31510, 14216, 56709, 25173, + 24054, 11241, 34805, 14939, 45318, 15005, 33910, 23172, 23541, 6722, 25228, + 21040, 4128, 47858, 6398, 65515, 57347, 22974, 46076, 41603, 62305, 11053, + 1958, 52673, 26895, 37063, 37075, 51018, 59505, 21786, 14892, 8598, 9763, + 10612, 34613, 5831, 17815, 56294, 43458, 60070, 47169, 46953, 42329, 15167, + 56010, 39864, 28821, 5402, 49806, 56387, 13515, 7959, 55679, 35600, 20180, + 14241, 15092, 17777, 38408, 9689, 49563, 61733, 21774, 59498, 5199, 65343, + 19767, 33822, 52102, 48201, 1214, 48245, 57406, 45784, 43234, 29155, 24671, + 62140, 35738, 37761, 11992, 44573, 61412, 25120, 44098, 14435, 6317, 46199, + 20433, 60928, 39951, 56522, 47553, 36661, 26335, 47889, 46241, 46839, 54791, + 40258, 21701, 33364, 52695, 5524, 55784, 65280, 9304, 1583, 10617, 50650, + 10298, 28255, 38718, 43806, 20584, 57597, 12914, 18306, 64223, 11696, 5001, + 11921, 41565, 48941, 4027, 1243, 56663, 55705, 45631, 20350, 17947, 37334, + 20368, 53780, 33359, 7597, 53298, 13702, 23313, 50758, 58502, 45816, 21483, + 59579, 3171, 57776, 63494, 31754, 50330, 18094, 1570, 62169, 7059, 59257, + 57595, 38785, 21296, 19137, 51211, 34461, 48566, 15098, 27215, 13206, 23458, + 23355, 19405, 48222, 62493, 22118, 34253, 33046, 35146, 58530, 57435, 21466, + 52424, 54263, 16425, 27190, 64972, 41504, 25748, 11293, 58037, 52741, 2452, + 17569, 30260, 11102, 64123, 38339, 10343, 35629, 27300, 29278, 55864, 17900, + 57317, 32059, 63982, 48620, 47514, 13370, 33392, 4845, 47787, 65321, 32296, + 38838, 7434, 57603, 30364, 29375, 24270, 19634, 45997, 19426, 40450, 4015, + 2626, 56767, 51612, 39661, 20817, 1469, 62360, 9679, 3213, 38191, 58951, 50492, + 12876, 36677, 13479, 38450, 47662, 60462, 9046, 19037, 13894, 49280, 12657, + 64943, 43031, 61736, 13795, 27539, 38770, 7707, 40188, 15734, 1394, 3473, + 16798, 49516, 8051, 11495, 7165, 24404, 16009, 56827, 38391, 17531, 53896, + 28486, 17460, 19964, 52653, 907, 51467, 43860, 29853, 55599, 34029, 22829, + 60945, 64134, 56395, 57415, 13146, 62535, 38032, 40972, 41966, 21583, 10533, + 49737, 45393, 1032, 63400, 15806, 16205, 35138, 52054, 25568, 64086, 10308, + 14700, 17553, 33957, 63147, 62695, 41181, 42271, 42613, 16745, 33182, 34975, + 54560, 2704, 10147, 22176, 1294, 18795, 50382, 61651, 27039, 26995, 13486, + 37715, 62196, 52243, 16957, 50161, 16987, 45627, 18728, 25465, 34215, 13034, + 5139, 21227, 50974, 23207, 3084, 26695, 5188, 19939, 58256, 47256, 11471, + 58272, 18549, 51076, 48573, 28962, 49127, 34538, 12134, 40091, 41610, 24385, + 5821, 3842, 62086, 18276, 49386, 11581, 41258, 51208, 56067, 11804, 48110, + 10568, 33485, 36161, 8918, 11760, 7118, 47097, 8453, 16544, 29562, 51912, + 40447, 39436, 56132, 53128, 39577, 7816, 29356, 29137, 54158, 45465, 61741, + 31973, 17080, 29430, 7509, 25104, 3591, 54620, 58867, 30447, 44799, 54720, + 6778, 59153, 63233, 41576, 44759, 1212, 53078, 40236, 35730, 5023, 56426, + 28649, 44883, 36214, 22381, 57952, 15985, 21869, 49091, 53022, 61156, 55456, + 42613, 1078, 59570, 49937, 23719, 17322, 26209, 40501, 63870, 65018, 61557, + 12136, 55102, 11702, 2744, 16788, 58348, 60259, 13155, 29305, 56936, 7875, + 1825, 65226, 21406, 20257, 50455, 55641, 51101, 59784, 13279, 3430, 18419, + 39607, 24309, 27460, 21028, 41757, 30333, 2095, 50663, 18754, 46840, 40084, + 59542, 32802, 20103, 47436, 46836, 9237, 19538, 46237, 15302, 40493, 37090, + 33837, 5239, 38971, 50129, 59526, 35006, 10664, 39159, 49496, 30933, 52891, + 18130, 51672, 43138, 15507, 22577, 28699, 31151, 16842, 45842, 33464, 52615, + 46330, 33970, 24419, 43826, 23803, 49499, 64047, 5113, 48767, 33091, 44813, + 64755, 52203, 50382, 36916, 46843, 57332, 8913, 22423, 22918, 3032, 53822, + 46644, 21669, 21216, 39833, 18569, 24129, 1312, 42002, 42179, 27439, 54534, + 5758, 22004, 30527, 53644, 24184, 6382, 65408, 42197, 51445, 24012, 16574, + 60826, 6187, 38347, 13959, 50639, 22909, 29759, 63201, 11719, 46892, 44074, + 54843, 15525, 21247, 32702, 7092, 40955, 8421, 32263, 50903, 31855, 25958, + 50720, 65071, 30527, 35181, 61543, 26037, 63626, 31894, 42497, 61624, 6956, + 34599, 32638, 25406, 34748, 60615, 16967, 33038, 26771, 62948, 7422, 64665, + 15869, 45084, 41882, 33241, 7666, 33610, 28367, 33533, 62058, 17399, 25698, + 41344, 34293, 60002, 30814, 15283, 35153, 36202, 16536, 34986, 49864, 21876, + 15577, 21716, 15211, 61025, 36808, 5063, 35558, 45043, 45091, 21585, 7852, + 40787, 32445, 9705, 18715, 21405, 11921, 7453, 43504, 61949, 23408, 23460, + 46146, 59434, 46065, 54687, 26566, 63556, 50216, 25742, 31014, 26483, 19333, + 21594, 16431, 28487, 52521, 64609, 44808, 9820, 10835, 55718, 41191, 30978, + 51268, 29485, 41860, 5534, 18380, 22740, 46906, 38284, 64205, 21121, 61078, + 39715, 11540, 35707, 62472, 62143, 19896, 57470, 18718, 31837, 20115, 17827, + 59244, 43517, 13719, 5809, 62160, 29685, 30199, 28926, 32513, 53170, 32852, + 30618, 24026, 40, 48834, 21482, 19841, 13556, 32774, 48107, 6912, 14095, 3062, + 10378, 39465, 12976, 7651, 3522, 53028, 45197, 50341, 2073, 8573, 54283, 61462, + 57398, 23815, 30329, 46579, 56128, 39100, 33564, 815, 43447, 52064, 15267, + 51971, 65051, 30016, 22478, 6546, 31595, 16918, + ])) + .unwrap(), + c: 204, + }, + VarTestStruct { + a: 22202, + b: List::::try_from(Vec::::from_iter([ + 20246, 15055, 42502, 17093, 55470, 65382, 38783, 25117, 52741, 20844, 55981, + 61541, 57285, 24724, 32960, 26906, 20432, 18098, 12644, 14495, 52894, 62384, + 41162, 23278, 37046, 6847, 6811, 21813, 11865, 29132, 56418, 51428, 14060, + 5849, 40683, 25684, 37083, 2209, 23067, 19913, 18582, 29790, 10296, 40798, + 21585, 9532, 51407, 45356, 25784, 32401, 8411, 25163, 19970, 46427, 5912, + 54636, 5503, 50484, 29766, 4652, 4232, 42313, 43225, 20135, 37414, 43785, + 27329, 53535, 36312, 55899, 34510, 11308, 51193, 5000, 14350, 29162, 34372, + 12932, 37561, 22265, 51435, 26689, 5212, 56792, 6405, 10493, 44608, 56229, + 1143, 17678, 8681, 2146, 17300, 43185, 31939, 47526, 14271, 30259, 39079, + 19131, 41160, 47093, 48564, 54952, 57814, 30298, 5158, 58994, 12404, 64159, + 39839, 44774, 60421, 45719, 16534, 31994, 26177, 25643, 41311, 17500, 22584, + 24019, 63656, 39979, 61170, 5466, 46037, 61650, 16087, 55345, 15192, 37443, + 38944, 44890, 17088, 4385, 12797, 41735, 34413, 12319, 53123, 16600, 22287, + 33981, 53530, 8688, 45145, 28792, 38541, 55976, 41511, 12411, 6189, 17030, + 27123, 41827, 51313, 63481, 34280, 59869, 10146, 41698, 57931, 62666, 7032, + 38169, 2061, 35795, 854, 14288, 34132, 3241, 50525, 38911, 4260, 2450, 24186, + 63440, 26815, 5578, 58081, 64451, 26969, 61256, 23445, 59754, 29015, 45591, + 645, 1927, 3599, 22876, 36636, 50078, 63589, 26185, 19181, 34853, 830, 13505, + 41054, 5725, 1060, 39589, 59681, 49146, 10995, 28029, 53728, 2822, 16783, 6379, + 12119, 23471, 56030, 59263, 61154, 16906, 3787, 23189, 8064, 14107, 39209, + 43912, 4847, 22798, 48216, 7978, 40368, 31289, 29090, 38128, 37913, 22759, + 3012, 2381, 11115, 10445, 6697, 49795, 8346, 14343, 34814, 29054, 2485, 17594, + 59706, 48393, 2973, 54227, 65148, 21586, 19118, 14865, 36447, 60251, 3243, + 4642, 37322, 30649, 11967, 22044, 2500, 31948, 15059, 61016, 35660, 8833, + 52522, 54771, 45193, 52149, 56846, 52421, 56518, 25325, 32786, 19377, 4439, + 37039, 48928, 6826, 26332, 3993, 19160, 35372, 56413, 9672, 36029, 46789, + 36744, 63225, 15571, 13579, 12624, 4185, 1016, 41272, 44988, 41381, 34416, + 5438, 20622, 54523, 38201, 10829, 6050, 3855, 14793, 63561, 33629, 63030, + 27543, 2653, 6893, 50281, 7181, 3305, 3245, 55454, 47707, 6180, 62939, 25019, + 26245, 16017, 27775, 6621, 62362, 61135, 42961, 28112, 14154, 35575, 35515, + 20888, 7147, 34805, 13610, 60929, 63039, 22940, 8823, 10513, 14858, 42961, + 46133, 26101, 21441, 7794, 16101, 51198, 56685, 4220, 56860, 51635, 33854, + 1198, 12795, 63566, 23651, 41827, 50978, 27033, 48273, 7481, 34152, 24017, + 54543, 9557, 45843, 17446, 363, 5273, 62964, 943, 19714, 15435, 16536, 37392, + 32840, 54129, 1587, 8141, 48270, 45060, 10731, 10568, 62742, 21641, 2632, + 62216, 34656, 36602, 58681, 40736, 56751, 58223, 61740, 38423, 44528, 28085, + 34391, 36870, 42627, 30043, 52911, 60007, 46524, 42463, 29232, 30979, 19842, + 43586, 30387, 63588, 11949, 28759, 11485, 27599, 21541, 2616, 24209, 9506, + 16964, 56819, 2362, 25892, 10419, 3100, 31478, 22059, 60097, 12468, 4221, + 32687, 29936, 3741, 50145, 13013, 4989, 28562, 26409, 49053, 33368, 17732, + 59291, 30355, 57493, 41879, 5546, 6350, 38624, 46610, 49922, 22182, 20412, + 54889, 11110, 52449, 48756, 9855, 61628, 45940, 14111, 55248, 58917, 23744, + 64073, 53926, 27276, 53883, 11885, 55531, 39839, 32067, 6970, 45828, 6791, + 51776, 24599, 41205, 41777, 12346, 49047, 41348, 61926, 56996, 33918, 46082, + 31140, 26425, 13027, 9857, 51326, 65463, 9010, 62185, 41732, 58140, 20626, + 55048, 8195, 34436, 5635, 26980, 32080, 2374, 374, 7965, 35421, 29405, 45111, + 56493, 43033, 18471, 18883, 41504, 54946, 57930, 63642, 8256, 42005, 16182, + 18017, 49601, 10351, 42549, 54711, 23767, 13570, 13300, 30998, 8813, 25111, + 49371, 15278, 27715, 38485, 6909, 62293, 57139, 50058, 63752, 11570, 50078, + 38340, 60619, 2900, 35907, 48823, 52447, 31316, 30292, 59967, 11424, 29069, + 22520, 54973, 31599, 59563, 59089, 38602, 44202, 28855, 37607, 53318, 30639, + 4305, 33660, 21878, 31869, 51525, 64548, 18425, 45376, 62833, 59448, 16599, + 50937, 25058, 57436, 1858, 7320, 16982, 45705, 21200, 63000, 45488, 49338, + 18806, 31679, 24299, 2329, 54110, 19097, 16891, 8258, 3744, 18635, 8634, 2454, + 22198, 9530, 63981, 8307, 18786, 31691, 14023, 23809, 19004, 53765, 9487, + 41508, 61623, 42751, 53172, 42954, 16863, 27659, 27198, 59361, 27516, 8097, + 10278, 988, 55809, 64596, 32672, 22992, 27089, 24327, 40834, 14059, 43637, + 50071, 10655, 42606, 34844, 25308, 7594, 42231, 532, 41968, 31798, 60817, + 31522, 49408, 21565, 60701, 6138, 42406, 49610, 23031, 30911, 40578, 65396, + 23443, 43974, 57399, 14540, 16357, 36341, 17906, 17554, 45030, 5707, 5127, + 18620, 34506, 50098, 58128, 7467, 25370, 52337, 21002, 14881, 14658, 39589, + 54179, 9555, 50993, 57402, 47777, 61996, 52281, 52223, 17778, 61036, 44735, + 45752, 62136, 13648, 43193, 42883, 55168, 45538, 60055, 46163, 30984, 10862, + 12154, 18521, 63125, 34048, 47143, 51577, 33519, 58375, 60535, 20848, 41682, + 34610, 57914, 27071, 4498, 6862, 63318, 62686, 64220, 4798, 11853, 22400, + 55005, 56844, 38883, 1180, 39093, 50622, 33404, 47583, 38095, 32681, 4762, + 57677, 18412, 11528, 608, 10165, 12626, 31946, 32338, 19893, 30893, 60355, + 24098, 43665, 64291, 48072, 42322, 48948, 47205, 17687, 1218, 53896, 24784, + 19466, 45041, 4033, 64758, 26831, 46616, 57944, 36611, 28664, 58328, 2313, + 26310, 17835, 4257, 27822, 39438, 570, 57285, 17456, 7734, 3915, 39304, 39167, + 38363, 47136, 43856, 8838, 5583, 33545, 30911, 31415, 60727, 30722, 49548, + 33156, 19121, 62698, 2884, 46580, 43804, 18771, 39983, 19542, 38708, 58949, + 63006, 18760, 46889, 17730, 61084, 61498, 63287, 15905, 21668, 40901, 7562, + 54199, 11615, 41473, 33701, 57145, 8301, 50475, 36810, 744, 9097, 5072, 31396, + 38801, 54853, 40720, 14182, 3087, 28523, 56423, 32208, 14446, 35080, 2679, + 37026, 3435, 18715, 45360, 2241, 45373, 8970, 62229, 25750, 55015, 7882, 29062, + 61460, 12630, 57808, 9890, 52031, 26230, 13323, 15468, 36699, 15286, 8807, + 24601, 13084, 44591, 23408, 34411, 37160, 64861, 33080, 54795, 57005, 19208, + 25443, 54094, 5727, 28771, 25869, 11142, 1717, 3326, 54973, 32780, 54685, + 21700, 1413, 64315, 26478, 33541, 41869, 46136, 37439, 21724, 16385, 8931, + 40598, 42503, 47882, 15823, 43842, 29129, 62857, 9620, 23812, 22786, 231, + 34968, 12507, 59517, 37211, 32031, 15615, 12124, 63988, 38812, 48085, 12182, + 40137, 30891, 47814, 47822, 29220, 16000, 33082, 21641, 13164, 54233, 316, + 60102, 26824, 41670, 51651, 40985, 43165, 27673, 15126, 1287, 15278, 19034, + 26985, 9036, 31814, 45953, 47106, 46678, 26841, 15080, 33645, 35185, 15573, + 63270, 13769, 7508, 8388, 56583, 35750, 39264, 23931, 5591, 17959, 11757, 1965, + 58375, 18176, 2957, 57174, 27283, 9944, 23660, 41006, 2197, 42846, 62040, + 60675, 38634, 39487, 9510, 44123, 4357, 62779, 33528, 40424, 51784, 49754, + 38737, 60789, 12791, 45320, 7015, 40742, 36077, 36339, 38483, 35457, 51239, + 16004, 15616, 46500, 56137, 27463, 3525, 36842, 61201, 41431, 12383, 20610, + 3294, 48117, 51537, 20952, 11065, 65449, 35293, 51912, 12170, 34695, 11070, + 6793, 20532, 19955, 11316, 13563, 30394, 11458, 31047, 19931, 38256, 37135, + ])) + .unwrap(), + c: 243, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_nil_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("6624f0820a556f057e3fbe2cc01793f8b0feab93bba19c642d0aee954d336493"); + root_from_hex("0x6501992f62e45a55d9706c46698a41647b690812cdc16dab6221b616df056030"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_max_chaos_2() { +fn test_containers_complex_test_struct_lengthy_3() { let mut value = ComplexTestStruct { - a: 65535, + a: 18529, b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 63901, 56928, 34026, 2156, 25223, 3105, 6521, 1554, 6929, 49447, 40332, 14581, 58068, + 50656, 38716, 52674, 53315, 1274, 28725, 57283, 54985, 42900, 17041, 29905, 9355, + 29080, 11338, 26460, 39893, 32952, 31627, 47885, 39653, 43669, 61148, 24175, 35139, + 15259, 11790, 62029, 53707, 10972, 29055, 55280, 57644, 4411, 40469, 61735, 35119, + 5707, 26521, 24010, 10327, 25078, 299, 9871, 10851, 18870, 16942, 46764, 49623, 35931, + 22631, 21549, 23682, 53172, 13945, 53604, 35140, 20556, 37881, 38318, 10165, 1791, + 35276, 48151, 40079, 13065, 37327, 27428, 60474, 23904, 49532, 12282, 32791, 30132, + 32289, 62554, 4447, 58279, 36146, 64085, 59183, 33765, 43816, 2470, 57677, 55733, + 47288, 56566, 37186, 16357, 6873, 17867, 37463, 22147, 21676, 18313, 45835, 28832, + 64929, 18024, 10244, 23850, 59303, 15476, 50013, 58404, 35011, 20822, 33373, 15018, + 37081, 32686, 10348, 6024, 16925, 7670, + ])) + .unwrap(), + c: 115, + d: List::::try_from(Vec::::from_iter([ + 216, 99, 255, 72, 3, 138, 142, 193, 11, 17, 145, 233, 77, 145, 85, 28, 34, 127, 29, 61, + 122, 40, 183, 43, 90, 45, 191, 54, 133, 175, 8, 205, 202, 106, 175, 98, 192, 144, 80, + 51, 113, 16, 34, 122, 242, 172, 192, 247, 191, 237, 147, 103, 209, 2, 9, 180, 22, 243, + 242, 199, 21, 195, 228, 148, 111, 47, 100, 57, 226, 28, 98, 72, 171, 145, 23, 203, 67, + 9, 2, 27, 130, 223, 112, 107, 122, 33, 251, 51, 127, 6, 112, 195, 31, 242, 189, 234, + 142, 149, 64, 159, 174, 74, 68, 175, 252, 251, 18, 17, 73, 230, 18, 213, 16, 212, 7, + 35, 51, 87, 3, 174, 37, 82, 13, 74, 237, 199, 224, 22, 31, 205, 186, 165, 201, 100, + 255, 160, 170, 223, 195, 193, 90, 127, 102, 202, 137, 141, 253, 51, 237, 8, 57, 136, + 205, 135, 31, 130, 245, 191, 138, 10, 117, 108, 109, 249, 41, 200, 5, 31, 91, 104, 87, + 99, 167, 89, 122, 195, 8, 248, 226, 128, 116, 60, 189, 195, 34, 157, 36, 55, 120, 187, + 38, 51, 254, 223, 120, 12, 33, 73, 120, 149, 92, 176, 249, 4, 141, 137, 2, 62, 54, 244, + 13, 29, 38, 85, 77, 68, 0, 244, 0, 230, 87, 40, 112, 125, 253, 228, 191, 118, 9, 222, + 229, 99, 252, 223, 108, 42, 58, 158, 114, 87, 156, 25, 19, 230, 97, 159, 31, 228, 14, + 81, 120, 203, 173, 79, 38, 205, ])) .unwrap(), - c: 255, - d: List::::try_from(Vec::::from_iter([255])).unwrap(), e: VarTestStruct { - a: 65535, + a: 53960, b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 46826, 53336, 61958, 40701, 11464, 48009, 5094, 55856, 47019, 5773, 34808, 1280, + 36906, 26000, 33514, 48969, 43344, 60399, 64605, 39783, 12575, 22946, 15852, 17658, + 7594, 56259, 49500, 44084, 34455, 53734, 32112, 4889, 53073, 55294, 43389, 47990, + 6545, 15117, 913, 3734, 61132, 2615, 34292, 1881, 43700, 27545, 63431, 51337, + 20113, 46288, 61393, 17847, 61450, 21005, 58227, 29599, 32377, 38466, 18300, 4289, + 37528, 15126, 61883, 22203, 27966, 19906, 63074, 61210, 31966, 38894, 58540, 18329, + 60111, 22862, 54435, 29472, 41991, 46187, 54081, 30019, 46958, 16048, 65122, 38202, + 10789, 39620, 31720, 49166, 49606, 13812, 36738, 65223, 19201, 59535, 56260, 22503, + 46485, 16896, 45438, 5850, 9220, 53022, 36321, 3387, 24169, 52353, 4584, 10618, + 43586, 39576, 65340, 22869, 56217, 4620, 60063, 63351, 18384, 11208, 16898, 61208, + 24268, 22576, 32704, 4860, 54640, 27217, 17052, 22830, 55980, 21527, 22106, 17330, + 53519, 47972, 24641, 33056, 19054, 29181, 30682, 10143, 48089, 62858, 31082, 48032, + 32366, 38969, 5173, 24833, 30191, 12814, 40878, 60264, 29086, 1542, 25780, 51105, + 63418, 58219, 63441, 57973, 38834, 8611, 22930, 33232, 45138, 36085, 63145, 39960, + 57046, 2113, 46849, 10102, 4681, 2720, 51439, 5837, 6875, 17849, 10219, 1411, + 58857, 48261, 30653, 33072, 27677, 51225, 34922, 57646, 18336, 4260, 25384, 45148, + 54665, 52154, 14568, 7965, 52482, 17990, 56153, 25960, 37053, 40838, 30553, 20051, + 33389, 41345, 33290, 12202, 19201, 60996, 53343, 10124, 23113, 2746, 60048, 18865, + 58694, 63206, 62853, 55900, 3462, 58927, 57380, 59269, 60754, 9942, 25186, 21820, + 24487, 41654, 11942, 22234, 14680, 35643, 43799, 7305, 19186, 39213, 63939, 9174, + 45878, 598, 17315, 48933, 2566, 1492, 33592, 31928, 65021, 41470, 8584, 41428, + 34580, 29190, 55410, 46241, 33780, 51597, 12738, 37168, 10487, 28367, 15452, 10902, + 58950, 21714, 20948, 38958, 26506, 37368, 28656, 34600, 38833, 5636, 7868, 16629, + 22164, 60627, 2506, 60510, 15170, 47819, 27809, 19525, 56892, 1107, 38466, 44000, + 20966, 46668, 44171, 48726, 7548, 31332, 46242, 39460, 30231, 52237, 61908, 54613, + 46804, 2570, 25210, 20929, 51361, 42322, 11859, 15136, 60387, 45697, 3669, 36875, + 12194, 59559, 28494, 21533, 20529, 26490, 3472, 24323, 47222, 22391, 52602, 51777, + 47939, 22602, 15291, 40665, 44513, 15114, 26540, 25566, 53324, 35214, 24402, 5696, + 8381, 52419, 30345, 31365, 32180, 31806, 14650, 15134, 57298, 41921, 55581, 23054, + 24556, 63182, 20340, 27349, 39181, 41497, 41248, 5449, 57616, 50923, 56137, 52170, + 59677, 30166, 7500, 16712, 18272, 23169, 3092, 32407, 19347, 35932, 29848, 59300, + 33452, 9018, 19770, 2263, 41943, 7806, 40544, 50891, 8271, 19231, 18143, 22063, + 12896, 64289, 44676, 44473, 58167, 2529, 30983, 11910, 55245, 2508, 48092, 13755, + 28974, 7097, 41885, 33244, 8587, 5399, 18999, 62632, 47972, 50644, 64743, 30971, + 26442, 57716, 46155, 30990, 19586, 8360, 10260, 28380, 32070, 7500, 17048, 57318, + 6275, 20012, 44546, 46488, 34737, 27601, 46680, 19792, 63404, 60355, 29276, 14881, + 11528, 35457, 3713, 30031, 49873, 64442, 55721, 45623, 35221, 11387, 40293, 8470, + 12166, 61758, 28847, 20642, 17022, 42847, 56476, 59090, 40715, 35336, 3829, 11185, + 19379, 38373, 59958, 58282, 64483, 5752, 16856, 40615, 11578, 16497, 20613, 1453, + 27250, 29451, 58385, 40947, 54652, 22894, 32504, 47787, 15132, 39808, 33623, 8418, + 36533, 45995, 55831, 12584, 31426, 17532, 65389, 51365, 61024, 29105, 45006, 38547, + 7530, 13237, 15925, 44568, 7818, 36154, 33906, 44285, 52731, 29781, 41379, 64743, + 61599, 29520, 57941, 57330, 35956, 51947, 36572, 39676, 60963, 34758, 5591, 40084, + 57530, 56934, 16825, 1815, 20341, 61774, 23235, 6582, 33588, 21491, 36358, 906, + 26105, 21743, 13531, 211, 2620, 44591, 46140, 60302, 5567, 63420, 15271, 63073, + 61420, 30777, 1044, 45636, 52147, 62522, 51904, 5269, 6779, 56245, 24216, 46982, + 45901, 47329, 42368, 3999, 36179, 34725, 6865, 58782, 59051, 6143, 45563, 30810, + 9235, 5817, 2689, 15449, 65481, 47425, 42512, 32482, 9454, 23961, 54779, 24452, + 16802, 17828, 21544, 17104, 65364, 63355, 37791, 50620, 37990, 14980, 46576, 64554, + 44794, 53243, 63178, 1124, 6128, 64673, 64745, 7112, 65004, 42386, 13464, 15536, + 23604, 8170, 26495, 20605, 64151, 64556, 63982, 23083, 52791, 5976, 43555, 21920, + 9056, 35150, 1868, 25100, 37992, 41595, 40487, 18240, 35384, 12126, 22397, 31933, + 47965, 54411, 1554, 19492, 24736, 28665, 35746, 27733, 754, 41179, 12635, 15115, + 34209, 35489, 61733, 5229, 4020, 9860, 41475, 31290, 8073, 13797, 20396, 20814, + 3706, 12443, 42920, 31926, 19402, 22529, 5156, 30403, 8258, 60385, 52518, 47057, + 31811, 60257, 60854, 34857, 23273, 19877, 64112, 17813, 4908, 4481, 45676, 50054, + 60772, 46541, 61378, 39844, 53160, 8833, 38520, 6714, 62000, 28384, 28107, 49296, + 48502, 63410, 35822, 47454, 40488, 33455, 42323, 31016, 1135, 47824, 22261, 48880, + 19515, 53088, 25154, 1863, 5907, 9788, 46873, 21114, 7942, 22893, 60788, 61442, + 61322, 31519, 39905, 62217, 15663, 14367, 27563, 29054, 220, 23475, 23677, 29052, + 21091, 1061, 41007, 17798, 57997, 25740, 13011, 8181, 11261, 34528, 50467, 42541, + 736, 36396, 24891, 11702, 54499, 19935, 50659, 22575, 8312, 31023, 25737, 61468, + 16075, 15898, 3053, 60110, 64088, 13481, 44323, 2890, 53642, 51490, 9937, 59137, + 22633, 46925, 55203, 40838, 56588, 1356, 40420, 26730, 23782, 23138, 56637, 34284, + 23122, 50001, 52369, 13377, 39696, 63003, 29979, 29378, 54667, 43096, 7727, 20012, + 366, 63189, 53443, 27756, 65169, 58425, 64258, 51070, 65212, 48354, 20272, 46249, + 41270, 30475, 6993, 39214, 41012, 5724, 40676, 16165, 22107, 11636, 19203, 55297, + 60208, 1231, 19089, 3654, 1070, 13884, 44896, 4480, 1504, 64322, 30639, 20034, + 15965, 15461, 43504, 3115, 52423, 28314, 47641, 15948, 26717, 5554, 20330, 26426, + 5325, 15652, 23256, 34300, 64283, 17137, 39704, 22799, 49721, 58359, 12362, 63364, + 32710, 41829, 39323, 51258, 6229, 12233, 51673, 48146, 62559, 11577, 2386, 25708, + 28065, 23691, 31201, 16153, 10808, 50882, 4301, 56535, 39489, 2676, 65155, 42823, + 7397, 64156, 24917, 1743, 6795, 29270, 17179, 9471, 39370, 46734, 20950, 24268, + 7748, 44945, 47812, 19238, 448, 54751, 57923, 42363, 20807, 18535, 58424, 43069, + 24071, 64335, 56590, 12888, 14443, 4321, 22747, 26441, 57878, 22966, 31002, 2789, + 17031, 32528, 1522, 36057, 5870, 46260, 14465, 10242, 14373, 9437, 9601, 42514, + 63304, 35258, 7988, 59877, 324, 31849, 6576, 47268, 5944, 579, 30187, 34670, 31727, + 46739, 34482, 59390, 17603, 33293, 19819, 49493, 16738, 5091, 48609, 24188, 44651, + 50277, 4945, 38493, 43633, 2197, 21389, 8529, 4876, 8923, 6816, 51863, 24960, + 21898, 6653, 20998, 51648, 34069, 9824, 58017, 15290, 47942, 2604, 33611, 33161, + 62921, 22439, 26692, 54458, 58408, 298, 35480, 49023, 60886, 21346, 13145, 10818, + 45556, 2775, 61263, 23378, 12636, 50123, 60475, 35737, 55417, 57535, 54396, 3428, + 2196, 60076, 18807, 62522, 16236, 25099, 51547, 12501, 47168, 42845, 10112, 5856, + 28496, 16381, 53154, 63104, 22801, 22616, 63050, 14219, 60342, 51074, 13573, 15844, + 22088, 14643, 17402, 106, 5402, 31618, 59747, 51402, 17836, 20401, 45778, 47413, + 28589, 27934, 61596, ])) .unwrap(), - c: 255, + c: 245, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 68, b: 12267952658191999941, c: 3332230928 }, + FixedTestStruct { a: 165, b: 3575481553412658987, c: 1650490765 }, + FixedTestStruct { a: 8, b: 1803749896546999, c: 73003565 }, + FixedTestStruct { a: 160, b: 3069288440817187109, c: 408150667 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 65535, + a: 24196, b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 6603, 61381, 60031, 32094, 36677, 38293, 55950, 26935, 16614, 6433, 56485, + 23571, 29345, 33299, 48435, 15953, 3887, 19489, 6966, 23769, 5249, 35498, + 56673, 65359, 45904, 49244, 50016, 18170, 25802, 58453, 57805, 12802, 6275, + 30060, 40014, 15605, 48221, 20905, 34096, 62306, 19174, 24920, 28381, 63081, + 46500, 63644, 64157, 57286, 11412, 61079, 15799, 38925, 15486, 13922, 19521, + 44872, 55611, 20869, 13737, 7978, 41981, 17212, 55912, 35285, 25867, 15682, + 35547, 18617, 5109, 9233, 55392, 54508, 15104, 22359, 4984, 51511, 19634, + 36755, 18119, 4804, 51291, 9290, 58319, 30438, 40448, 34394, 51617, 24962, + 61537, 28341, 33964, 22302, 31143, 54949, 10712, 6127, 7806, 51858, 19186, + 37056, 56531, 32833, 17798, 64516, 21373, 7771, 12174, 30731, 2731, 53641, + 24719, 62092, 27280, 33136, 59915, 8688, 44271, 62789, 27229, 44075, 5195, + 16327, 63810, 9025, 14813, 34832, 18780, 46816, 22090, 5267, 13225, 21286, + 47555, 6244, 23426, 5521, 44593, 24241, 35484, 28722, 4640, 2325, 16358, 40685, + 22092, 54532, 44924, 51570, 46178, 304, 65368, 53364, 9266, 1771, 29707, 21543, + 32611, 45137, 15447, 50833, 27201, 7603, 21400, 16285, 62978, 18806, 61026, + 59118, 26749, 13337, 29345, 25574, 50971, 52313, 28736, 19301, 10209, 64962, + 10050, 53358, 13310, 52647, 34894, 49133, 63177, 18437, 64656, 1622, 11778, + 8834, 54666, 1406, 56220, 27018, 1169, 31742, 50752, 15912, 35768, 62873, + 23818, 33254, 2818, 9659, 33427, 29293, 27521, 36172, 50775, 59160, 26920, + 60723, 53421, 41077, 21381, 53321, 41874, 56602, 6343, 50962, 40834, 780, + 28130, 43955, 31178, 8202, 10514, 8508, 62927, 43633, 48508, 46092, 1556, + 34163, 57896, 2625, 22045, 62208, 29143, 51006, 2429, 25388, 43669, 185, 12423, + 59980, 29850, 50769, 60076, 59638, 50120, 41304, 39099, 63606, 63649, 32848, + 1013, 15886, 65444, 48097, 59682, 7380, 4696, 31562, 49863, 46947, 50729, + 39271, 44937, 43907, 53548, 1532, 39599, 15808, 5212, 53232, 43249, 61800, + 31948, 65070, 20879, 49955, 5730, 8663, 46829, 57038, 39358, 21028, 1285, 100, + 63090, 62070, 44592, 46738, 47182, 7274, 14310, 54192, 16559, 7828, 3505, + 35939, 11756, 39231, 12025, 18137, 2394, 61560, 23799, 43507, 53269, 14160, + 48509, 50226, 35633, 59344, 49256, 49060, 42962, 9851, 10635, 25311, 56430, + 18089, 59724, 53902, 51703, 54327, 25072, 13012, 17147, 11209, 60019, 2659, + 30111, 5231, 22011, 24036, 47598, 27094, 17743, 35074, 50938, 21564, 56091, + 39341, 58179, 38013, 45935, 60769, 23520, 18304, 47682, 6686, 16022, 30592, + 34319, 62730, 33171, 29047, 55868, 35528, 17933, 36324, 2736, 28030, 2749, + 7458, 22311, 23076, 38977, 41513, 1871, 65377, 14456, 18725, 21146, 47594, + 34847, 42408, 39177, 9607, 44397, 13518, 15939, 56794, 61779, 53633, 54380, + 39264, 60310, 4937, 42348, 16202, 33616, 1019, 21567, 18131, 64097, 16339, + 3271, 13573, 56594, 41707, 56541, 32032, 34081, 3878, 60367, 39817, 9767, + 37439, 61697, 28656, 58581, 50899, 37509, 12253, 50925, 52721, 28115, 9619, + 48880, 29058, 4611, 38129, 34626, 17430, 45675, 57194, 22906, 53235, 37414, + 4167, 34468, 12960, 15245, 18169, 41317, 38395, 52796, 28127, 40208, 38166, + 53939, 11195, 6114, 37410, 8356, 22150, 23020, 1585, 8478, 17032, 51942, 22253, + 34196, 56659, 51844, 38842, 45270, 60399, 40348, 44178, 40397, 48687, 54763, + 20553, 18569, 47976, 22633, 9652, 9349, 46160, 64824, 11119, 32487, 1769, + 21898, 28539, 16480, 5566, 33681, 42983, 9531, 64129, 20899, 22637, 62792, + 32943, 26184, 15935, 46825, 65482, 14602, 22829, 6865, 19651, 3047, 45519, + 23110, 24454, 8159, 44428, 40239, 24861, 581, 40075, 2017, 12151, 29736, 28347, + 10813, 28747, 36708, 42435, 51367, 4001, 16040, 54579, 55061, 6004, 33873, + 14348, 35622, 23979, 19375, 15930, 45152, 59180, 42969, 47239, 63081, 16843, + 45355, 46977, 35047, 38179, 24603, 24347, 31061, 14282, 1924, 9989, 56052, + 57580, 1831, 17878, 18578, 54668, 45103, 45935, 26753, 3043, 17751, 33, 40109, + 36707, 37005, 10323, 32880, 5074, 46327, 12391, 20891, 20274, 51814, 64915, + 39101, 40360, 47958, 56014, 24983, 14799, 53973, 23, 34549, 21766, 7519, 56051, + 22527, 64003, 35359, 57526, 52329, 15513, 55744, 61047, 31220, 47594, 18328, + 36664, 58049, 35696, 21567, 13396, 31425, 50561, 10777, 38979, 7582, 52874, + 26193, 22038, 45882, 39730, 35269, 56513, 33269, 22589, 8249, 34496, 33497, + 54792, 62095, 57965, 55334, 15079, 46798, 46671, 26567, 36705, 20468, 18838, + 5203, 20490, 60509, 26257, 60838, 20018, 10499, 14577, 56992, 18865, 48274, + 64667, 10353, 34978, 45606, 15361, 13507, 51266, 49927, 26131, 21976, 7054, + 40873, 47133, 21663, 45292, 61093, 12480, 15164, 28827, 6003, 48067, 24955, + 63917, 32565, 21721, 44697, 8495, 15678, 40868, 28065, 21019, 56652, 47467, + 28600, 57805, 55121, 15727, 1733, 23818, 57476, 51710, 12990, 54630, 12774, + 20324, 34759, 40159, 8497, 61062, 48869, 40729, 38697, 5090, 32842, 13691, + 31005, 5315, 4986, 64295, 41264, 17351, 63477, 18234, 51369, 2317, 55176, + 27837, 39921, 37157, 35291, 34529, 17253, 45293, 43396, 27906, 57730, 56751, + 11723, 21352, 30139, 5443, 57828, 20467, 31843, 2589, 8550, 21509, 13697, + 35418, 9896, 25675, 52331, 50217, 40864, 12663, 27637, 198, 7319, 47789, 49560, + 17927, 56881, 53636, 10215, 57412, 48111, 26444, 62296, 30963, 28222, 29108, + 35268, 6196, 15657, 51675, 27787, 49572, 35922, 37748, 22433, 44421, 23974, + 48985, 53708, 11796, 47395, 51006, 14355, 18916, 6606, 65075, 60066, 57876, + 55953, 40671, 21758, 56759, 15158, 53382, 56532, 52261, 3111, 47451, 16481, + 55348, 12586, 6524, 8900, 25438, 58926, 4399, 53111, 40626, 40153, 38619, 6979, + 1213, 36749, 22826, 28313, 14460, 34317, 18224, 16069, 4124, 17124, 18124, + 56282, 18921, 34982, 52567, 44874, 17490, 28788, 39646, 64121, 41161, 63431, + 36693, 5505, 21622, 46552, 7368, 8343, 52377, 36507, 60145, 10383, 61621, + 48209, 55777, 50157, 14604, 56741, 27003, 31293, 38323, 52303, 23557, 59366, + 63611, 57750, 8999, 18885, 19753, 15792, 41319, 13503, 47607, 29810, 24168, + 10169, 14379, 46677, 11638, 13437, 52033, 9825, 11588, 11636, 21268, 62910, + 471, 45324, 4484, 33272, 46212, 7792, 53874, 36592, 12807, 11884, 16355, 61764, + 40562, 35797, 21235, 43511, 29007, 31148, 49610, 49359, 4630, 58808, 59139, + 54630, 21758, 61690, 5796, 38765, 16291, 2888, 23723, 52689, 45132, 34891, + 27049, 16629, 33754, 59675, 59333, 52121, 15768, 45048, 61604, 18733, 12772, + 32345, 45339, 33411, 34887, 43469, 15881, 47215, 14498, 1104, 14317, 44859, + 59894, 45435, 17818, 46477, 57335, 52159, 12578, 25744, 48347, 52879, 28203, + 19283, 11566, 10350, 32958, 9182, 40100, 37624, 22710, 41061, 62495, 52937, + 37326, 9311, 895, 22836, 6087, 23241, 26240, 18050, 9174, 62330, 21846, 44997, + 46255, 32505, 13893, 47738, 41900, 7943, 41727, 39705, 48840, 10082, 38466, + 48677, 50413, 60076, 47259, 2361, 51752, 48383, 34175, 35429, 62049, 11857, + 49197, 31596, 46835, 63139, 33672, 38495, 64725, 61288, 34377, 64107, 37792, + 1373, 4768, 64556, 5803, 39715, 25127, 45859, 9695, 59595, 3155, 55872, 8943, + 18539, 6272, 51765, 14088, 50441, 57839, 57923, 2729, 41832, 42585, 32877, + 32880, 27407, 32477, 23986, 62524, 11648, 55067, 53584, 38608, 61264, 46588, + 16709, 14076, 19405, 23231, 4669, 43249, 32491, 7084, 11637, 20534, ])) .unwrap(), - c: 255, + c: 77, }, VarTestStruct { - a: 65535, + a: 13681, b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 32927, 89, 54050, 61316, 62061, 4741, 59910, 19444, 52741, 17825, 2418, 36474, + 24003, 39619, 34436, 63177, 61990, 20751, 50912, 30664, 17310, 25980, 10729, + 37159, 41370, 21825, 5590, 37469, 11877, 39167, 11905, 47632, 9090, 47355, + 49203, 27222, 52030, 19559, 35273, 53533, 1770, 27928, 46192, 33500, 57662, + 56086, 10313, 345, 26472, 50093, 18068, 64608, 18909, 26265, 31872, 14017, + 13671, 22892, 62200, 41003, 1197, 43821, 18304, 55856, 49373, 40637, 31392, + 46421, 5152, 42576, 56741, 2804, 8722, 39408, 25584, 42916, 18648, 52745, + 48891, 21501, 59088, 24813, 43491, 58763, 47356, 58492, 22045, 9408, 24136, + 23966, 33576, 11205, 1553, 51393, 7501, 61021, 38353, 59065, 6876, 16750, + 29348, 52016, 39946, 55539, 3635, 32563, 6093, 20390, 35562, 27145, 22679, + 42574, 12320, 660, 35666, 32297, 24396, 12849, 9268, 24558, 54358, 30373, + 18314, 65084, 53048, 46770, 51559, 32315, 17955, 11237, 23214, 51054, 59776, + 8976, 54117, 49942, 34596, 34613, 64932, 40854, 3020, 13640, 47324, 13645, + 54145, 19266, 42731, 11199, 3336, 42440, 48254, 42699, 49176, 50152, 23059, + 63970, 48501, 27138, 49251, 49861, 25705, 8756, 26543, 36011, 63842, 59138, + 5684, 7178, 20084, 48454, 47531, 55045, 22922, 27886, 61596, 25401, 27576, + 17922, 3361, 51103, 28139, 18819, 27945, 26153, 2819, 51714, 45116, 55308, + 49561, 49758, 9298, 49590, 9425, 1580, 44173, 14946, 58089, 12008, 44891, 6886, + 41623, 65185, 6638, 6207, 52119, 6204, 57846, 61438, 52437, 8642, 22209, 40048, + 51975, 43645, 39767, 59851, 23928, 44449, 59418, 56488, 29889, 43636, 53012, + 6919, 10651, 17783, 10679, 48165, 834, 15126, 10770, 7391, 38239, 63793, 52585, + 21029, 24947, 12957, 25840, 47161, 64526, 37939, 16589, 36792, 40312, 53268, + 18795, 48675, 16161, 5078, 33193, 34188, 28805, 22489, 19253, 49049, 21297, + 6514, 25181, 47343, 37152, 53450, 37806, 30827, 53741, 22927, 17798, 38117, + 61332, 11439, 7165, 46874, 37782, 55984, 39619, 32524, 62528, 53443, 29239, + 17651, 15239, 9759, 32011, 37245, 51106, 3739, 3338, 28851, 35883, 26313, + 36000, 33682, 61578, 18570, 65063, 34103, 1772, 44595, 8237, 18797, 61025, + 18594, 3984, 18347, 47429, 35996, 23901, 6566, 33137, 12344, 5254, 47830, 1775, + 55280, 46889, 41862, 56797, 38114, 32249, 1008, 33937, 8865, 31021, 41014, + 42517, 23723, 51077, 24713, 63922, 64917, 27145, 26840, 50010, 62284, 1599, + 61355, 44564, 60092, 26108, 59612, 18220, 26393, 19099, 45990, 64433, 36336, + 17209, 47421, 14119, 40295, 9334, 16580, 31089, 62504, 16381, 16027, 49013, + 28892, 43041, 60568, 30739, 50380, 32238, 20831, 3315, 46010, 35044, 974, + 34389, 42891, 48679, 37064, 55815, 26686, 45895, 1939, 43789, 19026, 21477, + 12991, 17023, 36834, 34651, 59703, 43214, 59578, 34318, 27014, 2861, 54736, + 151, 44280, 4409, 10631, 27166, 41177, 36866, 17652, 43539, 5383, 2108, 61419, + 59936, 18768, 54613, 30583, 41912, 30484, 413, 37617, 50502, 10885, 33184, + 42685, 59889, 262, 61207, 48461, 64497, 567, 44567, 33457, 46622, 57018, 19921, + 58236, 116, 52061, 20949, 26566, 20685, 2045, 22222, 6996, 1551, 4824, 6928, + 873, 8551, 5219, 64106, 12165, 48745, 62106, 58051, 32442, 13125, 34487, 25883, + 62073, 56848, 9538, 2497, 6672, 11811, 15964, 800, 52711, 52253, 62938, 11296, + 20269, 31, 17563, 15435, 21192, 39281, 90, 13510, 52191, 42569, 22365, 26016, + 35688, 25942, 8102, 65329, 21204, 10371, 57275, 4292, 16630, 355, 3937, 29009, + 24477, 50523, 60563, 45692, 44226, 38578, 34858, 62331, 43551, 53312, 17683, + 6273, 34624, 53139, 29851, 34848, 24754, 54884, 27852, 40429, 61746, 54182, + 61391, 14437, 34143, 107, 40610, 61092, 16806, 14449, 63056, 42166, 28557, + 27795, 20070, 64828, 15093, 32834, 26921, 39833, 48398, 6320, 19659, 5683, + 31012, 4312, 11404, 21067, 57938, 54431, 10295, 7444, 43341, 49246, 60633, + 21231, 4083, 56229, 8769, 47566, 59038, 10843, 60804, 43329, 14229, 52833, + 11346, 9279, 33075, 10484, 9956, 12516, 43200, 10280, 23509, 38041, 30641, + 24952, 26113, 37497, 27042, 24619, 48768, 34594, 6208, 11681, 30898, 28275, + 43203, 784, 43224, 27425, 62360, 44595, 47373, 26123, 46164, 5173, 39880, + 43747, 31104, 58132, 36733, 36561, 17276, 33984, 55220, 43531, 50275, 47483, + 39087, 55673, 45812, 16477, 62298, 1405, 22591, 11594, 43586, 13935, 25804, + 62018, 50168, 50459, 32579, 24936, 12197, 55798, 26182, 11810, 4527, 56362, + 12130, 30828, 46154, 64869, 23242, 8281, 64126, 331, 32805, 25470, 26785, + 47585, 32255, 43276, 13538, 8508, 52447, 58637, 46594, 45859, 54680, 30142, + 11183, 43938, 18929, 58943, 30576, 38938, 3795, 5153, 58648, 62894, 42637, + 11729, 35524, 30263, 60328, 25273, 13187, 27459, 10654, 6911, 113, 44441, 9977, + 42821, 36089, 24257, 14992, 17937, 46805, 28342, 36372, 3895, 47677, 35173, + 4583, 26754, 52930, 39541, 45755, 11463, 17340, 38719, 20667, 10694, 62553, + 32529, 25895, 18234, 26025, 31080, 54993, 20674, 54644, 9003, 39967, 32760, + 14930, 60008, 6208, 22177, 57662, 16686, 9958, 22345, 38472, 7322, 22200, + 23851, 42152, 59297, 10941, 15062, 30261, 30770, 57506, 54836, 20916, 42068, + 5741, 48742, 13694, 37640, 49352, 59613, 46011, 33226, 43021, 54198, 11423, + 47035, 34526, 56070, 654, 33223, 52537, 3100, 55208, 26197, 11421, 23663, + 52984, 39703, 30216, 38868, 8074, 47917, 38614, 21233, 41899, 31763, 13488, + 64998, 49935, 40, 17886, 4983, 36638, 32929, 35882, 15419, 49431, 1170, 11016, + 30103, 62510, 20755, 23732, 46989, 31019, 38046, 61080, 16974, 13976, 47511, + 30632, 45713, 32565, 45668, 46166, 41044, 64917, 60827, 37253, 1389, 59141, + 32957, 13465, 51425, 43640, 44073, 35317, 47240, 3482, 60354, 46892, 2897, + 37297, 20359, 28379, 650, 1834, 21513, 35440, 2090, 20988, 32061, 26833, 43484, + 65512, 15364, 15787, 760, 49753, 11912, 8324, 49125, 31150, 27013, 61347, + 33230, 22123, 30078, 58873, 28293, 16139, 14407, 42335, 59984, 41833, 40876, + 20783, 580, 13033, 55443, 56227, 12332, 34862, 50207, 4376, 59369, 20865, + 25885, 9179, 9270, 59707, 2013, 37229, 55849, 13137, 51806, 61658, 47935, 9081, + 40750, 21094, 5245, 24707, 24666, 326, 37300, 44171, 12805, 45167, 10381, 1699, + 4214, 61512, 24301, 26347, 17700, 62639, 33404, 23408, 37311, 22628, 50449, + 62143, 60326, 9565, 41765, 58439, 39225, 30321, 10134, 25509, 28458, 9365, + 9356, 30543, 64766, 28831, 60752, 8407, 13977, 34956, 51787, 16136, 48790, + 24757, 22242, 53998, 52233, 61935, 56688, 7650, 31345, 62598, 4782, 25110, + 62913, 8387, 22915, 18290, 17659, 26989, 14173, 36401, 8292, 25498, 64301, + 17914, 10507, 59149, 46035, 58221, 43880, 9515, 36577, 27264, 472, 59745, + 25898, 35785, 44994, 17086, 14077, 7410, 26037, 38540, 31794, 18327, 65021, + 47964, 43312, 16456, 6829, 39161, 39620, 26967, 14876, 18696, 28542, 43254, + 22230, 44413, 61893, 42210, 61458, 35083, 45950, 39568, 33850, 49722, 35571, + 55860, 8339, 9211, 27888, 36088, 33040, 47303, 59394, 31387, 21376, 52445, + 60718, 65131, 2470, 7412, 37438, 20512, 27440, 48419, 36885, 40427, 34053, + 63568, 21608, 36409, 2389, 40753, 31472, 55904, 19881, 19502, 47781, 53457, + 5001, 16431, 48559, 19793, 46702, 28928, 6142, 55123, 28184, 32610, 24205, + 12377, 2226, 54967, 58959, 40063, 15322, 24326, 57930, 22226, 58064, 11986, + 35945, 5778, 45623, 23473, 9565, 4478, ])) .unwrap(), - c: 255, + c: 218, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_chaos_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -9014,588 +3680,705 @@ fn test_containers_complex_test_struct_max_chaos_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("5065533e7b56e29e0da6386fa6ab9370faa05722ab0e60080fadf809cf58807a"); + root_from_hex("0x5e58b695d0cbbdb4ad678f5786d4931228aab7d69bd3e78f752326ead3fb6360"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_max_5() { - let mut value = VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, +fn test_containers_complex_test_struct_lengthy_4() { + let mut value = ComplexTestStruct { + a: 48787, + b: List::::try_from(Vec::::from_iter([ + 63651, 25468, 28112, 2139, 52666, 19182, 3056, 17197, 52156, 19060, 32580, 13573, + 63047, 24207, 41557, 45706, 33575, 46627, 18858, 15277, 37012, 47099, 8104, 49203, + 39709, 18440, 53782, 21007, 20650, 41629, 39897, 1904, 3740, 35001, 33820, 58300, + 52188, 1565, 14481, 9232, 6627, 40027, 38272, 8892, 13212, 12254, 64523, 41687, 42804, + 54631, 32644, 23449, 16902, 63697, 34675, 22244, 5230, 60815, 40116, 1871, 34510, + 36222, 11487, 4579, 20115, 37653, 22333, 62674, 40597, 9528, 42598, 61981, 32578, 1110, + 496, 15080, 18274, 392, 3491, 65004, 36353, 56990, 50677, 23880, 48933, 19766, 40917, + 53297, 41031, 42501, 3321, 29240, 6531, 42064, 12496, 21616, 35707, 20432, 16263, 3468, + 35291, 30803, 27880, 45476, 55152, 2423, 19445, 6783, 2341, 31503, 5800, 14495, 49016, + 11066, 24174, 63436, 60530, 32779, 25878, 6606, 62660, 41328, 43403, 52950, 57542, + 48799, 43090, 51233, ])) .unwrap(), - c: 255, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_max_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5d79a4fe1fc468caab77f2c903262aa8c4ce6756121fca8b25919b0fab711367"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_one_8() { - let mut value = VarTestStruct { - a: 32967, - b: List::::try_from(Vec::::from_iter([65174])).unwrap(), - c: 29, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_one_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("68282c3fddc3aa7aabbff61772ef621b78adedcaed8b4ccaf1ab7e6b8e01361c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_one_chaos_1() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true]), - e: Bitvector::<8>::from_iter([false, true, false, true, false, false, true, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_one_chaos_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("64d99ff40982dc77152ffd324add9251d78e4b83fc1a1e466d79a123444bdf8d"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_zero_0() { - let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_max_2() { - let mut value = VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + c: 251, + d: List::::try_from(Vec::::from_iter([ + 243, 71, 196, 235, 129, 42, 248, 4, 106, 147, 98, 119, 217, 86, 132, 168, 213, 208, + 247, 197, 45, 63, 204, 171, 236, 245, 11, 228, 88, 253, 208, 115, 4, 188, 164, 114, + 134, 195, 11, 15, 60, 100, 17, 204, 44, 56, 216, 146, 212, 71, 15, 227, 154, 185, 59, + 213, 163, 164, 172, 199, 174, 67, 17, 254, 133, 148, 229, 219, 163, 70, 132, 182, 3, + 215, 51, 248, 207, 6, 248, 247, 27, 212, 136, 119, 201, 101, 17, 39, 198, 180, 221, + 239, 53, 197, 82, 32, 45, 9, 250, 49, 139, 45, 13, 175, 237, 195, 155, 62, 12, 123, 95, + 225, 200, 130, 255, 90, 70, 124, 205, 57, 68, 33, 178, 45, 22, 65, 118, 149, 124, 106, + 130, 78, 33, 88, 141, 249, 193, 208, 237, 160, 107, 83, 92, 89, 228, 101, 199, 198, + 216, 150, 137, 7, 102, 247, 5, 114, 97, 86, 8, 1, 102, 212, 147, 248, 185, 60, 55, 52, + 127, 58, 55, 2, 188, 125, 46, 118, 125, 140, 37, 82, 201, 8, 15, 217, 53, 237, 33, 146, + 49, 21, 97, 68, 37, 48, 231, 232, 71, 49, 22, 13, 143, 229, 69, 2, 108, 184, 124, 238, + 206, 88, 136, 249, 136, 8, 35, 106, 38, 187, 96, 165, 196, 110, 49, 255, 167, 111, 242, + 128, 122, 84, 76, 71, 57, 241, 76, 77, 14, 116, 122, 54, 108, 100, 102, 123, 113, 145, + 148, 234, 254, 218, 183, 192, 131, 35, 129, 3, ])) .unwrap(), - c: 255, + e: VarTestStruct { + a: 47118, + b: List::::try_from(Vec::::from_iter([ + 13769, 27181, 21999, 27872, 13312, 37953, 35537, 48063, 34708, 12121, 28120, 8712, + 45195, 29110, 64446, 58868, 58981, 31734, 25965, 54092, 59080, 58338, 46482, 7954, + 4988, 44055, 13561, 64688, 54718, 24316, 44476, 63591, 53370, 26610, 64852, 9374, + 8080, 4827, 50320, 18973, 3919, 23931, 9764, 22233, 10052, 17028, 38984, 19701, + 38766, 21639, 494, 4149, 52630, 25912, 39919, 39892, 23234, 50530, 48619, 8722, + 46004, 57385, 41064, 52026, 37984, 61584, 7760, 64551, 10244, 27444, 10382, 46339, + 4348, 24905, 41873, 10437, 22454, 61616, 28462, 63505, 64147, 41099, 63801, 13282, + 7480, 31976, 27265, 13414, 51261, 52670, 5099, 1467, 42065, 36849, 3100, 8955, + 49552, 40801, 61079, 60770, 21745, 33045, 22338, 35361, 31147, 39532, 3416, 21562, + 62694, 30237, 34067, 59300, 9499, 2357, 20275, 35286, 62977, 1765, 31712, 17443, + 3661, 49157, 4419, 19748, 59172, 61242, 54599, 19052, 22735, 29496, 10536, 60379, + 23501, 4592, 9637, 13478, 63037, 30007, 4393, 12533, 42401, 48070, 20729, 33054, + 26852, 4017, 59311, 65428, 27369, 22229, 14316, 7275, 28571, 28578, 45181, 35133, + 41228, 52639, 34011, 6172, 29226, 29906, 12101, 50253, 37576, 41224, 12831, 28411, + 14122, 35794, 59530, 7512, 54179, 38732, 45019, 64509, 1122, 24768, 15106, 40416, + 34733, 22040, 61866, 56396, 27964, 25125, 29564, 16772, 35884, 39621, 28686, 22531, + 27174, 26445, 57010, 48971, 49401, 36446, 39114, 53056, 42895, 56840, 27781, 58277, + 36851, 38286, 31725, 16558, 51721, 33561, 59081, 65468, 26468, 1959, 23033, 25485, + 1446, 37527, 50074, 60756, 39819, 35863, 23586, 19915, 38602, 21123, 24860, 10033, + 30420, 28185, 17718, 50756, 42228, 8081, 5297, 5097, 48380, 54319, 60820, 55000, + 36798, 54354, 36925, 46296, 29458, 63432, 11317, 32870, 33007, 59791, 20184, 8500, + 45212, 24118, 60507, 2788, 39630, 42242, 13280, 29925, 6768, 60808, 53506, 47696, + 41701, 19172, 49401, 47996, 17358, 22325, 21572, 64722, 60619, 54024, 26783, 51169, + 65307, 5325, 42859, 52054, 9100, 16054, 44458, 34833, 39628, 2604, 41441, 61031, + 16563, 30556, 17580, 47279, 42887, 40430, 41419, 26371, 5061, 39060, 1624, 37314, + 4300, 29651, 6081, 61545, 28986, 62430, 48310, 18098, 39022, 36595, 20561, 35013, + 13415, 46789, 21016, 40835, 26515, 27065, 32554, 11035, 1584, 1857, 35361, 21967, + 61880, 64617, 16035, 47771, 19934, 5519, 65358, 63490, 38282, 11900, 30306, 25667, + 35983, 30244, 29372, 46637, 8978, 38730, 40511, 9970, 62176, 27327, 41132, 1136, + 7355, 62447, 33874, 148, 10033, 28267, 26902, 8439, 517, 48483, 1108, 61978, 54380, + 34431, 1215, 47119, 44671, 36155, 21415, 23147, 56792, 3856, 19646, 39227, 61264, + 57178, 33674, 22103, 36529, 62922, 65324, 15193, 32940, 27057, 9014, 35668, 27872, + 32693, 35603, 58995, 41444, 25059, 60994, 27902, 52797, 20992, 9564, 33133, 37903, + 2832, 59989, 49623, 14524, 29832, 501, 46057, 27081, 29743, 11439, 17600, 30908, + 59715, 49872, 17164, 2492, 37619, 21031, 33964, 3617, 17186, 57808, 7201, 32437, + 10954, 18970, 64708, 41971, 56313, 2867, 36931, 5910, 28834, 48768, 34027, 25345, + 60722, 51640, 51214, 23157, 57520, 46423, 49053, 59797, 27572, 26942, 50692, 39559, + 30212, 19957, 21940, 24627, 17989, 45093, 38165, 63515, 41275, 21632, 5954, 37095, + 49571, 33875, 34413, 45432, 48071, 21899, 49604, 35944, 49223, 45658, 39299, 3597, + 9142, 4324, 8167, 38519, 61890, 63830, 42823, 23420, 39288, 65260, 14963, 56201, + 44356, 40005, 2542, 56651, 32366, 47376, 35069, 27145, 17588, 38180, 57927, 25477, + 17285, 47435, 6662, 62362, 45849, 130, 4246, 14100, 31020, 64598, 4393, 23755, + 5369, 1191, 38947, 42376, 53102, 37720, 45557, 32862, 50537, 8648, 26242, 27802, + 48155, 41360, 28009, 19863, 14521, 64091, 22003, 13074, 45519, 34700, 52650, 31421, + 12635, 9020, 50403, 17970, 64170, 32335, 29377, 44157, 35585, 54298, 8406, 43334, + 17938, 62215, 22531, 16878, 52691, 8469, 5672, 19652, 53126, 12685, 50427, 35891, + 55367, 26485, 11756, 36969, 49321, 65456, 48893, 60191, 21153, 53419, 2707, 25276, + 10363, 45882, 7267, 60488, 4575, 33511, 43307, 33521, 28909, 14084, 22981, 52632, + 5725, 27774, 22256, 62818, 39489, 41430, 9584, 26646, 28953, 16269, 8531, 26976, + 27601, 26317, 31211, 4043, 13177, 16772, 32231, 65037, 33649, 40427, 59258, 41903, + 52439, 29333, 56158, 45432, 39592, 42168, 55896, 38710, 63910, 48014, 39391, 45472, + 43635, 24232, 9927, 48985, 32868, 11591, 63114, 6787, 16801, 1313, 50432, 35135, + 18980, 17596, 55341, 2077, 23706, 58107, 57500, 37566, 23254, 30061, 1769, 63849, + 41099, 18934, 28818, 23367, 42347, 50682, 20795, 62267, 20987, 46446, 8406, 37657, + 4543, 45221, 52686, 9587, 6492, 28469, 43944, 61664, 48531, 38850, 49801, 48078, + 47871, 4261, 31222, 43728, 12123, 17400, 46951, 32355, 30936, 30149, 15754, 15476, + 17425, 3532, 1199, 36516, 17642, 49256, 50317, 40581, 21385, 47889, 16283, 44680, + 23443, 52445, 49408, 42175, 38963, 44303, 8549, 22609, 11329, 8030, 63150, 49586, + 47469, 19279, 2062, 9879, 1408, 31593, 14435, 16284, 55317, 20487, 36578, 35758, + 38362, 5735, 25495, 37801, 55937, 7373, 27964, 18778, 6736, 34571, 60370, 49591, + 20162, 47374, 16178, 37263, 9337, 13980, 23872, 10702, 41337, 3111, 3339, 57178, + 29407, 26340, 19402, 48002, 25742, 2119, 11231, 6407, 20113, 57084, 13722, 36753, + 4761, 40251, 53547, 23883, 62879, 11787, 55791, 20926, 39162, 56508, 18365, 49661, + 37185, 32678, 44094, 4906, 44363, 12369, 34260, 15711, 60961, 65197, 47997, 16903, + 51171, 55001, 47599, 31140, 61022, 14786, 34441, 55280, 4948, 32920, 49554, 50850, + 37058, 27086, 61978, 44505, 38689, 10971, 52341, 19537, 43652, 60547, 3936, 42124, + 21116, 20565, 28994, 29188, 3244, 47636, 49081, 49665, 2430, 25918, 17835, 30607, + 8899, 17297, 53766, 50312, 51270, 17370, 16215, 16059, 37877, 35300, 57602, 39408, + 16178, 33633, 32022, 52973, 23894, 27560, 40594, 43279, 27733, 13694, 26389, 25213, + 29626, 37775, 41217, 22431, 57326, 21367, 26689, 32634, 64328, 12999, 16568, 51965, + 5120, 57910, 23560, 55262, 6358, 54104, 39305, 27552, 22134, 32869, 16143, 48256, + 38330, 51391, 64870, 58579, 42177, 42904, 1723, 64260, 49530, 33772, 13643, 12616, + 27874, 10159, 26692, 34927, 840, 21541, 6698, 50092, 15020, 62853, 43209, 1836, + 61048, 18414, 53577, 26974, 62817, 7647, 10985, 4904, 53581, 9848, 14879, 2071, + 31139, 52804, 52722, 35424, 57257, 34846, 59527, 31715, 25748, 29620, 41239, 30000, + 4438, 58001, 32355, 62254, 63834, 32527, 28884, 40178, 2943, 43179, 47546, 8815, + 53817, 35082, 24638, 25847, 26377, 18805, 60195, 39246, 6097, 61066, 38704, 60285, + 46049, 54642, 13283, 7346, 11324, 44506, 58169, 47499, 51198, 30018, 23712, 4218, + 6208, 13183, 13929, 7390, 62917, 42553, 1927, 40867, 21338, 47138, 10358, 32969, + 56612, 40920, 64995, 218, 5727, 43531, 19986, 48744, 17374, 29398, 11662, 19995, + 39319, 4039, 17832, 35947, 5417, 37061, 22051, 16008, 60914, 19822, 39630, 25661, + 30110, 39068, 51273, 7920, 29950, 64264, 43330, 46664, 60880, 25966, 47928, 61799, + 42048, 7742, 50406, 2848, 39642, 28194, 14286, 61791, 2152, 9147, 63197, 16939, + 4671, 16098, 35410, 28018, 39360, 5544, 62954, 46800, 5840, 37200, 45002, 26000, + 5756, 39350, 30234, 7271, 6069, 8814, 36617, 28810, 33454, 37891, 33114, 42716, + 27751, 48298, 41031, + ])) + .unwrap(), + c: 244, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 200, b: 8265131358398570295, c: 617210979 }, + FixedTestStruct { a: 238, b: 8877155163157513854, c: 493753517 }, + FixedTestStruct { a: 34, b: 623966954658313443, c: 2195408706 }, + FixedTestStruct { a: 141, b: 3004917036006819299, c: 4005898075 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 27169, + b: List::::try_from(Vec::::from_iter([ + 13476, 8731, 12406, 26506, 13077, 43721, 23620, 51444, 31912, 58628, 51040, + 40192, 12107, 49373, 14331, 15864, 17108, 56237, 2543, 64324, 20578, 49753, + 32572, 10336, 53290, 10272, 42486, 17078, 19301, 39237, 19441, 43151, 63151, + 17893, 41224, 42059, 10717, 1221, 18073, 45289, 51820, 33243, 18315, 39253, + 57488, 29556, 8833, 3120, 20633, 40947, 8858, 12952, 33729, 5201, 65049, 64599, + 28509, 29247, 34057, 8873, 21794, 24362, 38453, 37209, 31386, 20967, 58879, + 55840, 48675, 52276, 58446, 3138, 48298, 51366, 6514, 46965, 35657, 31636, + 42743, 43782, 32363, 17468, 26577, 65470, 65457, 41915, 41799, 57877, 6048, + 26757, 13876, 25331, 743, 37626, 39249, 12142, 4958, 64054, 57320, 35937, + 27708, 42715, 31809, 43964, 3017, 28332, 27783, 60382, 22019, 39862, 47465, + 51944, 50064, 49243, 21949, 36685, 56090, 5691, 65533, 35886, 58038, 17829, + 63149, 63209, 34803, 23158, 31484, 15799, 50994, 34055, 460, 18494, 39811, + 12428, 8103, 22574, 39070, 26404, 26807, 42441, 49188, 16783, 33069, 10019, + 55986, 28601, 33501, 54513, 18814, 15228, 4328, 41589, 58902, 56388, 50253, + 59475, 25707, 47299, 46483, 20330, 6480, 42424, 28669, 32748, 59411, 14678, + 6396, 10349, 64824, 25008, 32937, 57166, 14950, 9093, 39093, 29078, 44826, + 44759, 55852, 506, 51340, 34487, 53079, 45999, 32425, 60343, 33137, 17428, + 38888, 20015, 58699, 28039, 20247, 65468, 46814, 17697, 30510, 14780, 6574, + 49255, 61046, 31937, 36251, 58892, 30940, 40773, 49375, 42347, 14522, 834, + 56630, 26037, 36815, 56557, 27199, 31318, 17072, 64804, 40124, 4810, 26149, + 55228, 17460, 28655, 28946, 41259, 64191, 44910, 56264, 51791, 31430, 28904, + 21564, 21499, 16899, 56983, 50187, 41892, 15661, 8142, 34999, 39834, 19769, + 15767, 58842, 43209, 8897, 50310, 47276, 22791, 56606, 42377, 58341, 48373, + 12500, 65261, 26632, 61657, 28408, 39881, 48049, 45711, 32450, 22815, 19256, + 62922, 53947, 44186, 37860, 18617, 32592, 38869, 62531, 8284, 9196, 40565, + 27718, 23656, 24546, 9311, 26671, 36630, 44896, 58380, 11420, 34337, 62408, + 47478, 34670, 35532, 14512, 3401, 46240, 27217, 24633, 57711, 51788, 49617, + 23811, 27409, 12513, 34717, 48744, 64493, 52959, 780, 61256, 39036, 64390, + 21581, 57884, 26406, 49159, 61333, 63409, 44434, 42311, 44864, 1925, 48886, + 62247, 22061, 60696, 24155, 31074, 51125, 61292, 10307, 8539, 20782, 45950, + 1190, 51849, 21788, 9267, 4726, 37053, 38534, 48593, 48460, 62987, 2061, 6507, + 16768, 36452, 22680, 32129, 38073, 59964, 37068, 41736, 15232, 65066, 63911, + 1029, 31979, 19771, 47242, 32619, 35150, 7126, 14569, 20335, 45420, 35451, + 50671, 15815, 13567, 44591, 17606, 44556, 37783, 18013, 15000, 30616, 63297, + 65082, 18346, 13212, 21876, 29448, 56997, 21992, 14631, 26393, 28354, 10551, + 59987, 60791, 30597, 30477, 26037, 33016, 38929, 28621, 9582, 59624, 15307, + 14482, 56683, 6442, 3325, 3738, 33611, 59248, 50245, 32135, 22479, 4618, 1421, + 42352, 16240, 29055, 14161, 54658, 12815, 26935, 1511, 16986, 11228, 30788, + 34357, 53247, 25940, 16124, 37311, 31377, 17753, 18875, 32282, 44360, 2556, + 35175, 7762, 47813, 19405, 61564, 52739, 44143, 14592, 50871, 18970, 13171, + 38394, 38218, 25512, 21530, 54455, 51591, 9986, 36486, 9300, 22693, 30353, + 56889, 51549, 5257, 60235, 65184, 5307, 16405, 55420, 6841, 15073, 1023, 29003, + 17480, 5273, 14910, 1910, 17920, 51574, 32141, 31320, 48862, 29060, 54989, + 6504, 36457, 24976, 47913, 19150, 20573, 17985, 11366, 44335, 65324, 3045, + 12258, 15300, 3850, 14409, 65491, 38971, 63413, 21889, 3497, 24163, 189, 12210, + 8341, 7873, 15902, 25053, 59595, 24113, 16180, 27305, 20888, 14382, 60376, + 40868, 46225, 36350, 22187, 64023, 15484, 48861, 57437, 60846, 16858, 38474, + 32423, 35593, 32459, 25557, 45720, 33601, 22822, 51181, 63311, 5660, 11744, + 36933, 44146, 26572, 11734, 35862, 54764, 30407, 32101, 46559, 31523, 37024, + 32766, 44274, 24496, 50312, 52881, 33649, 61310, 48842, 45414, 31700, 58549, + 24171, 55077, 44247, 58387, 35504, 34079, 49312, 61171, 11086, 43559, 40748, + 21552, 12876, 33515, 59064, 21650, 36613, 52662, 26357, 19789, 53414, 41528, + 43058, 36456, 17712, 64993, 14992, 3994, 4491, 37237, 53370, 56684, 48965, + 45101, 683, 38708, 61558, 12121, 58510, 879, 50407, 11930, 32867, 52560, 10326, + 11794, 38432, 37170, 7301, 2227, 4388, 48317, 46754, 41733, 15080, 33578, + 26677, 35638, 9218, 36504, 11368, 51823, 20795, 30745, 10679, 55815, 25564, + 29076, 21398, 58915, 58478, 38856, 63404, 1699, 37627, 60898, 50590, 18255, + 41407, 44726, 28457, 3998, 35025, 2482, 12213, 22094, 13467, 49527, 52350, + 18655, 54130, 28648, 35414, 44409, 63193, 56039, 28235, 4754, 24928, 42877, + 63576, 49446, 28624, 1845, 14005, 59266, 59031, 7912, 54815, 61433, 53381, + 25189, 12485, 35484, 25168, 15869, 47845, 52140, 17390, 6122, 42351, 28147, + 64555, 1175, 26660, 43373, 45848, 65207, 36891, 63016, 19132, 50501, 50602, + 4746, 21447, 50782, 37467, 19829, 8378, 7849, 22686, 47244, 6765, 4583, 51921, + 4417, 8688, 24595, 15418, 6367, 53550, 4371, 43037, 29784, 41073, 29272, 26981, + 29451, 62770, 44898, 13335, 16540, 33422, 16558, 1132, 15168, 42677, 12621, + 42915, 57436, 2723, 38782, 7651, 25606, 6344, 26342, 31916, 17688, 43997, + 48720, 3037, 39218, 43497, 26255, 53081, 22190, 27775, 19805, 20488, 22640, + 52465, 14669, 5816, 51703, 5787, 14708, 1341, 2847, 48871, 35239, 22603, 19756, + 49392, 586, 17909, 10332, 30451, 4159, 25786, 28998, 24770, 53886, 40002, + 63520, 25751, 33941, 32567, 25840, 45470, 41440, 27480, 17075, 33823, 41889, + 10847, 29543, 30452, 21168, 58220, 44464, 57740, 31822, 36787, 28680, 27627, + 45628, 19526, 49567, 6316, 65109, 10689, 8657, 37913, 54280, 9336, 45717, + 45092, 60898, 60114, 52378, 28331, 5245, 56106, 35836, 41491, 41479, 49519, + 37463, 22289, 3929, 23256, 37486, 28217, 16698, 20243, 57951, 28335, 875, + 55446, 2643, 38449, 59262, 45994, 32091, 607, 26607, 3590, 28433, 39546, 9347, + 19433, 47539, 43125, 53689, 17206, 15293, 5375, 49839, 16161, 7855, 13975, + 25297, 17365, 4272, 19002, 998, 62950, 15227, 55713, 232, 29193, 5580, 53324, + 13467, 17868, 23757, 54402, 50739, 49220, 38991, 22846, 36316, 18199, 5136, + 10369, 35815, 63713, 4953, 61164, 57215, 44993, 53991, 5056, 48129, 57167, + 24193, 47794, 62491, 53054, 42570, 12005, 50626, 6096, 24627, 48577, 22983, + 3327, 62358, 39266, 63630, 56482, 49251, 18941, 30107, 43504, 12057, 30426, + 21196, 57234, 31207, 33639, 55498, 57220, 4718, 28222, 12729, 33246, 18268, + 31628, 8136, 59222, 62827, 14231, 10196, 48029, 28304, 64764, 7251, 4362, + 45513, 43267, 24465, 37508, 30446, 35645, 62348, 51687, 27898, 14121, 42211, + 51968, 7026, 63484, 3398, 17748, 28064, 12990, 5251, 25683, 34766, 38339, + 54082, 11061, 60695, 36390, 57538, 43060, 22003, 30468, 32978, 52042, 32248, + 43857, 56286, 37186, 11391, 61442, 50874, 27333, 32305, 57222, 3582, 5622, + 51717, 32781, 55911, 54021, 17209, 47318, 46137, 44453, 55563, 12602, 39614, + 25817, 60153, 24499, 8424, 23138, 45603, 56236, 12932, 55051, 40073, 50254, + 24266, 58032, 11189, 47716, 667, 34439, 62701, 43402, 33363, 47316, 49365, 19, + 48751, 6308, 42632, 60566, 59286, 33097, 43957, 46536, 63636, 11200, 55992, + 16180, 60914, 17449, 53775, 45714, 50182, 60378, 6398, 5835, 49615, 59504, + ])) + .unwrap(), + c: 128, + }, + VarTestStruct { + a: 37367, + b: List::::try_from(Vec::::from_iter([ + 18679, 53715, 58115, 9575, 49591, 6276, 24431, 11709, 37558, 11479, 43534, + 11388, 32866, 63174, 52726, 31409, 59501, 47148, 42776, 14724, 53809, 36799, + 6439, 31809, 11623, 60009, 12746, 4383, 45501, 17740, 34659, 7578, 26103, + 41995, 45243, 42156, 52740, 53495, 44601, 21426, 55901, 17246, 50350, 42207, + 5439, 36915, 62279, 21520, 47417, 54734, 40557, 48049, 18296, 44531, 62523, + 59209, 21620, 27227, 7791, 44991, 50387, 2111, 30098, 55440, 60983, 11968, + 45740, 257, 10872, 4875, 49422, 60332, 13529, 55521, 37186, 10349, 52077, 4842, + 27602, 12618, 9822, 43666, 61567, 41448, 63623, 65193, 7927, 29535, 57903, + 32454, 55634, 1482, 48359, 59195, 47720, 27315, 2879, 42128, 28952, 57076, + 51538, 39177, 59054, 27308, 27851, 63196, 50715, 3946, 35007, 17877, 13865, + 33221, 44043, 21092, 16870, 22396, 26301, 1132, 22770, 29276, 31224, 43093, + 47886, 59236, 63218, 8252, 14897, 15788, 56952, 37934, 38984, 36802, 34742, + 2281, 52090, 19648, 60417, 52168, 65159, 61095, 33605, 44434, 6581, 7836, 6646, + 5580, 49892, 18520, 22425, 49849, 32735, 22152, 8889, 35578, 39334, 6219, + 37572, 20024, 22917, 21092, 9477, 53708, 57477, 49934, 7860, 11471, 55025, + 41757, 41073, 50814, 50942, 54252, 18286, 14363, 11978, 29221, 24082, 49437, + 32600, 33385, 17695, 15031, 21576, 59137, 23250, 15688, 31367, 4243, 42429, + 19328, 17284, 58615, 42702, 23870, 11854, 64878, 11356, 37988, 2591, 46638, + 24541, 4033, 35213, 38503, 32089, 29923, 37012, 46237, 63174, 13556, 3232, + 7187, 51802, 48247, 35820, 47546, 43353, 16118, 38089, 10817, 44460, 7086, + 13933, 51767, 5601, 55928, 2992, 27198, 16034, 20738, 31275, 45104, 47487, + 12155, 40104, 5561, 57363, 43367, 44332, 16097, 43091, 6557, 39561, 4092, + 30682, 23826, 55843, 6830, 22722, 61796, 59862, 28346, 12540, 26258, 16294, + 57927, 26569, 63660, 41195, 12528, 29536, 50178, 60524, 29397, 52805, 22248, + 3419, 29163, 10037, 32556, 21191, 65104, 7803, 6303, 39587, 13129, 59271, + 62512, 50729, 34711, 54464, 13274, 26753, 12887, 33008, 52023, 11661, 9284, + 50111, 57149, 22283, 57342, 7800, 49201, 44244, 52924, 63069, 9887, 11305, + 49614, 12668, 20020, 11862, 31384, 3539, 7098, 22200, 41998, 53628, 48683, + 57483, 11866, 16510, 54111, 49467, 3117, 24351, 6083, 11217, 25901, 11353, + 65132, 26069, 52335, 62307, 52509, 12873, 47528, 37697, 44613, 61532, 31336, + 7676, 59645, 19126, 11960, 43383, 24606, 6580, 44614, 54402, 25886, 20962, + 20238, 30674, 30967, 36140, 59447, 9868, 34699, 8193, 51300, 50141, 53695, + 18504, 12358, 23250, 63617, 63594, 65267, 61809, 44227, 35740, 33338, 22738, + 24896, 56971, 42585, 21483, 6579, 51970, 63753, 62371, 13862, 58540, 24510, + 54252, 8242, 55665, 8797, 22599, 54702, 19607, 42132, 47489, 36541, 47296, + 26702, 65351, 24527, 60381, 37462, 36967, 27240, 56631, 42259, 25519, 12947, + 38412, 53128, 32993, 29007, 49088, 29931, 10609, 35776, 7733, 35367, 14387, + 13292, 21598, 11259, 50428, 17019, 11422, 61325, 49625, 44310, 15593, 56864, + 10542, 17506, 17192, 65077, 59486, 48871, 55087, 14500, 64742, 52613, 2986, + 61274, 22112, 20798, 55523, 60741, 9105, 31564, 29900, 8899, 35937, 19466, + 6670, 6778, 13494, 19269, 12477, 3030, 32555, 32725, 59494, 61738, 50578, + 10219, 3919, 13219, 57140, 61944, 14909, 11361, 35352, 5140, 26487, 12294, + 11884, 27456, 59440, 47195, 33877, 345, 21714, 646, 24043, 20477, 63398, 9008, + 15884, 35052, 64056, 43510, 10471, 20303, 49799, 7925, 31746, 19813, 25352, + 30876, 59454, 55707, 19999, 35961, 56698, 16471, 6932, 30473, 37095, 2303, + 58953, 38878, 48133, 9380, 18724, 8596, 12726, 19334, 48797, 62757, 7919, 2547, + 55845, 17243, 44255, 24640, 278, 48133, 53104, 5792, 55373, 22699, 2548, 54527, + 5060, 3772, 21344, 58596, 58783, 38674, 60793, 44329, 50167, 24704, 29689, + 33718, 31284, 27794, 46948, 22914, 13959, 10251, 55803, 40465, 1221, 11600, + 257, 25234, 42518, 13452, 34702, 39225, 22461, 14234, 7612, 31998, 34469, + 32277, 43117, 35835, 61639, 54858, 19046, 62576, 34304, 45654, 51156, 22614, + 14893, 28138, 11014, 53056, 8493, 17407, 29313, 58992, 45690, 97, 38894, 31996, + 31979, 54157, 47618, 9480, 13329, 20305, 37175, 61724, 30130, 46832, 1530, + 30625, 50791, 13715, 46714, 7372, 19555, 65195, 11858, 59412, 61080, 35905, + 54278, 33339, 38180, 21788, 56670, 51606, 13, 34832, 55666, 5811, 10703, 53202, + 33696, 61180, 22328, 59128, 43546, 12992, 55445, 53805, 15443, 7592, 39020, + 16156, 11291, 49096, 63921, 62689, 55989, 15881, 7599, 46434, 51892, 46209, + 22281, 44145, 62576, 45013, 18069, 21280, 24712, 37909, 7449, 21245, 49958, + 21585, 25656, 31760, 35623, 2383, 6796, 15782, 46243, 21854, 57960, 2209, + 33550, 195, 1820, 18920, 8218, 8055, 9407, 48793, 51997, 30590, 3625, 32192, + 55151, 64666, 3839, 50456, 3784, 53120, 30913, 52436, 36340, 44494, 8432, + 60049, 65044, 62465, 20227, 52551, 56393, 27846, 25131, 32122, 20617, 55262, + 11715, 64463, 53507, 19302, 52169, 54714, 11396, 56524, 48912, 15975, 29481, + 45524, 22431, 21438, 14818, 14222, 55471, 39095, 10436, 64195, 54466, 8925, + 6426, 47416, 45993, 42502, 12976, 41883, 65254, 39210, 32014, 12940, 4550, + 39225, 15635, 4657, 43407, 6279, 12819, 36497, 8005, 46083, 55804, 3566, 35327, + 35855, 10258, 55879, 9189, 19983, 968, 16031, 882, 33582, 30445, 36383, 28902, + 28542, 45504, 17107, 7356, 22548, 29683, 8431, 46831, 15875, 20145, 44720, + 18885, 3882, 36043, 58131, 12611, 38802, 12428, 23246, 7374, 15788, 39984, + 59179, 29408, 44635, 61559, 10744, 25648, 9773, 63264, 35006, 15686, 54542, + 12176, 42972, 17739, 24509, 22153, 62788, 33379, 32712, 55762, 21, 54150, + 37467, 25930, 9221, 12665, 55990, 23462, 23943, 60197, 22000, 48660, 13163, + 15767, 26723, 40625, 47594, 40958, 2062, 2556, 2804, 37669, 42650, 39502, + 46553, 22884, 49423, 34102, 38109, 20783, 58127, 26952, 24243, 62339, 18478, + 19535, 63182, 144, 17264, 17444, 12103, 16573, 10356, 37576, 63409, 20559, + 23686, 42815, 12377, 27356, 3925, 15005, 33667, 64937, 33053, 60026, 40621, + 29385, 23303, 55956, 34507, 26714, 43633, 34838, 54226, 22456, 6797, 47440, + 59306, 38966, 42622, 58478, 64991, 58152, 29054, 14023, 19295, 55095, 58410, + 21340, 24962, 18462, 23486, 25544, 48726, 43659, 28412, 60520, 2461, 10813, + 8503, 24026, 62973, 62160, 48162, 48854, 16944, 3782, 26629, 24910, 45984, + 42178, 51027, 21823, 13918, 53539, 35704, 26334, 25167, 25516, 51002, 21974, + 54329, 4617, 18906, 53484, 50900, 20795, 28645, 28958, 23968, 33234, 14593, + 6589, 11058, 19323, 36480, 43016, 9872, 13215, 1360, 40473, 36804, 46063, + 12471, 44827, 51759, 29212, 26590, 26273, 29033, 40688, 58134, 61705, 35972, + 29224, 4668, 15791, 14140, 47040, 47906, 36793, 34882, 53901, 29262, 7480, + 7845, 40130, 52743, 22751, 1754, 34468, 13887, 6318, 38895, 13219, 53407, + 57006, 14098, 44616, 55059, 29033, 4027, 19566, 40492, 19418, 31887, 20134, + 63760, 49325, 44963, 63366, 45401, 59000, 11585, 63738, 27273, 62287, 8807, + 61832, 65447, 40359, 40435, 44455, 259, 25455, 50236, 47955, 19746, 31740, + 61215, 35090, 2824, 36157, 18078, 19887, 60979, 65366, 40389, 19469, 8949, + 57450, 17000, 22661, 33653, 64317, 27181, 11772, 28839, 26920, 12973, 36465, + 54185, 14147, 18999, 32165, 2930, 7374, 17055, 62553, 65086, 6320, 44467, + 20066, 21018, + ])) + .unwrap(), + c: 182, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_max_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("728b5cde46644e09809e707f1db6076c692954b8cc589a17884626884f5e05e9"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_max_chaos_2() { - let mut value = SmallTestStruct { a: 65535, b: 65535 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_zero_7() { - let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_random_3() { - let mut value = SmallTestStruct { a: 1916, b: 63799 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("57841ce63e13790da0b2ff364dbf4a9e2fb95226220689bb070f170197c9a6d6"); + root_from_hex("0xb05d615353d2d4e8a52506e147d553cc6056507b364280955ef2206abd5539be"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_lengthy_9() { +fn test_containers_complex_test_struct_lengthy_5() { let mut value = ComplexTestStruct { - a: 30344, + a: 65280, b: List::::try_from(Vec::::from_iter([ - 27285, 31750, 46578, 54105, 57571, 43485, 744, 1344, 32473, 47440, 11194, 63789, 51406, - 37376, 38249, 60165, 33154, 64174, 55216, 40772, 54694, 57064, 284, 15090, 37949, 2419, - 36394, 51863, 14377, 9930, 63924, 1052, 56672, 4452, 64521, 35049, 20321, 53698, 49928, - 57477, 32623, 9402, 19536, 53550, 14402, 43887, 12704, 16647, 12655, 36204, 30889, - 63009, 36953, 1485, 13796, 875, 40454, 39755, 40840, 7957, 39865, 45197, 4950, 28755, - 19609, 30717, 23519, 3819, 32042, 54189, 36262, 37283, 15891, 3286, 62776, 11998, - 17403, 36926, 19911, 60940, 9910, 51730, 3767, 10296, 24414, 56319, 7900, 46969, 48170, - 42937, 37053, 29988, 49978, 21348, 64806, 13650, 18850, 28151, 26745, 44992, 38448, - 26489, 12891, 45319, 44674, 43692, 57120, 19420, 33502, 9583, 4622, 3966, 60405, 55604, - 34205, 47241, 48704, 1772, 60046, 44520, 25522, 59273, 36522, 14925, 57471, 63734, - 55845, 30341, + 33087, 53979, 31524, 62080, 24710, 39184, 59428, 4696, 65450, 13150, 6095, 62651, + 14575, 47502, 23666, 39136, 11068, 26424, 61299, 61232, 57870, 7945, 48238, 37590, + 48621, 61357, 47192, 5814, 27739, 13962, 12707, 37305, 29690, 1586, 45727, 61950, + 20772, 19719, 25719, 17231, 18362, 15853, 20434, 38643, 21832, 48266, 28050, 16461, + 35483, 21070, 36426, 26843, 37063, 29599, 43941, 32787, 12601, 3191, 22285, 16176, + 2828, 22460, 12607, 63486, 46498, 17365, 45108, 49196, 18556, 51020, 56080, 57156, + 9575, 55047, 56617, 28081, 21914, 57894, 40854, 34499, 2019, 6441, 5368, 30697, 29566, + 52669, 39545, 2954, 52462, 18468, 10220, 27759, 50995, 6464, 23592, 22479, 4363, 32767, + 56876, 49623, 8721, 51333, 4685, 43718, 39768, 32172, 59732, 53711, 52255, 47152, + 32968, 47558, 32043, 57404, 44163, 59909, 3792, 32887, 51205, 32642, 33447, 45034, + 65175, 1660, 57816, 42438, 8665, 5538, ])) .unwrap(), - c: 232, + c: 196, d: List::::try_from(Vec::::from_iter([ - 99, 104, 35, 109, 210, 97, 247, 62, 235, 217, 21, 187, 178, 135, 238, 229, 12, 166, 76, - 68, 55, 19, 91, 60, 238, 24, 90, 152, 244, 178, 104, 142, 76, 80, 122, 99, 2, 14, 243, - 173, 120, 94, 19, 185, 125, 75, 3, 151, 150, 55, 51, 253, 255, 5, 75, 139, 94, 137, - 162, 121, 233, 174, 17, 237, 80, 0, 247, 2, 173, 190, 235, 180, 100, 146, 73, 197, 113, - 70, 176, 79, 36, 83, 178, 223, 158, 139, 191, 167, 111, 49, 235, 33, 145, 53, 15, 193, - 179, 141, 255, 243, 196, 169, 217, 153, 232, 143, 124, 106, 179, 239, 72, 112, 228, 17, - 29, 246, 29, 17, 32, 158, 115, 221, 175, 198, 247, 2, 61, 80, 242, 32, 254, 12, 240, - 109, 8, 164, 139, 205, 119, 166, 74, 8, 113, 105, 127, 161, 49, 134, 192, 1, 197, 13, - 38, 146, 178, 58, 13, 4, 99, 59, 4, 88, 112, 1, 228, 72, 115, 53, 247, 99, 20, 16, 196, - 40, 179, 179, 48, 139, 143, 161, 150, 56, 250, 11, 254, 139, 28, 251, 112, 10, 177, - 151, 246, 184, 5, 183, 151, 52, 83, 237, 50, 120, 193, 244, 31, 143, 50, 78, 223, 71, - 162, 171, 117, 57, 198, 234, 216, 78, 216, 209, 126, 100, 159, 199, 67, 191, 58, 42, - 135, 246, 102, 175, 206, 61, 35, 14, 51, 89, 34, 22, 51, 144, 71, 250, 109, 4, 139, 75, - 165, 214, 158, 218, 174, 43, 150, 168, + 165, 93, 15, 90, 2, 156, 82, 116, 64, 141, 108, 175, 191, 115, 228, 31, 101, 113, 116, + 94, 119, 251, 211, 254, 40, 87, 133, 236, 147, 47, 60, 177, 51, 95, 116, 72, 96, 198, + 10, 159, 139, 155, 117, 183, 56, 57, 197, 2, 85, 175, 88, 83, 182, 102, 144, 158, 115, + 202, 101, 77, 167, 118, 20, 223, 6, 4, 233, 126, 76, 137, 210, 30, 156, 206, 155, 187, + 169, 90, 180, 162, 127, 21, 106, 41, 78, 165, 61, 13, 94, 238, 33, 61, 0, 50, 193, 9, + 247, 79, 120, 26, 200, 3, 128, 214, 140, 111, 111, 141, 102, 182, 112, 114, 27, 195, + 194, 62, 178, 116, 238, 201, 49, 78, 25, 176, 136, 246, 50, 243, 95, 106, 28, 67, 6, + 136, 82, 18, 177, 116, 97, 226, 198, 24, 254, 200, 18, 66, 99, 239, 233, 105, 151, 217, + 252, 191, 246, 114, 133, 7, 19, 42, 105, 242, 247, 78, 208, 36, 66, 229, 164, 113, 22, + 28, 254, 52, 156, 156, 159, 28, 159, 134, 250, 182, 101, 243, 247, 180, 3, 6, 250, 19, + 5, 158, 144, 107, 249, 94, 82, 22, 138, 37, 6, 68, 16, 4, 130, 169, 76, 51, 172, 62, + 60, 169, 167, 51, 139, 81, 210, 117, 55, 67, 52, 36, 119, 4, 38, 106, 22, 96, 250, 104, + 33, 153, 134, 151, 57, 63, 6, 111, 204, 165, 240, 95, 254, 158, 173, 168, 87, 56, 80, + 47, 141, 18, 138, 54, 254, 179, ])) .unwrap(), e: VarTestStruct { - a: 6409, + a: 48108, b: List::::try_from(Vec::::from_iter([ - 63410, 3333, 22112, 3774, 3153, 65192, 31578, 20841, 1011, 56551, 55765, 57694, - 16588, 21882, 51592, 64066, 61181, 42182, 52872, 42491, 16147, 33742, 12923, 25318, - 25964, 52728, 47839, 10450, 8881, 51682, 31438, 1864, 51725, 6773, 50158, 37906, - 36402, 27740, 18169, 62647, 27752, 39858, 31304, 2140, 46753, 8022, 53839, 28735, - 22576, 55301, 57556, 48592, 31738, 657, 62869, 47835, 61722, 9607, 61296, 5815, - 13471, 49662, 35481, 30600, 24824, 33743, 50959, 60611, 32000, 7011, 29471, 189, - 39699, 62663, 53365, 31214, 27133, 42428, 16934, 7822, 2781, 19234, 61631, 42863, - 41420, 3022, 64979, 33155, 17211, 6321, 23395, 43547, 33544, 39024, 10331, 18428, - 28026, 47427, 62052, 45348, 22566, 40636, 23279, 5109, 27057, 50493, 23229, 37698, - 30798, 3459, 38491, 43479, 1027, 58715, 61722, 5349, 51136, 46640, 38914, 34004, - 58899, 12839, 26742, 48070, 61283, 14369, 21488, 537, 58459, 4758, 63638, 14736, - 55981, 710, 32345, 43316, 60134, 44843, 17373, 6397, 52465, 30152, 59984, 15858, - 62684, 49955, 46097, 59932, 1622, 3154, 31660, 64727, 6181, 31762, 38556, 46394, - 17784, 46397, 64871, 11728, 54460, 33288, 50630, 7098, 32608, 47695, 47174, 2583, - 2206, 33316, 7837, 25989, 33133, 46083, 44285, 9169, 6780, 10805, 25059, 29236, - 58714, 6878, 38206, 58972, 31671, 59410, 27877, 58720, 51110, 39991, 19196, 12834, - 51762, 11134, 53261, 20274, 21300, 58618, 25420, 40834, 31722, 61603, 34526, 49735, - 61190, 20055, 16449, 56417, 42320, 9436, 51589, 3308, 22140, 64302, 2784, 12533, - 30639, 23075, 40629, 32394, 39842, 23184, 1790, 20546, 10781, 3726, 44617, 38538, - 24274, 25022, 41120, 39251, 13444, 44385, 20169, 13855, 4518, 34563, 61861, 42020, - 38421, 46262, 59118, 6038, 1387, 53995, 18361, 40919, 23573, 16076, 17299, 52522, - 47357, 45045, 8002, 11043, 49214, 63932, 21963, 48675, 54576, 55853, 39509, 60756, - 21336, 51375, 16952, 21746, 37491, 65495, 52028, 45966, 11184, 64390, 62137, 12924, - 14698, 32491, 37810, 28149, 44260, 32471, 21291, 22193, 48049, 16310, 48010, 44280, - 21934, 22727, 60556, 32535, 36516, 60493, 13962, 40438, 54881, 2180, 62420, 50849, - 2096, 37844, 19353, 2916, 4269, 50724, 57824, 35803, 55005, 32481, 12157, 20838, - 16058, 47691, 35670, 31224, 41494, 7626, 7959, 42590, 43802, 32741, 33809, 15502, - 15831, 11454, 59784, 44056, 63131, 15469, 8348, 62330, 36340, 47210, 35269, 16549, - 65016, 29816, 31523, 48294, 19249, 30907, 38802, 63284, 41843, 32135, 43782, 34852, - 28504, 34884, 35149, 48003, 64116, 35134, 56281, 41800, 35727, 19336, 40578, 31200, - 19608, 44044, 47782, 19650, 64200, 25410, 7177, 13064, 50022, 4312, 4322, 37597, - 35676, 10229, 29684, 935, 15426, 36879, 37844, 39243, 45468, 611, 21852, 45567, - 64939, 1961, 59055, 4320, 47190, 32843, 42519, 31197, 25754, 58426, 30288, 7910, - 1765, 9394, 61176, 32529, 23219, 3482, 46194, 13662, 14547, 26477, 2121, 13702, - 32186, 5229, 2576, 41328, 39013, 14395, 57869, 64527, 8911, 16918, 23615, 20578, - 8701, 5854, 7306, 54599, 3348, 27559, 6783, 23116, 7702, 55475, 13521, 41846, - 25227, 50582, 47649, 19258, 23006, 62989, 32137, 63862, 61177, 18536, 40346, 63096, - 48013, 51703, 830, 15846, 54885, 36908, 12024, 39511, 16852, 47311, 27011, 36334, - 54344, 59572, 58768, 43649, 40675, 55083, 47619, 20382, 37028, 10762, 62937, 49142, - 33630, 4672, 15202, 16523, 59513, 10039, 34221, 37921, 4462, 57673, 62957, 24726, - 57002, 37991, 42985, 34390, 50066, 29142, 61458, 30181, 6442, 43216, 62786, 36234, - 37652, 22963, 53068, 20291, 27988, 2542, 56678, 22020, 28692, 54146, 35072, 4752, - 23271, 43626, 64408, 46906, 33844, 15985, 12872, 50020, 42594, 55975, 56256, 50883, - 17688, 19694, 59039, 40465, 10662, 52752, 64518, 19535, 53608, 54060, 22121, 45124, - 385, 20746, 13378, 46843, 37145, 25736, 4586, 14540, 52342, 48518, 39620, 21257, - 45580, 20785, 60520, 47638, 50887, 7237, 21313, 23647, 41185, 49974, 36077, 57806, - 3878, 30205, 19761, 36345, 47089, 59211, 23734, 37410, 10696, 61413, 27030, 14160, - 54002, 21700, 7719, 46470, 47269, 53780, 20439, 26507, 49988, 60696, 32614, 8484, - 27411, 60931, 5374, 54530, 4977, 11701, 40538, 51387, 2367, 21390, 31145, 13488, - 46105, 45423, 44812, 28902, 41087, 40419, 54068, 23303, 21978, 44170, 44998, 53213, - 31834, 4029, 34403, 1972, 4226, 14927, 12308, 9763, 35969, 54408, 36726, 63816, - 64347, 50900, 14566, 700, 62233, 8580, 46005, 51306, 19836, 52369, 47471, 39457, - 324, 14937, 49777, 23565, 36855, 48991, 62856, 4755, 30401, 16094, 58049, 35734, - 4269, 2368, 22746, 31825, 40288, 24288, 39608, 51252, 55491, 25079, 44051, 61721, - 18363, 30223, 27793, 41635, 17413, 64342, 6349, 11062, 3503, 16321, 18950, 38123, - 33118, 1994, 21038, 57207, 6895, 47933, 23177, 38368, 37916, 5660, 6239, 44653, - 20689, 23588, 16486, 26792, 41416, 63367, 56706, 35288, 20434, 26791, 22874, 14427, - 40070, 2140, 59890, 16891, 5785, 42811, 27493, 61832, 53939, 47778, 7698, 44865, - 46169, 25362, 52730, 57474, 11122, 34975, 58660, 32425, 63494, 7520, 11826, 9648, - 49205, 54811, 17381, 52565, 58686, 47967, 18636, 23513, 14097, 50725, 32871, 33108, - 53504, 56074, 46964, 50577, 17793, 38712, 28408, 8338, 54068, 9346, 966, 20559, - 27367, 60168, 22896, 16668, 19005, 46720, 9278, 64996, 2975, 63196, 36376, 55246, - 52241, 34757, 19037, 29815, 46636, 12221, 4494, 57458, 55359, 38388, 49529, 59896, - 52599, 22135, 6903, 38917, 45249, 29172, 62024, 32505, 43125, 20212, 23885, 10921, - 6687, 51513, 18115, 45864, 7000, 45969, 50822, 36648, 49482, 1494, 47249, 3068, - 15290, 8645, 41494, 16928, 47112, 19835, 7469, 49589, 13542, 24179, 21931, 11862, - 64752, 46141, 26490, 10401, 64630, 139, 34818, 39655, 50656, 57591, 24338, 40087, - 7087, 40290, 10479, 19267, 28618, 43263, 38254, 40649, 11078, 25338, 59267, 65367, - 28771, 41091, 47426, 54947, 19759, 24984, 33337, 36131, 45227, 54145, 47460, 60807, - 15609, 5357, 23158, 749, 55515, 20322, 3713, 43736, 58335, 16694, 3839, 53659, - 44883, 5353, 27992, 59519, 57154, 38753, 4709, 10267, 48741, 53882, 49165, 20236, - 44944, 31435, 24580, 13008, 40126, 43198, 40989, 61928, 21272, 44923, 12035, 28932, - 13161, 11568, 37809, 32970, 11964, 19814, 49208, 45575, 47345, 44367, 17992, 8667, - 53291, 30138, 2968, 28456, 54800, 10841, 59159, 20789, 8138, 44560, 56841, 34514, - 39638, 34857, 5850, 53223, 39770, 15438, 46294, 64553, 62318, 34384, 41875, 16251, - 4125, 34735, 39820, 21427, 54023, 56564, 43365, 31444, 39463, 19207, 125, 32098, - 16220, 2291, 51231, 30998, 63093, 64973, 3102, 42590, 12084, 46333, 58265, 21993, - 21819, 8128, 52754, 36493, 55314, 47006, 46010, 60487, 39627, 5885, 35918, 17349, - 35856, 43092, 64254, 14809, 35588, 40581, 43011, 43638, 2534, 4094, 50625, 39517, - 54074, 20328, 65, 31919, 29051, 51068, 35171, 19001, 43332, 18907, 48556, 34896, - 19087, 38730, 37610, 35289, 37586, 41011, 38083, 17144, 7460, 12001, 28579, 33565, - 37202, 43234, 34160, 9931, 33234, 65381, 51965, 20912, 27298, 57502, 28904, 41156, - 55146, 62593, 20262, 7179, 3469, 18423, 48539, 20036, 28189, 19676, 2003, 9700, - 20536, 20312, 48842, 3153, 15725, 7350, 33505, 48503, 43534, 63739, 41968, 11656, - 44112, 59996, 51697, 23090, 12070, 23536, 1632, 19669, 62805, 14447, 32973, 31165, - 41737, 10307, 20029, 46979, + 64199, 27161, 27624, 59075, 40208, 17835, 37120, 12903, 30200, 62955, 39882, 12060, + 17752, 60770, 58730, 51247, 64644, 36138, 38923, 5862, 5634, 5868, 46352, 43758, + 2831, 56020, 3200, 28803, 59381, 41185, 52261, 20856, 28228, 63365, 37438, 52823, + 22385, 10264, 2861, 45413, 43742, 52707, 2717, 26894, 10860, 49033, 64693, 1353, + 47080, 36289, 9919, 51143, 35733, 3378, 15802, 10978, 10639, 64393, 6938, 64653, + 19201, 33104, 42728, 40380, 45389, 29930, 53503, 7625, 65517, 2573, 32299, 44444, + 39605, 27009, 31360, 46941, 19910, 51663, 5980, 51219, 22987, 10550, 56290, 21636, + 32666, 3940, 924, 29928, 17145, 15264, 60642, 55460, 21013, 41733, 53443, 49732, + 50946, 57058, 11348, 64270, 26311, 46741, 20753, 57942, 46005, 57665, 20256, 3381, + 43770, 6328, 6209, 49020, 22578, 61069, 40660, 30888, 41083, 42403, 53815, 22703, + 57138, 14131, 520, 49899, 46139, 20052, 13215, 57675, 7353, 64530, 59611, 33996, + 33742, 10764, 17928, 16719, 25673, 15256, 6295, 18624, 49527, 20991, 49660, 51915, + 49903, 57760, 38509, 6904, 62126, 31505, 39387, 53013, 36553, 9954, 16030, 43080, + 18505, 10842, 13414, 40145, 6663, 60001, 26472, 45814, 50483, 5388, 53711, 40632, + 58130, 14338, 45097, 48096, 54630, 31410, 25007, 11888, 25047, 48599, 10417, 19112, + 39310, 19828, 15298, 41481, 61780, 1630, 21556, 12136, 62986, 24007, 42824, 45132, + 11577, 51070, 53779, 54469, 7919, 21349, 24081, 59211, 11588, 37427, 520, 37688, + 15004, 31504, 41854, 50785, 30026, 55964, 44296, 62307, 20467, 40657, 1182, 57988, + 25388, 62804, 10337, 57342, 38585, 28476, 48958, 47086, 26968, 19357, 54804, 44902, + 9614, 51848, 54909, 32835, 3825, 4655, 22391, 4267, 18033, 55228, 9788, 31219, + 32601, 21059, 38955, 63575, 63170, 29648, 31082, 55231, 6980, 56474, 60451, 16911, + 18680, 40690, 30908, 53134, 4489, 40021, 5444, 9962, 26556, 10311, 57673, 64726, + 63722, 40638, 45932, 35466, 48991, 14996, 36602, 24497, 15223, 49668, 2722, 23135, + 40059, 13593, 40135, 58804, 8281, 50056, 43734, 50092, 21072, 16673, 18863, 36749, + 30483, 25693, 27198, 11305, 58012, 13987, 34306, 55569, 18543, 52548, 20153, 17981, + 49914, 61645, 43968, 43722, 15335, 47324, 22424, 31269, 49779, 40004, 36308, 48244, + 35335, 31116, 21746, 34543, 39256, 40034, 44633, 34256, 49543, 2797, 5764, 49437, + 9165, 15464, 3264, 54751, 9861, 38827, 24811, 30707, 38906, 33948, 47310, 11395, + 49920, 24827, 34594, 1104, 39842, 31470, 8597, 7007, 14033, 25652, 760, 31964, + 36751, 36870, 53715, 21393, 22319, 59379, 41011, 18884, 61208, 20127, 64216, 13540, + 16557, 28546, 44967, 19112, 23500, 58070, 3103, 42839, 49593, 7283, 40615, 20105, + 43813, 49155, 8442, 5211, 7136, 59898, 23777, 19813, 4696, 18221, 18426, 52073, + 14353, 26250, 43429, 9223, 42994, 7143, 39547, 58525, 40331, 38803, 64156, 10885, + 34626, 15605, 7415, 49347, 40067, 24755, 44699, 25099, 19991, 39869, 8610, 44980, + 32128, 34888, 31602, 19785, 48516, 49778, 58042, 39777, 6429, 43793, 43071, 40097, + 18219, 51431, 34290, 22732, 44420, 29413, 5242, 63909, 24793, 8757, 50828, 63873, + 12622, 32189, 51369, 1981, 26269, 20001, 33613, 44387, 14805, 6683, 48211, 60443, + 5193, 63745, 54620, 54045, 21226, 12464, 27518, 26723, 19754, 62507, 51331, 38504, + 31799, 15415, 55876, 58630, 58797, 51550, 27594, 33391, 18290, 15074, 6978, 11804, + 17318, 27594, 20432, 31162, 53549, 51256, 28376, 21009, 6272, 4200, 43456, 15801, + 64639, 63846, 59955, 54036, 61995, 16424, 30499, 9057, 44349, 51922, 12362, 19137, + 60663, 5055, 58249, 43236, 40986, 7000, 27303, 42519, 40092, 43296, 2491, 34864, + 36350, 14881, 11285, 35881, 28205, 55859, 7054, 58109, 62425, 5021, 55059, 19112, + 34836, 2775, 10318, 64356, 42242, 62839, 53679, 61972, 2770, 46411, 23522, 63463, + 59257, 39323, 24598, 32390, 30290, 58001, 11844, 55921, 31958, 30949, 65113, 57256, + 2694, 42579, 26079, 31747, 26631, 4465, 50039, 6654, 14277, 56320, 9195, 64218, + 46937, 58756, 29241, 51581, 38680, 11557, 23516, 37954, 11326, 61525, 38210, 44523, + 19785, 22838, 6127, 31738, 33108, 63143, 10715, 7682, 25819, 52640, 26503, 1484, + 42550, 27807, 33699, 13786, 52708, 56826, 51485, 55869, 38098, 65129, 50916, 64485, + 748, 42137, 56160, 13073, 51095, 21037, 3375, 5986, 45539, 13897, 10298, 56442, + 6987, 49582, 47687, 62142, 37195, 62731, 31735, 9827, 34916, 51352, 43611, 6164, + 46044, 7612, 49989, 57300, 52986, 63206, 65425, 16884, 34083, 8430, 11452, 15034, + 39033, 4436, 42271, 7402, 25152, 33038, 50771, 45409, 44303, 60404, 45417, 27781, + 46630, 14994, 63902, 8388, 19609, 41230, 15432, 2395, 32745, 51857, 42262, 49462, + 37073, 7550, 42554, 42141, 28991, 16876, 59786, 53726, 61574, 37970, 39251, 3129, + 38477, 48215, 29612, 51906, 13237, 47443, 12538, 56389, 46101, 31949, 13627, 1682, + 10308, 40009, 42032, 51869, 18173, 35513, 53224, 44511, 25150, 53404, 2122, 39998, + 30304, 13182, 39770, 34305, 19528, 7772, 57337, 23440, 19993, 40587, 37556, 40991, + 37167, 15172, 35145, 63717, 14234, 33152, 50015, 43748, 61170, 65378, 58462, 1077, + 28332, 33634, 35849, 12743, 40613, 26921, 8577, 5136, 13847, 50324, 22796, 43957, + 64843, 10431, 62460, 30856, 44590, 18822, 16489, 49557, 56682, 22599, 52931, 31452, + 63160, 35789, 22893, 2179, 29415, 50457, 45765, 8422, 31047, 19837, 61946, 23437, + 7875, 146, 4919, 48716, 6078, 56820, 3648, 34783, 24019, 15748, 23568, 17375, + 18503, 53719, 57950, 28408, 27555, 30629, 53168, 10299, 33082, 64384, 11221, 64336, + 44047, 53601, 58858, 63697, 53002, 6865, 20865, 6040, 62299, 50519, 29193, 7234, + 32221, 6305, 39142, 39908, 6734, 45536, 34253, 32815, 33790, 36194, 34448, 56613, + 55223, 64560, 55036, 58884, 51106, 36166, 23208, 47895, 14149, 10513, 21981, 25451, + 53380, 30989, 14352, 38878, 64422, 32676, 39197, 8197, 23979, 59619, 9684, 25177, + 60083, 43122, 8272, 40303, 29096, 15431, 44205, 58335, 10643, 2566, 58390, 51890, + 55617, 14669, 41007, 4424, 13673, 57110, 57254, 3566, 16639, 51292, 53480, 50513, + 14297, 32524, 47803, 15010, 38820, 46446, 64792, 14778, 39634, 23833, 8764, 31090, + 29333, 6226, 62616, 49811, 16284, 24964, 65066, 57023, 23496, 65383, 15997, 7830, + 55508, 59026, 38135, 28, 6207, 48963, 19773, 35509, 31820, 52720, 46826, 62562, + 31729, 24554, 2904, 53630, 49288, 32552, 37497, 64788, 1808, 49770, 54076, 24253, + 15974, 25448, 8359, 46872, 4151, 55822, 3487, 39415, 7090, 55166, 45061, 14507, + 13210, 53149, 30058, 58909, 5334, 39638, 26640, 38014, 25015, 23818, 8313, 15266, + 51063, 30024, 33582, 1022, 58617, 5717, 3131, 39875, 14124, 37384, 28711, 18219, + 18157, 29646, 63212, 8283, 46996, 24680, 31833, 22627, 61467, 64452, 34957, 11755, + 33716, 9670, 15125, 19169, 44009, 36711, 49680, 5412, 21638, 54693, 25765, 24450, + 7734, 1818, 56397, 32410, 19, 43568, 64085, 64705, 60187, 17696, 60982, 57509, + 25192, 2853, 6612, 26487, 33221, 21953, 50142, 3888, 52297, 4226, 54181, 54450, + 65323, 49901, 31733, 63355, 59736, 2805, 30831, 5017, 54353, 3206, 39974, 51740, + 35282, 7019, 17545, 36025, 42284, 41223, 31967, 35259, 23150, 27976, 56454, 34611, + 19747, 37368, 433, 32388, 50505, 61526, 24312, 9660, 32251, 18391, 1401, 37250, + 32168, 57069, 45014, 2002, 49596, 57170, 33720, 26172, 36789, 10427, 49974, 52538, + 29780, 18439, 34416, 17237, ])) .unwrap(), - c: 207, + c: 29, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 8, b: 9407325527306457431, c: 2933613952 }, - FixedTestStruct { a: 182, b: 8329657173333432997, c: 4042190449 }, - FixedTestStruct { a: 21, b: 6255070391095125444, c: 196984688 }, - FixedTestStruct { a: 218, b: 5821387191283060247, c: 1932683805 }, + FixedTestStruct { a: 195, b: 12761296427842794216, c: 2887424490 }, + FixedTestStruct { a: 19, b: 12673970782303023911, c: 1882120908 }, + FixedTestStruct { a: 33, b: 3414619537641842921, c: 803319402 }, + FixedTestStruct { a: 184, b: 15746415222302789656, c: 1398072405 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 7018, - b: List::::try_from(Vec::::from_iter([ - 43098, 46200, 50262, 46999, 38620, 18378, 44705, 64505, 12555, 5316, 45278, - 8567, 16568, 50442, 11392, 34878, 25044, 21481, 52692, 24747, 50889, 39004, - 34142, 18210, 11272, 30435, 2780, 19317, 32033, 1136, 16491, 50779, 17161, - 37607, 47108, 65311, 23368, 27166, 2544, 17356, 60532, 61886, 19133, 59978, - 42817, 40814, 27506, 15256, 61747, 57296, 7542, 9565, 22134, 59988, 53638, - 26366, 10813, 48368, 22652, 41466, 42593, 9637, 41948, 29650, 3157, 21270, - 25656, 6153, 52797, 5200, 11722, 3711, 60325, 51879, 36431, 46074, 36185, - 51780, 6497, 38753, 55377, 64343, 8718, 48211, 4583, 31556, 27408, 50439, - 18682, 35879, 57439, 57574, 44543, 35493, 61391, 25224, 31780, 18164, 7750, - 912, 16861, 1515, 22940, 58903, 63435, 35513, 49830, 57677, 27438, 24513, - 58430, 60512, 63885, 6852, 13701, 33348, 11290, 35936, 62340, 21992, 60689, - 16543, 20909, 50921, 30810, 10837, 22806, 50471, 45553, 1469, 16246, 16264, - 61992, 2710, 33427, 200, 63360, 6192, 19245, 53849, 5076, 18975, 57053, 22631, - 20837, 48718, 38675, 17891, 10227, 27507, 13473, 7658, 14031, 30338, 35614, - 24310, 64381, 23802, 50688, 16532, 20075, 65, 13796, 43567, 11667, 21859, - 33233, 45834, 53935, 64313, 37733, 10413, 19782, 14743, 52847, 33860, 28992, - 50819, 52612, 12418, 16090, 44274, 29020, 55372, 18466, 27080, 33037, 29604, - 40796, 58766, 4522, 65151, 27003, 53634, 47977, 18071, 19469, 41752, 5443, - 20514, 5068, 46750, 7703, 2691, 51603, 18774, 29130, 10980, 40952, 15347, - 32581, 26192, 22721, 24097, 62756, 60603, 13693, 2283, 45230, 11527, 11069, - 55505, 49452, 21545, 31080, 5669, 645, 9171, 64811, 28980, 36466, 9754, 31325, - 28452, 32917, 61039, 55538, 52336, 44011, 59914, 64405, 20922, 37363, 711, - 39954, 20905, 40614, 28166, 26512, 58331, 40876, 19178, 58990, 9518, 36534, - 154, 19401, 45594, 14112, 50823, 60155, 64095, 12960, 13214, 17408, 12175, - 40677, 29991, 16035, 6204, 59464, 25821, 19842, 129, 3678, 2367, 53323, 36515, - 1736, 38471, 622, 29744, 26822, 32214, 3415, 38173, 3336, 53438, 2858, 54691, - 35213, 21249, 46915, 21909, 24056, 25690, 4434, 48222, 51727, 33304, 49295, - 18984, 15650, 58793, 38766, 45265, 6952, 49299, 54158, 9497, 18353, 49520, - 59698, 43027, 18229, 17170, 57466, 22670, 26859, 18604, 31410, 54697, 26266, - 36123, 26021, 36147, 48347, 22383, 56231, 45105, 56189, 29249, 55500, 56529, - 25916, 51290, 37361, 30115, 17747, 19695, 58250, 24898, 54592, 22796, 54272, - 58544, 59344, 52296, 11445, 37480, 7282, 20367, 43167, 32914, 56855, 60674, - 59318, 38262, 36010, 55832, 23636, 56720, 38899, 1561, 26058, 223, 37389, - 24820, 61106, 57061, 46303, 1272, 17467, 33287, 45281, 12626, 25860, 14501, - 25588, 35362, 49506, 18178, 40631, 54615, 36053, 59387, 59725, 24238, 40121, - 48787, 32896, 16587, 22279, 30411, 58186, 22080, 9373, 19604, 14359, 55700, - 57974, 11658, 7238, 29661, 21531, 47095, 22997, 15085, 36567, 39716, 10495, - 430, 64646, 56191, 8794, 37306, 50710, 24088, 44783, 9759, 60690, 55937, 31269, - 64319, 30882, 36085, 20947, 57802, 869, 19771, 32766, 20648, 52946, 38537, - 42700, 28646, 58652, 20501, 31266, 31208, 24668, 35432, 21639, 36402, 32519, - 40154, 58588, 34345, 57750, 57376, 6833, 27861, 16917, 29216, 41765, 60382, - 54098, 18900, 32347, 11328, 3226, 55071, 49318, 62589, 41292, 17665, 40502, - 13921, 60323, 36986, 29224, 20147, 51648, 19556, 65145, 37584, 54410, 24026, - 13347, 61507, 61588, 27906, 65504, 8594, 18646, 49866, 9067, 51116, 6993, - 53976, 32466, 63395, 22242, 54383, 11331, 14678, 40780, 34177, 26991, 60359, - 17992, 43450, 6698, 16714, 30853, 52688, 50404, 5321, 4855, 3771, 65309, 6433, - 31790, 2963, 3606, 12865, 43293, 5611, 5135, 46963, 43906, 1616, 24725, 14402, - 32709, 55954, 23195, 40091, 11968, 10486, 52562, 21860, 37543, 15002, 44373, - 26694, 28590, 47720, 63765, 34019, 49263, 23025, 17439, 57757, 56990, 17009, - 34978, 30805, 18471, 8836, 654, 48527, 35306, 12660, 46504, 14148, 13913, - 46466, 53818, 63112, 18550, 30159, 9301, 5362, 52023, 33217, 38581, 45924, - 7974, 12803, 63798, 5798, 7985, 48463, 45834, 54081, 61285, 32821, 18812, - 42408, 3165, 39051, 57071, 39040, 11792, 42107, 48688, 57379, 37237, 33795, - 40107, 59746, 59506, 35266, 54010, 58902, 33580, 23866, 33435, 32962, 40398, - 55618, 61761, 36025, 23562, 27145, 9438, 43715, 25561, 38858, 50719, 63935, - 33690, 14547, 4975, 41583, 13237, 12707, 7971, 63141, 63796, 21324, 35296, 740, - 50344, 31799, 1734, 23705, 24915, 36553, 43456, 34202, 46971, 16967, 50430, - 52358, 19881, 15126, 63764, 52518, 56362, 24298, 63997, 25767, 33518, 2220, - 13098, 63530, 29121, 51470, 2202, 13616, 20929, 39972, 32215, 5589, 58690, - 20307, 28460, 34611, 10796, 41282, 55431, 15931, 10424, 14829, 45864, 41277, - 14379, 25110, 24057, 5549, 52787, 48504, 63914, 44452, 62850, 37495, 53989, - 41185, 59128, 28312, 1502, 31600, 4989, 9797, 58866, 30819, 1798, 57517, 39721, - 31914, 34246, 22870, 16037, 56088, 556, 50712, 17845, 48969, 13382, 65306, - 21072, 10189, 46615, 25768, 24024, 49747, 20412, 55951, 2021, 60814, 43975, - 51108, 13766, 35391, 60542, 37828, 40526, 29043, 34807, 13952, 38863, 60373, - 1743, 1198, 53116, 49804, 35983, 28428, 15515, 59619, 61398, 16918, 52307, - 19343, 53872, 49687, 58015, 4287, 37269, 9218, 17093, 1389, 47269, 27012, - 16045, 4215, 36546, 23671, 7078, 12631, 6591, 16903, 24848, 48093, 42199, 1891, - 13553, 46915, 45022, 61592, 62244, 19226, 29493, 8982, 62806, 6589, 2322, - 54202, 29447, 39963, 17710, 20136, 27832, 25209, 546, 58036, 10959, 38263, - 46087, 3538, 44747, 48477, 17069, 41980, 23332, 30470, 39352, 35748, 59229, - 42149, 54606, 38011, 26360, 26286, 16283, 20205, 14543, 34091, 49148, 36856, - 31008, 44862, 20764, 65200, 64769, 3928, 4407, 13162, 59320, 45164, 11184, - 48751, 19951, 4400, 35780, 5351, 3198, 9999, 20930, 13433, 1476, 31354, 16076, - 45839, 58665, 37397, 59184, 17508, 30483, 63018, 2980, 10620, 63414, 31792, - 30726, 53831, 53535, 13653, 55001, 57378, 50809, 59009, 31528, 16231, 46285, - 6986, 26841, 17511, 29374, 59738, 57325, 1565, 64660, 10472, 17325, 3456, - 37583, 44340, 10072, 33685, 29960, 56476, 47911, 63897, 12783, 3474, 35717, - 49731, 58217, 4750, 26266, 52660, 24864, 38589, 42348, 14894, 48343, 44401, - 10977, 20286, 59494, 35009, 63663, 35439, 26493, 9537, 39135, 44394, 35160, - 53240, 11665, 7515, 62431, 63664, 47147, 33763, 31681, 18924, 60501, 5647, - 47825, 62901, 36809, 13301, 63003, 63395, 45775, 837, 12745, 3684, 56930, - 56744, 65166, 57999, 206, 14846, 56101, 8860, 29970, 22845, 32931, 31349, - 37328, 40238, 15053, 33701, 31547, 51327, 28558, 27800, 40148, 16370, 24419, - 12401, 15367, 44293, 51437, 52488, 39230, 39794, 63832, 7968, 29063, 54310, - 5150, 23537, 56930, 20838, 31438, 19967, 54908, 47290, 29820, 7467, 53824, - 55384, 14138, 22305, 6108, 38807, 37503, 4279, 33530, 29331, 51855, 36139, - 47840, 9528, 48174, 41430, 51015, 38738, 34687, 9490, 54679, 57138, 45660, - 53303, 64637, 4275, 63961, 46342, 23412, 29627, 61697, 22324, 30255, 63916, - 47755, 58401, 17967, 21088, 59836, 56763, 5464, 36602, 35741, 34564, 5548, - 13056, 39975, 14237, 21837, 65337, 51652, 4385, 26520, 17356, 53348, 22154, - 39463, 19833, 43318, 43823, 61335, 33575, 32186, 47874, 61236, 50058, 50230, - 53043, - ])) - .unwrap(), - c: 132, - }, - VarTestStruct { - a: 60230, + a: 59603, b: List::::try_from(Vec::::from_iter([ - 48625, 39218, 40689, 38688, 40060, 28479, 14797, 32969, 20063, 21210, 53756, - 56938, 27073, 8282, 18402, 30525, 17473, 44106, 30268, 20699, 57653, 4455, - 51446, 63986, 56054, 37298, 4258, 50768, 34993, 27755, 50588, 12788, 41791, - 3753, 31929, 7424, 61495, 51548, 37814, 24743, 46080, 37721, 47836, 30008, - 54222, 2715, 42764, 18282, 60523, 46264, 50187, 51469, 30011, 29056, 6288, - 27896, 28623, 59896, 15567, 32117, 55484, 7336, 20108, 7682, 11590, 33554, - 11922, 4708, 64571, 53943, 37648, 42193, 64556, 29042, 28758, 43466, 58098, - 43723, 63964, 42841, 29337, 50593, 31251, 20852, 42913, 5795, 58071, 61019, - 59786, 3437, 6742, 63808, 50631, 53363, 19337, 34405, 51682, 63309, 48657, - 28202, 39025, 42702, 34838, 19773, 32396, 29502, 23607, 61313, 26073, 41212, - 19723, 57508, 10083, 55123, 9289, 14482, 60359, 52796, 36081, 61694, 56031, - 18754, 12884, 53179, 38364, 18307, 40777, 59375, 429, 761, 50366, 9602, 41859, - 10209, 35978, 40516, 38156, 54857, 52903, 30324, 27715, 18551, 3045, 62645, - 49957, 3987, 6781, 64601, 45195, 43030, 1462, 32801, 60393, 8807, 37199, 49932, - 30469, 46832, 26, 10553, 52584, 17851, 63480, 19134, 59981, 9008, 62017, 13372, - 29155, 30976, 8908, 60005, 52622, 64231, 48245, 37044, 29679, 7430, 59299, - 18119, 46458, 49331, 18060, 25177, 26831, 8580, 23630, 14623, 200, 38949, - 15451, 48700, 17188, 21655, 58800, 31799, 12154, 53133, 3322, 7057, 42360, - 22721, 60186, 56545, 28018, 13595, 51872, 20606, 38725, 39320, 28178, 11912, - 11044, 53548, 25851, 45456, 15658, 29010, 51291, 63882, 17578, 35256, 56382, - 29370, 53327, 41196, 18449, 43822, 31787, 2172, 30364, 22029, 62721, 12992, - 62990, 24444, 16328, 36418, 2799, 28662, 9518, 61953, 17105, 36252, 46239, - 51004, 54857, 43928, 6110, 300, 5101, 41749, 48744, 3324, 946, 41271, 62515, - 25838, 9751, 4924, 1459, 740, 1251, 2411, 53147, 24539, 39790, 45150, 28968, - 59561, 5564, 27254, 17882, 3238, 17209, 8961, 24259, 4488, 10522, 33221, 48805, - 61225, 54440, 26345, 36582, 22590, 64970, 33054, 21834, 17554, 19140, 46253, - 48, 13262, 38541, 38394, 2693, 53230, 9192, 4955, 57444, 1217, 39122, 32834, - 61081, 2482, 62447, 50413, 18598, 11686, 59910, 34317, 57503, 2159, 50574, - 12696, 57089, 10918, 11733, 56551, 20996, 19357, 28449, 41928, 2702, 12287, - 63175, 48539, 28440, 8058, 4304, 38971, 19335, 35301, 18553, 18717, 56490, - 37832, 57320, 58904, 41535, 39084, 17171, 782, 10658, 29739, 48517, 52219, - 11377, 45427, 14311, 57271, 59781, 20654, 26667, 2963, 17075, 58717, 27238, - 17407, 49658, 17268, 62331, 44353, 4758, 8821, 61029, 56207, 33050, 52965, - 18927, 16860, 56918, 3119, 38679, 41920, 21268, 8342, 39832, 25697, 61270, - 62830, 46088, 52734, 59674, 22098, 46789, 25670, 11498, 57195, 56983, 30984, - 51068, 40006, 62993, 22589, 11572, 21959, 45883, 37821, 33381, 12333, 38541, - 34350, 34311, 63663, 26190, 41436, 43652, 21907, 58079, 19510, 56504, 37258, - 46240, 55747, 39917, 32726, 3615, 58318, 61278, 16443, 3649, 57628, 24445, - 31454, 31581, 21837, 15542, 54959, 61187, 54795, 24413, 63975, 21751, 23949, - 63634, 1835, 50662, 1561, 35842, 28912, 20722, 43761, 41155, 33593, 11124, - 22161, 10980, 30406, 62151, 42315, 43447, 60719, 45085, 59308, 11344, 41296, - 34139, 22241, 41415, 12101, 35684, 62291, 43687, 11610, 16837, 5779, 39962, - 15327, 34523, 29912, 24449, 12825, 13327, 54841, 35347, 34058, 62120, 59854, - 22410, 28718, 8927, 55282, 62494, 37868, 57692, 64239, 64124, 60187, 61116, - 345, 51320, 36763, 42453, 14900, 32755, 58781, 26293, 27779, 45923, 18447, - 4991, 467, 49526, 4266, 15726, 7463, 47461, 37563, 38099, 19962, 54002, 63104, - 13743, 23438, 53938, 45720, 576, 57555, 5850, 13332, 34899, 26143, 2083, 35890, - 57293, 56259, 16253, 6193, 14598, 62369, 55203, 53559, 13975, 92, 43783, 18455, - 29743, 17919, 25238, 4456, 49722, 49024, 18851, 27317, 5999, 46856, 52203, - 44748, 50270, 42993, 22117, 12760, 32564, 54815, 29622, 14478, 46560, 18835, - 26309, 4059, 57162, 30070, 7984, 47583, 34280, 9480, 52899, 21655, 62443, - 17375, 60322, 43671, 60129, 51501, 55440, 63956, 4958, 64271, 63939, 2538, - 18437, 46976, 37326, 19379, 42426, 36156, 19193, 56467, 270, 4980, 58745, - 35117, 3933, 92, 12900, 31402, 58370, 6080, 32852, 30705, 27404, 29138, 16907, - 23917, 16975, 48484, 1421, 10160, 30783, 64215, 39743, 54494, 49319, 14345, - 26466, 8292, 19030, 57511, 32333, 61805, 2761, 45783, 709, 13581, 13161, 62803, - 60778, 56223, 49022, 64397, 15284, 12257, 40286, 18770, 36208, 10372, 30645, - 59991, 648, 17640, 16542, 14129, 32407, 58, 3817, 53913, 24513, 48190, 807, - 6010, 60183, 33436, 27063, 32277, 32297, 35879, 37183, 26000, 42937, 35067, - 5590, 25716, 25910, 332, 36604, 55407, 12884, 56579, 57708, 42199, 40857, 5035, - 43459, 8017, 27155, 56986, 42047, 63491, 28770, 17823, 64036, 50015, 11934, - 60994, 51679, 22233, 35129, 50450, 54561, 27758, 2630, 48575, 55503, 51060, - 44271, 29615, 37625, 4085, 42005, 32484, 30992, 29733, 20919, 60265, 26015, - 38753, 11279, 27339, 62615, 34569, 57073, 40002, 31325, 42099, 42843, 43942, - 52321, 12137, 65101, 32204, 44611, 3228, 29627, 5595, 26584, 59241, 39916, - 24623, 53918, 26011, 50199, 62328, 36200, 49780, 6221, 62607, 60162, 48885, - 5170, 29493, 56284, 13757, 29990, 51687, 53108, 22293, 10059, 5001, 2481, 1444, - 41176, 13969, 951, 41744, 40716, 39172, 43043, 57489, 48285, 63488, 11757, - 16429, 38927, 38194, 6631, 58747, 28307, 19347, 37029, 20747, 54507, 21434, - 30300, 19020, 50754, 14953, 56542, 25494, 1792, 2491, 46365, 56394, 23094, - 14540, 49144, 64003, 2859, 36132, 17045, 63916, 11508, 57869, 52249, 8432, - 6279, 5662, 14002, 57781, 60233, 35301, 8118, 2631, 63339, 31750, 45533, 27351, - 45286, 4325, 62904, 332, 19373, 55217, 1263, 16834, 49570, 41914, 12410, 65275, - 6623, 1058, 44509, 16173, 62906, 59682, 23913, 53458, 8046, 53755, 56508, - 21915, 38855, 4355, 4121, 673, 43372, 19767, 36153, 22687, 38756, 28169, 48513, - 37608, 514, 45854, 6406, 28690, 33712, 57309, 35338, 3063, 21940, 7027, 53192, - 59745, 12031, 39588, 25609, 47072, 19534, 36125, 19641, 49482, 27357, 48433, - 45573, 48973, 53000, 19103, 22494, 35025, 19796, 56519, 55867, 13066, 17967, - 33728, 34408, 42385, 64838, 40090, 12389, 2320, 26085, 60917, 18845, 51572, - 40816, 22764, 51406, 11156, 2240, 6265, 33196, 55882, 26416, 58626, 26985, - 5084, 28750, 748, 53009, 14592, 27065, 22269, 21131, 14943, 25655, 11630, 8112, - 12518, 4725, 670, 40380, 49609, 10272, 5187, 15117, 19681, 21505, 4185, 8610, - 65478, 27779, 28384, 41950, 63892, 59443, 44106, 62648, 57753, 30321, 897, - 28356, 39983, 9255, 41966, 23375, 60510, 18161, 17789, 11601, 32797, 41758, - 26861, 51502, 64068, 23663, 16515, 1337, 9318, 28494, 63971, 828, 37694, 63851, - 11364, 49195, 30987, 51010, 23361, 19134, 32136, 1988, 33256, 17850, 51762, - 20238, 33863, 30142, 20972, 65160, 52956, 60571, 53271, 43459, 27579, 1863, - 3167, 18845, 2970, 63740, 21140, 4759, 22464, 1785, 31667, 8635, 44831, 6888, - 45138, 29365, 65350, 54096, 13327, 42212, 7626, 9877, 28042, 57482, 14523, 84, - 62177, 14732, 53754, 56472, 16326, 31686, 16353, 25286, 41969, 42352, 13278, - 42273, 47367, 29562, 23245, 26554, 42062, 26726, 44714, 4391, 51325, + 32555, 6951, 50572, 22224, 8940, 23887, 8110, 19497, 40585, 19188, 9199, 28058, + 65172, 57001, 57948, 52533, 38482, 17902, 56435, 57614, 65235, 33314, 43045, + 38631, 2514, 20459, 43865, 34604, 35112, 7858, 16123, 25205, 57679, 4584, + 16379, 32166, 40434, 9628, 7050, 56118, 14150, 50349, 5899, 5721, 34903, 32441, + 38963, 31056, 50352, 60559, 44517, 43804, 40428, 423, 20746, 27298, 62335, + 42130, 34536, 37995, 10595, 57961, 15025, 53031, 39107, 4099, 23979, 10236, + 61260, 53243, 1255, 27135, 26691, 7103, 41772, 24018, 19562, 15179, 3812, + 33826, 53711, 54390, 54615, 45445, 58186, 1565, 37660, 60679, 6029, 14790, + 4061, 38297, 63426, 7267, 51201, 26508, 63662, 39794, 14796, 51008, 60872, + 10539, 16107, 61544, 14484, 43177, 9993, 50490, 56, 21463, 34077, 64095, 52160, + 31645, 38462, 53550, 50495, 33083, 34812, 24862, 30438, 64424, 1797, 43080, + 35597, 8346, 55352, 49059, 16591, 22075, 65320, 29314, 8808, 57206, 42609, + 29876, 16656, 19969, 25616, 33972, 32121, 25619, 24502, 31507, 43034, 19442, + 1148, 51048, 34445, 52750, 18118, 29129, 2471, 23860, 24712, 13906, 15225, + 21996, 8751, 26673, 53714, 98, 50022, 59277, 23850, 61933, 57970, 63323, 40246, + 8178, 8698, 52332, 48459, 52137, 19278, 3691, 10697, 38145, 2432, 5753, 45498, + 17970, 35019, 52471, 39660, 7042, 25418, 32424, 29996, 55275, 26112, 13750, + 4991, 25536, 31569, 176, 24423, 14000, 4374, 15940, 4543, 58677, 38192, 10291, + 27013, 25245, 45960, 31662, 60867, 27754, 35166, 26955, 23168, 42154, 48111, + 51062, 28215, 63411, 10599, 48798, 9981, 44981, 35445, 57532, 62414, 32331, + 59055, 29925, 13505, 45525, 20918, 6693, 21915, 43765, 40092, 47072, 10373, + 23564, 48277, 63791, 48451, 5148, 26064, 2325, 54198, 42144, 22055, 31395, + 48771, 602, 60464, 65410, 54684, 10686, 45301, 8559, 60409, 36792, 3709, 5956, + 7275, 61093, 49095, 61150, 23305, 16769, 46875, 38064, 37379, 36127, 47063, + 12256, 59735, 32214, 54248, 7673, 37830, 20555, 60339, 28790, 40153, 64469, + 35805, 38537, 27878, 35313, 63873, 25595, 14281, 6740, 60573, 40833, 18686, + 50480, 33269, 58, 34612, 62347, 46093, 51400, 17526, 35823, 3326, 47088, 5613, + 8689, 61300, 44550, 8830, 19441, 56156, 46454, 4049, 25493, 37046, 62058, + 58793, 29674, 46739, 26886, 49496, 59863, 466, 21910, 18578, 52274, 47521, + 19608, 32199, 19028, 59475, 32305, 51186, 42069, 54069, 35050, 28362, 54363, + 16242, 62948, 35800, 3226, 11169, 26504, 11985, 19642, 5561, 2337, 43575, + 64748, 45468, 33308, 52900, 1532, 22270, 1872, 28702, 48401, 47184, 15614, + 10122, 54822, 2406, 47694, 44148, 45951, 26058, 49340, 19038, 50420, 52595, + 28442, 21245, 55588, 43897, 61593, 51522, 56492, 27412, 34380, 62678, 59983, + 47641, 65264, 1257, 41159, 16323, 36624, 47825, 48354, 19801, 56083, 53431, + 47516, 17203, 28556, 64606, 1512, 19599, 53595, 40077, 6598, 46178, 8422, + 57980, 56749, 28200, 55162, 40004, 16246, 50986, 10648, 30123, 17775, 53060, + 40405, 45474, 50210, 27918, 13003, 43357, 43252, 7911, 16395, 31654, 20035, + 12020, 5361, 12695, 61963, 64635, 38962, 54744, 45917, 29535, 14528, 34920, + 29044, 2282, 5403, 19590, 47622, 32622, 13506, 28025, 17538, 31096, 58832, + 33990, 54334, 33274, 6197, 40211, 29261, 16189, 27645, 41335, 27622, 53756, + 57238, 16726, 46796, 18955, 17191, 43581, 50396, 33605, 4162, 28381, 5738, + 62584, 34939, 43171, 10321, 14738, 60163, 4264, 64826, 17311, 32040, 40893, + 4978, 45598, 26120, 14936, 43159, 42969, 6577, 61407, 12, 24231, 5284, 11584, + 36634, 46751, 47742, 18894, 29608, 45459, 15448, 4371, 23609, 51974, 65036, + 8730, 46289, 23470, 35081, 17172, 55918, 12356, 36378, 22974, 6110, 60290, + 46523, 56952, 38325, 35933, 397, 44374, 17823, 60707, 49223, 16277, 23413, + 50300, 65298, 25917, 13005, 33025, 43111, 63748, 33860, 11642, 63902, 5394, + 1520, 43878, 65441, 6202, 26809, 45849, 37639, 46081, 38782, 48567, 6142, + 16020, 38015, 36381, 56371, 9490, 62238, 37361, 53992, 1390, 11540, 7024, + 27149, 34292, 48200, 42812, 55348, 56125, 6192, 26578, 9888, 23406, 25770, + 14393, 38712, 8597, 9063, 14813, 22904, 28645, 59603, 30594, 61255, 60019, + 43830, 56909, 7118, 1212, 32458, 42248, 7391, 46466, 2889, 41957, 15093, 37069, + 14909, 7474, 63662, 16556, 10616, 8949, 40365, 13314, 55335, 50363, 8240, + 62359, 39688, 34262, 47477, 47984, 61616, 44848, 12957, 60327, 18, 38326, 2745, + 12850, 33913, 56843, 7479, 50339, 23174, 21308, 48737, 2566, 54712, 62702, + 59327, 290, 31918, 21623, 28863, 61358, 11495, 45363, 18259, 41186, 54515, + 11018, 31503, 40982, 8163, 15062, 36178, 50843, 46175, 43219, 6078, 28819, + 9100, 59162, 46627, 38023, 1471, 65237, 23564, 7536, 10985, 9745, 57889, 39903, + 51477, 17224, 1925, 30472, 34702, 49312, 29633, 44804, 1208, 59965, 7626, + 18533, 16651, 61231, 26530, 6559, 46253, 3629, 53646, 21616, 60110, 12423, + 44598, 61403, 20772, 16282, 40453, 55534, 12239, 18017, 31444, 51462, 744, + 23677, 44739, 54585, 48998, 16591, 15585, 55108, 29194, 769, 44523, 25073, + 39706, 29066, 24488, 17966, 23633, 34955, 62101, 51857, 61407, 34230, 19611, + 26816, 54204, 18661, 56852, 30591, 6214, 61434, 62058, 51051, 39819, 36900, + 38931, 56262, 3074, 55153, 55498, 8516, 21670, 8835, 9736, 24099, 65002, 31984, + 5801, 61753, 49081, 34540, 518, 28325, 47206, 35256, 46470, 50620, 11422, + 36873, 18654, 13736, 4952, 35377, 28190, 27302, 36840, 20173, 40214, 52795, + 21658, 55606, 51358, 32699, 53616, 39807, 25590, 623, 9440, 6050, 58378, 5000, + 35871, 5214, 20704, 61592, 57382, 17168, 21764, 43290, 6057, 42156, 44750, + 23605, 36665, 27025, 15394, 43981, 2911, 7879, 1445, 25235, 5647, 36923, 44412, + 63652, 934, 8045, 41757, 29761, 63744, 23077, 60112, 44499, 54419, 31602, + 35909, 40106, 46986, 20871, 42020, 55308, 29708, 26132, 35777, 63306, 29416, + 3186, 40034, 50396, 59203, 49355, 64890, 51563, 49885, 12580, 45342, 45157, + 55212, 5027, 64849, 61394, 64895, 48287, 34615, 9372, 39697, 44671, 19061, + 51205, 46592, 14707, 64694, 63979, 36520, 20676, 31552, 17586, 60269, 61560, + 60432, 25505, 50105, 6625, 32858, 64649, 39464, 28539, 36736, 17429, 18505, + 47968, 8997, 5367, 11278, 15762, 49201, 27725, 40872, 6749, 20917, 65363, + 52373, 55711, 26513, 24831, 47680, 20765, 6527, 46435, 25733, 24390, 60748, + 5459, 24758, 16969, 36561, 2829, 43569, 19169, 42499, 18077, 9828, 37828, + 55781, 33540, 31670, 25721, 64314, 47955, 36728, 29279, 44298, 49585, 32103, + 33404, 38633, 28831, 1002, 55548, 4295, 21202, 51081, 60470, 47398, 34644, + 41037, 19359, 42690, 61865, 38745, 8373, 12662, 63677, 44747, 20729, 38916, + 4625, 30786, 9785, 55645, 3578, 31271, 51958, 42699, 40560, 38272, 11746, + 31227, 52597, 1107, 49585, 6466, 24405, 11112, 22526, 52384, 10598, 63891, + 28437, 61450, 49464, 14070, 8558, 29331, 31241, 28094, 29861, 51526, 42197, + 38738, 48432, 32715, 19778, 51040, 23971, 30532, 10477, 23001, 33618, 38556, + 368, 45725, 48444, 33735, 260, 28487, 21771, 17373, 26994, 18729, 16045, 19632, + 2879, 3659, 4333, 4691, 60823, 64568, 36164, 36938, 41995, 738, 44671, 36895, + 48146, 25920, 43925, 11155, 26582, 58657, 35210, 22280, 4692, 30636, 58529, + 40583, 46503, 32367, 31444, 35553, 32327, 57254, 39017, 65293, 25680, 26718, + 28711, 45709, 36275, 4101, 20048, 46338, ])) .unwrap(), - c: 98, + c: 16, + }, + VarTestStruct { + a: 5786, + b: List::::try_from(Vec::::from_iter([ + 58401, 46485, 1237, 17074, 22530, 22611, 52257, 13923, 55377, 33883, 6392, + 10995, 64467, 28395, 59341, 42377, 47079, 50632, 56161, 38321, 13454, 737, + 18405, 25244, 6408, 50506, 46780, 45005, 60788, 11519, 59926, 37052, 17052, + 50107, 2696, 20579, 34739, 27507, 42827, 54510, 16336, 27825, 44546, 52107, + 31783, 3170, 40647, 44638, 62135, 2238, 34650, 35468, 64379, 26663, 47443, + 40926, 54118, 4767, 63106, 58786, 53068, 2680, 62513, 23403, 6838, 63133, + 35601, 23714, 24163, 12017, 3115, 37840, 27516, 21100, 51461, 20195, 4079, + 43847, 58071, 20340, 29931, 34663, 27531, 47937, 49931, 53811, 3156, 16832, + 5192, 1208, 15984, 38414, 26709, 38697, 37723, 43504, 63825, 37628, 27949, + 28649, 30779, 26741, 7999, 47204, 23496, 46556, 11988, 37012, 44527, 41037, + 2995, 25969, 13513, 32940, 15656, 7241, 10182, 35917, 62152, 2350, 5252, 1376, + 33410, 32216, 55911, 41632, 48038, 43026, 17463, 25043, 25691, 54863, 4124, + 9207, 23127, 1496, 24270, 39146, 17457, 33010, 35796, 16125, 14818, 31247, + 9582, 37167, 60345, 27423, 31850, 24419, 134, 30137, 42526, 5533, 61911, 43742, + 3151, 3568, 59927, 54767, 682, 14363, 13064, 10753, 23819, 24559, 10599, 50147, + 22424, 27225, 35495, 46984, 1547, 51606, 26797, 6944, 48977, 21383, 36682, + 17257, 58524, 37537, 6292, 13237, 11388, 25438, 1028, 19428, 33685, 1673, + 22162, 51289, 29338, 5324, 19239, 28996, 27978, 11495, 37322, 61214, 60518, + 53692, 16162, 12007, 65394, 51581, 25195, 64768, 38120, 53233, 11522, 3270, + 50521, 58336, 41072, 3369, 8807, 41699, 61695, 14649, 35360, 32608, 27106, + 54000, 42333, 29146, 42069, 26012, 45646, 7677, 7521, 4859, 7316, 40522, 28403, + 5648, 23517, 49669, 56245, 60873, 62433, 24602, 41910, 16340, 13351, 56608, + 42398, 34357, 25422, 52636, 25170, 417, 7256, 33991, 18427, 43635, 3645, 4757, + 36971, 48577, 19203, 30254, 57154, 13776, 15859, 24590, 25663, 16398, 10713, + 23710, 64463, 823, 60595, 52016, 6003, 1742, 44991, 13081, 9523, 29960, 8780, + 56274, 18449, 22438, 18441, 28444, 17105, 48310, 16396, 64228, 7447, 10484, + 29183, 13342, 11614, 60915, 17828, 64706, 48130, 16611, 19641, 51069, 26638, + 53977, 62047, 39282, 18482, 28789, 27542, 23231, 32929, 53047, 3158, 11554, + 5914, 4712, 6191, 56695, 64901, 31029, 61644, 35931, 35065, 15166, 33621, + 55023, 29535, 58116, 59766, 59912, 7073, 1628, 3989, 3011, 52377, 39337, 23248, + 56146, 42298, 8311, 48064, 39448, 33221, 56886, 37886, 23117, 41820, 18514, + 43084, 57571, 42801, 64705, 23064, 38965, 52318, 15321, 32045, 18007, 43595, + 33995, 18948, 16935, 28610, 811, 38382, 40453, 51553, 14549, 6674, 7525, 48768, + 20325, 22874, 49898, 50363, 458, 50296, 50416, 53963, 42730, 55707, 8585, + 38755, 44274, 25992, 45332, 32627, 27195, 52705, 43169, 62862, 2972, 1050, + 40036, 31973, 9792, 31252, 54336, 7102, 23920, 7027, 52957, 63020, 39772, + 50605, 33707, 5270, 23862, 5273, 51305, 20562, 57447, 58369, 402, 52219, 23276, + 13863, 55540, 57393, 41053, 37607, 19528, 24279, 61043, 60296, 54127, 22746, + 1713, 35477, 20111, 41429, 43200, 10211, 29437, 25420, 48882, 28090, 47058, + 41612, 46742, 60292, 51491, 18475, 12454, 41278, 34394, 35323, 7648, 45614, + 52661, 58889, 12312, 52815, 34354, 31618, 41895, 52112, 11397, 22636, 33519, + 8166, 26272, 27852, 7876, 15946, 24185, 16149, 14805, 10308, 53518, 43399, + 55444, 27086, 61285, 3111, 41737, 59330, 22950, 23836, 31082, 17731, 55202, + 16137, 9192, 23698, 27560, 21070, 52076, 40505, 2615, 20270, 58800, 38554, + 44240, 20352, 40128, 36570, 36835, 39643, 39620, 39216, 25109, 14784, 41444, + 21193, 2972, 40059, 37257, 34406, 21516, 62734, 62599, 28427, 11962, 6871, + 54057, 16425, 58340, 19192, 49631, 60946, 40881, 10275, 57394, 55867, 48517, + 3039, 13460, 13023, 31371, 14375, 25356, 17889, 45250, 30112, 62648, 50622, + 35391, 32286, 47361, 48922, 55549, 28726, 3354, 3938, 19604, 61518, 34189, + 60661, 29150, 58155, 21608, 43699, 19276, 42091, 1189, 14131, 51064, 26034, + 60731, 15708, 58057, 46961, 15862, 45035, 29246, 32967, 23824, 42076, 10941, + 55553, 24091, 34266, 27166, 9670, 28724, 2123, 45544, 4942, 48500, 62629, + 34812, 54384, 11617, 11998, 60805, 13302, 12031, 12370, 35054, 6548, 49073, + 37233, 47261, 55086, 50590, 22249, 42645, 49534, 31196, 37595, 46103, 6203, + 31106, 7245, 26489, 17844, 23990, 24621, 29538, 33754, 37518, 35762, 8991, + 11419, 53207, 46282, 1284, 35509, 20114, 36689, 58613, 5696, 3422, 22642, + 57131, 19932, 33128, 41379, 28053, 61073, 11967, 57209, 34679, 62326, 10918, + 21904, 14194, 2225, 56977, 30220, 10115, 63881, 43814, 7710, 8799, 11829, + 22807, 4803, 25657, 3377, 1723, 12016, 40135, 5296, 50273, 242, 34377, 10341, + 18796, 46874, 38375, 379, 18617, 15855, 5454, 44998, 35204, 62618, 62286, + 44038, 65183, 39086, 40888, 34380, 28185, 61001, 57044, 47519, 29272, 25401, + 3437, 47316, 54541, 2763, 32002, 60732, 9661, 6789, 62114, 59548, 23666, 7161, + 44235, 41607, 36493, 27855, 34088, 17140, 30747, 31103, 59305, 29223, 33655, + 21726, 36754, 8307, 40703, 51135, 15813, 20880, 6404, 32667, 8425, 59519, + 18332, 18948, 25627, 45792, 58338, 33954, 33594, 23873, 13799, 31970, 46032, + 33780, 18976, 4855, 18039, 22501, 22406, 64332, 11578, 60200, 4796, 20627, + 5198, 9665, 21927, 58535, 15766, 41385, 6075, 59241, 552, 14657, 32652, 16013, + 16029, 10856, 34036, 29905, 53576, 15550, 64833, 53891, 59673, 13528, 53561, + 18531, 49798, 32272, 36758, 44806, 47467, 61081, 43536, 8198, 4170, 58183, + 34343, 38198, 42480, 37755, 18937, 58967, 3199, 24466, 27268, 48745, 52115, + 52721, 34639, 51648, 53110, 43853, 64855, 64729, 10939, 58916, 5459, 5033, + 52767, 36858, 18914, 61433, 9316, 7380, 27525, 15665, 57200, 43569, 18467, + 17025, 37654, 62171, 39351, 39862, 38001, 62430, 23042, 28186, 58116, 10544, + 20580, 28645, 49998, 33692, 47575, 38594, 23800, 40033, 20470, 42262, 19159, + 54426, 5745, 25626, 46213, 24322, 11728, 15439, 50694, 40192, 17666, 24334, + 2874, 19884, 17855, 8428, 48459, 63581, 39729, 23958, 32635, 52995, 17374, + 34609, 61448, 44243, 29247, 8962, 363, 35829, 61652, 58399, 27113, 44842, + 28927, 59727, 45899, 9383, 33402, 59459, 63526, 20264, 49109, 42427, 20724, + 19122, 22984, 15652, 49295, 11231, 9470, 11575, 51400, 19845, 52295, 6438, + 13057, 18674, 647, 40418, 9938, 30171, 58704, 6455, 27941, 63398, 61967, 63456, + 38324, 31057, 36752, 43326, 8609, 37027, 2575, 29213, 61093, 45116, 44805, + 39165, 61302, 31229, 43180, 54284, 1557, 2608, 53008, 61009, 53177, 4301, 3693, + 9319, 44616, 49357, 39931, 47370, 54760, 51922, 20368, 20896, 50774, 52674, + 56214, 24732, 26686, 14896, 27795, 11325, 7210, 53181, 7999, 43370, 16462, + 32422, 21029, 48630, 37161, 53799, 52386, 8978, 10691, 30417, 24351, 42183, + 7800, 64842, 26405, 58252, 51219, 52176, 26003, 11120, 17181, 23312, 36368, + 32038, 435, 1151, 33909, 46525, 21177, 49468, 54791, 1893, 37380, 31101, 61726, + 29669, 35878, 48004, 25201, 12677, 7559, 6537, 15745, 18667, 11748, 37462, + 45069, 62519, 36700, 31561, 38448, 60654, 55431, 40503, 34122, 20712, 42695, + 39392, 61526, 55581, 49397, 62572, 30724, 29040, 62494, 12425, 25717, 51809, + 39771, 65479, 2580, 6646, 65271, 34779, 25945, 28351, 2503, 38629, 36565, 6771, + 11388, 20433, 37634, 23150, 18954, 23982, 54839, + ])) + .unwrap(), + c: 234, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_9/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_5/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -9604,387 +4387,351 @@ fn test_containers_complex_test_struct_lengthy_9() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("4f851814990c1305f4686cda352ec5c2313a0dff0d960a7a900ce1e2e90f8150"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_max() { - let mut value = SingleFieldTestStruct { a: 255 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_random_4() { - let mut value = SmallTestStruct { a: 32745, b: 8462 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("864908308d350be5c4591f067a662751434af440702d06685f8a652c07f6c12a"); + root_from_hex("0x71f26676fcb2b61cf22eaea122ab77a053ed19309f5af3ba56dc94d33c540b55"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_lengthy_7() { +fn test_containers_complex_test_struct_lengthy_6() { let mut value = ComplexTestStruct { - a: 30521, + a: 3811, b: List::::try_from(Vec::::from_iter([ - 10757, 35890, 12515, 50368, 25758, 35190, 25950, 21021, 49712, 38881, 38680, 30011, - 4064, 55981, 47138, 59921, 45521, 20265, 14741, 11262, 8367, 64030, 10448, 40723, - 62505, 3639, 55780, 61641, 41167, 16656, 8119, 15105, 15914, 52091, 53317, 33987, - 58752, 30803, 35976, 39145, 11730, 61249, 44559, 6939, 27626, 52987, 15022, 18764, - 12586, 35713, 15780, 13105, 12997, 55555, 36315, 58098, 28815, 12879, 22618, 32975, - 28616, 6821, 42723, 10854, 41342, 4193, 26184, 2580, 21194, 47861, 65451, 45510, 62093, - 62855, 20637, 29736, 3043, 145, 54436, 43015, 52293, 50082, 36481, 59583, 21178, 17853, - 11801, 12943, 3584, 45978, 54013, 37949, 39997, 32388, 36428, 17725, 39198, 7599, - 60281, 29528, 14864, 19332, 48578, 40088, 27335, 42630, 8360, 35401, 58522, 18576, - 20625, 6665, 50698, 46374, 18421, 37370, 48564, 42619, 27550, 29524, 19179, 34087, - 9549, 56589, 23552, 35125, 45204, 35582, + 53668, 15579, 54351, 30460, 22734, 24817, 58067, 27093, 43172, 7583, 31508, 17987, + 22578, 45349, 63406, 16953, 15482, 215, 55951, 50236, 65030, 17195, 34478, 56436, + 39178, 13504, 10962, 26642, 35363, 34750, 65094, 34944, 52252, 52387, 18841, 40676, + 39903, 2510, 26977, 51265, 865, 45298, 44314, 57523, 42380, 52460, 56453, 47329, 27505, + 27818, 49198, 19391, 10041, 17106, 61847, 28903, 26794, 61417, 52975, 1800, 57350, + 35440, 9709, 22868, 50054, 58390, 23066, 27877, 57177, 30799, 6053, 10140, 4418, 65064, + 37772, 27086, 61234, 31150, 16384, 46863, 44847, 58711, 25933, 3389, 35522, 31063, + 32912, 25682, 26834, 28911, 36410, 50641, 43417, 30597, 42842, 21182, 29256, 10153, + 34902, 32427, 58349, 62223, 27817, 34853, 50982, 45197, 59236, 1996, 9004, 11384, + 11541, 63527, 30766, 40467, 42520, 8912, 60430, 20150, 25536, 65294, 5125, 17995, + 39235, 35005, 7350, 20710, 61776, 1880, ])) .unwrap(), - c: 210, + c: 11, d: List::::try_from(Vec::::from_iter([ - 166, 27, 8, 16, 152, 164, 224, 203, 128, 168, 249, 157, 113, 29, 67, 241, 27, 84, 115, - 165, 127, 71, 211, 107, 25, 35, 99, 24, 80, 7, 40, 237, 113, 18, 213, 168, 53, 151, - 137, 128, 87, 46, 90, 144, 122, 11, 87, 45, 20, 171, 156, 201, 105, 241, 65, 16, 64, - 72, 7, 152, 4, 183, 47, 222, 110, 212, 219, 200, 196, 27, 33, 170, 166, 87, 48, 247, - 240, 143, 107, 239, 71, 53, 157, 140, 143, 203, 248, 208, 52, 87, 66, 215, 73, 90, 152, - 97, 126, 249, 32, 188, 178, 46, 242, 157, 52, 35, 44, 22, 214, 71, 128, 105, 229, 99, - 61, 229, 155, 100, 34, 23, 164, 60, 14, 189, 10, 62, 60, 65, 165, 247, 222, 229, 175, - 138, 162, 132, 78, 144, 125, 53, 29, 218, 146, 74, 230, 44, 116, 99, 149, 184, 69, 101, - 74, 135, 77, 40, 126, 81, 67, 1, 78, 246, 51, 248, 111, 200, 177, 87, 134, 17, 113, - 154, 161, 73, 129, 17, 252, 47, 69, 76, 203, 112, 113, 114, 47, 147, 161, 101, 24, 5, - 154, 147, 138, 170, 118, 155, 10, 206, 247, 221, 181, 248, 111, 94, 156, 129, 158, 45, - 117, 136, 55, 9, 125, 65, 52, 185, 107, 202, 64, 79, 83, 1, 255, 212, 178, 228, 57, 46, - 49, 100, 126, 89, 53, 153, 121, 136, 166, 76, 146, 120, 17, 224, 134, 108, 163, 169, - 234, 249, 167, 30, 77, 67, 152, 182, 174, 104, + 23, 206, 127, 68, 96, 28, 185, 87, 18, 206, 94, 235, 156, 137, 17, 193, 39, 92, 135, + 234, 85, 44, 19, 55, 74, 177, 188, 29, 103, 226, 44, 84, 55, 101, 74, 230, 117, 236, + 218, 188, 128, 243, 92, 8, 46, 86, 198, 179, 87, 119, 166, 207, 247, 216, 170, 217, 96, + 7, 221, 152, 63, 161, 86, 165, 225, 110, 113, 186, 239, 173, 13, 22, 144, 166, 9, 69, + 40, 110, 100, 80, 88, 34, 22, 94, 202, 189, 35, 184, 79, 184, 92, 223, 47, 156, 23, + 163, 91, 64, 210, 70, 174, 184, 13, 171, 51, 100, 67, 53, 124, 37, 140, 79, 203, 208, + 206, 251, 68, 71, 250, 235, 176, 149, 149, 200, 182, 216, 217, 231, 126, 205, 40, 185, + 155, 147, 159, 159, 95, 19, 236, 34, 227, 25, 120, 170, 205, 39, 108, 110, 67, 120, + 243, 21, 65, 179, 40, 167, 179, 192, 109, 133, 10, 218, 28, 160, 243, 105, 24, 213, 56, + 78, 150, 246, 99, 88, 140, 110, 1, 94, 30, 221, 215, 133, 61, 196, 44, 220, 124, 185, + 44, 82, 160, 198, 81, 244, 154, 54, 213, 237, 162, 239, 41, 3, 69, 111, 103, 1, 201, + 29, 184, 248, 254, 179, 221, 214, 96, 192, 14, 153, 190, 34, 157, 176, 218, 235, 133, + 10, 98, 60, 237, 34, 156, 42, 29, 225, 204, 61, 236, 224, 119, 96, 63, 13, 249, 2, 162, + 234, 148, 37, 199, 237, 137, 243, 121, 155, 133, 193, ])) .unwrap(), e: VarTestStruct { - a: 27041, + a: 17184, b: List::::try_from(Vec::::from_iter([ - 49600, 61775, 21387, 44317, 23608, 33906, 31434, 61720, 30487, 61629, 62489, 53183, - 6739, 42206, 33620, 45146, 52617, 4696, 23207, 42706, 44091, 3309, 22826, 24081, - 38684, 15934, 50964, 32181, 34184, 32606, 21759, 38223, 19125, 44609, 57140, 58834, - 4801, 50545, 10086, 29252, 54060, 12525, 58780, 1300, 24995, 62135, 31105, 41613, - 20832, 29299, 18164, 36172, 15004, 58376, 64230, 64055, 49875, 40591, 58249, 40585, - 37618, 60025, 11635, 34482, 49751, 8496, 28883, 64002, 45259, 8948, 60117, 1663, - 45342, 23917, 13786, 34365, 32563, 24011, 1086, 45351, 25791, 60747, 61720, 19428, - 22802, 27246, 7015, 65338, 40548, 12277, 35081, 41459, 27326, 50564, 47023, 54679, - 2804, 38190, 51806, 21795, 12182, 36428, 477, 65070, 25644, 38394, 63283, 36261, - 61914, 49964, 55277, 33547, 39696, 31036, 31006, 52697, 45745, 56971, 37404, 39118, - 802, 29699, 960, 25552, 30653, 48998, 7044, 10608, 31466, 22372, 51057, 35007, - 24785, 37771, 19875, 34121, 44743, 27521, 6023, 58913, 23733, 15861, 48487, 50859, - 52867, 39431, 50481, 18607, 20243, 34343, 4791, 26930, 60013, 20925, 10993, 33913, - 6035, 2216, 19581, 7814, 40614, 7809, 51781, 33924, 5514, 36179, 62600, 56435, - 65313, 10400, 15626, 15213, 48139, 12755, 11544, 39989, 27381, 51889, 31306, 49777, - 9775, 34623, 44564, 54900, 53268, 16176, 17332, 636, 638, 43044, 26962, 35851, - 64215, 54835, 30082, 62363, 44934, 4784, 11795, 17119, 38379, 45660, 12506, 60110, - 57183, 6478, 24047, 19342, 2734, 19217, 16219, 31026, 15411, 13410, 43181, 35809, - 32686, 18376, 2496, 23904, 57206, 11820, 19397, 7919, 33029, 60772, 23086, 40602, - 62917, 41786, 16865, 42189, 38226, 55964, 51785, 61186, 52845, 32595, 4578, 15050, - 3346, 6267, 48040, 54333, 16786, 7318, 48790, 32131, 49916, 28357, 47765, 10234, - 25577, 45201, 3885, 18658, 58845, 20671, 56205, 35710, 51446, 33175, 23613, 35948, - 26876, 64975, 63149, 60613, 6858, 39184, 21414, 7663, 5463, 26004, 8483, 44214, - 43087, 12121, 47589, 64373, 28854, 16934, 31237, 47624, 7826, 19932, 1499, 46533, - 56395, 57458, 64746, 42487, 53463, 10681, 49246, 48813, 11075, 23221, 58349, 42103, - 42718, 15360, 44046, 17004, 1319, 5765, 47678, 14993, 11717, 48410, 3705, 64362, - 18796, 6586, 11188, 17916, 43055, 42968, 54055, 20005, 3349, 8986, 40001, 22986, - 40893, 31454, 60828, 10778, 11000, 49999, 19184, 24204, 38294, 56925, 35888, 18647, - 63133, 15852, 12811, 55156, 63081, 30560, 10613, 578, 21423, 15344, 46588, 9781, - 10799, 18863, 29416, 14697, 41097, 15992, 24999, 43217, 53357, 58056, 19815, 14798, - 23451, 1325, 52924, 43188, 56101, 1866, 59895, 55056, 14423, 3204, 50262, 53377, - 29041, 59013, 2239, 3975, 23459, 61255, 8540, 29151, 45468, 55815, 41237, 24387, - 41098, 33582, 53984, 22224, 17212, 19913, 35416, 27613, 38630, 47795, 20106, 12203, - 1227, 62979, 24822, 10594, 3270, 2988, 13821, 44678, 35836, 47672, 55189, 38775, - 5634, 38167, 7523, 31434, 19651, 14798, 62148, 1011, 27738, 40121, 31530, 63368, - 36038, 53762, 2928, 19322, 44731, 9120, 22974, 51100, 48553, 62294, 63199, 20763, - 5382, 18465, 18901, 12548, 10022, 56028, 16244, 9669, 48181, 9509, 30835, 46120, - 57911, 42047, 831, 2898, 45462, 18104, 3849, 43064, 63549, 50179, 32631, 9473, - 62641, 61487, 53746, 51999, 26268, 35895, 50248, 25364, 7762, 9668, 36186, 35147, - 31511, 684, 50919, 5139, 40201, 15114, 36926, 25951, 15206, 56822, 12517, 17423, - 22233, 40624, 45201, 47729, 30568, 23114, 27258, 58340, 17070, 12023, 46841, 7164, - 25449, 32079, 65305, 63254, 63226, 7971, 32989, 42042, 45422, 63513, 31462, 12250, - 30917, 24784, 38444, 31772, 35021, 10283, 12408, 36924, 6582, 60677, 50199, 894, - 8593, 59585, 12766, 20020, 46231, 23283, 58546, 18483, 29026, 38069, 48164, 17418, - 12521, 41392, 25184, 18692, 37690, 63055, 14440, 17753, 19065, 14596, 55031, 43079, - 28846, 59284, 55501, 30972, 37270, 61187, 47350, 17190, 58159, 12954, 32122, 57852, - 28912, 16187, 26695, 53193, 59891, 65426, 40778, 63816, 32093, 59086, 38586, 5939, - 57907, 44873, 44620, 64060, 57814, 60855, 34191, 20549, 44740, 7974, 27397, 3237, - 43493, 17244, 8347, 54782, 35280, 51977, 27761, 46352, 49620, 16987, 24423, 53386, - 58077, 30375, 14266, 65325, 34235, 23281, 4424, 63614, 1398, 64361, 2930, 32803, - 57336, 10316, 45895, 32190, 59305, 41692, 20841, 40889, 59867, 50962, 14147, 51709, - 59810, 39868, 4328, 36406, 43028, 48452, 56791, 5163, 63020, 46371, 9780, 18302, - 60260, 15493, 16110, 558, 59687, 29486, 31673, 9047, 32328, 37263, 49000, 7374, - 62590, 54787, 39241, 927, 41779, 15873, 41042, 14323, 52868, 50135, 5303, 55660, - 1292, 37131, 40413, 62478, 41112, 56077, 16238, 13025, 62333, 16197, 10543, 48016, - 42674, 10859, 15929, 34335, 47091, 49321, 46545, 33551, 33504, 22837, 39801, 57764, - 37490, 13963, 39750, 28474, 22087, 58703, 15526, 45634, 38730, 57103, 22749, 58383, - 1127, 11522, 28856, 52026, 61543, 55417, 22948, 20569, 35359, 4436, 45577, 12140, - 49817, 61949, 22675, 8027, 58761, 55661, 33889, 54508, 53847, 63020, 32063, 8901, - 57762, 36581, 29011, 21097, 9182, 50926, 59726, 33845, 37074, 10414, 42946, 56885, - 21471, 15339, 4882, 47573, 63689, 8183, 35091, 33854, 41940, 37328, 30004, 46, - 39520, 50311, 2019, 19361, 30508, 15455, 56175, 16580, 26561, 9424, 11380, 30991, - 59904, 59351, 20741, 8092, 28568, 46740, 60735, 35372, 26709, 13410, 23177, 37215, - 52392, 54816, 26853, 14321, 3497, 21829, 33036, 41828, 48725, 44004, 25457, 20071, - 2832, 43006, 40076, 2831, 19795, 60767, 24095, 5464, 52362, 14626, 7906, 42281, - 33382, 37535, 9845, 50087, 51061, 16326, 2966, 18477, 31622, 22862, 53792, 59073, - 36607, 26508, 42679, 29438, 50147, 37839, 37789, 53749, 64892, 62089, 39303, 44226, - 64146, 12180, 50464, 34574, 25638, 59428, 44739, 45407, 55871, 17483, 47212, 23559, - 31276, 12088, 24447, 49736, 37119, 178, 37733, 13581, 44009, 42689, 26041, 61992, - 24926, 60496, 5190, 15508, 36716, 35107, 42640, 63819, 3139, 63830, 38695, 29625, - 1495, 4701, 12714, 26079, 14941, 50193, 48948, 8626, 2927, 60193, 5945, 9252, - 49455, 4491, 8887, 50812, 50950, 42731, 54203, 11022, 65374, 47568, 22996, 58943, - 50798, 47748, 44712, 61317, 14239, 14982, 25532, 15777, 18016, 46939, 36344, 41507, - 36395, 18903, 52701, 53037, 42966, 58023, 23187, 26511, 55852, 36291, 54467, 52751, - 65345, 23386, 26948, 837, 13627, 44343, 63452, 26625, 16973, 10977, 23075, 39897, - 53958, 35031, 51629, 24041, 25322, 65323, 62018, 31668, 51181, 17327, 50232, 10722, - 29459, 51347, 4304, 16115, 16914, 34935, 7618, 61680, 55410, 34603, 61463, 30787, - 15002, 38827, 47707, 22085, 21440, 64953, 64680, 4762, 65362, 13508, 63308, 38718, - 33205, 47217, 55917, 21394, 40123, 51619, 13265, 1655, 39793, 32247, 46747, 61114, - 48189, 2827, 35637, 39573, 14265, 26559, 55485, 6884, 28471, 22006, 5827, 56990, - 50066, 19927, 21504, 28651, 22878, 51866, 29949, 13774, 58907, 7674, 41774, 10103, - 7828, 33439, 33884, 52414, 1987, 36590, 15359, 21499, 51277, 17036, 51875, 39252, - 32361, 6432, 61861, 51531, 6703, 20282, 44149, 27813, 59030, 23429, 9187, 52354, - 36805, 60491, 51507, 2868, 60113, 29276, 42840, 12913, 22033, 33483, 27810, 48477, - 62416, 20777, 36435, 36355, 31295, 4141, 54671, 1240, 38977, 29878, 26934, 9969, - 12291, 19161, 4876, 9705, - ])) - .unwrap(), - c: 141, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 2, b: 7841558952321562465, c: 3857359829 }, - FixedTestStruct { a: 156, b: 694470498189668020, c: 2697873136 }, - FixedTestStruct { a: 190, b: 7482312537342053811, c: 4045907139 }, - FixedTestStruct { a: 250, b: 4865241528780669066, c: 2811081156 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 13120, - b: List::::try_from(Vec::::from_iter([ - 55487, 20414, 48377, 37529, 60816, 59161, 51738, 62436, 16499, 36346, 61626, - 11312, 30079, 3908, 32685, 29800, 12319, 53079, 4783, 12951, 9381, 26404, - 46253, 7097, 13892, 58201, 29290, 20151, 13171, 5943, 48808, 7863, 27595, 6052, - 15836, 25578, 64201, 49565, 41764, 64021, 13416, 35879, 37380, 4152, 28870, - 13809, 36608, 43312, 45826, 38751, 30035, 20209, 1513, 15368, 52, 53582, 1634, - 65265, 23319, 61552, 44351, 64529, 7629, 8381, 55960, 17379, 33327, 8448, - 58496, 55537, 50325, 59683, 14943, 30774, 13494, 24729, 2253, 62366, 11658, - 28156, 42344, 36493, 30327, 9105, 45217, 56937, 46142, 27857, 22758, 2149, - 46376, 37326, 36776, 55256, 9566, 19126, 65431, 180, 32920, 39282, 31627, 1234, - 14888, 32282, 23998, 31426, 33643, 61080, 24568, 14367, 64932, 45654, 5, 26562, - 8380, 38796, 31705, 4012, 28955, 64850, 39336, 48006, 63871, 55211, 20911, - 7738, 52893, 21033, 11005, 48726, 28838, 62972, 12894, 987, 37916, 27690, - 23552, 28446, 50146, 13232, 55186, 37230, 37444, 23573, 18586, 48966, 36859, - 10111, 63302, 4883, 58074, 8836, 50497, 60085, 37125, 58548, 43025, 44626, - 21106, 64120, 20408, 16007, 60461, 24878, 19496, 10742, 63469, 19153, 49807, - 64162, 6240, 40614, 14836, 37095, 51531, 28732, 38254, 34111, 4801, 58014, - 59475, 64322, 7434, 10306, 52732, 29774, 36313, 36946, 42500, 53889, 63589, - 14154, 20354, 50076, 44269, 22016, 61591, 35445, 60025, 26280, 14817, 33670, - 18803, 33951, 31132, 55781, 36044, 60000, 30597, 43379, 44867, 3720, 46920, - 40112, 42926, 25431, 32604, 62818, 58111, 24570, 26096, 61012, 15505, 43951, - 25519, 23411, 7418, 43737, 48034, 61324, 19722, 9646, 12812, 10140, 13080, - 18517, 63701, 29981, 47551, 18921, 50264, 38966, 56666, 3422, 50582, 46737, - 26071, 48063, 61399, 27778, 31715, 44789, 22740, 17824, 36595, 44829, 41886, - 26313, 34706, 36220, 32710, 55364, 60115, 10437, 7211, 29547, 14610, 24825, - 43007, 21894, 48846, 40561, 37469, 54908, 46762, 59989, 4442, 28636, 51371, - 45360, 24808, 29620, 40473, 18907, 6612, 9928, 39344, 9616, 15770, 57010, - 14238, 34091, 23123, 9022, 62424, 1565, 34601, 28936, 64277, 43487, 27144, - 35399, 18155, 53100, 34713, 39842, 28753, 11949, 48775, 35585, 10151, 42054, - 15682, 28799, 40731, 42710, 34852, 21278, 35020, 1417, 3560, 63512, 6320, - 52618, 18648, 34719, 7477, 21595, 62500, 62043, 20086, 36801, 40530, 42115, - 28552, 56828, 35653, 40600, 60498, 26134, 32103, 6484, 35279, 9109, 34600, - 30291, 47320, 45590, 18939, 53431, 20916, 16399, 8768, 24243, 18736, 11885, - 48902, 49270, 62088, 52641, 28567, 29173, 46295, 21756, 23071, 42775, 38423, - 19547, 54813, 195, 4369, 51618, 7740, 35924, 14277, 25893, 62404, 52613, 18656, - 65439, 4429, 48610, 20695, 973, 50910, 37798, 24494, 60853, 21339, 11997, - 59336, 60159, 32938, 61256, 17650, 13239, 19863, 52072, 36424, 17566, 45213, - 41180, 15657, 21407, 29689, 38001, 20271, 45516, 41189, 35126, 20451, 17166, - 54269, 19783, 37825, 33414, 46326, 18798, 32797, 26179, 16184, 8377, 47574, - 24652, 22196, 10970, 413, 23454, 10801, 61585, 25724, 26688, 47203, 58044, - 26066, 17483, 51713, 43792, 32016, 4633, 26837, 59405, 53529, 20699, 20321, - 44187, 51404, 2085, 597, 24249, 38146, 48587, 42722, 6065, 51702, 43347, 38180, - 17008, 60621, 9793, 31717, 51615, 19528, 8683, 14400, 16783, 20228, 33069, - 24397, 38745, 19647, 35035, 50954, 37156, 47476, 41210, 3413, 21037, 27554, - 14889, 1532, 35033, 62444, 36799, 2783, 838, 6099, 46651, 62123, 34504, 23406, - 54380, 13583, 33071, 14865, 18419, 11299, 26802, 17840, 17038, 46241, 43872, - 31433, 7732, 2345, 42567, 41807, 6265, 57057, 6051, 28148, 25652, 36473, 38887, - 1510, 28090, 52193, 44188, 35510, 51786, 51768, 65142, 61963, 14007, 1828, - 27792, 57811, 34088, 34844, 52454, 57232, 4213, 45150, 51313, 12770, 8662, - 4778, 23208, 45466, 38227, 51430, 43235, 7226, 9949, 37142, 44588, 5091, 56674, - 50673, 101, 16161, 732, 13076, 31633, 61776, 22567, 28031, 56097, 16951, 39777, - 57198, 38708, 9473, 14324, 22435, 17820, 9881, 53952, 30773, 51940, 49608, - 8713, 1177, 26981, 49782, 61447, 63171, 45923, 34133, 56412, 1793, 61104, - 19880, 61448, 56653, 41307, 2792, 29971, 23997, 60802, 51355, 51703, 55428, - 36714, 4512, 18965, 6538, 12623, 30896, 49689, 15962, 47357, 46504, 47876, - 5527, 58170, 28811, 26318, 45422, 63328, 58721, 56469, 63666, 38916, 32398, - 45318, 13324, 36821, 60578, 19520, 57030, 25331, 62060, 60314, 2751, 55842, - 11443, 16102, 13636, 22043, 53734, 53694, 14873, 11874, 59020, 47559, 57789, - 9133, 43404, 34484, 55130, 56303, 23712, 52322, 64794, 51147, 27246, 44364, - 40162, 38216, 51182, 26272, 52226, 64754, 49870, 35234, 48217, 34623, 38284, - 26758, 11559, 53855, 19915, 25582, 34576, 57609, 22166, 28529, 8406, 36437, - 22579, 31231, 17741, 21566, 33381, 45392, 59941, 47572, 9084, 47960, 16268, - 54092, 48547, 48173, 47050, 58826, 57834, 60390, 21539, 30384, 27423, 28631, - 17538, 1919, 11678, 40176, 12221, 57455, 3415, 64976, 7784, 13142, 5135, 10363, - 35939, 55256, 36084, 32458, 56916, 47686, 13126, 35937, 13981, 48239, 39386, - 17994, 12356, 32424, 41451, 40186, 47130, 1633, 12743, 31677, 2348, 27612, - 51827, 33413, 63356, 36873, 50163, 59464, 26570, 13655, 58323, 8184, 65138, - 23863, 51077, 59809, 56034, 28676, 24945, 49436, 53241, 44969, 29407, 18563, - 39895, 6413, 39172, 31183, 22717, 38407, 14125, 16230, 4314, 56423, 65533, - 53850, 7746, 40819, 13105, 6439, 58546, 33068, 35449, 55381, 60949, 12787, - 44022, 22215, 26398, 26577, 1716, 38292, 16636, 51111, 17755, 49493, 13319, - 12119, 47558, 14492, 23299, 29548, 36423, 44967, 18869, 32662, 47198, 58113, - 1963, 22830, 19434, 10325, 26056, 9260, 29268, 62712, 51200, 16017, 41592, - 2624, 39311, 1606, 40625, 54131, 14988, 12292, 51985, 43324, 37507, 9541, - 36074, 52634, 44567, 28070, 39581, 38146, 14437, 50290, 40726, 59237, 36159, - 42801, 52944, 44553, 61963, 15616, 54155, 57187, 3206, 57208, 63995, 42417, - 41421, 15066, 21556, 39572, 3384, 50733, 49191, 54752, 54999, 14293, 48240, - 8802, 48593, 31186, 63826, 53208, 23282, 14878, 41342, 49485, 42483, 49150, - 53149, 35581, 9333, 4012, 39131, 16449, 37729, 33085, 57826, 40450, 51658, - 11329, 11923, 47144, 62755, 7911, 33062, 22900, 5009, 50952, 19534, 3376, 6194, - 11780, 1144, 38488, 1845, 26823, 22325, 37958, 2496, 64977, 7222, 48241, 30421, - 14307, 62969, 1302, 26238, 4776, 46833, 50476, 38185, 50134, 56678, 11996, - 27896, 16629, 4505, 52725, 11765, 36849, 31918, 28720, 35950, 63890, 58878, - 44497, 5300, 51268, 4198, 684, 62950, 1547, 10981, 39085, 39614, 25165, 32453, - 55547, 44661, 11817, 36840, 60803, 19879, 13658, 28470, 20998, 17194, 2865, - 43762, 22654, 52015, 26238, 25520, 45790, 15056, 33898, 2334, 1000, 46533, - 16232, 32456, 39076, 13816, 24479, 34018, 40077, 26717, 1616, 30018, 62745, - 51080, 64661, 31437, 61329, 56305, 8017, 7852, 1116, 49128, 2608, 42887, 3825, - 52467, 32047, 16697, 55063, 24078, 27588, 52664, 12973, 40564, 20274, 52527, - 43345, 14030, 16870, 54646, 36576, 48234, 5826, 55013, 36907, 12870, 61223, - 53567, 22395, 47737, 65446, 4073, 10489, 7907, 34836, 58056, 51491, 60814, - 24937, 10756, 42219, 24107, 37621, 24232, 42496, 14847, 58538, 25681, 29941, - 22502, 22979, 34881, 32187, 16254, 50572, 35610, 1393, + 59369, 53687, 12570, 39161, 59430, 3090, 17863, 22211, 2669, 50509, 59882, 22858, + 49824, 20553, 9648, 49698, 5967, 21001, 65028, 10108, 39476, 59598, 34704, 8646, + 37968, 37897, 31296, 60081, 62822, 47017, 17915, 5145, 11738, 54916, 25290, 43720, + 20721, 6569, 33528, 10785, 29601, 8051, 4528, 38376, 50664, 53339, 30638, 20398, + 3683, 56945, 15937, 36951, 31088, 1674, 41055, 35522, 4853, 4534, 5708, 40058, + 15905, 13370, 36470, 25169, 20632, 21965, 15158, 12507, 882, 55238, 39589, 18301, + 22884, 735, 58426, 8608, 30099, 34829, 18361, 4599, 43627, 49126, 22766, 41253, + 20459, 13862, 17731, 24093, 43777, 20468, 20097, 41682, 62197, 46004, 12054, 14961, + 64176, 46905, 29880, 4368, 18864, 30556, 15212, 9247, 59219, 51053, 44791, 26776, + 60456, 53819, 56955, 1951, 42635, 43913, 16204, 40262, 28821, 46199, 55048, 5268, + 38787, 26400, 35184, 22964, 42226, 16680, 11207, 32214, 34858, 9050, 61054, 31504, + 57325, 26882, 48617, 1193, 9662, 22462, 40852, 60712, 31058, 12882, 65479, 64889, + 56631, 28126, 31786, 24847, 23628, 109, 14430, 54867, 45293, 8339, 38662, 2381, + 64710, 51029, 57378, 6786, 64775, 45346, 47054, 23888, 41221, 21552, 33824, 1854, + 62580, 7749, 42902, 985, 56878, 52609, 52844, 17699, 10114, 9858, 34795, 63453, + 2219, 6192, 16763, 10375, 31901, 31130, 20949, 62176, 61918, 8506, 2751, 21935, + 19114, 13824, 52063, 33857, 52476, 33393, 45905, 1866, 6936, 59985, 31557, 6979, + 11500, 49908, 61153, 20804, 26988, 1325, 60489, 34980, 48024, 10407, 6871, 27561, + 54137, 56016, 50769, 65432, 46878, 20425, 35598, 46223, 26851, 43520, 11083, 30978, + 5730, 63556, 35278, 25719, 55113, 5478, 48671, 62717, 63643, 20672, 56677, 65392, + 59009, 45242, 17687, 17431, 11425, 5198, 63974, 52844, 49078, 60779, 21326, 54842, + 9961, 20375, 49040, 20213, 45682, 19524, 45706, 7824, 16255, 16187, 58831, 30226, + 10506, 12203, 64340, 57345, 13141, 32577, 27515, 18489, 51188, 40114, 2949, 48940, + 26680, 49997, 18295, 26302, 59548, 31565, 16689, 11374, 31363, 28515, 45669, 28840, + 15379, 39937, 54961, 9285, 53444, 54695, 18707, 57091, 28485, 27678, 13805, 55370, + 15952, 50522, 2536, 55714, 20925, 62711, 53439, 57375, 53894, 42499, 33693, 35883, + 55297, 30218, 60290, 7191, 62751, 24426, 56214, 34725, 28773, 26048, 40568, 45997, + 18520, 2488, 26446, 57979, 64616, 6523, 39227, 39077, 10814, 27316, 4512, 3777, + 37195, 31629, 56082, 8526, 59343, 21549, 19036, 37873, 65011, 19568, 11078, 7080, + 45097, 44287, 51603, 17099, 4036, 16632, 50265, 35893, 43345, 50038, 21665, 3142, + 44477, 55546, 9366, 55448, 29773, 29014, 28527, 34707, 59802, 53765, 27216, 28034, + 3593, 8531, 34638, 28731, 14010, 32021, 4480, 40401, 23953, 56050, 29523, 9455, + 31827, 34026, 17107, 43270, 7050, 63996, 38298, 1298, 48022, 38236, 35171, 6375, + 41023, 32213, 50731, 24903, 15765, 10364, 40504, 5418, 52798, 32340, 4097, 51261, + 30060, 40747, 36849, 52137, 3808, 19961, 32008, 30895, 54287, 52624, 47677, 12487, + 50659, 64622, 32649, 5021, 55935, 59339, 45856, 42739, 42813, 414, 53430, 31005, + 50609, 16418, 26268, 26848, 900, 43362, 1176, 44999, 21361, 3058, 3329, 61641, + 55280, 38902, 43916, 1983, 52887, 63012, 58342, 51664, 62887, 46974, 34351, 48499, + 49047, 18556, 11978, 7063, 61734, 57109, 65177, 12245, 5327, 39202, 55123, 40082, + 6316, 45423, 54217, 10072, 6925, 53447, 18466, 27754, 47357, 53776, 13437, 31653, + 13471, 21062, 56273, 50069, 44566, 47743, 37080, 57940, 38546, 13805, 39582, 11099, + 30543, 40856, 8010, 58972, 39205, 10302, 18926, 34275, 20025, 64854, 58859, 22397, + 16419, 5630, 48611, 27645, 9519, 58634, 33678, 59924, 11508, 36577, 20014, 24184, + 2160, 37721, 10887, 43033, 26938, 14951, 25659, 17789, 20640, 16717, 62517, 33962, + 53805, 2497, 46491, 5404, 48334, 65356, 52186, 48158, 26782, 44497, 23125, 63869, + 38584, 21214, 46755, 9974, 44730, 34948, 4206, 42048, 16286, 25249, 42831, 58891, + 10275, 20747, 43294, 17679, 54866, 12893, 20687, 64671, 33902, 35109, 24446, 21001, + 22560, 28440, 31315, 34285, 6951, 59745, 35419, 41182, 32435, 31764, 31778, 46523, + 51953, 15682, 28523, 53325, 50132, 38317, 46725, 18939, 55067, 56698, 39978, 53906, + 14483, 35592, 32977, 31505, 28480, 19994, 25060, 46073, 11287, 40659, 37444, 10019, + 20976, 42683, 56405, 15647, 2139, 27532, 23574, 3405, 10848, 29620, 9891, 49743, + 3659, 53838, 12335, 64348, 14180, 23699, 54596, 24746, 11277, 34639, 62599, 27559, + 54469, 7986, 24429, 63411, 51961, 25325, 27962, 45597, 43207, 59884, 37600, 47896, + 23440, 28985, 17759, 15175, 20812, 44569, 11648, 2445, 2547, 10443, 26976, 64387, + 48064, 62187, 42657, 64823, 17531, 5499, 62738, 4928, 60640, 12039, 52690, 64951, + 55795, 39093, 24211, 31382, 983, 53152, 33889, 38780, 50039, 47730, 49479, 57141, + 6027, 32006, 53012, 53988, 51614, 4085, 53782, 28969, 18301, 63374, 56984, 55478, + 16687, 772, 32990, 59305, 32300, 45594, 22768, 41224, 62228, 35857, 3946, 9389, + 15951, 8838, 5998, 49547, 17878, 21177, 11729, 37860, 37265, 37883, 45491, 31615, + 17208, 669, 61877, 47969, 10331, 42942, 12634, 4704, 30741, 4325, 39356, 11383, + 19210, 48664, 30365, 55558, 24065, 22970, 50995, 64266, 33696, 37543, 57085, 11944, + 19624, 20961, 64562, 26022, 43090, 4975, 3719, 60358, 50565, 26522, 21941, 27352, + 32846, 10316, 27274, 52255, 4139, 13232, 23075, 5956, 15618, 6838, 29241, 16121, + 18590, 33835, 62976, 24294, 4236, 44277, 48144, 33708, 5260, 1125, 31974, 24100, + 52755, 57691, 33401, 55406, 35893, 39810, 40516, 31625, 48075, 16067, 10472, 2451, + 29373, 35575, 13384, 64609, 24827, 48314, 46332, 61496, 23730, 63986, 4446, 27749, + 60825, 27415, 60957, 53068, 36771, 39965, 56202, 9083, 63771, 46114, 48850, 49914, + 57377, 12698, 41935, 52264, 61566, 55021, 35163, 24740, 45998, 29660, 52828, 27484, + 28787, 61850, 54104, 35530, 7373, 56657, 40295, 14445, 57763, 47856, 53837, 18523, + 45390, 24388, 26471, 38936, 63502, 1791, 51251, 14292, 31815, 55645, 22124, 198, + 31124, 50124, 60554, 12197, 42194, 7215, 28703, 50953, 46197, 35764, 43501, 1505, + 6640, 63262, 51772, 56840, 25288, 27496, 38161, 51063, 32680, 23705, 12486, 13106, + 23863, 40240, 55526, 15361, 54764, 49655, 16975, 52821, 37487, 18022, 35656, 25004, + 3798, 23595, 9486, 30723, 53884, 57907, 13600, 23494, 34758, 6125, 52471, 59052, + 20726, 4456, 41166, 3445, 944, 30855, 3938, 39365, 60479, 46851, 25921, 23572, + 44699, 19690, 17601, 9294, 48025, 62309, 63039, 5945, 40147, 40248, 30163, 7883, + 44262, 53301, 40053, 55808, 44905, 61604, 669, 59464, 4273, 51298, 27900, 59252, + 64228, 35589, 43883, 62461, 22710, 55778, 19633, 58823, 28784, 16077, 22747, 8268, + 63493, 58144, 8674, 376, 43580, 63447, 7363, 65509, 31876, 38802, 51621, 60130, + 53630, 43744, 3769, 32622, 46635, 45858, 16491, 58299, 893, 9978, 43663, 30752, + 39282, 35577, 50070, 9185, 16642, 39582, 12262, 25045, 59891, 37727, 47173, 10716, + 16822, 5715, 29662, 35, 39780, 42432, 37969, 27245, 3570, 1346, 53054, 18591, + 28480, 50803, 27633, 2699, 13511, 59700, 40383, 39077, 56934, 41897, 10201, 12963, + 45342, 46010, 40780, 42470, 39053, 48233, 55776, 43951, 60952, 54600, 4599, 62155, + 1892, 47008, 3379, 36053, 54895, 32445, 63889, 44565, 5123, 47150, 29285, 61861, + 51390, 40000, 62525, 51618, + ])) + .unwrap(), + c: 72, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 250, b: 6141795178871855673, c: 240645572 }, + FixedTestStruct { a: 21, b: 4877910149201583175, c: 1417391071 }, + FixedTestStruct { a: 84, b: 7661562362140687688, c: 34213759 }, + FixedTestStruct { a: 148, b: 17897429674566788394, c: 859275185 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 59524, + b: List::::try_from(Vec::::from_iter([ + 10829, 17303, 14277, 18963, 26241, 29327, 14882, 15208, 16925, 43597, 63407, + 22188, 9080, 32634, 27816, 31164, 62634, 43697, 25236, 21639, 49155, 62153, + 42459, 8754, 63899, 3773, 30550, 31486, 42200, 23508, 22649, 40233, 64909, + 58136, 29268, 23491, 43831, 54614, 32649, 34803, 4503, 40920, 17028, 11498, + 5441, 25244, 12038, 44684, 52919, 46024, 61494, 13879, 16946, 44122, 13281, + 12881, 41775, 65006, 42076, 10505, 40143, 34603, 4030, 64491, 26608, 17982, + 26953, 33797, 31453, 48743, 43486, 17025, 31087, 821, 52611, 9933, 17022, + 10248, 53814, 63518, 30466, 44358, 6696, 61013, 45985, 65252, 52476, 20982, + 23284, 61884, 51368, 5673, 15481, 19431, 3358, 11464, 4673, 42707, 52054, + 61137, 46937, 51377, 21535, 15120, 48203, 25496, 32564, 12175, 9803, 46362, + 30395, 40246, 36898, 44829, 8585, 19954, 64971, 25362, 9883, 19115, 8842, + 58710, 42571, 11367, 29933, 45983, 11034, 59508, 24039, 5616, 23038, 30185, + 61232, 64372, 41890, 19531, 42215, 57345, 43408, 8060, 24106, 25020, 52510, + 38991, 61735, 38145, 46877, 27423, 3309, 21204, 8143, 5051, 51914, 46824, + 21030, 6891, 26973, 11863, 28466, 27450, 2527, 51543, 14911, 21882, 19565, + 54303, 19662, 25798, 31502, 9075, 62792, 49623, 23414, 14861, 65416, 4226, + 2008, 49016, 29194, 19835, 51380, 5755, 40770, 31484, 43928, 10351, 11727, + 25702, 58126, 37719, 52682, 42108, 59305, 7372, 289, 64507, 62580, 13835, + 24241, 60477, 60121, 24444, 15733, 37288, 34648, 44120, 40895, 18533, 42645, + 215, 56618, 1989, 63331, 56068, 60311, 10840, 8487, 18087, 44964, 48359, 57762, + 1169, 6688, 54151, 39816, 52091, 43107, 21641, 56201, 25746, 19717, 15893, 654, + 29840, 28169, 52558, 16703, 13994, 31133, 54566, 34082, 65437, 32360, 29933, + 52655, 61439, 16938, 47562, 24921, 44634, 34257, 39447, 59598, 59472, 43706, + 26065, 48002, 28380, 18207, 629, 43865, 3243, 51644, 54683, 44853, 29618, + 57015, 26648, 49254, 9596, 21030, 41724, 46454, 23808, 10018, 50893, 46422, + 5251, 39365, 30830, 20429, 38407, 8564, 28002, 53564, 48937, 33163, 15429, + 15749, 2993, 24196, 1219, 5311, 50065, 44914, 37887, 59655, 61649, 53208, + 54533, 47065, 59893, 19225, 39982, 44831, 41041, 46626, 64086, 36379, 48387, + 16249, 40636, 36520, 37238, 30167, 36199, 42774, 22724, 31869, 20324, 40607, + 44299, 24685, 32488, 1935, 59249, 28563, 49592, 29837, 28784, 26734, 48026, + 40239, 4445, 52448, 6425, 2400, 38266, 30416, 15235, 30324, 2333, 42479, 53606, + 59885, 9452, 2350, 24415, 3614, 61364, 48457, 1498, 9036, 8070, 20971, 3733, + 22393, 60486, 6966, 6830, 61645, 34014, 45532, 21062, 4815, 40350, 8731, 10248, + 32955, 47230, 14286, 31244, 49723, 64216, 12573, 12644, 44735, 19615, 42728, + 40653, 8495, 6463, 17091, 11961, 30409, 57657, 38752, 13856, 15847, 62969, + 4789, 15671, 33889, 40836, 46091, 47581, 35699, 1886, 64209, 196, 49619, 16402, + 35657, 44018, 59823, 60110, 48784, 25695, 8509, 9033, 5485, 45987, 28498, + 28543, 18362, 14544, 10102, 60514, 58998, 31860, 23063, 15291, 28445, 7425, + 33623, 3575, 7521, 23322, 30292, 52055, 19063, 51342, 41872, 23888, 54621, + 60424, 19240, 17936, 61444, 13973, 63622, 16994, 40654, 32290, 9233, 60248, + 45059, 16571, 10451, 388, 41036, 60733, 34731, 1248, 40854, 34310, 32783, + 54912, 62483, 10302, 21839, 25216, 44642, 39043, 44447, 12619, 33529, 5184, + 62792, 32156, 16330, 55631, 2046, 23113, 33092, 1251, 49534, 32221, 23739, + 39058, 2686, 32575, 18530, 19538, 30073, 22914, 63457, 21377, 62501, 19103, + 22077, 61408, 30878, 60002, 2576, 61082, 56812, 35834, 16671, 26752, 32064, + 23410, 15114, 33432, 36189, 7828, 64559, 51227, 39867, 6683, 13568, 64345, + 40496, 1037, 52134, 37084, 9142, 43639, 47880, 16270, 29532, 10371, 22449, + 44545, 41895, 55699, 59155, 21055, 65507, 1817, 5402, 41200, 38564, 21735, + 59250, 15662, 29713, 1806, 54410, 31841, 3973, 44962, 40499, 22720, 30538, + 11332, 34374, 37028, 61218, 33097, 38835, 1146, 26430, 35935, 14509, 60165, + 50617, 12495, 8743, 64394, 26725, 42910, 1047, 62399, 45584, 2281, 62128, + 54498, 8783, 12877, 32881, 3839, 19700, 18676, 19274, 2522, 48559, 34038, + 20723, 24550, 7503, 35805, 28985, 33951, 54134, 51404, 57864, 65463, 43076, + 46714, 56641, 63660, 8794, 61384, 60531, 9664, 38903, 10161, 15870, 30598, + 13795, 16437, 40506, 28740, 6154, 60428, 49781, 57444, 43731, 19968, 28634, + 55137, 13786, 6134, 1519, 40282, 35940, 25174, 50285, 41906, 61046, 21095, + 47444, 36991, 31116, 43711, 61524, 39282, 17378, 17051, 12921, 38646, 35919, + 44758, 16522, 21515, 10094, 24938, 23822, 15701, 3835, 52747, 29305, 17662, + 8633, 56088, 3070, 3360, 17883, 20682, 46010, 646, 26974, 31499, 43764, 25366, + 25701, 28938, 37614, 58246, 28876, 56429, 48124, 26057, 3323, 34945, 29008, + 40465, 40907, 28642, 52930, 44602, 5221, 27830, 3138, 31935, 21989, 14863, + 17154, 4971, 400, 25004, 25841, 9157, 26822, 30926, 1715, 4031, 43256, 25072, + 62071, 38596, 24388, 64715, 61618, 40439, 30437, 57693, 15064, 12610, 26813, + 62837, 60826, 22328, 15650, 51738, 11278, 22588, 8096, 47194, 40188, 12709, + 40663, 24962, 47915, 3999, 26531, 25148, 55305, 10590, 2934, 50982, 63596, + 30391, 1241, 56272, 49079, 28504, 30694, 64376, 45874, 38405, 52669, 31784, + 9810, 38049, 61769, 17896, 39815, 33058, 36507, 30802, 43174, 13842, 9532, + 3986, 30556, 9170, 58461, 60882, 9645, 2747, 61918, 9507, 35029, 14685, 25016, + 4132, 2229, 10158, 61199, 45253, 17766, 13821, 58966, 21249, 49476, 15232, + 27071, 45929, 7407, 48478, 16799, 56816, 7577, 13357, 51450, 51323, 36165, + 7604, 60233, 14632, 22801, 63658, 61743, 57000, 45560, 12439, 50497, 1737, 661, + 60834, 3218, 11662, 63660, 22961, 38192, 32605, 35503, 20075, 51982, 55188, + 50737, 48657, 2448, 43453, 25893, 40412, 20129, 29870, 50190, 38953, 27855, + 30688, 20362, 808, 30355, 53214, 4536, 29502, 36597, 50964, 2098, 56085, 15741, + 3210, 4346, 45395, 48777, 64625, 25194, 43703, 15077, 29871, 16452, 15502, + 22278, 6070, 36034, 34465, 33077, 56059, 34837, 65063, 9523, 59050, 25322, + 10260, 47546, 36821, 23635, 22743, 3881, 25441, 41951, 56260, 36813, 30884, + 9080, 53639, 29467, 62037, 59505, 10290, 41577, 21843, 22248, 19168, 61051, + 12845, 12552, 22163, 18666, 56439, 63015, 6673, 57774, 2087, 2859, 7621, 53684, + 8000, 8837, 39627, 2328, 35823, 30843, 17826, 60431, 10991, 40223, 5530, 61596, + 4337, 11434, 54912, 33118, 35117, 31593, 34435, 20067, 28565, 57213, 2946, + 48275, 63039, 30883, 26791, 4894, 61034, 60199, 38558, 24715, 14570, 61617, + 17923, 4570, 57095, 41794, 32421, 32162, 1552, 29918, 30492, 9783, 8326, 17119, + 2817, 25380, 786, 54780, 32247, 32633, 29672, 25028, 38667, 30829, 44200, + 56739, 43971, 43486, 51603, 61797, 1846, 22999, 30932, 30404, 52770, 24960, + 1720, 20527, 2063, 63381, 8403, 23610, 27404, 31122, 46604, 40343, 61974, + 29104, 13733, 15144, 18222, 7145, 44018, 202, 53993, 43841, 18802, 10973, + 46184, 36611, 36570, 11686, 20815, 12120, 55460, 62963, 58393, 19002, 14194, + 61571, 1966, 37737, 877, 43509, 50443, 51770, 28544, 30703, 22948, 14718, + 33988, 37425, 29980, 28674, 62494, 25223, 34219, 31488, 46045, 29638, 2399, + 11514, 14584, 64887, 56279, 22625, 8510, 42610, 12916, 48421, 36341, 21345, + 62956, 26679, 35104, 56011, 52969, 33573, 59036, 62433, 9469, ])) .unwrap(), - c: 178, + c: 219, }, VarTestStruct { - a: 48415, + a: 39373, b: List::::try_from(Vec::::from_iter([ - 27130, 3832, 25356, 54457, 15552, 12775, 56882, 49252, 64698, 5033, 18586, - 33923, 36894, 52083, 11860, 3362, 16465, 36764, 47012, 15220, 32358, 947, 7971, - 15456, 27763, 36543, 13811, 37594, 54761, 2363, 22764, 54391, 64781, 50408, - 16759, 38786, 10291, 54478, 7690, 61409, 50842, 31783, 33973, 34851, 3146, - 26729, 36068, 13234, 65246, 62603, 59467, 21162, 16544, 20322, 25031, 22790, - 12246, 2951, 19790, 37501, 37220, 24165, 7378, 39493, 16270, 8348, 5770, 57364, - 7865, 27077, 2557, 52374, 34498, 36642, 62252, 1884, 25071, 38098, 44332, - 34823, 47301, 43519, 48796, 37815, 42924, 28444, 39202, 8087, 36073, 8703, - 14534, 64305, 53457, 29141, 6537, 294, 55189, 61383, 11765, 11998, 3567, 1737, - 24684, 169, 49141, 23410, 34481, 40491, 36983, 29196, 26295, 47744, 36336, - 28684, 64967, 4406, 48422, 1675, 43516, 30238, 1670, 35241, 1543, 58139, 22033, - 12138, 36107, 18875, 56198, 8796, 40617, 58996, 25208, 25255, 37993, 24515, - 7204, 59780, 20815, 10031, 21314, 49948, 32631, 23055, 42546, 53627, 39514, - 55372, 2441, 7809, 62982, 65532, 21494, 5155, 50622, 9372, 57134, 19934, 24239, - 6328, 40351, 47426, 19361, 42924, 20650, 46081, 33070, 57884, 40873, 36835, - 20886, 31848, 18752, 18589, 54545, 12648, 938, 30510, 9543, 20168, 59503, - 48498, 42324, 31078, 11648, 30086, 11620, 17115, 64743, 60786, 47981, 18048, - 3253, 62452, 52766, 52786, 41619, 9776, 28891, 1682, 54912, 59322, 28204, - 15079, 15855, 5396, 49941, 16980, 35866, 35930, 8021, 22388, 40194, 21743, - 27433, 32343, 54982, 13118, 45070, 36699, 34426, 53562, 47965, 49426, 8279, - 16168, 5347, 61069, 52341, 32099, 63276, 31165, 51645, 3034, 39386, 11791, - 22899, 22849, 33262, 22920, 48837, 51427, 42360, 30638, 19984, 60587, 19317, - 49654, 59834, 62933, 11291, 37749, 62099, 62438, 19002, 4806, 44298, 32119, - 13632, 33145, 3633, 19413, 60254, 28564, 34894, 20214, 53435, 47842, 50325, - 31787, 28932, 27805, 24174, 31376, 37456, 36981, 13874, 26630, 9779, 12253, - 24259, 60754, 27154, 62609, 64757, 3358, 47415, 64565, 19723, 53161, 26018, - 19433, 18927, 33639, 19459, 32975, 35798, 4395, 25466, 35857, 41950, 51538, - 15204, 63521, 64953, 26296, 63100, 10863, 14419, 13810, 28796, 17242, 11867, - 13365, 64098, 18375, 56141, 53959, 27113, 11270, 31369, 16624, 27887, 11158, - 6090, 32538, 9008, 63623, 47698, 57220, 48572, 49944, 34212, 44515, 65488, - 6930, 9913, 26082, 47483, 62107, 41080, 35555, 49322, 3590, 26604, 18977, - 20589, 5109, 12623, 53920, 62230, 54246, 30109, 60346, 32173, 6948, 47735, - 6177, 61868, 2132, 11420, 57491, 58672, 17562, 18772, 25998, 55661, 54932, - 38254, 21283, 17684, 9670, 22975, 61702, 52559, 11041, 31904, 25860, 36730, - 35425, 21435, 57496, 54384, 21645, 208, 51532, 10794, 24790, 10676, 51150, - 4192, 25401, 12435, 64429, 4092, 27883, 28390, 33032, 4668, 7279, 56920, 5785, - 24906, 17070, 18396, 49464, 49600, 50923, 10600, 33756, 38149, 21778, 32591, - 52915, 22860, 20451, 46082, 20516, 42458, 2357, 38327, 50404, 27314, 63264, - 57870, 57469, 30302, 28872, 26097, 3694, 8998, 63552, 56273, 55784, 34375, 691, - 11573, 10144, 46115, 24406, 47019, 37406, 37440, 29021, 13206, 62481, 32155, - 18048, 41130, 36245, 21864, 18218, 58215, 28254, 33122, 26440, 58617, 45731, - 19045, 44940, 52067, 2357, 11643, 29037, 1171, 24019, 53083, 42789, 63987, - 3756, 404, 22023, 33142, 17452, 9656, 42368, 24179, 56662, 45608, 26502, 48845, - 115, 19921, 44621, 5600, 9830, 49016, 33291, 8514, 52405, 2018, 27029, 36321, - 14717, 52609, 55786, 57442, 41050, 56066, 62599, 47814, 13674, 27014, 26062, - 15795, 21844, 50474, 31425, 5718, 18600, 29578, 27543, 56480, 2084, 25609, - 3346, 11323, 64892, 33651, 48503, 44096, 63310, 7971, 53178, 25402, 8941, - 60258, 42846, 57452, 34495, 33959, 57140, 45959, 39073, 42359, 52995, 8811, - 49473, 59595, 15806, 34387, 38872, 23551, 11109, 37029, 54649, 7910, 5350, - 40225, 52062, 49557, 59641, 35104, 1590, 12506, 1374, 17264, 7760, 7191, 10454, - 58614, 11093, 33355, 17137, 25479, 52989, 48616, 7044, 19832, 29979, 1958, - 19366, 54926, 27182, 12829, 57431, 58346, 4477, 23798, 37981, 45139, 58204, - 28798, 21503, 33832, 5437, 1180, 16715, 47904, 62541, 60161, 55616, 14525, - 41270, 1024, 53409, 13231, 50614, 48034, 59952, 57965, 16307, 22690, 3291, - 64512, 55125, 26446, 36308, 35663, 56226, 5418, 39852, 15852, 5128, 5356, 5647, - 9012, 9569, 41602, 21914, 46837, 23047, 39658, 3843, 7508, 64995, 47928, 5266, - 42361, 53158, 57356, 58714, 41365, 23696, 22956, 57755, 4786, 2340, 51870, - 13297, 26497, 32240, 48833, 51415, 61197, 31947, 37909, 21642, 47429, 17622, - 63162, 8840, 53401, 39773, 24112, 42047, 52537, 10444, 16449, 64593, 62703, - 49366, 26563, 14770, 39879, 28290, 35719, 57668, 52367, 56191, 8922, 51542, - 2708, 29891, 60823, 12846, 5432, 57932, 40927, 2361, 26263, 22626, 13192, - 49418, 48717, 11532, 29796, 44526, 59836, 63910, 4689, 1505, 15054, 13338, - 47019, 30664, 31988, 18955, 39506, 5087, 63233, 33926, 57646, 31533, 36782, - 34028, 20146, 64464, 62254, 54304, 35579, 39579, 57572, 20024, 37107, 64157, - 30133, 14295, 45761, 34388, 57113, 10521, 46045, 14654, 46585, 63613, 12473, - 10419, 40606, 61218, 61470, 63120, 24372, 46249, 61875, 17061, 35381, 40624, - 32980, 59834, 44946, 14848, 19058, 59011, 4945, 28552, 57500, 33800, 32371, - 53874, 62530, 37510, 49164, 2190, 57318, 32510, 48519, 19125, 35991, 37519, - 54749, 18777, 63646, 58422, 9190, 5990, 33319, 36453, 24008, 61028, 48651, - 13421, 61048, 30274, 39542, 9980, 41775, 54104, 43876, 7626, 11925, 2836, 8117, - 34713, 60946, 20986, 33832, 15720, 15270, 58244, 33060, 46134, 33320, 47969, - 2690, 2479, 30235, 37560, 43812, 25814, 55962, 42326, 48411, 12860, 43030, - 24047, 32035, 47386, 16188, 15323, 17579, 54580, 45541, 12172, 56210, 40972, - 48365, 2913, 64322, 44268, 63899, 45091, 13020, 21535, 44618, 16196, 60860, - 18780, 30909, 37726, 23854, 9196, 18403, 46833, 51176, 57974, 24116, 1815, - 25984, 57692, 6591, 59680, 11356, 52518, 10222, 21414, 62589, 27083, 55445, - 65268, 49282, 32584, 52143, 47818, 57706, 33115, 35497, 3728, 64349, 34303, - 61415, 44515, 19738, 36960, 13078, 9560, 25024, 37541, 32625, 41533, 43929, - 16782, 6315, 10022, 34116, 17224, 47095, 43216, 23780, 37087, 44743, 59211, - 48291, 52677, 16326, 10432, 47573, 33551, 36363, 6217, 22373, 6482, 5739, - 37867, 6330, 50427, 35477, 53711, 38864, 34681, 62823, 7141, 47001, 34490, - 60680, 64803, 23574, 16860, 24014, 47457, 37738, 9398, 22680, 1112, 36095, - 57678, 13673, 30265, 956, 26267, 45095, 3738, 30444, 9121, 39042, 15809, 52989, - 30638, 27954, 19823, 15864, 4720, 43622, 4361, 16789, 43755, 6382, 34963, - 63158, 41522, 4943, 57944, 1045, 14950, 19627, 1426, 25140, 15415, 63297, - 16395, 34702, 19603, 36802, 9949, 36749, 41228, 23609, 44648, 31472, 56689, - 38769, 42373, 28243, 21125, 55941, 17313, 6664, 17972, 46653, 42144, 61639, - 19451, 32778, 47092, 15325, 25443, 9602, 39685, 22793, 36698, 52024, 64103, - 20444, 5585, 2219, 37095, 42077, 3375, 11188, 27240, 57631, 23837, 34780, - 20844, 63314, 14055, 6938, 13815, 49308, 61189, 17189, 17835, 30630, 2906, - 44540, 22967, 37050, 11736, 42100, 13920, 63261, 51263, 55799, 54238, 54753, - 37249, 34854, 38661, 38555, 12747, 13275, 52616, 16789, 52568, + 56408, 61365, 9279, 903, 31115, 9775, 20507, 30317, 59362, 20743, 16552, 36108, + 22961, 29672, 19552, 7599, 53970, 10548, 44814, 26173, 34010, 47860, 51321, + 6361, 25857, 31826, 39286, 47620, 11766, 56215, 4605, 10337, 62081, 24409, + 53653, 40085, 41398, 63566, 64952, 7760, 50321, 44674, 37374, 56430, 59559, + 57198, 49443, 34044, 35741, 161, 43887, 52933, 62906, 43096, 51604, 15862, + 51233, 15259, 21807, 57071, 3441, 1511, 31170, 41454, 8954, 9172, 57618, 43042, + 3033, 44658, 9027, 36312, 19295, 17776, 28204, 35318, 46442, 58706, 36036, + 55999, 5093, 43984, 965, 9625, 7709, 63228, 20605, 37067, 6769, 41433, 53186, + 34211, 50131, 39599, 2251, 63553, 37999, 43484, 55553, 53746, 18529, 59223, + 38433, 59691, 38064, 12606, 65327, 33034, 7029, 24552, 44816, 41365, 51567, + 64669, 19201, 42688, 38528, 39033, 48477, 12300, 5379, 9857, 17916, 19525, + 42405, 52703, 3852, 46739, 9812, 17890, 5110, 19733, 51544, 31208, 52707, + 55511, 18006, 56766, 64208, 25867, 47373, 3584, 14260, 61945, 36972, 59330, + 2192, 32828, 57735, 34283, 26208, 9812, 40824, 53320, 39120, 42817, 37540, + 16163, 23237, 10288, 56744, 12702, 48690, 20825, 63661, 48530, 35032, 17795, + 38732, 17563, 31140, 32650, 13005, 47348, 42202, 18107, 37143, 37550, 36987, + 42833, 39673, 45124, 29712, 57705, 65523, 11334, 8638, 63758, 1347, 23256, + 61794, 28643, 7932, 53994, 48123, 15101, 32415, 11693, 44867, 4018, 20981, + 56304, 18567, 46173, 42624, 62493, 17947, 11444, 31601, 63509, 53688, 26705, + 34780, 59441, 4223, 1165, 22437, 24073, 38315, 35752, 6247, 21960, 41883, 2717, + 2748, 15746, 65014, 25763, 32571, 38705, 6829, 57172, 74, 14509, 10460, 31342, + 29941, 8177, 59076, 34973, 3263, 11501, 30166, 24257, 38183, 63535, 50092, + 32889, 36441, 63354, 38305, 53303, 3213, 23681, 5572, 35388, 462, 46461, 43912, + 1274, 7902, 55595, 37884, 60574, 25109, 2975, 33298, 19114, 31205, 2818, 34665, + 3779, 30793, 44724, 9318, 36591, 27289, 52378, 61104, 14355, 55356, 44330, + 48788, 876, 51257, 12199, 13437, 8114, 60774, 45122, 40045, 36910, 24480, + 56455, 10682, 17842, 11909, 41220, 6856, 41577, 49591, 12315, 25184, 35994, + 22365, 39470, 10816, 5525, 37553, 59359, 33060, 55583, 39312, 14458, 47779, + 26227, 36099, 51332, 40196, 53651, 35193, 9747, 43226, 16553, 44826, 53065, + 53981, 42011, 20347, 9362, 22629, 23709, 31994, 56931, 58737, 25703, 2646, + 16284, 49768, 24647, 29236, 60764, 58527, 56369, 4809, 23250, 27806, 35791, + 11102, 53887, 25276, 2069, 9642, 20266, 65073, 43662, 20761, 88, 18462, 18770, + 36031, 4105, 46450, 40725, 27026, 45763, 20160, 429, 5378, 62493, 27072, 27921, + 9339, 41361, 26215, 25124, 12275, 53621, 31447, 54567, 13015, 12057, 11482, + 25284, 26461, 19772, 14671, 60076, 42970, 20545, 39285, 48806, 18526, 46229, + 44984, 21961, 27652, 30916, 43254, 1353, 27819, 2085, 31258, 30774, 20656, + 50391, 34354, 27482, 8365, 30907, 49104, 37886, 26300, 58764, 63180, 51505, + 51538, 48915, 58450, 43428, 23072, 907, 20856, 56490, 24597, 51995, 31526, + 57710, 5956, 61340, 16289, 45515, 27164, 40244, 39283, 52718, 60463, 51324, + 40090, 50027, 6180, 40208, 64746, 3223, 15740, 6757, 28504, 55684, 36883, + 55243, 12637, 34100, 37747, 30475, 57033, 12707, 20514, 64054, 58313, 63005, + 7186, 18098, 52147, 31769, 58224, 10269, 47788, 33651, 60201, 53800, 60066, + 4852, 10085, 16673, 45807, 50849, 15683, 16611, 20278, 55287, 13271, 35013, + 1689, 26596, 8575, 13853, 54389, 26815, 63362, 1162, 45603, 12844, 15331, + 44479, 62876, 15124, 42689, 64522, 5962, 52582, 65003, 7455, 17444, 9843, 2507, + 47649, 12074, 53249, 48525, 48339, 22658, 62104, 56643, 8052, 1926, 57580, + 27728, 59257, 25315, 55397, 54876, 34273, 28664, 36367, 11384, 55072, 22230, + 28482, 45237, 11017, 50303, 19031, 43158, 60141, 5823, 43913, 48924, 11649, + 60267, 41252, 7662, 40135, 15391, 47957, 6024, 48096, 49336, 16173, 218, 8025, + 38298, 1174, 44144, 40840, 62862, 12391, 23517, 25079, 28163, 3556, 65389, + 10016, 11329, 5151, 64198, 3087, 47921, 61681, 59733, 4636, 14097, 46441, + 26571, 48353, 19188, 40806, 39466, 23284, 2134, 25586, 18548, 28201, 42970, + 24783, 8710, 28849, 39846, 14968, 1740, 1999, 10183, 36907, 20290, 7701, 39671, + 38204, 26550, 37541, 49517, 40336, 10442, 15375, 11919, 23004, 52051, 44718, + 35874, 49033, 59164, 36017, 14593, 57643, 23764, 37436, 24119, 27665, 14245, + 45119, 1851, 37551, 21221, 10187, 60022, 10133, 45798, 9089, 64769, 64484, + 59298, 9143, 57804, 60470, 40461, 17021, 46515, 21246, 19362, 29937, 37197, + 17341, 19247, 46329, 65029, 59777, 12984, 1102, 20472, 52710, 55114, 40355, + 38902, 39954, 15988, 42346, 50944, 3324, 14443, 56291, 56624, 51149, 4837, + 45824, 908, 10990, 43762, 47420, 36392, 32029, 63092, 935, 60270, 674, 32785, + 43706, 21294, 63739, 5275, 5377, 5008, 12934, 45320, 15789, 35750, 51030, + 14462, 30912, 28011, 20382, 36812, 53357, 54641, 12664, 38116, 19877, 29424, + 23640, 48978, 23960, 25192, 8992, 32128, 52536, 12631, 18256, 37548, 3018, + 7890, 18852, 39566, 51167, 43999, 30760, 36030, 61600, 17772, 2949, 15782, + 38531, 47300, 33921, 33352, 42288, 59053, 52902, 7250, 8833, 7777, 61704, + 55278, 63261, 27673, 54921, 10021, 20363, 65048, 31217, 7995, 12296, 15459, + 52384, 42841, 20855, 34718, 17523, 58745, 19668, 51517, 4777, 49166, 381, + 13850, 47185, 10574, 64896, 55259, 51528, 16563, 13922, 23108, 38405, 6296, + 64938, 41784, 62733, 62107, 9510, 11039, 14394, 5439, 1153, 11329, 65097, 4409, + 39356, 44464, 50017, 43656, 55395, 5742, 37521, 59587, 53723, 22784, 1127, + 54952, 40911, 46916, 11831, 24047, 58220, 49096, 45647, 53394, 12747, 6050, + 12594, 58420, 6597, 57068, 39976, 64932, 22677, 17311, 46285, 35171, 57310, + 41922, 37499, 58495, 22969, 8233, 12616, 35337, 26983, 30778, 33390, 12639, + 49801, 12443, 49862, 37771, 48668, 51982, 60969, 2628, 3656, 24376, 58479, + 39986, 63823, 58562, 61111, 49358, 55661, 6518, 23302, 46538, 35358, 44050, + 7160, 44683, 16253, 51841, 29263, 59470, 42534, 51112, 24861, 20943, 58256, + 36589, 29060, 14946, 57182, 52842, 16995, 42106, 62456, 35985, 43770, 37744, + 26814, 58578, 34821, 792, 18721, 56167, 56742, 36183, 3291, 52187, 11146, 3258, + 6269, 37280, 37380, 5210, 38307, 30216, 56248, 5148, 12622, 24405, 9245, 28641, + 45672, 50254, 12575, 41018, 535, 28169, 50367, 42967, 25699, 28077, 10543, + 23062, 15460, 20931, 61126, 6882, 43584, 24209, 38474, 50295, 15269, 25181, + 28497, 30970, 36289, 35570, 59075, 6754, 19579, 24441, 50140, 29369, 49749, + 35394, 37385, 35815, 65098, 8346, 3282, 5740, 57943, 55153, 3379, 48142, 43368, + 49308, 20920, 30512, 20610, 59534, 6691, 40086, 10580, 504, 24654, 50764, 1371, + 29697, 28480, 27015, 6049, 14438, 57976, 33254, 14479, 17454, 43424, 39540, + 48248, 11454, 52970, 57139, 47794, 54891, 43472, 5952, 46945, 37107, 41072, + 18540, 36831, 22311, 12116, 58498, 50420, 1411, 1555, 47045, 44841, 58799, + 25178, 24602, 33537, 29722, 42746, 61795, 5564, 34873, 6131, 26533, 26502, + 43907, 26850, 1951, 26625, 9509, 58079, 50170, 52887, 1611, 65082, 3664, 32566, + 10237, 12375, 22764, 49728, 17285, 50663, 56437, 11507, 17281, 42379, 34309, + 25175, 60147, 20043, 1121, 36641, 11215, 56020, 63529, 49110, 52642, 8241, + 14382, 26558, 9404, 42074, ])) .unwrap(), - c: 131, + c: 133, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_7/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_6/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -9993,369 +4740,351 @@ fn test_containers_complex_test_struct_lengthy_7() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("79cd0ec624c402f43dad6d2c2e9c7699ff6c9f59e30455409194db3c2a48ade5"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_random_2() { - let mut value = FixedTestStruct { a: 73, b: 17290263866691938161, c: 3311333766 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("925af6af4968ef66f299362d6b40cf4164b3e27fbb7e085445f0c9b827e74ccc"); + root_from_hex("0x4741272dc08836f02aa60f80fa5406f123bc608906860f276af418b525c49756"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_lengthy_0() { +fn test_containers_complex_test_struct_lengthy_7() { let mut value = ComplexTestStruct { - a: 34044, + a: 30521, b: List::::try_from(Vec::::from_iter([ - 48874, 34700, 53776, 29805, 17569, 35418, 43707, 15489, 5164, 33511, 1254, 54569, - 16520, 32997, 29838, 23006, 40826, 60676, 46896, 6267, 31061, 14530, 56395, 56663, - 2084, 56824, 62602, 58694, 51680, 18415, 34766, 3506, 23098, 54494, 27270, 42848, - 27840, 1235, 57458, 18698, 42777, 56323, 14515, 8153, 4254, 57377, 27167, 35643, 40944, - 52977, 7846, 1253, 39539, 20098, 46499, 35303, 48573, 40247, 25159, 20692, 43641, - 17960, 58202, 42582, 9646, 37256, 65084, 26088, 52645, 62272, 31932, 14050, 38418, - 9204, 46698, 61903, 13828, 53723, 59474, 56151, 15229, 53335, 60044, 47156, 25870, - 45301, 25326, 13946, 8490, 38033, 19445, 6806, 6972, 58745, 19550, 6545, 61811, 58973, - 14877, 31691, 19354, 29588, 24023, 26217, 56464, 21662, 16898, 9753, 50257, 14051, - 2119, 53084, 41811, 44751, 53566, 38834, 5628, 58306, 28488, 51782, 29900, 12554, - 15448, 16999, 13292, 59987, 32816, 8584, + 10757, 35890, 12515, 50368, 25758, 35190, 25950, 21021, 49712, 38881, 38680, 30011, + 4064, 55981, 47138, 59921, 45521, 20265, 14741, 11262, 8367, 64030, 10448, 40723, + 62505, 3639, 55780, 61641, 41167, 16656, 8119, 15105, 15914, 52091, 53317, 33987, + 58752, 30803, 35976, 39145, 11730, 61249, 44559, 6939, 27626, 52987, 15022, 18764, + 12586, 35713, 15780, 13105, 12997, 55555, 36315, 58098, 28815, 12879, 22618, 32975, + 28616, 6821, 42723, 10854, 41342, 4193, 26184, 2580, 21194, 47861, 65451, 45510, 62093, + 62855, 20637, 29736, 3043, 145, 54436, 43015, 52293, 50082, 36481, 59583, 21178, 17853, + 11801, 12943, 3584, 45978, 54013, 37949, 39997, 32388, 36428, 17725, 39198, 7599, + 60281, 29528, 14864, 19332, 48578, 40088, 27335, 42630, 8360, 35401, 58522, 18576, + 20625, 6665, 50698, 46374, 18421, 37370, 48564, 42619, 27550, 29524, 19179, 34087, + 9549, 56589, 23552, 35125, 45204, 35582, ])) .unwrap(), - c: 250, + c: 210, d: List::::try_from(Vec::::from_iter([ - 35, 210, 33, 112, 187, 147, 48, 91, 156, 105, 238, 219, 117, 100, 200, 235, 191, 6, - 115, 210, 221, 78, 181, 61, 189, 5, 165, 235, 210, 230, 252, 143, 236, 219, 212, 17, - 117, 56, 198, 82, 187, 155, 134, 148, 17, 109, 251, 103, 184, 201, 98, 14, 223, 252, - 205, 86, 71, 200, 122, 163, 99, 29, 108, 156, 165, 212, 118, 240, 187, 123, 0, 252, - 146, 235, 33, 59, 26, 138, 135, 215, 215, 0, 164, 189, 147, 15, 210, 10, 99, 77, 29, - 73, 125, 72, 225, 185, 56, 39, 231, 199, 165, 38, 134, 44, 152, 209, 170, 38, 156, 226, - 99, 143, 67, 241, 234, 70, 28, 229, 255, 105, 152, 137, 10, 151, 20, 225, 211, 181, 23, - 47, 23, 223, 20, 85, 99, 150, 50, 255, 248, 227, 190, 249, 164, 208, 151, 104, 134, - 163, 78, 96, 56, 37, 76, 118, 61, 170, 49, 69, 175, 33, 0, 99, 208, 112, 79, 45, 200, - 159, 49, 240, 101, 156, 251, 94, 169, 201, 18, 241, 0, 170, 173, 14, 84, 100, 186, 168, - 158, 116, 122, 223, 112, 12, 111, 83, 99, 63, 13, 182, 139, 40, 9, 0, 164, 191, 156, - 176, 36, 117, 85, 98, 214, 117, 38, 12, 100, 37, 49, 208, 235, 209, 133, 159, 146, 234, - 207, 245, 223, 102, 176, 43, 63, 201, 34, 172, 111, 88, 177, 209, 34, 138, 145, 13, - 222, 130, 253, 186, 49, 87, 212, 156, 231, 136, 186, 199, 171, 140, + 166, 27, 8, 16, 152, 164, 224, 203, 128, 168, 249, 157, 113, 29, 67, 241, 27, 84, 115, + 165, 127, 71, 211, 107, 25, 35, 99, 24, 80, 7, 40, 237, 113, 18, 213, 168, 53, 151, + 137, 128, 87, 46, 90, 144, 122, 11, 87, 45, 20, 171, 156, 201, 105, 241, 65, 16, 64, + 72, 7, 152, 4, 183, 47, 222, 110, 212, 219, 200, 196, 27, 33, 170, 166, 87, 48, 247, + 240, 143, 107, 239, 71, 53, 157, 140, 143, 203, 248, 208, 52, 87, 66, 215, 73, 90, 152, + 97, 126, 249, 32, 188, 178, 46, 242, 157, 52, 35, 44, 22, 214, 71, 128, 105, 229, 99, + 61, 229, 155, 100, 34, 23, 164, 60, 14, 189, 10, 62, 60, 65, 165, 247, 222, 229, 175, + 138, 162, 132, 78, 144, 125, 53, 29, 218, 146, 74, 230, 44, 116, 99, 149, 184, 69, 101, + 74, 135, 77, 40, 126, 81, 67, 1, 78, 246, 51, 248, 111, 200, 177, 87, 134, 17, 113, + 154, 161, 73, 129, 17, 252, 47, 69, 76, 203, 112, 113, 114, 47, 147, 161, 101, 24, 5, + 154, 147, 138, 170, 118, 155, 10, 206, 247, 221, 181, 248, 111, 94, 156, 129, 158, 45, + 117, 136, 55, 9, 125, 65, 52, 185, 107, 202, 64, 79, 83, 1, 255, 212, 178, 228, 57, 46, + 49, 100, 126, 89, 53, 153, 121, 136, 166, 76, 146, 120, 17, 224, 134, 108, 163, 169, + 234, 249, 167, 30, 77, 67, 152, 182, 174, 104, ])) .unwrap(), e: VarTestStruct { - a: 58150, + a: 27041, b: List::::try_from(Vec::::from_iter([ - 28375, 58221, 41145, 32357, 1664, 57869, 13675, 35989, 49729, 26286, 64527, 44083, - 50267, 27448, 34519, 3283, 60852, 63342, 40004, 35369, 30566, 21773, 18301, 59649, - 7569, 50344, 46676, 17930, 10745, 52690, 57680, 1384, 10842, 54891, 65494, 16900, - 49987, 44177, 25269, 16949, 60887, 3941, 10023, 22469, 61976, 63026, 44690, 15845, - 8017, 59159, 1637, 47743, 13948, 32319, 29050, 50525, 13954, 19511, 53874, 59934, - 60668, 27052, 3576, 37153, 5832, 20342, 31511, 29631, 13707, 65518, 36833, 45582, - 20628, 31310, 60814, 19798, 30013, 58186, 44674, 45819, 62235, 9803, 15318, 36806, - 29814, 8759, 31328, 12085, 59511, 27639, 38322, 36305, 35942, 18714, 53126, 15704, - 5161, 73, 28208, 5106, 40668, 55453, 13761, 18509, 27411, 40681, 44371, 11459, - 43334, 43283, 49557, 34276, 34263, 18122, 24981, 60351, 29562, 23301, 28407, 38218, - 62851, 47538, 37942, 12176, 52646, 18213, 980, 18458, 21438, 21869, 21069, 46735, - 47700, 10282, 5030, 34532, 31856, 21106, 56536, 56941, 15490, 5424, 48271, 22437, - 17636, 56304, 21694, 13921, 10890, 30935, 65255, 15202, 13200, 55152, 49984, 64350, - 64190, 55396, 30081, 40652, 28707, 36318, 13352, 48148, 23019, 19405, 3066, 47303, - 52657, 29852, 49627, 41773, 4718, 598, 28502, 60987, 43692, 9108, 43528, 48462, - 26998, 55727, 15543, 25347, 29289, 14577, 1670, 49577, 19860, 45573, 54837, 17472, - 18756, 44889, 14991, 1515, 32803, 48145, 21595, 19652, 4710, 23304, 39417, 7918, - 34936, 41671, 35693, 14717, 23279, 23870, 8924, 36944, 4427, 752, 32567, 10910, - 19039, 55410, 7733, 8427, 13830, 48607, 31085, 23343, 23847, 18518, 8019, 19893, - 58818, 13052, 35223, 10088, 57577, 14274, 5466, 61505, 14397, 20959, 13589, 60803, - 44786, 34183, 29388, 18951, 12203, 52757, 45107, 20924, 41979, 28307, 34069, 25333, - 27807, 32264, 43868, 17788, 29153, 16431, 48032, 17888, 41411, 56308, 2, 6695, - 10935, 48781, 43941, 62390, 22558, 28772, 12397, 50375, 64923, 56284, 44290, 4288, - 33833, 16440, 18649, 54317, 59248, 51589, 54749, 33695, 1348, 10750, 58660, 55582, - 43318, 842, 45, 43800, 22637, 18496, 23078, 61830, 8797, 36543, 51813, 19150, - 51513, 51109, 40101, 5082, 43947, 30362, 53914, 2190, 12651, 8587, 44746, 52970, - 64474, 61806, 5650, 6620, 63698, 5893, 22999, 9332, 56506, 22347, 28741, 54123, - 23263, 42707, 63813, 15870, 56784, 150, 11640, 4029, 7484, 790, 37465, 12951, 1233, - 56496, 48523, 10045, 28780, 37987, 63093, 23471, 30390, 34022, 9484, 58517, 44462, - 19112, 28290, 64440, 18120, 40954, 62676, 7008, 13962, 54984, 17172, 32919, 61142, - 41814, 12788, 28297, 3791, 45471, 30443, 22098, 12566, 28470, 21197, 22694, 7963, - 7772, 41589, 59990, 56795, 54740, 7022, 56014, 18619, 36740, 4500, 34963, 53211, - 17261, 4145, 37154, 19986, 43903, 26165, 29420, 64201, 15729, 15956, 42823, 1475, - 7137, 32108, 26635, 41910, 65517, 54285, 55628, 24778, 60958, 27893, 52969, 22786, - 16070, 3097, 9016, 18905, 6510, 20739, 30262, 12217, 10171, 10699, 15860, 21922, - 62626, 2849, 26393, 13509, 44374, 22478, 16598, 2442, 35425, 34232, 64801, 13569, - 33877, 63493, 23856, 12910, 56640, 24645, 30277, 21555, 40677, 18783, 44023, 20131, - 7527, 20375, 63956, 46726, 20608, 17139, 19476, 3477, 64523, 52059, 19526, 17394, - 57143, 31792, 62867, 16734, 56946, 53330, 17317, 24629, 41244, 30946, 37039, 61422, - 55935, 50574, 1049, 36279, 59209, 53991, 20968, 5286, 6720, 38891, 6823, 888, - 10192, 27267, 53894, 31583, 52868, 41408, 47190, 38338, 18671, 15046, 36256, 40596, - 22827, 22250, 405, 29253, 10027, 2155, 54481, 14021, 30918, 19853, 2571, 24299, - 24057, 34154, 4806, 17219, 6716, 41710, 41292, 36490, 59387, 387, 13282, 40783, - 32502, 51885, 10715, 47061, 60087, 60490, 60576, 33242, 4772, 7260, 48628, 62850, - 45515, 2030, 22255, 51734, 32005, 8489, 40064, 57951, 2720, 48489, 44505, 9257, - 36382, 12953, 56376, 63298, 64278, 2769, 16330, 18864, 44393, 52507, 3427, 20562, - 65432, 14733, 4647, 53458, 64805, 55385, 40424, 53899, 7460, 25501, 20486, 50181, - 20061, 30783, 3153, 37987, 22288, 61066, 29808, 15995, 10585, 33663, 34543, 26007, - 23913, 62267, 49703, 23390, 55425, 19485, 17121, 44531, 4094, 32941, 17454, 32358, - 22177, 27919, 27215, 26345, 16975, 36517, 61898, 40440, 32515, 33802, 16632, 5226, - 25817, 63632, 41165, 40082, 28264, 44057, 60594, 42564, 41906, 28205, 35183, 10188, - 59644, 6293, 14679, 51165, 58128, 46776, 33987, 45399, 46177, 22498, 41427, 40014, - 49718, 59135, 24675, 26921, 4328, 56179, 49374, 50808, 26062, 46246, 16649, 60154, - 12596, 26360, 13768, 27301, 50349, 26066, 64172, 47610, 55514, 8764, 62015, 63086, - 27632, 41705, 63582, 1288, 63506, 5810, 65503, 26449, 16293, 3129, 15541, 39735, - 41940, 12309, 41197, 6947, 7351, 27575, 42095, 7418, 21122, 36041, 53537, 16988, - 25978, 41817, 51005, 8209, 60786, 18328, 59131, 18865, 36696, 10982, 35201, 38825, - 25336, 2358, 40828, 55543, 43385, 5054, 50406, 16618, 55789, 19667, 25421, 28399, - 2524, 45630, 14183, 5632, 52200, 45566, 26257, 23502, 49474, 49330, 50417, 25191, - 51210, 64374, 34010, 65406, 31787, 33873, 62361, 52923, 30090, 38395, 61522, 6542, - 1687, 36154, 12044, 26590, 54522, 27254, 20341, 57812, 15919, 64081, 11500, 37268, - 56753, 58201, 61164, 32780, 44472, 26289, 22851, 60136, 1476, 30248, 35190, 20989, - 24663, 34995, 4432, 44128, 6635, 46005, 7393, 39515, 2871, 29986, 29749, 50079, - 36948, 34487, 59993, 12757, 57152, 20192, 5776, 23616, 51020, 42344, 16934, 25068, - 33204, 56066, 57846, 16551, 11423, 46229, 49283, 10710, 834, 53793, 26481, 7233, - 15416, 47358, 40005, 43889, 52539, 8561, 60718, 34482, 37970, 48864, 36847, 34941, - 6042, 734, 13559, 65307, 24069, 56211, 63235, 8503, 36787, 58113, 62242, 55660, - 30944, 42380, 22261, 44119, 7916, 9903, 13525, 14513, 2720, 42721, 3513, 63495, - 24992, 33404, 37099, 31517, 47922, 28095, 12195, 56497, 60157, 59855, 55384, 28603, - 31811, 13162, 62639, 16688, 43366, 21377, 29904, 10793, 10645, 44144, 14836, 57708, - 59748, 9145, 25175, 64324, 4664, 151, 44634, 43351, 23400, 64555, 20191, 2702, - 30879, 48431, 5694, 14436, 4924, 36958, 15660, 5294, 61227, 28847, 21116, 4999, - 17946, 23859, 39921, 51429, 32450, 50129, 16084, 61858, 48685, 47145, 46495, 22796, - 20777, 32161, 52813, 57967, 21575, 60176, 47299, 60912, 38332, 28302, 54683, 52211, - 929, 5025, 41998, 36619, 17771, 16712, 37397, 7502, 24590, 32974, 63998, 5914, - 43280, 61120, 27778, 1558, 24839, 27343, 18623, 32180, 6320, 8764, 32613, 59302, - 54110, 63461, 41102, 60618, 23378, 9764, 60883, 61403, 62898, 29789, 10343, 2496, - 59042, 25765, 55100, 59014, 61844, 16541, 24325, 24263, 32675, 11017, 37568, 62902, - 3396, 43313, 58237, 38512, 65225, 29192, 57963, 63687, 14971, 43291, 31524, 29912, - 65468, 51212, 48846, 44133, 618, 13987, 28545, 20894, 9351, 46583, 2088, 3439, - 28894, 30305, 60376, 30077, 36410, 19646, 50906, 8164, 48525, 17178, 5325, 48213, - 54335, 24349, 9710, 22967, 44316, 5782, 26138, 11941, 36293, 50938, 49133, 5500, - 41539, 51770, 36701, 39085, 33344, 30340, 56475, 33883, 57074, 60492, 49022, 58091, - 4384, 5411, 33155, 56957, 36746, 23977, 15290, 816, 21135, 63003, 49998, 23391, - 29302, 14140, 7253, 46182, 5993, 63370, 2166, 23187, 35562, 27379, 58117, 30136, - 43811, 96, 3774, + 49600, 61775, 21387, 44317, 23608, 33906, 31434, 61720, 30487, 61629, 62489, 53183, + 6739, 42206, 33620, 45146, 52617, 4696, 23207, 42706, 44091, 3309, 22826, 24081, + 38684, 15934, 50964, 32181, 34184, 32606, 21759, 38223, 19125, 44609, 57140, 58834, + 4801, 50545, 10086, 29252, 54060, 12525, 58780, 1300, 24995, 62135, 31105, 41613, + 20832, 29299, 18164, 36172, 15004, 58376, 64230, 64055, 49875, 40591, 58249, 40585, + 37618, 60025, 11635, 34482, 49751, 8496, 28883, 64002, 45259, 8948, 60117, 1663, + 45342, 23917, 13786, 34365, 32563, 24011, 1086, 45351, 25791, 60747, 61720, 19428, + 22802, 27246, 7015, 65338, 40548, 12277, 35081, 41459, 27326, 50564, 47023, 54679, + 2804, 38190, 51806, 21795, 12182, 36428, 477, 65070, 25644, 38394, 63283, 36261, + 61914, 49964, 55277, 33547, 39696, 31036, 31006, 52697, 45745, 56971, 37404, 39118, + 802, 29699, 960, 25552, 30653, 48998, 7044, 10608, 31466, 22372, 51057, 35007, + 24785, 37771, 19875, 34121, 44743, 27521, 6023, 58913, 23733, 15861, 48487, 50859, + 52867, 39431, 50481, 18607, 20243, 34343, 4791, 26930, 60013, 20925, 10993, 33913, + 6035, 2216, 19581, 7814, 40614, 7809, 51781, 33924, 5514, 36179, 62600, 56435, + 65313, 10400, 15626, 15213, 48139, 12755, 11544, 39989, 27381, 51889, 31306, 49777, + 9775, 34623, 44564, 54900, 53268, 16176, 17332, 636, 638, 43044, 26962, 35851, + 64215, 54835, 30082, 62363, 44934, 4784, 11795, 17119, 38379, 45660, 12506, 60110, + 57183, 6478, 24047, 19342, 2734, 19217, 16219, 31026, 15411, 13410, 43181, 35809, + 32686, 18376, 2496, 23904, 57206, 11820, 19397, 7919, 33029, 60772, 23086, 40602, + 62917, 41786, 16865, 42189, 38226, 55964, 51785, 61186, 52845, 32595, 4578, 15050, + 3346, 6267, 48040, 54333, 16786, 7318, 48790, 32131, 49916, 28357, 47765, 10234, + 25577, 45201, 3885, 18658, 58845, 20671, 56205, 35710, 51446, 33175, 23613, 35948, + 26876, 64975, 63149, 60613, 6858, 39184, 21414, 7663, 5463, 26004, 8483, 44214, + 43087, 12121, 47589, 64373, 28854, 16934, 31237, 47624, 7826, 19932, 1499, 46533, + 56395, 57458, 64746, 42487, 53463, 10681, 49246, 48813, 11075, 23221, 58349, 42103, + 42718, 15360, 44046, 17004, 1319, 5765, 47678, 14993, 11717, 48410, 3705, 64362, + 18796, 6586, 11188, 17916, 43055, 42968, 54055, 20005, 3349, 8986, 40001, 22986, + 40893, 31454, 60828, 10778, 11000, 49999, 19184, 24204, 38294, 56925, 35888, 18647, + 63133, 15852, 12811, 55156, 63081, 30560, 10613, 578, 21423, 15344, 46588, 9781, + 10799, 18863, 29416, 14697, 41097, 15992, 24999, 43217, 53357, 58056, 19815, 14798, + 23451, 1325, 52924, 43188, 56101, 1866, 59895, 55056, 14423, 3204, 50262, 53377, + 29041, 59013, 2239, 3975, 23459, 61255, 8540, 29151, 45468, 55815, 41237, 24387, + 41098, 33582, 53984, 22224, 17212, 19913, 35416, 27613, 38630, 47795, 20106, 12203, + 1227, 62979, 24822, 10594, 3270, 2988, 13821, 44678, 35836, 47672, 55189, 38775, + 5634, 38167, 7523, 31434, 19651, 14798, 62148, 1011, 27738, 40121, 31530, 63368, + 36038, 53762, 2928, 19322, 44731, 9120, 22974, 51100, 48553, 62294, 63199, 20763, + 5382, 18465, 18901, 12548, 10022, 56028, 16244, 9669, 48181, 9509, 30835, 46120, + 57911, 42047, 831, 2898, 45462, 18104, 3849, 43064, 63549, 50179, 32631, 9473, + 62641, 61487, 53746, 51999, 26268, 35895, 50248, 25364, 7762, 9668, 36186, 35147, + 31511, 684, 50919, 5139, 40201, 15114, 36926, 25951, 15206, 56822, 12517, 17423, + 22233, 40624, 45201, 47729, 30568, 23114, 27258, 58340, 17070, 12023, 46841, 7164, + 25449, 32079, 65305, 63254, 63226, 7971, 32989, 42042, 45422, 63513, 31462, 12250, + 30917, 24784, 38444, 31772, 35021, 10283, 12408, 36924, 6582, 60677, 50199, 894, + 8593, 59585, 12766, 20020, 46231, 23283, 58546, 18483, 29026, 38069, 48164, 17418, + 12521, 41392, 25184, 18692, 37690, 63055, 14440, 17753, 19065, 14596, 55031, 43079, + 28846, 59284, 55501, 30972, 37270, 61187, 47350, 17190, 58159, 12954, 32122, 57852, + 28912, 16187, 26695, 53193, 59891, 65426, 40778, 63816, 32093, 59086, 38586, 5939, + 57907, 44873, 44620, 64060, 57814, 60855, 34191, 20549, 44740, 7974, 27397, 3237, + 43493, 17244, 8347, 54782, 35280, 51977, 27761, 46352, 49620, 16987, 24423, 53386, + 58077, 30375, 14266, 65325, 34235, 23281, 4424, 63614, 1398, 64361, 2930, 32803, + 57336, 10316, 45895, 32190, 59305, 41692, 20841, 40889, 59867, 50962, 14147, 51709, + 59810, 39868, 4328, 36406, 43028, 48452, 56791, 5163, 63020, 46371, 9780, 18302, + 60260, 15493, 16110, 558, 59687, 29486, 31673, 9047, 32328, 37263, 49000, 7374, + 62590, 54787, 39241, 927, 41779, 15873, 41042, 14323, 52868, 50135, 5303, 55660, + 1292, 37131, 40413, 62478, 41112, 56077, 16238, 13025, 62333, 16197, 10543, 48016, + 42674, 10859, 15929, 34335, 47091, 49321, 46545, 33551, 33504, 22837, 39801, 57764, + 37490, 13963, 39750, 28474, 22087, 58703, 15526, 45634, 38730, 57103, 22749, 58383, + 1127, 11522, 28856, 52026, 61543, 55417, 22948, 20569, 35359, 4436, 45577, 12140, + 49817, 61949, 22675, 8027, 58761, 55661, 33889, 54508, 53847, 63020, 32063, 8901, + 57762, 36581, 29011, 21097, 9182, 50926, 59726, 33845, 37074, 10414, 42946, 56885, + 21471, 15339, 4882, 47573, 63689, 8183, 35091, 33854, 41940, 37328, 30004, 46, + 39520, 50311, 2019, 19361, 30508, 15455, 56175, 16580, 26561, 9424, 11380, 30991, + 59904, 59351, 20741, 8092, 28568, 46740, 60735, 35372, 26709, 13410, 23177, 37215, + 52392, 54816, 26853, 14321, 3497, 21829, 33036, 41828, 48725, 44004, 25457, 20071, + 2832, 43006, 40076, 2831, 19795, 60767, 24095, 5464, 52362, 14626, 7906, 42281, + 33382, 37535, 9845, 50087, 51061, 16326, 2966, 18477, 31622, 22862, 53792, 59073, + 36607, 26508, 42679, 29438, 50147, 37839, 37789, 53749, 64892, 62089, 39303, 44226, + 64146, 12180, 50464, 34574, 25638, 59428, 44739, 45407, 55871, 17483, 47212, 23559, + 31276, 12088, 24447, 49736, 37119, 178, 37733, 13581, 44009, 42689, 26041, 61992, + 24926, 60496, 5190, 15508, 36716, 35107, 42640, 63819, 3139, 63830, 38695, 29625, + 1495, 4701, 12714, 26079, 14941, 50193, 48948, 8626, 2927, 60193, 5945, 9252, + 49455, 4491, 8887, 50812, 50950, 42731, 54203, 11022, 65374, 47568, 22996, 58943, + 50798, 47748, 44712, 61317, 14239, 14982, 25532, 15777, 18016, 46939, 36344, 41507, + 36395, 18903, 52701, 53037, 42966, 58023, 23187, 26511, 55852, 36291, 54467, 52751, + 65345, 23386, 26948, 837, 13627, 44343, 63452, 26625, 16973, 10977, 23075, 39897, + 53958, 35031, 51629, 24041, 25322, 65323, 62018, 31668, 51181, 17327, 50232, 10722, + 29459, 51347, 4304, 16115, 16914, 34935, 7618, 61680, 55410, 34603, 61463, 30787, + 15002, 38827, 47707, 22085, 21440, 64953, 64680, 4762, 65362, 13508, 63308, 38718, + 33205, 47217, 55917, 21394, 40123, 51619, 13265, 1655, 39793, 32247, 46747, 61114, + 48189, 2827, 35637, 39573, 14265, 26559, 55485, 6884, 28471, 22006, 5827, 56990, + 50066, 19927, 21504, 28651, 22878, 51866, 29949, 13774, 58907, 7674, 41774, 10103, + 7828, 33439, 33884, 52414, 1987, 36590, 15359, 21499, 51277, 17036, 51875, 39252, + 32361, 6432, 61861, 51531, 6703, 20282, 44149, 27813, 59030, 23429, 9187, 52354, + 36805, 60491, 51507, 2868, 60113, 29276, 42840, 12913, 22033, 33483, 27810, 48477, + 62416, 20777, 36435, 36355, 31295, 4141, 54671, 1240, 38977, 29878, 26934, 9969, + 12291, 19161, 4876, 9705, ])) .unwrap(), - c: 105, + c: 141, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 129, b: 4365870474151103771, c: 3073914233 }, - FixedTestStruct { a: 27, b: 34960855107345240, c: 2881905467 }, - FixedTestStruct { a: 79, b: 258237538561784111, c: 2295427765 }, - FixedTestStruct { a: 39, b: 9916630652249637025, c: 3021856725 }, + FixedTestStruct { a: 2, b: 7841558952321562465, c: 3857359829 }, + FixedTestStruct { a: 156, b: 694470498189668020, c: 2697873136 }, + FixedTestStruct { a: 190, b: 7482312537342053811, c: 4045907139 }, + FixedTestStruct { a: 250, b: 4865241528780669066, c: 2811081156 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 60806, + a: 13120, b: List::::try_from(Vec::::from_iter([ - 1668, 1285, 26968, 24028, 22219, 30539, 10736, 61246, 7153, 7264, 28743, 6875, - 29268, 16523, 37945, 14995, 3556, 58115, 48080, 59908, 41327, 61877, 13971, - 49544, 58779, 24167, 54612, 82, 60472, 44148, 5394, 25388, 998, 55884, 13710, - 41974, 34922, 2924, 14985, 17067, 62561, 52349, 16477, 36531, 63531, 9367, - 31905, 51948, 32788, 62758, 61419, 22805, 42614, 48983, 58560, 59449, 51003, - 4670, 42178, 64178, 5369, 18180, 15140, 549, 49920, 7530, 8022, 8947, 46321, - 37341, 53968, 8911, 27877, 9943, 35137, 9290, 44775, 15822, 44224, 42118, - 58108, 36231, 10577, 4135, 2437, 12142, 57741, 2268, 9837, 49160, 26515, 35533, - 34160, 64548, 11263, 29064, 48228, 38086, 8588, 59072, 41763, 5208, 53429, - 14621, 47154, 2569, 31875, 47557, 52821, 31784, 1946, 62841, 36032, 53266, - 53801, 31104, 58821, 7174, 60251, 46169, 63218, 32666, 8864, 20514, 3986, - 34139, 50246, 21116, 17179, 731, 16509, 55272, 7943, 61719, 38468, 11496, - 65253, 52874, 50899, 41388, 29057, 742, 36343, 24386, 41533, 43775, 36046, - 37843, 55988, 38113, 1587, 36260, 36878, 36843, 46937, 63616, 17059, 5390, - 38257, 43741, 31937, 44500, 10816, 27723, 24291, 46673, 31976, 20609, 31489, - 22768, 38325, 12938, 55098, 25582, 33399, 51057, 28773, 49973, 27929, 61877, - 48909, 55460, 38078, 33637, 28262, 10253, 45124, 41303, 5191, 54384, 11636, - 35019, 60946, 591, 1882, 54769, 7793, 9839, 22153, 64547, 26406, 11390, 9220, - 31102, 35423, 36773, 49242, 53616, 44515, 31738, 52805, 51789, 37016, 44101, - 31596, 9795, 42269, 41329, 26191, 19852, 60557, 29405, 65054, 36442, 61384, - 35237, 12547, 24499, 18465, 13944, 5272, 58124, 41906, 644, 60885, 16610, - 34880, 52306, 28769, 22097, 1457, 27566, 36881, 26592, 16397, 15267, 1034, - 51047, 52158, 13318, 59844, 14688, 60401, 39963, 42033, 4434, 22973, 61077, - 11951, 52365, 43727, 13466, 27458, 29107, 42761, 59059, 54721, 22221, 61870, - 22864, 8887, 1565, 48990, 12611, 34921, 44810, 22195, 52793, 36328, 53594, - 13354, 42007, 46393, 51832, 37991, 7350, 25568, 52345, 58688, 59357, 50782, - 16992, 10979, 17782, 16450, 55108, 57901, 40375, 4264, 22711, 42150, 14133, - 38578, 29015, 44963, 32151, 51011, 2195, 10097, 55320, 35593, 56303, 46012, - 27149, 13758, 102, 21121, 54743, 33023, 38343, 49600, 58045, 32741, 28607, - 2666, 35430, 10992, 48301, 3448, 34318, 56213, 17961, 2913, 6647, 2362, 55802, - 39749, 20235, 25474, 9438, 58372, 16058, 42754, 28791, 38553, 71, 63676, 49440, - 47340, 45635, 28594, 58453, 21208, 20377, 37902, 2621, 12658, 48051, 26147, - 31523, 60608, 43958, 64715, 24964, 33880, 38269, 5741, 58705, 42328, 7373, - 33981, 55179, 15633, 61034, 9914, 38072, 52422, 5886, 22928, 5931, 18446, - 44184, 9407, 21727, 59593, 41280, 43583, 16852, 57002, 7826, 52051, 46323, - 54959, 6369, 20124, 20878, 60719, 2803, 59032, 10702, 43579, 21831, 59945, - 45717, 24824, 61062, 47908, 25705, 14592, 26398, 3367, 16535, 2075, 29064, - 29014, 38633, 32085, 11656, 61801, 6831, 38036, 50263, 14750, 47729, 30713, - 47861, 8310, 61704, 5295, 21698, 12498, 16772, 50690, 26423, 33779, 10876, - 29148, 24465, 11881, 3076, 12074, 24399, 40037, 23445, 37884, 31257, 24467, - 61992, 7684, 14961, 13050, 54908, 58700, 48298, 19180, 32297, 10199, 29353, - 13775, 46175, 56844, 62225, 9208, 54164, 43702, 54019, 65416, 33331, 5793, - 58631, 58400, 4524, 19354, 895, 39221, 62862, 16675, 32979, 26242, 62788, - 17905, 27258, 61097, 23700, 50535, 42890, 60667, 41435, 40955, 9493, 36280, - 3870, 20178, 28474, 7798, 47860, 15555, 61921, 56967, 2315, 15531, 21992, - 63981, 58101, 9132, 30593, 62087, 22709, 25602, 48258, 4396, 47111, 55380, - 19837, 46367, 5891, 6190, 6774, 39201, 50797, 50305, 52328, 9377, 37192, 10902, - 51145, 45427, 33454, 1414, 6380, 9608, 63704, 64320, 16965, 44787, 61354, - 32239, 3244, 11398, 48260, 11996, 39826, 13080, 16166, 1297, 61448, 51374, - 50053, 61449, 56459, 38154, 8815, 9728, 45200, 888, 39305, 25442, 37424, 54709, - 26324, 21821, 8227, 15865, 53769, 3235, 19030, 47307, 36025, 49593, 59768, - 21070, 64337, 3642, 28508, 28658, 20690, 9930, 21692, 8151, 64405, 7190, 36306, - 63891, 42031, 19592, 10094, 22981, 3980, 5805, 47915, 38509, 21061, 52968, - 36624, 55391, 34296, 60677, 19728, 18118, 23372, 10724, 46879, 15772, 11525, - 47097, 51930, 20033, 34527, 9939, 24210, 56454, 31174, 3990, 48130, 4998, - 10791, 32986, 57706, 44128, 62626, 14091, 31654, 3005, 7308, 75, 35551, 61377, - 14196, 61884, 57323, 8612, 57849, 25947, 44783, 13300, 44899, 7058, 64039, - 6957, 22334, 35812, 243, 43358, 45718, 15771, 6243, 33619, 39268, 30156, 57491, - 7536, 58356, 19193, 29025, 9804, 22770, 28239, 56104, 14830, 38346, 5732, - 55885, 18705, 10299, 49320, 32207, 6092, 52296, 25920, 45714, 56861, 52086, - 56633, 13108, 34860, 61085, 60645, 64823, 11514, 54765, 60115, 25518, 14790, - 64103, 63143, 52637, 17316, 16641, 43714, 13720, 56354, 33677, 62462, 48744, - 48565, 60516, 63618, 57892, 4332, 57403, 27425, 12202, 64302, 8753, 58368, - 7993, 28185, 53814, 24689, 29917, 567, 25469, 37018, 53080, 7462, 48288, 20872, - 669, 7416, 32145, 45540, 18274, 30247, 28450, 50316, 39103, 18406, 13409, - 14623, 10269, 12479, 32652, 24845, 50403, 5469, 16926, 44523, 32913, 15066, - 41282, 50229, 30811, 59217, 15779, 51522, 65290, 15079, 20765, 2805, 52174, - 54509, 32779, 63164, 31337, 19558, 15719, 62818, 39116, 2044, 25155, 65366, - 16392, 49378, 39853, 56155, 58167, 6938, 29798, 48201, 3561, 8580, 46938, - 58688, 41813, 41373, 50473, 47465, 55634, 53596, 63348, 46884, 19395, 49791, - 14750, 37129, 39382, 12060, 54313, 56428, 2369, 61755, 2574, 49412, 51540, - 47304, 58640, 59537, 1169, 27771, 2631, 6077, 23448, 61208, 29025, 38974, 8951, - 4553, 15720, 683, 64158, 11648, 3432, 6313, 19649, 3030, 53524, 58604, 23389, - 9115, 14443, 53676, 64593, 63378, 10878, 43138, 8374, 8865, 17183, 59080, - 30477, 42907, 30646, 10960, 49556, 62228, 60597, 62598, 4833, 44284, 19733, - 11670, 40299, 19668, 16209, 43703, 15122, 34724, 45144, 49048, 39975, 6908, - 60485, 18947, 35805, 30174, 30388, 25460, 48228, 13691, 340, 19681, 25228, - 4020, 1913, 26867, 46450, 14852, 14485, 63692, 26457, 12697, 25538, 12984, - 45712, 59549, 4717, 21, 7105, 30283, 20495, 58524, 63885, 1652, 15280, 54894, - 46077, 46129, 8967, 11132, 58176, 1043, 59413, 2563, 56043, 46634, 36334, - 17017, 63996, 1563, 12164, 13454, 58660, 8189, 28871, 32763, 1380, 60920, 7729, - 45523, 21453, 35646, 64849, 57412, 61930, 6457, 63918, 40903, 29391, 45920, - 63909, 53202, 31653, 6597, 36449, 50872, 17834, 16796, 37348, 45142, 59672, - 10168, 53048, 50879, 7633, 49646, 32455, 24835, 32701, 30875, 24474, 59281, - 33069, 53729, 22030, 59425, 17324, 52269, 2751, 23244, 31323, 15545, 30871, - 26895, 64413, 57317, 8776, 19517, 21360, 35833, 7284, 14168, 8355, 49100, - 22031, 7302, 35598, 53730, 65187, 265, 32312, 30216, 59751, 5657, 52341, 1986, - 64785, 4745, 41132, 22262, 14629, 30998, 57032, 11955, 204, 963, 10315, 36272, - 12862, 4223, 43658, 55565, 28146, 2067, 15527, 7660, 21725, 44167, 23399, - 47310, 60642, 62286, 48685, 55178, 28134, 28969, 28238, 35621, 64728, 59882, - 60998, 1341, 26206, 21975, 36226, 50508, 36824, 34108, 57115, 43592, 36989, - 54318, 4303, 16337, 25397, + 55487, 20414, 48377, 37529, 60816, 59161, 51738, 62436, 16499, 36346, 61626, + 11312, 30079, 3908, 32685, 29800, 12319, 53079, 4783, 12951, 9381, 26404, + 46253, 7097, 13892, 58201, 29290, 20151, 13171, 5943, 48808, 7863, 27595, 6052, + 15836, 25578, 64201, 49565, 41764, 64021, 13416, 35879, 37380, 4152, 28870, + 13809, 36608, 43312, 45826, 38751, 30035, 20209, 1513, 15368, 52, 53582, 1634, + 65265, 23319, 61552, 44351, 64529, 7629, 8381, 55960, 17379, 33327, 8448, + 58496, 55537, 50325, 59683, 14943, 30774, 13494, 24729, 2253, 62366, 11658, + 28156, 42344, 36493, 30327, 9105, 45217, 56937, 46142, 27857, 22758, 2149, + 46376, 37326, 36776, 55256, 9566, 19126, 65431, 180, 32920, 39282, 31627, 1234, + 14888, 32282, 23998, 31426, 33643, 61080, 24568, 14367, 64932, 45654, 5, 26562, + 8380, 38796, 31705, 4012, 28955, 64850, 39336, 48006, 63871, 55211, 20911, + 7738, 52893, 21033, 11005, 48726, 28838, 62972, 12894, 987, 37916, 27690, + 23552, 28446, 50146, 13232, 55186, 37230, 37444, 23573, 18586, 48966, 36859, + 10111, 63302, 4883, 58074, 8836, 50497, 60085, 37125, 58548, 43025, 44626, + 21106, 64120, 20408, 16007, 60461, 24878, 19496, 10742, 63469, 19153, 49807, + 64162, 6240, 40614, 14836, 37095, 51531, 28732, 38254, 34111, 4801, 58014, + 59475, 64322, 7434, 10306, 52732, 29774, 36313, 36946, 42500, 53889, 63589, + 14154, 20354, 50076, 44269, 22016, 61591, 35445, 60025, 26280, 14817, 33670, + 18803, 33951, 31132, 55781, 36044, 60000, 30597, 43379, 44867, 3720, 46920, + 40112, 42926, 25431, 32604, 62818, 58111, 24570, 26096, 61012, 15505, 43951, + 25519, 23411, 7418, 43737, 48034, 61324, 19722, 9646, 12812, 10140, 13080, + 18517, 63701, 29981, 47551, 18921, 50264, 38966, 56666, 3422, 50582, 46737, + 26071, 48063, 61399, 27778, 31715, 44789, 22740, 17824, 36595, 44829, 41886, + 26313, 34706, 36220, 32710, 55364, 60115, 10437, 7211, 29547, 14610, 24825, + 43007, 21894, 48846, 40561, 37469, 54908, 46762, 59989, 4442, 28636, 51371, + 45360, 24808, 29620, 40473, 18907, 6612, 9928, 39344, 9616, 15770, 57010, + 14238, 34091, 23123, 9022, 62424, 1565, 34601, 28936, 64277, 43487, 27144, + 35399, 18155, 53100, 34713, 39842, 28753, 11949, 48775, 35585, 10151, 42054, + 15682, 28799, 40731, 42710, 34852, 21278, 35020, 1417, 3560, 63512, 6320, + 52618, 18648, 34719, 7477, 21595, 62500, 62043, 20086, 36801, 40530, 42115, + 28552, 56828, 35653, 40600, 60498, 26134, 32103, 6484, 35279, 9109, 34600, + 30291, 47320, 45590, 18939, 53431, 20916, 16399, 8768, 24243, 18736, 11885, + 48902, 49270, 62088, 52641, 28567, 29173, 46295, 21756, 23071, 42775, 38423, + 19547, 54813, 195, 4369, 51618, 7740, 35924, 14277, 25893, 62404, 52613, 18656, + 65439, 4429, 48610, 20695, 973, 50910, 37798, 24494, 60853, 21339, 11997, + 59336, 60159, 32938, 61256, 17650, 13239, 19863, 52072, 36424, 17566, 45213, + 41180, 15657, 21407, 29689, 38001, 20271, 45516, 41189, 35126, 20451, 17166, + 54269, 19783, 37825, 33414, 46326, 18798, 32797, 26179, 16184, 8377, 47574, + 24652, 22196, 10970, 413, 23454, 10801, 61585, 25724, 26688, 47203, 58044, + 26066, 17483, 51713, 43792, 32016, 4633, 26837, 59405, 53529, 20699, 20321, + 44187, 51404, 2085, 597, 24249, 38146, 48587, 42722, 6065, 51702, 43347, 38180, + 17008, 60621, 9793, 31717, 51615, 19528, 8683, 14400, 16783, 20228, 33069, + 24397, 38745, 19647, 35035, 50954, 37156, 47476, 41210, 3413, 21037, 27554, + 14889, 1532, 35033, 62444, 36799, 2783, 838, 6099, 46651, 62123, 34504, 23406, + 54380, 13583, 33071, 14865, 18419, 11299, 26802, 17840, 17038, 46241, 43872, + 31433, 7732, 2345, 42567, 41807, 6265, 57057, 6051, 28148, 25652, 36473, 38887, + 1510, 28090, 52193, 44188, 35510, 51786, 51768, 65142, 61963, 14007, 1828, + 27792, 57811, 34088, 34844, 52454, 57232, 4213, 45150, 51313, 12770, 8662, + 4778, 23208, 45466, 38227, 51430, 43235, 7226, 9949, 37142, 44588, 5091, 56674, + 50673, 101, 16161, 732, 13076, 31633, 61776, 22567, 28031, 56097, 16951, 39777, + 57198, 38708, 9473, 14324, 22435, 17820, 9881, 53952, 30773, 51940, 49608, + 8713, 1177, 26981, 49782, 61447, 63171, 45923, 34133, 56412, 1793, 61104, + 19880, 61448, 56653, 41307, 2792, 29971, 23997, 60802, 51355, 51703, 55428, + 36714, 4512, 18965, 6538, 12623, 30896, 49689, 15962, 47357, 46504, 47876, + 5527, 58170, 28811, 26318, 45422, 63328, 58721, 56469, 63666, 38916, 32398, + 45318, 13324, 36821, 60578, 19520, 57030, 25331, 62060, 60314, 2751, 55842, + 11443, 16102, 13636, 22043, 53734, 53694, 14873, 11874, 59020, 47559, 57789, + 9133, 43404, 34484, 55130, 56303, 23712, 52322, 64794, 51147, 27246, 44364, + 40162, 38216, 51182, 26272, 52226, 64754, 49870, 35234, 48217, 34623, 38284, + 26758, 11559, 53855, 19915, 25582, 34576, 57609, 22166, 28529, 8406, 36437, + 22579, 31231, 17741, 21566, 33381, 45392, 59941, 47572, 9084, 47960, 16268, + 54092, 48547, 48173, 47050, 58826, 57834, 60390, 21539, 30384, 27423, 28631, + 17538, 1919, 11678, 40176, 12221, 57455, 3415, 64976, 7784, 13142, 5135, 10363, + 35939, 55256, 36084, 32458, 56916, 47686, 13126, 35937, 13981, 48239, 39386, + 17994, 12356, 32424, 41451, 40186, 47130, 1633, 12743, 31677, 2348, 27612, + 51827, 33413, 63356, 36873, 50163, 59464, 26570, 13655, 58323, 8184, 65138, + 23863, 51077, 59809, 56034, 28676, 24945, 49436, 53241, 44969, 29407, 18563, + 39895, 6413, 39172, 31183, 22717, 38407, 14125, 16230, 4314, 56423, 65533, + 53850, 7746, 40819, 13105, 6439, 58546, 33068, 35449, 55381, 60949, 12787, + 44022, 22215, 26398, 26577, 1716, 38292, 16636, 51111, 17755, 49493, 13319, + 12119, 47558, 14492, 23299, 29548, 36423, 44967, 18869, 32662, 47198, 58113, + 1963, 22830, 19434, 10325, 26056, 9260, 29268, 62712, 51200, 16017, 41592, + 2624, 39311, 1606, 40625, 54131, 14988, 12292, 51985, 43324, 37507, 9541, + 36074, 52634, 44567, 28070, 39581, 38146, 14437, 50290, 40726, 59237, 36159, + 42801, 52944, 44553, 61963, 15616, 54155, 57187, 3206, 57208, 63995, 42417, + 41421, 15066, 21556, 39572, 3384, 50733, 49191, 54752, 54999, 14293, 48240, + 8802, 48593, 31186, 63826, 53208, 23282, 14878, 41342, 49485, 42483, 49150, + 53149, 35581, 9333, 4012, 39131, 16449, 37729, 33085, 57826, 40450, 51658, + 11329, 11923, 47144, 62755, 7911, 33062, 22900, 5009, 50952, 19534, 3376, 6194, + 11780, 1144, 38488, 1845, 26823, 22325, 37958, 2496, 64977, 7222, 48241, 30421, + 14307, 62969, 1302, 26238, 4776, 46833, 50476, 38185, 50134, 56678, 11996, + 27896, 16629, 4505, 52725, 11765, 36849, 31918, 28720, 35950, 63890, 58878, + 44497, 5300, 51268, 4198, 684, 62950, 1547, 10981, 39085, 39614, 25165, 32453, + 55547, 44661, 11817, 36840, 60803, 19879, 13658, 28470, 20998, 17194, 2865, + 43762, 22654, 52015, 26238, 25520, 45790, 15056, 33898, 2334, 1000, 46533, + 16232, 32456, 39076, 13816, 24479, 34018, 40077, 26717, 1616, 30018, 62745, + 51080, 64661, 31437, 61329, 56305, 8017, 7852, 1116, 49128, 2608, 42887, 3825, + 52467, 32047, 16697, 55063, 24078, 27588, 52664, 12973, 40564, 20274, 52527, + 43345, 14030, 16870, 54646, 36576, 48234, 5826, 55013, 36907, 12870, 61223, + 53567, 22395, 47737, 65446, 4073, 10489, 7907, 34836, 58056, 51491, 60814, + 24937, 10756, 42219, 24107, 37621, 24232, 42496, 14847, 58538, 25681, 29941, + 22502, 22979, 34881, 32187, 16254, 50572, 35610, 1393, ])) .unwrap(), - c: 250, + c: 178, }, VarTestStruct { - a: 4703, + a: 48415, b: List::::try_from(Vec::::from_iter([ - 60490, 40978, 209, 51204, 53280, 50414, 30138, 24087, 59631, 51584, 42330, - 56509, 9742, 49650, 49661, 17545, 3768, 57673, 64119, 16467, 1405, 9188, 52282, - 31454, 10481, 43745, 23159, 455, 30629, 46779, 37195, 64515, 48507, 21569, - 63164, 22178, 25160, 55615, 58953, 64032, 46884, 44321, 46898, 40007, 23307, - 59014, 51756, 55556, 47035, 11109, 40185, 25166, 360, 18578, 21013, 46790, - 26323, 38999, 18398, 24586, 30656, 62072, 22121, 17306, 34272, 54705, 10091, - 42169, 55410, 32954, 63924, 46034, 3688, 53743, 17323, 42095, 32162, 56544, - 55372, 50066, 42067, 39275, 18742, 24392, 62402, 43088, 40064, 57833, 31915, - 4788, 51474, 5125, 56858, 30995, 51220, 4635, 54295, 22024, 2410, 17277, 40471, - 10850, 47018, 33138, 24634, 56609, 64138, 33513, 65221, 1475, 11581, 33291, - 52827, 14842, 36786, 413, 56789, 27242, 36406, 48977, 19480, 34017, 37650, - 26781, 23705, 58781, 40563, 39235, 3669, 1735, 11331, 37606, 341, 24431, 59216, - 16678, 33435, 55808, 26587, 37401, 47677, 52901, 30185, 30474, 24197, 56382, - 27520, 64534, 6217, 24747, 39579, 22361, 24609, 45973, 41899, 33423, 9851, - 35335, 38077, 17659, 42245, 61695, 16966, 975, 25771, 30672, 62688, 4688, 4337, - 27696, 16698, 20584, 23561, 41949, 62961, 31083, 5484, 24585, 46630, 20591, - 29428, 49376, 61525, 2058, 28605, 44934, 46746, 29629, 4432, 10762, 36858, - 11052, 46691, 34534, 43516, 12528, 17188, 51517, 53879, 91, 63825, 8548, 27727, - 25033, 52048, 27049, 53775, 26931, 48368, 3694, 26944, 25074, 31645, 57893, - 51760, 62849, 50965, 25259, 63728, 24635, 14461, 4747, 5098, 64014, 44939, - 33071, 33667, 51587, 316, 11154, 38371, 28277, 2198, 30602, 60056, 1060, 63117, - 25587, 49451, 12593, 50307, 47047, 31690, 62573, 21640, 44683, 12904, 50629, - 59220, 1509, 20015, 1329, 46891, 60113, 8315, 47193, 27245, 36006, 49164, - 13076, 28024, 44704, 47220, 45484, 43117, 57935, 52201, 34044, 34618, 62657, - 2039, 8316, 8689, 33809, 605, 30319, 33136, 24333, 44340, 63793, 51139, 35441, - 18989, 58357, 12292, 37349, 55621, 35609, 61923, 13040, 11238, 64003, 29958, - 15317, 13557, 64734, 23166, 14571, 55999, 16757, 34296, 47644, 3592, 28872, - 15527, 54071, 36682, 29430, 63168, 29353, 50771, 22590, 21892, 12824, 4607, - 27890, 8934, 37182, 4511, 38290, 15551, 44701, 55376, 64915, 31748, 27345, - 60915, 33077, 29827, 54165, 42813, 1341, 57154, 38491, 44894, 51749, 36587, - 51596, 59598, 16607, 3845, 49198, 1852, 37703, 65353, 48713, 26762, 46096, - 50884, 22704, 46199, 65043, 63378, 46908, 25564, 42607, 15858, 12754, 56603, - 61745, 15553, 35034, 63276, 31791, 65395, 21347, 45707, 26564, 30310, 14743, - 14492, 8813, 16977, 49600, 21695, 44719, 34695, 48261, 38075, 57735, 41105, - 30282, 46159, 9765, 22408, 7107, 27543, 18502, 34307, 55784, 16761, 22621, - 34191, 19700, 19368, 14950, 17453, 17140, 49113, 25739, 32139, 28585, 38046, - 46465, 42298, 30326, 60944, 3766, 13253, 45551, 46286, 778, 15278, 62840, - 16413, 43334, 23621, 30329, 16351, 63863, 65471, 41848, 27693, 52501, 381, - 1961, 38324, 37177, 32655, 49475, 44716, 47872, 30975, 714, 38082, 9932, 52281, - 28409, 50741, 9013, 53486, 29215, 23651, 16331, 31756, 54725, 45347, 45306, - 11882, 27939, 49767, 6775, 22765, 4473, 34693, 42012, 12611, 6022, 5226, 27247, - 60475, 13302, 16672, 14714, 5866, 7137, 53938, 21713, 41918, 33031, 43682, - 9868, 19835, 28102, 49789, 46648, 50833, 55370, 52805, 4930, 62578, 36194, - 63080, 28446, 60459, 46358, 14709, 48475, 34801, 60460, 25140, 5849, 15381, - 45854, 49464, 47883, 54606, 61265, 35394, 21104, 44288, 29653, 51355, 64485, - 41577, 64088, 12157, 44247, 37987, 60631, 45026, 56043, 57738, 53740, 64248, - 40827, 4741, 22340, 48149, 21908, 6208, 25546, 19149, 29510, 12646, 4135, - 24826, 34752, 52971, 28570, 42490, 17655, 52246, 51913, 12993, 4824, 53699, - 54831, 52341, 20883, 23752, 45970, 38384, 18298, 22064, 24101, 15809, 47371, - 2339, 27543, 42669, 17891, 37102, 61557, 50633, 40247, 52547, 34381, 2208, - 53524, 19213, 20470, 44730, 8759, 28753, 23327, 34607, 14456, 33795, 6841, - 17336, 12966, 61019, 13036, 17068, 28331, 39261, 48399, 57559, 53036, 992, - 34028, 8717, 63795, 64418, 4505, 63092, 53117, 45450, 57757, 64439, 48767, - 6590, 59669, 34135, 50266, 19885, 53242, 17166, 51610, 9779, 20099, 61671, - 11075, 50010, 7220, 47242, 58393, 43750, 45451, 36995, 56295, 35198, 33946, - 4330, 55691, 29840, 12311, 40295, 49004, 13974, 15384, 23419, 350, 33117, - 45441, 17767, 14644, 45765, 28564, 39824, 2127, 21303, 23331, 12711, 8977, - 59756, 15945, 41453, 9373, 22928, 37662, 18467, 10676, 61550, 24024, 30611, - 62005, 57007, 540, 28744, 40875, 4946, 16426, 60823, 20246, 2928, 23405, 25189, - 64912, 1082, 3115, 15851, 2225, 2314, 14103, 12187, 52834, 52362, 10004, 27539, - 25822, 40600, 30575, 35071, 37377, 38414, 8378, 58813, 33550, 24525, 53239, - 46773, 32786, 11546, 63813, 28985, 50703, 62879, 12700, 973, 17364, 37674, - 58327, 34784, 58644, 46114, 11830, 12134, 54539, 39292, 8746, 34316, 58466, - 24959, 33831, 58222, 48056, 65067, 22289, 3655, 42140, 24759, 13483, 11939, - 59348, 50106, 40716, 58001, 17874, 64488, 23272, 32463, 61190, 32611, 135, - 64098, 36230, 19512, 40214, 10564, 40270, 47116, 42582, 30689, 48110, 13578, - 7589, 40462, 14977, 31906, 20888, 44859, 11506, 53487, 40520, 63676, 10855, - 58667, 39088, 27601, 18752, 63110, 18475, 57289, 18431, 41390, 57620, 26085, - 22771, 34478, 41657, 27633, 11528, 11079, 8986, 47042, 30394, 39677, 16167, - 47431, 22038, 56228, 54625, 51123, 19798, 46514, 28488, 426, 62162, 55270, - 60774, 4402, 17537, 58499, 15185, 1722, 11502, 61793, 54484, 23616, 15489, - 36027, 14802, 2320, 25169, 56821, 52034, 35056, 6535, 58572, 56076, 4556, - 42993, 22825, 49678, 35427, 59614, 18884, 49668, 60647, 47546, 39368, 21266, - 36185, 62562, 16624, 4019, 36900, 25307, 58953, 52072, 29613, 61500, 8892, - 59210, 53285, 9882, 38732, 54560, 56859, 56107, 31008, 4213, 41342, 26304, - 26399, 26626, 17757, 28248, 13430, 44322, 46738, 18797, 38856, 14224, 44358, - 45331, 3623, 58893, 415, 23780, 32265, 28315, 17639, 50164, 27847, 29681, - 37722, 55632, 12536, 25247, 65212, 27540, 1290, 19543, 44473, 53494, 62504, - 365, 57624, 64314, 36574, 54090, 22207, 24010, 52520, 11326, 4080, 25811, - 14651, 40609, 36823, 10419, 16157, 28821, 42883, 13293, 26963, 4768, 50688, - 55161, 30748, 58063, 26827, 12679, 61279, 63489, 41884, 6485, 44921, 26214, - 24304, 40805, 26790, 17169, 9407, 37029, 21032, 61353, 58632, 7309, 10716, - 16230, 43600, 1786, 8736, 26311, 57026, 36947, 49893, 24867, 41560, 53164, - 48933, 64830, 56078, 54033, 7712, 33111, 58864, 18141, 4973, 55508, 56776, - 9323, 21206, 19534, 25917, 9628, 23623, 12779, 33660, 6822, 61633, 17121, - 22651, 27509, 14925, 9703, 20922, 44817, 41887, 44171, 14556, 37614, 22580, - 29784, 43281, 9663, 22875, 41637, 29127, 25494, 57336, 29104, 14016, 13559, - 9529, 59253, 15830, 50931, 7826, 53448, 13747, 667, 38859, 42451, 50476, 62419, - 58977, 39636, 17707, 23892, 30212, 55819, 21968, 37482, 11569, 50438, 35431, - 24406, 54713, 35326, 39657, 6009, 53892, 5453, 60537, 32164, 58056, 3581, 5671, - 31963, 58017, 44667, 57071, 42403, 38396, 19810, 37025, 27965, 98, 17235, 6286, - 29020, 62045, 35020, 44137, 47451, 3971, 43408, 896, 18089, + 27130, 3832, 25356, 54457, 15552, 12775, 56882, 49252, 64698, 5033, 18586, + 33923, 36894, 52083, 11860, 3362, 16465, 36764, 47012, 15220, 32358, 947, 7971, + 15456, 27763, 36543, 13811, 37594, 54761, 2363, 22764, 54391, 64781, 50408, + 16759, 38786, 10291, 54478, 7690, 61409, 50842, 31783, 33973, 34851, 3146, + 26729, 36068, 13234, 65246, 62603, 59467, 21162, 16544, 20322, 25031, 22790, + 12246, 2951, 19790, 37501, 37220, 24165, 7378, 39493, 16270, 8348, 5770, 57364, + 7865, 27077, 2557, 52374, 34498, 36642, 62252, 1884, 25071, 38098, 44332, + 34823, 47301, 43519, 48796, 37815, 42924, 28444, 39202, 8087, 36073, 8703, + 14534, 64305, 53457, 29141, 6537, 294, 55189, 61383, 11765, 11998, 3567, 1737, + 24684, 169, 49141, 23410, 34481, 40491, 36983, 29196, 26295, 47744, 36336, + 28684, 64967, 4406, 48422, 1675, 43516, 30238, 1670, 35241, 1543, 58139, 22033, + 12138, 36107, 18875, 56198, 8796, 40617, 58996, 25208, 25255, 37993, 24515, + 7204, 59780, 20815, 10031, 21314, 49948, 32631, 23055, 42546, 53627, 39514, + 55372, 2441, 7809, 62982, 65532, 21494, 5155, 50622, 9372, 57134, 19934, 24239, + 6328, 40351, 47426, 19361, 42924, 20650, 46081, 33070, 57884, 40873, 36835, + 20886, 31848, 18752, 18589, 54545, 12648, 938, 30510, 9543, 20168, 59503, + 48498, 42324, 31078, 11648, 30086, 11620, 17115, 64743, 60786, 47981, 18048, + 3253, 62452, 52766, 52786, 41619, 9776, 28891, 1682, 54912, 59322, 28204, + 15079, 15855, 5396, 49941, 16980, 35866, 35930, 8021, 22388, 40194, 21743, + 27433, 32343, 54982, 13118, 45070, 36699, 34426, 53562, 47965, 49426, 8279, + 16168, 5347, 61069, 52341, 32099, 63276, 31165, 51645, 3034, 39386, 11791, + 22899, 22849, 33262, 22920, 48837, 51427, 42360, 30638, 19984, 60587, 19317, + 49654, 59834, 62933, 11291, 37749, 62099, 62438, 19002, 4806, 44298, 32119, + 13632, 33145, 3633, 19413, 60254, 28564, 34894, 20214, 53435, 47842, 50325, + 31787, 28932, 27805, 24174, 31376, 37456, 36981, 13874, 26630, 9779, 12253, + 24259, 60754, 27154, 62609, 64757, 3358, 47415, 64565, 19723, 53161, 26018, + 19433, 18927, 33639, 19459, 32975, 35798, 4395, 25466, 35857, 41950, 51538, + 15204, 63521, 64953, 26296, 63100, 10863, 14419, 13810, 28796, 17242, 11867, + 13365, 64098, 18375, 56141, 53959, 27113, 11270, 31369, 16624, 27887, 11158, + 6090, 32538, 9008, 63623, 47698, 57220, 48572, 49944, 34212, 44515, 65488, + 6930, 9913, 26082, 47483, 62107, 41080, 35555, 49322, 3590, 26604, 18977, + 20589, 5109, 12623, 53920, 62230, 54246, 30109, 60346, 32173, 6948, 47735, + 6177, 61868, 2132, 11420, 57491, 58672, 17562, 18772, 25998, 55661, 54932, + 38254, 21283, 17684, 9670, 22975, 61702, 52559, 11041, 31904, 25860, 36730, + 35425, 21435, 57496, 54384, 21645, 208, 51532, 10794, 24790, 10676, 51150, + 4192, 25401, 12435, 64429, 4092, 27883, 28390, 33032, 4668, 7279, 56920, 5785, + 24906, 17070, 18396, 49464, 49600, 50923, 10600, 33756, 38149, 21778, 32591, + 52915, 22860, 20451, 46082, 20516, 42458, 2357, 38327, 50404, 27314, 63264, + 57870, 57469, 30302, 28872, 26097, 3694, 8998, 63552, 56273, 55784, 34375, 691, + 11573, 10144, 46115, 24406, 47019, 37406, 37440, 29021, 13206, 62481, 32155, + 18048, 41130, 36245, 21864, 18218, 58215, 28254, 33122, 26440, 58617, 45731, + 19045, 44940, 52067, 2357, 11643, 29037, 1171, 24019, 53083, 42789, 63987, + 3756, 404, 22023, 33142, 17452, 9656, 42368, 24179, 56662, 45608, 26502, 48845, + 115, 19921, 44621, 5600, 9830, 49016, 33291, 8514, 52405, 2018, 27029, 36321, + 14717, 52609, 55786, 57442, 41050, 56066, 62599, 47814, 13674, 27014, 26062, + 15795, 21844, 50474, 31425, 5718, 18600, 29578, 27543, 56480, 2084, 25609, + 3346, 11323, 64892, 33651, 48503, 44096, 63310, 7971, 53178, 25402, 8941, + 60258, 42846, 57452, 34495, 33959, 57140, 45959, 39073, 42359, 52995, 8811, + 49473, 59595, 15806, 34387, 38872, 23551, 11109, 37029, 54649, 7910, 5350, + 40225, 52062, 49557, 59641, 35104, 1590, 12506, 1374, 17264, 7760, 7191, 10454, + 58614, 11093, 33355, 17137, 25479, 52989, 48616, 7044, 19832, 29979, 1958, + 19366, 54926, 27182, 12829, 57431, 58346, 4477, 23798, 37981, 45139, 58204, + 28798, 21503, 33832, 5437, 1180, 16715, 47904, 62541, 60161, 55616, 14525, + 41270, 1024, 53409, 13231, 50614, 48034, 59952, 57965, 16307, 22690, 3291, + 64512, 55125, 26446, 36308, 35663, 56226, 5418, 39852, 15852, 5128, 5356, 5647, + 9012, 9569, 41602, 21914, 46837, 23047, 39658, 3843, 7508, 64995, 47928, 5266, + 42361, 53158, 57356, 58714, 41365, 23696, 22956, 57755, 4786, 2340, 51870, + 13297, 26497, 32240, 48833, 51415, 61197, 31947, 37909, 21642, 47429, 17622, + 63162, 8840, 53401, 39773, 24112, 42047, 52537, 10444, 16449, 64593, 62703, + 49366, 26563, 14770, 39879, 28290, 35719, 57668, 52367, 56191, 8922, 51542, + 2708, 29891, 60823, 12846, 5432, 57932, 40927, 2361, 26263, 22626, 13192, + 49418, 48717, 11532, 29796, 44526, 59836, 63910, 4689, 1505, 15054, 13338, + 47019, 30664, 31988, 18955, 39506, 5087, 63233, 33926, 57646, 31533, 36782, + 34028, 20146, 64464, 62254, 54304, 35579, 39579, 57572, 20024, 37107, 64157, + 30133, 14295, 45761, 34388, 57113, 10521, 46045, 14654, 46585, 63613, 12473, + 10419, 40606, 61218, 61470, 63120, 24372, 46249, 61875, 17061, 35381, 40624, + 32980, 59834, 44946, 14848, 19058, 59011, 4945, 28552, 57500, 33800, 32371, + 53874, 62530, 37510, 49164, 2190, 57318, 32510, 48519, 19125, 35991, 37519, + 54749, 18777, 63646, 58422, 9190, 5990, 33319, 36453, 24008, 61028, 48651, + 13421, 61048, 30274, 39542, 9980, 41775, 54104, 43876, 7626, 11925, 2836, 8117, + 34713, 60946, 20986, 33832, 15720, 15270, 58244, 33060, 46134, 33320, 47969, + 2690, 2479, 30235, 37560, 43812, 25814, 55962, 42326, 48411, 12860, 43030, + 24047, 32035, 47386, 16188, 15323, 17579, 54580, 45541, 12172, 56210, 40972, + 48365, 2913, 64322, 44268, 63899, 45091, 13020, 21535, 44618, 16196, 60860, + 18780, 30909, 37726, 23854, 9196, 18403, 46833, 51176, 57974, 24116, 1815, + 25984, 57692, 6591, 59680, 11356, 52518, 10222, 21414, 62589, 27083, 55445, + 65268, 49282, 32584, 52143, 47818, 57706, 33115, 35497, 3728, 64349, 34303, + 61415, 44515, 19738, 36960, 13078, 9560, 25024, 37541, 32625, 41533, 43929, + 16782, 6315, 10022, 34116, 17224, 47095, 43216, 23780, 37087, 44743, 59211, + 48291, 52677, 16326, 10432, 47573, 33551, 36363, 6217, 22373, 6482, 5739, + 37867, 6330, 50427, 35477, 53711, 38864, 34681, 62823, 7141, 47001, 34490, + 60680, 64803, 23574, 16860, 24014, 47457, 37738, 9398, 22680, 1112, 36095, + 57678, 13673, 30265, 956, 26267, 45095, 3738, 30444, 9121, 39042, 15809, 52989, + 30638, 27954, 19823, 15864, 4720, 43622, 4361, 16789, 43755, 6382, 34963, + 63158, 41522, 4943, 57944, 1045, 14950, 19627, 1426, 25140, 15415, 63297, + 16395, 34702, 19603, 36802, 9949, 36749, 41228, 23609, 44648, 31472, 56689, + 38769, 42373, 28243, 21125, 55941, 17313, 6664, 17972, 46653, 42144, 61639, + 19451, 32778, 47092, 15325, 25443, 9602, 39685, 22793, 36698, 52024, 64103, + 20444, 5585, 2219, 37095, 42077, 3375, 11188, 27240, 57631, 23837, 34780, + 20844, 63314, 14055, 6938, 13815, 49308, 61189, 17189, 17835, 30630, 2906, + 44540, 22967, 37050, 11736, 42100, 13920, 63261, 51263, 55799, 54238, 54753, + 37249, 34854, 38661, 38555, 12747, 13275, 52616, 16789, 52568, ])) .unwrap(), - c: 174, + c: 131, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_0/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_7/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -10364,108 +5093,350 @@ fn test_containers_complex_test_struct_lengthy_0() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("d1bb44d6f0a011c83488f0f87c801b8392a35a9e6b78218332de4e193b29dc48"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_random_5() { - let mut value = FixedTestStruct { a: 79, b: 14098080771816090726, c: 2129688544 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("c44c5c18fc468fd2689febc405f521c41a5b5fd6958319e53b1d0f94c5aa238a"); + root_from_hex("0x79cd0ec624c402f43dad6d2c2e9c7699ff6c9f59e30455409194db3c2a48ade5"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_zero_8() { +fn test_containers_complex_test_struct_lengthy_8() { let mut value = ComplexTestStruct { - a: 0, + a: 19399, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 22032, 62371, 21788, 9932, 54144, 27131, 3242, 54591, 47647, 13046, 29529, 13141, + 13151, 65437, 479, 12807, 8406, 19308, 58331, 12475, 60877, 648, 47633, 54804, 53138, + 32889, 14147, 49208, 62814, 28632, 16541, 28011, 29384, 46093, 25628, 4212, 1275, + 34893, 33063, 15710, 28029, 21874, 32187, 860, 44718, 5406, 21494, 51195, 39418, 53687, + 3242, 57475, 43017, 14479, 9464, 21638, 46818, 26768, 60783, 62698, 45868, 38771, + 21489, 41619, 36701, 55099, 15797, 11487, 7063, 46591, 9249, 33310, 18093, 8741, 52420, + 11068, 11526, 60206, 4998, 63015, 36848, 23591, 28844, 26898, 36240, 32994, 5319, + 41353, 26402, 10342, 6770, 31168, 13710, 24788, 39775, 41401, 46666, 55851, 25958, + 62625, 61587, 8989, 63624, 7883, 42031, 42898, 2138, 29944, 44939, 49024, 59647, 5306, + 49764, 45165, 61638, 13884, 58920, 35065, 62325, 44582, 53512, 54047, 21337, 1998, + 58010, 2841, 47024, 38382, + ])) + .unwrap(), + c: 161, + d: List::::try_from(Vec::::from_iter([ + 96, 63, 241, 170, 196, 246, 41, 136, 3, 163, 4, 17, 205, 53, 24, 20, 174, 161, 184, + 147, 191, 243, 129, 225, 14, 212, 237, 43, 210, 161, 69, 108, 12, 212, 78, 174, 134, + 243, 80, 175, 222, 45, 216, 172, 65, 223, 68, 13, 202, 122, 178, 214, 156, 65, 81, 91, + 239, 218, 198, 184, 244, 166, 66, 118, 24, 193, 82, 180, 163, 246, 15, 190, 170, 51, + 20, 189, 50, 12, 234, 49, 121, 18, 25, 246, 2, 138, 31, 110, 130, 208, 133, 111, 243, + 249, 160, 20, 107, 177, 45, 158, 44, 62, 29, 102, 36, 200, 212, 225, 179, 205, 144, + 209, 240, 14, 17, 82, 27, 244, 249, 13, 213, 160, 247, 175, 4, 146, 149, 101, 30, 34, + 74, 166, 163, 233, 12, 161, 56, 246, 254, 137, 104, 197, 182, 38, 79, 179, 40, 213, 40, + 218, 40, 19, 82, 63, 19, 104, 210, 25, 49, 149, 205, 47, 21, 99, 87, 48, 156, 147, 141, + 135, 229, 137, 32, 142, 69, 118, 252, 84, 34, 79, 180, 241, 159, 210, 199, 47, 179, 31, + 222, 187, 227, 191, 124, 128, 225, 1, 145, 38, 97, 169, 116, 64, 99, 146, 63, 231, 67, + 103, 89, 196, 137, 125, 229, 155, 244, 5, 35, 120, 7, 128, 128, 224, 30, 4, 68, 15, 61, + 200, 144, 227, 215, 189, 107, 27, 168, 20, 114, 109, 41, 218, 15, 194, 204, 132, 50, + 133, 161, 124, 73, 199, 212, 98, 229, 156, 69, 63, ])) .unwrap(), - c: 0, - d: List::::try_from(Vec::::from_iter([0])).unwrap(), e: VarTestStruct { - a: 0, + a: 64404, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 50822, 53487, 218, 11457, 62680, 59808, 6329, 29782, 25436, 7336, 62178, 17478, + 61419, 65325, 44191, 30048, 58349, 46880, 10909, 55045, 26538, 17437, 34657, 29113, + 45580, 13831, 34004, 9692, 37147, 16086, 16226, 40707, 18063, 41603, 17459, 19073, + 26070, 11990, 62242, 42024, 25124, 63881, 40618, 43700, 51045, 50416, 23397, 47943, + 56472, 35909, 23410, 50852, 9601, 750, 31943, 57458, 16369, 31237, 41361, 13475, + 41287, 63964, 42328, 63898, 52363, 42923, 56981, 27517, 29978, 56193, 39554, 15609, + 55036, 7362, 38879, 3179, 4044, 11912, 63382, 14604, 17907, 40233, 53000, 28437, + 24397, 43730, 7157, 51311, 44475, 60273, 20925, 3965, 10808, 55387, 21071, 7898, + 11510, 15975, 9816, 64308, 23540, 63783, 54045, 10035, 49185, 24817, 54807, 3524, + 42225, 53517, 44493, 55722, 25776, 26177, 43607, 65477, 40066, 6723, 40868, 17393, + 26362, 21983, 48536, 13206, 9864, 45301, 64780, 35891, 12873, 14177, 50199, 55108, + 1464, 53455, 38495, 28472, 20013, 10186, 52619, 37505, 32299, 35612, 7194, 25051, + 43900, 20431, 58627, 58768, 62735, 5933, 31418, 44215, 33743, 24127, 22392, 14672, + 24741, 42508, 60128, 50020, 53547, 64562, 26813, 64776, 17591, 5090, 61409, 25558, + 27318, 50386, 62745, 521, 57775, 44451, 31660, 55112, 31714, 21674, 48412, 21524, + 1619, 61860, 31479, 37834, 19947, 16131, 62554, 16291, 51959, 26042, 7931, 58821, + 26949, 19690, 28748, 63858, 39231, 20265, 15035, 2880, 6254, 51835, 32100, 52733, + 30361, 15407, 39475, 29228, 20494, 62922, 21020, 54737, 47687, 48367, 36757, 35221, + 53457, 31016, 39907, 52325, 39332, 4024, 6348, 64798, 51978, 19159, 38816, 8145, + 16496, 5055, 21984, 59114, 32388, 35802, 34594, 50209, 42742, 49318, 17591, 12665, + 22341, 62579, 19470, 525, 9952, 63396, 58478, 64453, 5919, 36384, 2260, 8207, + 21174, 43889, 32280, 12442, 58625, 45111, 4014, 32361, 39989, 53955, 35355, 28816, + 16604, 40058, 30067, 29059, 13889, 36436, 32408, 36418, 33956, 11217, 62336, 58586, + 55266, 27567, 15918, 37007, 22875, 24454, 36766, 58731, 14878, 16885, 58455, 292, + 35245, 55442, 22658, 42222, 26703, 53347, 38811, 40876, 5788, 39217, 18291, 38793, + 60967, 23102, 7468, 50706, 61961, 53781, 49798, 43091, 25350, 21421, 39721, 15284, + 34253, 37662, 13895, 38011, 1526, 10320, 44564, 2864, 23610, 25366, 20532, 48447, + 31981, 37770, 14263, 13260, 27380, 30901, 44978, 53542, 36603, 50571, 43910, 56316, + 18478, 54920, 45681, 8283, 41162, 26131, 65481, 6861, 19735, 54259, 30296, 50181, + 49063, 39620, 16660, 38372, 6459, 43312, 31515, 59272, 7259, 64256, 24854, 11177, + 56777, 15450, 28203, 63054, 64693, 49598, 37319, 13387, 9246, 40913, 30771, 3264, + 44803, 62582, 23541, 44718, 34039, 42083, 303, 253, 33194, 40429, 54695, 9674, + 12120, 49448, 25608, 49721, 60824, 53598, 56004, 33545, 39773, 59495, 15350, 23979, + 51627, 40387, 25073, 34784, 61876, 57106, 51348, 28923, 41304, 10857, 50146, 65379, + 30695, 17971, 41744, 11146, 34990, 479, 52741, 6890, 31938, 39130, 2536, 19400, + 21845, 21008, 30654, 11337, 29341, 60894, 45192, 26002, 9569, 54625, 10406, 45140, + 64176, 51767, 26635, 1122, 11798, 58056, 25133, 57236, 64479, 64437, 5302, 17830, + 20249, 49475, 62507, 1795, 15734, 500, 33544, 59497, 5496, 3368, 11549, 7228, + 55517, 29253, 20634, 53393, 10906, 11293, 36718, 317, 60715, 28315, 18621, 43582, + 64973, 31663, 58821, 15268, 61881, 14365, 12810, 42708, 51000, 37963, 4864, 61957, + 13079, 59497, 56703, 55835, 40235, 27024, 17929, 1511, 56539, 37467, 21711, 64844, + 28363, 44905, 41421, 44516, 62254, 54502, 51479, 29761, 64230, 50596, 13109, 21224, + 26807, 12448, 43495, 60388, 59715, 473, 36658, 49627, 30353, 56362, 9880, 9633, + 19766, 62295, 30356, 31539, 23876, 64274, 20158, 47999, 13805, 63364, 1003, 60748, + 20622, 434, 9671, 51617, 6670, 25108, 25448, 54252, 10992, 26174, 15946, 39405, + 26233, 10029, 6884, 22168, 63607, 10426, 59256, 23770, 24589, 9388, 57735, 38410, + 6536, 55379, 53875, 60650, 2470, 59633, 41118, 44739, 15034, 40804, 65394, 41152, + 8352, 54576, 39269, 55190, 50381, 36079, 62403, 54174, 53182, 15299, 60549, 22194, + 22613, 62418, 23254, 49169, 60338, 20867, 12336, 48695, 42542, 63685, 60822, 17256, + 53642, 32927, 52750, 63579, 48217, 52827, 8942, 1820, 53705, 38661, 46378, 22593, + 45865, 5546, 59305, 32426, 41477, 39242, 46610, 30368, 11897, 27846, 2935, 57576, + 30339, 6867, 50591, 59892, 46091, 27934, 29857, 40968, 14152, 34791, 18667, 28592, + 63015, 5117, 37517, 28058, 49615, 41789, 31123, 49393, 38631, 47365, 60174, 12964, + 61246, 45455, 57146, 65109, 9377, 65349, 25623, 39940, 5182, 19212, 13028, 38051, + 43591, 31201, 19227, 41021, 26111, 35711, 62505, 18766, 29094, 34824, 11222, 43928, + 34425, 5123, 45548, 59900, 35932, 11515, 15753, 49829, 38431, 18619, 63220, 62040, + 6111, 16210, 4041, 40369, 54872, 2832, 1421, 8037, 57206, 65520, 11245, 32220, + 43416, 34493, 39888, 27635, 28942, 40642, 8084, 21367, 8160, 30884, 15410, 21259, + 46394, 48598, 31984, 49363, 42888, 30141, 40299, 11737, 33312, 29661, 28618, 21502, + 14733, 53935, 19345, 47585, 7586, 43724, 55831, 12080, 28193, 6653, 8308, 40106, + 7425, 63203, 47731, 41340, 26308, 45329, 48025, 51108, 47007, 47731, 63782, 53350, + 4015, 38980, 34920, 48449, 31705, 1488, 22457, 23347, 16992, 56681, 14429, 33527, + 12765, 20151, 46112, 1421, 62834, 22748, 59314, 11327, 2312, 58302, 63363, 3265, + 21926, 40114, 55177, 60244, 37620, 61488, 10287, 460, 29068, 60999, 713, 16091, + 15827, 41058, 1319, 47520, 5215, 40565, 1972, 1914, 30861, 19560, 2811, 59072, + 29824, 44862, 213, 24992, 20911, 37795, 26367, 53655, 60881, 7032, 28945, 60539, + 56890, 62146, 44351, 6870, 20189, 63384, 32285, 57301, 648, 563, 58096, 56614, + 58411, 62965, 36263, 29863, 53991, 55456, 32311, 1858, 6415, 54413, 5093, 41786, + 44133, 14979, 64800, 20978, 3362, 51659, 13409, 19106, 35229, 14345, 59318, 19729, + 27374, 24663, 55933, 50009, 35921, 63536, 22827, 47812, 3723, 54976, 46414, 58598, + 11684, 45054, 812, 62649, 20744, 37795, 8765, 35736, 58821, 62209, 43607, 21883, + 60853, 63978, 30960, 14803, 28167, 54300, 5881, 42380, 39608, 15000, 23000, 18951, + 63061, 29707, 51018, 14327, 18279, 3314, 21816, 32286, 29796, 7826, 44839, 39968, + 37867, 18933, 31217, 10616, 59625, 52633, 48450, 30414, 24235, 55644, 34702, 59985, + 48635, 22363, 24614, 64551, 42264, 18409, 33734, 33026, 27273, 45394, 6127, 42392, + 45504, 34704, 23929, 48967, 58934, 14363, 25931, 47902, 10533, 43411, 50746, 57932, + 51160, 31082, 35878, 30010, 56605, 19720, 44354, 39172, 39200, 57353, 11481, 58175, + 21891, 59976, 43980, 50141, 58864, 10561, 47808, 11169, 15212, 27778, 37923, 5259, + 57695, 33586, 39994, 32675, 36275, 8804, 39037, 14981, 12489, 17535, 8063, 48736, + 3439, 22024, 20693, 59623, 43521, 58628, 3481, 57705, 39685, 2332, 55301, 54418, + 1314, 9560, 28195, 56031, 37832, 39137, 11587, 35239, 20294, 4100, 48208, 61011, + 10064, 60853, 47593, 45743, 58509, 3262, 19525, 33613, 24319, 25901, 4039, 28446, + 5427, 4414, 43548, 26445, 9292, 12857, 46585, 33407, 3372, 42337, 57182, 32368, + 47528, 30472, 63534, 28991, 48686, 47536, 20132, 49451, 53621, 58534, 49758, 45621, + 37990, 29719, 60278, 28229, 43190, 32291, 21405, 55830, 3506, 6235, 9749, 33643, + 53436, 28877, 35078, 35442, ])) .unwrap(), - c: 0, + c: 233, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 82, b: 642531935108670539, c: 1838776326 }, + FixedTestStruct { a: 131, b: 5961421925085947308, c: 1737832730 }, + FixedTestStruct { a: 192, b: 10876950485646554345, c: 3013846498 }, + FixedTestStruct { a: 40, b: 10429973492576791947, c: 2638874374 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 0, + a: 23494, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 62191, 8719, 61871, 52371, 4325, 52627, 15113, 41387, 46256, 64066, 23921, + 57006, 52024, 14123, 52688, 25260, 1534, 4578, 59148, 60025, 18090, 4127, + 18118, 58622, 25342, 6543, 59224, 25765, 676, 25053, 50858, 63336, 28537, + 57729, 43425, 24290, 51422, 42353, 22866, 15031, 20485, 18453, 16848, 18829, + 55314, 15976, 46459, 61304, 51311, 29694, 44125, 8044, 35035, 19778, 28952, + 6615, 56411, 7175, 14170, 43580, 37804, 64459, 38963, 47485, 34326, 43429, + 63311, 26647, 51254, 59880, 2699, 92, 20450, 40570, 9076, 20341, 23477, 26050, + 59964, 16179, 24878, 55637, 444, 46119, 31445, 47989, 27081, 1149, 28156, + 32773, 41560, 17593, 45182, 6245, 43914, 64624, 44185, 51507, 62888, 30346, + 46118, 46020, 29434, 54053, 47382, 5611, 38004, 52540, 44300, 60777, 60559, + 26005, 5822, 10987, 30633, 20032, 53531, 9222, 16509, 14044, 43208, 58186, + 59793, 54138, 50848, 44015, 52862, 61238, 36472, 154, 5098, 48827, 18839, 4924, + 35578, 3152, 60672, 31754, 41505, 3816, 63901, 11147, 48009, 62726, 20766, + 15846, 22382, 31535, 53123, 44009, 30832, 30365, 34949, 62007, 23094, 6962, + 56549, 19702, 36142, 38995, 46783, 60666, 52898, 23448, 50759, 38035, 54340, + 41776, 24211, 37750, 9620, 56156, 292, 23204, 40343, 41425, 56262, 53892, + 33710, 8284, 48961, 2982, 59758, 25438, 22503, 8668, 26619, 50730, 8356, 61977, + 55866, 48502, 61645, 48798, 40415, 13102, 35196, 56779, 46796, 37731, 38928, + 16588, 46582, 64290, 26751, 37435, 43258, 21538, 28089, 50485, 13346, 14907, + 41361, 49869, 446, 45538, 19715, 58516, 12783, 42204, 60856, 21829, 42133, + 23028, 50730, 60035, 29839, 54733, 2446, 52922, 29019, 28126, 35436, 15589, + 10542, 6667, 36915, 20564, 15057, 748, 13660, 35382, 60195, 24555, 17869, + 42435, 22765, 39650, 48393, 23203, 29556, 7801, 24232, 58274, 34912, 21357, + 12457, 4176, 11276, 1730, 26876, 9354, 15954, 24433, 4468, 9397, 46989, 26769, + 38163, 1774, 40930, 51365, 64538, 33629, 7654, 34424, 28960, 30428, 28594, + 55354, 40616, 62455, 38894, 49024, 49755, 52650, 64992, 18342, 35023, 17667, + 56484, 16755, 30750, 61882, 24585, 10795, 14801, 16912, 45508, 7085, 60466, + 24257, 1990, 5862, 47479, 55970, 45775, 7162, 8156, 17371, 30187, 54202, 11823, + 15573, 12840, 13243, 1263, 12431, 23496, 52000, 5924, 41551, 13669, 60239, + 7403, 49895, 35116, 25207, 20887, 33668, 351, 18018, 35552, 14323, 35509, 3710, + 22654, 40471, 63934, 27502, 26718, 55112, 37246, 10938, 7343, 6719, 58233, + 6144, 23089, 3383, 39228, 35848, 5146, 27867, 24716, 8081, 62689, 48306, 16648, + 11995, 25175, 6134, 57069, 10630, 18399, 44701, 15617, 43504, 23610, 61950, + 49021, 40170, 50765, 6994, 5897, 21505, 7080, 39266, 9212, 39982, 2058, 54074, + 56410, 12051, 52108, 50253, 62569, 56769, 7572, 49160, 65266, 15642, 50500, + 9711, 53998, 52967, 34476, 4076, 10437, 44165, 14942, 9033, 42939, 46803, + 23362, 31786, 17198, 40797, 44524, 7307, 22751, 20620, 44264, 46853, 29253, + 5124, 10033, 40243, 13321, 35051, 24615, 65102, 48524, 29313, 21855, 6955, + 57862, 25714, 63063, 40738, 2696, 20443, 31963, 4760, 46377, 13862, 26352, + 55527, 4045, 4013, 39291, 39960, 38643, 6271, 20501, 57354, 50070, 48143, + 35483, 2625, 18932, 62188, 49636, 27722, 19199, 40995, 41767, 59123, 55110, + 9584, 61617, 7846, 15898, 23996, 57750, 1512, 64979, 17410, 59138, 9553, 63487, + 17382, 32126, 47643, 13004, 2282, 55422, 41408, 27874, 16605, 60021, 24806, + 32930, 52065, 15198, 13726, 302, 12443, 32347, 28698, 52619, 5587, 326, 33090, + 35413, 26051, 3006, 25128, 50129, 54008, 28425, 2877, 36428, 48780, 60133, + 15346, 46743, 33084, 23717, 31273, 145, 8481, 40321, 61538, 7903, 23905, 3678, + 19559, 43084, 25933, 32461, 24788, 60754, 42195, 48135, 50846, 3150, 60911, + 60267, 4193, 44024, 29327, 5276, 25871, 51173, 47643, 42755, 51981, 51647, + 24232, 40874, 28027, 19657, 17143, 57219, 30483, 5485, 33844, 31562, 44934, + 58892, 54240, 52207, 46513, 12510, 55911, 32133, 42371, 1570, 43230, 39269, + 59613, 7561, 33556, 48104, 51193, 6208, 33674, 42273, 64503, 12609, 30434, + 45199, 45715, 5369, 31255, 16260, 23577, 21081, 41769, 65054, 44312, 2278, + 45485, 29238, 46249, 4442, 23, 19035, 9001, 45808, 13986, 9503, 5633, 31185, + 63181, 42369, 6926, 9197, 11428, 55738, 10686, 13854, 7202, 41715, 51414, + 51879, 61711, 6789, 36978, 23222, 56855, 11279, 22418, 9096, 58281, 54899, + 19764, 6689, 27108, 35723, 33393, 58956, 30927, 62578, 59410, 24544, 34094, + 53415, 23775, 26535, 35658, 18147, 18846, 46321, 60892, 18435, 46527, 7389, + 60259, 48294, 38834, 3878, 45532, 5838, 18234, 49174, 8902, 51493, 1108, 5697, + 49762, 54584, 37340, 19637, 51706, 23267, 27122, 36282, 5724, 10761, 10114, + 51996, 61053, 3367, 63987, 64494, 60026, 38466, 51491, 8074, 52960, 13399, + 13761, 32242, 22227, 16632, 10335, 64171, 63708, 39334, 13945, 50422, 41502, + 23900, 33459, 20576, 63075, 36813, 53171, 1333, 21498, 44793, 16899, 34376, + 41310, 61478, 43000, 44470, 35030, 21815, 60644, 17191, 49679, 55916, 55568, + 20525, 16873, 55669, 46990, 20812, 21004, 47358, 28886, 24033, 53541, 38799, + 40500, 33655, 28096, 19909, 22163, 58646, 1438, 19300, 45486, 15625, 4736, + 52773, 8107, 44256, 23959, 29712, 34987, 32629, 61777, 10508, 47024, 47918, + 62358, 32627, 60016, 61360, 18965, 34356, 15046, 59209, 46025, 24213, 5276, + 56640, 63413, 7075, 41930, 40904, 13720, 60923, 49987, 52362, 44754, 40574, + 14916, 53222, 22851, 26119, 25511, 64407, 8873, 16445, 55026, 50617, 44097, + 18296, 8616, 17153, 47006, 20239, 53120, 17559, 42213, 23768, 965, 637, 59104, + 32621, 6789, 5483, 49873, 32512, 22719, 21796, 19625, 63377, 1799, 41088, 2557, + 44854, 20722, 36933, 15858, 14400, 31235, 51052, 53327, 29495, 57904, 4146, + 18932, 25232, 13048, 29972, 22835, 31974, 20172, 32863, 44026, 50882, 3174, + 43562, 30254, 47240, 20351, 58500, 41491, 36623, 2362, 40284, 49440, 12485, + 35880, 3318, 9420, 50502, 54568, 51929, 37002, 6223, 27443, 7160, 37082, 36452, + 8342, 53248, 64760, 26304, 58672, 22861, 42074, 21767, 40528, 3973, 40099, + 37381, 1098, 64995, 48112, 35327, 7428, 13163, 59637, 21473, 5847, 51703, + 47236, 43554, 26323, 5479, 6095, 52918, 24954, 41134, 12702, 8985, 30564, + 16947, 55126, 27833, 63325, 2381, 50245, 49979, 24505, 40592, 10815, 58175, + 60050, 29763, 29871, 5196, 31350, 56428, 1983, 52875, 34927, 55670, 7069, 8308, + 53370, 19041, 20822, 14713, 20985, 30094, 54457, 36120, 23191, 6346, 10603, + 55737, 7683, 13077, 62699, 9603, 26704, 52537, 35149, 32458, 33447, 41441, + 11186, 43736, 8700, 19915, 24944, 15963, 27004, 19561, 25786, 25900, 45268, + 19239, 63365, 5373, 47282, 40030, 13747, 58850, 47686, 49482, 40267, 31428, + 17353, 42307, 59572, 48716, 64787, 35482, 21563, 14860, 51825, 20973, 424, + 19890, 26870, 39007, 60289, 17668, 22052, 36549, 45400, 35605, 58181, 40307, + 12062, 34867, 43943, 44128, 23797, 48770, 43726, 12974, 52184, 34142, 26983, + 48965, 47657, 17828, 12295, 1104, 35640, 3687, 43993, 16928, 30854, 37888, + 52097, 5540, 27351, 19547, 38977, 53008, 35634, 50688, 59133, 31620, 62563, + 50071, 63584, 743, 59929, 31910, 53142, 33817, 6879, 30309, 33065, 17363, + 39592, 21915, 24753, 19689, 61386, 43691, 55542, 25364, 24761, 55837, 37774, + 10253, 50414, 3909, 28594, 7191, 32780, ])) .unwrap(), - c: 0, + c: 227, }, VarTestStruct { - a: 0, + a: 37931, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 33232, 49745, 32208, 19257, 59506, 50483, 27643, 42473, 5883, 63100, 25377, + 38309, 64931, 41988, 59618, 12505, 11426, 12564, 49033, 59160, 54071, 60819, + 7716, 7965, 39124, 62484, 39276, 57449, 7320, 54267, 23912, 63484, 8827, 11782, + 13847, 35208, 57374, 40244, 53328, 2791, 51985, 55447, 37924, 3487, 30267, + 22529, 42413, 47235, 10845, 40887, 20408, 37661, 62626, 37899, 4384, 40353, + 34220, 25634, 39265, 56634, 1459, 1570, 27098, 6472, 1521, 44826, 38003, 11888, + 290, 3893, 46645, 6929, 45005, 14656, 56210, 33419, 50641, 12383, 31466, 21994, + 53378, 9261, 6666, 17491, 21735, 59633, 49822, 62999, 31824, 39411, 36362, + 14832, 2760, 54476, 8641, 22518, 42102, 29029, 27163, 16146, 35874, 13886, + 51784, 46204, 18791, 57909, 18012, 43519, 54259, 5894, 11495, 51486, 8181, + 30073, 8477, 29121, 39068, 24490, 4986, 33786, 31575, 23403, 50161, 59485, + 48904, 36212, 33666, 61527, 2129, 53555, 52529, 5486, 51562, 4534, 26341, + 18072, 13459, 47209, 64277, 46346, 16919, 41742, 29508, 19053, 15901, 22319, + 9651, 58641, 43175, 6736, 13543, 13832, 19637, 27437, 40663, 28975, 18028, + 28632, 19, 48466, 23844, 56296, 29125, 21254, 2055, 61565, 46985, 16810, 29883, + 43175, 2753, 48443, 18148, 45216, 31089, 6453, 60974, 47934, 58200, 43513, + 5024, 23323, 45869, 31548, 55228, 33247, 2087, 25225, 59264, 10405, 39972, + 6279, 44086, 12349, 2246, 31668, 15361, 60930, 57918, 57074, 20872, 53649, + 11262, 2039, 25103, 16081, 55513, 46032, 16810, 4748, 65174, 31704, 9373, 7664, + 36837, 13405, 3525, 47929, 1416, 13455, 16190, 34764, 42627, 63174, 13088, + 22210, 40794, 61543, 61524, 57256, 32549, 45568, 4062, 45423, 13111, 3579, + 37883, 33359, 19437, 11782, 39242, 14842, 36, 63841, 58760, 54662, 41654, 1756, + 30565, 55932, 52561, 28043, 1995, 50837, 37274, 16168, 64154, 30158, 41983, + 3043, 50605, 26286, 29390, 54470, 34069, 27565, 32945, 427, 55389, 49559, + 51033, 15133, 59704, 37912, 35763, 16790, 25796, 47492, 21405, 60196, 11838, + 58016, 43593, 55325, 17311, 64123, 18505, 16890, 9045, 50807, 48381, 41519, + 62549, 33546, 28863, 48237, 44386, 42213, 45075, 11179, 52764, 33269, 4414, + 35782, 53930, 840, 6103, 29647, 56460, 23363, 16249, 7406, 50938, 34251, 12539, + 20227, 51622, 62870, 16303, 36646, 51911, 61992, 31580, 8881, 50427, 11347, + 50302, 36261, 36170, 39729, 13501, 13163, 25482, 28153, 16734, 50238, 21442, + 55785, 27238, 8812, 3676, 41568, 12450, 26456, 25268, 8872, 17507, 46981, 5227, + 19553, 34279, 694, 38775, 46180, 59660, 51011, 42880, 8566, 65281, 29255, 5309, + 29962, 47485, 46229, 21434, 30944, 21652, 49461, 42476, 13200, 49168, 11274, + 52182, 15387, 8611, 4888, 21400, 52125, 24220, 14083, 37632, 31470, 53919, + 23707, 39502, 50622, 52863, 28792, 58321, 60284, 44856, 20709, 13444, 4659, + 640, 53293, 21235, 44075, 56440, 51231, 13946, 64401, 38305, 15262, 55431, + 37273, 14882, 42986, 7366, 25842, 32782, 4161, 28804, 23872, 23495, 29135, + 2136, 54160, 24172, 19533, 55912, 40296, 15572, 48253, 29676, 41192, 13743, + 43051, 35059, 2203, 5676, 17844, 22810, 10115, 62456, 60125, 9656, 3296, 22941, + 40532, 13693, 47128, 58293, 36504, 39152, 9489, 23967, 37675, 10542, 459, + 59701, 22715, 58997, 24572, 57156, 60140, 20937, 36530, 50545, 61567, 20801, + 30020, 58679, 64206, 51749, 58047, 59614, 41057, 32949, 62282, 47477, 18262, + 3741, 38454, 17946, 36908, 35656, 42445, 55570, 49469, 33066, 21053, 22443, + 35801, 6501, 53516, 23709, 40976, 57983, 27207, 22655, 62207, 38148, 52511, + 34650, 48422, 11531, 25474, 43062, 18927, 59331, 14694, 38814, 30037, 60319, + 47484, 7509, 26395, 10886, 47632, 63818, 7091, 33298, 3361, 13284, 37484, + 38433, 16929, 16744, 42972, 15286, 59004, 64424, 10820, 6975, 46943, 32406, + 22980, 7929, 27069, 13481, 19937, 1175, 63733, 30579, 3254, 49131, 27448, 973, + 28039, 58260, 2315, 46817, 61465, 57458, 27082, 34919, 46292, 9477, 37395, + 54895, 13989, 58344, 33234, 48514, 10013, 23372, 39777, 48969, 51859, 5022, + 65476, 51005, 55333, 59413, 1594, 51943, 45907, 41983, 55906, 6664, 30701, + 35013, 22727, 1121, 25600, 9544, 57605, 26200, 45663, 17555, 636, 14101, 56741, + 43836, 64905, 18905, 18406, 4450, 3681, 50139, 40001, 14933, 13861, 43235, + 15683, 38294, 41783, 34361, 17712, 30821, 55965, 27741, 44427, 29675, 11624, + 46932, 4788, 61259, 32422, 61249, 37116, 27512, 47066, 7206, 43574, 18970, + 24049, 4267, 37442, 30966, 42196, 27359, 1052, 39421, 37799, 44276, 3249, + 23107, 48774, 10703, 3652, 51266, 4988, 4789, 64548, 6791, 54506, 61965, 2233, + 16133, 20833, 31894, 55185, 55553, 58900, 42265, 23982, 4563, 9293, 26629, 175, + 18796, 57239, 34187, 65291, 31608, 65093, 59280, 58233, 12792, 62070, 55343, + 54841, 28314, 33215, 12105, 28290, 32337, 33529, 7153, 27806, 25534, 11519, + 43036, 25074, 4278, 2409, 22954, 8587, 32472, 52640, 6566, 62003, 19574, 32192, + 2705, 2068, 34403, 7858, 29371, 4245, 1294, 23185, 49353, 36435, 24985, 63316, + 21483, 6776, 1513, 5058, 45339, 14814, 42025, 64335, 60535, 53851, 51715, + 59393, 14618, 48382, 27394, 39310, 21058, 7076, 6211, 28691, 35565, 30500, + 43999, 46505, 46261, 61265, 40383, 65155, 63572, 31788, 53756, 43474, 16115, + 8169, 20813, 24048, 18296, 51827, 25214, 25179, 52235, 58173, 31157, 27773, + 27712, 62894, 3258, 61915, 36620, 10031, 27272, 61799, 8814, 53997, 44344, + 31313, 59839, 32067, 8877, 36514, 1579, 39593, 63869, 47571, 30967, 35198, + 6489, 65142, 53689, 16119, 9916, 6266, 55591, 14983, 63411, 44117, 46988, + 37220, 10898, 6399, 9425, 371, 53523, 52493, 10171, 63986, 24601, 12618, 21622, + 30756, 22168, 15632, 37784, 18170, 26423, 29787, 31163, 43433, 48707, 47147, + 64074, 3595, 18289, 29680, 8419, 46213, 9998, 40845, 19543, 2063, 26780, 39261, + 36867, 11861, 22532, 482, 46275, 61127, 12792, 64281, 45927, 16765, 47884, + 30879, 6136, 3592, 26929, 53918, 2055, 52446, 4127, 22016, 10513, 55797, 54, + 55962, 24550, 4122, 216, 8272, 26033, 60761, 58435, 14927, 64092, 41186, 5820, + 6599, 7607, 2843, 21510, 46932, 36564, 1599, 1444, 48375, 23107, 27101, 32863, + 59425, 55645, 41071, 54991, 39762, 27985, 13617, 45825, 63510, 44876, 43027, + 58745, 34335, 52176, 26016, 1029, 53235, 65506, 24985, 49690, 55491, 6797, + 5299, 56649, 49954, 13467, 37772, 61019, 9905, 41585, 41587, 53789, 36033, + 40085, 34009, 19870, 39740, 2791, 16242, 65226, 602, 3657, 8774, 19785, 11033, + 17321, 12743, 16813, 31986, 32454, 50437, 21549, 19129, 10769, 18028, 25901, + 47037, 15697, 52271, 39208, 11650, 24131, 51286, 22109, 27380, 38143, 9664, + 62877, 41423, 48176, 65245, 59433, 64131, 17601, 17491, 33769, 31239, 25953, + 40006, 40665, 19539, 29898, 54577, 28794, 2709, 20549, 23365, 48767, 34030, + 28172, 38739, 23497, 12497, 669, 47382, 55701, 54381, 28408, 25532, 12994, + 25510, 59802, 9767, 505, 4616, 37770, 59717, 17412, 64799, 24562, 3508, 53786, + 39485, 9473, 50327, 24863, 26667, 54354, 40963, 21436, 49367, 51215, 29704, + 44704, 42663, 49150, 46704, 31256, 53842, 51288, 37099, 42215, 62083, 9475, + 49879, 18005, 3423, 6405, 43997, 48786, 39755, 59538, 49695, 566, 10618, 58216, + 37762, 32930, 31347, 35431, 35734, 19275, 61864, 40299, 22981, 45058, 20344, + 27995, 40134, 20744, 16250, 13836, 63918, 26514, 16127, 57742, 24253, ])) .unwrap(), - c: 0, + c: 107, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_8/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_8/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -10474,194 +5445,351 @@ fn test_containers_complex_test_struct_zero_8() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("44aa205a1ab79b3ef1674d4040b34d702efe212440c817248c48beaf73443a45"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_zero_9() { - let mut value = SingleFieldTestStruct { a: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_zero_chaos_2() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, false, false]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, false, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_zero_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5b8c65840d6ad9823340ff0108e98f8efa055be1911fc7d7012c5de1064b4caf"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_random_8() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, true, true]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false, false]), - e: Bitvector::<8>::from_iter([false, false, true, false, true, true, false, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_random_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("de589adc2de052524b60cb01e01ed8a5cc1c24404877b152b1e9154f6393b5bd"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_max_5() { - let mut value = SingleFieldTestStruct { a: 255 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xcf3761ba9461b1af5158ea2e93141841e86368e57dc089d80fded1e1f7750866"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_zero_6() { +fn test_containers_complex_test_struct_lengthy_9() { let mut value = ComplexTestStruct { - a: 0, + a: 30344, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 27285, 31750, 46578, 54105, 57571, 43485, 744, 1344, 32473, 47440, 11194, 63789, 51406, + 37376, 38249, 60165, 33154, 64174, 55216, 40772, 54694, 57064, 284, 15090, 37949, 2419, + 36394, 51863, 14377, 9930, 63924, 1052, 56672, 4452, 64521, 35049, 20321, 53698, 49928, + 57477, 32623, 9402, 19536, 53550, 14402, 43887, 12704, 16647, 12655, 36204, 30889, + 63009, 36953, 1485, 13796, 875, 40454, 39755, 40840, 7957, 39865, 45197, 4950, 28755, + 19609, 30717, 23519, 3819, 32042, 54189, 36262, 37283, 15891, 3286, 62776, 11998, + 17403, 36926, 19911, 60940, 9910, 51730, 3767, 10296, 24414, 56319, 7900, 46969, 48170, + 42937, 37053, 29988, 49978, 21348, 64806, 13650, 18850, 28151, 26745, 44992, 38448, + 26489, 12891, 45319, 44674, 43692, 57120, 19420, 33502, 9583, 4622, 3966, 60405, 55604, + 34205, 47241, 48704, 1772, 60046, 44520, 25522, 59273, 36522, 14925, 57471, 63734, + 55845, 30341, + ])) + .unwrap(), + c: 232, + d: List::::try_from(Vec::::from_iter([ + 99, 104, 35, 109, 210, 97, 247, 62, 235, 217, 21, 187, 178, 135, 238, 229, 12, 166, 76, + 68, 55, 19, 91, 60, 238, 24, 90, 152, 244, 178, 104, 142, 76, 80, 122, 99, 2, 14, 243, + 173, 120, 94, 19, 185, 125, 75, 3, 151, 150, 55, 51, 253, 255, 5, 75, 139, 94, 137, + 162, 121, 233, 174, 17, 237, 80, 0, 247, 2, 173, 190, 235, 180, 100, 146, 73, 197, 113, + 70, 176, 79, 36, 83, 178, 223, 158, 139, 191, 167, 111, 49, 235, 33, 145, 53, 15, 193, + 179, 141, 255, 243, 196, 169, 217, 153, 232, 143, 124, 106, 179, 239, 72, 112, 228, 17, + 29, 246, 29, 17, 32, 158, 115, 221, 175, 198, 247, 2, 61, 80, 242, 32, 254, 12, 240, + 109, 8, 164, 139, 205, 119, 166, 74, 8, 113, 105, 127, 161, 49, 134, 192, 1, 197, 13, + 38, 146, 178, 58, 13, 4, 99, 59, 4, 88, 112, 1, 228, 72, 115, 53, 247, 99, 20, 16, 196, + 40, 179, 179, 48, 139, 143, 161, 150, 56, 250, 11, 254, 139, 28, 251, 112, 10, 177, + 151, 246, 184, 5, 183, 151, 52, 83, 237, 50, 120, 193, 244, 31, 143, 50, 78, 223, 71, + 162, 171, 117, 57, 198, 234, 216, 78, 216, 209, 126, 100, 159, 199, 67, 191, 58, 42, + 135, 246, 102, 175, 206, 61, 35, 14, 51, 89, 34, 22, 51, 144, 71, 250, 109, 4, 139, 75, + 165, 214, 158, 218, 174, 43, 150, 168, ])) .unwrap(), - c: 0, - d: List::::try_from(Vec::::from_iter([0])).unwrap(), e: VarTestStruct { - a: 0, + a: 6409, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 63410, 3333, 22112, 3774, 3153, 65192, 31578, 20841, 1011, 56551, 55765, 57694, + 16588, 21882, 51592, 64066, 61181, 42182, 52872, 42491, 16147, 33742, 12923, 25318, + 25964, 52728, 47839, 10450, 8881, 51682, 31438, 1864, 51725, 6773, 50158, 37906, + 36402, 27740, 18169, 62647, 27752, 39858, 31304, 2140, 46753, 8022, 53839, 28735, + 22576, 55301, 57556, 48592, 31738, 657, 62869, 47835, 61722, 9607, 61296, 5815, + 13471, 49662, 35481, 30600, 24824, 33743, 50959, 60611, 32000, 7011, 29471, 189, + 39699, 62663, 53365, 31214, 27133, 42428, 16934, 7822, 2781, 19234, 61631, 42863, + 41420, 3022, 64979, 33155, 17211, 6321, 23395, 43547, 33544, 39024, 10331, 18428, + 28026, 47427, 62052, 45348, 22566, 40636, 23279, 5109, 27057, 50493, 23229, 37698, + 30798, 3459, 38491, 43479, 1027, 58715, 61722, 5349, 51136, 46640, 38914, 34004, + 58899, 12839, 26742, 48070, 61283, 14369, 21488, 537, 58459, 4758, 63638, 14736, + 55981, 710, 32345, 43316, 60134, 44843, 17373, 6397, 52465, 30152, 59984, 15858, + 62684, 49955, 46097, 59932, 1622, 3154, 31660, 64727, 6181, 31762, 38556, 46394, + 17784, 46397, 64871, 11728, 54460, 33288, 50630, 7098, 32608, 47695, 47174, 2583, + 2206, 33316, 7837, 25989, 33133, 46083, 44285, 9169, 6780, 10805, 25059, 29236, + 58714, 6878, 38206, 58972, 31671, 59410, 27877, 58720, 51110, 39991, 19196, 12834, + 51762, 11134, 53261, 20274, 21300, 58618, 25420, 40834, 31722, 61603, 34526, 49735, + 61190, 20055, 16449, 56417, 42320, 9436, 51589, 3308, 22140, 64302, 2784, 12533, + 30639, 23075, 40629, 32394, 39842, 23184, 1790, 20546, 10781, 3726, 44617, 38538, + 24274, 25022, 41120, 39251, 13444, 44385, 20169, 13855, 4518, 34563, 61861, 42020, + 38421, 46262, 59118, 6038, 1387, 53995, 18361, 40919, 23573, 16076, 17299, 52522, + 47357, 45045, 8002, 11043, 49214, 63932, 21963, 48675, 54576, 55853, 39509, 60756, + 21336, 51375, 16952, 21746, 37491, 65495, 52028, 45966, 11184, 64390, 62137, 12924, + 14698, 32491, 37810, 28149, 44260, 32471, 21291, 22193, 48049, 16310, 48010, 44280, + 21934, 22727, 60556, 32535, 36516, 60493, 13962, 40438, 54881, 2180, 62420, 50849, + 2096, 37844, 19353, 2916, 4269, 50724, 57824, 35803, 55005, 32481, 12157, 20838, + 16058, 47691, 35670, 31224, 41494, 7626, 7959, 42590, 43802, 32741, 33809, 15502, + 15831, 11454, 59784, 44056, 63131, 15469, 8348, 62330, 36340, 47210, 35269, 16549, + 65016, 29816, 31523, 48294, 19249, 30907, 38802, 63284, 41843, 32135, 43782, 34852, + 28504, 34884, 35149, 48003, 64116, 35134, 56281, 41800, 35727, 19336, 40578, 31200, + 19608, 44044, 47782, 19650, 64200, 25410, 7177, 13064, 50022, 4312, 4322, 37597, + 35676, 10229, 29684, 935, 15426, 36879, 37844, 39243, 45468, 611, 21852, 45567, + 64939, 1961, 59055, 4320, 47190, 32843, 42519, 31197, 25754, 58426, 30288, 7910, + 1765, 9394, 61176, 32529, 23219, 3482, 46194, 13662, 14547, 26477, 2121, 13702, + 32186, 5229, 2576, 41328, 39013, 14395, 57869, 64527, 8911, 16918, 23615, 20578, + 8701, 5854, 7306, 54599, 3348, 27559, 6783, 23116, 7702, 55475, 13521, 41846, + 25227, 50582, 47649, 19258, 23006, 62989, 32137, 63862, 61177, 18536, 40346, 63096, + 48013, 51703, 830, 15846, 54885, 36908, 12024, 39511, 16852, 47311, 27011, 36334, + 54344, 59572, 58768, 43649, 40675, 55083, 47619, 20382, 37028, 10762, 62937, 49142, + 33630, 4672, 15202, 16523, 59513, 10039, 34221, 37921, 4462, 57673, 62957, 24726, + 57002, 37991, 42985, 34390, 50066, 29142, 61458, 30181, 6442, 43216, 62786, 36234, + 37652, 22963, 53068, 20291, 27988, 2542, 56678, 22020, 28692, 54146, 35072, 4752, + 23271, 43626, 64408, 46906, 33844, 15985, 12872, 50020, 42594, 55975, 56256, 50883, + 17688, 19694, 59039, 40465, 10662, 52752, 64518, 19535, 53608, 54060, 22121, 45124, + 385, 20746, 13378, 46843, 37145, 25736, 4586, 14540, 52342, 48518, 39620, 21257, + 45580, 20785, 60520, 47638, 50887, 7237, 21313, 23647, 41185, 49974, 36077, 57806, + 3878, 30205, 19761, 36345, 47089, 59211, 23734, 37410, 10696, 61413, 27030, 14160, + 54002, 21700, 7719, 46470, 47269, 53780, 20439, 26507, 49988, 60696, 32614, 8484, + 27411, 60931, 5374, 54530, 4977, 11701, 40538, 51387, 2367, 21390, 31145, 13488, + 46105, 45423, 44812, 28902, 41087, 40419, 54068, 23303, 21978, 44170, 44998, 53213, + 31834, 4029, 34403, 1972, 4226, 14927, 12308, 9763, 35969, 54408, 36726, 63816, + 64347, 50900, 14566, 700, 62233, 8580, 46005, 51306, 19836, 52369, 47471, 39457, + 324, 14937, 49777, 23565, 36855, 48991, 62856, 4755, 30401, 16094, 58049, 35734, + 4269, 2368, 22746, 31825, 40288, 24288, 39608, 51252, 55491, 25079, 44051, 61721, + 18363, 30223, 27793, 41635, 17413, 64342, 6349, 11062, 3503, 16321, 18950, 38123, + 33118, 1994, 21038, 57207, 6895, 47933, 23177, 38368, 37916, 5660, 6239, 44653, + 20689, 23588, 16486, 26792, 41416, 63367, 56706, 35288, 20434, 26791, 22874, 14427, + 40070, 2140, 59890, 16891, 5785, 42811, 27493, 61832, 53939, 47778, 7698, 44865, + 46169, 25362, 52730, 57474, 11122, 34975, 58660, 32425, 63494, 7520, 11826, 9648, + 49205, 54811, 17381, 52565, 58686, 47967, 18636, 23513, 14097, 50725, 32871, 33108, + 53504, 56074, 46964, 50577, 17793, 38712, 28408, 8338, 54068, 9346, 966, 20559, + 27367, 60168, 22896, 16668, 19005, 46720, 9278, 64996, 2975, 63196, 36376, 55246, + 52241, 34757, 19037, 29815, 46636, 12221, 4494, 57458, 55359, 38388, 49529, 59896, + 52599, 22135, 6903, 38917, 45249, 29172, 62024, 32505, 43125, 20212, 23885, 10921, + 6687, 51513, 18115, 45864, 7000, 45969, 50822, 36648, 49482, 1494, 47249, 3068, + 15290, 8645, 41494, 16928, 47112, 19835, 7469, 49589, 13542, 24179, 21931, 11862, + 64752, 46141, 26490, 10401, 64630, 139, 34818, 39655, 50656, 57591, 24338, 40087, + 7087, 40290, 10479, 19267, 28618, 43263, 38254, 40649, 11078, 25338, 59267, 65367, + 28771, 41091, 47426, 54947, 19759, 24984, 33337, 36131, 45227, 54145, 47460, 60807, + 15609, 5357, 23158, 749, 55515, 20322, 3713, 43736, 58335, 16694, 3839, 53659, + 44883, 5353, 27992, 59519, 57154, 38753, 4709, 10267, 48741, 53882, 49165, 20236, + 44944, 31435, 24580, 13008, 40126, 43198, 40989, 61928, 21272, 44923, 12035, 28932, + 13161, 11568, 37809, 32970, 11964, 19814, 49208, 45575, 47345, 44367, 17992, 8667, + 53291, 30138, 2968, 28456, 54800, 10841, 59159, 20789, 8138, 44560, 56841, 34514, + 39638, 34857, 5850, 53223, 39770, 15438, 46294, 64553, 62318, 34384, 41875, 16251, + 4125, 34735, 39820, 21427, 54023, 56564, 43365, 31444, 39463, 19207, 125, 32098, + 16220, 2291, 51231, 30998, 63093, 64973, 3102, 42590, 12084, 46333, 58265, 21993, + 21819, 8128, 52754, 36493, 55314, 47006, 46010, 60487, 39627, 5885, 35918, 17349, + 35856, 43092, 64254, 14809, 35588, 40581, 43011, 43638, 2534, 4094, 50625, 39517, + 54074, 20328, 65, 31919, 29051, 51068, 35171, 19001, 43332, 18907, 48556, 34896, + 19087, 38730, 37610, 35289, 37586, 41011, 38083, 17144, 7460, 12001, 28579, 33565, + 37202, 43234, 34160, 9931, 33234, 65381, 51965, 20912, 27298, 57502, 28904, 41156, + 55146, 62593, 20262, 7179, 3469, 18423, 48539, 20036, 28189, 19676, 2003, 9700, + 20536, 20312, 48842, 3153, 15725, 7350, 33505, 48503, 43534, 63739, 41968, 11656, + 44112, 59996, 51697, 23090, 12070, 23536, 1632, 19669, 62805, 14447, 32973, 31165, + 41737, 10307, 20029, 46979, ])) .unwrap(), - c: 0, + c: 207, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 8, b: 9407325527306457431, c: 2933613952 }, + FixedTestStruct { a: 182, b: 8329657173333432997, c: 4042190449 }, + FixedTestStruct { a: 21, b: 6255070391095125444, c: 196984688 }, + FixedTestStruct { a: 218, b: 5821387191283060247, c: 1932683805 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 0, + a: 7018, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 43098, 46200, 50262, 46999, 38620, 18378, 44705, 64505, 12555, 5316, 45278, + 8567, 16568, 50442, 11392, 34878, 25044, 21481, 52692, 24747, 50889, 39004, + 34142, 18210, 11272, 30435, 2780, 19317, 32033, 1136, 16491, 50779, 17161, + 37607, 47108, 65311, 23368, 27166, 2544, 17356, 60532, 61886, 19133, 59978, + 42817, 40814, 27506, 15256, 61747, 57296, 7542, 9565, 22134, 59988, 53638, + 26366, 10813, 48368, 22652, 41466, 42593, 9637, 41948, 29650, 3157, 21270, + 25656, 6153, 52797, 5200, 11722, 3711, 60325, 51879, 36431, 46074, 36185, + 51780, 6497, 38753, 55377, 64343, 8718, 48211, 4583, 31556, 27408, 50439, + 18682, 35879, 57439, 57574, 44543, 35493, 61391, 25224, 31780, 18164, 7750, + 912, 16861, 1515, 22940, 58903, 63435, 35513, 49830, 57677, 27438, 24513, + 58430, 60512, 63885, 6852, 13701, 33348, 11290, 35936, 62340, 21992, 60689, + 16543, 20909, 50921, 30810, 10837, 22806, 50471, 45553, 1469, 16246, 16264, + 61992, 2710, 33427, 200, 63360, 6192, 19245, 53849, 5076, 18975, 57053, 22631, + 20837, 48718, 38675, 17891, 10227, 27507, 13473, 7658, 14031, 30338, 35614, + 24310, 64381, 23802, 50688, 16532, 20075, 65, 13796, 43567, 11667, 21859, + 33233, 45834, 53935, 64313, 37733, 10413, 19782, 14743, 52847, 33860, 28992, + 50819, 52612, 12418, 16090, 44274, 29020, 55372, 18466, 27080, 33037, 29604, + 40796, 58766, 4522, 65151, 27003, 53634, 47977, 18071, 19469, 41752, 5443, + 20514, 5068, 46750, 7703, 2691, 51603, 18774, 29130, 10980, 40952, 15347, + 32581, 26192, 22721, 24097, 62756, 60603, 13693, 2283, 45230, 11527, 11069, + 55505, 49452, 21545, 31080, 5669, 645, 9171, 64811, 28980, 36466, 9754, 31325, + 28452, 32917, 61039, 55538, 52336, 44011, 59914, 64405, 20922, 37363, 711, + 39954, 20905, 40614, 28166, 26512, 58331, 40876, 19178, 58990, 9518, 36534, + 154, 19401, 45594, 14112, 50823, 60155, 64095, 12960, 13214, 17408, 12175, + 40677, 29991, 16035, 6204, 59464, 25821, 19842, 129, 3678, 2367, 53323, 36515, + 1736, 38471, 622, 29744, 26822, 32214, 3415, 38173, 3336, 53438, 2858, 54691, + 35213, 21249, 46915, 21909, 24056, 25690, 4434, 48222, 51727, 33304, 49295, + 18984, 15650, 58793, 38766, 45265, 6952, 49299, 54158, 9497, 18353, 49520, + 59698, 43027, 18229, 17170, 57466, 22670, 26859, 18604, 31410, 54697, 26266, + 36123, 26021, 36147, 48347, 22383, 56231, 45105, 56189, 29249, 55500, 56529, + 25916, 51290, 37361, 30115, 17747, 19695, 58250, 24898, 54592, 22796, 54272, + 58544, 59344, 52296, 11445, 37480, 7282, 20367, 43167, 32914, 56855, 60674, + 59318, 38262, 36010, 55832, 23636, 56720, 38899, 1561, 26058, 223, 37389, + 24820, 61106, 57061, 46303, 1272, 17467, 33287, 45281, 12626, 25860, 14501, + 25588, 35362, 49506, 18178, 40631, 54615, 36053, 59387, 59725, 24238, 40121, + 48787, 32896, 16587, 22279, 30411, 58186, 22080, 9373, 19604, 14359, 55700, + 57974, 11658, 7238, 29661, 21531, 47095, 22997, 15085, 36567, 39716, 10495, + 430, 64646, 56191, 8794, 37306, 50710, 24088, 44783, 9759, 60690, 55937, 31269, + 64319, 30882, 36085, 20947, 57802, 869, 19771, 32766, 20648, 52946, 38537, + 42700, 28646, 58652, 20501, 31266, 31208, 24668, 35432, 21639, 36402, 32519, + 40154, 58588, 34345, 57750, 57376, 6833, 27861, 16917, 29216, 41765, 60382, + 54098, 18900, 32347, 11328, 3226, 55071, 49318, 62589, 41292, 17665, 40502, + 13921, 60323, 36986, 29224, 20147, 51648, 19556, 65145, 37584, 54410, 24026, + 13347, 61507, 61588, 27906, 65504, 8594, 18646, 49866, 9067, 51116, 6993, + 53976, 32466, 63395, 22242, 54383, 11331, 14678, 40780, 34177, 26991, 60359, + 17992, 43450, 6698, 16714, 30853, 52688, 50404, 5321, 4855, 3771, 65309, 6433, + 31790, 2963, 3606, 12865, 43293, 5611, 5135, 46963, 43906, 1616, 24725, 14402, + 32709, 55954, 23195, 40091, 11968, 10486, 52562, 21860, 37543, 15002, 44373, + 26694, 28590, 47720, 63765, 34019, 49263, 23025, 17439, 57757, 56990, 17009, + 34978, 30805, 18471, 8836, 654, 48527, 35306, 12660, 46504, 14148, 13913, + 46466, 53818, 63112, 18550, 30159, 9301, 5362, 52023, 33217, 38581, 45924, + 7974, 12803, 63798, 5798, 7985, 48463, 45834, 54081, 61285, 32821, 18812, + 42408, 3165, 39051, 57071, 39040, 11792, 42107, 48688, 57379, 37237, 33795, + 40107, 59746, 59506, 35266, 54010, 58902, 33580, 23866, 33435, 32962, 40398, + 55618, 61761, 36025, 23562, 27145, 9438, 43715, 25561, 38858, 50719, 63935, + 33690, 14547, 4975, 41583, 13237, 12707, 7971, 63141, 63796, 21324, 35296, 740, + 50344, 31799, 1734, 23705, 24915, 36553, 43456, 34202, 46971, 16967, 50430, + 52358, 19881, 15126, 63764, 52518, 56362, 24298, 63997, 25767, 33518, 2220, + 13098, 63530, 29121, 51470, 2202, 13616, 20929, 39972, 32215, 5589, 58690, + 20307, 28460, 34611, 10796, 41282, 55431, 15931, 10424, 14829, 45864, 41277, + 14379, 25110, 24057, 5549, 52787, 48504, 63914, 44452, 62850, 37495, 53989, + 41185, 59128, 28312, 1502, 31600, 4989, 9797, 58866, 30819, 1798, 57517, 39721, + 31914, 34246, 22870, 16037, 56088, 556, 50712, 17845, 48969, 13382, 65306, + 21072, 10189, 46615, 25768, 24024, 49747, 20412, 55951, 2021, 60814, 43975, + 51108, 13766, 35391, 60542, 37828, 40526, 29043, 34807, 13952, 38863, 60373, + 1743, 1198, 53116, 49804, 35983, 28428, 15515, 59619, 61398, 16918, 52307, + 19343, 53872, 49687, 58015, 4287, 37269, 9218, 17093, 1389, 47269, 27012, + 16045, 4215, 36546, 23671, 7078, 12631, 6591, 16903, 24848, 48093, 42199, 1891, + 13553, 46915, 45022, 61592, 62244, 19226, 29493, 8982, 62806, 6589, 2322, + 54202, 29447, 39963, 17710, 20136, 27832, 25209, 546, 58036, 10959, 38263, + 46087, 3538, 44747, 48477, 17069, 41980, 23332, 30470, 39352, 35748, 59229, + 42149, 54606, 38011, 26360, 26286, 16283, 20205, 14543, 34091, 49148, 36856, + 31008, 44862, 20764, 65200, 64769, 3928, 4407, 13162, 59320, 45164, 11184, + 48751, 19951, 4400, 35780, 5351, 3198, 9999, 20930, 13433, 1476, 31354, 16076, + 45839, 58665, 37397, 59184, 17508, 30483, 63018, 2980, 10620, 63414, 31792, + 30726, 53831, 53535, 13653, 55001, 57378, 50809, 59009, 31528, 16231, 46285, + 6986, 26841, 17511, 29374, 59738, 57325, 1565, 64660, 10472, 17325, 3456, + 37583, 44340, 10072, 33685, 29960, 56476, 47911, 63897, 12783, 3474, 35717, + 49731, 58217, 4750, 26266, 52660, 24864, 38589, 42348, 14894, 48343, 44401, + 10977, 20286, 59494, 35009, 63663, 35439, 26493, 9537, 39135, 44394, 35160, + 53240, 11665, 7515, 62431, 63664, 47147, 33763, 31681, 18924, 60501, 5647, + 47825, 62901, 36809, 13301, 63003, 63395, 45775, 837, 12745, 3684, 56930, + 56744, 65166, 57999, 206, 14846, 56101, 8860, 29970, 22845, 32931, 31349, + 37328, 40238, 15053, 33701, 31547, 51327, 28558, 27800, 40148, 16370, 24419, + 12401, 15367, 44293, 51437, 52488, 39230, 39794, 63832, 7968, 29063, 54310, + 5150, 23537, 56930, 20838, 31438, 19967, 54908, 47290, 29820, 7467, 53824, + 55384, 14138, 22305, 6108, 38807, 37503, 4279, 33530, 29331, 51855, 36139, + 47840, 9528, 48174, 41430, 51015, 38738, 34687, 9490, 54679, 57138, 45660, + 53303, 64637, 4275, 63961, 46342, 23412, 29627, 61697, 22324, 30255, 63916, + 47755, 58401, 17967, 21088, 59836, 56763, 5464, 36602, 35741, 34564, 5548, + 13056, 39975, 14237, 21837, 65337, 51652, 4385, 26520, 17356, 53348, 22154, + 39463, 19833, 43318, 43823, 61335, 33575, 32186, 47874, 61236, 50058, 50230, + 53043, ])) .unwrap(), - c: 0, + c: 132, }, VarTestStruct { - a: 0, + a: 60230, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, + 48625, 39218, 40689, 38688, 40060, 28479, 14797, 32969, 20063, 21210, 53756, + 56938, 27073, 8282, 18402, 30525, 17473, 44106, 30268, 20699, 57653, 4455, + 51446, 63986, 56054, 37298, 4258, 50768, 34993, 27755, 50588, 12788, 41791, + 3753, 31929, 7424, 61495, 51548, 37814, 24743, 46080, 37721, 47836, 30008, + 54222, 2715, 42764, 18282, 60523, 46264, 50187, 51469, 30011, 29056, 6288, + 27896, 28623, 59896, 15567, 32117, 55484, 7336, 20108, 7682, 11590, 33554, + 11922, 4708, 64571, 53943, 37648, 42193, 64556, 29042, 28758, 43466, 58098, + 43723, 63964, 42841, 29337, 50593, 31251, 20852, 42913, 5795, 58071, 61019, + 59786, 3437, 6742, 63808, 50631, 53363, 19337, 34405, 51682, 63309, 48657, + 28202, 39025, 42702, 34838, 19773, 32396, 29502, 23607, 61313, 26073, 41212, + 19723, 57508, 10083, 55123, 9289, 14482, 60359, 52796, 36081, 61694, 56031, + 18754, 12884, 53179, 38364, 18307, 40777, 59375, 429, 761, 50366, 9602, 41859, + 10209, 35978, 40516, 38156, 54857, 52903, 30324, 27715, 18551, 3045, 62645, + 49957, 3987, 6781, 64601, 45195, 43030, 1462, 32801, 60393, 8807, 37199, 49932, + 30469, 46832, 26, 10553, 52584, 17851, 63480, 19134, 59981, 9008, 62017, 13372, + 29155, 30976, 8908, 60005, 52622, 64231, 48245, 37044, 29679, 7430, 59299, + 18119, 46458, 49331, 18060, 25177, 26831, 8580, 23630, 14623, 200, 38949, + 15451, 48700, 17188, 21655, 58800, 31799, 12154, 53133, 3322, 7057, 42360, + 22721, 60186, 56545, 28018, 13595, 51872, 20606, 38725, 39320, 28178, 11912, + 11044, 53548, 25851, 45456, 15658, 29010, 51291, 63882, 17578, 35256, 56382, + 29370, 53327, 41196, 18449, 43822, 31787, 2172, 30364, 22029, 62721, 12992, + 62990, 24444, 16328, 36418, 2799, 28662, 9518, 61953, 17105, 36252, 46239, + 51004, 54857, 43928, 6110, 300, 5101, 41749, 48744, 3324, 946, 41271, 62515, + 25838, 9751, 4924, 1459, 740, 1251, 2411, 53147, 24539, 39790, 45150, 28968, + 59561, 5564, 27254, 17882, 3238, 17209, 8961, 24259, 4488, 10522, 33221, 48805, + 61225, 54440, 26345, 36582, 22590, 64970, 33054, 21834, 17554, 19140, 46253, + 48, 13262, 38541, 38394, 2693, 53230, 9192, 4955, 57444, 1217, 39122, 32834, + 61081, 2482, 62447, 50413, 18598, 11686, 59910, 34317, 57503, 2159, 50574, + 12696, 57089, 10918, 11733, 56551, 20996, 19357, 28449, 41928, 2702, 12287, + 63175, 48539, 28440, 8058, 4304, 38971, 19335, 35301, 18553, 18717, 56490, + 37832, 57320, 58904, 41535, 39084, 17171, 782, 10658, 29739, 48517, 52219, + 11377, 45427, 14311, 57271, 59781, 20654, 26667, 2963, 17075, 58717, 27238, + 17407, 49658, 17268, 62331, 44353, 4758, 8821, 61029, 56207, 33050, 52965, + 18927, 16860, 56918, 3119, 38679, 41920, 21268, 8342, 39832, 25697, 61270, + 62830, 46088, 52734, 59674, 22098, 46789, 25670, 11498, 57195, 56983, 30984, + 51068, 40006, 62993, 22589, 11572, 21959, 45883, 37821, 33381, 12333, 38541, + 34350, 34311, 63663, 26190, 41436, 43652, 21907, 58079, 19510, 56504, 37258, + 46240, 55747, 39917, 32726, 3615, 58318, 61278, 16443, 3649, 57628, 24445, + 31454, 31581, 21837, 15542, 54959, 61187, 54795, 24413, 63975, 21751, 23949, + 63634, 1835, 50662, 1561, 35842, 28912, 20722, 43761, 41155, 33593, 11124, + 22161, 10980, 30406, 62151, 42315, 43447, 60719, 45085, 59308, 11344, 41296, + 34139, 22241, 41415, 12101, 35684, 62291, 43687, 11610, 16837, 5779, 39962, + 15327, 34523, 29912, 24449, 12825, 13327, 54841, 35347, 34058, 62120, 59854, + 22410, 28718, 8927, 55282, 62494, 37868, 57692, 64239, 64124, 60187, 61116, + 345, 51320, 36763, 42453, 14900, 32755, 58781, 26293, 27779, 45923, 18447, + 4991, 467, 49526, 4266, 15726, 7463, 47461, 37563, 38099, 19962, 54002, 63104, + 13743, 23438, 53938, 45720, 576, 57555, 5850, 13332, 34899, 26143, 2083, 35890, + 57293, 56259, 16253, 6193, 14598, 62369, 55203, 53559, 13975, 92, 43783, 18455, + 29743, 17919, 25238, 4456, 49722, 49024, 18851, 27317, 5999, 46856, 52203, + 44748, 50270, 42993, 22117, 12760, 32564, 54815, 29622, 14478, 46560, 18835, + 26309, 4059, 57162, 30070, 7984, 47583, 34280, 9480, 52899, 21655, 62443, + 17375, 60322, 43671, 60129, 51501, 55440, 63956, 4958, 64271, 63939, 2538, + 18437, 46976, 37326, 19379, 42426, 36156, 19193, 56467, 270, 4980, 58745, + 35117, 3933, 92, 12900, 31402, 58370, 6080, 32852, 30705, 27404, 29138, 16907, + 23917, 16975, 48484, 1421, 10160, 30783, 64215, 39743, 54494, 49319, 14345, + 26466, 8292, 19030, 57511, 32333, 61805, 2761, 45783, 709, 13581, 13161, 62803, + 60778, 56223, 49022, 64397, 15284, 12257, 40286, 18770, 36208, 10372, 30645, + 59991, 648, 17640, 16542, 14129, 32407, 58, 3817, 53913, 24513, 48190, 807, + 6010, 60183, 33436, 27063, 32277, 32297, 35879, 37183, 26000, 42937, 35067, + 5590, 25716, 25910, 332, 36604, 55407, 12884, 56579, 57708, 42199, 40857, 5035, + 43459, 8017, 27155, 56986, 42047, 63491, 28770, 17823, 64036, 50015, 11934, + 60994, 51679, 22233, 35129, 50450, 54561, 27758, 2630, 48575, 55503, 51060, + 44271, 29615, 37625, 4085, 42005, 32484, 30992, 29733, 20919, 60265, 26015, + 38753, 11279, 27339, 62615, 34569, 57073, 40002, 31325, 42099, 42843, 43942, + 52321, 12137, 65101, 32204, 44611, 3228, 29627, 5595, 26584, 59241, 39916, + 24623, 53918, 26011, 50199, 62328, 36200, 49780, 6221, 62607, 60162, 48885, + 5170, 29493, 56284, 13757, 29990, 51687, 53108, 22293, 10059, 5001, 2481, 1444, + 41176, 13969, 951, 41744, 40716, 39172, 43043, 57489, 48285, 63488, 11757, + 16429, 38927, 38194, 6631, 58747, 28307, 19347, 37029, 20747, 54507, 21434, + 30300, 19020, 50754, 14953, 56542, 25494, 1792, 2491, 46365, 56394, 23094, + 14540, 49144, 64003, 2859, 36132, 17045, 63916, 11508, 57869, 52249, 8432, + 6279, 5662, 14002, 57781, 60233, 35301, 8118, 2631, 63339, 31750, 45533, 27351, + 45286, 4325, 62904, 332, 19373, 55217, 1263, 16834, 49570, 41914, 12410, 65275, + 6623, 1058, 44509, 16173, 62906, 59682, 23913, 53458, 8046, 53755, 56508, + 21915, 38855, 4355, 4121, 673, 43372, 19767, 36153, 22687, 38756, 28169, 48513, + 37608, 514, 45854, 6406, 28690, 33712, 57309, 35338, 3063, 21940, 7027, 53192, + 59745, 12031, 39588, 25609, 47072, 19534, 36125, 19641, 49482, 27357, 48433, + 45573, 48973, 53000, 19103, 22494, 35025, 19796, 56519, 55867, 13066, 17967, + 33728, 34408, 42385, 64838, 40090, 12389, 2320, 26085, 60917, 18845, 51572, + 40816, 22764, 51406, 11156, 2240, 6265, 33196, 55882, 26416, 58626, 26985, + 5084, 28750, 748, 53009, 14592, 27065, 22269, 21131, 14943, 25655, 11630, 8112, + 12518, 4725, 670, 40380, 49609, 10272, 5187, 15117, 19681, 21505, 4185, 8610, + 65478, 27779, 28384, 41950, 63892, 59443, 44106, 62648, 57753, 30321, 897, + 28356, 39983, 9255, 41966, 23375, 60510, 18161, 17789, 11601, 32797, 41758, + 26861, 51502, 64068, 23663, 16515, 1337, 9318, 28494, 63971, 828, 37694, 63851, + 11364, 49195, 30987, 51010, 23361, 19134, 32136, 1988, 33256, 17850, 51762, + 20238, 33863, 30142, 20972, 65160, 52956, 60571, 53271, 43459, 27579, 1863, + 3167, 18845, 2970, 63740, 21140, 4759, 22464, 1785, 31667, 8635, 44831, 6888, + 45138, 29365, 65350, 54096, 13327, 42212, 7626, 9877, 28042, 57482, 14523, 84, + 62177, 14732, 53754, 56472, 16326, 31686, 16353, 25286, 41969, 42352, 13278, + 42273, 47367, 29562, 23245, 26554, 42062, 26726, 44714, 4391, 51325, ])) .unwrap(), - c: 0, + c: 98, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_6/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_9/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -10670,89 +5798,350 @@ fn test_containers_complex_test_struct_zero_6() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("a1763935a5d9d806ec0c10b05513374b75fb112f3b82509c1f9326ced4b58b6f"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_zero_7() { - let mut value = SingleFieldTestStruct { a: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_random_1() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, true]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([false]), - e: Bitvector::<8>::from_iter([true, true, true, false, false, false, true, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_random_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("df0f6d27156f4692278048a9b03fed71e2265fb85a651d685197034ebbce876f"); + root_from_hex("0x4f851814990c1305f4686cda352ec5c2313a0dff0d960a7a900ce1e2e90f8150"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_one_chaos_0() { +fn test_containers_complex_test_struct_lengthy_chaos_0() { let mut value = ComplexTestStruct { - a: 16851, - b: List::::try_from(Vec::::from_iter([43827])).unwrap(), - c: 197, - d: List::::try_from(Vec::::from_iter([24])).unwrap(), + a: 6800, + b: List::::try_from(Vec::::from_iter([ + 36829, 20943, 41561, 60705, 6836, 19276, 13404, 15270, 24787, 32752, 38430, 8083, + 34903, 14442, 11739, 63845, 58058, 22059, 39304, 25491, 5073, 6016, 23531, 28902, + 42251, 34597, 49664, 5043, 51205, 5299, 52893, 2709, 23188, 63532, 19881, 29182, 7813, + 44835, 60112, 13706, 3889, 8031, 36192, 28397, 21513, 26621, 24371, 20825, 36012, + 41472, 34720, 878, 49916, 55632, 7699, 57365, 55101, 55073, 8349, 54708, 5482, 50387, + 59119, 34469, 52095, 13939, 25469, 24090, 8092, 51886, 21020, 36989, 42388, 5825, + 12913, 54900, 37947, 6656, 61583, 29576, 58879, 23340, 32777, 58812, 6045, 62477, + 33289, 15339, 569, 22264, 26352, 26854, 41491, 30478, 48681, 17608, 47905, 10185, + 14841, 244, 42227, 14997, 52644, 1462, 4781, 4276, 5780, 27685, 58146, 40039, 16054, + 18824, 35159, 8918, 35585, 54400, 23883, 29802, 38038, 29470, 21839, 48288, 4225, + 57722, 17192, 10239, 10610, 34360, + ])) + .unwrap(), + c: 87, + d: List::::try_from(Vec::::from_iter([ + 147, 28, 238, 175, 199, 176, 239, 194, 18, 154, 240, 144, 93, 255, 16, 103, 173, 97, + 49, 254, 180, 43, 120, 14, 230, 175, 154, 167, 185, 103, 73, 237, 48, 127, 156, 94, + 119, 193, 74, 116, 126, 117, 235, 2, 216, 92, 188, 246, 13, 238, 90, 215, 183, 200, 96, + 72, 154, 138, 194, 197, 41, 224, 120, 190, 224, 38, 91, 43, 199, 217, 179, 149, 184, + 230, 32, 21, 15, 225, 41, 64, 58, 167, 34, 224, 203, 80, 140, 44, 107, 121, 231, 170, + 78, 101, 12, 43, 142, 176, 8, 239, 165, 77, 237, 197, 110, 100, 229, 128, 16, 183, 171, + 11, 148, 246, 171, 5, 77, 121, 20, 146, 164, 97, 113, 48, 148, 156, 23, 252, 158, 42, + 93, 76, 90, 161, 53, 160, 120, 181, 38, 25, 4, 162, 202, 162, 79, 231, 90, 13, 238, + 109, 51, 194, 175, 187, 106, 86, 117, 184, 195, 134, 191, 74, 139, 190, 157, 43, 68, + 22, 66, 65, 142, 201, 243, 100, 39, 225, 90, 90, 108, 126, 0, 137, 187, 99, 121, 136, + 26, 87, 147, 5, 185, 150, 178, 110, 231, 173, 179, 79, 234, 186, 132, 233, 253, 0, 33, + 60, 57, 252, 168, 223, 10, 217, 66, 215, 101, 54, 170, 0, 4, 176, 173, 67, 107, 222, + 33, 133, 115, 231, 115, 189, 31, 251, 32, 166, 105, 149, 207, 162, 205, 197, 186, 107, + 233, 136, 117, 129, 241, 61, 80, 86, 63, 27, 103, 13, 34, 7, + ])) + .unwrap(), e: VarTestStruct { - a: 2938, - b: List::::try_from(Vec::::from_iter([13314])).unwrap(), - c: 230, + a: 52897, + b: List::::try_from(Vec::::from_iter([ + 57538, 46153, 13864, 55980, 36298, 42375, 57333, 13823, 11080, 15719, 54365, 64655, + 17454, 50910, 14109, 30664, 45163, 54393, 40565, 1346, 15357, 12532, 51876, 19481, + 36026, 43931, 33409, 46595, 20759, 9753, 45390, 244, 57398, 59979, 31862, 20241, + 33359, 60686, 45041, 28453, 57529, 8261, 43545, 60077, 37757, 9334, 1504, 49579, + 30131, 32751, 65106, 19988, 58425, 56529, 45565, 18854, 39574, 54966, 28824, 26997, + 15596, 23761, 56917, 21503, 54743, 30367, 53952, 51841, 25202, 40259, 23196, 57645, + 29080, 6355, 54692, 22102, 10357, 49405, 14016, 39920, 39004, 53287, 20340, 31725, + 21882, 38632, 42915, 33059, 10498, 23590, 17807, 17784, 12910, 32269, 47, 24852, + 35432, 46766, 30647, 62137, 51337, 32141, 59655, 61258, 40991, 59415, 32201, 53768, + 60841, 42380, 48123, 3995, 55160, 14602, 5920, 45634, 1287, 33765, 63007, 30476, + 5921, 50441, 21565, 23326, 4899, 59239, 25447, 1994, 23235, 28842, 12210, 39894, + 51086, 55167, 13509, 62490, 47804, 46432, 13459, 28650, 26110, 849, 29944, 21814, + 12664, 1082, 731, 34974, 22476, 13722, 57896, 50355, 55205, 17247, 13256, 41717, + 32106, 28750, 53621, 14095, 2001, 21525, 33400, 1057, 39725, 10529, 16286, 9802, + 54791, 18799, 5923, 34001, 11721, 13668, 23042, 37780, 56, 40943, 19303, 33351, + 805, 25053, 43037, 14950, 43590, 3572, 40973, 62838, 52771, 30449, 61766, 2946, + 28684, 30292, 41403, 2977, 29432, 29157, 35240, 57947, 26586, 14087, 27399, 12259, + 61008, 29356, 45020, 56112, 19173, 23098, 30061, 47842, 60665, 4881, 30041, 35263, + 55351, 64447, 5871, 49427, 4316, 9872, 37374, 11511, 45625, 46598, 32537, 34702, + 25793, 51440, 11534, 3964, 21046, 34739, 22367, 21205, 52363, 29025, 21790, 25975, + 59790, 8779, 27475, 60566, 64297, 16572, 18891, 9106, 63597, 27230, 38630, 48535, + 28614, 44789, 3985, 12322, 55204, 62638, 47762, 27809, 38501, 18, 12944, 38846, + 58215, 57300, 61546, 49560, 22417, 38185, 60067, 37445, 51305, 19772, 61808, 17533, + 48168, 49689, 32242, 53591, 17598, 52701, 63333, 13130, 40425, 43631, 3626, 27195, + 32583, 56846, 2347, 9027, 264, 35874, 54691, 35426, 51718, 5360, 28309, 5080, + 29974, 37086, 10894, 5618, 22896, 49428, 46359, 16199, 2552, 23143, 40465, 26614, + 52106, 63071, 21350, 13195, 6304, 60477, 34246, 7476, 25830, 38573, 45559, 37428, + 63645, 64024, 21871, 84, 59442, 28245, 29309, 36126, 1319, 15843, 25200, 33069, + 37609, 29816, 53400, 21354, 13050, 57573, 58238, 29716, 62701, 47626, 53435, 35397, + 27944, 49333, 6050, 63316, 44693, 29915, 48712, 37441, 10567, 39, 42099, 61403, + 52029, 4899, 44665, 27201, 57771, 43192, 38154, 54323, 47908, 36754, 39132, 30919, + 25993, 28543, 27197, 61479, 33201, 54018, 42783, 33407, 33219, 42436, 29562, 14132, + 13017, 6987, 17756, 22501, 47348, 36696, 62174, 33984, 23666, 43427, 53621, 32848, + 51887, 53435, 6409, 55570, 17000, 3524, 28141, 5100, 11882, 34313, 26068, 13143, + 42942, 8619, 52231, 17637, 39539, 18401, 55661, 35279, 15937, 43043, 17790, 26276, + 25323, 6725, 41662, 30419, 62612, 30045, 55819, 50116, 15889, 63377, 34229, 13984, + 13152, 58130, 1229, 1153, 24190, 53536, 35174, 58369, 50366, 17092, 21256, 18727, + 18160, 20315, 2132, 65264, 12333, 23524, 64750, 56546, 59440, 43049, 15083, 59149, + 19227, 17086, 57652, 58911, 57022, 56693, 31725, 44481, 18394, 19218, 24666, 34837, + 31582, 59757, 34055, 17417, 49457, 49217, 9836, 23118, 47592, 37017, 57832, 58077, + 36438, 64873, 6183, 14577, 11249, 19180, 51947, 22839, 4484, 5740, 15897, 39765, + 65133, 37749, 48408, 46160, 12284, 59102, 1663, 64294, 58550, 9859, 4209, 23120, + 42257, 46244, 46784, 37709, 21524, 10020, 5649, 14185, 27495, 52100, 55861, 39435, + 14583, 59522, 39942, 53219, 57171, 22382, 62877, 7019, 57610, 21115, 9954, 14082, + 55818, 50310, 36705, 20993, 65252, 19362, 57006, 47661, 4465, 43616, 12803, 54274, + 55540, 27448, 39736, 4094, 59949, 34319, 57221, 25768, 7279, 62176, 14292, 52168, + 59129, 33996, 60631, 48399, 2677, 61353, 60188, 21080, 31556, 26111, 30161, 42556, + 2183, 16129, 2273, 59218, 42404, 2745, 27499, 33082, 33667, 26193, 32896, 11953, + 31541, 46407, 10755, 55072, 22670, 8813, 45541, 40583, 1842, 7892, 31595, 11540, + 9020, 87, 15252, 55780, 46521, 61767, 58559, 17093, 63906, 23375, 48737, 4874, + 47690, 23332, 24979, 45041, 51030, 48804, 38918, 57437, 42468, 58537, 25906, 33036, + 6760, 51741, 53019, 52011, 29209, 23204, 36899, 56831, 38561, 40856, 53458, 58143, + 723, 43359, 65350, 47591, 45442, 31961, 56731, 1762, 63521, 15251, 29299, 43441, + 46612, 29330, 10929, 58165, 58808, 20932, 33775, 59904, 54978, 38415, 47839, 51959, + 10291, 43190, 27051, 48778, 41373, 23840, 17079, 33312, 18838, 65200, 36901, 19231, + 16256, 5783, 42490, 27467, 35972, 7802, 1546, 27070, 8738, 15326, 48250, 36469, + 7091, 56230, 55736, 44356, 38391, 26024, 52634, 28269, 24201, 30137, 59379, 25971, + 42912, 20564, 48104, 39042, 50008, 61430, 29391, 31500, 902, 51008, 33059, 18402, + 45011, 14367, 46586, 52981, 62440, 21919, 42894, 37712, 57883, 6968, 37110, 35941, + 56019, 11089, 16381, 2421, 22643, 37677, 23624, 51771, 17769, 7037, 11536, 46870, + 41876, 56872, 32972, 13216, 19298, 37856, 47357, 18178, 8111, 14856, 17806, 52965, + 21941, 19633, 36043, 32914, 7253, 55001, 773, 14698, 4592, 27702, 7140, 45399, + 28704, 2649, 56448, 53390, 28730, 54835, 12602, 469, 11568, 46397, 48653, 50397, + 22510, 50834, 50867, 10261, 39014, 24232, 30131, 18762, 60754, 52029, 24774, 50922, + 22860, 56048, 5717, 60845, 235, 64949, 43916, 37422, 6559, 2732, 61895, 2418, + 64448, 36828, 54582, 10602, 58840, 41906, 6299, 9640, 65098, 25540, 21303, 60074, + 42304, 24256, 2452, 34060, 13492, 60381, 13865, 45393, 62497, 8580, 57956, 740, + 62868, 56743, 44661, 53090, 12252, 44468, 41754, 35555, 22850, 57374, 9974, 26770, + 35311, 64606, 49948, 9966, 38080, 1549, 49713, 15898, 37459, 50666, 37759, 44825, + 44337, 50653, 46095, 42576, 41871, 35552, 6671, 11692, 62035, 16562, 49706, 47473, + 49602, 62115, 28265, 45687, 49177, 57850, 55322, 24563, 12193, 41716, 12757, 50238, + 49055, 61066, 33436, 18102, 17540, 15869, 26361, 64025, 64099, 58097, 42522, 47787, + 15572, 3496, 7587, 40535, 59823, 17473, 39390, 32235, 63408, 60300, 3979, 15343, + 42259, 8617, 6781, 58482, 6044, 9419, 57800, 8295, 16731, 36123, 51778, 63177, + 21258, 27164, 11294, 8994, 6069, 47955, 33507, 30025, 7278, 6106, 30788, 38937, + 7474, 55879, 38380, 14200, 41567, 17494, 6527, 64579, 39847, 60783, 56977, 42701, + 5743, 64552, 21185, 28881, 7027, 14069, 36775, 57815, 43144, 19578, 40497, 21033, + 11754, 40586, 47862, 42276, 26224, 38852, 50355, 46114, 18512, 4276, 15792, 44229, + 57433, 18711, 41024, 18129, 53606, 22921, 51621, 46635, 23410, 61990, 17006, 29511, + 32262, 39401, 24383, 41407, 15449, 38280, 20211, 380, 3770, 38462, 30172, 28008, + 37569, 11404, 43860, 23897, 58232, 26337, 61518, 20572, 53060, 30563, 11913, 1260, + 18826, 56364, 3636, 50608, 7444, 39192, 34444, 10585, 42043, 40965, 36796, 28985, + 40984, 34313, 41385, 14882, 58944, 63764, 44071, 37150, 20063, 6701, 54525, 2603, + 39516, 29664, 27931, 54316, 35337, 49269, 64349, 23533, 20243, 17618, 47554, 46238, + 20877, 61195, 39794, 54062, 18998, 2138, 44332, 10814, 23503, 40168, 52664, 10427, + 26935, 38958, 10249, 43556, + ])) + .unwrap(), + c: 197, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 251, b: 10114294449636136645, c: 3440022400 }, - FixedTestStruct { a: 92, b: 4270638512643996390, c: 2080063790 }, - FixedTestStruct { a: 181, b: 6361529668076857388, c: 3692475116 }, - FixedTestStruct { a: 58, b: 12444896282347205507, c: 36692008 }, + FixedTestStruct { a: 126, b: 3435762523509387151, c: 3665221517 }, + FixedTestStruct { a: 243, b: 943513122303052545, c: 1401396655 }, + FixedTestStruct { a: 249, b: 8873799629985696120, c: 1314056729 }, + FixedTestStruct { a: 152, b: 3484830523848989111, c: 2938394908 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 45027, - b: List::::try_from(Vec::::from_iter([44189])).unwrap(), - c: 188, + a: 50336, + b: List::::try_from(Vec::::from_iter([ + 41481, 27737, 20084, 21026, 51969, 22420, 56680, 44694, 34473, 8227, 26994, + 20777, 23402, 62830, 7234, 27458, 6656, 44260, 3196, 45565, 45086, 52477, 3041, + 40855, 56914, 18620, 21648, 5871, 46598, 21094, 25422, 30346, 2885, 33974, + 6795, 40002, 39064, 26623, 61564, 43313, 57302, 54238, 769, 34489, 41722, + 32632, 56982, 35153, 55466, 42379, 3727, 57323, 33312, 3970, 42909, 8109, 4483, + 26312, 63378, 50364, 6744, 39041, 58828, 34961, 17110, 63034, 2290, 33765, + 54708, 65397, 56768, 14224, 10424, 61820, 48868, 14028, 5048, 35846, 47220, + 6492, 8468, 15914, 30734, 8064, 17308, 59809, 24985, 46323, 941, 37939, 45853, + 50846, 13439, 5046, 56946, 24902, 48330, 51141, 42224, 12584, 10241, 46214, + 5541, 38933, 54853, 35632, 2811, 62290, 33498, 28989, 60803, 20380, 43960, + 45632, 22668, 27154, 36005, 6234, 10958, 42051, 19918, 13279, 49375, 47132, + 10247, 36361, 10247, 44350, 41520, 17877, 56449, 2551, 27877, 23014, 5437, + 49859, 20342, 64317, 45162, 29926, 9773, 8037, 21768, 38484, 63389, 61351, + 3525, 311, 32412, 22995, 33562, 57947, 41586, 57875, 47466, 40981, 63026, + 13179, 55931, 31646, 46317, 59022, 56146, 62761, 64166, 57367, 64643, 52313, + 2840, 43943, 58314, 52000, 64264, 22359, 40941, 26086, 25640, 28390, 55285, + 30615, 25002, 54095, 23386, 49764, 26003, 20586, 53546, 6018, 12581, 54375, + 38920, 51490, 45080, 33968, 16939, 6486, 2147, 20508, 23264, 13486, 15944, + 10011, 42915, 5766, 20217, 42913, 25524, 3945, 60919, 12868, 27094, 45567, + 33602, 41887, 9763, 62254, 19498, 8487, 4167, 10929, 41289, 62807, 36484, + 33308, 21024, 34758, 21713, 22131, 7439, 59993, 12850, 49488, 15814, 32689, + 3637, 577, 60218, 9449, 52588, 46575, 51382, 50716, 28851, 13972, 23467, 20387, + 32593, 45932, 59637, 25374, 18665, 3295, 8966, 58827, 3913, 31712, 53967, + 63564, 44062, 55667, 29838, 41747, 64053, 13348, 56221, 37374, 59539, 24983, + 55582, 30848, 46270, 60180, 61578, 26992, 9025, 46758, 14754, 45813, 31301, + 58000, 40014, 33515, 50300, 39938, 15729, 42035, 45056, 11714, 17851, 2986, + 24049, 39804, 58627, 26225, 23216, 30525, 36946, 43518, 1628, 6416, 51576, + 22120, 42294, 19989, 12303, 13847, 57549, 5738, 14125, 12629, 54480, 42206, + 57669, 17084, 22136, 6763, 54225, 24358, 51680, 38996, 53342, 16734, 9314, + 58350, 64027, 43818, 32267, 15237, 41158, 38437, 47038, 44941, 34323, 41321, + 44174, 23597, 35601, 6795, 62710, 16304, 9705, 14417, 28029, 57617, 27980, + 21503, 29138, 30468, 21943, 39184, 33627, 43616, 10109, 44708, 48381, 32484, + 23136, 21738, 14522, 48177, 27101, 56348, 54765, 22027, 51756, 40697, 9136, + 4050, 29596, 39490, 40285, 35449, 33861, 65218, 8129, 34936, 42569, 14197, + 36825, 1909, 34790, 62070, 31076, 26112, 45098, 52223, 58189, 60262, 44948, + 57936, 39041, 47582, 35713, 10043, 60405, 9332, 27122, 57361, 39723, 45292, + 16624, 4845, 50847, 62786, 15510, 24290, 33327, 5634, 49016, 37186, 5299, + 30162, 10354, 60243, 25401, 36804, 30411, 15642, 57393, 38502, 41987, 12828, + 44864, 52293, 24681, 20206, 21329, 33570, 27214, 47872, 42774, 19639, 24645, + 59075, 39007, 31375, 59269, 62154, 50855, 32775, 16062, 14162, 10139, 18647, + 23976, 48074, 59390, 45356, 44707, 54370, 19190, 61403, 51969, 59983, 5188, + 54232, 31932, 41997, 21254, 44880, 10259, 44381, 37708, 39509, 27342, 43999, + 39001, 17064, 41439, 26094, 52176, 43007, 49596, 24015, 16595, 8958, 5910, + 25446, 41820, 24403, 35373, 52975, 13152, 26120, 26500, 21467, 339, 55186, + 49857, 45045, 26512, 43217, 6376, 56572, 17898, 9479, 20332, 25481, 33820, + 35678, 51131, 14887, 12098, 64416, 7117, 55136, 30812, 10866, 62239, 37613, + 25821, 40355, 38241, 29897, 24572, 39619, 63710, 6458, 36918, 57755, 18396, + 22804, 23668, 51740, 48652, 6380, 3005, 20755, 6534, 6727, 19158, 42965, 11456, + 56083, 56876, 32990, 41566, 56770, 57696, 32393, 43651, 31740, 47496, 60289, + 8600, 57421, 60943, 30738, 29042, 25052, 39740, 48585, 33450, 26571, 9520, + 33788, 29259, 14498, 54760, 40396, 11318, 26635, 14225, 18476, 39847, 48006, + 1610, 22901, 10652, 2536, 30092, 39904, 4534, 40858, 64330, 9816, 24870, 17792, + 58389, 29188, 20670, 65417, 33353, 31543, 64041, 32394, 41910, 58920, 17712, + 32091, 43192, 31353, 2493, 16626, 32525, 61943, 48428, 15825, 34080, 48587, + 58219, 49198, 58021, 44104, 56503, 10617, 6998, 49926, 32334, 18632, 25389, + 32723, 57677, 25747, 4352, 63629, 26905, 26795, 32938, 20951, 46511, 53508, + 46031, 27214, 22460, 30199, 23778, 35464, 48128, 44573, 31645, 64267, 27629, + 58246, 15769, 22646, 37281, 23809, 54766, 29176, 31818, 61933, 51038, 35692, + 25234, 1977, 53744, 18274, 37042, 2688, 3384, 46261, 53731, 580, 6383, 54920, + 43083, 10414, 22199, 61537, 36215, 43521, 14929, 10204, 59884, 4278, 10551, + 46398, 43195, 46815, 52166, 54649, 41131, 56367, 34543, 30682, 6162, 58867, + 26826, 24077, 31553, 31691, 62437, 2057, 39778, 59423, 48469, 5599, 14123, + 29883, 36662, 14614, 12689, 17740, 57079, 47637, 43695, 49643, 2666, 30843, + 26536, 6226, 41490, 41961, 8781, 19368, 44621, 4100, 63166, 42543, 21247, + 11642, 59385, 48985, 13704, 47856, 52796, 19489, 20381, 38607, 38760, 9665, + 44691, 38974, 33168, 16765, 27020, 60695, 28191, 18919, 37477, 22590, 43878, + 29895, 17425, 25370, 35650, 55797, 34845, 35460, 26752, 59997, 28222, 49610, + 55218, 3111, 13350, 44623, 11603, 48690, 19387, 64758, 4615, 56336, 10868, + 52915, 14575, 31302, 54181, 14522, 17348, 58219, 26462, 18473, 28637, 27782, + 21014, 61134, 63137, 36649, 44959, 902, 42869, 62507, 65182, 57335, 5583, + 45386, 907, 62158, 58919, 28197, 7234, 56068, 49282, 37296, 64144, 43871, 7137, + 32463, 11718, 22487, 52467, 62049, 46149, 40010, 59060, 55233, 64648, 59852, + 38718, 43304, 38505, 1506, 25837, 3633, 29460, 36739, 21697, 11212, 28268, 905, + 32385, 49208, 21787, 64179, 18365, 40892, 22696, 7, 10678, 43456, 6352, 43299, + 56003, 9178, 49726, 35269, 47738, 25250, 4834, 33669, 34968, 30302, 18240, + 22323, 64336, 3177, 11394, 62862, 19004, 56129, 10729, 22986, 52891, 39020, + 1316, 26410, 11174, 16057, 56272, 11473, 543, 35315, 43523, 45592, 31036, + 44813, 23829, 33573, 58271, 44827, 46665, 5549, 41645, 9291, 12457, 361, 27355, + 49808, 44918, 27122, 4824, 4208, 63233, 43410, 37958, 30595, 6678, 7656, 2571, + 22841, 26542, 11344, 10069, 23671, 28739, 15127, 14433, 54107, 31398, 59257, + 18365, 4846, 5175, 19468, 52944, 60332, 14373, 9433, 41176, 41501, 32425, + 34284, 731, 62439, 36099, 42797, 34759, 14334, 7952, 1317, 19713, 63663, 7172, + 31151, 60429, 57584, 214, 52931, 48186, 53899, 30507, 37952, 53545, 6237, + 63944, 13886, 19542, 44271, 30112, 11246, 54657, 63817, 55875, 20147, 53008, + 29243, 14010, 60198, 48824, 55707, 53591, 50976, 55565, 20583, 3444, 64533, + 14095, 20703, 25820, 33160, 33611, 60794, 29095, 36456, 28814, 12046, 3282, + 50130, 12495, 59043, 3592, 20409, 63628, 47165, 53808, 42900, 54119, 40716, + 22081, 59737, 42239, 35456, 1080, 17474, 1231, 45216, 46169, 53755, 11140, + 51210, 42016, 21635, 41091, 35743, 63746, 26755, 36460, 20084, 39803, 34379, + 65334, 32831, 14886, 12586, 24969, 28481, 59297, 3126, 62524, 42587, 34177, + 61156, 27477, 61815, 1175, 30208, 13562, 49811, 38845, 49723, 12590, 5231, + 4168, 7223, 14124, 5525, 55720, 25451, 23462, 17252, 30929, 16276, + ])) + .unwrap(), + c: 88, }, VarTestStruct { - a: 19339, - b: List::::try_from(Vec::::from_iter([60067])).unwrap(), - c: 62, + a: 22996, + b: List::::try_from(Vec::::from_iter([ + 18049, 23381, 17471, 45440, 57003, 19762, 1146, 5298, 31435, 19141, 37079, + 46179, 38144, 54491, 65355, 15320, 20738, 17594, 44000, 5057, 19754, 7417, + 50377, 35990, 16560, 3769, 59936, 19996, 6403, 39, 27926, 36412, 35110, 22053, + 16664, 13243, 11743, 11678, 33374, 20604, 64814, 17539, 53250, 60055, 9782, + 27275, 9256, 49760, 2784, 10915, 34573, 7116, 38999, 8380, 18529, 9618, 11993, + 17521, 18424, 23233, 10988, 60760, 5441, 9366, 7987, 43256, 39661, 64034, + 51113, 27896, 20361, 62133, 42626, 10437, 30389, 19224, 15057, 35860, 62585, + 36401, 8704, 36561, 43495, 20925, 54259, 52245, 29072, 56121, 60476, 33825, + 35465, 41980, 46222, 9012, 20564, 12506, 7761, 33331, 28693, 51259, 42950, + 30572, 60064, 12172, 5484, 13074, 13143, 36910, 6527, 60740, 64254, 47001, + 11916, 43588, 64673, 33500, 14914, 17681, 24475, 13914, 16719, 40993, 40475, + 55166, 64014, 45905, 42475, 23460, 38117, 4587, 895, 2326, 11193, 46559, 11216, + 62032, 4089, 24114, 36342, 20877, 12878, 56517, 40994, 15028, 13450, 37507, + 20410, 15713, 49077, 60011, 12838, 42922, 59323, 21984, 16491, 20728, 25248, + 57325, 27797, 34395, 42472, 21682, 6506, 10690, 55293, 17920, 61234, 26703, + 43801, 57234, 38746, 31090, 16945, 33394, 29751, 38441, 23998, 52746, 32254, + 2238, 9098, 28753, 11040, 42409, 23789, 27113, 43776, 22048, 13908, 30110, + 38377, 47052, 124, 56943, 33216, 19738, 63166, 35926, 11960, 10922, 22838, + 3927, 59670, 32779, 45082, 22897, 11521, 29993, 5746, 27439, 59124, 8602, + 42013, 9051, 43411, 50527, 62677, 58522, 43530, 33389, 38392, 25685, 20010, + 27089, 23352, 49737, 38733, 30324, 9909, 17693, 33673, 3832, 56071, 21673, + 22218, 37948, 6129, 40196, 38561, 19638, 60330, 4942, 10562, 61928, 44974, + 30688, 21606, 50982, 3288, 42524, 3954, 63738, 54858, 30147, 54046, 59825, + 42154, 17199, 2709, 890, 216, 53128, 31504, 5250, 3718, 17010, 65391, 16872, + 20324, 11424, 45905, 27402, 9245, 16750, 44321, 58299, 37757, 5153, 57972, + 57460, 47309, 304, 29009, 34047, 54575, 56167, 2803, 2784, 31580, 58798, 7761, + 21686, 59788, 24015, 47189, 58653, 41579, 63537, 20944, 38658, 47770, 32134, + 13101, 4632, 54424, 47049, 49011, 33149, 20279, 1850, 27309, 65263, 24284, + 43256, 32114, 61632, 61286, 65353, 46712, 57359, 35497, 29568, 28945, 31660, + 44675, 64118, 29550, 53699, 16089, 8963, 52213, 65052, 48537, 3836, 33223, + 56379, 52299, 17272, 10640, 25805, 29294, 59876, 62547, 53795, 61993, 63083, + 40306, 41983, 58976, 33618, 50995, 33751, 40168, 29155, 14331, 43784, 8930, + 5736, 39730, 37753, 11721, 37523, 40832, 42702, 47244, 26455, 1893, 60026, + 35092, 12176, 58080, 60114, 12191, 39402, 50038, 39761, 27631, 48221, 50090, + 48585, 64013, 37974, 42466, 33217, 34836, 18111, 48581, 28329, 37779, 33176, + 29837, 28962, 34589, 64831, 32528, 63618, 65438, 26082, 36575, 44584, 10197, + 36850, 6044, 8199, 22109, 52, 41499, 65145, 29577, 38621, 57327, 40557, 39791, + 753, 48835, 11905, 57871, 30277, 53936, 12236, 28873, 54182, 25200, 8446, + 34870, 30242, 62865, 51522, 56366, 3065, 31400, 19551, 11556, 59408, 5615, + 12582, 24498, 54755, 42472, 21195, 16326, 54331, 65266, 29584, 61222, 56993, + 42115, 52972, 6667, 43912, 33817, 28008, 53048, 63528, 57011, 46408, 48338, + 58493, 34007, 30151, 18788, 46177, 55648, 40571, 26545, 37588, 43300, 46262, + 1873, 12876, 14127, 10910, 2823, 12842, 58486, 52316, 35774, 26, 31375, 47605, + 47554, 15316, 7116, 50892, 63950, 33445, 39945, 63713, 16455, 56400, 8868, + 57496, 22285, 35320, 7177, 34525, 32373, 12834, 22014, 47938, 17303, 6127, 961, + 62843, 40607, 10177, 11589, 32421, 36699, 59894, 45500, 59696, 50021, 40614, + 46900, 3744, 953, 20234, 21249, 38554, 53119, 57265, 13226, 16341, 5973, 53646, + 20702, 41280, 37423, 25092, 17597, 19608, 50287, 50817, 8823, 50558, 54239, + 13944, 45784, 27839, 18239, 46712, 46121, 10838, 31446, 52864, 216, 9528, + 59986, 56031, 44275, 51788, 3264, 29146, 42579, 24586, 43887, 11508, 34377, + 19189, 2166, 48578, 7862, 57296, 48931, 19245, 12048, 58350, 1608, 56129, + 34373, 39019, 45323, 16377, 19248, 55893, 47104, 31725, 21500, 33340, 31829, + 25310, 28551, 23204, 44429, 4425, 27277, 25834, 59350, 4016, 63025, 47800, + 35371, 52498, 49368, 36810, 41311, 17731, 11559, 64562, 7348, 21347, 45127, + 46204, 30559, 57169, 29224, 36066, 59203, 61361, 33731, 31868, 20145, 12301, + 62127, 12725, 15930, 13345, 15872, 52319, 19471, 17735, 25297, 10204, 41635, + 40979, 55644, 33744, 23971, 11894, 17344, 34128, 51349, 33753, 6618, 20687, + 30357, 46385, 2803, 16401, 1161, 60205, 64095, 64526, 40561, 34386, 9544, + 26331, 55185, 35941, 56782, 12164, 23111, 24234, 51813, 9740, 22359, 28008, + 29188, 29153, 54340, 12390, 44524, 46328, 22548, 40699, 54388, 26513, 38042, + 58877, 8718, 24771, 41097, 24974, 59710, 13356, 47617, 55333, 8105, 37891, + 17996, 27033, 39839, 28651, 61209, 4112, 43863, 15082, 10328, 11765, 8728, + 46834, 64955, 60454, 48326, 65245, 568, 4982, 29946, 43871, 62720, 46653, + 47687, 13622, 44050, 41265, 9956, 39928, 28294, 61047, 57822, 38884, 59847, + 63234, 57966, 52652, 23106, 55983, 481, 21981, 38426, 6213, 41817, 47510, + 33644, 17836, 25946, 41968, 742, 25176, 8591, 11904, 43546, 42132, 12860, + 39035, 50949, 4252, 63926, 24871, 25530, 21401, 48368, 30214, 31948, 63551, + 65114, 41704, 51066, 28449, 34326, 12318, 63015, 50072, 31756, 62782, 408, + 57460, 47060, 57277, 54241, 30820, 26351, 1855, 12205, 29938, 52856, 26712, + 44365, 42671, 46560, 59494, 62885, 40630, 39527, 21494, 2058, 48705, 61846, + 12495, 31765, 52685, 4901, 35146, 33950, 39003, 38303, 12939, 58443, 41101, + 57476, 11428, 12070, 61697, 62659, 60093, 35708, 46926, 23641, 42455, 12611, + 36082, 6754, 24172, 2821, 1285, 11065, 2278, 24610, 16763, 45022, 59164, 17484, + 53068, 54584, 18777, 64296, 55866, 26810, 63730, 11251, 61573, 15781, 54778, + 25317, 29879, 21001, 32984, 4191, 6639, 23044, 7807, 36069, 29551, 57682, + 20968, 8524, 31141, 8427, 10177, 21973, 35541, 56457, 21691, 51618, 50699, + 45188, 52019, 63940, 33237, 7312, 5401, 9205, 44042, 13933, 50820, 48931, 7732, + 40235, 59971, 49621, 13121, 58870, 34002, 56564, 6746, 50677, 13671, 3253, + 61656, 58, 14136, 2355, 18156, 38457, 18192, 35451, 32230, 645, 48503, 636, + 34700, 50858, 2371, 10544, 43588, 43284, 35474, 22335, 62553, 50590, 39404, + 59335, 9423, 25854, 14475, 48491, 65104, 30232, 61102, 53388, 15004, 21505, + 62358, 35018, 8998, 57529, 1550, 21663, 48751, 27123, 27655, 34083, 65355, + 50673, 47149, 38904, 1604, 15246, 3784, 60125, 58625, 14541, 42132, 43782, + 21779, 39409, 50046, 11302, 3756, 38488, 62398, 41686, 41211, 26880, 44951, + 19333, 41869, 3229, 29642, 9879, 32909, 10118, 54204, 15907, 57210, 37963, + 35374, 64813, 28029, 5563, 16445, 54244, 53894, 671, 36325, 10310, 20705, + 18761, 46668, 43778, 9546, 55011, 6991, 14974, 9182, 65037, 1850, 44044, 29765, + 63468, 24683, 56028, 48246, 20911, 21101, 11311, 17191, 64980, 30874, 14576, + 22012, 64078, 36413, 11880, 18063, 47371, 5097, 43515, 9024, 22710, 16367, + 63977, 1174, 59415, 28548, 47111, 30374, 43806, 983, 58518, 10557, 23885, 2605, + 25523, 2686, 40527, 6091, 23542, 15116, 53968, 43868, 12012, 4870, 64060, 331, + 43823, 47250, 9293, 33457, 40166, 48356, 54043, 50596, + ])) + .unwrap(), + c: 54, }, ]) .unwrap(), }; let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_chaos_0/serialized.ssz_snappy", - ); + let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_chaos_0/serialized.ssz_snappy"); assert_eq!(encoding, expected_encoding); let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); @@ -10760,180 +6149,350 @@ fn test_containers_complex_test_struct_one_chaos_0() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("6647355693570b0e372117d77096b3049a5ac71571d706fd486a4814b18c637a"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_max_2() { - let mut value = SingleFieldTestStruct { a: 255 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_random_6() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, true, true, true, true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([false, false, false, true, false, true]), - e: Bitvector::<8>::from_iter([true, true, true, true, false, false, false, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_random_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3e65520e875a5d0347f9cdf810c1d2c76b33f0606bbf136b9e4d5d17ff87ded9"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_zero_0() { - let mut value = SingleFieldTestStruct { a: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x079ed404b123f765913f7fddd43bc35e06cbeb8a97c2058564434dd8cf513c3a"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_zero_1() { +fn test_containers_complex_test_struct_lengthy_chaos_1() { let mut value = ComplexTestStruct { - a: 0, + a: 14153, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3646, 43626, 7304, 41108, 40285, 9810, 25903, 50110, 7170, 37407, 23703, 47708, 39247, + 51866, 27826, 30891, 49449, 42721, 47268, 49391, 8446, 62433, 5953, 32559, 34536, + 26449, 55360, 44990, 62608, 9057, 24577, 29791, 59127, 106, 19484, 64217, 49766, 62407, + 36633, 18191, 28343, 43827, 64699, 57327, 19680, 21294, 5297, 36792, 58178, 36460, + 32037, 13112, 11320, 4296, 14785, 61496, 54847, 21482, 44656, 62059, 51609, 13485, + 57640, 36199, 26888, 22599, 23692, 43160, 61576, 15902, 58977, 32955, 49398, 5118, + 10258, 22497, 12683, 22530, 23509, 2327, 46832, 55917, 47865, 6088, 39543, 52726, + 36646, 16540, 21295, 50418, 14579, 48353, 56037, 59253, 56033, 44440, 10645, 48244, + 2681, 54833, 30926, 36170, 39698, 53837, 31233, 55783, 22756, 16, 63077, 34320, 22347, + 15187, 6878, 28362, 12863, 17010, 6690, 49025, 12362, 65018, 19042, 11384, 23229, + 62542, 31741, 34130, 44763, 58955, + ])) + .unwrap(), + c: 116, + d: List::::try_from(Vec::::from_iter([ + 31, 110, 87, 211, 48, 167, 201, 153, 135, 255, 242, 32, 187, 155, 152, 94, 126, 108, + 64, 248, 24, 12, 148, 186, 242, 192, 36, 127, 200, 224, 130, 20, 130, 214, 47, 45, 113, + 230, 16, 252, 145, 195, 203, 181, 160, 8, 205, 220, 94, 67, 63, 34, 3, 179, 202, 10, + 219, 39, 227, 72, 172, 168, 134, 18, 191, 9, 78, 47, 47, 110, 94, 174, 30, 90, 250, 51, + 179, 74, 132, 74, 27, 163, 138, 76, 179, 214, 180, 52, 183, 9, 123, 94, 133, 53, 155, + 165, 117, 72, 101, 164, 98, 248, 221, 42, 60, 87, 124, 27, 198, 75, 13, 159, 155, 208, + 30, 189, 166, 8, 115, 100, 32, 63, 12, 186, 19, 107, 188, 144, 233, 245, 158, 73, 137, + 1, 168, 89, 89, 217, 101, 74, 237, 68, 227, 105, 224, 140, 60, 130, 208, 84, 141, 186, + 242, 168, 68, 147, 117, 166, 44, 180, 253, 218, 245, 48, 18, 146, 38, 248, 130, 127, + 99, 38, 44, 234, 140, 200, 220, 198, 4, 158, 186, 22, 230, 150, 10, 234, 26, 53, 231, + 59, 229, 209, 111, 29, 247, 153, 102, 56, 51, 68, 108, 63, 139, 70, 215, 203, 233, 80, + 159, 68, 192, 77, 125, 50, 168, 8, 133, 64, 164, 204, 231, 211, 234, 229, 176, 139, 34, + 159, 233, 12, 43, 54, 73, 115, 213, 128, 121, 152, 183, 10, 238, 170, 56, 168, 232, + 105, 214, 138, 60, 85, 14, 173, 194, 111, 84, 59, ])) .unwrap(), - c: 0, - d: List::::try_from(Vec::::from_iter([0])).unwrap(), e: VarTestStruct { - a: 0, + a: 49114, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, + 17251, 42508, 18514, 29700, 37188, 49814, 10247, 16616, 45265, 22033, 59763, 50534, + 11814, 7749, 44996, 40729, 3975, 11578, 47843, 37474, 58121, 42916, 34628, 60136, + 40308, 7411, 54556, 61192, 29267, 12158, 12718, 23535, 18819, 36543, 62603, 60332, + 26639, 18296, 57782, 50721, 2466, 22995, 17026, 35514, 63527, 38351, 64324, 17545, + 53468, 18647, 14189, 40652, 59800, 5715, 60799, 59201, 28715, 43677, 10699, 2031, + 3225, 13485, 20167, 46672, 17658, 47734, 38090, 64495, 42273, 63120, 42043, 11141, + 15945, 48804, 11778, 49143, 38655, 60802, 19087, 7281, 11581, 4701, 37464, 58761, + 61831, 53595, 54210, 47303, 34708, 50619, 49094, 64257, 49608, 12841, 46804, 28059, + 15780, 29245, 25921, 52872, 65361, 16061, 38807, 61018, 9378, 18444, 58957, 42772, + 4161, 4163, 31090, 60900, 1617, 17693, 44209, 6974, 7613, 23520, 30463, 206, 41442, + 53838, 4578, 31617, 43141, 36137, 48405, 61333, 3680, 10415, 55655, 11936, 12182, + 1001, 17018, 29022, 1733, 56289, 62343, 34374, 61605, 61655, 32922, 57362, 18718, + 37139, 13278, 40863, 49366, 55005, 29378, 37129, 25255, 10305, 26244, 11784, 55221, + 19507, 61288, 12417, 56620, 13229, 1531, 31029, 47441, 11462, 41878, 58026, 27743, + 151, 1889, 21134, 43711, 36750, 239, 45265, 36580, 2631, 63188, 49495, 22525, + 23580, 58949, 21751, 44573, 15334, 24328, 22796, 48483, 15819, 35459, 49130, 10832, + 49520, 12251, 43967, 38342, 7704, 29519, 54953, 16351, 28500, 42617, 53414, 49399, + 33370, 4408, 20331, 8029, 8522, 9842, 59594, 5094, 63546, 11898, 33364, 28400, + 27348, 45591, 19806, 27025, 38392, 17057, 35073, 3251, 27231, 38202, 100, 49246, + 51075, 21932, 41837, 24100, 17870, 26414, 59747, 60942, 6539, 32755, 62336, 15245, + 16189, 51684, 29212, 42977, 19124, 10456, 34969, 7414, 54571, 40351, 64920, 60389, + 58862, 61109, 42320, 7682, 53190, 54090, 23943, 6750, 4697, 42959, 25042, 54376, + 8897, 58655, 55312, 34545, 55234, 29446, 30272, 36565, 37024, 43609, 5810, 59589, + 8820, 13841, 57177, 26310, 57516, 23160, 60493, 31658, 32035, 62452, 39022, 39747, + 10057, 60247, 10562, 62921, 37069, 48243, 16449, 52502, 45952, 27489, 54865, 9759, + 21658, 5536, 52679, 18567, 11336, 54948, 19386, 7651, 39928, 28966, 52420, 37600, + 61748, 59013, 20081, 53920, 63614, 19487, 5340, 39983, 5208, 25179, 48097, 13860, + 62090, 10481, 35142, 18289, 29660, 24041, 40655, 49542, 16345, 145, 42552, 59030, + 48137, 16368, 64814, 46478, 55442, 1328, 49419, 61961, 48037, 4644, 22247, 30270, + 55366, 21514, 37698, 7204, 2525, 35271, 49325, 35490, 6561, 4124, 30715, 13418, + 54819, 25244, 6537, 53717, 45230, 60241, 28634, 29717, 30269, 13805, 1414, 22214, + 20820, 46126, 32598, 42835, 21463, 50476, 324, 64765, 60392, 45129, 37156, 33942, + 40448, 23612, 49207, 48599, 10022, 300, 4077, 31177, 14616, 56754, 11679, 24069, + 16237, 49219, 46328, 56166, 48865, 19340, 5131, 59010, 17167, 30618, 39272, 5419, + 6310, 20598, 10153, 721, 49473, 58040, 35182, 9549, 52950, 62261, 40739, 13700, + 1426, 29053, 1796, 35489, 21023, 48247, 21289, 59013, 50184, 20452, 54280, 51990, + 30518, 41701, 39461, 36530, 12429, 6373, 28738, 40072, 1336, 26925, 52827, 50656, + 33098, 58228, 4882, 45852, 9457, 60684, 60047, 37624, 51959, 26789, 54563, 48233, + 12000, 28461, 30950, 50831, 17824, 51787, 28146, 38163, 8207, 24983, 43136, 16177, + 1720, 48334, 21644, 21783, 21748, 17582, 8682, 45920, 40970, 31654, 46245, 51134, + 37615, 759, 3944, 11765, 22238, 27209, 56964, 9037, 51668, 43614, 36414, 4536, + 31035, 60731, 50565, 64499, 4110, 40696, 22922, 2538, 33658, 62063, 29639, 47197, + 34207, 31416, 50155, 6461, 58911, 30431, 14980, 34093, 45617, 51832, 25671, 5305, + 12637, 36838, 4833, 247, 57931, 48875, 61050, 41894, 57368, 1232, 21162, 18768, + 49029, 56047, 48278, 61767, 17390, 62828, 13436, 48808, 9550, 64407, 61055, 353, + 34903, 45727, 21903, 53375, 42276, 3601, 51842, 26075, 7489, 58453, 45296, 11426, + 53357, 50119, 51128, 8758, 5839, 21714, 59299, 4907, 34596, 13904, 58278, 4884, + 48699, 24896, 15523, 7905, 14118, 34527, 34842, 44738, 51775, 22045, 5145, 7475, + 40457, 10800, 48415, 64458, 53340, 54244, 23859, 7494, 10567, 8991, 8367, 50628, + 32921, 23202, 9193, 57765, 17072, 6162, 19554, 49794, 42946, 41637, 45096, 50762, + 6979, 59327, 5360, 55734, 32340, 23236, 44200, 7516, 15743, 26512, 50931, 35732, + 51748, 60219, 44079, 46535, 33852, 34657, 22875, 62040, 48952, 47488, 48481, 60482, + 46378, 11826, 43226, 3385, 26380, 9793, 31416, 9898, 15571, 15540, 12671, 3728, + 45270, 64625, 4563, 18414, 45638, 17397, 4114, 8195, 12843, 31882, 40991, 57993, + 37860, 45713, 60938, 9671, 57166, 11189, 17359, 7073, 47656, 28523, 17266, 38659, + 61827, 16761, 60709, 804, 12466, 17086, 26509, 19888, 24374, 24913, 16858, 27344, + 7026, 64568, 35796, 22094, 25621, 14621, 25041, 13731, 33591, 58785, 22586, 60945, + 52044, 32819, 42796, 9196, 53834, 39936, 40525, 20393, 57397, 37063, 13281, 29176, + 26092, 18325, 16986, 3682, 19281, 52256, 19311, 49412, 21951, 38980, 14479, 33705, + 7439, 24631, 25653, 53861, 48986, 35070, 33414, 12188, 39654, 53542, 59446, 15833, + 19512, 36859, 18609, 46937, 56171, 65121, 52136, 63850, 21651, 6903, 50095, 64861, + 65086, 59128, 47546, 56114, 40490, 61307, 44285, 23127, 53374, 11726, 13948, 17557, + 20560, 28420, 49563, 53395, 48735, 59699, 18910, 40441, 31818, 65308, 9992, 49220, + 4902, 37443, 11376, 55511, 31729, 20730, 24161, 61530, 55607, 35083, 62505, 41292, + 62622, 63875, 25101, 7094, 43058, 29347, 7897, 45444, 63411, 49477, 55649, 16899, + 29654, 60380, 52861, 2299, 47898, 24274, 32152, 27113, 53276, 63817, 26359, 26556, + 37284, 63007, 44210, 25181, 58139, 10848, 15839, 29052, 28828, 63240, 14802, 13330, + 10366, 10402, 33278, 62674, 13234, 57939, 9554, 65518, 36680, 42047, 53028, 56779, + 59946, 7255, 25348, 3509, 45840, 9611, 64878, 57639, 12394, 11460, 12483, 24930, + 59521, 51658, 30353, 764, 16910, 44809, 27857, 13898, 2503, 13826, 3514, 28881, + 45999, 61908, 17381, 51638, 9481, 44231, 58028, 60061, 8495, 49259, 62768, 63702, + 41785, 19414, 41494, 63755, 45857, 43960, 28875, 43556, 39644, 22248, 5844, 28605, + 234, 56916, 48525, 59507, 50250, 43682, 17410, 1938, 20700, 63290, 44546, 15914, + 414, 65269, 6803, 7991, 21773, 5459, 3330, 44052, 52104, 31971, 62125, 11619, + 55175, 44484, 17914, 62703, 48459, 38801, 44015, 45141, 25163, 24736, 29823, 46864, + 59561, 16623, 6586, 63322, 4398, 63106, 8044, 60786, 64815, 14764, 9459, 49278, + 27004, 44027, 19722, 24129, 20006, 19138, 13661, 60178, 46734, 45671, 63760, 17760, + 58343, 31831, 11580, 48968, 62985, 8828, 31788, 55767, 35067, 43696, 52449, 47258, + 43438, 24491, 64633, 60541, 60013, 38233, 2727, 25568, 9007, 61857, 47530, 59925, + 48777, 17026, 21715, 29400, 64469, 11153, 37176, 23453, 54585, 15212, 28450, 58783, + 27610, 9440, 53245, 11353, 15589, 6929, 22334, 12628, 34556, 43656, 58775, 27840, + 4056, 45993, 37973, 65389, 35167, 21854, 44460, 23386, 63009, 623, 59714, 31298, + 60028, 37190, 16501, 45325, 42475, 35713, 44411, 8359, 191, 5877, 38981, 56831, + 51178, 16904, 11348, 26265, 30491, 34503, 33817, 21091, 38326, 60471, 37690, 22688, + 30657, 25218, 55009, 4431, 42249, 52815, 27293, 29437, 18365, 28062, 43652, 58427, + 37517, 31197, 5756, ])) .unwrap(), - c: 0, + c: 225, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 33, b: 7895405943655935510, c: 2142447552 }, + FixedTestStruct { a: 22, b: 18002124139429285600, c: 992281172 }, + FixedTestStruct { a: 233, b: 4015541180465670820, c: 859454356 }, + FixedTestStruct { a: 189, b: 6174994657624261209, c: 2497554522 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 0, + a: 43514, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, + 44929, 30752, 18611, 33923, 42378, 2509, 29985, 3365, 50241, 47603, 5913, + 64265, 60191, 4381, 60195, 52257, 8319, 17226, 33510, 21910, 36008, 47181, + 46498, 62647, 64293, 8237, 52988, 8429, 30288, 61242, 15886, 20878, 36914, + 26985, 15918, 22455, 15111, 57579, 40171, 51379, 22865, 123, 18539, 12775, + 37124, 37183, 53672, 62981, 15213, 52534, 57669, 55561, 44128, 63745, 4987, + 10918, 59584, 50536, 16194, 9955, 8000, 29145, 26491, 786, 36659, 49852, 39488, + 50223, 47115, 51898, 43073, 13749, 17473, 46325, 12986, 52878, 55953, 33529, + 25698, 52805, 16878, 44039, 57282, 33653, 44329, 32550, 19413, 82, 23578, + 13014, 18528, 4571, 25938, 34107, 41657, 49230, 45622, 61743, 11037, 3616, + 33212, 48356, 62391, 19786, 46850, 65063, 11554, 24158, 19176, 37583, 17948, + 35746, 14283, 57465, 102, 11464, 50353, 32463, 47838, 32814, 13447, 822, 38429, + 35887, 2772, 8249, 56418, 58329, 54021, 7154, 46271, 64647, 41844, 48320, + 14849, 3687, 49835, 42697, 13874, 24482, 47331, 12997, 64447, 5167, 27444, + 10449, 47009, 7033, 13668, 26509, 25931, 43616, 63274, 25197, 51924, 49903, + 7615, 31087, 40684, 23690, 9220, 28555, 29352, 25147, 56359, 36049, 59553, + 50161, 11636, 56402, 63944, 32999, 52526, 62197, 32598, 33275, 39413, 55734, + 12599, 4706, 17357, 16499, 24072, 45395, 37698, 19098, 61210, 30590, 18064, + 30783, 30295, 35121, 46037, 6084, 53354, 21791, 53214, 56948, 28048, 5076, + 21893, 24443, 17012, 46505, 46280, 18781, 15365, 56811, 31155, 38242, 55163, + 1292, 46542, 61963, 57289, 33038, 25, 52081, 19091, 21069, 40486, 10108, 50677, + 61918, 12707, 57257, 50555, 33418, 45330, 40647, 8896, 26080, 61907, 41936, + 65462, 54584, 44126, 58851, 50207, 56923, 31992, 47721, 39634, 25590, 41214, + 58032, 60938, 65307, 43968, 48752, 61391, 45034, 35633, 31588, 61227, 35019, + 16819, 20542, 12794, 53649, 58554, 61746, 57647, 14215, 51870, 10050, 61221, + 58773, 60195, 48726, 29889, 15079, 10043, 29019, 18899, 26012, 16401, 43855, + 63069, 61647, 7136, 38241, 60104, 9587, 29410, 42343, 64967, 29170, 64150, + 38526, 25994, 7673, 23210, 45043, 24277, 54115, 28303, 60073, 43737, 6031, + 5668, 9942, 33665, 26797, 17533, 16820, 3934, 35458, 14911, 17753, 13280, + 36501, 26329, 26322, 30341, 2296, 58472, 50252, 59069, 32304, 40320, 60379, + 31350, 53792, 36106, 30614, 47433, 29400, 64251, 46079, 49796, 24230, 4133, + 21292, 5622, 63441, 9734, 11309, 23719, 36631, 15990, 21734, 14415, 46842, + 15892, 58514, 38528, 15405, 61022, 58050, 36243, 54661, 47638, 46619, 582, + 33621, 48483, 40371, 7615, 27816, 40494, 8444, 15942, 56895, 63904, 27589, + 45724, 5517, 8583, 1408, 16277, 29648, 21671, 52503, 10429, 127, 57791, 64595, + 1080, 56974, 27077, 12897, 30626, 36821, 29051, 18500, 4435, 50958, 39340, + 49621, 1815, 39985, 15934, 36779, 31123, 40005, 7579, 2729, 16836, 18032, + 16973, 65285, 45233, 30934, 36170, 17047, 31875, 48463, 54787, 6987, 64265, + 44516, 21404, 56981, 744, 11853, 63861, 15589, 56897, 48055, 64377, 22937, + 57003, 39575, 47030, 55396, 52461, 61589, 54249, 8930, 57564, 46031, 14112, + 17047, 46471, 10174, 4365, 38415, 52948, 62715, 50041, 51973, 5434, 38061, + 13272, 38028, 53130, 9475, 40016, 53229, 44076, 59783, 50717, 52603, 21009, + 5486, 2882, 28565, 63564, 62037, 25490, 24691, 24607, 5621, 19278, 24466, + 63721, 2018, 51647, 60634, 44402, 47470, 47072, 17539, 135, 53327, 23611, + 20733, 22085, 54828, 15090, 36469, 15332, 47031, 30378, 60277, 56027, 64012, + 60593, 38235, 50743, 25902, 28555, 27334, 2510, 57558, 27016, 51477, 58571, + 26172, 21974, 44733, 31867, 46300, 31581, 10817, 47280, 832, 57432, 58641, + 11027, 59896, 10055, 26070, 3080, 12709, 64316, 3767, 58757, 57262, 4204, + 58619, 27596, 14356, 35646, 23127, 44044, 53508, 3610, 36884, 17507, 12074, + 11208, 33905, 8226, 14953, 41716, 25979, 51091, 48156, 15384, 35348, 44355, + 12326, 7498, 36711, 12992, 55385, 34691, 62028, 19985, 61393, 40828, 2746, + 39141, 17945, 41555, 48287, 20246, 46809, 14012, 39185, 11904, 22606, 44276, + 53015, 6490, 39924, 38071, 57, 57429, 64938, 4268, 5449, 40144, 27066, 61075, + 61940, 32308, 60455, 61326, 3704, 18303, 30834, 49426, 40648, 3853, 15653, + 59446, 11292, 24688, 14809, 39266, 23286, 18076, 28768, 42746, 21868, 30207, + 43299, 295, 63809, 7898, 17956, 11152, 21166, 48415, 39014, 15134, 9903, 63926, + 55808, 24506, 60151, 38258, 2493, 35633, 12629, 13802, 30066, 43022, 17022, + 57377, 64704, 5218, 50170, 3626, 39697, 10087, 65530, 12033, 36422, 1738, + 13477, 54184, 41538, 53862, 47159, 5054, 14755, 45002, 5923, 12309, 37642, + 16496, 22221, 18096, 15132, 8706, 48927, 45233, 51246, 45951, 9304, 34730, + 65138, 977, 22085, 5862, 19270, 44460, 32874, 46327, 2470, 31874, 31561, 51392, + 63663, 39078, 47218, 26605, 44663, 20032, 25580, 40333, 11381, 6134, 59631, + 62556, 30404, 21469, 47247, 17795, 60489, 28995, 28004, 20490, 49065, 58104, + 49330, 44478, 20236, 35917, 55248, 52762, 42524, 8396, 44134, 834, 7430, 33391, + 28342, 19492, 45311, 6693, 7460, 9854, 18115, 23170, 211, 37705, 44710, 62170, + 31886, 42590, 27309, 47771, 44016, 63865, 8484, 34894, 1651, 26264, 5124, + 11162, 6808, 55565, 29031, 12438, 41303, 2913, 53350, 63673, 3118, 35006, 1560, + 41136, 9071, 48506, 26910, 8327, 50345, 11163, 32280, 57420, 17556, 60816, + 62894, 30395, 46223, 59297, 877, 27721, 14567, 33419, 42989, 64345, 43782, + 36821, 25086, 10936, 29852, 59570, 25167, 48388, 5439, 50086, 26667, 19198, + 59999, 63908, 18939, 3288, 65474, 42233, 1275, 2482, 30837, 15496, 61442, + 28819, 20642, 28771, 46764, 65050, 30458, 53280, 60533, 55758, 59964, 18259, + 34340, 53025, 31538, 37279, 41182, 11296, 5643, 40366, 17387, 44647, 3594, + 4213, 41261, 10591, 29018, 23062, 11618, 1835, 9568, 167, 40975, 39561, 56241, + 401, 18785, 53649, 47883, 29046, 47341, 63404, 15977, 30583, 36011, 31855, + 52845, 10150, 6787, 17672, 4477, 61969, 52631, 6184, 63642, 22364, 62169, + 31625, 51560, 50011, 8227, 37511, 23559, 4669, 4964, 27604, 50319, 38388, + 46510, 52492, 38035, 1031, 60402, 41494, 43197, 25190, 40897, 47219, 2238, + 51849, 52927, 64336, 23334, 38427, 34965, 51550, 59912, 45050, 2844, 39823, + 20736, 59971, 34176, 957, 43590, 42759, 3365, 31964, 43493, 13553, 734, 58623, + 16200, 38891, 58853, 48898, 6316, 53870, 45180, 55957, 64555, 50314, 61629, + 53066, 36801, 42586, 44949, 7538, 43423, 2596, 22043, 53557, 64701, 42047, + 32789, 5268, 44885, 15096, 29614, 52876, 27126, 50054, 29134, 53293, 39797, + 19175, 13041, 16193, 45162, 17525, 51257, 29010, 40224, 21154, 48391, 27566, + 55429, 50281, 15376, 12502, 41158, 18230, 35230, 19043, 62323, 48364, 3745, + 4973, 36283, 56399, 60725, 19185, 18415, 11590, 57600, 16803, 3642, 17928, + 50785, 15806, 50179, 35140, 38046, 1935, 18014, 63215, 21927, 4544, 51981, + 43741, 12769, 47671, 22865, 40754, 39025, 41145, 2491, 38647, 8947, 64839, + 11809, 45553, 49738, 21659, 26393, 52991, 22242, 42192, 11540, 12394, 23926, + 52867, 5820, 39167, 603, 65512, 18700, 64200, 16923, 53878, 53091, 8102, 49033, + 30448, 46268, 9209, 30771, 58698, 16693, 43514, 33212, 27521, 12052, 13213, + 53117, 13466, 1428, 20468, 40192, 29634, 23425, 17430, 22188, 16160, 23704, + 24888, 25431, 33689, 44304, 62530, 44649, 29854, 58068, 16506, 50867, ])) .unwrap(), - c: 0, + c: 137, }, VarTestStruct { - a: 0, + a: 682, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 51885, 64263, 59471, 10232, 10988, 50916, 6958, 21670, 35134, 15072, 23280, + 50462, 43383, 53899, 13108, 31128, 5505, 18184, 21356, 28188, 53305, 8847, + 10739, 16128, 61911, 34784, 57065, 27155, 36478, 34699, 47869, 2809, 19476, + 1397, 15487, 35488, 23, 22699, 52499, 19378, 21941, 54265, 40593, 12644, 19667, + 7302, 19220, 31616, 2470, 58308, 1193, 55829, 50929, 34118, 21280, 15378, + 50725, 47052, 9451, 45938, 1869, 6637, 60820, 55589, 9551, 21625, 43601, 60493, + 30261, 39640, 28761, 996, 45975, 24842, 60244, 58729, 11108, 42608, 46292, + 25125, 60270, 39690, 1076, 60639, 56960, 7720, 37861, 40753, 47845, 35041, + 56018, 49755, 44315, 15042, 52793, 18360, 30950, 15097, 52572, 10356, 25489, + 37421, 54132, 30301, 50787, 21191, 30707, 4946, 19194, 32760, 24736, 1766, + 28215, 54927, 56821, 32308, 18946, 19539, 31501, 2375, 14640, 9334, 28531, + 2697, 9467, 64218, 57413, 6241, 37805, 42121, 26541, 54921, 22415, 35303, + 24179, 18096, 57569, 20836, 7405, 1758, 14013, 50213, 32026, 60545, 48861, + 46476, 56929, 57331, 50772, 60598, 40803, 35821, 43306, 53095, 3944, 4212, + 62082, 55523, 23353, 3974, 42011, 29962, 6263, 20121, 50439, 43564, 43261, + 10965, 48151, 21381, 53260, 16065, 23922, 44281, 62627, 57237, 18526, 61645, + 61077, 27717, 52090, 9608, 40498, 54711, 55615, 51509, 49660, 26278, 51028, + 20895, 24827, 32886, 57697, 4674, 39051, 10962, 35300, 57721, 54688, 18565, + 39842, 29788, 32053, 22380, 29836, 53893, 17207, 6061, 11221, 1194, 13836, 166, + 13341, 782, 65149, 51559, 13117, 50973, 6819, 39517, 9190, 36922, 20984, 32148, + 17045, 34135, 12829, 55755, 22114, 60340, 47395, 64043, 15088, 7884, 44870, + 37497, 23095, 11086, 14518, 14300, 17229, 22719, 32005, 20226, 22845, 33504, + 65282, 46550, 59392, 22698, 62835, 42428, 5068, 33090, 25260, 24764, 19840, + 11692, 10560, 15428, 5894, 36469, 1089, 18994, 24909, 28358, 45786, 6063, + 37124, 6321, 12738, 46859, 7161, 7693, 15449, 47911, 18069, 33817, 11638, + 19572, 16039, 30263, 56367, 55980, 17991, 38577, 28211, 43408, 30378, 4345, + 12764, 12458, 37452, 61647, 51060, 45889, 46747, 21824, 59021, 29810, 17627, + 12337, 15913, 41355, 36459, 50584, 50129, 18982, 14832, 63847, 19279, 26971, + 56370, 48373, 16912, 36070, 57668, 42596, 32202, 53388, 39568, 24270, 2259, + 35974, 16621, 22901, 14438, 29774, 18843, 60286, 1239, 21090, 28745, 8214, + 48803, 64351, 47989, 59081, 13531, 2872, 38635, 55266, 14755, 13172, 50033, + 4353, 57725, 4297, 17288, 55870, 49440, 31800, 24358, 38203, 48116, 24772, + 3315, 55547, 44020, 18630, 20230, 19876, 28408, 1924, 58984, 51871, 36020, 111, + 23865, 21119, 43187, 12476, 42920, 58671, 50266, 38301, 21021, 53483, 57848, + 52284, 2509, 5276, 63897, 12814, 53021, 4521, 39886, 49102, 30061, 20411, 666, + 54133, 51846, 61860, 8960, 1839, 5891, 51375, 31913, 42988, 35667, 33502, + 49102, 63568, 6948, 37589, 6977, 35862, 25374, 42700, 25442, 34339, 30825, + 11402, 2238, 5023, 53468, 36891, 53547, 34426, 35798, 47379, 46436, 61636, + 14672, 9365, 519, 44847, 33250, 15883, 52001, 30298, 49425, 62052, 29692, 3220, + 59012, 53021, 42723, 18904, 6964, 57080, 43094, 4915, 59830, 18105, 61872, + 49925, 9381, 14090, 39371, 7614, 8123, 14801, 38490, 52853, 50257, 39089, + 15690, 15447, 4098, 56386, 26130, 231, 26085, 32434, 17354, 47890, 63094, + 37814, 32048, 55738, 30158, 20459, 10093, 35827, 29829, 50064, 50011, 61362, + 47261, 21484, 15125, 38043, 62612, 19606, 51279, 27319, 18406, 7711, 845, + 54338, 20958, 51039, 40810, 9731, 32836, 54568, 43614, 6051, 47944, 46780, + 51537, 34824, 20832, 34881, 34703, 52696, 48155, 63930, 4742, 35455, 18262, + 10182, 31301, 53019, 803, 23919, 27315, 4054, 52737, 57889, 11976, 34740, + 61283, 57961, 18743, 32607, 36146, 45068, 15976, 7589, 56094, 52212, 42864, + 51759, 60716, 52478, 17328, 31212, 31782, 33630, 18143, 16914, 11151, 45393, + 62488, 11174, 2731, 7811, 16857, 13971, 32459, 29734, 21508, 51784, 7179, + 30676, 62897, 9707, 10244, 24367, 38336, 64284, 22535, 52716, 4914, 20226, + 9250, 26509, 37163, 32899, 11797, 12143, 60148, 10285, 51091, 59231, 58976, + 27185, 40824, 5613, 61206, 21453, 8981, 1187, 10879, 24628, 12233, 50134, + 27770, 47483, 26915, 37567, 50443, 22908, 63645, 23597, 54193, 36265, 35831, + 21171, 40700, 30715, 14026, 1398, 30908, 59173, 42740, 391, 40363, 25100, + 24888, 31788, 1734, 50025, 19157, 43650, 58603, 35709, 50590, 2355, 28139, + 51402, 27056, 17200, 58397, 25369, 49671, 46315, 49881, 46069, 4322, 16821, + 38447, 34348, 26915, 25296, 28276, 53083, 738, 50719, 56613, 21793, 26112, + 20341, 31836, 62869, 40063, 49251, 61809, 5821, 18904, 4125, 47548, 2989, + 23220, 49684, 4892, 10053, 6845, 12079, 62921, 30743, 9836, 7562, 10226, 27180, + 9872, 24256, 37618, 49264, 65276, 19840, 38786, 65467, 38990, 51685, 38196, + 36233, 21010, 9712, 51660, 17285, 3520, 45300, 8234, 41814, 8230, 55465, 24002, + 58996, 23995, 44, 27612, 1222, 55582, 10288, 28682, 60622, 19721, 63749, 31297, + 22461, 46685, 42796, 58295, 14193, 18000, 41708, 54061, 41703, 56889, 35306, + 40604, 22650, 40998, 29928, 27296, 3660, 27725, 47601, 23060, 14650, 51366, + 26083, 38630, 46456, 30454, 24209, 57674, 25704, 41440, 55637, 58976, 26635, + 44228, 12119, 52000, 20399, 6701, 64592, 50326, 46284, 29129, 53831, 50111, + 10335, 13313, 11975, 34380, 55759, 45047, 34983, 25479, 9928, 33349, 39667, + 7734, 3954, 11141, 43034, 49650, 47595, 59460, 9821, 61240, 39396, 15182, + 40374, 2819, 65045, 14458, 24008, 33989, 32244, 9364, 28902, 64745, 55628, + 34632, 37123, 10154, 42704, 56249, 12742, 39102, 41559, 17601, 16326, 56500, + 53232, 41076, 5494, 44174, 19277, 61369, 47611, 16724, 45709, 63909, 40888, + 65105, 65129, 4969, 18388, 65266, 63157, 59069, 61299, 8618, 13986, 48325, + 35023, 7554, 59183, 48032, 52445, 10594, 13892, 57451, 33565, 59449, 15262, + 62237, 32499, 64405, 16602, 43535, 65166, 61425, 63533, 22577, 18731, 58541, + 50128, 43280, 43412, 55138, 24121, 13639, 37875, 42162, 13233, 1047, 18374, + 63928, 32265, 22846, 1742, 4661, 35350, 24643, 37514, 26525, 19847, 50411, + 17293, 2973, 12739, 35014, 18078, 49176, 34885, 58976, 20349, 34040, 39699, + 55457, 6496, 16798, 57469, 9813, 54291, 16887, 61271, 39207, 41101, 7050, + 44552, 55398, 6230, 35660, 63164, 6822, 40135, 23987, 2031, 60381, 55977, 1477, + 17703, 12113, 9730, 57047, 30788, 41837, 63418, 52850, 53543, 60557, 62675, + 64384, 263, 53297, 32822, 56334, 62735, 1036, 17559, 12389, 43005, 10191, + 25091, 11614, 11225, 60081, 10003, 22666, 46772, 53431, 44698, 33021, 3625, + 6583, 57814, 3998, 6771, 37186, 62504, 14616, 8474, 46336, 6439, 43900, 14697, + 11672, 9598, 22231, 43700, 33424, 43368, 42154, 60076, 50717, 47203, 38562, + 55326, 10654, 31287, 20065, 21512, 11599, 57976, 9811, 26964, 62980, 803, + 63189, 12274, 62802, 44802, 45384, 10276, 19558, 16547, 18209, 30466, 17486, + 4231, 28724, 28061, 24595, 20195, 10892, 4686, 60117, 24328, 30101, 15432, + 9795, 39252, 2615, 44553, 19023, 49900, 43334, 47979, 63896, 19809, 53601, + 9421, 37053, 19118, 12297, 61584, 62299, 48690, 61172, 8422, 46287, 35075, + 27211, 2026, 62737, 47333, 44598, 5456, 49090, 61830, 36327, 60356, 30742, + 32377, 40148, 27936, 58838, 20097, 49658, 37537, 25700, 45346, 63345, 65132, ])) .unwrap(), - c: 0, + c: 150, }, ]) .unwrap(), }; let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_1/serialized.ssz_snappy", - ); + let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_chaos_1/serialized.ssz_snappy"); assert_eq!(encoding, expected_encoding); let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); @@ -10941,307 +6500,352 @@ fn test_containers_complex_test_struct_zero_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f701b968d59dc21a5e05a33ec5cfa5e46a4090d66d92adf6d3e2b244366b2e8f"); + root_from_hex("0x9e8d9f5d5a03974171cc977eb7fc10305f1bee1b469a11974f25424d8e518773"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_max_4() { +fn test_containers_complex_test_struct_lengthy_chaos_2() { let mut value = ComplexTestStruct { - a: 65535, + a: 43914, b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 62086, 1328, 36452, 57324, 9737, 54653, 31513, 53012, 55142, 1461, 52584, 61080, 47577, + 41202, 28554, 51016, 3395, 21150, 12211, 16631, 4736, 51622, 20853, 48055, 36665, + 38198, 21707, 62715, 27251, 56397, 58251, 20691, 59462, 54066, 14496, 12001, 57294, + 56845, 26369, 29814, 34603, 34624, 32640, 24630, 53704, 52972, 1442, 48234, 57217, + 7410, 54435, 39184, 16945, 26130, 19393, 29353, 46432, 22530, 25280, 46319, 2456, + 43794, 19084, 3999, 13723, 59888, 18991, 6336, 33994, 39883, 7156, 30544, 4935, 36305, + 46871, 44707, 2403, 24512, 18361, 45353, 23333, 41515, 51072, 6572, 4622, 7773, 20374, + 2079, 39276, 5866, 1956, 30298, 41162, 31599, 34614, 34697, 8326, 61013, 29554, 36633, + 48167, 20032, 25457, 51141, 25570, 16769, 33919, 35383, 41487, 53945, 59643, 15499, + 16000, 28282, 8774, 61412, 30042, 22151, 7154, 31953, 53103, 43074, 3550, 62797, 56455, + 2268, 34010, 46390, + ])) + .unwrap(), + c: 115, + d: List::::try_from(Vec::::from_iter([ + 67, 108, 235, 173, 230, 5, 113, 72, 60, 94, 194, 112, 0, 195, 72, 239, 116, 39, 209, 7, + 55, 12, 69, 237, 106, 45, 69, 169, 158, 5, 86, 197, 56, 18, 136, 199, 56, 253, 135, + 167, 99, 191, 156, 177, 203, 104, 181, 35, 173, 200, 59, 66, 34, 241, 28, 7, 202, 17, + 152, 1, 80, 229, 248, 221, 104, 209, 225, 153, 248, 141, 133, 252, 32, 31, 190, 39, + 252, 34, 242, 143, 198, 66, 128, 86, 68, 48, 157, 76, 204, 134, 206, 168, 107, 34, 30, + 238, 30, 166, 247, 74, 6, 193, 108, 96, 33, 92, 149, 243, 186, 0, 179, 78, 185, 77, + 197, 17, 160, 176, 210, 92, 0, 95, 167, 215, 41, 9, 253, 91, 57, 27, 83, 118, 243, 242, + 125, 159, 71, 97, 170, 221, 158, 90, 42, 176, 152, 77, 213, 181, 94, 141, 158, 47, 133, + 54, 30, 236, 128, 160, 204, 103, 189, 183, 9, 245, 176, 173, 227, 87, 148, 39, 236, + 102, 112, 112, 254, 0, 164, 157, 178, 74, 94, 213, 181, 187, 169, 85, 18, 139, 177, + 121, 109, 119, 188, 237, 125, 99, 126, 78, 93, 197, 98, 118, 19, 103, 137, 62, 97, 244, + 239, 40, 191, 78, 123, 59, 69, 87, 141, 185, 229, 209, 146, 29, 83, 119, 118, 231, 164, + 154, 8, 155, 120, 254, 112, 189, 55, 125, 183, 130, 92, 131, 250, 23, 193, 66, 100, + 106, 165, 194, 172, 37, 60, 139, 111, 203, 59, 156, ])) .unwrap(), - c: 255, - d: List::::try_from(Vec::::from_iter([255])).unwrap(), e: VarTestStruct { - a: 65535, + a: 23486, b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 15593, 63604, 1036, 11176, 19273, 36219, 35466, 12766, 22074, 40009, 2165, 60871, + 10347, 18371, 24026, 49210, 12254, 61533, 19213, 17225, 47173, 23502, 19775, 16365, + 22372, 23420, 17370, 16473, 31126, 21509, 57384, 13788, 57261, 35364, 16417, 44529, + 7955, 44734, 34744, 16949, 22873, 45312, 61913, 21451, 54156, 34596, 48106, 38739, + 19399, 17826, 65002, 48667, 45100, 33250, 13181, 53778, 61679, 12600, 34137, 23291, + 11566, 54421, 3586, 52520, 52111, 22904, 34356, 16399, 42888, 44715, 811, 14021, + 29563, 19294, 20194, 4654, 30802, 53104, 63566, 16361, 18204, 40434, 14592, 54330, + 34911, 65254, 15030, 40691, 4026, 57356, 37607, 51999, 7557, 60424, 32999, 5102, + 55569, 7475, 32717, 39629, 46335, 18013, 63081, 15022, 16576, 27703, 15518, 17745, + 39333, 27791, 39625, 14139, 1093, 55255, 14612, 14935, 12345, 5001, 17837, 28995, + 29585, 5056, 54529, 11226, 19431, 54130, 52849, 63301, 38394, 53611, 9896, 40345, + 20777, 52688, 43652, 33871, 31087, 31651, 35739, 40443, 25280, 10296, 15747, 32611, + 1081, 39938, 14502, 9303, 3537, 60499, 36699, 24564, 65253, 6807, 30936, 41530, + 48628, 6260, 15739, 1139, 40541, 47136, 15559, 42283, 289, 14025, 46768, 12445, + 65457, 29556, 56398, 22133, 4010, 15117, 51299, 1849, 41906, 3322, 63024, 29634, + 59788, 8797, 37379, 46302, 54222, 59902, 39908, 892, 40776, 851, 63341, 17747, + 9924, 31453, 3330, 47434, 49418, 38032, 15150, 19307, 14499, 55637, 62039, 31569, + 7939, 22269, 29644, 36440, 29079, 54213, 60614, 8454, 7136, 25386, 54692, 52439, + 7988, 4419, 7337, 5885, 37333, 44102, 8467, 19262, 14565, 29567, 4389, 2150, 22606, + 24929, 62638, 36224, 59591, 64252, 12798, 33698, 57182, 49489, 21629, 29980, 16955, + 56048, 31331, 672, 7913, 36101, 4590, 9552, 64424, 48603, 63066, 48019, 35026, + 32305, 63429, 47675, 9882, 63825, 1988, 51424, 64792, 7468, 53151, 11836, 26345, + 18733, 8007, 59569, 43430, 24548, 19184, 63699, 22931, 48166, 36294, 10338, 53620, + 23212, 39218, 18483, 45371, 55720, 27938, 4726, 44647, 38401, 49521, 19471, 44093, + 63219, 13068, 37585, 29740, 24131, 14987, 28170, 29699, 21522, 53644, 10230, 61387, + 40881, 54835, 32503, 30687, 17639, 20658, 41262, 57767, 32695, 57562, 33557, 61532, + 39796, 38990, 37545, 21916, 36408, 23564, 21978, 33729, 17441, 39285, 39075, 32251, + 11196, 530, 20433, 53546, 3251, 5308, 7916, 15230, 15239, 29647, 11165, 13798, + 15624, 45725, 24663, 27518, 29704, 20356, 17569, 23591, 40658, 62983, 13806, 32779, + 49993, 60125, 35645, 34057, 21187, 700, 22933, 42449, 11875, 38642, 54045, 62276, + 17852, 43830, 33150, 7567, 26722, 12643, 61311, 11197, 31854, 24390, 14883, 43019, + 16072, 28709, 53377, 14780, 41804, 28600, 22978, 59696, 28566, 22795, 54819, 565, + 25043, 60497, 61053, 25985, 5623, 48427, 28414, 63343, 1552, 24065, 55802, 52313, + 20987, 20413, 23652, 38352, 35994, 2359, 34882, 54943, 51456, 45078, 2482, 50647, + 9045, 44827, 13211, 7614, 30564, 37107, 42904, 16679, 18928, 346, 60545, 23498, + 56045, 24394, 4957, 1612, 31439, 40317, 26146, 21858, 62101, 6024, 23110, 1710, + 39471, 7255, 41863, 12500, 54170, 51554, 13006, 51282, 64352, 38251, 56915, 56357, + 59322, 41790, 38471, 37871, 16280, 5836, 21261, 63787, 63480, 50239, 19560, 13311, + 147, 61842, 59690, 46612, 3647, 36505, 15819, 48395, 62981, 22804, 64596, 31329, + 53717, 13176, 14350, 9580, 59930, 6626, 46327, 45394, 32470, 52910, 63908, 35667, + 56648, 59841, 23125, 47598, 64652, 43078, 9051, 38319, 2169, 33224, 8208, 25652, + 31213, 65189, 49435, 22200, 25770, 10046, 56995, 6051, 37079, 47757, 1575, 31413, + 62094, 47831, 37338, 22664, 59667, 47280, 50437, 36960, 55442, 18695, 9506, 3419, + 37141, 32711, 13765, 44832, 44756, 43642, 13683, 39098, 51545, 48305, 61022, 50798, + 48781, 49651, 11142, 58483, 36057, 26512, 50015, 46941, 1717, 6499, 54385, 50804, + 21901, 57400, 56294, 33992, 57100, 47195, 53247, 11033, 64931, 51432, 63216, 24006, + 7085, 37975, 10085, 33231, 37845, 28664, 31642, 18596, 53057, 22196, 45887, 55139, + 33019, 10912, 29363, 47731, 26613, 27872, 33421, 10935, 40453, 6549, 24689, 22586, + 61720, 42568, 47856, 5594, 57343, 60876, 20883, 57761, 5956, 32113, 3280, 1178, + 15913, 2049, 59601, 16040, 32110, 32684, 53297, 29911, 29285, 39850, 46579, 820, + 53434, 1348, 4384, 44069, 9891, 26242, 123, 22715, 15634, 25332, 4730, 36848, + 15146, 54955, 26910, 6389, 21390, 41975, 40896, 64000, 57206, 33749, 40627, 1089, + 16195, 27857, 26715, 36724, 61762, 14098, 52516, 14825, 45574, 16740, 50819, 15917, + 42908, 57274, 59206, 48821, 18520, 63350, 21886, 5404, 56160, 14298, 50529, 19117, + 51178, 10729, 9479, 33161, 49061, 40405, 28682, 51229, 41030, 34045, 32018, 8913, + 8102, 54945, 19476, 10464, 25104, 29972, 30576, 23970, 18614, 30398, 48925, 22794, + 53775, 4360, 56013, 30762, 27630, 36344, 22201, 31812, 57292, 16847, 8723, 44865, + 14239, 21211, 40014, 45888, 9448, 42422, 10155, 47957, 54903, 19108, 30675, 38878, + 55849, 19222, 63753, 52007, 7711, 33914, 14692, 42498, 36292, 80, 58900, 62143, + 33579, 10866, 9229, 33885, 33596, 33049, 24701, 31623, 8145, 39668, 16053, 50623, + 48594, 30376, 54719, 3191, 24141, 51164, 47700, 23261, 50228, 44211, 16540, 16983, + 50346, 42231, 39277, 1890, 15757, 64567, 32369, 34087, 34497, 49583, 32796, 19877, + 6123, 33688, 26272, 9943, 364, 37190, 29476, 7916, 26196, 7435, 11626, 32608, + 36861, 55350, 21656, 57724, 51795, 3930, 4048, 47282, 29956, 20641, 44773, 60183, + 30145, 52596, 33581, 37854, 48499, 52450, 37241, 39260, 61850, 31260, 65004, 24599, + 59099, 8488, 9090, 26873, 42722, 11990, 55440, 6440, 52949, 42119, 39667, 39535, + 9551, 14793, 65248, 24786, 7594, 27946, 10427, 63086, 64125, 61148, 59202, 46526, + 36548, 58192, 38515, 45732, 15881, 5315, 33765, 63866, 24349, 41267, 36335, 46448, + 37326, 44485, 26486, 22998, 39914, 15176, 30154, 36370, 41988, 39079, 12642, 58414, + 18475, 59493, 4021, 12388, 14050, 27629, 39314, 3812, 8418, 36396, 56265, 21661, + 18297, 33798, 45977, 14658, 47219, 65435, 6893, 55984, 17635, 30505, 34812, 56035, + 341, 64693, 11675, 52967, 46548, 41950, 46037, 27232, 20237, 59428, 39272, 11168, + 63822, 51982, 34297, 9583, 40733, 54617, 8106, 63768, 49931, 42463, 51512, 33001, + 32730, 20866, 13896, 26820, 2256, 52704, 20449, 23064, 26726, 29364, 41601, 17879, + 18327, 41223, 1854, 41891, 39994, 22242, 6757, 33874, 23444, 888, 10838, 27845, + 29135, 11693, 7425, 12244, 16038, 2633, 12130, 14798, 50876, 38216, 42936, 17915, + 41877, 58345, 45828, 9014, 57600, 19775, 21573, 12511, 58596, 18220, 58924, 5404, + 18798, 7048, 30268, 38033, 41665, 29706, 48009, 60874, 35441, 3641, 25972, 34946, + 35012, 46392, 18328, 18080, 14997, 2596, 56549, 44023, 25242, 37423, 44762, 34635, + 54001, 2408, 29980, 64152, 1463, 905, 56029, 3463, 1799, 13585, 52253, 25167, 2143, + 24081, 61603, 10888, 45578, 13276, 26583, 63122, 34896, 22960, 39961, 28934, 24033, + 61958, 49473, 64840, 24974, 55178, 42152, 45365, 23387, 15509, 59867, 58993, 1684, + 33050, 2912, 41106, 24440, 20485, 2921, 48132, 47509, 51589, 28075, 4631, 61031, + 35897, 9677, 8828, 54958, 11312, 62827, 64638, 10491, 19197, 15403, 18327, 47761, + 55042, 40670, 19875, 52462, 15920, 8766, 30590, 65344, 21233, 41136, 58846, 61639, + 18621, 40045, ])) .unwrap(), - c: 255, + c: 132, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 159, b: 16295530782191573869, c: 898963900 }, + FixedTestStruct { a: 192, b: 1126888825704345083, c: 621551181 }, + FixedTestStruct { a: 76, b: 5513933778385349547, c: 203149383 }, + FixedTestStruct { a: 121, b: 16663028344398051269, c: 3304510184 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - VarTestStruct { - a: 65535, + a: 27500, b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, + 29281, 21678, 50067, 64292, 22880, 65463, 7138, 53665, 14459, 7247, 28850, + 3632, 48847, 4930, 27628, 65477, 46860, 56833, 37500, 54486, 32885, 40941, + 35048, 2303, 51735, 33978, 3806, 7921, 10309, 6720, 40601, 58072, 30791, 41291, + 59863, 47889, 44613, 39102, 64879, 18428, 60829, 17503, 15135, 42841, 52697, + 13327, 25197, 21289, 12684, 3032, 52332, 31674, 54132, 46576, 9328, 19929, + 15199, 28739, 64668, 14956, 12487, 11298, 63454, 8433, 59697, 10916, 10576, + 7778, 2933, 6240, 41564, 33717, 33157, 32638, 28815, 24690, 56340, 57098, + 12594, 4884, 10251, 52714, 38939, 50189, 59680, 60785, 8434, 21363, 38159, + 21210, 7813, 57275, 48557, 19144, 49458, 37297, 4938, 55434, 57328, 48834, + 31094, 52384, 46280, 36369, 32522, 50513, 43750, 21913, 42931, 33435, 56808, + 51411, 33397, 19192, 314, 19092, 56648, 22113, 34241, 29343, 59574, 45397, + 22937, 12923, 51665, 61548, 18252, 13989, 32443, 35371, 34000, 15966, 28542, + 43895, 37691, 43946, 23361, 31019, 47770, 37293, 1317, 23353, 27705, 22762, + 12063, 30990, 48165, 33960, 9359, 49239, 59607, 21590, 63123, 23882, 8591, + 51475, 49097, 56351, 32627, 62560, 31764, 61277, 43166, 20931, 28824, 2261, + 25890, 21257, 52400, 62298, 12636, 26512, 31233, 7924, 16836, 9421, 473, 45438, + 52131, 33646, 13964, 22344, 49422, 22029, 2643, 15253, 60944, 19839, 51819, + 37299, 33641, 45154, 17558, 37923, 16057, 14251, 19645, 31147, 25540, 24210, + 47302, 4334, 61043, 49038, 49138, 14645, 60456, 34158, 51891, 45900, 9064, + 52434, 16409, 27182, 14597, 50036, 63404, 44719, 36248, 46806, 19898, 40730, + 51144, 50223, 12889, 20890, 13446, 59804, 4308, 59376, 58207, 11130, 19410, + 3580, 51378, 21218, 5571, 22459, 43310, 51370, 47510, 4906, 38160, 185, 50073, + 23563, 46787, 1134, 49942, 29705, 34854, 42239, 26463, 45191, 14758, 44872, + 15758, 13509, 35241, 60869, 1180, 28884, 65034, 40406, 43540, 59859, 12472, + 27235, 29732, 2850, 4677, 45797, 23491, 57561, 38559, 9150, 57394, 55174, + 27405, 14792, 65063, 31178, 59833, 3992, 61436, 5507, 62030, 11270, 7891, + 44528, 39536, 62181, 29705, 50009, 6318, 7008, 28140, 63195, 35116, 16219, + 36277, 54583, 61926, 22439, 55119, 23900, 47365, 54634, 27477, 48718, 55945, + 62353, 42684, 26179, 54934, 58362, 59848, 14301, 11550, 32290, 47877, 59428, + 18842, 12660, 47022, 36199, 15279, 43073, 10706, 41013, 29076, 26146, 58099, + 841, 34914, 55835, 47362, 32550, 9495, 5268, 62103, 54611, 30863, 2081, 29651, + 41084, 1359, 48434, 64730, 54973, 50126, 2330, 9468, 49299, 16687, 43299, + 36671, 50540, 64279, 33834, 8622, 33841, 10688, 37470, 42486, 13936, 47066, + 32289, 36691, 23849, 39080, 62657, 2773, 31344, 42870, 15677, 30603, 37153, + 42395, 15322, 63124, 48559, 7328, 20189, 58043, 8093, 58828, 51207, 2114, + 36835, 13252, 3707, 39308, 25399, 53406, 13064, 39503, 42822, 13484, 38997, + 63362, 59378, 54524, 5137, 64056, 47367, 39193, 16882, 32708, 18031, 46298, + 853, 5439, 40214, 57048, 25090, 55664, 21207, 49603, 17699, 58781, 1924, 58961, + 59483, 52953, 60307, 62525, 34479, 58494, 54391, 10794, 18956, 16365, 4443, + 38307, 62346, 51856, 16471, 29440, 18772, 23814, 15911, 7070, 3814, 20349, + 62982, 5907, 32825, 20539, 17303, 46730, 22652, 33165, 17845, 63772, 15107, + 32494, 14987, 63697, 45621, 32698, 53224, 60643, 21055, 56974, 45361, 45284, + 44643, 50551, 47011, 51060, 45721, 44041, 30835, 9881, 6391, 58187, 58994, + 58604, 12222, 31423, 33364, 9211, 40136, 28115, 902, 64318, 36908, 47299, + 27806, 65025, 56474, 22184, 1347, 15152, 58487, 22663, 48281, 50383, 27012, + 60317, 10930, 58668, 25699, 65086, 63670, 37544, 13743, 29675, 9059, 59240, + 60332, 42067, 45576, 10439, 24820, 33770, 53328, 17818, 51074, 1101, 10223, + 17557, 33394, 14350, 21327, 535, 10266, 56608, 53721, 50965, 46452, 6628, + 60343, 19453, 2031, 29074, 6841, 54516, 38480, 32486, 50226, 27771, 65047, + 48750, 46925, 23550, 12936, 61725, 8960, 58747, 63394, 14362, 62625, 34672, + 44488, 36369, 18002, 52446, 56401, 23489, 16458, 32346, 61390, 63897, 44782, + 52399, 23980, 47161, 34397, 51454, 23096, 5915, 38087, 32330, 30759, 64907, + 23291, 57274, 50361, 2438, 65103, 15611, 35113, 14452, 24767, 47741, 6771, + 5464, 18028, 34414, 20216, 61370, 38822, 54651, 9997, 49885, 12194, 57514, + 54941, 23964, 25211, 42202, 62513, 1482, 50034, 15373, 29366, 6518, 62828, + 44943, 23540, 60872, 34821, 11471, 48374, 50550, 46184, 57887, 39127, 44717, + 57530, 55050, 24207, 18865, 16812, 54363, 24025, 27634, 53075, 56798, 11209, + 8542, 17612, 63460, 18319, 24223, 20119, 43846, 23677, 2043, 62607, 28177, + 14729, 63173, 3573, 14973, 24655, 53232, 45305, 16004, 29849, 30363, 56088, + 7304, 43785, 3745, 30406, 39539, 28636, 9826, 37167, 28079, 38691, 41687, + 52727, 36603, 6532, 55972, 58854, 40001, 27012, 31467, 10885, 51968, 40634, + 38334, 48923, 38917, 9345, 15379, 39211, 23137, 23680, 19685, 27357, 39568, + 30352, 1221, 9847, 32890, 64371, 24432, 59292, 29796, 8865, 50896, 13383, + 65165, 64813, 58863, 62256, 50694, 4005, 52913, 13044, 44650, 18022, 10963, + 40399, 16733, 42523, 25865, 14058, 57112, 54382, 50123, 49378, 47060, 26100, + 61428, 23399, 52180, 47432, 43529, 47807, 3548, 1649, 62506, 24732, 57335, + 12939, 2445, 60052, 56214, 21944, 22678, 2333, 38485, 29216, 57769, 27778, + 11103, 11657, 28153, 65248, 47062, 57037, 39819, 27645, 12723, 28614, 43831, + 4879, 29063, 9191, 56588, 3524, 50473, 29823, 13413, 35968, 13411, 30390, + 28453, 43423, 22630, 21359, 10937, 5891, 4024, 10313, 61875, 31116, 61714, + 57223, 57066, 35134, 3306, 38544, 58431, 39002, 29273, 25657, 36366, 36201, + 29920, 18817, 51234, 1743, 5610, 6535, 11243, 11750, 35869, 54518, 57026, + 31084, 17954, 17018, 31061, 9010, 34366, 46449, 46626, 14605, 15340, 28281, + 48176, 18299, 16830, 40421, 62857, 50759, 32586, 22972, 40189, 57097, 61732, + 51089, 50555, 20246, 19972, 6857, 6066, 8899, 33451, 41181, 60518, 10812, + 53543, 41959, 6898, 56889, 24460, 54529, 47261, 65479, 38784, 18860, 49388, + 44832, 36788, 23391, 55467, 45585, 593, 25372, 52439, 39129, 38297, 11694, + 42871, 52432, 37960, 5975, 24967, 6784, 22940, 13569, 15322, 30808, 41078, + 21779, 55278, 56941, 57162, 37426, 49844, 20751, 65095, 553, 22041, 57433, + 13702, 56756, 9738, 10730, 43825, 51206, 3846, 5067, 4530, 7474, 53004, 16880, + 13976, 48440, 64924, 41769, 53831, 18007, 25740, 53501, 5765, 16481, 9370, + 9215, 27715, 32600, 63059, 477, 56163, 6795, 36965, 59318, 61703, 36318, 28881, + 52037, 62255, 56436, 3350, 35307, 60908, 56557, 9511, 20001, 31208, 22330, + 15784, 29174, 51004, 29021, 49288, 30727, 14524, 40929, 61498, 6682, 60102, + 40195, 42501, 40427, 35669, 3208, 12501, 5997, 38962, 63611, 54147, 30767, + 50079, 10401, 48961, 57477, 7170, 49076, 42623, 62301, 62640, 906, 54476, + 29802, 44727, 51111, 61797, 32882, 30971, 6591, 54332, 26948, 1339, 15681, + 20937, 60583, 58110, 8648, 45273, 44179, 46977, 62778, 49195, 45342, 25689, + 41104, 13364, 29007, 32860, 8492, 48825, 16478, 3958, 33220, 18983, 56898, + 13293, 33388, 57384, 20773, 57702, 44664, 6798, 24610, 38836, 15132, 39434, + 41898, 33155, 12551, 28531, 58476, 29132, 56174, 22516, 35582, 12646, 33909, + 58087, 35818, 56124, 37228, 24483, 30578, 28958, 12868, 32882, 59585, 39454, + 5929, 6920, 56966, 56742, 62425, ])) .unwrap(), - c: 255, + c: 147, + }, + VarTestStruct { + a: 25233, + b: List::::try_from(Vec::::from_iter([ + 47297, 16490, 46876, 14434, 59976, 18686, 52905, 35542, 53890, 62146, 7934, + 42139, 27861, 6454, 12550, 56788, 34173, 60275, 52163, 43444, 31478, 10378, + 39625, 46265, 46166, 49816, 31867, 16558, 25895, 2996, 55050, 24105, 17354, + 47100, 46836, 11416, 32905, 40733, 12316, 5906, 22671, 12926, 61635, 45033, + 20928, 29922, 49327, 25439, 18241, 2307, 64858, 36404, 63027, 54157, 30849, + 7651, 28544, 27353, 50876, 55798, 7487, 29320, 14233, 50164, 35351, 25869, + 7981, 57499, 62035, 55646, 24474, 65453, 3655, 42375, 63330, 39055, 31017, 840, + 55732, 16969, 4853, 42838, 17024, 62107, 53038, 17328, 42412, 23061, 63323, + 4196, 43417, 52117, 13454, 34855, 2009, 16955, 28149, 18381, 12658, 24321, + 45656, 43998, 32456, 53105, 32548, 46839, 52041, 31061, 1809, 6065, 28847, + 58331, 58188, 36887, 44225, 5122, 14080, 17057, 31036, 62287, 29583, 35836, + 63282, 1474, 10386, 64844, 28127, 1719, 30772, 4014, 8815, 6298, 13413, 63307, + 42025, 33081, 26099, 10021, 50075, 13997, 30351, 52470, 31694, 24331, 16702, + 54619, 18707, 16071, 60574, 55181, 48416, 19776, 63349, 22894, 61573, 18314, + 63100, 27827, 58132, 30545, 57340, 18305, 30266, 28865, 22379, 4022, 62071, + 11734, 54899, 37941, 19254, 50153, 46645, 33839, 5023, 18917, 15599, 49432, + 10423, 29690, 58396, 11326, 52348, 60105, 37951, 16837, 17482, 41954, 56376, + 57039, 27662, 40843, 35098, 59637, 16114, 37994, 58016, 39165, 11107, 841, + 56817, 41740, 31991, 17304, 34550, 55282, 61214, 2295, 64467, 20625, 23285, + 33085, 15160, 32987, 26524, 16565, 28706, 61070, 62335, 11617, 62611, 55822, + 8372, 45841, 18377, 8438, 52095, 19900, 36093, 31518, 47210, 1526, 47603, + 32826, 39037, 12709, 37301, 59542, 65456, 65337, 10147, 21680, 28023, 56695, + 12784, 46084, 32953, 328, 55871, 27257, 13978, 12214, 25991, 60306, 3121, + 11520, 19360, 55903, 54509, 58395, 12310, 55498, 1448, 2624, 51507, 59785, + 35092, 14688, 39810, 21056, 36088, 8398, 16828, 9132, 12606, 63082, 40854, + 14528, 19130, 54996, 30388, 26490, 32371, 50064, 50662, 42283, 23909, 54985, + 29822, 47740, 8322, 8262, 57203, 29546, 29668, 22812, 38039, 38031, 61257, + 34499, 25237, 47820, 21886, 50805, 30225, 42457, 16584, 37790, 28103, 12211, + 21345, 37100, 16492, 51591, 46750, 58467, 15613, 9071, 57201, 18426, 37422, + 25951, 59194, 8582, 44849, 28287, 38117, 43390, 31852, 27521, 64594, 36274, + 15559, 49432, 29181, 5730, 8395, 45237, 14886, 3215, 11421, 63038, 52614, 5042, + 55608, 52450, 37806, 39645, 28224, 60154, 43119, 57382, 55658, 32623, 35363, + 57794, 58361, 41783, 44388, 13143, 32030, 20203, 54281, 22157, 21472, 8736, + 61490, 4025, 6012, 62445, 58407, 50014, 49277, 25469, 48941, 17471, 47128, + 17066, 60189, 22970, 37698, 37864, 31339, 27600, 43300, 47458, 50985, 3122, + 27897, 45397, 19383, 7347, 13520, 25565, 26745, 17977, 31869, 39374, 28124, + 721, 18530, 342, 13051, 61923, 3855, 29524, 53902, 45108, 47878, 9159, 17734, + 13466, 27446, 42308, 53489, 40346, 26062, 25719, 54361, 60254, 7861, 22122, + 62538, 27201, 58681, 15638, 51115, 18291, 5672, 10203, 25051, 49872, 6928, + 24773, 25500, 39825, 30848, 17685, 26323, 3032, 30173, 14457, 29642, 23807, + 11328, 16277, 33100, 40931, 12873, 12227, 33581, 52984, 15066, 37054, 33862, + 32543, 23127, 18356, 1858, 30829, 51568, 14495, 2640, 34734, 62460, 13191, + 37284, 56382, 65385, 52698, 36788, 33235, 18878, 50262, 47475, 52151, 50523, + 42583, 6818, 47993, 58869, 59933, 743, 5032, 39184, 53906, 2395, 449, 8013, + 56728, 14566, 27334, 33037, 61939, 64455, 14861, 47446, 7011, 12345, 59934, + 49485, 24984, 26723, 59873, 65392, 43725, 63231, 1484, 16297, 33744, 10662, + 48257, 65058, 6545, 56068, 38160, 34417, 15743, 22765, 5873, 36812, 40808, + 19041, 58234, 18120, 59080, 57057, 56989, 59172, 65367, 39304, 62737, 25324, + 3813, 17398, 50801, 60904, 32965, 4548, 37439, 5998, 53473, 10326, 39159, + 63603, 27590, 60297, 18437, 40221, 20300, 29959, 55452, 61767, 54906, 61447, + 30334, 487, 6176, 12970, 26687, 2219, 46565, 55590, 37369, 61653, 17292, 15404, + 28037, 34879, 59090, 58189, 37146, 39289, 32104, 59106, 36584, 43939, 56637, + 13533, 44645, 57578, 34027, 30793, 56916, 56858, 63385, 31733, 7768, 56488, + 35521, 31179, 49861, 45155, 33577, 23244, 15418, 64584, 20739, 64411, 34059, + 3155, 20341, 44392, 57595, 2238, 52319, 11167, 44065, 7739, 33438, 62651, + 58152, 12637, 10162, 38016, 55444, 35498, 1776, 53995, 55151, 9860, 50828, + 39846, 32519, 15039, 22242, 1408, 58097, 42437, 57798, 47613, 10416, 21839, + 49283, 12474, 5553, 3063, 37432, 26476, 28180, 56248, 40458, 8372, 19692, 1740, + 27670, 40456, 8994, 8527, 48204, 7690, 40755, 9323, 37950, 253, 5965, 40263, + 58589, 17811, 12853, 21386, 26749, 26033, 36007, 48257, 14967, 47304, 62240, + 40866, 63732, 43018, 41995, 32104, 13974, 51311, 9851, 11777, 39867, 52546, + 19088, 20015, 16594, 49254, 62473, 29279, 41694, 38257, 39659, 65145, 5949, + 23520, 11822, 20655, 55952, 20228, 41403, 32749, 49884, 21642, 19935, 29242, + 29710, 8515, 40312, 41324, 57890, 27224, 47955, 53368, 30090, 33816, 2239, + 27409, 3065, 18242, 48535, 56868, 12100, 571, 3639, 59905, 48489, 55401, 49187, + 2302, 914, 48951, 64645, 58366, 37841, 48833, 28712, 26433, 51940, 37757, + 18044, 21658, 54295, 24766, 19918, 1934, 41025, 17130, 12387, 63846, 54711, + 30267, 40658, 3645, 18071, 55870, 2075, 37734, 1889, 58908, 37826, 2301, 7373, + 6256, 29956, 39147, 48746, 7523, 3918, 21983, 56639, 41908, 46343, 24019, + 43717, 45597, 54500, 45369, 64794, 51619, 27342, 57138, 14104, 64745, 32442, + 60083, 39249, 28754, 43156, 15038, 47370, 24344, 31286, 49708, 31360, 10422, + 41394, 12117, 57430, 56285, 41688, 19010, 35437, 18918, 59151, 27131, 49205, + 26134, 58797, 2844, 22194, 52590, 42833, 39403, 35383, 38013, 17522, 42441, + 32007, 33073, 41469, 6351, 42379, 61175, 43042, 59429, 31180, 47950, 15901, + 40015, 41723, 56784, 53325, 38700, 23600, 34006, 35203, 27692, 61588, 55278, + 17482, 47141, 56412, 36071, 57706, 60945, 33647, 7738, 38128, 58432, 12463, + 42864, 3738, 12734, 52176, 26068, 32193, 38078, 49841, 25355, 28916, 65516, + 40322, 52189, 33877, 7886, 49477, 49593, 57477, 11904, 33951, 43112, 21849, + 8963, 20985, 34414, 25506, 59206, 61670, 49924, 43620, 14109, 59834, 36437, + 1357, 44938, 58300, 53424, 51048, 7622, 7207, 62071, 16084, 29282, 26143, + 47976, 57684, 63378, 38521, 7145, 63359, 14438, 44028, 24900, 33799, 54049, + 1058, 9573, 34224, 48175, 16842, 26172, 12160, 33149, 24383, 25754, 29135, + 25261, 44387, 601, 9649, 44749, 47256, 33629, 36804, 45071, 20925, 7179, 2961, + 34170, 20691, 21828, 57792, 50851, 33553, 12051, 3437, 63853, 33510, 51536, + 812, 56029, 19496, 53784, 10945, 54152, 46354, 16822, 11521, 25521, 57291, + 44074, 56589, 7696, 47238, 38422, 128, 30555, 34576, 45760, 23625, 14201, + 59861, 45825, 32478, 19431, 36634, 13304, 63936, 54325, 15159, 43583, 33923, + 23346, 15538, 39697, 23928, 27618, 35253, 17802, 18782, 1885, 6766, 39663, + 8960, 44945, 54220, 12113, 39765, 21884, 24868, 13089, 11077, 10643, 44397, + 4769, 37780, 16483, 4825, 26581, 62372, 12716, 37193, 8446, 64329, 57747, + 53148, 15916, 17895, 57125, 47188, 64611, 13150, 48768, 17788, 51180, 63494, + 19391, 4062, 11525, 64498, 16275, 38102, 11672, 51183, 49513, 65084, 37895, + 26572, + ])) + .unwrap(), + c: 0, }, ]) .unwrap(), }; let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_4/serialized.ssz_snappy", - ); + let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_chaos_2/serialized.ssz_snappy"); assert_eq!(encoding, expected_encoding); let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); @@ -11249,366 +6853,182 @@ fn test_containers_complex_test_struct_max_4() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("869070dd164bec9a6a980ba72829d21004a9df8268033a5f2dc1aa606a43158a"); + root_from_hex("0xb4e8f7ebdf3579a50da0cbf6eb889fafa7daef0efffb0fc165d76d88dff40bf4"); assert_eq!(root, expected_root); } #[test] -fn test_containers_single_field_test_struct_max_chaos_1() { - let mut value = SingleFieldTestStruct { a: 255 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_chaos_1/serialized.ssz_snappy"); - assert_eq!(encoding, expected_encoding); +#[should_panic] +fn test_containers_complex_test_struct_lengthy_last_offset_11_overflow() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_last_offset_11_overflow/serialized.ssz_snappy"); - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); + deserialize::(&encoding); +} - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); +#[test] +#[should_panic] +fn test_containers_complex_test_struct_lengthy_last_offset_2_overflow() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_last_offset_2_overflow/serialized.ssz_snappy"); + + deserialize::(&encoding); } #[test] -fn test_containers_complex_test_struct_lengthy_chaos_0() { - let mut value = ComplexTestStruct { - a: 6800, - b: List::::try_from(Vec::::from_iter([ - 36829, 20943, 41561, 60705, 6836, 19276, 13404, 15270, 24787, 32752, 38430, 8083, - 34903, 14442, 11739, 63845, 58058, 22059, 39304, 25491, 5073, 6016, 23531, 28902, - 42251, 34597, 49664, 5043, 51205, 5299, 52893, 2709, 23188, 63532, 19881, 29182, 7813, - 44835, 60112, 13706, 3889, 8031, 36192, 28397, 21513, 26621, 24371, 20825, 36012, - 41472, 34720, 878, 49916, 55632, 7699, 57365, 55101, 55073, 8349, 54708, 5482, 50387, - 59119, 34469, 52095, 13939, 25469, 24090, 8092, 51886, 21020, 36989, 42388, 5825, - 12913, 54900, 37947, 6656, 61583, 29576, 58879, 23340, 32777, 58812, 6045, 62477, - 33289, 15339, 569, 22264, 26352, 26854, 41491, 30478, 48681, 17608, 47905, 10185, - 14841, 244, 42227, 14997, 52644, 1462, 4781, 4276, 5780, 27685, 58146, 40039, 16054, - 18824, 35159, 8918, 35585, 54400, 23883, 29802, 38038, 29470, 21839, 48288, 4225, - 57722, 17192, 10239, 10610, 34360, - ])) - .unwrap(), - c: 87, - d: List::::try_from(Vec::::from_iter([ - 147, 28, 238, 175, 199, 176, 239, 194, 18, 154, 240, 144, 93, 255, 16, 103, 173, 97, - 49, 254, 180, 43, 120, 14, 230, 175, 154, 167, 185, 103, 73, 237, 48, 127, 156, 94, - 119, 193, 74, 116, 126, 117, 235, 2, 216, 92, 188, 246, 13, 238, 90, 215, 183, 200, 96, - 72, 154, 138, 194, 197, 41, 224, 120, 190, 224, 38, 91, 43, 199, 217, 179, 149, 184, - 230, 32, 21, 15, 225, 41, 64, 58, 167, 34, 224, 203, 80, 140, 44, 107, 121, 231, 170, - 78, 101, 12, 43, 142, 176, 8, 239, 165, 77, 237, 197, 110, 100, 229, 128, 16, 183, 171, - 11, 148, 246, 171, 5, 77, 121, 20, 146, 164, 97, 113, 48, 148, 156, 23, 252, 158, 42, - 93, 76, 90, 161, 53, 160, 120, 181, 38, 25, 4, 162, 202, 162, 79, 231, 90, 13, 238, - 109, 51, 194, 175, 187, 106, 86, 117, 184, 195, 134, 191, 74, 139, 190, 157, 43, 68, - 22, 66, 65, 142, 201, 243, 100, 39, 225, 90, 90, 108, 126, 0, 137, 187, 99, 121, 136, - 26, 87, 147, 5, 185, 150, 178, 110, 231, 173, 179, 79, 234, 186, 132, 233, 253, 0, 33, - 60, 57, 252, 168, 223, 10, 217, 66, 215, 101, 54, 170, 0, 4, 176, 173, 67, 107, 222, - 33, 133, 115, 231, 115, 189, 31, 251, 32, 166, 105, 149, 207, 162, 205, 197, 186, 107, - 233, 136, 117, 129, 241, 61, 80, 86, 63, 27, 103, 13, 34, 7, +#[should_panic] +fn test_containers_complex_test_struct_lengthy_last_offset_7_overflow() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_last_offset_7_overflow/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_lengthy_offset_11_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_11_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_lengthy_offset_11_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_11_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_lengthy_offset_2_minus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_2_minus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_lengthy_offset_2_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_2_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_lengthy_offset_2_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_2_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_lengthy_offset_7_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_7_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_lengthy_offset_7_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_7_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +fn test_containers_complex_test_struct_max() { + let mut value = ComplexTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, ])) .unwrap(), + c: 255, + d: List::::try_from(Vec::::from_iter([255])).unwrap(), e: VarTestStruct { - a: 52897, + a: 65535, b: List::::try_from(Vec::::from_iter([ - 57538, 46153, 13864, 55980, 36298, 42375, 57333, 13823, 11080, 15719, 54365, 64655, - 17454, 50910, 14109, 30664, 45163, 54393, 40565, 1346, 15357, 12532, 51876, 19481, - 36026, 43931, 33409, 46595, 20759, 9753, 45390, 244, 57398, 59979, 31862, 20241, - 33359, 60686, 45041, 28453, 57529, 8261, 43545, 60077, 37757, 9334, 1504, 49579, - 30131, 32751, 65106, 19988, 58425, 56529, 45565, 18854, 39574, 54966, 28824, 26997, - 15596, 23761, 56917, 21503, 54743, 30367, 53952, 51841, 25202, 40259, 23196, 57645, - 29080, 6355, 54692, 22102, 10357, 49405, 14016, 39920, 39004, 53287, 20340, 31725, - 21882, 38632, 42915, 33059, 10498, 23590, 17807, 17784, 12910, 32269, 47, 24852, - 35432, 46766, 30647, 62137, 51337, 32141, 59655, 61258, 40991, 59415, 32201, 53768, - 60841, 42380, 48123, 3995, 55160, 14602, 5920, 45634, 1287, 33765, 63007, 30476, - 5921, 50441, 21565, 23326, 4899, 59239, 25447, 1994, 23235, 28842, 12210, 39894, - 51086, 55167, 13509, 62490, 47804, 46432, 13459, 28650, 26110, 849, 29944, 21814, - 12664, 1082, 731, 34974, 22476, 13722, 57896, 50355, 55205, 17247, 13256, 41717, - 32106, 28750, 53621, 14095, 2001, 21525, 33400, 1057, 39725, 10529, 16286, 9802, - 54791, 18799, 5923, 34001, 11721, 13668, 23042, 37780, 56, 40943, 19303, 33351, - 805, 25053, 43037, 14950, 43590, 3572, 40973, 62838, 52771, 30449, 61766, 2946, - 28684, 30292, 41403, 2977, 29432, 29157, 35240, 57947, 26586, 14087, 27399, 12259, - 61008, 29356, 45020, 56112, 19173, 23098, 30061, 47842, 60665, 4881, 30041, 35263, - 55351, 64447, 5871, 49427, 4316, 9872, 37374, 11511, 45625, 46598, 32537, 34702, - 25793, 51440, 11534, 3964, 21046, 34739, 22367, 21205, 52363, 29025, 21790, 25975, - 59790, 8779, 27475, 60566, 64297, 16572, 18891, 9106, 63597, 27230, 38630, 48535, - 28614, 44789, 3985, 12322, 55204, 62638, 47762, 27809, 38501, 18, 12944, 38846, - 58215, 57300, 61546, 49560, 22417, 38185, 60067, 37445, 51305, 19772, 61808, 17533, - 48168, 49689, 32242, 53591, 17598, 52701, 63333, 13130, 40425, 43631, 3626, 27195, - 32583, 56846, 2347, 9027, 264, 35874, 54691, 35426, 51718, 5360, 28309, 5080, - 29974, 37086, 10894, 5618, 22896, 49428, 46359, 16199, 2552, 23143, 40465, 26614, - 52106, 63071, 21350, 13195, 6304, 60477, 34246, 7476, 25830, 38573, 45559, 37428, - 63645, 64024, 21871, 84, 59442, 28245, 29309, 36126, 1319, 15843, 25200, 33069, - 37609, 29816, 53400, 21354, 13050, 57573, 58238, 29716, 62701, 47626, 53435, 35397, - 27944, 49333, 6050, 63316, 44693, 29915, 48712, 37441, 10567, 39, 42099, 61403, - 52029, 4899, 44665, 27201, 57771, 43192, 38154, 54323, 47908, 36754, 39132, 30919, - 25993, 28543, 27197, 61479, 33201, 54018, 42783, 33407, 33219, 42436, 29562, 14132, - 13017, 6987, 17756, 22501, 47348, 36696, 62174, 33984, 23666, 43427, 53621, 32848, - 51887, 53435, 6409, 55570, 17000, 3524, 28141, 5100, 11882, 34313, 26068, 13143, - 42942, 8619, 52231, 17637, 39539, 18401, 55661, 35279, 15937, 43043, 17790, 26276, - 25323, 6725, 41662, 30419, 62612, 30045, 55819, 50116, 15889, 63377, 34229, 13984, - 13152, 58130, 1229, 1153, 24190, 53536, 35174, 58369, 50366, 17092, 21256, 18727, - 18160, 20315, 2132, 65264, 12333, 23524, 64750, 56546, 59440, 43049, 15083, 59149, - 19227, 17086, 57652, 58911, 57022, 56693, 31725, 44481, 18394, 19218, 24666, 34837, - 31582, 59757, 34055, 17417, 49457, 49217, 9836, 23118, 47592, 37017, 57832, 58077, - 36438, 64873, 6183, 14577, 11249, 19180, 51947, 22839, 4484, 5740, 15897, 39765, - 65133, 37749, 48408, 46160, 12284, 59102, 1663, 64294, 58550, 9859, 4209, 23120, - 42257, 46244, 46784, 37709, 21524, 10020, 5649, 14185, 27495, 52100, 55861, 39435, - 14583, 59522, 39942, 53219, 57171, 22382, 62877, 7019, 57610, 21115, 9954, 14082, - 55818, 50310, 36705, 20993, 65252, 19362, 57006, 47661, 4465, 43616, 12803, 54274, - 55540, 27448, 39736, 4094, 59949, 34319, 57221, 25768, 7279, 62176, 14292, 52168, - 59129, 33996, 60631, 48399, 2677, 61353, 60188, 21080, 31556, 26111, 30161, 42556, - 2183, 16129, 2273, 59218, 42404, 2745, 27499, 33082, 33667, 26193, 32896, 11953, - 31541, 46407, 10755, 55072, 22670, 8813, 45541, 40583, 1842, 7892, 31595, 11540, - 9020, 87, 15252, 55780, 46521, 61767, 58559, 17093, 63906, 23375, 48737, 4874, - 47690, 23332, 24979, 45041, 51030, 48804, 38918, 57437, 42468, 58537, 25906, 33036, - 6760, 51741, 53019, 52011, 29209, 23204, 36899, 56831, 38561, 40856, 53458, 58143, - 723, 43359, 65350, 47591, 45442, 31961, 56731, 1762, 63521, 15251, 29299, 43441, - 46612, 29330, 10929, 58165, 58808, 20932, 33775, 59904, 54978, 38415, 47839, 51959, - 10291, 43190, 27051, 48778, 41373, 23840, 17079, 33312, 18838, 65200, 36901, 19231, - 16256, 5783, 42490, 27467, 35972, 7802, 1546, 27070, 8738, 15326, 48250, 36469, - 7091, 56230, 55736, 44356, 38391, 26024, 52634, 28269, 24201, 30137, 59379, 25971, - 42912, 20564, 48104, 39042, 50008, 61430, 29391, 31500, 902, 51008, 33059, 18402, - 45011, 14367, 46586, 52981, 62440, 21919, 42894, 37712, 57883, 6968, 37110, 35941, - 56019, 11089, 16381, 2421, 22643, 37677, 23624, 51771, 17769, 7037, 11536, 46870, - 41876, 56872, 32972, 13216, 19298, 37856, 47357, 18178, 8111, 14856, 17806, 52965, - 21941, 19633, 36043, 32914, 7253, 55001, 773, 14698, 4592, 27702, 7140, 45399, - 28704, 2649, 56448, 53390, 28730, 54835, 12602, 469, 11568, 46397, 48653, 50397, - 22510, 50834, 50867, 10261, 39014, 24232, 30131, 18762, 60754, 52029, 24774, 50922, - 22860, 56048, 5717, 60845, 235, 64949, 43916, 37422, 6559, 2732, 61895, 2418, - 64448, 36828, 54582, 10602, 58840, 41906, 6299, 9640, 65098, 25540, 21303, 60074, - 42304, 24256, 2452, 34060, 13492, 60381, 13865, 45393, 62497, 8580, 57956, 740, - 62868, 56743, 44661, 53090, 12252, 44468, 41754, 35555, 22850, 57374, 9974, 26770, - 35311, 64606, 49948, 9966, 38080, 1549, 49713, 15898, 37459, 50666, 37759, 44825, - 44337, 50653, 46095, 42576, 41871, 35552, 6671, 11692, 62035, 16562, 49706, 47473, - 49602, 62115, 28265, 45687, 49177, 57850, 55322, 24563, 12193, 41716, 12757, 50238, - 49055, 61066, 33436, 18102, 17540, 15869, 26361, 64025, 64099, 58097, 42522, 47787, - 15572, 3496, 7587, 40535, 59823, 17473, 39390, 32235, 63408, 60300, 3979, 15343, - 42259, 8617, 6781, 58482, 6044, 9419, 57800, 8295, 16731, 36123, 51778, 63177, - 21258, 27164, 11294, 8994, 6069, 47955, 33507, 30025, 7278, 6106, 30788, 38937, - 7474, 55879, 38380, 14200, 41567, 17494, 6527, 64579, 39847, 60783, 56977, 42701, - 5743, 64552, 21185, 28881, 7027, 14069, 36775, 57815, 43144, 19578, 40497, 21033, - 11754, 40586, 47862, 42276, 26224, 38852, 50355, 46114, 18512, 4276, 15792, 44229, - 57433, 18711, 41024, 18129, 53606, 22921, 51621, 46635, 23410, 61990, 17006, 29511, - 32262, 39401, 24383, 41407, 15449, 38280, 20211, 380, 3770, 38462, 30172, 28008, - 37569, 11404, 43860, 23897, 58232, 26337, 61518, 20572, 53060, 30563, 11913, 1260, - 18826, 56364, 3636, 50608, 7444, 39192, 34444, 10585, 42043, 40965, 36796, 28985, - 40984, 34313, 41385, 14882, 58944, 63764, 44071, 37150, 20063, 6701, 54525, 2603, - 39516, 29664, 27931, 54316, 35337, 49269, 64349, 23533, 20243, 17618, 47554, 46238, - 20877, 61195, 39794, 54062, 18998, 2138, 44332, 10814, 23503, 40168, 52664, 10427, - 26935, 38958, 10249, 43556, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), - c: 197, + c: 255, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 126, b: 3435762523509387151, c: 3665221517 }, - FixedTestStruct { a: 243, b: 943513122303052545, c: 1401396655 }, - FixedTestStruct { a: 249, b: 8873799629985696120, c: 1314056729 }, - FixedTestStruct { a: 152, b: 3484830523848989111, c: 2938394908 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 50336, - b: List::::try_from(Vec::::from_iter([ - 41481, 27737, 20084, 21026, 51969, 22420, 56680, 44694, 34473, 8227, 26994, - 20777, 23402, 62830, 7234, 27458, 6656, 44260, 3196, 45565, 45086, 52477, 3041, - 40855, 56914, 18620, 21648, 5871, 46598, 21094, 25422, 30346, 2885, 33974, - 6795, 40002, 39064, 26623, 61564, 43313, 57302, 54238, 769, 34489, 41722, - 32632, 56982, 35153, 55466, 42379, 3727, 57323, 33312, 3970, 42909, 8109, 4483, - 26312, 63378, 50364, 6744, 39041, 58828, 34961, 17110, 63034, 2290, 33765, - 54708, 65397, 56768, 14224, 10424, 61820, 48868, 14028, 5048, 35846, 47220, - 6492, 8468, 15914, 30734, 8064, 17308, 59809, 24985, 46323, 941, 37939, 45853, - 50846, 13439, 5046, 56946, 24902, 48330, 51141, 42224, 12584, 10241, 46214, - 5541, 38933, 54853, 35632, 2811, 62290, 33498, 28989, 60803, 20380, 43960, - 45632, 22668, 27154, 36005, 6234, 10958, 42051, 19918, 13279, 49375, 47132, - 10247, 36361, 10247, 44350, 41520, 17877, 56449, 2551, 27877, 23014, 5437, - 49859, 20342, 64317, 45162, 29926, 9773, 8037, 21768, 38484, 63389, 61351, - 3525, 311, 32412, 22995, 33562, 57947, 41586, 57875, 47466, 40981, 63026, - 13179, 55931, 31646, 46317, 59022, 56146, 62761, 64166, 57367, 64643, 52313, - 2840, 43943, 58314, 52000, 64264, 22359, 40941, 26086, 25640, 28390, 55285, - 30615, 25002, 54095, 23386, 49764, 26003, 20586, 53546, 6018, 12581, 54375, - 38920, 51490, 45080, 33968, 16939, 6486, 2147, 20508, 23264, 13486, 15944, - 10011, 42915, 5766, 20217, 42913, 25524, 3945, 60919, 12868, 27094, 45567, - 33602, 41887, 9763, 62254, 19498, 8487, 4167, 10929, 41289, 62807, 36484, - 33308, 21024, 34758, 21713, 22131, 7439, 59993, 12850, 49488, 15814, 32689, - 3637, 577, 60218, 9449, 52588, 46575, 51382, 50716, 28851, 13972, 23467, 20387, - 32593, 45932, 59637, 25374, 18665, 3295, 8966, 58827, 3913, 31712, 53967, - 63564, 44062, 55667, 29838, 41747, 64053, 13348, 56221, 37374, 59539, 24983, - 55582, 30848, 46270, 60180, 61578, 26992, 9025, 46758, 14754, 45813, 31301, - 58000, 40014, 33515, 50300, 39938, 15729, 42035, 45056, 11714, 17851, 2986, - 24049, 39804, 58627, 26225, 23216, 30525, 36946, 43518, 1628, 6416, 51576, - 22120, 42294, 19989, 12303, 13847, 57549, 5738, 14125, 12629, 54480, 42206, - 57669, 17084, 22136, 6763, 54225, 24358, 51680, 38996, 53342, 16734, 9314, - 58350, 64027, 43818, 32267, 15237, 41158, 38437, 47038, 44941, 34323, 41321, - 44174, 23597, 35601, 6795, 62710, 16304, 9705, 14417, 28029, 57617, 27980, - 21503, 29138, 30468, 21943, 39184, 33627, 43616, 10109, 44708, 48381, 32484, - 23136, 21738, 14522, 48177, 27101, 56348, 54765, 22027, 51756, 40697, 9136, - 4050, 29596, 39490, 40285, 35449, 33861, 65218, 8129, 34936, 42569, 14197, - 36825, 1909, 34790, 62070, 31076, 26112, 45098, 52223, 58189, 60262, 44948, - 57936, 39041, 47582, 35713, 10043, 60405, 9332, 27122, 57361, 39723, 45292, - 16624, 4845, 50847, 62786, 15510, 24290, 33327, 5634, 49016, 37186, 5299, - 30162, 10354, 60243, 25401, 36804, 30411, 15642, 57393, 38502, 41987, 12828, - 44864, 52293, 24681, 20206, 21329, 33570, 27214, 47872, 42774, 19639, 24645, - 59075, 39007, 31375, 59269, 62154, 50855, 32775, 16062, 14162, 10139, 18647, - 23976, 48074, 59390, 45356, 44707, 54370, 19190, 61403, 51969, 59983, 5188, - 54232, 31932, 41997, 21254, 44880, 10259, 44381, 37708, 39509, 27342, 43999, - 39001, 17064, 41439, 26094, 52176, 43007, 49596, 24015, 16595, 8958, 5910, - 25446, 41820, 24403, 35373, 52975, 13152, 26120, 26500, 21467, 339, 55186, - 49857, 45045, 26512, 43217, 6376, 56572, 17898, 9479, 20332, 25481, 33820, - 35678, 51131, 14887, 12098, 64416, 7117, 55136, 30812, 10866, 62239, 37613, - 25821, 40355, 38241, 29897, 24572, 39619, 63710, 6458, 36918, 57755, 18396, - 22804, 23668, 51740, 48652, 6380, 3005, 20755, 6534, 6727, 19158, 42965, 11456, - 56083, 56876, 32990, 41566, 56770, 57696, 32393, 43651, 31740, 47496, 60289, - 8600, 57421, 60943, 30738, 29042, 25052, 39740, 48585, 33450, 26571, 9520, - 33788, 29259, 14498, 54760, 40396, 11318, 26635, 14225, 18476, 39847, 48006, - 1610, 22901, 10652, 2536, 30092, 39904, 4534, 40858, 64330, 9816, 24870, 17792, - 58389, 29188, 20670, 65417, 33353, 31543, 64041, 32394, 41910, 58920, 17712, - 32091, 43192, 31353, 2493, 16626, 32525, 61943, 48428, 15825, 34080, 48587, - 58219, 49198, 58021, 44104, 56503, 10617, 6998, 49926, 32334, 18632, 25389, - 32723, 57677, 25747, 4352, 63629, 26905, 26795, 32938, 20951, 46511, 53508, - 46031, 27214, 22460, 30199, 23778, 35464, 48128, 44573, 31645, 64267, 27629, - 58246, 15769, 22646, 37281, 23809, 54766, 29176, 31818, 61933, 51038, 35692, - 25234, 1977, 53744, 18274, 37042, 2688, 3384, 46261, 53731, 580, 6383, 54920, - 43083, 10414, 22199, 61537, 36215, 43521, 14929, 10204, 59884, 4278, 10551, - 46398, 43195, 46815, 52166, 54649, 41131, 56367, 34543, 30682, 6162, 58867, - 26826, 24077, 31553, 31691, 62437, 2057, 39778, 59423, 48469, 5599, 14123, - 29883, 36662, 14614, 12689, 17740, 57079, 47637, 43695, 49643, 2666, 30843, - 26536, 6226, 41490, 41961, 8781, 19368, 44621, 4100, 63166, 42543, 21247, - 11642, 59385, 48985, 13704, 47856, 52796, 19489, 20381, 38607, 38760, 9665, - 44691, 38974, 33168, 16765, 27020, 60695, 28191, 18919, 37477, 22590, 43878, - 29895, 17425, 25370, 35650, 55797, 34845, 35460, 26752, 59997, 28222, 49610, - 55218, 3111, 13350, 44623, 11603, 48690, 19387, 64758, 4615, 56336, 10868, - 52915, 14575, 31302, 54181, 14522, 17348, 58219, 26462, 18473, 28637, 27782, - 21014, 61134, 63137, 36649, 44959, 902, 42869, 62507, 65182, 57335, 5583, - 45386, 907, 62158, 58919, 28197, 7234, 56068, 49282, 37296, 64144, 43871, 7137, - 32463, 11718, 22487, 52467, 62049, 46149, 40010, 59060, 55233, 64648, 59852, - 38718, 43304, 38505, 1506, 25837, 3633, 29460, 36739, 21697, 11212, 28268, 905, - 32385, 49208, 21787, 64179, 18365, 40892, 22696, 7, 10678, 43456, 6352, 43299, - 56003, 9178, 49726, 35269, 47738, 25250, 4834, 33669, 34968, 30302, 18240, - 22323, 64336, 3177, 11394, 62862, 19004, 56129, 10729, 22986, 52891, 39020, - 1316, 26410, 11174, 16057, 56272, 11473, 543, 35315, 43523, 45592, 31036, - 44813, 23829, 33573, 58271, 44827, 46665, 5549, 41645, 9291, 12457, 361, 27355, - 49808, 44918, 27122, 4824, 4208, 63233, 43410, 37958, 30595, 6678, 7656, 2571, - 22841, 26542, 11344, 10069, 23671, 28739, 15127, 14433, 54107, 31398, 59257, - 18365, 4846, 5175, 19468, 52944, 60332, 14373, 9433, 41176, 41501, 32425, - 34284, 731, 62439, 36099, 42797, 34759, 14334, 7952, 1317, 19713, 63663, 7172, - 31151, 60429, 57584, 214, 52931, 48186, 53899, 30507, 37952, 53545, 6237, - 63944, 13886, 19542, 44271, 30112, 11246, 54657, 63817, 55875, 20147, 53008, - 29243, 14010, 60198, 48824, 55707, 53591, 50976, 55565, 20583, 3444, 64533, - 14095, 20703, 25820, 33160, 33611, 60794, 29095, 36456, 28814, 12046, 3282, - 50130, 12495, 59043, 3592, 20409, 63628, 47165, 53808, 42900, 54119, 40716, - 22081, 59737, 42239, 35456, 1080, 17474, 1231, 45216, 46169, 53755, 11140, - 51210, 42016, 21635, 41091, 35743, 63746, 26755, 36460, 20084, 39803, 34379, - 65334, 32831, 14886, 12586, 24969, 28481, 59297, 3126, 62524, 42587, 34177, - 61156, 27477, 61815, 1175, 30208, 13562, 49811, 38845, 49723, 12590, 5231, - 4168, 7223, 14124, 5525, 55720, 25451, 23462, 17252, 30929, 16276, - ])) - .unwrap(), - c: 88, + a: 65535, + b: List::::try_from(Vec::::from_iter([65535, 65535, 65535, 65535])) + .unwrap(), + c: 255, }, VarTestStruct { - a: 22996, + a: 65535, b: List::::try_from(Vec::::from_iter([ - 18049, 23381, 17471, 45440, 57003, 19762, 1146, 5298, 31435, 19141, 37079, - 46179, 38144, 54491, 65355, 15320, 20738, 17594, 44000, 5057, 19754, 7417, - 50377, 35990, 16560, 3769, 59936, 19996, 6403, 39, 27926, 36412, 35110, 22053, - 16664, 13243, 11743, 11678, 33374, 20604, 64814, 17539, 53250, 60055, 9782, - 27275, 9256, 49760, 2784, 10915, 34573, 7116, 38999, 8380, 18529, 9618, 11993, - 17521, 18424, 23233, 10988, 60760, 5441, 9366, 7987, 43256, 39661, 64034, - 51113, 27896, 20361, 62133, 42626, 10437, 30389, 19224, 15057, 35860, 62585, - 36401, 8704, 36561, 43495, 20925, 54259, 52245, 29072, 56121, 60476, 33825, - 35465, 41980, 46222, 9012, 20564, 12506, 7761, 33331, 28693, 51259, 42950, - 30572, 60064, 12172, 5484, 13074, 13143, 36910, 6527, 60740, 64254, 47001, - 11916, 43588, 64673, 33500, 14914, 17681, 24475, 13914, 16719, 40993, 40475, - 55166, 64014, 45905, 42475, 23460, 38117, 4587, 895, 2326, 11193, 46559, 11216, - 62032, 4089, 24114, 36342, 20877, 12878, 56517, 40994, 15028, 13450, 37507, - 20410, 15713, 49077, 60011, 12838, 42922, 59323, 21984, 16491, 20728, 25248, - 57325, 27797, 34395, 42472, 21682, 6506, 10690, 55293, 17920, 61234, 26703, - 43801, 57234, 38746, 31090, 16945, 33394, 29751, 38441, 23998, 52746, 32254, - 2238, 9098, 28753, 11040, 42409, 23789, 27113, 43776, 22048, 13908, 30110, - 38377, 47052, 124, 56943, 33216, 19738, 63166, 35926, 11960, 10922, 22838, - 3927, 59670, 32779, 45082, 22897, 11521, 29993, 5746, 27439, 59124, 8602, - 42013, 9051, 43411, 50527, 62677, 58522, 43530, 33389, 38392, 25685, 20010, - 27089, 23352, 49737, 38733, 30324, 9909, 17693, 33673, 3832, 56071, 21673, - 22218, 37948, 6129, 40196, 38561, 19638, 60330, 4942, 10562, 61928, 44974, - 30688, 21606, 50982, 3288, 42524, 3954, 63738, 54858, 30147, 54046, 59825, - 42154, 17199, 2709, 890, 216, 53128, 31504, 5250, 3718, 17010, 65391, 16872, - 20324, 11424, 45905, 27402, 9245, 16750, 44321, 58299, 37757, 5153, 57972, - 57460, 47309, 304, 29009, 34047, 54575, 56167, 2803, 2784, 31580, 58798, 7761, - 21686, 59788, 24015, 47189, 58653, 41579, 63537, 20944, 38658, 47770, 32134, - 13101, 4632, 54424, 47049, 49011, 33149, 20279, 1850, 27309, 65263, 24284, - 43256, 32114, 61632, 61286, 65353, 46712, 57359, 35497, 29568, 28945, 31660, - 44675, 64118, 29550, 53699, 16089, 8963, 52213, 65052, 48537, 3836, 33223, - 56379, 52299, 17272, 10640, 25805, 29294, 59876, 62547, 53795, 61993, 63083, - 40306, 41983, 58976, 33618, 50995, 33751, 40168, 29155, 14331, 43784, 8930, - 5736, 39730, 37753, 11721, 37523, 40832, 42702, 47244, 26455, 1893, 60026, - 35092, 12176, 58080, 60114, 12191, 39402, 50038, 39761, 27631, 48221, 50090, - 48585, 64013, 37974, 42466, 33217, 34836, 18111, 48581, 28329, 37779, 33176, - 29837, 28962, 34589, 64831, 32528, 63618, 65438, 26082, 36575, 44584, 10197, - 36850, 6044, 8199, 22109, 52, 41499, 65145, 29577, 38621, 57327, 40557, 39791, - 753, 48835, 11905, 57871, 30277, 53936, 12236, 28873, 54182, 25200, 8446, - 34870, 30242, 62865, 51522, 56366, 3065, 31400, 19551, 11556, 59408, 5615, - 12582, 24498, 54755, 42472, 21195, 16326, 54331, 65266, 29584, 61222, 56993, - 42115, 52972, 6667, 43912, 33817, 28008, 53048, 63528, 57011, 46408, 48338, - 58493, 34007, 30151, 18788, 46177, 55648, 40571, 26545, 37588, 43300, 46262, - 1873, 12876, 14127, 10910, 2823, 12842, 58486, 52316, 35774, 26, 31375, 47605, - 47554, 15316, 7116, 50892, 63950, 33445, 39945, 63713, 16455, 56400, 8868, - 57496, 22285, 35320, 7177, 34525, 32373, 12834, 22014, 47938, 17303, 6127, 961, - 62843, 40607, 10177, 11589, 32421, 36699, 59894, 45500, 59696, 50021, 40614, - 46900, 3744, 953, 20234, 21249, 38554, 53119, 57265, 13226, 16341, 5973, 53646, - 20702, 41280, 37423, 25092, 17597, 19608, 50287, 50817, 8823, 50558, 54239, - 13944, 45784, 27839, 18239, 46712, 46121, 10838, 31446, 52864, 216, 9528, - 59986, 56031, 44275, 51788, 3264, 29146, 42579, 24586, 43887, 11508, 34377, - 19189, 2166, 48578, 7862, 57296, 48931, 19245, 12048, 58350, 1608, 56129, - 34373, 39019, 45323, 16377, 19248, 55893, 47104, 31725, 21500, 33340, 31829, - 25310, 28551, 23204, 44429, 4425, 27277, 25834, 59350, 4016, 63025, 47800, - 35371, 52498, 49368, 36810, 41311, 17731, 11559, 64562, 7348, 21347, 45127, - 46204, 30559, 57169, 29224, 36066, 59203, 61361, 33731, 31868, 20145, 12301, - 62127, 12725, 15930, 13345, 15872, 52319, 19471, 17735, 25297, 10204, 41635, - 40979, 55644, 33744, 23971, 11894, 17344, 34128, 51349, 33753, 6618, 20687, - 30357, 46385, 2803, 16401, 1161, 60205, 64095, 64526, 40561, 34386, 9544, - 26331, 55185, 35941, 56782, 12164, 23111, 24234, 51813, 9740, 22359, 28008, - 29188, 29153, 54340, 12390, 44524, 46328, 22548, 40699, 54388, 26513, 38042, - 58877, 8718, 24771, 41097, 24974, 59710, 13356, 47617, 55333, 8105, 37891, - 17996, 27033, 39839, 28651, 61209, 4112, 43863, 15082, 10328, 11765, 8728, - 46834, 64955, 60454, 48326, 65245, 568, 4982, 29946, 43871, 62720, 46653, - 47687, 13622, 44050, 41265, 9956, 39928, 28294, 61047, 57822, 38884, 59847, - 63234, 57966, 52652, 23106, 55983, 481, 21981, 38426, 6213, 41817, 47510, - 33644, 17836, 25946, 41968, 742, 25176, 8591, 11904, 43546, 42132, 12860, - 39035, 50949, 4252, 63926, 24871, 25530, 21401, 48368, 30214, 31948, 63551, - 65114, 41704, 51066, 28449, 34326, 12318, 63015, 50072, 31756, 62782, 408, - 57460, 47060, 57277, 54241, 30820, 26351, 1855, 12205, 29938, 52856, 26712, - 44365, 42671, 46560, 59494, 62885, 40630, 39527, 21494, 2058, 48705, 61846, - 12495, 31765, 52685, 4901, 35146, 33950, 39003, 38303, 12939, 58443, 41101, - 57476, 11428, 12070, 61697, 62659, 60093, 35708, 46926, 23641, 42455, 12611, - 36082, 6754, 24172, 2821, 1285, 11065, 2278, 24610, 16763, 45022, 59164, 17484, - 53068, 54584, 18777, 64296, 55866, 26810, 63730, 11251, 61573, 15781, 54778, - 25317, 29879, 21001, 32984, 4191, 6639, 23044, 7807, 36069, 29551, 57682, - 20968, 8524, 31141, 8427, 10177, 21973, 35541, 56457, 21691, 51618, 50699, - 45188, 52019, 63940, 33237, 7312, 5401, 9205, 44042, 13933, 50820, 48931, 7732, - 40235, 59971, 49621, 13121, 58870, 34002, 56564, 6746, 50677, 13671, 3253, - 61656, 58, 14136, 2355, 18156, 38457, 18192, 35451, 32230, 645, 48503, 636, - 34700, 50858, 2371, 10544, 43588, 43284, 35474, 22335, 62553, 50590, 39404, - 59335, 9423, 25854, 14475, 48491, 65104, 30232, 61102, 53388, 15004, 21505, - 62358, 35018, 8998, 57529, 1550, 21663, 48751, 27123, 27655, 34083, 65355, - 50673, 47149, 38904, 1604, 15246, 3784, 60125, 58625, 14541, 42132, 43782, - 21779, 39409, 50046, 11302, 3756, 38488, 62398, 41686, 41211, 26880, 44951, - 19333, 41869, 3229, 29642, 9879, 32909, 10118, 54204, 15907, 57210, 37963, - 35374, 64813, 28029, 5563, 16445, 54244, 53894, 671, 36325, 10310, 20705, - 18761, 46668, 43778, 9546, 55011, 6991, 14974, 9182, 65037, 1850, 44044, 29765, - 63468, 24683, 56028, 48246, 20911, 21101, 11311, 17191, 64980, 30874, 14576, - 22012, 64078, 36413, 11880, 18063, 47371, 5097, 43515, 9024, 22710, 16367, - 63977, 1174, 59415, 28548, 47111, 30374, 43806, 983, 58518, 10557, 23885, 2605, - 25523, 2686, 40527, 6091, 23542, 15116, 53968, 43868, 12012, 4870, 64060, 331, - 43823, 47250, 9293, 33457, 40166, 48356, 54043, 50596, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), - c: 54, + c: 255, }, ]) .unwrap(), }; let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_chaos_0/serialized.ssz_snappy"); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max/serialized.ssz_snappy", + ); assert_eq!(encoding, expected_encoding); let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); @@ -11616,46 +7036,170 @@ fn test_containers_complex_test_struct_lengthy_chaos_0() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("079ed404b123f765913f7fddd43bc35e06cbeb8a97c2058564434dd8cf513c3a"); + root_from_hex("0xeb868df5a7f8bf87bdca38c2aa78f9c1322892196dd0abc441231ac34b3aebb0"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_one_9() { +fn test_containers_complex_test_struct_max_0() { let mut value = ComplexTestStruct { - a: 32826, - b: List::::try_from(Vec::::from_iter([52269])).unwrap(), - c: 179, - d: List::::try_from(Vec::::from_iter([166])).unwrap(), + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, + d: List::::try_from(Vec::::from_iter([255])).unwrap(), e: VarTestStruct { - a: 47224, - b: List::::try_from(Vec::::from_iter([27133])).unwrap(), - c: 46, + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, + ])) + .unwrap(), + c: 255, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 190, b: 17267852126418429692, c: 1192183507 }, - FixedTestStruct { a: 86, b: 5812480785575976468, c: 517726582 }, - FixedTestStruct { a: 70, b: 14751118928048906008, c: 2949562141 }, - FixedTestStruct { a: 25, b: 6477487707159203533, c: 627300018 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 53608, - b: List::::try_from(Vec::::from_iter([33375])).unwrap(), - c: 209, + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, }, VarTestStruct { - a: 33550, - b: List::::try_from(Vec::::from_iter([39605])).unwrap(), - c: 19, + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_9/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -11664,93 +7208,203 @@ fn test_containers_complex_test_struct_one_9() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("b6a6dadc39093cfcbe17d99863ec39be349756cd0e156aa1ecf2edaa6823fab1"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_random_chaos_2() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, false, false]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([false, false, false, true, true]), - e: Bitvector::<8>::from_iter([true, true, true, true, false, true, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_random_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("c89390bf6b5c49e2c42be8203a79bdb6c67780ad00c1e649fea1255335f4244b"); + root_from_hex("0x9a7021a723498d5ae6cadbc025f7ff755e98438d410ce09fd55b27a9e6a25a5c"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_zero_chaos_1() { - let mut value = VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +fn test_containers_complex_test_struct_max_1() { + let mut value = ComplexTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), - c: 0, + c: 255, + d: List::::try_from(Vec::::from_iter([255])).unwrap(), + e: VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, + ])) + .unwrap(), + c: 255, + }, + VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_chaos_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: VarTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("037ec5030f962590e3fbdb61d5614e93129138f4fdf5a380dbca64d2a4ac7810"); + root_from_hex("0x822b36c8a4513b7c9c81f8100a99b1ca977fc64a180154af81c27af6ce6da5a8"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_max_3() { +fn test_containers_complex_test_struct_max_2() { let mut value = ComplexTestStruct { a: 65535, b: List::::try_from(Vec::::from_iter([ 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, + 65535, 65535, 65535, 65535, ])) .unwrap(), c: 255, @@ -11767,7 +7421,25 @@ fn test_containers_complex_test_struct_max_3() { 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), c: 255, @@ -11830,6 +7502,15 @@ fn test_containers_complex_test_struct_max_3() { 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, + }, + VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, @@ -11866,6 +7547,62 @@ fn test_containers_complex_test_struct_max_3() { .unwrap(), c: 255, }, + ]) + .unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x9660907d6be249c807c9910f05a030bf95e523742de605d1d71b6a73dd5d7697"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_complex_test_struct_max_3() { + let mut value = ComplexTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, + ])) + .unwrap(), + c: 255, + d: List::::try_from(Vec::::from_iter([255])).unwrap(), + e: VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ VarTestStruct { a: 65535, b: List::::try_from(Vec::::from_iter([ @@ -11927,179 +7664,103 @@ fn test_containers_complex_test_struct_max_3() { 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, ])) .unwrap(), c: 255, }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("2b5b8b8a2aa2d905a2716be903b7694e03740120db4a613c7d0ba87b171dfe2c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_one_7() { - let mut value = ComplexTestStruct { - a: 46962, - b: List::::try_from(Vec::::from_iter([51108])).unwrap(), - c: 232, - d: List::::try_from(Vec::::from_iter([51])).unwrap(), - e: VarTestStruct { - a: 61296, - b: List::::try_from(Vec::::from_iter([50107])).unwrap(), - c: 80, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 142, b: 16391694718469767627, c: 1723717716 }, - FixedTestStruct { a: 150, b: 18231846756020050949, c: 4085824434 }, - FixedTestStruct { a: 242, b: 3167723324830397151, c: 3505585751 }, - FixedTestStruct { a: 54, b: 11608704772362674523, c: 2197949526 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 35151, - b: List::::try_from(Vec::::from_iter([47168])).unwrap(), - c: 175, - }, - VarTestStruct { - a: 49526, - b: List::::try_from(Vec::::from_iter([16871])).unwrap(), - c: 223, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("7460458ef6fd374a9de68db7a0b3d0f0d1aed59325725d07a90616456ebcd588"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_zero_chaos_2() { - let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_one_0() { - let mut value = ComplexTestStruct { - a: 48911, - b: List::::try_from(Vec::::from_iter([9378])).unwrap(), - c: 223, - d: List::::try_from(Vec::::from_iter([88])).unwrap(), - e: VarTestStruct { - a: 35646, - b: List::::try_from(Vec::::from_iter([45153])).unwrap(), - c: 194, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 223, b: 15858315646050493180, c: 1035175295 }, - FixedTestStruct { a: 238, b: 8214804078873394894, c: 211540354 }, - FixedTestStruct { a: 206, b: 2768604207237255181, c: 1481584540 }, - FixedTestStruct { a: 21, b: 8252301037967392689, c: 3525266586 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 35378, - b: List::::try_from(Vec::::from_iter([35733])).unwrap(), - c: 226, - }, - VarTestStruct { - a: 63219, - b: List::::try_from(Vec::::from_iter([29843])).unwrap(), - c: 106, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("a02e83c64be6459fb89ee3893623c5767cbec7295e71e887392771ff98603a03"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_one_chaos_1() { - let mut value = ComplexTestStruct { - a: 38015, - b: List::::try_from(Vec::::from_iter([22188])).unwrap(), - c: 189, - d: List::::try_from(Vec::::from_iter([137])).unwrap(), - e: VarTestStruct { - a: 27201, - b: List::::try_from(Vec::::from_iter([3990])).unwrap(), - c: 169, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 244, b: 17680911497750963160, c: 2820605766 }, - FixedTestStruct { a: 41, b: 6582973943842155323, c: 3930139073 }, - FixedTestStruct { a: 181, b: 5035412352079054455, c: 1060450728 }, - FixedTestStruct { a: 161, b: 16594572392883778734, c: 925588037 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 6057, - b: List::::try_from(Vec::::from_iter([55])).unwrap(), - c: 169, - }, VarTestStruct { - a: 32091, - b: List::::try_from(Vec::::from_iter([21718])).unwrap(), - c: 207, + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_chaos_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -12108,169 +7769,306 @@ fn test_containers_complex_test_struct_one_chaos_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("a57d86f4ea29cd835b6bc7adf0a5205f1ed819aa736892dd336da3869d857820"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_max_3() { - let mut value = SingleFieldTestStruct { a: 255 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_random_7() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, false]), - b: Bitvector::<2>::from_iter([true, false]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, false]), - e: Bitvector::<8>::from_iter([true, false, true, false, false, true, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_random_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("9b29961c7d4a3b73ea66e6adf69a520890e9bedb001b01c3a24b79a0cc135997"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_max_chaos_2() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, true, true, true]), - e: Bitvector::<8>::from_iter([true, true, true, true, true, true, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_max_chaos_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("662a52b056d31844fe9a143bc7bf82f6c52d7cc9d6b9d9736c2e0d7c9a4b65f3"); + root_from_hex("0x2b5b8b8a2aa2d905a2716be903b7694e03740120db4a613c7d0ba87b171dfe2c"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_zero_0() { +fn test_containers_complex_test_struct_max_4() { let mut value = ComplexTestStruct { - a: 0, + a: 65535, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), - c: 0, - d: List::::try_from(Vec::::from_iter([0])).unwrap(), + c: 255, + d: List::::try_from(Vec::::from_iter([255])).unwrap(), e: VarTestStruct { - a: 0, + a: 65535, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), - c: 0, + c: 255, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), - c: 0, + c: 255, }, VarTestStruct { - a: 0, + a: 65535, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, ])) .unwrap(), - c: 0, + c: 255, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -12279,170 +8077,275 @@ fn test_containers_complex_test_struct_zero_0() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("d3f0fe44a7a2f41215d6fdb22cce2e0c89be118c7a5106ef5bff4290a570ede0"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_zero_1() { - let mut value = SingleFieldTestStruct { a: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_max_4() { - let mut value = SingleFieldTestStruct { a: 255 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_zero_6() { - let mut value = SingleFieldTestStruct { a: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x869070dd164bec9a6a980ba72829d21004a9df8268033a5f2dc1aa606a43158a"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_zero_7() { +fn test_containers_complex_test_struct_max_5() { let mut value = ComplexTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - d: List::::try_from(Vec::::from_iter([0])).unwrap(), + a: 65535, + b: List::::try_from(Vec::::from_iter([65535, 65535, 65535, 65535, 65535])) + .unwrap(), + c: 255, + d: List::::try_from(Vec::::from_iter([255])).unwrap(), e: VarTestStruct { - a: 0, + a: 65535, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), - c: 0, + c: 255, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 0, + a: 65535, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), - c: 0, + c: 255, }, VarTestStruct { - a: 0, + a: 65535, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), - c: 0, + c: 255, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_7/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_5/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -12451,185 +8354,221 @@ fn test_containers_complex_test_struct_zero_7() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ecdc839d58de1e9b6003770857a5097dea8c25c6f63078494bee748f7a912b8f"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_random_0() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false]), - b: Bitvector::<2>::from_iter([false, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, true, true, true]), - e: Bitvector::<8>::from_iter([false, true, false, false, true, true, true, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_random_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("772980f52813d8970bcc933736cd21975517a61483612efd2086591e1b0cdae6"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_random_9() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, false, true]), - b: Bitvector::<2>::from_iter([true, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([true, false, true, true]), - e: Bitvector::<8>::from_iter([false, false, false, false, true, false, true, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_random_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0c78458e737991adc376b4be7ab7b07522374623557c4ca8abcd00bd8665cd13"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_zero_8() { - let mut value = SingleFieldTestStruct { a: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xf3caea79b0c0a1756a7596bf0939a6d7495497936461f41d0315ce321d4b3dad"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_zero_9() { +fn test_containers_complex_test_struct_max_6() { let mut value = ComplexTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([0, 0, 0])).unwrap(), - c: 0, - d: List::::try_from(Vec::::from_iter([0])).unwrap(), + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, + d: List::::try_from(Vec::::from_iter([255])).unwrap(), e: VarTestStruct { - a: 0, + a: 65535, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, ])) .unwrap(), - c: 0, + c: 255, }, VarTestStruct { - a: 0, + a: 65535, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), - c: 0, + c: 255, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_9/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_6/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -12638,46 +8577,176 @@ fn test_containers_complex_test_struct_zero_9() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("eef804ef0a314328f86f7635f913264f4c7a0ce11d8a9e5dc3c400bb8d7a6aa7"); + root_from_hex("0xf2e200a0ed6dddf52d635ab3b163ab612c1e8f1d9f614f3aef85beb4cd66cdd2"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_one_1() { +fn test_containers_complex_test_struct_max_7() { let mut value = ComplexTestStruct { - a: 63214, - b: List::::try_from(Vec::::from_iter([13623])).unwrap(), - c: 59, - d: List::::try_from(Vec::::from_iter([216])).unwrap(), + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, + d: List::::try_from(Vec::::from_iter([255])).unwrap(), e: VarTestStruct { - a: 14337, - b: List::::try_from(Vec::::from_iter([57158])).unwrap(), - c: 73, + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, + ])) + .unwrap(), + c: 255, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 205, b: 5393092458938150238, c: 3739864261 }, - FixedTestStruct { a: 146, b: 7554862186025036695, c: 759065969 }, - FixedTestStruct { a: 152, b: 10256506337230585302, c: 478033645 }, - FixedTestStruct { a: 171, b: 4506016525792096404, c: 3824862461 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 52933, - b: List::::try_from(Vec::::from_iter([37049])).unwrap(), - c: 141, + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, }, VarTestStruct { - a: 26191, - b: List::::try_from(Vec::::from_iter([45926])).unwrap(), - c: 141, + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_7/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -12686,46 +8755,191 @@ fn test_containers_complex_test_struct_one_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("9e054c2087b21ff5263743e8939a648ec8d6195c7c7dbb4eb38baf2d15e94400"); + root_from_hex("0x2355b8f62ff0427f4f1bda41968c93eb41f6be15f2989b2e235ab24772699bbf"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_one_6() { +fn test_containers_complex_test_struct_max_8() { let mut value = ComplexTestStruct { - a: 51972, - b: List::::try_from(Vec::::from_iter([48645])).unwrap(), - c: 46, - d: List::::try_from(Vec::::from_iter([105])).unwrap(), + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, + d: List::::try_from(Vec::::from_iter([255])).unwrap(), e: VarTestStruct { - a: 1558, - b: List::::try_from(Vec::::from_iter([39947])).unwrap(), - c: 65, + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, + ])) + .unwrap(), + c: 255, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 70, b: 905948488145107787, c: 2675781419 }, - FixedTestStruct { a: 3, b: 12539792087931462647, c: 4719259 }, - FixedTestStruct { a: 73, b: 13544872847030609257, c: 2819826618 }, - FixedTestStruct { a: 159, b: 16328658841145598323, c: 2375225558 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 30336, - b: List::::try_from(Vec::::from_iter([30909])).unwrap(), - c: 240, + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, }, VarTestStruct { - a: 64263, - b: List::::try_from(Vec::::from_iter([38121])).unwrap(), - c: 100, + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_6/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_8/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -12734,17 +8948,23 @@ fn test_containers_complex_test_struct_one_6() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("69b0ce69dfbc8abb8ae4fba564dcb813f5cc5b93c76d2b3d0689687c35821036"); + root_from_hex("0x92ca028b53e0f56f97935a2a736f42f176f4810165ed93b8aae9637825ceecf6"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_max_2() { +fn test_containers_complex_test_struct_max_9() { let mut value = ComplexTestStruct { a: 65535, b: List::::try_from(Vec::::from_iter([ 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), c: 255, @@ -12779,7 +8999,43 @@ fn test_containers_complex_test_struct_max_2() { 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), c: 255, @@ -12843,7 +9099,47 @@ fn test_containers_complex_test_struct_max_2() { 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), c: 255, @@ -12882,7 +9178,66 @@ fn test_containers_complex_test_struct_max_2() { 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, ])) .unwrap(), c: 255, @@ -12892,7 +9247,7 @@ fn test_containers_complex_test_struct_max_2() { }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_9/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -12901,61 +9256,18 @@ fn test_containers_complex_test_struct_max_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("9660907d6be249c807c9910f05a030bf95e523742de605d1d71b6a73dd5d7697"); + root_from_hex("0x8fc6ab2617bc9d8e8b0156ec1c6cda0d5b9f09c91e2ab52900e65376c767bfc3"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_zero_chaos_0() { - let mut value = VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_chaos_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("6d78c67e92d89d5fa157efbff423b287f4940a3bd4e7c7b3800624c42ad10ac6"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_max_5() { +fn test_containers_complex_test_struct_max_chaos_0() { let mut value = ComplexTestStruct { a: 65535, - b: List::::try_from(Vec::::from_iter([65535, 65535, 65535, 65535, 65535])) - .unwrap(), + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), c: 255, d: List::::try_from(Vec::::from_iter([255])).unwrap(), e: VarTestStruct { @@ -13015,8 +9327,7 @@ fn test_containers_complex_test_struct_max_5() { 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), c: 255, @@ -13105,12 +9416,7 @@ fn test_containers_complex_test_struct_max_5() { 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), c: 255, @@ -13190,79 +9496,17 @@ fn test_containers_complex_test_struct_max_5() { 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f3caea79b0c0a1756a7596bf0939a6d7495497936461f41d0315ce321d4b3dad"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_one_8() { - let mut value = ComplexTestStruct { - a: 43221, - b: List::::try_from(Vec::::from_iter([62632])).unwrap(), - c: 161, - d: List::::try_from(Vec::::from_iter([170])).unwrap(), - e: VarTestStruct { - a: 34470, - b: List::::try_from(Vec::::from_iter([49333])).unwrap(), - c: 243, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 120, b: 1523648906580514715, c: 791591623 }, - FixedTestStruct { a: 12, b: 16621022813318247745, c: 1103698378 }, - FixedTestStruct { a: 156, b: 9403042551474992172, c: 3829124548 }, - FixedTestStruct { a: 86, b: 6955517517277308905, c: 3651778934 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 7919, - b: List::::try_from(Vec::::from_iter([5167])).unwrap(), - c: 3, - }, - VarTestStruct { - a: 27175, - b: List::::try_from(Vec::::from_iter([53104])).unwrap(), - c: 220, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_8/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_chaos_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -13271,366 +9515,241 @@ fn test_containers_complex_test_struct_one_8() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("dc304f765bc1d7f380986aff8ff000690ca7c7932024088083c2646913353701"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_max_chaos_0() { - let mut value = SingleFieldTestStruct { a: 255 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_chaos_0/serialized.ssz_snappy"); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x1bfc71829055edccc1da5e34d4fd7a58a849e343be7cc6734311c62d841e19b8"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_lengthy_chaos_1() { - let mut value = ComplexTestStruct { - a: 14153, - b: List::::try_from(Vec::::from_iter([ - 3646, 43626, 7304, 41108, 40285, 9810, 25903, 50110, 7170, 37407, 23703, 47708, 39247, - 51866, 27826, 30891, 49449, 42721, 47268, 49391, 8446, 62433, 5953, 32559, 34536, - 26449, 55360, 44990, 62608, 9057, 24577, 29791, 59127, 106, 19484, 64217, 49766, 62407, - 36633, 18191, 28343, 43827, 64699, 57327, 19680, 21294, 5297, 36792, 58178, 36460, - 32037, 13112, 11320, 4296, 14785, 61496, 54847, 21482, 44656, 62059, 51609, 13485, - 57640, 36199, 26888, 22599, 23692, 43160, 61576, 15902, 58977, 32955, 49398, 5118, - 10258, 22497, 12683, 22530, 23509, 2327, 46832, 55917, 47865, 6088, 39543, 52726, - 36646, 16540, 21295, 50418, 14579, 48353, 56037, 59253, 56033, 44440, 10645, 48244, - 2681, 54833, 30926, 36170, 39698, 53837, 31233, 55783, 22756, 16, 63077, 34320, 22347, - 15187, 6878, 28362, 12863, 17010, 6690, 49025, 12362, 65018, 19042, 11384, 23229, - 62542, 31741, 34130, 44763, 58955, - ])) - .unwrap(), - c: 116, - d: List::::try_from(Vec::::from_iter([ - 31, 110, 87, 211, 48, 167, 201, 153, 135, 255, 242, 32, 187, 155, 152, 94, 126, 108, - 64, 248, 24, 12, 148, 186, 242, 192, 36, 127, 200, 224, 130, 20, 130, 214, 47, 45, 113, - 230, 16, 252, 145, 195, 203, 181, 160, 8, 205, 220, 94, 67, 63, 34, 3, 179, 202, 10, - 219, 39, 227, 72, 172, 168, 134, 18, 191, 9, 78, 47, 47, 110, 94, 174, 30, 90, 250, 51, - 179, 74, 132, 74, 27, 163, 138, 76, 179, 214, 180, 52, 183, 9, 123, 94, 133, 53, 155, - 165, 117, 72, 101, 164, 98, 248, 221, 42, 60, 87, 124, 27, 198, 75, 13, 159, 155, 208, - 30, 189, 166, 8, 115, 100, 32, 63, 12, 186, 19, 107, 188, 144, 233, 245, 158, 73, 137, - 1, 168, 89, 89, 217, 101, 74, 237, 68, 227, 105, 224, 140, 60, 130, 208, 84, 141, 186, - 242, 168, 68, 147, 117, 166, 44, 180, 253, 218, 245, 48, 18, 146, 38, 248, 130, 127, - 99, 38, 44, 234, 140, 200, 220, 198, 4, 158, 186, 22, 230, 150, 10, 234, 26, 53, 231, - 59, 229, 209, 111, 29, 247, 153, 102, 56, 51, 68, 108, 63, 139, 70, 215, 203, 233, 80, - 159, 68, 192, 77, 125, 50, 168, 8, 133, 64, 164, 204, 231, 211, 234, 229, 176, 139, 34, - 159, 233, 12, 43, 54, 73, 115, 213, 128, 121, 152, 183, 10, 238, 170, 56, 168, 232, - 105, 214, 138, 60, 85, 14, 173, 194, 111, 84, 59, - ])) - .unwrap(), - e: VarTestStruct { - a: 49114, - b: List::::try_from(Vec::::from_iter([ - 17251, 42508, 18514, 29700, 37188, 49814, 10247, 16616, 45265, 22033, 59763, 50534, - 11814, 7749, 44996, 40729, 3975, 11578, 47843, 37474, 58121, 42916, 34628, 60136, - 40308, 7411, 54556, 61192, 29267, 12158, 12718, 23535, 18819, 36543, 62603, 60332, - 26639, 18296, 57782, 50721, 2466, 22995, 17026, 35514, 63527, 38351, 64324, 17545, - 53468, 18647, 14189, 40652, 59800, 5715, 60799, 59201, 28715, 43677, 10699, 2031, - 3225, 13485, 20167, 46672, 17658, 47734, 38090, 64495, 42273, 63120, 42043, 11141, - 15945, 48804, 11778, 49143, 38655, 60802, 19087, 7281, 11581, 4701, 37464, 58761, - 61831, 53595, 54210, 47303, 34708, 50619, 49094, 64257, 49608, 12841, 46804, 28059, - 15780, 29245, 25921, 52872, 65361, 16061, 38807, 61018, 9378, 18444, 58957, 42772, - 4161, 4163, 31090, 60900, 1617, 17693, 44209, 6974, 7613, 23520, 30463, 206, 41442, - 53838, 4578, 31617, 43141, 36137, 48405, 61333, 3680, 10415, 55655, 11936, 12182, - 1001, 17018, 29022, 1733, 56289, 62343, 34374, 61605, 61655, 32922, 57362, 18718, - 37139, 13278, 40863, 49366, 55005, 29378, 37129, 25255, 10305, 26244, 11784, 55221, - 19507, 61288, 12417, 56620, 13229, 1531, 31029, 47441, 11462, 41878, 58026, 27743, - 151, 1889, 21134, 43711, 36750, 239, 45265, 36580, 2631, 63188, 49495, 22525, - 23580, 58949, 21751, 44573, 15334, 24328, 22796, 48483, 15819, 35459, 49130, 10832, - 49520, 12251, 43967, 38342, 7704, 29519, 54953, 16351, 28500, 42617, 53414, 49399, - 33370, 4408, 20331, 8029, 8522, 9842, 59594, 5094, 63546, 11898, 33364, 28400, - 27348, 45591, 19806, 27025, 38392, 17057, 35073, 3251, 27231, 38202, 100, 49246, - 51075, 21932, 41837, 24100, 17870, 26414, 59747, 60942, 6539, 32755, 62336, 15245, - 16189, 51684, 29212, 42977, 19124, 10456, 34969, 7414, 54571, 40351, 64920, 60389, - 58862, 61109, 42320, 7682, 53190, 54090, 23943, 6750, 4697, 42959, 25042, 54376, - 8897, 58655, 55312, 34545, 55234, 29446, 30272, 36565, 37024, 43609, 5810, 59589, - 8820, 13841, 57177, 26310, 57516, 23160, 60493, 31658, 32035, 62452, 39022, 39747, - 10057, 60247, 10562, 62921, 37069, 48243, 16449, 52502, 45952, 27489, 54865, 9759, - 21658, 5536, 52679, 18567, 11336, 54948, 19386, 7651, 39928, 28966, 52420, 37600, - 61748, 59013, 20081, 53920, 63614, 19487, 5340, 39983, 5208, 25179, 48097, 13860, - 62090, 10481, 35142, 18289, 29660, 24041, 40655, 49542, 16345, 145, 42552, 59030, - 48137, 16368, 64814, 46478, 55442, 1328, 49419, 61961, 48037, 4644, 22247, 30270, - 55366, 21514, 37698, 7204, 2525, 35271, 49325, 35490, 6561, 4124, 30715, 13418, - 54819, 25244, 6537, 53717, 45230, 60241, 28634, 29717, 30269, 13805, 1414, 22214, - 20820, 46126, 32598, 42835, 21463, 50476, 324, 64765, 60392, 45129, 37156, 33942, - 40448, 23612, 49207, 48599, 10022, 300, 4077, 31177, 14616, 56754, 11679, 24069, - 16237, 49219, 46328, 56166, 48865, 19340, 5131, 59010, 17167, 30618, 39272, 5419, - 6310, 20598, 10153, 721, 49473, 58040, 35182, 9549, 52950, 62261, 40739, 13700, - 1426, 29053, 1796, 35489, 21023, 48247, 21289, 59013, 50184, 20452, 54280, 51990, - 30518, 41701, 39461, 36530, 12429, 6373, 28738, 40072, 1336, 26925, 52827, 50656, - 33098, 58228, 4882, 45852, 9457, 60684, 60047, 37624, 51959, 26789, 54563, 48233, - 12000, 28461, 30950, 50831, 17824, 51787, 28146, 38163, 8207, 24983, 43136, 16177, - 1720, 48334, 21644, 21783, 21748, 17582, 8682, 45920, 40970, 31654, 46245, 51134, - 37615, 759, 3944, 11765, 22238, 27209, 56964, 9037, 51668, 43614, 36414, 4536, - 31035, 60731, 50565, 64499, 4110, 40696, 22922, 2538, 33658, 62063, 29639, 47197, - 34207, 31416, 50155, 6461, 58911, 30431, 14980, 34093, 45617, 51832, 25671, 5305, - 12637, 36838, 4833, 247, 57931, 48875, 61050, 41894, 57368, 1232, 21162, 18768, - 49029, 56047, 48278, 61767, 17390, 62828, 13436, 48808, 9550, 64407, 61055, 353, - 34903, 45727, 21903, 53375, 42276, 3601, 51842, 26075, 7489, 58453, 45296, 11426, - 53357, 50119, 51128, 8758, 5839, 21714, 59299, 4907, 34596, 13904, 58278, 4884, - 48699, 24896, 15523, 7905, 14118, 34527, 34842, 44738, 51775, 22045, 5145, 7475, - 40457, 10800, 48415, 64458, 53340, 54244, 23859, 7494, 10567, 8991, 8367, 50628, - 32921, 23202, 9193, 57765, 17072, 6162, 19554, 49794, 42946, 41637, 45096, 50762, - 6979, 59327, 5360, 55734, 32340, 23236, 44200, 7516, 15743, 26512, 50931, 35732, - 51748, 60219, 44079, 46535, 33852, 34657, 22875, 62040, 48952, 47488, 48481, 60482, - 46378, 11826, 43226, 3385, 26380, 9793, 31416, 9898, 15571, 15540, 12671, 3728, - 45270, 64625, 4563, 18414, 45638, 17397, 4114, 8195, 12843, 31882, 40991, 57993, - 37860, 45713, 60938, 9671, 57166, 11189, 17359, 7073, 47656, 28523, 17266, 38659, - 61827, 16761, 60709, 804, 12466, 17086, 26509, 19888, 24374, 24913, 16858, 27344, - 7026, 64568, 35796, 22094, 25621, 14621, 25041, 13731, 33591, 58785, 22586, 60945, - 52044, 32819, 42796, 9196, 53834, 39936, 40525, 20393, 57397, 37063, 13281, 29176, - 26092, 18325, 16986, 3682, 19281, 52256, 19311, 49412, 21951, 38980, 14479, 33705, - 7439, 24631, 25653, 53861, 48986, 35070, 33414, 12188, 39654, 53542, 59446, 15833, - 19512, 36859, 18609, 46937, 56171, 65121, 52136, 63850, 21651, 6903, 50095, 64861, - 65086, 59128, 47546, 56114, 40490, 61307, 44285, 23127, 53374, 11726, 13948, 17557, - 20560, 28420, 49563, 53395, 48735, 59699, 18910, 40441, 31818, 65308, 9992, 49220, - 4902, 37443, 11376, 55511, 31729, 20730, 24161, 61530, 55607, 35083, 62505, 41292, - 62622, 63875, 25101, 7094, 43058, 29347, 7897, 45444, 63411, 49477, 55649, 16899, - 29654, 60380, 52861, 2299, 47898, 24274, 32152, 27113, 53276, 63817, 26359, 26556, - 37284, 63007, 44210, 25181, 58139, 10848, 15839, 29052, 28828, 63240, 14802, 13330, - 10366, 10402, 33278, 62674, 13234, 57939, 9554, 65518, 36680, 42047, 53028, 56779, - 59946, 7255, 25348, 3509, 45840, 9611, 64878, 57639, 12394, 11460, 12483, 24930, - 59521, 51658, 30353, 764, 16910, 44809, 27857, 13898, 2503, 13826, 3514, 28881, - 45999, 61908, 17381, 51638, 9481, 44231, 58028, 60061, 8495, 49259, 62768, 63702, - 41785, 19414, 41494, 63755, 45857, 43960, 28875, 43556, 39644, 22248, 5844, 28605, - 234, 56916, 48525, 59507, 50250, 43682, 17410, 1938, 20700, 63290, 44546, 15914, - 414, 65269, 6803, 7991, 21773, 5459, 3330, 44052, 52104, 31971, 62125, 11619, - 55175, 44484, 17914, 62703, 48459, 38801, 44015, 45141, 25163, 24736, 29823, 46864, - 59561, 16623, 6586, 63322, 4398, 63106, 8044, 60786, 64815, 14764, 9459, 49278, - 27004, 44027, 19722, 24129, 20006, 19138, 13661, 60178, 46734, 45671, 63760, 17760, - 58343, 31831, 11580, 48968, 62985, 8828, 31788, 55767, 35067, 43696, 52449, 47258, - 43438, 24491, 64633, 60541, 60013, 38233, 2727, 25568, 9007, 61857, 47530, 59925, - 48777, 17026, 21715, 29400, 64469, 11153, 37176, 23453, 54585, 15212, 28450, 58783, - 27610, 9440, 53245, 11353, 15589, 6929, 22334, 12628, 34556, 43656, 58775, 27840, - 4056, 45993, 37973, 65389, 35167, 21854, 44460, 23386, 63009, 623, 59714, 31298, - 60028, 37190, 16501, 45325, 42475, 35713, 44411, 8359, 191, 5877, 38981, 56831, - 51178, 16904, 11348, 26265, 30491, 34503, 33817, 21091, 38326, 60471, 37690, 22688, - 30657, 25218, 55009, 4431, 42249, 52815, 27293, 29437, 18365, 28062, 43652, 58427, - 37517, 31197, 5756, - ])) - .unwrap(), - c: 225, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 33, b: 7895405943655935510, c: 2142447552 }, - FixedTestStruct { a: 22, b: 18002124139429285600, c: 992281172 }, - FixedTestStruct { a: 233, b: 4015541180465670820, c: 859454356 }, - FixedTestStruct { a: 189, b: 6174994657624261209, c: 2497554522 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 43514, - b: List::::try_from(Vec::::from_iter([ - 44929, 30752, 18611, 33923, 42378, 2509, 29985, 3365, 50241, 47603, 5913, - 64265, 60191, 4381, 60195, 52257, 8319, 17226, 33510, 21910, 36008, 47181, - 46498, 62647, 64293, 8237, 52988, 8429, 30288, 61242, 15886, 20878, 36914, - 26985, 15918, 22455, 15111, 57579, 40171, 51379, 22865, 123, 18539, 12775, - 37124, 37183, 53672, 62981, 15213, 52534, 57669, 55561, 44128, 63745, 4987, - 10918, 59584, 50536, 16194, 9955, 8000, 29145, 26491, 786, 36659, 49852, 39488, - 50223, 47115, 51898, 43073, 13749, 17473, 46325, 12986, 52878, 55953, 33529, - 25698, 52805, 16878, 44039, 57282, 33653, 44329, 32550, 19413, 82, 23578, - 13014, 18528, 4571, 25938, 34107, 41657, 49230, 45622, 61743, 11037, 3616, - 33212, 48356, 62391, 19786, 46850, 65063, 11554, 24158, 19176, 37583, 17948, - 35746, 14283, 57465, 102, 11464, 50353, 32463, 47838, 32814, 13447, 822, 38429, - 35887, 2772, 8249, 56418, 58329, 54021, 7154, 46271, 64647, 41844, 48320, - 14849, 3687, 49835, 42697, 13874, 24482, 47331, 12997, 64447, 5167, 27444, - 10449, 47009, 7033, 13668, 26509, 25931, 43616, 63274, 25197, 51924, 49903, - 7615, 31087, 40684, 23690, 9220, 28555, 29352, 25147, 56359, 36049, 59553, - 50161, 11636, 56402, 63944, 32999, 52526, 62197, 32598, 33275, 39413, 55734, - 12599, 4706, 17357, 16499, 24072, 45395, 37698, 19098, 61210, 30590, 18064, - 30783, 30295, 35121, 46037, 6084, 53354, 21791, 53214, 56948, 28048, 5076, - 21893, 24443, 17012, 46505, 46280, 18781, 15365, 56811, 31155, 38242, 55163, - 1292, 46542, 61963, 57289, 33038, 25, 52081, 19091, 21069, 40486, 10108, 50677, - 61918, 12707, 57257, 50555, 33418, 45330, 40647, 8896, 26080, 61907, 41936, - 65462, 54584, 44126, 58851, 50207, 56923, 31992, 47721, 39634, 25590, 41214, - 58032, 60938, 65307, 43968, 48752, 61391, 45034, 35633, 31588, 61227, 35019, - 16819, 20542, 12794, 53649, 58554, 61746, 57647, 14215, 51870, 10050, 61221, - 58773, 60195, 48726, 29889, 15079, 10043, 29019, 18899, 26012, 16401, 43855, - 63069, 61647, 7136, 38241, 60104, 9587, 29410, 42343, 64967, 29170, 64150, - 38526, 25994, 7673, 23210, 45043, 24277, 54115, 28303, 60073, 43737, 6031, - 5668, 9942, 33665, 26797, 17533, 16820, 3934, 35458, 14911, 17753, 13280, - 36501, 26329, 26322, 30341, 2296, 58472, 50252, 59069, 32304, 40320, 60379, - 31350, 53792, 36106, 30614, 47433, 29400, 64251, 46079, 49796, 24230, 4133, - 21292, 5622, 63441, 9734, 11309, 23719, 36631, 15990, 21734, 14415, 46842, - 15892, 58514, 38528, 15405, 61022, 58050, 36243, 54661, 47638, 46619, 582, - 33621, 48483, 40371, 7615, 27816, 40494, 8444, 15942, 56895, 63904, 27589, - 45724, 5517, 8583, 1408, 16277, 29648, 21671, 52503, 10429, 127, 57791, 64595, - 1080, 56974, 27077, 12897, 30626, 36821, 29051, 18500, 4435, 50958, 39340, - 49621, 1815, 39985, 15934, 36779, 31123, 40005, 7579, 2729, 16836, 18032, - 16973, 65285, 45233, 30934, 36170, 17047, 31875, 48463, 54787, 6987, 64265, - 44516, 21404, 56981, 744, 11853, 63861, 15589, 56897, 48055, 64377, 22937, - 57003, 39575, 47030, 55396, 52461, 61589, 54249, 8930, 57564, 46031, 14112, - 17047, 46471, 10174, 4365, 38415, 52948, 62715, 50041, 51973, 5434, 38061, - 13272, 38028, 53130, 9475, 40016, 53229, 44076, 59783, 50717, 52603, 21009, - 5486, 2882, 28565, 63564, 62037, 25490, 24691, 24607, 5621, 19278, 24466, - 63721, 2018, 51647, 60634, 44402, 47470, 47072, 17539, 135, 53327, 23611, - 20733, 22085, 54828, 15090, 36469, 15332, 47031, 30378, 60277, 56027, 64012, - 60593, 38235, 50743, 25902, 28555, 27334, 2510, 57558, 27016, 51477, 58571, - 26172, 21974, 44733, 31867, 46300, 31581, 10817, 47280, 832, 57432, 58641, - 11027, 59896, 10055, 26070, 3080, 12709, 64316, 3767, 58757, 57262, 4204, - 58619, 27596, 14356, 35646, 23127, 44044, 53508, 3610, 36884, 17507, 12074, - 11208, 33905, 8226, 14953, 41716, 25979, 51091, 48156, 15384, 35348, 44355, - 12326, 7498, 36711, 12992, 55385, 34691, 62028, 19985, 61393, 40828, 2746, - 39141, 17945, 41555, 48287, 20246, 46809, 14012, 39185, 11904, 22606, 44276, - 53015, 6490, 39924, 38071, 57, 57429, 64938, 4268, 5449, 40144, 27066, 61075, - 61940, 32308, 60455, 61326, 3704, 18303, 30834, 49426, 40648, 3853, 15653, - 59446, 11292, 24688, 14809, 39266, 23286, 18076, 28768, 42746, 21868, 30207, - 43299, 295, 63809, 7898, 17956, 11152, 21166, 48415, 39014, 15134, 9903, 63926, - 55808, 24506, 60151, 38258, 2493, 35633, 12629, 13802, 30066, 43022, 17022, - 57377, 64704, 5218, 50170, 3626, 39697, 10087, 65530, 12033, 36422, 1738, - 13477, 54184, 41538, 53862, 47159, 5054, 14755, 45002, 5923, 12309, 37642, - 16496, 22221, 18096, 15132, 8706, 48927, 45233, 51246, 45951, 9304, 34730, - 65138, 977, 22085, 5862, 19270, 44460, 32874, 46327, 2470, 31874, 31561, 51392, - 63663, 39078, 47218, 26605, 44663, 20032, 25580, 40333, 11381, 6134, 59631, - 62556, 30404, 21469, 47247, 17795, 60489, 28995, 28004, 20490, 49065, 58104, - 49330, 44478, 20236, 35917, 55248, 52762, 42524, 8396, 44134, 834, 7430, 33391, - 28342, 19492, 45311, 6693, 7460, 9854, 18115, 23170, 211, 37705, 44710, 62170, - 31886, 42590, 27309, 47771, 44016, 63865, 8484, 34894, 1651, 26264, 5124, - 11162, 6808, 55565, 29031, 12438, 41303, 2913, 53350, 63673, 3118, 35006, 1560, - 41136, 9071, 48506, 26910, 8327, 50345, 11163, 32280, 57420, 17556, 60816, - 62894, 30395, 46223, 59297, 877, 27721, 14567, 33419, 42989, 64345, 43782, - 36821, 25086, 10936, 29852, 59570, 25167, 48388, 5439, 50086, 26667, 19198, - 59999, 63908, 18939, 3288, 65474, 42233, 1275, 2482, 30837, 15496, 61442, - 28819, 20642, 28771, 46764, 65050, 30458, 53280, 60533, 55758, 59964, 18259, - 34340, 53025, 31538, 37279, 41182, 11296, 5643, 40366, 17387, 44647, 3594, - 4213, 41261, 10591, 29018, 23062, 11618, 1835, 9568, 167, 40975, 39561, 56241, - 401, 18785, 53649, 47883, 29046, 47341, 63404, 15977, 30583, 36011, 31855, - 52845, 10150, 6787, 17672, 4477, 61969, 52631, 6184, 63642, 22364, 62169, - 31625, 51560, 50011, 8227, 37511, 23559, 4669, 4964, 27604, 50319, 38388, - 46510, 52492, 38035, 1031, 60402, 41494, 43197, 25190, 40897, 47219, 2238, - 51849, 52927, 64336, 23334, 38427, 34965, 51550, 59912, 45050, 2844, 39823, - 20736, 59971, 34176, 957, 43590, 42759, 3365, 31964, 43493, 13553, 734, 58623, - 16200, 38891, 58853, 48898, 6316, 53870, 45180, 55957, 64555, 50314, 61629, - 53066, 36801, 42586, 44949, 7538, 43423, 2596, 22043, 53557, 64701, 42047, - 32789, 5268, 44885, 15096, 29614, 52876, 27126, 50054, 29134, 53293, 39797, - 19175, 13041, 16193, 45162, 17525, 51257, 29010, 40224, 21154, 48391, 27566, - 55429, 50281, 15376, 12502, 41158, 18230, 35230, 19043, 62323, 48364, 3745, - 4973, 36283, 56399, 60725, 19185, 18415, 11590, 57600, 16803, 3642, 17928, - 50785, 15806, 50179, 35140, 38046, 1935, 18014, 63215, 21927, 4544, 51981, - 43741, 12769, 47671, 22865, 40754, 39025, 41145, 2491, 38647, 8947, 64839, - 11809, 45553, 49738, 21659, 26393, 52991, 22242, 42192, 11540, 12394, 23926, - 52867, 5820, 39167, 603, 65512, 18700, 64200, 16923, 53878, 53091, 8102, 49033, - 30448, 46268, 9209, 30771, 58698, 16693, 43514, 33212, 27521, 12052, 13213, - 53117, 13466, 1428, 20468, 40192, 29634, 23425, 17430, 22188, 16160, 23704, - 24888, 25431, 33689, 44304, 62530, 44649, 29854, 58068, 16506, 50867, - ])) - .unwrap(), - c: 137, - }, +fn test_containers_complex_test_struct_max_chaos_1() { + let mut value = ComplexTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, + d: List::::try_from(Vec::::from_iter([255])).unwrap(), + e: VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ VarTestStruct { - a: 682, + a: 65535, b: List::::try_from(Vec::::from_iter([ - 51885, 64263, 59471, 10232, 10988, 50916, 6958, 21670, 35134, 15072, 23280, - 50462, 43383, 53899, 13108, 31128, 5505, 18184, 21356, 28188, 53305, 8847, - 10739, 16128, 61911, 34784, 57065, 27155, 36478, 34699, 47869, 2809, 19476, - 1397, 15487, 35488, 23, 22699, 52499, 19378, 21941, 54265, 40593, 12644, 19667, - 7302, 19220, 31616, 2470, 58308, 1193, 55829, 50929, 34118, 21280, 15378, - 50725, 47052, 9451, 45938, 1869, 6637, 60820, 55589, 9551, 21625, 43601, 60493, - 30261, 39640, 28761, 996, 45975, 24842, 60244, 58729, 11108, 42608, 46292, - 25125, 60270, 39690, 1076, 60639, 56960, 7720, 37861, 40753, 47845, 35041, - 56018, 49755, 44315, 15042, 52793, 18360, 30950, 15097, 52572, 10356, 25489, - 37421, 54132, 30301, 50787, 21191, 30707, 4946, 19194, 32760, 24736, 1766, - 28215, 54927, 56821, 32308, 18946, 19539, 31501, 2375, 14640, 9334, 28531, - 2697, 9467, 64218, 57413, 6241, 37805, 42121, 26541, 54921, 22415, 35303, - 24179, 18096, 57569, 20836, 7405, 1758, 14013, 50213, 32026, 60545, 48861, - 46476, 56929, 57331, 50772, 60598, 40803, 35821, 43306, 53095, 3944, 4212, - 62082, 55523, 23353, 3974, 42011, 29962, 6263, 20121, 50439, 43564, 43261, - 10965, 48151, 21381, 53260, 16065, 23922, 44281, 62627, 57237, 18526, 61645, - 61077, 27717, 52090, 9608, 40498, 54711, 55615, 51509, 49660, 26278, 51028, - 20895, 24827, 32886, 57697, 4674, 39051, 10962, 35300, 57721, 54688, 18565, - 39842, 29788, 32053, 22380, 29836, 53893, 17207, 6061, 11221, 1194, 13836, 166, - 13341, 782, 65149, 51559, 13117, 50973, 6819, 39517, 9190, 36922, 20984, 32148, - 17045, 34135, 12829, 55755, 22114, 60340, 47395, 64043, 15088, 7884, 44870, - 37497, 23095, 11086, 14518, 14300, 17229, 22719, 32005, 20226, 22845, 33504, - 65282, 46550, 59392, 22698, 62835, 42428, 5068, 33090, 25260, 24764, 19840, - 11692, 10560, 15428, 5894, 36469, 1089, 18994, 24909, 28358, 45786, 6063, - 37124, 6321, 12738, 46859, 7161, 7693, 15449, 47911, 18069, 33817, 11638, - 19572, 16039, 30263, 56367, 55980, 17991, 38577, 28211, 43408, 30378, 4345, - 12764, 12458, 37452, 61647, 51060, 45889, 46747, 21824, 59021, 29810, 17627, - 12337, 15913, 41355, 36459, 50584, 50129, 18982, 14832, 63847, 19279, 26971, - 56370, 48373, 16912, 36070, 57668, 42596, 32202, 53388, 39568, 24270, 2259, - 35974, 16621, 22901, 14438, 29774, 18843, 60286, 1239, 21090, 28745, 8214, - 48803, 64351, 47989, 59081, 13531, 2872, 38635, 55266, 14755, 13172, 50033, - 4353, 57725, 4297, 17288, 55870, 49440, 31800, 24358, 38203, 48116, 24772, - 3315, 55547, 44020, 18630, 20230, 19876, 28408, 1924, 58984, 51871, 36020, 111, - 23865, 21119, 43187, 12476, 42920, 58671, 50266, 38301, 21021, 53483, 57848, - 52284, 2509, 5276, 63897, 12814, 53021, 4521, 39886, 49102, 30061, 20411, 666, - 54133, 51846, 61860, 8960, 1839, 5891, 51375, 31913, 42988, 35667, 33502, - 49102, 63568, 6948, 37589, 6977, 35862, 25374, 42700, 25442, 34339, 30825, - 11402, 2238, 5023, 53468, 36891, 53547, 34426, 35798, 47379, 46436, 61636, - 14672, 9365, 519, 44847, 33250, 15883, 52001, 30298, 49425, 62052, 29692, 3220, - 59012, 53021, 42723, 18904, 6964, 57080, 43094, 4915, 59830, 18105, 61872, - 49925, 9381, 14090, 39371, 7614, 8123, 14801, 38490, 52853, 50257, 39089, - 15690, 15447, 4098, 56386, 26130, 231, 26085, 32434, 17354, 47890, 63094, - 37814, 32048, 55738, 30158, 20459, 10093, 35827, 29829, 50064, 50011, 61362, - 47261, 21484, 15125, 38043, 62612, 19606, 51279, 27319, 18406, 7711, 845, - 54338, 20958, 51039, 40810, 9731, 32836, 54568, 43614, 6051, 47944, 46780, - 51537, 34824, 20832, 34881, 34703, 52696, 48155, 63930, 4742, 35455, 18262, - 10182, 31301, 53019, 803, 23919, 27315, 4054, 52737, 57889, 11976, 34740, - 61283, 57961, 18743, 32607, 36146, 45068, 15976, 7589, 56094, 52212, 42864, - 51759, 60716, 52478, 17328, 31212, 31782, 33630, 18143, 16914, 11151, 45393, - 62488, 11174, 2731, 7811, 16857, 13971, 32459, 29734, 21508, 51784, 7179, - 30676, 62897, 9707, 10244, 24367, 38336, 64284, 22535, 52716, 4914, 20226, - 9250, 26509, 37163, 32899, 11797, 12143, 60148, 10285, 51091, 59231, 58976, - 27185, 40824, 5613, 61206, 21453, 8981, 1187, 10879, 24628, 12233, 50134, - 27770, 47483, 26915, 37567, 50443, 22908, 63645, 23597, 54193, 36265, 35831, - 21171, 40700, 30715, 14026, 1398, 30908, 59173, 42740, 391, 40363, 25100, - 24888, 31788, 1734, 50025, 19157, 43650, 58603, 35709, 50590, 2355, 28139, - 51402, 27056, 17200, 58397, 25369, 49671, 46315, 49881, 46069, 4322, 16821, - 38447, 34348, 26915, 25296, 28276, 53083, 738, 50719, 56613, 21793, 26112, - 20341, 31836, 62869, 40063, 49251, 61809, 5821, 18904, 4125, 47548, 2989, - 23220, 49684, 4892, 10053, 6845, 12079, 62921, 30743, 9836, 7562, 10226, 27180, - 9872, 24256, 37618, 49264, 65276, 19840, 38786, 65467, 38990, 51685, 38196, - 36233, 21010, 9712, 51660, 17285, 3520, 45300, 8234, 41814, 8230, 55465, 24002, - 58996, 23995, 44, 27612, 1222, 55582, 10288, 28682, 60622, 19721, 63749, 31297, - 22461, 46685, 42796, 58295, 14193, 18000, 41708, 54061, 41703, 56889, 35306, - 40604, 22650, 40998, 29928, 27296, 3660, 27725, 47601, 23060, 14650, 51366, - 26083, 38630, 46456, 30454, 24209, 57674, 25704, 41440, 55637, 58976, 26635, - 44228, 12119, 52000, 20399, 6701, 64592, 50326, 46284, 29129, 53831, 50111, - 10335, 13313, 11975, 34380, 55759, 45047, 34983, 25479, 9928, 33349, 39667, - 7734, 3954, 11141, 43034, 49650, 47595, 59460, 9821, 61240, 39396, 15182, - 40374, 2819, 65045, 14458, 24008, 33989, 32244, 9364, 28902, 64745, 55628, - 34632, 37123, 10154, 42704, 56249, 12742, 39102, 41559, 17601, 16326, 56500, - 53232, 41076, 5494, 44174, 19277, 61369, 47611, 16724, 45709, 63909, 40888, - 65105, 65129, 4969, 18388, 65266, 63157, 59069, 61299, 8618, 13986, 48325, - 35023, 7554, 59183, 48032, 52445, 10594, 13892, 57451, 33565, 59449, 15262, - 62237, 32499, 64405, 16602, 43535, 65166, 61425, 63533, 22577, 18731, 58541, - 50128, 43280, 43412, 55138, 24121, 13639, 37875, 42162, 13233, 1047, 18374, - 63928, 32265, 22846, 1742, 4661, 35350, 24643, 37514, 26525, 19847, 50411, - 17293, 2973, 12739, 35014, 18078, 49176, 34885, 58976, 20349, 34040, 39699, - 55457, 6496, 16798, 57469, 9813, 54291, 16887, 61271, 39207, 41101, 7050, - 44552, 55398, 6230, 35660, 63164, 6822, 40135, 23987, 2031, 60381, 55977, 1477, - 17703, 12113, 9730, 57047, 30788, 41837, 63418, 52850, 53543, 60557, 62675, - 64384, 263, 53297, 32822, 56334, 62735, 1036, 17559, 12389, 43005, 10191, - 25091, 11614, 11225, 60081, 10003, 22666, 46772, 53431, 44698, 33021, 3625, - 6583, 57814, 3998, 6771, 37186, 62504, 14616, 8474, 46336, 6439, 43900, 14697, - 11672, 9598, 22231, 43700, 33424, 43368, 42154, 60076, 50717, 47203, 38562, - 55326, 10654, 31287, 20065, 21512, 11599, 57976, 9811, 26964, 62980, 803, - 63189, 12274, 62802, 44802, 45384, 10276, 19558, 16547, 18209, 30466, 17486, - 4231, 28724, 28061, 24595, 20195, 10892, 4686, 60117, 24328, 30101, 15432, - 9795, 39252, 2615, 44553, 19023, 49900, 43334, 47979, 63896, 19809, 53601, - 9421, 37053, 19118, 12297, 61584, 62299, 48690, 61172, 8422, 46287, 35075, - 27211, 2026, 62737, 47333, 44598, 5456, 49090, 61830, 36327, 60356, 30742, - 32377, 40148, 27936, 58838, 20097, 49658, 37537, 25700, 45346, 63345, 65132, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), - c: 150, + c: 255, + }, + VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, }, ]) .unwrap(), }; let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_chaos_1/serialized.ssz_snappy"); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_chaos_1/serialized.ssz_snappy", + ); assert_eq!(encoding, expected_encoding); let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); @@ -13638,46 +9757,236 @@ fn test_containers_complex_test_struct_lengthy_chaos_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("9e8d9f5d5a03974171cc977eb7fc10305f1bee1b469a11974f25424d8e518773"); + root_from_hex("0x96cc111eeb992df1f47406ede8339868e8cd50281c7fdd553b742768a6ec8c1c"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_nil_5() { +fn test_containers_complex_test_struct_max_chaos_2() { let mut value = ComplexTestStruct { - a: 31744, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 33, - d: List::::try_from(Vec::::from_iter([])).unwrap(), + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, + d: List::::try_from(Vec::::from_iter([255])).unwrap(), e: VarTestStruct { - a: 32909, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 160, + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 88, b: 4508311636793282544, c: 415305280 }, - FixedTestStruct { a: 81, b: 7176574044321399517, c: 3531697000 }, - FixedTestStruct { a: 148, b: 10325477718060625155, c: 2170710618 }, - FixedTestStruct { a: 213, b: 10147841225099919266, c: 364863742 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, + FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 44590, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 43, + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, }, VarTestStruct { - a: 2413, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 252, + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_5/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_chaos_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -13686,132 +9995,46 @@ fn test_containers_complex_test_struct_nil_5() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("d3339dcf8b5c37412b46d01fad924e5f5baafbd8ef6fb5e7d32cda58a8184e2c"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_max_chaos_0() { - let mut value = VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_max_chaos_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("c3e720d29dc4e4baa5cbad059f4eb0b99189c911dcede2863bb5b77795c5cc3d"); + root_from_hex("0x5065533e7b56e29e0da6386fa6ab9370faa05722ab0e60080fadf809cf58807a"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_nil_2() { +fn test_containers_complex_test_struct_nil_0() { let mut value = ComplexTestStruct { - a: 51296, + a: 18142, b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 24, + c: 231, d: List::::try_from(Vec::::from_iter([])).unwrap(), e: VarTestStruct { - a: 53715, + a: 61305, b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 87, + c: 147, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 112, b: 6113442914607827252, c: 2881063212 }, - FixedTestStruct { a: 51, b: 1725127278526211301, c: 638134721 }, - FixedTestStruct { a: 217, b: 14421469423501165880, c: 3735440152 }, - FixedTestStruct { a: 123, b: 2364172394143535253, c: 3578914154 }, + FixedTestStruct { a: 141, b: 10953418948196676936, c: 1290597142 }, + FixedTestStruct { a: 218, b: 10485599593819308885, c: 2568442688 }, + FixedTestStruct { a: 148, b: 7829464349203048716, c: 2940052654 }, + FixedTestStruct { a: 130, b: 12125340572984727979, c: 2441735511 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 28075, + a: 59231, b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 109, + c: 103, }, VarTestStruct { - a: 52080, + a: 5969, b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 183, + c: 211, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -13820,363 +10043,430 @@ fn test_containers_complex_test_struct_nil_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("3009a7b09039d85079b9a29358d237bbd3fbeb4c25d05bc9da326188342995a3"); + root_from_hex("0x27375ceba8646507e7195acd6a9b584af05e32ac9939ef29df75faa8e1fb7198"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_nil_chaos_1() { +fn test_containers_complex_test_struct_nil_1() { let mut value = ComplexTestStruct { - a: 16389, + a: 52446, b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 229, + c: 216, d: List::::try_from(Vec::::from_iter([])).unwrap(), e: VarTestStruct { - a: 60733, + a: 9582, b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 201, + c: 179, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 2, b: 384053484578005994, c: 870669292 }, - FixedTestStruct { a: 192, b: 8050360655543648157, c: 2676129625 }, - FixedTestStruct { a: 68, b: 3997619651490197308, c: 793030358 }, - FixedTestStruct { a: 214, b: 14099480025000544619, c: 1206054754 }, + FixedTestStruct { a: 113, b: 8308260144033443154, c: 856314353 }, + FixedTestStruct { a: 88, b: 18286529193086391033, c: 3373857601 }, + FixedTestStruct { a: 10, b: 866825965816182963, c: 3877443397 }, + FixedTestStruct { a: 73, b: 16810218414276843777, c: 184057769 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 23399, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 162, - }, - VarTestStruct { - a: 6205, + a: 56619, b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 80, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_chaos_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("b89f29dc5910fc88db50b3b75245371c139f5f927a522da5ad4ac100a40aae77"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_max() { - let mut value = VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_max/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("d9824eb3449dabb9f62c69e72c5e5ba5917a1d68e679557e3fd1cb0cfdc38d17"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_zero_4() { - let mut value = SmallTestStruct { a: 0, b: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_zero_3() { - let mut value = SmallTestStruct { a: 0, b: 0 }; + c: 32, + }, + VarTestStruct { + a: 28432, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 148, + }, + ]) + .unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_3/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x3ad080351afcde8c45956a9dbba68db5b7bd737f5be21f6b07833356b3b77ac5"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_zero() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, false, false, false]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false, false]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, false, false, false]), +fn test_containers_complex_test_struct_nil_2() { + let mut value = ComplexTestStruct { + a: 51296, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 24, + d: List::::try_from(Vec::::from_iter([])).unwrap(), + e: VarTestStruct { + a: 53715, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 87, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 112, b: 6113442914607827252, c: 2881063212 }, + FixedTestStruct { a: 51, b: 1725127278526211301, c: 638134721 }, + FixedTestStruct { a: 217, b: 14421469423501165880, c: 3735440152 }, + FixedTestStruct { a: 123, b: 2364172394143535253, c: 3578914154 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 28075, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 109, + }, + VarTestStruct { + a: 52080, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 183, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_zero/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("7aa68d25017352ef95142af2bb269ce805269676da6111d74887aa9cdcb072a4"); + root_from_hex("0x3009a7b09039d85079b9a29358d237bbd3fbeb4c25d05bc9da326188342995a3"); assert_eq!(root, expected_root); } #[test] -fn test_containers_fixed_test_struct_max_2() { - let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; +fn test_containers_complex_test_struct_nil_3() { + let mut value = ComplexTestStruct { + a: 59736, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 120, + d: List::::try_from(Vec::::from_iter([])).unwrap(), + e: VarTestStruct { + a: 9471, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 162, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 220, b: 15034598248334105810, c: 3955824760 }, + FixedTestStruct { a: 175, b: 17553500545866453449, c: 542828098 }, + FixedTestStruct { a: 140, b: 2940978812180365208, c: 3410385304 }, + FixedTestStruct { a: 219, b: 13559886729958279487, c: 3025496256 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 34009, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 98, + }, + VarTestStruct { + a: 55878, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 150, + }, + ]) + .unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_random_chaos_0() { - let mut value = SingleFieldTestStruct { a: 15 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_chaos_0/serialized.ssz_snappy"); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0f00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x39b4d31246afbdb07fd955fdf5d982bd832714cbed6666fd7ef47379cf947275"); assert_eq!(root, expected_root); } #[test] -fn test_containers_fixed_test_struct_max_5() { - let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; +fn test_containers_complex_test_struct_nil_4() { + let mut value = ComplexTestStruct { + a: 44905, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 144, + d: List::::try_from(Vec::::from_iter([])).unwrap(), + e: VarTestStruct { + a: 35688, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 125, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 102, b: 1970672590229388203, c: 4291083769 }, + FixedTestStruct { a: 20, b: 17267026789235764353, c: 4169619511 }, + FixedTestStruct { a: 174, b: 16712701607286209302, c: 1877382468 }, + FixedTestStruct { a: 216, b: 3418735781718036586, c: 3896879220 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 37923, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 146, + }, + VarTestStruct { + a: 31848, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 206, + }, + ]) + .unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_5/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + root_from_hex("0xfcad01afa41478c73d86c160078d557a11aec6425bdd91de7909ad735e8b2151"); assert_eq!(root, expected_root); } #[test] -fn test_containers_fixed_test_struct_random_chaos_0() { - let mut value = FixedTestStruct { a: 162, b: 17433115223182371175, c: 867140057 }; +fn test_containers_complex_test_struct_nil_5() { + let mut value = ComplexTestStruct { + a: 31744, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 33, + d: List::::try_from(Vec::::from_iter([])).unwrap(), + e: VarTestStruct { + a: 32909, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 160, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 88, b: 4508311636793282544, c: 415305280 }, + FixedTestStruct { a: 81, b: 7176574044321399517, c: 3531697000 }, + FixedTestStruct { a: 148, b: 10325477718060625155, c: 2170710618 }, + FixedTestStruct { a: 213, b: 10147841225099919266, c: 364863742 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 44590, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 43, + }, + VarTestStruct { + a: 2413, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 252, + }, + ]) + .unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_chaos_0/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_5/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("dc82cc007c637f89a9b7ba1c446f17f598663637c51c774d3b988b5f27d6556c"); + root_from_hex("0xd3339dcf8b5c37412b46d01fad924e5f5baafbd8ef6fb5e7d32cda58a8184e2c"); assert_eq!(root, expected_root); } #[test] -fn test_containers_small_test_struct_zero_chaos_1() { - let mut value = SmallTestStruct { a: 0, b: 0 }; +fn test_containers_complex_test_struct_nil_6() { + let mut value = ComplexTestStruct { + a: 14779, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 128, + d: List::::try_from(Vec::::from_iter([])).unwrap(), + e: VarTestStruct { + a: 11314, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 88, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 69, b: 2289519359095941959, c: 4055974165 }, + FixedTestStruct { a: 207, b: 9671730801211586811, c: 3033394329 }, + FixedTestStruct { a: 210, b: 15954635843475561660, c: 3723422315 }, + FixedTestStruct { a: 121, b: 12464746318130489510, c: 2445696058 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 57485, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 228, + }, + VarTestStruct { + a: 15604, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 201, + }, + ]) + .unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_chaos_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_6/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0xff282ed32a48f3c3cab8f5e90c41f31e3b765f98d841adf99f26b0afb1599c66"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_zero() { - let mut value = VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) +fn test_containers_complex_test_struct_nil_7() { + let mut value = ComplexTestStruct { + a: 50885, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 128, + d: List::::try_from(Vec::::from_iter([])).unwrap(), + e: VarTestStruct { + a: 48844, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 156, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 111, b: 9308979922821387243, c: 1304134955 }, + FixedTestStruct { a: 39, b: 16163096394648852761, c: 2955079535 }, + FixedTestStruct { a: 220, b: 13508351431752869162, c: 2371579308 }, + FixedTestStruct { a: 69, b: 4382219926106737506, c: 1420285418 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 25187, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 165, + }, + VarTestStruct { + a: 33983, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 251, + }, + ]) .unwrap(), - c: 0, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("7b7591e4bc71e165eadd3cab254795eb03ce695be7e531a9e601bc3327c3fd6e"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_zero_2() { - let mut value = SmallTestStruct { a: 0, b: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_7/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x354ebad67ef3b789f06d89b0ecea632024ca91d353f1e847e83111060f9b6523"); assert_eq!(root, expected_root); } #[test] -fn test_containers_small_test_struct_zero_5() { - let mut value = SmallTestStruct { a: 0, b: 0 }; +fn test_containers_complex_test_struct_nil_8() { + let mut value = ComplexTestStruct { + a: 9736, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 129, + d: List::::try_from(Vec::::from_iter([])).unwrap(), + e: VarTestStruct { + a: 52567, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 0, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 155, b: 8632484518626447911, c: 4093634018 }, + FixedTestStruct { a: 229, b: 17748644962945795383, c: 2079529187 }, + FixedTestStruct { a: 210, b: 3312027085582884946, c: 3589310165 }, + FixedTestStruct { a: 99, b: 9084020690761810545, c: 2773076247 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 65501, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 183, + }, + VarTestStruct { + a: 13237, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 155, + }, + ]) + .unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_5/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_8/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + root_from_hex("0x6660bf5b0be775c00b5a3a0bbeb90d8f110adb2bd54e7a1779a1230398b27f69"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_nil_3() { +fn test_containers_complex_test_struct_nil_9() { let mut value = ComplexTestStruct { - a: 59736, + a: 23577, b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 120, + c: 175, d: List::::try_from(Vec::::from_iter([])).unwrap(), e: VarTestStruct { - a: 9471, + a: 52190, b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 162, + c: 120, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 220, b: 15034598248334105810, c: 3955824760 }, - FixedTestStruct { a: 175, b: 17553500545866453449, c: 542828098 }, - FixedTestStruct { a: 140, b: 2940978812180365208, c: 3410385304 }, - FixedTestStruct { a: 219, b: 13559886729958279487, c: 3025496256 }, + FixedTestStruct { a: 179, b: 14068119846896464581, c: 1617655325 }, + FixedTestStruct { a: 205, b: 9540752016240576228, c: 779151254 }, + FixedTestStruct { a: 62, b: 57390556918623452, c: 3205281123 }, + FixedTestStruct { a: 209, b: 2652996980740976958, c: 1890472584 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 34009, + a: 18553, b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 98, + c: 151, }, VarTestStruct { - a: 55878, + a: 61674, b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 150, + c: 65, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_3/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_9/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -14185,7 +10475,7 @@ fn test_containers_complex_test_struct_nil_3() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("39b4d31246afbdb07fd955fdf5d982bd832714cbed6666fd7ef47379cf947275"); + root_from_hex("0xcc17028327728aac7c2760530199432a97ee4812bdd76faefb4b11bac84e981a"); assert_eq!(root, expected_root); } @@ -14233,79 +10523,46 @@ fn test_containers_complex_test_struct_nil_chaos_0() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("5bc8bd92a0d88a9a3b388b7109e8294ec4c24fd9e2ccc6fd9021c36a2acf77df"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_max_chaos_1() { - let mut value = VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_max_chaos_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("fd31fbb40e94c30fa8fe09c0055e48d66a2d142c1a3213086d902067eaa8b8de"); + root_from_hex("0x5bc8bd92a0d88a9a3b388b7109e8294ec4c24fd9e2ccc6fd9021c36a2acf77df"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_nil_4() { +fn test_containers_complex_test_struct_nil_chaos_1() { let mut value = ComplexTestStruct { - a: 44905, + a: 16389, b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 144, + c: 229, d: List::::try_from(Vec::::from_iter([])).unwrap(), e: VarTestStruct { - a: 35688, + a: 60733, b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 125, + c: 201, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 102, b: 1970672590229388203, c: 4291083769 }, - FixedTestStruct { a: 20, b: 17267026789235764353, c: 4169619511 }, - FixedTestStruct { a: 174, b: 16712701607286209302, c: 1877382468 }, - FixedTestStruct { a: 216, b: 3418735781718036586, c: 3896879220 }, + FixedTestStruct { a: 2, b: 384053484578005994, c: 870669292 }, + FixedTestStruct { a: 192, b: 8050360655543648157, c: 2676129625 }, + FixedTestStruct { a: 68, b: 3997619651490197308, c: 793030358 }, + FixedTestStruct { a: 214, b: 14099480025000544619, c: 1206054754 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 37923, + a: 23399, b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 146, + c: 162, }, VarTestStruct { - a: 31848, + a: 6205, b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 206, + c: 80, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_4/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_chaos_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -14314,515 +10571,342 @@ fn test_containers_complex_test_struct_nil_4() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("fcad01afa41478c73d86c160078d557a11aec6425bdd91de7909ad735e8b2151"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_zero_chaos_0() { - let mut value = SmallTestStruct { a: 0, b: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_chaos_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_random_chaos_1() { - let mut value = FixedTestStruct { a: 203, b: 7769282278803472418, c: 872994431 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_chaos_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("b4bd04eda485b869dcaebd603d86834d9e70885e7e061df343aaf753f4252267"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_max_4() { - let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + root_from_hex("0xb89f29dc5910fc88db50b3b75245371c139f5f927a522da5ad4ac100a40aae77"); assert_eq!(root, expected_root); } #[test] -fn test_containers_single_field_test_struct_random_chaos_1() { - let mut value = SingleFieldTestStruct { a: 8 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_chaos_1/serialized.ssz_snappy"); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0800000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_max_3() { - let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; +fn test_containers_complex_test_struct_nil_chaos_2() { + let mut value = ComplexTestStruct { + a: 43567, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 74, + d: List::::try_from(Vec::::from_iter([])).unwrap(), + e: VarTestStruct { + a: 3088, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 230, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 80, b: 12261896720768000582, c: 1113008435 }, + FixedTestStruct { a: 167, b: 13074400124343650680, c: 250375806 }, + FixedTestStruct { a: 106, b: 9461353936973742711, c: 613200224 }, + FixedTestStruct { a: 114, b: 15818203515089967829, c: 143907859 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 61793, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 214, + }, + VarTestStruct { + a: 56893, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 6, + }, + ]) + .unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_3/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_nil_chaos_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + root_from_hex("0x643a44a63abc2b0c12c5db0dd5376fe5a6681e1336d0c0bf99a945d4aa9774e7"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_nil_6() { - let mut value = VarTestStruct { - a: 15781, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 117, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); +#[should_panic] +fn test_containers_complex_test_struct_nil_offset_11_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_11_plus_one/serialized.ssz_snappy"); - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); + deserialize::(&encoding); +} - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("7cee3918d516db214447c2cbbe0d0ddb54dd8f75652bfc15ec6abcf3363f8380"); - assert_eq!(root, expected_root); +#[test] +#[should_panic] +fn test_containers_complex_test_struct_nil_offset_11_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_11_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); } #[test] -fn test_containers_bits_struct_max_8() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, true, true, true]), - e: Bitvector::<8>::from_iter([true, true, true, true, true, true, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_max_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); +#[should_panic] +fn test_containers_complex_test_struct_nil_offset_2_minus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_2_minus_one/serialized.ssz_snappy"); - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); + deserialize::(&encoding); +} - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f369e7425a52cffdac341543d5368d4f233d155a29c2d0bfece3c159c0c6d120"); - assert_eq!(root, expected_root); +#[test] +#[should_panic] +fn test_containers_complex_test_struct_nil_offset_2_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_2_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); } #[test] -fn test_containers_var_test_struct_random_chaos_0() { - let mut value = VarTestStruct { - a: 20024, - b: List::::try_from(Vec::::from_iter([ - 50415, 14691, 1540, 5555, 46426, 5084, 61089, 64926, 6761, 37513, 65376, 54489, 38631, - 64061, 33211, 39189, 28466, 1332, 1554, 60180, 62555, 38396, 26765, 43012, 62762, - 30589, 48460, 10895, 56421, 25159, 29698, 17067, 8678, 12472, 47725, 3749, 47570, - 50091, 22530, 23836, 43479, 19416, 11628, 22769, 60042, 34077, 35784, 47253, 43942, - 9772, 34212, 2378, 12489, 26474, 16528, 16533, 43136, 46743, 65159, 7834, 30141, 32596, - 3266, 49003, 43483, 62933, 47066, 37184, 33265, 46946, 16943, 27682, 45667, 19897, - 54706, 48836, 34148, 32396, 36028, 48912, 13886, 38639, 46992, 20723, 47781, 35465, - 10823, 57601, 1941, 34947, 38289, 22401, 54022, 28605, 51426, 19729, 40588, 61870, - 54391, 64232, 57285, 51301, 19758, 31126, 44410, 30930, 6313, 49138, 12903, 16322, - 51595, 31209, 11794, 46535, 5848, 37369, 63523, 3558, 35933, 22237, 142, 43778, 35821, - 42856, 51226, 19815, 39110, 15431, 16405, 44153, 29090, 51086, 9234, 60264, 17812, - 6344, 34303, 23311, 60750, 58033, 8395, 8180, 32722, 53750, 36287, 62570, 64602, 59705, - 57045, 61207, 54829, 3065, 46226, 1560, 53855, 22350, 29676, 3772, 25197, 13154, 59467, - 63930, 40048, 24310, 40208, 53189, 25532, 64791, 22454, 22972, 28653, 53351, 14018, - 8485, 38100, 27994, 59238, 22096, 24263, 38404, 11698, 21448, 55749, 28552, 46457, - 52657, 16404, 37052, 50241, 13786, 62506, 16093, 37386, 32616, 38524, 57914, 48661, - 63601, 37180, 51208, 43958, 9767, 49984, 17679, 62702, 53779, 34764, 13121, 4593, - 19616, 41995, 47601, 7371, 36543, 25749, 25398, 43312, 20832, 23673, 62253, 26121, - 19417, 63338, 54080, 31067, 36783, 53706, 15264, 43824, 8798, 1952, 11873, 20518, - 48107, 37712, 18823, 44531, 46339, 56137, 12002, 11276, 46426, 745, 30352, 63135, - 23485, 24990, 32430, 22503, 41411, 8230, 60485, 22404, 47756, 53641, 49979, 2305, - 52034, 14948, 61653, 16465, 4249, 53323, 44208, 34030, 18885, 42284, 34426, 19697, - 25183, 18643, 7019, 16287, 44307, 11976, 61967, 58819, 4939, 30951, 15373, 6681, 51867, - 57236, 12452, 20489, 36178, 9375, 7957, 47229, 55450, 8476, 41892, 57441, 12676, 48849, - 55509, 16823, 14713, 37583, 3906, 27984, 6103, 11146, 41422, 33991, 36998, 28722, - 61620, 58500, 20239, 24700, 30944, 39324, 35678, 31245, 25501, 36776, 15269, 61951, - 25986, 10284, 21690, 19371, 27076, 6103, 15133, 32848, 33510, 29715, 10221, 55405, - 3326, 59714, 35267, 54121, 14463, 10658, 55319, 6384, 33895, 34788, 52269, 20990, - 54147, 25851, 37671, 2646, 58811, 32270, 12865, 5745, 22231, 37592, 24683, 35713, - 64178, 64745, 49797, 57194, 8938, 42369, 40919, 64981, 11992, 40631, 51280, 36044, 724, - 15176, 58869, 25607, 58137, 11295, 29772, 29624, 6228, 47820, 3888, 23260, 39392, - 35103, 60755, 3966, 63797, 15225, 61318, 15584, 28410, 54620, 36110, 8688, 44187, - 37597, 6195, 9016, 31273, 47347, 35568, 34638, 37937, 34637, 6290, 50656, 32033, 7226, - 42194, 39106, 45405, 21693, 16092, 41532, 30354, 20101, 54807, 2857, 25225, 59120, - 37677, 30770, 45447, 33102, 2848, 54737, 12462, 36100, 50324, 32606, 63236, 7644, - 34225, 12352, 9901, 19945, 58161, 9105, 30544, 11124, 4259, 35668, 26545, 38872, 2871, - 61528, 49217, 51832, 55311, 4775, 50206, 49568, 31800, 45043, 28182, 40021, 50302, - 54351, 58711, 9749, 15995, 41126, 7720, 26837, 13746, 364, 55098, 41456, 51557, 29385, - 47218, 20570, 41640, 28159, 2841, 31752, 10013, 21995, 3842, 19470, 28675, 3690, 7284, - 16943, 33767, 8536, 22033, 201, 58904, 23344, 34108, 62412, 56907, 4172, 36785, 42715, - 271, 62652, 44814, 19038, 7976, 48004, 41031, 46609, 44951, 4872, 10378, 18930, 14129, - 11708, 11881, 59959, 32809, 58896, 53672, 985, 23235, 1280, 11370, 22538, 39351, 6452, - 15922, 48776, 56179, 38162, 53453, 52079, 797, 19863, 56261, 10791, 61504, 26444, - 62127, 55636, 64896, 29736, 14065, 33222, 59271, 5846, 42300, 12082, 30435, 64814, - 52029, 6635, 53123, 52479, 46922, 24994, 31630, 8396, 59423, 28572, 8290, 23912, 31492, - 23390, 40482, 1652, 65141, 34382, 54280, 60472, 19746, 55493, 7333, 61742, 5987, 55969, - 38802, 14359, 9375, 5217, 23375, 52290, 26364, 14036, 4643, 1013, 42628, 25715, 5971, - 8893, 54207, 46675, 38028, 52655, 45932, 9822, 20493, 61674, 46519, 19780, 12653, - 23509, 42351, 61998, 28007, 13971, 51891, 21116, 56354, 52227, 59588, 34446, 14469, - 37872, 53026, 18392, 61418, 57965, 62668, 8188, 42144, 47393, 26705, 9921, 11523, - 56812, 19431, 50364, 9013, 29260, 44454, 65216, 40307, 1063, 43485, 60618, 45733, - 51501, 28449, 16594, 10928, 47410, 21681, 31153, 30097, 60080, 49023, 52491, 3945, - 57808, 54839, 36504, 35123, 30218, 58562, 30454, 37844, 54997, 513, 56026, 64204, - 38384, 49152, 40185, 6928, 16068, 56296, 53210, 23605, 38802, 49598, 47446, 31348, - 31550, 46591, 62197, 2669, 20287, 57718, 36655, 27269, 51400, 48442, 27975, 46763, - 10527, 50308, 42448, 19874, 18138, 51635, 58006, 38255, 51009, 62755, 14112, 35672, - 27854, 43031, 36589, 59735, 62582, 28040, 51998, 11989, 37834, 41908, 48241, 13171, 96, - 38848, 58155, 57830, 41327, 50369, 7856, 1473, 39120, 14950, 19766, 710, 35895, 63926, - 53754, 44439, 50890, 23436, 57338, 35649, 45566, 35096, 1123, 58337, 7029, 16698, 3943, - 1713, 15092, 18684, 28021, 22657, 34189, 25908, 5271, 45891, 52860, 22869, 8127, 26735, - 13878, 727, 51438, 32697, 23508, 33799, 19428, 15029, 32220, 63704, 51499, 32641, - 17782, 2682, 19613, 13697, 22936, 41355, 44057, 12931, 52143, 47752, 25775, 11560, - 16993, 55556, 3832, 27532, 4162, 57769, 7650, 14678, 56498, 12020, 32406, 41742, 45746, - 5239, 6406, 30538, 55791, 17912, 51183, 15024, 28913, 13700, 53146, 63430, 10696, - 58921, 33252, 24965, 50473, 53123, 59450, 56274, 41362, 56632, 64041, 22895, 21444, - 51595, 18083, 48767, 42830, 48904, 61484, 65024, 12885, 52640, 58779, 6173, 40261, - 9293, 62461, 16776, 18227, 13724, 16066, 50851, 59257, 19984, 61413, 33282, 12569, - 4993, 19577, 3057, 62153, 35490, 47457, 27443, 63944, 54061, 10348, 8850, 34907, 38465, - 20042, 38176, 42568, 6996, 6428, 47410, 56918, 34974, 34814, 7407, 14701, 19761, 17527, - 50845, 2668, 37404, 3025, 22121, 8684, 2157, 15368, 12666, 11467, 4879, 54456, 48970, - 36708, 46073, 28929, 3798, 36198, 6881, 24540, 65443, 25335, 10305, 41671, 4972, 59362, - 8608, 26819, 17, 51407, 38436, 17656, 41545, 47542, 47180, 53891, 41076, 15263, 15977, - 19388, 12888, 47317, 25290, 30845, 5782, 11387, 27731, 52330, 50002, 7994, 45787, - 60505, 49357, 41204, 3012, 59708, 15620, 24226, 11859, 58417, 56933, 46387, 36134, - 26079, 30691, 60054, 10899, 100, 16926, 6627, 46467, 19482, 37558, 17398, 26372, 61721, - 61304, 4540, - ])) +#[should_panic] +fn test_containers_complex_test_struct_nil_offset_2_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_2_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_nil_offset_7_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_7_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_nil_offset_7_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_7_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +fn test_containers_complex_test_struct_one_0() { + let mut value = ComplexTestStruct { + a: 48911, + b: List::::try_from(Vec::::from_iter([9378])).unwrap(), + c: 223, + d: List::::try_from(Vec::::from_iter([88])).unwrap(), + e: VarTestStruct { + a: 35646, + b: List::::try_from(Vec::::from_iter([45153])).unwrap(), + c: 194, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 223, b: 15858315646050493180, c: 1035175295 }, + FixedTestStruct { a: 238, b: 8214804078873394894, c: 211540354 }, + FixedTestStruct { a: 206, b: 2768604207237255181, c: 1481584540 }, + FixedTestStruct { a: 21, b: 8252301037967392689, c: 3525266586 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 35378, + b: List::::try_from(Vec::::from_iter([35733])).unwrap(), + c: 226, + }, + VarTestStruct { + a: 63219, + b: List::::try_from(Vec::::from_iter([29843])).unwrap(), + c: 106, + }, + ]) .unwrap(), - c: 245, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_random_chaos_0/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: VarTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("686b4990347887370f9ad5116ce942ea8bb7f752a959fcee547af5655075a358"); + root_from_hex("0xa02e83c64be6459fb89ee3893623c5767cbec7295e71e887392771ff98603a03"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_one_5() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([true]), - e: Bitvector::<8>::from_iter([true, false, true, true, false, true, false, false]), +fn test_containers_complex_test_struct_one_1() { + let mut value = ComplexTestStruct { + a: 63214, + b: List::::try_from(Vec::::from_iter([13623])).unwrap(), + c: 59, + d: List::::try_from(Vec::::from_iter([216])).unwrap(), + e: VarTestStruct { + a: 14337, + b: List::::try_from(Vec::::from_iter([57158])).unwrap(), + c: 73, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 205, b: 5393092458938150238, c: 3739864261 }, + FixedTestStruct { a: 146, b: 7554862186025036695, c: 759065969 }, + FixedTestStruct { a: 152, b: 10256506337230585302, c: 478033645 }, + FixedTestStruct { a: 171, b: 4506016525792096404, c: 3824862461 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 52933, + b: List::::try_from(Vec::::from_iter([37049])).unwrap(), + c: 141, + }, + VarTestStruct { + a: 26191, + b: List::::try_from(Vec::::from_iter([45926])).unwrap(), + c: 141, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_one_5/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0a9f6477919000daaadaaf9f290347d1e51387c7bc8843bc8188c5ec65323b1b"); + root_from_hex("0x9e054c2087b21ff5263743e8939a648ec8d6195c7c7dbb4eb38baf2d15e94400"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_nil_1() { - let mut value = VarTestStruct { - a: 57718, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 30, +fn test_containers_complex_test_struct_one_2() { + let mut value = ComplexTestStruct { + a: 12541, + b: List::::try_from(Vec::::from_iter([2249])).unwrap(), + c: 53, + d: List::::try_from(Vec::::from_iter([126])).unwrap(), + e: VarTestStruct { + a: 37873, + b: List::::try_from(Vec::::from_iter([24680])).unwrap(), + c: 104, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 111, b: 9187765509688476407, c: 1210202299 }, + FixedTestStruct { a: 158, b: 18103802857683004608, c: 3789132591 }, + FixedTestStruct { a: 124, b: 1767260191485559055, c: 2679810848 }, + FixedTestStruct { a: 146, b: 10731242871815542387, c: 1584483294 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 49176, + b: List::::try_from(Vec::::from_iter([36844])).unwrap(), + c: 150, + }, + VarTestStruct { + a: 3399, + b: List::::try_from(Vec::::from_iter([39383])).unwrap(), + c: 4, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: VarTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0816604b74ffed4de14e90ab139ee0242dab266445b8e932ebc2379a38059f9b"); + root_from_hex("0xbfb6c2ce9bbc2339a06b32d54b9beebb6628397f1bc9f31b2919045350e076da"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_one_2() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([false]), - e: Bitvector::<8>::from_iter([false, false, true, false, true, false, true, true]), +fn test_containers_complex_test_struct_one_3() { + let mut value = ComplexTestStruct { + a: 49003, + b: List::::try_from(Vec::::from_iter([15653])).unwrap(), + c: 239, + d: List::::try_from(Vec::::from_iter([148])).unwrap(), + e: VarTestStruct { + a: 56933, + b: List::::try_from(Vec::::from_iter([51513])).unwrap(), + c: 227, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 198, b: 207392827392641159, c: 1227551918 }, + FixedTestStruct { a: 84, b: 10977915993707539152, c: 2750630791 }, + FixedTestStruct { a: 153, b: 4650923157821976456, c: 1619878481 }, + FixedTestStruct { a: 152, b: 8681817436929663740, c: 1036507554 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 50540, + b: List::::try_from(Vec::::from_iter([62171])).unwrap(), + c: 33, + }, + VarTestStruct { + a: 37202, + b: List::::try_from(Vec::::from_iter([64409])).unwrap(), + c: 142, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_one_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("b7b8ea390463d99872628ca0d4aa1fc58abe086fd2b51b37396c61388d044ebe"); + root_from_hex("0x1adf1503de419e5735c87cd21784ddf520cb547be4f18ea5d25390d65a654ef1"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_random_chaos_0() { +fn test_containers_complex_test_struct_one_4() { let mut value = ComplexTestStruct { - a: 11713, - b: List::::try_from(Vec::::from_iter([ - 38091, 53824, 7944, 31766, 19699, 31242, 4608, 29028, 11885, 840, 21861, 65003, 18717, - 32490, 18436, 15216, 33190, - ])) - .unwrap(), - c: 160, - d: List::::try_from(Vec::::from_iter([ - 128, 197, 56, 67, 137, 198, 224, 251, 177, 132, 101, 181, 68, 221, 57, 132, 165, 50, - 120, 136, 16, 78, 43, 59, 57, 185, 100, 12, 139, 168, 37, 228, 49, 225, 77, 90, 94, - 187, 90, 218, 93, 114, 227, 179, 0, 207, 17, 157, 156, 49, 247, 80, 156, 168, 35, 209, - 211, 36, 31, 244, 181, 101, 62, 207, 85, 151, 160, 129, 177, 232, 187, 210, 250, 152, - 192, 153, 73, 245, 168, 211, 90, 225, 59, 89, 12, 60, 56, 120, 154, 51, 28, 55, 29, - 104, 227, 24, 91, 159, 210, 199, 88, 127, 230, 33, 61, 56, 115, 43, 74, 203, 212, 67, - 119, 140, 94, 145, 118, 193, 107, 218, 217, 16, 117, 119, 11, 184, 19, 13, 159, 176, - 46, 204, 68, 128, 42, 238, 230, 68, 212, 111, 180, 236, 161, 108, 140, 247, 49, 41, 46, - 89, 1, 84, 251, 191, 70, 75, 49, 185, 121, 2, 146, 119, 33, 196, 221, 4, 146, 78, 148, - 174, 159, 101, 133, 226, 195, 161, 7, 226, 153, 195, 66, 41, 224, 219, 86, 59, 148, - 161, 235, 208, 97, 155, 76, 166, 191, 48, 71, 25, 109, 172, 111, 173, 194, 73, 166, 15, - 207, 113, 14, 208, 63, 156, 58, 34, 70, 138, 52, 53, 52, 203, 175, 45, 170, 140, - ])) - .unwrap(), + a: 33449, + b: List::::try_from(Vec::::from_iter([11465])).unwrap(), + c: 54, + d: List::::try_from(Vec::::from_iter([146])).unwrap(), e: VarTestStruct { - a: 59882, - b: List::::try_from(Vec::::from_iter([ - 21911, 63942, 31199, 31455, 33871, 7137, 41350, 62486, 3011, 27349, 598, 515, - 63354, 28621, 57115, 31259, 53789, 8037, 44746, 7200, 1431, 46405, 34155, 38815, - 19379, 8367, 26984, 6685, 15469, 819, 45620, 18928, 60330, 25053, 8829, 27017, - 62227, 52796, 2068, 64540, 51838, 3044, 25158, 22706, 9091, 18485, 32778, 48731, - 6341, 13256, 35247, 2095, 45437, 48666, 20844, 46266, 57326, 31444, 39945, 35581, - 32790, 13204, 11089, 17709, 40439, 16864, 24972, 62603, 6320, 35115, 34288, 17679, - 37087, 15719, 33589, 6432, 27013, 39712, 13545, 5533, 50743, 53643, 62551, 9233, - 51692, 54995, 24099, 24103, 57032, 570, 30014, 45376, 38895, 8928, 34876, 23399, - 60376, 12834, 29815, 49496, 51841, 63858, 20521, 31781, 31769, 63906, 39068, 52573, - 29639, 9812, 37681, 30759, 59162, 5477, 62006, 4472, 45322, 31142, 33801, 54237, - 8747, 32962, 8497, 3565, 19087, 50149, 29615, 6779, 44698, 31083, 49008, 55457, - 32468, 29909, 34814, 17740, 30370, 47333, 53621, 27697, 186, 34665, 52641, 41697, - 12186, 40139, 62143, 16414, 59557, 48, 47188, 232, 18546, 33344, 50508, 53638, - 29098, 47692, 40216, 8327, 35926, 39917, 20730, 23245, 15972, 35974, 46016, 34902, - 1017, 51546, 15189, 37713, 6054, 59146, 34223, 51638, 16595, 16097, 44686, 60853, - 54007, 19110, 737, 62212, 19361, 60994, 28791, 38829, 28052, 39998, 44467, 64374, - 12243, 59538, 975, 46140, 40464, 61536, 10820, 22447, 46188, 17133, 2407, 32064, - 55561, 63220, 47580, 52985, 16254, 36020, 35441, 40882, 60969, 51962, 44512, 40780, - 57122, 37990, 43411, 39691, 32989, 12136, 27183, 62416, 62270, 33436, 43005, 61122, - 18488, 45109, 58483, 26082, 41115, 6955, 16865, 29139, 33105, 16380, 18416, 33893, - 23211, 61222, 43424, 56222, 11306, 42831, 48960, 46798, 15182, 17353, 57282, 44854, - 9838, 39257, 1855, 44383, 58702, 39671, 44911, 24600, 6342, 54348, 40836, 40660, - 41567, 33906, 25119, 3784, 44549, 35538, 12811, 40454, 23712, 55207, 41212, 63194, - 21569, 13478, 21729, 39749, 31562, 42044, 55429, 28764, 61050, 37945, 43425, 25634, - 13738, 23423, 44965, 20576, 59775, 1165, 3296, 62139, 16725, 2207, 33629, 51716, - 40077, 14993, 25244, 44344, 1908, 53162, 36091, 45250, 45046, 16320, 33840, 11733, - 40495, 53875, 22867, 1650, 19937, 19730, 24175, 273, 3846, 10817, 32813, 30131, - 50668, 64478, 57044, 38327, 55132, 62049, 43699, 24083, 56483, 29779, 20439, 31097, - 13244, 25340, 58792, 55176, 30626, 60712, 4090, 54403, 33479, 36684, 33380, 53084, - 13803, 24861, 27864, 47821, 6773, 44541, 31238, 43090, 19840, 19050, 3940, 22155, - 6112, 24384, 25416, 3155, 43976, 5411, 29967, 14936, 63687, 47242, 20711, 5640, - 56265, 50443, 47002, 25929, 38761, 17248, 40095, 13299, 23132, 30674, 10071, 62046, - 62809, 21816, 11102, 24633, 3763, 22028, 46264, 61133, 39898, 18530, 26374, 37556, - 8944, 7456, 59409, 22601, 43783, 38173, 61181, 49867, 17291, 51330, 64447, 29910, - 8052, 11328, 36249, 52613, 52716, 25336, 46961, 7966, 55176, 20518, 10301, 18739, - 47311, 28821, 21893, 45771, 32628, 46916, 33384, 49121, 32095, 37673, 27914, 5695, - 15101, 58044, 2922, 57629, 45094, 25799, 17038, 61721, 25092, 50696, 36417, 24051, - 56573, 41416, 25049, 37633, 31009, 26730, 56392, 61518, 39090, 19513, 9530, 45894, - 14283, 37410, 34687, 35053, 59797, 48811, 28297, 19307, 26689, 999, 48030, 60389, - 15667, 38826, 61706, 30610, 17062, 60869, 23673, 60992, 36272, 4796, 40180, 23204, - 5736, 25667, 32459, - ])) - .unwrap(), - c: 138, + a: 18361, + b: List::::try_from(Vec::::from_iter([27935])).unwrap(), + c: 175, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 3, b: 10543900606472943020, c: 3667820647 }, - FixedTestStruct { a: 140, b: 3106764529416694417, c: 3299042996 }, - FixedTestStruct { a: 90, b: 7465421768114232817, c: 4159847108 }, - FixedTestStruct { a: 203, b: 2684306830788579479, c: 1893894578 }, + FixedTestStruct { a: 253, b: 4615349917584694335, c: 872999527 }, + FixedTestStruct { a: 196, b: 943453220127137753, c: 1191989886 }, + FixedTestStruct { a: 222, b: 16035451323611208354, c: 3434643610 }, + FixedTestStruct { a: 17, b: 2846087815058082165, c: 837051951 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 40858, - b: List::::try_from(Vec::::from_iter([ - 2788, 10634, 25075, 37806, 19970, 3306, 31405, 59273, 5695, 43782, 45669, 6010, - 26852, 19119, 47012, 10896, 48177, 26451, 11056, 9638, 54412, 58348, 21355, - 23069, 8248, 22387, 14432, 55546, 2130, 27403, 40026, 14435, 55608, 670, 54559, - 22714, 29506, 28563, 48739, 29845, 7603, 63174, 63976, 8382, 51232, 43955, - 30792, 57540, 18210, 36241, 55113, 30758, 33362, 25927, 48838, 34824, 8344, - 33180, 24733, 58445, 55640, 22949, 31161, 6112, 22149, 36158, 29335, 51974, - 6373, 19635, 22409, 21960, 30162, 16257, 2221, 55103, 42073, 5229, 57969, - 59040, 21810, 5548, 27600, 4788, 60800, 41560, 28655, 52634, 59985, 37218, - 37291, 24168, 43727, 7393, 52503, 17332, 17178, 48446, 60566, 24685, 42778, - 64209, 18401, 56495, 38745, 38045, 36030, 23540, 52676, 63996, 53337, 52018, - 27, 21439, 35276, 19013, 7941, 3997, 49907, 13177, 9785, 51121, 26936, 43991, - 7757, 54269, 54288, 7852, 12327, 8026, 51726, 5798, 24537, 38903, 29850, 64853, - 43076, 56347, 12430, 15989, 30429, 58600, 20849, 31856, - ])) - .unwrap(), - c: 130, + a: 37931, + b: List::::try_from(Vec::::from_iter([29047])).unwrap(), + c: 70, }, VarTestStruct { - a: 12545, - b: List::::try_from(Vec::::from_iter([ - 36909, 51751, 12111, 59079, 46526, 4876, 50528, 7980, 56125, 64004, 24620, - 49385, 31497, 19486, 39428, 15275, 6246, 42311, 9976, 28136, 384, 13157, 11033, - 54386, 63350, 8749, 51761, 3010, 26301, 17629, 42550, 41173, 12420, 43223, - 18931, 37301, 63485, 14434, 843, 28576, 6330, 61196, 27493, 35991, 38113, 541, - 30462, 19448, 12020, 29102, 4715, 14887, 54079, 33752, 1086, 31190, 18268, - 5781, 13098, 11334, 41608, 58424, 37230, 11536, 14234, 52841, 26828, 59710, - 30229, 45046, 64771, 12830, 27497, 31718, 60450, 4834, 45595, 50929, 19659, - 65424, 44026, 29002, 23916, 56964, 54028, 8802, 24610, 44073, 63226, 7022, - 43168, 50203, 39935, 61562, 27074, 40682, 6333, 64950, 33907, 56345, 28826, - 37666, 37257, 25416, 16198, 29425, 57543, 62687, 30963, 46241, 17083, 46272, - 22719, 58906, 30047, 1084, 9214, 32649, 48677, 47719, 60644, 22396, 47890, - 64346, 6483, 41128, 32617, 48245, 2928, 4799, 7684, 56571, 16256, 1027, 47234, - 54874, 12543, 44156, 38190, 60342, 58814, 23698, 8170, 22915, 19784, 23356, - 44845, 15773, 62332, 15096, 4553, 14846, 52091, 13514, 31692, 10483, 60043, - 28451, 25101, 6586, 27180, 57237, 19471, 2055, 24677, 10739, 21370, 28007, - 12136, 24029, 42573, 19842, 35572, 57847, 58340, 36554, 37934, 59666, 15644, - 37750, 1289, 36069, 34835, 1359, 61560, 9434, 26133, 20316, 2489, 46648, 16812, - 62792, 50396, 23640, 2243, 19594, 55815, 51115, 1341, 3820, 4825, 18191, 30972, - 11983, 56554, 48410, 24655, 16905, 25828, 54388, 57386, 12938, 40312, 32217, - 5306, 601, 36359, 35333, 37537, 20139, 47691, 31606, 23131, 30520, 8524, 49072, - 47280, 11897, 23921, 28200, 39814, 11851, 38126, 23335, 48695, 57701, 64949, - 32995, 23131, 23058, 54495, 19158, 40721, 18920, 38116, 47381, 42741, 56642, - 6619, 57273, 12646, 41410, 62932, 60024, 40809, 35689, 12857, 48328, 22404, - 12858, 26318, 45654, 36550, 20334, 9512, 48412, 34956, 58916, 58683, 62359, - 7009, 56563, 1917, 36564, 8104, 5294, 37605, 6435, 64151, 33276, 8525, 45226, - 11158, 10834, 22672, 23122, 32289, 63656, 60143, 4224, 23745, 17968, 19982, - 3241, 2753, 52734, 32614, 63485, 4974, 7579, 17150, 49416, 5870, 55200, 4485, - 47478, 277, 49058, 30687, 12902, 16978, 41017, 26003, 20066, 58240, 37094, - 27343, 19875, 10517, 42200, 52579, 5857, 14363, 57234, 45577, 52691, 21534, - 38716, 5540, 51071, 8333, 11011, 24834, 60541, 27476, 29425, 717, 64899, 39324, - 48617, 29272, 20953, 3474, 5785, 30465, 24459, 7268, 56848, 41079, 19835, - 33775, 20086, 40697, 45009, 4012, 46419, 46114, 38750, 10045, 60425, 48876, - 3364, 2364, 28512, 11325, 5054, 1987, 15081, 56143, 53631, 1559, 25992, 2517, - 44917, 56650, 32053, 36889, 13717, 51613, 56090, 28665, 24446, 33675, 47281, - 14743, 61310, 38786, 22914, 55711, 61658, 17186, 63839, 63410, 60133, 18043, - 47934, 63867, 7736, 15644, 6275, 28329, 23820, 7517, 8245, 65474, 11551, 7698, - 10247, 17469, 36728, 43832, 15090, 45654, 10699, 11856, 39320, 19135, 35258, - 35361, 19725, 40662, 9238, 38076, 53398, 39280, 49906, 48459, 3072, 44075, - 27257, 58255, 60512, 57107, 18983, 41116, 36323, 65145, 10494, 55846, 30461, - 21136, 27785, 59061, 38028, 48725, 19760, 41044, 48754, 36415, 53626, 15627, - 52797, 35559, 46816, 21576, 21287, 42735, 12724, 993, 45749, 27537, 43692, - 39152, 27314, 16217, 40398, 21775, 35485, 54528, 34943, 13017, 49820, 5779, - 4350, 45950, 54239, 30308, 64246, 21912, 26047, 14026, 32015, 60671, 13444, - 59129, 57076, 38204, 37091, 2953, 3156, 41465, 65297, 14993, 59576, 9113, - 63762, 12163, 31506, 50992, 29253, 25230, 60401, 21443, 26873, 34591, 17844, - 54662, 38004, 61293, 62170, 15846, 50095, 46162, 31470, 36133, 62791, 37772, - 56917, 25286, 44512, 31030, 51344, 34624, 39069, 64309, 55601, 20086, 30201, - 55060, 20609, 48482, 48324, 24078, 61501, 10807, 44404, 21091, 17601, 38409, - 13886, 36357, 27345, 50662, 63244, 34959, 28627, 45322, 45487, 11596, 26986, - 13631, 3627, 15324, 12053, 24930, 57165, 34251, 45676, 60534, 44939, 21957, - 12697, 38733, 52052, 7789, 8659, 43510, 51967, 49718, 61029, 24792, 46187, - 8486, 3587, 32424, 29229, 28192, 31987, 22668, 17440, 8991, 30355, 63413, 1553, - 28268, 39523, 9023, 29175, 41240, 54084, 16256, 34273, 48573, 46952, 48971, - 39679, 61326, 60519, 37212, 19583, 62612, 61299, 54724, 65262, 45834, 36411, - 22398, 53928, 23935, 49643, 49472, 51104, 27844, 11267, 41223, 31835, 62314, - 40634, 13657, 62179, 65532, 60440, 28600, 14512, 62565, 14408, 42352, 15551, - 34133, 38305, 26777, 15943, 8410, 59366, 48421, 50301, 50490, 27500, 22375, - 54938, 62004, 62986, 51309, 16915, 19941, 28601, 21009, 6582, 45103, 13407, - 50511, 39781, 27502, 21204, 54019, 2626, 53441, 30271, 3733, 58560, 53403, - 13730, 61490, 12681, 29555, 55317, 32245, 9348, 10884, 42977, 11126, 11197, - 16620, 52947, 7753, 16653, 31950, 43758, 26509, 26608, 10685, 25568, 35152, - 12010, 5681, 54530, 63902, 394, 53113, 34477, 30211, 10885, 33818, 50020, - 41149, 58793, 54479, 58125, 60881, 20082, 37565, 9832, 49352, 50951, 16845, - 7938, 62623, 51017, 30135, 53247, 10488, 9752, 17834, 20475, 56232, 36525, - 41204, 4487, 64036, 51355, 61211, 54683, 25506, 63451, 64956, 6375, 6752, - 45594, 50956, 52428, 44238, 3582, 36127, 46680, 20573, 12050, 41008, 46429, - 31657, 13589, 23648, 52357, 12312, 10623, 5139, 9514, 1453, 27388, 281, 35460, - 8381, 925, 12923, 12555, 11395, 55960, 29072, 62264, 25327, 61197, 27349, - 14020, 16663, 24667, 52880, 15332, 3820, 39748, 22841, 30888, 45173, 36552, - 57391, 3474, 26808, 53168, 58492, 27016, 1999, 36481, 32246, 40897, 23536, - 58873, 55404, 3049, 19545, 2064, 26106, 28617, 16740, 31478, 2973, 45089, - 32644, 63735, 57290, 28347, 8824, 20875, 864, 3715, 2322, 35870, 59988, 45746, - 4367, 29170, 32005, 49661, 2268, 26537, 58283, 38188, 30555, 19758, 41504, - 10261, 41032, 8445, 8324, 5066, 63199, 4207, 48280, 6282, 47772, 49229, 17173, - 22369, 28149, 58809, 21646, 13151, 56724, 9009, 58182, 50481, 25990, 11390, - 51481, 9897, 18870, 4882, 20852, 7179, 59480, 18200, 30919, 60625, 62655, - 42103, 16726, 11645, 12317, 4227, 62607, 30532, 9141, 10892, 19133, 30280, - 2162, 41270, 57410, 37484, 27627, 10545, 15112, 14857, 8892, 48077, 57039, - 39495, 17934, 57925, 35217, 47916, 62096, 12802, 47430, 33258, 61781, 48092, - 41055, 59958, 39127, 6795, 3265, 11772, 56251, 48449, 60469, 23218, 20512, - 29054, 39350, 63070, 22061, 60782, 37855, 10149, 20871, 52064, 29556, 14087, - 44469, 63217, 1368, 2199, 31664, 4290, 21911, 8334, 62998, 19587, 7397, 60792, - 30594, 11792, 6538, 35927, 63296, 3378, 35641, 3871, 13061, 22446, 33693, - 20330, 19247, 16685, 18197, 54145, 11266, 10999, 24617, 8601, 54577, 29660, - 56513, 9335, 27424, 57140, 17413, 33406, 30033, 43291, 38537, 40876, 8092, - 28171, 23457, 11139, 28537, 20270, 9900, 63923, 13348, 34434, 13571, 42450, - 31259, 60825, 23244, 7085, 61507, 14662, 37940, 19505, 8820, - ])) - .unwrap(), - c: 126, + a: 25348, + b: List::::try_from(Vec::::from_iter([18965])).unwrap(), + c: 186, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_chaos_0/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -14831,236 +10915,46 @@ fn test_containers_complex_test_struct_random_chaos_0() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("24e69161141c575a7830d20b60f6fea329b6111bcff7cf03437f1f533057722e"); + root_from_hex("0xf8591818dc82c94e16373493167e3a04d837fe453a532336d2f4b80c986b7da5"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_random_3() { +fn test_containers_complex_test_struct_one_5() { let mut value = ComplexTestStruct { - a: 32772, - b: List::::try_from(Vec::::from_iter([ - 46512, 38507, 19398, 17365, 6742, 22022, 38263, 43803, 45345, 15434, 50542, 53308, - 63955, 25109, 65120, 12016, 24683, 11769, 37715, 47612, 758, 57637, 39030, 61451, - 27955, 26480, 56870, 14359, 13136, 29373, 27964, 9592, 17585, 43888, 52807, 59179, - 60588, - ])) - .unwrap(), - c: 67, - d: List::::try_from(Vec::::from_iter([ - 181, 94, 231, 30, 237, 90, 219, 84, 180, 2, 196, 224, 0, 22, 130, 105, 38, 216, 219, - 93, 1, 86, 54, 122, 79, 101, 33, 205, 60, 22, 108, - ])) - .unwrap(), + a: 522, + b: List::::try_from(Vec::::from_iter([58016])).unwrap(), + c: 1, + d: List::::try_from(Vec::::from_iter([219])).unwrap(), e: VarTestStruct { - a: 8345, - b: List::::try_from(Vec::::from_iter([ - 60661, 49902, 47308, 6595, 50664, 56406, 11771, 42777, 21007, 26990, 34886, 56815, - 49289, 28126, 32071, 20342, 61101, 11472, 43864, 17495, 57493, 26384, 60112, 40415, - 54428, 37676, 35336, 5659, 43952, 1820, 60659, 42128, 23481, 1511, 17740, 19556, - 7189, 187, 25146, 49939, 64360, 57579, 24440, 11254, 25465, 44487, 55186, 21889, - 32330, 12735, 34473, 64052, 14340, 41266, 8917, 14460, 2372, 56423, 63573, 46036, - 41622, 55954, 51299, 30236, 41351, 41427, 11856, 15840, 16499, 9052, 1617, 28820, - 53368, 64978, 5952, 54583, 6959, 36968, 38491, 11290, 24280, 59225, 42423, 10858, - 58972, 62694, 17945, 32236, 4876, 49885, 14320, 38274, 51161, 40511, 54055, 11698, - 3581, 26390, 42412, 16387, 60623, 9104, 65037, 33759, 56355, 57896, 34812, 52450, - 8116, 1865, 27057, 38613, 37727, 16730, 65310, 25713, 15196, 35483, 27103, 46787, - 27021, 14108, 28113, 40375, 5219, 49546, 38249, 20616, 9913, 61691, 52180, 43596, - 39355, 27859, 32671, 35663, 47209, 25116, 29800, 12615, 16644, 21300, 54498, 33869, - 37133, 16775, 27134, 64503, 36620, 32691, 33056, 24221, 51813, 40508, 62605, 27413, - 28038, 41369, 6957, 51822, 27961, 37665, 54342, 11522, 9633, 22910, 5392, 36716, - 60970, 29281, 36121, 55029, 39427, 26613, 21841, 33515, 3762, 64478, 17893, 9047, - 54351, 59048, 38384, 61266, 8324, 62132, 60242, 38262, 62380, 56315, 42129, 48504, - 50906, 63009, 34832, 9933, 55761, 38537, 10387, 43365, 4561, 22626, 37789, 10012, - 10957, 23006, 42206, 9568, 61257, 22541, 13400, 42267, 27184, 2238, 20977, 48279, - 20661, 42800, 30939, 50651, 38924, 22894, 28349, 63315, 17893, 27696, 44178, 43338, - 50645, 9550, 42527, 7709, 268, 47651, 50083, 42349, 12834, 57596, 44135, 63979, - 48959, 64099, 35136, 23514, 49251, 54830, 35128, 23921, 38196, 10849, 17991, 53139, - 50893, 29409, 34378, 20674, 24454, 27481, 53260, 29400, 45057, 54446, 2436, 5662, - 59825, 38321, 55586, 4122, 38412, 21932, 46899, 14115, 60484, 10540, 47833, 26175, - 59574, 15050, 60366, 29536, 5998, 56437, 9417, 48398, 1055, 39469, 54949, 62692, - 12187, 28902, 51034, 32169, 10743, 29931, 25311, 8644, 53153, 6242, 11240, 7022, - 22311, 65226, 23253, 51921, 26016, 36818, 57480, 42550, 10502, 41387, 22959, 27416, - 990, 53066, 58693, 1730, 56394, 4654, 2825, 59626, 41255, 52990, 47236, 52090, - 22144, 47978, 64800, 2200, 59663, 1161, 19938, 42793, 19828, 7421, 43782, 23262, - 62431, 46623, 12734, 26844, 31080, 61013, 20274, 56498, 2474, 43219, 40744, 43742, - 39451, 53179, 3519, 41552, 1735, 10708, 30431, 40519, 29592, 63614, 27260, 16044, - 43660, 9865, 3302, 10307, 51984, 61184, 52501, 52734, 61325, 44000, 44361, 64576, - 52422, 48468, 14226, 22083, 53032, 5809, 18115, 6507, 40464, 25427, 58283, 5512, - 54631, 30018, 10222, 705, 64481, 15951, 46499, 14846, 18973, 22976, 55839, 35381, - 63270, 56033, 51708, 65343, 40242, 55424, 28390, 22661, 23623, 36398, 233, 36699, - 9948, 31313, 37078, 32464, 13621, 44054, 13083, 49077, 3703, 46140, 50121, 16581, - 7665, 48858, 18817, 60417, 3529, 17193, 5879, 58982, 60326, 43928, 18639, 7864, - 46417, 58747, 51583, 63093, 27592, 32345, 15113, 55570, 33643, 48492, 43793, 45173, - 52138, 12960, 59536, 52839, 8046, 27862, 23385, 10597, 32660, 5050, 41658, 6323, - 17656, 5956, 37780, 36975, 9739, 46319, 5171, 31343, 44979, 49807, 41433, 13, - 50503, 34929, 20664, 35118, 51385, 63751, 42589, 23549, 33358, 14252, 28691, 50288, - 57960, 55388, 10796, 6584, 22685, 36904, 56941, 29592, 64168, 24183, 55027, 49816, - 25008, 41278, 3909, 54649, 27278, 48757, 45572, 49370, 30605, 50774, 2717, 7802, - 14564, 58630, 30744, 9113, 15957, 49563, 25235, 5865, 23366, 23402, 64888, 9922, - 51498, 26597, 5462, 19900, 7574, 63745, 43211, 20357, 21043, 29759, 17634, 56256, - 50034, - ])) - .unwrap(), - c: 227, + a: 55674, + b: List::::try_from(Vec::::from_iter([51843])).unwrap(), + c: 103, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 48, b: 3998434500497351183, c: 1718012518 }, - FixedTestStruct { a: 251, b: 4416660904362289185, c: 1596040344 }, - FixedTestStruct { a: 69, b: 5158912912770106064, c: 241204715 }, - FixedTestStruct { a: 123, b: 8382074815237110674, c: 1679281156 }, + FixedTestStruct { a: 51, b: 8951864537982408591, c: 648765584 }, + FixedTestStruct { a: 123, b: 4699791381600974666, c: 2038553040 }, + FixedTestStruct { a: 170, b: 1053862214600258695, c: 1813309682 }, + FixedTestStruct { a: 254, b: 4682841909108083768, c: 3230963302 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 15384, - b: List::::try_from(Vec::::from_iter([ - 5959, 6219, 51610, 25393, 26568, 36825, 33793, 15462, 3731, 46490, 18670, - 59749, 64649, 30855, 57728, 46187, 48013, 29656, 5719, 2129, 39236, 12781, - 44300, 17277, 16144, 18436, 48934, 47980, 49588, 44451, 11375, 19642, 3430, - 13018, 30729, 35357, 20384, 7598, 4906, 32580, 58767, 56361, 14687, 41085, - 57927, 16925, 44121, 36156, 38729, 54197, 2831, 22096, 9762, 58970, 42830, - 27376, 42089, 59723, 63066, 28894, 44596, 31886, 2118, 6079, 8228, 47080, - 13300, 38540, 57184, 8925, 13265, 60115, 18196, 24774, 54258, 26994, 30908, - 42248, 16526, 45656, 26613, 11960, 34505, 4644, 63475, 48352, 48284, 14257, - 46426, 58673, 28058, 63352, 12968, 3979, 49824, 26719, 44872, 18876, 65262, - 25073, 26748, 60971, 7063, 16460, 19174, 49338, 55019, 54480, 64045, 17218, - 19906, 49895, 10195, 40600, 58356, 51597, 16293, 8680, 17010, 32074, 53368, - 1643, 49264, 50093, 42292, 29629, 47139, 34649, 8461, 53079, 47853, 1738, - 34660, 49167, 55509, 49734, 20701, 48965, 46535, 8257, 20975, 62645, 60014, - 46229, 29956, 60648, 26813, 47195, 25104, 58288, 65234, 19043, 53027, 4272, - 64416, 24705, 64563, 21854, 19159, 28833, 3451, 57904, 42054, 65466, 7439, - 25431, 25170, 11291, 12745, 29751, 43088, 55028, 52414, 61549, 61586, 3664, - 17723, 64044, 3554, 39822, 61535, 28851, 9006, 21400, 56127, 50769, 44122, - 1444, 41403, 65153, 29299, 38533, 39523, 6388, 19035, 35519, 64052, 21244, - 46638, 49630, 4620, 14246, 55839, 39755, 59444, 31426, 64998, 24926, 22412, - 49777, 8346, 3047, 11398, 39726, 7626, 26854, 22072, 43614, 35621, 29573, - 26821, 49768, 8466, 52756, 31542, 54525, 58698, 37824, 5296, 34358, 5260, - 18163, 42916, 5765, 60153, 10137, 54670, 14537, 35912, 32866, 12687, 51059, - 39025, 62160, 29538, 27957, 46811, 56877, 63408, 56240, 51150, 20998, 4555, - 55239, 37606, 49990, 3329, 35258, 8374, 39443, 46818, 50064, 39279, 25335, - 54222, 62298, 37825, 10869, 15118, 58081, 9682, 62477, 59610, 25043, 61584, - 53776, 52624, 9470, 3509, 26592, 61925, 53692, 5954, 60498, 56927, 10820, 4267, - 26148, 2979, 39078, 64438, 21733, 60908, 53109, 16152, 58066, 8907, 43706, - 12557, 29217, 23523, 43543, 45883, 51974, 53745, 30563, 44917, 20337, 41205, - 16985, 57304, 42917, 55884, 30273, 32150, 48084, 29207, 52436, 13353, 16835, - 38685, 2575, 50733, 48585, 3443, 25052, 2813, 11267, 42974, 47810, 62158, - 49096, 24447, 32912, 48257, 46798, 2959, 57701, 53772, 24083, 16381, 40240, - 64086, 53960, 26584, 23731, 681, 18244, 32655, 6467, 52000, 54924, 1776, 35889, - 11103, 42746, 18101, 25944, 35968, 19621, 25010, 46524, 46861, 22103, 12804, - 4838, 57402, 32212, 11887, 2832, 63361, 1774, 3132, 10579, 18957, 8840, 3101, - 35556, 57981, 59369, 239, 52584, 38141, 4223, 32392, 31456, 6448, 27970, 14905, - 38217, 15609, 61709, 38072, 46825, 58297, 2109, 51016, 56858, 42974, 63839, - 29124, 21198, 36140, 43033, 63130, 53850, 57280, 8933, 46591, 7853, 50782, - 18932, 46531, 254, 60849, 9653, 52901, 23043, 39212, 49193, 30108, 16261, - 10505, 50480, 42465, 1442, 22624, 326, 12075, 50553, 42752, 8989, 2097, 4941, - 18560, 18083, 53395, 64342, 54640, 34025, 3771, 51317, 2777, 45122, 62673, - 30879, 9642, 9997, 41401, 29251, 51099, 1379, 57810, 6953, 33610, 39181, 44671, - 19306, 44920, 59263, 54267, 8652, 24750, 30831, 33661, 61646, 38958, 37168, - 46969, 34679, 48832, 53671, 31429, 36421, 14291, 39228, 13546, 15426, 37474, - 60970, 30742, 294, 10040, 25366, 14667, 15116, 22052, 60019, 26158, 5256, - 22361, 33442, 18234, 41124, 33579, 12463, 16060, 61772, 34240, 2080, 1626, - 17255, 8641, 52928, 27386, 31134, 28055, 34354, 39063, 59559, 10366, 18065, - 18010, 7621, 43091, 34856, 7031, 34665, 17818, 25718, 45279, 6968, 50897, - 35321, 42, 18302, 26360, 12134, 55188, 4650, 64873, 28227, 61398, 19969, 44079, - 61632, 57169, 52134, 44441, 11602, 5340, 62268, 12737, 52834, 8472, 25361, - 26360, 43941, 11080, 56189, 60049, 6652, 43078, 1450, 39574, 40169, 13405, - 61600, 37263, 3362, 16721, 30031, 16801, 60472, 64269, 6259, 46961, 51379, - 20276, 8681, 27259, 22382, 62223, 22173, 3060, 54646, 11948, 51499, 37744, - 29314, 22686, 57945, 21684, 19084, 32743, 29609, 6717, 27254, 53561, 35172, - 4283, 10536, 51153, 1410, 40941, 27316, 16489, 33575, 63, 60563, 40086, 21379, - 64478, 18406, 56345, 5069, 32049, 63954, 47988, 8078, 34885, 33431, 6785, - 28016, 8251, 27484, 55375, 44501, 23571, 13318, 22758, 39371, 8213, 50481, - 9062, 12390, 40632, 28069, 64830, 61586, 39768, 60888, 14639, 7425, 52186, - 35263, 31977, 63260, 8946, 64552, 10606, 45470, 50546, 40694, 31475, 56734, - 52936, 59738, 24944, 18581, 2129, 1661, 32940, 32660, 30031, 59302, 21684, - 45854, 53364, 39399, 43713, 51339, 8330, 23889, 1836, 57516, 7168, 53639, - 64409, 46910, 20769, 54063, 37013, 18226, 16336, 36838, 50611, 18220, 40804, - 5837, 11764, 15492, 20120, 39206, 81, 41196, 13405, 62579, 11607, 64411, 13359, - 1074, 33085, 56376, 56313, 44159, 41297, 49935, 39849, 33794, 40972, 63412, - 12501, 45346, 5195, 46890, 50103, 286, 18457, 34622, 16698, 58580, 60837, 9504, - 28204, 4829, 59565, 57319, 36982, 3922, 29571, 5260, 36530, 58266, 11378, - 24878, 16180, 4973, 43290, 46938, 53044, 37348, 56705, 65269, 1966, 47327, - 22460, 15514, 23699, 52380, 3010, 9807, 12779, 32086, 35809, 63962, 48728, - 35518, 46672, 5279, 4572, 64516, - ])) - .unwrap(), - c: 206, + a: 5130, + b: List::::try_from(Vec::::from_iter([59171])).unwrap(), + c: 150, }, VarTestStruct { - a: 58443, - b: List::::try_from(Vec::::from_iter([ - 35162, 59545, 64720, 35632, 63282, 59684, 14274, 55738, 60495, 50521, 43762, - 38088, 19927, 14449, 59919, 37496, 24495, 38854, 31634, 662, 45989, 9417, - 25665, 48594, 3179, 6071, 33212, 37207, 5791, 29739, 865, 21841, 54280, 16054, - 4641, 55042, 3141, 45192, 17522, 54160, 4066, 28145, 17582, 17626, 21776, - 41753, 23230, 10570, 21156, 61673, 33491, 4486, 51168, 2920, 19023, 24502, - 33483, 53943, 42885, 52217, 49185, 45990, 23638, 6999, 26281, 43556, 1019, - 7817, 30403, 39535, 60253, 37769, 11131, 54629, 60309, 37588, 46457, 26521, - 24357, 33458, 23086, 28445, 31369, 63813, 37864, 37404, 36455, 3489, 49395, - 12855, 64232, 25925, 18167, 41147, 43357, 47109, 43180, 43678, 47432, 31444, - 22862, 61991, 1366, 19702, 45567, 28319, 44365, 58590, 31208, 16295, 23547, - 45385, 40447, 32375, 4905, 46723, 22423, 46100, 41751, 17262, 975, 64042, 6757, - 57384, 1027, 6433, 60591, 44286, 44746, 60038, 49602, 51315, 5312, 33843, - 27688, 44575, 1905, 52650, 11955, 27127, 49436, 25995, 62818, 6943, 34032, - 47025, 25404, 38528, 27120, 8473, 20581, 3685, 53190, 51264, 33840, 63510, - 22577, 3027, 6513, 61229, 23643, 62206, 41084, 35864, 10879, 25393, 64165, - 4428, 3728, 16139, 61809, 59266, 16172, 4004, 61975, 65374, 18083, 14269, - 63791, 11977, 50743, 21922, 59719, 59944, 1287, 35884, 27892, 13434, 64990, - 14049, 6884, 33440, 53916, 47914, 10587, 41253, 4186, 37441, 59907, 15773, - 16296, 59000, 44655, 3325, 53898, 27044, 47556, 28171, 10751, 54328, 44318, - 41344, 26848, 35614, 40184, 28054, 53430, 63613, 51654, 45564, 13307, 6919, - 39434, 37675, 17131, 46880, 59654, 32246, 59236, 42432, 40224, 48163, 57589, - 32531, 29170, 49552, 46317, 55073, 45335, 4681, 17466, 30415, 27755, 19940, - 22913, 10394, 48731, 53706, 52702, 2568, 54014, 54728, 4097, 23648, 13740, - 44910, 55461, 51665, 29863, 19767, 40241, 25724, 53277, 23478, 45597, 63021, - 63149, 35421, 41107, 35354, 59844, 13259, 63558, 15557, 52231, 10270, 38484, - 13879, 31907, 27744, 64604, 39975, 29556, 996, 57375, 42994, 53005, 37285, - 8311, 35763, 42671, 22629, 31919, 18842, 52562, 35920, 22700, 63283, 42216, - 61460, 46431, 42657, 50637, 56170, 62798, 25184, 53436, 39036, 7002, 7441, - 61339, 12453, 59392, 49829, 46374, 38689, 8662, 35532, 32467, 11004, 62526, - 50099, 54850, 44561, 29706, 29954, 51586, 20893, 18585, 54749, 23821, 55786, - 56696, 59582, 57718, 32218, 17687, 43837, 26122, 59632, 14502, 49574, 17235, - 45649, 48339, 52198, 40540, 5778, 63968, 28732, 50271, 56804, 37989, 51131, - 20681, 59430, 26846, 49197, 25369, 23653, 28979, 9079, 19761, 50837, 33837, - 62812, 50432, 19545, 20756, 65115, 37383, 56885, 11798, 8141, 54229, 26981, - 28050, 32423, 62389, 9536, 20055, 9898, 38777, 21528, 36533, 12410, 19648, - 36981, 60106, 59734, 44457, 53061, 2345, 2123, 9578, 43292, 15286, 8112, 62899, - 65455, 2037, 6451, 45211, 32266, 4951, 33196, 4214, 28583, 14900, 25086, 11575, - 64019, 57452, 29542, 62365, 26818, 1525, 64756, 5441, 4596, 31735, 48100, - 63207, 48087, 46687, 41302, 36221, 10083, 13884, 5194, 53193, 45184, 14194, - 54876, 48152, 62164, 42523, 47250, 2382, 3520, 13475, 51367, 37039, 10004, - 63567, 19937, 3806, 18555, 55444, 18713, 42419, 9475, 4584, 1297, 5286, 2121, - 56235, 40598, 28506, 28734, 61027, 58442, 63388, 29947, 41243, 61891, 31132, - 31346, 62525, 27215, 6431, 28961, 29590, 21294, 33959, 20008, 44409, 3993, - 12571, 8595, 446, 29954, 43691, 657, 18210, 13179, 62353, 60336, 36775, 5826, - 9593, 24987, 737, 20181, 15850, 53097, 24013, 54712, 30251, 64521, 13087, - 37573, 40672, 36764, 30216, 7657, 57808, 19938, 39499, 40751, 11706, 16785, - 17176, 43432, 64933, 60776, 61213, 49322, 32640, 1415, 59737, 38896, 52038, - 33523, 51402, 14645, 61535, 64572, 13787, 32877, 58387, 61861, 7235, 64661, - 37363, 5420, 36179, 13616, 40814, 5139, 1362, 27082, 55688, 50228, 58806, - 30812, 63570, 30172, 17650, 39695, 14953, 27195, 51182, 32917, 19422, 19611, - 50538, 53048, 21892, 4814, 52565, 44784, 4158, 63727, 61735, 28642, 62125, - 37773, 44550, 59696, 14665, 12393, 52089, 6948, 15903, 38387, 17751, 27447, - 19734, 65045, 47494, 55724, 49437, 51140, 18432, 48788, 32370, 58643, 30998, - 30852, 53140, 7903, 29220, 34556, 5427, 47399, 54001, 34680, 56949, 33742, - 48436, 60298, 14576, 32116, 21245, 48655, 47081, 41389, 64676, 19491, 41551, - 63641, 12802, 48869, 35667, 52732, 18219, 29279, 29855, 13755, 52778, 62678, - 61131, 36153, 42729, 51075, 5702, 7693, 12944, 27100, 11036, 5376, 37992, - 30803, 6722, 27931, 1247, 62228, 6100, 33655, 22528, 46742, 27397, 32372, - 47329, 60046, 24562, 19228, 53344, 58912, 55103, 49343, 20384, 5567, 42069, - 24273, 46768, 33387, 42809, 34843, 36283, 13428, 28143, 26179, 6718, 24023, - 23004, 24257, 10534, - ])) - .unwrap(), - c: 156, + a: 48351, + b: List::::try_from(Vec::::from_iter([14640])).unwrap(), + c: 9, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_5/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -15069,1718 +10963,2770 @@ fn test_containers_complex_test_struct_random_3() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("94ae9da9095ee46b7da1e78d09ff01ca80f996b586792b8a586858b479416fad"); + root_from_hex("0x65b2e7eb07c99979ba85bc12bfb32c3f443bdc9a0a5ea5c284d5f4a4a8255615"); assert_eq!(root, expected_root); } #[test] -fn test_containers_single_field_test_struct_random_4() { - let mut value = SingleFieldTestStruct { a: 17 }; +fn test_containers_complex_test_struct_one_6() { + let mut value = ComplexTestStruct { + a: 51972, + b: List::::try_from(Vec::::from_iter([48645])).unwrap(), + c: 46, + d: List::::try_from(Vec::::from_iter([105])).unwrap(), + e: VarTestStruct { + a: 1558, + b: List::::try_from(Vec::::from_iter([39947])).unwrap(), + c: 65, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 70, b: 905948488145107787, c: 2675781419 }, + FixedTestStruct { a: 3, b: 12539792087931462647, c: 4719259 }, + FixedTestStruct { a: 73, b: 13544872847030609257, c: 2819826618 }, + FixedTestStruct { a: 159, b: 16328658841145598323, c: 2375225558 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 30336, + b: List::::try_from(Vec::::from_iter([30909])).unwrap(), + c: 240, + }, + VarTestStruct { + a: 64263, + b: List::::try_from(Vec::::from_iter([38121])).unwrap(), + c: 100, + }, + ]) + .unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_6/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1100000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x69b0ce69dfbc8abb8ae4fba564dcb813f5cc5b93c76d2b3d0689687c35821036"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_max_6() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, true, true, true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, true, true, true, true]), - e: Bitvector::<8>::from_iter([true, true, true, true, true, true, true, true]), +fn test_containers_complex_test_struct_one_7() { + let mut value = ComplexTestStruct { + a: 46962, + b: List::::try_from(Vec::::from_iter([51108])).unwrap(), + c: 232, + d: List::::try_from(Vec::::from_iter([51])).unwrap(), + e: VarTestStruct { + a: 61296, + b: List::::try_from(Vec::::from_iter([50107])).unwrap(), + c: 80, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 142, b: 16391694718469767627, c: 1723717716 }, + FixedTestStruct { a: 150, b: 18231846756020050949, c: 4085824434 }, + FixedTestStruct { a: 242, b: 3167723324830397151, c: 3505585751 }, + FixedTestStruct { a: 54, b: 11608704772362674523, c: 2197949526 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 35151, + b: List::::try_from(Vec::::from_iter([47168])).unwrap(), + c: 175, + }, + VarTestStruct { + a: 49526, + b: List::::try_from(Vec::::from_iter([16871])).unwrap(), + c: 223, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_max_6/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_7/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("42fa920fba341869972baf9a71aec699fee9f0d6797f18b5e1406989a2487d81"); + root_from_hex("0x7460458ef6fd374a9de68db7a0b3d0f0d1aed59325725d07a90616456ebcd588"); assert_eq!(root, expected_root); } #[test] -fn test_containers_fixed_test_struct_max_chaos_2() { - let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; +fn test_containers_complex_test_struct_one_8() { + let mut value = ComplexTestStruct { + a: 43221, + b: List::::try_from(Vec::::from_iter([62632])).unwrap(), + c: 161, + d: List::::try_from(Vec::::from_iter([170])).unwrap(), + e: VarTestStruct { + a: 34470, + b: List::::try_from(Vec::::from_iter([49333])).unwrap(), + c: 243, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 120, b: 1523648906580514715, c: 791591623 }, + FixedTestStruct { a: 12, b: 16621022813318247745, c: 1103698378 }, + FixedTestStruct { a: 156, b: 9403042551474992172, c: 3829124548 }, + FixedTestStruct { a: 86, b: 6955517517277308905, c: 3651778934 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 7919, + b: List::::try_from(Vec::::from_iter([5167])).unwrap(), + c: 3, + }, + VarTestStruct { + a: 27175, + b: List::::try_from(Vec::::from_iter([53104])).unwrap(), + c: 220, + }, + ]) + .unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_chaos_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_8/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + root_from_hex("0xdc304f765bc1d7f380986aff8ff000690ca7c7932024088083c2646913353701"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_nil_8() { - let mut value = VarTestStruct { - a: 45577, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 105, +fn test_containers_complex_test_struct_one_9() { + let mut value = ComplexTestStruct { + a: 32826, + b: List::::try_from(Vec::::from_iter([52269])).unwrap(), + c: 179, + d: List::::try_from(Vec::::from_iter([166])).unwrap(), + e: VarTestStruct { + a: 47224, + b: List::::try_from(Vec::::from_iter([27133])).unwrap(), + c: 46, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 190, b: 17267852126418429692, c: 1192183507 }, + FixedTestStruct { a: 86, b: 5812480785575976468, c: 517726582 }, + FixedTestStruct { a: 70, b: 14751118928048906008, c: 2949562141 }, + FixedTestStruct { a: 25, b: 6477487707159203533, c: 627300018 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 53608, + b: List::::try_from(Vec::::from_iter([33375])).unwrap(), + c: 209, + }, + VarTestStruct { + a: 33550, + b: List::::try_from(Vec::::from_iter([39605])).unwrap(), + c: 19, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_8/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_9/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: VarTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("4862179b12978591ac35adb894ffc2ee201c33254090051f7c93f988c3335432"); + root_from_hex("0xb6a6dadc39093cfcbe17d99863ec39be349756cd0e156aa1ecf2edaa6823fab1"); assert_eq!(root, expected_root); } #[test] -fn test_containers_single_field_test_struct_random_3() { - let mut value = SingleFieldTestStruct { a: 46 }; +fn test_containers_complex_test_struct_one_chaos_0() { + let mut value = ComplexTestStruct { + a: 16851, + b: List::::try_from(Vec::::from_iter([43827])).unwrap(), + c: 197, + d: List::::try_from(Vec::::from_iter([24])).unwrap(), + e: VarTestStruct { + a: 2938, + b: List::::try_from(Vec::::from_iter([13314])).unwrap(), + c: 230, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 251, b: 10114294449636136645, c: 3440022400 }, + FixedTestStruct { a: 92, b: 4270638512643996390, c: 2080063790 }, + FixedTestStruct { a: 181, b: 6361529668076857388, c: 3692475116 }, + FixedTestStruct { a: 58, b: 12444896282347205507, c: 36692008 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 45027, + b: List::::try_from(Vec::::from_iter([44189])).unwrap(), + c: 188, + }, + VarTestStruct { + a: 19339, + b: List::::try_from(Vec::::from_iter([60067])).unwrap(), + c: 62, + }, + ]) + .unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_chaos_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("2e00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x6647355693570b0e372117d77096b3049a5ac71571d706fd486a4814b18c637a"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_lengthy_chaos_1() { - let mut value = VarTestStruct { - a: 46450, - b: List::::try_from(Vec::::from_iter([ - 53815, 23219, 41304, 45330, 32243, 36712, 34238, 37499, 13393, 61842, 46925, 51786, - 37439, 42297, 59188, 18119, 62795, 51998, 7978, 28954, 50200, 59690, 4565, 8415, 19163, - 29544, 10890, 61177, 55431, 721, 42854, 37539, 40953, 21821, 18459, 52732, 36437, - 32610, 61155, 19148, 58000, 53667, 41629, 57080, 15326, 13514, 45648, 65316, 15811, - 15059, 20626, 10247, 57083, 33949, 40439, 33306, 56258, 20785, 10969, 53555, 15744, - 52545, 52250, 54501, 5354, 36436, 50374, 17763, 1947, 22979, 59860, 54924, 27630, - 41401, 24625, 13973, 2561, 63754, 34290, 23887, 22333, 47346, 54956, 27842, 65533, - 11120, 28394, 15961, 3409, 7482, 17757, 4871, 41555, 24078, 8376, 36542, 34891, 7862, - 1646, 37229, 10662, 2280, 34764, 444, 7518, 42045, 3767, 16733, 61351, 8120, 36438, - 60008, 32605, 47779, 33928, 64562, 33635, 54560, 58866, 39674, 20170, 16044, 38887, - 28583, 129, 31473, 783, 51063, 16385, 8341, 18676, 57205, 60730, 9331, 19592, 12299, - 36283, 15106, 47941, 8756, 22340, 3761, 50301, 18851, 1566, 53008, 35652, 33031, 17112, - 59669, 31670, 42338, 12072, 27129, 62903, 13600, 38296, 12517, 30244, 30365, 32224, - 54935, 47085, 39463, 12952, 36889, 44606, 31728, 2782, 25902, 34652, 3707, 27152, - 18037, 38623, 15806, 25880, 712, 50581, 22534, 5939, 4848, 41246, 51993, 15414, 64469, - 6234, 7754, 51283, 54063, 51635, 28711, 9205, 29587, 62204, 25339, 23849, 11488, 16182, - 62836, 24348, 17715, 21470, 25459, 6500, 64361, 3263, 45369, 55162, 38357, 35536, - 20498, 34916, 30295, 8372, 45655, 13405, 58888, 30315, 20257, 44089, 14763, 10317, - 46127, 24032, 18971, 39852, 39077, 29078, 37425, 13006, 54570, 51375, 20150, 55640, - 51686, 55245, 19742, 38890, 40982, 35003, 64823, 42631, 61488, 31632, 7455, 36931, - 43123, 48842, 29669, 44966, 25150, 35923, 45459, 61723, 44084, 8392, 32471, 18668, - 48212, 17095, 46144, 18201, 47720, 45775, 50061, 16570, 48703, 58362, 17050, 48183, - 55239, 59422, 20451, 29870, 52621, 60684, 50749, 38342, 2901, 62388, 5798, 15173, - 48097, 34784, 17125, 53078, 63472, 59950, 51563, 46205, 28969, 11302, 34038, 42994, - 6635, 55248, 54913, 41694, 42387, 8040, 16572, 63255, 49670, 8541, 41008, 64702, 47552, - 39209, 28456, 53171, 27109, 50692, 64189, 13064, 34766, 35636, 63101, 10865, 1441, - 5486, 260, 14709, 37750, 56252, 54155, 30926, 42913, 5939, 33313, 46712, 1064, 20361, - 53948, 18570, 52165, 64140, 40239, 20594, 37025, 31225, 52027, 54740, 29372, 59358, - 26021, 39329, 7308, 44346, 42013, 25023, 35769, 64467, 41556, 13857, 36404, 50815, - 22759, 55348, 5658, 40237, 55137, 58428, 5441, 63072, 25469, 22568, 18580, 47222, - 11844, 23112, 24108, 37436, 49020, 6981, 28720, 9575, 15489, 31703, 28867, 24831, - 41830, 20466, 54663, 52985, 53847, 21832, 5026, 434, 45089, 24649, 48310, 15696, 65450, - 19434, 34597, 2821, 21507, 63841, 21963, 56682, 22809, 49532, 62239, 57983, 59172, - 58153, 46442, 26500, 32747, 57735, 59028, 49777, 965, 288, 13447, 48587, 7031, 5396, - 18330, 14998, 47837, 24214, 26039, 24542, 19194, 5681, 9716, 46298, 27029, 33491, - 56277, 7121, 13223, 11068, 57945, 15288, 26912, 23264, 6743, 4929, 52996, 22894, 58561, - 16920, 37462, 43905, 48004, 52801, 30553, 11613, 22022, 45166, 37483, 14373, 23501, - 14134, 16403, 4575, 64559, 55767, 9423, 35695, 14815, 19733, 26749, 52436, 48768, - 24201, 41244, 1477, 23551, 31958, 53160, 63464, 13473, 63980, 17890, 40460, 13843, - 52956, 62214, 37879, 37243, 38253, 48602, 49927, 29385, 1985, 19232, 51003, 12484, - 38294, 1202, 8466, 56031, 14488, 8312, 3782, 41024, 3171, 1792, 32704, 13933, 49921, - 15045, 55569, 61347, 62579, 13350, 62727, 20188, 12454, 14635, 61401, 31489, 22652, - 60441, 7574, 7941, 15775, 61791, 14152, 19873, 21486, 10785, 64726, 39419, 51936, - 12249, 30992, 26856, 49619, 6774, 11323, 54210, 41107, 46291, 63461, 24728, 54476, - 32228, 7443, 17132, 23641, 54251, 8367, 31316, 14250, 51401, 23714, 4988, 8371, 54314, - 40567, 57319, 8311, 60262, 60427, 6257, 17549, 13372, 16321, 7291, 12434, 40963, 39663, - 41886, 48460, 57074, 60588, 42840, 60047, 6992, 29698, 12074, 57226, 39497, 2289, - 52852, 57268, 1466, 64864, 38343, 22181, 9153, 28859, 49882, 4564, 39079, 40774, 61138, - 18774, 11587, 16588, 15449, 20441, 25149, 10066, 4972, 38950, 27173, 60397, 21344, - 38531, 6185, 49719, 43534, 64750, 1737, 55191, 52317, 27345, 64448, 24499, 40368, - 12518, 23293, 27291, 63314, 50465, 14671, 31035, 6128, 58758, 27640, 17980, 62335, - 43362, 48073, 811, 3807, 1870, 35718, 49984, 57003, 39895, 28740, 34797, 32330, 62802, - 45538, 5793, 47763, 31959, 63332, 15641, 26180, 46072, 45605, 35560, 19376, 10579, - 61498, 25507, 27411, 10883, 63891, 5384, 59475, 40044, 52166, 25655, 8674, 44295, - 15074, 43031, 17567, 15485, 55792, 22674, 62040, 60209, 18010, 7973, 56005, 23911, - 57452, 57347, 6297, 42109, 25974, 29793, 54731, 1701, 9786, 19292, 9187, 10968, 54674, - 24644, 34921, 26031, 37647, 65404, 587, 12857, 39648, 12273, 41316, 47052, 6449, 26772, - 63822, 56316, 35518, 30048, 24147, 17823, 21394, 63705, 35825, 51881, 34392, 20310, - 34410, 51673, 52657, 30806, 56707, 37684, 39168, 56072, 55389, 11961, 13076, 21677, - 49886, 47865, 55394, 36846, 20535, 47786, 41537, 57912, 1707, 28968, 12108, 8792, - 36791, 27776, 55399, 11252, 36907, 36646, 7994, 46421, 22597, 6197, 28198, 42557, - 24798, 43103, 63775, 39028, 34517, 53298, 38458, 61529, 22596, 1793, 7128, 42220, - 62128, 16299, 3749, 40788, 46481, 7871, 38703, 27884, 59881, 59674, 23468, 41242, - 64595, 32169, 48328, 8771, 28526, 60446, 64807, 19418, 39818, 660, 6437, 13359, 2883, - 11975, 55842, 11909, 13193, 35027, 50963, 18961, 12900, 62466, 28827, 50289, 42800, - 54309, 63424, 60713, 13420, 57448, 43947, 1200, 28313, 45208, 31160, 2080, 9026, 20835, - 7179, 16694, 53770, 52442, 46632, 60774, 61392, 23959, 57655, 57363, 38771, 59953, - 14331, 43108, 15987, 4941, 7057, 64537, 46861, 37551, 41889, 7822, 51509, 47448, 32722, - 3605, 20586, 3226, 49087, 41308, 6481, 19612, 49897, 21641, 43478, 48976, 22441, 23940, - 52115, 49428, 54259, 10670, 38070, 30094, 47149, 40210, 38411, 32519, 5168, 21211, - 41986, 30603, 27991, 28102, 48731, 35494, 64463, 24130, 6581, 38618, 52409, 60295, - 59425, 41217, 29230, 33258, 58234, 52037, 62565, 9903, 24313, 42976, 29734, 18303, - 35977, 83, 42942, 24716, 11414, 48812, 51933, 48171, 8820, 6372, 5369, 27373, 19628, - 33915, 54501, 22912, 55528, 1282, 49166, 28533, 47127, 36994, 27896, 49283, 49108, - 2461, 54902, 6309, 45677, 28862, 53061, 46592, 33067, 40713, 10528, 62921, 48045, 4657, - 55407, 615, 63814, 1670, 56231, 38838, 15505, 62852, 35941, 13494, 41569, 1083, 57482, - 54532, 47151, 22739, 57113, 576, 6756, 25960, 63830, 3926, 9697, 64726, 14911, 12134, - 7632, 63686, 18283, 56365, 8873, 11492, 44421, 49631, 34782, 40194, 13934, 18860, - 16820, 37944, 13033, 15803, 51247, 37152, 6628, 20893, 15208, 52676, 61581, 36672, - 4209, 61471, 62962, 19527, 12616, 9512, 22660, 58297, 11694, 38011, 49668, 36555, - 33319, 53637, 15263, 54033, 60941, 41870, 37948, 8272, 42168, 12776, 42741, 59062, - 32985, 26729, 11285, 47287, 18264, 39419, 61710, 58320, 39309, 48154, 18701, 53166, - 7673, 11055, 36627, 50421, 12532, 636, 23123, 14996, 36863, 11099, 20147, 56319, 7048, - ])) +fn test_containers_complex_test_struct_one_chaos_1() { + let mut value = ComplexTestStruct { + a: 38015, + b: List::::try_from(Vec::::from_iter([22188])).unwrap(), + c: 189, + d: List::::try_from(Vec::::from_iter([137])).unwrap(), + e: VarTestStruct { + a: 27201, + b: List::::try_from(Vec::::from_iter([3990])).unwrap(), + c: 169, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 244, b: 17680911497750963160, c: 2820605766 }, + FixedTestStruct { a: 41, b: 6582973943842155323, c: 3930139073 }, + FixedTestStruct { a: 181, b: 5035412352079054455, c: 1060450728 }, + FixedTestStruct { a: 161, b: 16594572392883778734, c: 925588037 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 6057, + b: List::::try_from(Vec::::from_iter([55])).unwrap(), + c: 169, + }, + VarTestStruct { + a: 32091, + b: List::::try_from(Vec::::from_iter([21718])).unwrap(), + c: 207, + }, + ]) .unwrap(), - c: 14, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_chaos_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_chaos_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: VarTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("97fdc2293c9a8a24c32d19ef5284f9e7a767d37b64f50eaaf49e75da4e1b8b23"); + root_from_hex("0xa57d86f4ea29cd835b6bc7adf0a5205f1ed819aa736892dd336da3869d857820"); assert_eq!(root, expected_root); } #[test] -fn test_containers_small_test_struct_random_chaos_2() { - let mut value = SmallTestStruct { a: 9252, b: 757 }; +fn test_containers_complex_test_struct_one_chaos_2() { + let mut value = ComplexTestStruct { + a: 30483, + b: List::::try_from(Vec::::from_iter([9712])).unwrap(), + c: 0, + d: List::::try_from(Vec::::from_iter([70])).unwrap(), + e: VarTestStruct { + a: 50066, + b: List::::try_from(Vec::::from_iter([3290])).unwrap(), + c: 58, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 139, b: 7928507530719916828, c: 4282303815 }, + FixedTestStruct { a: 51, b: 4745801933491683654, c: 1707679012 }, + FixedTestStruct { a: 162, b: 9136612036359568408, c: 168035181 }, + FixedTestStruct { a: 135, b: 15428331690937311254, c: 3775273129 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 31574, + b: List::::try_from(Vec::::from_iter([50627])).unwrap(), + c: 188, + }, + VarTestStruct { + a: 38077, + b: List::::try_from(Vec::::from_iter([18972])).unwrap(), + c: 184, + }, + ]) + .unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_chaos_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_one_chaos_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("d17fddce0872a0df611122a19c13d74e66fbebb51ec5165c03243331a09f157d"); + root_from_hex("0x887aeaa4092a72ed26e711b4e2147f1c1ee3de66f61641981c17326727824d53"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_random_4() { +#[should_panic] +fn test_containers_complex_test_struct_one_last_offset_11_wrong_byte_length() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_last_offset_11_wrong_byte_length/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_one_last_offset_2_wrong_byte_length() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_last_offset_2_wrong_byte_length/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_one_last_offset_7_wrong_byte_length() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_last_offset_7_wrong_byte_length/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_one_offset_11_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_11_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_one_offset_11_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_11_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_one_offset_2_minus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_2_minus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_one_offset_2_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_2_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_one_offset_2_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_2_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_one_offset_7_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_7_plus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_containers_complex_test_struct_one_offset_7_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_7_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +fn test_containers_complex_test_struct_random_0() { let mut value = ComplexTestStruct { - a: 56777, - b: List::::try_from(Vec::::from_iter([ - 58669, 14901, 4758, 38656, 35668, 56803, 11682, 18310, 55525, 27960, 27146, 38815, - 64187, 39411, 10941, 3648, 39464, 58000, 44066, 39145, 10389, 37014, 41092, 35274, - 17322, 33759, 11233, 47511, 43152, 59460, 53641, 45819, 21475, 7896, 45582, 17078, - 37649, 8718, 43178, 47119, + a: 45098, + b: List::::try_from(Vec::::from_iter([24760, 11575, 2534, 13704, 55254])) + .unwrap(), + c: 96, + d: List::::try_from(Vec::::from_iter([ + 141, 59, 88, 169, 119, 128, 156, 87, 77, 70, 192, 123, 130, 5, 192, 216, 198, 140, 107, + 43, 49, 109, 137, 161, 195, 146, 241, 74, 32, 190, 3, 4, 2, 219, 194, 152, 240, 57, 73, + 24, 151, 186, 238, 220, 46, 78, 90, 76, 175, 161, 242, 111, 30, 99, 220, 54, 120, 155, + 57, 74, 144, 220, 158, 69, 130, 204, 20, 24, 237, 119, 58, 18, 82, 121, 96, 112, 67, + 113, 48, 206, 48, 208, 230, 91, 34, 223, 13, 141, 184, 142, 132, 77, 174, 161, 236, + 129, 214, 215, 207, 3, 125, 62, 31, 93, 49, 139, 203, 36, 84, 96, 205, ])) .unwrap(), - c: 226, - d: List::::try_from(Vec::::from_iter([154, 190])).unwrap(), e: VarTestStruct { - a: 2759, + a: 1284, b: List::::try_from(Vec::::from_iter([ - 39699, 46298, 7448, 19899, 6144, 52837, 26829, 38886, 23820, 35946, 58633, 13819, - 11247, 46958, 28664, 52929, 26408, 62264, 12903, 30760, 17166, 59453, 64336, 61824, - 33197, 54525, 38617, 25063, 1731, 64709, 25564, 9563, 22479, 31853, 50843, 41574, - 12816, 22986, 4137, 60585, 56048, 60455, 14466, 44481, 5689, 60715, 29205, 63692, - 9727, 38572, 57108, 62452, 29863, 4130, 35549, 38080, 10213, 411, 17036, 37007, - 24565, 14907, 53667, 48498, 408, 50919, 44237, 6647, 4239, 53829, 38869, 57756, - 21736, 48823, 35815, 13672, 35539, 38862, 42821, 50006, 38067, 37411, 1806, 39749, - 31626, 14046, 46026, 62425, 19510, 42936, 17349, 8376, 50417, 47844, 3491, 44710, - 3796, 54420, 35523, 64331, 29511, 52637, 44893, 35872, 28700, 56385, 62119, 52410, - 40957, 61241, 12706, 34258, 63935, 49387, 11233, 26947, 25455, 58644, 41027, 18686, - 50331, 52987, 46983, 40603, 8886, 64866, 52410, 15458, 20538, 577, 59315, 59671, - 31297, 51849, 31466, 34670, 17694, 54761, 59173, 29613, 59693, 63065, 17739, 19650, - 17050, 59149, 57621, 46228, 50327, 6693, 25039, 11063, 62261, 58359, 15818, 48507, - 48622, 3402, 10547, 51484, 25653, 42575, 51387, 990, 24953, 65430, 40094, 38531, - 21456, 23033, 24202, 45232, 27755, 33648, 59889, 49245, 21906, 41546, 8159, 26864, - 51763, 23136, 62203, 31976, 13355, 25828, 60697, 46582, 7256, 40078, 46452, 10076, - 46272, 20411, 8516, 16887, 26936, 25939, 37, 52844, 42344, 27183, 64865, 37586, - 14244, 53517, 56603, 4649, 27775, 26341, 47007, 9267, 42058, 9529, 54730, 17953, - 55329, 60734, 20942, 63728, 17289, 12012, 35435, 1106, 59095, 55240, 36052, 19199, - 9861, 15577, 19543, 28742, 56007, 51961, 61352, 15991, 29778, 17014, 23187, 12025, - 27830, 37054, 2635, 9527, 59195, 41946, 20400, 48976, 38560, 15817, 18047, 23032, - 10765, 16317, 47525, 25135, 58060, 22450, 61853, 63132, 21130, 10479, 16069, 42913, - 44545, 35647, 36144, 19307, 37267, 18197, 19657, 55271, 31084, 34266, 38926, 43410, - 46895, 17288, 259, 44592, 4484, 49372, 24526, 58018, 28232, 14522, 43371, 34524, - 57058, 24616, 30653, 52186, 58960, 22952, 16310, 29940, 43950, 31320, 37826, 21188, - 51035, 36642, 5591, 58958, 9101, 8365, 24010, 58502, 62860, 24437, 49761, 16085, - 9293, 5992, 18106, 42021, 27937, 51455, 52028, 2873, 60884, 55841, 29054, 14332, - 16254, 6069, 56297, 14910, 30063, 29434, 1480, 22924, 39119, 8086, 41612, 38000, - 5295, 21786, 53146, 65052, 15335, 51649, 15245, 46139, 12785, 60247, 23759, 34606, - 9286, 54944, 23939, 31545, 22324, 28615, 65511, + 62801, 12676, 50809, 30221, 38726, 51052, 18468, 59585, 63940, 64980, 40354, 21180, + 31638, 16957, 49696, 164, 41620, 32688, 48922, 13279, 1759, 7737, 63477, 47970, + 54063, 29083, 51239, 18581, 28120, 35618, 8863, 16998, 29260, 38915, 32819, 63268, + 20560, 18956, 51280, 23952, 11129, 56406, 3342, 3822, 51901, 45000, 41696, 40385, + 31779, 928, 32255, 53443, 33570, 45501, 51216, 43732, 24156, 35486, 9812, 33584, + 59672, 43287, 14471, 4037, 58903, 22222, 21087, 14542, 38704, 30732, 41262, 58351, + 45925, 50970, 29249, 39963, 24542, 14433, 31920, 33158, 23374, 57731, 54091, 42771, + 38871, 65074, 33415, 19160, 16143, 51638, 50090, 36329, 26287, 57137, 5633, 56449, + 39625, 38031, 48938, 48348, 9966, 30765, 26355, 8632, 45986, 23892, 36279, 33895, + 34323, 24456, 1291, 3627, 9140, 36608, 15198, 6627, 49584, 63051, 50591, 40412, + 54586, 46933, 819, 13979, 42852, 56843, 3091, 46616, 41949, 5561, 50973, 65043, + 41758, 41270, 60854, 61638, 58097, 49082, 28009, 48886, 56033, 31292, 36613, 52316, + 64550, 27960, 51763, 64807, 360, 11327, 54514, 45232, 27822, 5464, 13285, 51333, + 43546, 44771, 62811, 43740, 49103, 54050, 53678, 25000, 27644, 32503, 60383, 14930, + 1853, 14877, 62163, 11335, 10795, 14575, 49439, 39597, 50801, 41069, 48537, 39603, + 15218, 51080, 7835, 25379, 24238, 13033, 15896, 30372, 275, 23453, 8503, 13084, + 58034, 8739, 34600, 25443, 54836, 44961, 18656, 29412, 15764, 2618, 24311, 37072, + 9785, 31723, 49067, 54898, 17572, 14430, 62910, 3421, 12689, 12978, 26233, 431, + 28622, 46748, 44543, 51497, 16017, 48776, 35900, 31745, 31204, 27197, 34761, 65462, + 34986, 17400, 65413, 12739, 23434, 63499, 64320, 40163, 18430, 53400, 32036, 39530, + 34385, 47477, 37997, 54620, 33135, 57990, 62186, 20679, 33802, 46961, 61819, 38704, + 10434, 8675, 14572, 16605, 54880, 46512, 61751, 46750, 22458, 12165, 27426, 59728, + 8463, 4877, 5477, 8167, 49491, 2355, 54078, 61927, 6846, 38062, 38821, 46381, + 49303, 63599, 46708, 47439, 8465, 39556, 60260, 21415, 30693, 60905, 4905, 45868, + 37397, 40072, 16145, 17471, 19502, 58308, 47396, 57259, 23509, 59274, 30231, 50802, + 6241, 54565, 41870, 11052, 15025, 58401, 64859, 37129, 55258, 16163, 50668, 51358, + 22008, 51206, 19003, 58277, 16706, 5106, 61860, 43434, 52523, 64227, 63820, 38277, + 62597, 23057, 41607, 5143, 32730, 27833, 36142, 37387, 49747, 33054, 54032, 22789, + 1146, 26097, 45312, 28010, 42407, 10524, 39414, 30977, 45149, 36752, 7575, 31660, + 14392, 3013, 34379, 34915, 27881, 53059, 30975, 61054, 51041, 36721, 24576, 43343, + 20200, 11545, 58098, 37743, 16966, 24617, 30184, 54565, 4478, 41471, 57584, 50767, + 24311, 57709, 61960, 20956, 27405, 26808, 14702, 27203, 18802, 46072, 58598, 62292, + 53382, 26220, 65021, 56397, 37777, 51076, 37342, 9956, 51351, 11231, 40949, 38411, + 43224, 13856, 28755, 61099, 54806, 38782, 35186, 48589, 62021, 48608, 35636, 48491, + 21764, 7498, 59701, 28354, 56587, 63799, 20040, 55283, 40167, 50476, 7051, 62170, + 25811, 28859, 8908, 702, 26577, 36510, 43810, 28804, 40947, 47961, 14353, 48346, + 40133, 64817, 56334, 64974, 24892, 10439, 41491, 40326, 34988, 57939, 55987, 60406, + 64400, 55949, 51913, 47956, 33850, 3299, 20494, 46240, 4524, 39497, 11102, 4618, + 1095, 7133, 13375, 9845, 511, 8393, 18101, 44759, 47744, 29751, 41955, 57665, 1245, + 32303, 11193, 51187, 17554, 61974, 37301, 47236, 19647, 31536, 16177, 48131, 51359, + 56360, 35750, 24390, 9649, 34896, 23661, 14856, 44515, 42323, 3387, 35370, 29921, + 10462, 64264, 43005, 14082, 3573, 60543, 13781, 46362, 46395, 58536, 21370, 6328, + 43763, 43510, 62052, 20617, 19958, 42542, 22985, 46933, 42263, 54655, 18168, 40689, + 61202, 5421, 1030, 55210, 40852, 55448, 59304, 35819, 34683, 1792, 63255, 10752, + 26304, 27346, 28114, 13574, 4186, 12962, 22023, 46593, 26272, 7532, 14897, 33813, + 4690, 14544, 12203, 28806, ])) .unwrap(), - c: 237, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 52, b: 12728543440427803475, c: 794847716 }, - FixedTestStruct { a: 129, b: 16258032708543429508, c: 2773321321 }, - FixedTestStruct { a: 3, b: 16027621960155161403, c: 3849861284 }, - FixedTestStruct { a: 246, b: 5528410490619814594, c: 22081984 }, + c: 96, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 188, b: 9730166158537326586, c: 582055670 }, + FixedTestStruct { a: 142, b: 12146156903005665865, c: 481599615 }, + FixedTestStruct { a: 68, b: 14644856350027584855, c: 637057914 }, + FixedTestStruct { a: 161, b: 15243040026072936985, c: 1682921351 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 16350, + a: 59880, b: List::::try_from(Vec::::from_iter([ - 55724, 36052, 59659, 3703, 31564, 52017, 62286, 14084, 30657, 38794, 12251, - 34934, 2518, 17182, 52210, 21592, 8785, 27241, 27231, 7912, 61394, 2883, 52437, - 5432, 56815, 34442, 10525, 48307, 62716, 30821, 26180, 34865, 33159, 27818, - 31917, 12505, 38124, 6538, 9838, 9467, 4074, 48338, 17180, 10202, 34037, 1852, - 24549, 25000, 48868, 4136, 62485, 25614, 45444, 24605, 39973, 27183, 10183, - 37179, 47939, 44296, 40679, 10445, 41000, 2872, 29096, 36085, 25029, 26480, - 62517, 65139, 55264, 48378, 14726, 63847, 60787, 39708, 52192, 32272, 26793, - 329, 10573, 52428, 29696, 36976, 51753, 37922, 9587, 32225, 53652, 28550, - 39277, 52368, 61982, 37239, 22942, 46758, 39026, 59171, 44294, 57664, 51825, - 40556, 39979, 757, 4403, 40538, 36105, 9049, 16684, 43391, 25268, 33502, 43705, - 64646, 29001, 62676, 1278, 58847, 10840, 29927, 15692, 17534, 12452, 65502, - 14755, 44639, 13329, 35802, 18270, 21249, 12051, 17182, 37979, 43439, 12321, - 4437, 46750, 12773, 4991, 27930, 27184, 7183, 37595, 57128, 30883, 49590, 4051, - 9642, 3532, 26641, 39078, 33967, 33463, 10070, 49059, 35797, 49158, 55105, - 50170, 58317, 61399, 4817, 44678, 5681, 52495, 29500, 60297, 55516, 7196, - 19270, 14788, 38245, 36247, 56534, 5553, 5599, 30597, 31266, 10655, 47392, - 53563, 50135, 23813, 18563, 57862, 64865, 37464, 4336, 10335, 35814, 51978, - 60156, 38894, 57838, 55640, 5275, 6997, 57103, 14836, 57741, 7342, 36721, - 64923, 63731, 45719, 5258, 22391, 57789, 26763, 4178, 308, 44551, 21887, 45646, - 58959, 49333, 11946, 6243, 57339, 37611, 56882, 30838, 20309, 34555, 57471, - 27781, 27314, 4498, 7224, 25234, 7479, 43758, 63054, 468, 45831, 60268, 14949, - 20692, 14049, 9392, 35058, 34805, 49865, 3181, 28639, 3873, + 51238, 41083, 39782, 47063, 19253, 43226, 61078, 11077, 18828, 32437, 23333, + 54387, 15304, 38402, 45920, 47775, 35413, 10760, 14587, 2142, 44510, 27301, + 13737, 28389, 61990, 40825, 36833, 57074, 44628, 50528, 33918, 56843, 22773, + 34587, 46811, 54157, 33870, 46448, 45017, 54342, 21634, 58217, 41806, 52216, + 62560, 50521, 51846, 43306, 56118, 33693, 39260, 51350, 3603, 13157, 47372, + 2761, 26190, 43524, 1931, 5764, 20664, 48756, 6326, 37655, 4735, 4880, 42669, + 33564, 7178, 51716, 29167, 63508, 15132, 59746, 40067, 2736, 33947, 49661, + 39584, 55606, 26382, 4886, 8623, 62292, 60183, 35005, 50462, 20638, 60782, + 56295, 22674, 32684, 4708, 36045, 37839, 40860, 61535, 8477, 40858, 39972, + 39104, 13437, 36779, 59659, 7427, 10071, 30602, 58474, 60456, 36384, 31033, + 17749, 19732, 51958, 34584, 6692, 55404, 62559, 36039, 44083, 29601, 56259, + 17994, 19934, 32152, 283, 18477, 58722, 59284, 12213, 54589, 6901, 16221, + 48228, 2604, 49844, 46449, 27329, 25538, 38148, 36087, 25060, 13673, 9541, + 23581, 48137, 18068, 57229, 17904, 39674, 21943, 41282, 29001, 58721, 45525, + 12464, 21246, 42220, 43994, 63651, 32165, 41032, 59382, 3510, 11820, 57248, + 58221, 33864, 15286, 16167, 25997, 47605, 30396, 30072, 57188, 3617, 55325, + 42201, 47914, 60230, 48751, 57821, 52789, 62962, 42076, 9530, 64938, 17104, + 25553, 18290, 33513, 13526, 29398, 65444, 10237, 9100, 15080, 21173, 39509, + 38712, 40526, 42677, 26523, 22525, 29897, 16864, 26101, 43991, 42834, 3149, + 41463, 22167, 21716, 30153, 33931, 53729, 37341, 18679, 22148, 58784, 53991, + 15870, 33617, 47541, 3689, 63008, 54687, 39914, 29706, 1133, 45266, 7448, + 24713, 60482, 46040, 46136, 55018, 2821, 63338, 30049, 35694, 50422, 50947, + 48183, 6462, 14170, 7080, 39032, 36947, 13735, 10793, 53683, 32689, 34998, + 39723, 14644, 46400, 51182, 8700, 34778, 60057, 52784, 36164, 60569, 16907, + 55391, 52366, 10984, 25945, 60027, 6108, 61731, 38632, 19487, 15257, 32705, + 53925, 30513, 1036, 56741, 47257, 25869, 34351, 32770, 2781, 47657, 47155, + 18358, 27697, 37245, 56394, 61706, 6130, 1507, 36830, 8926, 41471, 22084, 4709, + 42087, 32166, 14779, 61286, 18848, 53222, 47009, 5024, 41372, 19586, 62620, + 56160, 15734, 56813, 10029, 53484, 26471, 7860, 63554, 15413, 50905, 27286, + 7132, 42831, 20471, 47957, 26207, 58312, 29701, 61591, 5901, 7686, 18827, + 31053, 23402, 41020, 27898, 52318, 62296, 45516, 40734, 29277, 12421, 2906, + 49157, 30041, 29353, 41798, 56524, 30284, 53110, 42879, 1859, 17633, 10400, + 4691, 50304, 4162, 25306, 16708, 40827, 36860, 3198, 46204, 52425, 9686, 1296, + 37261, 5765, 56562, 26108, 32748, 43094, 21872, 44320, 29356, 41642, 63763, + 31224, 38951, 12326, 57684, 46254, 16900, 22451, 30560, 19083, 11371, 14147, + 15483, 65135, 37717, 45311, 37291, 45223, 21765, 54601, 40722, 44458, 36498, + 10638, 2078, 1566, 1043, 24231, 60296, 33948, 60526, 2807, 4607, 11893, 22546, + 59338, 25429, 27441, 27401, 11880, 8856, 17644, 63453, 35130, 50120, 42497, + 63737, 48365, 52771, 40967, 7256, 31745, 58968, 49826, 46929, 24308, 8951, + 30997, 9340, 24870, 35000, 17240, 49880, 52282, 44365, 15289, 25155, 50359, + 19071, 14016, 15770, 63494, 44598, 65397, 60326, 13321, 10833, 48063, 9501, + 23609, 7644, 35963, 13962, 41249, 21276, 55620, 11630, 42128, 38874, 63304, + 29998, 62631, 13498, 1582, 664, 26228, 24396, 6707, 4801, 27050, 28899, 7644, + 52796, 45772, 24670, 26322, 57744, 4010, 15601, 18837, 8835, 57180, 2025, + 11078, 59063, 55094, 38720, 44201, 31777, 16310, 19213, 26862, 46909, 9462, + 16085, 29557, 41105, 23230, 24319, 16853, 59071, 58820, 47708, 40765, 55587, + 29714, 32635, 961, 24212, 32722, 4142, 26467, 57894, 16479, 30210, 29711, 5112, + 6136, 56713, 7289, 55752, 34673, 37111, 59336, 11557, 20114, 13614, 3525, + 62872, 3560, 26529, 19206, 64369, 52344, 40825, 5967, 60868, 47020, 39618, + 37500, 17726, 8008, 6850, 1338, 7334, 25021, 24509, 16889, 64700, 20285, 32059, + 44716, 59511, 55365, 32630, 13455, 57928, 62465, 23912, 34398, 29132, 27012, + 57444, 45336, 60340, 7714, 44882, 51844, 38093, 23126, 15142, 16800, 54212, + 29856, 57632, 43289, 8879, 23275, 63359, 59317, 20556, 11208, 30643, 39552, + 43491, 1825, 33606, 62158, 58063, 37827, 2509, 42887, 33703, 10760, 16681, + 63750, 16097, 31555, 10722, 6138, 55576, 280, 49584, 19749, 25117, 51770, + 64258, 12061, 13961, 48712, 14490, 47505, 21524, 19496, 46975, 16710, 3392, + 19106, 3757, 52785, 33573, 61594, 59301, 22942, 21244, 28871, 50929, 9546, + 41163, 6988, 14062, 55276, 15650, 9772, 22559, 36131, 48109, 40180, 12911, + 28736, 11906, 36735, 43134, 18150, 6637, 52743, 7653, 62701, 46605, 13450, + 24351, 51399, 56826, 60224, 65266, 53856, 23188, 34504, 34114, 15786, 19629, + 41884, 52356, 4225, 9884, 53460, 39877, 14903, 37672, 39619, 7868, 20750, + 15794, 9913, 30240, 33418, 44756, 5638, 35125, 8412, 21986, 5948, 25577, 43722, + 18043, 65173, 30832, 31201, 46635, 1608, 13472, 51585, 43323, 23167, 29262, + 15327, 4920, 54075, 18266, 17577, 39510, 51636, 62233, 22086, 64792, 26896, + 64500, 55966, 39568, 18200, 45832, 60197, 32892, 13068, 49687, 17142, 3026, + 62589, 19623, 616, 36672, 36830, 51880, 63450, 45700, 35989, 1527, 61371, + 58142, 7782, 61074, 48620, 11495, 63091, 1934, 1057, 44396, 39230, 47927, 8440, + 25883, 50393, 64262, 4791, 4369, 55781, 62252, 11699, 56307, 56616, 17560, + 8339, 21742, 35440, 15369, 26117, 48382, 57360, 35277, 14851, 9748, 47941, + 11765, 6828, 25160, 5817, 54281, 8047, 5511, 7975, 59344, 4473, 21785, 52528, + 5836, 18153, 48343, 28146, 48488, 30276, 64502, 4154, 45509, 59957, 10308, + 34086, 27202, 13855, 64935, 29469, 61467, 39072, 21297, 18919, 39040, 56662, + 55186, 12369, 9690, 7072, 59376, 18090, 48834, 17262, 58046, 53887, 28193, + 39017, 30431, 3632, 16483, 11332, 65443, 55314, 6334, 29170, 13432, 38958, + 33328, 11872, 46856, 30806, 37484, 14213, 22247, 26711, 20113, 65148, 56501, + 35565, 48070, 37682, 54024, 23999, 9949, 54521, 5440, 64748, 28893, 13081, + 54594, 16750, 35353, 2181, 8616, 18175, 28985, 59463, 14121, 15548, 59185, + 52570, 61386, 30140, 61404, 22860, 15944, 60732, 53367, 15091, 49135, 24605, + 58139, 11767, 616, 40902, 16764, 46031, 13946, 43333, 65282, 59400, 51158, + 27837, 35331, 27453, 44651, 12379, 64532, 6171, 43855, 16227, 61879, 6327, + 24863, 64148, 34333, 14684, 45896, 29147, 38364, 33364, 32974, 32789, 40769, + 2693, 10359, 63522, 41864, 34548, 20281, 60357, 20975, 11443, 7685, 1379, + 64175, 32975, 22510, 63824, 2491, 4689, 25561, 34163, 18760, 40177, ])) .unwrap(), - c: 195, + c: 230, }, VarTestStruct { - a: 1960, + a: 53517, b: List::::try_from(Vec::::from_iter([ - 27217, 58622, 36900, 26963, 4204, 60786, 42710, 56503, 46843, 51370, 19004, - 33065, 19965, 43084, 64668, 27518, 13611, 56577, 46714, 7087, 53718, 9608, - 55415, 50731, 4245, 7005, 57050, 64111, 12612, 32539, 26681, 1206, 37790, - 40779, 47291, 895, 3596, 50779, 28792, 15131, 61279, 12922, 48978, 17143, - 58055, 1418, 50876, 26398, 45024, 19142, 21886, 54461, 11344, 38296, 41220, - 56619, 63240, 5497, 30859, 34874, 34087, 24696, + 11845, 15331, 4596, 1367, 47799, 6408, 49887, 10341, 41539, 51692, 34465, + 58213, 10750, 63127, 63235, 45719, 63149, 19657, 26565, 17773, 6406, 65330, + 1027, 40763, 8342, 51231, 19674, 10960, 46107, 61188, 3981, 40258, 31478, + 15641, 25830, 2325, 5027, 43220, 47058, 56688, 35103, 48538, 50311, 18403, + 12957, 58151, 65341, 13196, 38878, 11186, 46418, 52884, 57807, 20946, 25006, + 14041, 5375, 1346, 29742, 31497, 53566, 686, 28299, 56600, 56668, 55235, 26603, + 10936, 27003, 13785, 30510, 38981, 10072, 13327, 62874, 51956, 52132, 54469, + 33946, 37615, 20369, 32870, 43646, 53304, 52190, 33577, 45970, 49705, 59447, + 20141, 62508, 1290, 30408, 5157, 4294, 47033, 45227, 22499, 7603, 59807, 2412, + 18854, 42628, 31777, 11892, 1093, 38363, 4406, 28779, 29532, 40307, 16248, + 21777, 5017, 3058, 41828, 41492, 18681, 38355, 15008, 48239, 59253, 27637, + 42292, 6209, 44985, 43557, 56327, 2992, 16147, 23957, 34105, 48890, 57368, + 20069, 30545, 44840, 26208, 46480, 41268, 46893, 44552, 41668, 55793, 7017, + 14881, 27086, 11382, 46799, 6524, 5353, 60116, 3765, 35142, 3672, 64718, 4880, + 35714, 48414, 40889, 25801, 17772, 5615, 23026, 2703, 40512, 10780, 60628, + 45149, 15555, 54362, 42684, 18369, 44687, 1953, 3184, 48679, 33897, 32253, + 6679, 41234, 33479, 16043, 10340, 34487, 45717, 52308, 36937, 52038, 27657, + 11771, 7402, 33925, 35238, 37953, 64976, 18156, 16069, 21275, 35916, 24117, + 28346, 39854, 58583, 37423, 5674, 25352, 28684, 18097, 44161, 10367, 43200, + 29763, 9643, 32444, 62144, 30998, 13888, 55916, 54535, 18420, 30173, 38308, + 26146, 63608, 40395, 14702, 7447, 2285, 17792, 1131, 33260, 2960, 32332, 38513, + 37337, 2831, 63527, 16931, 22920, 30454, 14495, 33167, 51268, 24171, 58792, + 53698, 57702, 60022, 64480, 4330, 30086, 37025, 42134, 35636, 22129, 16956, + 64925, 62346, 23640, 14228, 30043, 58230, 18841, 39563, 13550, 18521, 19504, + 23667, 477, 10268, 16820, 28933, 45869, 20854, 17269, 64544, 9645, 35815, + 42542, 20048, 20539, 41750, 23915, 57789, 30885, 29366, 55670, 48984, 35912, + 36928, 21634, 2735, ])) .unwrap(), - c: 9, + c: 76, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f4d8e28604d4d5c60dcb52d5f1397f0016cdcbacab21e3e87f943fbf548c0e2a"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_max_1() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true]), - e: Bitvector::<8>::from_iter([true, true, true, true, true, true, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_max_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("a7b7b02a9e2d2899c443fa4da11dedecc7b1b1c76f90e8c1a7cc4b0830e84336"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_zero_1() { - let mut value = VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("00d6017fcaf6ea8e4d6c6d6ab21149d938ab96ae3452ca5ab88eb553a71b9075"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_max_4() { - let mut value = SmallTestStruct { a: 65535, b: 65535 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_zero_1() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, false, false, false]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false, false, false]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, false, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_zero_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("93d1e2d05c32e35744a9c04b1f81f2f8c58a491a747893d1b6b9d26ade98b9b9"); + root_from_hex("0xe3fbf979c708d4d77adc452ca27d02e9cd978f3fc28601fc75c929b9f1821705"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_zero_chaos_0() { +fn test_containers_complex_test_struct_random_1() { let mut value = ComplexTestStruct { - a: 0, + a: 10570, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 25130, 47018, 44501, 60270, 30202, 60019, 979, 5334, 4184, 39381, 16060, 48693, 2177, + 1624, 44145, 109, 26297, 3760, 45976, 26234, 12306, 35072, 23108, 359, 36205, 42375, + 43668, 49701, 5985, 17741, 35986, 50806, 40456, 11569, 7764, 49999, 31368, 7231, 60872, + 61541, 20524, 32048, 6712, 30223, 8153, 53195, 4763, 44163, 42869, 57362, 61754, 17873, + 33684, 10606, 30774, 54348, 33012, 632, 28777, 42496, 43559, 30314, 45073, 30845, + 40909, 26651, 302, 6161, 19181, 36556, 3936, 53923, 28705, 46409, 24161, 53550, 61875, + 42759, 7125, 12173, 29283, 64822, 63922, 44442, 43951, 37379, 46418, 2732, 16965, 9105, + 53923, 48096, 41181, 32866, 7869, 57048, 39161, 23300, 33355, 10982, 179, 44668, 34392, + 54101, 52667, 38022, 48921, 16050, 37525, 18046, 59409, 52990, 56338, 52766, 31686, + 28089, + ])) + .unwrap(), + c: 207, + d: List::::try_from(Vec::::from_iter([ + 137, 42, 38, 79, 48, 237, 43, 239, 229, 237, 68, 206, 34, 234, 199, 211, 147, 192, 39, + 165, 55, 93, 7, 85, 10, 185, 173, 224, 62, 43, 122, 41, 37, 183, 181, 15, 253, 188, + 120, 16, 63, 210, 198, 236, 94, 224, 242, 54, 162, 151, 152, 213, 4, 229, 175, 226, 79, + 117, 44, 79, 247, 141, 63, 149, 171, 2, 244, 32, 197, 157, 80, 239, 119, 21, 156, 216, + 54, 5, 234, 249, 161, 202, 102, 168, 153, 37, 122, 68, 63, 58, 154, 238, 33, 123, 245, + 154, 107, 192, 130, 189, 108, 149, 133, 164, 179, 144, 154, 127, 3, 98, 185, 42, 143, + 214, 108, 179, 159, 175, 87, 118, 202, 238, 226, 116, 70, 70, 77, 84, 25, 32, 154, 160, + 106, 161, 48, 152, 144, 22, 99, 110, 132, 226, 191, 247, 80, 83, 23, 89, 50, 144, 86, + 32, 117, 12, 24, 96, 212, 64, 137, 252, 114, 41, 165, 33, 239, 110, 158, 167, 118, 106, + 59, 3, 2, 24, 52, 146, 53, 174, 110, 120, 167, 96, 2, 216, 234, 165, 43, 77, 244, 88, + 7, 83, 239, 87, 77, 33, 155, 34, 49, 215, 159, 211, 137, 117, 70, 103, 91, 120, 158, + 116, 117, 187, 12, 80, 167, 32, 140, 4, 4, 151, 215, 20, 108, 68, 24, 82, 228, 177, + 171, 191, 154, 198, 1, 180, 218, 203, 252, 138, 37, 42, 40, 214, 78, 127, 146, 80, ])) .unwrap(), - c: 0, - d: List::::try_from(Vec::::from_iter([0])).unwrap(), e: VarTestStruct { - a: 0, + a: 3432, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, + 28962, 11394, 22785, 28581, 55052, 43341, 53264, 30844, 33165, 28308, 54453, 13625, + 29292, 9763, 32817, 58460, 40141, 2448, 37496, 34081, 52786, 22210, 50500, 51413, + 29126, 36769, 43292, 18244, 20473, 47107, 50265, 2320, 56137, 2746, 50727, 48561, + 16565, 12005, 6276, 47926, 45147, 29886, 55396, 57000, 46288, 48724, 37089, 57406, + 48266, 59628, 28876, 21811, 31183, 14062, 53330, 10317, 45440, 62525, 35051, 20458, + 53646, 11341, 9604, 47082, 11580, 25609, 3262, 39181, 17010, 40443, 35122, 31288, + 22934, 9937, 4106, 15004, 59372, 16131, 12670, 39395, 28159, 58633, 6266, 4724, + 55914, 57012, 60243, 54445, 2377, 7458, 34134, 22124, 29976, 53635, 51503, 50312, + 4338, 2295, 62248, 23365, 9769, 8775, 11132, 14910, 41745, 1220, 31456, 39275, + 11531, 14984, 4258, 64746, 9235, 60642, 42010, 3378, 32360, 35392, 1838, 31984, + 46955, 29648, 15826, 64936, 62965, 53274, 21525, 52201, 33182, 39605, 24181, 56208, + 22404, 54333, 42895, 13863, 24206, 48662, 46263, 437, 2398, 22343, 20176, 18670, + 31807, 34037, 26311, 35649, 43253, 12343, 33593, 40178, 64534, 39707, 32148, 18244, + 922, 28452, 42570, 6781, 63724, 36488, 32874, 56549, 15519, 30726, 21572, 43165, + 64473, 16619, 48128, 12523, 33120, 61591, 42319, 41353, 59194, 15140, 38659, 51807, + 52366, 36837, 2052, 47911, 64953, 19816, 18801, 52259, 48898, 52463, 22137, 46456, + 58429, 17201, 1704, 61033, 63848, 47929, 43661, 60381, 19194, 15658, 38106, 26512, + 30627, 17027, 47403, 18228, 20276, 61936, 33212, 55972, 10184, 11399, 15291, 30938, + 30612, 5398, 6772, 58525, 31460, 46486, 44751, 50458, 7858, 43542, 50930, 56945, + 36025, 56677, 43487, 63408, 7428, 56091, 55253, 24345, 58999, 51149, 30080, 40324, + 10777, 56094, 5654, 9730, 59633, 26035, 350, 29364, 56062, 50655, 7435, 51169, + 1496, 55034, 19505, 28135, 36965, 42148, 12733, 11143, 34889, 3140, 24353, 25123, + 56868, 40242, 27381, 24145, 37854, 46609, 2021, 29877, 63279, 56335, 32920, 39475, + 31007, 10330, 15026, 29818, 32041, 23646, 54540, 63584, 32148, 57607, 27323, 42202, + 33253, 7571, 19501, 31928, 43882, 54288, 11689, 28873, 18582, 11100, 15274, 56066, + 16607, 63103, 52394, 23088, 5934, 47019, 23313, 21529, 53968, 28636, 36481, 7394, + 1669, 47058, 25922, 12435, 14106, 25807, 45774, 56007, 57169, 22425, 14315, 10015, + 5277, 31002, 22866, 20440, 59011, 59782, 40484, 47772, 57785, 42650, 34494, 13672, + 29484, 22960, 42630, 64849, 5875, 26200, 48552, 52253, 57580, 26786, 58474, 16470, + 41167, 50301, 26638, 43149, 38135, 51118, 61197, 61726, 11527, 47401, 12013, 41462, + 63503, 1895, 11848, 22852, 12088, 54598, 2239, 48127, 54869, 53764, 34984, 64819, + 24276, 58233, 29952, 31711, 25194, 46704, 21808, 45102, 39954, 11449, 25982, 58525, + 15035, 34896, 58909, 907, 12615, 17652, 33350, 64545, 59993, 16195, 60900, 28750, + 8007, 7691, 62983, 42024, 58583, 36933, 42557, 52132, 54761, 15056, 12448, 13142, + 65283, 27373, 26369, 16552, 15685, 51428, 21993, 18847, 61140, 14492, 56600, 17930, + 26404, 42741, 50153, 54872, 4911, 19672, 10882, 30084, 40005, 37122, 5487, 13875, + 9070, 3529, 60893, 41929, 26048, 36420, 20226, 12206, 15736, 9007, 56187, 22710, + 29413, 26169, 42891, 31453, 52558, 16561, 48212, 32197, 63461, 65495, 55719, 34166, + 27183, 6277, 10330, 30055, 24421, 39894, 1590, 50974, 9457, 61119, 6175, 6847, + 56281, 41441, 55740, 61464, 17539, 35962, 55569, 14010, 50314, 49065, 308, 46191, + 20862, 64832, 3597, 32058, 59561, 30926, 52830, 3180, 56167, 58450, 39944, 51675, + 26064, 49070, 58947, 52813, 62294, 36713, 48767, 22670, 11739, 24851, 3258, 40199, + 44300, 58863, 57240, 16157, 61144, 53112, 39023, 57596, 22055, 38379, 17467, 23479, + 32534, 15470, 46976, 60539, 36433, 55438, 62731, 21650, 22672, 23007, 56552, 15111, + 30304, 845, 57614, 27431, 8468, 61481, 62207, 46583, 8118, 34734, ])) .unwrap(), - c: 0, + c: 230, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 231, b: 1863231633934349380, c: 2790073216 }, + FixedTestStruct { a: 37, b: 14159239175366384790, c: 3878144546 }, + FixedTestStruct { a: 172, b: 10223347348532532647, c: 3873962530 }, + FixedTestStruct { a: 228, b: 6481981747729743213, c: 817324705 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 0, + a: 33242, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 47227, 37536, 46215, 50335, 52121, 8097, 64235, 27197, 7249, 8568, 16725, + 16612, 42968, 20796, 6356, 31220, 27948, 4246, 33344, 40546, 60800, 32272, + 34461, 51856, 24106, 11988, 3380, 5730, 45737, 30833, 1965, 21053, 13204, + 50503, 40670, 51104, 42160, 56854, 31896, 62806, 35065, 62865, 19119, 13151, + 50686, 34188, 17170, 63895, 5483, 36547, 18355, 61042, 55214, 48008, 27449, + 36858, 5832, 5827, 58798, 30184, 14349, 29998, 58597, 26956, 21310, 38282, + 9582, 47665, 22322, 40639, 2660, 9370, 56242, 5313, 60678, 3524, 32640, 22397, + 48941, 6325, 43146, 47535, 34380, 23938, 52169, 42240, 19029, 87, 65211, 16723, + 22411, 9044, 48028, 5360, 21489, 54014, 25091, 40209, 56957, 30166, 61763, + 12538, 57745, 18461, 950, 5884, 61044, 15658, 9510, 37657, 5342, 46055, 33064, + 49596, 49727, 16553, 53187, 39859, 55016, 27294, 10467, 33639, 6496, 21574, + 3319, 28053, 61240, 14564, 22446, 62825, 63701, 41076, 65331, 25976, 28935, + 46190, 59052, 5978, 4937, 29649, 21714, 43348, 59083, 48671, 54719, 54919, + 62564, 15064, 15492, 10310, 23814, 58312, 15505, 35497, 64466, 20340, 51492, + 55526, 47630, 40920, 56527, 7780, 54246, 35602, 1091, 24618, 28046, 3956, + 62891, 32475, 39197, 10864, 44184, 459, 56445, 4644, 48076, 64797, 5477, 9971, + 908, 46855, 10116, 57495, 4787, 10777, 33486, 33706, 63880, 35814, 38102, + 44108, 20955, 12199, 3413, 37589, 20131, 28128, 19806, 44211, 225, 6181, 58015, + 61157, 672, 1685, 47442, 56517, 38923, 38796, 47968, 40714, 52112, 51923, 3279, + 20351, 62297, 13769, 53676, 1685, 18586, 40550, 35681, 1342, 15790, 54458, + 54743, 41973, 6767, 32012, 29117, 6801, 24552, 52877, 46380, 15752, 60197, + 16849, 37141, 32613, 64372, 64207, 27250, 49276, 30880, 26452, 25222, 62169, + 9643, 26537, 7274, 21835, 10792, 38833, 33229, 53399, 56249, 27836, 42095, + 1994, 55040, 65447, 42454, 28826, 53882, 16933, 36202, 41189, 58201, 5221, + 22199, 30992, 52153, 60946, 27007, 43634, 29485, 15687, 42811, 48721, 37314, + 41995, 53486, 5561, 4448, 36422, 58238, 32123, 60207, 18145, 1022, 23369, + 11938, 33743, 39376, 19270, 7173, 33603, 58949, 3060, 10799, 27215, 49617, + 13604, 35875, 24198, 56380, 48764, 61890, 21136, 23821, 32848, 16553, 10389, + 34924, 64208, 43619, 40757, 9632, 34271, 21110, 24100, 24558, 22422, 43760, ])) .unwrap(), - c: 0, + c: 230, }, VarTestStruct { - a: 0, + a: 41398, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), - c: 0, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_chaos_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("4bad3b50403828f333928bf4d286a44e7852ffa5ac91a099da5c73fb57c2c3e6"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_max_3() { - let mut value = SmallTestStruct { a: 65535, b: 65535 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_zero_6() { - let mut value = VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) + 37637, 60630, 5618, 16275, 48590, 34771, 14023, 39677, 5882, 7409, 6483, 11030, + 44489, 14753, 6355, 47920, 47286, 49687, 32520, 46974, 52864, 46905, 9705, + 35634, 29235, 28158, 31341, 3993, 20930, 61867, 60115, 64147, 52387, 24318, + 23065, 2287, 47151, 7115, 60782, 33894, 54203, 20345, 12088, 43785, 52419, + 35442, 57189, 64822, 11974, 18782, 19726, 27342, 4934, 35411, 51636, 42411, + 32915, 3358, 31351, 6191, 54101, 38763, 41845, 32368, 37795, 60060, 26247, + 37383, 37831, 30981, 59295, 34278, 54376, 51426, 9390, 6193, 10660, 39178, + 17982, 45343, 30696, 37725, 8853, 39267, 30340, 54863, 31520, 57111, 20655, + 39748, 37100, 38122, 43901, 41022, 64161, 40570, 50122, 17037, 33987, 45478, + 29723, 22592, 36173, 5241, 45030, 33006, 28014, 31705, 52871, 52245, 65263, + 21204, 43385, 43900, 35230, 1496, 23777, 407, 43493, 49471, 41992, 44179, + 32461, 9755, 55182, 28242, 1552, 44445, 20009, 48914, 8957, 3780, 30400, 50764, + 52875, 34390, 64667, 41288, 14196, 8323, 13296, 12300, 44106, 37447, 31824, + 19937, 7562, 55441, 19922, 65393, 62069, 54216, 53575, 29471, 35523, 40855, + 38995, 4949, 61856, 56360, 47382, 8932, 64144, 26639, 20860, 28353, 28778, + 29764, 8993, 49287, 47173, 33950, 31589, 4833, 5994, 18852, 57108, 38201, + 15181, 10162, 11260, 6547, 26391, 62446, 9488, 17658, 22078, 45846, 40070, + 59120, 8767, 64778, 14054, 3636, 28072, 5851, 30583, 2158, 34866, 31945, 30376, + 61634, 41102, 64409, 22678, 18643, 21341, 24406, 11231, 51896, 62418, 32255, + 42126, 4962, 22672, 43634, 27654, 5928, 4376, 1987, 55380, 19561, 62886, 59174, + 25333, 9510, 2132, 2378, 26809, 44758, 36510, 28142, 12136, 9685, 32159, 42256, + 57679, 8624, 58299, 49729, 28094, 52092, 20607, 53823, 43603, 19836, 54095, + 43940, 6498, 37425, 46432, 63707, 2048, 30217, 31148, 15431, 65083, 4044, + 27107, 54770, 1634, 26113, 16574, 19206, 305, 14190, 13627, 24517, 59034, 2066, + 5421, 59845, 36560, 44348, 28794, 12620, 46123, 56797, 17640, 42063, 35763, + 31669, 43113, 41417, 13979, 44036, 48544, 45906, 35142, 39080, 42813, 3177, + 53424, 57840, 25764, 43201, 59484, 20364, 32041, 3452, 36433, 21146, 6679, + 13195, 16593, 26660, 5250, 49757, 30435, 9150, 56914, 14896, 53146, 63927, + 52958, 1, 16821, 24439, 64956, 3804, 21930, 15532, 47984, 8884, 56988, 48868, + 35611, 5493, 63657, 41499, 55380, 37728, 16769, 23559, 57683, 3921, 49532, + 9588, 49903, 3020, 42334, 58957, 31275, 38661, 19234, 44853, 20525, 62481, + 28416, 26298, 58537, 60679, 56277, 19174, 41894, 17873, 64750, 9105, 19665, + 14539, 14113, 13899, 48921, 48840, 45740, 54161, 5994, 21812, 15017, 18290, + 57281, 36714, 37001, 24523, 1796, 43725, 41057, 8742, 12975, 21189, 57679, + 10027, 5673, 28958, 49524, 3221, 11316, 20434, 60805, 52210, 2892, 165, 50601, + 44737, 2009, 16262, 32961, 50653, 35491, 15144, 1324, 61353, 43976, 38280, + 8077, 21034, 20250, 7650, 48293, 29649, 34225, 5844, 3954, 29912, 2764, 32640, + 18295, 37007, 8517, 7629, 40727, 37087, 30131, 3188, 63417, 35393, 14949, + 65277, 53493, 64264, 38666, 28457, 48270, 34153, 5336, 31342, 1547, 1619, + 44200, 57020, 49459, 37090, 9735, 36668, 36033, 4790, 8294, 52302, 37213, + 32977, 38690, 36723, 12201, 60669, 61855, 51776, 56089, 65300, 24103, 11179, + 432, 29915, 53512, 34900, 31077, 13491, 34671, 28147, 56567, 1360, 37625, + 26580, 34806, 491, 18534, 57752, 45232, 37461, 55246, 61194, 23002, 34230, + 18780, 28938, 46672, 38195, 31766, 28682, 38892, 55873, 5043, 37855, 36346, + 56134, 7852, 48611, 23716, 61276, 10763, 48469, 30334, 30417, 58174, 45328, + 60762, 52074, 47252, 61442, 43105, 39409, 57960, 64420, 65204, 32094, 20482, + 22905, 13343, 46177, 5213, 19893, 31472, 47764, 56937, 20526, 49572, 34134, + 53627, 31468, 40245, 27105, 51064, 15981, 9629, 24690, 1030, 18771, 44540, + 36668, 11054, 27243, + ])) + .unwrap(), + c: 247, + }, + ]) .unwrap(), - c: 0, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_6/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: VarTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("3c372594973b1e993a874e3a1fab6960e517050b60fbeab2baa0dc4cfeba15fe"); + root_from_hex("0x7c29a9a223e62fb6fd23a50ee5dab5de6de62ec44f9a9785e203123599b68bc3"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_zero_6() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, false, false, false]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false, false]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, false, false, false]), +fn test_containers_complex_test_struct_random_2() { + let mut value = ComplexTestStruct { + a: 28502, + b: List::::try_from(Vec::::from_iter([ + 54777, 54608, 59283, 47559, 63981, 34242, 54234, 15282, 42195, 40500, 46251, 44616, + 8199, 56117, 47824, 28233, 52037, 20930, 62744, 59877, 12399, 31759, 7760, 14969, + 14152, 20453, 52520, 20847, 62703, 61038, 21267, 17992, 62570, 16749, 61396, 41740, + 13623, 22328, 15944, 25495, 14991, 54763, 30484, 48795, 22842, 37478, 24675, 13499, + 26761, 13479, 40131, 7536, 58445, 60536, 64114, 36916, 7075, 10559, 19603, 27584, 2862, + 7345, 51998, 2117, 26845, 50605, 8319, 15238, 36173, 40133, 7872, 48191, 13986, 35215, + 45701, 7781, 61520, 9528, 4293, 62338, 26599, 1294, 8300, 49410, 36090, 621, 52357, + 21349, 45819, 13239, 9566, 18544, 37557, 61619, 9947, 5656, 24051, 21711, 17246, 38547, + 15233, 50244, 14769, 18844, 25804, 60371, 23289, 37763, + ])) + .unwrap(), + c: 197, + d: List::::try_from(Vec::::from_iter([ + 170, 181, 3, 134, 201, 248, 222, 1, 155, 247, 84, 146, 91, 81, 163, 164, 159, 50, 161, + 77, 12, 101, 137, 37, 123, 139, 196, 131, 8, 90, 247, 132, 246, 16, 120, 83, 225, 179, + 151, 156, 151, 52, 17, 235, 68, 100, 243, 232, 232, 147, 192, 179, 78, 23, 158, 166, + 72, 225, 182, 67, 39, 106, 123, 35, 126, 38, 52, 116, 164, 123, 81, 218, 225, 15, 81, + 97, 160, 25, 126, 49, 126, 126, 153, 40, 142, 14, 121, 47, 223, 215, 205, 162, 113, 14, + 249, 83, 154, 32, 116, 154, 229, 246, 122, 71, 231, 91, 168, 158, 89, 73, 130, 156, 72, + 153, 43, 130, 207, 113, 150, 75, 199, 66, 177, 176, 137, 4, 152, 203, 32, 184, 121, + 112, 232, 59, 154, 151, 158, 22, 135, 6, 189, 123, 16, 42, 238, 146, 187, 103, 174, 61, + 12, 54, 131, 134, 231, 110, 204, 146, 5, 217, 184, 166, 199, 40, 208, 11, 163, 95, 91, + 26, 62, 255, 236, 248, 180, 168, 63, 250, 168, 113, 11, 206, 39, 224, 212, 29, 133, + 162, 240, 216, 215, 208, 48, 144, 167, 218, 38, 152, 243, 189, 65, 78, 31, 135, 15, + 182, 81, 253, 43, 137, 108, 201, 71, 62, 80, 58, 3, 242, 72, 144, 56, 72, 11, 41, 229, + 226, 20, 130, 151, 123, 58, 89, 176, 0, 107, 0, 173, 202, 240, 105, 10, 67, 203, 141, + 220, 80, 89, 206, 70, 30, + ])) + .unwrap(), + e: VarTestStruct { + a: 28796, + b: List::::try_from(Vec::::from_iter([ + 63796, 65404, 55512, 39414, 11147, 63749, 37177, 33138, 52722, 58530, 51627, 40951, + 14044, 46316, 56018, 35770, 30693, 23792, 62757, 61917, 26267, 40130, 39943, 45543, + 43142, 33231, 65384, 59439, 65474, 8521, 26945, 51428, 2440, 45825, 22215, 8935, + 16392, 51727, 62768, 59939, 6076, 24202, 8759, 11076, 30884, 33871, 27611, 40580, + 63578, 29437, 42895, 59764, 50682, 14579, 50790, 51383, 16598, 27789, 25433, 50379, + 42852, 11405, 5936, 11907, 32164, 2400, 29394, 26647, 16684, 3435, 12672, 64605, + 26203, 35997, 25958, 32711, 64450, 19957, 3957, 64290, 64905, 8994, 48576, 62919, + 30096, 24466, 3594, 55728, 3321, 17931, 20397, 10469, 55488, 45914, 9196, + ])) + .unwrap(), + c: 46, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 143, b: 15369598333677722387, c: 3618353484 }, + FixedTestStruct { a: 95, b: 7342862960844619183, c: 2024225401 }, + FixedTestStruct { a: 34, b: 13071154624305027972, c: 349713642 }, + FixedTestStruct { a: 118, b: 5488186923479738561, c: 151832036 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 15129, + b: List::::try_from(Vec::::from_iter([ + 64463, 3056, 59030, 24671, 21832, 63802, 28060, 22600, 19714, 53408, 1778, + 1891, 28844, 62098, 34647, 51572, 42572, 15025, 25018, 43298, 51819, 5936, + 4540, 9637, 56885, 24843, 30180, 10259, 52824, 60598, 54729, 46273, 53242, + 21060, 27328, 28769, 49682, 44462, 48291, 17234, 32445, 56233, 41542, 29969, + 58369, 28834, 65390, 38261, 43490, 8465, 58880, 39256, 29459, 1809, 26244, + 36913, 31709, 18061, 47202, 60346, 10610, 34835, 13360, 53567, 15500, 4769, + 45468, 13235, 34369, 34243, 8362, 61483, 47901, 9764, 5107, 15661, 57946, + 46727, 5387, 51010, 43517, 41813, 23863, 1216, 32759, 17230, 18053, 52183, + 60999, 39583, 8427, 63887, 48959, 1785, 32555, 15182, 34959, 19879, 45321, + 22577, 33786, 32926, 36830, 13020, 18143, 42884, 22247, 11406, 46773, 28717, + 27157, 23251, 18380, 52218, 47888, 51093, 29318, 51654, 9092, 56184, 31654, + 45630, 53222, 61741, 11234, 9853, 40538, 1571, 44868, 23482, 12733, 15011, + 30576, 14725, 29068, 38415, 9497, 10848, 1720, 62394, 26341, 14372, 58833, + 6138, 2572, 24671, 1938, 27415, 8719, 56852, 23011, 56000, 19095, 51538, 59169, + 43591, 46191, 19518, 31921, 12718, 15548, 20704, 23506, 26546, 13734, 27094, + 22117, 21928, 29093, 55958, 11961, 57807, 21101, 23261, 57852, 32829, 28718, + 36130, 51187, 54831, 43853, 22387, 25485, 51134, 53400, 41446, 43657, 22153, + 11454, 8741, 10966, 44912, 63416, 59720, 17897, 46131, 647, 9592, 42705, 41715, + 3565, 8066, 55504, 32381, 58413, 42878, 26059, 19357, 56181, 15133, 28846, + 64519, 13659, 64544, 530, 49958, 3206, 36433, 27964, 55969, 51748, 44453, 2057, + 15462, 7802, 40564, 207, 56018, 58324, 10768, 11470, 15693, 10406, 18332, + 26649, 64664, 18507, 45611, 39515, 10304, 35195, 18628, 4075, 12883, 18375, + 28048, 64114, 47846, 33206, 8308, 20278, 16647, 6883, 50107, 8005, 63747, + 56211, 14572, 40972, 12054, 31379, 34031, 45133, 40626, 13240, 9110, 53399, + 13841, 35944, 33993, 31190, 64277, 50766, 6670, 5299, 64809, 55402, 63731, + 41724, 20674, 55284, 56476, 8762, 12172, 41415, 42847, 4334, 11115, 3732, + 47257, 39045, 33666, 58688, 30093, 65457, 711, 56996, 24671, 14765, 7766, 4926, + 34712, 37355, 22896, 59725, 11917, 8750, 61243, 50965, 15595, 45043, 35553, + 64907, 50816, 32325, 29850, 13596, 26313, 56126, 59381, 62146, 54630, 17527, + 64434, 52508, 4730, 24408, 9733, 47924, 528, 47039, 17124, 13134, 33111, 34721, + 58143, 39281, 28766, 12671, 33030, 13397, 12475, 985, 59290, 7642, 19743, + 54170, 31709, 23564, 22517, 59813, 6826, 40139, 53646, 16997, 788, 44778, 7725, + 40135, 60811, 14134, 58728, 62932, 62595, 64852, 25802, 64525, 19408, 58019, + 43221, 33576, 61776, 56499, 38031, 5140, 51715, 51013, 55526, 23095, 50384, + 34180, 50049, 50731, 48014, 20740, 42835, 54145, 26779, 34864, 7822, 37892, + 44506, 46669, 1064, 52292, 2306, 45131, 32758, 3065, 65277, 39106, 43503, 4242, + 60331, 48806, 48664, 19991, 3404, 29584, 708, 44886, 60891, 17247, 41643, + 59610, 27319, 63310, 6174, 21736, 11989, 63980, 44838, 3777, 60531, 15462, + 4852, 50935, 29957, 49217, 50824, 30687, 14948, 7702, 41200, 11864, 17199, + 56310, 42124, 31080, 6805, 669, 60959, 56462, 64109, 19571, 22045, 14778, + 11045, 45259, 53790, 31786, 60923, 30062, 63435, 49348, 32180, 44880, 19035, + 52610, 3227, 29543, 35046, 19419, 49100, 20549, 56790, 3953, 42181, 26705, + 51056, 39573, 25650, 49315, 48964, 13112, 56492, 18886, 45518, 130, 28217, + 60342, 633, 59257, 5604, 55669, 59890, 2011, 16490, 51189, 22044, 53357, 62482, + 9294, 4095, 3679, 53815, 44405, 61177, 48367, 22326, 48547, 53486, 3920, 46224, + 6267, 59867, 29456, 63664, 38263, 49490, 35072, 17006, 31264, 55283, 1999, + 2747, 42329, 7578, 55385, 10466, 52684, 59493, 42385, 13988, 62351, 31717, + 19392, 45222, 21005, 34662, 64041, 43082, 63999, 693, 20680, 23304, 2114, + 53387, 36990, 11975, 49995, 5496, 36261, 31195, 13010, 12003, 31455, 33374, + 52264, 937, 63504, 35982, 60148, 10290, 19632, 29023, 45602, 54188, 56320, + 36702, 35657, 27264, 40892, 38571, 34461, 45393, 13022, 46954, 989, 34511, + 45450, 11819, 8154, 39062, 45419, 14588, 23591, 5359, 22258, 272, 12666, 20087, + 49475, 50430, 65153, 15202, 23103, 52793, 59645, 11258, 27806, 57408, 27975, + 3554, 5756, 8631, 25325, 48852, 51030, 17315, 43318, 30693, 63394, 4540, 3848, + 57485, 39548, 28299, 55132, 57764, 24163, 21103, 52767, 5282, 57370, 41462, + 39346, 52053, 19363, 36189, 33659, 19623, 11518, 15041, 10157, 58625, 4778, + 53313, 24799, 56547, 22690, 40980, 61514, 65, 57921, 52646, 16921, 10647, + 46526, 13561, 62477, 51575, 47397, 65146, 1843, 3029, 15045, 13584, 29802, + 24096, 37349, 44160, 33597, 24169, 14559, 27029, 46397, 12037, 550, 1314, + 63674, 45946, 23269, 31708, 28836, 58951, 55617, 29039, 23374, 14278, 18181, + 53120, 11884, 19734, 1319, 22901, 58236, 49651, 62275, 4941, 21806, 30253, + 38415, 50895, 56466, 43614, 58969, 4363, 4331, 60585, 13388, 11071, 48828, + 5063, 21030, 38351, 32086, 63497, 64640, 43751, 41385, 52328, 57837, 25091, + 385, 56321, 25819, 44064, 32585, 40154, 9029, 23680, 15539, 37648, 32500, + 15432, 28791, 61579, 27001, 44449, 28179, 3720, 14480, 2307, 62358, 54551, + 23706, 37897, 53586, 5061, 46529, 11063, 57196, 3376, 60428, 38517, 31100, + 44645, 51017, 43090, 57287, 55337, 25862, 19637, 11647, 33211, 24875, 34302, + 10257, 57729, 43018, 44198, 62507, 44656, 52406, 15588, 61128, 29920, 2264, + 38316, 57046, 30565, 57623, 43668, 7929, 22473, 25933, 542, 57944, 910, 26617, + 33200, 1875, 33080, 52737, 25943, 8191, 6764, 38979, 5347, 48371, 10929, 12827, + 14888, 9041, 54830, 46673, 65006, 8369, 36040, 62022, 55232, 46439, 10472, + 21292, 25038, 48333, 63416, 32526, 18974, 44528, 20632, 32554, 26766, 56638, + 28105, 21978, 6332, 34864, 49289, 5005, 31163, 18380, 49278, 41247, 40215, + 50465, 40718, 61293, 21390, 25788, 61342, 53998, 49498, 31579, 29218, 7664, + 20367, 922, 50612, 6735, 33760, 52202, 31405, 2447, 26504, 26314, 62924, 61956, + 61709, 35110, 30514, 28238, 64795, 17172, 56513, 62232, 8333, 42962, 1041, + 18146, 57164, 8306, 25025, 38374, 21390, 63857, 43875, 44727, 3898, 61449, + 44171, 59766, 32336, 60317, 42493, 38116, 37091, 48269, 30372, 24491, 57631, + 22307, 54479, 43111, 48823, 32647, 62614, 19704, 3381, 4800, 12014, 825, 45052, + 41676, 55646, 63851, 52639, 45049, 4047, 18673, 46730, 2936, 32867, 44613, + 42201, 40255, 31998, 52108, 32917, 54059, 845, 36793, 4950, 54606, 34480, + 21870, 15301, 46232, 27894, 35437, 9069, 14631, 6579, 64403, 35432, 28814, + 62268, 6068, 2254, 1791, 37680, 52394, 21736, 59657, 41008, 10434, 1068, 44764, + 61238, 13059, 29143, 63911, 40245, 22717, 21774, 21714, 24405, 62445, 7486, + 34849, 34561, 51981, 40502, 1109, 10148, 28660, 39145, 49674, 14565, 39503, + 31553, 55370, 12967, 44958, 22640, 26336, 45522, 28983, 53227, 7755, 13943, + 40069, 43769, 20693, 39131, 52990, 29813, 11736, 65031, 36341, 30416, 19374, + 46936, 18955, 6029, 57481, 35136, 62083, 47691, 7419, 46702, 58737, 38097, + 55414, 18791, 63884, 5693, 51292, 59859, 5100, 29405, 56951, 37431, 61146, + 14937, 1655, + ])) + .unwrap(), + c: 30, + }, + VarTestStruct { + a: 4303, + b: List::::try_from(Vec::::from_iter([ + 62016, 63440, 54710, 23705, 21698, 55481, 60667, 25430, 52691, 3155, 10867, + 60315, 43753, 65288, 42179, 10460, 33526, 27119, 48175, 56163, 6415, 41109, + 40156, 47824, 24375, 2877, 58008, 2147, 7692, 54797, 23859, 21590, 7840, 15993, + 9556, 9766, 3064, 23648, 58762, 58364, 52678, 54832, 61546, 34738, 52724, + 40291, 14096, 55023, 14316, 62275, 41589, 49367, 30073, 1231, 25959, 39585, + 14263, 48319, 60549, 30328, 1690, 43022, 47318, 19633, 30169, 57083, 36980, + 52420, 23664, 24962, 32984, 15740, 65513, 39561, 36453, 16326, 32989, 65108, + 60062, 53715, 3718, 47321, 9614, 22319, 20338, 55238, 64205, 12283, 61628, + 8306, 45078, 38896, 22038, 52739, 31696, 4483, 31496, 44329, 2673, 58504, + 16979, 25096, 44855, 37901, 31987, 26206, 27941, 55262, 5918, 58060, 596, + 49901, 62096, 35728, 39036, 38452, 47798, 54423, 2013, 58878, 17516, 58889, + 2305, 49750, 39093, 5492, 29594, 3589, 37282, 28021, 9508, 15542, 8657, 61546, + 33119, 27501, 6859, 25644, 54924, 39968, 56571, 27605, 607, 36450, 35099, + 11138, 31669, 42871, 31793, 39486, 26385, 26226, 14129, 1754, 18956, 7654, + 49135, 37941, 5973, 25121, 57136, 52548, 17488, 31268, 35353, 39309, 58658, + 31773, 28998, 5392, 30623, 33610, 2175, 11003, 920, 6678, 5603, 60364, 65007, + 59139, 23030, 19541, 39502, 50725, 13729, 11633, 8357, 20903, 15389, 36437, + 57520, 52298, 56696, 40329, 16735, 47542, 25805, 15116, 14364, 64628, 53718, + 39841, 6490, 35223, 59895, 21749, 39962, 21810, 63880, 40, 5424, 48138, 15224, + 16141, 1428, 26214, 46969, 45313, 46820, 3569, 17128, 33552, 18239, 50329, + 33714, 40945, 62519, 51447, 2472, 33967, 6734, 2671, 28342, 17757, 2853, 28544, + 35438, 3798, 37716, 63945, 29789, 43279, 5410, 1668, 28038, 23504, 7002, 21300, + 62951, 25675, 61469, 15954, 14060, 33454, 9197, 35916, 11897, 21297, 64804, + 45478, 21419, 52206, 30760, 19993, 62021, 10991, 24063, 35192, 64390, 44214, + 45619, 47928, 26170, 28362, 39971, 20761, 59466, 3898, 17475, 38945, 60879, + 41090, 28133, 57647, 7981, 61319, 52109, 64123, 51880, 24494, 5728, 37745, + 32977, 48944, 61442, 24697, 34953, 4312, 10553, 2802, 64784, 65518, 4406, + 51383, 36496, 29353, 18612, 36643, 34687, 202, 15809, 16756, 17434, 65011, + 37243, 29663, 26132, 18702, 40121, 42562, 52255, 23888, 43429, 65116, 57537, + 32902, 62611, 25664, 43718, 50449, 35049, 21908, 48456, 2993, 43746, 45419, + 23295, 14159, 54961, 36612, 47416, 63385, 12164, 39495, 54800, 13471, 63008, + 8755, 60454, 41514, 6931, 28406, 56903, 32888, 43361, 63244, 17963, 50603, + 30458, 33237, 12349, 32658, 40489, 60055, 868, 2339, 29469, 64952, 65232, + 23280, 6279, 50332, 50019, 63779, 18598, 4620, 63912, 39337, 30673, 4532, + 37702, 37846, 31037, 22811, 35312, 56464, 43133, 31778, 47642, 55998, 42524, + 2041, 52186, 7099, 63299, 15132, 23302, 25591, 62936, 17688, 56470, 5775, + 38770, 28788, 42216, 48703, 21161, 59804, 24848, 24552, 38103, 53076, 48233, + 57864, 12283, 58694, 37837, 62483, 22248, 3207, 195, 4163, 16993, 10510, 51879, + 49481, 31138, 32349, 14431, 5975, 5804, 51537, 21105, 31817, 43847, 34224, + 63489, 32396, 697, 60571, 35106, 19284, 22140, 49159, 65174, 38939, 62863, + 52996, 52336, 46295, 46431, 54394, 32120, 56278, 14509, 24522, 5439, 30695, + 58985, 35727, 64901, 35161, 28918, 59124, 59869, 10016, 61962, 19295, 23550, + 28025, 20276, 61310, 33394, 51635, 13896, 54242, 44244, 49306, 41227, 63930, + 39728, 35502, 36087, 27233, 49810, 20257, 3549, 5944, 13320, 41870, 61654, + 36734, 34832, 19081, 32810, 33919, 8568, 20609, 44802, 35110, 36218, 59983, + 22518, 1472, 41772, 59975, 59928, 22260, 28174, 32815, 11763, 1320, 62405, + 58206, 28106, 13787, 44744, 12464, 57901, 27937, 52625, 10732, 19766, 33048, + 62709, 18563, 7133, 25193, 59356, 59278, 37228, 32843, 31015, 15260, 38063, + 57145, 9790, 61497, 19303, 65039, 40034, 4974, 14568, 39104, 41417, 60699, + 42367, 10589, 10345, 22038, 46397, 12159, 58536, 9319, 47762, 55788, 31862, + 6292, 12535, 31027, 26067, 2846, 51896, 9480, 14839, 6586, 11918, 62648, 46382, + 20551, 25127, 61577, 40093, 53669, 5157, 1900, 45711, 37406, 28789, 45607, + 35387, 32860, 65014, 21162, 6374, 33716, 48574, 46777, 27738, 8540, 31556, + 63804, 59170, 63127, 45623, 34364, 9333, 23829, 52269, 53375, 57646, 16341, + 41758, 3273, 31739, 59637, 34303, 28371, 45319, 51183, + ])) + .unwrap(), + c: 71, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_zero_6/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("7aa68d25017352ef95142af2bb269ce805269676da6111d74887aa9cdcb072a4"); + root_from_hex("0x0a431553e8b2485b7700822b68918f62cbd943d6c8f4413f962a0f7d811f3b02"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_random_4() { - let mut value = VarTestStruct { - a: 48280, - b: List::::try_from(Vec::::from_iter([ - 13530, 41391, 39881, 12308, 13381, 11905, 39267, 629, 332, 41821, 9742, 10462, 15406, - 61167, 10985, 5611, 54368, 48876, 48964, 61455, 20572, 54870, 1130, 61751, 14110, 9575, - 15140, 47507, 59631, 37946, 20072, 20252, 18131, 26699, 55791, 33512, 1802, 50255, - 55455, 25738, 31934, 59738, 45169, 18447, 59406, 20713, 61509, 20907, 14219, 16072, - 42572, 39212, 22679, 4139, 24417, 31523, 60135, 21988, 43246, 40455, 50614, 42726, - 42872, 48321, 40444, 50772, 42623, 18378, 46246, 61550, 58782, 12227, 48443, 36507, - 24244, 7541, 57043, 16064, 5490, 64689, 60631, 49628, 38404, 59691, 62473, 53924, - 32840, 61255, 30111, 2778, 41059, 9143, 17896, 3197, 11793, 13579, 40497, 18581, 19870, - 14958, 5473, 20073, 9566, 25106, 2744, 50598, 22581, 21076, 41957, 10846, 25919, 34827, - 7766, 38093, 13801, 45753, 34461, 52994, 6476, 63114, 21495, 7933, 12245, 41953, 31933, - 43355, 65407, 7432, 17725, 25494, 35856, 24378, 5823, 25219, 34048, 57730, 60246, - 18339, 11989, 25739, 9519, 43039, 44012, 15393, 36904, 15663, 65256, 65351, 24627, - 30932, 14084, 62659, 33705, 41162, 19312, 45149, 4344, 21617, 52555, 59535, 4, 6811, - 36122, 60550, 13620, 45136, 2548, 60986, 32069, 47784, 60196, 24506, 25679, 8435, - 44030, 3956, 23259, 20837, 40040, 10653, 56553, 40480, 10498, 52829, 9116, 29933, - 41890, 22243, 48172, 52253, 7715, 26808, 4198, 4844, 53078, 24363, 55040, 13559, 58378, - 51410, 60293, 8859, 59822, 60686, 32395, 49047, 53532, 18779, 35106, 119, 23017, 44212, - 15689, 25075, 3535, 24114, 24572, 57018, 38259, 45569, 528, 16662, 20540, 61151, 58634, - 14045, 2330, 24377, 22785, 60727, 64774, 24733, 55112, 22420, 26416, 13574, 29542, - 24361, 49474, 59776, 35291, 14671, 23607, 49450, 11301, 18425, 18753, 18283, 18231, - 39672, 38310, 25340, 31183, 53786, 37479, 6797, 41096, 19128, 13060, 13077, 15698, - 27712, 45359, 21385, 59194, 52668, 18427, 4772, 53386, 61708, 2196, 3331, 4114, 17664, - 12560, 53940, 11542, 43275, 7575, 12673, 136, 61084, 53708, 2573, 507, 29014, 18478, - 7804, 6664, 45821, 6510, 23844, 36735, 48596, 57533, 47765, 34909, 15339, 59281, 10256, - 48045, 46339, 14471, 17207, 18237, 19946, 45775, 24518, 46255, 46236, 25876, 56473, - 18636, 53499, 5956, 4999, 18850, 49155, 23720, 2141, 12395, 9109, 20459, 17096, 29786, - 48986, 3079, 29917, 1370, 9173, 17738, 61951, 18952, 28690, 35099, 7434, 34928, 36727, - 73, 54200, 30261, 30499, 24397, 36814, 39826, 38918, 53707, 42483, 2985, 41320, 18550, - 10514, 49823, 64109, 6599, 56596, 26408, 49109, 54494, 34090, 32773, 47696, 26950, - 13442, 2194, 62195, 54533, 61409, 57458, 9646, 25828, 62865, 42712, 19973, 23571, - 43196, 48488, 39827, 50080, 63567, 47261, 19331, 2367, 32852, 39553, 51290, 4102, 8906, - 18956, 36467, 22170, 43518, 24413, 46440, 10143, 5516, 35147, 31223, 57681, 62670, - 44441, 52718, 36192, 58929, 25928, 1611, 49926, 38842, 63765, 37192, 30743, 33571, - 61103, 29954, 10865, 10965, 52007, 39704, 815, 29393, 14127, 8916, 17909, 33797, 34230, - 43370, 46128, 27538, 11552, 4668, 24373, 24096, 32032, 48203, 40634, 63105, 34130, - 26939, 44303, 22207, 32739, 29719, 17905, 31494, 38128, 55557, 11843, 4083, 15198, - 21052, 63378, 9459, 16658, 59693, 14167, 47869, 42294, 60229, 3867, 13358, 12337, - 58749, 29577, 63649, 22226, 14196, 16754, 60760, 14362, 22961, 33608, 31777, 57086, - 21098, 44357, 36207, 33692, 17253, 11798, 9661, 30758, 41277, 41820, 15177, 14664, - 3643, 12575, 32444, 60097, 25203, 4170, 5733, 29988, 17645, 13567, 34297, 1818, 12448, - 30668, 45585, 48759, 13994, 25551, 39381, 10841, 35400, 27303, 11079, 15965, 15462, - 65057, 29191, 55894, 7850, 11310, 3237, 57815, 18323, 59672, 59146, 22946, 10290, - 37116, 17475, 8858, 45108, 1364, 29929, 4421, 64219, 35300, 12980, 44930, 56637, 5928, - 17938, 49724, 7627, 55547, 58740, 53530, 6202, 47681, 27370, 65391, 43356, 54562, - 16933, 54397, 12896, 29374, 8839, 48728, 10553, 6048, 44816, 4605, 24109, 64234, 40706, - 57225, 30138, 49605, 37248, 10226, 61930, 50617, 38566, 25923, 58346, 9702, 33044, - 41293, 35594, 41625, 30913, 29297, 21051, 5873, 13923, 2061, 57481, 39516, 8213, 56793, - 62144, 15315, 27549, 53003, 54868, 13533, 64947, 8903, 52282, 29956, 39975, 60199, - 2174, 21218, 11937, 21706, 530, 59599, 4921, 58340, 52171, 33910, 22547, 631, 36253, - 15095, 60377, 54083, 65125, 35402, 4943, 9921, 1343, 60166, 32316, 38283, 23581, 44074, - 31221, 14343, 31018, 31867, 42885, 30562, 973, 57058, 4535, 36408, 59785, 17636, 11660, - 30557, 10946, 44416, 3445, 26953, 36874, 34520, 40647, 20886, 46036, 30360, 6630, - 43942, 38279, 6084, 43108, 20181, 42089, 52626, 1348, 62008, 24618, 63361, 28333, - 35213, 12209, 30680, 6476, 42900, 54810, 38765, 40329, 25888, 19264, 44516, 26354, - 61037, 574, 28073, 17513, 3254, 61894, 31839, 47429, 62565, 9457, 26438, 10233, 61432, - 40788, 34544, 62725, 30678, 28239, 15926, 46614, 2074, 39049, 56301, 13984, 33024, - 8272, 4258, 62033, 9687, 44566, 47166, 15678, 5919, 55232, 25962, 1064, 26830, 49646, - 31588, 48747, 65453, 38049, 63567, 41025, 5577, 5194, 29605, 3830, 61427, 62345, 3735, - 28029, 16015, 1643, 24501, 55207, 18541, 49221, 50410, 22689, 31486, 18734, 22694, - 8744, 53104, 29640, 2317, 29513, 1764, 61868, 533, 58701, 61993, 11183, 2891, 51475, - 53276, 35911, 37552, 36613, 4933, 8513, 13545, 53697, 1126, 37520, 35334, 64524, 5615, - 30478, 32778, 39446, 35466, 33408, 43814, 54346, 32237, 33809, 29042, 41456, 59503, - 42583, 29207, 11649, 3085, 4953, 6166, 33893, 11836, 1392, 57440, 33391, 20531, 37716, - 39423, 62529, 51804, 50439, 53540, 48411, 37394, 10377, 42394, 42426, 5823, 11317, - 40453, 62102, 15386, 22289, 54713, 12579, 56732, 41934, 54826, 29109, 48151, 49008, - 34856, 44555, 12839, 39054, 37853, 45968, 15058, 60915, 32157, 34705, 31806, 35692, - 22509, 31518, 16518, 62175, 10632, +fn test_containers_complex_test_struct_random_3() { + let mut value = ComplexTestStruct { + a: 32772, + b: List::::try_from(Vec::::from_iter([ + 46512, 38507, 19398, 17365, 6742, 22022, 38263, 43803, 45345, 15434, 50542, 53308, + 63955, 25109, 65120, 12016, 24683, 11769, 37715, 47612, 758, 57637, 39030, 61451, + 27955, 26480, 56870, 14359, 13136, 29373, 27964, 9592, 17585, 43888, 52807, 59179, + 60588, + ])) + .unwrap(), + c: 67, + d: List::::try_from(Vec::::from_iter([ + 181, 94, 231, 30, 237, 90, 219, 84, 180, 2, 196, 224, 0, 22, 130, 105, 38, 216, 219, + 93, 1, 86, 54, 122, 79, 101, 33, 205, 60, 22, 108, ])) .unwrap(), - c: 54, + e: VarTestStruct { + a: 8345, + b: List::::try_from(Vec::::from_iter([ + 60661, 49902, 47308, 6595, 50664, 56406, 11771, 42777, 21007, 26990, 34886, 56815, + 49289, 28126, 32071, 20342, 61101, 11472, 43864, 17495, 57493, 26384, 60112, 40415, + 54428, 37676, 35336, 5659, 43952, 1820, 60659, 42128, 23481, 1511, 17740, 19556, + 7189, 187, 25146, 49939, 64360, 57579, 24440, 11254, 25465, 44487, 55186, 21889, + 32330, 12735, 34473, 64052, 14340, 41266, 8917, 14460, 2372, 56423, 63573, 46036, + 41622, 55954, 51299, 30236, 41351, 41427, 11856, 15840, 16499, 9052, 1617, 28820, + 53368, 64978, 5952, 54583, 6959, 36968, 38491, 11290, 24280, 59225, 42423, 10858, + 58972, 62694, 17945, 32236, 4876, 49885, 14320, 38274, 51161, 40511, 54055, 11698, + 3581, 26390, 42412, 16387, 60623, 9104, 65037, 33759, 56355, 57896, 34812, 52450, + 8116, 1865, 27057, 38613, 37727, 16730, 65310, 25713, 15196, 35483, 27103, 46787, + 27021, 14108, 28113, 40375, 5219, 49546, 38249, 20616, 9913, 61691, 52180, 43596, + 39355, 27859, 32671, 35663, 47209, 25116, 29800, 12615, 16644, 21300, 54498, 33869, + 37133, 16775, 27134, 64503, 36620, 32691, 33056, 24221, 51813, 40508, 62605, 27413, + 28038, 41369, 6957, 51822, 27961, 37665, 54342, 11522, 9633, 22910, 5392, 36716, + 60970, 29281, 36121, 55029, 39427, 26613, 21841, 33515, 3762, 64478, 17893, 9047, + 54351, 59048, 38384, 61266, 8324, 62132, 60242, 38262, 62380, 56315, 42129, 48504, + 50906, 63009, 34832, 9933, 55761, 38537, 10387, 43365, 4561, 22626, 37789, 10012, + 10957, 23006, 42206, 9568, 61257, 22541, 13400, 42267, 27184, 2238, 20977, 48279, + 20661, 42800, 30939, 50651, 38924, 22894, 28349, 63315, 17893, 27696, 44178, 43338, + 50645, 9550, 42527, 7709, 268, 47651, 50083, 42349, 12834, 57596, 44135, 63979, + 48959, 64099, 35136, 23514, 49251, 54830, 35128, 23921, 38196, 10849, 17991, 53139, + 50893, 29409, 34378, 20674, 24454, 27481, 53260, 29400, 45057, 54446, 2436, 5662, + 59825, 38321, 55586, 4122, 38412, 21932, 46899, 14115, 60484, 10540, 47833, 26175, + 59574, 15050, 60366, 29536, 5998, 56437, 9417, 48398, 1055, 39469, 54949, 62692, + 12187, 28902, 51034, 32169, 10743, 29931, 25311, 8644, 53153, 6242, 11240, 7022, + 22311, 65226, 23253, 51921, 26016, 36818, 57480, 42550, 10502, 41387, 22959, 27416, + 990, 53066, 58693, 1730, 56394, 4654, 2825, 59626, 41255, 52990, 47236, 52090, + 22144, 47978, 64800, 2200, 59663, 1161, 19938, 42793, 19828, 7421, 43782, 23262, + 62431, 46623, 12734, 26844, 31080, 61013, 20274, 56498, 2474, 43219, 40744, 43742, + 39451, 53179, 3519, 41552, 1735, 10708, 30431, 40519, 29592, 63614, 27260, 16044, + 43660, 9865, 3302, 10307, 51984, 61184, 52501, 52734, 61325, 44000, 44361, 64576, + 52422, 48468, 14226, 22083, 53032, 5809, 18115, 6507, 40464, 25427, 58283, 5512, + 54631, 30018, 10222, 705, 64481, 15951, 46499, 14846, 18973, 22976, 55839, 35381, + 63270, 56033, 51708, 65343, 40242, 55424, 28390, 22661, 23623, 36398, 233, 36699, + 9948, 31313, 37078, 32464, 13621, 44054, 13083, 49077, 3703, 46140, 50121, 16581, + 7665, 48858, 18817, 60417, 3529, 17193, 5879, 58982, 60326, 43928, 18639, 7864, + 46417, 58747, 51583, 63093, 27592, 32345, 15113, 55570, 33643, 48492, 43793, 45173, + 52138, 12960, 59536, 52839, 8046, 27862, 23385, 10597, 32660, 5050, 41658, 6323, + 17656, 5956, 37780, 36975, 9739, 46319, 5171, 31343, 44979, 49807, 41433, 13, + 50503, 34929, 20664, 35118, 51385, 63751, 42589, 23549, 33358, 14252, 28691, 50288, + 57960, 55388, 10796, 6584, 22685, 36904, 56941, 29592, 64168, 24183, 55027, 49816, + 25008, 41278, 3909, 54649, 27278, 48757, 45572, 49370, 30605, 50774, 2717, 7802, + 14564, 58630, 30744, 9113, 15957, 49563, 25235, 5865, 23366, 23402, 64888, 9922, + 51498, 26597, 5462, 19900, 7574, 63745, 43211, 20357, 21043, 29759, 17634, 56256, + 50034, + ])) + .unwrap(), + c: 227, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 48, b: 3998434500497351183, c: 1718012518 }, + FixedTestStruct { a: 251, b: 4416660904362289185, c: 1596040344 }, + FixedTestStruct { a: 69, b: 5158912912770106064, c: 241204715 }, + FixedTestStruct { a: 123, b: 8382074815237110674, c: 1679281156 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 15384, + b: List::::try_from(Vec::::from_iter([ + 5959, 6219, 51610, 25393, 26568, 36825, 33793, 15462, 3731, 46490, 18670, + 59749, 64649, 30855, 57728, 46187, 48013, 29656, 5719, 2129, 39236, 12781, + 44300, 17277, 16144, 18436, 48934, 47980, 49588, 44451, 11375, 19642, 3430, + 13018, 30729, 35357, 20384, 7598, 4906, 32580, 58767, 56361, 14687, 41085, + 57927, 16925, 44121, 36156, 38729, 54197, 2831, 22096, 9762, 58970, 42830, + 27376, 42089, 59723, 63066, 28894, 44596, 31886, 2118, 6079, 8228, 47080, + 13300, 38540, 57184, 8925, 13265, 60115, 18196, 24774, 54258, 26994, 30908, + 42248, 16526, 45656, 26613, 11960, 34505, 4644, 63475, 48352, 48284, 14257, + 46426, 58673, 28058, 63352, 12968, 3979, 49824, 26719, 44872, 18876, 65262, + 25073, 26748, 60971, 7063, 16460, 19174, 49338, 55019, 54480, 64045, 17218, + 19906, 49895, 10195, 40600, 58356, 51597, 16293, 8680, 17010, 32074, 53368, + 1643, 49264, 50093, 42292, 29629, 47139, 34649, 8461, 53079, 47853, 1738, + 34660, 49167, 55509, 49734, 20701, 48965, 46535, 8257, 20975, 62645, 60014, + 46229, 29956, 60648, 26813, 47195, 25104, 58288, 65234, 19043, 53027, 4272, + 64416, 24705, 64563, 21854, 19159, 28833, 3451, 57904, 42054, 65466, 7439, + 25431, 25170, 11291, 12745, 29751, 43088, 55028, 52414, 61549, 61586, 3664, + 17723, 64044, 3554, 39822, 61535, 28851, 9006, 21400, 56127, 50769, 44122, + 1444, 41403, 65153, 29299, 38533, 39523, 6388, 19035, 35519, 64052, 21244, + 46638, 49630, 4620, 14246, 55839, 39755, 59444, 31426, 64998, 24926, 22412, + 49777, 8346, 3047, 11398, 39726, 7626, 26854, 22072, 43614, 35621, 29573, + 26821, 49768, 8466, 52756, 31542, 54525, 58698, 37824, 5296, 34358, 5260, + 18163, 42916, 5765, 60153, 10137, 54670, 14537, 35912, 32866, 12687, 51059, + 39025, 62160, 29538, 27957, 46811, 56877, 63408, 56240, 51150, 20998, 4555, + 55239, 37606, 49990, 3329, 35258, 8374, 39443, 46818, 50064, 39279, 25335, + 54222, 62298, 37825, 10869, 15118, 58081, 9682, 62477, 59610, 25043, 61584, + 53776, 52624, 9470, 3509, 26592, 61925, 53692, 5954, 60498, 56927, 10820, 4267, + 26148, 2979, 39078, 64438, 21733, 60908, 53109, 16152, 58066, 8907, 43706, + 12557, 29217, 23523, 43543, 45883, 51974, 53745, 30563, 44917, 20337, 41205, + 16985, 57304, 42917, 55884, 30273, 32150, 48084, 29207, 52436, 13353, 16835, + 38685, 2575, 50733, 48585, 3443, 25052, 2813, 11267, 42974, 47810, 62158, + 49096, 24447, 32912, 48257, 46798, 2959, 57701, 53772, 24083, 16381, 40240, + 64086, 53960, 26584, 23731, 681, 18244, 32655, 6467, 52000, 54924, 1776, 35889, + 11103, 42746, 18101, 25944, 35968, 19621, 25010, 46524, 46861, 22103, 12804, + 4838, 57402, 32212, 11887, 2832, 63361, 1774, 3132, 10579, 18957, 8840, 3101, + 35556, 57981, 59369, 239, 52584, 38141, 4223, 32392, 31456, 6448, 27970, 14905, + 38217, 15609, 61709, 38072, 46825, 58297, 2109, 51016, 56858, 42974, 63839, + 29124, 21198, 36140, 43033, 63130, 53850, 57280, 8933, 46591, 7853, 50782, + 18932, 46531, 254, 60849, 9653, 52901, 23043, 39212, 49193, 30108, 16261, + 10505, 50480, 42465, 1442, 22624, 326, 12075, 50553, 42752, 8989, 2097, 4941, + 18560, 18083, 53395, 64342, 54640, 34025, 3771, 51317, 2777, 45122, 62673, + 30879, 9642, 9997, 41401, 29251, 51099, 1379, 57810, 6953, 33610, 39181, 44671, + 19306, 44920, 59263, 54267, 8652, 24750, 30831, 33661, 61646, 38958, 37168, + 46969, 34679, 48832, 53671, 31429, 36421, 14291, 39228, 13546, 15426, 37474, + 60970, 30742, 294, 10040, 25366, 14667, 15116, 22052, 60019, 26158, 5256, + 22361, 33442, 18234, 41124, 33579, 12463, 16060, 61772, 34240, 2080, 1626, + 17255, 8641, 52928, 27386, 31134, 28055, 34354, 39063, 59559, 10366, 18065, + 18010, 7621, 43091, 34856, 7031, 34665, 17818, 25718, 45279, 6968, 50897, + 35321, 42, 18302, 26360, 12134, 55188, 4650, 64873, 28227, 61398, 19969, 44079, + 61632, 57169, 52134, 44441, 11602, 5340, 62268, 12737, 52834, 8472, 25361, + 26360, 43941, 11080, 56189, 60049, 6652, 43078, 1450, 39574, 40169, 13405, + 61600, 37263, 3362, 16721, 30031, 16801, 60472, 64269, 6259, 46961, 51379, + 20276, 8681, 27259, 22382, 62223, 22173, 3060, 54646, 11948, 51499, 37744, + 29314, 22686, 57945, 21684, 19084, 32743, 29609, 6717, 27254, 53561, 35172, + 4283, 10536, 51153, 1410, 40941, 27316, 16489, 33575, 63, 60563, 40086, 21379, + 64478, 18406, 56345, 5069, 32049, 63954, 47988, 8078, 34885, 33431, 6785, + 28016, 8251, 27484, 55375, 44501, 23571, 13318, 22758, 39371, 8213, 50481, + 9062, 12390, 40632, 28069, 64830, 61586, 39768, 60888, 14639, 7425, 52186, + 35263, 31977, 63260, 8946, 64552, 10606, 45470, 50546, 40694, 31475, 56734, + 52936, 59738, 24944, 18581, 2129, 1661, 32940, 32660, 30031, 59302, 21684, + 45854, 53364, 39399, 43713, 51339, 8330, 23889, 1836, 57516, 7168, 53639, + 64409, 46910, 20769, 54063, 37013, 18226, 16336, 36838, 50611, 18220, 40804, + 5837, 11764, 15492, 20120, 39206, 81, 41196, 13405, 62579, 11607, 64411, 13359, + 1074, 33085, 56376, 56313, 44159, 41297, 49935, 39849, 33794, 40972, 63412, + 12501, 45346, 5195, 46890, 50103, 286, 18457, 34622, 16698, 58580, 60837, 9504, + 28204, 4829, 59565, 57319, 36982, 3922, 29571, 5260, 36530, 58266, 11378, + 24878, 16180, 4973, 43290, 46938, 53044, 37348, 56705, 65269, 1966, 47327, + 22460, 15514, 23699, 52380, 3010, 9807, 12779, 32086, 35809, 63962, 48728, + 35518, 46672, 5279, 4572, 64516, + ])) + .unwrap(), + c: 206, + }, + VarTestStruct { + a: 58443, + b: List::::try_from(Vec::::from_iter([ + 35162, 59545, 64720, 35632, 63282, 59684, 14274, 55738, 60495, 50521, 43762, + 38088, 19927, 14449, 59919, 37496, 24495, 38854, 31634, 662, 45989, 9417, + 25665, 48594, 3179, 6071, 33212, 37207, 5791, 29739, 865, 21841, 54280, 16054, + 4641, 55042, 3141, 45192, 17522, 54160, 4066, 28145, 17582, 17626, 21776, + 41753, 23230, 10570, 21156, 61673, 33491, 4486, 51168, 2920, 19023, 24502, + 33483, 53943, 42885, 52217, 49185, 45990, 23638, 6999, 26281, 43556, 1019, + 7817, 30403, 39535, 60253, 37769, 11131, 54629, 60309, 37588, 46457, 26521, + 24357, 33458, 23086, 28445, 31369, 63813, 37864, 37404, 36455, 3489, 49395, + 12855, 64232, 25925, 18167, 41147, 43357, 47109, 43180, 43678, 47432, 31444, + 22862, 61991, 1366, 19702, 45567, 28319, 44365, 58590, 31208, 16295, 23547, + 45385, 40447, 32375, 4905, 46723, 22423, 46100, 41751, 17262, 975, 64042, 6757, + 57384, 1027, 6433, 60591, 44286, 44746, 60038, 49602, 51315, 5312, 33843, + 27688, 44575, 1905, 52650, 11955, 27127, 49436, 25995, 62818, 6943, 34032, + 47025, 25404, 38528, 27120, 8473, 20581, 3685, 53190, 51264, 33840, 63510, + 22577, 3027, 6513, 61229, 23643, 62206, 41084, 35864, 10879, 25393, 64165, + 4428, 3728, 16139, 61809, 59266, 16172, 4004, 61975, 65374, 18083, 14269, + 63791, 11977, 50743, 21922, 59719, 59944, 1287, 35884, 27892, 13434, 64990, + 14049, 6884, 33440, 53916, 47914, 10587, 41253, 4186, 37441, 59907, 15773, + 16296, 59000, 44655, 3325, 53898, 27044, 47556, 28171, 10751, 54328, 44318, + 41344, 26848, 35614, 40184, 28054, 53430, 63613, 51654, 45564, 13307, 6919, + 39434, 37675, 17131, 46880, 59654, 32246, 59236, 42432, 40224, 48163, 57589, + 32531, 29170, 49552, 46317, 55073, 45335, 4681, 17466, 30415, 27755, 19940, + 22913, 10394, 48731, 53706, 52702, 2568, 54014, 54728, 4097, 23648, 13740, + 44910, 55461, 51665, 29863, 19767, 40241, 25724, 53277, 23478, 45597, 63021, + 63149, 35421, 41107, 35354, 59844, 13259, 63558, 15557, 52231, 10270, 38484, + 13879, 31907, 27744, 64604, 39975, 29556, 996, 57375, 42994, 53005, 37285, + 8311, 35763, 42671, 22629, 31919, 18842, 52562, 35920, 22700, 63283, 42216, + 61460, 46431, 42657, 50637, 56170, 62798, 25184, 53436, 39036, 7002, 7441, + 61339, 12453, 59392, 49829, 46374, 38689, 8662, 35532, 32467, 11004, 62526, + 50099, 54850, 44561, 29706, 29954, 51586, 20893, 18585, 54749, 23821, 55786, + 56696, 59582, 57718, 32218, 17687, 43837, 26122, 59632, 14502, 49574, 17235, + 45649, 48339, 52198, 40540, 5778, 63968, 28732, 50271, 56804, 37989, 51131, + 20681, 59430, 26846, 49197, 25369, 23653, 28979, 9079, 19761, 50837, 33837, + 62812, 50432, 19545, 20756, 65115, 37383, 56885, 11798, 8141, 54229, 26981, + 28050, 32423, 62389, 9536, 20055, 9898, 38777, 21528, 36533, 12410, 19648, + 36981, 60106, 59734, 44457, 53061, 2345, 2123, 9578, 43292, 15286, 8112, 62899, + 65455, 2037, 6451, 45211, 32266, 4951, 33196, 4214, 28583, 14900, 25086, 11575, + 64019, 57452, 29542, 62365, 26818, 1525, 64756, 5441, 4596, 31735, 48100, + 63207, 48087, 46687, 41302, 36221, 10083, 13884, 5194, 53193, 45184, 14194, + 54876, 48152, 62164, 42523, 47250, 2382, 3520, 13475, 51367, 37039, 10004, + 63567, 19937, 3806, 18555, 55444, 18713, 42419, 9475, 4584, 1297, 5286, 2121, + 56235, 40598, 28506, 28734, 61027, 58442, 63388, 29947, 41243, 61891, 31132, + 31346, 62525, 27215, 6431, 28961, 29590, 21294, 33959, 20008, 44409, 3993, + 12571, 8595, 446, 29954, 43691, 657, 18210, 13179, 62353, 60336, 36775, 5826, + 9593, 24987, 737, 20181, 15850, 53097, 24013, 54712, 30251, 64521, 13087, + 37573, 40672, 36764, 30216, 7657, 57808, 19938, 39499, 40751, 11706, 16785, + 17176, 43432, 64933, 60776, 61213, 49322, 32640, 1415, 59737, 38896, 52038, + 33523, 51402, 14645, 61535, 64572, 13787, 32877, 58387, 61861, 7235, 64661, + 37363, 5420, 36179, 13616, 40814, 5139, 1362, 27082, 55688, 50228, 58806, + 30812, 63570, 30172, 17650, 39695, 14953, 27195, 51182, 32917, 19422, 19611, + 50538, 53048, 21892, 4814, 52565, 44784, 4158, 63727, 61735, 28642, 62125, + 37773, 44550, 59696, 14665, 12393, 52089, 6948, 15903, 38387, 17751, 27447, + 19734, 65045, 47494, 55724, 49437, 51140, 18432, 48788, 32370, 58643, 30998, + 30852, 53140, 7903, 29220, 34556, 5427, 47399, 54001, 34680, 56949, 33742, + 48436, 60298, 14576, 32116, 21245, 48655, 47081, 41389, 64676, 19491, 41551, + 63641, 12802, 48869, 35667, 52732, 18219, 29279, 29855, 13755, 52778, 62678, + 61131, 36153, 42729, 51075, 5702, 7693, 12944, 27100, 11036, 5376, 37992, + 30803, 6722, 27931, 1247, 62228, 6100, 33655, 22528, 46742, 27397, 32372, + 47329, 60046, 24562, 19228, 53344, 58912, 55103, 49343, 20384, 5567, 42069, + 24273, 46768, 33387, 42809, 34843, 36283, 13428, 28143, 26179, 6718, 24023, + 23004, 24257, 10534, + ])) + .unwrap(), + c: 156, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: VarTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("9e6297181610b6c462e663ecc29780c2367606e522a083d75811b5b8dd68b155"); + root_from_hex("0x94ae9da9095ee46b7da1e78d09ff01ca80f996b586792b8a586858b479416fad"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_nil_chaos_2() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([true, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([true, true, false, false, true, false, true, true]), +fn test_containers_complex_test_struct_random_4() { + let mut value = ComplexTestStruct { + a: 56777, + b: List::::try_from(Vec::::from_iter([ + 58669, 14901, 4758, 38656, 35668, 56803, 11682, 18310, 55525, 27960, 27146, 38815, + 64187, 39411, 10941, 3648, 39464, 58000, 44066, 39145, 10389, 37014, 41092, 35274, + 17322, 33759, 11233, 47511, 43152, 59460, 53641, 45819, 21475, 7896, 45582, 17078, + 37649, 8718, 43178, 47119, + ])) + .unwrap(), + c: 226, + d: List::::try_from(Vec::::from_iter([154, 190])).unwrap(), + e: VarTestStruct { + a: 2759, + b: List::::try_from(Vec::::from_iter([ + 39699, 46298, 7448, 19899, 6144, 52837, 26829, 38886, 23820, 35946, 58633, 13819, + 11247, 46958, 28664, 52929, 26408, 62264, 12903, 30760, 17166, 59453, 64336, 61824, + 33197, 54525, 38617, 25063, 1731, 64709, 25564, 9563, 22479, 31853, 50843, 41574, + 12816, 22986, 4137, 60585, 56048, 60455, 14466, 44481, 5689, 60715, 29205, 63692, + 9727, 38572, 57108, 62452, 29863, 4130, 35549, 38080, 10213, 411, 17036, 37007, + 24565, 14907, 53667, 48498, 408, 50919, 44237, 6647, 4239, 53829, 38869, 57756, + 21736, 48823, 35815, 13672, 35539, 38862, 42821, 50006, 38067, 37411, 1806, 39749, + 31626, 14046, 46026, 62425, 19510, 42936, 17349, 8376, 50417, 47844, 3491, 44710, + 3796, 54420, 35523, 64331, 29511, 52637, 44893, 35872, 28700, 56385, 62119, 52410, + 40957, 61241, 12706, 34258, 63935, 49387, 11233, 26947, 25455, 58644, 41027, 18686, + 50331, 52987, 46983, 40603, 8886, 64866, 52410, 15458, 20538, 577, 59315, 59671, + 31297, 51849, 31466, 34670, 17694, 54761, 59173, 29613, 59693, 63065, 17739, 19650, + 17050, 59149, 57621, 46228, 50327, 6693, 25039, 11063, 62261, 58359, 15818, 48507, + 48622, 3402, 10547, 51484, 25653, 42575, 51387, 990, 24953, 65430, 40094, 38531, + 21456, 23033, 24202, 45232, 27755, 33648, 59889, 49245, 21906, 41546, 8159, 26864, + 51763, 23136, 62203, 31976, 13355, 25828, 60697, 46582, 7256, 40078, 46452, 10076, + 46272, 20411, 8516, 16887, 26936, 25939, 37, 52844, 42344, 27183, 64865, 37586, + 14244, 53517, 56603, 4649, 27775, 26341, 47007, 9267, 42058, 9529, 54730, 17953, + 55329, 60734, 20942, 63728, 17289, 12012, 35435, 1106, 59095, 55240, 36052, 19199, + 9861, 15577, 19543, 28742, 56007, 51961, 61352, 15991, 29778, 17014, 23187, 12025, + 27830, 37054, 2635, 9527, 59195, 41946, 20400, 48976, 38560, 15817, 18047, 23032, + 10765, 16317, 47525, 25135, 58060, 22450, 61853, 63132, 21130, 10479, 16069, 42913, + 44545, 35647, 36144, 19307, 37267, 18197, 19657, 55271, 31084, 34266, 38926, 43410, + 46895, 17288, 259, 44592, 4484, 49372, 24526, 58018, 28232, 14522, 43371, 34524, + 57058, 24616, 30653, 52186, 58960, 22952, 16310, 29940, 43950, 31320, 37826, 21188, + 51035, 36642, 5591, 58958, 9101, 8365, 24010, 58502, 62860, 24437, 49761, 16085, + 9293, 5992, 18106, 42021, 27937, 51455, 52028, 2873, 60884, 55841, 29054, 14332, + 16254, 6069, 56297, 14910, 30063, 29434, 1480, 22924, 39119, 8086, 41612, 38000, + 5295, 21786, 53146, 65052, 15335, 51649, 15245, 46139, 12785, 60247, 23759, 34606, + 9286, 54944, 23939, 31545, 22324, 28615, 65511, + ])) + .unwrap(), + c: 237, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 52, b: 12728543440427803475, c: 794847716 }, + FixedTestStruct { a: 129, b: 16258032708543429508, c: 2773321321 }, + FixedTestStruct { a: 3, b: 16027621960155161403, c: 3849861284 }, + FixedTestStruct { a: 246, b: 5528410490619814594, c: 22081984 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 16350, + b: List::::try_from(Vec::::from_iter([ + 55724, 36052, 59659, 3703, 31564, 52017, 62286, 14084, 30657, 38794, 12251, + 34934, 2518, 17182, 52210, 21592, 8785, 27241, 27231, 7912, 61394, 2883, 52437, + 5432, 56815, 34442, 10525, 48307, 62716, 30821, 26180, 34865, 33159, 27818, + 31917, 12505, 38124, 6538, 9838, 9467, 4074, 48338, 17180, 10202, 34037, 1852, + 24549, 25000, 48868, 4136, 62485, 25614, 45444, 24605, 39973, 27183, 10183, + 37179, 47939, 44296, 40679, 10445, 41000, 2872, 29096, 36085, 25029, 26480, + 62517, 65139, 55264, 48378, 14726, 63847, 60787, 39708, 52192, 32272, 26793, + 329, 10573, 52428, 29696, 36976, 51753, 37922, 9587, 32225, 53652, 28550, + 39277, 52368, 61982, 37239, 22942, 46758, 39026, 59171, 44294, 57664, 51825, + 40556, 39979, 757, 4403, 40538, 36105, 9049, 16684, 43391, 25268, 33502, 43705, + 64646, 29001, 62676, 1278, 58847, 10840, 29927, 15692, 17534, 12452, 65502, + 14755, 44639, 13329, 35802, 18270, 21249, 12051, 17182, 37979, 43439, 12321, + 4437, 46750, 12773, 4991, 27930, 27184, 7183, 37595, 57128, 30883, 49590, 4051, + 9642, 3532, 26641, 39078, 33967, 33463, 10070, 49059, 35797, 49158, 55105, + 50170, 58317, 61399, 4817, 44678, 5681, 52495, 29500, 60297, 55516, 7196, + 19270, 14788, 38245, 36247, 56534, 5553, 5599, 30597, 31266, 10655, 47392, + 53563, 50135, 23813, 18563, 57862, 64865, 37464, 4336, 10335, 35814, 51978, + 60156, 38894, 57838, 55640, 5275, 6997, 57103, 14836, 57741, 7342, 36721, + 64923, 63731, 45719, 5258, 22391, 57789, 26763, 4178, 308, 44551, 21887, 45646, + 58959, 49333, 11946, 6243, 57339, 37611, 56882, 30838, 20309, 34555, 57471, + 27781, 27314, 4498, 7224, 25234, 7479, 43758, 63054, 468, 45831, 60268, 14949, + 20692, 14049, 9392, 35058, 34805, 49865, 3181, 28639, 3873, + ])) + .unwrap(), + c: 195, + }, + VarTestStruct { + a: 1960, + b: List::::try_from(Vec::::from_iter([ + 27217, 58622, 36900, 26963, 4204, 60786, 42710, 56503, 46843, 51370, 19004, + 33065, 19965, 43084, 64668, 27518, 13611, 56577, 46714, 7087, 53718, 9608, + 55415, 50731, 4245, 7005, 57050, 64111, 12612, 32539, 26681, 1206, 37790, + 40779, 47291, 895, 3596, 50779, 28792, 15131, 61279, 12922, 48978, 17143, + 58055, 1418, 50876, 26398, 45024, 19142, 21886, 54461, 11344, 38296, 41220, + 56619, 63240, 5497, 30859, 34874, 34087, 24696, + ])) + .unwrap(), + c: 9, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_nil_chaos_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("b5d2c977cf885fab0f2bcac642caa687fe989b39577ef8ce73f90458daadb1e4"); + root_from_hex("0xf4d8e28604d4d5c60dcb52d5f1397f0016cdcbacab21e3e87f943fbf548c0e2a"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_zero() { +fn test_containers_complex_test_struct_random_5() { let mut value = ComplexTestStruct { - a: 0, + a: 55035, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, + 29868, 51881, 52866, 49329, 55132, 5639, 4474, 38677, 12583, 40315, 8217, 62286, 38849, + 38908, 16030, 62232, 45860, 15388, 42816, 56404, 40205, 8109, 9362, 27005, 61481, + 28385, 36031, 38335, 9133, 36188, 9849, 64042, 50255, 42617, 47281, 10059, 47361, + ])) + .unwrap(), + c: 13, + d: List::::try_from(Vec::::from_iter([ + 1, 93, 117, 31, 50, 172, 137, 237, 12, 24, 184, 213, 53, 227, 235, 39, 55, 148, 72, + 121, 65, 240, 240, 13, 124, 244, 35, 19, 109, 111, 47, 22, 122, 221, 224, 189, 98, 174, + 41, 13, 215, 129, 122, 130, 188, 96, 50, 26, 71, 209, 190, 102, 104, 128, 69, 31, 253, + 175, 104, 222, 252, 6, 111, 62, 124, 223, 207, 218, 8, 83, 217, 252, 10, 242, 85, 193, + 10, 53, 7, 214, 244, 154, 33, 63, 246, 231, 241, 222, 92, 231, 7, 232, 40, 41, 121, 25, + 181, 125, 120, 35, 183, 139, 224, 229, 119, 194, 52, 5, 95, 28, 158, 187, 99, 93, 35, + 225, 167, 75, 81, 107, 141, 156, 177, 61, 76, 224, 60, 254, 1, 172, 31, 57, 231, 29, + 212, 255, 255, 223, 128, 244, 201, 28, 207, 1, 98, 73, 73, 203, 215, 234, 153, 111, + 252, 223, 152, 43, 113, ])) .unwrap(), - c: 0, - d: List::::try_from(Vec::::from_iter([0])).unwrap(), e: VarTestStruct { - a: 0, + a: 7222, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 21858, 30928, 56442, 35802, 51, 64008, 46277, 47686, 39274, 58785, 59315, 62704, + 5027, 27003, 38681, 64843, 29476, 29212, 25284, 5924, 30414, 32473, 5562, 18934, + 47524, 55295, 60178, 31115, 58243, 16641, 47606, 60935, 25985, 34978, 63056, 38292, + 64741, 32637, 51904, 46965, 23825, 26935, 46539, 43194, 51604, 44099, 30371, 51816, + 7227, 49900, 22714, 64724, 11707, 35800, 31432, 47251, 28182, 28120, 8266, 7927, + 1420, 42152, 8619, 42523, 43925, 62786, 7935, 13494, 6848, 21758, 29316, 5142, + 44910, 61472, 54911, 51517, 21078, 4409, 54973, 18466, 25066, 15156, 32146, 38969, + 31468, 25439, 33518, 47975, 11263, 4494, 5927, 24981, 63935, 24068, 14491, 4602, + 35831, 23663, 54633, 28542, 355, 34972, 11220, 49345, 22281, 40732, 16, 14805, + 55041, 23381, 31803, 22232, 5420, 55151, 2606, 22134, 50255, 51976, 25815, 40427, + 8883, 1706, 46932, 10688, 51002, 49965, 44749, 44230, 30677, 21397, 32477, 62586, + 2797, 57997, 63757, 41592, 40347, 10923, 11496, 34384, 25924, 60154, 10345, 1791, + 29357, 46341, 31188, 10040, 3677, 53238, 20042, 23079, 64719, 17992, 42713, 33680, + 61080, 24560, 47270, 46681, 53931, 27029, 55743, 34643, 58685, 20245, 12215, 14036, + 31592, 32530, 27035, 463, 37778, 43773, 18656, 46664, 51710, 17623, 53820, 14989, + 52811, 23179, 3109, 1743, 33557, 65442, 47323, 1648, 40611, 18618, 34057, 47140, + 44221, 704, 36788, 36720, 42774, 23428, 11799, 3015, 22588, 40790, 17387, 8955, + 17856, 51235, 2928, 20751, 39810, 32182, 45481, 59062, 32956, 17122, 2541, 64331, + 24729, 54909, 60073, 18716, 11395, 33556, 22077, 13606, 57571, 29854, 6264, 13740, + 56893, 39223, 23249, 56464, 64798, 850, 14745, 57265, 2270, 21003, 22359, 34736, + 46821, 65274, 45225, 8814, 36312, 52831, 49767, 17367, 51425, 47709, 1477, 36868, + 1460, 63005, 27393, 18238, 20533, 26567, 23527, 60249, 45271, 14577, 27843, 12244, + 24718, 8063, 40924, 54905, 883, 49049, 10983, 26133, 56985, 52854, 7630, 53677, + 51904, 63736, 41839, 43761, 20132, 44661, 12253, 16950, 55238, 33068, 43730, 40286, + 9459, 63048, 6700, 16438, 61476, 3220, 28396, 795, 53076, 3076, 61513, 54892, + 45666, 12101, 54533, 51165, 18667, 27304, 60702, 48521, 31057, 52069, 60902, 878, + 55526, 27320, 62840, 42227, 28437, 58845, 1559, 65480, 42274, 17592, 59286, 9878, + 50275, 8497, 59528, 62932, 62445, 21999, 7155, 50298, 29298, 29670, 55910, 60566, + 13606, 6843, 40886, 65141, 28332, 41238, 2684, 32108, 4658, 1317, 23336, 45602, + 52106, 27953, 10551, 2906, 59820, 42776, 13937, 43673, 2985, 62396, 59147, 23377, + 24577, 11150, 48838, 2068, 46264, 41197, 54985, 51556, 30327, 7358, 32553, 41113, + 42758, 15997, 23338, 33401, 55983, 5081, 41733, 18515, 17449, 31038, 10428, 37062, + 40089, 41938, 51198, 46169, 8065, 27226, 34680, 51337, 64523, 43368, 12823, 59580, + 37367, 64151, 64083, 11493, 7890, 57168, 25459, 47034, 16698, 7520, 63008, 62957, + 44319, 56353, 2660, 5587, 52264, 44304, 36559, 11203, 26850, 63862, 21917, 61118, + 17608, 61953, 42268, 29961, 64684, 2685, 11570, 59033, 28368, 17409, 46519, 23750, + 52045, 52126, 22256, 57222, 19875, 45932, 13383, 13609, 25314, 37325, 9017, 30104, + 18122, 65352, 56894, 17979, 16486, 45934, 27970, 49951, 17688, 30263, 46041, 15696, + 44976, 54570, 60634, 19814, 35890, 64266, 33665, 48005, 15313, 12175, 58738, 20169, + 20521, 41705, 20615, 53682, 62932, 349, 11193, 59702, 7975, 15453, 48662, 15898, + 54188, 53310, 10206, 33872, 51233, 10004, 44002, 28040, 10373, 44512, 8429, 25924, + 12619, 22046, 61340, 42687, 44288, 21678, 39939, 17643, 8281, 25593, 58198, 25571, + 37471, 18030, 10847, 14409, 63702, 19586, 24574, 23776, 2707, 46879, 28050, 983, + 12753, 8066, 10682, 11926, 58510, 19905, 32058, 40889, 61933, 6559, 42566, 56477, + 40916, 65272, 57231, 48457, 21885, 41410, 55756, 45395, 14976, 30309, 61567, 32258, + 61175, 23591, 39170, 45140, 20573, 17191, 61810, 60547, 40462, 13092, 34187, 47378, + 12449, 50648, 60987, 59028, 27892, 1069, 48804, 35930, 6283, 52359, 54949, 27892, + 492, 44503, 65018, 10588, 51559, 591, 32817, 26121, 45267, 55323, 36260, 12678, + 25700, 23417, 30488, 15386, 38350, 15788, 20493, 11678, 33320, 20078, 26909, 7181, + 20030, 63121, 56394, 48584, 9660, 13489, 46462, 30295, 26297, 6914, 31354, 44201, + 6799, 27387, 52989, 55112, 46264, 15508, 30576, 46417, 25731, ])) .unwrap(), - c: 0, + c: 130, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, - FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 185, b: 6572514143696592295, c: 3258127834 }, + FixedTestStruct { a: 117, b: 8175813056618882816, c: 4063679543 }, + FixedTestStruct { a: 133, b: 12689249717164430483, c: 2008300373 }, + FixedTestStruct { a: 50, b: 6498855893583129950, c: 1341694256 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 0, + a: 64656, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 45910, 29665, 45383, 25271, 24489, 30536, 11650, 49608, 58059, 7224, 14244, + 61248, 20670, 45082, 54799, 24890, 47599, 65047, 39966, 1108, 40727, 14134, + 50626, 27929, 24793, 40225, 51745, 42323, 18418, 34156, 42236, 59821, 15771, + 48237, 64971, 48247, 63561, 9477, 62332, 28101, 12645, 64266, 61993, 64445, + 16781, 20930, 29558, 25677, 40294, 15289, 32352, 20812, 56082, 15126, 38681, + 44126, 9433, 47058, 52654, 58605, 31724, 52511, 17141, 41140, 8094, 16147, + 32935, 27915, 16212, 12093, 56362, 20413, 49403, 49463, 45600, 63821, 52662, + 35967, 44807, 26333, 47216, 54086, 41490, 54260, 22091, 2223, 14497, 47623, + 18141, 6080, 12524, 43544, 58849, 60613, 27204, 36841, 9470, 58160, 32629, + 24284, 32893, 64590, 54849, 49863, 65107, 43072, 15766, 44600, 59423, 34704, + 52355, 27209, 49886, 62547, 62080, 12931, 2474, 34178, 63038, 58173, 22639, + 47035, 42170, 65373, 11063, 31118, 48460, 3944, 12669, 17753, 65241, 52770, + 30176, 43870, 47376, 29775, 6248, 48832, 19154, 41199, 63925, 31409, 3411, + 24492, 32776, 6222, 64404, 57725, 51773, 30528, 15014, 7875, 26657, 9585, 3556, + 44929, 43150, 18675, 29673, 58018, 33778, 45924, 35652, 28813, 53693, 59424, + 61785, 19173, 16331, 40767, 53635, 34681, 39797, 54336, 12536, 31449, 26484, + 40483, 24844, 12919, 37289, 32904, 7633, 10110, 2744, 59373, 43292, 6858, + 10761, 52717, 33638, 36093, 29956, 54692, 46909, 8536, 26781, 10216, 61349, + 4224, 65428, 64514, 28030, 35663, 29022, 26526, 64169, 41339, 3087, 37657, + 50595, 33082, 16225, 20268, 49383, 10802, 29170, 58240, 15074, 30209, 1973, + 61773, 41452, 5530, 27406, 11657, 54087, 2229, 18836, 1839, 57835, 1599, 32574, + 44110, 53507, 31034, 26357, 42123, 16488, 4000, 50898, 43262, 47355, 56056, + 35962, 32940, 32318, 1569, 29190, 2521, 17330, 43315, 37752, 1476, 37373, + 20544, 21226, 7173, 34500, 52434, 15783, 38374, ])) .unwrap(), - c: 0, + c: 11, }, VarTestStruct { - a: 0, + a: 27132, b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2598, 18830, 34959, 37504, 50302, 16098, 39261, 841, 49627, 20741, 54352, + 22209, 25481, 58329, 56924, 60203, 37372, 2401, 25028, 40628, 41990, 46984, + 21678, 19484, 37125, 22916, 15472, 11957, 23056, 3233, 61739, 48934, 33414, + 49548, 3594, 22087, 49516, 10969, 41745, 35233, 21220, 45934, 25872, 37802, + 64823, 11680, 5126, 35327, 56778, 9340, 63603, 26849, 27874, 36300, 31939, + 40525, 24888, 34004, 65474, 40404, 42952, 14769, 47635, 59659, 51643, 38626, + 12288, 31460, 24151, 1937, 11830, 52707, 36980, 45661, 18188, 20629, 4556, + 38561, 30084, 18119, 46703, 40709, 27129, 36542, 52692, 1520, 21044, 5812, + 26597, 10776, 27812, 26434, 15034, 27769, 30165, 57415, 43628, 49429, 29240, + 38779, 57194, 54727, 64033, 11819, 11184, 50263, 46482, 54220, 42693, 17446, + 57714, 22107, 3436, 11129, 42173, 16209, 46452, 44838, 23808, 65464, 30563, + 8777, 31052, 46731, 51857, 15918, 49354, 40582, 10690, 38806, 61857, 48353, + 5334, 60929, 30103, 21050, 2445, 23672, 26403, 27479, 34257, 34301, 33087, + 57106, 28007, 1061, 77, 44048, 52850, 37936, 60080, 7231, 43315, 34032, 41462, + 30672, 39262, 4720, 8173, 27993, 49105, 36770, 56101, 49591, 12267, 40876, + 10503, 28763, 46657, 17745, 34899, 34333, 3082, 4175, 46190, 46983, 45934, + 51002, 42854, 56451, 21958, 56308, 60002, 27230, 10611, 3132, 1849, 46291, + 62729, 47948, 53360, 8576, 13230, 41494, 61112, 12182, 43750, 52258, 14513, + 45554, 11328, 17973, 62159, 11354, 36508, 29300, 30375, 57680, 54034, 62659, + 26180, 53473, 58449, 1472, 553, 59932, 12672, 54853, 63110, 153, 15731, 34517, + 34871, 23204, 34113, 33066, 27495, 53493, 2724, 16617, 11686, 35691, 13299, + 56116, 2683, 14798, 22685, 51285, 9643, 19772, 24545, 15085, 13611, 41438, + 64156, 27955, 54291, 32013, 6746, 53422, 25043, 52624, 38331, 61199, 37728, + 50581, 64572, 2387, 50504, 62571, 46411, 34765, 37963, 31732, 37457, 43728, + 20111, 44475, 2246, 38088, 29415, 15190, 17092, 368, 5759, 4679, 49153, 1907, + 26259, 51689, 22662, 53029, 50341, 2737, 32960, 17526, 18386, 7503, 49516, + 17112, 28316, 55461, 24571, 32696, 8483, 5181, 12352, 34342, 18185, 13843, + 25469, 4863, 62772, 43881, 13332, 49228, 605, 20407, 37006, 52784, 44148, + 40007, 4735, 7784, 17604, 50014, 50522, 33144, 1427, 48254, 59957, 29621, 6002, + 20129, 4614, 46044, 5786, 11010, 6596, 6568, 21131, 62096, 13288, 14665, 41598, + 60276, 42705, 13962, 61219, 54573, 24790, 24722, 52947, 26848, 6630, 46167, + 27867, 104, 39887, 32139, 32877, 54934, 34421, 32776, 125, 32455, 14869, 11439, + 51111, 46103, 5115, 22799, 48970, 36184, 1273, 59162, 60076, 26739, 43162, + 45168, 28644, 8431, 7509, 59900, 11824, 50120, 36154, 51207, 20201, 25643, + 54589, 10747, 64837, 41370, 25381, 49764, 63382, 49134, 43179, 45440, 1641, + 45631, 10052, 22209, 38958, 17063, 2604, 18978, 21075, 30979, 48725, 63128, + 53798, 50716, 28876, 39092, 59651, 13078, 63944, 16168, 33886, 63701, 34105, + 2449, 50677, 58274, 60286, 4220, 20254, 11245, 5618, 43821, 59182, 52191, + 18764, 65057, 432, 34039, 65016, 18294, 12218, 52679, 59160, 12068, 27803, + 37025, 1556, 53719, 15974, 63982, 3559, 46219, 30122, 61590, 61724, 1198, + 26759, 58172, 7492, 3711, 41900, 31685, 56177, 56166, 9917, 23821, 10728, + 29867, 47119, 4008, 61012, 56454, 34161, 4898, 17721, 42295, 9684, 9236, 20515, + 20068, 30090, 62613, 19623, 16564, 64396, 60588, 40847, 6392, 47922, 2336, + 34891, 57193, 38869, 764, 57542, 25497, 59420, 48075, 32123, 37635, 2128, 2475, + 55760, 14692, 31297, 29161, 7684, 55138, 39903, 62874, 23949, 15861, 3917, + 6731, 17597, 43545, 326, 38365, 59965, 41538, 29758, 50147, 20422, 39303, + 63314, 23199, 23322, 62215, 378, 44521, 20671, 17178, 60624, 46414, 15965, + 11673, 24045, 37957, 37648, 33913, 29979, 53781, 8702, 17678, 60893, 340, + 39900, 12257, 39817, 31318, 65427, 63323, 9115, 50186, 5630, 28686, 42174, 457, + 32218, 19060, 35227, 62852, 13353, 33386, 1079, 2506, 36715, 56328, 55667, + 63897, 3986, 59882, 44200, 25068, 6321, 55544, 17569, 44465, 7143, 35204, + 39815, 21724, 13209, 25560, 368, 17245, 32740, 41682, 44549, 33082, 58184, + 55363, 48197, 50421, 13665, 49930, 21501, 9972, 53482, 48945, 16287, 45561, + 2010, 32753, 90, 50382, 61977, 20239, 12053, 64492, 32547, 14452, 4156, 16863, + 45295, 58868, 26673, 22459, 61942, 31658, 52118, 163, 13527, 6970, 37206, 2850, + 3299, 10919, 31386, 56088, 9979, 56043, 38089, 49184, 25406, 6226, 33364, + 43132, 10766, 3212, 16318, 23622, 58273, 33603, 2961, 27525, 36441, 41093, + 49210, 73, 30134, 58189, 23443, 4431, 19639, 33299, 54917, 24109, 42834, 13135, + 25752, 40057, 6072, 35809, 63796, 29040, 45369, 63130, 3792, 32898, 33736, + 5514, 8182, 34068, 58073, 7506, 44531, 57092, 6071, 30957, 55310, 37065, 26059, + 46213, 62993, 17251, 28654, 54521, 55093, 40760, 26850, 53310, 58897, 40315, + 8560, 31266, 43824, 43214, 35965, 33534, 4234, 23902, 62763, 7487, 29840, + 46441, 36646, 39622, 24806, 33024, 19167, 11205, 64356, 10461, 27572, 13044, + 56911, 33332, 5705, 48175, 40213, 37911, 24380, 7085, 10764, 54397, 37303, + 16804, 43177, 33475, 4554, 53172, 63714, 15126, 63627, 60389, 57810, 3262, + 29751, 1703, 21247, 53411, 15616, 13098, 11994, 35678, 13680, 64762, 64163, + 29247, 18461, 59878, 23688, 54861, 35311, 4677, 28481, 64737, 52445, 36354, + 2707, 45573, 14364, 18098, 943, 18168, 34627, 18756, 18010, 45643, 24364, + 14783, 17786, 18677, 9670, 31415, 17016, 32599, 3466, 48322, 15143, 38185, + 39099, 5154, 65166, 11625, 46537, 7910, 3146, 38775, 54422, 15227, 63364, + 28257, 34872, 52593, 60887, 58922, 30971, 54877, 18721, 41161, 19614, 54181, + 28769, 64469, 54088, 30276, 14992, 43901, 33169, 15063, 35888, 42191, 820, + 47814, 43264, 7446, 28065, 64657, 65406, 62227, 34723, 24594, 43392, 45907, + 6766, 21466, 58275, 18576, 30259, 13187, 19013, 65215, 45144, 39374, 320, + 10989, 33180, 43931, 21685, 54430, 37338, 31923, 30432, 29458, 534, 49731, + 12849, 51214, 27465, 1189, 10012, 17803, 24359, 3283, 18807, 4912, 37852, 9864, + 48853, 34973, 11674, 37704, 21905, 29693, 10663, 62220, 1941, 34278, 48399, + 45711, 39123, 39562, 48756, 32193, 13256, 4776, 40875, 12305, 63247, 49809, + 29007, 7932, 18456, 48677, 47198, 13182, 61658, 27200, 43237, 2614, 60387, + 42669, 2539, 24999, 348, 49421, 65493, 24578, 5065, 49470, 53083, 54704, 55319, + 41440, 9765, 56188, 7944, 47257, 8817, 309, 17228, 9437, 21784, 51341, 59090, + 36532, 22886, 55963, 28915, 39625, 11834, 29246, 65259, 1639, 20226, 12403, + 34254, 30273, 29527, 9264, 17331, 31860, 34402, 25032, 18513, 63450, 55812, + 50505, 39704, 20740, 22582, 43329, 6797, 24665, 34429, 53414, 32716, 38700, + 20892, 24041, 46403, 39151, 9628, 22699, 24192, 12055, 57602, 49227, ])) .unwrap(), - c: 0, + c: 157, }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("2ec3c08dd3340ae02ef2cfc18752d3d87b74b2627a1b89296e8308db83a10d76"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_lengthy_4() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, false, false, false]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([true, true, true, false, true, false]), - e: Bitvector::<8>::from_iter([true, true, false, false, true, true, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("9fef37c569b75fd6c8128910e47d0c566fdfef1b6e0559e80729e27bb43a9593"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_zero_8() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, false, false, false]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false, false, false, false, false]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, false, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_zero_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("24126453e1d5be00e010b8e9ca4f512d777db14429656f9dfb360683b114f36d"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_random_3() { - let mut value = VarTestStruct { - a: 36707, - b: List::::try_from(Vec::::from_iter([ - 12654, 3873, 25427, 28554, 12347, 17269, 55449, 54337, 28007, 48659, 45648, 53594, - 58826, 6468, 56179, 221, 22362, 45908, 38017, 4298, 3453, 41039, 12557, 21685, 2289, - 6762, 58315, 33753, 44846, 9774, 57922, 10115, 35370, 16928, 21313, 20458, 54321, - 14421, 9423, 19692, 35952, 11796, 6252, 65089, 61471, 59269, 17700, 44039, 8858, 662, - 39168, 17303, 52820, 49010, 39886, 56264, 32618, 9688, 32617, 9689, 2814, 21516, 30617, - 30594, 33147, 12190, 19780, 26425, 63835, 38413, 25273, 12600, 8022, 42766, 50061, - 5733, 18650, 47269, 8553, 36611, 21506, 39512, 58347, 47847, 61805, 44970, 33468, - 48499, 64833, 45876, 3604, 39105, 13538, 26802, 61195, 24696, 61996, 16997, 11456, - 46813, 32837, 7224, 39459, 24848, 46856, 25573, 5246, 64735, 17847, 51773, 60812, - 37973, 30569, 64742, 51362, 63841, 3543, 52659, 54847, 14250, 33391, 7072, 20641, - 12656, 55016, 42616, 43565, 56800, 1493, 61797, 24652, 55907, 5532, 53461, 19903, - 44623, 36532, 32089, 39741, 57241, 2688, 53093, 32414, 63268, 1351, 23288, 60029, - 24909, 5905, 26975, 46849, 60321, 59155, 40679, 29282, 56540, 6353, 32762, 19869, - 49738, 44941, 32368, 42581, 42159, 50098, 52022, 23634, 17279, 41472, 11201, 60217, - 56014, 9889, 33981, 34128, 9850, 58766, 29724, 2996, 41036, 37446, 62140, 53326, 11134, - 49879, 2738, 6517, 18826, 48340, 53167, 10943, 43884, 58785, 54595, 15510, 29762, 6926, - 63285, 20418, 46562, 52154, 54987, 33604, 30155, 13856, 42056, 47849, 26343, 49176, - 51961, 40299, 62619, 63397, 1074, 22581, 6675, 27829, 39141, 50360, 11289, 28777, - 64118, 15171, 8384, 28495, 250, 54709, 5637, 58839, 64926, 39350, 37443, 14673, 4360, - 14000, 6959, 18078, 44865, 25566, 64543, 28860, 20253, 56756, 61801, 43475, 23630, - 16599, 16742, 3570, 24661, 62584, 45551, 1005, 28218, 21891, 41677, 6694, 55408, 32407, - 40721, 61248, 49083, 47029, 60942, 46625, 8302, 55203, 50560, 52907, 19128, 60137, - 52746, 47261, 16047, 62563, 18061, 65314, 11499, 9521, 38536, 51764, 17834, 40385, - 16828, 29726, 4368, 21688, 18993, 17987, 52017, 24201, 55881, 62024, 22190, 5023, - 11703, 44682, 37818, 36746, 22504, 64529, 9744, 59326, 498, 28033, 11765, 56069, 25381, - 11864, 1783, 22820, 10557, 39237, 10122, 5684, 4799, 53039, 54132, 53417, 38249, 52703, - 21168, 51432, 38665, 52661, 52939, 62665, 49173, 598, 36447, 32956, 56100, 22949, - 57873, 40073, 50369, 43483, 31797, 32218, 16647, 33764, 26183, 22253, 15096, 30884, - 23353, 52591, 449, 6771, 17651, 63169, 11593, 41148, 9354, 29015, 45610, 54496, 3967, - 41509, 31102, 47594, 710, 59890, 10835, 56641, 35313, 60006, 22807, 35776, 65159, 2782, - 52578, 41499, 47863, 34510, 15285, 20990, 46514, 34619, 40893, 10281, 64330, 46585, - 56992, 28477, 38024, 22456, 48706, 54404, 42560, 22643, 1454, 9433, 8180, 871, 8318, - 55074, 35959, 2007, 26368, 20360, 31707, 22528, 58065, 19644, 33552, 34166, 423, 3032, - 25436, 24501, 41505, 46961, 20397, 62710, 900, 1821, 41061, 47857, 26128, 15216, 38153, - 18040, 64600, 40001, 64611, 20908, 59024, 16043, 53524, 32823, 361, 33523, 64400, - 40679, 34515, 63993, 3973, 56719, 4053, 10770, 25036, 54855, 26220, 45560, 40369, - 14271, 16604, 61859, 7493, 57669, 19840, 26245, 24530, 37188, 39443, 4018, 45709, - 43669, 6856, 25484, 25144, 16960, 48101, - ])) + ]) .unwrap(), - c: 161, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_random_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("1a6dd659e4613869e40aaf157b34202984ed415d8e1a840e77fdca8131eee28d"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_one_chaos_0() { - let mut value = VarTestStruct { - a: 6367, - b: List::::try_from(Vec::::from_iter([33756])).unwrap(), - c: 52, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_one_chaos_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("241b66eb58b52471a5db434909765ffe1c393b77460c72417926a78964477772"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_lengthy_3() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, false, false, false, true]), - b: Bitvector::<2>::from_iter([false, true]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false, false, true, false, false, true]), - e: Bitvector::<8>::from_iter([false, false, true, false, true, true, false, false]), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_3/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_5/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("6ed9d1f323c1b7c84169e063e266ad39f60b7fb4162e77d91aa7635a289b9413"); + root_from_hex("0x4f1b6daa8389ed6595cc6d1ff4ec323cbefa31bdde591a80b797afcb336f2ecc"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_zero_8() { - let mut value = VarTestStruct { - a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +fn test_containers_complex_test_struct_random_6() { + let mut value = ComplexTestStruct { + a: 56082, + b: List::::try_from(Vec::::from_iter([ + 16100, 22857, 27807, 34340, 18934, 15120, 29987, 2470, 46665, 59647, 31943, 45611, + 58344, 27670, 50944, 47092, 21665, 36667, 42227, 41577, 12512, 596, 62087, 38343, + 31525, 9968, 45121, 40434, 32084, 5333, 4835, 3339, 38395, 20109, 58009, 60253, 3746, + 13519, 13381, 18659, 23803, 44518, 2163, 32548, 22246, 23513, 46382, 41869, 50979, + 65142, 44880, 7016, 22020, 29275, 21014, 46115, 44108, 60556, 28879, 43476, 62973, + 33776, 18845, 11764, 21132, 34696, 27081, 29853, 43833, 22089, 54364, 22524, 48064, + 11065, 34923, 31045, 19944, 21676, 57420, 29950, 31156, 23207, 53147, 36016, 8072, + 8802, 30624, 746, 39360, 48449, 47030, 56748, 63276, + ])) + .unwrap(), + c: 168, + d: List::::try_from(Vec::::from_iter([ + 40, 41, 197, 38, 95, 95, 2, 105, 184, 76, 97, 39, 73, 184, 37, 136, 136, 110, 210, 118, + 215, 74, 142, 13, 197, 139, 95, 107, 119, 111, 26, 254, 80, 89, 236, 205, 186, 139, 39, + 51, 94, 149, 164, 178, 230, 135, 193, 198, 60, 14, 218, 149, 132, 85, 23, 199, 210, + 226, 118, 31, 56, 216, 11, 255, 151, 87, 151, 247, 184, 3, 165, 107, 241, 90, 168, 8, + 147, 188, 31, 135, 132, 23, 116, 141, 64, 10, 255, 176, 119, 227, 129, 51, 94, 193, + 154, 121, 153, 218, 196, 184, 54, 166, 186, 114, 32, 243, 54, 12, 70, 207, 234, 14, 35, + 181, 112, 105, 210, 174, 163, 42, 243, 165, 96, 136, 231, 207, 198, 179, 141, 160, 122, + 168, 12, 200, 212, 185, 22, 118, 247, 54, 107, 152, 167, ])) .unwrap(), - c: 0, + e: VarTestStruct { + a: 11429, + b: List::::try_from(Vec::::from_iter([ + 60109, 40769, 46399, 40756, 54364, 14755, 50154, 2464, 1212, 36993, 15934, 14639, + 39209, 27684, 14374, 35993, 10919, 51667, 30710, 27337, 35066, 29087, 42877, 31353, + 59108, 5772, 31403, 56426, 36255, 2499, 40269, 61875, 14862, 55082, 12666, 40997, + 32483, 5102, 29843, 44065, 62507, 22572, 14565, 40211, 63852, 40161, 26729, 27975, + 34763, 41474, 13844, 49887, 62325, 43565, 55572, 10575, 55219, 31844, 56829, 61982, + 8771, 45842, 21991, 15880, 54050, 20851, 54799, 31339, 54890, 46122, 51850, 58914, + 2017, 39112, 54124, 47541, 44552, 5427, 7523, 29640, 51044, 54296, 31402, 59264, + 25986, 51517, 8277, 9171, 20055, 31198, 53559, 8724, 18988, 58309, 36392, 30245, + 10592, 42461, 48509, 4718, 34309, 20621, 27109, 39094, 1022, 58534, 17763, 16513, + 45819, 39001, 53091, 55842, 4204, 50292, 24274, 47003, 42656, 25870, 52020, 21053, + 46432, 10180, 9480, 34172, 26850, 4541, 49254, 16630, 40105, 35609, 1479, 29030, + 900, 64758, 28345, 26429, 2734, 39968, 53604, 33270, 28230, 10428, 44780, 27263, + 54066, 39925, 22898, 52924, 30209, 59795, 5412, 26053, 49646, 62122, 48129, 35818, + 46169, 55076, 45832, 21972, 3104, 5797, 30916, 46820, 53916, 36058, 6868, 49186, + 54491, 29663, 12432, 62953, 58052, 39803, 37474, 11824, 41000, 7692, 40243, 38171, + 14003, 17490, 46196, 64915, 6431, 36061, 45610, 43994, 35390, 25523, 26079, 21393, + 28906, 23901, 31445, 17045, 52356, 21030, 55380, 48331, 16940, 48799, 58154, 32164, + 19082, 39629, 63652, 63132, 13473, 1364, 57314, 23750, 1810, 43481, 37305, 52627, + 9392, 58872, 53894, 46152, 45875, 34605, 44743, 57919, 60216, 57430, 29934, 29802, + 44241, 57402, 29074, 64833, 58200, 28698, 56489, 59917, 38441, 2832, 46336, 21703, + 40717, 60689, 41146, 25148, 37711, 20280, 65169, 37198, 47577, 10489, 7122, 10868, + 21298, 48235, 33165, 19746, 43817, 43550, 47763, 41143, 20578, 64962, 29759, 47455, + 57859, 6635, 17711, 29993, 13215, 28406, 47882, 8564, 51741, 58231, 44409, 23398, + 28637, 24610, 44549, 63219, 63341, 28771, 17697, 53943, 42839, 23415, 20512, 14303, + 58799, 19909, 32500, 45613, 9698, 7229, 20909, 18416, 13781, 44003, 37876, 46575, + 3038, 11285, 25808, 18171, 45806, 57529, 7098, 61748, 45637, 25942, 7953, 36145, + 50040, 34868, 64094, 47417, 38691, 51227, 1536, 17259, 24120, 41457, 56671, 13966, + 1174, 2387, 17070, 64206, 44057, 46027, 28588, 21394, 19856, 16102, 4257, 34921, + 22595, 59352, 57474, 50989, 12619, 64380, 38802, 1453, 28019, 46175, 38494, 63087, + 3317, 25228, 5061, 6857, 2720, 11644, 10185, 48463, 860, 28939, 18110, 46013, + 57306, 23289, 37649, 2141, 10370, 59391, 20084, 52753, 11556, 40070, 14866, 35041, + 25792, 14187, 45309, 27530, 3086, 12714, 39807, 20461, 43265, 45510, 28492, 19647, + 31047, 42926, 59070, 38759, 50348, 54563, 54077, 59543, 35695, 22876, 63822, 26594, + 14422, 63493, 17703, 27724, 51362, 11687, 26337, 23525, 1101, 55583, 51781, 16023, + 23421, 9737, 13157, 51954, 6741, 3529, 52313, 27377, 3865, 46942, 45209, 28247, + 33929, 62684, 24120, 8762, 40347, 46217, 10954, 35789, 61978, 47615, 20503, 37495, + 9803, 519, 45395, 7594, 57011, 39206, 46855, 20502, 61895, 17227, 59147, 19898, + 37317, 41325, 45616, 56104, 36278, 55740, 53453, 36719, 34719, 39113, 18132, 29006, + 37500, 46312, 58213, 49214, 48729, 2111, 8067, 47898, 57516, 61328, 2473, 52107, + 10288, 36501, 17254, 54973, 29799, 25435, 46730, 21493, 29954, 11644, 65224, 51985, + 61765, 56600, 31555, 760, 31761, 65476, 52084, 57730, 46812, 28512, 37606, 11305, + 64521, 9535, 43867, 46039, 21311, 7189, 50903, 33032, 30180, 24892, 18303, 43250, + 51003, 2353, 101, 40042, 20819, 31079, 15497, 24071, 4230, 30715, 53670, 42124, + 55028, 6882, 19357, 36370, 32944, 1660, 5756, 748, 20482, 49167, 3140, 11548, + 10076, 29953, 33585, 46644, 30843, 7781, 6809, 2134, 25327, 47376, 41257, 39430, + 51286, 17936, 32262, 63837, 56966, 317, 64489, 11660, 29588, 277, 49999, 16712, + 48048, 10742, 26833, 39029, 10154, 22940, 5028, 34882, 1087, 14107, 50349, 40229, + 2318, 13391, 9539, 35939, 6920, 45422, 10917, 23853, 30605, 17288, 5432, 40796, + 9667, 16573, 8351, 55697, 4253, 33724, 6543, 42128, 62401, 35278, 30338, 9506, + 35655, 58431, 42941, 11053, 500, 46484, 20741, 34337, 2317, 3187, 33738, 25311, + 11821, 63656, 38232, 39161, 47836, 32621, 19988, 5037, 14530, 45416, 26008, 23924, + 1994, 64224, 19500, 56883, 56009, 55221, 53206, 42436, 56981, 20695, 3758, 36394, + 35154, 48634, 63340, 32711, 27716, 37784, 39640, 40504, 35772, 31659, 32637, 36833, + 47472, 19880, 45447, 10695, 34458, 63716, 44762, 5507, 28180, 3823, 30626, 38140, + 37042, 39212, 35480, 45559, 15401, 37524, 28408, 51096, 40489, 53487, 41212, 60999, + 31696, 42933, 21149, 45805, 15412, 62896, 62451, 33440, 64374, 12928, 50948, 45095, + 18714, 39236, 37743, 7906, 16113, 55455, 45351, 62767, 47743, 28792, 50466, 3907, + 5872, 64569, + ])) + .unwrap(), + c: 101, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 222, b: 15123379162607136266, c: 1353896497 }, + FixedTestStruct { a: 133, b: 12301823266505627415, c: 2049419971 }, + FixedTestStruct { a: 74, b: 14612473027338292713, c: 3280573163 }, + FixedTestStruct { a: 182, b: 13293144499800156659, c: 1044267296 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 39096, + b: List::::try_from(Vec::::from_iter([ + 47532, 38310, 11840, 11592, 469, 61623, 49907, 61644, 16027, 49338, 26917, + 37058, 43868, 56308, 35037, 41241, 42071, 16557, 41814, 8749, 19464, 25529, + 25666, 40039, 17818, 23454, 23260, 57082, 3694, 56932, 40871, 37605, 21584, + 62023, 37510, 58767, 1740, 49525, 7762, 30260, 65402, 22805, 30770, 44599, + 45778, 24465, 46478, 43863, 65460, 38184, 63704, 41862, 20097, 56089, 41588, + 7427, 11636, 23305, 57184, 6169, 43277, 46876, 866, 942, 16690, 5511, 63265, + 50351, 45473, 42186, 3573, 17690, 27032, 32319, 45154, 62190, 18710, 27725, + 17911, 10316, 42125, 27374, 57853, 34124, 24971, 52653, 49910, 16461, 16134, + 32588, 61027, 46832, 34179, 40576, 11813, 32137, 8074, 27030, 42590, 45711, + 54805, 47087, 25417, 45070, 44553, 33690, 1476, 57171, 44579, 9033, 46690, + 39935, 59737, 52755, 51391, 41295, 41330, 55941, 31939, 60444, 36601, 6926, + 13523, 40091, 45339, 61991, 40007, 64321, 49560, 15169, 51322, 58774, 37107, + 45583, 26297, 54708, 15267, 60625, 26517, 12538, 34030, 11853, 35855, 40582, + 21421, 21490, 10358, 65012, 3368, 36628, 30058, 21475, 49777, 64440, 43991, + 38963, 53494, 41266, 46001, 62084, 8817, 55638, 33082, 49874, 54457, 24837, + 14921, 3546, 37103, 31542, 9459, 45588, 57889, 54278, 19541, 35765, 34527, + 22277, 6360, 50737, 711, 18118, 46590, 54432, 53814, 51163, 11539, 24925, + 44565, 37206, 26721, 5775, 25630, 46440, 715, 13361, 35588, 17454, 52223, + 63509, 36023, 28724, 7212, 45929, 7093, 13976, 26737, 53576, 39567, 47240, + 3399, 2570, 65470, 57086, 21490, 48871, 22074, 10452, 57419, 50547, 26682, + 56144, 32132, 31349, 31428, 60860, 63913, 16701, 15163, 62923, 46513, 22322, + 20280, 61732, 35918, 62171, 11841, 33745, 33886, 44409, 17300, 24502, 53435, + 30350, 61009, 59322, 22652, 59882, 50889, 29382, 62177, 42818, 29659, 12527, + 49610, 49504, 54014, 31847, 56059, 569, 46255, 12576, 14335, 62835, 23626, + 18121, 62389, 63161, 19213, 11139, 48834, 27132, 38294, 311, 43846, 38965, + 45448, 10736, 59742, 21994, 42385, 17169, 44705, 53907, 16422, 26005, 65396, + 35343, 19231, 58743, 56975, 40844, 2550, 34550, 6201, 11680, 1627, 26935, + 64630, 13940, 57153, 40641, 25861, 32773, 30797, 56282, 50811, 59832, 47756, + 40228, 3679, 15430, 46829, 4476, 41464, 30031, 33894, 3082, 20909, 30595, + 41297, 1935, 11186, 45945, 22677, 48425, 56310, 27995, 45984, 64564, 23437, + 15856, 376, 22595, 46436, 54846, 61800, 13210, 55192, 2145, 15867, 43340, + 19287, 58291, 51954, 32430, 40773, 27789, 45920, 38315, 27976, 865, 23067, + 60034, 52964, 32871, 65017, 54288, 22730, 53655, 15956, 46364, 33889, 48645, + 3575, 47240, 12690, 44880, 61855, 39332, 12337, 3796, 17014, 32757, 53382, + 27373, 48405, 51912, 25461, 18008, 9758, 56914, 23441, 38416, 53458, 26875, + 56623, 37735, 1106, 40434, 49852, 13272, 35545, 42887, 14662, 40822, 21207, + 16350, 52258, 47876, 29357, 63271, 34551, 59103, 1705, 49636, 26140, 51260, + 47625, 45058, 55421, 17852, 130, 55603, 58211, 35244, 9802, 19550, 13156, + 31748, 20604, 36363, 32394, 47311, 61977, 1320, 24478, 6849, 3493, 39758, + 65307, 32498, 63115, 20745, 22748, 37608, 8312, 35439, 46642, 56304, 33462, + 7710, 31596, 26039, 10265, 35734, 36134, 31444, 3555, 43971, 43202, 43305, + 9362, 37528, 38184, 35015, 8089, 8947, 3778, 2872, 55387, 43079, 14895, 58214, + 35030, 30203, 48410, 58640, 59856, 9390, 41965, 10568, 14369, 29385, 26143, + 6191, 19045, 9739, 35007, 35051, 65360, 51280, 64462, 417, 54846, 38325, 65258, + 20017, 7246, 15520, 59245, 48884, + ])) + .unwrap(), + c: 181, + }, + VarTestStruct { + a: 38223, + b: List::::try_from(Vec::::from_iter([ + 5078, 33434, 40974, 12861, 22394, 56300, 44801, 7123, 45572, 52308, 40807, + 3493, 48886, 3940, 18613, 26392, 12954, 58150, 22535, 15141, 14353, 34568, + 5140, 33061, 42050, 222, 56269, 22014, 15367, 23727, 29954, 10957, 50158, + 25117, 37952, 29924, 31698, 52634, 60633, 29668, 42847, 57732, 14741, 45137, + 45876, 30641, 46256, 60313, 10369, 60296, 14824, 39076, 35703, 15327, 61517, + 53968, 18262, 48816, 64261, 4225, 52297, 24968, 46731, 45883, 32368, 23481, + 7710, 53869, 44403, 63559, 13037, 30310, 24176, 19340, 1609, 20624, 60769, + 56915, 58478, 33712, 35868, 1383, 44415, 27418, 4835, 20124, 54465, 12941, + 60505, 31993, 61029, 51639, 60735, 5170, 14228, 38317, 36735, 23988, 23534, + 1572, 12474, 47683, 53173, 29696, 31315, 14715, 30743, 52757, 6495, 26642, + 38707, 49754, 884, 47564, 22209, 12685, 32687, 9040, 52980, 36502, 42059, + 18218, 5867, 59198, 5543, 57792, 34772, 60792, 30934, 19458, 58984, 34757, + 13434, 50929, 10068, 37958, 38209, 61035, 43630, 24939, 15188, 43949, 5392, + 58805, 44519, 42242, 33351, 19984, 46339, 12170, 32558, 28737, 20471, 27073, + 8747, 51893, 33789, 50217, 29880, 39244, 55549, 9906, 23468, 21564, 39514, + 3538, 496, 29247, 33027, 16765, 11771, 6754, 28493, 43204, 36568, 18739, 26868, + 39761, 51957, 46326, 13487, 56253, 12066, 34608, 34664, 63073, 27848, 59618, + 40095, 2098, 38457, 36086, 8412, 34675, 24069, 14637, 32751, 42661, 48717, + 54862, 44866, 11369, 26564, 8032, 3474, 27864, 61073, 4585, 1981, 56747, 14372, + 24057, 37663, 6864, 20457, 57876, 56687, 28893, 36773, 34602, 38592, 20539, 44, + 26662, 65056, 11589, 25283, 60360, 58177, 42948, 29815, 7773, 44818, 30993, + 56295, 10455, 62408, 328, 29491, 2300, 21072, 12450, 10602, 38200, 18317, + 51447, 48975, 58303, 65519, 59005, 20637, 11803, 14445, 3742, 50580, 45846, + 3151, 13312, 41621, 18102, 27387, 24634, 29568, 47549, 12592, 28440, 18599, + 61206, 33614, 20136, 18281, 13331, 1323, 33935, 32131, 57383, 41544, 12392, + 48431, 22301, 14528, 16018, 65209, 32376, 42426, 47698, 32853, 56741, 54779, + 6409, 9829, 38179, 3275, 18353, 21512, 62518, 2467, 22415, 65086, 56003, 59330, + 38995, 62356, 44340, 4130, 17221, 39589, 29757, 64864, 10488, 13534, 1576, + 12041, 49624, 30253, 90, 11287, 5595, 60461, 4469, 57154, 56043, 28711, 29304, + 26712, 60310, 59433, 32725, 21522, 8517, 31293, 51504, 63333, 63611, 46241, + 2279, 8302, 24105, 43332, 25429, 48327, 41648, 38022, 46441, 63420, 7988, + 13751, 7908, 56906, 32998, 5488, 21060, 30701, 53544, 35117, 46511, 24316, + 10634, 38944, 3325, 29584, 48800, 12977, 63867, 61882, 33782, 58423, 53522, + 11685, 11320, 42282, 41308, 37014, 62120, 7496, 35660, 49308, 12485, 38555, + 32241, 25401, 56247, 31195, 12137, 25727, 48105, 28020, 30806, 63222, 65509, + 13275, 30811, 44812, 26557, 2288, 50631, 59536, 12184, 50965, 59295, 39461, + 41675, 61012, 35958, 25508, 14033, 58216, 59021, 43365, 46666, 27207, 10699, + 904, 46546, 51842, 9621, 35291, 2728, 22417, 51561, 48692, 26054, 12037, 58524, + 27047, 37005, 12523, 49344, 8493, 45596, 34948, 35244, 4823, 34631, 53606, + 13865, 13199, 50519, 53984, 8566, 53831, 59750, 31949, 45881, 33739, 55355, + 19664, 2750, 32342, 10813, 57648, 54334, 50656, 44969, 38621, 18149, 47740, + 40327, 62600, 29955, 45508, 27697, 18509, 11655, 60093, 2851, 3594, 58830, + 17466, 11472, 27443, 21810, 32487, 35764, 20858, 30826, 5069, 60940, 54966, + 45899, 38522, 65346, 33917, 55533, 18830, 5978, 20715, 41704, 46018, 59850, + 49630, 57108, 42312, 11541, 10152, 39108, 28724, 43661, 42906, 60771, 61287, + 17566, 52887, 56450, 8683, 6633, 64194, 42012, 35214, 65394, 39797, 28253, + 52835, 30726, 14013, 49892, 32969, 27705, 10921, 56995, 21051, 14409, 62434, + 19748, 53963, 32044, 17003, 4488, 56800, 28496, 47074, 46312, 41792, 8267, + 14566, 61835, 4262, 25737, 41313, 20863, 54045, 26891, 48484, 56404, 15748, + 36192, 30175, 19914, 60233, 64930, 10483, 47069, 45904, 65413, 60672, 55080, + 41007, 48128, 6070, 31624, 22731, 22469, 6073, 10766, 40073, 26700, 60161, + 16290, 3795, 52035, 17291, 4152, 56414, 21318, 58001, 61727, 9740, 40194, + 52455, 64347, 27221, 59041, 19095, 58610, 4366, 50095, 63260, 55737, 60937, + 7222, 51754, 1108, 18973, 14077, 31157, 45997, 20645, 41240, 36439, 16135, + 61571, 21045, 27703, 12363, 36386, 39286, 65410, 60890, 20350, 43267, 10669, + 12243, 21158, 59186, 12638, 36701, 26560, 61417, 28835, 41381, 28053, 20393, + 17703, 23909, 51913, 6918, 47017, 6885, 23656, 20831, 43054, 37613, 52560, + 33514, 8989, 32310, 1298, 35171, 16171, 52683, 3297, 53769, 36205, 58958, + 59415, 30566, 18349, 16569, 46120, 8668, 48644, 21468, 40978, 7834, 16466, + 34612, 43494, 50607, 45423, 21905, 61423, 2783, 24196, 38257, 29335, 50288, + 16685, 62897, 46316, 33355, 46608, 13827, 37696, 31120, 32772, 46822, 63564, + 36404, 56740, 14611, 37355, 61409, 2265, 41750, 40866, 46534, 33758, 52433, + 41622, 33281, 51011, 61997, 48199, 52823, 58395, 28191, 43893, 21034, 17496, + 11992, 37674, 20854, 16846, 47118, 40681, 18949, 23045, 39577, 11889, 38199, + 64960, 30494, 60573, 58008, 46796, 10877, 21882, 14735, 35892, 62994, 39881, + 59415, 25418, 46530, 62264, 55770, 40414, 18337, 53684, 51738, 10026, 46718, + 28596, 29473, 8228, 2258, 44354, 42402, 59577, 21544, 57265, 30307, 65156, + 32329, 18486, 30384, 48616, 33690, 57627, 62515, 40417, 12520, 16990, 60549, + 7877, 39042, 31668, 53799, 33442, 8452, 33676, 1684, 9274, 40279, 28787, 62165, + 15875, 25232, 64774, 21820, 1073, 20019, 4589, 64738, 56552, 62726, 44483, + 50846, 659, 19753, 10017, 6086, 45600, 36665, 61487, 14711, 36820, 7006, 3134, + 43946, 413, 13265, 14490, 31396, 18428, 64861, 44336, 62908, 24269, 16313, + 14633, 33920, 32136, 12444, 15697, 6174, 22281, 3076, 25048, 19740, 27731, + 59445, 16649, 53662, 53231, 41088, 60671, 37263, 43399, 2813, 55789, 27855, + 49652, 16510, 6149, 61821, 2217, 21260, 30861, 59369, 27966, 7392, 65127, 1056, + 47428, 4868, 24329, 58533, 42001, 19903, 38866, 44845, 31781, + ])) + .unwrap(), + c: 120, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_8/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_6/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: VarTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("9c0af32d7d42da4c4cf3141012d144cc47fff337f7a6d8dbcc8ea41b9166c856"); + root_from_hex("0x171ae6694d194490e836168998f9ee01694f403e9104a36ec8b9ca05df67cdbe"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_random_5() { +fn test_containers_complex_test_struct_random_7() { let mut value = ComplexTestStruct { - a: 55035, + a: 1062, b: List::::try_from(Vec::::from_iter([ - 29868, 51881, 52866, 49329, 55132, 5639, 4474, 38677, 12583, 40315, 8217, 62286, 38849, - 38908, 16030, 62232, 45860, 15388, 42816, 56404, 40205, 8109, 9362, 27005, 61481, - 28385, 36031, 38335, 9133, 36188, 9849, 64042, 50255, 42617, 47281, 10059, 47361, + 7871, 15592, 44564, 58127, 25646, 24396, 9801, 25517, 30144, 20664, 5792, 56306, 64674, + 27800, 52593, 36265, 57252, 21602, 8534, 62398, 64818, 36283, 6802, 24593, 20984, + 17318, 29447, 60640, 15717, 7292, 60554, 36208, 32300, 32134, 48798, 15032, 7980, + 63005, 24421, 23810, 25719, 55471, 16882, 14932, 34601, 43250, 2139, 2944, 33882, + 48450, 18166, 59547, 48486, 37668, 12682, 15929, 63034, 31640, 17667, 27607, 64387, + 20804, 20296, 30183, 8042, 37003, 36014, 23584, 17738, 37637, 7402, 4123, 30247, 65530, + 27032, 49484, 34057, 64929, 51903, 55218, 41188, 44292, 7511, 40492, 44924, 473, 53670, + 53051, 23861, 47634, 42549, 51375, 24749, 17034, 12266, 46234, 13588, 4317, 24555, + 8559, 55946, 47474, 33775, 62956, 52506, 64845, 57029, 4215, 50404, 54094, 33610, + 61550, 46057, 44761, ])) .unwrap(), - c: 13, + c: 111, d: List::::try_from(Vec::::from_iter([ - 1, 93, 117, 31, 50, 172, 137, 237, 12, 24, 184, 213, 53, 227, 235, 39, 55, 148, 72, - 121, 65, 240, 240, 13, 124, 244, 35, 19, 109, 111, 47, 22, 122, 221, 224, 189, 98, 174, - 41, 13, 215, 129, 122, 130, 188, 96, 50, 26, 71, 209, 190, 102, 104, 128, 69, 31, 253, - 175, 104, 222, 252, 6, 111, 62, 124, 223, 207, 218, 8, 83, 217, 252, 10, 242, 85, 193, - 10, 53, 7, 214, 244, 154, 33, 63, 246, 231, 241, 222, 92, 231, 7, 232, 40, 41, 121, 25, - 181, 125, 120, 35, 183, 139, 224, 229, 119, 194, 52, 5, 95, 28, 158, 187, 99, 93, 35, - 225, 167, 75, 81, 107, 141, 156, 177, 61, 76, 224, 60, 254, 1, 172, 31, 57, 231, 29, - 212, 255, 255, 223, 128, 244, 201, 28, 207, 1, 98, 73, 73, 203, 215, 234, 153, 111, - 252, 223, 152, 43, 113, + 198, 161, 60, 63, 253, 100, 243, 231, 3, 42, 12, 4, 163, 239, 231, 12, 42, 229, 115, + 238, 152, 84, 151, 79, 169, 145, 51, 196, 113, 25, 94, 21, 53, ])) .unwrap(), e: VarTestStruct { - a: 7222, + a: 51924, b: List::::try_from(Vec::::from_iter([ - 21858, 30928, 56442, 35802, 51, 64008, 46277, 47686, 39274, 58785, 59315, 62704, - 5027, 27003, 38681, 64843, 29476, 29212, 25284, 5924, 30414, 32473, 5562, 18934, - 47524, 55295, 60178, 31115, 58243, 16641, 47606, 60935, 25985, 34978, 63056, 38292, - 64741, 32637, 51904, 46965, 23825, 26935, 46539, 43194, 51604, 44099, 30371, 51816, - 7227, 49900, 22714, 64724, 11707, 35800, 31432, 47251, 28182, 28120, 8266, 7927, - 1420, 42152, 8619, 42523, 43925, 62786, 7935, 13494, 6848, 21758, 29316, 5142, - 44910, 61472, 54911, 51517, 21078, 4409, 54973, 18466, 25066, 15156, 32146, 38969, - 31468, 25439, 33518, 47975, 11263, 4494, 5927, 24981, 63935, 24068, 14491, 4602, - 35831, 23663, 54633, 28542, 355, 34972, 11220, 49345, 22281, 40732, 16, 14805, - 55041, 23381, 31803, 22232, 5420, 55151, 2606, 22134, 50255, 51976, 25815, 40427, - 8883, 1706, 46932, 10688, 51002, 49965, 44749, 44230, 30677, 21397, 32477, 62586, - 2797, 57997, 63757, 41592, 40347, 10923, 11496, 34384, 25924, 60154, 10345, 1791, - 29357, 46341, 31188, 10040, 3677, 53238, 20042, 23079, 64719, 17992, 42713, 33680, - 61080, 24560, 47270, 46681, 53931, 27029, 55743, 34643, 58685, 20245, 12215, 14036, - 31592, 32530, 27035, 463, 37778, 43773, 18656, 46664, 51710, 17623, 53820, 14989, - 52811, 23179, 3109, 1743, 33557, 65442, 47323, 1648, 40611, 18618, 34057, 47140, - 44221, 704, 36788, 36720, 42774, 23428, 11799, 3015, 22588, 40790, 17387, 8955, - 17856, 51235, 2928, 20751, 39810, 32182, 45481, 59062, 32956, 17122, 2541, 64331, - 24729, 54909, 60073, 18716, 11395, 33556, 22077, 13606, 57571, 29854, 6264, 13740, - 56893, 39223, 23249, 56464, 64798, 850, 14745, 57265, 2270, 21003, 22359, 34736, - 46821, 65274, 45225, 8814, 36312, 52831, 49767, 17367, 51425, 47709, 1477, 36868, - 1460, 63005, 27393, 18238, 20533, 26567, 23527, 60249, 45271, 14577, 27843, 12244, - 24718, 8063, 40924, 54905, 883, 49049, 10983, 26133, 56985, 52854, 7630, 53677, - 51904, 63736, 41839, 43761, 20132, 44661, 12253, 16950, 55238, 33068, 43730, 40286, - 9459, 63048, 6700, 16438, 61476, 3220, 28396, 795, 53076, 3076, 61513, 54892, - 45666, 12101, 54533, 51165, 18667, 27304, 60702, 48521, 31057, 52069, 60902, 878, - 55526, 27320, 62840, 42227, 28437, 58845, 1559, 65480, 42274, 17592, 59286, 9878, - 50275, 8497, 59528, 62932, 62445, 21999, 7155, 50298, 29298, 29670, 55910, 60566, - 13606, 6843, 40886, 65141, 28332, 41238, 2684, 32108, 4658, 1317, 23336, 45602, - 52106, 27953, 10551, 2906, 59820, 42776, 13937, 43673, 2985, 62396, 59147, 23377, - 24577, 11150, 48838, 2068, 46264, 41197, 54985, 51556, 30327, 7358, 32553, 41113, - 42758, 15997, 23338, 33401, 55983, 5081, 41733, 18515, 17449, 31038, 10428, 37062, - 40089, 41938, 51198, 46169, 8065, 27226, 34680, 51337, 64523, 43368, 12823, 59580, - 37367, 64151, 64083, 11493, 7890, 57168, 25459, 47034, 16698, 7520, 63008, 62957, - 44319, 56353, 2660, 5587, 52264, 44304, 36559, 11203, 26850, 63862, 21917, 61118, - 17608, 61953, 42268, 29961, 64684, 2685, 11570, 59033, 28368, 17409, 46519, 23750, - 52045, 52126, 22256, 57222, 19875, 45932, 13383, 13609, 25314, 37325, 9017, 30104, - 18122, 65352, 56894, 17979, 16486, 45934, 27970, 49951, 17688, 30263, 46041, 15696, - 44976, 54570, 60634, 19814, 35890, 64266, 33665, 48005, 15313, 12175, 58738, 20169, - 20521, 41705, 20615, 53682, 62932, 349, 11193, 59702, 7975, 15453, 48662, 15898, - 54188, 53310, 10206, 33872, 51233, 10004, 44002, 28040, 10373, 44512, 8429, 25924, - 12619, 22046, 61340, 42687, 44288, 21678, 39939, 17643, 8281, 25593, 58198, 25571, - 37471, 18030, 10847, 14409, 63702, 19586, 24574, 23776, 2707, 46879, 28050, 983, - 12753, 8066, 10682, 11926, 58510, 19905, 32058, 40889, 61933, 6559, 42566, 56477, - 40916, 65272, 57231, 48457, 21885, 41410, 55756, 45395, 14976, 30309, 61567, 32258, - 61175, 23591, 39170, 45140, 20573, 17191, 61810, 60547, 40462, 13092, 34187, 47378, - 12449, 50648, 60987, 59028, 27892, 1069, 48804, 35930, 6283, 52359, 54949, 27892, - 492, 44503, 65018, 10588, 51559, 591, 32817, 26121, 45267, 55323, 36260, 12678, - 25700, 23417, 30488, 15386, 38350, 15788, 20493, 11678, 33320, 20078, 26909, 7181, - 20030, 63121, 56394, 48584, 9660, 13489, 46462, 30295, 26297, 6914, 31354, 44201, - 6799, 27387, 52989, 55112, 46264, 15508, 30576, 46417, 25731, + 57236, 10831, 42662, 34230, 2526, 4927, 61167, 41459, 7798, 12414, 43345, 13692, + 48636, 59892, 63284, 42044, 35235, 50832, 1703, 47028, 40466, 64651, 56307, 29066, + 17694, 1155, 44038, 59504, 54451, 34142, 7106, 61363, 27357, 45932, 24160, 46724, + 24015, 20859, 48680, 35381, 5844, 54848, 9361, 46461, 10798, 56348, 56432, 34579, + 33178, 62511, 50087, 40882, 39780, 49814, 53431, 61715, 17138, 6276, 36794, 19612, + 37741, 25752, 56826, 33468, 6011, 56121, 51014, 33343, 34747, 18255, 48131, 24443, + 15255, 26972, 57524, 34537, 11650, 35781, 7244, 12009, 4976, 19767, 36973, 52579, + 26872, 24115, 23242, 26471, 33170, 5494, 54282, 46899, 57793, 458, 33439, 33949, + 43245, 37559, 10200, 56877, 39976, 27389, 59444, 5213, 30929, 5613, 9177, 4787, + 55947, 60298, 10280, 17231, 29477, 50263, 65122, 13489, 47610, 8371, 29727, 49617, + 22063, 3488, 13750, 14433, 7948, 59870, 33605, 32617, 4336, 20424, 8546, 11286, + 32240, 16004, 38397, 58041, 35739, 12687, 18888, 23169, 63191, 35791, 12185, 14573, + 58319, 10949, 36028, 54890, 40324, 59052, 31528, 53608, 13677, 46594, 9120, 58479, + 26028, 18608, 62392, 36094, 55363, 1241, 62470, 10406, 51200, 38466, 53705, 42458, + 28567, 43104, 4373, 25654, 49874, 47501, 23228, 17428, 41418, 28635, 60527, 52358, + 63139, 15239, 42030, 55321, 50142, 13832, 59165, 39630, 16419, 26653, 25229, 44822, + 55123, 7382, 36306, 1172, 18371, 6640, 14156, 57307, 3565, 47827, 10860, 55405, + 58034, 11303, 2423, 2066, 61743, 26136, 35506, 34983, 42754, 54833, 6265, 49501, + 60112, 53591, 33405, 24543, 56860, 21004, 49778, 34335, 18742, 13096, 51621, 14790, + 59823, 52848, 45656, 43934, 26110, 26165, 16698, 33516, 61399, 51219, 58511, 35478, + 44672, 22148, 15437, 64311, 63434, 34380, 36535, 63408, 48165, 34299, 36287, 37464, + 22273, 53551, 64413, 24892, 10752, 56395, 31602, 1277, 46914, 7449, 49943, 31565, + 22184, 11422, 23425, 34145, 27662, 39829, 4880, 17335, 10708, 60069, 20951, 16466, + 39337, 19534, 18704, 35602, 60745, 40186, 5634, 35542, 57091, 33065, 9371, 9184, + 28177, 47666, 38109, 56669, 39761, 31955, 46925, 24344, 54905, 10859, 39298, 35307, + 3702, 51944, 34403, 16866, 10887, 54918, 13622, 25027, 59986, 15255, 63514, 59647, + 33904, 52147, 17843, 18026, 3999, 2987, 58838, 51416, 6611, 27716, 7052, 55016, + 52498, 46161, 58490, 44602, 19391, 27900, 28319, 15701, 19499, 54526, 15835, 37717, + 10736, 64623, 38502, 60475, 63591, 4497, 50657, ])) .unwrap(), - c: 130, + c: 41, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 185, b: 6572514143696592295, c: 3258127834 }, - FixedTestStruct { a: 117, b: 8175813056618882816, c: 4063679543 }, - FixedTestStruct { a: 133, b: 12689249717164430483, c: 2008300373 }, - FixedTestStruct { a: 50, b: 6498855893583129950, c: 1341694256 }, + FixedTestStruct { a: 236, b: 7317836259427658061, c: 4070989328 }, + FixedTestStruct { a: 241, b: 2866003389764641033, c: 1136948491 }, + FixedTestStruct { a: 121, b: 18232523595989838681, c: 1887266280 }, + FixedTestStruct { a: 94, b: 6612092953144428216, c: 3128966878 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 64656, + a: 41464, b: List::::try_from(Vec::::from_iter([ - 45910, 29665, 45383, 25271, 24489, 30536, 11650, 49608, 58059, 7224, 14244, - 61248, 20670, 45082, 54799, 24890, 47599, 65047, 39966, 1108, 40727, 14134, - 50626, 27929, 24793, 40225, 51745, 42323, 18418, 34156, 42236, 59821, 15771, - 48237, 64971, 48247, 63561, 9477, 62332, 28101, 12645, 64266, 61993, 64445, - 16781, 20930, 29558, 25677, 40294, 15289, 32352, 20812, 56082, 15126, 38681, - 44126, 9433, 47058, 52654, 58605, 31724, 52511, 17141, 41140, 8094, 16147, - 32935, 27915, 16212, 12093, 56362, 20413, 49403, 49463, 45600, 63821, 52662, - 35967, 44807, 26333, 47216, 54086, 41490, 54260, 22091, 2223, 14497, 47623, - 18141, 6080, 12524, 43544, 58849, 60613, 27204, 36841, 9470, 58160, 32629, - 24284, 32893, 64590, 54849, 49863, 65107, 43072, 15766, 44600, 59423, 34704, - 52355, 27209, 49886, 62547, 62080, 12931, 2474, 34178, 63038, 58173, 22639, - 47035, 42170, 65373, 11063, 31118, 48460, 3944, 12669, 17753, 65241, 52770, - 30176, 43870, 47376, 29775, 6248, 48832, 19154, 41199, 63925, 31409, 3411, - 24492, 32776, 6222, 64404, 57725, 51773, 30528, 15014, 7875, 26657, 9585, 3556, - 44929, 43150, 18675, 29673, 58018, 33778, 45924, 35652, 28813, 53693, 59424, - 61785, 19173, 16331, 40767, 53635, 34681, 39797, 54336, 12536, 31449, 26484, - 40483, 24844, 12919, 37289, 32904, 7633, 10110, 2744, 59373, 43292, 6858, - 10761, 52717, 33638, 36093, 29956, 54692, 46909, 8536, 26781, 10216, 61349, - 4224, 65428, 64514, 28030, 35663, 29022, 26526, 64169, 41339, 3087, 37657, - 50595, 33082, 16225, 20268, 49383, 10802, 29170, 58240, 15074, 30209, 1973, - 61773, 41452, 5530, 27406, 11657, 54087, 2229, 18836, 1839, 57835, 1599, 32574, - 44110, 53507, 31034, 26357, 42123, 16488, 4000, 50898, 43262, 47355, 56056, - 35962, 32940, 32318, 1569, 29190, 2521, 17330, 43315, 37752, 1476, 37373, - 20544, 21226, 7173, 34500, 52434, 15783, 38374, + 59857, 12838, 60112, 52836, 54408, 37997, 10347, 26218, 52511, 52907, 52086, + 42812, 21088, 53968, 54622, 27862, 61709, 41763, 10063, 1008, 18890, 40199, + 24885, 14998, 42868, 60475, 53312, 28514, 30180, 36424, 18293, 38449, 30738, + 46916, 27499, 37804, 35655, 11832, 49339, 41551, 17260, 18853, 33650, 57808, + 16173, 32883, 29461, 13507, 14476, 35065, 26053, 32909, 56336, 26707, 18962, + 51583, 10941, 45750, 34817, 17018, 43880, 28249, 25413, 1607, 3629, 2355, + 10544, 10455, 43271, 40569, 28803, 62773, 17542, 16266, 9198, 2897, 3851, 3354, + 22972, 38319, 14719, 55527, 43036, 64628, 1951, 30024, 14710, 6440, 13390, + 38625, 45298, 55789, 19336, 56627, 29522, 64967, 1488, 49510, 54627, 31288, + 18347, 24681, 41546, 45928, 12078, 59085, 62363, 52293, 36620, 21855, 20312, + 4817, 24538, 4225, 45399, 244, 48407, 19151, 49897, 43745, 27162, 54695, 32567, + 48799, 4015, 11772, 62200, 46724, 31884, 28578, 55434, 45904, 46851, 65125, + 43224, 32290, 24475, 35141, 63007, 11205, 27517, 36540, 56502, 33114, 59809, + 26039, 7642, 59185, 14507, 49248, 2074, 832, 11149, 2059, 15052, 34116, 62260, + 51135, 11376, 57190, 49016, 57783, 45829, 44468, 45343, 43172, 44952, 14313, + 60040, 19958, 8851, 29607, 7183, 47486, 13904, 11350, 26501, 59854, 13266, + 44897, 23302, 23264, 24296, 44992, 3099, 12467, 27590, 25506, 27979, 46745, + 45069, 15448, 29618, 45419, 29237, 59113, 26399, 59126, 8274, 18307, 26554, + 38198, 60084, 19727, 34621, 5136, 57090, 3269, 17431, 48782, 35166, 571, 25832, + 12792, 37507, 1261, 14164, 1988, 59986, 26394, 16289, 40483, 458, 42077, 46410, + 39332, 64420, 61749, 17144, 22081, 22810, 59629, 36576, 5913, 6293, 12922, + 49882, 42798, 60132, 8522, 60160, 31481, 59653, 44639, 10726, 56928, 22241, + 5353, 9664, 15526, 34904, 3424, 11920, 3454, 49989, 26004, 39144, 21295, 49245, + 48605, 2907, 14952, 14220, 50732, 11, 23177, 11516, 18584, 3159, 44676, 11053, + 43356, 64723, 33548, 44696, 52529, 27252, 30260, 486, 7129, 50745, 46575, + 35931, 50867, 14243, 64778, 49842, 12278, 61448, 16138, 12996, 46230, 14707, + 33829, 58189, 2577, 675, 2022, 36619, 18736, 17542, 42568, 37660, 40919, 26173, + 56657, 25669, 14093, 10974, 39972, 41918, 23992, 40461, 41634, 42532, 24258, + 11694, 56649, 16235, 520, 41827, 55695, 28949, 44731, 33652, 46774, 18046, + 11514, 46511, 25547, 55437, 23895, 13479, 34814, 17459, 1971, 63102, 65365, + 63115, 9511, 37034, 40029, 63575, 42679, 23889, 46963, 208, 58990, 32063, + 47333, 39725, 25439, 65149, 39144, 20576, 57281, 20912, 1632, 48877, 34704, + 46263, 9042, 12899, 4492, 10017, 19720, 64153, 28431, 39965, 55744, 48152, + 24592, 48448, 64012, 10606, 27587, 33352, 65401, 2668, 39127, 1107, 45311, + 29490, 50665, 57195, 42615, 34718, 500, 54201, 25546, 25737, 55336, 22774, 804, + 48164, 47507, 38649, 35846, 50895, 5940, 29102, 4053, 21926, 6486, 6901, 17935, + 44898, 4243, 2304, 47171, 26991, 26784, 27545, 10865, 7368, 29382, 60691, 1166, + 18307, 33168, 25600, 21335, 36423, 35993, 42521, 24603, 15099, 64943, 32591, + 1082, 16841, 54466, 10419, 14549, 9915, 28409, 14528, 30081, 5937, 40738, + 28063, 2187, 28786, 64126, 49383, 41814, 9204, 546, 3867, 45145, 8527, 1018, + 23976, 36517, 34987, 45614, 25278, 34836, 12950, 11694, 56409, 49449, 53023, + 60439, 32102, 11858, 37323, 13851, 41588, 27609, 63749, 55920, 60364, 57863, + 46148, 50844, 32261, 6792, 5501, 12771, 54901, 31653, 47023, 13720, 40083, + 54434, 22025, 28795, 45083, 28425, 31881, 41538, 40305, 14918, 22028, 17856, + 20431, 30408, 221, 22931, 49186, 26233, 57555, 49227, 31081, 26150, 53264, + 51462, 8543, 6090, 47251, 42316, 45383, 7218, 46007, 28037, 47451, 46936, + 46217, 54746, 56648, 3565, 38259, 33645, 41504, 28480, 31347, 3432, 44084, + 36810, 29475, 47887, 10186, 56134, 40610, 62583, 63039, 38472, 65004, 51166, + 33597, 39618, 53504, 19191, 44581, 53048, 46083, 49728, 65292, 2052, 57048, + 60297, 24389, 3829, 41159, 13259, 6577, 48080, 47454, 12345, 59215, 39396, + 9234, 22700, 17540, 19030, 64618, 58417, 27936, 6211, 15418, 43151, 10828, + 19212, 58134, 2270, 14325, 14574, 8274, 6726, 51038, 47945, 35033, 33011, 1664, + 3355, 50793, 58506, 55248, 27206, 25643, 54231, 45155, 30990, 18133, 63276, + 28353, 63892, 2972, 61538, 53755, 11050, 56709, 14415, 15084, 7533, 48805, + 32705, 59998, 24547, 3555, 39, 10296, 55758, 52857, 23455, 17169, 20038, 38869, + 12578, 25134, 53379, 47249, 1695, 45356, 27617, 5972, 21343, 50046, 87, 22584, + 62060, 59114, 13800, 29581, 1171, 38874, 57321, 42409, 2184, 64415, 6076, + 48406, 40829, 59768, 2166, 45725, 6366, 51063, 49683, 24621, 97, 44200, 26495, + 37236, 34525, 7662, 17312, 44503, 55196, 31510, 42158, 17301, 18538, 16481, + 15445, 28664, 1550, 6905, 10239, 35146, 27566, 54731, 43865, 332, 5015, 41075, + 29747, 26353, 19655, 49071, 49795, 16102, 40760, 1614, 48807, 61005, 35446, + 63860, 31453, 37569, 28856, 39270, 19756, 324, 7538, 54747, 47373, 10931, 8667, + 26782, 21516, 43340, 57300, 39272, 24481, 48285, 17275, 24429, 43651, 61180, + 34835, 61259, 20928, 33332, 11318, 62719, 23522, 9125, 60715, 33169, 35984, + 55358, 42778, 17336, 20563, 10029, 14303, 42762, 51446, 57250, 43791, 3553, + 46043, 37341, ])) .unwrap(), - c: 11, + c: 6, }, VarTestStruct { - a: 27132, + a: 23382, b: List::::try_from(Vec::::from_iter([ - 2598, 18830, 34959, 37504, 50302, 16098, 39261, 841, 49627, 20741, 54352, - 22209, 25481, 58329, 56924, 60203, 37372, 2401, 25028, 40628, 41990, 46984, - 21678, 19484, 37125, 22916, 15472, 11957, 23056, 3233, 61739, 48934, 33414, - 49548, 3594, 22087, 49516, 10969, 41745, 35233, 21220, 45934, 25872, 37802, - 64823, 11680, 5126, 35327, 56778, 9340, 63603, 26849, 27874, 36300, 31939, - 40525, 24888, 34004, 65474, 40404, 42952, 14769, 47635, 59659, 51643, 38626, - 12288, 31460, 24151, 1937, 11830, 52707, 36980, 45661, 18188, 20629, 4556, - 38561, 30084, 18119, 46703, 40709, 27129, 36542, 52692, 1520, 21044, 5812, - 26597, 10776, 27812, 26434, 15034, 27769, 30165, 57415, 43628, 49429, 29240, - 38779, 57194, 54727, 64033, 11819, 11184, 50263, 46482, 54220, 42693, 17446, - 57714, 22107, 3436, 11129, 42173, 16209, 46452, 44838, 23808, 65464, 30563, - 8777, 31052, 46731, 51857, 15918, 49354, 40582, 10690, 38806, 61857, 48353, - 5334, 60929, 30103, 21050, 2445, 23672, 26403, 27479, 34257, 34301, 33087, - 57106, 28007, 1061, 77, 44048, 52850, 37936, 60080, 7231, 43315, 34032, 41462, - 30672, 39262, 4720, 8173, 27993, 49105, 36770, 56101, 49591, 12267, 40876, - 10503, 28763, 46657, 17745, 34899, 34333, 3082, 4175, 46190, 46983, 45934, - 51002, 42854, 56451, 21958, 56308, 60002, 27230, 10611, 3132, 1849, 46291, - 62729, 47948, 53360, 8576, 13230, 41494, 61112, 12182, 43750, 52258, 14513, - 45554, 11328, 17973, 62159, 11354, 36508, 29300, 30375, 57680, 54034, 62659, - 26180, 53473, 58449, 1472, 553, 59932, 12672, 54853, 63110, 153, 15731, 34517, - 34871, 23204, 34113, 33066, 27495, 53493, 2724, 16617, 11686, 35691, 13299, - 56116, 2683, 14798, 22685, 51285, 9643, 19772, 24545, 15085, 13611, 41438, - 64156, 27955, 54291, 32013, 6746, 53422, 25043, 52624, 38331, 61199, 37728, - 50581, 64572, 2387, 50504, 62571, 46411, 34765, 37963, 31732, 37457, 43728, - 20111, 44475, 2246, 38088, 29415, 15190, 17092, 368, 5759, 4679, 49153, 1907, - 26259, 51689, 22662, 53029, 50341, 2737, 32960, 17526, 18386, 7503, 49516, - 17112, 28316, 55461, 24571, 32696, 8483, 5181, 12352, 34342, 18185, 13843, - 25469, 4863, 62772, 43881, 13332, 49228, 605, 20407, 37006, 52784, 44148, - 40007, 4735, 7784, 17604, 50014, 50522, 33144, 1427, 48254, 59957, 29621, 6002, - 20129, 4614, 46044, 5786, 11010, 6596, 6568, 21131, 62096, 13288, 14665, 41598, - 60276, 42705, 13962, 61219, 54573, 24790, 24722, 52947, 26848, 6630, 46167, - 27867, 104, 39887, 32139, 32877, 54934, 34421, 32776, 125, 32455, 14869, 11439, - 51111, 46103, 5115, 22799, 48970, 36184, 1273, 59162, 60076, 26739, 43162, - 45168, 28644, 8431, 7509, 59900, 11824, 50120, 36154, 51207, 20201, 25643, - 54589, 10747, 64837, 41370, 25381, 49764, 63382, 49134, 43179, 45440, 1641, - 45631, 10052, 22209, 38958, 17063, 2604, 18978, 21075, 30979, 48725, 63128, - 53798, 50716, 28876, 39092, 59651, 13078, 63944, 16168, 33886, 63701, 34105, - 2449, 50677, 58274, 60286, 4220, 20254, 11245, 5618, 43821, 59182, 52191, - 18764, 65057, 432, 34039, 65016, 18294, 12218, 52679, 59160, 12068, 27803, - 37025, 1556, 53719, 15974, 63982, 3559, 46219, 30122, 61590, 61724, 1198, - 26759, 58172, 7492, 3711, 41900, 31685, 56177, 56166, 9917, 23821, 10728, - 29867, 47119, 4008, 61012, 56454, 34161, 4898, 17721, 42295, 9684, 9236, 20515, - 20068, 30090, 62613, 19623, 16564, 64396, 60588, 40847, 6392, 47922, 2336, - 34891, 57193, 38869, 764, 57542, 25497, 59420, 48075, 32123, 37635, 2128, 2475, - 55760, 14692, 31297, 29161, 7684, 55138, 39903, 62874, 23949, 15861, 3917, - 6731, 17597, 43545, 326, 38365, 59965, 41538, 29758, 50147, 20422, 39303, - 63314, 23199, 23322, 62215, 378, 44521, 20671, 17178, 60624, 46414, 15965, - 11673, 24045, 37957, 37648, 33913, 29979, 53781, 8702, 17678, 60893, 340, - 39900, 12257, 39817, 31318, 65427, 63323, 9115, 50186, 5630, 28686, 42174, 457, - 32218, 19060, 35227, 62852, 13353, 33386, 1079, 2506, 36715, 56328, 55667, - 63897, 3986, 59882, 44200, 25068, 6321, 55544, 17569, 44465, 7143, 35204, - 39815, 21724, 13209, 25560, 368, 17245, 32740, 41682, 44549, 33082, 58184, - 55363, 48197, 50421, 13665, 49930, 21501, 9972, 53482, 48945, 16287, 45561, - 2010, 32753, 90, 50382, 61977, 20239, 12053, 64492, 32547, 14452, 4156, 16863, - 45295, 58868, 26673, 22459, 61942, 31658, 52118, 163, 13527, 6970, 37206, 2850, - 3299, 10919, 31386, 56088, 9979, 56043, 38089, 49184, 25406, 6226, 33364, - 43132, 10766, 3212, 16318, 23622, 58273, 33603, 2961, 27525, 36441, 41093, - 49210, 73, 30134, 58189, 23443, 4431, 19639, 33299, 54917, 24109, 42834, 13135, - 25752, 40057, 6072, 35809, 63796, 29040, 45369, 63130, 3792, 32898, 33736, - 5514, 8182, 34068, 58073, 7506, 44531, 57092, 6071, 30957, 55310, 37065, 26059, - 46213, 62993, 17251, 28654, 54521, 55093, 40760, 26850, 53310, 58897, 40315, - 8560, 31266, 43824, 43214, 35965, 33534, 4234, 23902, 62763, 7487, 29840, - 46441, 36646, 39622, 24806, 33024, 19167, 11205, 64356, 10461, 27572, 13044, - 56911, 33332, 5705, 48175, 40213, 37911, 24380, 7085, 10764, 54397, 37303, - 16804, 43177, 33475, 4554, 53172, 63714, 15126, 63627, 60389, 57810, 3262, - 29751, 1703, 21247, 53411, 15616, 13098, 11994, 35678, 13680, 64762, 64163, - 29247, 18461, 59878, 23688, 54861, 35311, 4677, 28481, 64737, 52445, 36354, - 2707, 45573, 14364, 18098, 943, 18168, 34627, 18756, 18010, 45643, 24364, - 14783, 17786, 18677, 9670, 31415, 17016, 32599, 3466, 48322, 15143, 38185, - 39099, 5154, 65166, 11625, 46537, 7910, 3146, 38775, 54422, 15227, 63364, - 28257, 34872, 52593, 60887, 58922, 30971, 54877, 18721, 41161, 19614, 54181, - 28769, 64469, 54088, 30276, 14992, 43901, 33169, 15063, 35888, 42191, 820, - 47814, 43264, 7446, 28065, 64657, 65406, 62227, 34723, 24594, 43392, 45907, - 6766, 21466, 58275, 18576, 30259, 13187, 19013, 65215, 45144, 39374, 320, - 10989, 33180, 43931, 21685, 54430, 37338, 31923, 30432, 29458, 534, 49731, - 12849, 51214, 27465, 1189, 10012, 17803, 24359, 3283, 18807, 4912, 37852, 9864, - 48853, 34973, 11674, 37704, 21905, 29693, 10663, 62220, 1941, 34278, 48399, - 45711, 39123, 39562, 48756, 32193, 13256, 4776, 40875, 12305, 63247, 49809, - 29007, 7932, 18456, 48677, 47198, 13182, 61658, 27200, 43237, 2614, 60387, - 42669, 2539, 24999, 348, 49421, 65493, 24578, 5065, 49470, 53083, 54704, 55319, - 41440, 9765, 56188, 7944, 47257, 8817, 309, 17228, 9437, 21784, 51341, 59090, - 36532, 22886, 55963, 28915, 39625, 11834, 29246, 65259, 1639, 20226, 12403, - 34254, 30273, 29527, 9264, 17331, 31860, 34402, 25032, 18513, 63450, 55812, - 50505, 39704, 20740, 22582, 43329, 6797, 24665, 34429, 53414, 32716, 38700, - 20892, 24041, 46403, 39151, 9628, 22699, 24192, 12055, 57602, 49227, - ])) - .unwrap(), - c: 157, - }, - ]) - .unwrap(), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("4f1b6daa8389ed6595cc6d1ff4ec323cbefa31bdde591a80b797afcb336f2ecc"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_lengthy_chaos_0() { - let mut value = VarTestStruct { - a: 37078, - b: List::::try_from(Vec::::from_iter([ - 47932, 15562, 49816, 7730, 8297, 2042, 10168, 28087, 38758, 5767, 45908, 9696, 22529, - 16681, 3290, 5421, 34656, 39449, 24454, 43539, 64098, 40249, 23629, 1016, 42210, 12376, - 31265, 18872, 42929, 60190, 41821, 29252, 29791, 62285, 38974, 11327, 59695, 48836, - 20796, 2116, 16184, 1639, 24428, 57824, 38490, 9581, 37893, 26724, 46584, 5328, 45060, - 16282, 43418, 14733, 13794, 11128, 3251, 44904, 36870, 48760, 38434, 35645, 20237, - 50767, 21193, 53617, 3826, 59794, 11443, 53029, 42988, 42273, 2673, 31576, 26772, - 53114, 22642, 42743, 34561, 43180, 17077, 5995, 3173, 42012, 53803, 58556, 153, 40759, - 40251, 40647, 3628, 15341, 33065, 45693, 6911, 65473, 6365, 43763, 20973, 58922, 32820, - 29606, 41712, 47377, 29064, 37818, 14953, 60649, 7762, 27702, 34472, 20335, 36163, - 2820, 61753, 57136, 36170, 40190, 43962, 42277, 11370, 25941, 20239, 54312, 61268, - 48702, 32981, 14196, 35029, 40066, 17649, 4297, 11549, 6945, 13329, 63019, 48772, - 24819, 41767, 37689, 30977, 35902, 3208, 10941, 15526, 41062, 16597, 61904, 43959, - 32811, 36822, 38318, 6150, 64702, 62003, 30223, 17756, 27585, 4585, 34829, 4372, 15876, - 10670, 47965, 1065, 30945, 63391, 22506, 33636, 43267, 506, 26949, 35449, 7760, 60957, - 60301, 23482, 29994, 4017, 40882, 3158, 24594, 19588, 42531, 65105, 39440, 31582, - 44891, 33657, 35299, 57820, 65157, 54468, 17048, 62769, 57835, 41228, 46949, 15701, - 20446, 60331, 1680, 3981, 29500, 9333, 20918, 48887, 29387, 24388, 18321, 48058, 17244, - 51466, 23475, 9001, 47675, 42352, 7614, 25564, 38780, 16273, 29912, 40892, 12493, - 36490, 32972, 42412, 33073, 23093, 33173, 48531, 17854, 49306, 62229, 45091, 39442, - 4944, 62349, 36967, 19530, 26929, 65049, 26421, 227, 36482, 44553, 39129, 14446, 20133, - 29406, 19092, 17678, 51870, 60053, 15588, 62745, 20189, 4468, 39433, 44364, 11444, - 51375, 51619, 58889, 62055, 41477, 54029, 31881, 55688, 63216, 10476, 21036, 7351, - 7167, 46218, 5739, 43117, 5725, 57857, 42609, 51340, 48462, 47589, 20821, 19661, 27886, - 43003, 60221, 64176, 49983, 28476, 34857, 4565, 56689, 61279, 61641, 4680, 62702, - 21049, 36986, 13483, 32739, 20137, 59230, 2341, 61870, 43062, 35424, 41918, 17526, - 10285, 26898, 8311, 20392, 24863, 29221, 40574, 36498, 27258, 50470, 327, 3971, 3972, - 20610, 4108, 64267, 65096, 28330, 45666, 52057, 35323, 49339, 8351, 16953, 42775, - 57721, 17527, 18029, 11755, 28119, 13091, 23594, 417, 39599, 37058, 60836, 45756, - 15145, 62527, 27729, 49369, 39231, 17618, 32880, 53871, 49867, 39280, 17714, 222, - 31622, 54514, 2935, 31450, 9482, 8312, 24003, 56004, 13076, 64627, 26499, 2641, 62897, - 51817, 49499, 52504, 24867, 18361, 61997, 17022, 53023, 46040, 7976, 14320, 15117, - 38729, 34989, 59047, 17471, 38503, 51091, 51541, 22755, 62138, 57596, 19241, 20831, - 18513, 46758, 58725, 63050, 62764, 22383, 41079, 15729, 56731, 34083, 21144, 9154, - 55535, 11932, 45667, 17342, 18593, 28954, 25431, 23456, 23501, 18644, 40688, 64881, - 38779, 46726, 37443, 22229, 48647, 13582, 30434, 53863, 45248, 25952, 34956, 39934, - 18820, 46155, 38190, 172, 6720, 63439, 52821, 60088, 24553, 23715, 14488, 24590, 27571, - 57140, 57521, 43391, 59204, 8533, 7577, 23125, 54575, 19951, 61927, 47369, 39975, - 21044, 41833, 8808, 23190, 30889, 63595, 36446, 59478, 57071, 85, 38737, 13255, 59085, - 6706, 37349, 7016, 42047, 58727, 23663, 44404, 61265, 3592, 39300, 1474, 11771, 37608, - 60121, 64128, 35751, 52666, 64059, 30530, 10228, 35336, 12908, 27646, 58765, 49302, - 51527, 56701, 40896, 13844, 58113, 5880, 48085, 19048, 12292, 23115, 694, 11403, 3363, - 4401, 61522, 30593, 58507, 48250, 22441, 12573, 33969, 2129, 16664, 44818, 19472, - 46596, 23189, 31812, 61651, 34915, 20976, 15832, 60351, 17612, 38572, 50083, 4050, - 64054, 9465, 6902, 33949, 62552, 20654, 6599, 46979, 46917, 18603, 64729, 37193, 22717, - 50424, 56904, 20674, 57844, 20309, 52021, 55836, 46244, 6905, 23332, 33668, 25092, - 10964, 14717, 60402, 43853, 21721, 63210, 19443, 39260, 28182, 27146, 53690, 35245, - 12059, 25870, 54756, 8537, 5612, 9615, 57489, 32547, 57038, 10567, 16417, 65131, 20701, - 47263, 26170, 35251, 38863, 45966, 49059, 7031, 22840, 51005, 40747, 54020, 56673, - 62491, 53550, 31586, 9471, 29119, 26165, 42528, 37166, 11655, 44811, 2174, 17766, - 18109, 30569, 52333, 17463, 63621, 16202, 61909, 1885, 40504, 12887, 8607, 4882, 14605, - 28789, 55139, 1112, 33134, 38891, 56096, 29903, 19823, 8890, 45749, 54298, 43914, - 52914, 34730, 18101, 5929, 60427, 53581, 55315, 34554, 3240, 9098, 63763, 47503, 2884, - 6057, 40971, 10806, 3887, 63421, 28299, 39909, 14914, 9716, 23331, 64430, 57372, 10862, - 3400, 20538, 8786, 33711, 23993, 56494, 20654, 50166, 42296, 29166, 24084, 49634, - 61360, 54558, 1895, 43626, 49820, 41649, 3467, 54558, 47643, 40561, 29749, 26405, - 64398, 1108, 33320, 11185, 61264, 56675, 62994, 54977, 65385, 14878, 30172, 37799, - 22072, 31446, 47361, 31602, 42910, 9239, 60097, 21208, 46190, 15087, 62146, 49118, - 46129, 54943, 27458, 52648, 1612, 42861, 56089, 26106, 37216, 52784, 7651, 21511, - 50542, 8950, 58685, 42785, 27182, 24377, 62281, 1830, 51264, 64699, 58389, 41550, - 65006, 55113, 52060, 62120, 12725, 62727, 9433, 29981, 13231, 45736, 31290, 4741, 5224, - 57689, 7669, 27128, 45799, 44192, 16359, 27569, 50909, 42161, 56665, 10195, 15065, - 14039, 47767, 52055, 31181, 7702, 8332, 40706, 13550, 172, 58944, 21657, 61413, 59345, - 64427, 50737, 7425, 62530, 51271, 16731, 21779, 53060, 35358, 45249, 12151, 48062, - 39151, 26241, 46772, 51483, 32111, 190, 49596, 38281, 6674, 54637, 51917, 40390, 4328, - 14220, 32422, 1859, 37063, 50250, 53263, 52398, 22680, 1161, 37589, 47357, 46864, - 39857, 9375, 39265, 19572, 14600, 411, 48419, 51479, 59361, 24478, 45011, 12548, 37604, - 51204, 29568, 46212, 31293, 46057, 15980, 31926, 61180, 775, 51376, 58539, 29058, 9882, - 15665, 43220, 57587, 22944, 25054, 35699, 59157, 3752, 10474, 46666, 34671, 1179, - 11038, 9396, 19981, 1899, 12220, 43971, 10910, 12964, 38795, 53058, 53660, 38129, 5588, - 10019, 41617, 3247, 36302, 41967, 27176, 9854, 49010, 42928, 43084, 43993, 60501, - 27574, 30431, 5906, 50435, 41209, 12305, 64940, 61147, 45951, 9807, 43093, 34079, - 43367, 65414, 62599, 13989, 35949, 49405, 15270, 42461, 19762, 29399, 21511, 38377, - 3238, 33992, 29853, 54843, 44124, 58169, 51713, 27444, 46130, 14634, 46211, 39431, - 14941, 3242, 44587, 25942, 3775, 19475, 62231, 10186, 26242, 40754, 60922, 3338, 23992, - 22695, 62356, 53294, 26433, 50653, 585, 18623, 36869, 43763, 54394, 35919, 48484, - 24076, 9283, 54179, 6328, 47080, 37002, 2224, 27887, 64545, 29261, 5644, 18681, 43112, - 17217, 63389, 53342, 30816, 30179, 35063, 31830, 31592, 58485, 38081, 32732, 64173, - 31598, 6149, 59684, 45559, 18637, 159, 6553, 48425, 4654, 16275, 27110, 40716, 40772, - 62865, 56988, 53545, 50963, 41070, 57216, 53790, 62330, 7947, 4971, 55332, 3954, 38269, - 52460, 54069, 22307, 34434, 53973, 47319, 151, 52346, 51173, 60406, 15927, 56510, - 45104, 42495, 1250, 37612, 23387, 45832, 16718, 59335, 21376, 45115, 41132, 300, 34474, - 62802, 12749, 12000, 18359, 45831, 46007, 38174, 40778, 54658, 43344, 61412, 9233, - 60616, 57133, 15023, 63358, 60323, 64920, 20354, 35356, - ])) + 7292, 62152, 54746, 49789, 34666, 32564, 63999, 45527, 16076, 27308, 53941, + 41650, 31214, 23325, 60736, 1409, 30298, 22851, 62472, 54988, 47414, 17809, + 5979, 59154, 19737, 60947, 63941, 31574, 61560, 23791, 7625, 52180, 33394, + 24151, 29348, 7593, 26975, 63747, 19618, 54649, 38892, 8268, 24591, 46258, + 35189, 34319, 61142, 22425, 31747, 26069, 55816, 45820, 61166, 44108, 36310, + 36327, 57155, 32942, 4985, 49395, 14791, 21239, 24004, 1660, 13128, 14225, + 20702, 6952, 44956, 20415, 44845, 59587, 38802, 24255, 54130, 2657, 38576, + 47092, 53018, 1353, 58676, 51455, 58981, 18586, 4072, 62868, 55769, 36050, + 60497, 40534, 35914, 2875, 46338, 1022, 6783, 8041, 40528, 25083, 51644, 52797, + 3578, 5416, 46943, 61293, 58393, 43251, 23426, 13533, 49791, 49843, 42515, + 28978, 45852, 24273, 26823, 6366, 4408, 58138, 51144, 29315, 54882, 14345, + 21333, 15653, 64283, 40207, 32827, 43793, 30829, 26044, 246, 9427, 48148, + 47135, 63205, 65007, 49038, 36731, 17641, 18006, 53720, 62456, 33162, 19896, + 11727, 64779, 12984, 20187, 47165, 64199, 29021, 34202, 35477, 41370, 65501, + 17748, 17172, 50569, 4234, 15429, 30499, 36401, 35586, 16261, 50071, 9349, + 17911, 33101, 58367, 34178, 26290, 62294, 35925, 48942, 42367, 4832, 37143, + 49432, 9537, 26353, 9423, 23249, 9096, 56237, 16732, 634, 42370, 14486, 22950, + 39848, 57410, 16573, 42670, 7069, 52647, 2066, 12307, 14770, 42689, 65443, + 24556, 50687, 49653, 13211, 65146, 23198, 48369, 5124, 58052, 63121, 5209, + 32605, 49725, 47551, 59422, 57574, 8784, 55475, 23468, 8407, 41206, 44871, + 57394, 56810, 28563, 64807, 2731, 19845, 62392, 26341, 50176, 6370, 53698, + 41686, 34647, 36623, 39165, 15024, 9268, 4838, 22272, 45961, 53138, 63332, + 35700, 29638, 18819, 42053, 51075, 38318, 20922, 34816, 8259, 37004, 35821, + 14532, 61189, 56751, 61386, 59672, 57279, 45287, 39337, 36882, 61643, 39339, + 10134, 309, 30077, 31374, 27880, 27444, 12155, 17596, 17191, 60603, 53444, + 33121, 33418, 62164, 20700, 42906, 29184, 10098, 59216, 7405, 26987, 34421, + 55695, 16905, 14917, 36148, 13329, 10563, 62834, 20190, 26012, 23813, 3365, + 33948, 43510, 18154, 62935, 54716, 38117, 49131, 12866, 61211, 37140, 45119, + 57976, 50746, 39707, 64489, 47532, 31877, 7658, 47682, 37305, 19046, 19181, + 7244, 24801, 35127, 25365, 38196, 16809, 55918, 39889, 39130, 40163, 52876, + 38112, 32996, 37933, 46702, 48321, 29278, 23681, 59645, 59338, 56897, 8366, + 51551, 34991, 58873, 11615, 53259, 18695, 32295, 52983, 52307, 52577, 22121, + 57250, 62221, 46975, 17057, 5908, 33793, 37639, 45518, 57222, 38024, 18475, + 23371, 50891, 40761, 18875, 56407, 578, 6565, 10165, 41160, 11418, 26946, + 37621, 23820, 6573, 25671, 11573, 15288, 56409, 22204, 12491, 7384, 16470, + 45173, 3546, 24492, 64207, 1905, 63383, 11124, 62890, 57500, 7029, 32167, + 10808, 40378, 4855, 13811, 51034, 31975, 43696, 34159, 4181, 51377, 11973, + 65475, 51794, 24238, 53126, 16071, 60541, 46235, 732, 31851, 40193, 22591, + 51633, 531, 31946, + ])) + .unwrap(), + c: 111, + }, + ]) .unwrap(), - c: 176, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_chaos_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("1cfc5952deb977ccf63665ea49c30474662e9c681cd7070973ef91616f984d2e"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_random_2() { - let mut value = SingleFieldTestStruct { a: 3 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_7/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0300000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x423f3f5a0661f71ca55f045f87ab19265d7b53c701a438893ac630277c2faea0"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_max_0() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true]), - e: Bitvector::<8>::from_iter([true, true, true, true, true, true, true, true]), +fn test_containers_complex_test_struct_random_8() { + let mut value = ComplexTestStruct { + a: 20254, + b: List::::try_from(Vec::::from_iter([ + 20019, 60900, 48556, 15177, 23768, 57178, 35087, 7767, 19440, 595, 14057, 20155, 35173, + 35336, 64153, 21450, 36425, 55180, 52004, 42407, 19621, 742, 32674, 58289, 9198, 44946, + 48837, 57874, 50783, 46004, 42531, 47118, 25301, 48855, 10466, 34574, 27766, 32913, + 59288, 29576, 62320, 39237, 48839, 29122, 25641, 41609, 60367, 30823, 21187, 34405, + 65294, 5151, 1793, 5552, 2864, 42727, 702, 2491, 48324, 3944, 62993, 16985, 21918, + 49657, 8425, 10712, 50340, 30588, 14530, 11749, 6804, 1495, 51933, 8457, 34646, 21116, + 60205, 58353, 124, 1481, 59528, 9590, 4347, 2702, 15150, 677, 38550, 28196, 46638, + 59880, + ])) + .unwrap(), + c: 118, + d: List::::try_from(Vec::::from_iter([ + 108, 97, 223, 200, 182, 147, 35, 133, 49, 171, 249, 221, 65, 139, 125, 159, 124, 65, + 204, 18, 41, 97, 28, 230, 55, 150, 187, 143, 212, 236, 222, 220, 218, 110, 168, 119, + 178, 58, 139, 231, 162, 177, 213, 78, 145, 200, 194, 101, 182, 175, 220, 126, 11, 138, + 185, 212, 172, 112, 93, 123, 53, 188, 91, 79, 153, 60, 104, 141, 33, + ])) + .unwrap(), + e: VarTestStruct { + a: 15566, + b: List::::try_from(Vec::::from_iter([ + 23038, 52467, 41326, 7563, 19676, 51828, 34152, 35277, 31528, 15242, 52634, 23460, + 662, 57334, 51356, 51069, 62275, 51556, 9608, 61918, 11647, 8270, 23699, 38091, + 13755, 10586, 1912, 12225, 49116, 20133, 37751, 60597, 64257, 42895, 46087, 33385, + 2505, 39233, 65481, 36900, 44692, 48901, 57503, 47013, 10149, 11443, 6751, 40026, + 65136, 24278, 24408, 52675, 30579, 22220, 16607, 45228, 22219, 54085, 30563, 55581, + 9463, 53112, 34, 30617, 47477, 5298, 30294, 11311, 29564, 58717, 35313, 16998, + 21351, 58470, 8359, 1304, 53801, 49970, 3507, 57786, 56260, 44562, 30257, 7650, + 36333, 47070, 3575, 5861, 17655, 57540, 15435, 42401, 51256, 34878, 28770, 2628, + 48312, 43028, 62550, 54455, 14143, 56090, 33068, 61934, 19848, 30845, 44235, 43090, + 39642, 59346, 35395, 41672, 40733, 20450, 2975, 58444, 27817, 5251, 407, 41801, + 11994, 34767, 35100, 53842, 51699, 51779, 27328, 55964, 31723, 48561, 28002, 30110, + 33484, 35352, 58292, 4230, 47386, 56285, 64411, 33751, 33961, 29007, 38688, 51050, + 7125, 11803, 13068, 63754, 53090, 34587, 35542, 45246, 54620, 6581, 5122, 10149, + 45379, 25659, 23061, 45914, 598, 40874, 7128, 11296, 26013, 56871, 10082, 17350, + 35057, 64511, 23196, 25536, 921, 34801, 57331, 53619, 3385, 24312, 7501, 64696, + 43269, 51564, 16998, 37607, 9736, 20160, 23205, 47204, 12909, 62084, 46171, 34480, + 7301, 19, 48602, 17400, 53932, 34104, 54714, 50565, 23142, 9583, 36290, 13105, + 17632, 64758, 53859, 48557, 22417, 35909, 13069, 51497, 9730, 55921, 33459, 23387, + 38711, 54174, 42625, 57795, 17568, 38904, 20044, 58948, 48375, 32402, 27931, 35005, + 38562, 1676, 17801, 54, 7513, 26578, 46119, 30052, 35530, 11384, 13531, 42624, + 56620, 18653, 42752, 41161, 23162, 34126, 20564, 49149, 24100, 12881, 30241, 47538, + 53663, 38843, 47756, 9411, 25012, 19131, 42097, 52976, 17633, 34450, 12281, 32939, + 21055, 43801, 48633, 37097, 34579, 33852, 4982, 2955, 48169, 34914, 1437, 48070, + 33516, 39601, 1788, 46643, 52766, 47271, 41865, 22083, 1058, 49598, 33249, 43144, + 41894, 21913, 64824, 33419, 6358, 2988, 43758, 19922, 24492, 50825, 39861, 62492, + 12321, 59018, 8514, 40413, 59127, 22379, 6038, 27666, 33790, 55918, 25974, 19092, + 10219, 2648, 17859, 16754, 65381, 40019, 42411, 40586, 18643, 38833, 60778, 35088, + 19365, 16615, 47563, 49340, 20330, 20458, 33330, 60705, 47494, 51169, 11203, 43187, + 6138, 2505, 20405, 46548, 40584, 24993, 62231, 20986, 46283, 38288, 60599, 20233, + 55047, 5984, 23254, 24025, 31374, 47643, 62445, 52763, 52452, 43885, 43362, 14792, + 5673, 10021, 31738, 9067, 15167, 7853, 63528, 27105, 62764, 13090, 6254, 35859, + 59536, 54027, 14904, 64031, 65071, 53232, 27028, 42983, 40543, 24781, 20444, 41784, + 60171, 34731, 34600, 39511, 32768, 27348, 42675, 25447, 55249, 24705, 22908, 37437, + 45719, 11497, 50270, 47556, 40284, 22236, 58097, 52214, 62016, 52033, 51909, 1017, + 36042, 31122, 58767, 3302, 61282, 24875, 50420, 19597, 56833, 24486, 64716, 51516, + 2892, 51416, 42233, 33490, 28745, 10441, 16353, 23993, 29684, 39092, 33527, 14540, + 63877, 52781, 19691, 21007, 37703, 38191, 1160, 62982, 52948, 8684, 59121, 56101, + 5091, 62786, 6965, 29258, 24770, 18219, 2061, 28593, 16491, 55234, 12659, 31184, + 2347, 24082, 1817, 19529, 59188, 8470, 54829, 35039, 54773, 6492, 22279, 25784, + 47210, 64774, 49465, 63119, 23357, 46595, 8480, 7135, 37037, 55754, 58607, 15162, + 59514, 62454, 64385, 53026, 40752, 28766, 60737, 39821, 34691, 41439, 42882, 24899, + 46916, 13493, 55991, 44304, 30454, 11407, 53016, 16063, 7049, 56307, 9135, 56666, + 12923, 39358, 17561, 46630, 7399, 20274, 32193, 22999, 47006, 63989, 11858, 9990, + 21774, 49916, 37153, 9606, 63414, 35134, 8733, 44605, 26307, 52908, 11617, 37977, + 33251, 14901, 34690, 39345, 47417, 9357, 29558, 63632, 23563, 62408, 15920, 42437, + 8958, 22378, 36801, 20725, 18729, 16779, 38026, 26668, 34107, 47028, 62619, 40842, + 30704, 6197, 45446, 23256, 53321, 16785, 8464, 29133, 31951, 14485, 32301, 31234, + 8675, 7635, 33229, 4765, 17395, 22256, 60347, 16649, 23084, 19739, 48433, 40504, + 3208, 40921, 63982, 45174, 23696, 688, 12887, 3603, 28246, 7593, 43322, 61745, + 11342, 29008, 51004, 15627, 36299, 12852, 6301, 27901, 56818, 28378, 40325, 31964, + 33201, 8283, 29352, 56931, 58168, 58626, 12750, 1693, 56526, 37439, 3393, 7169, + 38011, 2024, 35868, 44922, 57706, 17629, 1927, 30471, 16307, 59197, 52511, 38939, + 52119, 6498, 55563, 36590, 63080, 43285, 21344, 29599, 58333, 36815, 30442, 16488, + 5865, 16310, 22214, 3197, 1994, 46368, 26181, 15751, 292, 37374, 7959, 43053, + 43706, 3804, 54377, 20680, 32790, 46929, 16913, 57654, 16611, 36697, 10334, 54145, + 34644, 36632, 52785, 10180, 26004, 16564, 15248, 6316, 6205, 21235, 7245, 10689, + 35183, 6528, 32510, 38225, 46675, 37667, 50383, 22314, 42619, 20975, 5100, 28320, + 9244, 8456, 16467, 42101, 52228, 20837, 65198, 18384, 2023, 18571, 7614, 42939, + 58425, 5177, 63253, 62529, 24436, 17040, 435, 23623, 21340, 34153, 17123, 18561, + 21853, 16579, 20498, 28322, 59997, 59146, 29827, 33000, 18576, 9772, 31481, 11536, + 36242, 42804, 26276, 40157, 42698, 12944, 46401, 57269, 34921, 58492, 43121, 58409, + 43764, 51536, 18534, 56921, 64238, 9140, 16751, 13987, 22539, 4143, 61909, 64012, + 1545, 7899, 64832, 3251, 49234, 63211, 47145, 14128, 55114, 26059, 4646, 54250, + 19494, 20415, 17706, 20466, 34349, 13833, 38218, 13018, 28319, 45422, 61053, 4983, + 35438, 42987, 57782, 23435, 63994, 49597, 19417, 32429, 56932, 21668, 26397, 62483, + 425, 41979, 3748, 41752, 1925, 24146, 14386, 63454, 2571, 38359, 60363, 9558, + 57512, 15444, 3022, 57386, 38406, 13766, 33526, 1004, 52004, 63668, 43171, 18294, + 40038, 43932, 37914, 45261, 22944, 3603, 56880, 4943, 32036, 17552, 22058, 24106, + 17075, 61325, 39999, 45555, 53765, 60978, 6921, 59977, 41619, 60973, 60245, 18330, + 54001, 40067, 16271, 61908, 53267, 10359, 63026, 42225, 31232, 28082, 16767, 34385, + 34457, 42076, 27634, 16656, 22750, 14799, 50248, 49235, 4043, 64542, 27166, 42198, + 20774, 52729, 48013, 41013, 45422, 31504, 45128, 16020, 20162, 33898, 52032, 49305, + 49790, 25177, 45504, 5590, 22672, 8392, 54615, 25499, 7724, 29949, 46898, 37758, + 46248, 46673, 34286, 9910, 14859, 4033, 64325, 16766, 30351, 20549, 58149, 41480, + 46831, 38411, 47717, 36604, 55904, 60964, 61372, 6153, 7, 51179, 43044, 60547, + 57477, 47628, 11910, 23577, 53559, 9283, 19886, 48454, 54199, 54701, 3286, 41565, + 38454, 17603, 26062, 58024, 15522, 58312, 39831, 24586, 59926, 49516, 21706, 42153, + 5540, 64830, 38577, 54671, 16607, 32804, 45601, 2312, 1769, 63576, 34619, 23153, + 55671, 3450, 6981, 35324, 4052, 35486, 16532, 62252, 41492, 10429, 64631, 61955, + 24238, 40810, 46168, 50191, 48746, 20982, 36322, 39661, 38201, 13902, 62589, 15644, + 1597, 8016, 20948, 32630, 7116, 40892, 55874, 17482, 18790, 30054, 3759, 58363, + 59346, 37782, 52308, 55784, 18670, 62067, 11374, 44003, 27072, 34676, 61532, 51383, + 3289, 7494, 28421, 16328, 59441, 43722, 32573, 47552, 31206, 13961, 59701, 31785, + 46488, 52510, 15541, 54445, 12747, 56879, 37276, 53177, 24919, 24322, 55996, 35239, + 20308, 38034, 47668, 30704, 2903, 41200, 34928, 32197, 45503, 14275, 25982, 39402, + 46211, 10299, + ])) + .unwrap(), + c: 159, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 35, b: 13234913345360785102, c: 172363296 }, + FixedTestStruct { a: 143, b: 15275530587653726896, c: 1598380581 }, + FixedTestStruct { a: 87, b: 11938384569861367173, c: 4135857227 }, + FixedTestStruct { a: 174, b: 2815096997284796480, c: 3314608453 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 61309, + b: List::::try_from(Vec::::from_iter([ + 6101, 25775, 3733, 46672, 48616, 25668, 59747, 37205, 60722, 47023, 15262, + 53619, 24589, 51541, 14230, 56659, 37929, 52476, 9436, 23768, 61651, 11002, + 11113, 23652, 28837, 46402, 48222, 37692, 22676, 47681, 62696, 6057, 13277, + 18819, 18034, 27652, 18360, 23490, 41594, 11574, 4644, 60947, 28531, 19304, + 18903, 52404, 8652, 36103, 61759, 8841, 51954, 30458, 23370, 50510, 52460, + 2919, 21203, 62480, 11693, 61840, 15044, 13144, 23298, 27578, 11400, 35760, + 10498, 17558, 27972, 9958, 44038, 7793, 61468, 43420, 19814, 33495, 8683, + 64391, 60163, 45374, 51934, 39630, 29711, 62043, 15550, 29818, 39152, 8075, + 63681, 35378, 17310, 49144, 39836, 32212, 37525, 3003, 3086, 28649, 26124, + 47198, 44647, 55203, 36586, 63172, 4780, 55953, 19499, 44062, 35712, 60565, + 35068, 23197, 24909, 13556, 2502, 26719, 54123, 11655, 8825, 26298, 33724, + 11153, 47187, 10731, 14067, 12914, 59297, 46848, 28674, 58531, 7589, 44146, + 55565, 17183, 3016, 60325, 837, 6518, 23866, 2514, 2719, 34416, 46727, 40113, + 52505, 46306, 57350, 7232, 65080, 28462, 35430, 56086, 44291, 48032, 40131, + 3440, 5846, 45642, 44602, 40407, 47046, 30387, 27211, 32955, 55269, 22245, + 10795, 5043, 37598, 4975, 22369, 23489, 49633, 56785, 11299, 58007, 56493, + 6855, 7084, 58084, 27102, 24899, 63424, 25800, 46243, 15144, 48060, 20000, + 7379, 35259, 61989, 20194, 41803, 59007, 48247, 7065, 10646, 41599, 58393, + 10050, 23459, 50541, 38902, 13378, 60735, 31461, 40617, 24902, 19441, 47698, + 51392, 39897, 19877, 38465, 22167, 56974, 42646, 52013, 59659, 31775, 64391, + 11835, 55150, 61661, 49227, 21634, 26656, 56465, 65202, 4049, 46575, 32503, + 56898, 689, 5469, 63418, 64096, 21223, 15890, 52426, 40652, 31684, 54047, + 29107, 19711, 58157, 24638, 27364, 7933, 9853, 21155, 35563, 50597, 30362, + 6890, 51785, 53965, 14563, 35295, 17174, 55105, 46077, 63507, 42763, 31369, + 8762, 64581, 19172, 51474, 20717, 57786, 9096, 29042, 54841, 48798, 55143, + 56743, 33164, 13989, 25509, 58981, 20853, 21778, 26005, 52876, 22627, 55027, + 37733, 20744, 58945, 62213, 23052, 54639, 6129, 50988, 57145, 51447, 22969, + 47273, 48897, 16962, 11028, 8106, 2891, 60396, 57229, 9064, 31469, 2591, 24817, + 60259, 64928, 22513, 625, 26886, 25764, 58261, 41026, 57810, 39521, 61285, + 61026, 42128, 43152, 16450, 32737, 25657, 2560, 40193, 17144, 4120, 54355, + 50871, 15492, 13070, 52287, 49836, 9657, 6505, 29156, 43743, 3522, 10611, + 64255, 6008, 46055, 26789, 36959, 32442, 6235, 19906, 37973, 56812, 9841, + 31861, 46749, 7627, 18867, 42436, 13433, 11022, 63536, 23238, 11233, 38202, + 13879, 29216, 6119, 63821, 62132, 32015, 12339, 41057, 43390, 32683, 5569, + 44573, 28138, 17649, 51768, 40247, 37972, 63291, 46940, 7657, 2400, 17498, + 23529, 27203, 2673, 39161, 6939, 33235, 8877, 44277, 47743, 8243, 62420, 41619, + 63808, 55063, 36170, 8122, 50009, 64887, 28710, 10198, 9556, 26240, 1835, + 44772, 32033, 10457, 2021, 1053, 62308, 642, 36767, 63676, 30961, 39187, 7748, + 3553, 8959, 39150, 17902, 45253, 31234, 24700, 11499, 24130, 14067, 1532, + 27967, 25496, 7458, 2619, 3714, 21336, 29363, 1624, 857, 6720, 57098, 52810, + 16421, 19807, 6039, 20422, 28223, 61824, 12870, 36232, 57898, 16126, 43049, + 59000, 32480, 33493, 36269, 37733, 62095, 59870, 56470, 41882, 60716, 12599, + 46080, + ])) + .unwrap(), + c: 3, + }, + VarTestStruct { + a: 34532, + b: List::::try_from(Vec::::from_iter([ + 45796, 18375, 37834, 2783, 2547, 23183, 37213, 4430, 2216, 28517, 6685, 9572, + 14339, 7840, 46610, 62005, 14231, 56026, 49029, 25365, 45017, 59892, 37635, + 37039, 5534, 32488, 36307, 20202, 14133, 38835, 41232, 43417, 50193, 61322, + 12497, 63946, 40186, 5409, 6597, 29495, 51569, 50776, 56488, 48943, 38415, + 30793, 60777, 49597, 33818, 22039, 22367, 9419, 43194, 556, 53740, 227, 34763, + 64976, 45771, 57206, 11303, 43770, 62989, 12619, 25054, 12198, 22037, 59265, + 56189, 12513, 22698, 40654, 56041, 41845, 63478, 62016, 50246, 51149, 9579, + 37949, 35223, 61704, 39497, 25753, 56055, 21150, 2548, 2226, 62713, 61281, + 4253, 63662, 52884, 60310, 377, 41170, 27307, 8545, 62008, 54420, 43051, 18340, + 9371, 20869, 8305, 57799, 59553, 53148, 8258, 37659, 33621, 63382, 42335, + 40163, 46424, 46243, 50852, 40396, 35123, 52333, 6167, 287, 64998, 61939, + 11339, 28726, 5251, 24746, 3192, 34887, 58919, 14305, 22516, 21983, 16053, + 52208, 31078, 49245, 4278, 37520, 11095, 60968, 47723, 31762, 22801, 1730, + 61360, 55701, 53998, 2241, 47691, 32901, 25085, 28305, 24029, 30555, 42918, + 64945, 44616, 28144, 33595, 41350, 41692, 30993, 4497, 50838, 3530, 48805, + 27173, 27712, 37570, 62305, 62316, 44712, 62793, 29394, 16491, 28390, 10408, + 14516, 25130, 65110, 14324, 15169, 44744, 46253, 7562, 45029, 316, 18792, 6675, + 38865, 10052, 36666, 40807, 3336, 25176, 56382, 39360, 22193, 47798, 63773, + 56176, 43762, 60444, 29203, 42920, 31031, 42960, 734, 10279, 29084, 63167, + 48335, 14468, 6904, 39217, 25254, 42026, 39024, 43077, 3253, 5909, 28959, + 52143, 39849, 30151, 28996, 48557, 24876, 54341, 58060, 49819, 2229, 59147, + 10436, 61764, 12145, 10176, 62235, 20188, 36701, 10774, 4552, 26705, 8406, + 46742, 1391, 24846, 33930, 56731, 28552, 59949, 64839, 30449, 4956, 5056, + 65013, 56177, 56052, 13256, 64421, 26667, 24891, 19374, 46271, 2746, 27946, + 21012, 19467, 16435, 7137, 62398, 50061, 3870, 27785, 171, 48103, 4629, 39017, + 48636, 46150, 44826, 53782, 61652, 14988, 54004, 23821, 64602, 61791, 43490, + 48957, 40252, 60539, 2530, 33509, 40557, 47585, 43780, 1834, 31083, 10151, + 54286, 24033, 28501, 22262, 19242, 54632, 17777, 34759, 12546, 19928, 61296, + 34569, 50440, 32506, 44229, 54793, 48774, 46966, 7241, 62272, 25104, 42472, + 51610, 15296, 22483, 31651, 1759, 51706, 50005, 2698, 41805, 32307, 51683, + 4805, 58759, 44512, 23034, 1429, 16509, 18365, 46197, 35862, 42220, 14834, + 10886, 34534, 47865, 47372, 45365, 17310, 56323, 6, 30602, 53341, 57603, 38787, + 45467, 31382, 17241, 8690, 29575, 54319, 39136, 58139, 3899, 51017, 52062, + 40422, 36738, 32920, 39190, 58054, 65026, 37016, 64298, 22094, 60177, 845, + 32645, 23084, 6448, 61671, 53586, 45336, 18107, 61191, 43493, 21989, 48665, + 46880, 45959, 6581, 26222, 20775, 51807, 818, 41555, 34348, 17275, 6841, 47144, + 43896, 23236, 25456, 44616, 59703, 41068, 11379, 44392, 50336, 11859, 42669, + 24047, 52984, 18849, 8877, 8302, 5689, 58346, 21274, 24696, 61887, 14159, + 46439, 35139, 57289, 12242, 12064, 4178, 63296, 35933, 10596, 48988, 1199, + 56617, 22335, 64255, 53441, 42364, 23662, 3098, 53507, 54208, 35064, 21739, + 20295, 22858, 41962, 29193, 37230, 43789, 10663, 27948, 47478, 62004, 28553, + 34909, 12686, 39782, 53788, 26674, 61096, 25235, 58177, 21025, 17613, 56304, + 40182, 15235, 4973, 34064, 4669, 6825, 53751, 35358, 36209, 37355, 39640, + 38754, 34402, 29436, 34612, 23886, 10436, 48569, 28894, 50118, 38832, 62722, + 32879, 33441, 888, 44111, 15312, 18232, 51122, 34096, 62233, 20445, 43928, + 17291, 46008, 20354, 64717, 18103, 60897, 64357, 554, 45709, 64630, 26749, + 50210, 43786, 54811, 15955, 53515, 11793, 29758, 37700, 31728, 24881, 30698, + 581, 23336, 23207, 18859, 11761, 59544, 41643, 43820, 31524, 62873, 42794, + 52162, 7006, 49091, 52896, 24037, 15770, 7876, 10000, 62193, 23699, 47752, + 22825, 55255, 32138, 38357, 37743, 33771, 45651, 52988, 33575, 2880, 36046, + 41461, 8806, 27885, 28629, 19862, 38098, 33447, 20, 9564, 3345, 27856, 62546, + 5801, 1182, 48799, 56772, 34700, 63084, 29108, 2338, 38017, 13752, 52727, + 60959, 6915, 47186, 16535, 53223, 61297, 64167, 7103, 13071, 57525, 5815, + 17031, 3467, 45601, 57726, 47281, 24225, 40594, 50673, 4837, 36578, 47507, + 6271, 45344, 21430, 23186, 54985, 9546, 59568, 19721, 62488, 17246, 18336, + 2932, 43077, 9573, 20550, 10186, 45299, 38415, 11154, 25431, 2224, 7952, 34040, + 9661, 33383, 1011, 53102, 34504, 17596, 20500, 61731, 15480, 38020, 11293, + 13132, 9733, 20343, 23111, 38910, 10912, 23775, 51763, 15820, 53023, 15054, + 6614, 34479, 61444, 17471, 8416, 50288, 17795, 48290, 26408, 23071, 7673, + 51868, 6919, 13493, 50846, 61423, 3022, 4267, 2318, 58447, 20104, 47029, 47130, + 18948, 33554, 51913, 48287, 16235, 25618, 22268, 11310, 51214, 7566, 24288, + 19481, 61627, 30623, 44372, 35744, 60201, 1603, 39373, 43735, 50183, 63915, + 28188, 29454, 43387, 20397, 16759, 14539, 6184, 1018, 2334, 41552, 63924, + 44028, 57577, 60663, 48790, 4721, 19935, 49753, 2823, 51430, 30779, 55295, + 35820, 36457, 54220, 38345, 49902, 24291, 16128, 65240, 15017, 2238, 62226, + 37171, 9869, 59963, 37788, 43747, 60871, 30196, 48022, 34800, 45626, 17874, + 52700, 27023, 25737, 5972, 39448, 63979, 18675, 13631, 40688, 64367, 19842, + 42761, 22227, 60207, 39866, 3442, 59616, 46666, 11948, 45279, 20839, 24310, + 36553, 18628, 32331, 64683, 63900, 18663, 4406, 22521, 23809, 41824, 57718, + 18566, 18581, 7917, 50562, 23865, 57352, 61204, 5438, 13668, 42052, 39805, + 25256, 25471, 43890, 46357, 2497, + ])) + .unwrap(), + c: 87, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_8/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ad8ac96de2066eef5bcb859e32dbf4120dff7d64efd015629878c805d7d38a01"); + root_from_hex("0xc44655c114a8ebcf54bbb672b379a0eb3b8091237000cb806c9e3c664bffe2c5"); assert_eq!(root, expected_root); } #[test] -fn test_containers_single_field_test_struct_random_5() { - let mut value = SingleFieldTestStruct { a: 42 }; +fn test_containers_complex_test_struct_random_9() { + let mut value = ComplexTestStruct { + a: 11787, + b: List::::try_from(Vec::::from_iter([ + 8531, 23602, 46945, 14476, 64645, 50631, 21162, 24632, 45653, 45856, 24236, 2463, + ])) + .unwrap(), + c: 255, + d: List::::try_from(Vec::::from_iter([ + 12, 10, 211, 92, 54, 219, 98, 127, 115, 201, 120, 168, 193, 48, 16, 117, 97, 182, 170, + 209, 95, 96, 24, 123, 140, 84, 62, 197, 247, 79, 150, 209, 41, 38, 101, 170, 232, 99, + 254, 141, 0, 123, 233, 167, 194, 199, 151, 12, 251, 148, 116, 165, 205, 133, 57, 10, + 26, 87, 227, 51, 158, 142, 187, 47, 159, 231, 231, 40, 197, 103, 3, 18, 117, 200, 205, + 109, 93, 76, 37, 46, 116, 133, 159, 101, 128, 70, 147, 191, 206, 6, 161, 92, 67, 187, + 52, 132, 240, 37, 33, 100, 86, 154, 13, 228, 243, 222, 215, 35, 139, 107, 179, 163, 46, + 252, 90, 239, 68, 39, 141, 244, 226, 203, 209, 32, 68, 166, 10, 197, 251, 119, 209, 60, + 32, 27, 95, 173, 68, 141, 210, 136, 167, 187, 174, 246, 12, 6, 124, 103, 217, 135, 19, + 189, 216, 27, 128, 124, 151, 231, 186, 171, 191, 105, 224, 18, 3, 214, 240, 195, 55, + 222, 8, 167, 136, 138, 184, 20, 69, 96, 71, 195, 218, 206, 71, 49, 17, 216, 62, 183, + 245, 76, 27, 221, 5, 188, + ])) + .unwrap(), + e: VarTestStruct { + a: 52907, + b: List::::try_from(Vec::::from_iter([ + 37099, 31817, 10319, 35717, 54398, 56813, 58033, 39357, 26917, 38775, 10885, 34282, + 26328, 45783, 28493, 27345, 56865, 48149, 57156, 60669, 22262, 33108, 35756, 44313, + 25626, 13033, 13296, 56332, 27214, 50796, 18143, 61919, 19611, 49665, 54790, 17370, + 42341, 57736, 46631, 15055, 63126, 27596, 61180, 45983, 22076, 33823, 54868, 55242, + 40024, 5960, 25823, 209, 38243, 63926, 37020, 29071, 43264, 14046, 22787, 47774, + 2597, 40202, 35452, 51232, 59558, 37244, 28361, 31303, 63216, 65320, 21705, 31661, + 31970, 11224, 30328, 12502, 50719, 53320, 59551, 6177, 25842, 23233, 10672, 59866, + 33248, 51464, 24129, 15868, 51310, 831, 11679, 39776, 16838, 15094, 1891, 4945, + 17139, 14483, 53417, 43793, 26732, 25508, 60376, 45651, 42304, 20805, 51017, 51137, + 18853, 5282, 56980, 36262, 63291, 40055, 17194, 44512, 3754, 14677, 37193, 4063, + 61233, 22279, 23257, 13592, 30216, 19982, 28442, 27947, 26463, 53635, 61708, 47188, + 59831, 42961, 26492, 9340, 35601, 11309, 38972, 6821, 2617, 50856, 11340, 4937, + 46850, 7973, 37673, 27306, 19855, 41187, 5963, 44203, 64792, 33983, 13343, 10665, + 11175, 64153, 53260, 62614, 49346, 36709, 55179, 8543, 39141, 36887, 27874, 11142, + 32650, 16114, 64619, 58247, 8714, 18354, 43117, 2534, 60065, 40265, 31687, 48791, + 50066, 27022, 40843, 4931, 24620, 57753, 25680, 2913, 55151, 20387, 15219, 11052, + 9219, 37402, 63692, 21719, 39391, 33838, 39773, 997, 36072, 4482, 55672, 60378, + 32729, 34536, 7624, 17576, 48245, 426, 55571, 40444, 33146, 33971, 6131, 35061, + 18155, 7598, 36545, 60972, 26042, 744, 27907, 14928, 44169, 29624, 62476, 62732, + 7788, 59995, 12290, 2471, 53137, 25846, 61841, 43565, 8741, 49759, 39626, 1621, + 26404, 47860, 10662, + ])) + .unwrap(), + c: 236, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 244, b: 10736787368015739932, c: 2999381551 }, + FixedTestStruct { a: 118, b: 8708320525189144534, c: 4021318982 }, + FixedTestStruct { a: 212, b: 11980052676225444100, c: 3164386682 }, + FixedTestStruct { a: 250, b: 2578982393630105132, c: 1941069318 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 36012, + b: List::::try_from(Vec::::from_iter([ + 45286, 64710, 8368, 8693, 49467, 56997, 22986, 51416, 21129, 56764, 42816, + 26552, 20183, 4560, 3501, 29609, 22941, 8435, 18060, 6370, 14409, 55377, 47088, + 2710, 48849, 53593, 63102, 56162, 64610, 44972, 60690, 33226, 4385, 20787, + 62649, 14925, 11076, 18857, 65112, 45284, 25042, 31476, 10658, 52761, 9685, + 28598, 64039, 51278, 17992, 37157, 1498, 52309, 32568, 62865, 41435, 55629, + 35149, 33412, 28758, 28117, 58245, 14074, 22108, 34109, 61881, 32814, 37049, + 45305, 42186, 5714, 7265, 13932, 447, 61512, 11899, 17687, 64398, 34194, 21446, + 35552, 26702, 48997, 61368, 14868, 42241, 54460, 50699, 60111, 59354, 55703, + 42362, 53746, 8603, 2741, 64296, 18003, 32343, 34383, 8391, 62667, 44571, + 20590, 64772, 31105, 56873, 40297, 55524, 2322, 17617, 42097, 41871, 36808, + 48776, 22211, 62889, 19084, 8932, 16013, 43393, 16865, 40638, 10791, 17251, + 26095, 40987, 26729, 9192, 32057, 46343, 8810, 17582, 55995, 44869, 8001, + 23345, 54462, 36009, 40649, 17469, 4343, 3093, 52656, 59475, 7954, 43018, + 20960, 25278, 37715, 54264, 26240, 58334, 5105, 47069, 5160, 38451, 40773, + 13359, 27225, 37181, 33916, 56148, 23569, 38233, 10482, 23428, 34537, 36982, + 25181, 46879, 45695, 41328, 52917, 56537, 23022, 22362, 9637, 22502, 30665, + 52452, 40130, 48728, 61342, 35105, 28775, 7801, 21527, 10960, 49907, 1641, + 3484, 62086, 41865, 35410, 60677, 40950, 59160, 64936, 57534, 24173, 42359, + 37968, 22374, 52091, 49686, 4477, 47609, 22917, 54488, 36737, 20905, 37087, + 41243, 32660, 46427, 55358, 43032, 32413, 26366, 37967, 24909, 56387, 12032, + 33133, 17852, 10866, 26859, 63534, 47675, 47325, 61384, 7279, 51925, 38224, + 35343, 65409, 45459, 64379, 45111, 60623, 7260, 28870, 8442, 7300, 45830, 1759, + 18499, 23076, 60368, 57635, 61907, 5922, 12539, 56519, 27867, 61191, 595, + 28032, 15966, 27715, 46892, 15097, 13286, 14895, 36347, 693, 42448, 15546, + 52347, 23353, 27833, 14817, 35726, 13538, 45073, 28152, 10903, 29949, 15038, + 57062, 34920, 14561, 19470, 17932, 10674, 18489, 428, 54348, 5739, 14770, + 15543, 13621, 20382, 60636, 59709, 3807, 49258, 39153, 52366, 53293, 7894, + 53835, 55045, 52192, 36234, 27933, 9105, 42430, 18848, 4460, 64409, 59681, + 31874, 40799, 33941, 20631, 42146, 45969, 31351, 60280, 54110, 26471, 34224, + 24968, 17633, 22435, 45965, 63293, 19971, 20740, 40692, 28847, 18645, 11345, + 33386, 58714, 43968, 45436, 4270, 46708, 61014, 37550, 50779, 27530, 17093, + 2259, 23561, 21896, 5186, 47076, 24443, 936, 38650, 60577, 44251, 5761, 62387, + 18540, 5317, 3363, 56878, 10919, 18535, 44141, 39677, 24206, 15318, 37574, + 57387, 62783, 3389, 8092, 12209, 18049, 24502, 46967, 22503, 8512, 8226, 63811, + 56513, 4743, 19782, 12640, 37695, 64386, 9762, 45475, 9411, 17115, 10015, + 12599, 54147, 61600, 26852, 1148, 37474, 63075, 15980, 43161, 55810, 61079, + 27848, 62525, 6834, 60241, 50441, 15839, 49518, 44909, 11828, 55384, 46282, + 33324, 35412, 41225, 34489, 61487, 64526, 41570, 4958, 2146, 22053, 46184, + 26429, 65286, 45439, 45344, 2204, 55658, 27206, 38544, 14014, 61098, 51208, + 53600, 16659, 12558, 55154, 20309, 47872, 40118, 33163, 2610, 47296, 10209, + 33906, 9158, 30500, 28178, 36440, 16967, 41714, 41582, 45966, 38529, 49792, + 13737, 37646, 10501, 16316, 32590, 24455, 16772, 12864, 21596, 16527, 12798, + 18187, 52900, 59773, 56087, 13932, 15454, 50483, 21790, 40332, 47284, 37669, + 29153, 30352, 10849, 2347, 42574, 39453, 42068, 8065, 28073, 2582, 26238, + 34891, 39482, 13426, 38648, 56760, 10387, 9840, 52595, 4807, 32639, 51655, + 21344, 53750, 21916, 29446, 27482, 41372, 33985, 49020, 3663, 2019, 12577, + 55177, 931, 27485, 11373, 1267, 55553, 59022, 62195, 20393, 63584, 21974, + 47084, 27772, 17704, 10495, 2500, 15315, 52055, 23126, 59962, 56334, 44004, + 23761, 334, 51509, 41332, 12235, 18653, 31753, 46390, 60926, 24835, 26748, + 16684, 58141, 4015, 3914, 59060, 21889, 20349, 7707, 36486, 59721, 25215, + 55969, 37148, 53949, 22911, 45007, 19793, 23959, 48820, 48149, 49686, 51059, + 33115, 26073, 51296, 14882, 1326, 30168, 64869, 43058, 48107, 29482, 48491, + 43455, 44790, 1503, 27454, 37513, 9376, 38519, 6451, 15707, 20228, 30422, + 62993, 19751, 47556, 2878, 13163, 34329, 34559, 62383, 52402, 61134, 33229, + 8925, 52851, 6132, 23037, 4657, 7954, 38039, 49967, 14081, 41895, 33737, 46823, + 51981, 61105, 30655, 9660, 615, 2294, 45829, 33125, 36603, 42625, 22707, 16947, + 45044, 40025, 52227, 26381, 4849, 37959, 60411, 22338, 22519, 29277, 44102, + 65308, 11318, 37027, 31689, 11116, 55217, 2284, 11058, 6249, 15882, 12448, + 45130, 11494, 63883, 17598, 7170, 49100, 44676, 6514, 32885, 45865, 14767, + 22431, 43642, 27078, 3781, 33964, 63007, 12512, 62469, 38426, 19395, 29509, + 4615, 6228, 17896, 32730, 25060, 20060, 38936, 63691, 9729, 54210, 30236, + 26207, 63821, 39139, 2882, 16276, 55087, 33316, 14854, 48439, 31930, 23761, + 8885, 28439, 13358, 49995, 46555, 63024, 34432, 13298, 21409, 33225, 44572, + 20507, 15112, 64911, 25235, 6362, 12931, 30836, 27340, 48648, 35724, 29930, + 46277, 13513, 40053, + ])) + .unwrap(), + c: 75, + }, + VarTestStruct { + a: 31422, + b: List::::try_from(Vec::::from_iter([ + 41536, 53745, 8614, 26181, 41078, 47910, 51433, 8103, 43092, 60217, 35900, + 28603, 6651, 41287, 19112, 59182, 47397, 35978, 5990, 1581, 35667, 10300, + 45523, 47493, 44283, 34256, 36472, 36037, 52151, 60187, 18020, 42646, 48183, + 2853, 8697, 58435, 57453, 16165, 62083, 46951, 22790, 56044, 62268, 1757, + 18900, 45829, 64950, 5366, 18666, 62278, 16311, 54792, 6113, 42220, 4249, + 32254, 15092, 17794, 27843, 8568, 60888, 54806, 39105, 2787, 54509, 14154, + 24967, 3656, 465, 59445, 12025, 27791, 20363, 14487, 7737, 51844, 47341, 2248, + 5041, 16650, 4692, 27755, 62812, 8429, 50753, 30416, 27531, 53358, 63241, + 45643, 55306, 37281, 37230, 61432, 17032, 35216, 61364, 31748, 9459, 32814, + 65411, 30654, 55370, 3399, 15511, 5240, 41442, 38449, 43079, 52342, 47357, + 36560, 62152, 43645, 57855, 27808, 10563, 64456, 45779, 18756, 60554, 34229, + 39138, 56430, 59421, 245, 64706, 56095, 17053, 39701, 46279, 59737, 39576, + 3386, 20323, 64231, 40947, 606, 13118, 55847, 15063, 737, 37551, 33620, 44503, + 35756, 10535, 49135, 27599, 33839, 12785, 60403, 58687, 45402, 47195, 37566, + 1337, 30181, 33364, 42690, 50490, 37666, 16274, 27821, 25761, 31495, 49899, + 28386, 33207, 31819, 40538, 59051, 17171, 64316, 47999, 64395, 44710, 39715, + 63030, 30234, 10304, 20987, 56323, 13163, 19022, + ])) + .unwrap(), + c: 47, + }, + ]) + .unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_5/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_9/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("2a00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xef116345d1d809e3a8c2fde4dae330d025ce3d5afbd096ca0477bde166093560"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_random_2() { +fn test_containers_complex_test_struct_random_chaos_0() { let mut value = ComplexTestStruct { - a: 28502, + a: 11713, b: List::::try_from(Vec::::from_iter([ - 54777, 54608, 59283, 47559, 63981, 34242, 54234, 15282, 42195, 40500, 46251, 44616, - 8199, 56117, 47824, 28233, 52037, 20930, 62744, 59877, 12399, 31759, 7760, 14969, - 14152, 20453, 52520, 20847, 62703, 61038, 21267, 17992, 62570, 16749, 61396, 41740, - 13623, 22328, 15944, 25495, 14991, 54763, 30484, 48795, 22842, 37478, 24675, 13499, - 26761, 13479, 40131, 7536, 58445, 60536, 64114, 36916, 7075, 10559, 19603, 27584, 2862, - 7345, 51998, 2117, 26845, 50605, 8319, 15238, 36173, 40133, 7872, 48191, 13986, 35215, - 45701, 7781, 61520, 9528, 4293, 62338, 26599, 1294, 8300, 49410, 36090, 621, 52357, - 21349, 45819, 13239, 9566, 18544, 37557, 61619, 9947, 5656, 24051, 21711, 17246, 38547, - 15233, 50244, 14769, 18844, 25804, 60371, 23289, 37763, + 38091, 53824, 7944, 31766, 19699, 31242, 4608, 29028, 11885, 840, 21861, 65003, 18717, + 32490, 18436, 15216, 33190, ])) .unwrap(), - c: 197, + c: 160, d: List::::try_from(Vec::::from_iter([ - 170, 181, 3, 134, 201, 248, 222, 1, 155, 247, 84, 146, 91, 81, 163, 164, 159, 50, 161, - 77, 12, 101, 137, 37, 123, 139, 196, 131, 8, 90, 247, 132, 246, 16, 120, 83, 225, 179, - 151, 156, 151, 52, 17, 235, 68, 100, 243, 232, 232, 147, 192, 179, 78, 23, 158, 166, - 72, 225, 182, 67, 39, 106, 123, 35, 126, 38, 52, 116, 164, 123, 81, 218, 225, 15, 81, - 97, 160, 25, 126, 49, 126, 126, 153, 40, 142, 14, 121, 47, 223, 215, 205, 162, 113, 14, - 249, 83, 154, 32, 116, 154, 229, 246, 122, 71, 231, 91, 168, 158, 89, 73, 130, 156, 72, - 153, 43, 130, 207, 113, 150, 75, 199, 66, 177, 176, 137, 4, 152, 203, 32, 184, 121, - 112, 232, 59, 154, 151, 158, 22, 135, 6, 189, 123, 16, 42, 238, 146, 187, 103, 174, 61, - 12, 54, 131, 134, 231, 110, 204, 146, 5, 217, 184, 166, 199, 40, 208, 11, 163, 95, 91, - 26, 62, 255, 236, 248, 180, 168, 63, 250, 168, 113, 11, 206, 39, 224, 212, 29, 133, - 162, 240, 216, 215, 208, 48, 144, 167, 218, 38, 152, 243, 189, 65, 78, 31, 135, 15, - 182, 81, 253, 43, 137, 108, 201, 71, 62, 80, 58, 3, 242, 72, 144, 56, 72, 11, 41, 229, - 226, 20, 130, 151, 123, 58, 89, 176, 0, 107, 0, 173, 202, 240, 105, 10, 67, 203, 141, - 220, 80, 89, 206, 70, 30, + 128, 197, 56, 67, 137, 198, 224, 251, 177, 132, 101, 181, 68, 221, 57, 132, 165, 50, + 120, 136, 16, 78, 43, 59, 57, 185, 100, 12, 139, 168, 37, 228, 49, 225, 77, 90, 94, + 187, 90, 218, 93, 114, 227, 179, 0, 207, 17, 157, 156, 49, 247, 80, 156, 168, 35, 209, + 211, 36, 31, 244, 181, 101, 62, 207, 85, 151, 160, 129, 177, 232, 187, 210, 250, 152, + 192, 153, 73, 245, 168, 211, 90, 225, 59, 89, 12, 60, 56, 120, 154, 51, 28, 55, 29, + 104, 227, 24, 91, 159, 210, 199, 88, 127, 230, 33, 61, 56, 115, 43, 74, 203, 212, 67, + 119, 140, 94, 145, 118, 193, 107, 218, 217, 16, 117, 119, 11, 184, 19, 13, 159, 176, + 46, 204, 68, 128, 42, 238, 230, 68, 212, 111, 180, 236, 161, 108, 140, 247, 49, 41, 46, + 89, 1, 84, 251, 191, 70, 75, 49, 185, 121, 2, 146, 119, 33, 196, 221, 4, 146, 78, 148, + 174, 159, 101, 133, 226, 195, 161, 7, 226, 153, 195, 66, 41, 224, 219, 86, 59, 148, + 161, 235, 208, 97, 155, 76, 166, 191, 48, 71, 25, 109, 172, 111, 173, 194, 73, 166, 15, + 207, 113, 14, 208, 63, 156, 58, 34, 70, 138, 52, 53, 52, 203, 175, 45, 170, 140, ])) .unwrap(), e: VarTestStruct { - a: 28796, + a: 59882, b: List::::try_from(Vec::::from_iter([ - 63796, 65404, 55512, 39414, 11147, 63749, 37177, 33138, 52722, 58530, 51627, 40951, - 14044, 46316, 56018, 35770, 30693, 23792, 62757, 61917, 26267, 40130, 39943, 45543, - 43142, 33231, 65384, 59439, 65474, 8521, 26945, 51428, 2440, 45825, 22215, 8935, - 16392, 51727, 62768, 59939, 6076, 24202, 8759, 11076, 30884, 33871, 27611, 40580, - 63578, 29437, 42895, 59764, 50682, 14579, 50790, 51383, 16598, 27789, 25433, 50379, - 42852, 11405, 5936, 11907, 32164, 2400, 29394, 26647, 16684, 3435, 12672, 64605, - 26203, 35997, 25958, 32711, 64450, 19957, 3957, 64290, 64905, 8994, 48576, 62919, - 30096, 24466, 3594, 55728, 3321, 17931, 20397, 10469, 55488, 45914, 9196, + 21911, 63942, 31199, 31455, 33871, 7137, 41350, 62486, 3011, 27349, 598, 515, + 63354, 28621, 57115, 31259, 53789, 8037, 44746, 7200, 1431, 46405, 34155, 38815, + 19379, 8367, 26984, 6685, 15469, 819, 45620, 18928, 60330, 25053, 8829, 27017, + 62227, 52796, 2068, 64540, 51838, 3044, 25158, 22706, 9091, 18485, 32778, 48731, + 6341, 13256, 35247, 2095, 45437, 48666, 20844, 46266, 57326, 31444, 39945, 35581, + 32790, 13204, 11089, 17709, 40439, 16864, 24972, 62603, 6320, 35115, 34288, 17679, + 37087, 15719, 33589, 6432, 27013, 39712, 13545, 5533, 50743, 53643, 62551, 9233, + 51692, 54995, 24099, 24103, 57032, 570, 30014, 45376, 38895, 8928, 34876, 23399, + 60376, 12834, 29815, 49496, 51841, 63858, 20521, 31781, 31769, 63906, 39068, 52573, + 29639, 9812, 37681, 30759, 59162, 5477, 62006, 4472, 45322, 31142, 33801, 54237, + 8747, 32962, 8497, 3565, 19087, 50149, 29615, 6779, 44698, 31083, 49008, 55457, + 32468, 29909, 34814, 17740, 30370, 47333, 53621, 27697, 186, 34665, 52641, 41697, + 12186, 40139, 62143, 16414, 59557, 48, 47188, 232, 18546, 33344, 50508, 53638, + 29098, 47692, 40216, 8327, 35926, 39917, 20730, 23245, 15972, 35974, 46016, 34902, + 1017, 51546, 15189, 37713, 6054, 59146, 34223, 51638, 16595, 16097, 44686, 60853, + 54007, 19110, 737, 62212, 19361, 60994, 28791, 38829, 28052, 39998, 44467, 64374, + 12243, 59538, 975, 46140, 40464, 61536, 10820, 22447, 46188, 17133, 2407, 32064, + 55561, 63220, 47580, 52985, 16254, 36020, 35441, 40882, 60969, 51962, 44512, 40780, + 57122, 37990, 43411, 39691, 32989, 12136, 27183, 62416, 62270, 33436, 43005, 61122, + 18488, 45109, 58483, 26082, 41115, 6955, 16865, 29139, 33105, 16380, 18416, 33893, + 23211, 61222, 43424, 56222, 11306, 42831, 48960, 46798, 15182, 17353, 57282, 44854, + 9838, 39257, 1855, 44383, 58702, 39671, 44911, 24600, 6342, 54348, 40836, 40660, + 41567, 33906, 25119, 3784, 44549, 35538, 12811, 40454, 23712, 55207, 41212, 63194, + 21569, 13478, 21729, 39749, 31562, 42044, 55429, 28764, 61050, 37945, 43425, 25634, + 13738, 23423, 44965, 20576, 59775, 1165, 3296, 62139, 16725, 2207, 33629, 51716, + 40077, 14993, 25244, 44344, 1908, 53162, 36091, 45250, 45046, 16320, 33840, 11733, + 40495, 53875, 22867, 1650, 19937, 19730, 24175, 273, 3846, 10817, 32813, 30131, + 50668, 64478, 57044, 38327, 55132, 62049, 43699, 24083, 56483, 29779, 20439, 31097, + 13244, 25340, 58792, 55176, 30626, 60712, 4090, 54403, 33479, 36684, 33380, 53084, + 13803, 24861, 27864, 47821, 6773, 44541, 31238, 43090, 19840, 19050, 3940, 22155, + 6112, 24384, 25416, 3155, 43976, 5411, 29967, 14936, 63687, 47242, 20711, 5640, + 56265, 50443, 47002, 25929, 38761, 17248, 40095, 13299, 23132, 30674, 10071, 62046, + 62809, 21816, 11102, 24633, 3763, 22028, 46264, 61133, 39898, 18530, 26374, 37556, + 8944, 7456, 59409, 22601, 43783, 38173, 61181, 49867, 17291, 51330, 64447, 29910, + 8052, 11328, 36249, 52613, 52716, 25336, 46961, 7966, 55176, 20518, 10301, 18739, + 47311, 28821, 21893, 45771, 32628, 46916, 33384, 49121, 32095, 37673, 27914, 5695, + 15101, 58044, 2922, 57629, 45094, 25799, 17038, 61721, 25092, 50696, 36417, 24051, + 56573, 41416, 25049, 37633, 31009, 26730, 56392, 61518, 39090, 19513, 9530, 45894, + 14283, 37410, 34687, 35053, 59797, 48811, 28297, 19307, 26689, 999, 48030, 60389, + 15667, 38826, 61706, 30610, 17062, 60869, 23673, 60992, 36272, 4796, 40180, 23204, + 5736, 25667, 32459, ])) .unwrap(), - c: 46, + c: 138, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 143, b: 15369598333677722387, c: 3618353484 }, - FixedTestStruct { a: 95, b: 7342862960844619183, c: 2024225401 }, - FixedTestStruct { a: 34, b: 13071154624305027972, c: 349713642 }, - FixedTestStruct { a: 118, b: 5488186923479738561, c: 151832036 }, + FixedTestStruct { a: 3, b: 10543900606472943020, c: 3667820647 }, + FixedTestStruct { a: 140, b: 3106764529416694417, c: 3299042996 }, + FixedTestStruct { a: 90, b: 7465421768114232817, c: 4159847108 }, + FixedTestStruct { a: 203, b: 2684306830788579479, c: 1893894578 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 15129, + a: 40858, b: List::::try_from(Vec::::from_iter([ - 64463, 3056, 59030, 24671, 21832, 63802, 28060, 22600, 19714, 53408, 1778, - 1891, 28844, 62098, 34647, 51572, 42572, 15025, 25018, 43298, 51819, 5936, - 4540, 9637, 56885, 24843, 30180, 10259, 52824, 60598, 54729, 46273, 53242, - 21060, 27328, 28769, 49682, 44462, 48291, 17234, 32445, 56233, 41542, 29969, - 58369, 28834, 65390, 38261, 43490, 8465, 58880, 39256, 29459, 1809, 26244, - 36913, 31709, 18061, 47202, 60346, 10610, 34835, 13360, 53567, 15500, 4769, - 45468, 13235, 34369, 34243, 8362, 61483, 47901, 9764, 5107, 15661, 57946, - 46727, 5387, 51010, 43517, 41813, 23863, 1216, 32759, 17230, 18053, 52183, - 60999, 39583, 8427, 63887, 48959, 1785, 32555, 15182, 34959, 19879, 45321, - 22577, 33786, 32926, 36830, 13020, 18143, 42884, 22247, 11406, 46773, 28717, - 27157, 23251, 18380, 52218, 47888, 51093, 29318, 51654, 9092, 56184, 31654, - 45630, 53222, 61741, 11234, 9853, 40538, 1571, 44868, 23482, 12733, 15011, - 30576, 14725, 29068, 38415, 9497, 10848, 1720, 62394, 26341, 14372, 58833, - 6138, 2572, 24671, 1938, 27415, 8719, 56852, 23011, 56000, 19095, 51538, 59169, - 43591, 46191, 19518, 31921, 12718, 15548, 20704, 23506, 26546, 13734, 27094, - 22117, 21928, 29093, 55958, 11961, 57807, 21101, 23261, 57852, 32829, 28718, - 36130, 51187, 54831, 43853, 22387, 25485, 51134, 53400, 41446, 43657, 22153, - 11454, 8741, 10966, 44912, 63416, 59720, 17897, 46131, 647, 9592, 42705, 41715, - 3565, 8066, 55504, 32381, 58413, 42878, 26059, 19357, 56181, 15133, 28846, - 64519, 13659, 64544, 530, 49958, 3206, 36433, 27964, 55969, 51748, 44453, 2057, - 15462, 7802, 40564, 207, 56018, 58324, 10768, 11470, 15693, 10406, 18332, - 26649, 64664, 18507, 45611, 39515, 10304, 35195, 18628, 4075, 12883, 18375, - 28048, 64114, 47846, 33206, 8308, 20278, 16647, 6883, 50107, 8005, 63747, - 56211, 14572, 40972, 12054, 31379, 34031, 45133, 40626, 13240, 9110, 53399, - 13841, 35944, 33993, 31190, 64277, 50766, 6670, 5299, 64809, 55402, 63731, - 41724, 20674, 55284, 56476, 8762, 12172, 41415, 42847, 4334, 11115, 3732, - 47257, 39045, 33666, 58688, 30093, 65457, 711, 56996, 24671, 14765, 7766, 4926, - 34712, 37355, 22896, 59725, 11917, 8750, 61243, 50965, 15595, 45043, 35553, - 64907, 50816, 32325, 29850, 13596, 26313, 56126, 59381, 62146, 54630, 17527, - 64434, 52508, 4730, 24408, 9733, 47924, 528, 47039, 17124, 13134, 33111, 34721, - 58143, 39281, 28766, 12671, 33030, 13397, 12475, 985, 59290, 7642, 19743, - 54170, 31709, 23564, 22517, 59813, 6826, 40139, 53646, 16997, 788, 44778, 7725, - 40135, 60811, 14134, 58728, 62932, 62595, 64852, 25802, 64525, 19408, 58019, - 43221, 33576, 61776, 56499, 38031, 5140, 51715, 51013, 55526, 23095, 50384, - 34180, 50049, 50731, 48014, 20740, 42835, 54145, 26779, 34864, 7822, 37892, - 44506, 46669, 1064, 52292, 2306, 45131, 32758, 3065, 65277, 39106, 43503, 4242, - 60331, 48806, 48664, 19991, 3404, 29584, 708, 44886, 60891, 17247, 41643, - 59610, 27319, 63310, 6174, 21736, 11989, 63980, 44838, 3777, 60531, 15462, - 4852, 50935, 29957, 49217, 50824, 30687, 14948, 7702, 41200, 11864, 17199, - 56310, 42124, 31080, 6805, 669, 60959, 56462, 64109, 19571, 22045, 14778, - 11045, 45259, 53790, 31786, 60923, 30062, 63435, 49348, 32180, 44880, 19035, - 52610, 3227, 29543, 35046, 19419, 49100, 20549, 56790, 3953, 42181, 26705, - 51056, 39573, 25650, 49315, 48964, 13112, 56492, 18886, 45518, 130, 28217, - 60342, 633, 59257, 5604, 55669, 59890, 2011, 16490, 51189, 22044, 53357, 62482, - 9294, 4095, 3679, 53815, 44405, 61177, 48367, 22326, 48547, 53486, 3920, 46224, - 6267, 59867, 29456, 63664, 38263, 49490, 35072, 17006, 31264, 55283, 1999, - 2747, 42329, 7578, 55385, 10466, 52684, 59493, 42385, 13988, 62351, 31717, - 19392, 45222, 21005, 34662, 64041, 43082, 63999, 693, 20680, 23304, 2114, - 53387, 36990, 11975, 49995, 5496, 36261, 31195, 13010, 12003, 31455, 33374, - 52264, 937, 63504, 35982, 60148, 10290, 19632, 29023, 45602, 54188, 56320, - 36702, 35657, 27264, 40892, 38571, 34461, 45393, 13022, 46954, 989, 34511, - 45450, 11819, 8154, 39062, 45419, 14588, 23591, 5359, 22258, 272, 12666, 20087, - 49475, 50430, 65153, 15202, 23103, 52793, 59645, 11258, 27806, 57408, 27975, - 3554, 5756, 8631, 25325, 48852, 51030, 17315, 43318, 30693, 63394, 4540, 3848, - 57485, 39548, 28299, 55132, 57764, 24163, 21103, 52767, 5282, 57370, 41462, - 39346, 52053, 19363, 36189, 33659, 19623, 11518, 15041, 10157, 58625, 4778, - 53313, 24799, 56547, 22690, 40980, 61514, 65, 57921, 52646, 16921, 10647, - 46526, 13561, 62477, 51575, 47397, 65146, 1843, 3029, 15045, 13584, 29802, - 24096, 37349, 44160, 33597, 24169, 14559, 27029, 46397, 12037, 550, 1314, - 63674, 45946, 23269, 31708, 28836, 58951, 55617, 29039, 23374, 14278, 18181, - 53120, 11884, 19734, 1319, 22901, 58236, 49651, 62275, 4941, 21806, 30253, - 38415, 50895, 56466, 43614, 58969, 4363, 4331, 60585, 13388, 11071, 48828, - 5063, 21030, 38351, 32086, 63497, 64640, 43751, 41385, 52328, 57837, 25091, - 385, 56321, 25819, 44064, 32585, 40154, 9029, 23680, 15539, 37648, 32500, - 15432, 28791, 61579, 27001, 44449, 28179, 3720, 14480, 2307, 62358, 54551, - 23706, 37897, 53586, 5061, 46529, 11063, 57196, 3376, 60428, 38517, 31100, - 44645, 51017, 43090, 57287, 55337, 25862, 19637, 11647, 33211, 24875, 34302, - 10257, 57729, 43018, 44198, 62507, 44656, 52406, 15588, 61128, 29920, 2264, - 38316, 57046, 30565, 57623, 43668, 7929, 22473, 25933, 542, 57944, 910, 26617, - 33200, 1875, 33080, 52737, 25943, 8191, 6764, 38979, 5347, 48371, 10929, 12827, - 14888, 9041, 54830, 46673, 65006, 8369, 36040, 62022, 55232, 46439, 10472, - 21292, 25038, 48333, 63416, 32526, 18974, 44528, 20632, 32554, 26766, 56638, - 28105, 21978, 6332, 34864, 49289, 5005, 31163, 18380, 49278, 41247, 40215, - 50465, 40718, 61293, 21390, 25788, 61342, 53998, 49498, 31579, 29218, 7664, - 20367, 922, 50612, 6735, 33760, 52202, 31405, 2447, 26504, 26314, 62924, 61956, - 61709, 35110, 30514, 28238, 64795, 17172, 56513, 62232, 8333, 42962, 1041, - 18146, 57164, 8306, 25025, 38374, 21390, 63857, 43875, 44727, 3898, 61449, - 44171, 59766, 32336, 60317, 42493, 38116, 37091, 48269, 30372, 24491, 57631, - 22307, 54479, 43111, 48823, 32647, 62614, 19704, 3381, 4800, 12014, 825, 45052, - 41676, 55646, 63851, 52639, 45049, 4047, 18673, 46730, 2936, 32867, 44613, - 42201, 40255, 31998, 52108, 32917, 54059, 845, 36793, 4950, 54606, 34480, - 21870, 15301, 46232, 27894, 35437, 9069, 14631, 6579, 64403, 35432, 28814, - 62268, 6068, 2254, 1791, 37680, 52394, 21736, 59657, 41008, 10434, 1068, 44764, - 61238, 13059, 29143, 63911, 40245, 22717, 21774, 21714, 24405, 62445, 7486, - 34849, 34561, 51981, 40502, 1109, 10148, 28660, 39145, 49674, 14565, 39503, - 31553, 55370, 12967, 44958, 22640, 26336, 45522, 28983, 53227, 7755, 13943, - 40069, 43769, 20693, 39131, 52990, 29813, 11736, 65031, 36341, 30416, 19374, - 46936, 18955, 6029, 57481, 35136, 62083, 47691, 7419, 46702, 58737, 38097, - 55414, 18791, 63884, 5693, 51292, 59859, 5100, 29405, 56951, 37431, 61146, - 14937, 1655, + 2788, 10634, 25075, 37806, 19970, 3306, 31405, 59273, 5695, 43782, 45669, 6010, + 26852, 19119, 47012, 10896, 48177, 26451, 11056, 9638, 54412, 58348, 21355, + 23069, 8248, 22387, 14432, 55546, 2130, 27403, 40026, 14435, 55608, 670, 54559, + 22714, 29506, 28563, 48739, 29845, 7603, 63174, 63976, 8382, 51232, 43955, + 30792, 57540, 18210, 36241, 55113, 30758, 33362, 25927, 48838, 34824, 8344, + 33180, 24733, 58445, 55640, 22949, 31161, 6112, 22149, 36158, 29335, 51974, + 6373, 19635, 22409, 21960, 30162, 16257, 2221, 55103, 42073, 5229, 57969, + 59040, 21810, 5548, 27600, 4788, 60800, 41560, 28655, 52634, 59985, 37218, + 37291, 24168, 43727, 7393, 52503, 17332, 17178, 48446, 60566, 24685, 42778, + 64209, 18401, 56495, 38745, 38045, 36030, 23540, 52676, 63996, 53337, 52018, + 27, 21439, 35276, 19013, 7941, 3997, 49907, 13177, 9785, 51121, 26936, 43991, + 7757, 54269, 54288, 7852, 12327, 8026, 51726, 5798, 24537, 38903, 29850, 64853, + 43076, 56347, 12430, 15989, 30429, 58600, 20849, 31856, ])) .unwrap(), - c: 30, + c: 130, }, VarTestStruct { - a: 4303, + a: 12545, b: List::::try_from(Vec::::from_iter([ - 62016, 63440, 54710, 23705, 21698, 55481, 60667, 25430, 52691, 3155, 10867, - 60315, 43753, 65288, 42179, 10460, 33526, 27119, 48175, 56163, 6415, 41109, - 40156, 47824, 24375, 2877, 58008, 2147, 7692, 54797, 23859, 21590, 7840, 15993, - 9556, 9766, 3064, 23648, 58762, 58364, 52678, 54832, 61546, 34738, 52724, - 40291, 14096, 55023, 14316, 62275, 41589, 49367, 30073, 1231, 25959, 39585, - 14263, 48319, 60549, 30328, 1690, 43022, 47318, 19633, 30169, 57083, 36980, - 52420, 23664, 24962, 32984, 15740, 65513, 39561, 36453, 16326, 32989, 65108, - 60062, 53715, 3718, 47321, 9614, 22319, 20338, 55238, 64205, 12283, 61628, - 8306, 45078, 38896, 22038, 52739, 31696, 4483, 31496, 44329, 2673, 58504, - 16979, 25096, 44855, 37901, 31987, 26206, 27941, 55262, 5918, 58060, 596, - 49901, 62096, 35728, 39036, 38452, 47798, 54423, 2013, 58878, 17516, 58889, - 2305, 49750, 39093, 5492, 29594, 3589, 37282, 28021, 9508, 15542, 8657, 61546, - 33119, 27501, 6859, 25644, 54924, 39968, 56571, 27605, 607, 36450, 35099, - 11138, 31669, 42871, 31793, 39486, 26385, 26226, 14129, 1754, 18956, 7654, - 49135, 37941, 5973, 25121, 57136, 52548, 17488, 31268, 35353, 39309, 58658, - 31773, 28998, 5392, 30623, 33610, 2175, 11003, 920, 6678, 5603, 60364, 65007, - 59139, 23030, 19541, 39502, 50725, 13729, 11633, 8357, 20903, 15389, 36437, - 57520, 52298, 56696, 40329, 16735, 47542, 25805, 15116, 14364, 64628, 53718, - 39841, 6490, 35223, 59895, 21749, 39962, 21810, 63880, 40, 5424, 48138, 15224, - 16141, 1428, 26214, 46969, 45313, 46820, 3569, 17128, 33552, 18239, 50329, - 33714, 40945, 62519, 51447, 2472, 33967, 6734, 2671, 28342, 17757, 2853, 28544, - 35438, 3798, 37716, 63945, 29789, 43279, 5410, 1668, 28038, 23504, 7002, 21300, - 62951, 25675, 61469, 15954, 14060, 33454, 9197, 35916, 11897, 21297, 64804, - 45478, 21419, 52206, 30760, 19993, 62021, 10991, 24063, 35192, 64390, 44214, - 45619, 47928, 26170, 28362, 39971, 20761, 59466, 3898, 17475, 38945, 60879, - 41090, 28133, 57647, 7981, 61319, 52109, 64123, 51880, 24494, 5728, 37745, - 32977, 48944, 61442, 24697, 34953, 4312, 10553, 2802, 64784, 65518, 4406, - 51383, 36496, 29353, 18612, 36643, 34687, 202, 15809, 16756, 17434, 65011, - 37243, 29663, 26132, 18702, 40121, 42562, 52255, 23888, 43429, 65116, 57537, - 32902, 62611, 25664, 43718, 50449, 35049, 21908, 48456, 2993, 43746, 45419, - 23295, 14159, 54961, 36612, 47416, 63385, 12164, 39495, 54800, 13471, 63008, - 8755, 60454, 41514, 6931, 28406, 56903, 32888, 43361, 63244, 17963, 50603, - 30458, 33237, 12349, 32658, 40489, 60055, 868, 2339, 29469, 64952, 65232, - 23280, 6279, 50332, 50019, 63779, 18598, 4620, 63912, 39337, 30673, 4532, - 37702, 37846, 31037, 22811, 35312, 56464, 43133, 31778, 47642, 55998, 42524, - 2041, 52186, 7099, 63299, 15132, 23302, 25591, 62936, 17688, 56470, 5775, - 38770, 28788, 42216, 48703, 21161, 59804, 24848, 24552, 38103, 53076, 48233, - 57864, 12283, 58694, 37837, 62483, 22248, 3207, 195, 4163, 16993, 10510, 51879, - 49481, 31138, 32349, 14431, 5975, 5804, 51537, 21105, 31817, 43847, 34224, - 63489, 32396, 697, 60571, 35106, 19284, 22140, 49159, 65174, 38939, 62863, - 52996, 52336, 46295, 46431, 54394, 32120, 56278, 14509, 24522, 5439, 30695, - 58985, 35727, 64901, 35161, 28918, 59124, 59869, 10016, 61962, 19295, 23550, - 28025, 20276, 61310, 33394, 51635, 13896, 54242, 44244, 49306, 41227, 63930, - 39728, 35502, 36087, 27233, 49810, 20257, 3549, 5944, 13320, 41870, 61654, - 36734, 34832, 19081, 32810, 33919, 8568, 20609, 44802, 35110, 36218, 59983, - 22518, 1472, 41772, 59975, 59928, 22260, 28174, 32815, 11763, 1320, 62405, - 58206, 28106, 13787, 44744, 12464, 57901, 27937, 52625, 10732, 19766, 33048, - 62709, 18563, 7133, 25193, 59356, 59278, 37228, 32843, 31015, 15260, 38063, - 57145, 9790, 61497, 19303, 65039, 40034, 4974, 14568, 39104, 41417, 60699, - 42367, 10589, 10345, 22038, 46397, 12159, 58536, 9319, 47762, 55788, 31862, - 6292, 12535, 31027, 26067, 2846, 51896, 9480, 14839, 6586, 11918, 62648, 46382, - 20551, 25127, 61577, 40093, 53669, 5157, 1900, 45711, 37406, 28789, 45607, - 35387, 32860, 65014, 21162, 6374, 33716, 48574, 46777, 27738, 8540, 31556, - 63804, 59170, 63127, 45623, 34364, 9333, 23829, 52269, 53375, 57646, 16341, - 41758, 3273, 31739, 59637, 34303, 28371, 45319, 51183, + 36909, 51751, 12111, 59079, 46526, 4876, 50528, 7980, 56125, 64004, 24620, + 49385, 31497, 19486, 39428, 15275, 6246, 42311, 9976, 28136, 384, 13157, 11033, + 54386, 63350, 8749, 51761, 3010, 26301, 17629, 42550, 41173, 12420, 43223, + 18931, 37301, 63485, 14434, 843, 28576, 6330, 61196, 27493, 35991, 38113, 541, + 30462, 19448, 12020, 29102, 4715, 14887, 54079, 33752, 1086, 31190, 18268, + 5781, 13098, 11334, 41608, 58424, 37230, 11536, 14234, 52841, 26828, 59710, + 30229, 45046, 64771, 12830, 27497, 31718, 60450, 4834, 45595, 50929, 19659, + 65424, 44026, 29002, 23916, 56964, 54028, 8802, 24610, 44073, 63226, 7022, + 43168, 50203, 39935, 61562, 27074, 40682, 6333, 64950, 33907, 56345, 28826, + 37666, 37257, 25416, 16198, 29425, 57543, 62687, 30963, 46241, 17083, 46272, + 22719, 58906, 30047, 1084, 9214, 32649, 48677, 47719, 60644, 22396, 47890, + 64346, 6483, 41128, 32617, 48245, 2928, 4799, 7684, 56571, 16256, 1027, 47234, + 54874, 12543, 44156, 38190, 60342, 58814, 23698, 8170, 22915, 19784, 23356, + 44845, 15773, 62332, 15096, 4553, 14846, 52091, 13514, 31692, 10483, 60043, + 28451, 25101, 6586, 27180, 57237, 19471, 2055, 24677, 10739, 21370, 28007, + 12136, 24029, 42573, 19842, 35572, 57847, 58340, 36554, 37934, 59666, 15644, + 37750, 1289, 36069, 34835, 1359, 61560, 9434, 26133, 20316, 2489, 46648, 16812, + 62792, 50396, 23640, 2243, 19594, 55815, 51115, 1341, 3820, 4825, 18191, 30972, + 11983, 56554, 48410, 24655, 16905, 25828, 54388, 57386, 12938, 40312, 32217, + 5306, 601, 36359, 35333, 37537, 20139, 47691, 31606, 23131, 30520, 8524, 49072, + 47280, 11897, 23921, 28200, 39814, 11851, 38126, 23335, 48695, 57701, 64949, + 32995, 23131, 23058, 54495, 19158, 40721, 18920, 38116, 47381, 42741, 56642, + 6619, 57273, 12646, 41410, 62932, 60024, 40809, 35689, 12857, 48328, 22404, + 12858, 26318, 45654, 36550, 20334, 9512, 48412, 34956, 58916, 58683, 62359, + 7009, 56563, 1917, 36564, 8104, 5294, 37605, 6435, 64151, 33276, 8525, 45226, + 11158, 10834, 22672, 23122, 32289, 63656, 60143, 4224, 23745, 17968, 19982, + 3241, 2753, 52734, 32614, 63485, 4974, 7579, 17150, 49416, 5870, 55200, 4485, + 47478, 277, 49058, 30687, 12902, 16978, 41017, 26003, 20066, 58240, 37094, + 27343, 19875, 10517, 42200, 52579, 5857, 14363, 57234, 45577, 52691, 21534, + 38716, 5540, 51071, 8333, 11011, 24834, 60541, 27476, 29425, 717, 64899, 39324, + 48617, 29272, 20953, 3474, 5785, 30465, 24459, 7268, 56848, 41079, 19835, + 33775, 20086, 40697, 45009, 4012, 46419, 46114, 38750, 10045, 60425, 48876, + 3364, 2364, 28512, 11325, 5054, 1987, 15081, 56143, 53631, 1559, 25992, 2517, + 44917, 56650, 32053, 36889, 13717, 51613, 56090, 28665, 24446, 33675, 47281, + 14743, 61310, 38786, 22914, 55711, 61658, 17186, 63839, 63410, 60133, 18043, + 47934, 63867, 7736, 15644, 6275, 28329, 23820, 7517, 8245, 65474, 11551, 7698, + 10247, 17469, 36728, 43832, 15090, 45654, 10699, 11856, 39320, 19135, 35258, + 35361, 19725, 40662, 9238, 38076, 53398, 39280, 49906, 48459, 3072, 44075, + 27257, 58255, 60512, 57107, 18983, 41116, 36323, 65145, 10494, 55846, 30461, + 21136, 27785, 59061, 38028, 48725, 19760, 41044, 48754, 36415, 53626, 15627, + 52797, 35559, 46816, 21576, 21287, 42735, 12724, 993, 45749, 27537, 43692, + 39152, 27314, 16217, 40398, 21775, 35485, 54528, 34943, 13017, 49820, 5779, + 4350, 45950, 54239, 30308, 64246, 21912, 26047, 14026, 32015, 60671, 13444, + 59129, 57076, 38204, 37091, 2953, 3156, 41465, 65297, 14993, 59576, 9113, + 63762, 12163, 31506, 50992, 29253, 25230, 60401, 21443, 26873, 34591, 17844, + 54662, 38004, 61293, 62170, 15846, 50095, 46162, 31470, 36133, 62791, 37772, + 56917, 25286, 44512, 31030, 51344, 34624, 39069, 64309, 55601, 20086, 30201, + 55060, 20609, 48482, 48324, 24078, 61501, 10807, 44404, 21091, 17601, 38409, + 13886, 36357, 27345, 50662, 63244, 34959, 28627, 45322, 45487, 11596, 26986, + 13631, 3627, 15324, 12053, 24930, 57165, 34251, 45676, 60534, 44939, 21957, + 12697, 38733, 52052, 7789, 8659, 43510, 51967, 49718, 61029, 24792, 46187, + 8486, 3587, 32424, 29229, 28192, 31987, 22668, 17440, 8991, 30355, 63413, 1553, + 28268, 39523, 9023, 29175, 41240, 54084, 16256, 34273, 48573, 46952, 48971, + 39679, 61326, 60519, 37212, 19583, 62612, 61299, 54724, 65262, 45834, 36411, + 22398, 53928, 23935, 49643, 49472, 51104, 27844, 11267, 41223, 31835, 62314, + 40634, 13657, 62179, 65532, 60440, 28600, 14512, 62565, 14408, 42352, 15551, + 34133, 38305, 26777, 15943, 8410, 59366, 48421, 50301, 50490, 27500, 22375, + 54938, 62004, 62986, 51309, 16915, 19941, 28601, 21009, 6582, 45103, 13407, + 50511, 39781, 27502, 21204, 54019, 2626, 53441, 30271, 3733, 58560, 53403, + 13730, 61490, 12681, 29555, 55317, 32245, 9348, 10884, 42977, 11126, 11197, + 16620, 52947, 7753, 16653, 31950, 43758, 26509, 26608, 10685, 25568, 35152, + 12010, 5681, 54530, 63902, 394, 53113, 34477, 30211, 10885, 33818, 50020, + 41149, 58793, 54479, 58125, 60881, 20082, 37565, 9832, 49352, 50951, 16845, + 7938, 62623, 51017, 30135, 53247, 10488, 9752, 17834, 20475, 56232, 36525, + 41204, 4487, 64036, 51355, 61211, 54683, 25506, 63451, 64956, 6375, 6752, + 45594, 50956, 52428, 44238, 3582, 36127, 46680, 20573, 12050, 41008, 46429, + 31657, 13589, 23648, 52357, 12312, 10623, 5139, 9514, 1453, 27388, 281, 35460, + 8381, 925, 12923, 12555, 11395, 55960, 29072, 62264, 25327, 61197, 27349, + 14020, 16663, 24667, 52880, 15332, 3820, 39748, 22841, 30888, 45173, 36552, + 57391, 3474, 26808, 53168, 58492, 27016, 1999, 36481, 32246, 40897, 23536, + 58873, 55404, 3049, 19545, 2064, 26106, 28617, 16740, 31478, 2973, 45089, + 32644, 63735, 57290, 28347, 8824, 20875, 864, 3715, 2322, 35870, 59988, 45746, + 4367, 29170, 32005, 49661, 2268, 26537, 58283, 38188, 30555, 19758, 41504, + 10261, 41032, 8445, 8324, 5066, 63199, 4207, 48280, 6282, 47772, 49229, 17173, + 22369, 28149, 58809, 21646, 13151, 56724, 9009, 58182, 50481, 25990, 11390, + 51481, 9897, 18870, 4882, 20852, 7179, 59480, 18200, 30919, 60625, 62655, + 42103, 16726, 11645, 12317, 4227, 62607, 30532, 9141, 10892, 19133, 30280, + 2162, 41270, 57410, 37484, 27627, 10545, 15112, 14857, 8892, 48077, 57039, + 39495, 17934, 57925, 35217, 47916, 62096, 12802, 47430, 33258, 61781, 48092, + 41055, 59958, 39127, 6795, 3265, 11772, 56251, 48449, 60469, 23218, 20512, + 29054, 39350, 63070, 22061, 60782, 37855, 10149, 20871, 52064, 29556, 14087, + 44469, 63217, 1368, 2199, 31664, 4290, 21911, 8334, 62998, 19587, 7397, 60792, + 30594, 11792, 6538, 35927, 63296, 3378, 35641, 3871, 13061, 22446, 33693, + 20330, 19247, 16685, 18197, 54145, 11266, 10999, 24617, 8601, 54577, 29660, + 56513, 9335, 27424, 57140, 17413, 33406, 30033, 43291, 38537, 40876, 8092, + 28171, 23457, 11139, 28537, 20270, 9900, 63923, 13348, 34434, 13571, 42450, + 31259, 60825, 23244, 7085, 61507, 14662, 37940, 19505, 8820, ])) .unwrap(), - c: 71, + c: 126, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_chaos_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -16789,75 +13735,7 @@ fn test_containers_complex_test_struct_random_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0a431553e8b2485b7700822b68918f62cbd943d6c8f4413f962a0f7d811f3b02"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_max_7() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, true, true, true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([true, true, true, true, true, true, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_max_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("679f5c980c00f2253a3bdd1844e3a97fb1ea2d37916e8defd25253875ad27478"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_nil_9() { - let mut value = VarTestStruct { - a: 26413, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 229, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("7cb7293235a467c2292090388636eeadcfd089f600b5ae046ac7fca0dff276d4"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_nil_0() { - let mut value = VarTestStruct { - a: 19247, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 218, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("222aecf4aec9d26c1185796b4569be800bab5a97460e4cb81c357d8a5b108082"); + root_from_hex("0x24e69161141c575a7830d20b60f6fea329b6111bcff7cf03437f1f533057722e"); assert_eq!(root, expected_root); } @@ -16966,53 +13844,200 @@ fn test_containers_complex_test_struct_random_chaos_1() { 14314, 23688, 14605, 14782, 2884, 16747, 54730, 27901, 4385, 6860, ])) .unwrap(), - c: 53, + c: 53, + }, + VarTestStruct { + a: 34514, + b: List::::try_from(Vec::::from_iter([ + 64484, 60344, 22005, 17820, 22296, 12737, 51030, 39566, 29445, 39606, 42898, + 1920, 39539, 62326, 34512, 49550, 13574, 56522, 12679, 62658, 55037, 55071, + 14375, 57146, 14909, 22172, 25780, 7025, 10678, 1123, 30438, 35698, 1063, + 61916, 38394, 14586, 29007, 18343, 15032, 44548, 6456, 50610, 56282, 15927, + 57844, 5749, 31448, 2799, 59323, 13107, 61767, 6014, 55613, 38071, 39604, + 10720, 53719, 29275, 21715, 6014, 50810, 61951, 43915, 47728, 57177, 332, + 47679, 64301, 15940, 59587, 62552, 1513, 51196, 20106, 8016, 29139, 41784, + 62994, 56886, 57499, 62317, 16261, 5591, 59743, 22410, 17601, 6768, 32275, + 17194, 3876, 10463, 63502, 18551, 5157, 12989, 64161, 31320, 11288, 10786, + 56433, 16827, 62122, 36892, 29751, 41009, 22903, 31322, 20513, 31011, 56371, + 64791, 42325, 54506, 8965, 50553, 57494, 52998, 11582, 22533, 36147, 46697, 17, + 6502, 45109, 5090, 32439, 43622, 36864, 41245, 42437, 1925, 55156, 50416, + 50622, 61898, 40725, 63591, 18365, 42652, 24249, 3620, 41955, 39158, 13162, + 19880, 4663, 13248, 15702, 24758, 40939, 11960, 20122, 49247, 53324, 65227, + 56981, 5813, 23865, 50435, 22423, 34605, 42784, 58195, 4995, 9473, 35802, + 37605, 10638, 55954, 30027, 25286, 36213, 55023, 1544, 47464, 42273, 53123, + 56165, 16678, 21916, 36895, 24873, 2185, 60953, 24093, 33162, 14604, 12627, + 30448, 64424, 31545, 55967, 30913, 7050, 17313, 17148, 17867, 23294, 14475, + 54927, 40532, 61265, 43102, 43476, 49169, 47732, 26894, 59797, 33077, 14034, + 6719, 62175, 3182, 28576, 29954, 47263, 43588, 44134, 32717, 64624, 11642, + 15442, 4182, 52917, 17791, 17557, 16825, 6915, 27820, 31553, 16574, 30029, + 48439, 49384, 48443, 7320, 29213, 24708, 53526, 20248, 4119, 5866, 9469, 34756, + 47789, 307, 65044, 10507, 12653, 50983, 37063, 59317, 55254, 15049, 54263, + 14717, 43743, 59312, 30731, 59660, 28656, 57231, 3609, 21301, 35344, 19602, + 13374, 51672, 16334, 46021, 45473, 34836, 4294, 46913, 38296, 32339, 50402, + 48020, 21323, 29246, 12782, 19865, 12801, 44677, 28891, 27672, 8433, 17679, + 33208, 61718, 50030, 39147, 55303, 21819, 32607, 10603, 41071, 39749, 55959, + 15209, 3348, 31237, 30531, 37148, 42850, 2814, 48248, 51053, 28900, 28626, + 18983, 58773, 43796, 54679, 55881, 49978, 54469, 57296, 51980, 35061, 33296, + 15553, 38452, 39238, 16042, 65254, 43734, 25758, 65199, 49346, 24216, 13028, + 15584, 35436, 13858, 26112, 35366, 15278, 52055, 20880, 4903, 5824, 21408, + 26542, 2305, 62595, + ])) + .unwrap(), + c: 154, + }, + ]) + .unwrap(), + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_chaos_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x72d82a631e33acaf1200ebef7e3a20557fede419a3326141a04fed1652c77e7d"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_complex_test_struct_random_chaos_2() { + let mut value = ComplexTestStruct { + a: 38946, + b: List::::try_from(Vec::::from_iter([ + 5471, 27102, 57450, 14239, 40850, 28804, 29251, 64229, 2817, 698, 12066, 31923, 8627, + 46696, 45162, 20487, 26658, 9609, 30585, 34251, 1327, 43070, 64396, 53909, 458, 40421, + 42105, 41328, 38697, 1374, 64232, 64691, 62808, 17976, 53874, 61537, 15907, 42772, + 58056, 61290, 30753, 11997, 32240, 35573, 523, 58558, 9488, 19648, 49356, 13503, 41572, + 5291, 46694, 18537, 24217, 55537, 34818, 14214, 52245, 20089, + ])) + .unwrap(), + c: 19, + d: List::::try_from(Vec::::from_iter([ + 232, 30, 111, 0, 23, 237, 114, 162, 9, 235, 232, 180, 148, 118, 35, 147, 142, 238, 230, + 156, 255, 204, 127, 12, 221, 208, 18, 64, 118, 234, 211, 34, 86, 11, 4, 180, 217, 132, + 95, 149, 28, 249, 15, 9, 250, 110, 164, 184, 160, 36, 57, 12, 19, 24, 139, 194, 160, + 109, 156, 247, 95, 237, 109, 211, 9, 87, 18, 214, 86, 26, 80, 134, 207, 34, 192, 74, + 12, 143, 43, 141, 154, 104, 197, 209, 206, 66, 4, 70, 16, 190, 155, 34, 178, 134, 28, + 212, 211, 161, 125, 221, 195, 89, 97, 8, 48, 106, 190, 202, 190, + ])) + .unwrap(), + e: VarTestStruct { + a: 41206, + b: List::::try_from(Vec::::from_iter([ + 38917, 43774, 38559, 38822, 50501, 34597, 19855, 23072, 14435, 33924, 7401, 4825, + 30064, 2249, 14300, 5634, 61411, 21535, 45447, 65111, 51794, 54294, 11954, 521, + 33149, 41959, 58815, 60732, 13060, 32016, 27542, 32726, 62219, 7113, 43818, 8180, + 58547, 29689, 13656, 2705, 61030, 43613, 51475, 56830, 3954, 35527, 27835, 58907, + 9584, 40816, 65058, 53223, 27346, 51756, 37323, 9645, 28525, 23973, 17596, 46371, + 42743, 23765, 35775, 23725, 8966, 58476, 9215, 16391, 17257, 64861, 2628, 16202, + 22869, 44322, 58192, 42671, 49395, 16050, 14801, 25682, 63949, 2898, 29059, 3450, + 60756, 24032, 23356, 45771, 869, 6203, 39521, 28192, 23493, 45118, 47074, 58746, + 22150, 50329, 43202, 18371, 49297, 63860, 44745, 31131, 21100, 55372, 22881, 26972, + 55494, 11192, 32695, 17773, 37190, 38006, 781, 18248, 15905, 33626, 61383, 35394, + 51218, 31372, 2439, 32229, 6278, 26983, 13978, 35737, 56317, 50329, 33325, 3122, + 40882, 62197, 22635, 17845, 30168, 44278, 49784, 57542, 54176, 13316, 43007, 63245, + 10824, 49640, 50495, 36115, 60655, 11039, 18879, 59080, 41747, 47926, 15000, 64884, + 62864, 27986, 4917, 59531, 7465, 21435, 43, 27262, 51058, 8788, 48329, 10090, + 58015, 56030, 57239, 6245, 10615, 143, 34311, 11281, 18352, 152, 54221, 3987, + 19183, 46145, 59264, 29443, 32202, 5947, 5443, 8909, 28022, 63743, 10668, 60739, + 14533, 31871, 22029, 49332, 62812, 20917, 43810, 17372, 15526, 48388, 23144, 13711, + 40790, 51387, 60411, 63038, 48660, 27050, 55777, 28593, 45019, 6074, 21433, 10257, + 17804, 4842, 56494, 25660, 46301, 10365, 19003, 53706, 2165, 23718, 38577, 39791, + 52570, 48178, 64438, 54362, 19988, 38343, 15376, 23105, 983, 44621, 40452, 63081, + 9959, 50448, 4145, 52587, 59052, 6088, 65292, 60185, 20052, 44118, 9748, 15779, + 1765, 21188, 9430, 28527, 50525, 24557, 43404, 41168, 31153, 24875, 5594, 28984, + 4465, 9999, 48399, 48441, 38957, 7452, 56282, 1934, 43469, 59140, 26798, 56848, + 54391, 21009, 49171, 40128, 4466, 5013, 4282, 9355, 39488, 52680, 61685, 58911, + 27385, 37935, 61272, 49908, 8749, 4604, 18348, 7448, 45770, 29231, 20248, 2210, + 11529, 40380, 50412, 18109, 21000, 61587, 57791, 34100, 61720, 14550, 61375, 26716, + 25658, 42477, 6222, 61297, 50324, 40262, 7606, 6290, 32195, 28638, 11935, 41914, + 40809, 55164, 25353, 49954, 9807, 12244, 15097, 62087, 39388, 6355, 47420, 7566, + 56057, 49238, 14737, 36442, 48155, 57518, 63191, 25589, 33852, 46017, 57260, 48771, + 35039, 20136, 3671, 38230, 40508, 53972, 34396, 3033, 21862, 24145, 32479, 22911, + 25842, 38158, 54146, 2776, 39681, 61546, 41221, 5011, 6394, 56998, 42877, 53615, + 27157, 28848, 20009, 61556, 27988, 44277, 57719, 34396, 26429, 32945, 42464, 25956, + 62649, 45461, 55102, 59697, 62670, 59172, 14786, 58950, 20171, 1057, 37935, 19530, + 21109, 22243, 7482, 20469, 9970, 25902, 42395, 8743, 55772, 35528, 2326, 1859, + 59130, 42304, 60807, 14184, 1267, 35620, 7748, 25619, 10385, 10989, 24594, 4693, + 64475, 48253, 11534, 60744, 43291, 62230, 65502, 27181, 31997, 16934, 55882, 44858, + 8372, 63603, 31364, 27282, 42991, 35984, 30183, 20650, 41066, 47355, 51951, 16848, + 62122, 42744, 41585, 16942, 43377, 20856, 18694, 23907, 37953, 35856, 31037, 15748, + 28208, 21520, 48447, 33080, 40178, 42973, 41617, 24909, 56187, 392, 13155, 44233, + 45802, 63936, 57243, 42453, 16377, 31140, 51590, 11141, 16667, 47826, 58779, 51244, + 20699, 35202, 32246, 28921, 17369, 33032, 31063, 9568, 44849, 1311, 23124, 472, + 35834, 11322, 8902, 26137, 63396, 64598, 44549, 29418, 48388, 29027, 12818, 40904, + 56816, 11868, 32629, 29459, 50779, 27706, 58473, 2955, 20098, 22243, 28670, 49805, + 5081, 22117, 8350, 60055, 47281, 37562, 54748, 58881, 50297, 25767, 51006, 3169, + 21092, 3417, 41301, 40026, 38949, 11398, 8010, 24862, 49266, 12377, 57112, 15391, + 18299, 33685, 36838, 41339, 23327, 22682, 3441, 45058, 15711, 12647, 34735, 55741, + 25140, 23751, 8944, 44679, 39171, 48351, 44085, 37813, 16167, 26821, 23654, 56932, + 51609, 64743, 13824, 18868, 46246, 20461, 61404, 49451, 17923, 24494, 30616, 6657, + 22205, 60250, 30931, 13459, 33590, 32087, 58546, 28238, 51702, 24234, 51892, 11958, + 14255, 38912, 59705, 47624, 54577, 48223, 43956, 32055, 58016, 25908, 57852, 8931, + 6290, 63949, 64466, 16049, 7756, 27274, 12887, 37376, 21310, 47565, 54834, 62792, + 49104, 40280, 60903, 63983, 39815, 27609, 9759, 35583, 5553, 32470, 16252, 26701, + 4592, 22002, 9234, 2477, 38507, 57312, 32552, 24116, 32314, 28271, 46492, 38029, + 51183, 60798, 21437, 48852, 14101, 11901, 42307, 6842, 37425, 62394, 51423, 13673, + 20486, 3659, 32098, 63167, 59225, 21637, 33444, 34322, 8267, 20452, 3314, + ])) + .unwrap(), + c: 114, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 249, b: 4107181588698988535, c: 2407634107 }, + FixedTestStruct { a: 106, b: 18323237399640037470, c: 1699273180 }, + FixedTestStruct { a: 23, b: 3936185887010202334, c: 892696758 }, + FixedTestStruct { a: 136, b: 351826920636170295, c: 3961519671 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 55095, + b: List::::try_from(Vec::::from_iter([ + 12824, 37147, 20776, 9838, 30702, 26363, 53923, 12254, 26244, 39805, 30481, + 48303, 31045, 49481, 65263, 45286, 45319, 44074, 20758, 12542, 9423, 51600, + 29493, 13156, 29556, 47905, 27566, 56758, 42483, 29799, 11737, 59600, 35788, + 33629, 46098, 42830, 26727, 26295, 42353, 17462, 64187, 36623, 34323, 29974, + 6677, 48943, 60803, 63543, 24735, 27439, 7744, 50536, 6985, 10999, 29008, + 53803, 26760, 65535, 26346, 51565, 23105, 59016, 15291, 19928, 41125, 25932, + 11501, 60495, 49720, 40527, 37131, 52402, 18647, 29767, 20242, 52106, 29541, + 39733, 56977, 39719, 40192, 6599, 42959, 62415, 20379, 5536, 42176, 26657, + 48935, 28529, 15560, 54443, 54965, 59505, 50340, 51504, 6594, 46283, 55134, + 41413, 35577, 23452, 50471, 39753, 60901, 42658, 52881, 55662, 17251, 26506, + 50089, 38721, 29254, 4193, 26877, 18116, 16514, 23089, 50072, 33386, 13532, + 24169, 48965, 54057, 3044, 26949, 45527, 25214, 6386, 809, 913, 60299, 54301, + 19923, 2524, 53044, 13359, 33429, 20256, 8594, 46446, 15918, 30530, 11318, + 43633, 45556, 57775, 42976, + ])) + .unwrap(), + c: 34, }, VarTestStruct { - a: 34514, + a: 36056, b: List::::try_from(Vec::::from_iter([ - 64484, 60344, 22005, 17820, 22296, 12737, 51030, 39566, 29445, 39606, 42898, - 1920, 39539, 62326, 34512, 49550, 13574, 56522, 12679, 62658, 55037, 55071, - 14375, 57146, 14909, 22172, 25780, 7025, 10678, 1123, 30438, 35698, 1063, - 61916, 38394, 14586, 29007, 18343, 15032, 44548, 6456, 50610, 56282, 15927, - 57844, 5749, 31448, 2799, 59323, 13107, 61767, 6014, 55613, 38071, 39604, - 10720, 53719, 29275, 21715, 6014, 50810, 61951, 43915, 47728, 57177, 332, - 47679, 64301, 15940, 59587, 62552, 1513, 51196, 20106, 8016, 29139, 41784, - 62994, 56886, 57499, 62317, 16261, 5591, 59743, 22410, 17601, 6768, 32275, - 17194, 3876, 10463, 63502, 18551, 5157, 12989, 64161, 31320, 11288, 10786, - 56433, 16827, 62122, 36892, 29751, 41009, 22903, 31322, 20513, 31011, 56371, - 64791, 42325, 54506, 8965, 50553, 57494, 52998, 11582, 22533, 36147, 46697, 17, - 6502, 45109, 5090, 32439, 43622, 36864, 41245, 42437, 1925, 55156, 50416, - 50622, 61898, 40725, 63591, 18365, 42652, 24249, 3620, 41955, 39158, 13162, - 19880, 4663, 13248, 15702, 24758, 40939, 11960, 20122, 49247, 53324, 65227, - 56981, 5813, 23865, 50435, 22423, 34605, 42784, 58195, 4995, 9473, 35802, - 37605, 10638, 55954, 30027, 25286, 36213, 55023, 1544, 47464, 42273, 53123, - 56165, 16678, 21916, 36895, 24873, 2185, 60953, 24093, 33162, 14604, 12627, - 30448, 64424, 31545, 55967, 30913, 7050, 17313, 17148, 17867, 23294, 14475, - 54927, 40532, 61265, 43102, 43476, 49169, 47732, 26894, 59797, 33077, 14034, - 6719, 62175, 3182, 28576, 29954, 47263, 43588, 44134, 32717, 64624, 11642, - 15442, 4182, 52917, 17791, 17557, 16825, 6915, 27820, 31553, 16574, 30029, - 48439, 49384, 48443, 7320, 29213, 24708, 53526, 20248, 4119, 5866, 9469, 34756, - 47789, 307, 65044, 10507, 12653, 50983, 37063, 59317, 55254, 15049, 54263, - 14717, 43743, 59312, 30731, 59660, 28656, 57231, 3609, 21301, 35344, 19602, - 13374, 51672, 16334, 46021, 45473, 34836, 4294, 46913, 38296, 32339, 50402, - 48020, 21323, 29246, 12782, 19865, 12801, 44677, 28891, 27672, 8433, 17679, - 33208, 61718, 50030, 39147, 55303, 21819, 32607, 10603, 41071, 39749, 55959, - 15209, 3348, 31237, 30531, 37148, 42850, 2814, 48248, 51053, 28900, 28626, - 18983, 58773, 43796, 54679, 55881, 49978, 54469, 57296, 51980, 35061, 33296, - 15553, 38452, 39238, 16042, 65254, 43734, 25758, 65199, 49346, 24216, 13028, - 15584, 35436, 13858, 26112, 35366, 15278, 52055, 20880, 4903, 5824, 21408, - 26542, 2305, 62595, + 63443, 953, 61737, 53195, 19552, 12277, 49695, 10490, 61265, 4699, 19174, + 58223, 35909, 23830, 38240, 24693, 21556, 28113, 55300, 44141, 22697, 60601, + 43258, 21075, 30469, 6417, 21447, 59691, 8827, 40374, 28331, 57423, 51412, + 21639, 49521, 48990, 48607, 54943, 31490, 50477, 50405, 34046, 51668, 7471, + 25523, 17449, 53308, 23182, 15293, 56485, 27508, 56093, 1170, 53289, 30201, + 13836, 53910, 53979, 20463, 44633, 38314, 49085, 1830, 29589, 65322, 29362, + 10412, 41065, 55813, 29800, 56445, 22331, 34661, 48588, 50048, 42554, 5616, + 19552, 32911, 48337, 6584, 1276, 7580, 56607, 32677, 50035, 21878, 10121, + 56487, ])) .unwrap(), - c: 154, + c: 86, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_chaos_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_random_chaos_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -17021,564 +14046,1172 @@ fn test_containers_complex_test_struct_random_chaos_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("72d82a631e33acaf1200ebef7e3a20557fede419a3326141a04fed1652c77e7d"); + root_from_hex("0xda1d555dbd61054d6102286c29ac6076cac1b835620a76dba49c92812cebd1ef"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_one_3() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true]), - e: Bitvector::<8>::from_iter([true, false, true, false, false, true, false, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_one_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); +#[should_panic] +fn test_containers_complex_test_struct_random_offset_11_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_11_plus_one/serialized.ssz_snappy"); - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f5a1b1469addca4b542972bcd8c609a6eea1253ee3152b9d816d77bad37d3a07"); - assert_eq!(root, expected_root); + deserialize::(&encoding); } #[test] -fn test_containers_var_test_struct_nil_7() { - let mut value = VarTestStruct { - a: 64459, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 222, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); +#[should_panic] +fn test_containers_complex_test_struct_random_offset_11_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_11_zeroed/serialized.ssz_snappy"); - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); + deserialize::(&encoding); +} - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("12a034ffc15a1416af36a2042cea64289a7a587e6f0fe97b3c66feaec47e0fc0"); - assert_eq!(root, expected_root); +#[test] +#[should_panic] +fn test_containers_complex_test_struct_random_offset_2_minus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_2_minus_one/serialized.ssz_snappy"); + + deserialize::(&encoding); } #[test] -fn test_containers_bits_struct_max_9() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, true, true, true]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, true, true, true]), - e: Bitvector::<8>::from_iter([true, true, true, true, true, true, true, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_max_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); +#[should_panic] +fn test_containers_complex_test_struct_random_offset_2_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_2_plus_one/serialized.ssz_snappy"); - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); + deserialize::(&encoding); +} - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("a6a9c5f7ac748508e6ca448b1c79a3ce3287ce4d84e54bb4d0ea912963cc1ac9"); - assert_eq!(root, expected_root); +#[test] +#[should_panic] +fn test_containers_complex_test_struct_random_offset_2_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_2_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); } #[test] -fn test_containers_bits_struct_one_4() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([false]), - e: Bitvector::<8>::from_iter([true, false, true, false, false, true, false, true]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_one_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); +#[should_panic] +fn test_containers_complex_test_struct_random_offset_7_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_7_plus_one/serialized.ssz_snappy"); - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); + deserialize::(&encoding); +} - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("56c00424e17ba0839c67e441de93d1a233518a787b9f5beae8f9a7800f7721d2"); - assert_eq!(root, expected_root); +#[test] +#[should_panic] +fn test_containers_complex_test_struct_random_offset_7_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_7_zeroed/serialized.ssz_snappy"); + + deserialize::(&encoding); } #[test] -fn test_containers_var_test_struct_random_chaos_1() { - let mut value = VarTestStruct { - a: 62039, - b: List::::try_from(Vec::::from_iter([ - 23305, 29806, 56403, 51159, 2516, 49207, 25302, 92, 55514, 1548, 27014, 11520, 30196, - 37538, 31936, 4170, 54538, 49756, 39614, 5655, 22246, 43174, 49261, 15409, 6017, 34293, - 57675, 14097, 32155, 47852, 9845, 52370, 37341, 58193, 50988, 54728, 42747, 25560, - 11299, 13677, 49172, 34338, 25735, 14683, 38457, 17143, 57318, 8683, 63929, 7318, - 45269, 46739, 50608, 58441, 53917, 58946, 43835, 44441, 44329, 14754, 60228, 62067, - 14042, 51499, 21679, 8322, 59021, 4108, 49051, 3704, 35024, 21760, 54230, 55030, 9325, - 64360, 36233, 6436, 32642, 4879, 56628, 40984, 22671, 15822, 54311, 16463, 19669, - 55702, 191, 59734, 62741, 44262, 26365, 35071, 44455, 12573, 55715, 53450, 5334, 18525, - 37769, 2641, 1150, 6047, 44286, 17947, 44572, 45924, 56304, 46005, 40936, 56665, 26196, - 38098, 44702, 34512, 10041, 22434, 17178, 49566, 52258, 18778, 52824, 47810, 28277, - 47104, 5505, 6843, 14303, 5732, 48941, 54184, 36910, 61431, 57474, 7646, 34456, 35558, - 30451, 28747, 64255, 19512, 5446, 11568, 63813, 11175, 52559, 37335, 27316, 49941, - 26232, 35770, 32313, 49532, 17577, 48934, 32463, 51678, 34366, 34884, 58012, 17700, - 26986, 10791, 28505, 26477, 58616, 12709, 52074, 45059, 61217, 34157, 3688, 37652, - 5676, 40798, 55503, 20594, 56459, 36929, 34576, 4774, 20760, 967, 42303, 32420, 40499, +fn test_containers_complex_test_struct_zero() { + let mut value = ComplexTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, ])) .unwrap(), - c: 92, + c: 0, + d: List::::try_from(Vec::::from_iter([0])).unwrap(), + e: VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_random_chaos_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: VarTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("7212d68f58c159cfebacb824dd52394ae2e2817dd1eae1f3249c5dfadc88fa35"); + root_from_hex("0x2ec3c08dd3340ae02ef2cfc18752d3d87b74b2627a1b89296e8308db83a10d76"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_one_chaos_1() { - let mut value = VarTestStruct { - a: 28881, - b: List::::try_from(Vec::::from_iter([18944])).unwrap(), - c: 105, +fn test_containers_complex_test_struct_zero_0() { + let mut value = ComplexTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + d: List::::try_from(Vec::::from_iter([0])).unwrap(), + e: VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_one_chaos_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: VarTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("52e834b323f4651d8f7e8759ba002d7bb346289a1fb31be29a559b6a43318a61"); + root_from_hex("0xd3f0fe44a7a2f41215d6fdb22cce2e0c89be118c7a5106ef5bff4290a570ede0"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_random_2() { - let mut value = VarTestStruct { - a: 27676, - b: List::::try_from(Vec::::from_iter([ - 44695, 48600, 31136, 19500, 44205, 36060, 25786, 26618, 37361, 8899, 64311, 2514, 9554, - 32401, 56118, 2234, 41629, 45679, 18067, 55083, 13659, 38338, 11145, 48099, 7097, - 19777, 40789, 42260, 16593, 28212, 32284, 48885, 60017, 41548, 48980, 52748, 29436, - 6519, 51390, 13850, 16050, 57484, 19504, 2382, 57695, 21309, 36053, 58478, 36350, - 38811, 1214, 25105, 48123, 49033, 13665, 51370, 49698, 6760, 32128, 58193, 128, 1545, - 26614, 50542, 30613, 54988, 14353, 10738, 7815, 13360, 40678, 7110, 25066, 60556, - 54461, 22528, 17659, 13689, 48277, 30774, 43061, 20261, 15691, 35630, 19815, 30383, - 49861, 2839, 31450, 13493, 28681, 541, 61617, 22342, 59591, 40410, 38843, 30711, 35254, - 41534, 728, 11071, 55064, 35225, 56657, 37227, 9777, 34110, 65339, 21575, 59226, 17161, - 38436, 43428, 43115, 38104, 42399, 18787, 25758, 38789, 26768, 57600, 7547, 87, 63710, - 50131, 47366, 52622, 62452, 41355, 23911, 59936, 32112, 53056, 25947, 1377, 20244, - 46065, 60988, 10318, 54100, 17850, 50438, 11595, 21746, 25610, 55196, 23824, 6586, - 41973, 6026, 57980, 57254, 40365, 21772, 63353, 32160, 11991, 18726, 48970, 29746, - 49440, 17081, 41097, 13465, 63697, 27185, 40496, 45588, 22785, 5755, 5950, 14234, - 16151, 23366, 48189, 28838, 47431, 22937, 44687, 9960, 18008, 43796, 16472, 40344, - 6307, 60750, 42176, 48076, 3047, 34291, 53364, 5934, 35808, 39627, 16700, 61818, 17790, - 2074, 12801, 14876, 34651, 31986, 54424, 35627, 13246, 27491, 2754, 17156, 3650, 56913, - 28167, 40485, 5286, 26716, 54344, 20105, 10227, 12201, 17682, 4930, 50210, 52882, - 56220, 56083, 32674, 54172, 58006, 17356, 19067, 27616, 33887, 37780, 12415, 3852, - 5482, 6320, 20044, 51795, 34591, 8396, 35071, 39025, 33720, 27350, 1214, 12489, 28905, - 10545, 7894, 58460, 50487, 7556, 5510, 43456, 9897, 21919, 43418, 15610, 51627, 22828, - 26017, 41734, 27862, 2329, 13688, 53343, 26009, 43570, 5267, 1550, 22485, 16557, 64823, - 64098, 49563, 7109, 31682, 48433, 47419, 33456, 15614, 58115, 37566, 11748, 56178, - 31947, 55839, 23907, 39863, 45318, 62202, 53558, 32368, 15687, 53444, 47210, 42931, - 37640, 53500, 9048, 51678, 37398, 5322, 43230, 21833, 36405, 35061, 29262, 9277, 12384, - 59158, 31163, 4746, 57569, 1723, 58523, 6263, 14535, 59878, 52424, 31661, 6214, 23799, - 19965, 64506, 13195, 39399, 34387, 23723, 49447, 46439, 36212, 62454, 58077, 49181, - 17517, 57269, 57490, 9498, 980, 61407, 4360, 41477, 20314, 15300, 22147, 40103, 54993, - 61031, 41339, 32587, 12514, 54805, 51111, 33512, 41665, 59236, 7998, 31477, 45546, - 63362, 6925, 42377, 20507, 6202, 19455, 16556, 23535, 29143, 7737, 51549, 58357, 61793, - 58806, 2026, 13961, 6066, 19732, 46806, 23699, 19514, 8377, 64814, 47852, 56334, 22031, - 14309, 55332, 28372, 13423, 28189, 4416, 40742, 55008, 22937, 40917, 47057, 23312, - 6084, 50385, 33592, 27753, 25055, 47606, 50144, 49001, 16740, 34502, 8301, 21864, - 29823, 42703, 59858, 3591, 46786, 31144, 58289, 45473, 25231, 34072, 62297, 23287, - 54205, 24656, 17481, 60407, 16069, 41459, 23673, 47102, 10189, 53774, 2466, 24103, - 40128, 6503, 59475, 54342, 26961, 8919, 26201, 5446, 55610, 19872, 1418, 57935, 65235, - 63090, 12315, 8968, 51805, 42662, 59153, 39158, 46192, 65217, 3304, 62992, 4936, 10694, - 47294, 14922, 10373, 49555, 52677, 56876, 43038, 47088, 52506, 53601, 60897, 49707, - 21052, 58120, 11098, 12866, 15398, 5442, 37598, 25597, 44803, 23359, 62624, 38117, - 36739, 21148, 48895, 32395, 10357, 64402, 12077, 39546, 20435, 32185, 50268, 37625, - 11605, 37027, 44710, 32293, 64708, 49747, 7621, 29736, 4507, 14697, 20130, 17173, - 14817, 60481, 49719, 44836, 13313, 36862, 33794, 46741, 36669, 41584, 44211, 35232, - 59687, 51526, 37997, 54193, 17520, 56053, 39102, 61771, 49769, 18370, 61989, 25683, - 56035, 26878, 27505, 41063, 1141, 3229, 47503, 61963, 34624, 36914, 48463, 60248, - 64422, 32255, 14207, 22118, 30112, 61730, 19016, 17969, 4022, 52923, 36107, 56603, - 36238, +fn test_containers_complex_test_struct_zero_1() { + let mut value = ComplexTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, ])) .unwrap(), - c: 46, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_random_2/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("bc5a1310b55ca40643862bd6365dce9d41bf6f167e67af00083bcfeafc305024"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_zero_9() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, false, false, false]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, false, false, false]), + c: 0, + d: List::::try_from(Vec::::from_iter([0])).unwrap(), + e: VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, + ])) + .unwrap(), + c: 0, + }, + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_zero_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("27b61f43e35013d439d4d131de8ad79811792cf58724d87ae45f1f3d1f74bacd"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_max() { - let mut value = SmallTestStruct { a: 65535, b: 65535 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_max/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + root_from_hex("0xf701b968d59dc21a5e05a33ec5cfa5e46a4090d66d92adf6d3e2b244366b2e8f"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_lengthy_2() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, false, true, false, false]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([true, true, false, false, false, false]), - e: Bitvector::<8>::from_iter([true, false, false, false, true, false, false, true]), +fn test_containers_complex_test_struct_zero_2() { + let mut value = ComplexTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + d: List::::try_from(Vec::::from_iter([0])).unwrap(), + e: VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("469f6b49a4ed8f733d42ee4e769eba9c19d5e07aff60b3f9486e30c95d919c95"); + root_from_hex("0x1f6d75d4252f3c39169e59d7831661be5224e98bd91460fd93582645af0e8abf"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_zero_9() { - let mut value = VarTestStruct { +fn test_containers_complex_test_struct_zero_3() { + let mut value = ComplexTestStruct { a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + b: List::::try_from(Vec::::from_iter([ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ])) .unwrap(), - c: 0, + c: 0, + d: List::::try_from(Vec::::from_iter([0])).unwrap(), + e: VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, + ])) + .unwrap(), + c: 0, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("bb7ea01c4c68bbaf1df07124552e34c661e2bd157ca71b6529c92f5feea448a2"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_zero() { - let mut value = SingleFieldTestStruct { a: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x10d835c8af095afc274d2a76ce98ebeb857396a8f68cbf524d14d3521076c3f8"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_random_5() { - let mut value = VarTestStruct { - a: 25799, - b: List::::try_from(Vec::::from_iter([ - 31598, 4940, 7630, 36358, 26249, 12856, 15530, 61074, 54691, 56853, 51121, 21914, - 18170, 21851, 49970, 54364, 17937, 13611, 64213, 13143, 3327, 41212, 34480, 52929, - 31985, 54385, 43811, 17768, 13874, 29953, 53631, 35218, 44347, 40715, 22684, 21981, - 29978, 64986, 15956, 59683, 24502, 19949, 39442, 60606, 22992, 11973, 13754, 20807, - 20338, 28779, 18363, 53039, 30261, 55862, 21023, 15210, 63416, 41276, 60670, 27879, - 45031, 63170, 38572, 38091, 37161, 8864, 16575, 25140, 40457, 42604, 36310, 59774, - 19744, 19450, 10967, 6299, 5452, 60713, 28071, 9538, 27387, 53688, 56390, 65362, 13748, - 7506, 11021, 35402, 20314, 8469, 53354, 47543, 13334, 59420, 9552, 17211, 13775, 44235, - 47653, 41784, 16724, 29338, 49992, 47492, 63843, 18646, 11749, 24628, 58297, 2835, - 38698, 2871, 13391, 19465, 39995, 21124, 63885, 50287, 34566, 38412, 53230, 57185, - 56723, 38282, 48727, 14677, 13381, 55889, 27609, 37310, 57327, 2021, 31931, 64671, - 52338, 11213, 40688, 25143, 36823, 22879, 61848, 4530, 61778, 9420, 25657, 9306, 63070, - 9620, 12950, 6277, 30536, 44263, 46488, 17984, 53863, 4475, 31078, 26122, 34104, 17331, - 22065, 63786, 49444, 57347, 32491, 10283, 17581, 41003, 45537, 19686, 9667, 11778, - 9201, 41307, +fn test_containers_complex_test_struct_zero_4() { + let mut value = ComplexTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, ])) .unwrap(), - c: 141, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_random_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f7fba8efac43ce0600fe8e072e363cff8dff998913af976106b02c83de1c70c8"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_lengthy_5() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, false, true, false]), - b: Bitvector::<2>::from_iter([false, true]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false, false, true, true, true, true]), - e: Bitvector::<8>::from_iter([false, true, true, true, true, false, true, true]), + c: 0, + d: List::::try_from(Vec::::from_iter([0])).unwrap(), + e: VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_5/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("e855d6c5c37e013075aa63d9adc7887a1eba417b39695c4fd36ae276b78182a8"); + root_from_hex("0x8021f013769eba11681a8dcf7458660e19c30efe1b95bf0ad1d047a80a51bcc5"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_zero_7() { - let mut value = VarTestStruct { +fn test_containers_complex_test_struct_zero_5() { + let mut value = ComplexTestStruct { a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + b: List::::try_from(Vec::::from_iter([ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, ])) .unwrap(), c: 0, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ee2e89616ef26de2d2dd166f7b5aaa1c7f75cf467cb94cb2e578e41d5c4922a0"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_max_2() { - let mut value = SmallTestStruct { a: 65535, b: 65535 }; + d: List::::try_from(Vec::::from_iter([0])).unwrap(), + e: VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + ]) + .unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_5/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + root_from_hex("0xb14eff3c8dcf43636fb3674437f01c1e31541a4fe2f59fce85969931cf502e66"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_zero_7() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, false, false]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false, false, false]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, false, false, false]), +fn test_containers_complex_test_struct_zero_6() { + let mut value = ComplexTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + d: List::::try_from(Vec::::from_iter([0])).unwrap(), + e: VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, + ])) + .unwrap(), + c: 0, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_zero_7/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_6/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("7a14e144cf89605fa98f03d5315652596c9607d815e162b2d371d7bad872012d"); + root_from_hex("0xa1763935a5d9d806ec0c10b05513374b75fb112f3b82509c1f9326ced4b58b6f"); assert_eq!(root, expected_root); } #[test] -fn test_containers_small_test_struct_max_5() { - let mut value = SmallTestStruct { a: 65535, b: 65535 }; +fn test_containers_complex_test_struct_zero_7() { + let mut value = ComplexTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + d: List::::try_from(Vec::::from_iter([0])).unwrap(), + e: VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + ]) + .unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_5/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_7/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + root_from_hex("0xecdc839d58de1e9b6003770857a5097dea8c25c6f63078494bee748f7a912b8f"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_zero_0() { - let mut value = VarTestStruct { +fn test_containers_complex_test_struct_zero_8() { + let mut value = ComplexTestStruct { a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + b: List::::try_from(Vec::::from_iter([ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ])) .unwrap(), - c: 0, + c: 0, + d: List::::try_from(Vec::::from_iter([0])).unwrap(), + e: VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + ]) + .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_8/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: VarTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ec783aab2c6fdf1e39982bb3cb77c0ec5fe4d587519d26a1554bd129c1bff962"); + root_from_hex("0x44aa205a1ab79b3ef1674d4040b34d702efe212440c817248c48beaf73443a45"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_zero_chaos_1() { +fn test_containers_complex_test_struct_zero_9() { let mut value = ComplexTestStruct { a: 0, - b: List::::try_from(Vec::::from_iter([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ])) - .unwrap(), + b: List::::try_from(Vec::::from_iter([0, 0, 0])).unwrap(), c: 0, d: List::::try_from(Vec::::from_iter([0])).unwrap(), e: VarTestStruct { @@ -17587,10 +15220,7 @@ fn test_containers_complex_test_struct_zero_chaos_1() { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ])) .unwrap(), c: 0, @@ -17617,7 +15247,27 @@ fn test_containers_complex_test_struct_zero_chaos_1() { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ])) .unwrap(), c: 0, @@ -17655,13 +15305,7 @@ fn test_containers_complex_test_struct_zero_chaos_1() { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, ])) .unwrap(), c: 0, @@ -17671,384 +15315,120 @@ fn test_containers_complex_test_struct_zero_chaos_1() { }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_chaos_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_9/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("7234feb3b046a7cb785b398a7145a7dffd8e03e18ad7106a8b7b2c44d81f7e07"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_zero_0() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false]), - b: Bitvector::<2>::from_iter([false, false]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([false, false]), - e: Bitvector::<8>::from_iter([false, false, false, false, false, false, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_zero_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("f8deab9880644342f558abbfafbbdcea80f0652e260bd8f6c14fdc18b5599426"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_lengthy_5() { - let mut value = ComplexTestStruct { - a: 65280, - b: List::::try_from(Vec::::from_iter([ - 33087, 53979, 31524, 62080, 24710, 39184, 59428, 4696, 65450, 13150, 6095, 62651, - 14575, 47502, 23666, 39136, 11068, 26424, 61299, 61232, 57870, 7945, 48238, 37590, - 48621, 61357, 47192, 5814, 27739, 13962, 12707, 37305, 29690, 1586, 45727, 61950, - 20772, 19719, 25719, 17231, 18362, 15853, 20434, 38643, 21832, 48266, 28050, 16461, - 35483, 21070, 36426, 26843, 37063, 29599, 43941, 32787, 12601, 3191, 22285, 16176, - 2828, 22460, 12607, 63486, 46498, 17365, 45108, 49196, 18556, 51020, 56080, 57156, - 9575, 55047, 56617, 28081, 21914, 57894, 40854, 34499, 2019, 6441, 5368, 30697, 29566, - 52669, 39545, 2954, 52462, 18468, 10220, 27759, 50995, 6464, 23592, 22479, 4363, 32767, - 56876, 49623, 8721, 51333, 4685, 43718, 39768, 32172, 59732, 53711, 52255, 47152, - 32968, 47558, 32043, 57404, 44163, 59909, 3792, 32887, 51205, 32642, 33447, 45034, - 65175, 1660, 57816, 42438, 8665, 5538, - ])) - .unwrap(), - c: 196, - d: List::::try_from(Vec::::from_iter([ - 165, 93, 15, 90, 2, 156, 82, 116, 64, 141, 108, 175, 191, 115, 228, 31, 101, 113, 116, - 94, 119, 251, 211, 254, 40, 87, 133, 236, 147, 47, 60, 177, 51, 95, 116, 72, 96, 198, - 10, 159, 139, 155, 117, 183, 56, 57, 197, 2, 85, 175, 88, 83, 182, 102, 144, 158, 115, - 202, 101, 77, 167, 118, 20, 223, 6, 4, 233, 126, 76, 137, 210, 30, 156, 206, 155, 187, - 169, 90, 180, 162, 127, 21, 106, 41, 78, 165, 61, 13, 94, 238, 33, 61, 0, 50, 193, 9, - 247, 79, 120, 26, 200, 3, 128, 214, 140, 111, 111, 141, 102, 182, 112, 114, 27, 195, - 194, 62, 178, 116, 238, 201, 49, 78, 25, 176, 136, 246, 50, 243, 95, 106, 28, 67, 6, - 136, 82, 18, 177, 116, 97, 226, 198, 24, 254, 200, 18, 66, 99, 239, 233, 105, 151, 217, - 252, 191, 246, 114, 133, 7, 19, 42, 105, 242, 247, 78, 208, 36, 66, 229, 164, 113, 22, - 28, 254, 52, 156, 156, 159, 28, 159, 134, 250, 182, 101, 243, 247, 180, 3, 6, 250, 19, - 5, 158, 144, 107, 249, 94, 82, 22, 138, 37, 6, 68, 16, 4, 130, 169, 76, 51, 172, 62, - 60, 169, 167, 51, 139, 81, 210, 117, 55, 67, 52, 36, 119, 4, 38, 106, 22, 96, 250, 104, - 33, 153, 134, 151, 57, 63, 6, 111, 204, 165, 240, 95, 254, 158, 173, 168, 87, 56, 80, - 47, 141, 18, 138, 54, 254, 179, - ])) - .unwrap(), - e: VarTestStruct { - a: 48108, - b: List::::try_from(Vec::::from_iter([ - 64199, 27161, 27624, 59075, 40208, 17835, 37120, 12903, 30200, 62955, 39882, 12060, - 17752, 60770, 58730, 51247, 64644, 36138, 38923, 5862, 5634, 5868, 46352, 43758, - 2831, 56020, 3200, 28803, 59381, 41185, 52261, 20856, 28228, 63365, 37438, 52823, - 22385, 10264, 2861, 45413, 43742, 52707, 2717, 26894, 10860, 49033, 64693, 1353, - 47080, 36289, 9919, 51143, 35733, 3378, 15802, 10978, 10639, 64393, 6938, 64653, - 19201, 33104, 42728, 40380, 45389, 29930, 53503, 7625, 65517, 2573, 32299, 44444, - 39605, 27009, 31360, 46941, 19910, 51663, 5980, 51219, 22987, 10550, 56290, 21636, - 32666, 3940, 924, 29928, 17145, 15264, 60642, 55460, 21013, 41733, 53443, 49732, - 50946, 57058, 11348, 64270, 26311, 46741, 20753, 57942, 46005, 57665, 20256, 3381, - 43770, 6328, 6209, 49020, 22578, 61069, 40660, 30888, 41083, 42403, 53815, 22703, - 57138, 14131, 520, 49899, 46139, 20052, 13215, 57675, 7353, 64530, 59611, 33996, - 33742, 10764, 17928, 16719, 25673, 15256, 6295, 18624, 49527, 20991, 49660, 51915, - 49903, 57760, 38509, 6904, 62126, 31505, 39387, 53013, 36553, 9954, 16030, 43080, - 18505, 10842, 13414, 40145, 6663, 60001, 26472, 45814, 50483, 5388, 53711, 40632, - 58130, 14338, 45097, 48096, 54630, 31410, 25007, 11888, 25047, 48599, 10417, 19112, - 39310, 19828, 15298, 41481, 61780, 1630, 21556, 12136, 62986, 24007, 42824, 45132, - 11577, 51070, 53779, 54469, 7919, 21349, 24081, 59211, 11588, 37427, 520, 37688, - 15004, 31504, 41854, 50785, 30026, 55964, 44296, 62307, 20467, 40657, 1182, 57988, - 25388, 62804, 10337, 57342, 38585, 28476, 48958, 47086, 26968, 19357, 54804, 44902, - 9614, 51848, 54909, 32835, 3825, 4655, 22391, 4267, 18033, 55228, 9788, 31219, - 32601, 21059, 38955, 63575, 63170, 29648, 31082, 55231, 6980, 56474, 60451, 16911, - 18680, 40690, 30908, 53134, 4489, 40021, 5444, 9962, 26556, 10311, 57673, 64726, - 63722, 40638, 45932, 35466, 48991, 14996, 36602, 24497, 15223, 49668, 2722, 23135, - 40059, 13593, 40135, 58804, 8281, 50056, 43734, 50092, 21072, 16673, 18863, 36749, - 30483, 25693, 27198, 11305, 58012, 13987, 34306, 55569, 18543, 52548, 20153, 17981, - 49914, 61645, 43968, 43722, 15335, 47324, 22424, 31269, 49779, 40004, 36308, 48244, - 35335, 31116, 21746, 34543, 39256, 40034, 44633, 34256, 49543, 2797, 5764, 49437, - 9165, 15464, 3264, 54751, 9861, 38827, 24811, 30707, 38906, 33948, 47310, 11395, - 49920, 24827, 34594, 1104, 39842, 31470, 8597, 7007, 14033, 25652, 760, 31964, - 36751, 36870, 53715, 21393, 22319, 59379, 41011, 18884, 61208, 20127, 64216, 13540, - 16557, 28546, 44967, 19112, 23500, 58070, 3103, 42839, 49593, 7283, 40615, 20105, - 43813, 49155, 8442, 5211, 7136, 59898, 23777, 19813, 4696, 18221, 18426, 52073, - 14353, 26250, 43429, 9223, 42994, 7143, 39547, 58525, 40331, 38803, 64156, 10885, - 34626, 15605, 7415, 49347, 40067, 24755, 44699, 25099, 19991, 39869, 8610, 44980, - 32128, 34888, 31602, 19785, 48516, 49778, 58042, 39777, 6429, 43793, 43071, 40097, - 18219, 51431, 34290, 22732, 44420, 29413, 5242, 63909, 24793, 8757, 50828, 63873, - 12622, 32189, 51369, 1981, 26269, 20001, 33613, 44387, 14805, 6683, 48211, 60443, - 5193, 63745, 54620, 54045, 21226, 12464, 27518, 26723, 19754, 62507, 51331, 38504, - 31799, 15415, 55876, 58630, 58797, 51550, 27594, 33391, 18290, 15074, 6978, 11804, - 17318, 27594, 20432, 31162, 53549, 51256, 28376, 21009, 6272, 4200, 43456, 15801, - 64639, 63846, 59955, 54036, 61995, 16424, 30499, 9057, 44349, 51922, 12362, 19137, - 60663, 5055, 58249, 43236, 40986, 7000, 27303, 42519, 40092, 43296, 2491, 34864, - 36350, 14881, 11285, 35881, 28205, 55859, 7054, 58109, 62425, 5021, 55059, 19112, - 34836, 2775, 10318, 64356, 42242, 62839, 53679, 61972, 2770, 46411, 23522, 63463, - 59257, 39323, 24598, 32390, 30290, 58001, 11844, 55921, 31958, 30949, 65113, 57256, - 2694, 42579, 26079, 31747, 26631, 4465, 50039, 6654, 14277, 56320, 9195, 64218, - 46937, 58756, 29241, 51581, 38680, 11557, 23516, 37954, 11326, 61525, 38210, 44523, - 19785, 22838, 6127, 31738, 33108, 63143, 10715, 7682, 25819, 52640, 26503, 1484, - 42550, 27807, 33699, 13786, 52708, 56826, 51485, 55869, 38098, 65129, 50916, 64485, - 748, 42137, 56160, 13073, 51095, 21037, 3375, 5986, 45539, 13897, 10298, 56442, - 6987, 49582, 47687, 62142, 37195, 62731, 31735, 9827, 34916, 51352, 43611, 6164, - 46044, 7612, 49989, 57300, 52986, 63206, 65425, 16884, 34083, 8430, 11452, 15034, - 39033, 4436, 42271, 7402, 25152, 33038, 50771, 45409, 44303, 60404, 45417, 27781, - 46630, 14994, 63902, 8388, 19609, 41230, 15432, 2395, 32745, 51857, 42262, 49462, - 37073, 7550, 42554, 42141, 28991, 16876, 59786, 53726, 61574, 37970, 39251, 3129, - 38477, 48215, 29612, 51906, 13237, 47443, 12538, 56389, 46101, 31949, 13627, 1682, - 10308, 40009, 42032, 51869, 18173, 35513, 53224, 44511, 25150, 53404, 2122, 39998, - 30304, 13182, 39770, 34305, 19528, 7772, 57337, 23440, 19993, 40587, 37556, 40991, - 37167, 15172, 35145, 63717, 14234, 33152, 50015, 43748, 61170, 65378, 58462, 1077, - 28332, 33634, 35849, 12743, 40613, 26921, 8577, 5136, 13847, 50324, 22796, 43957, - 64843, 10431, 62460, 30856, 44590, 18822, 16489, 49557, 56682, 22599, 52931, 31452, - 63160, 35789, 22893, 2179, 29415, 50457, 45765, 8422, 31047, 19837, 61946, 23437, - 7875, 146, 4919, 48716, 6078, 56820, 3648, 34783, 24019, 15748, 23568, 17375, - 18503, 53719, 57950, 28408, 27555, 30629, 53168, 10299, 33082, 64384, 11221, 64336, - 44047, 53601, 58858, 63697, 53002, 6865, 20865, 6040, 62299, 50519, 29193, 7234, - 32221, 6305, 39142, 39908, 6734, 45536, 34253, 32815, 33790, 36194, 34448, 56613, - 55223, 64560, 55036, 58884, 51106, 36166, 23208, 47895, 14149, 10513, 21981, 25451, - 53380, 30989, 14352, 38878, 64422, 32676, 39197, 8197, 23979, 59619, 9684, 25177, - 60083, 43122, 8272, 40303, 29096, 15431, 44205, 58335, 10643, 2566, 58390, 51890, - 55617, 14669, 41007, 4424, 13673, 57110, 57254, 3566, 16639, 51292, 53480, 50513, - 14297, 32524, 47803, 15010, 38820, 46446, 64792, 14778, 39634, 23833, 8764, 31090, - 29333, 6226, 62616, 49811, 16284, 24964, 65066, 57023, 23496, 65383, 15997, 7830, - 55508, 59026, 38135, 28, 6207, 48963, 19773, 35509, 31820, 52720, 46826, 62562, - 31729, 24554, 2904, 53630, 49288, 32552, 37497, 64788, 1808, 49770, 54076, 24253, - 15974, 25448, 8359, 46872, 4151, 55822, 3487, 39415, 7090, 55166, 45061, 14507, - 13210, 53149, 30058, 58909, 5334, 39638, 26640, 38014, 25015, 23818, 8313, 15266, - 51063, 30024, 33582, 1022, 58617, 5717, 3131, 39875, 14124, 37384, 28711, 18219, - 18157, 29646, 63212, 8283, 46996, 24680, 31833, 22627, 61467, 64452, 34957, 11755, - 33716, 9670, 15125, 19169, 44009, 36711, 49680, 5412, 21638, 54693, 25765, 24450, - 7734, 1818, 56397, 32410, 19, 43568, 64085, 64705, 60187, 17696, 60982, 57509, - 25192, 2853, 6612, 26487, 33221, 21953, 50142, 3888, 52297, 4226, 54181, 54450, - 65323, 49901, 31733, 63355, 59736, 2805, 30831, 5017, 54353, 3206, 39974, 51740, - 35282, 7019, 17545, 36025, 42284, 41223, 31967, 35259, 23150, 27976, 56454, 34611, - 19747, 37368, 433, 32388, 50505, 61526, 24312, 9660, 32251, 18391, 1401, 37250, - 32168, 57069, 45014, 2002, 49596, 57170, 33720, 26172, 36789, 10427, 49974, 52538, - 29780, 18439, 34416, 17237, + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xeef804ef0a314328f86f7635f913264f4c7a0ce11d8a9e5dc3c400bb8d7a6aa7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_complex_test_struct_zero_chaos_0() { + let mut value = ComplexTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + d: List::::try_from(Vec::::from_iter([0])).unwrap(), + e: VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, ])) .unwrap(), - c: 29, + c: 0, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 195, b: 12761296427842794216, c: 2887424490 }, - FixedTestStruct { a: 19, b: 12673970782303023911, c: 1882120908 }, - FixedTestStruct { a: 33, b: 3414619537641842921, c: 803319402 }, - FixedTestStruct { a: 184, b: 15746415222302789656, c: 1398072405 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 59603, + a: 0, b: List::::try_from(Vec::::from_iter([ - 32555, 6951, 50572, 22224, 8940, 23887, 8110, 19497, 40585, 19188, 9199, 28058, - 65172, 57001, 57948, 52533, 38482, 17902, 56435, 57614, 65235, 33314, 43045, - 38631, 2514, 20459, 43865, 34604, 35112, 7858, 16123, 25205, 57679, 4584, - 16379, 32166, 40434, 9628, 7050, 56118, 14150, 50349, 5899, 5721, 34903, 32441, - 38963, 31056, 50352, 60559, 44517, 43804, 40428, 423, 20746, 27298, 62335, - 42130, 34536, 37995, 10595, 57961, 15025, 53031, 39107, 4099, 23979, 10236, - 61260, 53243, 1255, 27135, 26691, 7103, 41772, 24018, 19562, 15179, 3812, - 33826, 53711, 54390, 54615, 45445, 58186, 1565, 37660, 60679, 6029, 14790, - 4061, 38297, 63426, 7267, 51201, 26508, 63662, 39794, 14796, 51008, 60872, - 10539, 16107, 61544, 14484, 43177, 9993, 50490, 56, 21463, 34077, 64095, 52160, - 31645, 38462, 53550, 50495, 33083, 34812, 24862, 30438, 64424, 1797, 43080, - 35597, 8346, 55352, 49059, 16591, 22075, 65320, 29314, 8808, 57206, 42609, - 29876, 16656, 19969, 25616, 33972, 32121, 25619, 24502, 31507, 43034, 19442, - 1148, 51048, 34445, 52750, 18118, 29129, 2471, 23860, 24712, 13906, 15225, - 21996, 8751, 26673, 53714, 98, 50022, 59277, 23850, 61933, 57970, 63323, 40246, - 8178, 8698, 52332, 48459, 52137, 19278, 3691, 10697, 38145, 2432, 5753, 45498, - 17970, 35019, 52471, 39660, 7042, 25418, 32424, 29996, 55275, 26112, 13750, - 4991, 25536, 31569, 176, 24423, 14000, 4374, 15940, 4543, 58677, 38192, 10291, - 27013, 25245, 45960, 31662, 60867, 27754, 35166, 26955, 23168, 42154, 48111, - 51062, 28215, 63411, 10599, 48798, 9981, 44981, 35445, 57532, 62414, 32331, - 59055, 29925, 13505, 45525, 20918, 6693, 21915, 43765, 40092, 47072, 10373, - 23564, 48277, 63791, 48451, 5148, 26064, 2325, 54198, 42144, 22055, 31395, - 48771, 602, 60464, 65410, 54684, 10686, 45301, 8559, 60409, 36792, 3709, 5956, - 7275, 61093, 49095, 61150, 23305, 16769, 46875, 38064, 37379, 36127, 47063, - 12256, 59735, 32214, 54248, 7673, 37830, 20555, 60339, 28790, 40153, 64469, - 35805, 38537, 27878, 35313, 63873, 25595, 14281, 6740, 60573, 40833, 18686, - 50480, 33269, 58, 34612, 62347, 46093, 51400, 17526, 35823, 3326, 47088, 5613, - 8689, 61300, 44550, 8830, 19441, 56156, 46454, 4049, 25493, 37046, 62058, - 58793, 29674, 46739, 26886, 49496, 59863, 466, 21910, 18578, 52274, 47521, - 19608, 32199, 19028, 59475, 32305, 51186, 42069, 54069, 35050, 28362, 54363, - 16242, 62948, 35800, 3226, 11169, 26504, 11985, 19642, 5561, 2337, 43575, - 64748, 45468, 33308, 52900, 1532, 22270, 1872, 28702, 48401, 47184, 15614, - 10122, 54822, 2406, 47694, 44148, 45951, 26058, 49340, 19038, 50420, 52595, - 28442, 21245, 55588, 43897, 61593, 51522, 56492, 27412, 34380, 62678, 59983, - 47641, 65264, 1257, 41159, 16323, 36624, 47825, 48354, 19801, 56083, 53431, - 47516, 17203, 28556, 64606, 1512, 19599, 53595, 40077, 6598, 46178, 8422, - 57980, 56749, 28200, 55162, 40004, 16246, 50986, 10648, 30123, 17775, 53060, - 40405, 45474, 50210, 27918, 13003, 43357, 43252, 7911, 16395, 31654, 20035, - 12020, 5361, 12695, 61963, 64635, 38962, 54744, 45917, 29535, 14528, 34920, - 29044, 2282, 5403, 19590, 47622, 32622, 13506, 28025, 17538, 31096, 58832, - 33990, 54334, 33274, 6197, 40211, 29261, 16189, 27645, 41335, 27622, 53756, - 57238, 16726, 46796, 18955, 17191, 43581, 50396, 33605, 4162, 28381, 5738, - 62584, 34939, 43171, 10321, 14738, 60163, 4264, 64826, 17311, 32040, 40893, - 4978, 45598, 26120, 14936, 43159, 42969, 6577, 61407, 12, 24231, 5284, 11584, - 36634, 46751, 47742, 18894, 29608, 45459, 15448, 4371, 23609, 51974, 65036, - 8730, 46289, 23470, 35081, 17172, 55918, 12356, 36378, 22974, 6110, 60290, - 46523, 56952, 38325, 35933, 397, 44374, 17823, 60707, 49223, 16277, 23413, - 50300, 65298, 25917, 13005, 33025, 43111, 63748, 33860, 11642, 63902, 5394, - 1520, 43878, 65441, 6202, 26809, 45849, 37639, 46081, 38782, 48567, 6142, - 16020, 38015, 36381, 56371, 9490, 62238, 37361, 53992, 1390, 11540, 7024, - 27149, 34292, 48200, 42812, 55348, 56125, 6192, 26578, 9888, 23406, 25770, - 14393, 38712, 8597, 9063, 14813, 22904, 28645, 59603, 30594, 61255, 60019, - 43830, 56909, 7118, 1212, 32458, 42248, 7391, 46466, 2889, 41957, 15093, 37069, - 14909, 7474, 63662, 16556, 10616, 8949, 40365, 13314, 55335, 50363, 8240, - 62359, 39688, 34262, 47477, 47984, 61616, 44848, 12957, 60327, 18, 38326, 2745, - 12850, 33913, 56843, 7479, 50339, 23174, 21308, 48737, 2566, 54712, 62702, - 59327, 290, 31918, 21623, 28863, 61358, 11495, 45363, 18259, 41186, 54515, - 11018, 31503, 40982, 8163, 15062, 36178, 50843, 46175, 43219, 6078, 28819, - 9100, 59162, 46627, 38023, 1471, 65237, 23564, 7536, 10985, 9745, 57889, 39903, - 51477, 17224, 1925, 30472, 34702, 49312, 29633, 44804, 1208, 59965, 7626, - 18533, 16651, 61231, 26530, 6559, 46253, 3629, 53646, 21616, 60110, 12423, - 44598, 61403, 20772, 16282, 40453, 55534, 12239, 18017, 31444, 51462, 744, - 23677, 44739, 54585, 48998, 16591, 15585, 55108, 29194, 769, 44523, 25073, - 39706, 29066, 24488, 17966, 23633, 34955, 62101, 51857, 61407, 34230, 19611, - 26816, 54204, 18661, 56852, 30591, 6214, 61434, 62058, 51051, 39819, 36900, - 38931, 56262, 3074, 55153, 55498, 8516, 21670, 8835, 9736, 24099, 65002, 31984, - 5801, 61753, 49081, 34540, 518, 28325, 47206, 35256, 46470, 50620, 11422, - 36873, 18654, 13736, 4952, 35377, 28190, 27302, 36840, 20173, 40214, 52795, - 21658, 55606, 51358, 32699, 53616, 39807, 25590, 623, 9440, 6050, 58378, 5000, - 35871, 5214, 20704, 61592, 57382, 17168, 21764, 43290, 6057, 42156, 44750, - 23605, 36665, 27025, 15394, 43981, 2911, 7879, 1445, 25235, 5647, 36923, 44412, - 63652, 934, 8045, 41757, 29761, 63744, 23077, 60112, 44499, 54419, 31602, - 35909, 40106, 46986, 20871, 42020, 55308, 29708, 26132, 35777, 63306, 29416, - 3186, 40034, 50396, 59203, 49355, 64890, 51563, 49885, 12580, 45342, 45157, - 55212, 5027, 64849, 61394, 64895, 48287, 34615, 9372, 39697, 44671, 19061, - 51205, 46592, 14707, 64694, 63979, 36520, 20676, 31552, 17586, 60269, 61560, - 60432, 25505, 50105, 6625, 32858, 64649, 39464, 28539, 36736, 17429, 18505, - 47968, 8997, 5367, 11278, 15762, 49201, 27725, 40872, 6749, 20917, 65363, - 52373, 55711, 26513, 24831, 47680, 20765, 6527, 46435, 25733, 24390, 60748, - 5459, 24758, 16969, 36561, 2829, 43569, 19169, 42499, 18077, 9828, 37828, - 55781, 33540, 31670, 25721, 64314, 47955, 36728, 29279, 44298, 49585, 32103, - 33404, 38633, 28831, 1002, 55548, 4295, 21202, 51081, 60470, 47398, 34644, - 41037, 19359, 42690, 61865, 38745, 8373, 12662, 63677, 44747, 20729, 38916, - 4625, 30786, 9785, 55645, 3578, 31271, 51958, 42699, 40560, 38272, 11746, - 31227, 52597, 1107, 49585, 6466, 24405, 11112, 22526, 52384, 10598, 63891, - 28437, 61450, 49464, 14070, 8558, 29331, 31241, 28094, 29861, 51526, 42197, - 38738, 48432, 32715, 19778, 51040, 23971, 30532, 10477, 23001, 33618, 38556, - 368, 45725, 48444, 33735, 260, 28487, 21771, 17373, 26994, 18729, 16045, 19632, - 2879, 3659, 4333, 4691, 60823, 64568, 36164, 36938, 41995, 738, 44671, 36895, - 48146, 25920, 43925, 11155, 26582, 58657, 35210, 22280, 4692, 30636, 58529, - 40583, 46503, 32367, 31444, 35553, 32327, 57254, 39017, 65293, 25680, 26718, - 28711, 45709, 36275, 4101, 20048, 46338, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ])) .unwrap(), - c: 16, + c: 0, }, VarTestStruct { - a: 5786, + a: 0, b: List::::try_from(Vec::::from_iter([ - 58401, 46485, 1237, 17074, 22530, 22611, 52257, 13923, 55377, 33883, 6392, - 10995, 64467, 28395, 59341, 42377, 47079, 50632, 56161, 38321, 13454, 737, - 18405, 25244, 6408, 50506, 46780, 45005, 60788, 11519, 59926, 37052, 17052, - 50107, 2696, 20579, 34739, 27507, 42827, 54510, 16336, 27825, 44546, 52107, - 31783, 3170, 40647, 44638, 62135, 2238, 34650, 35468, 64379, 26663, 47443, - 40926, 54118, 4767, 63106, 58786, 53068, 2680, 62513, 23403, 6838, 63133, - 35601, 23714, 24163, 12017, 3115, 37840, 27516, 21100, 51461, 20195, 4079, - 43847, 58071, 20340, 29931, 34663, 27531, 47937, 49931, 53811, 3156, 16832, - 5192, 1208, 15984, 38414, 26709, 38697, 37723, 43504, 63825, 37628, 27949, - 28649, 30779, 26741, 7999, 47204, 23496, 46556, 11988, 37012, 44527, 41037, - 2995, 25969, 13513, 32940, 15656, 7241, 10182, 35917, 62152, 2350, 5252, 1376, - 33410, 32216, 55911, 41632, 48038, 43026, 17463, 25043, 25691, 54863, 4124, - 9207, 23127, 1496, 24270, 39146, 17457, 33010, 35796, 16125, 14818, 31247, - 9582, 37167, 60345, 27423, 31850, 24419, 134, 30137, 42526, 5533, 61911, 43742, - 3151, 3568, 59927, 54767, 682, 14363, 13064, 10753, 23819, 24559, 10599, 50147, - 22424, 27225, 35495, 46984, 1547, 51606, 26797, 6944, 48977, 21383, 36682, - 17257, 58524, 37537, 6292, 13237, 11388, 25438, 1028, 19428, 33685, 1673, - 22162, 51289, 29338, 5324, 19239, 28996, 27978, 11495, 37322, 61214, 60518, - 53692, 16162, 12007, 65394, 51581, 25195, 64768, 38120, 53233, 11522, 3270, - 50521, 58336, 41072, 3369, 8807, 41699, 61695, 14649, 35360, 32608, 27106, - 54000, 42333, 29146, 42069, 26012, 45646, 7677, 7521, 4859, 7316, 40522, 28403, - 5648, 23517, 49669, 56245, 60873, 62433, 24602, 41910, 16340, 13351, 56608, - 42398, 34357, 25422, 52636, 25170, 417, 7256, 33991, 18427, 43635, 3645, 4757, - 36971, 48577, 19203, 30254, 57154, 13776, 15859, 24590, 25663, 16398, 10713, - 23710, 64463, 823, 60595, 52016, 6003, 1742, 44991, 13081, 9523, 29960, 8780, - 56274, 18449, 22438, 18441, 28444, 17105, 48310, 16396, 64228, 7447, 10484, - 29183, 13342, 11614, 60915, 17828, 64706, 48130, 16611, 19641, 51069, 26638, - 53977, 62047, 39282, 18482, 28789, 27542, 23231, 32929, 53047, 3158, 11554, - 5914, 4712, 6191, 56695, 64901, 31029, 61644, 35931, 35065, 15166, 33621, - 55023, 29535, 58116, 59766, 59912, 7073, 1628, 3989, 3011, 52377, 39337, 23248, - 56146, 42298, 8311, 48064, 39448, 33221, 56886, 37886, 23117, 41820, 18514, - 43084, 57571, 42801, 64705, 23064, 38965, 52318, 15321, 32045, 18007, 43595, - 33995, 18948, 16935, 28610, 811, 38382, 40453, 51553, 14549, 6674, 7525, 48768, - 20325, 22874, 49898, 50363, 458, 50296, 50416, 53963, 42730, 55707, 8585, - 38755, 44274, 25992, 45332, 32627, 27195, 52705, 43169, 62862, 2972, 1050, - 40036, 31973, 9792, 31252, 54336, 7102, 23920, 7027, 52957, 63020, 39772, - 50605, 33707, 5270, 23862, 5273, 51305, 20562, 57447, 58369, 402, 52219, 23276, - 13863, 55540, 57393, 41053, 37607, 19528, 24279, 61043, 60296, 54127, 22746, - 1713, 35477, 20111, 41429, 43200, 10211, 29437, 25420, 48882, 28090, 47058, - 41612, 46742, 60292, 51491, 18475, 12454, 41278, 34394, 35323, 7648, 45614, - 52661, 58889, 12312, 52815, 34354, 31618, 41895, 52112, 11397, 22636, 33519, - 8166, 26272, 27852, 7876, 15946, 24185, 16149, 14805, 10308, 53518, 43399, - 55444, 27086, 61285, 3111, 41737, 59330, 22950, 23836, 31082, 17731, 55202, - 16137, 9192, 23698, 27560, 21070, 52076, 40505, 2615, 20270, 58800, 38554, - 44240, 20352, 40128, 36570, 36835, 39643, 39620, 39216, 25109, 14784, 41444, - 21193, 2972, 40059, 37257, 34406, 21516, 62734, 62599, 28427, 11962, 6871, - 54057, 16425, 58340, 19192, 49631, 60946, 40881, 10275, 57394, 55867, 48517, - 3039, 13460, 13023, 31371, 14375, 25356, 17889, 45250, 30112, 62648, 50622, - 35391, 32286, 47361, 48922, 55549, 28726, 3354, 3938, 19604, 61518, 34189, - 60661, 29150, 58155, 21608, 43699, 19276, 42091, 1189, 14131, 51064, 26034, - 60731, 15708, 58057, 46961, 15862, 45035, 29246, 32967, 23824, 42076, 10941, - 55553, 24091, 34266, 27166, 9670, 28724, 2123, 45544, 4942, 48500, 62629, - 34812, 54384, 11617, 11998, 60805, 13302, 12031, 12370, 35054, 6548, 49073, - 37233, 47261, 55086, 50590, 22249, 42645, 49534, 31196, 37595, 46103, 6203, - 31106, 7245, 26489, 17844, 23990, 24621, 29538, 33754, 37518, 35762, 8991, - 11419, 53207, 46282, 1284, 35509, 20114, 36689, 58613, 5696, 3422, 22642, - 57131, 19932, 33128, 41379, 28053, 61073, 11967, 57209, 34679, 62326, 10918, - 21904, 14194, 2225, 56977, 30220, 10115, 63881, 43814, 7710, 8799, 11829, - 22807, 4803, 25657, 3377, 1723, 12016, 40135, 5296, 50273, 242, 34377, 10341, - 18796, 46874, 38375, 379, 18617, 15855, 5454, 44998, 35204, 62618, 62286, - 44038, 65183, 39086, 40888, 34380, 28185, 61001, 57044, 47519, 29272, 25401, - 3437, 47316, 54541, 2763, 32002, 60732, 9661, 6789, 62114, 59548, 23666, 7161, - 44235, 41607, 36493, 27855, 34088, 17140, 30747, 31103, 59305, 29223, 33655, - 21726, 36754, 8307, 40703, 51135, 15813, 20880, 6404, 32667, 8425, 59519, - 18332, 18948, 25627, 45792, 58338, 33954, 33594, 23873, 13799, 31970, 46032, - 33780, 18976, 4855, 18039, 22501, 22406, 64332, 11578, 60200, 4796, 20627, - 5198, 9665, 21927, 58535, 15766, 41385, 6075, 59241, 552, 14657, 32652, 16013, - 16029, 10856, 34036, 29905, 53576, 15550, 64833, 53891, 59673, 13528, 53561, - 18531, 49798, 32272, 36758, 44806, 47467, 61081, 43536, 8198, 4170, 58183, - 34343, 38198, 42480, 37755, 18937, 58967, 3199, 24466, 27268, 48745, 52115, - 52721, 34639, 51648, 53110, 43853, 64855, 64729, 10939, 58916, 5459, 5033, - 52767, 36858, 18914, 61433, 9316, 7380, 27525, 15665, 57200, 43569, 18467, - 17025, 37654, 62171, 39351, 39862, 38001, 62430, 23042, 28186, 58116, 10544, - 20580, 28645, 49998, 33692, 47575, 38594, 23800, 40033, 20470, 42262, 19159, - 54426, 5745, 25626, 46213, 24322, 11728, 15439, 50694, 40192, 17666, 24334, - 2874, 19884, 17855, 8428, 48459, 63581, 39729, 23958, 32635, 52995, 17374, - 34609, 61448, 44243, 29247, 8962, 363, 35829, 61652, 58399, 27113, 44842, - 28927, 59727, 45899, 9383, 33402, 59459, 63526, 20264, 49109, 42427, 20724, - 19122, 22984, 15652, 49295, 11231, 9470, 11575, 51400, 19845, 52295, 6438, - 13057, 18674, 647, 40418, 9938, 30171, 58704, 6455, 27941, 63398, 61967, 63456, - 38324, 31057, 36752, 43326, 8609, 37027, 2575, 29213, 61093, 45116, 44805, - 39165, 61302, 31229, 43180, 54284, 1557, 2608, 53008, 61009, 53177, 4301, 3693, - 9319, 44616, 49357, 39931, 47370, 54760, 51922, 20368, 20896, 50774, 52674, - 56214, 24732, 26686, 14896, 27795, 11325, 7210, 53181, 7999, 43370, 16462, - 32422, 21029, 48630, 37161, 53799, 52386, 8978, 10691, 30417, 24351, 42183, - 7800, 64842, 26405, 58252, 51219, 52176, 26003, 11120, 17181, 23312, 36368, - 32038, 435, 1151, 33909, 46525, 21177, 49468, 54791, 1893, 37380, 31101, 61726, - 29669, 35878, 48004, 25201, 12677, 7559, 6537, 15745, 18667, 11748, 37462, - 45069, 62519, 36700, 31561, 38448, 60654, 55431, 40503, 34122, 20712, 42695, - 39392, 61526, 55581, 49397, 62572, 30724, 29040, 62494, 12425, 25717, 51809, - 39771, 65479, 2580, 6646, 65271, 34779, 25945, 28351, 2503, 38629, 36565, 6771, - 11388, 20433, 37634, 23150, 18954, 23982, 54839, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ])) .unwrap(), - c: 234, + c: 0, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_5/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_chaos_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -18057,379 +15437,2104 @@ fn test_containers_complex_test_struct_lengthy_5() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("71f26676fcb2b61cf22eaea122ab77a053ed19309f5af3ba56dc94d33c540b55"); + root_from_hex("0x4bad3b50403828f333928bf4d286a44e7852ffa5ac91a099da5c73fb57c2c3e6"); assert_eq!(root, expected_root); } #[test] -fn test_containers_fixed_test_struct_random_0() { - let mut value = FixedTestStruct { a: 170, b: 13097433917148758497, c: 2823316065 }; +fn test_containers_complex_test_struct_zero_chaos_1() { + let mut value = ComplexTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + d: List::::try_from(Vec::::from_iter([0])).unwrap(), + e: VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + f: Vector::::try_from(vec![ + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + ]) + .unwrap(), + g: Vector::::try_from(vec![ + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }, + ]) + .unwrap(), + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_0/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_chaos_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("2b7d29235dcbef1517899cd47118beea7d81b46244cff605724676cd50f898ec"); + root_from_hex("0x7234feb3b046a7cb785b398a7145a7dffd8e03e18ad7106a8b7b2c44d81f7e07"); assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_complex_test_struct_lengthy_2() { - let mut value = ComplexTestStruct { - a: 19676, - b: List::::try_from(Vec::::from_iter([ - 26413, 56542, 62484, 27880, 9216, 53288, 53725, 51556, 51435, 17912, 31404, 48683, - 33123, 61838, 1290, 60253, 18212, 19066, 22623, 35525, 52094, 61005, 59784, 56842, - 32175, 7885, 62936, 21332, 21770, 9195, 7805, 35630, 48637, 13597, 38661, 40160, 42542, - 48532, 41715, 10860, 51049, 17867, 31701, 2019, 46591, 41282, 7622, 58267, 31787, - 58251, 31679, 6073, 56572, 37203, 65005, 61107, 29171, 25613, 49256, 7010, 16229, 6480, - 20904, 44320, 59873, 27134, 32263, 64979, 47467, 25750, 56609, 3786, 42479, 56432, - 52170, 62116, 56790, 9514, 47938, 1530, 45757, 42352, 31243, 62414, 10351, 8443, 17162, - 9168, 25591, 28451, 55483, 50427, 7090, 17128, 65191, 65432, 24944, 11250, 34195, - 53137, 31394, 8738, 7746, 57081, 57139, 16781, 3994, 17450, 24102, 4432, 51774, 11493, - 35094, 21841, 38181, 25375, 136, 46838, 22556, 9260, 28470, 40259, 23751, 6625, 54019, - 47625, 38295, 17613, - ])) - .unwrap(), - c: 15, - d: List::::try_from(Vec::::from_iter([ - 151, 152, 29, 69, 80, 41, 67, 175, 120, 66, 59, 63, 115, 49, 250, 222, 117, 183, 101, - 67, 76, 73, 231, 116, 31, 225, 161, 117, 253, 175, 37, 147, 151, 117, 179, 122, 171, - 96, 75, 236, 96, 167, 130, 224, 45, 93, 37, 118, 186, 216, 189, 38, 250, 110, 40, 214, - 162, 3, 186, 152, 142, 229, 207, 180, 99, 211, 50, 72, 225, 141, 147, 218, 105, 121, - 141, 17, 71, 50, 151, 82, 220, 160, 121, 116, 6, 131, 58, 79, 38, 124, 5, 139, 83, 113, - 49, 221, 13, 24, 154, 216, 104, 142, 215, 205, 0, 194, 192, 53, 124, 204, 2, 223, 123, - 134, 176, 208, 128, 109, 33, 96, 51, 28, 105, 42, 203, 234, 26, 200, 65, 185, 4, 14, - 148, 228, 163, 192, 3, 8, 116, 196, 92, 230, 249, 25, 206, 143, 115, 221, 130, 190, - 158, 172, 183, 27, 167, 22, 201, 202, 46, 226, 102, 64, 40, 56, 143, 194, 187, 77, 42, - 1, 243, 221, 23, 223, 116, 192, 208, 16, 153, 155, 84, 17, 7, 44, 0, 58, 88, 98, 156, - 176, 19, 104, 254, 83, 162, 104, 47, 120, 205, 107, 75, 104, 15, 216, 83, 90, 222, 4, - 237, 144, 10, 4, 56, 40, 141, 66, 86, 19, 55, 8, 60, 9, 201, 211, 232, 94, 50, 71, 212, - 150, 30, 188, 224, 243, 253, 127, 2, 101, 25, 12, 215, 73, 108, 121, 54, 63, 85, 7, - 187, 249, 65, 38, 149, 84, 67, 36, - ])) - .unwrap(), - e: VarTestStruct { - a: 19519, - b: List::::try_from(Vec::::from_iter([ - 20798, 29153, 62527, 57404, 59149, 38345, 17377, 7756, 26700, 50648, 28781, 45131, - 32930, 57741, 43440, 8279, 36252, 37564, 5208, 63939, 60381, 54898, 5309, 52263, - 8129, 63687, 24607, 17421, 13842, 65168, 19878, 1858, 42771, 29529, 42864, 11393, - 15706, 34579, 23468, 37365, 15917, 35315, 1039, 50221, 49116, 19666, 17491, 33456, - 27535, 25279, 6040, 2974, 35728, 59398, 18067, 57671, 30359, 1279, 4801, 20771, - 45797, 28857, 5252, 54858, 28178, 53541, 6483, 17460, 45524, 60672, 22366, 25959, - 63080, 37761, 13157, 12306, 47574, 64645, 4138, 52150, 13628, 19250, 45888, 54392, - 31167, 22285, 56850, 30840, 61885, 64282, 45213, 44748, 59400, 12776, 31636, 26342, - 36730, 36995, 26535, 42256, 58072, 65042, 20560, 51142, 62813, 41111, 9856, 44170, - 5629, 29501, 11194, 64090, 23690, 51963, 23752, 10063, 42341, 57801, 58361, 3974, - 6778, 8075, 4263, 35238, 44872, 5996, 62445, 50720, 38624, 52918, 54442, 42956, - 60307, 33172, 40762, 46561, 4803, 30747, 28606, 3259, 33706, 26518, 64760, 40995, - 19221, 51507, 42866, 39308, 59499, 8550, 3501, 59079, 43594, 25643, 19947, 27205, - 11366, 29125, 62724, 49540, 14575, 49130, 41293, 45754, 2593, 43911, 28199, 46967, - 13690, 128, 56574, 30353, 55218, 27334, 44225, 28715, 32027, 33933, 17110, 16185, - 14175, 11600, 39541, 22562, 63805, 47371, 59965, 14154, 35466, 37862, 7783, 23104, - 26057, 17513, 22096, 56784, 15282, 34865, 26377, 22345, 61094, 23560, 58113, 64253, - 34386, 14056, 28038, 60273, 58279, 33361, 23282, 62758, 46715, 37820, 49065, 4072, - 30225, 17466, 47234, 23533, 12364, 6453, 58816, 52174, 46690, 5321, 19303, 7749, - 3652, 63511, 60603, 64940, 30672, 30049, 24206, 39099, 39708, 9551, 57465, 12486, - 37971, 2722, 58710, 29152, 11632, 33935, 18594, 27746, 524, 56186, 52095, 20598, - 20948, 64939, 39846, 4046, 43098, 16699, 26780, 13021, 57850, 17594, 2902, 42234, - 10096, 51038, 24491, 42798, 39050, 33178, 3795, 61109, 6289, 29153, 30631, 12871, - 56189, 40721, 54409, 46929, 37928, 24388, 6138, 18268, 60340, 1020, 4267, 17706, - 2984, 46085, 3568, 12060, 4516, 32844, 14324, 25010, 33015, 20733, 3647, 58241, - 22789, 30585, 60174, 5701, 55100, 17339, 57989, 41438, 60587, 42644, 28634, 2146, - 41528, 27878, 63510, 54911, 46698, 21411, 3549, 42211, 48291, 55801, 9288, 6404, - 8050, 3706, 21759, 27008, 37877, 58249, 24624, 28989, 38421, 54133, 62608, 58919, - 59370, 22689, 56918, 30475, 58237, 38150, 36557, 49075, 14190, 41574, 3756, 49402, - 14250, 40421, 12817, 54486, 53758, 14807, 23899, 1031, 47234, 64920, 36182, 10500, - 10906, 2863, 14281, 41140, 5265, 31220, 21594, 34882, 59934, 28266, 50466, 55863, - 57439, 12983, 63812, 1051, 29540, 32431, 19262, 5650, 2474, 64776, 18895, 18759, - 463, 41774, 37362, 52770, 7312, 52378, 62824, 16225, 31669, 37442, 50582, 48083, - 44933, 27248, 42355, 28497, 21264, 18949, 29041, 64160, 28698, 51852, 25447, 747, - 47595, 50861, 22321, 2852, 6582, 10172, 22904, 4731, 59182, 32998, 58336, 57976, - 42328, 56546, 54836, 18747, 4870, 34629, 42546, 48559, 62857, 46203, 40692, 47706, - 20454, 5222, 48513, 51517, 38905, 39214, 30407, 40949, 20472, 30658, 37950, 36009, - 2582, 6150, 25913, 49253, 844, 30268, 27711, 53510, 4524, 34285, 89, 20492, 27551, - 4826, 32988, 24654, 52156, 15569, 30564, 46562, 18159, 60749, 45434, 30378, 15968, - 26452, 59692, 46293, 32919, 3195, 26325, 6677, 45393, 32471, 56038, 61887, 12188, - 55736, 56502, 35329, 7467, 30417, 23918, 54111, 27848, 30097, 26246, 10823, 19853, - 1118, 52854, 62207, 24551, 53341, 35094, 50662, 2692, 24818, 47711, 47963, 42031, - 46393, 55712, 50999, 21916, 37197, 25414, 63358, 26389, 35160, 3811, 54186, 31372, - 7782, 17, 2, 49649, 30682, 60522, 63996, 56089, 10402, 7126, 36204, 15138, 29777, - 35238, 59530, 25916, 21734, 51222, 23791, 13328, 62760, 18453, 33939, 27654, 22132, - 28439, 62125, 23056, 3503, 35113, 58901, 43507, 31325, 8086, 37140, 13998, 38397, - 17425, 40952, 63628, 33162, 33190, 26738, 2059, 15287, 41418, 1760, 34439, 44519, - 28679, 44416, 14582, 9634, 64661, 24711, 30320, 6032, 17246, 18286, 583, 37800, - 53076, 22526, 14444, 5654, 38638, 22240, 26999, 10341, 44110, 26808, 46713, 31537, - 39362, 49464, 15592, 2818, 43811, 37389, 47716, 45338, 62139, 3467, 23761, 14847, - 45142, 61750, 51915, 20717, 28571, 24132, 39147, 62367, 8601, 44803, 30529, 37444, - 24612, 4383, 59721, 19769, 15862, 53502, 10166, 51091, 43835, 23410, 16300, 12234, - 44239, 47326, 11940, 14243, 16813, 44997, 905, 4311, 14565, 10777, 26999, 24006, - 44826, 13852, 63424, 6435, 33882, 38204, 47001, 47228, 42748, 14123, 38063, 45494, - 9048, 58504, 49191, 58272, 65288, 34356, 20310, 1096, 43487, 26981, 34781, 10884, - 12591, 46566, 33247, 57523, 62067, 16372, 51245, 16659, 48799, 50997, 11639, 50385, - 52295, 25613, 60088, 45027, 21565, 13785, 9934, 52403, 1031, 26208, 35286, 37069, - 10416, 31837, 9100, 23649, 22041, 44966, 57212, 42651, 616, 34298, 57389, 11364, - 57937, 50891, 62289, 39256, 6471, 43676, 56015, 28909, 48610, 35485, 27459, 60524, - 31389, 37483, 946, 18891, 60620, 57312, 64781, 41189, 13866, 17651, 41603, 9138, - 56075, 39404, 27770, 55952, 39915, 3535, 48247, 23780, 63581, 43465, 32768, 29069, - 16714, 23234, 35139, 52046, 38655, 7214, 24518, 46258, 37513, 8643, 43857, 34050, - 57874, 32413, 54271, 255, 40214, 46403, 61869, 52427, 35307, 43630, 53350, 16806, - 30060, 5507, 34411, 55262, 63740, 1620, 61428, 46451, 24275, 39607, 27373, 56950, - 17091, 25410, 54930, 51160, 43265, 50312, 58764, 28353, 30414, 42823, 26209, 558, - 39348, 14319, 3579, 39552, 8894, 25834, 29254, 37726, 35495, 30190, 33633, 40879, - 12534, 18682, 35486, 10021, 42363, 1489, 50909, 13476, 54486, 60521, 16850, 25558, - 28171, 23070, 62891, 41398, 2624, 6454, 4896, 40664, 50773, 62881, 12691, 13915, - 59683, 49061, 56004, 29080, 62513, 23420, 51896, 19666, 11834, 16031, 17941, 21237, - 9166, 9254, 26531, 31722, 17443, 43712, 32185, 48928, 49089, 20900, 64695, 6017, - 50188, 55871, 31981, 50142, 3781, 50237, 13880, 53963, 33997, 25307, 8678, 4915, - 44620, 52207, 33301, 24022, 9192, 43901, 19653, 65347, 19136, 40337, 37673, 51610, - 31268, 32487, 42543, 39386, 15420, 2018, 58131, 14030, 50965, 11831, 26517, 39770, - 6043, 488, 52917, 32617, 25604, 38812, 43514, 60341, 63104, 26534, 15808, 65348, - 40034, 40469, 49837, 17947, 407, 8858, 51172, 54732, 33683, 50106, 59568, 11439, - 4293, 44948, 54941, 10143, 52682, 53376, 6801, 12016, 13393, 39632, 27498, 17538, - 48074, 12175, 25534, 27032, 7919, 54668, 64552, 40567, 58083, 63472, 6978, 48047, - 50623, 43151, 13066, 49267, 11539, 50315, 13682, 40922, 12444, 4787, 21455, 20345, - 17198, 5619, 10161, 45780, 2953, 44866, 8575, 55649, 44192, 3698, 43054, 42891, - 56756, 5667, 3974, 9085, 46087, 45346, 50513, 59212, 20109, 37412, 49030, 25962, - 45118, 8171, 24605, 49088, 54380, 15914, 1375, 16456, 49886, 15957, 6016, 63391, - 41087, 2422, 58877, 16802, 17832, 27030, 14994, 55542, 10568, 33778, 18647, 11121, - 9701, 21494, 2557, 18911, 15539, 22941, 30799, 3325, 55880, 61667, 41852, 23849, - 53127, 24570, 1351, 60041, 10141, 50733, 22585, 27020, 46768, 64587, 30330, 3614, - 38867, 4302, 56844, 2577, 9720, 31358, 57238, 4606, 62412, 10047, 32468, 54981, - 28023, 18157, +} + +#[test] +fn test_containers_complex_test_struct_zero_chaos_2() { + let mut value = ComplexTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + d: List::::try_from(Vec::::from_iter([0])).unwrap(), + e: VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ])) .unwrap(), - c: 253, + c: 0, }, f: Vector::::try_from(vec![ - FixedTestStruct { a: 172, b: 7406654203415557862, c: 4220772448 }, - FixedTestStruct { a: 98, b: 7652742876362695881, c: 3808688629 }, - FixedTestStruct { a: 176, b: 1379592184773335083, c: 2839628004 }, - FixedTestStruct { a: 164, b: 4672589617281835669, c: 3697546643 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, + FixedTestStruct { a: 0, b: 0, c: 0 }, ]) .unwrap(), g: Vector::::try_from(vec![ VarTestStruct { - a: 32854, - b: List::::try_from(Vec::::from_iter([ - 26507, 48422, 10627, 29169, 6446, 63993, 29607, 17606, 16566, 27942, 63995, - 63417, 58237, 52524, 3333, 5102, 37152, 65190, 10663, 41459, 53369, 39569, - 18584, 27659, 53416, 37837, 25086, 58064, 31649, 17763, 3396, 54905, 34611, - 20866, 64140, 46689, 53791, 1137, 49862, 18292, 44253, 44050, 25979, 406, - 20029, 20694, 26274, 61652, 21091, 55632, 64111, 52494, 43427, 3712, 50940, - 65463, 52834, 35987, 18388, 39873, 56148, 49608, 8532, 64748, 56679, 45007, - 20571, 51383, 61726, 50158, 26505, 28733, 43786, 45186, 23861, 49224, 59431, - 31716, 37515, 40335, 52941, 46116, 33698, 7884, 11050, 33546, 36591, 36962, - 12549, 38231, 56875, 31442, 37618, 34672, 15412, 13720, 3016, 12299, 4930, - 57275, 63508, 46848, 5326, 12589, 18657, 62221, 37019, 8764, 26394, 30050, - 61117, 13363, 41457, 13275, 42542, 29240, 17167, 50306, 27996, 13591, 17071, - 57553, 56530, 51034, 7810, 44394, 56792, 48389, 17918, 39711, 5085, 25509, - 50031, 29699, 42450, 26288, 7656, 17722, 34316, 32572, 24669, 18096, 33207, - 45840, 57115, 49857, 59357, 28674, 26313, 35968, 35418, 40944, 16595, 18338, - 31489, 20166, 61043, 6199, 29795, 7588, 17859, 23684, 55875, 10913, 37372, - 30723, 48260, 64447, 44321, 11831, 35885, 41808, 59229, 11614, 7554, 27582, - 52300, 65254, 49980, 26949, 43408, 45087, 23346, 24958, 46693, 60135, 28060, - 49947, 22153, 17323, 15333, 59956, 7017, 505, 41094, 62466, 14526, 27697, - 16725, 8821, 43713, 54352, 49413, 35154, 9214, 3769, 11913, 2747, 48076, 32311, - 57064, 65290, 23706, 9495, 16192, 311, 34710, 18431, 31390, 25615, 36572, - 13379, 60284, 41856, 52530, 19334, 63275, 63009, 46845, 57819, 52231, 12531, - 1471, 25073, 9608, 15735, 41688, 57166, 49609, 10827, 7244, 14941, 12337, 2535, - 54968, 14097, 52512, 47153, 38056, 60834, 3738, 31880, 62897, 14207, 27125, - 64818, 42132, 48068, 26414, 52202, 51688, 44695, 23672, 61828, 4993, 38674, - 63872, 62369, 65238, 4278, 23662, 1587, 33942, 26622, 18309, 12139, 62098, - 45526, 47620, 47510, 47648, 55699, 6756, 37166, 24645, 12294, 61748, 62913, - 48814, 13757, 36393, 40326, 60081, 46877, 53598, 31510, 14216, 56709, 25173, - 24054, 11241, 34805, 14939, 45318, 15005, 33910, 23172, 23541, 6722, 25228, - 21040, 4128, 47858, 6398, 65515, 57347, 22974, 46076, 41603, 62305, 11053, - 1958, 52673, 26895, 37063, 37075, 51018, 59505, 21786, 14892, 8598, 9763, - 10612, 34613, 5831, 17815, 56294, 43458, 60070, 47169, 46953, 42329, 15167, - 56010, 39864, 28821, 5402, 49806, 56387, 13515, 7959, 55679, 35600, 20180, - 14241, 15092, 17777, 38408, 9689, 49563, 61733, 21774, 59498, 5199, 65343, - 19767, 33822, 52102, 48201, 1214, 48245, 57406, 45784, 43234, 29155, 24671, - 62140, 35738, 37761, 11992, 44573, 61412, 25120, 44098, 14435, 6317, 46199, - 20433, 60928, 39951, 56522, 47553, 36661, 26335, 47889, 46241, 46839, 54791, - 40258, 21701, 33364, 52695, 5524, 55784, 65280, 9304, 1583, 10617, 50650, - 10298, 28255, 38718, 43806, 20584, 57597, 12914, 18306, 64223, 11696, 5001, - 11921, 41565, 48941, 4027, 1243, 56663, 55705, 45631, 20350, 17947, 37334, - 20368, 53780, 33359, 7597, 53298, 13702, 23313, 50758, 58502, 45816, 21483, - 59579, 3171, 57776, 63494, 31754, 50330, 18094, 1570, 62169, 7059, 59257, - 57595, 38785, 21296, 19137, 51211, 34461, 48566, 15098, 27215, 13206, 23458, - 23355, 19405, 48222, 62493, 22118, 34253, 33046, 35146, 58530, 57435, 21466, - 52424, 54263, 16425, 27190, 64972, 41504, 25748, 11293, 58037, 52741, 2452, - 17569, 30260, 11102, 64123, 38339, 10343, 35629, 27300, 29278, 55864, 17900, - 57317, 32059, 63982, 48620, 47514, 13370, 33392, 4845, 47787, 65321, 32296, - 38838, 7434, 57603, 30364, 29375, 24270, 19634, 45997, 19426, 40450, 4015, - 2626, 56767, 51612, 39661, 20817, 1469, 62360, 9679, 3213, 38191, 58951, 50492, - 12876, 36677, 13479, 38450, 47662, 60462, 9046, 19037, 13894, 49280, 12657, - 64943, 43031, 61736, 13795, 27539, 38770, 7707, 40188, 15734, 1394, 3473, - 16798, 49516, 8051, 11495, 7165, 24404, 16009, 56827, 38391, 17531, 53896, - 28486, 17460, 19964, 52653, 907, 51467, 43860, 29853, 55599, 34029, 22829, - 60945, 64134, 56395, 57415, 13146, 62535, 38032, 40972, 41966, 21583, 10533, - 49737, 45393, 1032, 63400, 15806, 16205, 35138, 52054, 25568, 64086, 10308, - 14700, 17553, 33957, 63147, 62695, 41181, 42271, 42613, 16745, 33182, 34975, - 54560, 2704, 10147, 22176, 1294, 18795, 50382, 61651, 27039, 26995, 13486, - 37715, 62196, 52243, 16957, 50161, 16987, 45627, 18728, 25465, 34215, 13034, - 5139, 21227, 50974, 23207, 3084, 26695, 5188, 19939, 58256, 47256, 11471, - 58272, 18549, 51076, 48573, 28962, 49127, 34538, 12134, 40091, 41610, 24385, - 5821, 3842, 62086, 18276, 49386, 11581, 41258, 51208, 56067, 11804, 48110, - 10568, 33485, 36161, 8918, 11760, 7118, 47097, 8453, 16544, 29562, 51912, - 40447, 39436, 56132, 53128, 39577, 7816, 29356, 29137, 54158, 45465, 61741, - 31973, 17080, 29430, 7509, 25104, 3591, 54620, 58867, 30447, 44799, 54720, - 6778, 59153, 63233, 41576, 44759, 1212, 53078, 40236, 35730, 5023, 56426, - 28649, 44883, 36214, 22381, 57952, 15985, 21869, 49091, 53022, 61156, 55456, - 42613, 1078, 59570, 49937, 23719, 17322, 26209, 40501, 63870, 65018, 61557, - 12136, 55102, 11702, 2744, 16788, 58348, 60259, 13155, 29305, 56936, 7875, - 1825, 65226, 21406, 20257, 50455, 55641, 51101, 59784, 13279, 3430, 18419, - 39607, 24309, 27460, 21028, 41757, 30333, 2095, 50663, 18754, 46840, 40084, - 59542, 32802, 20103, 47436, 46836, 9237, 19538, 46237, 15302, 40493, 37090, - 33837, 5239, 38971, 50129, 59526, 35006, 10664, 39159, 49496, 30933, 52891, - 18130, 51672, 43138, 15507, 22577, 28699, 31151, 16842, 45842, 33464, 52615, - 46330, 33970, 24419, 43826, 23803, 49499, 64047, 5113, 48767, 33091, 44813, - 64755, 52203, 50382, 36916, 46843, 57332, 8913, 22423, 22918, 3032, 53822, - 46644, 21669, 21216, 39833, 18569, 24129, 1312, 42002, 42179, 27439, 54534, - 5758, 22004, 30527, 53644, 24184, 6382, 65408, 42197, 51445, 24012, 16574, - 60826, 6187, 38347, 13959, 50639, 22909, 29759, 63201, 11719, 46892, 44074, - 54843, 15525, 21247, 32702, 7092, 40955, 8421, 32263, 50903, 31855, 25958, - 50720, 65071, 30527, 35181, 61543, 26037, 63626, 31894, 42497, 61624, 6956, - 34599, 32638, 25406, 34748, 60615, 16967, 33038, 26771, 62948, 7422, 64665, - 15869, 45084, 41882, 33241, 7666, 33610, 28367, 33533, 62058, 17399, 25698, - 41344, 34293, 60002, 30814, 15283, 35153, 36202, 16536, 34986, 49864, 21876, - 15577, 21716, 15211, 61025, 36808, 5063, 35558, 45043, 45091, 21585, 7852, - 40787, 32445, 9705, 18715, 21405, 11921, 7453, 43504, 61949, 23408, 23460, - 46146, 59434, 46065, 54687, 26566, 63556, 50216, 25742, 31014, 26483, 19333, - 21594, 16431, 28487, 52521, 64609, 44808, 9820, 10835, 55718, 41191, 30978, - 51268, 29485, 41860, 5534, 18380, 22740, 46906, 38284, 64205, 21121, 61078, - 39715, 11540, 35707, 62472, 62143, 19896, 57470, 18718, 31837, 20115, 17827, - 59244, 43517, 13719, 5809, 62160, 29685, 30199, 28926, 32513, 53170, 32852, - 30618, 24026, 40, 48834, 21482, 19841, 13556, 32774, 48107, 6912, 14095, 3062, - 10378, 39465, 12976, 7651, 3522, 53028, 45197, 50341, 2073, 8573, 54283, 61462, - 57398, 23815, 30329, 46579, 56128, 39100, 33564, 815, 43447, 52064, 15267, - 51971, 65051, 30016, 22478, 6546, 31595, 16918, - ])) - .unwrap(), - c: 204, - }, - VarTestStruct { - a: 22202, + a: 0, b: List::::try_from(Vec::::from_iter([ - 20246, 15055, 42502, 17093, 55470, 65382, 38783, 25117, 52741, 20844, 55981, - 61541, 57285, 24724, 32960, 26906, 20432, 18098, 12644, 14495, 52894, 62384, - 41162, 23278, 37046, 6847, 6811, 21813, 11865, 29132, 56418, 51428, 14060, - 5849, 40683, 25684, 37083, 2209, 23067, 19913, 18582, 29790, 10296, 40798, - 21585, 9532, 51407, 45356, 25784, 32401, 8411, 25163, 19970, 46427, 5912, - 54636, 5503, 50484, 29766, 4652, 4232, 42313, 43225, 20135, 37414, 43785, - 27329, 53535, 36312, 55899, 34510, 11308, 51193, 5000, 14350, 29162, 34372, - 12932, 37561, 22265, 51435, 26689, 5212, 56792, 6405, 10493, 44608, 56229, - 1143, 17678, 8681, 2146, 17300, 43185, 31939, 47526, 14271, 30259, 39079, - 19131, 41160, 47093, 48564, 54952, 57814, 30298, 5158, 58994, 12404, 64159, - 39839, 44774, 60421, 45719, 16534, 31994, 26177, 25643, 41311, 17500, 22584, - 24019, 63656, 39979, 61170, 5466, 46037, 61650, 16087, 55345, 15192, 37443, - 38944, 44890, 17088, 4385, 12797, 41735, 34413, 12319, 53123, 16600, 22287, - 33981, 53530, 8688, 45145, 28792, 38541, 55976, 41511, 12411, 6189, 17030, - 27123, 41827, 51313, 63481, 34280, 59869, 10146, 41698, 57931, 62666, 7032, - 38169, 2061, 35795, 854, 14288, 34132, 3241, 50525, 38911, 4260, 2450, 24186, - 63440, 26815, 5578, 58081, 64451, 26969, 61256, 23445, 59754, 29015, 45591, - 645, 1927, 3599, 22876, 36636, 50078, 63589, 26185, 19181, 34853, 830, 13505, - 41054, 5725, 1060, 39589, 59681, 49146, 10995, 28029, 53728, 2822, 16783, 6379, - 12119, 23471, 56030, 59263, 61154, 16906, 3787, 23189, 8064, 14107, 39209, - 43912, 4847, 22798, 48216, 7978, 40368, 31289, 29090, 38128, 37913, 22759, - 3012, 2381, 11115, 10445, 6697, 49795, 8346, 14343, 34814, 29054, 2485, 17594, - 59706, 48393, 2973, 54227, 65148, 21586, 19118, 14865, 36447, 60251, 3243, - 4642, 37322, 30649, 11967, 22044, 2500, 31948, 15059, 61016, 35660, 8833, - 52522, 54771, 45193, 52149, 56846, 52421, 56518, 25325, 32786, 19377, 4439, - 37039, 48928, 6826, 26332, 3993, 19160, 35372, 56413, 9672, 36029, 46789, - 36744, 63225, 15571, 13579, 12624, 4185, 1016, 41272, 44988, 41381, 34416, - 5438, 20622, 54523, 38201, 10829, 6050, 3855, 14793, 63561, 33629, 63030, - 27543, 2653, 6893, 50281, 7181, 3305, 3245, 55454, 47707, 6180, 62939, 25019, - 26245, 16017, 27775, 6621, 62362, 61135, 42961, 28112, 14154, 35575, 35515, - 20888, 7147, 34805, 13610, 60929, 63039, 22940, 8823, 10513, 14858, 42961, - 46133, 26101, 21441, 7794, 16101, 51198, 56685, 4220, 56860, 51635, 33854, - 1198, 12795, 63566, 23651, 41827, 50978, 27033, 48273, 7481, 34152, 24017, - 54543, 9557, 45843, 17446, 363, 5273, 62964, 943, 19714, 15435, 16536, 37392, - 32840, 54129, 1587, 8141, 48270, 45060, 10731, 10568, 62742, 21641, 2632, - 62216, 34656, 36602, 58681, 40736, 56751, 58223, 61740, 38423, 44528, 28085, - 34391, 36870, 42627, 30043, 52911, 60007, 46524, 42463, 29232, 30979, 19842, - 43586, 30387, 63588, 11949, 28759, 11485, 27599, 21541, 2616, 24209, 9506, - 16964, 56819, 2362, 25892, 10419, 3100, 31478, 22059, 60097, 12468, 4221, - 32687, 29936, 3741, 50145, 13013, 4989, 28562, 26409, 49053, 33368, 17732, - 59291, 30355, 57493, 41879, 5546, 6350, 38624, 46610, 49922, 22182, 20412, - 54889, 11110, 52449, 48756, 9855, 61628, 45940, 14111, 55248, 58917, 23744, - 64073, 53926, 27276, 53883, 11885, 55531, 39839, 32067, 6970, 45828, 6791, - 51776, 24599, 41205, 41777, 12346, 49047, 41348, 61926, 56996, 33918, 46082, - 31140, 26425, 13027, 9857, 51326, 65463, 9010, 62185, 41732, 58140, 20626, - 55048, 8195, 34436, 5635, 26980, 32080, 2374, 374, 7965, 35421, 29405, 45111, - 56493, 43033, 18471, 18883, 41504, 54946, 57930, 63642, 8256, 42005, 16182, - 18017, 49601, 10351, 42549, 54711, 23767, 13570, 13300, 30998, 8813, 25111, - 49371, 15278, 27715, 38485, 6909, 62293, 57139, 50058, 63752, 11570, 50078, - 38340, 60619, 2900, 35907, 48823, 52447, 31316, 30292, 59967, 11424, 29069, - 22520, 54973, 31599, 59563, 59089, 38602, 44202, 28855, 37607, 53318, 30639, - 4305, 33660, 21878, 31869, 51525, 64548, 18425, 45376, 62833, 59448, 16599, - 50937, 25058, 57436, 1858, 7320, 16982, 45705, 21200, 63000, 45488, 49338, - 18806, 31679, 24299, 2329, 54110, 19097, 16891, 8258, 3744, 18635, 8634, 2454, - 22198, 9530, 63981, 8307, 18786, 31691, 14023, 23809, 19004, 53765, 9487, - 41508, 61623, 42751, 53172, 42954, 16863, 27659, 27198, 59361, 27516, 8097, - 10278, 988, 55809, 64596, 32672, 22992, 27089, 24327, 40834, 14059, 43637, - 50071, 10655, 42606, 34844, 25308, 7594, 42231, 532, 41968, 31798, 60817, - 31522, 49408, 21565, 60701, 6138, 42406, 49610, 23031, 30911, 40578, 65396, - 23443, 43974, 57399, 14540, 16357, 36341, 17906, 17554, 45030, 5707, 5127, - 18620, 34506, 50098, 58128, 7467, 25370, 52337, 21002, 14881, 14658, 39589, - 54179, 9555, 50993, 57402, 47777, 61996, 52281, 52223, 17778, 61036, 44735, - 45752, 62136, 13648, 43193, 42883, 55168, 45538, 60055, 46163, 30984, 10862, - 12154, 18521, 63125, 34048, 47143, 51577, 33519, 58375, 60535, 20848, 41682, - 34610, 57914, 27071, 4498, 6862, 63318, 62686, 64220, 4798, 11853, 22400, - 55005, 56844, 38883, 1180, 39093, 50622, 33404, 47583, 38095, 32681, 4762, - 57677, 18412, 11528, 608, 10165, 12626, 31946, 32338, 19893, 30893, 60355, - 24098, 43665, 64291, 48072, 42322, 48948, 47205, 17687, 1218, 53896, 24784, - 19466, 45041, 4033, 64758, 26831, 46616, 57944, 36611, 28664, 58328, 2313, - 26310, 17835, 4257, 27822, 39438, 570, 57285, 17456, 7734, 3915, 39304, 39167, - 38363, 47136, 43856, 8838, 5583, 33545, 30911, 31415, 60727, 30722, 49548, - 33156, 19121, 62698, 2884, 46580, 43804, 18771, 39983, 19542, 38708, 58949, - 63006, 18760, 46889, 17730, 61084, 61498, 63287, 15905, 21668, 40901, 7562, - 54199, 11615, 41473, 33701, 57145, 8301, 50475, 36810, 744, 9097, 5072, 31396, - 38801, 54853, 40720, 14182, 3087, 28523, 56423, 32208, 14446, 35080, 2679, - 37026, 3435, 18715, 45360, 2241, 45373, 8970, 62229, 25750, 55015, 7882, 29062, - 61460, 12630, 57808, 9890, 52031, 26230, 13323, 15468, 36699, 15286, 8807, - 24601, 13084, 44591, 23408, 34411, 37160, 64861, 33080, 54795, 57005, 19208, - 25443, 54094, 5727, 28771, 25869, 11142, 1717, 3326, 54973, 32780, 54685, - 21700, 1413, 64315, 26478, 33541, 41869, 46136, 37439, 21724, 16385, 8931, - 40598, 42503, 47882, 15823, 43842, 29129, 62857, 9620, 23812, 22786, 231, - 34968, 12507, 59517, 37211, 32031, 15615, 12124, 63988, 38812, 48085, 12182, - 40137, 30891, 47814, 47822, 29220, 16000, 33082, 21641, 13164, 54233, 316, - 60102, 26824, 41670, 51651, 40985, 43165, 27673, 15126, 1287, 15278, 19034, - 26985, 9036, 31814, 45953, 47106, 46678, 26841, 15080, 33645, 35185, 15573, - 63270, 13769, 7508, 8388, 56583, 35750, 39264, 23931, 5591, 17959, 11757, 1965, - 58375, 18176, 2957, 57174, 27283, 9944, 23660, 41006, 2197, 42846, 62040, - 60675, 38634, 39487, 9510, 44123, 4357, 62779, 33528, 40424, 51784, 49754, - 38737, 60789, 12791, 45320, 7015, 40742, 36077, 36339, 38483, 35457, 51239, - 16004, 15616, 46500, 56137, 27463, 3525, 36842, 61201, 41431, 12383, 20610, - 3294, 48117, 51537, 20952, 11065, 65449, 35293, 51912, 12170, 34695, 11070, - 6793, 20532, 19955, 11316, 13563, 30394, 11458, 31047, 19931, 38256, 37135, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ])) .unwrap(), - c: 243, + c: 0, + }, + VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, }, ]) .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/ComplexTestStruct_zero_chaos_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0ec955700f739bb044257ec65d06df9ba2b4028dc074362e9ae558e313896af0"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_containers_fixed_test_struct_extra_byte() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/invalid/FixedTestStruct_extra_byte/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +fn test_containers_fixed_test_struct_max() { + let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_max_0() { + let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_max_1() { + let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_max_2() { + let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_max_3() { + let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_max_4() { + let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_max_5() { + let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_max_6() { + let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_6/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_max_7() { + let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_7/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_max_8() { + let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_8/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_max_9() { + let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_max_chaos_0() { + let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_chaos_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_max_chaos_1() { + let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_chaos_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_max_chaos_2() { + let mut value = FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_max_chaos_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3925681862db7892428eac4afae08671930e623601b5b85fbbc366371e29acd7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_random_0() { + let mut value = FixedTestStruct { a: 170, b: 13097433917148758497, c: 2823316065 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x2b7d29235dcbef1517899cd47118beea7d81b46244cff605724676cd50f898ec"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_random_1() { + let mut value = FixedTestStruct { a: 85, b: 3025325611966003710, c: 2393715144 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x35f97f08051739f6cbd5b4e79e57b06ee7c7944d9aadcb72a3fd2221763ac7c4"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_random_2() { + let mut value = FixedTestStruct { a: 73, b: 17290263866691938161, c: 3311333766 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x925af6af4968ef66f299362d6b40cf4164b3e27fbb7e085445f0c9b827e74ccc"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_random_3() { + let mut value = FixedTestStruct { a: 72, b: 5633501076518207946, c: 170036136 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x14e08728743971dd0ac92ca94864067b449c28e91d3dcebd6b5f47df98697acb"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_random_4() { + let mut value = FixedTestStruct { a: 141, b: 14877529853037520628, c: 761682555 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3dd95177bc95d33d840bde460ca0c86b483a15e51f0a0eabe1998f05df5c7edd"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_random_5() { + let mut value = FixedTestStruct { a: 79, b: 14098080771816090726, c: 2129688544 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xc44c5c18fc468fd2689febc405f521c41a5b5fd6958319e53b1d0f94c5aa238a"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_random_6() { + let mut value = FixedTestStruct { a: 239, b: 5454313257518522816, c: 797239823 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_6/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x121931c91bba4fa691f1bcc82c561e65ecd0eb6441fa7960ecaee65bcd0149f7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_random_7() { + let mut value = FixedTestStruct { a: 223, b: 8950381518244519629, c: 2819180549 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_7/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x1a20d6debe4b913fbf4c1cefbf34aaf46aada5bad445b9307aa917038c39b5a7"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_random_8() { + let mut value = FixedTestStruct { a: 98, b: 13284016551454210865, c: 303971524 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_8/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x8e18f10531f714ba08f9d0a283ca65863d5ced520ce2ed2861cd7b261eee43ca"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_random_9() { + let mut value = FixedTestStruct { a: 202, b: 14820154409811446657, c: 3563199940 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x9ef2a1d5cbdac64f575b862be56da89ee7040a7ba55a689d0f508ce1e7716531"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_random_chaos_0() { + let mut value = FixedTestStruct { a: 162, b: 17433115223182371175, c: 867140057 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_chaos_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdc82cc007c637f89a9b7ba1c446f17f598663637c51c774d3b988b5f27d6556c"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_random_chaos_1() { + let mut value = FixedTestStruct { a: 203, b: 7769282278803472418, c: 872994431 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_chaos_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xb4bd04eda485b869dcaebd603d86834d9e70885e7e061df343aaf753f4252267"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_random_chaos_2() { + let mut value = FixedTestStruct { a: 30, b: 6156748712181862619, c: 562352362 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_chaos_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5fddaefef3945fe9d1efe6d5f33d593db1cac4dc5e0edff46092b80ae564f713"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_zero() { + let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_zero_0() { + let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_zero_1() { + let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_zero_2() { + let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_zero_3() { + let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_zero_4() { + let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_zero_5() { + let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_zero_6() { + let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_6/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_zero_7() { + let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_7/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_zero_8() { + let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_8/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_zero_9() { + let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_zero_chaos_0() { + let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_chaos_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_zero_chaos_1() { + let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_chaos_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_fixed_test_struct_zero_chaos_2() { + let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_chaos_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_containers_single_field_test_struct_extra_byte() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/SingleFieldTestStruct_extra_byte/serialized.ssz_snappy"); + + deserialize::(&encoding); +} + +#[test] +fn test_containers_single_field_test_struct_max() { + let mut value = SingleFieldTestStruct { a: 255 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_max_0() { + let mut value = SingleFieldTestStruct { a: 255 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_max_1() { + let mut value = SingleFieldTestStruct { a: 255 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_max_2() { + let mut value = SingleFieldTestStruct { a: 255 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_max_3() { + let mut value = SingleFieldTestStruct { a: 255 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_max_4() { + let mut value = SingleFieldTestStruct { a: 255 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_max_5() { + let mut value = SingleFieldTestStruct { a: 255 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_max_6() { + let mut value = SingleFieldTestStruct { a: 255 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_6/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_max_7() { + let mut value = SingleFieldTestStruct { a: 255 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_7/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_max_8() { + let mut value = SingleFieldTestStruct { a: 255 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_8/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_max_9() { + let mut value = SingleFieldTestStruct { a: 255 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_max_chaos_0() { + let mut value = SingleFieldTestStruct { a: 255 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_chaos_0/serialized.ssz_snappy"); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_max_chaos_1() { + let mut value = SingleFieldTestStruct { a: 255 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_chaos_1/serialized.ssz_snappy"); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_max_chaos_2() { + let mut value = SingleFieldTestStruct { a: 255 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_max_chaos_2/serialized.ssz_snappy"); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_random_0() { + let mut value = SingleFieldTestStruct { a: 225 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xe100000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_random_1() { + let mut value = SingleFieldTestStruct { a: 59 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3b00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_random_2() { + let mut value = SingleFieldTestStruct { a: 3 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0300000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_random_3() { + let mut value = SingleFieldTestStruct { a: 46 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x2e00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_random_4() { + let mut value = SingleFieldTestStruct { a: 17 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x1100000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_random_5() { + let mut value = SingleFieldTestStruct { a: 42 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x2a00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_random_6() { + let mut value = SingleFieldTestStruct { a: 50 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_6/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3200000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_random_7() { + let mut value = SingleFieldTestStruct { a: 181 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_7/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xb500000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_random_8() { + let mut value = SingleFieldTestStruct { a: 121 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_8/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x7900000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_random_9() { + let mut value = SingleFieldTestStruct { a: 8 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0800000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_random_chaos_0() { + let mut value = SingleFieldTestStruct { a: 15 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_chaos_0/serialized.ssz_snappy"); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0f00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_random_chaos_1() { + let mut value = SingleFieldTestStruct { a: 8 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_chaos_1/serialized.ssz_snappy"); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0800000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_random_chaos_2() { + let mut value = SingleFieldTestStruct { a: 177 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_random_chaos_2/serialized.ssz_snappy"); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xb100000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_zero() { + let mut value = SingleFieldTestStruct { a: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_zero_0() { + let mut value = SingleFieldTestStruct { a: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_zero_1() { + let mut value = SingleFieldTestStruct { a: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_zero_2() { + let mut value = SingleFieldTestStruct { a: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_zero_3() { + let mut value = SingleFieldTestStruct { a: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_zero_4() { + let mut value = SingleFieldTestStruct { a: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_zero_5() { + let mut value = SingleFieldTestStruct { a: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_zero_6() { + let mut value = SingleFieldTestStruct { a: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_6/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_zero_7() { + let mut value = SingleFieldTestStruct { a: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_7/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_zero_8() { + let mut value = SingleFieldTestStruct { a: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_8/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_zero_9() { + let mut value = SingleFieldTestStruct { a: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_zero_chaos_0() { + let mut value = SingleFieldTestStruct { a: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_chaos_0/serialized.ssz_snappy"); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_zero_chaos_1() { + let mut value = SingleFieldTestStruct { a: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_chaos_1/serialized.ssz_snappy"); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_single_field_test_struct_zero_chaos_2() { + let mut value = SingleFieldTestStruct { a: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_chaos_2/serialized.ssz_snappy"); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); +} + +#[test] +#[should_panic] +fn test_containers_small_test_struct_extra_byte() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/invalid/SmallTestStruct_extra_byte/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +fn test_containers_small_test_struct_max() { + let mut value = SmallTestStruct { a: 65535, b: 65535 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_max_0() { + let mut value = SmallTestStruct { a: 65535, b: 65535 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_max_1() { + let mut value = SmallTestStruct { a: 65535, b: 65535 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_max_2() { + let mut value = SmallTestStruct { a: 65535, b: 65535 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_max_3() { + let mut value = SmallTestStruct { a: 65535, b: 65535 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_max_4() { + let mut value = SmallTestStruct { a: 65535, b: 65535 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_max_5() { + let mut value = SmallTestStruct { a: 65535, b: 65535 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_max_6() { + let mut value = SmallTestStruct { a: 65535, b: 65535 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_6/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_max_7() { + let mut value = SmallTestStruct { a: 65535, b: 65535 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_7/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_max_8() { + let mut value = SmallTestStruct { a: 65535, b: 65535 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_8/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_max_9() { + let mut value = SmallTestStruct { a: 65535, b: 65535 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_max_chaos_0() { + let mut value = SmallTestStruct { a: 65535, b: 65535 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_chaos_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_max_chaos_1() { + let mut value = SmallTestStruct { a: 65535, b: 65535 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_chaos_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_max_chaos_2() { + let mut value = SmallTestStruct { a: 65535, b: 65535 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_chaos_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_random_0() { + let mut value = SmallTestStruct { a: 63471, b: 60758 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x54b0b915e1cf6543b9af7f7a4e5122fa9f4fa50352eeab6f0c3b033610a4d54d"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_random_1() { + let mut value = SmallTestStruct { a: 19471, b: 11965 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x5c272251ea4047c6b2c442b3817841ce45aa71d79407b6b4716e29efef97bc2b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_random_2() { + let mut value = SmallTestStruct { a: 23998, b: 14996 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x6c014ce952c149ee0484856ca5f90db0015b6fcc6afd4dd5fa8f3354ea32f427"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_random_3() { + let mut value = SmallTestStruct { a: 1916, b: 63799 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x57841ce63e13790da0b2ff364dbf4a9e2fb95226220689bb070f170197c9a6d6"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_random_4() { + let mut value = SmallTestStruct { a: 32745, b: 8462 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x864908308d350be5c4591f067a662751434af440702d06685f8a652c07f6c12a"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_random_5() { + let mut value = SmallTestStruct { a: 61066, b: 8987 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xb056a7a8da6c09c77b17d34126d6cf3c772d818c6893ca5c4ea512be7ab55d88"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_random_6() { + let mut value = SmallTestStruct { a: 11656, b: 6024 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_6/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf9927c147e6280338f2b5c9c43bc70b4c6f2b1acd9d9ccba393147827075c24c"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_random_7() { + let mut value = SmallTestStruct { a: 35335, b: 8267 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_7/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("6501992f62e45a55d9706c46698a41647b690812cdc16dab6221b616df056030"); + root_from_hex("0xa9ea01512c31f35e35201b0d1f69c109a6e985c9672c055b8160436a1647b36c"); assert_eq!(root, expected_root); } @@ -18447,34 +17552,286 @@ fn test_containers_small_test_struct_random_8() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("079c669a7e6f0122945cf099c09057ec21e3607ca1cb694c57796452606b7f22"); + root_from_hex("0x079c669a7e6f0122945cf099c09057ec21e3607ca1cb694c57796452606b7f22"); assert_eq!(root, expected_root); } #[test] -fn test_containers_fixed_test_struct_random_7() { - let mut value = FixedTestStruct { a: 223, b: 8950381518244519629, c: 2819180549 }; +fn test_containers_small_test_struct_random_9() { + let mut value = SmallTestStruct { a: 46561, b: 34924 }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_7/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_9/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1a20d6debe4b913fbf4c1cefbf34aaf46aada5bad445b9307aa917038c39b5a7"); + root_from_hex("0x222ce608a4c1abcbdfcf6db2f2927df6a0ad782eb9dfc586236897d304e20b03"); assert_eq!(root, expected_root); } #[test] -fn test_containers_small_test_struct_random_1() { - let mut value = SmallTestStruct { a: 19471, b: 11965 }; +fn test_containers_small_test_struct_random_chaos_0() { + let mut value = SmallTestStruct { a: 32656, b: 26218 }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_chaos_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x42fccd03498ca740c0d81c60d845db06b8b10257b9112411d1863b732810725d"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_random_chaos_1() { + let mut value = SmallTestStruct { a: 59426, b: 2529 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_chaos_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xd7d8effdbcd60412d8b8affe2aaeeb6a6252256055f4efe4e54863bb9bf940f5"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_random_chaos_2() { + let mut value = SmallTestStruct { a: 9252, b: 757 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_chaos_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xd17fddce0872a0df611122a19c13d74e66fbebb51ec5165c03243331a09f157d"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_zero() { + let mut value = SmallTestStruct { a: 0, b: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_zero_0() { + let mut value = SmallTestStruct { a: 0, b: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_zero_1() { + let mut value = SmallTestStruct { a: 0, b: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_zero_2() { + let mut value = SmallTestStruct { a: 0, b: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_zero_3() { + let mut value = SmallTestStruct { a: 0, b: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_zero_4() { + let mut value = SmallTestStruct { a: 0, b: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_zero_5() { + let mut value = SmallTestStruct { a: 0, b: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_zero_6() { + let mut value = SmallTestStruct { a: 0, b: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_6/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_zero_7() { + let mut value = SmallTestStruct { a: 0, b: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_7/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_zero_8() { + let mut value = SmallTestStruct { a: 0, b: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_8/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_zero_9() { + let mut value = SmallTestStruct { a: 0, b: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_small_test_struct_zero_chaos_0() { + let mut value = SmallTestStruct { a: 0, b: 0 }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_chaos_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -18483,34 +17840,34 @@ fn test_containers_small_test_struct_random_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("5c272251ea4047c6b2c442b3817841ce45aa71d79407b6b4716e29efef97bc2b"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_containers_fixed_test_struct_random_9() { - let mut value = FixedTestStruct { a: 202, b: 14820154409811446657, c: 3563199940 }; +fn test_containers_small_test_struct_zero_chaos_1() { + let mut value = SmallTestStruct { a: 0, b: 0 }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_9/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_chaos_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + let recovered_value: SmallTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("9ef2a1d5cbdac64f575b862be56da89ee7040a7ba55a689d0f508ce1e7716531"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_containers_small_test_struct_random_6() { - let mut value = SmallTestStruct { a: 11656, b: 6024 }; +fn test_containers_small_test_struct_zero_chaos_2() { + let mut value = SmallTestStruct { a: 0, b: 0 }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_6/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/SmallTestStruct_zero_chaos_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -18519,83 +17876,329 @@ fn test_containers_small_test_struct_random_6() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f9927c147e6280338f2b5c9c43bc70b4c6f2b1acd9d9ccba393147827075c24c"); + root_from_hex("0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_nil_9() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([false, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([false, false, true, true, false, false, false, false]), +#[should_panic] +fn test_containers_var_test_struct_extra_byte() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/invalid/VarTestStruct_extra_byte/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +fn test_containers_var_test_struct_lengthy_0() { + let mut value = VarTestStruct { + a: 61133, + b: List::::try_from(Vec::::from_iter([ + 44799, 46899, 35617, 2513, 17201, 21580, 57273, 28701, 30553, 35793, 59421, 11954, + 25224, 53647, 44148, 32486, 32787, 38825, 55960, 14124, 5436, 6271, 37644, 17073, 1647, + 11970, 48613, 16312, 37044, 28512, 28997, 42195, 53588, 53237, 24620, 55210, 12722, + 53669, 5808, 28708, 19260, 12915, 41688, 48804, 28055, 27810, 4172, 38215, 39003, + 57296, 40634, 62477, 10640, 32564, 9956, 6556, 45980, 62413, 3819, 62233, 20581, 20393, + 20054, 45456, 23045, 20353, 58415, 60020, 54327, 38672, 26276, 43000, 31723, 19889, + 48234, 20247, 35668, 59173, 55051, 4363, 9194, 9520, 27785, 57400, 21879, 17604, 52854, + 13374, 65139, 43007, 19825, 52395, 16365, 11371, 48566, 27789, 44110, 47977, 48198, + 41017, 59789, 50169, 23002, 11009, 49033, 46732, 56193, 8637, 2010, 30197, 43510, + 39205, 50302, 2849, 61730, 20391, 58305, 8402, 51195, 49921, 6989, 378, 55424, 1013, + 25424, 13493, 33341, 52127, 22120, 59519, 19264, 28521, 15839, 34697, 12468, 54332, + 38546, 51045, 25604, 6061, 48977, 61779, 58400, 25890, 25568, 54582, 10787, 352, 15403, + 14483, 16038, 27258, 53865, 30566, 10141, 53978, 55590, 8770, 51693, 37470, 20737, + 30474, 55740, 12675, 55563, 1078, 12706, 8732, 21819, 49989, 44421, 26707, 37035, + 27472, 48373, 12076, 51842, 7533, 31803, 22864, 20895, 7902, 63432, 6186, 27799, 5975, + 58943, 17381, 62398, 3352, 17336, 35355, 35647, 40542, 42638, 26707, 48609, 33233, + 13679, 36443, 31545, 21147, 48638, 30297, 40244, 3551, 21538, 26474, 2228, 2550, 60043, + 52450, 15703, 16277, 39618, 5821, 59967, 5528, 46636, 48477, 64870, 59674, 16898, + 45782, 14518, 24691, 27213, 10300, 47327, 19061, 20219, 59751, 846, 41293, 16259, 1476, + 61375, 34273, 61136, 54142, 6275, 42713, 62409, 50768, 6057, 46778, 15478, 21294, + 64166, 26123, 11732, 61478, 7960, 26936, 34374, 42068, 30564, 56704, 24364, 29417, + 18909, 28818, 7140, 59390, 36516, 52971, 55683, 24461, 51264, 52407, 9664, 13803, + 12481, 15131, 883, 10752, 50959, 34024, 42852, 62633, 13588, 12525, 10042, 33300, + 20396, 56530, 8946, 30390, 50654, 39395, 18583, 2490, 64475, 1327, 3865, 52090, 33929, + 10299, 17774, 65283, 13204, 29389, 40918, 58583, 60707, 63290, 55792, 18955, 3429, + 4435, 40759, 5809, 36582, 9632, 21022, 55532, 44261, 23583, 41794, 64861, 11718, 30563, + 58019, 4144, 63669, 29551, 30029, 42985, 65158, 32735, 35124, 53773, 4968, 12977, 7440, + 58021, 46252, 53745, 41054, 51395, 45662, 56850, 33726, 17936, 38909, 59889, 61886, + 32616, 5280, 28171, 17836, 42988, 60095, 29928, 19216, 46331, 51823, 16410, 40841, + 46242, 51227, 7424, 6942, 12408, 15029, 7198, 32071, 29569, 27052, 41485, 4208, 53009, + 41665, 37037, 10227, 1962, 61874, 11810, 31908, 57058, 25594, 6222, 64410, 22980, + 27758, 1242, 34116, 53309, 11912, 13686, 34633, 55295, 21454, 17953, 35804, 7979, 1705, + 26624, 26195, 16342, 29747, 53318, 56886, 24970, 3312, 9495, 22481, 12647, 58640, + 29148, 31888, 9866, 24693, 40367, 37880, 2445, 38997, 2281, 2237, 21051, 674, 7632, + 2899, 33494, 25366, 39566, 40395, 4243, 56110, 38964, 51775, 7177, 33838, 7310, 45147, + 25889, 35919, 60344, 17717, 51806, 11157, 16491, 45833, 34364, 47192, 28257, 34598, + 22871, 50580, 50861, 15127, 11661, 6918, 21013, 40480, 2753, 42213, 55166, 7978, 45087, + 8339, 23931, 56988, 62664, 19553, 8902, 29978, 3643, 62775, 18467, 44113, 53043, 11397, + 31501, 41658, 22357, 16772, 17518, 62775, 36397, 43248, 31651, 32689, 53021, 43634, + 32875, 38788, 52537, 37249, 4242, 43007, 17090, 5564, 7269, 24979, 27882, 26296, 60627, + 46996, 30260, 25789, 11554, 57343, 55623, 65382, 17034, 31971, 32119, 41718, 64435, + 41586, 29122, 24291, 52251, 15466, 33377, 48473, 52787, 59849, 820, 19468, 41831, + 30979, 51764, 11341, 62184, 11780, 53700, 38699, 6399, 57158, 53578, 5437, 14398, 5285, + 2737, 25488, 25201, 18703, 16037, 5131, 31280, 40755, 53938, 33272, 6519, 11848, 52871, + 3343, 46701, 60290, 46167, 18257, 54599, 26677, 19704, 62023, 33968, 41941, 15035, + 55462, 19249, 31650, 9400, 14543, 43952, 9038, 45908, 63905, 17106, 53452, 12336, + 25585, 16633, 59162, 27078, 10519, 55428, 35194, 38482, 46068, 64042, 47855, 12123, + 28913, 47771, 27356, 23091, 40082, 17204, 26862, 6465, 3044, 43207, 37646, 7883, 525, + 33135, 26235, 21996, 2190, 34575, 34085, 9620, 54891, 43205, 25276, 56245, 12873, + 46543, 1531, 45123, 36481, 19955, 9182, 45127, 22986, 20937, 20973, 34660, 33554, + 23395, 15750, 7645, 24756, 25311, 18824, 61667, 58205, 20143, 42951, 7421, 15737, + 18477, 21628, 27208, 4034, 54026, 8330, 41239, 35796, 9739, 53240, 57956, 3732, 22338, + 47032, 11336, 5462, 49154, 7752, 60406, 14347, 38813, 46348, 25686, 63819, 3743, 39835, + 23320, 61018, 7450, 45758, 33165, 11479, 26823, 27889, 41960, 43036, 607, 714, 1449, + 6110, 9705, 12867, 59641, 10565, 63419, 12196, 55156, 13245, 16053, 2571, 50274, 53790, + 6811, 28020, 51058, 50085, 9815, 29845, 38329, 60892, 7651, 17091, 57396, 14094, 33290, + 35481, 24570, 52470, 32858, 8691, 19501, 37562, 13231, 8885, 19364, 35592, 42717, + 24818, 64884, 57544, 62202, 54370, 29963, 64460, 15801, 16573, 51075, 24482, 55820, + 42305, 6805, 52038, 48276, 2184, 27980, 39307, 36264, 28623, 12150, 16996, 30194, + 63986, 59208, 8797, 20510, 63496, 15881, 54607, 8829, 33193, 64225, 46346, 28246, + 10969, 49274, 54202, 43679, 26052, 33892, 26875, 26890, 9388, 37290, 2716, 20444, + 12323, 19666, 11479, 56763, 60381, 19104, 39348, 13366, 50647, 674, 44158, 35469, 2327, + 3606, 18776, 3797, 18256, 38047, 42085, 39421, 7227, 13019, 58397, 16060, 50621, 42752, + 44430, 44772, 9563, 30684, 29235, 39888, 17275, 57419, 64357, 17715, 2503, 24279, + 41578, 16612, 43217, 11149, 1925, 13850, 27811, 24689, 3246, 20501, 22510, 65205, + 11463, 45780, 28041, 19317, 32517, 33409, 3203, 43810, 17426, 18461, 38578, 56802, + 24972, 62152, 52610, 3540, 62101, 22496, 25269, 21840, 37854, 32604, 32570, 46094, + 56557, 18346, 18369, 39770, 27425, 39354, 43587, 26008, 3315, 6480, 22567, 34600, + 60311, 38662, 39096, 57199, 30635, 29315, 58191, 47127, 17169, 22261, 60733, 9365, + 14139, 35023, 4288, 18214, 57191, 8811, 18293, 31513, 53344, 7250, 31807, 17945, 46472, + 61609, 7694, 44319, 22520, 33851, 21545, 46154, 26697, 22870, 38656, 17433, 25404, + 18575, 51266, 28500, 59278, 24201, 17473, 4920, 14264, 19481, 10404, 57741, 39238, + 60672, 26336, 23865, 13379, 43877, 12914, 33254, 26438, 47794, 15777, 59744, 38188, + 43871, 335, 44573, 8267, 23296, 42354, 43921, 44128, 32317, 15022, 41288, 29595, 41132, + 24343, 7704, 35499, 9866, 2751, 37166, 22408, 24971, 44083, 63041, 16563, 5654, 51842, + 31617, 58207, 39807, 41911, 6019, 6035, 34602, 57918, 56655, 46721, 26604, 55985, + 60763, 62997, 915, 53931, 47685, 158, 59586, 46578, 2881, 1967, 62220, 63942, 63472, + 15301, 26126, 13620, 13487, 10296, 25196, 59062, 15476, 63650, 52437, 37594, 32314, + 7459, 62176, 24431, 45111, 58121, 51827, 32687, 7465, 26072, 54437, 34047, 64642, + 16959, 13395, 5320, 27029, 9398, 49410, 21168, 17583, 9058, 3019, 58878, 59292, 37047, + 4740, 15048, 62600, 55829, 33728, 25875, 51560, 9179, 45812, 33643, 29598, 61649, + 32544, 58587, 39751, 17154, 50990, 52370, 11105, 42906, 1106, 45270, 7179, 41296, + 27211, 3819, 45601, 442, 38230, 21488, 34297, + ])) + .unwrap(), + c: 255, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_nil_9/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("5f0c9f6aea78a6c52c3cea1594d184237a74cfd7981c4d88206df4e0c5514942"); + root_from_hex("0x71e7aa654855c5f5f169d98f5d3d380eafade90bd2360881a10eaedc990d8c2d"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_max_7() { +fn test_containers_var_test_struct_lengthy_1() { let mut value = VarTestStruct { - a: 65535, + a: 21335, b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 53687, 9781, 37580, 36287, 56492, 62426, 6786, 16575, 14820, 21314, 43, 42803, 61037, + 55553, 43292, 62549, 23043, 65499, 51093, 2130, 30867, 53292, 54946, 27806, 65429, + 27054, 9468, 28940, 46366, 15787, 21008, 19291, 10097, 14975, 18615, 40454, 40324, + 32529, 6816, 11809, 9740, 59339, 29600, 16083, 12451, 56503, 1382, 8773, 29586, 53659, + 42520, 46543, 23980, 64378, 40740, 381, 13297, 45284, 21134, 5230, 38998, 34699, 45586, + 62995, 58512, 35298, 34306, 408, 40208, 6579, 44566, 1903, 15773, 47698, 56595, 26272, + 62506, 53061, 56457, 40276, 45824, 42255, 54061, 45839, 41065, 14926, 1091, 61924, + 4444, 49225, 14676, 62967, 34409, 26168, 8414, 23339, 39904, 42813, 24062, 50545, + 21423, 58171, 49180, 61029, 13173, 5145, 18804, 48727, 62076, 43178, 48692, 41178, + 43103, 37665, 40451, 45167, 32245, 40288, 31623, 21071, 15588, 7001, 45070, 8789, + 58699, 44996, 37738, 31275, 29819, 39467, 47921, 24206, 20166, 59674, 41146, 64905, + 44694, 27619, 55577, 835, 23061, 25610, 7178, 50537, 25901, 4157, 1149, 31320, 64393, + 46562, 36222, 22098, 34630, 26192, 3788, 12468, 20032, 42393, 45254, 16586, 41974, + 20460, 15733, 707, 63515, 21110, 60993, 30053, 1681, 26342, 9206, 3133, 62787, 47985, + 14161, 8514, 44436, 8770, 25547, 4957, 23030, 28250, 61622, 45946, 16868, 18860, 13695, + 32807, 12855, 64492, 14950, 39900, 28111, 20706, 31699, 5609, 38357, 4262, 56977, + 11151, 47197, 33644, 21125, 52114, 50627, 1372, 34281, 44823, 23061, 8458, 9672, 6493, + 57275, 46606, 35014, 57577, 13817, 38167, 15226, 48657, 53879, 15771, 22193, 12027, + 35347, 59935, 35917, 48464, 8617, 11283, 62478, 21958, 12064, 9114, 32017, 51687, + 32922, 46930, 36643, 39809, 33949, 37357, 32634, 7703, 34889, 44679, 14404, 44097, + 35528, 30947, 13904, 29931, 36122, 37938, 56734, 36188, 10087, 9313, 41510, 24979, + 65100, 14234, 26131, 33094, 45853, 48641, 10554, 60013, 9345, 36865, 22312, 2660, + 38192, 61408, 9675, 42507, 31009, 63130, 4566, 4778, 10416, 30796, 9613, 2453, 2900, + 35154, 41335, 26515, 55937, 59997, 42411, 19443, 57813, 3928, 46303, 57693, 41104, + 3832, 16133, 51970, 28523, 52945, 37131, 62848, 39537, 13765, 54912, 55193, 53765, + 54906, 159, 44499, 31179, 33532, 43778, 36942, 43427, 44909, 32020, 56349, 7777, 32517, + 15019, 21438, 52673, 34153, 45259, 36814, 12839, 22917, 37426, 38539, 64195, 997, + 24514, 6244, 23822, 8458, 37798, 29387, 64114, 21671, 20737, 40696, 43556, 60835, 9579, + 64430, 45701, 44629, 63957, 24374, 5815, 48385, 51858, 721, 1561, 61892, 12345, 34803, + 27435, 38000, 31275, 39274, 7629, 31279, 38789, 52206, 35145, 41238, 20828, 17047, + 17477, 24496, 12876, 30727, 9470, 43849, 35675, 5848, 18377, 38473, 38840, 6363, 12875, + 58437, 21670, 26006, 47662, 43763, 23592, 1268, 29926, 13081, 56201, 54519, 3072, + 18819, 5535, 51273, 53591, 19741, 25874, 50020, 6867, 44530, 58319, 45845, 21919, + 10408, 27307, 189, 25670, 61122, 8170, 51391, 11640, 10759, 388, 52403, 9322, 28102, + 46567, 61649, 32806, 9186, 44802, 27005, 45848, 28061, 37292, 27870, 27397, 1069, + 17483, 28556, 8760, 44012, 37629, 44616, 17896, 25105, 9710, 30726, 60377, 29311, 8822, + 42414, 33180, 58426, 28297, 51093, 15970, 35612, 63049, 24046, 42945, 9133, 40457, + 64240, 29167, 8957, 43322, 15429, 12522, 22747, 48627, 5459, 27318, 17468, 40026, + 57282, 54710, 8687, 15431, 53351, 62726, 16950, 61603, 27956, 4090, 27164, 13329, + 27499, 11993, 52970, 28852, 2532, 35530, 54292, 15841, 17878, 54014, 50213, 37596, + 29322, 62046, 63598, 59100, 45829, 47616, 23053, 61520, 54008, 39084, 31876, 12639, + 4963, 23559, 38792, 22944, 12455, 40495, 53891, 36066, 8147, 44027, 28003, 2378, 61245, + 17058, 58357, 18513, 33054, 18608, 61767, 46382, 17519, 38325, 38036, 11423, 11780, + 16729, 16327, 49800, 14505, 46886, 12844, 53858, 61099, 20569, 52810, 63242, 27227, + 55170, 18848, 31870, 13615, 14364, 10197, 40583, 30231, 237, 60103, 18246, 25126, 3371, + 49760, 19516, 6075, 64613, 28431, 60322, 9481, 14342, 31247, 23887, 32886, 37723, + 46549, 46015, 21070, 12736, 32529, 29112, 40146, 2472, 57822, 50621, 36520, 43590, + 61061, 16688, 46411, 17434, 18737, 24394, 24866, 44450, 5162, 20470, 61990, 36443, + 9772, 30523, 42543, 64520, 38303, 31244, 24361, 18014, 9655, 61188, 48010, 27794, + 10111, 24584, 17885, 23725, 15087, 8886, 58507, 4913, 37786, 30828, 12212, 1298, 42422, + 46718, 10029, 31765, 12779, 57608, 25631, 45735, 35169, 43288, 64494, 45635, 25841, + 5359, 14158, 2221, 50543, 40257, 10101, 6873, 61906, 64832, 25595, 28842, 34243, 23264, + 35793, 47141, 19529, 11914, 49939, 25980, 47688, 28958, 38196, 60357, 48116, 59910, + 45346, 34539, 61880, 22381, 60209, 28923, 29296, 4084, 50575, 30805, 44919, 28252, + 2243, 37828, 5651, 1763, 35757, 17174, 21028, 38029, 4530, 47946, 30954, 61686, 44270, + 9603, 55570, 55448, 28424, 57345, 18843, 31909, 52205, 6768, 50707, 15025, 30354, + 60514, 6756, 19754, 46665, 14341, 13464, 26874, 38854, 22891, 21296, 1788, 3241, 64713, + 37054, 18071, 38776, 14493, 29874, 2652, 53339, 24097, 59331, 12613, 40173, 7503, + 17455, 57637, 10064, 9125, 41502, 3083, 18847, 30477, 5941, 36328, 22238, 28470, 26512, + 37123, 37636, 63293, 29537, 21256, 25737, 31020, 32362, 12521, 58874, 16812, 29945, + 21644, 5691, 52564, 51301, 53544, 33705, 16556, 59570, 59727, 23849, 1290, 15388, + 51564, 253, 63424, 48668, 46101, 35260, 36520, 5917, 36590, 9265, 17901, 23968, 20978, + 20878, 50440, 27616, 49201, 57805, 23729, 29345, 28415, 14212, 238, 45602, 28005, 592, + 40610, 57109, 18428, 11361, 7336, 21591, 6985, 54191, 16928, 28954, 16213, 40401, + 30673, 58581, 27503, 10920, 32550, 44556, 19040, 31162, 5687, 43958, 54822, 39290, + 63494, 35770, 42202, 26967, 11417, 16468, 59211, 19431, 39025, 56164, 24407, 16777, + 31981, 9307, 60487, 18999, 50189, 19923, 13928, 60435, 10455, 34982, 36808, 56649, + 32102, 43195, 4664, 20372, 5502, 33651, 41984, 61250, 4741, 27981, 33006, 37817, 32126, + 20850, 15670, 24747, 18972, 41887, 63321, 17982, 18857, 35342, 20723, 46899, 29028, + 49032, 48537, 58494, 19203, 52416, 14026, 14835, 36753, 19223, 19771, 32024, 69, 41167, + 2946, 24111, 11948, 40138, 12729, 57807, 36307, 20398, 50742, 31331, 30928, 49962, + 34012, 39057, 51817, 36822, 53427, 29076, 14255, 28979, 15627, 35121, 30185, 29456, + 40050, 1664, 50298, 14913, 3282, 50492, 138, 29081, 8124, 37534, 17645, 32281, 36908, + 53276, 10703, 36497, 62594, 37367, 33584, 43941, 52288, 19047, 35625, 45074, 54224, + 13895, 61405, 52060, 19452, 62770, 21142, 57187, 28889, 44569, 47296, 40641, 6863, + 62813, 40876, 57951, 47703, 10120, 62999, 14733, 57778, 44061, 47644, 47047, 29350, + 19420, 45716, 17151, 4321, 47105, 51398, 42197, 9861, 38532, 22527, 50874, 41356, + 33554, 34108, 23673, 12247, 18121, 62076, 2880, 13040, 15016, 36253, 8931, 61221, + 14034, 44698, 13964, 36931, 4658, 35365, 33206, 22522, 28470, 4387, 44620, 15426, + 37547, 1204, 43842, 10808, 44555, 8928, 1360, 51928, 35094, 12117, 46880, 21857, 36550, + 44123, 64962, 61486, 45014, 14782, 29030, 61342, 20843, 63418, 39023, 46959, 41680, + 26702, 10725, 22466, 19641, 29623, 46876, 20714, 33781, 7703, 29365, 46792, 47752, + 44878, 24099, 29164, 65244, 9682, 7327, 51740, 46804, 59564, 65049, 43237, 50717, + ])) + .unwrap(), + c: 204, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x688b42fd81bb47e8b620bbb092900829af130bb53066e62f604b995e496b2a4a"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_var_test_struct_lengthy_2() { + let mut value = VarTestStruct { + a: 6378, + b: List::::try_from(Vec::::from_iter([ + 56213, 56690, 5490, 50070, 64104, 50125, 17654, 6411, 61997, 28536, 45501, 33550, + 17405, 30649, 13300, 14528, 41192, 51965, 17404, 60982, 27197, 54125, 891, 29291, 4026, + 64060, 30878, 37389, 2818, 38130, 54714, 49140, 31623, 12673, 35472, 4012, 23691, + 44257, 15127, 7003, 9921, 59134, 3361, 37492, 46003, 533, 59373, 6187, 44573, 48111, + 61171, 3927, 54079, 12224, 40227, 59644, 18652, 34944, 44207, 55057, 27540, 17904, + 39424, 46910, 20815, 6330, 32172, 10904, 27684, 43829, 26441, 19196, 49116, 23580, + 8417, 63413, 8632, 36484, 61727, 24337, 52098, 45525, 48734, 8087, 25227, 24952, 60172, + 20489, 45524, 6155, 61837, 11859, 63895, 43556, 7585, 29924, 64302, 47897, 48852, + 56300, 22224, 10597, 57398, 49891, 33097, 5904, 26806, 6944, 30491, 17359, 17939, + 29460, 62085, 6539, 30209, 38401, 18968, 36704, 40001, 58447, 50270, 30679, 911, 60064, + 56770, 57687, 4741, 52537, 29645, 23002, 49040, 18468, 58066, 50512, 5886, 15505, + 42753, 11000, 59827, 40304, 49478, 62576, 24582, 36409, 38539, 9545, 21585, 53048, + 46585, 59128, 46710, 30126, 17367, 29162, 15679, 22249, 22546, 16182, 19513, 18682, + 59188, 24875, 10383, 1234, 6515, 4304, 58536, 44436, 60819, 55550, 61079, 53822, 18983, + 18896, 63873, 59599, 1235, 3018, 3987, 5370, 33022, 15950, 19533, 1721, 12416, 47618, + 41631, 41237, 28989, 56678, 28356, 19395, 57226, 45502, 59124, 23664, 27634, 35706, + 33915, 5924, 34244, 29604, 45893, 35512, 26574, 19766, 28385, 48108, 18087, 51932, + 26116, 47251, 38527, 30222, 43941, 19930, 50261, 46553, 59063, 40994, 15857, 56362, + 35908, 65177, 1035, 10334, 23318, 60257, 6546, 44603, 29092, 17553, 18581, 52255, + 64079, 13799, 56127, 58824, 32240, 26519, 17472, 40291, 14017, 26712, 31706, 1498, + 51383, 50896, 51354, 27156, 18490, 60346, 18593, 18881, 18741, 49251, 25622, 9718, + 58417, 45173, 51310, 61531, 64722, 7094, 30197, 40396, 35631, 61283, 29654, 45535, + 23902, 30598, 9970, 44354, 16946, 62686, 65110, 52174, 23433, 64107, 47176, 63584, + 35585, 15472, 5148, 4424, 24503, 22180, 28446, 52501, 29142, 36414, 51160, 48586, 5766, + 43971, 44634, 39855, 20297, 54455, 17995, 20761, 31464, 44231, 17891, 57603, 26332, + 47871, 36307, 48537, 42247, 916, 31939, 64461, 23668, 20397, 27954, 33666, 32545, + 28403, 314, 28446, 33962, 12817, 24764, 41250, 1217, 41522, 48036, 40577, 18544, 12995, + 16521, 59386, 17613, 19877, 43443, 50891, 31281, 29065, 21805, 63326, 10933, 36080, + 46469, 19587, 59395, 18320, 36997, 56079, 53301, 53776, 6863, 55275, 50765, 17305, + 34213, 51951, 14220, 41708, 24872, 47278, 64644, 42201, 39659, 63923, 57317, 19217, + 7205, 2669, 48342, 51903, 23325, 6618, 36489, 38246, 36686, 32461, 25775, 39783, 40256, + 21072, 21643, 62327, 58801, 52908, 36463, 22419, 36885, 14882, 40229, 8489, 6626, + 27723, 916, 45860, 23435, 23242, 43134, 25348, 19905, 18792, 33382, 18226, 53901, + 56490, 50464, 61880, 26601, 33436, 23972, 29332, 17761, 13596, 8346, 27867, 57762, + 6487, 5164, 30669, 49385, 36829, 6052, 2983, 59937, 40413, 48055, 5005, 64750, 30683, + 24195, 28954, 55842, 45130, 6613, 7661, 51429, 52102, 53711, 1534, 27869, 38164, 38469, + 3501, 29190, 57523, 15976, 23650, 34310, 28938, 28490, 46058, 20728, 49569, 52781, + 2263, 47277, 33251, 23620, 18727, 46410, 43332, 49060, 57302, 19180, 62007, 13476, + 24446, 29821, 47456, 17107, 63922, 48616, 28313, 57603, 56836, 12994, 40252, 37663, + 60847, 13190, 7953, 21467, 62514, 43444, 10018, 37838, 3473, 879, 23657, 59372, 24023, + 63455, 35378, 32761, 23690, 1281, 40517, 31178, 53835, 21115, 17994, 38655, 36010, + 43698, 42350, 56142, 12263, 40819, 10377, 55969, 49743, 49581, 61416, 48318, 36625, + 40034, 58589, 33135, 24630, 60840, 22381, 8971, 57488, 58984, 23117, 21338, 48875, + 10706, 16938, 48527, 46735, 45623, 51379, 17461, 43380, 62950, 10343, 23231, 31204, + 49074, 10899, 63867, 16638, 41718, 9629, 64242, 63955, 53544, 34682, 15526, 25620, + 39558, 53827, 26170, 711, 26461, 18868, 8338, 10873, 30987, 14510, 9769, 5087, 31384, + 29197, 4132, 57137, 10241, 62862, 47525, 755, 60182, 43238, 10344, 11225, 47119, 18784, + 1638, 45502, 32275, 14356, 63427, 42758, 24544, 30894, 14276, 50201, 56292, 39408, + 1498, 46856, 516, 29377, 25531, 43021, 64920, 30019, 34869, 61749, 62033, 17469, 27949, + 62966, 41220, 65037, 23504, 45516, 57547, 16717, 24198, 29283, 8884, 62621, 3860, + 19091, 15855, 38983, 57074, 20058, 5856, 65056, 62143, 18576, 11391, 59878, 24269, + 17669, 25259, 8468, 41730, 21483, 64015, 6373, 25019, 53269, 18973, 40840, 9583, 2649, + 841, 5068, 41928, 32078, 56191, 50434, 55626, 57951, 19260, 37211, 24479, 39731, 53369, + 8479, 60265, 35413, 53118, 13209, 31132, 24585, 808, 29774, 47757, 31849, 1585, 10441, + 25565, 57828, 13586, 31259, 37059, 64605, 22548, 23742, 43016, 54382, 20064, 15444, + 11306, 5699, 29994, 44387, 60028, 54857, 63979, 42457, 3607, 54872, 44551, 2385, 57022, + 52973, 65376, 12748, 42932, 22828, 50592, 23926, 2341, 47803, 11509, 5111, 55500, + 51645, 63861, 2668, 11548, 29883, 58149, 40166, 2193, 52824, 34882, 37249, 30557, + 64680, 42628, 46885, 8840, 17838, 59335, 37036, 7203, 50643, 340, 36113, 18966, 37689, + 47601, 55203, 23079, 64072, 64965, 47483, 39619, 20526, 15520, 48171, 46887, 41987, + 27322, 56677, 58814, 12813, 20499, 20988, 54754, 26252, 33450, 21117, 42892, 22453, + 14678, 48476, 53340, 36438, 44926, 2765, 5292, 54278, 2365, 47397, 51706, 8521, 2955, + 26381, 10240, 46374, 35385, 63226, 10718, 10184, 47615, 31534, 31102, 8947, 56566, + 45771, 29423, 5201, 10380, 27094, 10908, 50251, 4515, 64727, 61484, 26699, 44500, + 51169, 21347, 6324, 23049, 54660, 19877, 63898, 12550, 7801, 44396, 51651, 59938, + 40896, 49652, 22958, 20328, 50463, 20778, 61526, 492, 38905, 40124, 56110, 50710, + 37900, 14967, 49633, 36052, 2922, 32298, 44884, 38711, 64259, 43410, 60047, 32736, + 35176, 50514, 40000, 59754, 79, 13811, 46856, 40468, 11593, 43206, 53766, 46286, 21254, + 1028, 55528, 9153, 48331, 23094, 59826, 44199, 16351, 14987, 56860, 9643, 19996, 31437, + 38431, 32187, 22621, 2384, 28058, 1779, 60095, 46511, 58290, 38711, 42379, 49788, + 52918, 23405, 21794, 10169, 31634, 56761, 64534, 6488, 34581, 11348, 22963, 11391, + 58333, 14709, 8707, 50621, 28106, 39682, 14515, 2145, 52433, 23705, 30255, 18846, + 51493, 54189, 65404, 19446, 50743, 29933, 24975, 556, 31258, 28964, 2730, 50624, 5634, + 48038, 29965, 36247, 8272, 48400, 34074, 48962, 26709, 52827, 60618, 33499, 5976, + 11419, 21782, 38640, 22223, 64887, 28193, 34856, 41569, 17444, 44444, 30139, 37310, + 62485, 21992, 25391, 8215, 16392, 15120, 51019, 51050, 5778, 255, 20528, 24982, 16400, + 7819, 37720, 19899, 25289, 24536, 53117, 40044, 8589, 59192, 62749, 48819, 61910, + 53602, 9490, 61039, 57172, 29192, 22469, 57228, 34328, 31266, 39220, 27043, 27114, + 63188, 39647, 5268, 50746, 8495, 18351, 35797, 57052, 4696, 61775, 12605, 54791, 34979, + 45697, 38779, 33067, 26982, 2938, 6110, 37084, 19831, 7836, 33227, 27623, 19271, 8329, + 51158, 33965, 44071, 47508, 10894, 52334, 63719, 6808, 56243, 52946, 682, 48416, 26359, + 48885, 17707, 56903, 60483, 8139, 56249, 37205, 34338, 59837, 64288, 50997, 6618, + 53792, 30126, 30157, 3369, 27996, 9789, 42130, 13424, 10781, 13704, 35789, 40904, ])) .unwrap(), - c: 255, + c: 209, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_max_7/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -18604,382 +18207,426 @@ fn test_containers_var_test_struct_max_7() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("79c96ac0d0f8a0b50c1f9b3387d304545f8748957f25169bd4312784818e5353"); + root_from_hex("0xff4561a4611b946e3422adc157c64abd3ada3013475eb8d6f2920e5c6376481a"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_max_chaos_0() { - let mut value = ComplexTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - d: List::::try_from(Vec::::from_iter([255])).unwrap(), - e: VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - ]) +fn test_containers_var_test_struct_lengthy_3() { + let mut value = VarTestStruct { + a: 53621, + b: List::::try_from(Vec::::from_iter([ + 12824, 63199, 12227, 37027, 24572, 53189, 4389, 44798, 43145, 8174, 43110, 30174, + 62754, 21656, 40949, 53812, 40888, 30440, 59145, 10801, 28955, 19257, 37274, 43429, + 1057, 41095, 36357, 4155, 28658, 44280, 43649, 44937, 19737, 61292, 19192, 27640, + 12891, 33832, 21987, 15325, 30046, 39353, 42201, 41239, 578, 51593, 12759, 22415, + 25369, 41609, 63054, 34114, 5523, 44794, 8868, 3115, 10983, 29661, 35422, 46638, 44220, + 32081, 1521, 6905, 21448, 15523, 11823, 10535, 63613, 7800, 29751, 56314, 6810, 37152, + 45202, 17885, 46224, 41522, 55064, 55034, 23405, 16385, 37885, 52284, 56597, 22342, + 13705, 41350, 12167, 29118, 31088, 37853, 1988, 61330, 37334, 55488, 5963, 61333, + 12915, 63312, 20922, 54718, 63217, 34767, 20943, 41833, 38426, 48977, 30574, 24718, + 17816, 13273, 23697, 35672, 39289, 46117, 20558, 46389, 25024, 19873, 64107, 30217, + 6650, 2012, 56112, 41641, 12942, 4166, 64536, 5189, 55420, 32271, 25800, 51807, 63728, + 52464, 41427, 54659, 32115, 39009, 47270, 39551, 50858, 23532, 60800, 36607, 14927, + 13474, 59257, 35292, 62928, 23256, 14812, 51561, 17012, 4652, 32518, 8304, 30481, + 29465, 65016, 19089, 35130, 9756, 31265, 32297, 44620, 47169, 23733, 32989, 4086, + 59561, 39285, 36965, 22085, 8378, 54829, 50571, 13548, 63472, 2016, 52180, 64456, + 43721, 15993, 9031, 13471, 24815, 2034, 23903, 25676, 14915, 5684, 26632, 1329, 31017, + 42437, 57785, 19570, 28168, 42408, 8684, 21826, 50701, 25954, 62000, 28631, 17658, + 24628, 60838, 1818, 14082, 35417, 9495, 65040, 65256, 54854, 17912, 36016, 18982, + 46911, 59346, 50637, 56068, 8951, 3987, 25910, 10172, 32664, 28275, 7739, 2871, 19584, + 40133, 53255, 49564, 19850, 26000, 22484, 10086, 25457, 11863, 23747, 32063, 1375, + 20477, 38593, 1119, 23799, 32090, 21624, 39954, 22767, 23888, 9289, 65408, 36174, + 39294, 40728, 24981, 374, 55536, 10984, 44014, 26666, 15202, 24834, 18552, 53468, + 40709, 7921, 32676, 57505, 12446, 34258, 146, 32728, 50805, 17277, 15454, 43322, 8537, + 16913, 6511, 50187, 39335, 8752, 20231, 34134, 23248, 61310, 5165, 1814, 51275, 57596, + 45933, 55855, 19742, 1826, 40280, 10996, 36168, 13576, 54805, 47846, 61015, 587, 60471, + 29621, 26522, 5915, 158, 18461, 6820, 64659, 53083, 48481, 40473, 45506, 61232, 41672, + 17842, 1548, 4992, 34785, 55044, 45130, 29968, 39908, 41722, 26447, 30411, 30816, + 34584, 58139, 17373, 1767, 11136, 57962, 39073, 20109, 48849, 62197, 44858, 64613, + 25430, 31126, 9234, 23003, 30425, 23090, 32660, 36495, 62214, 56111, 5781, 49324, + 43924, 26114, 10988, 2595, 24871, 56135, 56882, 54305, 14533, 64595, 48290, 14544, + 24151, 1802, 61817, 48204, 49941, 47529, 12673, 49460, 29934, 64877, 43088, 10912, + 49531, 4222, 16284, 191, 9767, 17371, 26973, 55656, 19739, 27919, 65374, 40530, 40286, + 26476, 24664, 20366, 9967, 48365, 20415, 3879, 19655, 34812, 61134, 35950, 14720, + 18888, 10069, 16577, 31675, 34830, 19296, 28186, 57105, 63685, 28433, 2441, 38900, + 52568, 20180, 54108, 30962, 41663, 41162, 9924, 19119, 29418, 13674, 62989, 912, 21362, + 2361, 9348, 23810, 17782, 25388, 20276, 36758, 17616, 37003, 62703, 25855, 32639, + 41721, 55280, 50239, 9817, 59209, 7338, 61297, 7118, 7555, 23209, 34271, 52326, 63243, + 47765, 46845, 8216, 52514, 39175, 6855, 36103, 20546, 35462, 32576, 57863, 59386, + 28986, 10626, 34460, 30107, 63828, 55285, 24445, 30837, 36790, 16082, 51703, 37350, + 5331, 31688, 41107, 60384, 9222, 58880, 38350, 11341, 47994, 21225, 61858, 4590, 20131, + 19399, 7606, 46715, 47869, 12019, 40950, 9830, 1496, 47800, 48413, 2912, 4054, 51443, + 47494, 7523, 44600, 29898, 2554, 14621, 56416, 28097, 31884, 55056, 63050, 16540, + 16605, 52921, 34914, 60457, 32972, 9185, 19912, 9352, 39493, 36702, 39956, 52474, + 24680, 47327, 48286, 30950, 29333, 10409, 4091, 21410, 5227, 54353, 60079, 45759, + 56625, 14338, 57190, 40981, 43602, 17006, 53073, 56010, 4709, 5430, 26296, 37529, + 47667, 8833, 2971, 57303, 63231, 15702, 26827, 39565, 9249, 20140, 4173, 8250, 17027, + 4990, 20050, 4431, 15435, 46771, 15130, 13649, 30386, 48851, 17859, 40727, 1727, 3412, + 40850, 54557, 50322, 29032, 8445, 29183, 41999, 50925, 61595, 14196, 35072, 39816, + 50201, 23840, 37744, 26866, 3602, 46965, 22856, 26798, 43015, 40206, 55515, 11291, + 14295, 25047, 12508, 42920, 61545, 36847, 42827, 59149, 37648, 20834, 4214, 15295, + 45749, 17057, 37635, 47729, 15217, 50778, 7236, 63009, 47585, 8546, 20844, 1714, 26460, + 15336, 63245, 34216, 58685, 15646, 3498, 29123, 62271, 43203, 12246, 3134, 9311, 53746, + 28666, 5828, 45743, 50930, 41775, 21044, 7624, 49610, 19369, 41631, 40808, 21746, + 16537, 59450, 15484, 39419, 56493, 38487, 63573, 28134, 46943, 57911, 13618, 27665, + 63693, 21072, 34656, 63629, 23609, 55587, 30903, 8100, 28620, 21732, 27509, 47468, + 15126, 31921, 16048, 39864, 5653, 25472, 18436, 19876, 52126, 39651, 47640, 8025, + 60396, 12961, 11559, 19217, 37464, 48299, 60234, 48664, 17783, 6445, 23475, 14987, + 46398, 35504, 62413, 57423, 53601, 6077, 53923, 42587, 23539, 8990, 28851, 34421, + 49397, 61664, 54315, 3593, 28324, 50753, 47720, 37264, 7728, 20211, 34865, 39022, + 23668, 13442, 6771, 50757, 9518, 18825, 62867, 4054, 6240, 16905, 27035, 46010, 11940, + 24279, 48265, 37950, 20187, 56769, 27295, 31211, 575, 12642, 9751, 39340, 32877, 6935, + 27306, 10933, 58991, 47581, 48835, 15245, 15429, 50806, 5562, 14231, 5518, 9902, 16135, + 39182, 1680, 13628, 43562, 35187, 27239, 588, 17920, 5853, 39399, 31080, 13365, 61435, + 14953, 29568, 4929, 53504, 35721, 39671, 2227, 32135, 21383, 64510, 15481, 59049, 2032, + 16254, 17682, 8602, 64410, 16152, 17573, 23476, 21416, 60463, 30720, 8117, 59855, 3926, + 24068, 65487, 36427, 28490, 5766, 19232, 18471, 58849, 22846, 58016, 5434, 43093, + 57345, 50164, 20043, 20320, 59193, 1832, 34512, 28820, 64998, 7348, 26775, 50866, + 55706, 38800, 39677, 42733, 5620, 24482, 16486, 12981, 43476, 51650, 37424, 16718, + 3806, 56666, 9956, 4126, 57305, 16012, 51301, 46051, 48009, 26308, 17439, 44536, 42504, + 44282, 13750, 45145, 30812, 41906, 26513, 1365, 46416, 18062, 41850, 62624, 52481, + 45361, 62555, 54272, 13710, 59825, 55116, 8289, 29104, 14423, 25618, 43571, 8984, + 27448, 3638, 48426, 47278, 39039, 30918, 16734, 59710, 32735, 44274, 32123, 53804, + 13043, 28523, 25232, 36266, 15100, 58840, 28057, 50214, 42030, 38537, 40603, 61101, + 58153, 49848, 41247, 8699, 19091, 47538, 25546, 19561, 38790, 64260, 32976, 60806, + 14783, 9629, 48369, 30608, 29534, 17392, 54595, 2000, 1731, 16822, 14065, 12114, 48259, + 40194, 46581, 15692, 60445, 16662, 8508, 41248, 32381, 34455, 45060, 60137, 57750, + 14183, 11223, 38168, 34879, 11355, 3323, 16613, 64476, 3189, 53954, 24359, 62200, 1202, + 55946, 768, 27060, 14657, 55024, 27519, 42256, 63606, 36574, 54148, 29741, 36099, 8779, + 36894, 31347, 42576, 38020, 14817, 7303, 64961, 42979, 30210, 46928, 38757, 10021, + 28505, 64359, 50842, 28773, 19200, 18414, 55308, 18799, 6307, 6519, 7775, 53258, 61139, + 49334, 47308, 13579, 51794, 24185, 44464, 53056, 2504, 41519, 20023, 12170, 24384, + 56645, 14604, 61920, 39018, 32, 20528, 51398, 25015, 52982, 16304, 41598, 53136, 49436, + 19512, 42007, 1305, 5487, 23918, 57245, 1315, 12214, 462, 2117, + ])) .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - ]) + c: 192, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xac826d5dd43427c8f4838bf5b54134ce4ddf37a6a9bcea07d229964940858853"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_var_test_struct_lengthy_4() { + let mut value = VarTestStruct { + a: 49542, + b: List::::try_from(Vec::::from_iter([ + 24176, 6691, 23594, 34600, 279, 42247, 61589, 7750, 35436, 7515, 9624, 33952, 31649, + 13277, 30992, 9446, 46849, 44684, 29092, 21121, 32148, 37757, 15766, 53992, 14343, + 46848, 13002, 11444, 15204, 27637, 38576, 34625, 26673, 19521, 36230, 2040, 42348, + 31031, 37348, 53512, 47951, 23324, 52778, 59277, 60983, 50449, 925, 31111, 8005, 23828, + 17807, 3116, 37028, 54069, 32494, 42511, 27960, 51027, 4225, 15907, 24504, 5820, 6374, + 9214, 34511, 23569, 39346, 54283, 20963, 46388, 9248, 40785, 26950, 9648, 5362, 27878, + 36250, 20754, 17908, 46299, 52362, 44315, 21562, 21740, 36159, 22140, 40730, 17608, + 5915, 1543, 4244, 63320, 51731, 49433, 56472, 30938, 62884, 13353, 22011, 13603, 39755, + 36974, 14793, 41047, 42644, 47525, 8585, 41126, 3068, 61868, 32452, 52070, 33625, + 59274, 4232, 4123, 62962, 5919, 57924, 42027, 62102, 54757, 44714, 22173, 55963, 55023, + 35385, 25614, 14518, 50974, 21008, 35291, 64803, 23383, 32083, 40008, 54466, 4501, + 40608, 30567, 30581, 45418, 35755, 52742, 9300, 7454, 22498, 6943, 47429, 46974, 23901, + 57481, 34202, 15665, 29487, 22450, 48240, 7168, 37505, 29279, 9176, 14888, 17827, + 30185, 10835, 16258, 10, 2254, 55532, 37893, 26048, 60132, 65144, 38122, 41241, 48651, + 32337, 14493, 27793, 4045, 62823, 41331, 55548, 61248, 8373, 17875, 15170, 39035, + 48214, 39540, 47175, 25028, 39359, 55471, 34582, 31956, 62883, 58081, 25685, 11263, + 32593, 61245, 15820, 41533, 22717, 38000, 1384, 27193, 31524, 22975, 41184, 29342, + 5847, 32060, 7879, 24652, 34137, 33187, 26967, 42794, 5307, 38986, 28813, 57421, 29231, + 36, 18699, 35421, 59357, 26104, 30013, 52482, 5618, 38088, 31838, 7805, 17322, 28129, + 2877, 29566, 6862, 32532, 27071, 1987, 23147, 13110, 18689, 44738, 18454, 18160, 51485, + 37708, 30555, 30998, 59779, 62206, 44125, 65321, 47938, 30689, 52748, 40869, 2952, + 12566, 5409, 44384, 61449, 6342, 56545, 19438, 4594, 22158, 27778, 51319, 50187, 35936, + 14422, 40344, 58111, 5552, 43834, 49356, 55870, 8915, 25853, 46690, 47187, 14809, 1919, + 19597, 42198, 26016, 15751, 52908, 19762, 24896, 44586, 22383, 32549, 52973, 32963, + 54469, 27375, 54695, 8847, 61163, 29739, 21356, 1500, 21492, 7855, 18915, 46901, 55982, + 34455, 49702, 20122, 39680, 24157, 9292, 45732, 34031, 20797, 15331, 42589, 69, 40291, + 13901, 12701, 34931, 17402, 38396, 3110, 39186, 980, 65109, 8001, 54203, 7982, 10644, + 15853, 32133, 33766, 61594, 15788, 29198, 40624, 52298, 4386, 8873, 64378, 46318, + 44016, 31213, 31756, 35290, 21201, 18664, 62670, 24327, 48958, 18623, 3362, 11938, + 14438, 10886, 11030, 56209, 59949, 37520, 17563, 33924, 24993, 34084, 49026, 5634, + 52415, 38219, 48486, 45027, 25230, 2654, 41060, 45731, 39398, 57706, 9221, 26315, 7224, + 16867, 49921, 7805, 18418, 27190, 29605, 36359, 29785, 63860, 24874, 37547, 10873, + 30645, 46879, 1128, 36289, 16248, 65211, 25291, 54314, 20839, 29417, 53234, 58341, + 46797, 56326, 63209, 64319, 6554, 17870, 15067, 55045, 40733, 2326, 15114, 13536, + 25525, 1743, 55935, 19768, 35755, 12992, 55374, 60641, 27321, 43157, 64574, 35891, + 44609, 60838, 513, 51352, 57846, 8060, 36767, 36506, 19069, 54924, 16010, 37227, 28707, + 60322, 32929, 51131, 10723, 30838, 31526, 8309, 47710, 2473, 23498, 53300, 37291, + 10765, 29267, 14344, 19826, 40084, 44731, 10118, 32600, 53186, 61810, 42415, 54321, + 4864, 32063, 15243, 26552, 14641, 28192, 57558, 9781, 44137, 32123, 38308, 12573, + 48273, 47813, 20783, 4285, 45602, 27703, 62809, 56829, 41949, 32555, 12407, 47653, + 33000, 18411, 41481, 9563, 7496, 3352, 42560, 62847, 17073, 42997, 47040, 56191, 25939, + 45878, 20457, 18613, 5765, 32674, 64671, 30294, 22750, 33890, 51595, 21694, 18936, + 46983, 21385, 45557, 50079, 23949, 43257, 40700, 40058, 64281, 10550, 26952, 6781, + 10292, 41284, 40684, 19296, 38469, 65436, 48807, 54970, 33267, 225, 37537, 14390, + 10819, 45704, 47157, 23273, 40019, 63952, 48361, 41840, 37051, 31639, 34707, 24711, + 26598, 24132, 31161, 54780, 40532, 25239, 14389, 10673, 58898, 60210, 61180, 60406, + 58563, 18362, 9816, 3990, 36543, 53267, 36507, 64624, 62830, 40623, 6927, 18675, 63757, + 48167, 36978, 53133, 39634, 37097, 46323, 31345, 45398, 45348, 1612, 59525, 3728, + 54322, 65201, 15868, 46368, 35881, 45423, 36049, 56122, 57932, 53129, 62648, 48375, + 21424, 60423, 2348, 52797, 6775, 5255, 41656, 44466, 6959, 59394, 50100, 64363, 58849, + 35646, 18008, 36382, 9509, 44699, 20277, 738, 12298, 31313, 32696, 40912, 36950, 25236, + 17136, 28897, 47315, 39651, 62937, 14642, 23035, 28629, 32736, 16679, 35939, 31181, + 51426, 53744, 4499, 11172, 56374, 63738, 3664, 33845, 37157, 965, 32592, 63003, 63686, + 19615, 4657, 41773, 31900, 50581, 18028, 1079, 29992, 34383, 5175, 18724, 55095, 34374, + 48355, 12191, 62499, 62508, 63612, 39047, 26733, 53960, 55239, 20815, 65434, 55386, + 60984, 34748, 29996, 3357, 55343, 7686, 20719, 47697, 25815, 46829, 46412, 55814, + 14954, 3357, 42532, 15634, 35270, 32870, 59622, 3985, 27252, 45296, 48358, 8451, 64871, + 57567, 7304, 63953, 10696, 62588, 13406, 49243, 63350, 58218, 10163, 20681, 37966, + 64938, 24883, 12339, 20460, 6435, 5027, 12935, 58835, 25601, 42816, 55130, 46980, + 33955, 2700, 62344, 26772, 49951, 17175, 2289, 34685, 61812, 51435, 45366, 28638, + 36391, 22398, 20053, 60454, 27696, 39806, 23627, 30652, 8110, 20266, 16441, 20423, + 47009, 33684, 60909, 9702, 57568, 26503, 25931, 61716, 16870, 54646, 61593, 19618, + 48952, 4915, 53893, 24200, 63028, 38000, 44874, 7726, 31012, 24641, 61568, 59741, + 52712, 50516, 1360, 61226, 18309, 1403, 32679, 6717, 25356, 41731, 54184, 38756, 3767, + 25101, 24133, 2397, 38331, 2687, 37038, 43443, 47201, 37141, 57101, 31255, 14285, + 18735, 52887, 57902, 27817, 43542, 35864, 42910, 54409, 22273, 32147, 23776, 15718, + 27147, 30733, 49369, 13919, 46822, 46991, 43084, 36413, 53876, 61482, 23379, 10338, + 2753, 26758, 35000, 60336, 58532, 41487, 56416, 33731, 57977, 48319, 54818, 623, 31523, + 48801, 30764, 2552, 25466, 44332, 14911, 43224, 31602, 105, 48493, 44213, 24487, 57050, + 14160, 34137, 57442, 62213, 29737, 33973, 40612, 19783, 51676, 31939, 20052, 50605, + 20918, 55316, 48016, 40253, 58739, 26284, 31291, 19970, 11793, 11690, 14549, 35505, + 61927, 8663, 27698, 5182, 27535, 38689, 43328, 34168, 25500, 61636, 2259, 64968, 36733, + 31201, 25144, 41771, 2888, 28180, 10426, 40259, 47533, 35148, 29417, 2389, 33575, + 33454, 53437, 29607, 56328, 26017, 1631, 55664, 41612, 6499, 21837, 54618, 41586, + 21958, 48422, 32507, 4943, 28887, 35079, 29344, 42857, 18651, 21237, 43919, 29056, + 63768, 10172, 44679, 3866, 9606, 24041, 32219, 22596, 8366, 42644, 32522, 41151, 2680, + 15538, 34354, 47859, 36035, 60830, 54743, 52989, 24891, 42186, 33301, 36198, 30264, + 44612, 3714, 29131, 28926, 55360, 43546, 38201, 31205, 18149, 17004, 46729, 47446, + 15866, 31071, 9267, 60229, 1970, 25222, 59538, 1375, 21638, 18073, 38411, 33281, 12698, + 11192, 11252, 24193, 52988, 48070, 39438, 1888, 7320, 63951, 40461, 22286, 40137, + 61093, 52731, 30123, 17484, 3302, 22216, 55458, 608, 34610, 10863, 22823, 50379, 6078, + 37084, 2682, 5584, 43468, 44929, 16330, 57616, 12260, 59257, 2719, 11929, 39447, 16197, + 53235, 60854, 48756, 20252, 48603, 18883, 1404, + ])) .unwrap(), + c: 123, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_chaos_0/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1bfc71829055edccc1da5e34d4fd7a58a849e343be7cc6734311c62d841e19b8"); + root_from_hex("0x8c5021941ca0553eaff53a2b56b2ff86bee1249c77c700d3f47406569bd0b01f"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_lengthy_chaos_1() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([false, true, true, false, true]), - b: Bitvector::<2>::from_iter([true, false]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([true, true, true, false, false, true]), - e: Bitvector::<8>::from_iter([true, true, false, true, true, true, false, false]), +fn test_containers_var_test_struct_lengthy_5() { + let mut value = VarTestStruct { + a: 15159, + b: List::::try_from(Vec::::from_iter([ + 40266, 41646, 61275, 56828, 55784, 13765, 5796, 17724, 49215, 57779, 48446, 61955, + 31367, 42786, 50032, 49065, 62786, 42186, 205, 17247, 50820, 37658, 24377, 10169, + 41075, 53746, 8356, 25932, 45622, 27068, 52763, 3905, 15862, 28126, 20621, 13913, 3287, + 32731, 64049, 38140, 4633, 59798, 46915, 50652, 56348, 14212, 31268, 28124, 30184, + 42573, 50609, 38750, 56173, 55013, 29426, 30317, 27321, 30176, 53921, 30516, 50391, + 64286, 4002, 26549, 37697, 64128, 62791, 47733, 6758, 23354, 35398, 39783, 5603, 31593, + 29931, 62807, 39525, 22960, 31611, 60076, 61069, 33118, 51633, 36681, 35201, 63131, + 57976, 53980, 26862, 5526, 27693, 59949, 28315, 40673, 21657, 37447, 7173, 6273, 60144, + 46334, 51675, 21959, 14083, 63322, 19817, 11565, 64397, 44620, 33698, 17540, 54907, + 18417, 46083, 57982, 15207, 19947, 39484, 38645, 20556, 47523, 35769, 60442, 16245, + 7136, 36210, 64424, 59417, 7065, 25400, 17770, 12639, 53513, 26893, 24945, 20458, + 44064, 32684, 33195, 34288, 54811, 64545, 26163, 1606, 34438, 61765, 27354, 49031, + 43873, 27699, 55178, 20057, 26741, 56039, 48720, 42869, 11207, 18823, 35744, 16640, + 51189, 56213, 39393, 11279, 57428, 25401, 51327, 12373, 46056, 39658, 22790, 16024, + 27028, 6877, 8169, 26767, 23285, 24104, 40186, 18733, 6293, 30884, 49327, 63942, 44730, + 59946, 567, 4896, 3305, 61423, 16351, 57417, 16923, 61467, 4028, 50748, 25219, 2858, + 23941, 16045, 6325, 39192, 52108, 20202, 23170, 28164, 32713, 8566, 65058, 17592, + 31227, 9495, 58572, 59169, 64539, 18195, 25848, 62999, 2567, 625, 27932, 38439, 63734, + 18357, 16889, 10120, 58645, 45807, 28477, 24032, 61881, 28697, 15837, 40711, 62441, + 43212, 36747, 47247, 48702, 5004, 50713, 58757, 327, 32023, 18047, 44629, 56156, 49809, + 27253, 8667, 43371, 22270, 49207, 57148, 55652, 12853, 57297, 4882, 5033, 15717, 20909, + 51369, 1660, 28602, 58525, 64722, 33487, 10225, 41969, 15432, 39244, 6650, 11309, + 50468, 39975, 47851, 28207, 21584, 32420, 12698, 49458, 57098, 64727, 23627, 25878, + 61213, 34397, 27200, 58343, 26552, 19799, 59954, 61221, 47544, 35901, 35508, 52836, + 1719, 31754, 34244, 52550, 16561, 58801, 25853, 43681, 39390, 12185, 9972, 47546, 1829, + 5990, 64073, 18298, 9266, 12496, 4894, 41007, 6298, 60698, 4441, 23191, 20980, 44225, + 26750, 26529, 44543, 60132, 53479, 24363, 10817, 6294, 33523, 21955, 35783, 814, 30126, + 41274, 13287, 20372, 38718, 43249, 10103, 41521, 41728, 15359, 23356, 13482, 47949, + 60925, 19649, 50587, 2028, 16188, 47406, 32411, 18392, 50087, 23556, 28540, 46938, + 34260, 24645, 1090, 17582, 12425, 40898, 18533, 57465, 9365, 16851, 36173, 49601, + 57394, 9303, 1450, 11421, 34731, 36704, 36258, 58268, 51543, 60559, 10002, 18373, + 38304, 63147, 46545, 11631, 36682, 65507, 61565, 13008, 37688, 35285, 10122, 16840, + 44192, 52338, 24551, 10878, 38335, 1428, 8548, 41925, 37327, 32416, 57973, 14418, + 65315, 54073, 7303, 35650, 38067, 26344, 33488, 6148, 58584, 11080, 36753, 48068, + 60853, 823, 28807, 24356, 42206, 36600, 60392, 34488, 18009, 9267, 4261, 30247, 1832, + 49902, 55776, 25964, 63822, 39898, 54359, 37226, 6056, 51461, 42397, 51733, 8952, 1902, + 28244, 5940, 55887, 21082, 57457, 54552, 46612, 30577, 49304, 29271, 52470, 24464, + 9714, 63341, 24988, 64426, 58887, 62248, 41551, 56777, 54860, 28940, 55726, 6549, + 22294, 55725, 30601, 42710, 14039, 52355, 7119, 42975, 36398, 1930, 23194, 44716, + 38544, 2894, 21186, 42457, 54454, 55759, 64726, 1852, 23267, 9989, 28219, 217, 39404, + 62326, 36654, 45520, 58659, 22569, 31612, 25724, 52933, 54063, 33087, 41451, 18482, + 56623, 6304, 65297, 62609, 53445, 20788, 41257, 22370, 45448, 65004, 37023, 6513, + 35082, 34973, 11324, 23313, 11166, 61355, 31282, 23348, 3442, 41310, 14410, 2014, + 22002, 61242, 60764, 50457, 28559, 36741, 53740, 61396, 19742, 20263, 59788, 45465, + 5999, 58492, 34682, 60825, 55849, 53614, 48937, 54765, 14165, 20739, 49363, 2825, + 36502, 9126, 61867, 63656, 55683, 33646, 55788, 1976, 48822, 27901, 36850, 36062, + 13705, 42944, 4739, 19406, 42522, 14031, 9424, 62422, 20085, 31389, 4691, 1664, 17488, + 59411, 51719, 53248, 53066, 11988, 11526, 839, 13086, 64255, 41602, 41621, 6730, 35219, + 45484, 21924, 35220, 8997, 54406, 1963, 18713, 1689, 48031, 64652, 2562, 56373, 45801, + 6715, 61166, 9535, 15176, 35880, 60603, 53642, 30585, 58224, 57970, 23717, 52159, + 55203, 64886, 43811, 21809, 60137, 52074, 2427, 41056, 52065, 48321, 61357, 31128, + 63474, 19282, 42205, 64338, 52686, 48111, 12309, 33128, 56312, 25846, 23180, 62647, + 1918, 47884, 43671, 32982, 720, 52850, 21660, 60389, 44679, 60224, 6524, 30144, 35778, + 58718, 39114, 2284, 26229, 683, 5325, 17429, 56506, 59126, 8096, 60346, 24052, 56057, + 12781, 18297, 61239, 17808, 29364, 43074, 14597, 61708, 56273, 46909, 49018, 36433, + 1378, 4165, 1576, 12138, 34945, 55039, 55036, 22472, 38716, 13039, 58305, 12691, 31453, + 31231, 26723, 43467, 34003, 48679, 18972, 41114, 28527, 46927, 55097, 4018, 37957, + 16218, 52456, 10564, 54694, 32175, 45058, 26121, 34762, 13729, 21576, 41371, 31687, + 2777, 6054, 21893, 1826, 7885, 11857, 30076, 17308, 22458, 41625, 42706, 20125, 42911, + 31021, 2016, 7295, 15907, 59269, 14430, 27729, 41255, 56802, 40413, 52836, 40571, + 19781, 19511, 39353, 2203, 20540, 50713, 28025, 11288, 23858, 30906, 14831, 51241, + 38482, 29467, 40739, 22915, 28559, 62212, 15451, 1785, 36094, 12095, 55418, 58100, + 14415, 42213, 3993, 27868, 25731, 53728, 53814, 56621, 9064, 11021, 55263, 6028, 48344, + 5647, 44402, 6470, 60431, 41746, 22183, 13371, 14935, 7984, 59835, 35098, 9046, 18696, + 60865, 11445, 32353, 37537, 42674, 39469, 56849, 36301, 64063, 34090, 45803, 45644, + 32168, 8650, 42425, 2885, 55870, 53898, 8613, 45166, 12328, 43003, 7596, 16808, 52606, + 33787, 8079, 5887, 34729, 8977, 4941, 64214, 12625, 23713, 35509, 35288, 27855, 61603, + 23221, 24087, 2651, 47664, 14691, 45924, 28964, 7892, 4004, 56152, 64321, 11425, 55781, + 24967, 27437, 60968, 28528, 802, 40192, 50137, 923, 30539, 5466, 35683, 31453, 53346, + 25938, 61027, 60517, 31683, 41838, 21897, 46743, 32110, 11414, 26229, 51251, 3953, + 19554, 56673, 7711, 52659, 54031, 49501, 34924, 3052, 41045, 55152, 38717, 50952, + 27832, 6652, 16988, 32005, 35892, 31525, 63326, 62447, 43759, 6586, 2966, 48284, 39202, + 11599, 18244, 61583, 64894, 8393, 52087, 56738, 63364, 33619, 30876, 37388, 38748, + 26641, 16052, 64964, 4936, 4889, 31626, 61209, 5332, 4895, 15946, 47219, 43451, 60011, + 46921, 42616, 6807, 44286, 53386, 15090, 3790, 9451, 42557, 21237, 58854, 17340, 39880, + 5134, 51854, 42730, 10774, 33289, 61764, 52806, 36261, 64602, 45571, 59385, 59626, + 35994, 17746, 16175, 24702, 17890, 23900, 28308, 6044, 36617, 51900, 58907, 28840, + 39632, 10362, 1773, 55690, 21503, 29648, 33760, 47045, 16792, 15348, 41911, 65046, + 27133, 58266, 50916, 22440, 11367, 61567, 51332, 20347, 30981, 21759, 20725, 30837, + 56781, 37830, 31915, 48263, 14330, 2594, 57138, 51927, 51244, 27232, 3128, 44021, + 51173, 7697, 32119, 17398, 32775, 21509, 46252, 27407, 62467, 45228, 49480, 61986, + 38413, 5459, 2861, 42474, 48881, 28027, 20981, 59394, 60034, 58475, 53265, 22845, + 44462, 9073, 51844, 46219, 37527, 28131, 15546, 38281, 14527, 5713, + ])) + .unwrap(), + c: 136, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_chaos_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("b73c9629e7f6c711c93f623c20ae2887b6cdb264f1e89a62516a4da6954611cb"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_zero_2() { - let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_5/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + root_from_hex("0xc1155932fbf4dfa2b35cb98acc09f52cde342511a72a66655dd4d71c748efaf8"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_max_0() { +fn test_containers_var_test_struct_lengthy_6() { let mut value = VarTestStruct { - a: 65535, + a: 64971, b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 40774, 45065, 65170, 5097, 16471, 56033, 19897, 27009, 55421, 7846, 18876, 49670, + 13259, 59362, 45667, 64558, 10061, 9596, 31551, 46737, 2639, 18143, 35668, 25923, + 36376, 23629, 57770, 10111, 24001, 7830, 3948, 46498, 21584, 4200, 13663, 33067, 59311, + 4819, 37117, 64931, 44531, 52134, 1430, 51212, 36068, 15568, 49790, 12749, 23572, + 16151, 19046, 24408, 64158, 15625, 47083, 20856, 54012, 29810, 28222, 24397, 16557, + 19267, 55778, 21668, 30801, 31746, 22174, 34529, 22945, 27457, 62190, 50136, 48305, + 16009, 63764, 65302, 65438, 47414, 60619, 28274, 5480, 65506, 15983, 19708, 58833, + 56349, 38304, 17205, 61093, 64211, 32485, 28569, 19674, 13339, 46112, 24498, 25750, + 29375, 50973, 25680, 18754, 24211, 25697, 56, 13857, 5751, 18928, 16508, 10814, 18695, + 67, 60001, 37795, 5120, 29170, 28343, 44425, 5103, 21851, 9834, 7667, 55788, 56104, + 12307, 58516, 14587, 22737, 28475, 22249, 58531, 58094, 6508, 48690, 31553, 61208, + 53678, 13813, 55542, 37296, 48334, 40318, 62315, 42786, 37277, 8146, 14890, 29045, + 5103, 17431, 24505, 25625, 17976, 59622, 20697, 53216, 15896, 28389, 56453, 25137, + 31685, 38166, 51712, 53769, 16104, 10828, 32264, 65100, 27909, 49558, 21803, 9027, + 12724, 62924, 63455, 24521, 57571, 20608, 29422, 14941, 38930, 3872, 59608, 12715, + 48381, 51290, 50549, 42440, 19838, 13794, 35247, 34355, 11713, 41696, 12890, 11399, + 33195, 10695, 3108, 20482, 40575, 55627, 510, 33803, 57263, 21731, 2987, 64150, 15790, + 23502, 9509, 44955, 44989, 31999, 65326, 55944, 64065, 34754, 62481, 30984, 31635, + 13396, 59187, 64822, 47703, 16734, 9497, 13409, 58763, 25059, 15369, 39800, 59064, + 57777, 39067, 51491, 16990, 21832, 49126, 22305, 16738, 49169, 53302, 48143, 64253, + 11487, 62349, 18465, 25005, 2187, 20076, 30722, 20603, 52198, 34362, 11076, 53420, + 13240, 44102, 7925, 30092, 9770, 44512, 21895, 9402, 27408, 41562, 18541, 11001, 35630, + 33585, 20222, 16148, 39468, 54090, 56945, 32539, 39850, 18492, 9324, 49132, 17133, + 65101, 40288, 32959, 64232, 34002, 27234, 3247, 60173, 6612, 31249, 41236, 21144, + 37743, 14100, 43723, 56098, 20453, 26463, 9332, 10448, 61593, 56811, 55137, 64910, + 49636, 56860, 6119, 20563, 3717, 45400, 31513, 22454, 1679, 44069, 58266, 27392, 21672, + 57541, 57911, 39043, 2211, 44837, 11206, 26407, 5650, 12664, 14980, 46066, 1742, 46314, + 19538, 40224, 12916, 13292, 17050, 37958, 39923, 47825, 11199, 15046, 26984, 43252, + 53440, 18540, 42290, 27623, 53563, 13108, 62984, 37857, 28030, 33459, 56216, 18200, + 56614, 36556, 15662, 1037, 43164, 20624, 8888, 51760, 57500, 1107, 44480, 12656, 8819, + 12157, 3525, 15378, 55142, 40246, 25204, 15596, 45618, 4788, 55734, 34111, 59080, + 65496, 62130, 59227, 28310, 12030, 49527, 6787, 31127, 2232, 47740, 12675, 53517, 9498, + 5376, 35772, 4043, 43995, 26459, 32253, 51908, 47110, 16206, 58912, 63831, 50467, + 43485, 60556, 32610, 28632, 59872, 24892, 47267, 11664, 41738, 21242, 38358, 42981, + 27249, 8946, 63540, 18209, 49392, 38071, 18504, 6692, 18317, 2330, 15972, 61190, 12897, + 35275, 29690, 42809, 7628, 56816, 40985, 34180, 38613, 19570, 24215, 20289, 31268, + 25707, 30953, 61128, 49858, 47164, 27258, 63210, 25744, 10710, 16104, 37579, 8674, + 59213, 51119, 14578, 35741, 32345, 44208, 4890, 16064, 55411, 45236, 40737, 12112, + 41466, 3068, 5286, 28355, 49680, 21941, 12506, 29789, 41957, 52635, 43889, 25845, + 36905, 31230, 27641, 6706, 36949, 29425, 31070, 44041, 29936, 35986, 47553, 47686, + 3527, 3694, 59911, 52014, 2102, 9887, 16587, 45417, 46869, 53432, 57067, 48705, 51375, + 33265, 50675, 42162, 52850, 11513, 27881, 51457, 17062, 18988, 9284, 33599, 9660, + 43392, 53174, 37759, 49597, 6983, 29122, 63296, 52955, 30240, 61494, 18793, 44289, + 26155, 30080, 21586, 42541, 54747, 1374, 4462, 29187, 33881, 41771, 14322, 7045, 3478, + 3686, 9997, 64316, 36056, 16200, 52613, 20349, 47039, 19367, 31126, 15810, 12497, + 19972, 38231, 12327, 15223, 39398, 48524, 52897, 10594, 26469, 29975, 14058, 28287, + 54062, 63545, 32326, 55902, 49495, 6971, 16175, 6269, 16332, 40733, 14148, 57254, + 20291, 30514, 1401, 5330, 62581, 10125, 57801, 53755, 793, 24246, 41421, 34479, 354, + 60708, 36099, 40827, 15605, 27539, 10509, 12268, 15083, 2483, 10801, 36195, 58324, + 55028, 160, 29721, 2470, 51783, 5065, 5192, 56437, 32574, 45830, 39511, 56774, 48139, + 61561, 2382, 1528, 34507, 15936, 7072, 39164, 59390, 28913, 8056, 30601, 5245, 39879, + 12841, 36986, 62506, 18167, 55951, 2609, 30796, 2075, 48830, 1061, 33832, 6580, 4035, + 44183, 9653, 7051, 56146, 54571, 27132, 8366, 24509, 57094, 61014, 63036, 46907, 46808, + 27189, 8008, 27669, 65397, 19509, 31043, 21722, 29604, 35622, 40847, 21522, 64302, + 51059, 21307, 994, 43154, 6147, 4465, 8106, 27534, 34215, 39459, 52628, 34530, 42293, + 25910, 61857, 32612, 38607, 48095, 55746, 64429, 5639, 55007, 1663, 2163, 64568, 57610, + 38969, 55004, 23756, 9830, 41968, 36551, 42024, 12681, 6845, 23292, 59869, 57931, + 38959, 9817, 51524, 18205, 33326, 61883, 53064, 10571, 45597, 23549, 15586, 7176, + 43530, 54365, 47336, 1916, 44005, 17095, 51578, 21104, 59930, 5761, 51585, 31712, + 39207, 49513, 40989, 62146, 47088, 44958, 64994, 43389, 63619, 5571, 43822, 63750, + 22179, 20902, 23967, 8418, 15853, 41176, 16517, 47557, 16346, 1651, 12510, 51067, + 34628, 372, 45316, 24357, 58746, 21948, 18187, 65335, 33868, 28452, 50715, 38157, + 54584, 65232, 18879, 36185, 44192, 39901, 26183, 29071, 59147, 61432, 65026, 26747, + 2119, 41935, 39579, 2170, 33594, 7133, 37391, 21320, 62596, 63632, 58419, 49259, 9457, + 29473, 36503, 45520, 39648, 61208, 51551, 19402, 11087, 36862, 35980, 22827, 9086, + 60845, 55162, 38429, 39683, 45375, 48240, 20337, 39223, 55330, 16255, 47375, 62729, + 44078, 61580, 24641, 2120, 10603, 28425, 25779, 2045, 29794, 24616, 35983, 10817, + 10156, 20282, 25531, 20521, 28380, 47790, 15657, 48250, 26996, 36368, 2970, 49697, + 7927, 43512, 2825, 30974, 57358, 40868, 4760, 65411, 18766, 19284, 35368, 7148, 48838, + 40734, 6172, 20580, 8186, 45145, 52163, 36315, 15311, 29498, 4463, 3688, 33609, 55836, + 28252, 58520, 34515, 46552, 61523, 24952, 19857, 3336, 13679, 55511, 5099, 38850, + 33963, 42866, 35611, 31759, 60452, 32834, 55234, 8671, 48217, 12951, 23795, 10353, + 60005, 50334, 22863, 4494, 8371, 24235, 3459, 49590, 54442, 56983, 29468, 61233, 52999, + 50233, 14298, 23565, 57732, 48815, 61357, 63393, 63211, 65028, 52663, 17295, 54230, + 37747, 21716, 7801, 21972, 11855, 8872, 60260, 3514, 30734, 56542, 44127, 15399, 39049, + 13877, 18266, 12728, 36734, 58673, 13172, 30899, 33758, 57028, 56440, 47497, 53878, + 455, 29107, 29059, 53381, 28659, 7968, 59421, 60965, 56542, 46548, 40813, 34449, 9629, + 38091, 15287, 11362, 61806, 61220, 43427, 9448, 51328, 61558, 22077, 1288, 18853, + 42480, 20553, 34622, 9965, 40304, 56925, 453, 24072, 10614, 27545, 43353, 21413, 8654, + 13117, 51057, 44329, 9178, 12592, 57532, 49952, 31, 62331, 54527, 20925, 7217, 19218, + 56366, 43338, 30314, 44804, 46668, 37749, 56160, 21115, 19460, 10844, 39304, 39656, + 48719, 1175, 3569, 23957, 52379, 51340, 45625, 61608, 33272, 9657, 33622, 35346, 23400, + 22480, 1646, 8067, 13352, 45083, 52481, 21408, 42809, 18754, 45494, 31515, 64093, ])) .unwrap(), - c: 255, + c: 170, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_6/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -18988,20 +18635,105 @@ fn test_containers_var_test_struct_max_0() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("91158cf42f7e55a15dc111ce85b67225bb2e07042fb0a85b43b12f1b734c9bb9"); + root_from_hex("0x1b1286cbc2cedeb2013dbb49743dccf46f4b831a1b6d0dd6ccfd996f53c580dd"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_nil_chaos_1() { +fn test_containers_var_test_struct_lengthy_7() { let mut value = VarTestStruct { - a: 35832, - b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 217, + a: 41770, + b: List::::try_from(Vec::::from_iter([ + 58939, 21346, 39284, 62459, 30183, 41116, 8063, 63486, 50992, 6541, 49668, 60143, + 38467, 26826, 12182, 37815, 18526, 17712, 33594, 12022, 16696, 19151, 44382, 31811, + 20482, 42567, 20900, 54855, 16896, 27407, 46202, 42501, 10659, 30202, 9054, 1340, + 64714, 8189, 52178, 712, 49939, 63055, 54182, 60645, 28568, 22527, 51057, 53132, 1652, + 14120, 55140, 20577, 42350, 39306, 39901, 37111, 62066, 44384, 8075, 2975, 8973, 9748, + 44527, 41078, 13066, 9238, 49084, 48165, 49417, 39356, 57288, 25594, 10919, 30294, + 58612, 54396, 54135, 26532, 14982, 58127, 11476, 27682, 23718, 60617, 17202, 24420, + 20563, 28407, 56551, 35332, 59401, 2774, 12601, 1199, 28657, 58228, 9550, 51679, 56963, + 44504, 30517, 55203, 57026, 20210, 44338, 55511, 1189, 41244, 35557, 12489, 10931, + 7227, 49806, 25541, 59745, 13449, 40286, 32662, 56553, 47090, 26271, 55614, 5123, + 39726, 44554, 21558, 30578, 39393, 46994, 38432, 48010, 36725, 28385, 30852, 23857, + 35242, 30498, 18176, 8110, 28993, 16601, 43712, 36377, 878, 34191, 10115, 6034, 3833, + 34199, 19402, 10556, 30570, 31450, 3999, 32260, 49742, 19134, 60144, 40792, 13499, + 29805, 26377, 30190, 2815, 15483, 26424, 40657, 62597, 6101, 52829, 20630, 21497, + 10114, 42981, 20637, 55214, 11988, 52133, 40299, 41685, 19382, 57901, 48895, 16931, + 55797, 24608, 27750, 35616, 695, 19623, 55022, 58160, 4217, 21996, 47287, 9066, 49126, + 13741, 17970, 49058, 55653, 52010, 3553, 63109, 48656, 32895, 16240, 18198, 14261, + 5852, 26095, 20822, 652, 23025, 58326, 48328, 11988, 18805, 50594, 14264, 57689, 32144, + 13985, 29853, 64814, 23343, 20157, 15998, 60728, 28482, 56246, 4032, 48872, 23408, + 22535, 63105, 27901, 46529, 49777, 9464, 494, 16701, 1206, 225, 41632, 55076, 9591, + 57060, 48760, 5072, 58394, 21332, 61403, 50567, 34739, 61692, 4558, 49268, 61278, + 47862, 60112, 44638, 24051, 1077, 47496, 10180, 24812, 40513, 63623, 16823, 44383, + 11923, 26762, 39442, 59621, 17596, 30537, 57658, 65104, 24590, 64604, 40265, 25098, + 9950, 42222, 25481, 16125, 2171, 32553, 7630, 62558, 30171, 17754, 48642, 22275, 7637, + 58428, 35485, 56539, 59926, 30201, 48305, 37085, 29333, 26215, 3784, 56490, 8789, + 40120, 33186, 8941, 58379, 55493, 14184, 22585, 34044, 38215, 847, 44160, 35127, 23719, + 39814, 33300, 13886, 50489, 7672, 20590, 750, 57369, 35885, 38292, 7828, 19205, 97, + 32135, 36588, 7704, 43158, 45747, 63375, 4283, 49423, 40946, 11366, 9287, 35779, 37003, + 62576, 55195, 15070, 10340, 6438, 20519, 29621, 8625, 61174, 35659, 8832, 40928, 32446, + 63888, 21344, 39968, 49611, 27218, 32740, 19588, 7319, 61430, 13021, 18217, 52802, + 61141, 6213, 45390, 21528, 65051, 23046, 32058, 39284, 40898, 61535, 62940, 36949, + 18942, 17841, 42794, 29454, 36643, 23817, 28916, 26417, 9265, 33014, 42171, 52412, + 19692, 4864, 21306, 42823, 52206, 46163, 56650, 56915, 37407, 20063, 2065, 55659, + 39768, 6072, 19178, 61664, 33798, 1738, 21948, 46264, 51883, 457, 3210, 17697, 30844, + 30922, 39855, 583, 9437, 35302, 42587, 19868, 61758, 24495, 52663, 21017, 18973, 5219, + 33515, 16067, 19238, 44512, 47818, 37123, 1710, 38117, 63783, 46, 61974, 48117, 63709, + 31330, 41901, 12686, 45671, 28016, 7959, 6473, 45092, 1525, 36424, 21716, 28716, 29690, + 36111, 39841, 44261, 28668, 53630, 25657, 23128, 42585, 63590, 16290, 47071, 17586, + 63367, 32173, 47347, 33849, 46199, 44858, 1431, 21333, 41585, 25872, 44014, 26043, + 32445, 25089, 30491, 57854, 5699, 63622, 58202, 65170, 55483, 47836, 29777, 48829, + 31728, 15466, 57028, 44130, 49665, 58482, 38995, 45642, 41884, 41663, 5947, 65329, + 49007, 38614, 6826, 49817, 16491, 6084, 61512, 23725, 2538, 11947, 28985, 3442, 33443, + 60318, 41826, 22767, 41128, 24852, 4993, 54919, 58195, 65200, 46522, 31519, 61164, + 56224, 33206, 32765, 25182, 63650, 26199, 52602, 47729, 63543, 20645, 56556, 18113, + 18926, 52879, 9942, 14315, 32647, 40445, 37993, 50037, 9929, 52152, 5929, 10107, 932, + 51200, 41618, 41859, 35266, 16116, 38731, 17805, 13825, 40712, 39972, 61992, 56937, + 48542, 37801, 60178, 32444, 16899, 19746, 38263, 62850, 21174, 63289, 22588, 2779, + 61385, 23093, 45035, 60014, 40008, 60399, 17843, 56663, 36167, 31505, 15600, 30531, + 25171, 56859, 11091, 44987, 35997, 65273, 3892, 7268, 63562, 20626, 22262, 50615, + 19627, 5829, 40067, 12945, 31450, 47946, 21168, 49041, 56746, 56499, 55680, 76, 3117, + 60005, 21900, 19558, 2579, 2546, 18794, 34018, 8390, 30159, 22918, 60518, 657, 6213, + 58030, 24457, 42466, 40615, 18842, 17930, 21037, 52428, 59240, 48155, 42710, 13138, + 19201, 33753, 32815, 54534, 20160, 22286, 44228, 25521, 9223, 40720, 15788, 6038, + 62872, 39859, 23700, 57158, 53083, 11309, 40725, 1558, 25212, 31354, 46330, 7851, + 21645, 7365, 57600, 40310, 55336, 25315, 1824, 19125, 6533, 8833, 6165, 22423, 32182, + 54976, 55260, 15679, 10223, 13181, 13315, 16577, 46196, 39818, 42779, 8735, 27555, + 48730, 37154, 54589, 51826, 49335, 53927, 4064, 47031, 22823, 36071, 24381, 9280, + 58774, 34858, 20478, 35270, 1322, 16684, 819, 55770, 45201, 50553, 13608, 3280, 57801, + 44270, 23123, 63775, 18291, 60870, 17669, 17275, 53773, 27042, 54772, 29957, 18286, + 33936, 8136, 65026, 42341, 63119, 406, 30194, 7991, 25185, 50298, 379, 15588, 20844, + 19818, 31347, 26126, 5144, 23273, 41826, 27028, 58115, 34546, 49994, 47001, 6618, + 26080, 12506, 62220, 21096, 11180, 42564, 41073, 27052, 39006, 25417, 29074, 9520, + 33476, 45148, 13077, 33902, 16624, 29648, 41728, 63676, 141, 3569, 27794, 29044, 46305, + 14395, 29144, 52352, 23925, 33807, 11661, 12498, 49388, 51006, 2272, 46677, 3473, 5723, + 38086, 40645, 46357, 264, 27917, 11511, 8712, 42179, 50300, 29592, 48781, 48744, 63278, + 2587, 63990, 57261, 11977, 19185, 34199, 1404, 14520, 60498, 25689, 17033, 7525, 56408, + 24282, 48551, 59994, 4635, 14452, 17579, 34087, 20437, 56108, 29764, 47434, 7779, + 32911, 46410, 37329, 39708, 7296, 30065, 17759, 40292, 17383, 48373, 8578, 65108, + 30537, 14267, 1763, 15449, 25201, 8090, 62505, 28057, 17162, 35386, 64970, 23526, + 48384, 26426, 52805, 32682, 40288, 486, 60113, 4626, 27971, 33038, 52074, 47860, 7127, + 44211, 15324, 13280, 10912, 28088, 40103, 39615, 14579, 30440, 59337, 46958, 996, + 21936, 28687, 35555, 58923, 37446, 33971, 20055, 14682, 39316, 1154, 49858, 23148, + 51971, 2627, 65155, 24528, 29153, 44830, 54030, 31984, 4977, 55284, 64169, 22970, + 65323, 18149, 37260, 29378, 49863, 56516, 6457, 11161, 18672, 49883, 26058, 54728, + 16794, 33905, 63654, 32956, 45834, 27138, 27095, 53009, 54159, 8538, 53786, 56204, + 29089, 35375, 14190, 46500, 3428, 53800, 5512, 61459, 34103, 46566, 56473, 28012, + 61737, 8839, 56906, 1214, 20870, 246, 19739, 13023, 15645, 30344, 31638, 1481, 25217, + 40583, 41707, 8317, 44506, 20646, 33362, 27605, 56049, 30706, 22501, 47687, 61778, + 4231, 9735, 58330, 20570, 60656, 33736, 25224, 13867, 58191, 42151, 50251, 59452, 317, + 16137, 62367, 10744, 63987, 59365, 46735, 13258, 37835, 24328, 2060, 15162, 12492, + 10300, 20493, 41130, 11947, 40310, 57510, 22455, 8054, 27136, 58481, 49567, 2032, 131, + 44782, 12937, 54439, 61512, 61524, 62347, 8736, 50916, 12666, 27574, 40709, 35405, + 64670, 55436, 14262, 6434, 58879, 11548, 40304, 47497, 28882, + ])) + .unwrap(), + c: 7, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_chaos_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_7/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -19010,25 +18742,7 @@ fn test_containers_var_test_struct_nil_chaos_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("efee06dc27b3f364ac899b45bb1d3e1612a7516d0254907aad6e7320301d5e42"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_small_test_struct_max_chaos_0() { - let mut value = SmallTestStruct { a: 65535, b: 65535 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_chaos_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + root_from_hex("0x060123a3d904a063f06fd68668b87b5cf3055b5dac360e394c82a93f77f59122"); assert_eq!(root, expected_root); } @@ -19136,123 +18850,105 @@ fn test_containers_var_test_struct_lengthy_8() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("961192fbfbb60058c5e4d339d23f123b1765d795e35241da12e2a85b3dbdda63"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_zero_5() { - let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_5/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + root_from_hex("0x961192fbfbb60058c5e4d339d23f123b1765d795e35241da12e2a85b3dbdda63"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_lengthy_1() { +fn test_containers_var_test_struct_lengthy_9() { let mut value = VarTestStruct { - a: 21335, + a: 2619, b: List::::try_from(Vec::::from_iter([ - 53687, 9781, 37580, 36287, 56492, 62426, 6786, 16575, 14820, 21314, 43, 42803, 61037, - 55553, 43292, 62549, 23043, 65499, 51093, 2130, 30867, 53292, 54946, 27806, 65429, - 27054, 9468, 28940, 46366, 15787, 21008, 19291, 10097, 14975, 18615, 40454, 40324, - 32529, 6816, 11809, 9740, 59339, 29600, 16083, 12451, 56503, 1382, 8773, 29586, 53659, - 42520, 46543, 23980, 64378, 40740, 381, 13297, 45284, 21134, 5230, 38998, 34699, 45586, - 62995, 58512, 35298, 34306, 408, 40208, 6579, 44566, 1903, 15773, 47698, 56595, 26272, - 62506, 53061, 56457, 40276, 45824, 42255, 54061, 45839, 41065, 14926, 1091, 61924, - 4444, 49225, 14676, 62967, 34409, 26168, 8414, 23339, 39904, 42813, 24062, 50545, - 21423, 58171, 49180, 61029, 13173, 5145, 18804, 48727, 62076, 43178, 48692, 41178, - 43103, 37665, 40451, 45167, 32245, 40288, 31623, 21071, 15588, 7001, 45070, 8789, - 58699, 44996, 37738, 31275, 29819, 39467, 47921, 24206, 20166, 59674, 41146, 64905, - 44694, 27619, 55577, 835, 23061, 25610, 7178, 50537, 25901, 4157, 1149, 31320, 64393, - 46562, 36222, 22098, 34630, 26192, 3788, 12468, 20032, 42393, 45254, 16586, 41974, - 20460, 15733, 707, 63515, 21110, 60993, 30053, 1681, 26342, 9206, 3133, 62787, 47985, - 14161, 8514, 44436, 8770, 25547, 4957, 23030, 28250, 61622, 45946, 16868, 18860, 13695, - 32807, 12855, 64492, 14950, 39900, 28111, 20706, 31699, 5609, 38357, 4262, 56977, - 11151, 47197, 33644, 21125, 52114, 50627, 1372, 34281, 44823, 23061, 8458, 9672, 6493, - 57275, 46606, 35014, 57577, 13817, 38167, 15226, 48657, 53879, 15771, 22193, 12027, - 35347, 59935, 35917, 48464, 8617, 11283, 62478, 21958, 12064, 9114, 32017, 51687, - 32922, 46930, 36643, 39809, 33949, 37357, 32634, 7703, 34889, 44679, 14404, 44097, - 35528, 30947, 13904, 29931, 36122, 37938, 56734, 36188, 10087, 9313, 41510, 24979, - 65100, 14234, 26131, 33094, 45853, 48641, 10554, 60013, 9345, 36865, 22312, 2660, - 38192, 61408, 9675, 42507, 31009, 63130, 4566, 4778, 10416, 30796, 9613, 2453, 2900, - 35154, 41335, 26515, 55937, 59997, 42411, 19443, 57813, 3928, 46303, 57693, 41104, - 3832, 16133, 51970, 28523, 52945, 37131, 62848, 39537, 13765, 54912, 55193, 53765, - 54906, 159, 44499, 31179, 33532, 43778, 36942, 43427, 44909, 32020, 56349, 7777, 32517, - 15019, 21438, 52673, 34153, 45259, 36814, 12839, 22917, 37426, 38539, 64195, 997, - 24514, 6244, 23822, 8458, 37798, 29387, 64114, 21671, 20737, 40696, 43556, 60835, 9579, - 64430, 45701, 44629, 63957, 24374, 5815, 48385, 51858, 721, 1561, 61892, 12345, 34803, - 27435, 38000, 31275, 39274, 7629, 31279, 38789, 52206, 35145, 41238, 20828, 17047, - 17477, 24496, 12876, 30727, 9470, 43849, 35675, 5848, 18377, 38473, 38840, 6363, 12875, - 58437, 21670, 26006, 47662, 43763, 23592, 1268, 29926, 13081, 56201, 54519, 3072, - 18819, 5535, 51273, 53591, 19741, 25874, 50020, 6867, 44530, 58319, 45845, 21919, - 10408, 27307, 189, 25670, 61122, 8170, 51391, 11640, 10759, 388, 52403, 9322, 28102, - 46567, 61649, 32806, 9186, 44802, 27005, 45848, 28061, 37292, 27870, 27397, 1069, - 17483, 28556, 8760, 44012, 37629, 44616, 17896, 25105, 9710, 30726, 60377, 29311, 8822, - 42414, 33180, 58426, 28297, 51093, 15970, 35612, 63049, 24046, 42945, 9133, 40457, - 64240, 29167, 8957, 43322, 15429, 12522, 22747, 48627, 5459, 27318, 17468, 40026, - 57282, 54710, 8687, 15431, 53351, 62726, 16950, 61603, 27956, 4090, 27164, 13329, - 27499, 11993, 52970, 28852, 2532, 35530, 54292, 15841, 17878, 54014, 50213, 37596, - 29322, 62046, 63598, 59100, 45829, 47616, 23053, 61520, 54008, 39084, 31876, 12639, - 4963, 23559, 38792, 22944, 12455, 40495, 53891, 36066, 8147, 44027, 28003, 2378, 61245, - 17058, 58357, 18513, 33054, 18608, 61767, 46382, 17519, 38325, 38036, 11423, 11780, - 16729, 16327, 49800, 14505, 46886, 12844, 53858, 61099, 20569, 52810, 63242, 27227, - 55170, 18848, 31870, 13615, 14364, 10197, 40583, 30231, 237, 60103, 18246, 25126, 3371, - 49760, 19516, 6075, 64613, 28431, 60322, 9481, 14342, 31247, 23887, 32886, 37723, - 46549, 46015, 21070, 12736, 32529, 29112, 40146, 2472, 57822, 50621, 36520, 43590, - 61061, 16688, 46411, 17434, 18737, 24394, 24866, 44450, 5162, 20470, 61990, 36443, - 9772, 30523, 42543, 64520, 38303, 31244, 24361, 18014, 9655, 61188, 48010, 27794, - 10111, 24584, 17885, 23725, 15087, 8886, 58507, 4913, 37786, 30828, 12212, 1298, 42422, - 46718, 10029, 31765, 12779, 57608, 25631, 45735, 35169, 43288, 64494, 45635, 25841, - 5359, 14158, 2221, 50543, 40257, 10101, 6873, 61906, 64832, 25595, 28842, 34243, 23264, - 35793, 47141, 19529, 11914, 49939, 25980, 47688, 28958, 38196, 60357, 48116, 59910, - 45346, 34539, 61880, 22381, 60209, 28923, 29296, 4084, 50575, 30805, 44919, 28252, - 2243, 37828, 5651, 1763, 35757, 17174, 21028, 38029, 4530, 47946, 30954, 61686, 44270, - 9603, 55570, 55448, 28424, 57345, 18843, 31909, 52205, 6768, 50707, 15025, 30354, - 60514, 6756, 19754, 46665, 14341, 13464, 26874, 38854, 22891, 21296, 1788, 3241, 64713, - 37054, 18071, 38776, 14493, 29874, 2652, 53339, 24097, 59331, 12613, 40173, 7503, - 17455, 57637, 10064, 9125, 41502, 3083, 18847, 30477, 5941, 36328, 22238, 28470, 26512, - 37123, 37636, 63293, 29537, 21256, 25737, 31020, 32362, 12521, 58874, 16812, 29945, - 21644, 5691, 52564, 51301, 53544, 33705, 16556, 59570, 59727, 23849, 1290, 15388, - 51564, 253, 63424, 48668, 46101, 35260, 36520, 5917, 36590, 9265, 17901, 23968, 20978, - 20878, 50440, 27616, 49201, 57805, 23729, 29345, 28415, 14212, 238, 45602, 28005, 592, - 40610, 57109, 18428, 11361, 7336, 21591, 6985, 54191, 16928, 28954, 16213, 40401, - 30673, 58581, 27503, 10920, 32550, 44556, 19040, 31162, 5687, 43958, 54822, 39290, - 63494, 35770, 42202, 26967, 11417, 16468, 59211, 19431, 39025, 56164, 24407, 16777, - 31981, 9307, 60487, 18999, 50189, 19923, 13928, 60435, 10455, 34982, 36808, 56649, - 32102, 43195, 4664, 20372, 5502, 33651, 41984, 61250, 4741, 27981, 33006, 37817, 32126, - 20850, 15670, 24747, 18972, 41887, 63321, 17982, 18857, 35342, 20723, 46899, 29028, - 49032, 48537, 58494, 19203, 52416, 14026, 14835, 36753, 19223, 19771, 32024, 69, 41167, - 2946, 24111, 11948, 40138, 12729, 57807, 36307, 20398, 50742, 31331, 30928, 49962, - 34012, 39057, 51817, 36822, 53427, 29076, 14255, 28979, 15627, 35121, 30185, 29456, - 40050, 1664, 50298, 14913, 3282, 50492, 138, 29081, 8124, 37534, 17645, 32281, 36908, - 53276, 10703, 36497, 62594, 37367, 33584, 43941, 52288, 19047, 35625, 45074, 54224, - 13895, 61405, 52060, 19452, 62770, 21142, 57187, 28889, 44569, 47296, 40641, 6863, - 62813, 40876, 57951, 47703, 10120, 62999, 14733, 57778, 44061, 47644, 47047, 29350, - 19420, 45716, 17151, 4321, 47105, 51398, 42197, 9861, 38532, 22527, 50874, 41356, - 33554, 34108, 23673, 12247, 18121, 62076, 2880, 13040, 15016, 36253, 8931, 61221, - 14034, 44698, 13964, 36931, 4658, 35365, 33206, 22522, 28470, 4387, 44620, 15426, - 37547, 1204, 43842, 10808, 44555, 8928, 1360, 51928, 35094, 12117, 46880, 21857, 36550, - 44123, 64962, 61486, 45014, 14782, 29030, 61342, 20843, 63418, 39023, 46959, 41680, - 26702, 10725, 22466, 19641, 29623, 46876, 20714, 33781, 7703, 29365, 46792, 47752, - 44878, 24099, 29164, 65244, 9682, 7327, 51740, 46804, 59564, 65049, 43237, 50717, + 13129, 9486, 51703, 31906, 60795, 3512, 38232, 36482, 19605, 10895, 45636, 37364, + 49145, 33325, 53503, 8438, 42185, 51736, 50109, 42235, 14239, 7631, 8454, 38760, 62033, + 27601, 33010, 12512, 35438, 41144, 10642, 10111, 54718, 63609, 42996, 4237, 51836, + 49123, 55803, 62568, 48996, 39224, 10120, 2400, 32915, 50304, 23980, 28472, 50420, + 54327, 58710, 19752, 5651, 52544, 6064, 22161, 24494, 21480, 12930, 28580, 64999, + 21928, 3585, 34374, 6448, 2412, 35581, 46120, 3428, 1223, 19292, 17038, 31961, 18863, + 688, 6701, 41240, 43500, 20607, 41445, 5162, 50706, 25534, 4615, 18023, 51691, 17938, + 44050, 43037, 52846, 5064, 44070, 54035, 3607, 64313, 4889, 46221, 26376, 7784, 24246, + 35361, 40511, 44494, 61501, 12461, 10880, 48563, 40000, 7910, 16986, 848, 62700, 49868, + 60236, 30866, 2268, 37253, 25882, 48126, 43521, 60291, 12751, 38199, 24997, 58062, + 31034, 23461, 48189, 30813, 7890, 21827, 37219, 19286, 42506, 47303, 63010, 20238, + 44252, 13568, 18847, 5375, 33839, 17941, 62808, 2632, 22775, 18496, 17186, 37109, + 20731, 58902, 28162, 10266, 7132, 27628, 38544, 23193, 65172, 62758, 11279, 35856, + 18530, 10894, 53363, 45254, 44042, 14844, 55036, 25273, 51636, 8149, 10164, 8245, + 61949, 54238, 53127, 25539, 22896, 36207, 37876, 5564, 52730, 34746, 55687, 7464, 1151, + 29280, 15186, 10651, 28822, 4107, 54995, 57005, 9646, 3504, 49677, 52928, 63870, 35197, + 38252, 58610, 57948, 25736, 3346, 2919, 10972, 31031, 35646, 19343, 45882, 46959, + 22336, 10406, 55458, 27314, 49785, 56441, 48223, 30315, 51959, 57547, 58877, 55400, + 46364, 52228, 60183, 9961, 20966, 44944, 58374, 35556, 28606, 14252, 27661, 20040, + 11295, 57982, 16949, 38181, 14064, 13373, 27075, 31906, 16195, 5133, 63599, 18771, + 47096, 6105, 52992, 26812, 1790, 3451, 53702, 45630, 58120, 32090, 8350, 18295, 4411, + 30693, 30337, 24817, 54542, 39023, 26164, 18503, 30783, 51727, 20048, 63012, 36394, + 14916, 40075, 39519, 1132, 18626, 51766, 52279, 40334, 17006, 6291, 22717, 10092, + 23181, 44132, 56083, 9786, 18029, 6053, 14557, 30014, 52849, 53581, 1706, 9603, 56199, + 36428, 60312, 62239, 55564, 16742, 38413, 42095, 36682, 49598, 48525, 23862, 16221, + 51243, 22511, 60687, 33324, 12760, 36109, 6734, 22084, 37502, 64240, 24449, 23693, + 44797, 21166, 7380, 6296, 2295, 43288, 32998, 9944, 53700, 9352, 20740, 500, 50512, + 56633, 47416, 63691, 46008, 8483, 44426, 17792, 44699, 10537, 44692, 39966, 2677, + 27394, 2484, 62071, 58325, 47822, 7499, 58367, 14196, 28419, 38019, 52607, 58221, + 43113, 12555, 36288, 26466, 20047, 57538, 39843, 12237, 65434, 54754, 63546, 60939, + 13147, 32244, 3667, 14189, 5502, 42426, 56026, 20618, 5751, 44457, 35990, 58007, 10301, + 2829, 50666, 53545, 15489, 12265, 8216, 41624, 55574, 42226, 33022, 50865, 13863, + 47814, 61434, 57293, 8217, 9575, 28825, 61497, 60195, 53907, 19271, 3003, 3652, 63265, + 65005, 35725, 34832, 14828, 14620, 9334, 20393, 49964, 61297, 38296, 29031, 55793, + 23833, 61756, 12197, 3409, 37436, 48269, 37469, 33651, 1001, 28922, 7400, 30692, 8736, + 44857, 25380, 1282, 4382, 64094, 125, 3543, 51881, 64797, 64925, 47222, 24197, 14476, + 48816, 54622, 14009, 27728, 10911, 25706, 24069, 42970, 41943, 49346, 27636, 18718, + 57282, 36941, 15260, 62970, 39995, 6956, 13220, 38666, 26615, 52098, 7006, 45239, + 21787, 61988, 48668, 62915, 65185, 15757, 32910, 35001, 6578, 16078, 11833, 43573, + 27141, 25350, 26287, 41601, 17546, 15123, 65232, 60131, 18976, 4630, 57271, 61724, + 34173, 8091, 21227, 37689, 4709, 4654, 61217, 65527, 20542, 50170, 35611, 53095, 30957, + 21944, 11100, 59204, 48905, 36042, 49860, 33176, 60161, 60853, 3990, 39548, 21784, + 3805, 6506, 55144, 50363, 59143, 54351, 686, 25212, 38685, 38466, 39051, 48001, 21904, + 6743, 12787, 52146, 57055, 5425, 37466, 24353, 50157, 49166, 61856, 4293, 11640, 33299, + 59288, 36976, 51305, 5895, 61511, 59136, 5489, 7122, 9075, 44262, 33751, 61943, 19809, + 43416, 10033, 20480, 60406, 54229, 65516, 55686, 33819, 61477, 53318, 45618, 45938, + 49023, 31472, 21065, 38370, 44520, 41075, 12806, 46130, 13805, 33327, 16448, 26, 11537, + 14308, 60858, 25692, 50481, 737, 44745, 3472, 63155, 55956, 45915, 26576, 27677, 18963, + 41482, 4025, 40118, 62560, 18003, 55236, 43808, 18650, 10844, 29363, 43697, 57308, + 9607, 37531, 21355, 21818, 18919, 31194, 51233, 32231, 39687, 25800, 15463, 46202, + 20508, 18182, 52440, 21974, 60644, 16126, 9032, 34067, 51868, 36787, 30967, 47390, + 43901, 11765, 32645, 19950, 17954, 17221, 48198, 57985, 48820, 25937, 35553, 14527, + 25239, 3887, 5349, 21475, 6630, 40605, 29848, 30525, 59074, 17445, 18114, 12171, 37243, + 62132, 53332, 6476, 8316, 1249, 63204, 14219, 61253, 39863, 57987, 48470, 61019, 13302, + 19048, 12534, 39234, 35483, 61505, 34362, 50620, 32610, 62875, 22910, 46830, 41335, + 11735, 6588, 22344, 31682, 26022, 1629, 49276, 12548, 45881, 34333, 55518, 42903, + 55567, 17533, 1035, 4055, 20602, 49909, 9119, 47812, 9634, 22474, 49909, 20571, 53933, + 60650, 41646, 56047, 64306, 60567, 30195, 41274, 18119, 1938, 57400, 10384, 12449, + 30628, 36576, 7257, 44366, 18671, 5549, 4243, 43695, 22308, 48776, 29515, 49088, 6172, + 61173, 11143, 5649, 58787, 19689, 31128, 55356, 55548, 40815, 55579, 28900, 870, 44095, + 51664, 25958, 54054, 25524, 24368, 55593, 38050, 5094, 45614, 25730, 54764, 27088, + 62345, 23343, 19857, 58471, 46922, 52604, 25604, 41412, 60977, 49225, 26996, 57558, + 818, 39571, 10710, 881, 41923, 28552, 65385, 44126, 21330, 51771, 13736, 19727, 63055, + 42414, 49882, 17523, 8895, 15659, 64809, 9791, 49487, 48893, 27277, 24073, 53660, + 54832, 13311, 62438, 4183, 24855, 20221, 50952, 21283, 34995, 5023, 38419, 6054, 16627, + 51987, 3752, 4125, 10909, 25994, 29523, 11728, 58558, 26704, 3659, 38519, 62494, 54271, + 30862, 42241, 10315, 58715, 9116, 35280, 5065, 14261, 28306, 45197, 17180, 17377, + 61030, 51298, 12681, 28493, 28165, 12883, 18302, 17323, 702, 5098, 63243, 1938, 52394, + 36412, 52440, 56471, 28266, 19954, 20306, 44807, 29949, 18382, 16098, 48879, 23975, + 47619, 7664, 33303, 59525, 40966, 3426, 29641, 50799, 63147, 33685, 4090, 3815, 62191, + 56451, 30656, 21947, 9484, 56318, 32463, 59499, 19976, 35477, 15577, 52554, 17513, + 39031, 48331, 39048, 1961, 23965, 12098, 13093, 16624, 5083, 56127, 2307, 55686, 26109, + 41714, 45328, 45310, 3296, 20898, 36235, 54007, 17590, 4394, 40105, 44610, 54107, + 37513, 5109, 38919, 59303, 39407, 12330, 57474, 42635, 59489, 31062, 17460, 50016, + 28123, 15888, 57840, 15586, 5549, 27766, 56585, 46655, 42696, 59404, 21509, 38491, + 42999, 12636, 3990, 8344, 20937, 29, 56842, 3535, 62930, 44406, 44945, 26635, 2909, + 61958, 62969, 3603, 30443, 12369, 17579, 11941, 31081, 30166, 48245, 23332, 26763, + 39240, 37377, 2011, 40929, 24976, 39036, 49535, 65233, 3844, 2630, 42487, 46994, 2729, + 35127, 5249, 54715, 11452, 11952, 58698, 63981, 13388, 16869, 35718, 34115, 25627, + 44874, 37373, 16936, 2246, 59096, 23042, 1427, 27991, 24263, 47154, 42597, 24924, + 26630, 59991, 9811, 48392, 55311, 10213, 22429, 49206, 13490, 28024, 19825, 40667, + 33410, 46593, 61388, 55828, 44803, 31390, 50249, 12082, 19999, 35852, 58712, 18604, + 49444, 28003, 60416, 25427, 48361, 40637, 20340, ])) .unwrap(), - c: 204, + c: 185, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_9/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -19261,20 +18957,105 @@ fn test_containers_var_test_struct_lengthy_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("688b42fd81bb47e8b620bbb092900829af130bb53066e62f604b995e496b2a4a"); + root_from_hex("0x3e9b7ce7a3b6f7ea4879f0d033905f305f360580242ecddd245cd2b78b47a81b"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_one_4() { +fn test_containers_var_test_struct_lengthy_chaos_0() { let mut value = VarTestStruct { - a: 20579, - b: List::::try_from(Vec::::from_iter([59691])).unwrap(), - c: 90, + a: 37078, + b: List::::try_from(Vec::::from_iter([ + 47932, 15562, 49816, 7730, 8297, 2042, 10168, 28087, 38758, 5767, 45908, 9696, 22529, + 16681, 3290, 5421, 34656, 39449, 24454, 43539, 64098, 40249, 23629, 1016, 42210, 12376, + 31265, 18872, 42929, 60190, 41821, 29252, 29791, 62285, 38974, 11327, 59695, 48836, + 20796, 2116, 16184, 1639, 24428, 57824, 38490, 9581, 37893, 26724, 46584, 5328, 45060, + 16282, 43418, 14733, 13794, 11128, 3251, 44904, 36870, 48760, 38434, 35645, 20237, + 50767, 21193, 53617, 3826, 59794, 11443, 53029, 42988, 42273, 2673, 31576, 26772, + 53114, 22642, 42743, 34561, 43180, 17077, 5995, 3173, 42012, 53803, 58556, 153, 40759, + 40251, 40647, 3628, 15341, 33065, 45693, 6911, 65473, 6365, 43763, 20973, 58922, 32820, + 29606, 41712, 47377, 29064, 37818, 14953, 60649, 7762, 27702, 34472, 20335, 36163, + 2820, 61753, 57136, 36170, 40190, 43962, 42277, 11370, 25941, 20239, 54312, 61268, + 48702, 32981, 14196, 35029, 40066, 17649, 4297, 11549, 6945, 13329, 63019, 48772, + 24819, 41767, 37689, 30977, 35902, 3208, 10941, 15526, 41062, 16597, 61904, 43959, + 32811, 36822, 38318, 6150, 64702, 62003, 30223, 17756, 27585, 4585, 34829, 4372, 15876, + 10670, 47965, 1065, 30945, 63391, 22506, 33636, 43267, 506, 26949, 35449, 7760, 60957, + 60301, 23482, 29994, 4017, 40882, 3158, 24594, 19588, 42531, 65105, 39440, 31582, + 44891, 33657, 35299, 57820, 65157, 54468, 17048, 62769, 57835, 41228, 46949, 15701, + 20446, 60331, 1680, 3981, 29500, 9333, 20918, 48887, 29387, 24388, 18321, 48058, 17244, + 51466, 23475, 9001, 47675, 42352, 7614, 25564, 38780, 16273, 29912, 40892, 12493, + 36490, 32972, 42412, 33073, 23093, 33173, 48531, 17854, 49306, 62229, 45091, 39442, + 4944, 62349, 36967, 19530, 26929, 65049, 26421, 227, 36482, 44553, 39129, 14446, 20133, + 29406, 19092, 17678, 51870, 60053, 15588, 62745, 20189, 4468, 39433, 44364, 11444, + 51375, 51619, 58889, 62055, 41477, 54029, 31881, 55688, 63216, 10476, 21036, 7351, + 7167, 46218, 5739, 43117, 5725, 57857, 42609, 51340, 48462, 47589, 20821, 19661, 27886, + 43003, 60221, 64176, 49983, 28476, 34857, 4565, 56689, 61279, 61641, 4680, 62702, + 21049, 36986, 13483, 32739, 20137, 59230, 2341, 61870, 43062, 35424, 41918, 17526, + 10285, 26898, 8311, 20392, 24863, 29221, 40574, 36498, 27258, 50470, 327, 3971, 3972, + 20610, 4108, 64267, 65096, 28330, 45666, 52057, 35323, 49339, 8351, 16953, 42775, + 57721, 17527, 18029, 11755, 28119, 13091, 23594, 417, 39599, 37058, 60836, 45756, + 15145, 62527, 27729, 49369, 39231, 17618, 32880, 53871, 49867, 39280, 17714, 222, + 31622, 54514, 2935, 31450, 9482, 8312, 24003, 56004, 13076, 64627, 26499, 2641, 62897, + 51817, 49499, 52504, 24867, 18361, 61997, 17022, 53023, 46040, 7976, 14320, 15117, + 38729, 34989, 59047, 17471, 38503, 51091, 51541, 22755, 62138, 57596, 19241, 20831, + 18513, 46758, 58725, 63050, 62764, 22383, 41079, 15729, 56731, 34083, 21144, 9154, + 55535, 11932, 45667, 17342, 18593, 28954, 25431, 23456, 23501, 18644, 40688, 64881, + 38779, 46726, 37443, 22229, 48647, 13582, 30434, 53863, 45248, 25952, 34956, 39934, + 18820, 46155, 38190, 172, 6720, 63439, 52821, 60088, 24553, 23715, 14488, 24590, 27571, + 57140, 57521, 43391, 59204, 8533, 7577, 23125, 54575, 19951, 61927, 47369, 39975, + 21044, 41833, 8808, 23190, 30889, 63595, 36446, 59478, 57071, 85, 38737, 13255, 59085, + 6706, 37349, 7016, 42047, 58727, 23663, 44404, 61265, 3592, 39300, 1474, 11771, 37608, + 60121, 64128, 35751, 52666, 64059, 30530, 10228, 35336, 12908, 27646, 58765, 49302, + 51527, 56701, 40896, 13844, 58113, 5880, 48085, 19048, 12292, 23115, 694, 11403, 3363, + 4401, 61522, 30593, 58507, 48250, 22441, 12573, 33969, 2129, 16664, 44818, 19472, + 46596, 23189, 31812, 61651, 34915, 20976, 15832, 60351, 17612, 38572, 50083, 4050, + 64054, 9465, 6902, 33949, 62552, 20654, 6599, 46979, 46917, 18603, 64729, 37193, 22717, + 50424, 56904, 20674, 57844, 20309, 52021, 55836, 46244, 6905, 23332, 33668, 25092, + 10964, 14717, 60402, 43853, 21721, 63210, 19443, 39260, 28182, 27146, 53690, 35245, + 12059, 25870, 54756, 8537, 5612, 9615, 57489, 32547, 57038, 10567, 16417, 65131, 20701, + 47263, 26170, 35251, 38863, 45966, 49059, 7031, 22840, 51005, 40747, 54020, 56673, + 62491, 53550, 31586, 9471, 29119, 26165, 42528, 37166, 11655, 44811, 2174, 17766, + 18109, 30569, 52333, 17463, 63621, 16202, 61909, 1885, 40504, 12887, 8607, 4882, 14605, + 28789, 55139, 1112, 33134, 38891, 56096, 29903, 19823, 8890, 45749, 54298, 43914, + 52914, 34730, 18101, 5929, 60427, 53581, 55315, 34554, 3240, 9098, 63763, 47503, 2884, + 6057, 40971, 10806, 3887, 63421, 28299, 39909, 14914, 9716, 23331, 64430, 57372, 10862, + 3400, 20538, 8786, 33711, 23993, 56494, 20654, 50166, 42296, 29166, 24084, 49634, + 61360, 54558, 1895, 43626, 49820, 41649, 3467, 54558, 47643, 40561, 29749, 26405, + 64398, 1108, 33320, 11185, 61264, 56675, 62994, 54977, 65385, 14878, 30172, 37799, + 22072, 31446, 47361, 31602, 42910, 9239, 60097, 21208, 46190, 15087, 62146, 49118, + 46129, 54943, 27458, 52648, 1612, 42861, 56089, 26106, 37216, 52784, 7651, 21511, + 50542, 8950, 58685, 42785, 27182, 24377, 62281, 1830, 51264, 64699, 58389, 41550, + 65006, 55113, 52060, 62120, 12725, 62727, 9433, 29981, 13231, 45736, 31290, 4741, 5224, + 57689, 7669, 27128, 45799, 44192, 16359, 27569, 50909, 42161, 56665, 10195, 15065, + 14039, 47767, 52055, 31181, 7702, 8332, 40706, 13550, 172, 58944, 21657, 61413, 59345, + 64427, 50737, 7425, 62530, 51271, 16731, 21779, 53060, 35358, 45249, 12151, 48062, + 39151, 26241, 46772, 51483, 32111, 190, 49596, 38281, 6674, 54637, 51917, 40390, 4328, + 14220, 32422, 1859, 37063, 50250, 53263, 52398, 22680, 1161, 37589, 47357, 46864, + 39857, 9375, 39265, 19572, 14600, 411, 48419, 51479, 59361, 24478, 45011, 12548, 37604, + 51204, 29568, 46212, 31293, 46057, 15980, 31926, 61180, 775, 51376, 58539, 29058, 9882, + 15665, 43220, 57587, 22944, 25054, 35699, 59157, 3752, 10474, 46666, 34671, 1179, + 11038, 9396, 19981, 1899, 12220, 43971, 10910, 12964, 38795, 53058, 53660, 38129, 5588, + 10019, 41617, 3247, 36302, 41967, 27176, 9854, 49010, 42928, 43084, 43993, 60501, + 27574, 30431, 5906, 50435, 41209, 12305, 64940, 61147, 45951, 9807, 43093, 34079, + 43367, 65414, 62599, 13989, 35949, 49405, 15270, 42461, 19762, 29399, 21511, 38377, + 3238, 33992, 29853, 54843, 44124, 58169, 51713, 27444, 46130, 14634, 46211, 39431, + 14941, 3242, 44587, 25942, 3775, 19475, 62231, 10186, 26242, 40754, 60922, 3338, 23992, + 22695, 62356, 53294, 26433, 50653, 585, 18623, 36869, 43763, 54394, 35919, 48484, + 24076, 9283, 54179, 6328, 47080, 37002, 2224, 27887, 64545, 29261, 5644, 18681, 43112, + 17217, 63389, 53342, 30816, 30179, 35063, 31830, 31592, 58485, 38081, 32732, 64173, + 31598, 6149, 59684, 45559, 18637, 159, 6553, 48425, 4654, 16275, 27110, 40716, 40772, + 62865, 56988, 53545, 50963, 41070, 57216, 53790, 62330, 7947, 4971, 55332, 3954, 38269, + 52460, 54069, 22307, 34434, 53973, 47319, 151, 52346, 51173, 60406, 15927, 56510, + 45104, 42495, 1250, 37612, 23387, 45832, 16718, 59335, 21376, 45115, 41132, 300, 34474, + 62802, 12749, 12000, 18359, 45831, 46007, 38174, 40778, 54658, 43344, 61412, 9233, + 60616, 57133, 15023, 63358, 60323, 64920, 20354, 35356, + ])) + .unwrap(), + c: 176, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_one_4/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_chaos_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -19283,111 +19064,105 @@ fn test_containers_var_test_struct_one_4() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("16d1dd07880a83d46fc95fb94041bf333448534aa37fdd530977f57ad5031a36"); + root_from_hex("0x1cfc5952deb977ccf63665ea49c30474662e9c681cd7070973ef91616f984d2e"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_max_9() { +fn test_containers_var_test_struct_lengthy_chaos_1() { let mut value = VarTestStruct { - a: 65535, + a: 46450, b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, + 53815, 23219, 41304, 45330, 32243, 36712, 34238, 37499, 13393, 61842, 46925, 51786, + 37439, 42297, 59188, 18119, 62795, 51998, 7978, 28954, 50200, 59690, 4565, 8415, 19163, + 29544, 10890, 61177, 55431, 721, 42854, 37539, 40953, 21821, 18459, 52732, 36437, + 32610, 61155, 19148, 58000, 53667, 41629, 57080, 15326, 13514, 45648, 65316, 15811, + 15059, 20626, 10247, 57083, 33949, 40439, 33306, 56258, 20785, 10969, 53555, 15744, + 52545, 52250, 54501, 5354, 36436, 50374, 17763, 1947, 22979, 59860, 54924, 27630, + 41401, 24625, 13973, 2561, 63754, 34290, 23887, 22333, 47346, 54956, 27842, 65533, + 11120, 28394, 15961, 3409, 7482, 17757, 4871, 41555, 24078, 8376, 36542, 34891, 7862, + 1646, 37229, 10662, 2280, 34764, 444, 7518, 42045, 3767, 16733, 61351, 8120, 36438, + 60008, 32605, 47779, 33928, 64562, 33635, 54560, 58866, 39674, 20170, 16044, 38887, + 28583, 129, 31473, 783, 51063, 16385, 8341, 18676, 57205, 60730, 9331, 19592, 12299, + 36283, 15106, 47941, 8756, 22340, 3761, 50301, 18851, 1566, 53008, 35652, 33031, 17112, + 59669, 31670, 42338, 12072, 27129, 62903, 13600, 38296, 12517, 30244, 30365, 32224, + 54935, 47085, 39463, 12952, 36889, 44606, 31728, 2782, 25902, 34652, 3707, 27152, + 18037, 38623, 15806, 25880, 712, 50581, 22534, 5939, 4848, 41246, 51993, 15414, 64469, + 6234, 7754, 51283, 54063, 51635, 28711, 9205, 29587, 62204, 25339, 23849, 11488, 16182, + 62836, 24348, 17715, 21470, 25459, 6500, 64361, 3263, 45369, 55162, 38357, 35536, + 20498, 34916, 30295, 8372, 45655, 13405, 58888, 30315, 20257, 44089, 14763, 10317, + 46127, 24032, 18971, 39852, 39077, 29078, 37425, 13006, 54570, 51375, 20150, 55640, + 51686, 55245, 19742, 38890, 40982, 35003, 64823, 42631, 61488, 31632, 7455, 36931, + 43123, 48842, 29669, 44966, 25150, 35923, 45459, 61723, 44084, 8392, 32471, 18668, + 48212, 17095, 46144, 18201, 47720, 45775, 50061, 16570, 48703, 58362, 17050, 48183, + 55239, 59422, 20451, 29870, 52621, 60684, 50749, 38342, 2901, 62388, 5798, 15173, + 48097, 34784, 17125, 53078, 63472, 59950, 51563, 46205, 28969, 11302, 34038, 42994, + 6635, 55248, 54913, 41694, 42387, 8040, 16572, 63255, 49670, 8541, 41008, 64702, 47552, + 39209, 28456, 53171, 27109, 50692, 64189, 13064, 34766, 35636, 63101, 10865, 1441, + 5486, 260, 14709, 37750, 56252, 54155, 30926, 42913, 5939, 33313, 46712, 1064, 20361, + 53948, 18570, 52165, 64140, 40239, 20594, 37025, 31225, 52027, 54740, 29372, 59358, + 26021, 39329, 7308, 44346, 42013, 25023, 35769, 64467, 41556, 13857, 36404, 50815, + 22759, 55348, 5658, 40237, 55137, 58428, 5441, 63072, 25469, 22568, 18580, 47222, + 11844, 23112, 24108, 37436, 49020, 6981, 28720, 9575, 15489, 31703, 28867, 24831, + 41830, 20466, 54663, 52985, 53847, 21832, 5026, 434, 45089, 24649, 48310, 15696, 65450, + 19434, 34597, 2821, 21507, 63841, 21963, 56682, 22809, 49532, 62239, 57983, 59172, + 58153, 46442, 26500, 32747, 57735, 59028, 49777, 965, 288, 13447, 48587, 7031, 5396, + 18330, 14998, 47837, 24214, 26039, 24542, 19194, 5681, 9716, 46298, 27029, 33491, + 56277, 7121, 13223, 11068, 57945, 15288, 26912, 23264, 6743, 4929, 52996, 22894, 58561, + 16920, 37462, 43905, 48004, 52801, 30553, 11613, 22022, 45166, 37483, 14373, 23501, + 14134, 16403, 4575, 64559, 55767, 9423, 35695, 14815, 19733, 26749, 52436, 48768, + 24201, 41244, 1477, 23551, 31958, 53160, 63464, 13473, 63980, 17890, 40460, 13843, + 52956, 62214, 37879, 37243, 38253, 48602, 49927, 29385, 1985, 19232, 51003, 12484, + 38294, 1202, 8466, 56031, 14488, 8312, 3782, 41024, 3171, 1792, 32704, 13933, 49921, + 15045, 55569, 61347, 62579, 13350, 62727, 20188, 12454, 14635, 61401, 31489, 22652, + 60441, 7574, 7941, 15775, 61791, 14152, 19873, 21486, 10785, 64726, 39419, 51936, + 12249, 30992, 26856, 49619, 6774, 11323, 54210, 41107, 46291, 63461, 24728, 54476, + 32228, 7443, 17132, 23641, 54251, 8367, 31316, 14250, 51401, 23714, 4988, 8371, 54314, + 40567, 57319, 8311, 60262, 60427, 6257, 17549, 13372, 16321, 7291, 12434, 40963, 39663, + 41886, 48460, 57074, 60588, 42840, 60047, 6992, 29698, 12074, 57226, 39497, 2289, + 52852, 57268, 1466, 64864, 38343, 22181, 9153, 28859, 49882, 4564, 39079, 40774, 61138, + 18774, 11587, 16588, 15449, 20441, 25149, 10066, 4972, 38950, 27173, 60397, 21344, + 38531, 6185, 49719, 43534, 64750, 1737, 55191, 52317, 27345, 64448, 24499, 40368, + 12518, 23293, 27291, 63314, 50465, 14671, 31035, 6128, 58758, 27640, 17980, 62335, + 43362, 48073, 811, 3807, 1870, 35718, 49984, 57003, 39895, 28740, 34797, 32330, 62802, + 45538, 5793, 47763, 31959, 63332, 15641, 26180, 46072, 45605, 35560, 19376, 10579, + 61498, 25507, 27411, 10883, 63891, 5384, 59475, 40044, 52166, 25655, 8674, 44295, + 15074, 43031, 17567, 15485, 55792, 22674, 62040, 60209, 18010, 7973, 56005, 23911, + 57452, 57347, 6297, 42109, 25974, 29793, 54731, 1701, 9786, 19292, 9187, 10968, 54674, + 24644, 34921, 26031, 37647, 65404, 587, 12857, 39648, 12273, 41316, 47052, 6449, 26772, + 63822, 56316, 35518, 30048, 24147, 17823, 21394, 63705, 35825, 51881, 34392, 20310, + 34410, 51673, 52657, 30806, 56707, 37684, 39168, 56072, 55389, 11961, 13076, 21677, + 49886, 47865, 55394, 36846, 20535, 47786, 41537, 57912, 1707, 28968, 12108, 8792, + 36791, 27776, 55399, 11252, 36907, 36646, 7994, 46421, 22597, 6197, 28198, 42557, + 24798, 43103, 63775, 39028, 34517, 53298, 38458, 61529, 22596, 1793, 7128, 42220, + 62128, 16299, 3749, 40788, 46481, 7871, 38703, 27884, 59881, 59674, 23468, 41242, + 64595, 32169, 48328, 8771, 28526, 60446, 64807, 19418, 39818, 660, 6437, 13359, 2883, + 11975, 55842, 11909, 13193, 35027, 50963, 18961, 12900, 62466, 28827, 50289, 42800, + 54309, 63424, 60713, 13420, 57448, 43947, 1200, 28313, 45208, 31160, 2080, 9026, 20835, + 7179, 16694, 53770, 52442, 46632, 60774, 61392, 23959, 57655, 57363, 38771, 59953, + 14331, 43108, 15987, 4941, 7057, 64537, 46861, 37551, 41889, 7822, 51509, 47448, 32722, + 3605, 20586, 3226, 49087, 41308, 6481, 19612, 49897, 21641, 43478, 48976, 22441, 23940, + 52115, 49428, 54259, 10670, 38070, 30094, 47149, 40210, 38411, 32519, 5168, 21211, + 41986, 30603, 27991, 28102, 48731, 35494, 64463, 24130, 6581, 38618, 52409, 60295, + 59425, 41217, 29230, 33258, 58234, 52037, 62565, 9903, 24313, 42976, 29734, 18303, + 35977, 83, 42942, 24716, 11414, 48812, 51933, 48171, 8820, 6372, 5369, 27373, 19628, + 33915, 54501, 22912, 55528, 1282, 49166, 28533, 47127, 36994, 27896, 49283, 49108, + 2461, 54902, 6309, 45677, 28862, 53061, 46592, 33067, 40713, 10528, 62921, 48045, 4657, + 55407, 615, 63814, 1670, 56231, 38838, 15505, 62852, 35941, 13494, 41569, 1083, 57482, + 54532, 47151, 22739, 57113, 576, 6756, 25960, 63830, 3926, 9697, 64726, 14911, 12134, + 7632, 63686, 18283, 56365, 8873, 11492, 44421, 49631, 34782, 40194, 13934, 18860, + 16820, 37944, 13033, 15803, 51247, 37152, 6628, 20893, 15208, 52676, 61581, 36672, + 4209, 61471, 62962, 19527, 12616, 9512, 22660, 58297, 11694, 38011, 49668, 36555, + 33319, 53637, 15263, 54033, 60941, 41870, 37948, 8272, 42168, 12776, 42741, 59062, + 32985, 26729, 11285, 47287, 18264, 39419, 61710, 58320, 39309, 48154, 18701, 53166, + 7673, 11055, 36627, 50421, 12532, 636, 23123, 14996, 36863, 11099, 20147, 56319, 7048, ])) .unwrap(), - c: 255, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_max_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: VarTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("56000973efb39fe164fbb325218a9cf3d0dcfdf1f50b1f7fefb20efaa1bdcbc4"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_nil_7() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([false, false, true, false, true, false, true, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_nil_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("cf8f07d7ff9ded4a52803bab9c5d38f91808b1072da9d1c81aabaeb57c12f29f"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_single_field_test_struct_zero_chaos_0() { - let mut value = SingleFieldTestStruct { a: 0 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_chaos_0/serialized.ssz_snappy"); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_one_3() { - let mut value = VarTestStruct { - a: 22598, - b: List::::try_from(Vec::::from_iter([37706])).unwrap(), - c: 49, + c: 14, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_one_3/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_chaos_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -19396,105 +19171,105 @@ fn test_containers_var_test_struct_one_3() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1d73b6e1e6844e9b714e1b26959086d3dca0930f070971569b2d0ab6d6c5bf95"); + root_from_hex("0x97fdc2293c9a8a24c32d19ef5284f9e7a767d37b64f50eaaf49e75da4e1b8b23"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_lengthy_6() { +fn test_containers_var_test_struct_lengthy_chaos_2() { let mut value = VarTestStruct { - a: 64971, + a: 1866, b: List::::try_from(Vec::::from_iter([ - 40774, 45065, 65170, 5097, 16471, 56033, 19897, 27009, 55421, 7846, 18876, 49670, - 13259, 59362, 45667, 64558, 10061, 9596, 31551, 46737, 2639, 18143, 35668, 25923, - 36376, 23629, 57770, 10111, 24001, 7830, 3948, 46498, 21584, 4200, 13663, 33067, 59311, - 4819, 37117, 64931, 44531, 52134, 1430, 51212, 36068, 15568, 49790, 12749, 23572, - 16151, 19046, 24408, 64158, 15625, 47083, 20856, 54012, 29810, 28222, 24397, 16557, - 19267, 55778, 21668, 30801, 31746, 22174, 34529, 22945, 27457, 62190, 50136, 48305, - 16009, 63764, 65302, 65438, 47414, 60619, 28274, 5480, 65506, 15983, 19708, 58833, - 56349, 38304, 17205, 61093, 64211, 32485, 28569, 19674, 13339, 46112, 24498, 25750, - 29375, 50973, 25680, 18754, 24211, 25697, 56, 13857, 5751, 18928, 16508, 10814, 18695, - 67, 60001, 37795, 5120, 29170, 28343, 44425, 5103, 21851, 9834, 7667, 55788, 56104, - 12307, 58516, 14587, 22737, 28475, 22249, 58531, 58094, 6508, 48690, 31553, 61208, - 53678, 13813, 55542, 37296, 48334, 40318, 62315, 42786, 37277, 8146, 14890, 29045, - 5103, 17431, 24505, 25625, 17976, 59622, 20697, 53216, 15896, 28389, 56453, 25137, - 31685, 38166, 51712, 53769, 16104, 10828, 32264, 65100, 27909, 49558, 21803, 9027, - 12724, 62924, 63455, 24521, 57571, 20608, 29422, 14941, 38930, 3872, 59608, 12715, - 48381, 51290, 50549, 42440, 19838, 13794, 35247, 34355, 11713, 41696, 12890, 11399, - 33195, 10695, 3108, 20482, 40575, 55627, 510, 33803, 57263, 21731, 2987, 64150, 15790, - 23502, 9509, 44955, 44989, 31999, 65326, 55944, 64065, 34754, 62481, 30984, 31635, - 13396, 59187, 64822, 47703, 16734, 9497, 13409, 58763, 25059, 15369, 39800, 59064, - 57777, 39067, 51491, 16990, 21832, 49126, 22305, 16738, 49169, 53302, 48143, 64253, - 11487, 62349, 18465, 25005, 2187, 20076, 30722, 20603, 52198, 34362, 11076, 53420, - 13240, 44102, 7925, 30092, 9770, 44512, 21895, 9402, 27408, 41562, 18541, 11001, 35630, - 33585, 20222, 16148, 39468, 54090, 56945, 32539, 39850, 18492, 9324, 49132, 17133, - 65101, 40288, 32959, 64232, 34002, 27234, 3247, 60173, 6612, 31249, 41236, 21144, - 37743, 14100, 43723, 56098, 20453, 26463, 9332, 10448, 61593, 56811, 55137, 64910, - 49636, 56860, 6119, 20563, 3717, 45400, 31513, 22454, 1679, 44069, 58266, 27392, 21672, - 57541, 57911, 39043, 2211, 44837, 11206, 26407, 5650, 12664, 14980, 46066, 1742, 46314, - 19538, 40224, 12916, 13292, 17050, 37958, 39923, 47825, 11199, 15046, 26984, 43252, - 53440, 18540, 42290, 27623, 53563, 13108, 62984, 37857, 28030, 33459, 56216, 18200, - 56614, 36556, 15662, 1037, 43164, 20624, 8888, 51760, 57500, 1107, 44480, 12656, 8819, - 12157, 3525, 15378, 55142, 40246, 25204, 15596, 45618, 4788, 55734, 34111, 59080, - 65496, 62130, 59227, 28310, 12030, 49527, 6787, 31127, 2232, 47740, 12675, 53517, 9498, - 5376, 35772, 4043, 43995, 26459, 32253, 51908, 47110, 16206, 58912, 63831, 50467, - 43485, 60556, 32610, 28632, 59872, 24892, 47267, 11664, 41738, 21242, 38358, 42981, - 27249, 8946, 63540, 18209, 49392, 38071, 18504, 6692, 18317, 2330, 15972, 61190, 12897, - 35275, 29690, 42809, 7628, 56816, 40985, 34180, 38613, 19570, 24215, 20289, 31268, - 25707, 30953, 61128, 49858, 47164, 27258, 63210, 25744, 10710, 16104, 37579, 8674, - 59213, 51119, 14578, 35741, 32345, 44208, 4890, 16064, 55411, 45236, 40737, 12112, - 41466, 3068, 5286, 28355, 49680, 21941, 12506, 29789, 41957, 52635, 43889, 25845, - 36905, 31230, 27641, 6706, 36949, 29425, 31070, 44041, 29936, 35986, 47553, 47686, - 3527, 3694, 59911, 52014, 2102, 9887, 16587, 45417, 46869, 53432, 57067, 48705, 51375, - 33265, 50675, 42162, 52850, 11513, 27881, 51457, 17062, 18988, 9284, 33599, 9660, - 43392, 53174, 37759, 49597, 6983, 29122, 63296, 52955, 30240, 61494, 18793, 44289, - 26155, 30080, 21586, 42541, 54747, 1374, 4462, 29187, 33881, 41771, 14322, 7045, 3478, - 3686, 9997, 64316, 36056, 16200, 52613, 20349, 47039, 19367, 31126, 15810, 12497, - 19972, 38231, 12327, 15223, 39398, 48524, 52897, 10594, 26469, 29975, 14058, 28287, - 54062, 63545, 32326, 55902, 49495, 6971, 16175, 6269, 16332, 40733, 14148, 57254, - 20291, 30514, 1401, 5330, 62581, 10125, 57801, 53755, 793, 24246, 41421, 34479, 354, - 60708, 36099, 40827, 15605, 27539, 10509, 12268, 15083, 2483, 10801, 36195, 58324, - 55028, 160, 29721, 2470, 51783, 5065, 5192, 56437, 32574, 45830, 39511, 56774, 48139, - 61561, 2382, 1528, 34507, 15936, 7072, 39164, 59390, 28913, 8056, 30601, 5245, 39879, - 12841, 36986, 62506, 18167, 55951, 2609, 30796, 2075, 48830, 1061, 33832, 6580, 4035, - 44183, 9653, 7051, 56146, 54571, 27132, 8366, 24509, 57094, 61014, 63036, 46907, 46808, - 27189, 8008, 27669, 65397, 19509, 31043, 21722, 29604, 35622, 40847, 21522, 64302, - 51059, 21307, 994, 43154, 6147, 4465, 8106, 27534, 34215, 39459, 52628, 34530, 42293, - 25910, 61857, 32612, 38607, 48095, 55746, 64429, 5639, 55007, 1663, 2163, 64568, 57610, - 38969, 55004, 23756, 9830, 41968, 36551, 42024, 12681, 6845, 23292, 59869, 57931, - 38959, 9817, 51524, 18205, 33326, 61883, 53064, 10571, 45597, 23549, 15586, 7176, - 43530, 54365, 47336, 1916, 44005, 17095, 51578, 21104, 59930, 5761, 51585, 31712, - 39207, 49513, 40989, 62146, 47088, 44958, 64994, 43389, 63619, 5571, 43822, 63750, - 22179, 20902, 23967, 8418, 15853, 41176, 16517, 47557, 16346, 1651, 12510, 51067, - 34628, 372, 45316, 24357, 58746, 21948, 18187, 65335, 33868, 28452, 50715, 38157, - 54584, 65232, 18879, 36185, 44192, 39901, 26183, 29071, 59147, 61432, 65026, 26747, - 2119, 41935, 39579, 2170, 33594, 7133, 37391, 21320, 62596, 63632, 58419, 49259, 9457, - 29473, 36503, 45520, 39648, 61208, 51551, 19402, 11087, 36862, 35980, 22827, 9086, - 60845, 55162, 38429, 39683, 45375, 48240, 20337, 39223, 55330, 16255, 47375, 62729, - 44078, 61580, 24641, 2120, 10603, 28425, 25779, 2045, 29794, 24616, 35983, 10817, - 10156, 20282, 25531, 20521, 28380, 47790, 15657, 48250, 26996, 36368, 2970, 49697, - 7927, 43512, 2825, 30974, 57358, 40868, 4760, 65411, 18766, 19284, 35368, 7148, 48838, - 40734, 6172, 20580, 8186, 45145, 52163, 36315, 15311, 29498, 4463, 3688, 33609, 55836, - 28252, 58520, 34515, 46552, 61523, 24952, 19857, 3336, 13679, 55511, 5099, 38850, - 33963, 42866, 35611, 31759, 60452, 32834, 55234, 8671, 48217, 12951, 23795, 10353, - 60005, 50334, 22863, 4494, 8371, 24235, 3459, 49590, 54442, 56983, 29468, 61233, 52999, - 50233, 14298, 23565, 57732, 48815, 61357, 63393, 63211, 65028, 52663, 17295, 54230, - 37747, 21716, 7801, 21972, 11855, 8872, 60260, 3514, 30734, 56542, 44127, 15399, 39049, - 13877, 18266, 12728, 36734, 58673, 13172, 30899, 33758, 57028, 56440, 47497, 53878, - 455, 29107, 29059, 53381, 28659, 7968, 59421, 60965, 56542, 46548, 40813, 34449, 9629, - 38091, 15287, 11362, 61806, 61220, 43427, 9448, 51328, 61558, 22077, 1288, 18853, - 42480, 20553, 34622, 9965, 40304, 56925, 453, 24072, 10614, 27545, 43353, 21413, 8654, - 13117, 51057, 44329, 9178, 12592, 57532, 49952, 31, 62331, 54527, 20925, 7217, 19218, - 56366, 43338, 30314, 44804, 46668, 37749, 56160, 21115, 19460, 10844, 39304, 39656, - 48719, 1175, 3569, 23957, 52379, 51340, 45625, 61608, 33272, 9657, 33622, 35346, 23400, - 22480, 1646, 8067, 13352, 45083, 52481, 21408, 42809, 18754, 45494, 31515, 64093, + 5970, 16331, 6233, 25696, 43712, 34308, 6378, 53193, 12729, 41143, 28218, 28244, 12683, + 24508, 43595, 29477, 28929, 15327, 12920, 45691, 9195, 49912, 53273, 60694, 64402, + 5845, 47975, 23367, 17966, 35482, 48861, 63267, 39059, 25534, 61724, 45706, 54292, + 58613, 1045, 24709, 61688, 42432, 54121, 30218, 65150, 20066, 25154, 43166, 16452, + 12854, 53712, 45446, 20207, 3310, 52949, 60249, 23203, 53917, 35632, 61453, 49993, + 62739, 43525, 367, 35467, 57856, 41583, 5875, 23173, 31875, 18045, 54676, 38595, 46884, + 22358, 2063, 33608, 31947, 24080, 40973, 14838, 43625, 16170, 50450, 44754, 14162, + 55307, 8892, 23549, 34990, 10095, 50915, 16197, 40134, 60136, 17179, 19271, 23620, + 5124, 12110, 7585, 53326, 13824, 831, 24949, 56586, 48809, 39253, 14814, 48606, 15947, + 28078, 43571, 46273, 34098, 25445, 25167, 45435, 57431, 12520, 27531, 27363, 24100, + 17936, 31791, 19770, 37935, 1299, 46114, 12568, 60826, 6719, 36327, 41530, 31543, + 19327, 49610, 50389, 49219, 37438, 40502, 16771, 39555, 56974, 165, 62026, 51594, + 22029, 56832, 41288, 62627, 28807, 14506, 51584, 10197, 54235, 18316, 16051, 53838, + 22324, 2576, 63004, 46632, 55985, 1981, 57295, 32041, 17218, 34588, 47219, 48357, + 20228, 17159, 7290, 41727, 13631, 16464, 40814, 32955, 48902, 53396, 1809, 58332, + 10962, 22715, 60120, 54891, 49895, 6185, 61710, 18377, 8933, 33281, 22283, 41494, + 27669, 20502, 59533, 25947, 42727, 34602, 65125, 28617, 42599, 25746, 20372, 38616, + 30992, 42804, 28034, 37067, 62166, 52442, 60520, 53349, 60607, 36539, 42627, 20810, + 26732, 287, 25168, 56862, 36705, 51341, 35764, 21272, 58387, 63383, 374, 48534, 7824, + 12706, 45288, 55943, 314, 42605, 29950, 41780, 31002, 24329, 1140, 43282, 31766, 40488, + 39765, 24238, 63647, 33116, 12833, 23948, 47332, 28169, 15933, 11386, 28330, 53491, + 27171, 16768, 55320, 5802, 9985, 53550, 37294, 48466, 49208, 9922, 51014, 4301, 65497, + 3748, 40404, 51586, 49775, 21765, 32601, 25754, 41752, 64935, 53061, 20604, 35425, + 34957, 22356, 49238, 15530, 12659, 22637, 4844, 40024, 12527, 63141, 52298, 1765, + 13911, 22490, 7311, 45725, 35496, 4151, 35447, 32399, 38929, 32902, 56916, 43167, 9748, + 4762, 50505, 44050, 64685, 15813, 15709, 62230, 54750, 4185, 62634, 18175, 20663, + 27181, 38941, 45930, 31981, 16227, 44767, 45637, 53622, 25008, 7810, 41642, 714, 30658, + 13957, 64254, 3677, 7525, 3211, 25752, 53390, 43862, 19137, 38008, 3956, 36900, 12589, + 53890, 33104, 31383, 59596, 24698, 46509, 22901, 10973, 18080, 65086, 20274, 27048, + 64235, 45712, 6424, 65255, 59777, 48325, 63865, 7375, 47741, 46549, 25913, 2634, 59115, + 25776, 37445, 18277, 26912, 23061, 18528, 18901, 62051, 32433, 3268, 63069, 38787, + 45049, 25288, 65333, 56243, 48363, 46423, 14154, 60015, 4184, 28456, 60447, 8878, + 31779, 39674, 16853, 13917, 37348, 22894, 21256, 56163, 12562, 19958, 47672, 45432, + 15304, 43109, 14459, 55660, 63948, 56739, 45099, 5588, 39053, 2972, 50696, 8875, 47571, + 6614, 2544, 42326, 43348, 64673, 30519, 45199, 5406, 49945, 23371, 371, 27670, 48568, + 50561, 64724, 62349, 54189, 57613, 14443, 8559, 26502, 41726, 6901, 44688, 52502, + 18474, 19036, 44177, 56732, 35247, 15602, 23660, 38154, 38785, 25149, 15782, 24048, + 15716, 14413, 31824, 14362, 64210, 22880, 14971, 54874, 22139, 2245, 12097, 3347, + 24565, 34623, 9544, 46850, 4927, 10725, 28793, 58842, 24528, 3868, 2528, 18787, 16438, + 55970, 47764, 7360, 1245, 1450, 37738, 46922, 42795, 22641, 14711, 14407, 11947, 2869, + 57715, 56210, 29896, 21844, 42892, 15427, 11967, 4684, 22552, 3131, 46662, 7291, 64288, + 8462, 24742, 37077, 34461, 17296, 56237, 22277, 24355, 46309, 59560, 28545, 14695, + 55318, 39797, 46755, 54885, 27783, 7696, 44432, 4470, 59831, 6850, 1044, 54375, 44760, + 55342, 23305, 22757, 63672, 48825, 58585, 62187, 65267, 38774, 22121, 21157, 18583, + 55683, 20800, 40792, 550, 26999, 52625, 18547, 45395, 39277, 21955, 6486, 56582, 3109, + 1512, 44872, 57839, 38523, 43275, 61248, 41045, 61315, 39137, 25506, 34563, 7938, + 30840, 57727, 44389, 27419, 57344, 18982, 55350, 1023, 22585, 57438, 24617, 24270, + 32652, 13060, 56475, 63859, 62740, 29880, 40778, 5479, 45638, 39709, 10619, 54970, + 2335, 38350, 24554, 31392, 36780, 55101, 56904, 47853, 14208, 42640, 45385, 43204, + 34753, 3763, 41993, 16633, 6811, 27205, 7049, 47069, 16556, 3529, 25128, 58729, 55363, + 58056, 11218, 52268, 31716, 23504, 38870, 6557, 53680, 32717, 37837, 10970, 44350, + 18756, 61361, 27977, 20107, 44747, 61306, 56376, 21427, 14742, 61118, 51044, 11174, + 9042, 8518, 19128, 21434, 46797, 62119, 21082, 14199, 686, 51834, 55535, 11373, 63797, + 36105, 28456, 55347, 52402, 33958, 12968, 54287, 55896, 46715, 47588, 49198, 13997, + 53648, 5990, 49277, 39390, 51907, 61398, 26931, 52509, 43987, 18078, 26981, 58095, + 17507, 21970, 59132, 19414, 5301, 15822, 57689, 53917, 48447, 15856, 23188, 23243, + 6173, 15966, 17789, 10233, 45716, 3083, 40619, 35682, 12739, 34494, 35142, 8445, 34451, + 50566, 7643, 46456, 18351, 53283, 18030, 53469, 37402, 1928, 58633, 59357, 63711, + 26428, 50762, 53830, 37582, 26869, 59482, 32946, 34049, 3608, 43454, 46718, 38124, + 46039, 7835, 65191, 50456, 51451, 13691, 12011, 48484, 27478, 2451, 54180, 36476, + 49499, 5854, 59560, 7551, 64268, 20884, 21909, 55473, 61928, 838, 63495, 13276, 4387, + 60645, 24724, 15326, 31256, 31738, 22293, 55344, 15508, 13464, 35228, 49188, 36578, + 38066, 3360, 38285, 16843, 63090, 4088, 5849, 23622, 48128, 2085, 61965, 54534, 10191, + 25398, 40351, 39275, 44581, 1075, 48561, 63662, 19557, 30062, 7923, 64529, 4157, 51081, + 21171, 61497, 29294, 51623, 30915, 28523, 2564, 51064, 18549, 32604, 11172, 34918, + 7619, 5267, 31817, 19228, 47639, 4652, 11629, 10658, 5566, 56690, 44297, 17576, 64227, + 22980, 52522, 55461, 22503, 21595, 59596, 30262, 50203, 18755, 27349, 13183, 34221, + 20416, 34970, 10488, 62359, 897, 62230, 2310, 59557, 52814, 61303, 14837, 52762, 60921, + 26199, 37351, 64987, 48328, 57355, 27227, 38458, 32459, 33462, 20660, 54514, 4981, + 61664, 49957, 15663, 34590, 23097, 8231, 65379, 42482, 280, 1223, 6681, 6156, 19655, + 57390, 53230, 43373, 42754, 60562, 42763, 9783, 23547, 36149, 27002, 13331, 20777, + 47385, 31177, 41070, 18660, 57006, 65099, 40300, 18253, 17497, 32333, 42189, 17121, + 1470, 13624, 4990, 6379, 23246, 6974, 45554, 40945, 26476, 39928, 55462, 10801, 14894, + 46886, 31161, 10674, 28639, 3274, 62862, 25278, 5882, 27918, 19253, 44063, 23603, + 41694, 12114, 7981, 18099, 58430, 26836, 55658, 24319, 53761, 53503, 36355, 21488, + 33774, 43737, 64294, 64278, 38315, 45991, 22998, 7864, 27676, 18684, 61900, 56624, + 4278, 37451, 23528, 51577, 39587, 63099, 31768, 54706, 14829, 60296, 54761, 39259, + 64042, 63351, 50844, 64804, 13666, 39608, 21155, 38025, 50900, 61208, 20115, 2607, + 27370, 45010, 34314, 8386, 13699, 47900, 1646, 35166, 9217, 20659, 32720, 26382, 49755, + 3234, 65001, 50573, 30074, 10202, 3931, 1555, 12814, 61209, 6188, 65061, 51868, 20794, + 45650, 49084, 59964, 45754, 6407, 51965, 42941, 15645, 17485, 14612, 4420, 32948, + 48945, 62288, 29224, 61120, 33430, 4819, 63360, 49790, 20778, 20285, 33746, 17870, + 37550, 65203, 44896, 6194, 28706, 16922, 25682, 49818, 28984, 356, 43222, ])) .unwrap(), - c: 170, + c: 138, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_6/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_chaos_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -19503,859 +19278,330 @@ fn test_containers_var_test_struct_lengthy_6() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1b1286cbc2cedeb2013dbb49743dccf46f4b831a1b6d0dd6ccfd996f53c580dd"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_nil_0() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([true, false, true, true, false, true, true, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_nil_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("34d6ec1518de55f431f8d344f0687350c926f34d803c2a5f9c6343677f954061"); + root_from_hex("0x8f429bf1e545075721c16851b18e1a739991404141ef08e63d23ecfadab79d41"); assert_eq!(root, expected_root); } #[test] -fn test_containers_fixed_test_struct_random_8() { - let mut value = FixedTestStruct { a: 98, b: 13284016551454210865, c: 303971524 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_8/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); +#[should_panic] +fn test_containers_var_test_struct_lengthy_last_offset_2_overflow() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_lengthy_last_offset_2_overflow/serialized.ssz_snappy"); - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("8e18f10531f714ba08f9d0a283ca65863d5ced520ce2ed2861cd7b261eee43ca"); - assert_eq!(root, expected_root); + deserialize::(&encoding); } #[test] -fn test_containers_small_test_struct_random_7() { - let mut value = SmallTestStruct { a: 35335, b: 8267 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_7/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); +#[should_panic] +fn test_containers_var_test_struct_lengthy_offset_2_minus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_lengthy_offset_2_minus_one/serialized.ssz_snappy"); - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("a9ea01512c31f35e35201b0d1f69c109a6e985c9672c055b8160436a1647b36c"); - assert_eq!(root, expected_root); + deserialize::(&encoding); } #[test] -fn test_containers_small_test_struct_random_0() { - let mut value = SmallTestStruct { a: 63471, b: 60758 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_0/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); +#[should_panic] +fn test_containers_var_test_struct_lengthy_offset_2_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_lengthy_offset_2_plus_one/serialized.ssz_snappy"); - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("54b0b915e1cf6543b9af7f7a4e5122fa9f4fa50352eeab6f0c3b033610a4d54d"); - assert_eq!(root, expected_root); + deserialize::(&encoding); } #[test] -fn test_containers_small_test_struct_random_9() { - let mut value = SmallTestStruct { a: 46561, b: 34924 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_random_9/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); +#[should_panic] +fn test_containers_var_test_struct_lengthy_offset_2_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_lengthy_offset_2_zeroed/serialized.ssz_snappy"); - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("222ce608a4c1abcbdfcf6db2f2927df6a0ad782eb9dfc586236897d304e20b03"); - assert_eq!(root, expected_root); + deserialize::(&encoding); } #[test] -fn test_containers_complex_test_struct_lengthy_3() { - let mut value = ComplexTestStruct { - a: 18529, - b: List::::try_from(Vec::::from_iter([ - 63901, 56928, 34026, 2156, 25223, 3105, 6521, 1554, 6929, 49447, 40332, 14581, 58068, - 50656, 38716, 52674, 53315, 1274, 28725, 57283, 54985, 42900, 17041, 29905, 9355, - 29080, 11338, 26460, 39893, 32952, 31627, 47885, 39653, 43669, 61148, 24175, 35139, - 15259, 11790, 62029, 53707, 10972, 29055, 55280, 57644, 4411, 40469, 61735, 35119, - 5707, 26521, 24010, 10327, 25078, 299, 9871, 10851, 18870, 16942, 46764, 49623, 35931, - 22631, 21549, 23682, 53172, 13945, 53604, 35140, 20556, 37881, 38318, 10165, 1791, - 35276, 48151, 40079, 13065, 37327, 27428, 60474, 23904, 49532, 12282, 32791, 30132, - 32289, 62554, 4447, 58279, 36146, 64085, 59183, 33765, 43816, 2470, 57677, 55733, - 47288, 56566, 37186, 16357, 6873, 17867, 37463, 22147, 21676, 18313, 45835, 28832, - 64929, 18024, 10244, 23850, 59303, 15476, 50013, 58404, 35011, 20822, 33373, 15018, - 37081, 32686, 10348, 6024, 16925, 7670, - ])) - .unwrap(), - c: 115, - d: List::::try_from(Vec::::from_iter([ - 216, 99, 255, 72, 3, 138, 142, 193, 11, 17, 145, 233, 77, 145, 85, 28, 34, 127, 29, 61, - 122, 40, 183, 43, 90, 45, 191, 54, 133, 175, 8, 205, 202, 106, 175, 98, 192, 144, 80, - 51, 113, 16, 34, 122, 242, 172, 192, 247, 191, 237, 147, 103, 209, 2, 9, 180, 22, 243, - 242, 199, 21, 195, 228, 148, 111, 47, 100, 57, 226, 28, 98, 72, 171, 145, 23, 203, 67, - 9, 2, 27, 130, 223, 112, 107, 122, 33, 251, 51, 127, 6, 112, 195, 31, 242, 189, 234, - 142, 149, 64, 159, 174, 74, 68, 175, 252, 251, 18, 17, 73, 230, 18, 213, 16, 212, 7, - 35, 51, 87, 3, 174, 37, 82, 13, 74, 237, 199, 224, 22, 31, 205, 186, 165, 201, 100, - 255, 160, 170, 223, 195, 193, 90, 127, 102, 202, 137, 141, 253, 51, 237, 8, 57, 136, - 205, 135, 31, 130, 245, 191, 138, 10, 117, 108, 109, 249, 41, 200, 5, 31, 91, 104, 87, - 99, 167, 89, 122, 195, 8, 248, 226, 128, 116, 60, 189, 195, 34, 157, 36, 55, 120, 187, - 38, 51, 254, 223, 120, 12, 33, 73, 120, 149, 92, 176, 249, 4, 141, 137, 2, 62, 54, 244, - 13, 29, 38, 85, 77, 68, 0, 244, 0, 230, 87, 40, 112, 125, 253, 228, 191, 118, 9, 222, - 229, 99, 252, 223, 108, 42, 58, 158, 114, 87, 156, 25, 19, 230, 97, 159, 31, 228, 14, - 81, 120, 203, 173, 79, 38, 205, +fn test_containers_var_test_struct_max() { + let mut value = VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), - e: VarTestStruct { - a: 53960, - b: List::::try_from(Vec::::from_iter([ - 46826, 53336, 61958, 40701, 11464, 48009, 5094, 55856, 47019, 5773, 34808, 1280, - 36906, 26000, 33514, 48969, 43344, 60399, 64605, 39783, 12575, 22946, 15852, 17658, - 7594, 56259, 49500, 44084, 34455, 53734, 32112, 4889, 53073, 55294, 43389, 47990, - 6545, 15117, 913, 3734, 61132, 2615, 34292, 1881, 43700, 27545, 63431, 51337, - 20113, 46288, 61393, 17847, 61450, 21005, 58227, 29599, 32377, 38466, 18300, 4289, - 37528, 15126, 61883, 22203, 27966, 19906, 63074, 61210, 31966, 38894, 58540, 18329, - 60111, 22862, 54435, 29472, 41991, 46187, 54081, 30019, 46958, 16048, 65122, 38202, - 10789, 39620, 31720, 49166, 49606, 13812, 36738, 65223, 19201, 59535, 56260, 22503, - 46485, 16896, 45438, 5850, 9220, 53022, 36321, 3387, 24169, 52353, 4584, 10618, - 43586, 39576, 65340, 22869, 56217, 4620, 60063, 63351, 18384, 11208, 16898, 61208, - 24268, 22576, 32704, 4860, 54640, 27217, 17052, 22830, 55980, 21527, 22106, 17330, - 53519, 47972, 24641, 33056, 19054, 29181, 30682, 10143, 48089, 62858, 31082, 48032, - 32366, 38969, 5173, 24833, 30191, 12814, 40878, 60264, 29086, 1542, 25780, 51105, - 63418, 58219, 63441, 57973, 38834, 8611, 22930, 33232, 45138, 36085, 63145, 39960, - 57046, 2113, 46849, 10102, 4681, 2720, 51439, 5837, 6875, 17849, 10219, 1411, - 58857, 48261, 30653, 33072, 27677, 51225, 34922, 57646, 18336, 4260, 25384, 45148, - 54665, 52154, 14568, 7965, 52482, 17990, 56153, 25960, 37053, 40838, 30553, 20051, - 33389, 41345, 33290, 12202, 19201, 60996, 53343, 10124, 23113, 2746, 60048, 18865, - 58694, 63206, 62853, 55900, 3462, 58927, 57380, 59269, 60754, 9942, 25186, 21820, - 24487, 41654, 11942, 22234, 14680, 35643, 43799, 7305, 19186, 39213, 63939, 9174, - 45878, 598, 17315, 48933, 2566, 1492, 33592, 31928, 65021, 41470, 8584, 41428, - 34580, 29190, 55410, 46241, 33780, 51597, 12738, 37168, 10487, 28367, 15452, 10902, - 58950, 21714, 20948, 38958, 26506, 37368, 28656, 34600, 38833, 5636, 7868, 16629, - 22164, 60627, 2506, 60510, 15170, 47819, 27809, 19525, 56892, 1107, 38466, 44000, - 20966, 46668, 44171, 48726, 7548, 31332, 46242, 39460, 30231, 52237, 61908, 54613, - 46804, 2570, 25210, 20929, 51361, 42322, 11859, 15136, 60387, 45697, 3669, 36875, - 12194, 59559, 28494, 21533, 20529, 26490, 3472, 24323, 47222, 22391, 52602, 51777, - 47939, 22602, 15291, 40665, 44513, 15114, 26540, 25566, 53324, 35214, 24402, 5696, - 8381, 52419, 30345, 31365, 32180, 31806, 14650, 15134, 57298, 41921, 55581, 23054, - 24556, 63182, 20340, 27349, 39181, 41497, 41248, 5449, 57616, 50923, 56137, 52170, - 59677, 30166, 7500, 16712, 18272, 23169, 3092, 32407, 19347, 35932, 29848, 59300, - 33452, 9018, 19770, 2263, 41943, 7806, 40544, 50891, 8271, 19231, 18143, 22063, - 12896, 64289, 44676, 44473, 58167, 2529, 30983, 11910, 55245, 2508, 48092, 13755, - 28974, 7097, 41885, 33244, 8587, 5399, 18999, 62632, 47972, 50644, 64743, 30971, - 26442, 57716, 46155, 30990, 19586, 8360, 10260, 28380, 32070, 7500, 17048, 57318, - 6275, 20012, 44546, 46488, 34737, 27601, 46680, 19792, 63404, 60355, 29276, 14881, - 11528, 35457, 3713, 30031, 49873, 64442, 55721, 45623, 35221, 11387, 40293, 8470, - 12166, 61758, 28847, 20642, 17022, 42847, 56476, 59090, 40715, 35336, 3829, 11185, - 19379, 38373, 59958, 58282, 64483, 5752, 16856, 40615, 11578, 16497, 20613, 1453, - 27250, 29451, 58385, 40947, 54652, 22894, 32504, 47787, 15132, 39808, 33623, 8418, - 36533, 45995, 55831, 12584, 31426, 17532, 65389, 51365, 61024, 29105, 45006, 38547, - 7530, 13237, 15925, 44568, 7818, 36154, 33906, 44285, 52731, 29781, 41379, 64743, - 61599, 29520, 57941, 57330, 35956, 51947, 36572, 39676, 60963, 34758, 5591, 40084, - 57530, 56934, 16825, 1815, 20341, 61774, 23235, 6582, 33588, 21491, 36358, 906, - 26105, 21743, 13531, 211, 2620, 44591, 46140, 60302, 5567, 63420, 15271, 63073, - 61420, 30777, 1044, 45636, 52147, 62522, 51904, 5269, 6779, 56245, 24216, 46982, - 45901, 47329, 42368, 3999, 36179, 34725, 6865, 58782, 59051, 6143, 45563, 30810, - 9235, 5817, 2689, 15449, 65481, 47425, 42512, 32482, 9454, 23961, 54779, 24452, - 16802, 17828, 21544, 17104, 65364, 63355, 37791, 50620, 37990, 14980, 46576, 64554, - 44794, 53243, 63178, 1124, 6128, 64673, 64745, 7112, 65004, 42386, 13464, 15536, - 23604, 8170, 26495, 20605, 64151, 64556, 63982, 23083, 52791, 5976, 43555, 21920, - 9056, 35150, 1868, 25100, 37992, 41595, 40487, 18240, 35384, 12126, 22397, 31933, - 47965, 54411, 1554, 19492, 24736, 28665, 35746, 27733, 754, 41179, 12635, 15115, - 34209, 35489, 61733, 5229, 4020, 9860, 41475, 31290, 8073, 13797, 20396, 20814, - 3706, 12443, 42920, 31926, 19402, 22529, 5156, 30403, 8258, 60385, 52518, 47057, - 31811, 60257, 60854, 34857, 23273, 19877, 64112, 17813, 4908, 4481, 45676, 50054, - 60772, 46541, 61378, 39844, 53160, 8833, 38520, 6714, 62000, 28384, 28107, 49296, - 48502, 63410, 35822, 47454, 40488, 33455, 42323, 31016, 1135, 47824, 22261, 48880, - 19515, 53088, 25154, 1863, 5907, 9788, 46873, 21114, 7942, 22893, 60788, 61442, - 61322, 31519, 39905, 62217, 15663, 14367, 27563, 29054, 220, 23475, 23677, 29052, - 21091, 1061, 41007, 17798, 57997, 25740, 13011, 8181, 11261, 34528, 50467, 42541, - 736, 36396, 24891, 11702, 54499, 19935, 50659, 22575, 8312, 31023, 25737, 61468, - 16075, 15898, 3053, 60110, 64088, 13481, 44323, 2890, 53642, 51490, 9937, 59137, - 22633, 46925, 55203, 40838, 56588, 1356, 40420, 26730, 23782, 23138, 56637, 34284, - 23122, 50001, 52369, 13377, 39696, 63003, 29979, 29378, 54667, 43096, 7727, 20012, - 366, 63189, 53443, 27756, 65169, 58425, 64258, 51070, 65212, 48354, 20272, 46249, - 41270, 30475, 6993, 39214, 41012, 5724, 40676, 16165, 22107, 11636, 19203, 55297, - 60208, 1231, 19089, 3654, 1070, 13884, 44896, 4480, 1504, 64322, 30639, 20034, - 15965, 15461, 43504, 3115, 52423, 28314, 47641, 15948, 26717, 5554, 20330, 26426, - 5325, 15652, 23256, 34300, 64283, 17137, 39704, 22799, 49721, 58359, 12362, 63364, - 32710, 41829, 39323, 51258, 6229, 12233, 51673, 48146, 62559, 11577, 2386, 25708, - 28065, 23691, 31201, 16153, 10808, 50882, 4301, 56535, 39489, 2676, 65155, 42823, - 7397, 64156, 24917, 1743, 6795, 29270, 17179, 9471, 39370, 46734, 20950, 24268, - 7748, 44945, 47812, 19238, 448, 54751, 57923, 42363, 20807, 18535, 58424, 43069, - 24071, 64335, 56590, 12888, 14443, 4321, 22747, 26441, 57878, 22966, 31002, 2789, - 17031, 32528, 1522, 36057, 5870, 46260, 14465, 10242, 14373, 9437, 9601, 42514, - 63304, 35258, 7988, 59877, 324, 31849, 6576, 47268, 5944, 579, 30187, 34670, 31727, - 46739, 34482, 59390, 17603, 33293, 19819, 49493, 16738, 5091, 48609, 24188, 44651, - 50277, 4945, 38493, 43633, 2197, 21389, 8529, 4876, 8923, 6816, 51863, 24960, - 21898, 6653, 20998, 51648, 34069, 9824, 58017, 15290, 47942, 2604, 33611, 33161, - 62921, 22439, 26692, 54458, 58408, 298, 35480, 49023, 60886, 21346, 13145, 10818, - 45556, 2775, 61263, 23378, 12636, 50123, 60475, 35737, 55417, 57535, 54396, 3428, - 2196, 60076, 18807, 62522, 16236, 25099, 51547, 12501, 47168, 42845, 10112, 5856, - 28496, 16381, 53154, 63104, 22801, 22616, 63050, 14219, 60342, 51074, 13573, 15844, - 22088, 14643, 17402, 106, 5402, 31618, 59747, 51402, 17836, 20401, 45778, 47413, - 28589, 27934, 61596, - ])) - .unwrap(), - c: 245, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 68, b: 12267952658191999941, c: 3332230928 }, - FixedTestStruct { a: 165, b: 3575481553412658987, c: 1650490765 }, - FixedTestStruct { a: 8, b: 1803749896546999, c: 73003565 }, - FixedTestStruct { a: 160, b: 3069288440817187109, c: 408150667 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 24196, - b: List::::try_from(Vec::::from_iter([ - 6603, 61381, 60031, 32094, 36677, 38293, 55950, 26935, 16614, 6433, 56485, - 23571, 29345, 33299, 48435, 15953, 3887, 19489, 6966, 23769, 5249, 35498, - 56673, 65359, 45904, 49244, 50016, 18170, 25802, 58453, 57805, 12802, 6275, - 30060, 40014, 15605, 48221, 20905, 34096, 62306, 19174, 24920, 28381, 63081, - 46500, 63644, 64157, 57286, 11412, 61079, 15799, 38925, 15486, 13922, 19521, - 44872, 55611, 20869, 13737, 7978, 41981, 17212, 55912, 35285, 25867, 15682, - 35547, 18617, 5109, 9233, 55392, 54508, 15104, 22359, 4984, 51511, 19634, - 36755, 18119, 4804, 51291, 9290, 58319, 30438, 40448, 34394, 51617, 24962, - 61537, 28341, 33964, 22302, 31143, 54949, 10712, 6127, 7806, 51858, 19186, - 37056, 56531, 32833, 17798, 64516, 21373, 7771, 12174, 30731, 2731, 53641, - 24719, 62092, 27280, 33136, 59915, 8688, 44271, 62789, 27229, 44075, 5195, - 16327, 63810, 9025, 14813, 34832, 18780, 46816, 22090, 5267, 13225, 21286, - 47555, 6244, 23426, 5521, 44593, 24241, 35484, 28722, 4640, 2325, 16358, 40685, - 22092, 54532, 44924, 51570, 46178, 304, 65368, 53364, 9266, 1771, 29707, 21543, - 32611, 45137, 15447, 50833, 27201, 7603, 21400, 16285, 62978, 18806, 61026, - 59118, 26749, 13337, 29345, 25574, 50971, 52313, 28736, 19301, 10209, 64962, - 10050, 53358, 13310, 52647, 34894, 49133, 63177, 18437, 64656, 1622, 11778, - 8834, 54666, 1406, 56220, 27018, 1169, 31742, 50752, 15912, 35768, 62873, - 23818, 33254, 2818, 9659, 33427, 29293, 27521, 36172, 50775, 59160, 26920, - 60723, 53421, 41077, 21381, 53321, 41874, 56602, 6343, 50962, 40834, 780, - 28130, 43955, 31178, 8202, 10514, 8508, 62927, 43633, 48508, 46092, 1556, - 34163, 57896, 2625, 22045, 62208, 29143, 51006, 2429, 25388, 43669, 185, 12423, - 59980, 29850, 50769, 60076, 59638, 50120, 41304, 39099, 63606, 63649, 32848, - 1013, 15886, 65444, 48097, 59682, 7380, 4696, 31562, 49863, 46947, 50729, - 39271, 44937, 43907, 53548, 1532, 39599, 15808, 5212, 53232, 43249, 61800, - 31948, 65070, 20879, 49955, 5730, 8663, 46829, 57038, 39358, 21028, 1285, 100, - 63090, 62070, 44592, 46738, 47182, 7274, 14310, 54192, 16559, 7828, 3505, - 35939, 11756, 39231, 12025, 18137, 2394, 61560, 23799, 43507, 53269, 14160, - 48509, 50226, 35633, 59344, 49256, 49060, 42962, 9851, 10635, 25311, 56430, - 18089, 59724, 53902, 51703, 54327, 25072, 13012, 17147, 11209, 60019, 2659, - 30111, 5231, 22011, 24036, 47598, 27094, 17743, 35074, 50938, 21564, 56091, - 39341, 58179, 38013, 45935, 60769, 23520, 18304, 47682, 6686, 16022, 30592, - 34319, 62730, 33171, 29047, 55868, 35528, 17933, 36324, 2736, 28030, 2749, - 7458, 22311, 23076, 38977, 41513, 1871, 65377, 14456, 18725, 21146, 47594, - 34847, 42408, 39177, 9607, 44397, 13518, 15939, 56794, 61779, 53633, 54380, - 39264, 60310, 4937, 42348, 16202, 33616, 1019, 21567, 18131, 64097, 16339, - 3271, 13573, 56594, 41707, 56541, 32032, 34081, 3878, 60367, 39817, 9767, - 37439, 61697, 28656, 58581, 50899, 37509, 12253, 50925, 52721, 28115, 9619, - 48880, 29058, 4611, 38129, 34626, 17430, 45675, 57194, 22906, 53235, 37414, - 4167, 34468, 12960, 15245, 18169, 41317, 38395, 52796, 28127, 40208, 38166, - 53939, 11195, 6114, 37410, 8356, 22150, 23020, 1585, 8478, 17032, 51942, 22253, - 34196, 56659, 51844, 38842, 45270, 60399, 40348, 44178, 40397, 48687, 54763, - 20553, 18569, 47976, 22633, 9652, 9349, 46160, 64824, 11119, 32487, 1769, - 21898, 28539, 16480, 5566, 33681, 42983, 9531, 64129, 20899, 22637, 62792, - 32943, 26184, 15935, 46825, 65482, 14602, 22829, 6865, 19651, 3047, 45519, - 23110, 24454, 8159, 44428, 40239, 24861, 581, 40075, 2017, 12151, 29736, 28347, - 10813, 28747, 36708, 42435, 51367, 4001, 16040, 54579, 55061, 6004, 33873, - 14348, 35622, 23979, 19375, 15930, 45152, 59180, 42969, 47239, 63081, 16843, - 45355, 46977, 35047, 38179, 24603, 24347, 31061, 14282, 1924, 9989, 56052, - 57580, 1831, 17878, 18578, 54668, 45103, 45935, 26753, 3043, 17751, 33, 40109, - 36707, 37005, 10323, 32880, 5074, 46327, 12391, 20891, 20274, 51814, 64915, - 39101, 40360, 47958, 56014, 24983, 14799, 53973, 23, 34549, 21766, 7519, 56051, - 22527, 64003, 35359, 57526, 52329, 15513, 55744, 61047, 31220, 47594, 18328, - 36664, 58049, 35696, 21567, 13396, 31425, 50561, 10777, 38979, 7582, 52874, - 26193, 22038, 45882, 39730, 35269, 56513, 33269, 22589, 8249, 34496, 33497, - 54792, 62095, 57965, 55334, 15079, 46798, 46671, 26567, 36705, 20468, 18838, - 5203, 20490, 60509, 26257, 60838, 20018, 10499, 14577, 56992, 18865, 48274, - 64667, 10353, 34978, 45606, 15361, 13507, 51266, 49927, 26131, 21976, 7054, - 40873, 47133, 21663, 45292, 61093, 12480, 15164, 28827, 6003, 48067, 24955, - 63917, 32565, 21721, 44697, 8495, 15678, 40868, 28065, 21019, 56652, 47467, - 28600, 57805, 55121, 15727, 1733, 23818, 57476, 51710, 12990, 54630, 12774, - 20324, 34759, 40159, 8497, 61062, 48869, 40729, 38697, 5090, 32842, 13691, - 31005, 5315, 4986, 64295, 41264, 17351, 63477, 18234, 51369, 2317, 55176, - 27837, 39921, 37157, 35291, 34529, 17253, 45293, 43396, 27906, 57730, 56751, - 11723, 21352, 30139, 5443, 57828, 20467, 31843, 2589, 8550, 21509, 13697, - 35418, 9896, 25675, 52331, 50217, 40864, 12663, 27637, 198, 7319, 47789, 49560, - 17927, 56881, 53636, 10215, 57412, 48111, 26444, 62296, 30963, 28222, 29108, - 35268, 6196, 15657, 51675, 27787, 49572, 35922, 37748, 22433, 44421, 23974, - 48985, 53708, 11796, 47395, 51006, 14355, 18916, 6606, 65075, 60066, 57876, - 55953, 40671, 21758, 56759, 15158, 53382, 56532, 52261, 3111, 47451, 16481, - 55348, 12586, 6524, 8900, 25438, 58926, 4399, 53111, 40626, 40153, 38619, 6979, - 1213, 36749, 22826, 28313, 14460, 34317, 18224, 16069, 4124, 17124, 18124, - 56282, 18921, 34982, 52567, 44874, 17490, 28788, 39646, 64121, 41161, 63431, - 36693, 5505, 21622, 46552, 7368, 8343, 52377, 36507, 60145, 10383, 61621, - 48209, 55777, 50157, 14604, 56741, 27003, 31293, 38323, 52303, 23557, 59366, - 63611, 57750, 8999, 18885, 19753, 15792, 41319, 13503, 47607, 29810, 24168, - 10169, 14379, 46677, 11638, 13437, 52033, 9825, 11588, 11636, 21268, 62910, - 471, 45324, 4484, 33272, 46212, 7792, 53874, 36592, 12807, 11884, 16355, 61764, - 40562, 35797, 21235, 43511, 29007, 31148, 49610, 49359, 4630, 58808, 59139, - 54630, 21758, 61690, 5796, 38765, 16291, 2888, 23723, 52689, 45132, 34891, - 27049, 16629, 33754, 59675, 59333, 52121, 15768, 45048, 61604, 18733, 12772, - 32345, 45339, 33411, 34887, 43469, 15881, 47215, 14498, 1104, 14317, 44859, - 59894, 45435, 17818, 46477, 57335, 52159, 12578, 25744, 48347, 52879, 28203, - 19283, 11566, 10350, 32958, 9182, 40100, 37624, 22710, 41061, 62495, 52937, - 37326, 9311, 895, 22836, 6087, 23241, 26240, 18050, 9174, 62330, 21846, 44997, - 46255, 32505, 13893, 47738, 41900, 7943, 41727, 39705, 48840, 10082, 38466, - 48677, 50413, 60076, 47259, 2361, 51752, 48383, 34175, 35429, 62049, 11857, - 49197, 31596, 46835, 63139, 33672, 38495, 64725, 61288, 34377, 64107, 37792, - 1373, 4768, 64556, 5803, 39715, 25127, 45859, 9695, 59595, 3155, 55872, 8943, - 18539, 6272, 51765, 14088, 50441, 57839, 57923, 2729, 41832, 42585, 32877, - 32880, 27407, 32477, 23986, 62524, 11648, 55067, 53584, 38608, 61264, 46588, - 16709, 14076, 19405, 23231, 4669, 43249, 32491, 7084, 11637, 20534, - ])) - .unwrap(), - c: 77, - }, - VarTestStruct { - a: 13681, - b: List::::try_from(Vec::::from_iter([ - 32927, 89, 54050, 61316, 62061, 4741, 59910, 19444, 52741, 17825, 2418, 36474, - 24003, 39619, 34436, 63177, 61990, 20751, 50912, 30664, 17310, 25980, 10729, - 37159, 41370, 21825, 5590, 37469, 11877, 39167, 11905, 47632, 9090, 47355, - 49203, 27222, 52030, 19559, 35273, 53533, 1770, 27928, 46192, 33500, 57662, - 56086, 10313, 345, 26472, 50093, 18068, 64608, 18909, 26265, 31872, 14017, - 13671, 22892, 62200, 41003, 1197, 43821, 18304, 55856, 49373, 40637, 31392, - 46421, 5152, 42576, 56741, 2804, 8722, 39408, 25584, 42916, 18648, 52745, - 48891, 21501, 59088, 24813, 43491, 58763, 47356, 58492, 22045, 9408, 24136, - 23966, 33576, 11205, 1553, 51393, 7501, 61021, 38353, 59065, 6876, 16750, - 29348, 52016, 39946, 55539, 3635, 32563, 6093, 20390, 35562, 27145, 22679, - 42574, 12320, 660, 35666, 32297, 24396, 12849, 9268, 24558, 54358, 30373, - 18314, 65084, 53048, 46770, 51559, 32315, 17955, 11237, 23214, 51054, 59776, - 8976, 54117, 49942, 34596, 34613, 64932, 40854, 3020, 13640, 47324, 13645, - 54145, 19266, 42731, 11199, 3336, 42440, 48254, 42699, 49176, 50152, 23059, - 63970, 48501, 27138, 49251, 49861, 25705, 8756, 26543, 36011, 63842, 59138, - 5684, 7178, 20084, 48454, 47531, 55045, 22922, 27886, 61596, 25401, 27576, - 17922, 3361, 51103, 28139, 18819, 27945, 26153, 2819, 51714, 45116, 55308, - 49561, 49758, 9298, 49590, 9425, 1580, 44173, 14946, 58089, 12008, 44891, 6886, - 41623, 65185, 6638, 6207, 52119, 6204, 57846, 61438, 52437, 8642, 22209, 40048, - 51975, 43645, 39767, 59851, 23928, 44449, 59418, 56488, 29889, 43636, 53012, - 6919, 10651, 17783, 10679, 48165, 834, 15126, 10770, 7391, 38239, 63793, 52585, - 21029, 24947, 12957, 25840, 47161, 64526, 37939, 16589, 36792, 40312, 53268, - 18795, 48675, 16161, 5078, 33193, 34188, 28805, 22489, 19253, 49049, 21297, - 6514, 25181, 47343, 37152, 53450, 37806, 30827, 53741, 22927, 17798, 38117, - 61332, 11439, 7165, 46874, 37782, 55984, 39619, 32524, 62528, 53443, 29239, - 17651, 15239, 9759, 32011, 37245, 51106, 3739, 3338, 28851, 35883, 26313, - 36000, 33682, 61578, 18570, 65063, 34103, 1772, 44595, 8237, 18797, 61025, - 18594, 3984, 18347, 47429, 35996, 23901, 6566, 33137, 12344, 5254, 47830, 1775, - 55280, 46889, 41862, 56797, 38114, 32249, 1008, 33937, 8865, 31021, 41014, - 42517, 23723, 51077, 24713, 63922, 64917, 27145, 26840, 50010, 62284, 1599, - 61355, 44564, 60092, 26108, 59612, 18220, 26393, 19099, 45990, 64433, 36336, - 17209, 47421, 14119, 40295, 9334, 16580, 31089, 62504, 16381, 16027, 49013, - 28892, 43041, 60568, 30739, 50380, 32238, 20831, 3315, 46010, 35044, 974, - 34389, 42891, 48679, 37064, 55815, 26686, 45895, 1939, 43789, 19026, 21477, - 12991, 17023, 36834, 34651, 59703, 43214, 59578, 34318, 27014, 2861, 54736, - 151, 44280, 4409, 10631, 27166, 41177, 36866, 17652, 43539, 5383, 2108, 61419, - 59936, 18768, 54613, 30583, 41912, 30484, 413, 37617, 50502, 10885, 33184, - 42685, 59889, 262, 61207, 48461, 64497, 567, 44567, 33457, 46622, 57018, 19921, - 58236, 116, 52061, 20949, 26566, 20685, 2045, 22222, 6996, 1551, 4824, 6928, - 873, 8551, 5219, 64106, 12165, 48745, 62106, 58051, 32442, 13125, 34487, 25883, - 62073, 56848, 9538, 2497, 6672, 11811, 15964, 800, 52711, 52253, 62938, 11296, - 20269, 31, 17563, 15435, 21192, 39281, 90, 13510, 52191, 42569, 22365, 26016, - 35688, 25942, 8102, 65329, 21204, 10371, 57275, 4292, 16630, 355, 3937, 29009, - 24477, 50523, 60563, 45692, 44226, 38578, 34858, 62331, 43551, 53312, 17683, - 6273, 34624, 53139, 29851, 34848, 24754, 54884, 27852, 40429, 61746, 54182, - 61391, 14437, 34143, 107, 40610, 61092, 16806, 14449, 63056, 42166, 28557, - 27795, 20070, 64828, 15093, 32834, 26921, 39833, 48398, 6320, 19659, 5683, - 31012, 4312, 11404, 21067, 57938, 54431, 10295, 7444, 43341, 49246, 60633, - 21231, 4083, 56229, 8769, 47566, 59038, 10843, 60804, 43329, 14229, 52833, - 11346, 9279, 33075, 10484, 9956, 12516, 43200, 10280, 23509, 38041, 30641, - 24952, 26113, 37497, 27042, 24619, 48768, 34594, 6208, 11681, 30898, 28275, - 43203, 784, 43224, 27425, 62360, 44595, 47373, 26123, 46164, 5173, 39880, - 43747, 31104, 58132, 36733, 36561, 17276, 33984, 55220, 43531, 50275, 47483, - 39087, 55673, 45812, 16477, 62298, 1405, 22591, 11594, 43586, 13935, 25804, - 62018, 50168, 50459, 32579, 24936, 12197, 55798, 26182, 11810, 4527, 56362, - 12130, 30828, 46154, 64869, 23242, 8281, 64126, 331, 32805, 25470, 26785, - 47585, 32255, 43276, 13538, 8508, 52447, 58637, 46594, 45859, 54680, 30142, - 11183, 43938, 18929, 58943, 30576, 38938, 3795, 5153, 58648, 62894, 42637, - 11729, 35524, 30263, 60328, 25273, 13187, 27459, 10654, 6911, 113, 44441, 9977, - 42821, 36089, 24257, 14992, 17937, 46805, 28342, 36372, 3895, 47677, 35173, - 4583, 26754, 52930, 39541, 45755, 11463, 17340, 38719, 20667, 10694, 62553, - 32529, 25895, 18234, 26025, 31080, 54993, 20674, 54644, 9003, 39967, 32760, - 14930, 60008, 6208, 22177, 57662, 16686, 9958, 22345, 38472, 7322, 22200, - 23851, 42152, 59297, 10941, 15062, 30261, 30770, 57506, 54836, 20916, 42068, - 5741, 48742, 13694, 37640, 49352, 59613, 46011, 33226, 43021, 54198, 11423, - 47035, 34526, 56070, 654, 33223, 52537, 3100, 55208, 26197, 11421, 23663, - 52984, 39703, 30216, 38868, 8074, 47917, 38614, 21233, 41899, 31763, 13488, - 64998, 49935, 40, 17886, 4983, 36638, 32929, 35882, 15419, 49431, 1170, 11016, - 30103, 62510, 20755, 23732, 46989, 31019, 38046, 61080, 16974, 13976, 47511, - 30632, 45713, 32565, 45668, 46166, 41044, 64917, 60827, 37253, 1389, 59141, - 32957, 13465, 51425, 43640, 44073, 35317, 47240, 3482, 60354, 46892, 2897, - 37297, 20359, 28379, 650, 1834, 21513, 35440, 2090, 20988, 32061, 26833, 43484, - 65512, 15364, 15787, 760, 49753, 11912, 8324, 49125, 31150, 27013, 61347, - 33230, 22123, 30078, 58873, 28293, 16139, 14407, 42335, 59984, 41833, 40876, - 20783, 580, 13033, 55443, 56227, 12332, 34862, 50207, 4376, 59369, 20865, - 25885, 9179, 9270, 59707, 2013, 37229, 55849, 13137, 51806, 61658, 47935, 9081, - 40750, 21094, 5245, 24707, 24666, 326, 37300, 44171, 12805, 45167, 10381, 1699, - 4214, 61512, 24301, 26347, 17700, 62639, 33404, 23408, 37311, 22628, 50449, - 62143, 60326, 9565, 41765, 58439, 39225, 30321, 10134, 25509, 28458, 9365, - 9356, 30543, 64766, 28831, 60752, 8407, 13977, 34956, 51787, 16136, 48790, - 24757, 22242, 53998, 52233, 61935, 56688, 7650, 31345, 62598, 4782, 25110, - 62913, 8387, 22915, 18290, 17659, 26989, 14173, 36401, 8292, 25498, 64301, - 17914, 10507, 59149, 46035, 58221, 43880, 9515, 36577, 27264, 472, 59745, - 25898, 35785, 44994, 17086, 14077, 7410, 26037, 38540, 31794, 18327, 65021, - 47964, 43312, 16456, 6829, 39161, 39620, 26967, 14876, 18696, 28542, 43254, - 22230, 44413, 61893, 42210, 61458, 35083, 45950, 39568, 33850, 49722, 35571, - 55860, 8339, 9211, 27888, 36088, 33040, 47303, 59394, 31387, 21376, 52445, - 60718, 65131, 2470, 7412, 37438, 20512, 27440, 48419, 36885, 40427, 34053, - 63568, 21608, 36409, 2389, 40753, 31472, 55904, 19881, 19502, 47781, 53457, - 5001, 16431, 48559, 19793, 46702, 28928, 6142, 55123, 28184, 32610, 24205, - 12377, 2226, 54967, 58959, 40063, 15322, 24326, 57930, 22226, 58064, 11986, - 35945, 5778, 45623, 23473, 9565, 4478, - ])) - .unwrap(), - c: 218, - }, - ]) + c: 255, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_max/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xd9824eb3449dabb9f62c69e72c5e5ba5917a1d68e679557e3fd1cb0cfdc38d17"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_var_test_struct_max_0() { + let mut value = VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) .unwrap(), + c: 255, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_3/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("5e58b695d0cbbdb4ad678f5786d4931228aab7d69bd3e78f752326ead3fb6360"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_random_6() { - let mut value = FixedTestStruct { a: 239, b: 5454313257518522816, c: 797239823 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_6/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("121931c91bba4fa691f1bcc82c561e65ecd0eb6441fa7960ecaee65bcd0149f7"); + root_from_hex("0x91158cf42f7e55a15dc111ce85b67225bb2e07042fb0a85b43b12f1b734c9bb9"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_lengthy_4() { - let mut value = ComplexTestStruct { - a: 48787, - b: List::::try_from(Vec::::from_iter([ - 63651, 25468, 28112, 2139, 52666, 19182, 3056, 17197, 52156, 19060, 32580, 13573, - 63047, 24207, 41557, 45706, 33575, 46627, 18858, 15277, 37012, 47099, 8104, 49203, - 39709, 18440, 53782, 21007, 20650, 41629, 39897, 1904, 3740, 35001, 33820, 58300, - 52188, 1565, 14481, 9232, 6627, 40027, 38272, 8892, 13212, 12254, 64523, 41687, 42804, - 54631, 32644, 23449, 16902, 63697, 34675, 22244, 5230, 60815, 40116, 1871, 34510, - 36222, 11487, 4579, 20115, 37653, 22333, 62674, 40597, 9528, 42598, 61981, 32578, 1110, - 496, 15080, 18274, 392, 3491, 65004, 36353, 56990, 50677, 23880, 48933, 19766, 40917, - 53297, 41031, 42501, 3321, 29240, 6531, 42064, 12496, 21616, 35707, 20432, 16263, 3468, - 35291, 30803, 27880, 45476, 55152, 2423, 19445, 6783, 2341, 31503, 5800, 14495, 49016, - 11066, 24174, 63436, 60530, 32779, 25878, 6606, 62660, 41328, 43403, 52950, 57542, - 48799, 43090, 51233, - ])) - .unwrap(), - c: 251, - d: List::::try_from(Vec::::from_iter([ - 243, 71, 196, 235, 129, 42, 248, 4, 106, 147, 98, 119, 217, 86, 132, 168, 213, 208, - 247, 197, 45, 63, 204, 171, 236, 245, 11, 228, 88, 253, 208, 115, 4, 188, 164, 114, - 134, 195, 11, 15, 60, 100, 17, 204, 44, 56, 216, 146, 212, 71, 15, 227, 154, 185, 59, - 213, 163, 164, 172, 199, 174, 67, 17, 254, 133, 148, 229, 219, 163, 70, 132, 182, 3, - 215, 51, 248, 207, 6, 248, 247, 27, 212, 136, 119, 201, 101, 17, 39, 198, 180, 221, - 239, 53, 197, 82, 32, 45, 9, 250, 49, 139, 45, 13, 175, 237, 195, 155, 62, 12, 123, 95, - 225, 200, 130, 255, 90, 70, 124, 205, 57, 68, 33, 178, 45, 22, 65, 118, 149, 124, 106, - 130, 78, 33, 88, 141, 249, 193, 208, 237, 160, 107, 83, 92, 89, 228, 101, 199, 198, - 216, 150, 137, 7, 102, 247, 5, 114, 97, 86, 8, 1, 102, 212, 147, 248, 185, 60, 55, 52, - 127, 58, 55, 2, 188, 125, 46, 118, 125, 140, 37, 82, 201, 8, 15, 217, 53, 237, 33, 146, - 49, 21, 97, 68, 37, 48, 231, 232, 71, 49, 22, 13, 143, 229, 69, 2, 108, 184, 124, 238, - 206, 88, 136, 249, 136, 8, 35, 106, 38, 187, 96, 165, 196, 110, 49, 255, 167, 111, 242, - 128, 122, 84, 76, 71, 57, 241, 76, 77, 14, 116, 122, 54, 108, 100, 102, 123, 113, 145, - 148, 234, 254, 218, 183, 192, 131, 35, 129, 3, - ])) - .unwrap(), - e: VarTestStruct { - a: 47118, - b: List::::try_from(Vec::::from_iter([ - 13769, 27181, 21999, 27872, 13312, 37953, 35537, 48063, 34708, 12121, 28120, 8712, - 45195, 29110, 64446, 58868, 58981, 31734, 25965, 54092, 59080, 58338, 46482, 7954, - 4988, 44055, 13561, 64688, 54718, 24316, 44476, 63591, 53370, 26610, 64852, 9374, - 8080, 4827, 50320, 18973, 3919, 23931, 9764, 22233, 10052, 17028, 38984, 19701, - 38766, 21639, 494, 4149, 52630, 25912, 39919, 39892, 23234, 50530, 48619, 8722, - 46004, 57385, 41064, 52026, 37984, 61584, 7760, 64551, 10244, 27444, 10382, 46339, - 4348, 24905, 41873, 10437, 22454, 61616, 28462, 63505, 64147, 41099, 63801, 13282, - 7480, 31976, 27265, 13414, 51261, 52670, 5099, 1467, 42065, 36849, 3100, 8955, - 49552, 40801, 61079, 60770, 21745, 33045, 22338, 35361, 31147, 39532, 3416, 21562, - 62694, 30237, 34067, 59300, 9499, 2357, 20275, 35286, 62977, 1765, 31712, 17443, - 3661, 49157, 4419, 19748, 59172, 61242, 54599, 19052, 22735, 29496, 10536, 60379, - 23501, 4592, 9637, 13478, 63037, 30007, 4393, 12533, 42401, 48070, 20729, 33054, - 26852, 4017, 59311, 65428, 27369, 22229, 14316, 7275, 28571, 28578, 45181, 35133, - 41228, 52639, 34011, 6172, 29226, 29906, 12101, 50253, 37576, 41224, 12831, 28411, - 14122, 35794, 59530, 7512, 54179, 38732, 45019, 64509, 1122, 24768, 15106, 40416, - 34733, 22040, 61866, 56396, 27964, 25125, 29564, 16772, 35884, 39621, 28686, 22531, - 27174, 26445, 57010, 48971, 49401, 36446, 39114, 53056, 42895, 56840, 27781, 58277, - 36851, 38286, 31725, 16558, 51721, 33561, 59081, 65468, 26468, 1959, 23033, 25485, - 1446, 37527, 50074, 60756, 39819, 35863, 23586, 19915, 38602, 21123, 24860, 10033, - 30420, 28185, 17718, 50756, 42228, 8081, 5297, 5097, 48380, 54319, 60820, 55000, - 36798, 54354, 36925, 46296, 29458, 63432, 11317, 32870, 33007, 59791, 20184, 8500, - 45212, 24118, 60507, 2788, 39630, 42242, 13280, 29925, 6768, 60808, 53506, 47696, - 41701, 19172, 49401, 47996, 17358, 22325, 21572, 64722, 60619, 54024, 26783, 51169, - 65307, 5325, 42859, 52054, 9100, 16054, 44458, 34833, 39628, 2604, 41441, 61031, - 16563, 30556, 17580, 47279, 42887, 40430, 41419, 26371, 5061, 39060, 1624, 37314, - 4300, 29651, 6081, 61545, 28986, 62430, 48310, 18098, 39022, 36595, 20561, 35013, - 13415, 46789, 21016, 40835, 26515, 27065, 32554, 11035, 1584, 1857, 35361, 21967, - 61880, 64617, 16035, 47771, 19934, 5519, 65358, 63490, 38282, 11900, 30306, 25667, - 35983, 30244, 29372, 46637, 8978, 38730, 40511, 9970, 62176, 27327, 41132, 1136, - 7355, 62447, 33874, 148, 10033, 28267, 26902, 8439, 517, 48483, 1108, 61978, 54380, - 34431, 1215, 47119, 44671, 36155, 21415, 23147, 56792, 3856, 19646, 39227, 61264, - 57178, 33674, 22103, 36529, 62922, 65324, 15193, 32940, 27057, 9014, 35668, 27872, - 32693, 35603, 58995, 41444, 25059, 60994, 27902, 52797, 20992, 9564, 33133, 37903, - 2832, 59989, 49623, 14524, 29832, 501, 46057, 27081, 29743, 11439, 17600, 30908, - 59715, 49872, 17164, 2492, 37619, 21031, 33964, 3617, 17186, 57808, 7201, 32437, - 10954, 18970, 64708, 41971, 56313, 2867, 36931, 5910, 28834, 48768, 34027, 25345, - 60722, 51640, 51214, 23157, 57520, 46423, 49053, 59797, 27572, 26942, 50692, 39559, - 30212, 19957, 21940, 24627, 17989, 45093, 38165, 63515, 41275, 21632, 5954, 37095, - 49571, 33875, 34413, 45432, 48071, 21899, 49604, 35944, 49223, 45658, 39299, 3597, - 9142, 4324, 8167, 38519, 61890, 63830, 42823, 23420, 39288, 65260, 14963, 56201, - 44356, 40005, 2542, 56651, 32366, 47376, 35069, 27145, 17588, 38180, 57927, 25477, - 17285, 47435, 6662, 62362, 45849, 130, 4246, 14100, 31020, 64598, 4393, 23755, - 5369, 1191, 38947, 42376, 53102, 37720, 45557, 32862, 50537, 8648, 26242, 27802, - 48155, 41360, 28009, 19863, 14521, 64091, 22003, 13074, 45519, 34700, 52650, 31421, - 12635, 9020, 50403, 17970, 64170, 32335, 29377, 44157, 35585, 54298, 8406, 43334, - 17938, 62215, 22531, 16878, 52691, 8469, 5672, 19652, 53126, 12685, 50427, 35891, - 55367, 26485, 11756, 36969, 49321, 65456, 48893, 60191, 21153, 53419, 2707, 25276, - 10363, 45882, 7267, 60488, 4575, 33511, 43307, 33521, 28909, 14084, 22981, 52632, - 5725, 27774, 22256, 62818, 39489, 41430, 9584, 26646, 28953, 16269, 8531, 26976, - 27601, 26317, 31211, 4043, 13177, 16772, 32231, 65037, 33649, 40427, 59258, 41903, - 52439, 29333, 56158, 45432, 39592, 42168, 55896, 38710, 63910, 48014, 39391, 45472, - 43635, 24232, 9927, 48985, 32868, 11591, 63114, 6787, 16801, 1313, 50432, 35135, - 18980, 17596, 55341, 2077, 23706, 58107, 57500, 37566, 23254, 30061, 1769, 63849, - 41099, 18934, 28818, 23367, 42347, 50682, 20795, 62267, 20987, 46446, 8406, 37657, - 4543, 45221, 52686, 9587, 6492, 28469, 43944, 61664, 48531, 38850, 49801, 48078, - 47871, 4261, 31222, 43728, 12123, 17400, 46951, 32355, 30936, 30149, 15754, 15476, - 17425, 3532, 1199, 36516, 17642, 49256, 50317, 40581, 21385, 47889, 16283, 44680, - 23443, 52445, 49408, 42175, 38963, 44303, 8549, 22609, 11329, 8030, 63150, 49586, - 47469, 19279, 2062, 9879, 1408, 31593, 14435, 16284, 55317, 20487, 36578, 35758, - 38362, 5735, 25495, 37801, 55937, 7373, 27964, 18778, 6736, 34571, 60370, 49591, - 20162, 47374, 16178, 37263, 9337, 13980, 23872, 10702, 41337, 3111, 3339, 57178, - 29407, 26340, 19402, 48002, 25742, 2119, 11231, 6407, 20113, 57084, 13722, 36753, - 4761, 40251, 53547, 23883, 62879, 11787, 55791, 20926, 39162, 56508, 18365, 49661, - 37185, 32678, 44094, 4906, 44363, 12369, 34260, 15711, 60961, 65197, 47997, 16903, - 51171, 55001, 47599, 31140, 61022, 14786, 34441, 55280, 4948, 32920, 49554, 50850, - 37058, 27086, 61978, 44505, 38689, 10971, 52341, 19537, 43652, 60547, 3936, 42124, - 21116, 20565, 28994, 29188, 3244, 47636, 49081, 49665, 2430, 25918, 17835, 30607, - 8899, 17297, 53766, 50312, 51270, 17370, 16215, 16059, 37877, 35300, 57602, 39408, - 16178, 33633, 32022, 52973, 23894, 27560, 40594, 43279, 27733, 13694, 26389, 25213, - 29626, 37775, 41217, 22431, 57326, 21367, 26689, 32634, 64328, 12999, 16568, 51965, - 5120, 57910, 23560, 55262, 6358, 54104, 39305, 27552, 22134, 32869, 16143, 48256, - 38330, 51391, 64870, 58579, 42177, 42904, 1723, 64260, 49530, 33772, 13643, 12616, - 27874, 10159, 26692, 34927, 840, 21541, 6698, 50092, 15020, 62853, 43209, 1836, - 61048, 18414, 53577, 26974, 62817, 7647, 10985, 4904, 53581, 9848, 14879, 2071, - 31139, 52804, 52722, 35424, 57257, 34846, 59527, 31715, 25748, 29620, 41239, 30000, - 4438, 58001, 32355, 62254, 63834, 32527, 28884, 40178, 2943, 43179, 47546, 8815, - 53817, 35082, 24638, 25847, 26377, 18805, 60195, 39246, 6097, 61066, 38704, 60285, - 46049, 54642, 13283, 7346, 11324, 44506, 58169, 47499, 51198, 30018, 23712, 4218, - 6208, 13183, 13929, 7390, 62917, 42553, 1927, 40867, 21338, 47138, 10358, 32969, - 56612, 40920, 64995, 218, 5727, 43531, 19986, 48744, 17374, 29398, 11662, 19995, - 39319, 4039, 17832, 35947, 5417, 37061, 22051, 16008, 60914, 19822, 39630, 25661, - 30110, 39068, 51273, 7920, 29950, 64264, 43330, 46664, 60880, 25966, 47928, 61799, - 42048, 7742, 50406, 2848, 39642, 28194, 14286, 61791, 2152, 9147, 63197, 16939, - 4671, 16098, 35410, 28018, 39360, 5544, 62954, 46800, 5840, 37200, 45002, 26000, - 5756, 39350, 30234, 7271, 6069, 8814, 36617, 28810, 33454, 37891, 33114, 42716, - 27751, 48298, 41031, - ])) - .unwrap(), - c: 244, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 200, b: 8265131358398570295, c: 617210979 }, - FixedTestStruct { a: 238, b: 8877155163157513854, c: 493753517 }, - FixedTestStruct { a: 34, b: 623966954658313443, c: 2195408706 }, - FixedTestStruct { a: 141, b: 3004917036006819299, c: 4005898075 }, - ]) +fn test_containers_var_test_struct_max_1() { + let mut value = VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 27169, - b: List::::try_from(Vec::::from_iter([ - 13476, 8731, 12406, 26506, 13077, 43721, 23620, 51444, 31912, 58628, 51040, - 40192, 12107, 49373, 14331, 15864, 17108, 56237, 2543, 64324, 20578, 49753, - 32572, 10336, 53290, 10272, 42486, 17078, 19301, 39237, 19441, 43151, 63151, - 17893, 41224, 42059, 10717, 1221, 18073, 45289, 51820, 33243, 18315, 39253, - 57488, 29556, 8833, 3120, 20633, 40947, 8858, 12952, 33729, 5201, 65049, 64599, - 28509, 29247, 34057, 8873, 21794, 24362, 38453, 37209, 31386, 20967, 58879, - 55840, 48675, 52276, 58446, 3138, 48298, 51366, 6514, 46965, 35657, 31636, - 42743, 43782, 32363, 17468, 26577, 65470, 65457, 41915, 41799, 57877, 6048, - 26757, 13876, 25331, 743, 37626, 39249, 12142, 4958, 64054, 57320, 35937, - 27708, 42715, 31809, 43964, 3017, 28332, 27783, 60382, 22019, 39862, 47465, - 51944, 50064, 49243, 21949, 36685, 56090, 5691, 65533, 35886, 58038, 17829, - 63149, 63209, 34803, 23158, 31484, 15799, 50994, 34055, 460, 18494, 39811, - 12428, 8103, 22574, 39070, 26404, 26807, 42441, 49188, 16783, 33069, 10019, - 55986, 28601, 33501, 54513, 18814, 15228, 4328, 41589, 58902, 56388, 50253, - 59475, 25707, 47299, 46483, 20330, 6480, 42424, 28669, 32748, 59411, 14678, - 6396, 10349, 64824, 25008, 32937, 57166, 14950, 9093, 39093, 29078, 44826, - 44759, 55852, 506, 51340, 34487, 53079, 45999, 32425, 60343, 33137, 17428, - 38888, 20015, 58699, 28039, 20247, 65468, 46814, 17697, 30510, 14780, 6574, - 49255, 61046, 31937, 36251, 58892, 30940, 40773, 49375, 42347, 14522, 834, - 56630, 26037, 36815, 56557, 27199, 31318, 17072, 64804, 40124, 4810, 26149, - 55228, 17460, 28655, 28946, 41259, 64191, 44910, 56264, 51791, 31430, 28904, - 21564, 21499, 16899, 56983, 50187, 41892, 15661, 8142, 34999, 39834, 19769, - 15767, 58842, 43209, 8897, 50310, 47276, 22791, 56606, 42377, 58341, 48373, - 12500, 65261, 26632, 61657, 28408, 39881, 48049, 45711, 32450, 22815, 19256, - 62922, 53947, 44186, 37860, 18617, 32592, 38869, 62531, 8284, 9196, 40565, - 27718, 23656, 24546, 9311, 26671, 36630, 44896, 58380, 11420, 34337, 62408, - 47478, 34670, 35532, 14512, 3401, 46240, 27217, 24633, 57711, 51788, 49617, - 23811, 27409, 12513, 34717, 48744, 64493, 52959, 780, 61256, 39036, 64390, - 21581, 57884, 26406, 49159, 61333, 63409, 44434, 42311, 44864, 1925, 48886, - 62247, 22061, 60696, 24155, 31074, 51125, 61292, 10307, 8539, 20782, 45950, - 1190, 51849, 21788, 9267, 4726, 37053, 38534, 48593, 48460, 62987, 2061, 6507, - 16768, 36452, 22680, 32129, 38073, 59964, 37068, 41736, 15232, 65066, 63911, - 1029, 31979, 19771, 47242, 32619, 35150, 7126, 14569, 20335, 45420, 35451, - 50671, 15815, 13567, 44591, 17606, 44556, 37783, 18013, 15000, 30616, 63297, - 65082, 18346, 13212, 21876, 29448, 56997, 21992, 14631, 26393, 28354, 10551, - 59987, 60791, 30597, 30477, 26037, 33016, 38929, 28621, 9582, 59624, 15307, - 14482, 56683, 6442, 3325, 3738, 33611, 59248, 50245, 32135, 22479, 4618, 1421, - 42352, 16240, 29055, 14161, 54658, 12815, 26935, 1511, 16986, 11228, 30788, - 34357, 53247, 25940, 16124, 37311, 31377, 17753, 18875, 32282, 44360, 2556, - 35175, 7762, 47813, 19405, 61564, 52739, 44143, 14592, 50871, 18970, 13171, - 38394, 38218, 25512, 21530, 54455, 51591, 9986, 36486, 9300, 22693, 30353, - 56889, 51549, 5257, 60235, 65184, 5307, 16405, 55420, 6841, 15073, 1023, 29003, - 17480, 5273, 14910, 1910, 17920, 51574, 32141, 31320, 48862, 29060, 54989, - 6504, 36457, 24976, 47913, 19150, 20573, 17985, 11366, 44335, 65324, 3045, - 12258, 15300, 3850, 14409, 65491, 38971, 63413, 21889, 3497, 24163, 189, 12210, - 8341, 7873, 15902, 25053, 59595, 24113, 16180, 27305, 20888, 14382, 60376, - 40868, 46225, 36350, 22187, 64023, 15484, 48861, 57437, 60846, 16858, 38474, - 32423, 35593, 32459, 25557, 45720, 33601, 22822, 51181, 63311, 5660, 11744, - 36933, 44146, 26572, 11734, 35862, 54764, 30407, 32101, 46559, 31523, 37024, - 32766, 44274, 24496, 50312, 52881, 33649, 61310, 48842, 45414, 31700, 58549, - 24171, 55077, 44247, 58387, 35504, 34079, 49312, 61171, 11086, 43559, 40748, - 21552, 12876, 33515, 59064, 21650, 36613, 52662, 26357, 19789, 53414, 41528, - 43058, 36456, 17712, 64993, 14992, 3994, 4491, 37237, 53370, 56684, 48965, - 45101, 683, 38708, 61558, 12121, 58510, 879, 50407, 11930, 32867, 52560, 10326, - 11794, 38432, 37170, 7301, 2227, 4388, 48317, 46754, 41733, 15080, 33578, - 26677, 35638, 9218, 36504, 11368, 51823, 20795, 30745, 10679, 55815, 25564, - 29076, 21398, 58915, 58478, 38856, 63404, 1699, 37627, 60898, 50590, 18255, - 41407, 44726, 28457, 3998, 35025, 2482, 12213, 22094, 13467, 49527, 52350, - 18655, 54130, 28648, 35414, 44409, 63193, 56039, 28235, 4754, 24928, 42877, - 63576, 49446, 28624, 1845, 14005, 59266, 59031, 7912, 54815, 61433, 53381, - 25189, 12485, 35484, 25168, 15869, 47845, 52140, 17390, 6122, 42351, 28147, - 64555, 1175, 26660, 43373, 45848, 65207, 36891, 63016, 19132, 50501, 50602, - 4746, 21447, 50782, 37467, 19829, 8378, 7849, 22686, 47244, 6765, 4583, 51921, - 4417, 8688, 24595, 15418, 6367, 53550, 4371, 43037, 29784, 41073, 29272, 26981, - 29451, 62770, 44898, 13335, 16540, 33422, 16558, 1132, 15168, 42677, 12621, - 42915, 57436, 2723, 38782, 7651, 25606, 6344, 26342, 31916, 17688, 43997, - 48720, 3037, 39218, 43497, 26255, 53081, 22190, 27775, 19805, 20488, 22640, - 52465, 14669, 5816, 51703, 5787, 14708, 1341, 2847, 48871, 35239, 22603, 19756, - 49392, 586, 17909, 10332, 30451, 4159, 25786, 28998, 24770, 53886, 40002, - 63520, 25751, 33941, 32567, 25840, 45470, 41440, 27480, 17075, 33823, 41889, - 10847, 29543, 30452, 21168, 58220, 44464, 57740, 31822, 36787, 28680, 27627, - 45628, 19526, 49567, 6316, 65109, 10689, 8657, 37913, 54280, 9336, 45717, - 45092, 60898, 60114, 52378, 28331, 5245, 56106, 35836, 41491, 41479, 49519, - 37463, 22289, 3929, 23256, 37486, 28217, 16698, 20243, 57951, 28335, 875, - 55446, 2643, 38449, 59262, 45994, 32091, 607, 26607, 3590, 28433, 39546, 9347, - 19433, 47539, 43125, 53689, 17206, 15293, 5375, 49839, 16161, 7855, 13975, - 25297, 17365, 4272, 19002, 998, 62950, 15227, 55713, 232, 29193, 5580, 53324, - 13467, 17868, 23757, 54402, 50739, 49220, 38991, 22846, 36316, 18199, 5136, - 10369, 35815, 63713, 4953, 61164, 57215, 44993, 53991, 5056, 48129, 57167, - 24193, 47794, 62491, 53054, 42570, 12005, 50626, 6096, 24627, 48577, 22983, - 3327, 62358, 39266, 63630, 56482, 49251, 18941, 30107, 43504, 12057, 30426, - 21196, 57234, 31207, 33639, 55498, 57220, 4718, 28222, 12729, 33246, 18268, - 31628, 8136, 59222, 62827, 14231, 10196, 48029, 28304, 64764, 7251, 4362, - 45513, 43267, 24465, 37508, 30446, 35645, 62348, 51687, 27898, 14121, 42211, - 51968, 7026, 63484, 3398, 17748, 28064, 12990, 5251, 25683, 34766, 38339, - 54082, 11061, 60695, 36390, 57538, 43060, 22003, 30468, 32978, 52042, 32248, - 43857, 56286, 37186, 11391, 61442, 50874, 27333, 32305, 57222, 3582, 5622, - 51717, 32781, 55911, 54021, 17209, 47318, 46137, 44453, 55563, 12602, 39614, - 25817, 60153, 24499, 8424, 23138, 45603, 56236, 12932, 55051, 40073, 50254, - 24266, 58032, 11189, 47716, 667, 34439, 62701, 43402, 33363, 47316, 49365, 19, - 48751, 6308, 42632, 60566, 59286, 33097, 43957, 46536, 63636, 11200, 55992, - 16180, 60914, 17449, 53775, 45714, 50182, 60378, 6398, 5835, 49615, 59504, - ])) - .unwrap(), - c: 128, - }, - VarTestStruct { - a: 37367, - b: List::::try_from(Vec::::from_iter([ - 18679, 53715, 58115, 9575, 49591, 6276, 24431, 11709, 37558, 11479, 43534, - 11388, 32866, 63174, 52726, 31409, 59501, 47148, 42776, 14724, 53809, 36799, - 6439, 31809, 11623, 60009, 12746, 4383, 45501, 17740, 34659, 7578, 26103, - 41995, 45243, 42156, 52740, 53495, 44601, 21426, 55901, 17246, 50350, 42207, - 5439, 36915, 62279, 21520, 47417, 54734, 40557, 48049, 18296, 44531, 62523, - 59209, 21620, 27227, 7791, 44991, 50387, 2111, 30098, 55440, 60983, 11968, - 45740, 257, 10872, 4875, 49422, 60332, 13529, 55521, 37186, 10349, 52077, 4842, - 27602, 12618, 9822, 43666, 61567, 41448, 63623, 65193, 7927, 29535, 57903, - 32454, 55634, 1482, 48359, 59195, 47720, 27315, 2879, 42128, 28952, 57076, - 51538, 39177, 59054, 27308, 27851, 63196, 50715, 3946, 35007, 17877, 13865, - 33221, 44043, 21092, 16870, 22396, 26301, 1132, 22770, 29276, 31224, 43093, - 47886, 59236, 63218, 8252, 14897, 15788, 56952, 37934, 38984, 36802, 34742, - 2281, 52090, 19648, 60417, 52168, 65159, 61095, 33605, 44434, 6581, 7836, 6646, - 5580, 49892, 18520, 22425, 49849, 32735, 22152, 8889, 35578, 39334, 6219, - 37572, 20024, 22917, 21092, 9477, 53708, 57477, 49934, 7860, 11471, 55025, - 41757, 41073, 50814, 50942, 54252, 18286, 14363, 11978, 29221, 24082, 49437, - 32600, 33385, 17695, 15031, 21576, 59137, 23250, 15688, 31367, 4243, 42429, - 19328, 17284, 58615, 42702, 23870, 11854, 64878, 11356, 37988, 2591, 46638, - 24541, 4033, 35213, 38503, 32089, 29923, 37012, 46237, 63174, 13556, 3232, - 7187, 51802, 48247, 35820, 47546, 43353, 16118, 38089, 10817, 44460, 7086, - 13933, 51767, 5601, 55928, 2992, 27198, 16034, 20738, 31275, 45104, 47487, - 12155, 40104, 5561, 57363, 43367, 44332, 16097, 43091, 6557, 39561, 4092, - 30682, 23826, 55843, 6830, 22722, 61796, 59862, 28346, 12540, 26258, 16294, - 57927, 26569, 63660, 41195, 12528, 29536, 50178, 60524, 29397, 52805, 22248, - 3419, 29163, 10037, 32556, 21191, 65104, 7803, 6303, 39587, 13129, 59271, - 62512, 50729, 34711, 54464, 13274, 26753, 12887, 33008, 52023, 11661, 9284, - 50111, 57149, 22283, 57342, 7800, 49201, 44244, 52924, 63069, 9887, 11305, - 49614, 12668, 20020, 11862, 31384, 3539, 7098, 22200, 41998, 53628, 48683, - 57483, 11866, 16510, 54111, 49467, 3117, 24351, 6083, 11217, 25901, 11353, - 65132, 26069, 52335, 62307, 52509, 12873, 47528, 37697, 44613, 61532, 31336, - 7676, 59645, 19126, 11960, 43383, 24606, 6580, 44614, 54402, 25886, 20962, - 20238, 30674, 30967, 36140, 59447, 9868, 34699, 8193, 51300, 50141, 53695, - 18504, 12358, 23250, 63617, 63594, 65267, 61809, 44227, 35740, 33338, 22738, - 24896, 56971, 42585, 21483, 6579, 51970, 63753, 62371, 13862, 58540, 24510, - 54252, 8242, 55665, 8797, 22599, 54702, 19607, 42132, 47489, 36541, 47296, - 26702, 65351, 24527, 60381, 37462, 36967, 27240, 56631, 42259, 25519, 12947, - 38412, 53128, 32993, 29007, 49088, 29931, 10609, 35776, 7733, 35367, 14387, - 13292, 21598, 11259, 50428, 17019, 11422, 61325, 49625, 44310, 15593, 56864, - 10542, 17506, 17192, 65077, 59486, 48871, 55087, 14500, 64742, 52613, 2986, - 61274, 22112, 20798, 55523, 60741, 9105, 31564, 29900, 8899, 35937, 19466, - 6670, 6778, 13494, 19269, 12477, 3030, 32555, 32725, 59494, 61738, 50578, - 10219, 3919, 13219, 57140, 61944, 14909, 11361, 35352, 5140, 26487, 12294, - 11884, 27456, 59440, 47195, 33877, 345, 21714, 646, 24043, 20477, 63398, 9008, - 15884, 35052, 64056, 43510, 10471, 20303, 49799, 7925, 31746, 19813, 25352, - 30876, 59454, 55707, 19999, 35961, 56698, 16471, 6932, 30473, 37095, 2303, - 58953, 38878, 48133, 9380, 18724, 8596, 12726, 19334, 48797, 62757, 7919, 2547, - 55845, 17243, 44255, 24640, 278, 48133, 53104, 5792, 55373, 22699, 2548, 54527, - 5060, 3772, 21344, 58596, 58783, 38674, 60793, 44329, 50167, 24704, 29689, - 33718, 31284, 27794, 46948, 22914, 13959, 10251, 55803, 40465, 1221, 11600, - 257, 25234, 42518, 13452, 34702, 39225, 22461, 14234, 7612, 31998, 34469, - 32277, 43117, 35835, 61639, 54858, 19046, 62576, 34304, 45654, 51156, 22614, - 14893, 28138, 11014, 53056, 8493, 17407, 29313, 58992, 45690, 97, 38894, 31996, - 31979, 54157, 47618, 9480, 13329, 20305, 37175, 61724, 30130, 46832, 1530, - 30625, 50791, 13715, 46714, 7372, 19555, 65195, 11858, 59412, 61080, 35905, - 54278, 33339, 38180, 21788, 56670, 51606, 13, 34832, 55666, 5811, 10703, 53202, - 33696, 61180, 22328, 59128, 43546, 12992, 55445, 53805, 15443, 7592, 39020, - 16156, 11291, 49096, 63921, 62689, 55989, 15881, 7599, 46434, 51892, 46209, - 22281, 44145, 62576, 45013, 18069, 21280, 24712, 37909, 7449, 21245, 49958, - 21585, 25656, 31760, 35623, 2383, 6796, 15782, 46243, 21854, 57960, 2209, - 33550, 195, 1820, 18920, 8218, 8055, 9407, 48793, 51997, 30590, 3625, 32192, - 55151, 64666, 3839, 50456, 3784, 53120, 30913, 52436, 36340, 44494, 8432, - 60049, 65044, 62465, 20227, 52551, 56393, 27846, 25131, 32122, 20617, 55262, - 11715, 64463, 53507, 19302, 52169, 54714, 11396, 56524, 48912, 15975, 29481, - 45524, 22431, 21438, 14818, 14222, 55471, 39095, 10436, 64195, 54466, 8925, - 6426, 47416, 45993, 42502, 12976, 41883, 65254, 39210, 32014, 12940, 4550, - 39225, 15635, 4657, 43407, 6279, 12819, 36497, 8005, 46083, 55804, 3566, 35327, - 35855, 10258, 55879, 9189, 19983, 968, 16031, 882, 33582, 30445, 36383, 28902, - 28542, 45504, 17107, 7356, 22548, 29683, 8431, 46831, 15875, 20145, 44720, - 18885, 3882, 36043, 58131, 12611, 38802, 12428, 23246, 7374, 15788, 39984, - 59179, 29408, 44635, 61559, 10744, 25648, 9773, 63264, 35006, 15686, 54542, - 12176, 42972, 17739, 24509, 22153, 62788, 33379, 32712, 55762, 21, 54150, - 37467, 25930, 9221, 12665, 55990, 23462, 23943, 60197, 22000, 48660, 13163, - 15767, 26723, 40625, 47594, 40958, 2062, 2556, 2804, 37669, 42650, 39502, - 46553, 22884, 49423, 34102, 38109, 20783, 58127, 26952, 24243, 62339, 18478, - 19535, 63182, 144, 17264, 17444, 12103, 16573, 10356, 37576, 63409, 20559, - 23686, 42815, 12377, 27356, 3925, 15005, 33667, 64937, 33053, 60026, 40621, - 29385, 23303, 55956, 34507, 26714, 43633, 34838, 54226, 22456, 6797, 47440, - 59306, 38966, 42622, 58478, 64991, 58152, 29054, 14023, 19295, 55095, 58410, - 21340, 24962, 18462, 23486, 25544, 48726, 43659, 28412, 60520, 2461, 10813, - 8503, 24026, 62973, 62160, 48162, 48854, 16944, 3782, 26629, 24910, 45984, - 42178, 51027, 21823, 13918, 53539, 35704, 26334, 25167, 25516, 51002, 21974, - 54329, 4617, 18906, 53484, 50900, 20795, 28645, 28958, 23968, 33234, 14593, - 6589, 11058, 19323, 36480, 43016, 9872, 13215, 1360, 40473, 36804, 46063, - 12471, 44827, 51759, 29212, 26590, 26273, 29033, 40688, 58134, 61705, 35972, - 29224, 4668, 15791, 14140, 47040, 47906, 36793, 34882, 53901, 29262, 7480, - 7845, 40130, 52743, 22751, 1754, 34468, 13887, 6318, 38895, 13219, 53407, - 57006, 14098, 44616, 55059, 29033, 4027, 19566, 40492, 19418, 31887, 20134, - 63760, 49325, 44963, 63366, 45401, 59000, 11585, 63738, 27273, 62287, 8807, - 61832, 65447, 40359, 40435, 44455, 259, 25455, 50236, 47955, 19746, 31740, - 61215, 35090, 2824, 36157, 18078, 19887, 60979, 65366, 40389, 19469, 8949, - 57450, 17000, 22661, 33653, 64317, 27181, 11772, 28839, 26920, 12973, 36465, - 54185, 14147, 18999, 32165, 2930, 7374, 17055, 62553, 65086, 6320, 44467, - 20066, 21018, - ])) - .unwrap(), - c: 182, - }, - ]) + c: 255, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_max_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xbadeb02dc73020bf5c581d481c64ee98fd59e80cfa1827cf7046bd123607d5a1"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_var_test_struct_max_2() { + let mut value = VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) .unwrap(), + c: 255, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_lengthy_4/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("b05d615353d2d4e8a52506e147d553cc6056507b364280955ef2206abd5539be"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_fixed_test_struct_random_1() { - let mut value = FixedTestStruct { a: 85, b: 3025325611966003710, c: 2393715144 }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_random_1/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("35f97f08051739f6cbd5b4e79e57b06ee7c7944d9aadcb72a3fd2221763ac7c4"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_one_2() { - let mut value = VarTestStruct { - a: 31642, - b: List::::try_from(Vec::::from_iter([59815])).unwrap(), - c: 220, - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_one_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_max_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -20364,105 +19610,70 @@ fn test_containers_var_test_struct_one_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("c1bd1985036a67f5b0cc7b414fbbc46213020a1e0746b10389673c62f2048578"); + root_from_hex("0x728b5cde46644e09809e707f1db6076c692954b8cc589a17884626884f5e05e9"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_lengthy_7() { +fn test_containers_var_test_struct_max_3() { let mut value = VarTestStruct { - a: 41770, + a: 65535, b: List::::try_from(Vec::::from_iter([ - 58939, 21346, 39284, 62459, 30183, 41116, 8063, 63486, 50992, 6541, 49668, 60143, - 38467, 26826, 12182, 37815, 18526, 17712, 33594, 12022, 16696, 19151, 44382, 31811, - 20482, 42567, 20900, 54855, 16896, 27407, 46202, 42501, 10659, 30202, 9054, 1340, - 64714, 8189, 52178, 712, 49939, 63055, 54182, 60645, 28568, 22527, 51057, 53132, 1652, - 14120, 55140, 20577, 42350, 39306, 39901, 37111, 62066, 44384, 8075, 2975, 8973, 9748, - 44527, 41078, 13066, 9238, 49084, 48165, 49417, 39356, 57288, 25594, 10919, 30294, - 58612, 54396, 54135, 26532, 14982, 58127, 11476, 27682, 23718, 60617, 17202, 24420, - 20563, 28407, 56551, 35332, 59401, 2774, 12601, 1199, 28657, 58228, 9550, 51679, 56963, - 44504, 30517, 55203, 57026, 20210, 44338, 55511, 1189, 41244, 35557, 12489, 10931, - 7227, 49806, 25541, 59745, 13449, 40286, 32662, 56553, 47090, 26271, 55614, 5123, - 39726, 44554, 21558, 30578, 39393, 46994, 38432, 48010, 36725, 28385, 30852, 23857, - 35242, 30498, 18176, 8110, 28993, 16601, 43712, 36377, 878, 34191, 10115, 6034, 3833, - 34199, 19402, 10556, 30570, 31450, 3999, 32260, 49742, 19134, 60144, 40792, 13499, - 29805, 26377, 30190, 2815, 15483, 26424, 40657, 62597, 6101, 52829, 20630, 21497, - 10114, 42981, 20637, 55214, 11988, 52133, 40299, 41685, 19382, 57901, 48895, 16931, - 55797, 24608, 27750, 35616, 695, 19623, 55022, 58160, 4217, 21996, 47287, 9066, 49126, - 13741, 17970, 49058, 55653, 52010, 3553, 63109, 48656, 32895, 16240, 18198, 14261, - 5852, 26095, 20822, 652, 23025, 58326, 48328, 11988, 18805, 50594, 14264, 57689, 32144, - 13985, 29853, 64814, 23343, 20157, 15998, 60728, 28482, 56246, 4032, 48872, 23408, - 22535, 63105, 27901, 46529, 49777, 9464, 494, 16701, 1206, 225, 41632, 55076, 9591, - 57060, 48760, 5072, 58394, 21332, 61403, 50567, 34739, 61692, 4558, 49268, 61278, - 47862, 60112, 44638, 24051, 1077, 47496, 10180, 24812, 40513, 63623, 16823, 44383, - 11923, 26762, 39442, 59621, 17596, 30537, 57658, 65104, 24590, 64604, 40265, 25098, - 9950, 42222, 25481, 16125, 2171, 32553, 7630, 62558, 30171, 17754, 48642, 22275, 7637, - 58428, 35485, 56539, 59926, 30201, 48305, 37085, 29333, 26215, 3784, 56490, 8789, - 40120, 33186, 8941, 58379, 55493, 14184, 22585, 34044, 38215, 847, 44160, 35127, 23719, - 39814, 33300, 13886, 50489, 7672, 20590, 750, 57369, 35885, 38292, 7828, 19205, 97, - 32135, 36588, 7704, 43158, 45747, 63375, 4283, 49423, 40946, 11366, 9287, 35779, 37003, - 62576, 55195, 15070, 10340, 6438, 20519, 29621, 8625, 61174, 35659, 8832, 40928, 32446, - 63888, 21344, 39968, 49611, 27218, 32740, 19588, 7319, 61430, 13021, 18217, 52802, - 61141, 6213, 45390, 21528, 65051, 23046, 32058, 39284, 40898, 61535, 62940, 36949, - 18942, 17841, 42794, 29454, 36643, 23817, 28916, 26417, 9265, 33014, 42171, 52412, - 19692, 4864, 21306, 42823, 52206, 46163, 56650, 56915, 37407, 20063, 2065, 55659, - 39768, 6072, 19178, 61664, 33798, 1738, 21948, 46264, 51883, 457, 3210, 17697, 30844, - 30922, 39855, 583, 9437, 35302, 42587, 19868, 61758, 24495, 52663, 21017, 18973, 5219, - 33515, 16067, 19238, 44512, 47818, 37123, 1710, 38117, 63783, 46, 61974, 48117, 63709, - 31330, 41901, 12686, 45671, 28016, 7959, 6473, 45092, 1525, 36424, 21716, 28716, 29690, - 36111, 39841, 44261, 28668, 53630, 25657, 23128, 42585, 63590, 16290, 47071, 17586, - 63367, 32173, 47347, 33849, 46199, 44858, 1431, 21333, 41585, 25872, 44014, 26043, - 32445, 25089, 30491, 57854, 5699, 63622, 58202, 65170, 55483, 47836, 29777, 48829, - 31728, 15466, 57028, 44130, 49665, 58482, 38995, 45642, 41884, 41663, 5947, 65329, - 49007, 38614, 6826, 49817, 16491, 6084, 61512, 23725, 2538, 11947, 28985, 3442, 33443, - 60318, 41826, 22767, 41128, 24852, 4993, 54919, 58195, 65200, 46522, 31519, 61164, - 56224, 33206, 32765, 25182, 63650, 26199, 52602, 47729, 63543, 20645, 56556, 18113, - 18926, 52879, 9942, 14315, 32647, 40445, 37993, 50037, 9929, 52152, 5929, 10107, 932, - 51200, 41618, 41859, 35266, 16116, 38731, 17805, 13825, 40712, 39972, 61992, 56937, - 48542, 37801, 60178, 32444, 16899, 19746, 38263, 62850, 21174, 63289, 22588, 2779, - 61385, 23093, 45035, 60014, 40008, 60399, 17843, 56663, 36167, 31505, 15600, 30531, - 25171, 56859, 11091, 44987, 35997, 65273, 3892, 7268, 63562, 20626, 22262, 50615, - 19627, 5829, 40067, 12945, 31450, 47946, 21168, 49041, 56746, 56499, 55680, 76, 3117, - 60005, 21900, 19558, 2579, 2546, 18794, 34018, 8390, 30159, 22918, 60518, 657, 6213, - 58030, 24457, 42466, 40615, 18842, 17930, 21037, 52428, 59240, 48155, 42710, 13138, - 19201, 33753, 32815, 54534, 20160, 22286, 44228, 25521, 9223, 40720, 15788, 6038, - 62872, 39859, 23700, 57158, 53083, 11309, 40725, 1558, 25212, 31354, 46330, 7851, - 21645, 7365, 57600, 40310, 55336, 25315, 1824, 19125, 6533, 8833, 6165, 22423, 32182, - 54976, 55260, 15679, 10223, 13181, 13315, 16577, 46196, 39818, 42779, 8735, 27555, - 48730, 37154, 54589, 51826, 49335, 53927, 4064, 47031, 22823, 36071, 24381, 9280, - 58774, 34858, 20478, 35270, 1322, 16684, 819, 55770, 45201, 50553, 13608, 3280, 57801, - 44270, 23123, 63775, 18291, 60870, 17669, 17275, 53773, 27042, 54772, 29957, 18286, - 33936, 8136, 65026, 42341, 63119, 406, 30194, 7991, 25185, 50298, 379, 15588, 20844, - 19818, 31347, 26126, 5144, 23273, 41826, 27028, 58115, 34546, 49994, 47001, 6618, - 26080, 12506, 62220, 21096, 11180, 42564, 41073, 27052, 39006, 25417, 29074, 9520, - 33476, 45148, 13077, 33902, 16624, 29648, 41728, 63676, 141, 3569, 27794, 29044, 46305, - 14395, 29144, 52352, 23925, 33807, 11661, 12498, 49388, 51006, 2272, 46677, 3473, 5723, - 38086, 40645, 46357, 264, 27917, 11511, 8712, 42179, 50300, 29592, 48781, 48744, 63278, - 2587, 63990, 57261, 11977, 19185, 34199, 1404, 14520, 60498, 25689, 17033, 7525, 56408, - 24282, 48551, 59994, 4635, 14452, 17579, 34087, 20437, 56108, 29764, 47434, 7779, - 32911, 46410, 37329, 39708, 7296, 30065, 17759, 40292, 17383, 48373, 8578, 65108, - 30537, 14267, 1763, 15449, 25201, 8090, 62505, 28057, 17162, 35386, 64970, 23526, - 48384, 26426, 52805, 32682, 40288, 486, 60113, 4626, 27971, 33038, 52074, 47860, 7127, - 44211, 15324, 13280, 10912, 28088, 40103, 39615, 14579, 30440, 59337, 46958, 996, - 21936, 28687, 35555, 58923, 37446, 33971, 20055, 14682, 39316, 1154, 49858, 23148, - 51971, 2627, 65155, 24528, 29153, 44830, 54030, 31984, 4977, 55284, 64169, 22970, - 65323, 18149, 37260, 29378, 49863, 56516, 6457, 11161, 18672, 49883, 26058, 54728, - 16794, 33905, 63654, 32956, 45834, 27138, 27095, 53009, 54159, 8538, 53786, 56204, - 29089, 35375, 14190, 46500, 3428, 53800, 5512, 61459, 34103, 46566, 56473, 28012, - 61737, 8839, 56906, 1214, 20870, 246, 19739, 13023, 15645, 30344, 31638, 1481, 25217, - 40583, 41707, 8317, 44506, 20646, 33362, 27605, 56049, 30706, 22501, 47687, 61778, - 4231, 9735, 58330, 20570, 60656, 33736, 25224, 13867, 58191, 42151, 50251, 59452, 317, - 16137, 62367, 10744, 63987, 59365, 46735, 13258, 37835, 24328, 2060, 15162, 12492, - 10300, 20493, 41130, 11947, 40310, 57510, 22455, 8054, 27136, 58481, 49567, 2032, 131, - 44782, 12937, 54439, 61512, 61524, 62347, 8736, 50916, 12666, 27574, 40709, 35405, - 64670, 55436, 14262, 6434, 58879, 11548, 40304, 47497, 28882, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), - c: 7, + c: 255, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_7/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -20471,145 +19682,175 @@ fn test_containers_var_test_struct_lengthy_7() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("060123a3d904a063f06fd68668b87b5cf3055b5dac360e394c82a93f77f59122"); + root_from_hex("0xfee37a3f786fcd9d92d4b79fb1b8582694fde17505f381d69c0b0442ab8a9646"); assert_eq!(root, expected_root); } #[test] -fn test_containers_single_field_test_struct_zero_chaos_1() { - let mut value = SingleFieldTestStruct { a: 0 }; +fn test_containers_var_test_struct_max_4() { + let mut value = VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, + ])) + .unwrap(), + c: 255, + }; let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/valid/SingleFieldTestStruct_zero_chaos_1/serialized.ssz_snappy"); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_max_4/serialized.ssz_snappy", + ); assert_eq!(encoding, expected_encoding); - let recovered_value: SingleFieldTestStruct = deserialize(&expected_encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xf43b89ecb1afcea42daf293bdd44f386565d4798ab5dc989b91ccc5964714e36"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_nil_1() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([true, true, false, false, false, true, false, true]), +fn test_containers_var_test_struct_max_5() { + let mut value = VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, + ])) + .unwrap(), + c: 255, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_nil_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_max_5/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("09bc67e7267c47092b276f600b9d424af52f153ea649ec71934bde0d17a3c04a"); + root_from_hex("0x5d79a4fe1fc468caab77f2c903262aa8c4ce6756121fca8b25919b0fab711367"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_lengthy_0() { +fn test_containers_var_test_struct_max_6() { let mut value = VarTestStruct { - a: 61133, + a: 65535, b: List::::try_from(Vec::::from_iter([ - 44799, 46899, 35617, 2513, 17201, 21580, 57273, 28701, 30553, 35793, 59421, 11954, - 25224, 53647, 44148, 32486, 32787, 38825, 55960, 14124, 5436, 6271, 37644, 17073, 1647, - 11970, 48613, 16312, 37044, 28512, 28997, 42195, 53588, 53237, 24620, 55210, 12722, - 53669, 5808, 28708, 19260, 12915, 41688, 48804, 28055, 27810, 4172, 38215, 39003, - 57296, 40634, 62477, 10640, 32564, 9956, 6556, 45980, 62413, 3819, 62233, 20581, 20393, - 20054, 45456, 23045, 20353, 58415, 60020, 54327, 38672, 26276, 43000, 31723, 19889, - 48234, 20247, 35668, 59173, 55051, 4363, 9194, 9520, 27785, 57400, 21879, 17604, 52854, - 13374, 65139, 43007, 19825, 52395, 16365, 11371, 48566, 27789, 44110, 47977, 48198, - 41017, 59789, 50169, 23002, 11009, 49033, 46732, 56193, 8637, 2010, 30197, 43510, - 39205, 50302, 2849, 61730, 20391, 58305, 8402, 51195, 49921, 6989, 378, 55424, 1013, - 25424, 13493, 33341, 52127, 22120, 59519, 19264, 28521, 15839, 34697, 12468, 54332, - 38546, 51045, 25604, 6061, 48977, 61779, 58400, 25890, 25568, 54582, 10787, 352, 15403, - 14483, 16038, 27258, 53865, 30566, 10141, 53978, 55590, 8770, 51693, 37470, 20737, - 30474, 55740, 12675, 55563, 1078, 12706, 8732, 21819, 49989, 44421, 26707, 37035, - 27472, 48373, 12076, 51842, 7533, 31803, 22864, 20895, 7902, 63432, 6186, 27799, 5975, - 58943, 17381, 62398, 3352, 17336, 35355, 35647, 40542, 42638, 26707, 48609, 33233, - 13679, 36443, 31545, 21147, 48638, 30297, 40244, 3551, 21538, 26474, 2228, 2550, 60043, - 52450, 15703, 16277, 39618, 5821, 59967, 5528, 46636, 48477, 64870, 59674, 16898, - 45782, 14518, 24691, 27213, 10300, 47327, 19061, 20219, 59751, 846, 41293, 16259, 1476, - 61375, 34273, 61136, 54142, 6275, 42713, 62409, 50768, 6057, 46778, 15478, 21294, - 64166, 26123, 11732, 61478, 7960, 26936, 34374, 42068, 30564, 56704, 24364, 29417, - 18909, 28818, 7140, 59390, 36516, 52971, 55683, 24461, 51264, 52407, 9664, 13803, - 12481, 15131, 883, 10752, 50959, 34024, 42852, 62633, 13588, 12525, 10042, 33300, - 20396, 56530, 8946, 30390, 50654, 39395, 18583, 2490, 64475, 1327, 3865, 52090, 33929, - 10299, 17774, 65283, 13204, 29389, 40918, 58583, 60707, 63290, 55792, 18955, 3429, - 4435, 40759, 5809, 36582, 9632, 21022, 55532, 44261, 23583, 41794, 64861, 11718, 30563, - 58019, 4144, 63669, 29551, 30029, 42985, 65158, 32735, 35124, 53773, 4968, 12977, 7440, - 58021, 46252, 53745, 41054, 51395, 45662, 56850, 33726, 17936, 38909, 59889, 61886, - 32616, 5280, 28171, 17836, 42988, 60095, 29928, 19216, 46331, 51823, 16410, 40841, - 46242, 51227, 7424, 6942, 12408, 15029, 7198, 32071, 29569, 27052, 41485, 4208, 53009, - 41665, 37037, 10227, 1962, 61874, 11810, 31908, 57058, 25594, 6222, 64410, 22980, - 27758, 1242, 34116, 53309, 11912, 13686, 34633, 55295, 21454, 17953, 35804, 7979, 1705, - 26624, 26195, 16342, 29747, 53318, 56886, 24970, 3312, 9495, 22481, 12647, 58640, - 29148, 31888, 9866, 24693, 40367, 37880, 2445, 38997, 2281, 2237, 21051, 674, 7632, - 2899, 33494, 25366, 39566, 40395, 4243, 56110, 38964, 51775, 7177, 33838, 7310, 45147, - 25889, 35919, 60344, 17717, 51806, 11157, 16491, 45833, 34364, 47192, 28257, 34598, - 22871, 50580, 50861, 15127, 11661, 6918, 21013, 40480, 2753, 42213, 55166, 7978, 45087, - 8339, 23931, 56988, 62664, 19553, 8902, 29978, 3643, 62775, 18467, 44113, 53043, 11397, - 31501, 41658, 22357, 16772, 17518, 62775, 36397, 43248, 31651, 32689, 53021, 43634, - 32875, 38788, 52537, 37249, 4242, 43007, 17090, 5564, 7269, 24979, 27882, 26296, 60627, - 46996, 30260, 25789, 11554, 57343, 55623, 65382, 17034, 31971, 32119, 41718, 64435, - 41586, 29122, 24291, 52251, 15466, 33377, 48473, 52787, 59849, 820, 19468, 41831, - 30979, 51764, 11341, 62184, 11780, 53700, 38699, 6399, 57158, 53578, 5437, 14398, 5285, - 2737, 25488, 25201, 18703, 16037, 5131, 31280, 40755, 53938, 33272, 6519, 11848, 52871, - 3343, 46701, 60290, 46167, 18257, 54599, 26677, 19704, 62023, 33968, 41941, 15035, - 55462, 19249, 31650, 9400, 14543, 43952, 9038, 45908, 63905, 17106, 53452, 12336, - 25585, 16633, 59162, 27078, 10519, 55428, 35194, 38482, 46068, 64042, 47855, 12123, - 28913, 47771, 27356, 23091, 40082, 17204, 26862, 6465, 3044, 43207, 37646, 7883, 525, - 33135, 26235, 21996, 2190, 34575, 34085, 9620, 54891, 43205, 25276, 56245, 12873, - 46543, 1531, 45123, 36481, 19955, 9182, 45127, 22986, 20937, 20973, 34660, 33554, - 23395, 15750, 7645, 24756, 25311, 18824, 61667, 58205, 20143, 42951, 7421, 15737, - 18477, 21628, 27208, 4034, 54026, 8330, 41239, 35796, 9739, 53240, 57956, 3732, 22338, - 47032, 11336, 5462, 49154, 7752, 60406, 14347, 38813, 46348, 25686, 63819, 3743, 39835, - 23320, 61018, 7450, 45758, 33165, 11479, 26823, 27889, 41960, 43036, 607, 714, 1449, - 6110, 9705, 12867, 59641, 10565, 63419, 12196, 55156, 13245, 16053, 2571, 50274, 53790, - 6811, 28020, 51058, 50085, 9815, 29845, 38329, 60892, 7651, 17091, 57396, 14094, 33290, - 35481, 24570, 52470, 32858, 8691, 19501, 37562, 13231, 8885, 19364, 35592, 42717, - 24818, 64884, 57544, 62202, 54370, 29963, 64460, 15801, 16573, 51075, 24482, 55820, - 42305, 6805, 52038, 48276, 2184, 27980, 39307, 36264, 28623, 12150, 16996, 30194, - 63986, 59208, 8797, 20510, 63496, 15881, 54607, 8829, 33193, 64225, 46346, 28246, - 10969, 49274, 54202, 43679, 26052, 33892, 26875, 26890, 9388, 37290, 2716, 20444, - 12323, 19666, 11479, 56763, 60381, 19104, 39348, 13366, 50647, 674, 44158, 35469, 2327, - 3606, 18776, 3797, 18256, 38047, 42085, 39421, 7227, 13019, 58397, 16060, 50621, 42752, - 44430, 44772, 9563, 30684, 29235, 39888, 17275, 57419, 64357, 17715, 2503, 24279, - 41578, 16612, 43217, 11149, 1925, 13850, 27811, 24689, 3246, 20501, 22510, 65205, - 11463, 45780, 28041, 19317, 32517, 33409, 3203, 43810, 17426, 18461, 38578, 56802, - 24972, 62152, 52610, 3540, 62101, 22496, 25269, 21840, 37854, 32604, 32570, 46094, - 56557, 18346, 18369, 39770, 27425, 39354, 43587, 26008, 3315, 6480, 22567, 34600, - 60311, 38662, 39096, 57199, 30635, 29315, 58191, 47127, 17169, 22261, 60733, 9365, - 14139, 35023, 4288, 18214, 57191, 8811, 18293, 31513, 53344, 7250, 31807, 17945, 46472, - 61609, 7694, 44319, 22520, 33851, 21545, 46154, 26697, 22870, 38656, 17433, 25404, - 18575, 51266, 28500, 59278, 24201, 17473, 4920, 14264, 19481, 10404, 57741, 39238, - 60672, 26336, 23865, 13379, 43877, 12914, 33254, 26438, 47794, 15777, 59744, 38188, - 43871, 335, 44573, 8267, 23296, 42354, 43921, 44128, 32317, 15022, 41288, 29595, 41132, - 24343, 7704, 35499, 9866, 2751, 37166, 22408, 24971, 44083, 63041, 16563, 5654, 51842, - 31617, 58207, 39807, 41911, 6019, 6035, 34602, 57918, 56655, 46721, 26604, 55985, - 60763, 62997, 915, 53931, 47685, 158, 59586, 46578, 2881, 1967, 62220, 63942, 63472, - 15301, 26126, 13620, 13487, 10296, 25196, 59062, 15476, 63650, 52437, 37594, 32314, - 7459, 62176, 24431, 45111, 58121, 51827, 32687, 7465, 26072, 54437, 34047, 64642, - 16959, 13395, 5320, 27029, 9398, 49410, 21168, 17583, 9058, 3019, 58878, 59292, 37047, - 4740, 15048, 62600, 55829, 33728, 25875, 51560, 9179, 45812, 33643, 29598, 61649, - 32544, 58587, 39751, 17154, 50990, 52370, 11105, 42906, 1106, 45270, 7179, 41296, - 27211, 3819, 45601, 442, 38230, 21488, 34297, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, ])) .unwrap(), c: 255, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_0/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_max_6/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -20618,20 +19859,59 @@ fn test_containers_var_test_struct_lengthy_0() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("71e7aa654855c5f5f169d98f5d3d380eafade90bd2360881a10eaedc990d8c2d"); + root_from_hex("0x294a1333b754020730798b3d264b4ab0ee45e799309caea42cd428bedcca46a6"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_one_5() { +fn test_containers_var_test_struct_max_7() { let mut value = VarTestStruct { - a: 48023, - b: List::::try_from(Vec::::from_iter([8630])).unwrap(), - c: 216, + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_one_5/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_max_7/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -20640,7 +19920,7 @@ fn test_containers_var_test_struct_one_5() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("c062dede49358629be70279a66e2aea28da2a7746336179838b35226557ad6f9"); + root_from_hex("0x79c96ac0d0f8a0b50c1f9b3387d304545f8748957f25169bd4312784818e5353"); assert_eq!(root, expected_root); } @@ -20720,139 +20000,63 @@ fn test_containers_var_test_struct_max_8() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f43b89ecb1afcea42daf293bdd44f386565d4798ab5dc989b91ccc5964714e36"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_bits_struct_nil_6() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([true, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([true, true, true, true, false, true, false, false]), - }; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_nil_6/serialized.ssz_snappy", - ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: BitsStruct = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("66142f50cb9200a075d512910dd5614263dcb2a5060a3ff0d88f0127e29b3931"); + root_from_hex("0xf43b89ecb1afcea42daf293bdd44f386565d4798ab5dc989b91ccc5964714e36"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_max() { - let mut value = ComplexTestStruct { +fn test_containers_var_test_struct_max_9() { + let mut value = VarTestStruct { a: 65535, - b: List::::try_from(Vec::::from_iter([ + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, ])) .unwrap(), c: 255, - d: List::::try_from(Vec::::from_iter([255])).unwrap(), - e: VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([65535, 65535, 65535, 65535])) - .unwrap(), - c: 255, - }, - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - ]) - .unwrap(), }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_max_9/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("eb868df5a7f8bf87bdca38c2aa78f9c1322892196dd0abc441231ac34b3aebb0"); + root_from_hex("0x56000973efb39fe164fbb325218a9cf3d0dcfdf1f50b1f7fefb20efaa1bdcbc4"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_max_1() { +fn test_containers_var_test_struct_max_chaos_0() { let mut value = VarTestStruct { a: 65535, b: List::::try_from(Vec::::from_iter([ @@ -20917,6 +20121,31 @@ fn test_containers_var_test_struct_max_1() { 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_max_chaos_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xc3e720d29dc4e4baa5cbad059f4eb0b99189c911dcede2863bb5b77795c5cc3d"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_var_test_struct_max_chaos_1() { + let mut value = VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, @@ -20925,15 +20154,14 @@ fn test_containers_var_test_struct_max_1() { 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, ])) .unwrap(), c: 255, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_max_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_max_chaos_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -20942,38 +20170,61 @@ fn test_containers_var_test_struct_max_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("badeb02dc73020bf5c581d481c64ee98fd59e80cfa1827cf7046bd123607d5a1"); + root_from_hex("0xfd31fbb40e94c30fa8fe09c0055e48d66a2d142c1a3213086d902067eaa8b8de"); assert_eq!(root, expected_root); } #[test] -fn test_containers_small_test_struct_max_chaos_1() { - let mut value = SmallTestStruct { a: 65535, b: 65535 }; +fn test_containers_var_test_struct_max_chaos_2() { + let mut value = VarTestStruct { + a: 65535, + b: List::::try_from(Vec::::from_iter([ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + ])) + .unwrap(), + c: 255, + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/SmallTestStruct_max_chaos_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_max_chaos_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: SmallTestStruct = deserialize(&expected_encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("5ee8ff3d8661977c818a2d7f926019872cfef9cf4270b99ff833160f41fc01ec"); + root_from_hex("0xe9aabd6fc8bc59fcbe5d369d36a5a7f4e4da30372c2ee0a79042c68b64306e2c"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_nil_chaos_0() { +fn test_containers_var_test_struct_nil_0() { let mut value = VarTestStruct { - a: 4227, + a: 19247, b: List::::try_from(Vec::::from_iter([])).unwrap(), - c: 44, + c: 218, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_chaos_0/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -20982,123 +20233,42 @@ fn test_containers_var_test_struct_nil_chaos_0() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ba51affcafec76b1d7f201a539d7502dab39ea9db86436cd880bce8ebf174721"); + root_from_hex("0x222aecf4aec9d26c1185796b4569be800bab5a97460e4cb81c357d8a5b108082"); assert_eq!(root, expected_root); } #[test] -fn test_containers_fixed_test_struct_zero_4() { - let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; +fn test_containers_var_test_struct_nil_1() { + let mut value = VarTestStruct { + a: 57718, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 30, + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_4/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); - assert_eq!(root, expected_root); -} - -#[test] -fn test_containers_var_test_struct_lengthy_9() { - let mut value = VarTestStruct { - a: 2619, - b: List::::try_from(Vec::::from_iter([ - 13129, 9486, 51703, 31906, 60795, 3512, 38232, 36482, 19605, 10895, 45636, 37364, - 49145, 33325, 53503, 8438, 42185, 51736, 50109, 42235, 14239, 7631, 8454, 38760, 62033, - 27601, 33010, 12512, 35438, 41144, 10642, 10111, 54718, 63609, 42996, 4237, 51836, - 49123, 55803, 62568, 48996, 39224, 10120, 2400, 32915, 50304, 23980, 28472, 50420, - 54327, 58710, 19752, 5651, 52544, 6064, 22161, 24494, 21480, 12930, 28580, 64999, - 21928, 3585, 34374, 6448, 2412, 35581, 46120, 3428, 1223, 19292, 17038, 31961, 18863, - 688, 6701, 41240, 43500, 20607, 41445, 5162, 50706, 25534, 4615, 18023, 51691, 17938, - 44050, 43037, 52846, 5064, 44070, 54035, 3607, 64313, 4889, 46221, 26376, 7784, 24246, - 35361, 40511, 44494, 61501, 12461, 10880, 48563, 40000, 7910, 16986, 848, 62700, 49868, - 60236, 30866, 2268, 37253, 25882, 48126, 43521, 60291, 12751, 38199, 24997, 58062, - 31034, 23461, 48189, 30813, 7890, 21827, 37219, 19286, 42506, 47303, 63010, 20238, - 44252, 13568, 18847, 5375, 33839, 17941, 62808, 2632, 22775, 18496, 17186, 37109, - 20731, 58902, 28162, 10266, 7132, 27628, 38544, 23193, 65172, 62758, 11279, 35856, - 18530, 10894, 53363, 45254, 44042, 14844, 55036, 25273, 51636, 8149, 10164, 8245, - 61949, 54238, 53127, 25539, 22896, 36207, 37876, 5564, 52730, 34746, 55687, 7464, 1151, - 29280, 15186, 10651, 28822, 4107, 54995, 57005, 9646, 3504, 49677, 52928, 63870, 35197, - 38252, 58610, 57948, 25736, 3346, 2919, 10972, 31031, 35646, 19343, 45882, 46959, - 22336, 10406, 55458, 27314, 49785, 56441, 48223, 30315, 51959, 57547, 58877, 55400, - 46364, 52228, 60183, 9961, 20966, 44944, 58374, 35556, 28606, 14252, 27661, 20040, - 11295, 57982, 16949, 38181, 14064, 13373, 27075, 31906, 16195, 5133, 63599, 18771, - 47096, 6105, 52992, 26812, 1790, 3451, 53702, 45630, 58120, 32090, 8350, 18295, 4411, - 30693, 30337, 24817, 54542, 39023, 26164, 18503, 30783, 51727, 20048, 63012, 36394, - 14916, 40075, 39519, 1132, 18626, 51766, 52279, 40334, 17006, 6291, 22717, 10092, - 23181, 44132, 56083, 9786, 18029, 6053, 14557, 30014, 52849, 53581, 1706, 9603, 56199, - 36428, 60312, 62239, 55564, 16742, 38413, 42095, 36682, 49598, 48525, 23862, 16221, - 51243, 22511, 60687, 33324, 12760, 36109, 6734, 22084, 37502, 64240, 24449, 23693, - 44797, 21166, 7380, 6296, 2295, 43288, 32998, 9944, 53700, 9352, 20740, 500, 50512, - 56633, 47416, 63691, 46008, 8483, 44426, 17792, 44699, 10537, 44692, 39966, 2677, - 27394, 2484, 62071, 58325, 47822, 7499, 58367, 14196, 28419, 38019, 52607, 58221, - 43113, 12555, 36288, 26466, 20047, 57538, 39843, 12237, 65434, 54754, 63546, 60939, - 13147, 32244, 3667, 14189, 5502, 42426, 56026, 20618, 5751, 44457, 35990, 58007, 10301, - 2829, 50666, 53545, 15489, 12265, 8216, 41624, 55574, 42226, 33022, 50865, 13863, - 47814, 61434, 57293, 8217, 9575, 28825, 61497, 60195, 53907, 19271, 3003, 3652, 63265, - 65005, 35725, 34832, 14828, 14620, 9334, 20393, 49964, 61297, 38296, 29031, 55793, - 23833, 61756, 12197, 3409, 37436, 48269, 37469, 33651, 1001, 28922, 7400, 30692, 8736, - 44857, 25380, 1282, 4382, 64094, 125, 3543, 51881, 64797, 64925, 47222, 24197, 14476, - 48816, 54622, 14009, 27728, 10911, 25706, 24069, 42970, 41943, 49346, 27636, 18718, - 57282, 36941, 15260, 62970, 39995, 6956, 13220, 38666, 26615, 52098, 7006, 45239, - 21787, 61988, 48668, 62915, 65185, 15757, 32910, 35001, 6578, 16078, 11833, 43573, - 27141, 25350, 26287, 41601, 17546, 15123, 65232, 60131, 18976, 4630, 57271, 61724, - 34173, 8091, 21227, 37689, 4709, 4654, 61217, 65527, 20542, 50170, 35611, 53095, 30957, - 21944, 11100, 59204, 48905, 36042, 49860, 33176, 60161, 60853, 3990, 39548, 21784, - 3805, 6506, 55144, 50363, 59143, 54351, 686, 25212, 38685, 38466, 39051, 48001, 21904, - 6743, 12787, 52146, 57055, 5425, 37466, 24353, 50157, 49166, 61856, 4293, 11640, 33299, - 59288, 36976, 51305, 5895, 61511, 59136, 5489, 7122, 9075, 44262, 33751, 61943, 19809, - 43416, 10033, 20480, 60406, 54229, 65516, 55686, 33819, 61477, 53318, 45618, 45938, - 49023, 31472, 21065, 38370, 44520, 41075, 12806, 46130, 13805, 33327, 16448, 26, 11537, - 14308, 60858, 25692, 50481, 737, 44745, 3472, 63155, 55956, 45915, 26576, 27677, 18963, - 41482, 4025, 40118, 62560, 18003, 55236, 43808, 18650, 10844, 29363, 43697, 57308, - 9607, 37531, 21355, 21818, 18919, 31194, 51233, 32231, 39687, 25800, 15463, 46202, - 20508, 18182, 52440, 21974, 60644, 16126, 9032, 34067, 51868, 36787, 30967, 47390, - 43901, 11765, 32645, 19950, 17954, 17221, 48198, 57985, 48820, 25937, 35553, 14527, - 25239, 3887, 5349, 21475, 6630, 40605, 29848, 30525, 59074, 17445, 18114, 12171, 37243, - 62132, 53332, 6476, 8316, 1249, 63204, 14219, 61253, 39863, 57987, 48470, 61019, 13302, - 19048, 12534, 39234, 35483, 61505, 34362, 50620, 32610, 62875, 22910, 46830, 41335, - 11735, 6588, 22344, 31682, 26022, 1629, 49276, 12548, 45881, 34333, 55518, 42903, - 55567, 17533, 1035, 4055, 20602, 49909, 9119, 47812, 9634, 22474, 49909, 20571, 53933, - 60650, 41646, 56047, 64306, 60567, 30195, 41274, 18119, 1938, 57400, 10384, 12449, - 30628, 36576, 7257, 44366, 18671, 5549, 4243, 43695, 22308, 48776, 29515, 49088, 6172, - 61173, 11143, 5649, 58787, 19689, 31128, 55356, 55548, 40815, 55579, 28900, 870, 44095, - 51664, 25958, 54054, 25524, 24368, 55593, 38050, 5094, 45614, 25730, 54764, 27088, - 62345, 23343, 19857, 58471, 46922, 52604, 25604, 41412, 60977, 49225, 26996, 57558, - 818, 39571, 10710, 881, 41923, 28552, 65385, 44126, 21330, 51771, 13736, 19727, 63055, - 42414, 49882, 17523, 8895, 15659, 64809, 9791, 49487, 48893, 27277, 24073, 53660, - 54832, 13311, 62438, 4183, 24855, 20221, 50952, 21283, 34995, 5023, 38419, 6054, 16627, - 51987, 3752, 4125, 10909, 25994, 29523, 11728, 58558, 26704, 3659, 38519, 62494, 54271, - 30862, 42241, 10315, 58715, 9116, 35280, 5065, 14261, 28306, 45197, 17180, 17377, - 61030, 51298, 12681, 28493, 28165, 12883, 18302, 17323, 702, 5098, 63243, 1938, 52394, - 36412, 52440, 56471, 28266, 19954, 20306, 44807, 29949, 18382, 16098, 48879, 23975, - 47619, 7664, 33303, 59525, 40966, 3426, 29641, 50799, 63147, 33685, 4090, 3815, 62191, - 56451, 30656, 21947, 9484, 56318, 32463, 59499, 19976, 35477, 15577, 52554, 17513, - 39031, 48331, 39048, 1961, 23965, 12098, 13093, 16624, 5083, 56127, 2307, 55686, 26109, - 41714, 45328, 45310, 3296, 20898, 36235, 54007, 17590, 4394, 40105, 44610, 54107, - 37513, 5109, 38919, 59303, 39407, 12330, 57474, 42635, 59489, 31062, 17460, 50016, - 28123, 15888, 57840, 15586, 5549, 27766, 56585, 46655, 42696, 59404, 21509, 38491, - 42999, 12636, 3990, 8344, 20937, 29, 56842, 3535, 62930, 44406, 44945, 26635, 2909, - 61958, 62969, 3603, 30443, 12369, 17579, 11941, 31081, 30166, 48245, 23332, 26763, - 39240, 37377, 2011, 40929, 24976, 39036, 49535, 65233, 3844, 2630, 42487, 46994, 2729, - 35127, 5249, 54715, 11452, 11952, 58698, 63981, 13388, 16869, 35718, 34115, 25627, - 44874, 37373, 16936, 2246, 59096, 23042, 1427, 27991, 24263, 47154, 42597, 24924, - 26630, 59991, 9811, 48392, 55311, 10213, 22429, 49206, 13490, 28024, 19825, 40667, - 33410, 46593, 61388, 55828, 44803, 31390, 50249, 12082, 19999, 35852, 58712, 18604, - 49444, 28003, 60416, 25427, 48361, 40637, 20340, - ])) - .unwrap(), - c: 185, + let expected_root = + root_from_hex("0x0816604b74ffed4de14e90ab139ee0242dab266445b8e932ebc2379a38059f9b"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_var_test_struct_nil_2() { + let mut value = VarTestStruct { + a: 54253, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 113, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_lengthy_9/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -21107,339 +20277,108 @@ fn test_containers_var_test_struct_lengthy_9() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("3e9b7ce7a3b6f7ea4879f0d033905f305f360580242ecddd245cd2b78b47a81b"); + root_from_hex("0x393695f7c96d59344d2c9ac1877e32143abf12828b1cf629876140699d66b84f"); assert_eq!(root, expected_root); } #[test] -fn test_containers_complex_test_struct_max_chaos_1() { - let mut value = ComplexTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - d: List::::try_from(Vec::::from_iter([255])).unwrap(), - e: VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - f: Vector::::try_from(vec![ - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - FixedTestStruct { a: 255, b: 18446744073709551615, c: 4294967295 }, - ]) - .unwrap(), - g: Vector::::try_from(vec![ - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, - ])) - .unwrap(), - c: 255, - }, - ]) - .unwrap(), +fn test_containers_var_test_struct_nil_3() { + let mut value = VarTestStruct { + a: 16239, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 51, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3168dedbcb599653e924a07f395a5e2d2ee0af53acdb1323fcd7d8b5c018c65d"); + assert_eq!(root, expected_root); +} + +#[test] +fn test_containers_var_test_struct_nil_4() { + let mut value = VarTestStruct { + a: 28577, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 222, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/ComplexTestStruct_max_chaos_1/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: ComplexTestStruct = deserialize(&expected_encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("96cc111eeb992df1f47406ede8339868e8cd50281c7fdd553b742768a6ec8c1c"); + root_from_hex("0x1f74745ce203e543c7e2ca93e001fc86755a5aa6cf4a0e3a0f02b516a8764974"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_lengthy_chaos_0() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true, true, false, false, true]), - b: Bitvector::<2>::from_iter([true, false]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([false, true, true, true, true, false]), - e: Bitvector::<8>::from_iter([false, false, true, true, true, true, true, true]), +fn test_containers_var_test_struct_nil_5() { + let mut value = VarTestStruct { + a: 33408, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 65, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_lengthy_chaos_0/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_5/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("8615f5ce488e94a1a5b01d715a1931806ef7b5064acc413c6e3f30a16247effe"); + root_from_hex("0xd97827015e4a4920cb11833893aafdf4335e4495a69b7ac9aa4bb9e2282f2077"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_nil_8() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([]), - b: Bitvector::<2>::from_iter([false, true]), - c: Bitvector::<1>::from_iter([true]), - d: Bitlist::<6>::from_iter([]), - e: Bitvector::<8>::from_iter([true, false, true, false, true, true, true, true]), +fn test_containers_var_test_struct_nil_6() { + let mut value = VarTestStruct { + a: 15781, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 117, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_nil_8/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_6/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0d85fba91fb9c52366820101ae72c082568ac76f8c5250ea9d2dabd5943dc298"); + root_from_hex("0x7cee3918d516db214447c2cbbe0d0ddb54dd8f75652bfc15ec6abcf3363f8380"); assert_eq!(root, expected_root); } #[test] -fn test_containers_var_test_struct_max_6() { +fn test_containers_var_test_struct_nil_7() { let mut value = VarTestStruct { - a: 65535, - b: List::::try_from(Vec::::from_iter([ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, - 65535, - ])) - .unwrap(), - c: 255, + a: 64459, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 222, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/VarTestStruct_max_6/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_7/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -21448,770 +20387,1832 @@ fn test_containers_var_test_struct_max_6() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("294a1333b754020730798b3d264b4ab0ee45e799309caea42cd428bedcca46a6"); + root_from_hex("0x12a034ffc15a1416af36a2042cea64289a7a587e6f0fe97b3c66feaec47e0fc0"); assert_eq!(root, expected_root); } #[test] -fn test_containers_fixed_test_struct_zero_3() { - let mut value = FixedTestStruct { a: 0, b: 0, c: 0 }; +fn test_containers_var_test_struct_nil_8() { + let mut value = VarTestStruct { + a: 45577, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 105, + }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/FixedTestStruct_zero_3/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_8/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: FixedTestStruct = deserialize(&expected_encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"); + root_from_hex("0x4862179b12978591ac35adb894ffc2ee201c33254090051f7c93f988c3335432"); assert_eq!(root, expected_root); } #[test] -fn test_containers_bits_struct_one_chaos_2() { - let mut value = BitsStruct { - a: Bitlist::<5>::from_iter([true]), - b: Bitvector::<2>::from_iter([false, true]), - c: Bitvector::<1>::from_iter([false]), - d: Bitlist::<6>::from_iter([true]), - e: Bitvector::<8>::from_iter([false, true, false, true, true, true, false, false]), +fn test_containers_var_test_struct_nil_9() { + let mut value = VarTestStruct { + a: 26413, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 229, }; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/valid/BitsStruct_one_chaos_2/serialized.ssz_snappy", + "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_9/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: BitsStruct = deserialize(&expected_encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("39f1b83c9006973db77b48722ae4dafdcfe92a60865c55d386d050dca10e365e"); + root_from_hex("0x7cb7293235a467c2292090388636eeadcfd089f600b5ae046ac7fca0dff276d4"); assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_lengthy_offset_6_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_6_plus_one/serialized.ssz_snappy"); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_var_test_struct_one_offset_2_minus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_one_offset_2_minus_one/serialized.ssz_snappy"); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_var_test_struct_nil_offset_2_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_nil_offset_2_plus_one/serialized.ssz_snappy"); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_bits_struct_extra_byte() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/invalid/BitsStruct_extra_byte/serialized.ssz_snappy", +fn test_containers_var_test_struct_nil_chaos_0() { + let mut value = VarTestStruct { + a: 4227, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 44, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_chaos_0/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_var_test_struct_random_offset_2_minus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_random_offset_2_minus_one/serialized.ssz_snappy"); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_complex_test_struct_nil_offset_7_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_7_plus_one/serialized.ssz_snappy"); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_complex_test_struct_nil_offset_11_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_11_plus_one/serialized.ssz_snappy"); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_complex_test_struct_lengthy_offset_11_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_11_zeroed/serialized.ssz_snappy"); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_bits_struct_lengthy_last_offset_0_overflow() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_last_offset_0_overflow/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xba51affcafec76b1d7f201a539d7502dab39ea9db86436cd880bce8ebf174721"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_one_offset_6_zeroed() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_6_zeroed/serialized.ssz_snappy", +fn test_containers_var_test_struct_nil_chaos_1() { + let mut value = VarTestStruct { + a: 35832, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 217, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_chaos_1/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_bits_struct_one_last_offset_10_wrong_byte_length() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_one_last_offset_10_wrong_byte_length/serialized.ssz_snappy"); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_complex_test_struct_lengthy_last_offset_7_overflow() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_last_offset_7_overflow/serialized.ssz_snappy"); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_complex_test_struct_one_last_offset_7_wrong_byte_length() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_last_offset_7_wrong_byte_length/serialized.ssz_snappy"); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_complex_test_struct_random_offset_2_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_2_plus_one/serialized.ssz_snappy"); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_var_test_struct_random_offset_2_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_random_offset_2_zeroed/serialized.ssz_snappy"); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_complex_test_struct_lengthy_offset_2_minus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_2_minus_one/serialized.ssz_snappy"); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_bits_struct_random_offset_0_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_0_zeroed/serialized.ssz_snappy"); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_complex_test_struct_nil_offset_7_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_7_zeroed/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xefee06dc27b3f364ac899b45bb1d3e1612a7516d0254907aad6e7320301d5e42"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_complex_test_struct_one_last_offset_2_wrong_byte_length() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_last_offset_2_wrong_byte_length/serialized.ssz_snappy"); +fn test_containers_var_test_struct_nil_chaos_2() { + let mut value = VarTestStruct { + a: 57138, + b: List::::try_from(Vec::::from_iter([])).unwrap(), + c: 18, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_nil_chaos_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xdf3efa5ecdee8b78e276a4019413bb50ce5d8fd8cd1d9907584659732db872c1"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_containers_var_test_struct_one_offset_2_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_one_offset_2_zeroed/serialized.ssz_snappy"); +fn test_containers_var_test_struct_nil_offset_2_minus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_nil_offset_2_minus_one/serialized.ssz_snappy"); deserialize::(&encoding); } #[test] #[should_panic] -fn test_containers_var_test_struct_lengthy_offset_2_minus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_lengthy_offset_2_minus_one/serialized.ssz_snappy"); +fn test_containers_var_test_struct_nil_offset_2_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_nil_offset_2_plus_one/serialized.ssz_snappy"); deserialize::(&encoding); } #[test] #[should_panic] -fn test_containers_bits_struct_nil_offset_0_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_0_plus_one/serialized.ssz_snappy"); +fn test_containers_var_test_struct_nil_offset_2_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_nil_offset_2_zeroed/serialized.ssz_snappy"); - deserialize::(&encoding); + deserialize::(&encoding); } #[test] -#[should_panic] -fn test_containers_bits_struct_one_offset_6_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_6_plus_one/serialized.ssz_snappy"); - - deserialize::(&encoding); -} +fn test_containers_var_test_struct_one_0() { + let mut value = VarTestStruct { + a: 61255, + b: List::::try_from(Vec::::from_iter([17467])).unwrap(), + c: 65, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_one_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_containers_complex_test_struct_random_offset_11_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_11_zeroed/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x263402ff6691e913333141841d14b9a4d4f7b1b08d83f07d57a4638babfcb6ce"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_complex_test_struct_one_offset_2_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_2_zeroed/serialized.ssz_snappy"); - - deserialize::(&encoding); -} +fn test_containers_var_test_struct_one_1() { + let mut value = VarTestStruct { + a: 47389, + b: List::::try_from(Vec::::from_iter([45887])).unwrap(), + c: 140, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_one_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_containers_complex_test_struct_lengthy_offset_2_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_2_plus_one/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x90fc29dbcb37509bde9cbecb990e7fb5ead6249d16964870263e7b58c57ba7cb"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_complex_test_struct_one_offset_2_minus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_2_minus_one/serialized.ssz_snappy"); +fn test_containers_var_test_struct_one_2() { + let mut value = VarTestStruct { + a: 31642, + b: List::::try_from(Vec::::from_iter([59815])).unwrap(), + c: 220, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_one_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xc1bd1985036a67f5b0cc7b414fbbc46213020a1e0746b10389673c62f2048578"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_one_offset_0_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_0_plus_one/serialized.ssz_snappy"); +fn test_containers_var_test_struct_one_3() { + let mut value = VarTestStruct { + a: 22598, + b: List::::try_from(Vec::::from_iter([37706])).unwrap(), + c: 49, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_one_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x1d73b6e1e6844e9b714e1b26959086d3dca0930f070971569b2d0ab6d6c5bf95"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_nil_offset_6_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_6_plus_one/serialized.ssz_snappy"); +fn test_containers_var_test_struct_one_4() { + let mut value = VarTestStruct { + a: 20579, + b: List::::try_from(Vec::::from_iter([59691])).unwrap(), + c: 90, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_one_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x16d1dd07880a83d46fc95fb94041bf333448534aa37fdd530977f57ad5031a36"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_lengthy_offset_0_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_0_plus_one/serialized.ssz_snappy"); +fn test_containers_var_test_struct_one_5() { + let mut value = VarTestStruct { + a: 48023, + b: List::::try_from(Vec::::from_iter([8630])).unwrap(), + c: 216, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_one_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xc062dede49358629be70279a66e2aea28da2a7746336179838b35226557ad6f9"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_small_test_struct_extra_byte() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/invalid/SmallTestStruct_extra_byte/serialized.ssz_snappy", +fn test_containers_var_test_struct_one_6() { + let mut value = VarTestStruct { + a: 5264, + b: List::::try_from(Vec::::from_iter([12220])).unwrap(), + c: 50, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_one_6/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x14662980605e77baa6e07639d5bbe81467e2ca249340e9531edcaa87585cedab"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_var_test_struct_one_offset_2_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_one_offset_2_plus_one/serialized.ssz_snappy"); +fn test_containers_var_test_struct_one_7() { + let mut value = VarTestStruct { + a: 14149, + b: List::::try_from(Vec::::from_iter([16482])).unwrap(), + c: 230, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_one_7/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x92f9dcdd18f4dc0f8641862bd82cdf4081aefeb974f36bc74cda484ce7dc6637"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_lengthy_last_offset_10_overflow() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_last_offset_10_overflow/serialized.ssz_snappy"); +fn test_containers_var_test_struct_one_8() { + let mut value = VarTestStruct { + a: 32967, + b: List::::try_from(Vec::::from_iter([65174])).unwrap(), + c: 29, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_one_8/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x68282c3fddc3aa7aabbff61772ef621b78adedcaed8b4ccaf1ab7e6b8e01361c"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_complex_test_struct_lengthy_offset_7_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_7_zeroed/serialized.ssz_snappy"); - - deserialize::(&encoding); -} +fn test_containers_var_test_struct_one_9() { + let mut value = VarTestStruct { + a: 34750, + b: List::::try_from(Vec::::from_iter([11259])).unwrap(), + c: 43, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_one_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_containers_bits_struct_random_offset_6_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_6_zeroed/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x585294982a9f2210cc413c2c211b1564eec730eaf550a08db0d3a6c0308083f4"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_complex_test_struct_one_offset_7_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_7_plus_one/serialized.ssz_snappy"); +fn test_containers_var_test_struct_one_chaos_0() { + let mut value = VarTestStruct { + a: 6367, + b: List::::try_from(Vec::::from_iter([33756])).unwrap(), + c: 52, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_one_chaos_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x241b66eb58b52471a5db434909765ffe1c393b77460c72417926a78964477772"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_one_offset_0_zeroed() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_0_zeroed/serialized.ssz_snappy", +fn test_containers_var_test_struct_one_chaos_1() { + let mut value = VarTestStruct { + a: 28881, + b: List::::try_from(Vec::::from_iter([18944])).unwrap(), + c: 105, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_one_chaos_1/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x52e834b323f4651d8f7e8759ba002d7bb346289a1fb31be29a559b6a43318a61"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_var_test_struct_extra_byte() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/invalid/VarTestStruct_extra_byte/serialized.ssz_snappy", +fn test_containers_var_test_struct_one_chaos_2() { + let mut value = VarTestStruct { + a: 7706, + b: List::::try_from(Vec::::from_iter([40992])).unwrap(), + c: 148, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_one_chaos_2/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_bits_struct_nil_offset_0_minus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_0_minus_one/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf51f249688539a42ee372275ec980a4ff15647920a2215f6c572c3d178058275"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_containers_bits_struct_lengthy_last_offset_6_overflow() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_last_offset_6_overflow/serialized.ssz_snappy"); +fn test_containers_var_test_struct_one_last_offset_2_wrong_byte_length() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_one_last_offset_2_wrong_byte_length/serialized.ssz_snappy"); - deserialize::(&encoding); + deserialize::(&encoding); } #[test] #[should_panic] -fn test_containers_complex_test_struct_random_offset_2_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_2_zeroed/serialized.ssz_snappy"); +fn test_containers_var_test_struct_one_offset_2_minus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_one_offset_2_minus_one/serialized.ssz_snappy"); - deserialize::(&encoding); + deserialize::(&encoding); } #[test] #[should_panic] -fn test_containers_bits_struct_nil_offset_10_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_10_plus_one/serialized.ssz_snappy"); +fn test_containers_var_test_struct_one_offset_2_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_one_offset_2_plus_one/serialized.ssz_snappy"); - deserialize::(&encoding); + deserialize::(&encoding); } #[test] #[should_panic] -fn test_containers_complex_test_struct_random_offset_11_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_11_plus_one/serialized.ssz_snappy"); +fn test_containers_var_test_struct_one_offset_2_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_one_offset_2_zeroed/serialized.ssz_snappy"); - deserialize::(&encoding); + deserialize::(&encoding); } #[test] -#[should_panic] -fn test_containers_bits_struct_one_last_offset_6_wrong_byte_length() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_one_last_offset_6_wrong_byte_length/serialized.ssz_snappy"); +fn test_containers_var_test_struct_random_0() { + let mut value = VarTestStruct { + a: 9142, + b: List::::try_from(Vec::::from_iter([ + 22416, 223, 7972, 11484, 19434, 28447, 5231, 56724, 51306, 42521, 27147, 49964, 36706, + 39915, 55317, 41805, 19846, 12172, 34120, 36440, 53773, 52437, 36273, 14907, 49197, + 35943, 28034, 38986, 52211, 6881, 45813, 57744, 30473, 64290, 21668, 49878, 40359, 320, + 9611, 62941, 51772, 39114, 56218, 62860, 24324, 52495, 62647, 20603, 36865, 48434, + 45414, 27009, 22148, 59954, 62184, 3708, 61327, 13593, 3527, 48055, 62366, 8544, 18352, + 43486, 45729, 37965, 39140, 43330, 38506, 25502, 36573, 9500, 26738, 44516, 43808, + 42082, 60034, 35062, 11135, 15678, 32145, 33705, 48742, 17967, 3719, 51713, 4896, 5776, + 27355, 20291, 41026, 46586, 56958, 9043, 39998, 34265, 63644, 28783, 45579, 10862, + 2379, 43396, 30094, 21303, 62649, 65459, 18342, 8943, 19075, 31887, 21528, 51531, + 42795, 16898, 58502, 5359, 48719, 9003, 48379, 53529, 5849, 9293, 41177, 29874, 25977, + 45375, 49779, 64590, 6874, 3911, 58730, 10509, 38425, 55888, 44604, 19384, 63720, + 31723, 3906, 46741, 48681, 54395, 22813, 9786, 2334, 27822, 25749, 18540, 17367, 33387, + 6489, 61347, 47389, 48731, 37802, 51990, 53503, 48217, 30693, 37390, 1146, 40992, + 34865, 15790, 4640, 28647, 48418, 24104, 42236, 38394, 47560, 35769, 23109, 59882, + 22177, 423, 53557, 31329, 25129, 58161, 35835, 22838, 46381, 53662, 63722, 63059, + 62940, 58363, 48893, 13445, 52629, 16651, 13906, 61519, 63976, 12682, 17280, 33541, + 31322, 9288, 43949, 51404, 38481, 46527, 53147, 24686, 61987, 61038, 41883, 57878, + 14142, 60712, 11255, 9968, 25881, 23043, 44026, 22629, 49513, 35585, 26161, 34678, + 3851, 20729, 41423, 13074, 5930, 7299, 34124, 55573, 42360, 44558, 40360, 56850, 21792, + 49250, 51715, 1160, 37892, 37185, 41500, 32616, 20458, 25467, 59368, 58330, 54723, + 44092, 35226, 57025, 51351, 34034, 64690, 41306, 32465, 37513, 20683, 21484, 53850, + 20660, 4514, 30481, 46379, 27036, 56373, 58231, 3172, 53001, 9068, 8268, 9281, 32033, + 49955, 63629, 49768, 31128, 39678, 42896, 59238, 8420, 39680, 3423, 23669, 18717, + 19250, 49210, 56133, 23208, 17950, 39502, 12292, 64027, 44021, 17505, 34999, 56486, + 61866, 36539, 41349, 21955, 8641, 57572, 30183, 57983, 32735, 8757, 34950, 20469, + 35938, 18988, 51651, 28556, 26356, 19159, 27794, 44907, 54154, 242, 45388, 25075, + 29313, 2174, 2314, 47601, 57706, 30986, 1451, 54310, 55358, 65115, 55275, 43470, 32677, + 63547, 40039, 61454, 2236, 2646, 38283, 16176, 59286, 32096, 51802, 54940, 27443, 5518, + 56533, 51332, 14617, 54082, 23329, 22820, 9483, 48295, 22353, 30089, 8292, 49798, 4329, + 16647, 35158, 3770, 45230, 7856, 36001, 2317, 5922, 53944, 63075, 3987, 37793, 23932, + 30238, 64222, 8098, 38614, 31902, 58410, 60158, 22946, 34517, 21133, 54713, 40857, + 1249, 38290, 42738, 26882, 24319, 4260, 40285, 65497, 2365, 55677, 21290, 56983, 44440, + 37594, 12326, 10481, 54917, 43962, 4982, 53518, 57962, 23944, 53195, 13978, 43412, + 24919, 13137, 51956, 11767, 41673, 16436, 9498, 43299, 63167, 34351, 10006, 8354, + 59068, 1377, 46262, 4763, 28350, 14144, 58447, 23475, 5438, 34975, 52436, 40688, 4232, + 44224, 44922, 27855, 11518, 31954, 12900, 39291, 2204, 8952, 11027, 3659, 39007, 45278, + 56515, 2365, 51232, 59731, 11478, 28586, 10316, 45669, 43867, 46239, 50889, 46538, + 12456, 4094, 16941, 17517, 59135, 46966, 16505, 12639, 8089, 34897, 20779, 4142, 44528, + 64715, 10776, 57067, 47195, 2350, 55112, 41270, 25163, 21751, 30049, 55494, 22443, + 56693, 65477, 18304, 49722, 62399, 50538, 40000, 36289, 34045, 18731, 46894, 17228, + 34239, 40826, 32621, 38704, 21978, 20313, 59697, 7675, 34261, 54989, 48326, 6525, + 45585, 1149, 4908, 25857, 40177, 24839, 62376, 50834, 36995, 41448, 50390, 54481, + 35759, 58404, 7367, 43845, 33680, 25556, 41328, 12424, 52819, 47853, 47789, 55978, + 38859, 50960, 53553, 36937, 33677, 22217, 59545, 47048, 26333, 23995, 8154, 49423, + 59537, 17383, 31070, 49224, 39907, 48761, 53876, 33303, 29275, 42796, 57934, 41127, + 16235, 21731, 32887, 23106, 53006, 58920, 34131, 36269, 59068, 11913, 21507, 59728, + 64259, 6271, 7602, 39449, 27773, 49674, 17386, 53896, 9330, 24816, 20014, 37952, 48875, + 38206, 23681, 57114, 61553, 6859, 31683, 62582, 51244, 12580, 20831, 7093, 15057, + 12773, 19211, 16994, 16260, 61759, 48546, 13804, 2755, 10654, 27001, 17678, 41104, + 49638, 33604, 55547, 38612, 47139, 58864, 30198, 8363, 41113, 6293, 26879, 39412, + 52639, 49144, 64727, 39990, 33655, 21796, 24259, 41590, 2733, 5172, 44938, 43068, + 47316, 59594, 16123, 57322, 10619, 38642, 54714, 13858, 42426, 17878, 51553, 35176, + 63160, 5617, 49361, 878, 53276, 3591, 29091, 8321, 8286, 48804, 47701, 64141, 5356, + 7849, 31, 2535, 28852, 15777, 50447, 36423, 30409, 33434, 39079, 8277, 9918, + ])) + .unwrap(), + c: 149, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_random_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3c833af82f46636a42cfa718c0e9b287f4e26fa14c0f32a1a7674eaf10347707"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_complex_test_struct_lengthy_offset_7_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_7_plus_one/serialized.ssz_snappy"); +fn test_containers_var_test_struct_random_1() { + let mut value = VarTestStruct { + a: 43634, + b: List::::try_from(Vec::::from_iter([ + 55593, 62281, 4908, 59811, 54631, 42687, 27754, 27273, 26194, 35717, 1605, 53917, 4007, + 61438, 1012, 35712, 56777, 1947, 7104, 53378, 55331, 21992, 11578, 58601, 30836, 5086, + 29700, 12490, 34397, 1117, 27495, 52391, 50304, 3392, 24708, 18726, 12722, 44314, + 13333, 10550, 12089, 15248, 59251, 4147, 26456, 52856, 52045, 26285, 43132, 44254, + 7579, 8064, 54813, 53649, 58140, 29406, 58276, 59263, 47571, 42844, 37539, 63904, + 14568, 35186, 64267, 47115, 61329, 42554, 13821, 18970, 24310, 13957, 35941, 53797, + 38170, 59692, 35209, 35683, 11691, 6108, 62708, 42277, 58234, 13256, 7191, 32396, 4100, + 27360, 11818, 12580, 52257, 52094, 48006, 43310, 12496, 35666, 25786, 18344, 45715, + 47644, 36559, 63271, 5337, 61110, 5413, 55741, 3566, 25693, 14581, 39066, 23559, 34561, + 56241, 20922, 38150, 64575, 9193, 10095, 25655, 44861, 59792, 12597, 60448, 14839, + 64050, 65247, 51265, 36873, 38147, 9610, 54991, 29399, 4513, 40366, 19914, 65200, + 33889, 65303, 42555, 31735, 32484, 58482, 13483, 52310, 15478, 10926, 26602, 7977, + 50775, 39848, 32156, 52108, 24170, 24878, 25522, 17688, 32352, 16137, 1829, 39541, + 36216, 26913, 17042, 8075, 38756, 51004, 41348, 58925, 31179, 22140, 19154, 57071, + 64662, 17552, 41678, 22160, 18149, 64721, 59288, 43373, 45073, 22817, 29913, 27426, + 14635, 34046, 47293, 63103, 37279, 27200, 51273, 10569, 47453, 51839, 52101, 50944, + 29518, 25244, 47018, 33508, 21557, 17846, 17927, 57043, 32878, 59897, 35793, 57091, + 32497, 51567, 51361, 10257, 9147, 41209, 40319, 7159, 6035, 12320, 2948, 8913, 63446, + 33955, 30176, 33539, 24417, 12731, 10030, 14547, 44648, 4009, 48074, 39874, 18367, + 61065, 58508, 12900, 55669, 57835, 14509, 62532, 21599, 58550, 18193, 45887, 2996, + 27048, 30968, 3280, 16733, 45330, 46622, 21302, 199, 30809, 5961, 19489, 28107, 10620, + 40919, 44336, 51387, 47261, 8560, 33558, 35987, 46831, 50989, 17202, 10824, 4165, + 32156, 32741, 4824, 19954, 12555, 56038, 61215, 46504, 43945, 52040, 6544, 57173, + 39481, 41003, 23365, 10530, 46924, 58671, 12188, 36886, 55998, 58650, 32471, 15417, + 28067, 51352, 59311, 35919, 34593, 14706, 39574, 53868, 48757, 12920, 33149, 59406, + 48754, 39786, 12312, 58318, 14966, 37668, 46928, 65487, 22250, 24796, 7043, 49742, + 46495, 44245, 5372, 46169, 36046, 60670, 29615, 59474, 2630, 4376, 65427, 13583, 41975, + 15842, 27686, 33957, 45114, 56180, 24895, 4175, 40381, 32830, 48421, 52207, 58611, + 41821, 31373, 23853, 55119, 1957, 34877, 62496, 37311, 40303, 44876, 36839, 47492, + 53209, 24055, 39340, 21094, 12815, 18079, 3546, 9133, 45047, 41320, 3878, 13753, 38525, + 64568, 43355, 62649, 55650, 30889, 7989, 16810, 53928, 52810, 54272, 34111, 43130, + 14634, 55804, 24247, 2549, 37573, 53039, 1273, 63106, 10081, 35901, 22063, 65529, + 36398, 22557, 6548, 49942, 51535, 8125, 6097, 44735, 41844, 6924, 38812, 46284, 28742, + 15255, 52107, 18447, 53412, 25887, 55412, 63792, 34766, 5505, 60081, 60102, 22907, + 4472, 52200, 9287, 57769, 19130, 9576, 33612, 29442, 51950, 31312, 57224, 42421, 3948, + 27456, 17061, 26184, 43827, 38666, 45497, 49012, 31663, 20589, 33660, 6416, 42817, + 12859, 36023, 18361, 13106, 3948, 6069, 45466, 29677, 18064, 3643, 3116, 53510, 64358, + 43166, 45247, 20328, 64702, 19889, 60714, 32942, 45721, 46172, 65267, 36597, 16011, + 60612, 34941, 2235, 28718, 60810, 57652, 34739, 8085, 40064, 34439, 30836, 63285, + 49357, 36164, 40730, 6028, 20536, 7821, 11758, 13935, 41594, 5480, 50109, 45486, 34524, + 65518, 33646, 26927, 51166, 8137, 65325, 47159, 15817, 21430, 55199, 43094, 18188, + 10207, 9270, 12316, 59028, 45281, 65293, 18359, 26572, 1483, 37642, 33838, 30229, + 20598, 17948, 17913, 8381, 2294, 65136, 56785, 32374, 21420, 32944, 55524, 54245, 9455, + 19743, 46340, 44594, 34585, 20335, 47339, 56153, 6446, 38290, 11996, 3640, 19236, + 56251, 26006, 39485, 49775, 18442, 14177, 58677, 29326, 65175, 15895, 55082, 13796, + 36474, 17814, 15645, 18234, 33170, 51110, 44025, 25628, 50098, 4543, 11961, 5240, + 12269, 60922, 50694, 57333, 36294, 54967, 34897, 38937, 23327, 21211, 38130, 40763, + 28268, 32512, 44967, 13536, 14845, 33262, 60590, 42683, 51728, 39972, 55685, 7063, + 44366, 38396, 34545, 19207, 23781, 5187, 6760, 4664, 2548, 34910, 45079, 63988, 24389, + 33740, 46265, 48490, 13086, 13997, 4472, 58789, 42140, 38861, 56799, 27990, 2090, + 17510, 18149, 56801, 36116, 29, 27248, 14112, 43872, 56950, 31835, 54234, 60391, 61682, + 6150, 8409, 14113, 14813, 43837, 34413, 35895, 60346, 9764, 39419, 8802, 34406, 19505, + 46628, 3351, 48702, 8558, 5754, 2593, 60784, 39575, 1647, 5760, 16362, 63845, 48749, + 27443, 24090, 40960, 19478, 5559, 7717, 62950, 12398, 29842, 16378, 36410, 37918, + 22070, 37187, 2388, 2471, 59879, 9256, 16878, 28021, 9280, 63982, 3237, 64103, 60696, + 53445, 43639, 26328, 22322, 25785, 42833, 11185, 19944, 39503, 46656, 62113, 54641, + 39184, 38083, 52218, 10422, 19936, 38976, 37156, 53804, 24969, 32577, + ])) + .unwrap(), + c: 213, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_random_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); + + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x19b0167346cd2f1c984be3174c47724ddc1137b403532b6b12158e8005cf1539"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_complex_test_struct_lengthy_offset_2_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_2_zeroed/serialized.ssz_snappy"); +fn test_containers_var_test_struct_random_2() { + let mut value = VarTestStruct { + a: 27676, + b: List::::try_from(Vec::::from_iter([ + 44695, 48600, 31136, 19500, 44205, 36060, 25786, 26618, 37361, 8899, 64311, 2514, 9554, + 32401, 56118, 2234, 41629, 45679, 18067, 55083, 13659, 38338, 11145, 48099, 7097, + 19777, 40789, 42260, 16593, 28212, 32284, 48885, 60017, 41548, 48980, 52748, 29436, + 6519, 51390, 13850, 16050, 57484, 19504, 2382, 57695, 21309, 36053, 58478, 36350, + 38811, 1214, 25105, 48123, 49033, 13665, 51370, 49698, 6760, 32128, 58193, 128, 1545, + 26614, 50542, 30613, 54988, 14353, 10738, 7815, 13360, 40678, 7110, 25066, 60556, + 54461, 22528, 17659, 13689, 48277, 30774, 43061, 20261, 15691, 35630, 19815, 30383, + 49861, 2839, 31450, 13493, 28681, 541, 61617, 22342, 59591, 40410, 38843, 30711, 35254, + 41534, 728, 11071, 55064, 35225, 56657, 37227, 9777, 34110, 65339, 21575, 59226, 17161, + 38436, 43428, 43115, 38104, 42399, 18787, 25758, 38789, 26768, 57600, 7547, 87, 63710, + 50131, 47366, 52622, 62452, 41355, 23911, 59936, 32112, 53056, 25947, 1377, 20244, + 46065, 60988, 10318, 54100, 17850, 50438, 11595, 21746, 25610, 55196, 23824, 6586, + 41973, 6026, 57980, 57254, 40365, 21772, 63353, 32160, 11991, 18726, 48970, 29746, + 49440, 17081, 41097, 13465, 63697, 27185, 40496, 45588, 22785, 5755, 5950, 14234, + 16151, 23366, 48189, 28838, 47431, 22937, 44687, 9960, 18008, 43796, 16472, 40344, + 6307, 60750, 42176, 48076, 3047, 34291, 53364, 5934, 35808, 39627, 16700, 61818, 17790, + 2074, 12801, 14876, 34651, 31986, 54424, 35627, 13246, 27491, 2754, 17156, 3650, 56913, + 28167, 40485, 5286, 26716, 54344, 20105, 10227, 12201, 17682, 4930, 50210, 52882, + 56220, 56083, 32674, 54172, 58006, 17356, 19067, 27616, 33887, 37780, 12415, 3852, + 5482, 6320, 20044, 51795, 34591, 8396, 35071, 39025, 33720, 27350, 1214, 12489, 28905, + 10545, 7894, 58460, 50487, 7556, 5510, 43456, 9897, 21919, 43418, 15610, 51627, 22828, + 26017, 41734, 27862, 2329, 13688, 53343, 26009, 43570, 5267, 1550, 22485, 16557, 64823, + 64098, 49563, 7109, 31682, 48433, 47419, 33456, 15614, 58115, 37566, 11748, 56178, + 31947, 55839, 23907, 39863, 45318, 62202, 53558, 32368, 15687, 53444, 47210, 42931, + 37640, 53500, 9048, 51678, 37398, 5322, 43230, 21833, 36405, 35061, 29262, 9277, 12384, + 59158, 31163, 4746, 57569, 1723, 58523, 6263, 14535, 59878, 52424, 31661, 6214, 23799, + 19965, 64506, 13195, 39399, 34387, 23723, 49447, 46439, 36212, 62454, 58077, 49181, + 17517, 57269, 57490, 9498, 980, 61407, 4360, 41477, 20314, 15300, 22147, 40103, 54993, + 61031, 41339, 32587, 12514, 54805, 51111, 33512, 41665, 59236, 7998, 31477, 45546, + 63362, 6925, 42377, 20507, 6202, 19455, 16556, 23535, 29143, 7737, 51549, 58357, 61793, + 58806, 2026, 13961, 6066, 19732, 46806, 23699, 19514, 8377, 64814, 47852, 56334, 22031, + 14309, 55332, 28372, 13423, 28189, 4416, 40742, 55008, 22937, 40917, 47057, 23312, + 6084, 50385, 33592, 27753, 25055, 47606, 50144, 49001, 16740, 34502, 8301, 21864, + 29823, 42703, 59858, 3591, 46786, 31144, 58289, 45473, 25231, 34072, 62297, 23287, + 54205, 24656, 17481, 60407, 16069, 41459, 23673, 47102, 10189, 53774, 2466, 24103, + 40128, 6503, 59475, 54342, 26961, 8919, 26201, 5446, 55610, 19872, 1418, 57935, 65235, + 63090, 12315, 8968, 51805, 42662, 59153, 39158, 46192, 65217, 3304, 62992, 4936, 10694, + 47294, 14922, 10373, 49555, 52677, 56876, 43038, 47088, 52506, 53601, 60897, 49707, + 21052, 58120, 11098, 12866, 15398, 5442, 37598, 25597, 44803, 23359, 62624, 38117, + 36739, 21148, 48895, 32395, 10357, 64402, 12077, 39546, 20435, 32185, 50268, 37625, + 11605, 37027, 44710, 32293, 64708, 49747, 7621, 29736, 4507, 14697, 20130, 17173, + 14817, 60481, 49719, 44836, 13313, 36862, 33794, 46741, 36669, 41584, 44211, 35232, + 59687, 51526, 37997, 54193, 17520, 56053, 39102, 61771, 49769, 18370, 61989, 25683, + 56035, 26878, 27505, 41063, 1141, 3229, 47503, 61963, 34624, 36914, 48463, 60248, + 64422, 32255, 14207, 22118, 30112, 61730, 19016, 17969, 4022, 52923, 36107, 56603, + 36238, + ])) + .unwrap(), + c: 46, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_random_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xbc5a1310b55ca40643862bd6365dce9d41bf6f167e67af00083bcfeafc305024"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_lengthy_offset_10_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_10_zeroed/serialized.ssz_snappy"); +fn test_containers_var_test_struct_random_3() { + let mut value = VarTestStruct { + a: 36707, + b: List::::try_from(Vec::::from_iter([ + 12654, 3873, 25427, 28554, 12347, 17269, 55449, 54337, 28007, 48659, 45648, 53594, + 58826, 6468, 56179, 221, 22362, 45908, 38017, 4298, 3453, 41039, 12557, 21685, 2289, + 6762, 58315, 33753, 44846, 9774, 57922, 10115, 35370, 16928, 21313, 20458, 54321, + 14421, 9423, 19692, 35952, 11796, 6252, 65089, 61471, 59269, 17700, 44039, 8858, 662, + 39168, 17303, 52820, 49010, 39886, 56264, 32618, 9688, 32617, 9689, 2814, 21516, 30617, + 30594, 33147, 12190, 19780, 26425, 63835, 38413, 25273, 12600, 8022, 42766, 50061, + 5733, 18650, 47269, 8553, 36611, 21506, 39512, 58347, 47847, 61805, 44970, 33468, + 48499, 64833, 45876, 3604, 39105, 13538, 26802, 61195, 24696, 61996, 16997, 11456, + 46813, 32837, 7224, 39459, 24848, 46856, 25573, 5246, 64735, 17847, 51773, 60812, + 37973, 30569, 64742, 51362, 63841, 3543, 52659, 54847, 14250, 33391, 7072, 20641, + 12656, 55016, 42616, 43565, 56800, 1493, 61797, 24652, 55907, 5532, 53461, 19903, + 44623, 36532, 32089, 39741, 57241, 2688, 53093, 32414, 63268, 1351, 23288, 60029, + 24909, 5905, 26975, 46849, 60321, 59155, 40679, 29282, 56540, 6353, 32762, 19869, + 49738, 44941, 32368, 42581, 42159, 50098, 52022, 23634, 17279, 41472, 11201, 60217, + 56014, 9889, 33981, 34128, 9850, 58766, 29724, 2996, 41036, 37446, 62140, 53326, 11134, + 49879, 2738, 6517, 18826, 48340, 53167, 10943, 43884, 58785, 54595, 15510, 29762, 6926, + 63285, 20418, 46562, 52154, 54987, 33604, 30155, 13856, 42056, 47849, 26343, 49176, + 51961, 40299, 62619, 63397, 1074, 22581, 6675, 27829, 39141, 50360, 11289, 28777, + 64118, 15171, 8384, 28495, 250, 54709, 5637, 58839, 64926, 39350, 37443, 14673, 4360, + 14000, 6959, 18078, 44865, 25566, 64543, 28860, 20253, 56756, 61801, 43475, 23630, + 16599, 16742, 3570, 24661, 62584, 45551, 1005, 28218, 21891, 41677, 6694, 55408, 32407, + 40721, 61248, 49083, 47029, 60942, 46625, 8302, 55203, 50560, 52907, 19128, 60137, + 52746, 47261, 16047, 62563, 18061, 65314, 11499, 9521, 38536, 51764, 17834, 40385, + 16828, 29726, 4368, 21688, 18993, 17987, 52017, 24201, 55881, 62024, 22190, 5023, + 11703, 44682, 37818, 36746, 22504, 64529, 9744, 59326, 498, 28033, 11765, 56069, 25381, + 11864, 1783, 22820, 10557, 39237, 10122, 5684, 4799, 53039, 54132, 53417, 38249, 52703, + 21168, 51432, 38665, 52661, 52939, 62665, 49173, 598, 36447, 32956, 56100, 22949, + 57873, 40073, 50369, 43483, 31797, 32218, 16647, 33764, 26183, 22253, 15096, 30884, + 23353, 52591, 449, 6771, 17651, 63169, 11593, 41148, 9354, 29015, 45610, 54496, 3967, + 41509, 31102, 47594, 710, 59890, 10835, 56641, 35313, 60006, 22807, 35776, 65159, 2782, + 52578, 41499, 47863, 34510, 15285, 20990, 46514, 34619, 40893, 10281, 64330, 46585, + 56992, 28477, 38024, 22456, 48706, 54404, 42560, 22643, 1454, 9433, 8180, 871, 8318, + 55074, 35959, 2007, 26368, 20360, 31707, 22528, 58065, 19644, 33552, 34166, 423, 3032, + 25436, 24501, 41505, 46961, 20397, 62710, 900, 1821, 41061, 47857, 26128, 15216, 38153, + 18040, 64600, 40001, 64611, 20908, 59024, 16043, 53524, 32823, 361, 33523, 64400, + 40679, 34515, 63993, 3973, 56719, 4053, 10770, 25036, 54855, 26220, 45560, 40369, + 14271, 16604, 61859, 7493, 57669, 19840, 26245, 24530, 37188, 39443, 4018, 45709, + 43669, 6856, 25484, 25144, 16960, 48101, + ])) + .unwrap(), + c: 161, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_random_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x1a6dd659e4613869e40aaf157b34202984ed415d8e1a840e77fdca8131eee28d"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_nil_offset_10_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_10_zeroed/serialized.ssz_snappy"); +fn test_containers_var_test_struct_random_4() { + let mut value = VarTestStruct { + a: 48280, + b: List::::try_from(Vec::::from_iter([ + 13530, 41391, 39881, 12308, 13381, 11905, 39267, 629, 332, 41821, 9742, 10462, 15406, + 61167, 10985, 5611, 54368, 48876, 48964, 61455, 20572, 54870, 1130, 61751, 14110, 9575, + 15140, 47507, 59631, 37946, 20072, 20252, 18131, 26699, 55791, 33512, 1802, 50255, + 55455, 25738, 31934, 59738, 45169, 18447, 59406, 20713, 61509, 20907, 14219, 16072, + 42572, 39212, 22679, 4139, 24417, 31523, 60135, 21988, 43246, 40455, 50614, 42726, + 42872, 48321, 40444, 50772, 42623, 18378, 46246, 61550, 58782, 12227, 48443, 36507, + 24244, 7541, 57043, 16064, 5490, 64689, 60631, 49628, 38404, 59691, 62473, 53924, + 32840, 61255, 30111, 2778, 41059, 9143, 17896, 3197, 11793, 13579, 40497, 18581, 19870, + 14958, 5473, 20073, 9566, 25106, 2744, 50598, 22581, 21076, 41957, 10846, 25919, 34827, + 7766, 38093, 13801, 45753, 34461, 52994, 6476, 63114, 21495, 7933, 12245, 41953, 31933, + 43355, 65407, 7432, 17725, 25494, 35856, 24378, 5823, 25219, 34048, 57730, 60246, + 18339, 11989, 25739, 9519, 43039, 44012, 15393, 36904, 15663, 65256, 65351, 24627, + 30932, 14084, 62659, 33705, 41162, 19312, 45149, 4344, 21617, 52555, 59535, 4, 6811, + 36122, 60550, 13620, 45136, 2548, 60986, 32069, 47784, 60196, 24506, 25679, 8435, + 44030, 3956, 23259, 20837, 40040, 10653, 56553, 40480, 10498, 52829, 9116, 29933, + 41890, 22243, 48172, 52253, 7715, 26808, 4198, 4844, 53078, 24363, 55040, 13559, 58378, + 51410, 60293, 8859, 59822, 60686, 32395, 49047, 53532, 18779, 35106, 119, 23017, 44212, + 15689, 25075, 3535, 24114, 24572, 57018, 38259, 45569, 528, 16662, 20540, 61151, 58634, + 14045, 2330, 24377, 22785, 60727, 64774, 24733, 55112, 22420, 26416, 13574, 29542, + 24361, 49474, 59776, 35291, 14671, 23607, 49450, 11301, 18425, 18753, 18283, 18231, + 39672, 38310, 25340, 31183, 53786, 37479, 6797, 41096, 19128, 13060, 13077, 15698, + 27712, 45359, 21385, 59194, 52668, 18427, 4772, 53386, 61708, 2196, 3331, 4114, 17664, + 12560, 53940, 11542, 43275, 7575, 12673, 136, 61084, 53708, 2573, 507, 29014, 18478, + 7804, 6664, 45821, 6510, 23844, 36735, 48596, 57533, 47765, 34909, 15339, 59281, 10256, + 48045, 46339, 14471, 17207, 18237, 19946, 45775, 24518, 46255, 46236, 25876, 56473, + 18636, 53499, 5956, 4999, 18850, 49155, 23720, 2141, 12395, 9109, 20459, 17096, 29786, + 48986, 3079, 29917, 1370, 9173, 17738, 61951, 18952, 28690, 35099, 7434, 34928, 36727, + 73, 54200, 30261, 30499, 24397, 36814, 39826, 38918, 53707, 42483, 2985, 41320, 18550, + 10514, 49823, 64109, 6599, 56596, 26408, 49109, 54494, 34090, 32773, 47696, 26950, + 13442, 2194, 62195, 54533, 61409, 57458, 9646, 25828, 62865, 42712, 19973, 23571, + 43196, 48488, 39827, 50080, 63567, 47261, 19331, 2367, 32852, 39553, 51290, 4102, 8906, + 18956, 36467, 22170, 43518, 24413, 46440, 10143, 5516, 35147, 31223, 57681, 62670, + 44441, 52718, 36192, 58929, 25928, 1611, 49926, 38842, 63765, 37192, 30743, 33571, + 61103, 29954, 10865, 10965, 52007, 39704, 815, 29393, 14127, 8916, 17909, 33797, 34230, + 43370, 46128, 27538, 11552, 4668, 24373, 24096, 32032, 48203, 40634, 63105, 34130, + 26939, 44303, 22207, 32739, 29719, 17905, 31494, 38128, 55557, 11843, 4083, 15198, + 21052, 63378, 9459, 16658, 59693, 14167, 47869, 42294, 60229, 3867, 13358, 12337, + 58749, 29577, 63649, 22226, 14196, 16754, 60760, 14362, 22961, 33608, 31777, 57086, + 21098, 44357, 36207, 33692, 17253, 11798, 9661, 30758, 41277, 41820, 15177, 14664, + 3643, 12575, 32444, 60097, 25203, 4170, 5733, 29988, 17645, 13567, 34297, 1818, 12448, + 30668, 45585, 48759, 13994, 25551, 39381, 10841, 35400, 27303, 11079, 15965, 15462, + 65057, 29191, 55894, 7850, 11310, 3237, 57815, 18323, 59672, 59146, 22946, 10290, + 37116, 17475, 8858, 45108, 1364, 29929, 4421, 64219, 35300, 12980, 44930, 56637, 5928, + 17938, 49724, 7627, 55547, 58740, 53530, 6202, 47681, 27370, 65391, 43356, 54562, + 16933, 54397, 12896, 29374, 8839, 48728, 10553, 6048, 44816, 4605, 24109, 64234, 40706, + 57225, 30138, 49605, 37248, 10226, 61930, 50617, 38566, 25923, 58346, 9702, 33044, + 41293, 35594, 41625, 30913, 29297, 21051, 5873, 13923, 2061, 57481, 39516, 8213, 56793, + 62144, 15315, 27549, 53003, 54868, 13533, 64947, 8903, 52282, 29956, 39975, 60199, + 2174, 21218, 11937, 21706, 530, 59599, 4921, 58340, 52171, 33910, 22547, 631, 36253, + 15095, 60377, 54083, 65125, 35402, 4943, 9921, 1343, 60166, 32316, 38283, 23581, 44074, + 31221, 14343, 31018, 31867, 42885, 30562, 973, 57058, 4535, 36408, 59785, 17636, 11660, + 30557, 10946, 44416, 3445, 26953, 36874, 34520, 40647, 20886, 46036, 30360, 6630, + 43942, 38279, 6084, 43108, 20181, 42089, 52626, 1348, 62008, 24618, 63361, 28333, + 35213, 12209, 30680, 6476, 42900, 54810, 38765, 40329, 25888, 19264, 44516, 26354, + 61037, 574, 28073, 17513, 3254, 61894, 31839, 47429, 62565, 9457, 26438, 10233, 61432, + 40788, 34544, 62725, 30678, 28239, 15926, 46614, 2074, 39049, 56301, 13984, 33024, + 8272, 4258, 62033, 9687, 44566, 47166, 15678, 5919, 55232, 25962, 1064, 26830, 49646, + 31588, 48747, 65453, 38049, 63567, 41025, 5577, 5194, 29605, 3830, 61427, 62345, 3735, + 28029, 16015, 1643, 24501, 55207, 18541, 49221, 50410, 22689, 31486, 18734, 22694, + 8744, 53104, 29640, 2317, 29513, 1764, 61868, 533, 58701, 61993, 11183, 2891, 51475, + 53276, 35911, 37552, 36613, 4933, 8513, 13545, 53697, 1126, 37520, 35334, 64524, 5615, + 30478, 32778, 39446, 35466, 33408, 43814, 54346, 32237, 33809, 29042, 41456, 59503, + 42583, 29207, 11649, 3085, 4953, 6166, 33893, 11836, 1392, 57440, 33391, 20531, 37716, + 39423, 62529, 51804, 50439, 53540, 48411, 37394, 10377, 42394, 42426, 5823, 11317, + 40453, 62102, 15386, 22289, 54713, 12579, 56732, 41934, 54826, 29109, 48151, 49008, + 34856, 44555, 12839, 39054, 37853, 45968, 15058, 60915, 32157, 34705, 31806, 35692, + 22509, 31518, 16518, 62175, 10632, + ])) + .unwrap(), + c: 54, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_random_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x9e6297181610b6c462e663ecc29780c2367606e522a083d75811b5b8dd68b155"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_complex_test_struct_random_offset_7_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_7_zeroed/serialized.ssz_snappy"); - - deserialize::(&encoding); -} +fn test_containers_var_test_struct_random_5() { + let mut value = VarTestStruct { + a: 25799, + b: List::::try_from(Vec::::from_iter([ + 31598, 4940, 7630, 36358, 26249, 12856, 15530, 61074, 54691, 56853, 51121, 21914, + 18170, 21851, 49970, 54364, 17937, 13611, 64213, 13143, 3327, 41212, 34480, 52929, + 31985, 54385, 43811, 17768, 13874, 29953, 53631, 35218, 44347, 40715, 22684, 21981, + 29978, 64986, 15956, 59683, 24502, 19949, 39442, 60606, 22992, 11973, 13754, 20807, + 20338, 28779, 18363, 53039, 30261, 55862, 21023, 15210, 63416, 41276, 60670, 27879, + 45031, 63170, 38572, 38091, 37161, 8864, 16575, 25140, 40457, 42604, 36310, 59774, + 19744, 19450, 10967, 6299, 5452, 60713, 28071, 9538, 27387, 53688, 56390, 65362, 13748, + 7506, 11021, 35402, 20314, 8469, 53354, 47543, 13334, 59420, 9552, 17211, 13775, 44235, + 47653, 41784, 16724, 29338, 49992, 47492, 63843, 18646, 11749, 24628, 58297, 2835, + 38698, 2871, 13391, 19465, 39995, 21124, 63885, 50287, 34566, 38412, 53230, 57185, + 56723, 38282, 48727, 14677, 13381, 55889, 27609, 37310, 57327, 2021, 31931, 64671, + 52338, 11213, 40688, 25143, 36823, 22879, 61848, 4530, 61778, 9420, 25657, 9306, 63070, + 9620, 12950, 6277, 30536, 44263, 46488, 17984, 53863, 4475, 31078, 26122, 34104, 17331, + 22065, 63786, 49444, 57347, 32491, 10283, 17581, 41003, 45537, 19686, 9667, 11778, + 9201, 41307, + ])) + .unwrap(), + c: 141, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_random_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_containers_bits_struct_lengthy_offset_6_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_6_zeroed/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xf7fba8efac43ce0600fe8e072e363cff8dff998913af976106b02c83de1c70c8"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_var_test_struct_lengthy_offset_2_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_lengthy_offset_2_zeroed/serialized.ssz_snappy"); - - deserialize::(&encoding); -} +fn test_containers_var_test_struct_random_6() { + let mut value = VarTestStruct { + a: 64476, + b: List::::try_from(Vec::::from_iter([ + 53688, 48973, 58629, 2535, 50734, 12116, 62095, 53745, 26049, 52022, 56676, 54631, + 32042, 14196, 56909, 30469, 19594, 54011, 16861, 63636, 10939, 39418, 15810, 5773, + 17244, 33735, 40043, 50352, 61825, 9238, 19987, 45755, 56357, 27296, 15875, 35616, + 15348, 10125, 58115, 63028, 48302, 35751, 5032, 28427, 49223, 26098, 25675, 59726, + 12839, 65217, 16028, 58573, 17825, 43167, 4383, + ])) + .unwrap(), + c: 37, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_random_6/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_containers_bits_struct_lengthy_offset_0_minus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_0_minus_one/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x42f6b3f1963d18c3bca3c22c8fbb50df79b0a55b016591fb42d2e3428d9b334d"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_complex_test_struct_nil_offset_2_minus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_2_minus_one/serialized.ssz_snappy"); +fn test_containers_var_test_struct_random_7() { + let mut value = VarTestStruct { + a: 15141, + b: List::::try_from(Vec::::from_iter([ + 11492, 62534, 29650, 54155, 42383, 41747, 4722, 64781, 28665, 7575, 43451, 64198, + 60649, 65080, 30481, 20350, 555, 54139, 29652, 32621, 2068, 50399, 35141, 35336, 60963, + 54790, 42991, 63010, 25898, 36562, 22390, 61383, 737, 60181, 59369, 59664, 18944, 620, + 24499, 62519, 23843, 899, 61045, 25610, 40129, 53188, 15773, 16822, 59078, 35660, + 17975, 18177, 35999, 36333, 25068, 45479, 24058, 48489, 6432, 21581, 33765, 60791, + 30983, 43164, 63790, 14094, 52188, 38186, 36408, 32854, 24788, 50280, 43473, 14787, + 9431, 49509, 54204, 13158, 33909, 1723, 49512, 3998, 503, 47620, 8712, 21099, 13187, + 3886, 41368, 39291, 1167, 11778, 31776, 51077, 45297, 27096, 49776, 604, 25107, 31694, + 59670, 58098, 48640, 25738, 34494, 11456, 22335, 48893, 51124, 38865, 54749, 64901, + 2690, 58928, 10742, 5477, 23760, 36812, 27472, 27174, 42401, 55421, 10142, 11710, + 51903, 57988, 33169, 24510, 62967, 43560, 50759, 58756, 52983, 17425, 29663, 32043, + 11452, 9229, 1927, 57451, 1826, 42134, 46590, 57091, 52281, 58185, 25106, 58335, 41897, + 9009, 34924, 45915, 36396, 58361, 64873, 48476, 49651, 12566, 61137, 55462, 30150, + 14019, 4389, 28838, 8230, 44742, 3998, 16639, 60592, 52017, 24957, 39976, 10667, 50788, + 10386, 17062, 52717, 59242, 7305, 18157, 36353, 64471, 29693, 54452, 47924, 58033, + 55809, 20008, 4788, 10971, 5333, 3482, 50366, 24538, 5926, 33364, 20599, 22726, 16586, + 23058, 17253, 41719, 43348, 21710, 45644, 22138, 8726, 18278, 49545, 26174, 4856, + 18980, 52829, 61316, 54755, 52387, 547, 42381, 52940, 45486, 45221, 47272, 33976, + 55255, 64271, 45639, 34992, 20289, 32179, 60967, 4831, 24867, 30900, 51068, 51180, + 18895, 14927, 50714, 60369, 26178, 36562, 50371, 32112, 33435, 49200, 19207, 63908, + 4719, 23431, 42143, 31561, 52266, 63902, 43408, 20806, 29202, 43171, 2965, 37781, + 34174, 13194, 3809, 28446, 12793, 41574, 63759, 39184, 1511, 60581, 20365, 10171, + 56885, 62303, 62419, 1784, 42802, 47183, 32218, 60120, 12772, 32106, 52623, 45977, + 60956, 7417, 17576, 52239, 39073, 8323, 19153, 13998, 41076, 5947, 61408, 49315, 46038, + 261, 13569, 33734, 39354, 3214, 1415, 29150, 35761, 29100, 6532, 15563, 7411, 31732, + 10962, 2230, 24119, 54489, 41040, 20960, 32790, 11001, 37776, 14676, 41629, 34703, + 65470, 36146, 28409, 29239, 7533, 49880, 50145, 21576, 15064, 52685, 18777, 38920, + 39789, 18249, 35922, 5120, 17338, 45878, 16853, 45834, 33349, 15022, 12205, 51928, + 32362, 60661, 46068, 51503, 29739, 14495, 33225, 7330, 55026, 48141, 46474, 51413, + 6204, 60291, 56725, 13734, 54630, 49359, 15864, 18765, 53931, 33278, 61242, 52695, + 36214, 2238, 28984, 61680, 56467, 4126, 31773, 24428, 768, 3157, 28140, 43695, 36472, + 8674, 36615, 42024, 38150, 51941, 46819, 5331, 42260, 17174, 2717, 3694, 15186, 13635, + 45771, 41472, 40979, 26855, 45352, 35254, 7064, 15687, 17205, 57566, 2125, 56098, + 28480, 32707, + ])) + .unwrap(), + c: 227, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_random_7/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xfdec9924b0923e29f38cef674bb14550bb6ae3ad82afa514c8f0f9fd5b9f1501"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_lengthy_offset_10_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_10_plus_one/serialized.ssz_snappy"); +fn test_containers_var_test_struct_random_8() { + let mut value = VarTestStruct { + a: 27146, + b: List::::try_from(Vec::::from_iter([ + 22447, 64070, 3185, 62696, 47496, 19881, 59400, 35567, 8927, 12773, 18897, 10230, + 64382, 59300, 18831, 59520, 9367, 47402, 6761, 8006, 22245, 16016, 13486, 6282, 23492, + 51927, 15216, 47571, 37250, 41454, 63626, 38860, 62393, 61579, 38901, 18485, 26811, + 9006, 16865, 61638, 60728, 61196, 27714, 10173, 46074, 38945, 35079, 60651, 19970, + 31751, 11585, 25248, 60548, 4715, 41360, 1418, 63052, 44162, 34875, 39425, 30674, + 10083, 35543, 28810, 13258, 54905, 51912, 42064, 42086, 35617, 63924, 37847, 35858, + 16198, 52392, 15619, 56332, 56708, 7220, 58504, 47340, 50459, 8003, + ])) + .unwrap(), + c: 87, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_random_8/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x2b40e3ede4edeb7bd1809b6b360acd0929eeea5556de2886b75b946058eccf94"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_complex_test_struct_lengthy_last_offset_11_overflow() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_last_offset_11_overflow/serialized.ssz_snappy"); +fn test_containers_var_test_struct_random_9() { + let mut value = VarTestStruct { + a: 36289, + b: List::::try_from(Vec::::from_iter([ + 15770, 34869, 26310, 3628, 24227, 36802, 9331, 13524, 8151, 1295, 18640, 24073, 3542, + 47222, 15379, 49690, 31549, 2507, 53458, 64468, 25758, 49504, 64229, 3740, 39967, + 28550, 3550, 6921, 65195, 54891, 28559, 41353, 13795, 52666, 64543, 30565, 45021, 7635, + 13316, 55848, 35206, 41794, 41064, 28906, 53686, 15265, 46524, 24718, 53773, 42436, + 53160, 52479, 56223, 8179, 59380, 52392, 54755, 19878, 14302, 53916, 31155, 26664, + 48267, 9328, 27011, 8710, 46885, 5051, 17694, 30649, 53056, 655, 25365, 6594, 573, + 51459, 35850, 47644, 64232, 62783, 54844, + ])) + .unwrap(), + c: 17, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_random_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x496d0493780bb91c6ced1e11510a1e2c494ac1eb16e3bf293dfdadaf834958c7"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_random_offset_0_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_0_plus_one/serialized.ssz_snappy"); - - deserialize::(&encoding); -} +fn test_containers_var_test_struct_random_chaos_0() { + let mut value = VarTestStruct { + a: 20024, + b: List::::try_from(Vec::::from_iter([ + 50415, 14691, 1540, 5555, 46426, 5084, 61089, 64926, 6761, 37513, 65376, 54489, 38631, + 64061, 33211, 39189, 28466, 1332, 1554, 60180, 62555, 38396, 26765, 43012, 62762, + 30589, 48460, 10895, 56421, 25159, 29698, 17067, 8678, 12472, 47725, 3749, 47570, + 50091, 22530, 23836, 43479, 19416, 11628, 22769, 60042, 34077, 35784, 47253, 43942, + 9772, 34212, 2378, 12489, 26474, 16528, 16533, 43136, 46743, 65159, 7834, 30141, 32596, + 3266, 49003, 43483, 62933, 47066, 37184, 33265, 46946, 16943, 27682, 45667, 19897, + 54706, 48836, 34148, 32396, 36028, 48912, 13886, 38639, 46992, 20723, 47781, 35465, + 10823, 57601, 1941, 34947, 38289, 22401, 54022, 28605, 51426, 19729, 40588, 61870, + 54391, 64232, 57285, 51301, 19758, 31126, 44410, 30930, 6313, 49138, 12903, 16322, + 51595, 31209, 11794, 46535, 5848, 37369, 63523, 3558, 35933, 22237, 142, 43778, 35821, + 42856, 51226, 19815, 39110, 15431, 16405, 44153, 29090, 51086, 9234, 60264, 17812, + 6344, 34303, 23311, 60750, 58033, 8395, 8180, 32722, 53750, 36287, 62570, 64602, 59705, + 57045, 61207, 54829, 3065, 46226, 1560, 53855, 22350, 29676, 3772, 25197, 13154, 59467, + 63930, 40048, 24310, 40208, 53189, 25532, 64791, 22454, 22972, 28653, 53351, 14018, + 8485, 38100, 27994, 59238, 22096, 24263, 38404, 11698, 21448, 55749, 28552, 46457, + 52657, 16404, 37052, 50241, 13786, 62506, 16093, 37386, 32616, 38524, 57914, 48661, + 63601, 37180, 51208, 43958, 9767, 49984, 17679, 62702, 53779, 34764, 13121, 4593, + 19616, 41995, 47601, 7371, 36543, 25749, 25398, 43312, 20832, 23673, 62253, 26121, + 19417, 63338, 54080, 31067, 36783, 53706, 15264, 43824, 8798, 1952, 11873, 20518, + 48107, 37712, 18823, 44531, 46339, 56137, 12002, 11276, 46426, 745, 30352, 63135, + 23485, 24990, 32430, 22503, 41411, 8230, 60485, 22404, 47756, 53641, 49979, 2305, + 52034, 14948, 61653, 16465, 4249, 53323, 44208, 34030, 18885, 42284, 34426, 19697, + 25183, 18643, 7019, 16287, 44307, 11976, 61967, 58819, 4939, 30951, 15373, 6681, 51867, + 57236, 12452, 20489, 36178, 9375, 7957, 47229, 55450, 8476, 41892, 57441, 12676, 48849, + 55509, 16823, 14713, 37583, 3906, 27984, 6103, 11146, 41422, 33991, 36998, 28722, + 61620, 58500, 20239, 24700, 30944, 39324, 35678, 31245, 25501, 36776, 15269, 61951, + 25986, 10284, 21690, 19371, 27076, 6103, 15133, 32848, 33510, 29715, 10221, 55405, + 3326, 59714, 35267, 54121, 14463, 10658, 55319, 6384, 33895, 34788, 52269, 20990, + 54147, 25851, 37671, 2646, 58811, 32270, 12865, 5745, 22231, 37592, 24683, 35713, + 64178, 64745, 49797, 57194, 8938, 42369, 40919, 64981, 11992, 40631, 51280, 36044, 724, + 15176, 58869, 25607, 58137, 11295, 29772, 29624, 6228, 47820, 3888, 23260, 39392, + 35103, 60755, 3966, 63797, 15225, 61318, 15584, 28410, 54620, 36110, 8688, 44187, + 37597, 6195, 9016, 31273, 47347, 35568, 34638, 37937, 34637, 6290, 50656, 32033, 7226, + 42194, 39106, 45405, 21693, 16092, 41532, 30354, 20101, 54807, 2857, 25225, 59120, + 37677, 30770, 45447, 33102, 2848, 54737, 12462, 36100, 50324, 32606, 63236, 7644, + 34225, 12352, 9901, 19945, 58161, 9105, 30544, 11124, 4259, 35668, 26545, 38872, 2871, + 61528, 49217, 51832, 55311, 4775, 50206, 49568, 31800, 45043, 28182, 40021, 50302, + 54351, 58711, 9749, 15995, 41126, 7720, 26837, 13746, 364, 55098, 41456, 51557, 29385, + 47218, 20570, 41640, 28159, 2841, 31752, 10013, 21995, 3842, 19470, 28675, 3690, 7284, + 16943, 33767, 8536, 22033, 201, 58904, 23344, 34108, 62412, 56907, 4172, 36785, 42715, + 271, 62652, 44814, 19038, 7976, 48004, 41031, 46609, 44951, 4872, 10378, 18930, 14129, + 11708, 11881, 59959, 32809, 58896, 53672, 985, 23235, 1280, 11370, 22538, 39351, 6452, + 15922, 48776, 56179, 38162, 53453, 52079, 797, 19863, 56261, 10791, 61504, 26444, + 62127, 55636, 64896, 29736, 14065, 33222, 59271, 5846, 42300, 12082, 30435, 64814, + 52029, 6635, 53123, 52479, 46922, 24994, 31630, 8396, 59423, 28572, 8290, 23912, 31492, + 23390, 40482, 1652, 65141, 34382, 54280, 60472, 19746, 55493, 7333, 61742, 5987, 55969, + 38802, 14359, 9375, 5217, 23375, 52290, 26364, 14036, 4643, 1013, 42628, 25715, 5971, + 8893, 54207, 46675, 38028, 52655, 45932, 9822, 20493, 61674, 46519, 19780, 12653, + 23509, 42351, 61998, 28007, 13971, 51891, 21116, 56354, 52227, 59588, 34446, 14469, + 37872, 53026, 18392, 61418, 57965, 62668, 8188, 42144, 47393, 26705, 9921, 11523, + 56812, 19431, 50364, 9013, 29260, 44454, 65216, 40307, 1063, 43485, 60618, 45733, + 51501, 28449, 16594, 10928, 47410, 21681, 31153, 30097, 60080, 49023, 52491, 3945, + 57808, 54839, 36504, 35123, 30218, 58562, 30454, 37844, 54997, 513, 56026, 64204, + 38384, 49152, 40185, 6928, 16068, 56296, 53210, 23605, 38802, 49598, 47446, 31348, + 31550, 46591, 62197, 2669, 20287, 57718, 36655, 27269, 51400, 48442, 27975, 46763, + 10527, 50308, 42448, 19874, 18138, 51635, 58006, 38255, 51009, 62755, 14112, 35672, + 27854, 43031, 36589, 59735, 62582, 28040, 51998, 11989, 37834, 41908, 48241, 13171, 96, + 38848, 58155, 57830, 41327, 50369, 7856, 1473, 39120, 14950, 19766, 710, 35895, 63926, + 53754, 44439, 50890, 23436, 57338, 35649, 45566, 35096, 1123, 58337, 7029, 16698, 3943, + 1713, 15092, 18684, 28021, 22657, 34189, 25908, 5271, 45891, 52860, 22869, 8127, 26735, + 13878, 727, 51438, 32697, 23508, 33799, 19428, 15029, 32220, 63704, 51499, 32641, + 17782, 2682, 19613, 13697, 22936, 41355, 44057, 12931, 52143, 47752, 25775, 11560, + 16993, 55556, 3832, 27532, 4162, 57769, 7650, 14678, 56498, 12020, 32406, 41742, 45746, + 5239, 6406, 30538, 55791, 17912, 51183, 15024, 28913, 13700, 53146, 63430, 10696, + 58921, 33252, 24965, 50473, 53123, 59450, 56274, 41362, 56632, 64041, 22895, 21444, + 51595, 18083, 48767, 42830, 48904, 61484, 65024, 12885, 52640, 58779, 6173, 40261, + 9293, 62461, 16776, 18227, 13724, 16066, 50851, 59257, 19984, 61413, 33282, 12569, + 4993, 19577, 3057, 62153, 35490, 47457, 27443, 63944, 54061, 10348, 8850, 34907, 38465, + 20042, 38176, 42568, 6996, 6428, 47410, 56918, 34974, 34814, 7407, 14701, 19761, 17527, + 50845, 2668, 37404, 3025, 22121, 8684, 2157, 15368, 12666, 11467, 4879, 54456, 48970, + 36708, 46073, 28929, 3798, 36198, 6881, 24540, 65443, 25335, 10305, 41671, 4972, 59362, + 8608, 26819, 17, 51407, 38436, 17656, 41545, 47542, 47180, 53891, 41076, 15263, 15977, + 19388, 12888, 47317, 25290, 30845, 5782, 11387, 27731, 52330, 50002, 7994, 45787, + 60505, 49357, 41204, 3012, 59708, 15620, 24226, 11859, 58417, 56933, 46387, 36134, + 26079, 30691, 60054, 10899, 100, 16926, 6627, 46467, 19482, 37558, 17398, 26372, 61721, + 61304, 4540, + ])) + .unwrap(), + c: 245, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_random_chaos_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_containers_complex_test_struct_one_last_offset_11_wrong_byte_length() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_last_offset_11_wrong_byte_length/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x686b4990347887370f9ad5116ce942ea8bb7f752a959fcee547af5655075a358"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_fixed_test_struct_extra_byte() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/invalid/FixedTestStruct_extra_byte/serialized.ssz_snappy", +fn test_containers_var_test_struct_random_chaos_1() { + let mut value = VarTestStruct { + a: 62039, + b: List::::try_from(Vec::::from_iter([ + 23305, 29806, 56403, 51159, 2516, 49207, 25302, 92, 55514, 1548, 27014, 11520, 30196, + 37538, 31936, 4170, 54538, 49756, 39614, 5655, 22246, 43174, 49261, 15409, 6017, 34293, + 57675, 14097, 32155, 47852, 9845, 52370, 37341, 58193, 50988, 54728, 42747, 25560, + 11299, 13677, 49172, 34338, 25735, 14683, 38457, 17143, 57318, 8683, 63929, 7318, + 45269, 46739, 50608, 58441, 53917, 58946, 43835, 44441, 44329, 14754, 60228, 62067, + 14042, 51499, 21679, 8322, 59021, 4108, 49051, 3704, 35024, 21760, 54230, 55030, 9325, + 64360, 36233, 6436, 32642, 4879, 56628, 40984, 22671, 15822, 54311, 16463, 19669, + 55702, 191, 59734, 62741, 44262, 26365, 35071, 44455, 12573, 55715, 53450, 5334, 18525, + 37769, 2641, 1150, 6047, 44286, 17947, 44572, 45924, 56304, 46005, 40936, 56665, 26196, + 38098, 44702, 34512, 10041, 22434, 17178, 49566, 52258, 18778, 52824, 47810, 28277, + 47104, 5505, 6843, 14303, 5732, 48941, 54184, 36910, 61431, 57474, 7646, 34456, 35558, + 30451, 28747, 64255, 19512, 5446, 11568, 63813, 11175, 52559, 37335, 27316, 49941, + 26232, 35770, 32313, 49532, 17577, 48934, 32463, 51678, 34366, 34884, 58012, 17700, + 26986, 10791, 28505, 26477, 58616, 12709, 52074, 45059, 61217, 34157, 3688, 37652, + 5676, 40798, 55503, 20594, 56459, 36929, 34576, 4774, 20760, 967, 42303, 32420, 40499, + ])) + .unwrap(), + c: 92, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_random_chaos_1/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_complex_test_struct_lengthy_offset_11_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_11_plus_one/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x7212d68f58c159cfebacb824dd52394ae2e2817dd1eae1f3249c5dfadc88fa35"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_complex_test_struct_one_offset_2_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_2_plus_one/serialized.ssz_snappy"); - - deserialize::(&encoding); -} +fn test_containers_var_test_struct_random_chaos_2() { + let mut value = VarTestStruct { + a: 56424, + b: List::::try_from(Vec::::from_iter([ + 14923, 5692, 42866, 61765, 4524, 40147, 49185, 62818, 16625, 13626, 26774, 26803, + 27596, 7960, 33695, 64432, 57196, 57270, 58176, 61600, 53363, 27678, 55705, 55519, 99, + 61383, 30970, 56502, 42545, 5930, 30494, 5507, 7084, 1879, 52535, 37062, 52431, 9370, + 44427, 28161, 55314, 34557, 20893, 25736, 5799, 15607, 32615, 63064, 42958, 4591, + 63902, 61997, 18283, 8868, 56569, 10716, 49303, 16470, 35770, 18456, 22101, 59922, + 5112, 16222, 9475, 2909, 53670, 14946, 9470, 29043, 6466, 42784, 54249, 51930, 53120, + 49553, 40009, 62722, 15442, 39885, 47715, 31420, 30392, 59441, 49844, 30511, 60938, + 24123, 37496, 60799, 39564, 41712, 46779, 27229, 33936, 34677, 34317, 3524, 61643, + 64379, 41330, 38164, 55130, 1863, 25732, 28989, 49648, 57163, 44576, 19832, 35293, + 28298, 28054, 30960, 63728, 63386, 64191, 16214, 53783, 42818, 14406, 58212, 4450, + 12448, 28328, 1525, 59012, 3222, 27943, 26956, 51734, 16261, 48885, 10425, 32547, + 27503, 48787, 61339, 56655, 35114, 48615, 50238, 54306, 35846, 46318, 21347, 35973, + 28551, 29932, 1210, 33034, 38597, 32462, 52056, 55890, 27690, 57732, 27173, 27704, + 54492, 36064, 50832, 28574, 50842, 5328, 14306, 55779, 49080, 47166, 41079, 22171, + 17880, 13494, 40666, 1033, 41469, 53527, 11442, 60101, 6853, 51301, 20698, 60179, + 13770, 44646, 18935, 6613, 6065, 20647, 13032, 3082, 1807, 2462, 13790, 38100, 51950, + 5549, 26563, 65532, 45091, 17302, 25886, 19272, 17176, 48484, 27932, 4411, 26989, + 52117, 40255, 48837, 4549, 43056, 11717, 4213, 13597, 18234, 44020, 23535, 27845, + 37440, 45023, 41171, 11738, 9492, 65076, 44029, 26722, 16406, 38258, 20273, 59229, + 61837, 13718, 22651, 29205, 58345, 25080, 51116, 41205, 7082, 58487, 47213, 59964, + 54195, 34052, 12593, 7040, 23308, 15232, 55712, 36564, 46983, 61371, 56295, 20614, + 18532, 44867, 64237, 2879, 52724, 19375, 33835, 45323, 21348, 11045, 5764, 7128, 65493, + 16173, 4336, 34064, 15351, 59268, 46550, 29691, 55782, 11758, 31160, 62671, 51828, + 41478, 38046, 64362, 52586, 34516, 34317, 38339, 39417, 7111, 51712, 44259, 23120, + 3386, 57500, 31109, 4932, 7691, 19250, 62704, 35731, 16459, 34235, 46133, 25305, 65099, + 28075, 61760, 33544, 845, + ])) + .unwrap(), + c: 237, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_random_chaos_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_containers_var_test_struct_one_last_offset_2_wrong_byte_length() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_one_last_offset_2_wrong_byte_length/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xafc6aa81f584fba24b6c7a0fa73bd1b3bdb09a75dab31d111b62bc9e9850cfae"); + assert_eq!(root, expected_root); } #[test] #[should_panic] -fn test_containers_single_field_test_struct_extra_byte() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/SingleFieldTestStruct_extra_byte/serialized.ssz_snappy"); +fn test_containers_var_test_struct_random_offset_2_minus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_random_offset_2_minus_one/serialized.ssz_snappy"); - deserialize::(&encoding); + deserialize::(&encoding); } #[test] #[should_panic] -fn test_containers_bits_struct_nil_offset_6_zeroed() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_6_zeroed/serialized.ssz_snappy", - ); +fn test_containers_var_test_struct_random_offset_2_plus_one() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_random_offset_2_plus_one/serialized.ssz_snappy"); - deserialize::(&encoding); + deserialize::(&encoding); } #[test] #[should_panic] -fn test_containers_var_test_struct_nil_offset_2_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_nil_offset_2_zeroed/serialized.ssz_snappy"); +fn test_containers_var_test_struct_random_offset_2_zeroed() { + let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_random_offset_2_zeroed/serialized.ssz_snappy"); deserialize::(&encoding); } #[test] -#[should_panic] -fn test_containers_bits_struct_random_offset_10_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_10_zeroed/serialized.ssz_snappy"); - - deserialize::(&encoding); -} +fn test_containers_var_test_struct_zero() { + let mut value = VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_zero/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_containers_var_test_struct_lengthy_offset_2_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_lengthy_offset_2_plus_one/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x7b7591e4bc71e165eadd3cab254795eb03ce695be7e531a9e601bc3327c3fd6e"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_one_offset_0_minus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_0_minus_one/serialized.ssz_snappy"); - - deserialize::(&encoding); -} +fn test_containers_var_test_struct_zero_0() { + let mut value = VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_containers_complex_test_struct_one_offset_7_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_7_zeroed/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xec783aab2c6fdf1e39982bb3cb77c0ec5fe4d587519d26a1554bd129c1bff962"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_one_offset_10_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_10_zeroed/serialized.ssz_snappy"); - - deserialize::(&encoding); -} +fn test_containers_var_test_struct_zero_1() { + let mut value = VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_containers_bits_struct_one_offset_10_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_10_plus_one/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x00d6017fcaf6ea8e4d6c6d6ab21149d938ab96ae3452ca5ab88eb553a71b9075"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_var_test_struct_nil_offset_2_minus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_nil_offset_2_minus_one/serialized.ssz_snappy"); - - deserialize::(&encoding); -} +fn test_containers_var_test_struct_zero_2() { + let mut value = VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([0, 0, 0])).unwrap(), + c: 0, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_containers_complex_test_struct_nil_offset_2_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_2_plus_one/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x24635e0d491ca51baf0883d3e8b61f7684db971a9608fd4fb5b51a97257f976d"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_complex_test_struct_nil_offset_2_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_2_zeroed/serialized.ssz_snappy"); - - deserialize::(&encoding); -} +fn test_containers_var_test_struct_zero_3() { + let mut value = VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_3/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_containers_bits_struct_lengthy_offset_0_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_0_zeroed/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x21a89163d6419cf2b1b80f4371602341016505eba8a183eebac76841fc29a77d"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_complex_test_struct_one_offset_11_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_11_plus_one/serialized.ssz_snappy"); - - deserialize::(&encoding); -} +fn test_containers_var_test_struct_zero_4() { + let mut value = VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_4/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_containers_complex_test_struct_one_offset_11_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_11_zeroed/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x95043ab51c19af41709a41bcecfe6b3efafc1eacf1ac3ea4185c0d26f175584f"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_complex_test_struct_nil_offset_11_zeroed() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_11_zeroed/serialized.ssz_snappy"); - - deserialize::(&encoding); -} +fn test_containers_var_test_struct_zero_5() { + let mut value = VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_5/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_containers_complex_test_struct_random_offset_2_minus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_2_minus_one/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x4929401717bbb72c80a54a7d31d9fe75e36091585a2c188fa9f4a278cd28f504"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_nil_offset_0_zeroed() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_0_zeroed/serialized.ssz_snappy", +fn test_containers_var_test_struct_zero_6() { + let mut value = VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_6/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x3c372594973b1e993a874e3a1fab6960e517050b60fbeab2baa0dc4cfeba15fe"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_complex_test_struct_extra_byte() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/containers/invalid/ComplexTestStruct_extra_byte/serialized.ssz_snappy", +fn test_containers_var_test_struct_zero_7() { + let mut value = VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_7/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_containers_complex_test_struct_random_offset_7_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_7_plus_one/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xee2e89616ef26de2d2dd166f7b5aaa1c7f75cf467cb94cb2e578e41d5c4922a0"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_complex_test_struct_lengthy_last_offset_2_overflow() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_last_offset_2_overflow/serialized.ssz_snappy"); - - deserialize::(&encoding); -} +fn test_containers_var_test_struct_zero_8() { + let mut value = VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_8/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_containers_bits_struct_random_offset_6_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_6_plus_one/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x9c0af32d7d42da4c4cf3141012d144cc47fff337f7a6d8dbcc8ea41b9166c856"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_one_last_offset_0_wrong_byte_length() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_one_last_offset_0_wrong_byte_length/serialized.ssz_snappy"); - - deserialize::(&encoding); -} +fn test_containers_var_test_struct_zero_9() { + let mut value = VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_9/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); -#[test] -#[should_panic] -fn test_containers_var_test_struct_lengthy_last_offset_2_overflow() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_lengthy_last_offset_2_overflow/serialized.ssz_snappy"); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xbb7ea01c4c68bbaf1df07124552e34c661e2bd157ca71b6529c92f5feea448a2"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_random_offset_10_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_10_plus_one/serialized.ssz_snappy"); +fn test_containers_var_test_struct_zero_chaos_0() { + let mut value = VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_chaos_0/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x6d78c67e92d89d5fa157efbff423b287f4940a3bd4e7c7b3800624c42ad10ac6"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_var_test_struct_random_offset_2_plus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/VarTestStruct_random_offset_2_plus_one/serialized.ssz_snappy"); +fn test_containers_var_test_struct_zero_chaos_1() { + let mut value = VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_chaos_1/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x037ec5030f962590e3fbdb61d5614e93129138f4fdf5a380dbca64d2a4ac7810"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_containers_bits_struct_random_offset_0_minus_one() { - let encoding = read_ssz_snappy_from_test_data("ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_0_minus_one/serialized.ssz_snappy"); +fn test_containers_var_test_struct_zero_chaos_2() { + let mut value = VarTestStruct { + a: 0, + b: List::::try_from(Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ])) + .unwrap(), + c: 0, + }; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/containers/valid/VarTestStruct_zero_chaos_2/serialized.ssz_snappy", + ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); + let recovered_value: VarTestStruct = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); + + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0xe0021bb04ff4cbf7fdb8ce02d79ed8295dedafb6f1b44a30a500cc97d800e36a"); + assert_eq!(root, expected_root); } diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_extra_byte/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_extra_byte/serialized.ssz_snappy index 391e77f3dff1f88df4753a15331621c13a6418ca..9cee92248f25a4cb9bbe8a4d55cdf032d6d13a29 100644 GIT binary patch literal 16 Vcmd-x;bvf9U}WF{lC7%M{{abj0)GGi literal 16 Wcmd-x;bvf9U}EF}lJjjV{sRCCH3F~z diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_last_offset_0_overflow/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_last_offset_0_overflow/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..ae4eca7694874f68ef75c94036b458f965242bd8 GIT binary patch literal 17 Wcmd;M1& literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_0_plus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_0_plus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..5587f2afaf10464fa5373ed8ab9872140d16e0e4 GIT binary patch literal 15 Tcmd-z;9+23U}gl71!}PX27Uoe literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_0_zeroed/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_0_zeroed/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..d937c6dd5d351d542a1b3580c292842549ed942e GIT binary patch literal 15 Tcmd-zU;qL}1|A@JTrnH~2E74_ literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_10_plus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_10_plus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..efa7aaa1001d68b14b9ee0b2158d82d31ae13863 GIT binary patch literal 16 Tcmd-x;bs5<9w7c>U(Wyl3ZViN literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_10_zeroed/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_10_zeroed/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..9da47c0769e25938e105a55cf94fcdcdc371f743 GIT binary patch literal 16 Tcmd-x;bvf9U}WF{k{|#81pokB literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_6_plus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_lengthy_offset_6_plus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..0c72901bf81e4c86b22199857f408854497c08f6 GIT binary patch literal 15 Tcmd-z;AQ{v*MjjxsnUN6y25bQe literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_0_plus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_0_plus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..3341b3bc22f839a0f4009746019917aa4df00778 GIT binary patch literal 15 Scmd-z;9&p)Mi3dx$Or%hgaEbx literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_0_zeroed/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_0_zeroed/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..42997d570de38e53f3088b7a073bb2e21a66b836 GIT binary patch literal 15 Rcmd-zU;qOiAlb>t2ml3S0M!5h literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_10_plus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_10_plus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..1f8e358a96bfc0727c1f9d63305e1bf548187cb9 GIT binary patch literal 16 Vcmd-x;bvf9U}EF}lI4ty3;+i70M-Bi literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_10_zeroed/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_10_zeroed/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..49cee18b25b798110a811af3fdc974eef40ce94b GIT binary patch literal 16 Rcmd-x;bs5=Mjj9e1ONp809yb6 literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_6_plus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_6_plus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..81d8c63c6a5f17dc1d4613b87a8584ca437b0f1e GIT binary patch literal 15 Ucmd-z;AUW8U}WS4k}DY*0S0RU0{{R3 literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_6_zeroed/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_nil_offset_6_zeroed/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..9f54a7a92f1b2a5395060881f9031d1b9d7170f7 GIT binary patch literal 15 Scmd-z;AQ{pBG literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_one_last_offset_0_wrong_byte_length/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_one_last_offset_0_wrong_byte_length/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..2965361299d0c978729d058eb03b32cf86f0f11e GIT binary patch literal 16 Vcmd-x;bvf9U}WF{l6K5Y+yDj;0I2`~ literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_one_last_offset_10_wrong_byte_length/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_one_last_offset_10_wrong_byte_length/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..906617aa0f9a8253d1f1715615b8550314b9ce78 GIT binary patch literal 16 Vcmd-x;bvf9U}WS0k`tJixB&-V0Q&#{ literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_one_last_offset_6_wrong_byte_length/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_one_last_offset_6_wrong_byte_length/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..c380888fe2d4a3d95751c1a6d40d8ff3bd9b00d6 GIT binary patch literal 16 Tcmd-x;bs5<9w5HS#LNu<2yp>J literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_0_minus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_one_offset_0_minus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..306a922b5361d82aaeea14fd3f94c16c808d695c GIT binary patch literal 15 Ucmd-z;9_84U}E3_lIhG$00ox-!Tv)9w6Ro8VdjiE&-bW literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_0_plus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_0_plus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..2bb1ca444bbeec744dc42e35b66809a8edaeb312 GIT binary patch literal 15 Tcmd-z;9+23U}ON1n+%u$2IB!c literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_0_zeroed/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_0_zeroed/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..df411efd87efc87f8b50f1dfa78fbcea984864c3 GIT binary patch literal 15 Tcmd-zU;qLp1|A^!l~D!&2Gs#x literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_10_plus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/BitsStruct_random_offset_10_plus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..2c3fb16ef61361fde2b50c4f7d7654c1933d9d27 GIT binary patch literal 16 Vcmd-x;bvf9U}EF}l9RrpU;q?NSgaQa-e-HbP_gxmluOj>XG(N3IG7@+^R>xM_QX9Yr2_3s+eW-3{V*- zSSW{=>jsy&m~Y>!cY|_I;}^IQL-kfY?Uf`uH_wQ`5GF@w-)kauM;Uuy&{7;fd>KZF zwW;t99v`jvS386$R7$i-XjWMOml;GnV~tJ zW;tC$G-a!DGUkCsXR^AXJz(i9m0zn*0UfSOAOKr(rID*(tUZ3NI!K|LbF82jUl<;% zii#$`3NDd|SBqgYtU>m(Ko%B)%7J@dnO*d}ifI!nD+nKaisi zd7Cd-guQXt_57-|o0Vlh)DALgLd31`ej$?58VZIq66BI#^(i8gqL~rd1#-K%jB`lG zx1Ilqj|s)#9eT`dK{AqLgAx4khU{7VLEh%5OYO!+(S{62myz-CBUg`R(x@DarpO6CM4pB;-#{KgJEQ7sB53^~YPC7#b`!$)!vY)lc2Ys^Wp$AT z=4SRIJq$zjal27BLLro`LL$p!T@&_MT5h)Rdb8v~tVw@0CxACH?E7Xq+?&sB;!x9j z=@r$LrVx?dk1JicY=ebTlFP%zTm|Wc7q1ms3L(fPT^YOI4z|XK>EQV_7nOQD5x#fQ zn?12s`z{lTAL>nvP`#-k6D$t&##JCMnj;Z?=gFFYQnw?Ift#I#?U8za7amE7hpt38 zL9ED%<9JXu>vS58GL)X(T#aWZVI(G^lVME$nl}?>Mu8o(0lqpZZR&v}0gxzHWC}2q z;P1;N3#K7?n)cQasuHj$On8kYl?hY}Qi*q=lV^e2UFxf)^Gns?SP$Q{UEz?R_znd> z0?TV}(asBzfc0^j#WjG|nb!r0YMIR)FM5TS?#oGu7NJ~GmqJBEuwP6v2YCJ@ zNvm6n*cQo0NtU>m+ZanSMdYSbmSrxw^QtIZ^aSQ~88eC7_tXFkgGrwiNyt~x9ZeEt zWW&=M@~zL~6|CNmB(T}9E(Zz z?p?vBts@DZ@cQp@{USQ4MLg;-+gS6xQx&#qJVaWY!r!*l?;%G#XV3=qHbSHDG;R71 z9BL6XYirpq>dv%qLLEHYx!tL|A)O3n)RTWW&WphE)sE$Ueh3+sxOSKwA zF-b~aB4MJfDirolCh}X3EG9d5FQy3mpOp-HDPLYjwe?3 zi{vpAnv-mJv@a3`wxxcyEhiOx>oEx7A7rPpVTl;2?)yWs@nr85PB*OxZ^c2Kbtl;x z((yq3`(vtb!-e2l(TgRxNlc0^6T^IENV*Uj3>?yQ3)64{v82yX%4n@Od7?aOc) z6UMPRl6GS3WEv_>Nwx(zm^Aum#+PeZFjM>nsSL^dzL1wjc$b|xvUFSuThJk1!{qFjgg5R0BC=&|Py(W!72o_vVJxT|S5!$GuhSqx8gW%W(VfwE z)#Pt$s46CZ46a~Gx_LJiwyP%AdYK0Jx{KPRS816nR6tAT=Sy*zWZPF?i9zjrTO>#9 zH%bk}(@khL6YSS0rijRoN!@0ByQnx4luv#YbAte+LhpqVO>ORgxs!f&GjR(&F^TDQ5OZ>zfChTRK|0b5JjIFt znQ^=yo|5fE8GbB~9MI1xk&c4&_mMDzrK>>9XG$rH60p$IM>gH>T+94RGWC{HW8c|u z8Lq&%!Jf|=UG=P=U*cD~h$k2JjXAR69jqL>$G4_(+)I?Q|3cvq0l3D<)ue?cgqHtT zy2gy55`#R2d0f{o$wqwgKnw6Ps5+gE<02*R(l(l|j5b4%G7=?Ar)~~)fW^tbHYf-xQZKNyQ zmD_UNaut@tX!^~=_CyOAE%JD8y|E61{X@BT^fSOX=%D?|{6jYGJ!);!djo57x(_`1 zo_GzC0t@n#y4Cc*hkJoBkczAii(KKX7du-U!6yFZAq{krv$GWf?dK~P9j@=Y^X>=$ z000jN007}22LJ#7k+>m*jvw(6UxLfkv0lEHAB$pmVGQdDP}H#t7>)5$E|>Wvs-Yd^ zbT0cDyVSny+t5~JDK_Ba!byP;7q)018yk1eLlZ_6bA|GY83A?ymKaK4k3pPIcZVu;e`@8&CPS#S&+XZNYdg^#r_tNJOQWpDzoWuokqcM^afx#j*FH_B~es3 z&-u0Z=61HOb=O1caX&rjRuWh?KRHbLNHpgwVUH-%1aleC5UAvot&{Ek*q81;(kDvL zNrCy#=+gws3zHA}6#jrtK21!y27oXEx}TyIp*?YC-NbIgON!sVvGnF}T=Hvri+hA5 z7sQ36b49bbiq2;?P2q0ryQfCn$^>SUxPO)ocBQM@O;yC%wYTOXpz%E_+(e9-{tEC2`>yjBeuB361M3qP%%uo8~H9y!C=&Ni|7hz!qfoB{Af6ux`j(@Y4LY8})U}oiB@H@78nQv0hzJRB5A5w~BYRvvE^&DL=~j@ZY_y@nRUt6HwFn@LZ%)JsMgQRsTd ztm8!k;oN5by3>uBy$7X~1H*jH`*d8bPcm(SgCT$OZaM)TZ>oe5GQ40Sp}_<)qNKZl zo^VLRGKoO?=gmZ=O|z-X#xZ({aV=F|_q8hUjD@v>OathUM}?3N+cnS-($5;}*G8${kzU8HtW&l}?Y%ey?O_n?RjV zQj1h~^ReZu&To#BR~3*VIwhScA>tWJY?K2evx{5GT7IYmW5G>mNoImFM~%{|+#toc z@#$xrf}~xPa$!XrHJTvXY@*>;87vgdcj>_0kE9o;3nA*=owvJ<6Yl)mcY|IUaU$AE zu+I~El|`1V4F+@vCH61L55yqaCIjRMXO>IAp)c8QxE#(7`tH=&>c#MpKm2u3P}UZ z6Ud`ZeSg~m#Y)*<;yg=Rk)K~Pn|aV5A!+MXihj?TGn{z|U?>Albd9=cd@%;eDBWY^ z;Sx0)dc%-i{1jNeTnMOc)L>3jJSr?h7AkdPt$gZ9*6aD%r56rZ)(5Up3BKO#&S3w{ zF|?;FS)j#sT_p*-y7esg6U^AX$#wZ`3LGuFbS2~FoRJ7v&O(TRkzIGF{Dh_@w}>LH zMaSo?kRu$^#Z&fnE9iBiQtoNDP$0P{5nw-la9Eykz@($2I7Qv?L)*uf*qyf#|0>8GsUKZ`mX-m4`X zPR)8Bmb-mjSWpR?ZSw}d>aVr3<2RR!rF_D+&TU&FRkEVJrd~dL(hG3c$qz7N)xm zb(f7$AP~J8g+jkoXj{(8?AwA^7n>{=Rq&S2R(Jg&ZYYRhq9jC|t-E!;krnjlRWD-~ zAP7JZJ4?rE$C4KR05DLNVGuxz9$1sRP03=|UwzMPoQ)wk=NZAS-x!7>dNi4%Y3gaz_TQS66gtK)A+JZ(i`?E=5>N3xF$dP8h=HFP@O89GAGAM-ORoy#Yb-9_@q!*z=0*T4jF^^XnV~L_p_Cke|75c8EA}b8% zD&2EliY~UitWkaO1^F7tQ=>dDE+;8{_;?;Sbo$$x8j`RF0000bkhC(Q7}xsNZCe3A z{gXV*72QTxi8Y3yhcCWyaCzO6#0Qe^){(&2OBa>zb23o(x>3H>@%GP$&rxZk8kSMN zZg-Agm_^w$kz81dd6^}&PEa+qz+s_HYx)Ux`Wf5@Fx#o3jxt6N82m*PeAo|u$Yfv2 z@c8h|)1iaabA4f$rnrBas>bYFfbIW|PdcJBdFR}T(Dm3_+&O8@@KA;0M&p$ot8vc|J!Y zpEU1a@&{jCOk_hkG!_VGF$F1k#ihC7a!d$rsHN;7LRAgMVr4M$*KhhnG+?If8V3S5 zS&A1W5dP@?M%MU6u#6^3Key87&BX-U_ac)IHf6jgn16F_J03R+fK0`l2hg0sicOGZ z)K_LFabs65!(2aoUj_Y7!IobH_gq?icvKRc?^sY>NhE;(PK|z<7@w74b^-9%=qm23 zDrjOm0%3Sa+|UJ|@gAgqq2Qh{(uI-$*nf4#eM4S6I;mM95khYn3&f|HFd_#}R)x@7 ze(x<576(hn{NQb~FWMeWA_rKV^eRY=2sIVf=DJtzO9D6SwR4(h8yB7c9Y~}all)uH zVZ9li!m%*#$fB}E3kB$cOFWZ$CtiY730%q(gBMK*BN82*qA=JeZ#3rvw>T+r|4fc=&a#J}8gd_r8c10{>G*6a~&_s)n@AUsilc3=11|$IH&Xr9pdb{aTqVet#qfW<5wjF!6{krom z_Mc`Z*af({9lc-+)(`W@hPh)MIIhZc`UxF5VBEoNjC>H+O7@&U-9Wj{Vu&g1%z)t| z$W4eOMVelZ6rB3ZXkg#Cp1kIGm2#;l`wya1YZOt`uj;?DG2H?GrEByn+w<9|Mpfr%V>?7AtbC$O%OUDgF=22Qch11OFXl-8aq)nvUbzH z!$lXLzXntdlAj&blEi3n{UHBw52WqJoA7iu0Evj38N?u6aFgwXZ;kjZVY*DfX zTxaMz4fm*pJ>?!fstv<&Kl8(=)-OH`UnKI;`ftP*ud?#SFQYV4$Q{bTsY{=tXrJ;_ znLs+|d_4P^t=w0ZRruy@U$-~nGBpuw&G=AKV26$PIb0*zw|Jx<%x~mWb!%+77CW(g zus*n(6&8SF1W2S!p3CE!7`j;>?CYU2CoK_6Sdy!}O6wTDcSS83vs;TgKDDrl&GS#- zVbQ%8qtaWZ^IIMxvv75W^}yipE7S=Nq;5gRXu6P*Fdp+xF^F!MbXFHPn`yeUq%PN9iM&3P+fKpVpK9xQKLTPg7bdKkZGaaWs%o_=Z|2>(!@i9> zMLc%Kx)qlTzImhk!Mu}P_>Rm zdZVE90nIV7Tl4_bjy19AOxIx`uyI#75@a)~7$Z1qHV!JiuDE}g#&}*qKIz|o@~nG( zEYkBbYj2QZs*U_Q*yWjRCd4kJiI$t5t?nt~xWXTy`yrD`vboA*X-tNf1pCl{hV8#O zoh9+Skau2l@Iyn@&Og$a!7C}5AAfbJJmxcte>FSo@XE)a? z7?nSWTP*twcKF_ogwri_1C2`}9*}c- zP^N^G;W>vK!TsZ>0(MZhWtSxcw99t^R zjpsM+5yhPYhj~RG6kU%+EDWTOHPh~X52iS6Q^$c2BR;raycXsd{v*$Z5nQsF3)JIL MG_@ckQJ+R>|I7g7YXATM literal 6762 zcmV-w8kObcH1uQ|jO<4M007iS0RR9;0ssJr%iAOX^-0`mrT*vtn2wnFQv7_-m0x?b zP$?Smxw`+5PhpYl;|ynLtXAK~pXy&;zSxXT3IG5ASo=hIHI=+Jcr~acPfI;6i)T%* zcE!RM3)*_MGzoAW0qSyjID;U?AiBa8akufGdg**R8R9fc= zLnM}@scWd%l%J(zNuFedmyl=x;d>od0N(i1!v?vI&Ghq&p=Vtn>TrEP&s$|-1r$&5 zvpnujC{)wBMFz!7E%H{(E+$DzzcO?n!MQ?- zpqVt$_%UiQo)oeHS$h^f7n(O0KSoH~3ao&(2B{j@KNuwCL2f_*r%aZTPCuOrk^7{}(txVlPHKMHoyM!3k zI28Y?4{~Dhs>crA3h`8!6DpWg9%P}KEHc{b$=^}rHk}0G8mP@^tTI*IrV0b=E6nJZ zAbx$U>R=5$fnHoe9&t&ufEL?rK5Z^dSdZ3uXuq29Kj$83sa#WoNoWydxk(D8R4PY{ zvd5o9<~hw0>KKsZbFDlHqW0Txv;%V2iwx!49CWGa*v+1k$oppGfs;K9>8ma#eHrac zg~vnGE?`=|rs|`w{`iPSdA*l$hF~JK-val|N4I7E28&EnJ|4Xbu?_1Y#IUZff_2Xgjw&m&v zi8itq6iwE)lUzDXxgak6?79xz4_4(jB-qq$Z!{flKoKUN;MSR0)t}L~5L?6-(Zo1| zX>8wN_POB0X}@Ga#)fSmXjOl7&!*Dp2M)rvsClvDp|Ou*7=>B$_gcNvP+&iLKWVU z{bK{KKU<*m<&=YuoKpY3i+*(|lKU+$dYaQuxqV#3`I1#FqmZVqC4R*GQ^Lg^D0G_< zX*r@!6+_`ULF_leB(DK9{*MBLm9{;PaH6xUpou5xM#*iIvD0uw_1eCeOYv#K!bc_Y zQ)J`X{%CP)XP|WioeYn;3-UmRGLTQbSnH%neBJoH{F-EozyUq)Z8{LkL z>MmoCI&^L^ArDhyif=nGbwiohLDXk$6TVQgTG7hoL>Y72-2hrwRI`DU$`E}GPoNDk zwN&v4Y8uPq*@G^xE+#_agC{DAAVNV?>Q6D$RXEQi>`ZWs6fSHSLH-}`h36zi2dtVR zmI45omqS#}a=*@-$lGdv*d=Ly*(Lr83{;tSf_Hm?o-agAIcHn>4VJlLI5Acq4yTR7 zWfs~A!Iib>SGug||KY^$N=L)Df%LUaxrHTS|#;>nt%Ph?X?Uszt$_ zyg?px5D~akF-k*5G0TZwN!m#Au2!EDw=IgUx|52J=vNW^5GKCo@&SQu^(_V4C1Y4F z_XZ?cJt;+*iYGJ{zY;IcbknKOX_ep2uu|yA3756a%g)L46~I;kUyi(hB-^D~5#ouQ z!Nl9CHGJBA2SMb6M`rC-_&TI`Ia_bd!2xp`^F+b+NiDpfiX>NYDzf0ze-9<1etGJ- z#sc!`Qz}8-@rh>Y7g@lIhyLCQV$B<(_qxu8wLAV%vb8&hy`L#4O8fb>px!-ih?KZj zLcWC5K&Eq8t_9g7^dDyfejp;(cZ}Bu0B49#+j{_5(c-*J5QBDwrvcatTw}FgA);}& ztxxv!gaaK1WuWo85N2>Y36*$8So}epWBja9kmjpC6wx<;X#w+sko)JJ(}wx^g%6M2 z)ejOX%wb2?Y-aeev7Ns++(4u8MIA-qfK7#F(qBZ86PmIQjk1-h$Qq1eIATCT<-16s zn7sAQ+BC1B$(s}~MKpmfW0`dVOaWb^4kq3xE0LVASlsM86O4Tu@flY6Lg& z9yeztBs-J2@8~*|XigkY(?&~Z@7d^r3I|WbpV*3IzI7auu=s*X-QE1ePo53G}4WNPtK0pLN;_W1zPq=tX@D5iScgF`ku3o=t8#VHIgk zUL_J@xC*AlHCR+q<)dCIKV=JuRvyii={32sorVI>Oc{#y_f!2I)i2?ry?k4#fBy&_ zJw=vd5R5uszZQdH0EL3#R_mij)h>%D3C8b=>A9lGhozs1UJLD(Zm0x4b2oFnaYqNC$hEW91eBObVDW)SQWR?jP60N3|43gptrh3lIluIUc#i+-2C z9MM}zB8hhZ=~=X_Nj>vn&kZtO{9n4>bCm(I5CRrKJW${63gz848VNaH0a-Wg2K}92 zNY|8CFlPoeW^*ZDLcxIP+lfy(H(V;gB`o?O7t-AxYhd4JwJxA(I&$7l}ue6-B z6lIy*%t-stL>Gq>qDce5s9aqLYcQ1~>rco+T69{!2MpbGS_Rc3N=5(i2uc!g8;J-2 z000jN000Gm2LJ#7|3+zoG?EDO@&(o5?{eU-CFEq0_1LBbP7_?bsA#>Do1nu__?@_e zOFs!zfPtD?$OaI~A`D7%j+$2fsa;=awVx-96-$Ztc~Rlc^qH;h&0vi&=165r1_r~r zmlgR)kr#L)gRkxab#W@yDksYrn=b>=axXX3BK1WDgtmohsW7yXYalH=5;b2SULbu- zytl+U) zG%+xJ<%x5l_|jH%H*!H(?HV|-SxAE+eE!~QQbnzAjhusJLl!Q*B_?=1px?-6$6lMm)mH z9sAgHjC7(u$~YH$BssUp=SLVeU=GQM($B3QmTDWDe+ul*4%Uh4V+pNZePb;ZGe zk@6?%@wvsOmP2LgqFCJ{z{5Z z6Tv1w1qSOpev6eITq>;fc?UQud3$_?r($=_1LEGd5jc*C>EuL=EnRoQDuAtZ4M}MV zkl2RDo|aM6vzT_~8K$d;mBbfhsMStsq>{}<1vv65V1f6oZjFhtFW7fX8I-3Q)@_%G zogigEOXRKcW^L|10;z3jM79jZ@n3vJxn=b6Bt~cXC;0DFpYVnS_11S!ZZha}5bebL0lB@f8A1~mf+nj<)a`u{gmQ84 zp>OC{rWbO7Ee#A=6BZa{ggh>A1z_NBf-_K5lmD4P^jyjZ#U#-iy%Lg%D4M0ZrN0(6 zECrsH@)|r5SGm9$|(O%j^E?9f@o zF1j^GQF2dfaJxq@&oy>7+8>n zl~=x1IYl&4+SzNqk?-H-2fKWq{Bq3AEAXB-V%LvfS(x#%5mNEYBspYSBwqHEC6+RU z7)W>LteCYxMrYD{5oUP`W;lhjLorq=`6R&u;Ol-XD6K>*py9FROv5DtF7YEv`5##Aql^6}BZWj4!X-DlM*eRMZX-UWAxO#9N^L6rErD*BniJ&hJz zL&t+_oUp`!@fIW#PP?)t+@NX$J|K(qJB=p;<23fJyr+w(6AN!g!185FWKQWPGQs|w zKF#EzMW3i25ey|IJ6dMsEJpOwbBoiDr4yra5)J+NZ^S}rcYaSR0(;Zc zb8UYV2;am-i3o}#?grNHry}+$WzvpzSI6(+0u}4&=Md=tN^AnNUpMq4U4sL4?h0hV zoW#$aJ+?u{=1hw>Mgd2kjO~r=VW+YBU1_}_8BJ8>gLmx*d7P*&`3^VS%PN&Pj#hxw zU}(hAslz$fBxS+8(`GYugu4c4!JZHI0R*}TB5P8EGcFI9p?jH+1OhG~e1*sHu-IvE z!dwCqV$ORO>GI+LzKUeNhQKU8SN*=U$I+MF)rI|n3NYsODP@mxIVJMudDP+cy zD5gT~&1&a~9PLH{j@SGBbF|bnyRqT{+9*!665A@(6q*gb#M)mb7gU0GP{vrwKoVMI zL-(Rosm@ePvU*k)B4$U4!9HgA5+q7p&V=vd)uYTK0*$52&aSbgu&B7WgxA*(`$w{{ zh(S-YeJAeU5+h->cznm~$InSmIvU2&>q2JIj>E)oeVc+Xzz0jD`EL@3Tc4y!dn(MH z`H-nbQ4(^asFe$qlYWJYGvN*%Z}~B1q7V5Hndb$i?2S*mCpF$*^V9SA1~R8lxY~W# z>f|wMeUHtVvmEaE9H>MO%%PZrAkj*$Hgupn7vS%sz}B+`0Rc6}gSwfH42K2Yaj}c6 zafBJmJo6m%d(tYl2sd8Y)KH+{Q5JytDv*;@Ih~@9hcb-^0000&H*#$q*uvq%NL1K5 z&COX!2$*e~Nk>wQ02I1IHnY`13bRFmt~#wR*ve{t_3ZSsFUc!(pE${Zq8#$p4ZMoA z)yO;;gX@*urZr~O&%pRSO-ZZL{((C0*Uff~z6dyR@bHt|9uOUTY+nEaRSfKHuc~;C z;vol*D5M6J<;vr>(-ah?7DJs1ZVpmALp95?0HPD1=V&OgwuzV&mn15=X&Oc!G#rTJ?6@1nLm%W*B=iB&`1eh)(v*J z6FeHiJ$uUu($LiVo@8Lb<@%fsADo77-VF&GtNv@&k8g>g<2Aa?AN*x^-LKOf1T-kx zhKWL>XrStFw$Y(GytR&C4bsG=sL%h*pWE{v^yjF|(Q7!VGJ_+o{#{+P6TF@quEuFG3=0W3stTvem@CWQB}=yo?aPJ~r=`khk+trMiiV zM=Al~l?Q`}k(Gg02GhN7;>ZzAjGnIXchu~p*hZDL|GOX#}!aGdsD z5S_)(yki&rwpYAa?Qdt$!Zsx#)RbCnX6H~=$6f@MvMtC{#o35&d9|_46hOR?LB!fM zD)ikx3X*7le3m-m6~1x!Jdp^m{;pZ2|5o?)(j=U2m_CLl%ZgjbBZiP1a50SQ9OWIEOGQ9zjxOVF^a?u5ljETwve z@l0Q0(@1L@pFb0=$Sx1^!{tj8=Xeb~85*0)l;5N<2~bjvpClC@eYl#~93iBmVc>)@ z(Z1E#w?TP1&yqq9P;J*2iYv~c$ApHEGH|r;gyauTd|=>soS9yW4SJnpsE?&P|M7xl zEGW8Et4qXb*B2c-P=Mxw6Ljq-ZP@+{Lg~YaY14l=qA3^H@EB)=HLMlYTxQ2fu+}<)&1Bmx1LbQ%#73mNIUiA2V@!J zA1q9CxN}q(%(^fS+*;t7ABj`#eh)SIc{_&h;5_g;Kd<*IvmoZ!kAsLy;R&jJff0zg-#dNDGP~W@a8R(GI)ovPJti`(bcXn z1dWu$UVjAl+#RunKrpQ)=}j@?kt0xdbSt9}REx1^*q1j8Snxr>c*+mhrxG5-pusqN z^RE_eRh)jrPt;fC6()N=rl2Su)o8LcYympg@S$bN$#QbIT2QE>|7{ry2z(tU>s0~| z4om}ZY7TT9FGA;oSRoNs$p9GUFk3u@%=1g$Oc1e;+olfzyz~yQUP>q*gu6$e5w@4F z2os7Z@<}l_ye(-iH|i;X5ay`S*#pB`00n9+3Rt(9G#N5Jh`w{%5|z!+Z_6D6mrcdn zCn`YjOlPn1RM~+2D0J~Q#({_D))qXaGB4wHF8w{r>luU3|IA9aqG67E%pf1=oNra zb7WH&y&}KUQ?`thugz?;UM3At>hQOlQy%;d{QFZ1I)zej)sLe z@RK6X*hlK`ZQ{)I{2!pCA-Pd#!6pMO?A_-}yu>vlOme2J!2WZcCj{N8%Iu}GEy*Eo z(m=2(GP$u-v3Zeouy(50eH+D5a< zmf~-fLB}KYAU9Zx&TJQ`?T%OJcJzpC9?R7(%9FICalCUgU;x0EE92(jZ=u1&upYq$ z(3oaAHciF?H;lIV`q7uI%EpXa`rko|{;?Q|V+7&jbsIWCXAiLk^g8@Vb!~xIjfFI2 zmlQ*@e9l!_zaMXCHa6D+?#Q`+)LRFHc13y$olJo>m|2UV8LWdc Mugi$KuVg4K|3DA=QUCw| diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_last_offset_11_overflow/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_last_offset_11_overflow/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..8ca7fb097f50fc68c6504019f290d1c2a461f4ab GIT binary patch literal 6763 zcmV-x8kFVcH1uT}8Wl$X004PM0RR9;0ssK%axKoVC2n@3QG5+_bPc7f$L9FSg5&B`8gMX^uPvNgG_Zys%&@L2V) zL^={iZr+7~%qFEj=sjcY{Z&A~#95E<2(f<*0KT!a2wI~0pgnjnRRUwDF!}$4UQGGR z8O85^>Rx?CkCl~<+Ba$DKp`2W+!I`(aub3xy-_|d4g}*zD8*J6BhD6F14SOp}kt zM#K_Z$Vw#7X$%0{F@U?ENgdSIG&lC&74`n6PkVv&|w?HC(m?;kzJO!_i z-0O;+XxFj2=i@Nuc{Suf$#t9Do1Lemv=CN;dZfcOxK{VG&4voGp&xwl5gg=%L?l~= zD+(DYgQJN=_wzRd-){CuY`AVG}Qf_Q5p_R>+=3jdxegm=>5o+TCZ8W(8J!62KAIXeG`-FOkF7H5;lm!xeQ@ovx^JG&<6kj0Gk@!#~2dFf}acn;%&35%6SSP5-B_( z&-HPte7y{`6b5sJDB?j19aaGI*Kt0_eF-dMm8!V_hcHa)nsiadtm^jY$irBnyO?(P zq4-dM^#cw*r2pZ&BI(o|SQ1Km$HHT`DaL1+iLZmJEYbW0ubRL;Tomxn@u+C=%zQ5X zk5MDTViwmS?Y7R|zL_La1qEaPa`txeFs_oePPl3u<~Oj@uRxR@u?=I4>@7c;`7YT; zS_ydY_gwR-70^&OeZ4ZoF^kaWXuzbu(x-bSiz(k?ZrrIxOzDo&_sKWZ@L|+4`$EYp zbLwLXpLK5(`&Hy!?zz@!PelTW`o=s|8{4g!L*spvZ?j?T;9G!4Lb@IrmOg-Y4~7c$ zlYw_}Jle>L4MyaRunK-{y$T{7Cs!m|L6|9`PX}TDcsM0Vno{byABd=>37Ll_ZLQ8U zLq6KwQ}Kb(Y}8f-P|C3A%!Ln&+Cbs zCni6V0rBu})#TI0g_7Mb?Z)xV(`}O_@V{&4e9wCTA=F06>l!a5>gvz>?*0AsE zoSl-a&7Cj4>(xn6iAZR>X;`!+g(Oh4IQ?%c=YHu1idB1WU_ibVk%Q-_J0*eoqfu>G zNcFFPNM=7i>9)%M3OOxV(Hg@{=L^rVMp}kn-ye*vFP$A>MFNYQ;RkmwD0I7SJt|9Z zWRJt8r^ulXs6I2*71wkZQG^UQCX1_GuS+^UV6ZIb*{6rNY4*!OE3tvM=ZGVf8( zRe8!cga-vD^xEv;CkNI=l1PlzFR*X3foS6kS4ANJt(;?zjgV6)aDdVi_q1m)n^7`P zX3CTOy_l$-R=dvHmtoI2)zTLL^@avjUmf$>|5pS0ABwi%Y0Q~Cz}a{1^m*#Jm`6B| z!Qya>KU7pS!Fqwk87f1Vo*jzLQDzoaI*@6hxkMeEeCfMgX z&bCjs$7f-W^iP&aQxpnNUF?x&rtLCL11a%1px&`blDwPzaVVmQCb9uM!!$z32g4I) z*j0`jsh=IVpH%FyrS8BmJUg3ka~H$Adtt5lHGkPunXWG(K0TzLp=}#dOxnQnYI4TdmB#XcMm zV z?ZXT?rQLgJJ$kd1Ps{~e=I49(mfw`tYO{ZI`1zNDHf6(alV-ONgmy^+4K#8|lU8nah|x_^+h!ElK1tS$-R_ zgMvqh&8Z1KZ@8j3Pz3EaJFoWXd$F2DjkWjRzsn*qkYwAukIpM@Q%f!_ZYaKh-Xo-( z_>#6*WuPDQ$P%ISDAr|Ga;NWr|_)Q7$dOYL zEc~k$Bbz5;BeUNn%ji=KK-%vjYe;|?HOdG#3B~W>L*l6lXro!CZGdoq4{P0ivRyp% zfGr!>P|?tqQ1AS;MM3;F%}c*pJreP#>wc^obuBhfolS8yn;oBkSpXu_gzs(gg%Sqp z^h*WKp+#~DdXB?g!fjU6N%k|CoU;5W0dR z`?xc}R%$-WXH3b79ntCr7;SL0+=4#g7TZZESpjHgt;3W?VEo-lnPz}|!8T_#Y+3m7 zE1<0eEvtY>FxuU~y`G?YRka`#P^P8b^a>Ip@R{&qq^Hd zeB>Qgz$8dso?R$|#VZj8!N^S=UGCA9x#rv&Zb77SFv|*@^Vl;EGk?t&rcdgM32K*E zPNpC*lmb$VDSk{}F)}nH?q62arFM!(JpMS(vbJZ*JANZZ5F=&N7Q-Zm zHHW1AmY>WENHyHJO*MhjLQCtWzbgn0$fbU~%cdB>=))6Q;`w#G0%~Kx#lmT1G$OBO ztBhj#0_QXq3LJD!M!l=K1=osM?rfa!Ib*nM0!ASXpU3NMgGniEDP{u;0?ItF4A_~$ zUcyo&w!zUPEC!9NVmj&K=q_8Y<{Foxq5kd}KNy$GJQ()j{_oYy!Xd#{aGVFreX0lm z000jN005mb2LJ#7u{pR7{41ofOb(Nh7`?Kh_hefsBQPaM@QiOPRkhQ*s$y zV(+*hk;>4nlWTbG(T`b%Mdg%~@2@QV8ydHkld#&unhbwH^uy3Ma`QxoJ0B(seSMLl z$D0lc4YP17jLBx8jFN+j@QO$${x^l}1~aZLAZ^%c+AA^ zeP2=Y47#)Ah|U95hKr{szQ~XV+CFGUvy%r6t5QnkQ@=8QLgJ5Ghd1fYsJiG5hK6Y^ z3((b<0Qjsq5r-)rYT2Lykn}_oss|N32QG5l)pvKeqZD_Y0r8SX#f2)MfxV{j z=>`E8?@hh&`!@m?uCan1wz}TYO?=~Y0A0(~QO0M@Q2htaR#Y1g2G|l18)*Y)A!8J3 z`h_oPzMAsG;<|oCGq;8tWqI-t-a;k82@o11E?hn!1Lw^h%-Z!JEGXQr zY-Ub8{q;IRfGKI2n-0CO7|TpE79@Gt5R5EKQc~id)Hf&;9ZjiTz}f8YQu7a`+d(4E zxt``*DunGpsg*Zj&QdHtBr}2ZDC8#OFuuVV1T|Nhd>yi zEwXrXZo{Y$1K6k`Ynbyht_`^hW>mB_6v&(7s(^VE<9(0Oj(kJFgtXTSs$;}^xv!Xc z+4QnqKw9&C1wU9yEkdeqHq2x~^7z9W#Y2B+VWltj*+ym}F0TYgmP*UXVHwM%A{qZWN9;4?VhNiRTf5 zXu{5Qn!B>cEWATMm%C8LDOvOpeOdHwRzBe_ zLFOh&S4ftc9Jp31U8tm?=e;V{IyH7Oc%tAm*0fPnq-_>vzJ4_blgPl`=)1GZfeom( z)1NH6x88;Z+l~UqfjP|_45-&tW}Pf=T=>oxn+SH)mx>=PyVjQRQmdmAe6Td;{SU(^ z0NzD+6CRJDfGUhTJQu-|1PCjabuRQ1QM6o*w<~#`l$h>LLYOv}xu|!MvNeBXvR1TI zpq2fb?S+wT1qJ85fSEMm$atzLto4bAxS9>Z>nyiX3$c-hPup&a0xAayRB(za2>ek! zebH##sp$U%JgYtU0$IX{E`%WEzpiS?2_pD$5F z0_if7*rVGlFfNE6#269j=YdfjW!ob*Bs=Nd2W^ol+EFuJ%G&ThyLlrnpJq~h6oX(| zU`7G7k&CPaGHRtUh8HgMX&UHf^b{Ekz`mA#lP~V>s=)!qetX9nQ?ZO zC#7R5Z`}#!-DGle-vu)#Ot1Bhpj(}>|0b%JXWyy=euf9V4 zHu4;`WsH_Ge3wW4{am{+sYpPr8u^&SnpbHYItWRAZ}zCxR(-9-@#3Ts@C%84vyhrP zggV0WiZt4jAp0ZmZ1{{2fycN4=$m?gQ{Bui?Q8y~3G^I3k|0npYa_iCkn5cVg;4lt zR5^}S2{E7WdSKeAO)gBOy3x>y6E8roy-`hWwg7Sd7gN_5Zeo9pURf}*2)EWx=6{^p zI|g4$;?h>o;?gc@jFJ{NvawrTC4Le4+LOL(>!bL5W6*6|2)fPgO7IIUL%hp$N<@DJ zHAnW3UR9!svL}NhwyH_3JCu<7x2PX8z#W?iNEXr$QmRm$qS>2p2b>PMh#Z8xdqI$}qN0izA<{Q-`i-u1;uT_wLZP1T<<&_|#J zruhswa)TLAq|h*MRC|liPlrE@4cm!Rc<5}Tv2fRS3H3{V8YKx2d#DzlIC#H0D{fxQ z_j2qDfEH!W8N~E(p^K^3&c@)MzEY?m$e8<&k3LnP2*lNO#aixbtj<~re!3UVvGC^; z3AE*%7xf>6dEm&BBam3Sa0QM?9~^dMhy5b7jnN06W?~F@H$d(&%A6xPPqAuyq-;Tl zTlo_OV_aK>8##ST8J+j}zcjTejllR3a{P$CLoZvcEPsMd?N|8H)MA}CLZ`99){&+- zxmL1%$_Ni;%$^FQ0#M9ad7p0|XbJw0b>waW1zq|JU9Ie3`U6UMq=^tJ z9$9KpLo;IoDv!e2iHAxQVH}UwVxBDo8Uc#-1g6+Z`JxdA0000!R@7BYN5HY&%43P% zRQ2Dedzm7SgL3+q4V&B@^ynM)2y8ytGRR=f_4d=^-$!T%4!Fv}$u%u%?^WPz05n0A z(Tcyjl!sX_*lh?Ri?FtFzWem$W#;yKZDmZ;$mZhXlC=^ad=nR}`82TnzSaC*ysc;W zdeHJ`RQ;YLkRRI;ki;EIPY-)tBqrHbL??toNSO6ZZkLBt?g2Frmd!Y2@0-+{!dha* z>%9^pw6iJTXrMaFV3d&XP#!1z1Sm9Xjwl1Q{18cDk)y>ZwpXz5E^iU|llqIGIr-u< zI34JGfof(nJ;=Vz>l3>LQKa#Y91Qy+kilV}m+oTi@l+LoLRTS*t9fjiSPeQ<=JXwQ z6NRMb8znUfGf&ou0ruqv;CmxPO%4UXLlGoRB1x$h>^Ey1n{T3TeXu==456RR+k_k#Dss|v zMK4Xn$dU-5A2R!HDmT)Lis)D!qti^6+pqomVg$fo0z2THt%n#^s_{(RJZ&Xnd~<|B zER4mP4sZilCTdM*vffL-`M_R|%9udUkEaOUg>0qc^N)^|?R&033CbCR$>zNOWM`)b z`B{x)rUjRhn!{A>i<=jWB3#Q&%9evt9APmh)OHzeHbq3n^rVp=u@vbO{JbyJlGWJ&@S65_8D+H7sU;?|_f#*iJMdoUk@tTkPZt&YA+H;4|fPa2km10?|;q<)Y+D z`M`X;&ObwOAM2q~tI(4QykdJOIz#V%ucOz@m2zI& zc(JIOxTILxHkYRPj=SHPps{nRs9wh=S-)g}M=gr>gBqbhAq4=%KZzttyhJV79SE9S z`{JD7zLM5jZFT7eY59ww_DPa(M_X&9`o%j@JM;TdZnf4R8I!*erLfM;b0u6EHE*b^ z;P8{Z!k3A{&b$A*r4aUc(5hQ6_(Ny6V}96p#dV53bUYD6%nh#uq>k!DXuyrcg`SC1 z5xbi|h^~`c-OK>Nzoavm53OY(QCLANULUUZvcYY+PfHF6mnMJ(X?tThoIe%V2TTHoJt z1k&l@YJDn@hOI@G!3oh^3zES#^yxhG<{lP(zrhh)H zDicesQ83hnUp*o2t^R$x2SVe=+1Bs5qK4q&#k9Wf&kwXU3h{Q(7+Cx`A zyFT@k3{VS^TZ?ao$RsB4m*52;mbel-X>1F7sOX4}a8f@|=GQtEjrUZz4I;3W+{o z_hboYbx9-ZPMOgcitaF%ee2<~a@FHAvK%}t+O0X`i@E;CLUo{AdJsSue=}(|-WU{*NVd@JZe=*TXYoL!J|5=8APd@>B5uw%U-4)N NyCdE9D?&dK8Wr|-4!-~Z literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_last_offset_2_overflow/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_last_offset_2_overflow/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..c2e02a1328753323b7f31b0bf362ff943e54a403 GIT binary patch literal 6763 zcmV-x8kFVcH1uT}TAW7!003S`0RR9;0ssJUbgmq0$xlyTv^2&*W0d9NyPm4LC<&y> zGFX<8fR4n=yNCh6vPtIo&4PIg88-OE*7yrf3IG7sURYnl&2x9mR^LFZu*+6O(_?oX z+4m%P&msVscXhe46jpXGEPQiaG+bn_Z@rX@*c+0F(sM?y+=R=Cf zq8*>&PoE1+quMUdha8Dg((}nf%D`%z+Ut9gQRNvadFC&evXyBT?_ zjqh4R)4C3+wgAFjv)S;{@FA0F&YRDJ;-Q3w)vPE1{pnqJyg1 z{h*yj8DtZ|Z9y%Ki^K1}^Gms|iTsGht!bLE!c%a}B9u!f`0#U{Ug|$K=tN7Po%#d5 zBK`mlGyYmSMHU+GQ=e`mQ`(YH_$}&}rHDe9|B0k1$eq6DmfW0QzAvd6JIsUF>s-ue zg5OJB5-`AvC5gFGgJ&W`oEJbTRk>c{NXW)R^+E~A1?chr$zGS?gRlI-L;{yxK~3-j zja%^RXIxRz`YQtY^nB(W!$opIW&cy0tEGyb(@3$GYV8n-rAy~P%elP3 zYESA`WMLwwNKQwh@PQg7xVg2%e0V{x9kZ|2iIU1)>_$Jj(Quq z?eiPX?0D#nLv!-Wb(bs`sd|5q`m$Kr4+)N0Tp=hy(`q)XwZ7@#ZDl;}b&lH5*ED!eA>$4G6JsYe2%+b1~3)D+v-_ z83##BH0Kr}E!N+N_0?P%2UoacYPbgdIl+(iJzE2|AR*ryt&qyu@8mi=dg%7^f%_uQ zFrQv&4HZ~^F#1fyXy%-ELs~)F}*mRhz!}E?)i4GkX*0=S27b0R&J>sI;k=7 zPApJyJjV+?%Z)TLof!RW^4;2Qg`M1dv4LA4sB&Z8IO784&M}<^&fGteK@9;Mdz9!0 z9E^IeYT?~PhX)6Dvp+rOAI%$>m&;-q3)$|DX!aGUU{jxS-Q&-X>UL;A=@zy>##Vg{ z$_F5|MP`RRBmw@B7auLCx~kj`Y1GJ27JyN=5kfZM<3L%DUMPXnREHRkG0wy%lx4I) zkUOjxJs9&+O&q}~Z;5~z{(e!FQ??_M&%`QMd#3ME>=U4F93%)KQ$Tg31k7bouKv(R z=Ld^Oz8$-#IpjGM7572(bYGA{vjIn3TvKU<<3fQ*T~)(C5>TRUUFr(wgLLSCkVq^h z`Fap7l8rQ{q-Ncm%BGMqLAABtX^4E}ai}Te^r}$FW=L7y?)tPNZ$YCr3s^4@)$t7a z2?pC9K>f1}Qo!r>DY!5Bw z2A0M(_JZsKB+In;qo{UAW}KX>8kEhjpji_RFy2oSBz=%XDpo39vqFvUKb-Ti1=2F^ z2^&f3lcFu|RqL8Z@zR5wk3ZD$6VP`kGWPML0D7`*e?d`(nTA}X@@o)5-dN8$NW@dX z%MTv>9%|O4CQ?^yzdDZ2LS8GB&dVz zh2RXjhAtUgH_<~Ru1!Y0x6`fF)(l;uHkQLg&Sj|LqCCjsmzxS;7V2!l%2cVOq!m8> zv6he3-#{dQA+iVw=>}N%JBM*vciDOkMH~Ey)DNDDlt3)=6r#N-cl-nLu3l=NShNqs zYQFYS;*IT^Ih9T}ee@hXJqA!8)KPYS%p1I)LfT41W=UpsuMYd;(&v_wRLtnv?nra; zZY<-gz-e@cT=2KZ*$hS<1#iedG3d&wJ%7Nt=6Q)WHR&mQn6)0wwLGoV%P}wBoRPWD zS78EQyxOOUR8NwWG`jG2R}1i>EWj1+GfWRE9V zioTvScULE4i4K9I)UNIpN=zb7haJ9zeeW4{)fca1l@3t0=)FW_W9e0qGVQOoo;!2V z4PaHtmN!$~DU|%o+$7js)A0H#X)9!0rEo&EUc5Y$lvqK!==7-<-7|wpaz+GfxJSZU zdZIQhBoY(ub8l!%*GaU@%pnJjKkmi5x1M5Dq-pbCJ4|H4dzC3z#@R*Aq!T2(Y zoW;+rtP+vhD@-1&fQyyv{D_@eO=0vj#tC0& zYtx4 zhqket8O`Ff2H-#(IQ}kgW{MWu1FfLD!<=vp))q>#I&=z{uH~rAKaMP&C=sI--#AOLD&7W6Zi|KiF!IBMf~JS63OjQy5R@_ z000jN0024P2LJ#7hPhd(xBy6)NBkg)03h`iL>!AJdS8)OcX{2P8 z<3ga);bEF(?_%zdq>!jWK;eHmWB>{Qo%li+5L48*#)Lc$Ge69%!nq}B8RT)_s=^I( zDgXL-7w5C3XkU=Jep?vAO;wca-Ek&$e4Vz-9kWTqrFk?CD=_%RTHz}?l{YpZa_1LK z`Lyy6eKRm&pnj>Vf58^L^#Sfom7-N_guH>9bgGsMCn^YYHV0@fvqC- ztbe*QAk_1dqCoi<*Gi4LA6dh9{U&hMCsZYXW-ABet|5KdDCGwo1Z4Aq0-uk(`0;oX znM5Ap4gVtUnC?ZzumXB~VCyVGUh_8m1wU<=V6YA@qb%(=F#xo)1LTHS#N@Ka zN6M4m3iAn%T3wM&5vT}dZyg$BB?CC19ul@S@|QQ-+J(OrW7)6t=>wCmke(Ije$$QW zPBk~Pmk^}$ zl$VJJ@kyGQWcS*hQuGP32>JA3@0}2?_>|6;>v;jvpsQ+OAvp4s)GMf@N1G&tQE?#0 z;i2f9&q5#@lU0M3_g|&soLIG^w4}z&oimAT%oi9R0p|Vl@k=Z=aDx=8V0a8ih$rUZ zH}qHERkc3w%Vv39z_t*Ol2Vod65y8#>x$)z9nivY{HUZ^KA2|u1WRMa%({5Zm1}_dC;fc z0w*Y(aliJ@yo5OT8ZnusVk)F?m_?|y3>6n2aj(m%o5yuTajm^9VMWx;;+w*?2n*-L zC`9pbFTf`o^W08dj}|J(5m9K?AeOdo1rA|~gqz)nZ!PLa{qc5O6TlPo{c+p$+Q>7d z`zvTWVXjNRw7Lo^Z4^=qOfx{?8@}_6!yXTbY^wn0yA={?nEbs)v>LA#($w&bI`q;F zU0VEK@#3jHzdW6L?BWUKf^DARxdf{!2Wxq!Cl1u%T~%-PRw_$q)p13~hXOI!O>plC zhX}>`e#NW_)`q@zw@Dm8^AKX_rJBjWJJVOAd*257$yLLO3QeOke&fl-5{KpBt@>G& z1${uhM|HFojO?WHIfg3chWWY-xizt#Lj&9f0E%~A&;#Lvmz%McdRasAA%}A>)ZmyK z<2w&Y$6m|koq~^;fEJm?;sXAdkShC5RuSt>1BHJqS}+;s@KVtjvAaeG@8zlGRT;h@ zw}-Q}8E$4LQD4e315=_bhI>P~8YsAUtHfGxV@R$y>1?2LENHEu#8WPLZ(WFvF=m?_(lThM?vr9c;~`SbMDW}8 zoP#@U6A*A$U(Ge~_bVQTz zdof|^cSQmyTc=v9N%1Y1=&PbEt0a4w^(v>r%U&D9zo5?LU79__9uOz-@{?SMx+z)L z*NT1Bm2Z>lgHy8n&L@LF3(k!7p=KiOY}Id;P12O7f)oH;B@qqKY*O^87M=v3zQo;( zhivw=aUuzUl(;qb%^&Uq8&bHJKO{vVP&QxS?K>p7F)y z65@`NxqlcSv9?o^TFKT*C9voTO&IiEL!d`=3q`19B}P!nC-blmmXa%1W3UJiANYj5 zC1-;318&dAhP*@+P$ThpJcN`TEKD;6CU;LqTK<=yD&Jf)%FI0<&(1p58Lx%}@IOT0 zAaKNkMWVbYXCGSm9h}Ms8?`i^#_#XW3#$+g2~XsRPPMlhxCBZPgUQODylX!aWc*ex zEDp$y9pGLWOuO)(cT}yQiz(|v2F;n*st3fY`5bNzb9YS6~ zs>kj0b(XvEhdQ#-McmDgX^CW17Z{rB`SVCWHSnHq`+`jgr_)w1>$;nA4dCcXwyZAS zuxC;BUdfKcNK1aJ{G9pcNH!7qR{>pMqjuqjNR>$K9)iU=T?pV5?>-e|HAJL+o2X)c zV{)q%wZRFFR|_ug8B-xLTw%A2IEDPj#i~*`U{$gpv#eg939kP;!XX$o709`5Y+l4p z{+Q;m@e5&RAs^}$!=b)l!4)u__Nl0Md|IAoQi)AZ%lgLT0LAww8DHpFb6pj6G$F6v zW=3DxQ7g`T2IwTw>fYPNyDXXMOVVBZ={w5Eji(HOxPoa10001bfySx&Pbh_pe$?&VvEsd%C24n;g(~WW*k;$V zO>fa^A>I|dMBn}F_EuDZtcw|~8f57*@G}hDPHJq%-$vi@n@j=12G-g`Wu=JWC$`Tz zmiEkR{O+H#JXRlsRMyJZSe!@~-(=AMW0kh~oRE)k0IA+K16iKBB?=0ie2O5*rs#Z; z$!AI3<~pXebN@?^nUuqoQ<;DHFqL0JeZ{#ISQ!8Oe{$g z0=Fd}DU+&dk4@vCOBbuG82!J5A2g{crz@HI4A7SJ!oX#Zi`QQv<(L&cZK&o6q3TJU$9tE)lEaQ^i=RUiEMS@8P-I~XZ`Y$wb2}_610))f%=p(- z-qf2}!Hz8Mx@G7B z18q<`iLAJD4D<~3Y#v+c0x+iukRMBxm%xrYZdFpY*O|)>B?< zKj*%7NDQ>`+1y-QV%uW;tgjO7%7GyfGf}zp zO*%v?sYzJ=4tWYU1A@%f3k3)wa(ex?paz_r6uN9$#>+;!kk#Xp6?-vXK;BQ7gW$H^TKHcoDGKZ ziK9}A1?~2q80V<{zTju4_cJG$Mt$nS3))yhzn4~l{Rld*gIH?Ys_TpY%5`XGcH z2D9G=Lr5fA(CZ`N)A1q~`!L7c+iVB#Qv!f(UOq!?EVubO<})uk`;D~%(51ROd(1go zxoqJ%j*H?n5wQ4emn!{qzB=aKXo%rB4onP2vMD)8tN~2aYZkIOw>&j9o=@EDJ?Y;L zYQXWBj?694)*egJ1=rxqij5s@kt4pPph;{InfoE>f_z_}m4ug2qNI_tcY1j1Uejl1 zu!V?W;Y6cXjk7)X15N}{^q#M9)ksk+YJytjz^i<*t`Ky#R_?BnTgHlO#X{2v30#O( zLKNh;dtayn`j(;W+pK{Wv-507#S|kAF5agqXGm?V{hE$m);q?ME8su%Jq?^6u`hu} zwqJL*=T|@>A|ONg!Q6)uMonNbKa+y{A||7;!z9~6A1604gVUh!!Mrx3jzBa1v2*_a36G09!a@SQ)0K2xFi-9rSSdK?R z@}h2{jk$H`z*_R*YG z26I|#oT0&le7{c);|C!ziPxh8U2APD^8^9ej^^|7sZU_|)>Z7cd~7I1|0u)>(>qto zR$4mh4&3Cc(OgaeHOX|L%P-wX34AuS{_O){d}u5|9pkSLN)NQ=fmMA^8y<#^N$G!L zq1qggz0!YK&#zHUmtC~J6}%S0bH`hO*=1nJB04Sw*mY(7GN|jjDsyYSzp3`F-vvHv ziISisca}35TRj9%)^-v0Cr!k;J_~Cz8HWFcuk*6Z&hE{D-6C_&^cVeEF%l9Vmy|EV z0XL_k$%E&%4a>3azjwSPX9D&J1+!&=`;LL8vsg1i^siZ*1I!I)@e)Ur`|Cni_g7tV zMywqFHY}r%$$M-ovDfSfGAn5q3O=APO0ecEi}}7p0vyc0gsyTKb$}_euQ{JrdaA~0 z#SW~5ANJrd1@s!0!%IbT2NF~m=tbIpEq-Z3^WzHkt**BexMWiQto_Z!; z<|`yiZ+@y%o&DSRAhX(_3lx_0W%`@ZG!9)(3IG67066S)tP&M0W99=)+Kx5$qiTq3 z3yC_bLSgiM%w0gUjw|?=B%yrl$`pVm_3Q5yS$3vZzrf@<=sU+g62hdi`uP+DM{aqig1M_{QoP6abl#C(3<|Ct66t&PDIWo8j3WI#bxmC_6e3}P&^}vi0&?(Y@ zdBx=h99!#IwDR_vf1n~FP?8T@g+|1DQX50t0)0T}*9RXL@kEyBEam=+&eO)Mp@DJc z0{4wVUp=D#s?LnlleF65lrsjTjSi6Ok6E`N3QCDp^FFgy&#%uFHnGi_FV5)HgG{NjH{cSN?(7>+L_86NV`aap8gv|WPQX$K?~W|;kaw0B?vUNU%=u@$_D@d07|wT;A45rK;_-%UdCWT<0^JVLO?{< zE#kMGs1UbUrld7DvX)nIqpz2JL&uW{aVHqq35)OByt55zzBOh5fl}Ai|A5Dpz`?!Z z<$u3#Y6@nG@G7mmcnuDQmD?#sVGH*eItlvOMVkvxf@9t!1mwCt0;hLynU+TYy!ar& z?6^a+vTs%7*ixBK4wO9#axt^JBW5Fe!0fiG%lw34ScH9*Z5C1GSf$Mzy@ZR`5j|?| zx+b`k#?1Z}kXb7i4oH}+za-yO$>>0#KdRJ0s@{?wQ_J(Tuh!uhoKB8WFYWURnC8wY zJE})jDe9H7_+WZC8wiMTR&nW;RegvpY4NWbl$2M*o;h*4`FHiY zb|47xuN1;m(lCTU0>(FI^MiaU+;Nd#X)Xi|Dlbo8Wt^2;{F51alV2$E1RilZ`Z9dh zOy#P)>`Ezq*C(lR&oy7P4Bip*_#>3lwyFcui2pN!p%w?_AmpqOnoEBJHJOg}BSF)E zf@VbZ@kM%SsqU0qXT^%A`|R7H`=1phxQ!kU(oQ;Wb{_P)!#v^fhu#Ybt32pc?fLcM ztRsPUhw`;p0%U@`ED;B|RM>q@AGHG)E*N$iA(?H)fy8Lcp(IF=mMY1|bFr?1h6U^x zh$YzgK>I~P^RBAz?|rNchAf1<+%A%v7&9h65d{eFuE>SM3Gj>D3YBjn049*Icms)< zVq-9pwbj&SJyjzh`8^5JqYPF`%ec9WxxskpPEt|(Iu2ZK@^8{m$|k&2*B_Pp797%z zlld>Ch)ixL#aWCGtrjc0ZI(q+=*|$2U)cDC1?><`#zstA z(p}L~Q-frg%ypCCa2@pH`AT7NOeXSJPi`pN?m5bp zWEM@@5lK5JsKC#C%oj+^KxLA$9o}}!Io&ifEQp=%<~NPA#18HF8eVe0OUCz8E!VxabVqaHv)ZQ znvht}CLN%>h*6ya_#Baa#dQ1 z+B!m^HN;zZQRkyQLdgpM=Q1VouMhkX}MC_T+wv*B)7v$f5M(Q36a*B94{%?n|PXEk>@Re;n5COA?U0_ zEzG|P%vxJ|xjdJ64{4qI<=;pmJxp*@`HOTMST~~}%)bv-h8zxy;?bl22?02M2zF=b z85VWS!Uqxki4v@!_Esf17J10tvo6d4!vjkwu#G-4e-MhQ4cYQ-69}g~>>b@yhpcB? z&bZ?2PV+6kir40CDREA2C5zbn>gh)AJq2E7*HwazOvTubJcS$INUD91F4WHu(LXg~ z_4;2D^5;tI5}?rl1jr!J?!>xv7hdn^fXP~=z1$8a^1=PViA1;#N#S?;Q$T$MQl1LR&#EWwE4l>4L@n!v#Gp3xZqD`Z=n0z3M%@KEGuKS=7#*K@GvApJ;`^{TL4k{WFb#%$zf2- zsc8?=GimU=ZVo_c@?o8OCE_s3f%O%~t77o@J79e{ixTP+4*H9)FM)%DgULJrk}Knt zb#9gjig%dmBm|B2^J6Q)F)@S0$G6IRZS;s#i>_!g#l=+Tz2?KOdebd}RRr#%Hi-&>YmuO-Usj*Q99=-)sE4=%tw2S<}h|4F`zXb`l-#;{m- zv=jc4_dK`UV{fMNJ<>57-7)dOJlcpX_b+^N|6@~&vczX*c9%JvIBg`R|9GPwPRT+2TUe8trxvHGxTE+cJc!gm_&Sa}hJ zha99sF@_gv6mM!f?DjJtL3%mr7U3JR($Q4DqX&Vas*EOkO~!3~!Z@~(#!A>l&O#G% z^kR)@_8xC5>=w0kIa|H)hb-(gV%ZiIJRY++!3(=i)lu(4if~c@t<`gz$mRQKqFDNU zFW0PNl-KOyuj|^1;q1})`g@;+5=2)Oyp&Zy7|LVKN=9>LF((lEV8Dm#&YExfrT0V@ z%*o2ZGT0Ks(J$6@%#%^bT#~c!m3l`oRwZ7+Jqx)b372cFrsGBKkah6M#W$Tp%}s`& z2o%u`OZHE?t~Vl4a35PQhj=&xgt;2HL#8rY?(8zGLaT0FnGe0!;4IJJ1MGwiA~X4- z`AmCWB7r@IxzF!!#UBv zF4X6`!wjF1;?hOv`{-KFeg^Mje}@2K`i6}-OctF)DNdaXxK^g&cka6iHKiR6o`E`| ze3(%?uktMK&`6%V_-86B<*=C1Yd}ec_A5xq-~UIhp%mfeW%F3BhPk5gYX~hzD;guh zx4L%ynkPR;xfWKW+hNtS$5u_UwMcKO0n+m3*JkZ95rIU5ew%LRMD)YQZ1HnilTg|CFrQ+){*-G91y@YDt@h9;^lbqc z;X3=?j!M(NR?1x{%|0yf57T5jIia4{kFzKpKb3HUr|mOSX`m7S#(CEqc+cX?XooRh z?*aInqg5GsuV!ZOUS*%AXc0rdB&CojQmO9<<&7NNDP})Vs`>^XBFARJ-cyj}!Xsf= zqO8v)zdrpA+Y!?s9#?_z<=sYY6V%wq-D@P)Qcg@gWt=5PTgQgn6@ZmyxSaoYn zI_D+2Q4z17ql>KEIPQ`(SXgusslO##S*4=Kah7BF->`AOHup3+C3WZ4J@dwr9>~zM zHJbvMb7+i5(^2~^7tXsK*50I&V1F1$nuAcUx zptCx;I@;RVuXYp0^I0X(!h6j~ElAp~5=)KkXa?EGnHytUx#5*L>T2KVoc&A@O&jz6Zm5w}P+q;`LOh}hw3qD*kyu4AsMyAN4(j%l$ zTAH$aobipGepJeiBvR@B*qj`_DURTJ+7YvNeCE_zF-=aT&GS{`(z?a@pEGLqE3bqj zr2dIMx*5aOE1ln^)Vxn}u;6b9K2Pr!Og|F<`4;L|^F`cTkX5V&4-pOZ7n#%272>GK z9XKX;55fpS^rLrvFzz5>$3?I>pEbmiUKae#gFZ_|>&wCD-^PiU3Vah08jHg-w|YGN z)R(Tl#^TK2(xm^If1v*_nW62HhVO7d88j9lGa@kO3{Q?XB{fJsZ41&a*&0XXjpuEw z5_IL<{@4ZHwj0Hf#ww9WzN^Ob%sY;Z>1&=d^QiNf z+DNJx$kQAyGq-s8YLSNDl(@$#!cR;J!h{Uf4cr;R#uVNg4BD1_pcb%N#7Nm^z4JOv)gB5)4- zfZ$)*>EB0xm-zJF>NcCsYKa%H;dFSsVrotjniL;<)_L}ej{E<-);z}>U25KQo<8zB#*YfbG(axN!?=I_ ztZlT!9gH`z`7?6kE-RUUB28xGr<5P;DSnGUuE#%CxpEcRr6m>kGfOTo_<``?j~U-$ z@B2fhSib(nV^C!NH>f`(U2sMZ9O->r+Rb06gu z469J1m@4;y4LI8W#*>eAcE44HSG+<2DU2SNKod-!Er6)ebcz^-18M&mTw#%X4ozSu zBbjah6ErVQ_RPwf{yP?iu^I-O51zy2D@j{F*@F zwao*fMzVO0e5kt-U5NHWK8j@2!=!e5JYxRPn83$lF`i%s2)lHAN7f~ZUy?H{Z-XU6 z0tRz3L*|?u(`oF$H`W-et(B|*mr>iv^Gx?lfO@8NCVJ8!lvzcn z886AzpK1T!V(ebr5THTrW#!XxVdXU*2C3oI-72-MN-1Z&FCoXv#(~*!nQ}bXuB(C` z*LKlmkExgUt+Ji04WsI5vlWSqgU)xb%g``Rt)b4hcK zQ7&ZS@|z;A(FcFG;B+8P)i^$mzmAg;I7|0wgd$j-hWCQO&pjsZDdROK3>}Y z2o0hBpv}d!haTtOO#3+(V%6^Wwe-taWgo&I)?_V`(30v2~=$)N2)S7BPxw3TwYtrh&AC zXB?X@fO}Nn;Q*m2wW}`TRw3*14c{RK}F7`LhG>P(93 zg}uqQE^N-3LPdW&f@{wT9Hd}>nK^X6 zIlUH8)TLF(suA{*|sB-6rg=<pQ?Rn+WeSC z8gmcQ=^ET&W&{o~zKSWRQ8OO;Vb6b_!n8B`45@n_6;^x7mtL{} zM}V+OLrFAJo0{R~WzL9>53tqenD-Az900xzsv??6g#bdcO^wpPJL3E|3fv%}0GQ_Z zgikWJLVHQrc1rLge*p3w&qjl%*`%W=EEk_y68+221wN+%JqqWUW0t59Rgc!F5w&NJ zY~qHgp&KDU3O2eou01JbkyGcf3CCEZYJ^|ESV6B3S>{{%?2cXI-_bmk7{YoTU4d-_!SrTtfGwR z!yc~a8}v(DJfBplpL1lD;*JWr{<8A}(_hJS){{*O{yiLW1fuH|?$HCqIj0>JT0hd+ zxUC2F?iY2P!)WGiKb4e|5wGaGZ;?y5Ou(RVIsD<)(oF&9$~RkJ^u|Dg^k>8q*nO*_ z<09W%HLt(;@#5{@x5g^6GUgcYi>g{s$>5{Kn+f%%5Ev=>_(D6?XI=oxD9Zo< literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_11_plus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_11_plus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..f0c5bfa2c66deeadfa462080a8c46e1863f48dc2 GIT binary patch literal 6761 zcmV-v8kXhcH1uN{XSqiJ002`*0RR9<0ssKMk@-Q$$Yn+-0E!LeWx^h)j>S4NxrTd3 z#$kDnfTinUIHIxCLP891wCqX%*V|R)OD9n)yL_u^HXViwQGc(ysn!KA&v_+U8t6pF;3zn=3@+RY?O$e7}Cil z9D#P4N&ANJqF{5dQiA0RRcirKc32!7Pky@uTqB=}LK4a89QVaX!pXQb%1$7L;+91} zKMEu$IvoI9coFJ6^Gmt`aS0@2&{fBSf=Mmhk6eXJU0{2P6x`WWNO&*acPB+erEL$h ziXCpamEZB5CmM*o5Rm*oWS_5mEbM3)hmMgz=w_%?$=b}Gk-!&t_ohp!2LEFG^!y&b z-xYr+r}VByy!pKt{7Wlw82bekTV@7Sz!epsTk7ZsuzBE9stLh0#gO^|@Kkr-pmjBz zJi<$|70*)C-`j{L%UAEPNTQ1AF=0^Xu>|;adjGRw$Lo!oSJ_L63)yJzP-lj&g*`2~ z{y?Xdun>!RngX*K&#WH-z%9E775L$u!ybU z*87D1Ga3;y%6O4VZzs`YWOOmxP7l`0euJt~1$M97@{IV5lZp~vDAR!LGpdBG9U zpXb9g_#;(lPT$HP1n@Nrt%h+5PA03kyd3Gg2Y>Li{*tu$6Z2}z+)T(d`mWkSGgzcH zsy;kRgBoBZ@lHKx_1`S^koKKR5IKM6IWz1W7)i>7h8 zGCC|4s*))mMN3C7_IZ2S1s#!%#MZI~7g?=M?KI);G5yY{A2d8T)9zdmTX=Ln8eLzBi(7+{JNZXIP*%GC(g zHR7|^na+AQXT+#2B*bN11=X{_{Qu*S*?O(9!tc#Fmitr|$O8d>e!0JO;DC#sI0?K8 z>lVl!*_8j$4N774=}Q!9@Kh3x@38Dn6(v{qi2$LId{JuIN9oyu3Dw&>Q|8Q*WIqG9 z-hUtf@)q_17p&~hg9D7FngA%FYrUy3cjs!X;eZt3f%{Z`187#-U=1aBQQ|nnAcn)qY(Gc6IGla>iIYM-{gxt=;ngP{-uMuDDKho>0!8 zv*57Prd(~>d409|C2nN*98z;`Jg|2+J0_7cdAEm`jGExw@akzr)8p(8JKT}@G~3q2 zS-Aj@`r<*2$+>3V2&e=mnn_O$$vs4{Ms=Ef6+{lBv;6jQk}-18n>K z4bV8~<4WELXc6W1Jn~acoTvdkh52%c9}UUYK;m@ZhbuE;L0+eU7HkM>fYYc2kG)^G zOYF75hQ4CqBx*l{Qd#F73+XYcN4yv8C*37aAN>W>@=AgTr&MY~MszE_CX}X-9BQBq z9F_l~9erPdg31)}=Eo?-(M(xxtvP#KBRXDxblH%Z+hwTq)H;boBAs*QmZ$+M;(SRJ zFK445(+(Hp%?mN?EaeAwCDN{M!LN1|jk`0HSz4mylomL{N4O&g2;{4SJ$RFjg=dQn zoZ0$`yAR>P{3`{%rl?95o4Tz-dF2w9NOmtF*+SWv)})TPEi{uhYD4p7H(~%KjZpNT zarA-go1AO~HkGFc%-iwf{uLv=48|Epzxkp952$<$Ew2$Cd;phUs}SNF=%rzH$lzP< zi*r%RKBA1o3FKMvGR~-yUhlX`Q4t8X!anZYcXHc@gvc=r&rs*V!0v?vk9`oOdomIh zj^~!uo!Q79dfpqE)kvb0n6L(OTHIsb8cv&|Z;66x3^#uq#4%3M9?o(T{uTx79lboS zNs`yt=h314QT^Nw3*agl`RTx>f4n66U=PDd&>5s$P3@EVgzMLWw&F&}r3ScvcBR_DVv_njd!S!?D# zrjGtq2QoiJ5rjBHC9_TO0aWp%rktphoa9}U^+O*s#f{jx*v`^vgsM|=XtvZr_>em# z4K%t1r}3+#81pSLQE>Z$4qj{BkT2V(Qem(KBL$ay=+Jj^{R3HR-k9gghK-}ql}N|=yIyV zzTU+L#5X?}hJxi$ZLg&|m+TtWu#6y??JMkI( zSA{H@jQlWSdc6NDm9$vv&COPb`hN`Zl7qVxBFZ~dL5d0Wia^;9DlpH3^VB?H|L z{R^hjYNu19*oxOoSRDe)kX?c`&aIxEh=sA*^~$$E2X;>1>|Mq2Hv ziai7+?9U$v@h>PqXV>h>Ux}xPl78iW3zC9Wedil6ISJehup09{=q0317pp;IVh4Zy zd#mEg$rkg9P1Ir7$L^#%a5-L8^8IRN_cDLtlW!RGkS69}h zmOP%0Tdz8Zop@6Px@@Z`z3Hc^ zf3tumG89f(xi@b?UW~vOP6Fgmw{G->QC@`HpbJS$W=Y}dIB2y$m9o0x9y9z50|a## z7!w``dFNWPG_YOGLhc_MA+0bT860!yz6KyAs=f}e+>lrk0?L=G2R#tG55itniXP?A zXIA*QZ;q7moC;O11pz&_EvO1*5ALweijgyV9`o3hgbDOp2F((r=HY^dx__>k7_zC4 z3csPZ#AV)+?7c9#_ivCGSxYYx6mkvRi)=f_(yS?leA?Qj8#QhEC=aH{qRoM_12%Km zCvKlgINw73J*QtTH0nT(nf7C)by~=CQWF^-OZ`2KdFTiLo^a>&0wto6lC$~2L&ZXq zs>xr?@1tOzV_i^(jk4YzLOjqK<6a zVw`G7)&z}c8?cRinP(D2iwpw3>46KRVIYg~O_#jkh(m?bfV^h!z&J0Z%z)pX{rA?O zFjdL5^8(yJS28V6+y*m&L)aD@yy{lU{UY8obW9eNAf$R*UA?V8m`6}0_{0YdKg|J6 zOlTiwfgY4T%+5`yT?D+ew#e?s`Ikz~{;+i)^J)ZAhmm7@JmRVBb8kaMH$ac+ZE%bo zWy2?tQZU_D1JM&Hp#KxM+kokeoi?SUPPpZ9OLOjo5uM!{N2KvINnt?B=9V!4UuwDSTNIm<3XWBJ#wupi7PJSY zNy<+)v9$Tt#JvKR=NV=xIzc`*>-vUNhB#1Zc0+_4EhmcesDr(_BY)=Fq@wADNz{L* z4U8R<2{`vw(ct@RJcsJ%)3bJY(x%8SHy2wtR9K(etoUH(-l{}{dBNC#iUlyC^qEjC zle<`{x5jjF3@ynO$oKS${aOTIeuU*?%p>3E=_J+mFN?eb)R zi4Lmb8(T<%?IRe(6>gjR;?^i?t~#qB4ghp|ro zYlh^prJ6*hz}fsCOeNO)utzneTW~Gc2W95^l6nLOQGhA-P*VqEj`B@CgICl>N}w9h z=*t9xjXhy&W|Lm*AW( zrj)(&qHHQ@$IC_4d*cWHwL+oB9h>7Te2e41d$||<+*6V5{j=`#aSdc>z+xL^KTsK{ zQ6R11>HcX4e$)MHxt3%h-O3K{rEuKJ%cSzw-6|zQyZQyavT&sfdd~B2DElA^L(n7l zV0QR;VSS%zqZ$q8OT;Ul5(+RqlmCZ!r505%fi?yL7Q`U!5@u!8OcJhBn=U8Kr z>bT1IhLM;%lTYZCKEvxsN>}TQ^*+EFmvg{MTPnKwO33W2`6!7 zP*H^wtV$;{Zr>2;cmNYpyy|4}kK;X(|HcHf%NH|=8LE8vC8F%&rLN=rNRg=4N`2gOI0Z z5T)4S68=z7#>ZXtm!NI6qh7Wogiyx;Drin*;kCmO8+g8Ny9}y>mS_04ngu(AP>c35)y0Re(hpQ)Ucei>qfB^p7k#@4z#%jT=D{vcq zjfB=hIX_=FP%U+uB3M273%Nb&N;is%=96b0Kw8OVX+%&~(A}~-F^CCgNmr)s2wVZ< z{rXad=r)FJaqFk!QG)VXCiQ!^ypyTF=noNgIz)oF?ORMRH5tI=&dXx9$rNWxMIJ;B z7x=sEto_h;VRepPyO2ie5ub_FQMV|R zL|^(BTt~F)`~#~HDn+OZ1+?%D95191On~$^vSIgt{ZKy+f#U^Pd3O%$MHW2QyF-QI z-l41Pl&0EmVhA{*=4=-Df7WWYqf^}tdaC+6zsp;%Vl3wM3v29?c@v%hXPW}>VP`oO9;<(&~S*3|yd*Ew5V2Lyt+nEh6b z1Sy&-FAK>xw4jj`^m$rTLWmyfYHlLMH`-s|w=zWe8w6x?uYNvD5*Dfn2>s7VM@i2C zE~E01BF>N;n#^eRVL!EdLXwun)4PSQaB6djLY!t;R7| zBn!3~yeD{BdlD|^=78Yic;Z;4;@mXWJ4pr;MTat`uf2)&d$jbPTDs;>W)y+FJ<0i( zE}6%6^`H1p!goHDsf-p11{gVIWxz}WJa#{92GOh$?S)wY3{anI+7jG=PGG#t(L7{# z;Ozww+exY@Sc0g5Xf(ROZKU(?8J zk#&Ygs2QFNw>is(FL=2RBQ?_3ZxDD@RclY|Cr zbXFH{t@03BuMH`Q73TA)U3!)u6p^kr{gn|!_@9jUih-tqa%c+(w>!$A;0A|==dA~D zfUWj8q9v95hhT7akQZJtu{wy{_vh~y{0pyLStG=^4BNCe-hWog}qgeosF=C$8}v*2^`^gk`g6G5N8 zHOF@?(Zom04P?0LRvb2ek!y!?t0)-Odoqqq* z{{R-9L$$5(%gpPEZmMR`ra^3VgB5Fr-q-y2R0j0#bG6f6x0>y0cHYB6LSvHF*vA2> zh{TNL!EVlWN2g(CE&{Zf?>GAmfSSG{>SRW8UX!Pa?sZ{U$$Zz^b`@Aiu%Cq*1s0ffo$KKichl-owQXJ;XRR%hJt++hXP+ zGZRd%@5>c})?Mf$eXGSxL;t`^k)0`%n#m-3=YB7y+L=5&;s+Ds&NdatH!hWDTAP~} z=mE9PX@3M{oR|8kwd;WPrf0xCME_!(6`rla8%CD_nj+-K%+-^Fy2G&OuPnt7l&_uE zpC`)AfY6Z|@Gem_(3)y%f<(%@k1xJsm}&1GjMXUocb?-vl7o!c~34w^A)it)Ut^SLa%=zVcDRpatI{RBNm1aeIp07BC%1$ zOy`YGB$9@|YGppK>mMCpz`tzNDn4HYNI>4gRX%_hpZ9;Db_xCEqCu!dmT8hY_Si@% z@`Kk%aVzB|_EY@{-$}DPomo$K{R~Lj!{iRzsvEyg)mjA^j8OZ<9v z9uCu&&JYaV5eoPvetMSQ{t?XcKPS|F#nyLi?MCzcUaXVN!~2*w4Pt22ij17&-mnD9 Lqqs^Y$folz$yXYR literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_11_zeroed/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_11_zeroed/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..d5c2b81fc8b7be37aacfaa585e24f9780497c7e3 GIT binary patch literal 6759 zcmV-t8kpteG$gABM*si-+(!Wb1p)L_8YotZ6b+)GL19sq0~~QV_SyuXA;6+X51n)i zmN@0+Gr=I*f(VGaRK30k9V(eGM~?GV22Kh90ERxWfsjF0$5wz>(~D;&y@M(7aV{D8 z`KNQnM7BUCZTtDT_kH6m%>@na6CjbM{--JPp?T1enwUrnY^c!9lm21Q;-PzEMMMpG z)-#8KQH=Uwwja`Q1jfR2N8PLvtb1ja0XCy|&7-M+4*bTq|6QV zkp7AeB8o$+Kix3uBliA4S#Q;zVRJagk*()5Mwy17MfbLqPaq@M<{-@8S~PmzSLku*AWMw z7qkUkt(B_l$3Jh(f4MH35+90&0IEZt(<8{1(%+u!#&)~vNHci8pVjQ@O6&m zQNCs+dwZ~3>u_fD7y>X79+dh~m`>jZ0000hODaqpT{e4MGX0dK#JetM>dWZKm#%nRgz63rU${z4{67c(~wHXap)RV zEIO7UBPMhyHHXI*mqq5=!l|a}LAYtRS*1Ta%G$V_m2esrj>1FS%QP1sf7uX=)J~x{ z^g3}x2$tC;o53aV4pnOCPZU4@H%%UdhRaF3z65o=KH%80;;7?sUtqlQnu~#x*e)He zr=bvV+^q22KWkmn#8U~A_m#=lN)*G`{03>FjK)w3&@>@ zw!Qi~PimGkqFXy#%}ZXq9rR{a&4m_$N{OQ6Tj1JL$jtZCDL^)A%>5vulw=(&wc-WN zlnJ3kGM|1)>rx)ar&V{@7o1BWGL0`QV0uP4rWJl`2JuNDs2*?B594_v=NGZ*NL52Fi7c8zUUVB&E;ZB@g+9?#_NpxAY$ zHUzTh5yPikszYIBHJ*O?`u%nAXfHn3wk@~{ltJv{W9wrxd2(pp!yX|A%Kn~HAx{^@ zS=pV(i0R)mW)1U4x0>}{L~A5c9ix4AF9_$wLP_|xl$@66B7lcZOu6*76(mwjowUX~ zEuP|#ErfRzJDAbKhUmVCs44fDSi#kJo6gck*vW#ZlRPn48*s0A%0UvdxPphx`n0ly zV_!0>`&?VWFZ%ftf4)P34X^Y3>&wo>G?4qY^xx4Umsf^a*b6?=G`6Kw;8K~JiAX_S zAO#Yn!=x{32GxER^i@B1jL~>r?ihgo)ui>v%w4`fn(ZqX%aw;V&&7RNKXl>t$1Net$k= zyobl^M?wyPlW64i{v4V7{XHD8nxol)@*PTp&u;yKYV!9(Vq}1!^@U>UUU;)RQHg4e zm_VwC$ij40**w%#Ydc}?$dAVp=8E&LBd}3atR7RJy?*H>8%dp0kuDt_@TvXra9gBX zLbNLA@w1=R#%DzMD8!CrCV6vbg-cpgFF;3cDa~R02(MfwQ!1v}=b!?4M93|3grlAn z%tzE%I=76K&H8~-mhK~)6fJv;2=u@5xJ`cG9!Xt%lTM>WZ0G%{mo>2#(DLcC_6v$ADVne{;~l~cB+reorNkKseIX0f z7VtLU2VHq~^R+nI_7EjMQ2ByVA zuGnV(f0rF%1^9jJ>z-6(+mN9M8(PUtmPlT7I4EA9QB*u7&&VvXxMY!j+aOC~0!~}C7#D2S ze-$*vMszF^h!9Do*{G*ZCXxxO!D=7T*o|A-&W0>3`NxP84mj#@M23Vixsv%->&QW9 zTol;d1sVM)K(3|RcLWYa=^zc({>r^E0033LE*w_G3Cw)cI#}*Zi-964&GXfXu(it$-o?zu-0fl#fU!$g5wDOS zzp5JCW|rdxHd&S&bpwcn*M zaszpSO+u=(c4YXiE?02fEYE8tR5%KeULqw#Li61^2_$8+C>#v-dMj4J>a;L@5U+pm zbe#_2!__i<6OwN!XPv)Tf<#4|=aY7o;FqJS70wvomJ+rC!=_fePifX>E8)y^zJDgX z@N}~uH_+E5=D=J@`liy1YJ1XcF6-Ezn?rp%8w9h58bHbyVD+FeqdG8`zl5RY@uc2< zgaWjrc{yj}GJz(3$hZG8BkA%4qa5RsPzcupAcTek7G!BqeMSj(0UaM*irsQIu&vw~ zs3%CnNg$%4)=J`<_&^{Pq&7ccM!~^vC^e?H)z@4CHS{wUd2J#WV%xy3J40+$mi-!4 z^E2Oy!wC5@EuO=~mCNi@3qy>zzTeDLdQ^5l>Yyx*arjrg)^B^O=+WlNma43`aOaXn z(64vV5PXAnRegL#$t3*wM?kT0^*HF)K>5bvVO-!s2bdgILW#1_QW*BIvAV!^NxysR zUKt5q)0s;9K|&y)4$DZoA(jcYRyrl^`Ewv*Ny~f3HUV8cN(IsnB_yJ^@c*W?&&sFY zK?`g?YT@U6YoQ+|DBJ@9+Eo0Yf6!UcX$N0|pX)Yts+Yr`DQ>15h}>eT9rvUZ0`Q|Y ze39)UdjP>bR2}X57pA4k!S`9ec!HjE|C3wBt2f}xIORX}jq*j3MCPwc76%l(NXmw? z!w};u9U5bC%nDK=Izl<6nxoTGB{9c3;Gw!K@;S`^%W_3*?!T_Mvbge4HMyvRr-0Yu zv6t#ovgg(tXq$?t*(mpu}sw4Zz zyHcezzh$@=MZyG#($HWEO!2S55BB`eXc)Fw;scNPZ`k7r3C3otMWGO`Yz~?_0>$4j zL^d8v4~UunnA?>gxKOKxBF_~GgTHvUdN=I?c#Oe>fw4;J^h68vwH&KcNiUpMOf;88 z<{tJ)Nh!BNMV#(B@Hh7%KBQE|pNbu~(_bwCqNRg5-)$f(#mbN90*NEg6Qp{PmqpeP zpJq1?3~O&^+|Ye)I0%V%3Zjr}4I4=?vB3yEu?iy<^Oj`i*2*4+aTM@YG0@?nCO^w| zW(zcIJX?>pJ7*#pU>q|qu5epxhA5F;{WyUO)~((MOJieB(_a>2a1CXKE42px487J2 zfSuLERD}gQ`)+3igN>s&v_F#EQ~^NaB9@*9rV6{yJwmI=af$VmB?MgpS?2(lh}$rI z=v$E=eg8aMFZB7Gm({zLFUg#%c*eTUx+HRdK01MkRBSWZ(>wvj>d0uuqQl79mF69-KL9RnR{K=6(>gR zEv*L!!sJ*2fs+ed4~4eE~(@7JMUFoICt4E4KF$=FdjE2;n8 ziO9-|FNcRdD~TF3Q1eYREc-ONcET)2dD~5Jl@E~&^I=FHI-U7o-s*&G2!~=J40#z6 z1`!)4!Hk{tIMm|c#XOh7%|p=o1T}EO-^tdLr;$R@bc-aIaY`&)XVsgyfQx$#yXBgd zs@(2xUPFnSI}R>Q^2^cODt~eC*DT>X5fz>%@h^!>7MW+tT~{dfVJiWTCSxkLNiIUH zw%5U1jAvLaRDxWz&v`av(L{+%Q2CRtm9;1T2F!^UypNm-GtZGEYdY*;U3|g%FBgEc zbs>IQ^j{ID<1&p^`Y-3@gD9(}2~FX(*|@m&+(MD%KiL|~MOTu8R;*NsM+>u{aH0KZ zMg%A-U8m=CJYB;iAkRd&^>EL}1w#`bEw(EH-;-X6 z$XRkLII6|okc2MnhLREx1YI^W;SJZ)^g%-LX661S4DR8hKh1%1l)H)CC2}L=lBy*X zAjl8VMqp-~u51QaN;9RT8t9baECN5-$V;_b|LM%lX7&(-av(lH753{V*-+aQQ+x_Z zKjXIx(O|Fn#)Y!E_4g2s=tOvHMT|+yZkzE}O(bWh@R%7FLc^0W@XNW52@{?~n}cDs=o4LgwomJZDBHwyHHSqHSLnQO=Q ziO7*o(6rI-w?zu@4N`OCpL2PBLY90-!4Q~|7CXD~yH-AJ!cAiK8t>kG?w73OnMcp+ zPFbVWAae(#YqUYrLv?Pqus&k`I+Z0V#G2@P4#392^fiKy$Nm9JkLbkP=U0`r078DT z+7<*P9?#*8I}K@Gfz0R;dMQGxn3_EQRau$a3=*H}clXdo$SVRu81KwpFj&BU{1R~0 zQEHq*E?KPF7gSnSvO^EiWV=CNAc1a5{c+lNpC{S7iuG!Fpu28gy@qal)6(1B90^^B?Z7@XGLK?ni2b|*;^pbGEE%@*4l zxkc+Ig9Yj3g}l9YFo7Lx8OUmgF5#d@q!1`$T(F7Ny36P|9UlVCMn+lNXl1>ShM!q? zQ%-GyfuRb5sxJXcMDAbEj3-H2x(bl$u}Mbd=Jtj4T-t^WFXklRh38W3)+SFp>8t&u&~imMTW((p1z@E|`jE_>u5$D2K6^1Qxs=^+1$X)9lI#UhG0U z%etX#MNB;2Qv^bm;H&0QOty=xR=#{4WO|~sB$^j?4b0T>Rn^qC3JQ8+!BL^eQl(Qa zAUoshfwEN&3y`8Or|3>^9aJ$;dS{Rg17CKycUOANLCQnBN?5x)*`DF83OlT4-eXMA zj)_uVKo-3q!_0|xg?hAoK72Yk9y`+C!J{474qEJA&h~Uq)oKly8KNMeNfi*`>&8jj z%F7+;)^$uBNI_snfm##{mwuB=T#T4>r01-HIwLww*9h06ejZ?+%f?S2A4}gxFIHeO zA^U``xve+j;Ry$MhAz$5%n97PyEQIxxf`9M+<}WB7Zo>3sPtsJ)Wzrg`*=!cbm2?1 z4tau1s2~(5+-^pFOdXg)=HG)DEKUNhn6xfr^0+Pj%74 zy8EfwH?oz9dn{$079oZ&KJl+`qELQ9U#Fbh(&h`F2#WO%u`9Dn<&`$-s^jDPcox_} zr=B`3aX^Jotp##w3v&_V^PhaxZdv$#tGXOJfSXr?;vlt-tFsr{C^5o%d_-;krO06J zv2o6?la^{7wKFw77_N#QI*oFK{jB@VRdl1F=lq}WP;*t{^51lf>&o1Y{F)=~#)sDx zl$^TYX5P6$7YB7uPVvK9wiz^o^HTK}h+eNdPBEd1{ID_S?sSQjIzpjBWaPKith3}R@Md!i?v zKu0)=UN3!Dy?kA}i_{VZBut=S`ER0&Rc!JC+n`%93p=5Op^7E(Z4|T*geC)`I(ms8 zrA=`9l|?KQfe~!7 zhQnm-&9%bsq?@SEfg*U8IvOzY;BL!pkid4mviI(bUb!fquYyyhD0y!L(7N?j@V+}t zV9!EgM+XxZJSG{pdQt`-ZCP~f0`Q9OAA8}O3G**KA2_RPesSCYvs-;!d~st^B?K>^ zhDD9yjAYX?^&kB!;D#f`EvDcCERH*2wk_k--%aDiFIadWFL{Y%9PrCN8b0j{&gxkD zsWc<4N(+k7BFWJv0q1F0O}C@hhMx@GOaB|lqM zbS(o*0oX9>&jgW5Mh-3nJT_pjfDzyYLi?|GLQY*iWjyeyD-6fXnr<1oOg>#`vK4Ai zI%mxkBt6(#{Dm9)@j@7z4_P_F_v1=1g!jgOWuu#!I>=QR$uHT-61-pZIW1BNY-FKr zi(KJ(89z8G!p6-I*W5vxbP9w1N2lc+ocdK^&jyPcR&pCd|0K$pj<(iO%w9wuk*~zM zCQHBp-_=9nd!Px}ttSTbuk;Sk$cNoN+~wpki^^ELX?(C5q_{X2Ljvn{ZinxCleV&k{^!F)4T5V; zRl#CG;}hY%d|qp=WyDbvU6ygGl?aVfQ6UTy+ajPEm&$-)idFp?22#Mu6@_3Xq2jtb zM!PHuOM{7l$@QmKL}!u(okUNlOoF7fYe)in|tzVu69XI3IG6Q9+?_e2=8JLxhbIrnpVgVMh1Re z`G(#-0qOgUEtGQ=0Z+q7L9n~_DbZ+kn5rk7S)>y}h(81yH?71aoel|4G(#n0j0hWU zv85_4U5$5$LpT*&pTi}+K%XFy*_{x)gO3@Iq`~vfiGp?_B}a=t1htog`YIO}2utP9J2GH<5QbwAJC&abM-=TIR+L8=+~-g-?XHZ0gw z$}z(yzo%Oxqn;=yi2*Lk61Y+gl|EHW{o$BB$6Teu_ez@o7w;AT^mvbpVXJr_($HWu zNci$qnr%d#P*NaK5$BC2`!O>4(}1Z?miHp8l`Z`(Z{r7VsM}AENh*1cyh+J&1H|`W z;m1p`e z?u1P)4~&MMtyA(-b}01yC=C>kYIWmNal*L!*Q+y__Run+v9pBoaUxdPI)T!{xzq(= zNjlmM?~pco^CT3qA>szqRZO*u--ZQO*cdU!#{$Mi{%K|Yp1dA?2|H~Elw~RD!EF5XGwHuf=acD@A!&I#$#u zOW(yU>ny zQSQ3ud|2w~$;QTV;qpSK+jH+Q%E4g4{?ccB``S4Iue2aB|2K2>N?gfCwez|54NHS7 z!oK`zmX$XFMyoZLh_Ub~Ug_#pk);tsp{|qCCP0;CbpH>EA4_-TkKT-*_6hceIT)ZV zTLw32cKmcULEpii1!V<*O?cYdd&aowjJhP9Uk*k*?Y4Xo_@PgAW`qh1txo%2=1tR6ZQFVT1*~_YH`+k}*)PpYf!bF)-8)c0%=k zhS2S56}`yHbz@jY9wt)Wky{X!($M>8FWqO8QUvmyyu#Qs*@}m!Mmct$*HYd;BFqH4 zt#T*#_lDo*sRrc19A-So3AzHXeb~H3f&eqwW8i#iKP8^^-ZRhm9Y_(67?b6m0nt~3XJu-S%?Arma(;Eb` zRLp0er49DJWDm7S7-yO?CgTTKB|8x~2!|9DC4oYu-T=+p{#6G&uUrCk%_{E09b!O~ z4G8B|It(AX|v|a97BnG-LL%Oxk0CZD&dpQ?)70zE75@<7*TEcV# z%(=lusJXBhm z(hcwdKXL}kV*ldyR=@GpLtKB3x`CT8A&>HDa6yk5) z-EgIkDu=+9J5VeDCTJl3MJ>Z($m>Dl#HV+3T^)I!9cyd^1mg_0#)qfIHMIk+UFv(^2d-$QW=Ll{fDPBaWRb$7zu%d>PX|=rfG#|G$ zAQ4oR(SUI<^S6=TX+nwy=U+U$HkE7m@gH_ zpXVi-%c4~7c8sKB(Kcw~jpk*kO14L8%PEKh(zSxhl_lGWs0xu+X~{Ic#$^RBoaCoz zjgadwz`!jb9I}LntclkWM~7z7DK?KYSHFmphb_J8BMS-+&gD8p&@3}+GF9h(w2OLCYIw~P z4DPnpOS5{GLjQe)?bwbh1!IXTKg-SG3<=V0jZWql=w^4VN4Y>KwA>*CzT8t1pqd_1 zKs1NusjtOvv5{5p@81f9UU8L|a&W{gL9zAhv`c~zwgWamlaP4?fabPL_%x2B-4i+M zk>T&z2o|HFpT@P`gVD^Eq5*IHY>~M_v6et-STkUb#OhIe>(SeVi~+JsubdR|E{$VH{0U zY&GZ!L7vg?&w!x+?2nO$sr?G=+0ShB!G1sm7=7`n2n~M`NeujOXzPLIpA075(UjkisWUtur zK~y>^hw`Xf2!IP(ghIXcMw{qny(E*0F*!au_LzGEMb~SC`$SPlPv>=NAB&K#j38V} zMFo@U92*cPcKZLAX-vThg`xew%CgtwpaiW~9W0)Fuh{{n(L2vIT@t!Armx7YV2VQO zFPgLzHQf;FUvD9b+H$$?gY5Mh%}xEq-ggk>#7@&ngKqHYv)Qh|Z(kwBc?^GX$o&WZ zRpS|i349oMRW|0usC1thX4T@mGF-hsDlKc&%IH;;-%l#0rnZIN2|p9>?(?B`9)2)U zseCp3z4Ylc_dKMdiIB#p2DG;lo{RkR+lp}>MS}zetZ?YF)Lws~eS|*!mAT@Zi;pqLNr76| z_Rou%FYP$bIM z(b}b#Z(yhu5jJGf!i~ASS`Zil>MIr!m%f7+t~8>Q~Wy zg5O^p-V9Q5!XJh2S_ivYxB{Wi@6xLF|Ip?-R(6`#fO)DofmQd;J7Lw;3H5!%cgrR-P<@TVaI`Y?Yf3 z6SqUuDW&SyQBpvunNCa)NfL`m?fRSo7S@Ub-zkBcB;X?vZZf*vlwI9Xo6~$vw-{e} z)@v$)nd^ym4(Q5bhT=hoDu&iJHN#<2>X$nj`2Xl|gtN=DMQTQ$5338-<=Dv68ANQ1 z8|c;&%~7;^mFe#o8&5?2@WnKvCZu z%Q7~>bUeS(PYm&lPhb&iDu{>E=C^sxlUuv`;JXy0UK3n}w=*mx)cB$Lx6$b)GSKQ| z&WO})lxrwzW*^O~&UVW@r(jah(q7fpYz^@vqfaOB1IkGUoi$;WI&`Ny>_E_BZ{&4I zj&(;dmJ)bGw`*&xlShjka;h{a`%fDqhMXc9_) z$-OGJvH^&CLTIa5Zbf591}zRV2{0+wCKkg$@3kwe#4ZK;em47+s z*c_;I{GSI%b#^%@8BR3emh!Oe*@#Os-BNSM{m=zw!DH1pdaFliU`nEBvo0^q=9}|H z%nXlTRaj5a653yZ5LdDE02jT_O6kJksv2si)i-~izON7bE%@?;wv2qDZ;IGZvjewf z{@AD@ew$xKi68dGD}8Icj<(!dfuZTQW!fDv=c_niz#0fZ1C1*S2+TS}g*5ZO$8aoW z-*~^b;RUm_tsk+ZsF<(mH;C%?O_L(0a}OMTxllG%EQM#z>C!V{uLfJ-TIgQDuNw@r zFve@5V@qwBwhgdYJhF3Zu{Cn(<{xMF=29SoN4jS=m9**)O+AMY6awGH3>QR>zFvtt z0_bG;F@uur1XMS~2U6-9XQ4kMp2`7Tq)N42>JXnZe4UjH=4MoG0W$2hMQ(eH_y;}=tI*d0g z#tQ(6TKp`SNLLJmt}QEEsnh%ngP5){&2(xscIE-u8#%`BwOfp{#-le1{j$RLF9`4o zKg2SYv~xKngiYfS3Znw%2MdodNrps7rW}*kpFL(#-3>Pf0000QB%HpZxLpmNqM{_G z!d|W|N!@Ed2m)iHkJ%M*yRLMDwzhso`Yf-t%VUk$S6!zx{)aO}vj=|mRsW0jCnc(o zU7T0=x292DbGOg{ZstFI<+v@IUt@j#=$K$o!QZe^UBVc`ccz|)^Z~ik%43OSDA@K` zBm*S8lezhp28_?fG#9RM)eojsRvGmg4@P3IlMnz2L%45gplF$EaVp3h#&Q$wjs$~8 zkbwYXS5rrhnT#2x8({l7ul-MdIt0l758ShtC^+SN$i?G1C4 zZG#}9KyPz;Xbm*1%8w&+54*}IM%$vEcl1B@NS5sV-p4(I!kPfl_ev$MIL`yLK*9|F z1PIvPiR(pQ^$y3N%QLYV(7Rr_IWSM>n=rxUVlLXqA>EEfPhzOtiycZU|eV=&gb_kua-WYes6T&TEVF0MC ze`j=&-G=TRphMTKoYxk6uB4SiYDi%~RXq4_4hH!e|0ha`u4~KHS*uI|mlJcKGj#E0 z$4sxkgTm%MIG;`ir@l?@c8YZQ-Fm^2xNv5fEKNiKavj^%4Y{)_+aaE43{*_1)Zb{C zp`UHZ1@2;#;L7EA5eikc>Xq8mG8JQ&24@-!}@U_Q;~& z53At~+q2z~3I$S6-xYsU2Tw1Nov%dDZNfOdtxxwzfUc% z!|0Nizg}|FVG6L8^tT$%Nd+|J|Hx(Lnn>sml=a!!(u`5;R-Q_XI|~A}{sVs+X&+FY z`(eDvJ39~ZSNW6^QeMb-86r~v%(XmGI1QU(O$=B-WWI$8so^vgK}cl2{=_# zB|RJa51l)J5vy%@yk+(P(U4K2ozquah=HO5wv)HU#*C6(wN3SyA>fMuXC;h7m zg-y8gs87Ln(6g-cFol1zjZ#oP_qN>PFY~yw&BD z>%T%W8}Ag6Kd^Y>I>sBD>HDm?g?#EALb|z;W=ic!OdR20H;ENvG?l4AZrahC+L+^< zjLzVc=X|iLZ-rG5vBHO1+_Cy>jMpT~r=_J#<^rOBvE%L|lCQWrhy_9~1!xuoW;1=cc{_y9va+Xb%zg zSwfyw`N8QR*eRsMe0Rb)yN*9G0m2_aU8d{Qmz@#A~|$pwh$b|w1|jtVY2r2>|g zByKLY=;@_)&_#RLc*2oJ$Ya}rVEdK%f`dpT1yZ`h;W_uKA*&R-O)fo&ODa?{#o9B8Lr zIVCkqV(3LAxK+UBm2*QuU91lv%Ko+eIP&LC3IG6_)7^UvT=iF_>8cvboQ~0DLKFk) zt}PzNoQv%?H)!S5^@H?O{mNtw{Lo9I;?<}qgHZ9a+>ewL6a&gd$L82KTF}IVg@MB> z#*VuLQB$XZ)0=28h>jivl-jLLwkQNd%mN8Zu=aoX3;q7WnD42Q5UcB^z8Jn2PD~Au zbHoBxuiNckL#v|N=(lQ4_Z}GNRMjr*`6jQy4s+~gJoFOx#szgjz=+1*cVs#i9`K-8 zE-yp&+l-`Wd6gQS0w3;<+->@EOdVFbIVCI0upZJXeEaQgb<6j}z_fi(uUkrj&6^Bo zbLNQKOU%DTP}bdX55=TWXmH1snlfagz(l`pB)eDuH+7J+l*x_(s)Tb2Y~cBbbdUoe zV=L`wmU{l#5(fv8u4z_xh5cSDUjAqYT9FKNsX4{jd`e)o+(aRqJ!=C6u2K$c-xOxu zbW+wEx%tPTt*&`Jq$Sr_|0#u_Lw!_y0Vpkp1Zb8>7h&59Mvgq@8GzguJ-w(w*Jc5H zM#qZXb?d_vpC+O>S!r&oM@2Q$)W_K5Pvo_`&`YsHlvo-5ThNoa0mVaD%KI1e4@~V? z9Kii93bLM@E0X{iw1wvdttSEHsuDra-(ch1qF5B5O7KAdLE@&(8A6vSzP0%@4fJ=( zCAoV3GY8cR#X1l*YIGo8<&l7_J%edp-#C?NJ+%cdCITV_y7+pt$gd50=lylH6XZS>_87>kz5zOf)|$yuQa1 zCQ{FpR(%Qhfc)pGsiA1h?coDrfdK*B+hicDNq^d$MI(S*vpf)!^nOS@cW{gFd1;}o z6K;qOkT?Sgmh%_Ynp_E#Qqjc|!L>IlY~L^q4D5B5e0gQANyk#C$KNT~24%HOe=WO# zD`EbH5h#J-3aF;6EA()#w#?)_$nM~D*a)nZ*4|}z7vYqu`5wtvO=TVeSmKTY`Dd_! zQwKPK0nS%t{~v4`Lzv?f^SrSt8!{+5Q6nzaQMT^=u^`BdM)JVdXSL`kEK|;5&Ahnx z4u2j>@U56oDu0e>KHbS}+Eu(5Fo=o3jT5_h%twB}AE6hWA;k`#ZSRg#ykws5?$TPp zTYDmM@Ewm&ngg`OPa5EZ>dUQqj|qrp%4W><1o92>CW$h4PHr3h6hpz>81s!F(x(vw z;zms0av;HB=9P|9artAbx2`%53Gj=ocIi-lo$LLj=WH`ciuOW+U{98cLtsw&k%-~K=RP{w$+(j!c@7~ z`|MU@)6G*1b1Iwb>8c3-!=&6O_JZ$eFT7*h4;hu9+?>$5H(xyqnBrpy3?2>EGhJ3x zpdNWXR3#=R_zPfMisk&{#?3I+YVfj$^vz?P5I67E>^DR6b)wh6d3DbOXJw(9w>Q7M zh3t5Cng$N2*0`}u*>(Hgbdbc%a9o06*noUJ>HmqEWsb%_-GEg7p6b)lh7Q@djwLTw za!0SQ*ZwU~4jnsWsXqLFoNBqg>y(IIN^Ux96F z%Ni_XjMgBW``p!QUjkx|8;OD|wR?A`F?>Fn5odB{F*n)<3`*u5@4q#aRTm**FyBPY zP(&np8H$aWBIO-?MsW}opLa@we+c_3m;)9X;}y*7@BIVk_E}X-PMRggp*3+Wr68wK z9XwTzu;5C}c-@JeUqQCH&14Ka95{6R*3qGxS{av#_v!Ui8k{m!i1{c0Fck{CcsmV0 zlm%vHdA9+v{<>^81~?ITQ#c`h+iB>kqbt5fdFD0mr8Me^?| z|6O>AhWoaxGqO0lI%djlBb*sgO6WQdLqs8%&+USs0$c z(SR_&0`PfYiHO(`IVtiA5dH4|HW9bTkdCQxv`8b5e}~Ed!98?A8btH`dy(IB6lM-d zxtv0#AIwl)rKw#0!Qh5~lk`Aj#;Os;>4=n7NWHNO;;L)0|5{HsvDO5SIJuekgfB;$ z5Z0eGAoepNChRJr6C3t!N8WgVVW|xFD@Lou`gYZUJus4gDV~?=WCJ4!9do$-(EjjR zhZvm1W5Xl)rbrADsQIax(RZ{FMw8Z)J$V~h@QIMzeW)UQ8oIvP9H#jP+RM8eL-!mz z23z-I*!37imfVjPa+h>)=%hcssZyNj5Mk(F*OXMxX}k#H`!7c2&65-K=vIde!vI4N zVL}cmr^-peqIq3@UpQA6tQJwpaZ*WqN2{=f0r-r5xdNN)B8gN>d{zg*mi`-Sw2sDnP*6@Ch5QvFNDu924cp-sM0<$gZ$3E#e_C z-5Y6Q+~`WVCwZJZuar68J|;QvXG;(MVw`Rh=s3Wb$)OwVf2Cb1X($#}J+*%? zsN`oPlDh2Kc6^i=_b@Yg(`6nDxXK76_c^*5jxMBIlR(H?lm2btDyCEzEz=F5%Tb9;3+& z`+N21|Ao_T2eI$RyGI0oLrSo=C)N<41GJkZnm6=Goi@Gb}d z000jN005V?2LJ#7up9*K0dFi^($7uiy0QYVt=MgI^@g8k%SJ-fd7LbO*_j|gg!Sz1 z!pykC8R*4U-1{vVrw>wYX-0_e-HE{7ZAX1}Pp$6IELf{oM3vwWXVB{3ot)GxlL(3% z7O<-v2lMQZq`6z?1x!U`Ocflv06Jn5!)W{K;CNs5D|utbt&-P)RZ4!pF{y?$`UE&K zq17UMI7A6&+*SD0vzDTg+GEHZc88(Up-?X1J##=@BT)vFaCp$t{XiEt)h`=pkXx1- zEZAOI=eMP5DqQB~^chC%eGC)b!tghOmD$HXo+s0?E&UA^XRM_IK+o)uBMtuFgCpE1 z;{1o=%(Nd#2eE0@mS2-vK_35cWL!I&ir;C&wvA~VH_>gkonsV=!D*Fe;|RKUS-NWo{jVsYldx^ zp)DJ3$~kQzlSb46EukfTSr8R$k1FnAav6>F)&rXLXHiw_g0c?Y`{hMfBTv+*=J1tL z?}Q+<@>1(|m8|po+mWPrz1qeh_7I58Cehi6mXj!DsnHQ)Se=s`C(SC}S>B{zB}wlM zSXeY0r7&u~2=P&uytPm;r`vej#SEBkS-oyk_vJ+}Y?7=>snx|!B_F089t;5^x}(Ew zr6Mx?;AgDs`9Hs7`ap@=TVud3);NiAT{M+pDn~|>&&|f+a!Q86P=;SwYYfoXasjZe z)PxBh7P0BEl_J?15Db>ARWr9EH$?0#DcQO|X13_cI?n50b8Z)P+{q*ky&nWEnx)p{ z^qVi{a9YQyefKHrbl+mcA)(J=80af*8z)!F{?%I1%AjS^kBHzlrUogip|4pOYu*D& z&qd|J21?v65(x|H=qI86&V;yn%YasDyCD6T2oLFr1maC8r*uvI90sf2THo^@w!Sgk zXlQv=?lMoZ+^PxFs3@P_svDZS&%X^&qQ?f*Dc^QSo|tof_gzJW;r?8yx&L-!VD=BDeItItTd9#OS><$uX__Q-2lehE7g*=vJry%DQ* zu&T?TGLYzJ&Tb#pY*|}nDU^S@6S|_a82Cg)7nGB4kP9a7v@;ZMdb6*O!r7q>07u1f zh`3NLiMhxJ`CX>{TTX(kHxqDh#AxDN*eoiz8J$=tkZsRlS#+?d!9^^O%m_JQIenl<;vGU+tUQfLm$lOm3s6=fCR*lBr|@cNq)X{q_TF$bu8w?0 z2)`F3An3RBGmMsC-`yh7Gt=r6N5)|C({gFNcnGDAKv=T%XSgoOh9na6_u#yoysXozvb?EH9Xj`}tVzA@V{$olb&#(}n`+;CH{9aYpN}+Ij4KU(Hq`LnP9am#g zVjC>UF*kHjsPxvp%x&=)!vD{a#^=S8>9cAmX|2w)yX(WjADR~F>}Xpn9%ZK zb2V+-wk_VU_psZ}#|Bc%5y#i&l19S;4Z4Z8AQPJ6wvfYbnfGGO(^~VvlXWT%JK^He zB@Oi2=+j}4@DS3F&Hf~{4d7?x@x0MO7gFqB-b5;^5F}=!3#OR1`{h*Z?RC!>KhomM zBD$&#F(Go}TNkQ3vj)rY(PMXYuW?WHpjkrL-=(Ka+Cg@febl=ba@5QzG{Zq1mk$ap z#>u^N4cuY<3IiFYs>NG+; zVv;KE7I-EBI42fkOF0ZXBvy0kE@p@nSy!ThI!C0SD}%2vygp3vz=a?PS_WrB!6CrT z`f8qemu)hJmzbyMekhSfT1LekQ>ZA2cN=MknniYG->^6v(Z>0SDgb^*_-1A=l-DW} zY5hZP*6#sMFRZ}uQQxM^nXOVS+!Q?X!7*aa7$Fg3_-3W6NGpBYk?Q;zMyRR^o>*Dp zv{Z~r=YOelJsNguIniW^yAUWT(Z_-X?Vq%2X+S4~KLC^LmYjoA-uvc98QjeiF@4hc zbi0lpMTnPzff{gaJ0M(ZPuSJ16I=!~=2**_6(BLiW+P@WxSpkLKK+vLSew}GFF64n z+RML*>3kgb@**hwZYiFza>e$Z^Ln1$$j(~naAB25Q3!notbmk%Pj#l}v{W9mbkOIS z!K#bMiXc&4EC;OM033(WnfpGsAyF^Wm5?$=&_Cvnv&Ae&WS`9z^eu!um`)~{Q2^|q zT{Ls_S1p_SFEla)J%Kpf`P+Z2QK1jRsha|X44}04)i5HlOB5=%x5FL*8Av{dIziOr zrR^XkENoHb+;fvb&SiZiBP_~~G+z|x)zRpYJO{ZFknds2`FpDzxByDSCO9G0Enh7sV$XbVqDwqMJFx6*~D`O6`| zrn6RDR~xBjB&z!Zi5|mtZ<<}}iIaOPW!07I)RK9%nP(+mvVtyJ9dC(xMfvEH9Fk{_ zp$+rEH!|q@MP>I!yP#dE1-PuJo~lT>)Ot=?C-PPW_Duh=pKeX9-sI?cr$75!NwNQ( zcYY}ogSMAf6towkZbQ!lD*9y_DBuGGAsMgi{;bNbhU&t>bI8CHGlVE?AFgo+s?D=5 z_h}r#i)CW<9~@g{_=dF7>s`^ zF=M6rOc9U{3qNu3g6Awhqz@PJUjL&;y*DrU$u2j>qE$!fDC!3VER6JQdNkhs;Wp$N zpn{yzD!W@LC81gnL6QUNojs^Oc;;`e{S1oIq-n&t3vT}@IMg1kfT7@M9*g*#mTk7s zefY-7{IUBp2OA2SE0gO&Ah!nT_I+gMz@;FaBfRzC6Myn?kiqS=A=ekNNfJ6l&vt8U ziftGxzAE6!2fQp{C8nYTHirU}C(`e3)7r5gnWFr7!^KrNSn)A(z%6%!<=~{3<^5 zv%^Bx5v~e!0(FAPol%)c-PH|U>e+bRzUX%0+I<&AJ*x_4@aU#EromG~QL@v#=F423 zk{00kJaAvcow3C{B5; znGYK=lOetV0(GmZkpdz|doz*qu3#ggEj zoR0{0=^fDF;!R7MFQ2+CkwF+ksHvs>Xzd;Es=$DMhXq;b@Rvr*^McCAH924KJp9`= zZGaQxrSU@?mHhLOEEQ9YFg0$U6BJSf%4vw%G{m;$TzFFW+;#Fq51VN^J8JI7m4Mz$ zn@noOIM0Mt&JtD4@UA`(@AxP2;%}|;jgtnhFzHD-X)t-qBpV+-^OaXcH)|G675;{~ ztl1sG#K!}mbL|JbbjHuj_UGX97|x(Am%^UzrdhRzZF%a(O$5&Yl1na z8;HA&bTsd6LuNi2*InFM!CodQot(+tQc*4CH9D3O0GCvY6n!$mXL&?%89B&--F>Rm${IrMCggp`?BLx*d7kDwn7n;4kD_k L54hRl3j)UqATKi> literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_2_zeroed/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_2_zeroed/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..6e17e1bbd38c868a2938e25c6e340ee61cdcc15a GIT binary patch literal 6761 zcmV-v8kXhcH1uN{6Po}4008Gl0RR9;0ssKf!0p@>HVB(^lB%4;zWhe#-uH2d*wYr) zX(w_* z0q4fetoIp@5Jl3}mz?3~RJXq8i)b~|iq4lsr&hzWlp~T32SuBTd)_w6v)S`DOt`1T zL%1OE#N@i84W_Qt4wTfxic9-PbDhmyuON&Za6#Os^196ZpE>WMG17&<`Rl;pD?@2- zV-)2>p#Dgk#QV;Nx0{}}B4Yiz%wjw`P(cFd!*o4mJwqaDmvh%SbbBJg&)+5?bG4&z zTAX5(4KNjXaUP6bUIr9oxx_M4WC8Nnn69lbe@=)?DJ=hwFOJ|?Ho2UWyof<`U@B4I z4>a{q#4EZnVJr3E%rR zxQX-FzB7c7TbvS7i4wzVgT*7zYN zWp^JspMu&UEf+SttMy0)5_3@}#b2mPi_IRp=Od!y#Oa$X;qmbmjKchxA6(%v)xxrY zhK%iTg)7r|dnptjQ}o?eheeh~CAGtokp}<(08q(H=htj`+Jz37lBqAZh(iMbFs_6V z+`!IXqT)zyx;Sg8+=k-bC}6#J+RISps9Cl@^mMMPSbD;f#8O+wB9GS zhUAR(bzfn^)jmxmXcxLhC8Qy3|HwScISbV7A=-X%{5O6-wHN8zK00r8`f|txj9Jf^ zmLH6waFnkU8daLl9RBA!!O4v~JGAjJSL@GQE{8@Wpw@$3IeRo$$8YEVk?n6Zrv
(htf!cAh5=Tkg6t0Vaha07NbaEmRFmF6 zggva;)Qk)1cMeQ@G0RT#1UJEVikI6jc8Jyq9z*iWSX5CWX=-0;=pNGVLkrc+I2G^R ziiRC2v%LKDWq3qpF^GqOs%))%*)Z&siWzPu`y}cQ(!3l)+9&mdJO|}psA1&3C=eC& z4rGL}9bhG#FKWjpJCQ@X2(9Oy%_u0KI18w8^^C<~aA!62bN=Ah`n-lYXZdsO9Gl?F z5Pqp>NdZkM%*+6EaF8j=B9wC_;eC|RhHq_|kjx(Pcaff1rnYjJBj*OKK;d!9Y@REe z^#U^yTAm4wStBe#f2p)$-h#QRhWtr!)b#!Y-{n{;=X6Xxeng}&-v6UHU#<}}+KXOC z0aFt%9z$D{uc;w0RS}-H!QV=u&2d;lrPO?wtwZN(_V;KA2>yk3wc6e1!`-Xqug>15Fk`Xu@l43UVV#dbY0{*3pP1ci1b&l@MJU+TL&aL@^tGIcT;7o|8+TySRS? z3=UhycyJp#U+;P{Qor{?$Kr|wyv819;IGC?epS8HP%N001feV42={pvi+DPSCxv)m zvQ+{Fk0S81p2v96Ug$RNM`ntsjyk zeQ7E1;cmZ-zm=^cT#b1qD*8{vd8Vae@{aUHN%N5+<+PU*1w)`7E#WoW;sgY8un@7{H%p?lm`#Zp={7b&F#^S1m7$n7)fR z0>;I=97isek)om3ntCFcRe4_nTtDS=Mml*ptpaJp*pf?<`rg`BR^m1sd6;5V(0F>> z+KV#)2>QjeM!IU5q2;sZ@bse-dubV$OZ_Bs9CE~BBp1$h*?zhe_DQ6<|JM@hi+O|N z0YUb;2kwDoqKHuTl$GWDeSg5pb+-{+H)+eYx~P=NL#(5AXv#Yr?83TO)cm_G*o(+| zleiXc*lkK6_a2M|sHCeQ8>W@3LiPV1wlu&R{#1l=78Gu;Anz%VAss>cIz$rS%EyK;O#;nzMl~dh*di3oI zjp7aYc%qw~t19R$P=-Wh`s!&Y{|2pc1+~<9I44~W_RmUACtA<^NJiPFkb{`+@L#65 zS+=Xvm1)1(Q-?j}6;HP>)HY~)5`UX%&jFH?{i@(dNVfjT*F-$hjXF!ti&`ZN&juBP zqW{~ta0a8Ex=0CyB)Gk-zyh?7aE}(Jgj*Lb#|u1IR-fxb`y#+aBgk+I4^e`fwtcCw zw&uKm;zI2SOZ%B%eb%Y!97%&L6oWlhCN<;Wo^*H^tTjE}H<{5|klY^qQUjSevESYZ z3sP5Cu!rTg`u?e~ZX(!?U(RR3*F)jRUAn~u1dy}^9rgihK1VfB$7knTS?kxZ@i@b5 z)Gv-;e;?eRdDe3SnZM^M6=s>LhUY+wK zNcJomHb5lslnm@{8v|6&1Pn>=Y}R73MK1-_-N)-lsA?YViM>&IWy|L6ZUg4nxN3Oy z^Q0AT-Q^bs$p0dxxI~ucmL_AwF(HWP)b;K2?^W{~dc<;a=5uD+mh2`qyBfBib^few z7NL9!Y<)5kB?Ty3BC?9hF>N;~S_`b{7^iVInX0J^yz>j^QCk6Ejw{B#6bQJq?V!ol zWXX4Sz8ooknV<%zeLgB%d4jLn*%Jk$Q%EU9K6$(-#*mqu(xd*zS+s#4T55QQiO385 zXsH)6yy*9lm-zX#?e!n6A>3pN(-kPp5UtOS!zxP(84(D%INTW=%4T3j2YBg}c!^k1ulN$xbOy>7ob# z000jN005lt2LJ#7+W@VuR0EvrL|GvDV^-tiV_%YPMqesPIM(=rO#WZsT$2hPw~}qw z1JN;pAG#@)E{^2EO*(zKpY8FV8Ahg^+|-}={*T{Dy?s@}q0HG+v4A>dc7N~!e)sMt zTmqR?uw76mLvrzh><*qJGmC{1xuG!F#XIhl=JaeW1f;%NjEfkD%%#@!Z0rHot@{03 zDQC$~0x^IIX49}6*rbhyF=S+UTNrm5JkFJ@Jq=KvEhvI+P913t96nBw_DbByy}Tu{ zG=8;LcDZH(8+v-FtdAP|YW>bg*SNHlJaBhWwS#1hg6O$ywm?Ic*6yEM@2YiC)+1ku zyX@lL7R4CCg`Y$8Cur}au3<7^w6v?GjPai;%#i$|K~}Tjb4RhaVyRz9cY-a*!OP+} z9Hciu@4iqPun*QcVeh#Y{vMoE1Q(w+H^RjkZP{QUogvCorSeB?h5V$g>6<-myvzM} zyh->4C4BS6ZDlbE`zi9h`;9@uQFe1pWM-YYJ79iHQ4-r0I~kW=tl1>ex310Y_lqmkNzYu<8^=BUVVU0{6W^o!c+c0sFpoAt{>=-hl9*XYTm+A z^nmh%GO7uJg+BH@<8N5Ix4NWV|2Hd+c}%@%4}CFNMcMu$&fs-ks}Q+QbZ8jBzS2tX zptbq2dQ%OoUkHFs7?k^c;XTSgccwbS9wBIPCFBi(ua2nmNa=H;;_`!JvqX!HaJ|tW z=vndQO3Ob#pM%kPhjp7k)c7#jdUR(ao(y4kGO3Y>fYBX(C%6jj=NzfZ8VM@x&1QrB zj0AP0)jhXZA)RRGC#COz5S0G{{C;gui(YY_XQ}#op$`lhlcU8tfnh%^Pv^igD)MoF z^osd$sb1^tmgQ0h_z9K?pw%%?r(m7NRxX^rhB3XVySh=7uQ z#Ns|(nMniN!39xJ)WKGXW7*?e-Ye_;kzonMVYHqGq=>h!R2)nNk%U=rJhd(mTA>Up z@g~29f{eim4o6mO!PzPiqoIl9Qf{*lWvY`m{h%!d6#t3J-Fzf-_~B^cY|M?rd`+G> zVbp}e|J0qxr?EK`x(n&M$>Np(FywkyUXcejF5}H~kX^D2N0m^_5uuiZb;m|;wgsR0 zX}*rs&F}>@QnVK3XBaA^Y(i(cI(cl>bw}WAsujUFa(kC*-^bM<`YSH5D_6vlwanAS zrY1yk;agU04S6fQq)|U~wI;6sUAX^acS#~ld5gA@$}T?2z=oc}DVCR^@!`DI6ans+ zbvjaw33yy1XIE>{h5dy;ffCOUMasqlpMq0o0;nQ#*AA6aeD zzoL&N+qc2%FRY&jDO+$swoye>h#iIs3{Mblw1>BDvpUCSr-R(aRrK3p>RxJdDLf20 z2h+3(^-Q~P(10PXGZvz_?v^j+sv^v>IP$STEHy^Y@>(pMj&yRTc2MCG)5G*cX5r9L zSS8P;#IXv%fObUEM^7DW!Pr8a zZl&1!U$}oGAw3j8FeZixM-w)EWB(E~^=YdVG)%x<0=G|&kTA}4tVf)G5@;U8L|(&M z#dv{}1%A9W>a}xn7okoD65O+z76L288K@bHQjqfKGf6pqqIB!griwNr?=98VV3J_d z&fsX~8CSI1Y-j+_n~QyIfR@&Eh6sRt0LOk6IT_tC zsBp04Z|@*g9sKDqF37_=jR(l-PAgyM#iHYW>wFL%Pwgx6 z6)meS=ikdrNg@8Q0r!OX{dPyXFUQRo=OiziY@v`82G`MMKJNMF4U4p@b(ZiP@va1i zXguRY9e)n2qs4o1+h*InCJkNaDXVl3xTp_Q?uOiPg(4FgDbpZFLuyC4Zmh-u%|m;3_8;F)6_=*zo%eFKwF2&)Ou*a0^0o|27>O!JEbmPOuPluUO_n%rCTL<%c0qL#3P#Qzf>`t{^ zKAA1;T}6}-lX-+2brsV7Ar3{|?NkBWo8d2sn^t<0|6BK)BMQX+6%KH|q{#u=eRN8j ziG=kjG-`r31j-3(j|kjz*_rv059;Zttn6X282H$sM6s>s8-$66o7_~HGuUHr0bN7n zf6}4_t~!B8<3rd*y!FIkH44N1Q}ib4&@sQCKl!oR2l0Pe0M5i2@()iHFYNmxe{?uJ z5Z^)Xu=M3IXuDVT@v3{4%cB6-G&&nrks=G@45uoZdiy2^0001k$&?_#K4VfCRDyh{ z4l0ZczCT7>q2oh?kqd=uS&oIEI>1Q)wslS8lUq*_w@ed)h1M-zQm0Qdm}GgJxEJAz zH2H9GIkB4d&<=ut$b*U%_8%05+2T?i^Q{Emw-@br4%o?%%VmYM5%yz4?r-_jHP<+w z;%Gk55$1cHa3LakFssg}eT@EsiV$91EA>AekaTIaCXdFN=3oGU-%76`dE9JYTIF3@Uxpw~?elsi?z($`Q2B;`kOji}>a1(&4@gH*}{4|5BsS z06i)*+Ady;a5eh;qxwH`9Z2Tsh+Iw9?}Z}AxX)go=m0FVQ|&^NYg}ikUD*2`; ze*Y8mqlXe;fT>fnZW`KCqvMcBGj@YBMM}T^Sg_8SKmqM4oPnFGwN#$e+L5z-;C2#o z76L=UF)|LwNo%D994CuKCtuSHcS$f4+>?kV)xMpGnk`6^kyZV3rzs5cl?Ud95514F z)0m2ybiToT$TO%CtDg}t5BHJ6PjUPn7)T|)UbucU+VDVX<)}6aj|e}TmcQi z)&Bxu$rC=oThFl77uevTB_@2^2p^faaUwMVOhery7*&nP(&n^|W?7rs^Ki+UIxaqP z>;7j30#9==&V@mCS935VvqN-zVur|JQApbN1lmc(7@Gu9HdsNajT%{CeTJsc%zrGG zoKfjrL$&XioF%JRfL<3b0^v)*@0}9c!Mfx=Nm-w4B!>1$5IZAvrU^;5|LDhjE3)Y0 z7Hj~=^tYi@JCF0EX`F)T#aT@PnO6^ev21 zh=<8(opd>?Nmg9c{8zxcIV)?3MS18=tW-?k{&ci?r&^oOu#AWwVj`e->H@%-LA|!O ztlcd4R;X-`_D~H|OH5F|oxdprA=C1hX~LXOf|GGd@!Z+$Hk6eclfU)WgYQe1=-FZ9)ERMj3jItsP@WZQ%6M>QvUjG4-_=9xYStu59_%r7XUy&FVp)KeaTUT-2jE z>cgN3yaa)eK0YrwDVZc}CODalrz+FQ_IJr@`iP%#eW!VPWipnD9;Rnc=Y}2*52(B{~V;#tIWXBlPs(OIu zf@M9)RUp$NS5Dq}H_;R#EK0@WD2^p|U@6_DeZ6iH1%{1K zW6vVmY!GzB(q5alpr#IGG|N3wV70_22qk=l;%L1QX2AA9shk;$#|36_gah{cxo$mY zt_mQWWYPA4MsB<)?5=-mGSl^&a#_620d|w=Bo)PF?!l_^0leyqS+peA2(#2xAPl7z z#CYVkoYLBi)EXkd+tlB4kTB`>#NvCKVv;Z}D4+};Go2fivo=yhbhMNG9~s?@Dze(E zK8mwr-(`_g>Tq3M)q0gegv=&VRM^YBEJB~YD&wSmib~Czr1+fnp)^zl;@`$x5(n9- zxsj92uq629hSEs1GqWv+$F4u(IO|s6?sRH&(X2Y)l5s)(SmPRSsoV|fDV7im0JX+SEqMdAW+{oujR!}^nNX} z;w3#Ctx@nt)ivX*^po$k-U}5h&}92Y?y|Yyx*Ig{MY2|95g##)c*8V^Uivw?BbOV< z00wJAI9~CgU)_#2mIPA?u0qcG8LZ2*tZ$N2kWJ=3p%7_^Ls;17g5WL3OEG-=l9#Oo zb8TO=UY2k6^$d(+#S_UIpbC5~$tO>}TmuVnzDB*X+TZzF5tCgAf++vzbWRb@BrS%V z5<20Cz+`JT{jiE_4h*U>f1B-30jb8ZOmDwTM|rNNzUF6_ti&VLJ=2%yZ;M=6PWj?z zRyYOtCq+zbqR6K$;b!GqO#~m=Maq{xeOn18Wi#^1RT{|+SbQ?aTYv)(3|2e%eb$MH);3+K8`#gT2HFtRAy zwvD{m&CqX;pNGkq)J9Hme3Iz2W#c};S-w9AgC82Ztl*IEsR@hAFesIdW<$N!XLMU* zinjGr0(E>X$o>(_Me!KjLwooF5q!k|bjyO_+_qqE=8`Ea3H(1LTdUWzKT{PP*Tx8e zjV literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_7_plus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_7_plus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..8abcb3b05ce24de7e7878d2c2b77c84642c259b8 GIT binary patch literal 6761 zcmV-v8kXhcH1uN{Yc59s005gv0RR9;0ssI`2ESAW8n<8tD-__1_xfqK2?a!8&x$-M zr@=u2vbG>n1iRY)>%S3iYP(!#H0z>B6wzN!3IG7{(WW6qW_F+^yXnZMA5^G0>pYCR zZ~GZXp{PnO=Owv{jAj=t22+bXDATcpx%;fpg?Ns|jJL}h>tsfjrZ>DL3;7{KY>Q8qI5{4K%I&zw2(c3iK~xfJY+Uv2AVJ2^c8hCn&iL~zoeDfqOfP??OcS_ht4VOH46yl*VmPe>|%>B5~j>z(Ts{i4j zY(pu?`_r;SNs8>Xh2ofQ+#Trk0K)tq+nqvMbfctA1}E^1z}$ULwaNh*scjtrsM>@{ zso;}A?6g)z%%Bv4=j@8Jy~?^@HA0V<&*PP+7dj`|%XLk|=H& zB^MU>5lWwF@DD!MNTH0N5=F3REK)+f4sKs+1Ak@it6p}*cad?CmW|-6NyY!@QC}~uGtP^)KWEEN3+iZ5~$3L zxR$kJ)beu#OYf0FCkU&ZbjqR*xr8%Q(5xeOYr{X8m0|Oaeli`~V&7Aea33z?mK=b7 zv~;XRN{rZP_iA)$*jno8^>~+6#`)iQ-+E7k;Twjb7WBgl)oNA(0|I*Y&2Jmu8+skm zWgp6}ARLzkMYU^%pO>>suOMh?9U5&sGXpfT@JXuc-C=zqiD?t_JkAsd9Q=ODeAe-qlofS96i_ur~5hU!%)7B$iCtk?jIs!g*K(X(a;37PT zXIt3oA~JV$SiynHa``DxC43otqWPSdUCqaHR3Ja3X@{ZB;i8%^%bdUR z9zdn&FaT7z=m2s^K!QxghS92VOu87Ihagsr?VI{g&01tWhK#_oR*3lnTFF&AQIn<@ z3g@qdw#m~#;XaP8we9!Prb^)g1oNRwLhg5Pt(TN-KAf|ycKg#WlIYI^JhTv=VDLmL zuUBle?Lub>Kz#|>^!D7j`Obbnw2X0zvY#pL`pV#~OrIj(W|Whu3!B}5XfH2n(DOd? zoPzzQ!tOXoHL!E!;$@qlD;wcK({WLO{6FwVWrV9*ChwrBp4%!cPp3e?&bCfF$wR{5 zHm`0bS(!fvU#(8%_nL377+}U2Ow@#*)Sh3Wa)cjZ$PNXr(uxZ*2A-f?r`Pz^kvg1W zIIVOCs?Yn3!m#$Qz&|jA)h#ccbJ9~;at7f|5>0Pj5dj7dK`JePvvusn-uu+vx0PJi zVe+%86JDd-Q*_r)d3n4u{9>r(h}WWbDDCQw+$fBNY#ISUSh}in!-c2o}lP3&onZNo8r5U_+mr^D|sp z(sx%UUh-M>I8|ONIbgF63|6?b&FtGzZ6Q0k8gIVv88VRAnh>ER3SQ6&rWLAh+5UvHP5~(zTdmcomzoPI|)ViRV8S2CHSVdKctquS%r1kSZ~}Q)e(MrX`Hj?Bi=w z9a=abb5~$E`q)wk3u{`OV>me3o&q1$x>!PUlW$|bm2|Tm#`fs>z91mTv#UsW#NZ-F zk&Q{$CU{bUM`gyo2#A;uiROeos__m`S;Zjlfznm1|A%xFI86?XQo1N|N{X=~K}tyNKHIjEw7zDeDnA^$r1iJd&|l+%zN`Fi|Qk94Pv?(ENYeC z4@?ILWnl9udQ)d@XfNGeO{RiP^osZ4f9Q=Phbf`c;0)zdWnd!Y)a@kRm4Ve}JcZ*+S91z}jpnFa4gLY2&p3$$Y4^y=w zv|g7zCkgEAz9bDi31DwMEWQ)N2kAOb+kep)28d5k zgR!`mIezbgmx5WJ+1l_TLtpu__vPw)Mn1cH`8XaNJ%bpjZVX*r9W@}r{~s+99tS8r zM0k%ltMWQlvdbw@E|{6WO1g<5iVaQHo)#p$l$OwNnexI*y#Nd=ta)mW<6!I)-zQ3( zpyQ2s{{AQ?+WmHrQi*J}=8Tk8zA#NxpmM%Hj(X7xJw49nir}_LR3}sKrnE8P1GTb| zYpkm9n6heFKhB*GRh^0e)qjZDGMvJb7XA=^v)|KXcJ}(1RljA*HV=LO?1VJ==Jeh? zmE(|!3semGp%MR)I=JYWBNF+8FA{q&$3=3EV)5(4Q~78ghqOh8)pV3?@7nU_J+H%3 zwC;K(jYsv2lU3fvV&JVdd639Jhn<);`!U&ePWg2d*MU%Cy~Ml@UOn(PDs-)5Qo%$C zmOeHGj?rr7#SHh4h|_Nhv9GaAEox~$H7gF>I~6ZtVNKu5g>15R?2E6(RhcnOmsHDb z9@8QAssGA0!e#E*U~9A{Ap;Jmel2n!Zu5MMSRh0nBa?Qu_YnqcZeyB1BlmF_p+wVw zKjDSFy=b>fzyF$!?`P~>k$+5-^mFgT)$aZZvpbG{SE$l|UF*R>!Jx;)Yy&I@p<8@v z^SYi{HRJO9{}}AJZ?HIJ^hh{xrN2B?g`t(1Xh%NUAm-;Ky?w+w#cXS5SDMx|@(T8C z$P+^4O}TFoQnnc{uwOJ!#bujrYt&K$(?SZt&_8yS4#4D_(4sXm@QE>Va~0V2eS{>0 zD&ePgE4?f1K-11i9t}axeD11^XYgmeDd1yJiRvyf76R3t`HBH~&#i_7c7-Y$gk;0L zpsD50)D7d&?Q%}Nl4vH#zz4_8K>{D2^hw9Jb^p)!C>SQHMf*>v+pUiDpobA8`kTlb z@0-=4W83$<{pT298XB?;$IQ&mto{ujjaar_P!caNpk1}8dlfZcT!qXSFn=i%6e=aH z1^j9m0fdUZAe{qyG7B+-ESTDmaX9nuVh!)rYQ#1dL0e#u&g47n4n&(dS*Un*u*i-t z;F1lvXt2+GawyA5%O^bef`1Q2&reQ<1Ce1cP>pJq7^7ep#30(Aj%Wp_HPiF zyowl{x=p|pLt$6-ZMo%+R9`cc-7zCZ<1xjCWqvFf$*Cr`NfHxuQ41Vc=om-Gc+u>? z^mn9IL47S9FoO_}^h9^HBaAA&N=SBc2sWWY;B1oXYcVMZI|(|xBF($c-bb1aMn&S0 zi7dO2@&YnOx$1#c@!Y##pf>8)n2Q?04E!y-+d;iG?6O)QP=0Z?nO^oSR&MRzlcgtz zQDDn-a|buIt?~9)1(yi0d%_TxRgNGQ_Jd629C+=5cMvX$8CQ%z_c9GRiysdKGp<*i zgKAGNOD#baM}gAalW()9~oAy5K7o6y0s+ zUkdQg4RUynY5)o2r+xIi^>fLtSbgb)oJVX#f0FT{4c?_!J6+$UNuo}^i@TB|PLhiB zU-)o%-%`}Yz<%EdH1N`!(B=q0jg3B_L)MqtaV)yzG2nO2xDM~RH1ny!i!YHqkol?U zGL12Rzqfj8m~8k>#*To`l}DlHW32m~zjAzA)Zt5IxdS-{g;0z9bH{o~hUgB#Iu*mQ zRQ|gxUNurppkK5S?`+r-zj@&}a%~(Fm2X45<$T9#Stba=?dhaT05LE^NS3w%j5EYx zA06fiJE3F|yZ=kq4mG+od1jNA^0?AIp%Ttm5WWN702mf@ZY)X1-$Ybzi};&Lu#tBb zLCF6{aldPZqWaZME$vMJ8I*8<-TNp#C`frHS(YQ#u85UcP{gPeZ$Qjko$)27lM_9K zOnxFOb~`TxiLYll6Iw@)_Oppy1wedYEnr3crgmR3S3~i-!7)i42#NLTndwKhLht!v zHAHojAVQY?C^r-n2!jXyu}^yQBfDVf z1(Y3kX;%Z+>Sb|mW1@48v=;3DsSn6n?Jj#Rm}EBYf|_^ai4YS`Bc)Y--yTr@xW&6y z7lxkVtM(Tgv|a-4rkmzctbDOk^_HyzLXOKN6wod21CbJGA~ur&SdD_An6=|eD6jt_ z7_9$LNWOj;=zkfh%kke+4~CrTTk!tQFKzRU86qg5rNDJZ*fIk4v`y?XkW8v05y&_Q z;B?|CRnL}d6)#y2*>VNfvGPydoE}D^x0w#UikdfL{I>T80001_`lP#rV42}>928G| zp;3v8SDKWEh9Ea(;9-+TsA55HX)4%fAg$8|*FL-(R1&?bsf9^6%rrFk-9?-JH#VcZ zAQ$*V8sfEyw^dhruJ9gD_#+UCc@lvU+>2kDQc9bs3q+QQd6mKn-6!55LSN8fc<=#_ zK}Rt(UT?^)J0F(YmH8)w#TEm~EdMkE=*@4^C1MAL~`$fi@L!@wb z-N!dG;Rvd872pDhr8fsau%vf9kOt=mm+Nx|>dB()gjsPu)~^LppTxD;QU*VisDDAI z+@S_YtZikn(B&ZQFw>F{$*?9j7&(8YuRCR;1o zSJy5+)%O$O0$7Q_#fc4Sxv9|bg#@*S!5?r|u|JN&fy>QUJ?(@E69K>0wL<0NSLi(= zJSHC4H0+W=aK4xR#hMi6E2AkP&0VmXs4h|V-~R)y)cGTCV1?H|NyFd_OrO4K!$H5v zvq0qL8))8G==%4y^InvrXF{j<0mY`Pn6+a64rNtTl9h|Drt`W#2Y+p{E!j1thscW8 zS`#LJ`^=j0tD(_LY9dq~r`@-%aT0G@Eh>>q3KJ13?Wcyclp4hJ{M*EKcY>`8!?wo= z4%(zm(m-G})0SF}>W8kK=uQ?a(YEeRK}Y4EVG5Ie!rh3xMGt%gU`uPzJEtT}Wr}qT zl$wVuaK3U^MJ2!XIG`c!li*4;B^lOp+u+RSpIUgs5}bv#nKEX_qS|_Q$h3ZM?|-`6 z>QNgMBemw0u-20&LQJ7#o2=oz-w&IfP4T|R#Trwjj1m`nG5!GXICa6!2I}!^rH>Ne z%)Ya{z4?|mkv3<~t`{d@6L_rF4*qn2WUX(^$Jj838MeeptL+*Fe=EY>uUCJ`)ybS( za+C)`izG&^CN5W%q3R?j#kxLW!vMX9vWNyCr&|$xIZ``*J>(rN^(mVJz{Q3D_`$?? zRWw)th6eS9=jdY2 zv~{>=^|2bBy@hrr3W$tx{!6m^+7luf-|I1XMXvWq;Dwra!^9Cg>Nkj74LQC!L1I^R7yoL01CaT~TNV+7`Qa*HPf-0}LA`Z!N? zbr#rq?+Ux;Gc!l=eiuF2x0JM+;3?P9TXNG>eiwSi|M82faJpIFOaVW-E&D`1!{}J_ z=>`19icU};({VVX681LUo8WEpg+JF7U+Ich!9;Kx6MiZ~BoE&x4)}LSB^13fq54>Q z7%Us`4C=H*_(ecUf9`Ay6ZEGu#*bRi*0G1tWRImf!}@J}m`UGmUAs5ddZx zHL&6nw|-`-0FWJ_#ifM@bl332zQxM%6`yDLy+@p;xn3j=SNYBQ)!Hxj@zRz0?0 z>z}wTnoeK9Owh~zmEN@$Ib8$Amsc%^Ag5E~gA)NI+Kc6qjwzDbOLfL#b&c=V2nJ}m zA*F-QW!ok}oK+u?DPf5S8SWikih&F{Q!(&%sQWp4pW4BAiW{Lr{6fn`{#uJTkJeP4 zQSV-;)Tt4`bh-{{mFYEs(l$RD-|}t@pleB)gkToY7*7`v>K6SZ#D}fAGXWI-3n^_eC&$N-wddB? z$vXGbeL3H%u;&YS4C(N1kKY*%HB%6Zl1x4{*vZa6#j~NY6o|$ULARKdQ-0#al)Fn) zK636cnN0yQg|6Fh7;Nz%4@J0v7V&Pw>zD`FJ5^tQYbkG_MVpt}X*(1R1$skw9FbzD z{t9@!ZO7zr(r+h9mE{zxm(@wyI>W`((BBNp^@tFH!8|mUMwzNU=Kj{Io@B57!oZkb zFZ_0A?nNt~*!DkWnWSz!soWu4e%WgY+qyBA5+$UlrbIYT%zYlAnZdLvrQ% z0SmeUA}_Oivmt1O67jT3a;c1Rv_ z))=%Wc`!=a1HaeWP7?R8b|mGjA~fKkCPfgGDH)_z$I%9b;|Z#b=O9o;$~blU6SK&} L4H1oCVAS@Y-a8Rx literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_7_zeroed/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_lengthy_offset_7_zeroed/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..ac24ab08f962dbb58da27e9107ad25eb4516e963 GIT binary patch literal 6761 zcmV-v8kXhcH1uN{1(-(w004pj0000-0ssJHW?mx9MWABKOwJU|YO?5=2 z6V$YREW+lZ@Q;bwPT-|u+J&0qWmV74#n3!X3IG6~mZq0Q#U+Q2O(0rhID~}h9N7|Z zb;$_aHv$&p?;li$u~+_5$`;hJE(rpCf#;*Y-A$^PAP566nTY#ZiqC2*f2{^!rqYAnjjk*y_dZ>3$lL?gBLrqx`(i>+J+ zBW&dVBL_ffLtXtu3Q9j!St6}a{~14u_9 zK3apv??Q?a$c%c23FUo;7-wmkHkph4+nK}$$dONZvn;(L>N-|o`EcH`y6kDE8jMq` zd(jo~`e2x}z+y(}_N;dL6(n=flTobnh+XaR9e%^p%)NRxrh$Qw33Rm%_bK)O;x)U* zW7iSz*1}$`ofD36ZEx}T3>4@9ze5(;Bcs;W0EdgaX_~JGCFGu3bB{Sb=)(&NmJ#pk zr#5`M6w-F&9KSv*#@AqaDEU<(G;BAk z>X)9zR|}#k6e0<3!v29WS`;N{1TITWu+^1j&AF*weUfS?N~g=C9_;-s0miylPkWUU zV#o-zW{Bf+3x9Pd)K=){6P(kX9;@%=1_uBD0B_bLZ*N`2?O%+k(4et-D`DCdIB{_i z4<`@3IlV2I939%*jt9-D1m~`35Z-sx5mFPtz?^asl@q!UizGmr$j$ZeALjXLFO*pC z^ujG7{1L227#+&8FLD@9q6i5syq)aCy+#O9lkmUcG=&)P);PcKTxdFE?WIl_aqpDG zMxC}Dk{H8%-fy2Sx}#~IeAfwMBEwH6)Gzruhw|K+(-=Itjve{hR=|-tT8QC{DEe_8Tm4wZt_*a`ugYVZZ2lN0(F zrrv$0Z_yQMuy83(bnsMd^{jW{T!uYov4G&EWM#SZm9ak8G3n0qB-Ap|d! zN=$W9<5oHy^-uC9E@hjgCnDV0$ch#TLkIfiK&6N6XgBi&B#T5I6J(Jn?J5#rRTA6# zeY_4WNbMV`7W3Z!Eo%LICPGTuIT(3VV{sBP$e-}tTrPEg6LVX}I&5j=iwlBI<5vD}jl$UzWmcXbm+G;&x{}=00p@wc zr({0IVGLwaSq)X8TAU@AhAc`S9$|98SuhyiA3S?Um4oJwd!Zj&npklS0LQftqE(E z;NK{JG+sJ>Z*H8mjg;@le(k+e)V>ureJ(?#x*9Q(y7S-2X*C8=OAcavzxG+@g;b=1 z5{6441r&4K5Iw^#*~rDsFofVKy9<|YHGMm#E9U_=CB8`Dy$Y!{xHuZkjXW3 zWHWSgA-k??w%zlkXLQ*u(CEyIU4s&|PN!#Rw`OsrHblGn504Xu7IhUGFTaEBH~61m zFKa*^XvIkz_bO0vE7FK)|NrV{ZOK7eh~~RH*iEINOl9pXPwY6tPo4{rvdq^=M|2WT zipynlHJg#%Cz}AB#~IJ3&-0s4pcTNRA!sMRac{^xtJJmDapy*s7cbZZ^kk_0Kx z`E?97meSkO?@w8-s+GOJCI^*sD*v)_tSD)q1=?tIecU@&WrxhYfWtbb@D*T8kATs< zxEcHeoE;zCrGIn7c2$Wdr`$tUKk3GVc8byz6cbO%@$@V|%MfYk8hQE{PJ=t8E7i&24bYzY)^6Sm{sPqImx#0QZ`rk=#^y1_c78 zPOts(AOdGE=K!@pGLqbkpi%QtIrl4|SM%qU6PnKz~ZVI80Xp8+7 zRef1zB?^_pj@7a@v9@(H?-cC|8mI59U`-T()~*N=+htu)RE;^(BX7ypUa-yIg#RDd z<6aR%1jQqi5<7a5Xng@AaY9oEp4R^S$MX!zEjRh*?^gQBCYstmNrDa)w%)ab?vz!P3 z000jN007022LJ#7SM(fXVv=)IrN4yV$IAN%CQH22fmhAW{?q^no095vP$NC0#xb>h zewpt~$uBZnc~y9ev*3Jlv(~_AYbVWDk>Okme}XMFPO=7FL;82Z_8 zP%o+g+3HFV3_&>z=0;E?|FD1EY)4jk{kN4(U^}-k9=C2FsYcm0z4O2MrUXIII1LhtHB2meJDamArPYW zcE!#l`niy1jZbFlV`j5Tjr}mi0Lci0HI@DGlg}S$U=e7gZz8z^|41uDkhN-Kp848# z{S*IY^AyV0*QD$Ybm@HZL7#785K~4yjQMe89Tx}F)M*7i=nXOV%U`mnk^~wqkK(*{ zNEpEHuI!H?mPZXt#MhaY1Z%&M!6iNG?`7W7)j7#r<0Hmr`@sdT6IGJswC7ZeVF%GN znfzrt*A{^k(sphd!3eS3nE3E1vyXdrxNOA|B-`>!AySchE1CPEj;VtA!^teaHn~R< z_8)D1ua*58fHWAi@PPUeXck#4#K8YA8gV%oj)<>5-g_u^XRJ6j5&lj>%*bOrm@AY> z|95d1Mg(KCY86V-x(Whx4WQzP0eacjScA$)XMHobk9PP-tyWD!2Gx7*1=RS7)pCMO zf&=p{#lWgS9qjih*tV7G{`rA5z+G$#6t!9-=OmWjyw8a+IY0>n%f7$`zK|{?(iR4K z7z>;uL1IQF8Qi1bV^8rO1JOJy@CP)NiSZ_WScgv-_@w+M5y#Zp{9m}X0^aG^Bj2Y z1WGDiN26|CUZ;Kc3`?hygH7{boH#6672Q^({0+gewoHZZ9ym@f6dVI5YT2f6&j;K( zfH@8=%{?KR#c(mQg>{l<2gqRzJN#YR0ja4=$;P^taO?(Ow-*s8=aEBuh}Xwj0g)r7b!b80PU$;eamguRCCW0cY)sUC8Yq`jFQ8u z71|6ZI>d{NOD1^_-2b|HOHDIcV3&t*Htn#G zvsQatX~V^&yuFlIAskBexcr2dW9q()hY-?jbfH9Aio2?TJS-IFg60G%)rdglfR1$D zS$dxY?J&1{7*%<~I7{4D-6RP3-HP-^<>1NhN6v?`4LVxh)P`zcr@(B}1ajaCNg1aD z+_N~@AD$2);2&x`i}0WE&ZZva1aq2#PNTKwiM_oyokwESPJl=VxN8ax|$ zbJtyIW{}*TR02X7CQ-!WHb)3t&r_q%u0GMSm;4pN<4A8t z%FJ{MF<3ljLhLhB>M($aAuIX>M=3&5;Wc15wgc1V>Z-}d4b|tvoo##h3o|3c>dtVe zrPL!m+ceIJ#48+Ztay)R^##ZFI?ma%?ZWn106Ig~cUd$I0jC~?6`aSlo5MRHlCS%E zk#2C{PW4PYSrkpr$6AKkjg~lo(k>K0DF`mXUMVh=DJ`nn$KYgG&?TKVz}RrnOX--U z?XG)RV#15~Lrehn$Nu0zpL$wWVh_rXywN1g0V5n_sk_J<=~(nJ;HVk!-%zL0$2@qbm!7`n+JN_1in%qmwCeg zO;V4xRJtlCrW53baC~x7*xYU2f;=!4kG!Q<zEoj0iYnK5=l)_lkTY=CK*L`9 zzWQX?fpyHDBXHi0C^Qtj>sif9`U}UnvCW)x+rcfPZW2}kR&P7*tg4hF2&zuKc4@EK zw>$%5X>##6h6bs@luZS)HP%2xL`hk%k2>oGBY+XSTU5kMW)cWn`I+t>c!EOaQ zS`|U?JviS{6*YtH@~(%4%yI`xt1lJKGqAi-`=gU?6@~R;pKJ(zT&sLV;c+iOpu6Bj z!=d!s0sto(wZ7|2goBiC|0vmFB7BMz&%~GaV8y{RAb)r`4+uhXFZX3?pyGVqOlo6AN+s|!7F%Tk=5>9`s zHD>H`$@+0UR6a+i!v*0RY<&x8wxjL;4b)88%3vPu^=#?R0$IjB84Nfh*-36015q}1 zxi7mX%PI6dqE({wAqyF2#WYr}&R5nziV0zgxP>A80X0>G1^6&sZZbgKMPNmCGgRfC zUrG0?qfTcXmrvCBhPHrE^FkC%l?@C0TgygF@Q=Sw~a~X=hEm=rW8OL>zAh*cmvQUgKCD-Uweekz@b*S!jQt6X?YK6uULqj|o?xIYgijMo|g8||*PoMUFt;*Xe z)wj3mO6;KQ+JU4JTpaYhg7wR>?g#Hy7Rm*EDItKIU*ez&X}#I4DI^|_nKC%sLiZN? z(F)2xut{mH8_i=4Qc#%xjX5V0($FRSS=i{Ei_#<=onr=21;kxWKX_3LW0VkAitcc9 zdp=nye}nIamt|>PJM$;PUR#0K9Zcau^R505t$;2>W`3bo4{c9s>1IztrH;z+_?-iP z3WWGTY82UIkoe7@lALI68LYDGM5eN%EpBg#%qRTll^9n!-Nz8)xVFQDSFvHV;#bq5 zPMkKv|K?+0DQV~sbKBm)c*f3UrnCt``sy?>_-4p8rE0Cj(q*jr`nlTJJR(2xZuanN z>7riv2n7=OvKHU}QD>z;ISjQtH=ER>6)^3fBOA9Iw`*^t`W%8%$&4YBym`D5Ou}N5u<|=`Ssh9X-HVJ&6_t<%Ok$;(@afc?{3@)KC)*w02b)W z{;`o}&RaskvcU1gXJQJ-cKh0de*Y_cQG}WEyUvPr`;}7gjv1E*I*kl3-e>yMc4~D` z)Zs5aQTpsGl##LBS>x>P41l<;v1UVA=<37;D0X&<{ZUt7vxra;V65vIwX@+ITbefu zB6T%%pTks;w}x5j)iFTd;7*VhKwM16Xr(4X>|wNl0^9cCr$C=9m9&Gv)+s^*A<}VY zK^!Y~f_-xg%F%MEf`rmjGI>SE*=QEBxP1jtZZ6FTFk%WH>w% zUXUz3t`sZpuW)=)hZ7n`GhOkU<;cQ*(Zkd}qVX-hDY&1t3|T2rp?yuxZ{kN(5bMLZ z@a?>nj&7UP^UI+Fp%V_I3y*6>NI?~nP8|+l&Vc^;8W#|$!0v)<76u1l&uYI&w0*D` zJR)U(rsrPM<@b)D%Is2GBqr1C+wZdVU36zCzzL$}rDQzUhUS#u9F*mS)A49L#DWvprfqc(wWo>7M+_q8YpZw=mX zVRqQ-eRVpHzD(N2*630BNc;zecp@_lk+-HXku{gL+V3i{n0nG`?gD+|<84&;lK_gzj6QxejwIy1aS>x|A43-08-{5WB>pF literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_2_minus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_2_minus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..061d595b69f83b4b2cbdf69791cf650ae27dc542 GIT binary patch literal 102 zcmYe%c;Dg1z`!uq9Y`>;d$Gn#nz<~&u+I;uS67c6NVahR34S2f{0!ng>X!vkjsU&rC3ye< literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_2_plus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_2_plus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..0c924bc05b2a32f73c4f3e938e3dec383dcbbef5 GIT binary patch literal 102 zcmYe%sCeVSz`!uU9Y`>;djDruaC8d3|7g+mZ`Et3bla9Mg xKKN+zRRF#AA!q;q literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_2_zeroed/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_2_zeroed/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..866c06ea58b89ded8b7e6c1c4c866d6568610362 GIT binary patch literal 102 zcmYe%DDYqaf)DOMf|2DzNXRVS^@=Ia)R(RCQ%dsO#Q5pzhEVIp`)}3g9(`l;I^@rK w=}D;{<$O<_vI*^c8sepTy;0IzkaS(U=DiaV@2LJ{YBVqsm literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_7_zeroed/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_nil_offset_7_zeroed/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..1cd2fd11537505354898649ea643f33c268cc41d GIT binary patch literal 102 zcmYe%@PFjaz`)=K#0-p_A3~bf)J^1naryW*)8*2CZ^X^peNt=fQuoxN%>is~Z*nXw wx2bu!em8ye&2rgKhEj8x?2QiGA3&OyS+fI49}XbF55ydzAnt;Dn?aNf0K>c?xc~qF literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_last_offset_11_wrong_byte_length/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_last_offset_11_wrong_byte_length/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..be2496361452b82f947d358e89ff7d49c0826c5d GIT binary patch literal 113 zcmd1%kXsPx&cMK+Z*8VuCetGC?xJv)%G{Tt%@as?0rByV^Ztbth3P)CKRR2l-u#%8@`4TL{=GS@T&{3$!uJ&) z`3t_3~2n7TXrBrw0#=~kP-yqU(Fx^qkH}L-9QYT H=V7Y=y7DL} literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_last_offset_7_wrong_byte_length/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_last_offset_7_wrong_byte_length/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..f32ce4da84d6c88dc24bd8c014c470a971dbc9cb GIT binary patch literal 113 zcmd1%kXxbZ&cMLH>j@;hfOz@ir|Zv#oPBDP`&ajfHS5Gv-=j@z_TTupR*Fgg_}oLM zMZPX)pK3h2uRCVtqFo17AFKb7cpnVZ_j%EpCV6%s<4J8D2apm3VwF=M0UJ(^Dmf72 I)_H~s04Z@PSpWb4 literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_11_plus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_11_plus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..17a0e51a53308bab35cf1821996dd8dde9d0ea60 GIT binary patch literal 112 zcmd1(kaOj+I|BoQttXK124WB2lcJF)Z|eFUVD3D_pZ!HsQl#bfq}|mg%y#i7SqXT2 zDSfe%ecm*wDg8}7Z{~3ye6nB>e=tzrIi0>`8tg#EAIS_3ASDRIlW&6r^m!Ict^zUU H`ECFJGS?=b literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_11_zeroed/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_11_zeroed/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..6c87b34e4fa55b7af64763d3797f7a94b940f5a2 GIT binary patch literal 109 zcmc~**kSC>z`$VU$-v3@A@Z4W>d!E|L3NGC9qV7@a z+O48_-+f}5)n)ijEH&+&^zixAzF?sC=@;f_^soaNzpqtt04YHrKF$OZu#8U#lLIj( H&S(b!;yWod literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_2_minus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_2_minus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..3f5aa1d6cabd3e64451b5937b760f287f0cdcd1a GIT binary patch literal 112 zcmd1(ki(tm#=yXE&J##@0ddfWwoQj8$8je9Pg$vWyE0ihP?l%z!;rlUMgRW@d<@yv z*&)#VCa9j@;hfcUG4;JtN~%-%N@?%%u3GxyN+O^RBje^yM3KBVzaa;|%Y zy?o!neEywReKxMX9=*2LV7+ZielSqqq2KIEzuAF|y-La)KuQpZ4OW5#lO0tqi5E<334<|Pd^{hO?u`4AQs4riCt7jrZ78MHYqg zbuL^M-+E7?oTshGxW-6G=0Mb6?qHx^(X3-<+}VMQ;{v-mfRrE*$0vXUl*F?|?tvIy H2W|lX_Fg2( literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_7_zeroed/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_one_offset_7_zeroed/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..2b0fd31086e7522d7ef5966d8d4b048a16d47c5f GIT binary patch literal 112 zcmd1(kP~#$oq>U23lKAS0das$XW@+ZHAmOlvzcxWOSHS9#k1v-#h*1X;z2!+HoSda zHqq_8snz=AI60q;(^a1X&Yf`44hHITU)5#j!wzKFtTW^QQi4FNsss}FUa;QdC5XXf GyafO=#3kea literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_11_plus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_11_plus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..d8ed929e0ad474811ee710a475a8536dc7be4435 GIT binary patch literal 5541 zcmV;W6O-Xs1rR+l>^H zr~Bcm(^)!R>nsZ)_V!5gXTkZO(%!6$%7pz)2LJ%;BlyA@&=&2I`_&d_yGL6tMw*J< zz9aXOn7(5i@rtq()b->Q1chMu@W7>M(+YNe{$fr-VxFi(KsGYa(T1__PVNlV&ROfD zTAk7`iw*Ee!xQxds&4^{iU8toqVpDoT7!IjMwHdVmL#`UR}TnCgUfsnUJao3IccgY zKN7{#u2MG(*t{bBTds(2C*#INKgOKs>Kj8xOGI1*6izRp9Zt{yHa`P(VG7-;zEzpt zIoFjo@9$OK!dkP!LYV6@yW=s@r{7q=*{=S(q5p8z7~3_1-^4X9h9kc|CiuWg0{pvL z72Sa)s|Dr!NP(W^~_Du-qM$!}+-l4O)m z*p?7^G^c`X%aGRc+RSL|WzfIuyN-jVN>OZR9|2He9^PS(jmWf%7*iAEm-lu7mc5W3 zqA}>OhuS&;ZKnQoG@}}M314&s5~&t^D4tcDu3n$`T!A4nj9uio32r?;dMv7L^Uxz| zfI%48sulq!F43-$QoT69!X`$?%@EoDqz=@bg2`{f1yxypnq(NGr~O6Gd{AMEjfhlN zR=}z}b1`jL>=IayZncG0k5f*z`($^yc7g*N{BT@Ga( ziwu}#j?h-C!Af|PbPptuEir=9P=S|v%;&m4Wa)wMZgN($@duw+G&Wk(=s6%3RB zN;hxnSP&?0AMCCoBYgUr)j?f0RH>o-H+PS)9u*nGOIvdR7Hqh^fyLDPjq|P34dH7zZy|x^reM{OoraJ@t=k1xBVXmTsOW)j zXE_$wb(^EMW!8sm5FU`Nb`iJf!Wt9=XVloPF4zfM+@7QfDHTemRC~q^^vdpH0s4@@KSlWBGn>!yR%??9q|5&S(6iN~{2Iq+_Br^&;3Yi|S!c*k`}Tz{l1W{ATb zlN3pO97`9vED~)kqA9)=a@`57s6^xX#91oMrP$|JTU5;GHg+4tLrK+Ye>1Ixz)zZp z_$Zh2fddxv1_`C;PR@7l^*I{O`R!L`=aJj}$h-^STWUI%%YL?kv{3TYbraz5CBrX0 z9)~$vCm>`0@}(F7#{?M~3>e2uF5vFZZK(pMlI#noHzxaAHH~^{6ErDN8M(=MZlL5y zuHH-jY@JOHMp9iQi+t* z#u)FDPA>}TYSOO?hQc6&H5|Kc240B)B(qS^e-39`!lDf6{f)(Xb=oIe4-*CsG8ykI z7$yFk$~sX}vb?`M>bkNA8U4z=ryV^_L=-th5ww6Yzfkiia=`AEg3}U!_kO}EQ9V!6 zgU&^+lC%C`uQC`Sa2i5VWSYV_abyA3s0fO)@Su=3M&B~omW*Ew0lXM0u#gM5U^gx1 z35Ye;*NkAxZ*q1Ju?z1guicv=j6n8n3!m0FSGZy(+c=b8K#m4X37`cqbNG@rF-lzY zonN%BnXKNxJ$}ciY%uUvbLEvUi%KZhF?a8-b&nK3U=?Akwsb}6 z8;Y9Q27CI?d`UlFx?N-LNiC?%zyt+th*9-~F?q%fc1D+M$0SI>=*0Qd{i2<`QkHu? zLLkDV0FIp< zU3n{3+zt)y4!z3Aui&D=og;jp1OI))&?1Aqu@K1As$5>4ic}^rgBa--sfRel4;SXn zR$o%iI53wCcrKyu<7KlN$3b!%oZeqyIIw(%flgb4;Y-sKr`MM<{)d9tN)JD_$*RNY zjjv`g-vJhZ+{v1clq$d6yzV9~c=KksA)>QXUAK*AgcF8{Uke2*4zwcxk6t_D8L+`i z_MgSvojTQ3w=)BqHe{y@-V+QMw%wz-6&=SD{vM+?p|H&Gui!}Ja+Ezf3in>nkU1vnd#k^4)}%yUIKK5=4UsXjGI?gN0nTrnw*Rdu$&o&Y zzC4TpeB^mOYRQMT|Eh@iLxumtF^XFY_(1#Poc>3c&?J3ono)*zxownO)o+1@;_C9p zPzr=`w|nt0m%=FHA?!HaKw#FewKwsewz^k^FCuGD=?@_d6J-_WA5+0I2|m;3@xB_a zl%+dpJ173rmJ$ zi0N!Y&;NLS?qSDqj{sm#spw7_E%M@TlSV=*VCZ!v)qWBGq43~O#`j)r;Ry2FQ4MRj zXl^+}YH~^Vv*zSf^M=rDX8rw5+>w)n$KH|TCYQ+HEA^iXme{BuHdAn`?iSX5mvV{C zy+!iiy)=t!y#!TC9X08~ZVTNv`AAOl*XNup#fux-^3!CyaLgjU0?}uljv}jsaPyy8 zyAe3ryv3X`{SMsD{XAjEC=;TFovesc;yZ16+R4gPyE=s93=UABw5$4N4a$a|n>o7cBBOWLTG z?nNt%Nwt0@TXWRNI|7zqv!A+EiU=zEI9>?et)*(IHRWz5@_C=(kMiDBu3*J}gbUvF zSR04iwvE$HgmAUluSV2@RB7W*qxj2U^jXD*$||Wg+ns}4nU=^C4rMb8xycGnW(2B> z2ZR>5P;|bw7#EX&5)c!urW}I`90bbmaTNF*J7VdBoUjU;g#E#wnl{-EXBHE$Ayo4h z>%E8`#hy@Z?dRK)Sge0!63vXylboMl@EswVpCp{Xn0+*>j|=Go9akrccWUG)>>!Rg zc~wOeP4>zdha?(o*kAO=j5DmEbHm$8M&3=BeH#HSNMhxb=d~|A)%6-(KV-Zt3bev; zwZUq_V+57=jO1ZyHAN*ITnW6CMvdR_Mf#ezRYIXjabe}vv9K`yQtYJKtE2d(eMq48 z=e7+jE}-9S<4AHO2O56(Z z@)zR;-jCiQ|Di-yWfEtkrhU6PX78X$=Fg$Gpc9;-f=rzBVB2;*?cFUW?9gXtv>rnE zH9XnImTKG^Pp9`!Rl8qi$m0ccm+%c21|Ew^O?hftJfQk)Ud&kY%&{JyU2=smS_=ih zS#_y$Mx)H!Om=q9f2TtS;Y6S)Qxbs0LJ-{EvPNe6-2T)+G=Hjgf^G^4$Do z?0;6Ma8)3!ta7TN6Z!agCzvKMRN=0)1VXb{V0Vj3Yb--IdpvLcRg?d)tC6R$1yxDa z5}&HAl8%lk9ta)=69lJTi0hn$ZtV98{}FXA5?IRTRbw%032SIBm?G>%-S;|)$io4q z`S|U;BhCk)SR4U-SmvU_QMdG7_aYT}d?Y4exQJLo*upx@O|7{*Lt?kYe@ehMnmq>i zHm-I5rt1kbQ7XT?9VIzj+#P$2iZ&sk98*NuZY_|c+LuW8E_J8$x->2Zm;!WWOkXn^ z!4j%z<8a&^JkHFrUSQH@km0Hi@jR7DgCbnt=?6wDx8^q2K$oekA$+z!4NLB5J-7BG z)joA|k)Xa>|6bKWzvjf{T)I7D!LWQb5txTMwgv@~uoF>%J#hW)eD3imQydDlwvOT#bAa;s^ z)UE~=HHq9H;#E8s>0`>Odq$Q1aCqT)E4D}mpfrKWJE?zKPIBKnI1@Y5T1TlwR+_ZQ z8S_R~82u1w^!uLLkeV1r2(u;Ye1Hry7sB>J(hGg`r%Y%9K#$&!sLI;+gtC>4_XWG} z9^+;nlJ4xi=PYyfjt3zGY^^?-H@o;C8)ezV2K%=X5fSCtEc3H1^V=xhm_(Bx?o@D! z2|NX6{=5+2&4~j#6edNx^)0L#NMgAb3Dj>NhZQFu(C2v(8C5XN%ogcJ*Szv=XuU*s z_WL>z#j!Q&L?|YOLTVp2r~Mss8}Oi*F;nMBfS6X@lGjl%+9jYH@aL*V!oF@pzT$t< zA#Q1y-*zw#V?abKqyG}vz8Laxcr-4UFoIw%2)9;vY?6gH=T=u}kxqR6wcPEB#=A0; z2-Ck^-6r|eKo#u#-EbK*Le*|T8H$Ans3HGGIdMnmDL1@4G3Q#%%I~~&-0w_TNIpF6 zchK`X@4p>j8{_vaXadHcd_m8%dNxI=0{;l;*2leU1ByLsYpz=`6#N?)Ppe};xAC_a zA7PaG9fn*vNVD5<+?7;<&VUtwL7#;RcPJwGh@bR|U7a2pQkPWhg_U?8%{qW#j%Sm-Ykqm$I$) z$xOv(ZAAtdGXDbvJD-*yAIREF&?+0W1n-RxLY?+{89nA?6$zsg)Tq+8aNQq?n!Sg_ z<42t`C*wW;j5FSsvMW-xl+MrL(owEq**5X$f^va~m#nhUF?~;*EW`KUGIMCk9DT9);DZ)4CtxhcT3I)h^B^1UG zxwosZ<5#mCpXqD~rb&dRA$)W$MFiWGHW6!ZTyt}scs~(UnG^C0WTOU}liDG@&iG2(HAU@!4q`Av(@! nb}Y}fd>QE!)atbkMu}Js&ioJ)f{Px#xu3~oY(?)C@>!1x{VTMA literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_11_zeroed/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_11_zeroed/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..8a71cf660ec963e18d83db61e4407740348c7912 GIT binary patch literal 3780 zcmV;#4m3Sc!Kfy)1;znOdV2cG<4bTV zdE~g#j6lSEtL&=jQKh)k7p#-22E)ku+X)E(09~-dJX+Merol&#uAv8T3@5&6g#CRN z8WN$$f~!7cD7S`{vQ*4TkVeZ1Z2K+h9EF6Yi9wXm{p?1?J{wa^j5S`mZmyfx#tbZuLs6%wCCA@yX@)mhOHf-7l)$~W*b)=OdW_b9^oo+c79qkB!MQa4? zfshMKesPxBkq-+e_#;AyS@w3HIFEru$ZKAx<-*Zs;dbia`|1#eb)k@!q%@0hRy;zT z{fhHgT$DFkb#~*KNsF59G+9V6Omke_0URi_K?QLwvvyH+Lm>RECFhGSrch2hP!^+W zUA^I@c$==a*7v{z}qV9ftR;X1;t6Bx9=ZGP+kP)-o`-_}u zUBb%t`cS9YyQY^wiKD$92LJ#7-1(RUTT6oGDzgB5u2_au)4R=vlo`LWK9!PwMiJ=# z&Jx@n&c=JWZ7k1C_Fq(EO+%j)VIWqvhyp}hPJV9KyK4?~tE&}8eQH-q^c7M?OP3$I z@UtN$f3m!|ZGZ^cpIz#BSkIq`e+UI}KyIP(?x`wnZCeV6%n(cQ^eu@}eo}R`LihKX z)(6<;{-y^X#l%(7*@&;O?5ODIjDn4*npdd^GIK%q)bC(lE%C>)-AkcMr$jIGvbklD ztc^f@>-reZFzXAub-RpLdHa0VnOSejoHrSwsSwb7c#VOSZne}oHEePtCNY3q&KgWWEdynQ}t=oid3y zdX`zyCJGRoI_&2IKYlUeng4AG<$4%&5^CDC-c#$X)JX{<9ae>GRv2}I(J#q}#PSgL z2q^PKTPY?-B77@8IuWD91mJpWnF}q5I-(Hj{1YVN>>8vp4QPHqiY^E6d~3JRbJ9Ji z{q^-4&=pka%btO?nsr`~+k{s=)Q_hpHjZ8vzPGfs0bU75SI|!GNI!h_gvVwnO>s#h%mTmf%z0LLwLRo9L#PI6?r8ZryN#;d>-tJ6 zJ=&CzXQOw6LMyp6M>J3H@w|bg+Q=t|EW10}c$9Y*6?7V% z)-g=yZDo+8q`fhRD@lk%3?W}5VkF)&o%L!_Ufz=tw&e%4bT9W0+?aqfnjd*uD6%?w zbSZsaTnyD<_>_GI;k# zw-H+zRM67gZ-I{D9EAqbw?bu;Fd8?{WX`h3+EL$`SL-()C!G`;c~V)}PlM)$=_H<< zy1C(+roM(~H7s+mS%#)j{qq)BW~jX#%02)-My-OoA$ebw!*4k#7|Gd>$MGb;?jIPx8rj?7p}g4`@PkBpj1k$oHj2clzcc}Fw0==Q{S6K}eW~cqcwWwI z3}@R?`{)6*bDWNRFGKTS?JscJ79KA0}kOQYZM_V@c;7nwYDFwhgars z=eIL8V)ANj*1#`F51b|IOpzRfhpMdS>TT(?Ju%S5`WLN?$Yn#f*g#Lznq$6~m6RM{@42 z*ND40Yx++{I4*VN>28{!>AVS5zaMyYLk8Q~uHeViBEv-qv+P@%k{4;T=e} z1N;_r?kYVdB^i_66z8)jfxN*#!l^*R&$FB8)}CtPC})FU8Aeq143%v-@8meHS84Ut z_;jE%|9E8wac;D%=2{m?6VY?hR8*ItJVq!6UC85+JgJJ(`*cqv z$>!J&y4au3++-f+(-MnA1S(*TZFCQ-_1k_OnQ$tYtjhri0001a0ssKuZ3h4V04uYs z;Q%EVpW@~2paPW!Qn|(43z&?TV7m&RkjvA`&kTQ0S@X#?tkIPQnn-4zVT(Qmu06Wc z*VXl-ZyF4Jy>XEm=wFS_EVYO|CF{{a6_I6sbod zC@Qg+&4HKDx!b&KZ=}ix0N1Dg)}@+odeS9AYK`TfS>t6Cw^k5&xyusne`#{6Eptab zJEu{;!jTK4?$EgvU=c=+e&c(6FYDn({sT!{qAt&a(3wU{1sp?zMdtJiFDg%J(ZM7& zBaDV#JluS~!tsz&4P8)xsX&z|Y>3eMW2!Zupe5ghc2Xo>?q8Ny@T$G$wxK151(Vk7 z@)eUm&b`xz$2R?%`WEpVQyCU3$*rL|(-<(jwzwC<2!DRJfX+F$=_N9YGjjfIZF-px z!cnX7)9RD@qs;zZ8CvfMFSyGaZtZ4-yVH43I4=pS!_0DuW#2aa#x7n-4o%K#MiWzt zw8^WblYkx#cX}@vRnu#ib)#^8qm!KKhh_(o$CCwlpXcU4!t|T!Sq$vuSK1Lt0 z=yzR{l_F!AgmzEXAbS_zuTVsr?2zh|eXBm8q568B%EOI9!-S@>8+1TeO^taJ=CAI6 zZf)6nht3tu@BY+Md8vG>o{886;aryi<*7fx2&9v&&3+puj@MFd5C)yCDNYi<{UXE; zz;;Z=i_TVtoBT+jbT@+_@G}fBN~}kcP<-J{iXD;I(oJ#yb@Is5N6{a1!-|)mQM%YRTm(o?E@O;6LLt6~{3l3=yl_y7nAcC2|vJUjl(594X_)nWz# zX1+iMOECd%H#;@OUz+9;2rU)G>Clcmt$J`wF)Os)-RMM5q_c~)dugc2p_?`Ytf0M8 zvqp)im_4Uy46xAf;iP22s9flbPbqzT4N;DoQWqMFGtodKXo3`7!sB+nBU0WlI-1Y7 z`QFX}0JTAPU%dU?4yskGJaD_TBAnjjz8i~m6{+|eqEy&mlYv18TvOpu4}8INCGWz_ z3tpv7<|}#ymm*6wuPsm!^Z;+VW~t-{?bX}nN~WXHMeh8OBhgIDI3YJnHW|OjzO1s5 z(`pwqRjE31N5S7}kBN}WUjzrus$rleBCj&VQcvM4Cn**ladg3z3^Xj#PlfIB%S;QU z0I9{nuGt5MKf!?A#iNQSJ1hmM@5rl&m5m=NQW{U<9i_a{bFqcg7IF{Rbj%8Xe|JZZ zkVPTQ9T%V9kh67k47v9~ie);;jpk(lFru(@7h_mg7`5%kCii}OYR000eX0000W0RRB^gKZH;k&3 zz?u2tsWD%8tIsdy7Od05LXmwaG>UyN35iOG{=CSP6Smc?sCL>#;dgSNw~nLz%&ahrs5Z z9C8YomhahJn?(9> zfMkRgB`#DtW7Y0zJ5K~L$t=tGb94NAb^UERyQ6+Ao$OSu9TP>i7j)=$dXGfR!-QT6 z2c){E(WP_cZG186hvhBNL_X8Z&ut8G;7{&3uyP}BvOsg!&|1nSwjQxmHmHL5)^-4S( z;0_lE0001S0002Bv`yYj~yi zjw~{EB^`(C*DTq?T>n3f$>=)=Ry+kHskH5G66NJ|c?M0^z#uCSn8Y zP%~w#w_uVg4`JvT9(KmH2~=-rP|P3w6hp4T*A!9khHqYgr7!~b+gsO_GF<2u8wAW< zb^We!c^I4bqtQhr(=tcR&WE6-$Z_e2!D&X%0H6f`RK%=v1gcD?gl&Ctu|R)$#%VW5 zCpTX2vB2Y*nEbwwpo{djh*Se0y{gTGiDrqNoTYAn@k;GL*mSBWmTQDh>bb&X9o0`w z?3A`P-<*hT)z0f&(JSi2K&O3ljQbp0ui!5wQ&;f()FwJUrxNiF|XgGeH-tP%JuY5AluR1Px_-v?-^`Y$F zU`N%#M7~GMavhy=y?H|7yBkzY!P8PIo}q#_x{_x#sW1Fh$g6mHm=U2ZrQkU zC%ht)5g2E7{ZK7OCOZ(Vgb;a8UQunBf@+ZtfZ zyMJ4OVjbd;Rd_0{>`G_x4L#AFAJb5V-qS&Lm`G%fSYEK~>KU_%Ip?2V*8ydrTmPc# z8Y($kC;i)Uns_Mnpz12dk9I3rGe^SYs)#G;QIV~;cj%)ghP@p>mNimNn@X*hdI`^Sd=H$dlcw36b&@7W5u(>mQwi;4c33LP$-qab~z|uiq^L&9nZQN!@NS3mN2I$x_aNZ`AE^t}{(DS?2J#qulXRecOg0?r z|C$lpgyVtH%M!3B`Lv^hq8->i0d7XHha*jdcpdsa;b;Lm?oZ7#U$=Ro=uX-OJ_<4p z947H&_|V_v9+_KdV}|V|AzYV=8pR6O(AB{H647-Xi9#^rd+wWkb;aJM2@8Jje=8fb zRD;b|?8Sr(hr-PDSFt+|E3>gD&hU6+BO5hT?l(r{Y~L-lgi2@C*ZN3Jpubx)!#~8bfVvQPR1=lrkvHL z;B~djE0bT2=l36me!qngG=qWehP_4suE2;-<&0VaI_*G%k4(@C-!39DVE^gzsy7f0 zn($kqep-GUwY*nzIa$GiX5U>rNXL6{gPpqtg1O!cp>%dnBihAWKu=P(Lhds`;>-Al z@<=e~Pp<1%?c^Ru+zCJ@_vzsn>K@$WGE`wIWNx7)J7h_#sQ8)VV!@J%f7XbB-KN;G zA7WR?GWfY}%6=~8tG&Trf+DQ&cex}^E<9%?TiEjgQGj583dc9`qm&@)Sq_002_60000y0RRBZJ1|Ev0!S|f;o?zQ;Rwa$;6R&YGjWex z(jHIOZv3|(`6I<5(av;<5xRVWT#%5_>(Qp60ssJ-jS^AxMccHB%p0vbRP0ngjeJ%b zpU6ZT7Y7EE5LovU${E3!+}e1g^(i#_RURrlq-wA*P`G3#{?PerC&A zgNo;f5E~Hk^&b~R;wz+<^5xa4uANq!+V9pmiVkG9I3CA-E&2C8piXKCPdhtUMQ0KY z(JKw1TwC79tuE)J-RO>RpO8Y49+EjLUJlvU@_>=U@6<^-5%nFC$ReKUq&kZg$c-PR zsnq}kY)Ueib$_qzmCH(*-LH!IP+vcb95%oQdQfb~=64VxsvS(#tA@X^UQJx!xQj5X z)sV&Kzf5d{Lq2-vym7_QRb&SM000(Ie?9NaJw2kmSa6hR1vzRYd%s!Wpq_Hq7Ce2& z9!y|ag`b3x0FX z8WexOX~PF=S~fEQNy4rcNbp7-$xM@5cNTer>HhLvtSSFOyWw{X&ZVD-3l=dU6=1Ci z@WvS7-0n;A5sp@ZY>2aQbDq@ZPo zJ*>_$O+aBPu5VW*f9=l0fW_4BYNyqYBJ1uebZk@H1@u#|9^*+hx31ckh9<(AP5_%- zUQ8sUvhRdFQR6#ZrbPf_olQ2KF>{FeL;RH{3=)~t16BS(AG^~oACxKWJ%xSdgPQQH zJq~iPo=VIj5vd}2`|h;xtL=FVeAX4F~ zM1+K)VI+luzX$*T0LKLY0JV1q0001kXavEHct5-T%VH|jXHn^L^3Ubt&9(;I>GnVS znixoVZDKKwI`L9V9l0RouF_ThXV zpO2c3eM*ehiau+RBXFYYp@6%`<0*D{CVO=tUb?9X%3CzhtC0;VQ*sD6a!r(+yRL>O zSbxILa`CUFG1LGPKYfckxMwjrAa2&+H704Sdwryp9Wjx-#kwz1y$~X@H*8t;{oUQ8 zD}Q$|CA#Q<>qiNqTO~*x7!5$CfAz6K^{2qMf7?@KHnZtZwMc~)qJN+KR(9T4VuXvy zzEt>0hqsAS^|7DBja~Vu{GNK88T&RVNNIfAY~GyO5WAlZS_3=4V7+xq1B6RGyb&H8`;;66P}N{O$kNBxPf?oxTG%-5yoW4x9Stwo1|IKFQM%V;?Y2y{2HI*m9StO=5lg@UZ5*10iSq-{6QG(fPICOI*Bnt{*B- zIY7rxp|_NS?d|3z;NXX6OJx-C=0SGVned`aIKML!h0=&#H1=?mO0O;+BzZw#fbd=E z=*?8cPz5UQg-3e@r++;f3}XYMsMBPZw+;u5$iPQmClYQV^W<3jP4S3nWUpD5pkGD*yJ&ttJD)3WVVkp51hG@8m zuE2BsY6mGgGL!GU;Oo{1oRS749u7bVLr*jD0p=DnN zaM_HaV;N0VTGeu*##JW0`+iRo*Kh}kpmJ%a+er0NkE?)j82P*>hprkAh9&7;+kHe> zt{{}A3V*+#cnY#SGKTZI!;GHo*VX;bJ7LPC6@q4sICey?f)2}Z{%}Cp8mc*!<$2{s zY(j~)R=N5;UwJbmMeDK$hGLTFUj>F#nMMni0fL$_xGVH4fnNO1#=8!hUJbiN!<+r7g{d<8#yH#;yTN}aBvTkrhc=-I_Jq!v6yKftr$KD`6-hk7EX zaKov;LiNg|%>Z9RgvJ_^IbXRabD;9kq##UXHnO~F8_q!w_C4NhjZj%O*9_Z#G5Y+J z84{N1L$}<;9NdIABzoL!=ygq|vBh4OZQJG6@^WovUK3Wty;AdwZ;c;ejB?r4@3Eo?37 zn{MHrnN&xT1ss7G@aq1w+sVgO12~%lj8*+`P`x)q&8#rTXMPD%q(G6*FVd_sHtgL^lf$)VJ)*<{eW<~~v zhDGt(YKOmJt21nh*I7<=Xy@8czICU^D~Cy-ivU6O$CcaRnGY;f;5lP|$W<`tv+9}# zS(rYQY26y>ACGADS}0!noGnR}7^HZwz{dHyt}5y`0w5FV4DavXKS|&lLL2bB4?M<$ zVk!%TU9CQ~7#Nw1%j!;oS_E#%e|8}v{xpqdyO?O73*TJ%xDtbS;rXaB9_ z>gUiaUqLFC81sU|RmY1i1Fm&Cq31J{Pd=CNsCOqZq5z}+J3L#eG)=qx?ZHf&#q0+> zKQ6hOe%ME+!vtJ>Z(6t1g+*XO1g=DhFv6c@NO|CuB-24njlsb(;8!H71)VIbhhUGQ zjhy3G$&c(3C&fpgm8`Y$rwlMl&R( z5GQsh2kye)*=%J_`P!RT)M}Ba7X`_kr4`EfB5ns%ZZsE9+FDX^;26~uwsCiuz*lni z%#dI5C2jYdVXFHF<|y+|qRHJ%)(mm3*_9a+ zmQD-8QrV@p)X&-0{5%KaS_LONZrK3rnRfFokI=Cr z7!m)G^u^FLQ7NHfSBSCf{hyF=848J=h&(J2Tb?Vc?=pHcTXGFvp-MR32l7=q?_BK} z#gA`=kL=OZ?;cGjPmJlAv2PcAT1h-31FaM%fY;@@0fY=_fkvUq*D9N&F{MvFld4J z+xBFPTDSCm2MoKHs@8ze0&>orRORc3u0ZR28NhYIi(ci*nCu93W~&0t6ct3e-1g?6 zAG+)GUHRJWF?mNf?~p~bazdyDISld9+da2>zfq221w{}j25K*Xi2v67*2q^pm+vyc zCk zO*c%rnVSeaP#MN~Z5S*vUAlPhIVs3emK$>;pMzPCZv^vOJoyIxj6W}W*!1F0IOU|7 z58P~nWZ=;@(k=L7=Ry#CTIxru*=^BYvBM3>s?X@gn zexZ`GrY)Kg-p!3a`YMI%vP`n5eaa!Zr9}%q+KSSpA#SiJF#D&h9jHNm&HICoAO9Aq zhY=%96W01sF`-oVB$qwU6gK| o7YUEN${XgWaL}51DD4J{+5c0}bKrx;x0pfnJGY}2{{3m1b*!MLdK68gNWrcMup<-JB7wc$`F`n1^@tm@Px>FPX&4ZRP|7Gc+K6$ldF7( zy!tmH3Nqi<$}GrWYB&t_tL4WL9(R2z+gdf=da;S=Sd3ugdDcq`1yZ|&UpAN4yoV@s zb#kG{Xe?F{@nu@4N!>Ocp~OlY3q+`X>!Scqv{-)$%OGtgG@)z{-QOg{sOrqOVHtyS zS$-4o5;)r5i8883!7gwU)h^t`h7Sj=pjzE3(6|U1lk-69z0`9FNRZ2;{RaR5 z02QXomIVyR$iAO{L*rCK5k84tw2Ld;@PBBQFsD; zo>t+8p;@^QCriLLJw zTUBZ%^BwHjDBBY-l;rz3(O5fg=~koU?&542GQL5381Jsp^)>d`u#wKZew}OcBBz~^ z(jO{1b#d<#7eu*V8Duy{=IGf_;LjL7*$zS8(fKcvoT{;q&AP?B+t1K9vEiGTBgtMuNLA*)Ay;BS5x_Rk54`>Q-z<&uAxN!Z ziwJB^0(g5+=F2*UL@TV&xHCqq^&X6MDkk8qhgG^H5NleZZAkelE{idP{!SD>ESgHw zao!t$s+&AWY$WWz?LtldV4c5!==#!xVrs7p4eQhy5qcD%m{M<(6gSJNBHQIpUuSeA z&?uSk>)m13j{W4p9Ny;_Q&5EtSg{#a@%7|MwIiL(Yn7Y#yV(e^r*nlY)CSt=W9FBG&2bH;gf!C zvx1o07)K`E%#JQS4FsI1kWjcHFv^_ZQv|@Ra4~ZteJ{lg5^w5Ev=X-2 zKZVHV*#ENfTj!Q;{w{aHgBq84xCnf@gE0-!8YKV~yo<{Z+pAk={e8sB2DnZ?Am&&3 zBgNgRjO=26*l*zJJYl1_kSz+M`cl@F<)?9K@**_&AxH4Qx0FaoBpQuJ8VO`R2Jc}q z%Zd7PIj77W@ZA}pgoV|Xa!i+AK~E%lYh>wo$nL_zJh*yl>h_Ri)+y*d%aY@{2kI`%HVB_4%Rp(d6}Pz1>)t`WugLL%^To2Ha?bfI z>1+YXra~-AL?l0hyd{9Cw$Fc)y}?Ht!f`NbCFF4H;qMt)w}SHU|QFF$=4%s(BUL^r12Lr*eyc?HrGb@YuV$>ICa83VRn z&7rS`VgV%W1C4v1^*obn4Jqs|>pHUuF)Cw?)Z_Hlpa2B?Ksh zv>C$>m#noViyKngE7kmIt{}Z%2H#fhJoY=c*tRulNFNn!b^kR?LwVX%q;n>VkDn4$ zF8g!GJ5%BVlBfe1aS^H?j%%ldBbt=W;)XS)Hf5plWPi_=-@C%ut@{TS-`0Nya|k&6 z3gJ1J+}6xoW+w2X$BrnZi7~wz{94`VOX4q>Stdlu9Y-#LyYWcRODP?){afNZ2pkHk zUDW8fdtMU`PmSDG6`0Wc>$XbSPktj6o`_Cpu5NV<}MFZmzm1J$k%!X%LQ@3n9Yy z9{8yV3;uWx;H00J5`+IvNmNTHitHQ4z8;?(7-UfTA6c-&%iE35J34c35oiucgB;pi zZkXiLhS;@J@OWX7O$ZHdHP_hd6T+9PgmR}Fiw}Gx>_ULT*WV#oyq7ZbTyZF6>Yl_; zS&k92Agf-34Yt9m)R*2Ib20A+&pE`}Hw|2b;jg}}@1ghW_5}X7&5uLY({q#5RCylM zRZlLcB4q2j4GwtT++VCGJc*b!Hd;rxF@BFR<#aQ%c;17=-gw-JxpvaW0kd&~afQ(H zZy+BX=q2vn+|;#gpOJ>0CCikzJ7O$u@g(n~spuqt$ae5ORtN>9N${mfP(Fw4CUBiy z-o*h3UUn&&YgwtKQ_dkhGjYc$t=c0nF}&a)!yf>9^Z(SnQ8646OD^0>scLovuS~Xe zlVIC>QUpv~Du|irnoqu$1n~`(U7O5|$T_m8@c4nbC02tHifCKVS8fJ_A1E{%umR1W zQ#q$XNw%>YdtLfwsw$&=n>*%WQ*@d8^XGM(pno6!_b|te83e-b>O+>wXqGRxlU_(L zMLL7_E;vEYN?xr)d;(BMrle6v)&N2eYkIT=rlTqPbzUPp1OT&vXVTH)PjgP;RA)ncbWBkaF^1t&1O@3k@R_Chx6wpb9eRya~a) znaJPzW2Y)scJ$@q`SUsF)`Zs*(tiV5h}3OO;a1o3Zl z<4z^t$%Ee5tu=R}*TUZNPBN|6*rfyOFSuRciMWN4+MTr!oEuI>R6w_XVIR8^wk$#&X!R5Q-UYu zr=3u)*VHbh%WIw0qP9yd;{U!QLiO1oU}kI}i?;%&Ozze&<9QJ5RkyfmBj&%YH8Mt` zzh&7f%i#@$_7J{*fN(z+N3}QH7Vl+NQH%odS=QsoywomrNutHLH(BA3eW5m;bT0ib zTfI(xJ~-_{Z?@aO59q#dTL)Ny_Wf+ZwQ<7uB<=w{LAC_p0HC5I*LNl4-gv&y6B^`H zQ`_%{#j}U}@Xir*z+Uh6y3p!gt~CS)0002+#3$@vL7s>Bw?SX6lP-#A5}M`cyhKTN zI^j_M4q#mTNu3H}-X`v(iDUgfdk86i&K+L#+jUw+0=@%R)g3(Kor>Gs7V7zRvAo@o zm2zih$PTL9RU){YqJixq3*^PvXg4`n{Deo9PXmCgH;JcQhMN?EJ~lbU_#JLg?gAO$ zEsT_vlpY03VE~7H?2Z^7mZ-C`kN3L}55e-EW-Lb}!;6cMaP*tk-a2F`CK)GCwR5o{ z_U=oIfFj_ZzJ8GTU{fHR%fV7=N2l(~Q?yFmQ{EqvUrrGS zYuQ+vxEJb5;P3{7$_BhuxU{Rv$pMNCAw_(6%6PAvM*`g>=80RToJ~IQuV1B!fe zV-)Lx!#*ZU;H}EK1Cg!<<&-D+E&vwt^}F5pVtTEkjxlGlaBUYKNf{)t^#w?d)Kn~R z`g0GBp_}Eb{BM5IIb>K`S*B+AqCelavP6gXt$p*jIfQq#I{^3IwhWJ|JlK#8c+`3V8y}s~!YCOc=Vypqea^zE(O0t}zzoI)AG5>GB)|RRo znZj#8#1}~Ltz7B}t1dZlat)(`p6gQKWAA9WXpxd^A{eNC! zqWD*4dd+dVH~6Jc?A*ad?n#f%)+XyWhkyN@X_R%t$tJkVDHnSuqyqrRlA?p7!in@g zOP7sB0X7JqB%CPnY2Kc_sgn}xynX{hB29Odg7vmiIrltR+X~6=HCpShZt6&!@9VQg zSKUXA5qt1FLw8eR8{ShZyRV&$`TjHyWE@KPl2GHv- zQ(7PSb4SMQ1x0&94bq}%^wkA*Zby)W$R7g!Wu=eymI3m0Hy>eQdc=DH=~`l=lxYLw@`g&onYY>*;APq{4D)DGtSdyOaiFYeUYJQ^l5sF4#DZL~6*F#x z@IcUW0HeJ4jR5ftl5BKw;j}wA*l~c&bzKjHjV;nJ?7%+9;0RT=kquiG#+1dL6}1Qf z4Q=-<2qMFze8iY@jlO8UF83P>_W7;f$u99qmxX)(mj+m#lduCdkX0ssK80xcRCq3o%DQ01X26cWb1V+Rsv zM(fEEMiQ(YsBX^46DF(^(-#go`xz6Bv>n~xSoB>5F+ zwpi1M%HLKTYtqN6F=Vd~6ZsH$$Z2OWmMr~7N%NEH$KVRW#@}X@Lu}cUn-0v$@&CsH zIUUUuIFkr#ZxX8p;bCWdovyH?L`rgx_NlFLGV}(Div<LpqC{qw9_D-_Ct zq-^W>HDPXEJN;#Fa)@k)=E7QLb>Z=_0(zQK*XHeFpmE6DFx5A7_1*f9-_P8vj3evP{ldjIJwLCxU(Z6imiY}o31G-l&&6} zbqWG&vGZR2UE3o*crVrNfI!r-Hu%`ck&;?+9%3+`Jp z^nFtfZ8v@ux~1CMicohJsjZfbm*PDr4GZeUDbayE=`R={n4%Wh@}&NNvBoDh#=83N z&EFXyXC;|%Iq)OvlhQ{^y9-1PA@}Y5jf)V7>^TSk007|!0015l2LJ#7NPPg;4XMf< z{hj@GxP@MfIIzB6)wwoMY@aG>WCdQ@r`Myx!1QY#Ny6VvkeoaE^*fv_8>BM|m-lCa z%U&C|up3n*@*KXy^`ZWaJ&u66h_V^ZJ~=Kmss(BWW3Og`qKZTlJJ9~)>L5xM61U$R z@qLAxAL~*%lVuVv5+U#R|2|Oq!yAid&+T})Ra`4X=Lx^cjKsp2fdT8a?UoOGniy5x z4r&=_*So|A=TFqG0(@c}mqM0{n1Q>HRaYAGF|y0w-Z2$gk|AI1!w$fp@x>5$Efa#6 z=Wvi|$Ojik@Brs=71A4XBj&8vgZJ@aO_-@MCje0P>($fj|AyHcgeCAs&@!@evwy$v zdP!2^mFTT=pawEBwCy!7feFvM!WM@2jv>Z?dN7&5P zRpjjcK1d@Ig`CQ>kN0>UxqYkkEroyXO(I4`Lq@!T;I}F8GIn&1myOMH%0Han}gz3y<6_~GiXZoFhZG|ib3!? zhP=gMf1CAwS?;!Xq1P?E8Aw;cd!}Vw27JH-F*&mxhThnhrw`eEL<?DKUxp~ps&2RPu6D4{T<>^eAc|6$s*l(X3+2n9$13#?L$!29H)3jqSUn$w5l;#sI zvVvsn)zE2)^DkSGO=sjvw|vb6WW=E{?n%IOY1ZH}1CyH8DRBeCqlj;5|6Z(8Q#;D2 zH4jZs_O7Mc!gEBwA}c*9{XZs8!Tr9CY6)JP(J%Q?rPl6BCxE z7xO?9%cu?=5S=QDWm9v|ExzPXXiE-vmLBx~(~funrAsJV<(wnXiOCbSHul;n+N8zNcLS zy6_zrf`#Y?pkfWlb8p70_LYPB59bc=@`K#Kce_;#CH~vberxCmPL+z;JW9=JM0c3W zyoi{o2c2C)FC{bZK-&{P+XD%P+5Khmq7bqEu;2`$QHzcD(zZk@5viO)u3OWIlJye@ zn5XCOnJO@X;ESeV=vH|&L}0_)Z4f^2;o>~46?SY1-9NU-rVQu>R9lw!r(7|X511gy zQ5^sZ-p>uv^>(e1uM22h3kLG}^%D;3c2O{^M5QiidDeAxyd+zTXh@j>lG_L2pO9gE zn18|1{sa$33iqXwx2Xy@iGdWm)x0dQE=uL?`AjtBL57P%g&Sl_ul{DauyuF@uPdmBRkRo0@yUIM6!ZIFdAo>TmC%0{8mxmTqv*0BG zSSdl;3@sI4hZ&lNUlXcg`Z=9VT=)axq*yQ^dbmlkrylEFqeOCFbWQUBPP~ zQA7whKW7GPU*O?dmTe^klw@f5wa^p>5@(!AuE05_jIoyVRm z4(&TBfqk<78o~eF81t&_Q7Yy%fTnZsq7k`>ak`UfI_d0E9yV;KhHpPbkz>?>@fOfOI$2h=QE)M9B~xEg>5bG%NOmzVl!wqdAiSc|MGY z481C*JZ7NPK+y5Gt1E!kkFJ#l7{2^7@(*@gMZs(75eE~N>yQSG4?J^qB(_oazRPk%Uy(<;yIeyG$+KH2BRjfqrM?~9V|W zm~J?wPTq2qN)APy%9ZNmJQ?-fPIM6onoO;UhM^8DZ_OJ7k@NT#-B0^q zpm9B$-6MsVQo0hHXi5YyOIo%9 zi!37zF%eSmfp?4Kdc3Ju9Wk+lQ3x1860Z$O{>{d>h|+XT$vVb3TnF1t%(~i4rS!kSt0Bdk0p`dBY)1`M=2pdYyRC(pSU_^ zvx(1_jfTr-oG)lpVmTasLf0UZKoOA`ek5| zFwWy02UKpw_98vyA*U{CIbTWhCI>*syZja8PNMGpN!MJg2^_-W^|pseRVv1{GNv7}ku(ZPm@n#+~R8 rj5nr!LkGu@O2iM)uFRNNi3HV>{kRafv74VHVVQJH2sxVpBfS^NJRZ}J literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_7_zeroed/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/ComplexTestStruct_random_offset_7_zeroed/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..864b8b9a2a26ee93a9c735fd1032ab07db76c022 GIT binary patch literal 2549 zcmV)!tTzw946A|Iv54pfZRe9=5Q$1poj9G31g2$bfT%v^{$1vur-LeEjYQ z1F*=e9oDixuan4(cdMwr_`<1Rg82Bn?h$2fQ!CtDY*PGK-f& z&z#Zml++a?Cy}DB49<=3qbO>ACUU>9r%b5Xt5xi_Yu|Pf7X!ulpb;>v{oC$;vri^f zs2_!AsfPcD^rbd!jQzl-JKd!+P1kY-v?@7+v<6qF zG6yDk`4j3hPj&{xwUaKX)xnybEP2mpGl0v6m}1=d^`HTZB(q3W>%3}4s-KTuFQUW} zY2ys&w+8?K0KKpX?`$FbO>ztt`ABG}K|`JQUeI88<8}9lR(xoCb>zX6+<&e5ZhHk7 zB`#fKxlLte`9bs)kba%`xCE zw?_xFx3eCVN}qz&P^ska5hTd$E#I#?e)ps6nEirJ9EyCfa<%ZdH`23OSfLWJ^L=QK zzJ+^|Q8beAO}9$QKax46H0Q@gOZ6VhDjyng7{n^+)e+wy+e&D2iYoc;huF~qW~ZZ) z`JX*i8%X@kRgPkR|_njJo!rL)X z*(x*9fIUIY8qDR?>J(It#>8Vqn+L;L)ai`Y?rXWBF<_N80SXHF@`X=bJy-I$tk%M8 z{r_+)>TX#+Q4KmBT}1~IQ=$%DxFEicONh1}ZU$|UrYYzM%!j-IUL8H8w+>xFr|-BQ zR*q=uU4Nsxh=elyV}l^o^5y!P%1*34=a;8%fdKJ(4+D3{0YH@?^hkBzI_+~Lh)fGG zyNv=nMY}X2L|3s6eZ-?l9tIH4M2iQ3*g_TQwtHfwC@=YGxAh=3n3d%)BzB#4;C+|Y z?YAeIm@*lVKCbY4-U=>dT!(uO5NdTs-;cqT{H;hYjz<|IjpNWO(-w4;9VO^ted5nmT@tX&N3?1ugJDeSlQ;u&DS1H>X#Ov zyNEaaho&&_kb55;Ly&W*%D&}urmsF?Q;d_b8}T%($RO8#>_}9+$3j4~8AoWk&$5lf zxl7xxCjT_G@_zWl(sDVZp5v(M#e1jfDk2s6%yG>d)q zaVnt&ZWROpbvbsEyxWV@&Um4xGZ!I(c(y16iBG)Jib%!FjQTH~a!{d=`FT6b)YZIl z-sh!dp_z;vI;|a~zhSwH)B9ASAvQFQf5zunG}syzEuCT4Jmf(YVD^1uC|Hz8cDO_? zNLnmjJd%9BMH?`1XC;9=*L%Zo|6pdL@=u4=`Oa6;NL8W}vH>BmNnp0TP(7;u>Psbu z1q%aIVfo8dYTX%Ge8C^{f8r$PDdTFjglFr2hvAgwal*v|AOVLo%e{9S6cw6BmO91pwqPF_n2VJ)Z~2=9qd9`T%p6B0pAZF_e>~R>4L_9RXKYJXKFax0Pnx3Ofz4G3y>{zFd z>QEa3bSf{3-$|PB2z1W0-?{~0{l}H1R>32?aN5Gu5vQ0&pVIDDNkc8nKv_K5Pd#E% zCu|cYm?diM>tIuZmMIuF!VaqL{K*EF*ImrfYQX!mU$C9#F#TGaYEt(h#ZNgqdGHs8 z<@jqnMt}2SsmZ%51K$o#2ZoD4!>iucn?!K!hf01@_2RLi7L&Tyd}Q|-Jw#^svn8_V zim*#lDLU|@V-stGDwFvL6;tSJoW{#HWa1$Qt>QWtsGmfAJn-3)SXlBg>sm%7AH~{d zU2Nb3;F%bGq;_Rtbj#JH20A8OOXDNhDw5SiU}=c2We<~l|4RZnGT@r=FJz(2w=o%% zXioY3+rElmb)Q8C0000x+4%8`smfS}R!?e%*~ziZR(ONmG?M_C2-{uQxh@nltyJE^ z`MP4*?vFQ6s=7gj^eZcnCXYHFRkcM}H5evtJ*M7ZU#K7X zbePqKGSE7fS@1+y0SDL{?4+>rt3Ra}=`j8tJTC8lhACseQ=2Ln3Z( z9_%Om+DnR?lmaCgFEm37$1Wn;g)WIR(})wt5lUn-0`!}3al|mECDg$8DeY`DXyB`> zumqWIn6S8cAP7PuV^IqnHbDx~+RP}nX6?}Lmt8mE6X0`~G3xs_WT=F6%J}pnhd|cT%l1JoJ{G$iB#69P`{~Hgk6)%6v6Y;t|_*Zj&&`# z5}gZ{2Y)aW+fo9gi+5LT#%)`^ri#z|LSD5Q+LpP@hwCBe0iiB(>VbOWMayOMuO|6k z;HM^Ze@BUoQvklFj9`{5tiIjKE4*|fa)`Xg)uRJ8w^{3JD}Or zj)%9q@8{cwP-I9$ukHFj3-ryeODlv6v1C&vD})x<8`b|UKkyI`h4(vz=hn6RbLQFZ zEx38l^mNJwqMnp$`)bY9h7E?pmHC;+8vx4VtWa7y4V>VGc|;Qn9x_Yt^plHAK)Z!C zwAo@y{;O?3@d$%W1Ay%~hC{H^0REGUZbmjVvaD8v;C(wQlBBrq<_xh2)a8=dj-jQN zKS@sOZMUTpPZPNG8PhT^OSZ;h+IHcF)|wve)3|_Vac@8CS#2|+ZylYv-hhHGbFM+9 zJ-&npb<6v$(39Q?vRaj3X)R|Kfnw!@5TMcmEclC;wKv%^-wTpQ5=ZahX*)#1K^?i* zFF&&cjGB9J9jECB+(uZw*-DfCF=J3SBrEBnT9>=7^JP$}PgYKlu?1RzPcP(j>NnI7m!xL+r|WyMO=`RsPgIK~=L^>h5$Yo_ zC5db};CEHTM0U8TAp6Gw!%Z7{0f5-`15jhNG(Cc!%V<`A=s-(pZ{IzM zhqN#})RLBE#{^`p7g4`c@gU?PW#D5r)gvlk0V_O{IHo>&YH8ADcbzBN(k9tLBJIgu zk^xZ)cf8qyF$>u?1fnq57C-8k6)d)0y=MIy=>kI5vbH#LU`=W~DBrksO8ZV{=}rSpp@Tof1;6j% zh0yMP(}NhOY0X4EYv@E9LBX-0-rq-1x1-7H_}a@|RiaO4~Q z=cJD7&V$*FUqHyW%)lkM8~=(r6R0G7uf5;;gjs(O#g#$X>D% z-oAqnM*WxZ>Avx3f1nf#ZmdP@r@!jxbP!AXv~S89K#8BCv>V6(9UdEaFts`!97lbD zbF66%qHquq&%vUtkn<<12eR=ZE~I?o-uh!s7@GUUS#E6F1Vn{B(1^899ysorAQ%9Sf?Knb%vhFG{^ zZYGCUS(L@C#uqz{Ee0DEQXrne3gx7J*D4<$u#+HrU7X&?^kGcKA{uo&4mb59NKvda z&xI@vd%B`kSA;=sL^t&5BJ_{5udNZH0()fXQ8AvXN&JPW3 zwu0+dv{6S#)ir4NOh@vtgw>kBxY zmkhO5WJ~#<4x5`8TUzcK9lo-Sf!8d@Xz^_5qa3JT0?GoZ1>P6wB||d#=tU{J_oOd$ z*S#~fJ_`zB#2(U{8gy-P$ECwpCY5x#mE7&)9m7I2;0`wmf|-i?U-ryefb$_OOuCY< zGqob5O9+eIrt)BP{m9_@@?z8rbEevg!^a;X{;owk(>(L zPa`nWOxG;C-QDY;O0=0aG}pzV0)DKGiWdnM4p>Rm4p2v*lx3v-nL8ZYG9Bc+KE1^N zr;e@Uu3IJCcQbO(n|nh`;AQ(WMaK!(UTUJ`K+&j;D}@IdHlu8DV6F@mQ0`Z?{>LoT svWabVO9g*{f`beqs}e*VNV1mV-Hc(#@`BCO4VCiXSG8hLRo;`9HGc*4GXMYp literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/VarTestStruct_lengthy_offset_2_minus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/VarTestStruct_lengthy_offset_2_minus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..2528a0f6f4e8f58ce166c29814d8e2ef81eab838 GIT binary patch literal 2060 zcmV+n2=n)c5cCEJZP*3?008kq>BEU>(|0iljMM^1JN4xUWEtZhEKGE` zb5t12x-bviTHu)kFDJBIJzJo;{2)eepDA)Bn-k~0`MBPn|GxbTWjhcT2* zhmsiJ#UXt<9MYu1m|d~GRNOv1qLOxnP8ZfG3yEUz<}H&lc!#l0fglUf)vhoEjg-V* ze+2j39kGQ#Fs&x(O)=wIXtFhI0Xo<4p=HU*a&ov@P^hB+Z5ay)d>tq2RRRwVOapLg z4s;wZLg#~6ArV%|02t;lTRer#^Gn`L5V4QjrVjzU^bW6HN+=(MyGNiAwwJF66N)JE zNijFPEom+{>M4K_=BUxx1H)PX1!^n`Shtxp88SYIzH{3WmCev^%N+xkO~u9*?|2hbn!OEfrsbT7CfagFXMJD{XNU;8H3ON%u2VSVUByuARp+QZ(<;5T?Bhx zTOyux26g^Uh6vO+>>^FY*rgmU@naXE+LD(SIG-e86i-`1%=~85HX{=C1B9k?WK$Qt zBEQp9wv3do&1|z?CJj*P@VB)@O>HsNTW_T<@@H+6HnYlnQX<>~%*5!9hJ`rrlOoU9 zN9ylw;>`5?AE2Zmxlw4rCIc<(-RDcZ#5E&Ka;B}o{&Srt1l_61?4`0T$supjK(Hz@ zxv^BSd69Ln>VLlr&1nzN;WyTpjx&i0cEaTLcGQ#A)&Tor`oDdttKIq%p z&ox|P0Kk_kE3Bm}WXQ zO~wK@jJEmu(U+~t#*AC~-$9H1u^5SC1mWX#8#+N}53vUHI{Zj=ZGl*gg*0WC6hpIo z&Q)2zA8%+jHrE2~$hm*iTL*;XOSL-Oec1Rb$$@`%MS2RIOo26+S&N|=tb;PI%ZR$K zWGF3RLIm0P4vcF;5UJtf9acHA-1IJ%eh#CuvUd~)8A^BW+4x28$FMr_aD+9Q&&K!2 zDJkaUfrViy#e>f}=+fJgp*YEK_W1%u>TTAKS87?9IURpu`J2=>$EZUQ;eHXRyD z03Jf)8H2SNOtzBtLj-3T@p$jN5g_$f^5!lHTW)ky+}Fp{2{*vjVq5^)*bD}SX#g$s zb)u5Md`b`s)m*~9nim%4R;H+Jz%e|57xjfp;So2ReeAk*CX&qEkx}C;$H>+Drr2X6 zENwLuz#@i+WLr5omiI#D-|Hc{`Ia2ju#>j1#YyCy(n97ttC_7St)e+Z>vQtjHY>@m zRDvLl<_r*?`?%>4iu9t7G9sv*m6*d+(D2Kho%x3QO5&6rKEl{p4(h#+_z0jIy@F~r$zCs z5!0L@z+(0BKsq&+XtQX{YZxD&gRuK--?raCn1=+27b>0LSn8c(&XzrYaX6 zcY_tI8&?N6&Bl<=%$g*NtpRQl*!_l`QHW%x7WX`7e^~a;r|%J-`7QEmN2DV8+}tUb zz*a!Iix@~%Ruby?6J9?9C0z@q(PBFOBy({>86c`c^*|(n6<3IAr5u5uh-rZuJF(=9Ua6ZA@tv%7s7mzPTtP ze{XA(zMJn)-71Oay*|Vu)CP?1v}03+jE8URbh-ozfyI{2ept&=+A3^>;U#J~Y~0k~ zjF85jZ<@x?6yi7I*|@(xxObqNR@gctvm$l6d7>&i7|uJ=jR z8L=0qQ0OuW3=apM3Enl-lj5p8Le%RimPzQqwR qsKqUH5FIr-NA#=jTg7ZZlHae>pxP}IB{cs1t72#tKysBaPhIC4{RJ8T literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/VarTestStruct_lengthy_offset_2_plus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/VarTestStruct_lengthy_offset_2_plus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..afeba86b7bdcd2b01c0292ef41317eb85457a085 GIT binary patch literal 2060 zcmV+n2=n)c5cCEJb65xf005TRB=jF=1AZVP*LRH92LNY?PuqI{SkdCVOb~;1g{J}7 z3tVHhUm>D#x2;e1^n?Q)2W6n~x)5e?I|-F|Mp*nooMZf~QIO`VJ`~Y6fN25qf{^>? zp3{c;`GpUU-PI2gD$HR=)@)|@v9X=MH{3v@@kJd);ebtrX3}3okrSG-4~?>ws>m9Q zV>n_!Lgl+ip_sh&&e}Aup~;&RFhw+hE@PQ>0!#s2qYftCC@wtj?&&J)6=2ltzC^zd z@LW(<)@lSd@g6s4B_unOx$o#YlxR*IPt!(AXz$tRf(i#u#GlxTWWIb_>2a_RNDk=f zP(|>oQHwXoK1`-8nU`2A5Mf^s2rg*2py!@S1#($>DN2auH@Sf$v zFFU=PjxK5`YY{MYQ&X#Wh$|QstvwDnDflh*loWl<76OvYmzk&rBJL_V-i$9@Q`5 zqrH4vsek_n9X&;sV-SowU%wWEVgQAL;a2OTN7XKiWG^KjsO+mDJSdPaJ?Q>N|1)6J zcmy}Y^r?f&pm0lFu=o&hR7=f|=mY?p8XAp;>@+n{u=EK!?nQm5x+LqmUr%K7ApWa# z58GO0QD~f$c5{h zBChEU?TdbwzZ}t9Ng|1N0O?t@tVuodVb2XRUi@FW-gA`!vJe6mK|E03?h57IHW~>z zUjbP+?FRjwU`W@LS1@M=HD+@uUqZov>D!4j|Knx>WfV$XRR z(r1#58i=5{N(3_%Gg3W3Y%j5iQ#$9o&HG2B5{l3a@stPy4H6IlMG!Hx(iSZXsh1sr zF^B-1?#$5*3i|<8aV|)F9tax!vThk9U4M_%y}jU-x?PCtJCWxQD6P8#wTC!2Lp?|8 zP0zB%U$3;Bv=n8T+{{S(&_ox96QW52z^GhZ2x~BvBkNDdLRxfMzXuH6bXo<~BT7a8 z@d!#1a2tsV9dL+uk4XTy(=~P@cTHc;kCK}Pn9I@grKt;Op>{|TDWAe^`o|d*-6&_( zzuwd;g$006x<+Y&G?EDO@&(o5?{eU-CFEq0_1LBbP7_?bsA#>Do1nu__?@_eOFs!z zfPtD?$OaI~A`D7%j+$2fsa;=awVx-96-$Ztc~Rlc^qH;h&0vi&=165r1_r~rmlgR) zkr#L)gRkxab#W@yDksYrn=b>=axXX3BK1WDgtmohsW7yXYalH=5;b2SULbu-ytl+U)G%+xJ z<%x5l_|jH%H*!H(?HV|-SxAE+eE!~QQbnzAjhusJLl!Q*B_?=1px?-6$6lMm)mH9sAgH zjC7(u$~YH$BssUp=SLVeU=GQM($B3QmTDWDe+ul*4%Uh4V+pNZePb;ZGek@6?% z@wvsOmP2LgqFCJ{z{5Z6Tv1w z1qSOpev6eITq>;fc?UQud3$_?r($=_1LEGd5jc*C>EuL=EnRoQDuAtZ4M}MVkl2RD zo|aM6vzT_~8K$d;mBbfhsMStsq>{}<1vv65V1f6oZjFhtFW7fX8I-3Q)@_%GogigE zOXRKcW^L|10;z3jM79jZ@n3vJxn=b6Bt~cXC;0DFpYVnS_11S!ZZha}5bebL0lB@f8A1~mf+nj<)a`u{gmQ84p>OC{ zrWbO7Ee#A=6BZa{ggh>A1z_NBf-_K5lmD4P^jyjZ#U#-iy%Lg%D4M0ZrN0(6ECrsH z@)|r5SGm9$|(O%j^E?9f@oF1j^G zQF2dfaJxq@&oy>7+8MO|Z%4rLWlLmE=_fM5{+vF|pwB_%srX5=hJ^wM*S(~qSSqjC}r z{rPW~9lNQ<`swUA{t*?nZ=>SS>0<&K?^dnt^19k2SWWk)o&z(KCLB{4xi#J9AN1u%CjqG8kvHD$Uy&xG) zRON$r?FV_Bs4n>qH{8oAl{k)8fYe}U#L=n4IoBj*!MxLEGj)W!257;a5BC8Cx(Fg` zQiC%t5165QnU4elE+Bk`$MLY(X>h_^0uy4+dlu>P;sCyiWWI*LEI(KMzO={Dm)+Hc z{elWG=JqLN70_JFk5FqSYN4fl*q$f8Ex*cy;*o*AU-$JWsz=6z<@e4JMBj5OeY`9U zB!>rU;35Z>r2e%7-#N@l;}T-uWT4h7`qExBQR7|pZRu&>=M~T5cX7~~$N?p!`@8i{@ z%p(GgrOeK*v8Ax6xVVJZ*AM$gvapCjPqTd|?%xt4VYGOB$LzsYX!}a-*n~3zd_8g^Dxb4jym$F=nC<`4E}s z1*PnbPrD~I-e2?6^Y{ibr%$-rec0;cF=~B}&6%?t?)e<3L=ViNn1dkEO0G6^pgR}f z@1wxhvjqVGHO7OwnT`yH1>SM7i>z^k8OuEL9Q1qADz*qWUfI-8px{v!fcYwrlT;g^)d_gUsVub8#5|E*a1x)sWtUHJSn$mY;C)bLK zaLO}z*2v0Gq-LZci?sRIlM;+ZKd8(DJq+B0-83ACQ6q-FXh{k3t z4x?Vek8>o{G}j*w1<*(dUe*nExDz}Y!aaM-3DVHi`<`TA!R7j#4j-I`Z{7_F8>{|n z){k$Aq2o2W%^&<_cipek9RxHe+J=cjqiCS&aJJE*JG`}yU=7m5rKr#U%%9uyAN1#_ z%;VLjP2M-0(zAIeXp6jXB!g)NA|s$2vm5pcw zs4De+cTByHDrMY9VghulLgpd3Fm1Y}4$`@+!va_wUDv7DOKdIiSc>W$g~*GQxTdQt zCZvT*3CS>OXOKXZK!B*1wukUk@10Iw=Y5>Y-6&yO|sR* zzGQ`re!PqjzdknamXNpeP^G$wibpB|;gtu2h>?|nR|eC)Z{o-iO^lwd@pshd`o-U6 z$SzHmd3vqVc&Qljzh^SSKa0ufc@i$iwb&Ny$;v82^P2TTbn<;>#fPAJTvJ(Z7vq^jiEm>DAsB?=9B(3zD=L z24B)nSL}1V4sBv$GfU{Y`EZ=}UJ#wd&%9$7{kB)US?zCU(84w)A=H#wZD!|CR>xih zma;9#Q^nbcZ+W$`%@jbqkU_-SH7fMoJ_?d(e|(lY;uXGe_&kva$hNB|CP2dvMeg(y z(#(fJGw~6iObev(xyu~Cj+JCKV=$>;QF&Y~^9g3zOKSH((_4A3kIK=YJ20zWBA^Fh zE+$axyHJydN%O4(wMpCJE(|PMwdn$ocAxgWTb^OAe&<)ip(Y?j?1Wd0x{1*{!vP6G z%Vav$@KHdS5KGXotnP%xNi3y$hVe{aV$(=#8=pTDt;jA9^26mz6X$phJQ*6B%9P)v zFbPmnjh`eHAAPu**c>6Gqha8LG10!&*tbD>InRvhfq`L)Z9V`J<^vu8 literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/VarTestStruct_one_offset_2_plus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/VarTestStruct_one_offset_2_plus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..f92102eceba9a5ed177e4a8cd1cd48a91d962086 GIT binary patch literal 11 Scmd;7IM>F(z`(HeUmySxzypc^ literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/VarTestStruct_one_offset_2_zeroed/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/VarTestStruct_one_offset_2_zeroed/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..6e1dbf3da7d418290f140c6e55c649ea176edfd0 GIT binary patch literal 11 Qcmd;7ux@7ng5R1N01IRSH~;_u literal 0 HcmV?d00001 diff --git a/ssz-rs/tests/data/containers/invalid/VarTestStruct_random_offset_2_minus_one/serialized.ssz_snappy b/ssz-rs/tests/data/containers/invalid/VarTestStruct_random_offset_2_minus_one/serialized.ssz_snappy new file mode 100644 index 0000000000000000000000000000000000000000..acb6a44b6a0a7864081e93bddd3db109f07ed727 GIT binary patch literal 1712 zcmV;h22c5`4fLu8jO+#g007+pSo=hIHI=+Jcr~acPfI;6i)T%*cE!RM3)*_MGzoAW z0qSyjID;U?AiBa8akufGdg**R8R9fc=LnM}@scWd%l%J(z zNuFedmyl=x;d>od0N(i1!v?vI&Ghq&p=Vtn>TrEP&s$|-1r$&5vpnujC{)wBMFz!7 zE%H{(E+$DzzcO?n!MQ?-pqVt$_%UiQo)oeH zS$h^f7n(O0KSoC#f$IMM4uI z#FEaO+Y{TOf1J~n;><&PO5kf>gp`wiFbofB6|fjgPE*Pshs+@Vh;f*>gVt)k1j#Vz za4{*?9$e%%#e^M(6~L*fCZAQBsro#t$t+o+Wd@_xY#9l7HDAz~WiqOh6b=T}SFJ!d z{bKr?!NnWGdojH`xv+x%JOkstlH@IN+sk|(+GAa}n+CD^@;1?Men&mT&}z7|rwEh$ z&{!kh$rh5z6yB&wRW*+Fh)!}nBw#QW=ev1|65-&x2Akw}7{@r~>B!8jdqx=dT>VY@ z`-?N@nNxge-;&@OCDa4o?+6hEqFPVHJA+oIoYB^2?t7t2 zf8sC|)~Cnlg2AF>=RP0xdg`%)_YE6~r5jK>82?MGK<``EaXB7c$@Sx5@wVma2Z=Va z7Zgp_wv${sOt~N~{p`99+z(deHze59Zf`UlZa@(xpWxP+S=FD>w-8&z7tzExgK2Ev zVfMM;!)d={LB@t{AZS&8bkC;J=?4zNwy1frc4(@iJsCl1o02`65_oM#zR=tk60Y1blIW=0h{*`Q5|1yADB{&MykFbE@E%BH3f=k}Oz zw88%93=sB66UHgNxJo*OD3ig(%`Dy?sPMNM&0*2u?JL4OQV8Q(D?&0RJVF)TlKo=? zuRmL$^yQR;kDOBfzKec!D3bdvFM68OPq}?u#QBm{Eu)a8t|flN{8Pfk9Vm305otN1 zP8CDpIYI068v z+Wu&9YiFQ!1f2|zxeM|@hcb{)y;$p}`~Q7^H)d9#bt3UdN-;*Z54+9_jT_yLjp{CA zk2-X2F(D6AV~TG(Fm*$j*g@21Z4G_q(5?|5J=@?}E6EZw$6fH)i@ znh;?Kx8-Ag6yN-}MLo)l?NyX%cjo+}$YJ@{4YSQZ)~Yvef}k6rP;fEm)_A5Zs^Hz# z1!eI}U}M^x71hwcO;4`0j#+&@o0;E$3T4lpekAut1^8Nh>P=x07hh=sx1sA3=jWbc za@^d}82W#mO-jOzuW)`(1JtCcT7Eg?c8AB+otyNf_c8=ESQ8qxY~`4^#2GAUaCZ7bJHQ}MZ~6eW)dd#U<(~bvnM0CM zIS3K3HZL2VMnSLMV;}sya2-#y-D&aDsZLziKxRSm4OL)x^zX6l13GSlRn4L%8gST` zei5HQ@4LUXw+`+hwr(J!*MP;V&bUhH>I%-CxUW8A^o>R$|LZIf`ZG0)$pD?Yv$ep-wAr^y^jPJHB$1+1mDn$^S zedT}H67o$8G3MGI@2It@t4Pa`8CBmonk%41TOuh;w=dU8k#C($ujh}1x!KS6U96dAQV%kpM%oRnBloXpp(YQxHGP&i{9CEH^kUhmcr_oY zL8#J7&H&Uug?gweIsDnTUiAsZk}uEs1cLTqCq0ZWR{8%fjvZK(85YA&$-N)Z7r(A_ zqYN9Im&~+AaF;ua%MVDT&>v-V*f9Cdhk+Hb>c;AOS$GlX%SR-s;krs_B}{_?bMDGe zdWhe(rECvCYo$U+W;3e_m$|WYzps03P<(?B89}EzGPjJmM=~>P549JXvF&q^Mmr8H I3PhIDu}_szgWjT)bf7dTLj9_}q~HhQ9H6}`i*vD}94|89dXY2L@lA1(hkxXC@X zQ=ivXs0>HnCpIJ;FqG!uunqsWN6cr-1qzccgcWvnP#i}2MZF;Q2yp(<-FAMgQ?P*K z*yYpjBp*!#wKA?5hi^~oxLMmS8IqOUE;tS(OS{{aWj&g2!U{-XH#Oysa+m%WJ}TGb zHF}PgMIAjlN0Nc2$N8%qWU|A*5xFjS6zwni?FPp6-^Pu%)=`KVm>*l)Qu35LpKNXb zf2XhDH2pd5fv)VkrVz>`oQ2t!8&0kKmGOoLOXXZc6lfYa67&gPh!?Q*`9)vMgSoV7 zy&f~IHh2-G<(#C=m*3r1Z7K+6MCC@|-4u--0B~v`H(;xF-dlXy)935*@CF#!AR#y1 zIX$awhBu75>m(-onPMVlhA~VewigXPzHT9U79k37?U$Nw27ngoKV|uCzB6kYUI3sL zOt%#!9_ICKFp_loKRS*clr~mFkyHt%3Fql3B2%VyDvXe$D*IPBhm5D3kySW=dO;w*1rO`k%ZXAB~ zzH#bIqEx>O&irzB8NSFGHnKj9;4n;1318toQ`L-a(&encoding); } #[test] -fn test_uints_uint_8_random_0() { - let mut value = 225; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_8_random_0/serialized.ssz_snappy", +#[should_panic] +fn test_uints_uint_128_one_byte_shorter() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_128_one_byte_shorter/serialized.ssz_snappy", ); - assert_eq!(encoding, expected_encoding); - let recovered_value: u8 = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); + deserialize::(&encoding); +} - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("e100000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); +#[test] +#[should_panic] +fn test_uints_uint_128_one_too_high() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_128_one_too_high/serialized.ssz_snappy", + ); + + deserialize::(&encoding); } #[test] -fn test_uints_uint_16_max_0() { - let mut value = 65535; +fn test_uints_uint_128_random_0() { + let mut value = 317658863013703600909281237913711302754; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_16_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_128_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u16 = deserialize(&expected_encoding); + let recovered_value: u128 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffff000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x62583644e66ec83fc2a6cda723dffaee00000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_128_zero_4() { - let mut value = 0; +fn test_uints_uint_128_random_1() { + let mut value = 226427817519480008631815531407103573168; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_128_zero_4/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_128_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -184,34 +176,34 @@ fn test_uints_uint_128_zero_4() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xb03c1174ebe365e018a5b887516958aa00000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_32_zero_4() { - let mut value = 0; +fn test_uints_uint_128_random_2() { + let mut value = 1966913376797472348559631900882537126; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_32_zero_4/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_128_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u32 = deserialize(&expected_encoding); + let recovered_value: u128 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xa68a04f1c6f71282ca13121251d07a0100000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_128_zero_3() { - let mut value = 0; +fn test_uints_uint_128_random_3() { + let mut value = 223686144064414504608552983434269426145; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_128_zero_3/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_128_random_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -220,73 +212,70 @@ fn test_uints_uint_128_zero_3() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xe101ce24c16ec3b57c2f0b79616248a800000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_16_random_0() { - let mut value = 11001; +fn test_uints_uint_128_random_4() { + let mut value = 199925590919705556758473559487562637786; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_16_random_0/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_128_random_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u16 = deserialize(&expected_encoding); + let recovered_value: u128 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("f92a000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xdae1c72a086dde0deb118413aa44689600000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_32_max_1() { - let mut value = 4294967295; +fn test_uints_uint_128_zero_0() { + let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_32_max_1/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_128_zero_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u32 = deserialize(&expected_encoding); + let recovered_value: u128 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffff00000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_256_zero_4() { - let mut value = U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, - ]); +fn test_uints_uint_128_zero_1() { + let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_256_zero_4/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_128_zero_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: U256 = deserialize(&expected_encoding); + let recovered_value: u128 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_128_random_3() { - let mut value = 223686144064414504608552983434269426145; +fn test_uints_uint_128_zero_2() { + let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_128_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_128_zero_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -295,16 +284,16 @@ fn test_uints_uint_128_random_3() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("e101ce24c16ec3b57c2f0b79616248a800000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_128_random_4() { - let mut value = 199925590919705556758473559487562637786; +fn test_uints_uint_128_zero_3() { + let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_128_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_128_zero_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -313,37 +302,34 @@ fn test_uints_uint_128_random_4() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("dae1c72a086dde0deb118413aa44689600000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_256_zero_3() { - let mut value = U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, - ]); +fn test_uints_uint_128_zero_4() { + let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_256_zero_3/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_128_zero_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: U256 = deserialize(&expected_encoding); + let recovered_value: u128 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_16_zero_2() { - let mut value = 0; +fn test_uints_uint_16_last_byte_empty() { + let mut value = 255; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_16_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_16_last_byte_empty/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -352,25 +338,25 @@ fn test_uints_uint_16_zero_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_128_zero_2() { - let mut value = 0; +fn test_uints_uint_16_max_0() { + let mut value = 65535; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_128_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_16_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u128 = deserialize(&expected_encoding); + let recovered_value: u16 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffff000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } @@ -388,280 +374,312 @@ fn test_uints_uint_16_max_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffff000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffff000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_8_random_1() { - let mut value = 59; +fn test_uints_uint_16_max_2() { + let mut value = 65535; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_8_random_1/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_16_max_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u8 = deserialize(&expected_encoding); + let recovered_value: u16 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("3b00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffff000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_32_zero_2() { - let mut value = 0; +fn test_uints_uint_16_max_3() { + let mut value = 65535; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_32_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_16_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u32 = deserialize(&expected_encoding); + let recovered_value: u16 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffff000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_64_zero_0() { - let mut value = 0; +fn test_uints_uint_16_max_4() { + let mut value = 65535; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_64_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_16_max_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u64 = deserialize(&expected_encoding); + let recovered_value: u16 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffff000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_128_max_2() { - let mut value = 340282366920938463463374607431768211455; +#[should_panic] +fn test_uints_uint_16_one_byte_longer() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_16_one_byte_longer/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_uints_uint_16_one_byte_shorter() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_16_one_byte_shorter/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_uints_uint_16_one_too_high() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_16_one_too_high/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +fn test_uints_uint_16_random_0() { + let mut value = 11001; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_128_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_16_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u128 = deserialize(&expected_encoding); + let recovered_value: u16 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffff00000000000000000000000000000000"); + root_from_hex("0xf92a000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_8_max_1() { - let mut value = 255; +fn test_uints_uint_16_random_1() { + let mut value = 12900; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_8_max_1/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_16_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u8 = deserialize(&expected_encoding); + let recovered_value: u16 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x6432000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_128_max_3() { - let mut value = 340282366920938463463374607431768211455; +fn test_uints_uint_16_random_2() { + let mut value = 46482; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_128_max_3/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_16_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u128 = deserialize(&expected_encoding); + let recovered_value: u16 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffff00000000000000000000000000000000"); + root_from_hex("0x92b5000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_256_last_byte_empty() { - let mut value = U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, - ]); +fn test_uints_uint_16_random_3() { + let mut value = 31039; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_256_last_byte_empty/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_16_random_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: U256 = deserialize(&expected_encoding); + let recovered_value: u16 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"); + root_from_hex("0x3f79000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_128_max_4() { - let mut value = 340282366920938463463374607431768211455; +fn test_uints_uint_16_random_4() { + let mut value = 2284; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_128_max_4/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_16_random_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u128 = deserialize(&expected_encoding); + let recovered_value: u16 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffff00000000000000000000000000000000"); + root_from_hex("0xec08000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_64_zero_1() { +fn test_uints_uint_16_zero_0() { let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_64_zero_1/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_16_zero_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u64 = deserialize(&expected_encoding); + let recovered_value: u16 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_8_max_0() { - let mut value = 255; +fn test_uints_uint_16_zero_1() { + let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_8_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_16_zero_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u8 = deserialize(&expected_encoding); + let recovered_value: u16 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_256_max_4() { - let mut value = U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]); +fn test_uints_uint_16_zero_2() { + let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_256_max_4/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_16_zero_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: U256 = deserialize(&expected_encoding); + let recovered_value: u16 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_8_zero_0() { +fn test_uints_uint_16_zero_3() { let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_8_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_16_zero_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u8 = deserialize(&expected_encoding); + let recovered_value: u16 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_256_random_2() { - let mut value = U256::from_bytes_le([ - 145, 36, 54, 124, 134, 65, 119, 96, 224, 3, 87, 209, 164, 118, 23, 209, 5, 72, 9, 168, 251, - 195, 102, 65, 122, 101, 27, 164, 66, 115, 0, 49, - ]); +fn test_uints_uint_16_zero_4() { + let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_256_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_16_zero_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: U256 = deserialize(&expected_encoding); + let recovered_value: u16 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("9124367c86417760e00357d1a47617d1054809a8fbc366417a651ba442730031"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_64_random_3() { - let mut value = 11891402719218752485; +fn test_uints_uint_256_last_byte_empty() { + let mut value = U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_64_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_256_last_byte_empty/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u64 = deserialize(&expected_encoding); + let recovered_value: U256 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("e5db2510c5bf06a5000000000000000000000000000000000000000000000000"); + root_from_hex("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_256_max_3() { - let mut value = U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]); +fn test_uints_uint_256_max_0() { + let mut value = U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_256_max_3/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_256_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -670,73 +688,98 @@ fn test_uints_uint_256_max_3() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); + root_from_hex("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_64_random_4() { - let mut value = 15683022699148686111; +fn test_uints_uint_256_max_1() { + let mut value = U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_64_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_256_max_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u64 = deserialize(&expected_encoding); + let recovered_value: U256 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1f33257b0d4aa5d9000000000000000000000000000000000000000000000000"); + root_from_hex("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_64_max_2() { - let mut value = 18446744073709551615; +fn test_uints_uint_256_max_2() { + let mut value = U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_64_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_256_max_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u64 = deserialize(&expected_encoding); + let recovered_value: U256 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffff000000000000000000000000000000000000000000000000"); + root_from_hex("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_32_random_0() { - let mut value = 3387753032; +fn test_uints_uint_256_max_3() { + let mut value = U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_32_random_0/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_256_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u32 = deserialize(&expected_encoding); + let recovered_value: U256 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("4802edc900000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_256_max_2() { - let mut value = U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]); +fn test_uints_uint_256_max_4() { + let mut value = U256::try_from_bytes_le( + Vec::::from_iter([ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_256_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_256_max_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -745,340 +788,377 @@ fn test_uints_uint_256_max_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); + root_from_hex("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_256_random_4() { - let mut value = U256::from_bytes_le([ - 236, 44, 123, 92, 134, 169, 87, 238, 98, 219, 210, 219, 26, 37, 128, 52, 156, 71, 217, 131, - 206, 187, 193, 227, 34, 128, 209, 179, 17, 9, 210, 107, - ]); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_256_random_4/serialized.ssz_snappy", +#[should_panic] +fn test_uints_uint_256_one_byte_longer() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_256_one_byte_longer/serialized.ssz_snappy", ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: U256 = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ec2c7b5c86a957ee62dbd2db1a2580349c47d983cebbc1e32280d1b31109d26b"); - assert_eq!(root, expected_root); + deserialize::(&encoding); } #[test] -fn test_uints_uint_8_zero_1() { - let mut value = 0; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_8_zero_1/serialized.ssz_snappy", +#[should_panic] +fn test_uints_uint_256_one_byte_shorter() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_256_one_byte_shorter/serialized.ssz_snappy", ); - assert_eq!(encoding, expected_encoding); - let recovered_value: u8 = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); + deserialize::(&encoding); } #[test] -fn test_uints_uint_256_random_3() { - let mut value = U256::from_bytes_le([ - 9, 220, 230, 65, 45, 6, 68, 219, 208, 26, 176, 18, 183, 94, 87, 176, 157, 70, 34, 109, 52, - 201, 18, 243, 217, 129, 175, 51, 196, 80, 238, 25, - ]); - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_256_random_3/serialized.ssz_snappy", +#[should_panic] +fn test_uints_uint_256_one_too_high() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_256_one_too_high/serialized.ssz_snappy", ); - assert_eq!(encoding, expected_encoding); - let recovered_value: U256 = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("09dce6412d0644dbd01ab012b75e57b09d46226d34c912f3d981af33c450ee19"); - assert_eq!(root, expected_root); + deserialize::(&encoding); } #[test] -fn test_uints_uint_64_random_2() { - let mut value = 10680714365983390887; +fn test_uints_uint_256_random_0() { + let mut value = U256::try_from_bytes_le( + Vec::::from_iter([ + 58, 55, 99, 28, 168, 145, 249, 244, 255, 81, 153, 135, 170, 128, 39, 36, 202, 1, 166, + 171, 97, 55, 46, 78, 36, 161, 66, 116, 168, 139, 34, 10, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_64_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_256_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u64 = deserialize(&expected_encoding); + let recovered_value: U256 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("a7fcd98320853994000000000000000000000000000000000000000000000000"); + root_from_hex("0x3a37631ca891f9f4ff519987aa802724ca01a6ab61372e4e24a14274a88b220a"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_32_random_1() { - let mut value = 2676973563; +fn test_uints_uint_256_random_1() { + let mut value = U256::try_from_bytes_le( + Vec::::from_iter([ + 160, 200, 243, 199, 115, 30, 235, 132, 127, 224, 146, 208, 192, 97, 24, 112, 2, 157, + 177, 75, 95, 22, 105, 70, 180, 97, 182, 31, 39, 79, 21, 199, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_32_random_1/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_256_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u32 = deserialize(&expected_encoding); + let recovered_value: U256 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("fb5f8f9f00000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xa0c8f3c7731eeb847fe092d0c0611870029db14b5f166946b461b61f274f15c7"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_64_max_4() { - let mut value = 18446744073709551615; +fn test_uints_uint_256_random_2() { + let mut value = U256::try_from_bytes_le( + Vec::::from_iter([ + 145, 36, 54, 124, 134, 65, 119, 96, 224, 3, 87, 209, 164, 118, 23, 209, 5, 72, 9, 168, + 251, 195, 102, 65, 122, 101, 27, 164, 66, 115, 0, 49, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_64_max_4/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_256_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u64 = deserialize(&expected_encoding); + let recovered_value: U256 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffff000000000000000000000000000000000000000000000000"); + root_from_hex("0x9124367c86417760e00357d1a47617d1054809a8fbc366417a651ba442730031"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_64_max_3() { - let mut value = 18446744073709551615; +fn test_uints_uint_256_random_3() { + let mut value = U256::try_from_bytes_le( + Vec::::from_iter([ + 9, 220, 230, 65, 45, 6, 68, 219, 208, 26, 176, 18, 183, 94, 87, 176, 157, 70, 34, 109, + 52, 201, 18, 243, 217, 129, 175, 51, 196, 80, 238, 25, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_64_max_3/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_256_random_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u64 = deserialize(&expected_encoding); + let recovered_value: U256 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffff000000000000000000000000000000000000000000000000"); + root_from_hex("0x09dce6412d0644dbd01ab012b75e57b09d46226d34c912f3d981af33c450ee19"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_8_last_byte_empty() { - let mut value = 0; +fn test_uints_uint_256_random_4() { + let mut value = U256::try_from_bytes_le( + Vec::::from_iter([ + 236, 44, 123, 92, 134, 169, 87, 238, 98, 219, 210, 219, 26, 37, 128, 52, 156, 71, 217, + 131, 206, 187, 193, 227, 34, 128, 209, 179, 17, 9, 210, 107, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_8_last_byte_empty/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_256_random_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u8 = deserialize(&expected_encoding); + let recovered_value: U256 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xec2c7b5c86a957ee62dbd2db1a2580349c47d983cebbc1e32280d1b31109d26b"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_8_random_4() { - let mut value = 17; +fn test_uints_uint_256_zero_0() { + let mut value = U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_8_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_256_zero_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u8 = deserialize(&expected_encoding); + let recovered_value: U256 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("1100000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_16_max_4() { - let mut value = 65535; +fn test_uints_uint_256_zero_1() { + let mut value = U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_16_max_4/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_256_zero_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u16 = deserialize(&expected_encoding); + let recovered_value: U256 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffff000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_128_zero_0() { - let mut value = 0; +fn test_uints_uint_256_zero_2() { + let mut value = U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_128_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_256_zero_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u128 = deserialize(&expected_encoding); + let recovered_value: U256 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_32_zero_0() { - let mut value = 0; +fn test_uints_uint_256_zero_3() { + let mut value = U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_32_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_256_zero_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u32 = deserialize(&expected_encoding); + let recovered_value: U256 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_8_random_3() { - let mut value = 46; +fn test_uints_uint_256_zero_4() { + let mut value = U256::try_from_bytes_le( + Vec::::from_iter([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ]) + .as_ref(), + ) + .unwrap(); let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_8_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_256_zero_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u8 = deserialize(&expected_encoding); + let recovered_value: U256 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("2e00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_16_max_3() { - let mut value = 65535; +fn test_uints_uint_32_last_byte_empty() { + let mut value = 16777215; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_16_max_3/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_32_last_byte_empty/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u16 = deserialize(&expected_encoding); + let recovered_value: u32 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffff000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffffff0000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_128_random_1() { - let mut value = 226427817519480008631815531407103573168; +fn test_uints_uint_32_max_0() { + let mut value = 4294967295; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_128_random_1/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_32_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u128 = deserialize(&expected_encoding); + let recovered_value: u32 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("b03c1174ebe365e018a5b887516958aa00000000000000000000000000000000"); + root_from_hex("0xffffffff00000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_256_zero_1() { - let mut value = U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, - ]); +fn test_uints_uint_32_max_1() { + let mut value = 4294967295; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_256_zero_1/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_32_max_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: U256 = deserialize(&expected_encoding); + let recovered_value: u32 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffffffff00000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_16_zero_0() { - let mut value = 0; +fn test_uints_uint_32_max_2() { + let mut value = 4294967295; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_16_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_32_max_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u16 = deserialize(&expected_encoding); + let recovered_value: u32 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffffffff00000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_16_random_2() { - let mut value = 46482; +fn test_uints_uint_32_max_3() { + let mut value = 4294967295; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_16_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_32_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u16 = deserialize(&expected_encoding); + let recovered_value: u32 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("92b5000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffffffff00000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } @@ -1096,70 +1176,64 @@ fn test_uints_uint_32_max_4() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffff00000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffffffff00000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_32_max_3() { - let mut value = 4294967295; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_32_max_3/serialized.ssz_snappy", +#[should_panic] +fn test_uints_uint_32_one_byte_longer() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_32_one_byte_longer/serialized.ssz_snappy", ); - assert_eq!(encoding, expected_encoding); - - let recovered_value: u32 = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffffffff00000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); + deserialize::(&encoding); } #[test] -fn test_uints_uint_16_max_2() { - let mut value = 65535; - let encoding = serialize(&value); - let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_16_max_2/serialized.ssz_snappy", +#[should_panic] +fn test_uints_uint_32_one_byte_shorter() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_32_one_byte_shorter/serialized.ssz_snappy", ); - assert_eq!(encoding, expected_encoding); - let recovered_value: u16 = deserialize(&expected_encoding); - assert_eq!(recovered_value, value); + deserialize::(&encoding); +} - let root = hash_tree_root(&mut value); - let expected_root = - root_from_hex("ffff000000000000000000000000000000000000000000000000000000000000"); - assert_eq!(root, expected_root); +#[test] +#[should_panic] +fn test_uints_uint_32_one_too_high() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_32_one_too_high/serialized.ssz_snappy", + ); + + deserialize::(&encoding); } #[test] -fn test_uints_uint_8_random_2() { - let mut value = 3; +fn test_uints_uint_32_random_0() { + let mut value = 3387753032; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_8_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_32_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u8 = deserialize(&expected_encoding); + let recovered_value: u32 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0300000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x4802edc900000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_32_zero_1() { - let mut value = 0; +fn test_uints_uint_32_random_1() { + let mut value = 2676973563; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_32_zero_1/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_32_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -1168,52 +1242,52 @@ fn test_uints_uint_32_zero_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xfb5f8f9f00000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_128_zero_1() { - let mut value = 0; +fn test_uints_uint_32_random_2() { + let mut value = 2644908285; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_128_zero_1/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_32_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u128 = deserialize(&expected_encoding); + let recovered_value: u32 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xfd18a69d00000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_16_random_4() { - let mut value = 2284; +fn test_uints_uint_32_random_3() { + let mut value = 638037343; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_16_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_32_random_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u16 = deserialize(&expected_encoding); + let recovered_value: u32 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ec08000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x5fad072600000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_32_max_2() { - let mut value = 4294967295; +fn test_uints_uint_32_random_4() { + let mut value = 4144220671; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_32_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_32_random_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -1222,109 +1296,106 @@ fn test_uints_uint_32_max_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffff00000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffc903f700000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_16_random_3() { - let mut value = 31039; +fn test_uints_uint_32_zero_0() { + let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_16_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_32_zero_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u16 = deserialize(&expected_encoding); + let recovered_value: u32 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("3f79000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_256_zero_0() { - let mut value = U256::from_bytes_le([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, - ]); +fn test_uints_uint_32_zero_1() { + let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_256_zero_0/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_32_zero_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: U256 = deserialize(&expected_encoding); + let recovered_value: u32 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_16_zero_1() { +fn test_uints_uint_32_zero_2() { let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_16_zero_1/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_32_zero_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u16 = deserialize(&expected_encoding); + let recovered_value: u32 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_128_random_0() { - let mut value = 317658863013703600909281237913711302754; +fn test_uints_uint_32_zero_3() { + let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_128_random_0/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_32_zero_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u128 = deserialize(&expected_encoding); + let recovered_value: u32 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("62583644e66ec83fc2a6cda723dffaee00000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_8_max_2() { - let mut value = 255; +fn test_uints_uint_32_zero_4() { + let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_8_max_2/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_32_zero_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u8 = deserialize(&expected_encoding); + let recovered_value: u32 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_64_zero_4() { - let mut value = 0; +fn test_uints_uint_64_last_byte_empty() { + let mut value = 72057594037927935; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_64_zero_4/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_64_last_byte_empty/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -1333,16 +1404,16 @@ fn test_uints_uint_64_zero_4() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffffffffffffff00000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_64_zero_3() { - let mut value = 0; +fn test_uints_uint_64_max_0() { + let mut value = 18446744073709551615; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_64_zero_3/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_64_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -1351,88 +1422,118 @@ fn test_uints_uint_64_zero_3() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffffffffffffffff000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_128_max_1() { - let mut value = 340282366920938463463374607431768211455; +fn test_uints_uint_64_max_1() { + let mut value = 18446744073709551615; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_128_max_1/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_64_max_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u128 = deserialize(&expected_encoding); + let recovered_value: u64 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffff00000000000000000000000000000000"); + root_from_hex("0xffffffffffffffff000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_8_max_3() { - let mut value = 255; +fn test_uints_uint_64_max_2() { + let mut value = 18446744073709551615; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_8_max_3/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_64_max_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u8 = deserialize(&expected_encoding); + let recovered_value: u64 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffffffffffffffff000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_8_max_4() { - let mut value = 255; +fn test_uints_uint_64_max_3() { + let mut value = 18446744073709551615; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_8_max_4/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_64_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u8 = deserialize(&expected_encoding); + let recovered_value: u64 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xffffffffffffffff000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_128_max_0() { - let mut value = 340282366920938463463374607431768211455; +fn test_uints_uint_64_max_4() { + let mut value = 18446744073709551615; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_128_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_64_max_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u128 = deserialize(&expected_encoding); + let recovered_value: u64 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffff00000000000000000000000000000000"); + root_from_hex("0xffffffffffffffff000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_64_zero_2() { - let mut value = 0; +#[should_panic] +fn test_uints_uint_64_one_byte_longer() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_64_one_byte_longer/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_uints_uint_64_one_byte_shorter() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_64_one_byte_shorter/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_uints_uint_64_one_too_high() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_64_one_too_high/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +fn test_uints_uint_64_random_0() { + let mut value = 8594311575614880821; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_64_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_64_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -1441,52 +1542,52 @@ fn test_uints_uint_64_zero_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x357c8de9d7204577000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_32_random_3() { - let mut value = 638037343; +fn test_uints_uint_64_random_1() { + let mut value = 12453893770581738044; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_32_random_3/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_64_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u32 = deserialize(&expected_encoding); + let recovered_value: u64 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("5fad072600000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x3c82f999661ed5ac000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_32_random_4() { - let mut value = 4144220671; +fn test_uints_uint_64_random_2() { + let mut value = 10680714365983390887; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_32_random_4/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_64_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u32 = deserialize(&expected_encoding); + let recovered_value: u64 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffc903f700000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xa7fcd98320853994000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_64_max_1() { - let mut value = 18446744073709551615; +fn test_uints_uint_64_random_3() { + let mut value = 11891402719218752485; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_64_max_1/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_64_random_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -1495,202 +1596,196 @@ fn test_uints_uint_64_max_1() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffff000000000000000000000000000000000000000000000000"); + root_from_hex("0xe5db2510c5bf06a5000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_32_last_byte_empty() { - let mut value = 16777215; +fn test_uints_uint_64_random_4() { + let mut value = 15683022699148686111; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_32_last_byte_empty/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_64_random_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u32 = deserialize(&expected_encoding); + let recovered_value: u64 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffff0000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x1f33257b0d4aa5d9000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_128_last_byte_empty() { - let mut value = 1329227995784915872903807060280344575; +fn test_uints_uint_64_zero_0() { + let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_128_last_byte_empty/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_64_zero_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u128 = deserialize(&expected_encoding); + let recovered_value: u64 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffffffffffffffffff0000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_16_last_byte_empty() { - let mut value = 255; +fn test_uints_uint_64_zero_1() { + let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_16_last_byte_empty/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_64_zero_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u16 = deserialize(&expected_encoding); + let recovered_value: u64 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ff00000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_8_zero_4() { +fn test_uints_uint_64_zero_2() { let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_8_zero_4/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_64_zero_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u8 = deserialize(&expected_encoding); + let recovered_value: u64 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_256_max_0() { - let mut value = U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]); +fn test_uints_uint_64_zero_3() { + let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_256_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_64_zero_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: U256 = deserialize(&expected_encoding); + let recovered_value: u64 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_8_zero_3() { +fn test_uints_uint_64_zero_4() { let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_8_zero_3/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_64_zero_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u8 = deserialize(&expected_encoding); + let recovered_value: u64 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_256_random_1() { - let mut value = U256::from_bytes_le([ - 160, 200, 243, 199, 115, 30, 235, 132, 127, 224, 146, 208, 192, 97, 24, 112, 2, 157, 177, - 75, 95, 22, 105, 70, 180, 97, 182, 31, 39, 79, 21, 199, - ]); +fn test_uints_uint_8_last_byte_empty() { + let mut value = 0; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_256_random_1/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_8_last_byte_empty/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: U256 = deserialize(&expected_encoding); + let recovered_value: u8 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("a0c8f3c7731eeb847fe092d0c0611870029db14b5f166946b461b61f274f15c7"); + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_64_random_0() { - let mut value = 8594311575614880821; +fn test_uints_uint_8_max_0() { + let mut value = 255; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_64_random_0/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_8_max_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u64 = deserialize(&expected_encoding); + let recovered_value: u8 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("357c8de9d7204577000000000000000000000000000000000000000000000000"); + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_64_max_0() { - let mut value = 18446744073709551615; +fn test_uints_uint_8_max_1() { + let mut value = 255; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_64_max_0/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_8_max_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u64 = deserialize(&expected_encoding); + let recovered_value: u8 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffff000000000000000000000000000000000000000000000000"); + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_32_random_2() { - let mut value = 2644908285; +fn test_uints_uint_8_max_2() { + let mut value = 255; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_32_random_2/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_8_max_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u32 = deserialize(&expected_encoding); + let recovered_value: u8 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("fd18a69d00000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_8_zero_2() { - let mut value = 0; +fn test_uints_uint_8_max_3() { + let mut value = 255; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_8_zero_2/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_8_max_3/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); @@ -1699,264 +1794,234 @@ fn test_uints_uint_8_zero_2() { let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("0000000000000000000000000000000000000000000000000000000000000000"); + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_256_random_0() { - let mut value = U256::from_bytes_le([ - 58, 55, 99, 28, 168, 145, 249, 244, 255, 81, 153, 135, 170, 128, 39, 36, 202, 1, 166, 171, - 97, 55, 46, 78, 36, 161, 66, 116, 168, 139, 34, 10, - ]); +fn test_uints_uint_8_max_4() { + let mut value = 255; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_256_random_0/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_8_max_4/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: U256 = deserialize(&expected_encoding); + let recovered_value: u8 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("3a37631ca891f9f4ff519987aa802724ca01a6ab61372e4e24a14274a88b220a"); + root_from_hex("0xff00000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_64_random_1() { - let mut value = 12453893770581738044; +#[should_panic] +fn test_uints_uint_8_one_byte_longer() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_8_one_byte_longer/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_uints_uint_8_one_byte_shorter() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_8_one_byte_shorter/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +#[should_panic] +fn test_uints_uint_8_one_too_high() { + let encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/invalid/uint_8_one_too_high/serialized.ssz_snappy", + ); + + deserialize::(&encoding); +} + +#[test] +fn test_uints_uint_8_random_0() { + let mut value = 225; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_64_random_1/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_8_random_0/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u64 = deserialize(&expected_encoding); + let recovered_value: u8 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("3c82f999661ed5ac000000000000000000000000000000000000000000000000"); + root_from_hex("0xe100000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_256_max_1() { - let mut value = U256::from_bytes_le([ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - ]); +fn test_uints_uint_8_random_1() { + let mut value = 59; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_256_max_1/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_8_random_1/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: U256 = deserialize(&expected_encoding); + let recovered_value: u8 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); + root_from_hex("0x3b00000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -fn test_uints_uint_64_last_byte_empty() { - let mut value = 72057594037927935; +fn test_uints_uint_8_random_2() { + let mut value = 3; let encoding = serialize(&value); let expected_encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/valid/uint_64_last_byte_empty/serialized.ssz_snappy", + "ssz-rs/tests/data/uints/valid/uint_8_random_2/serialized.ssz_snappy", ); assert_eq!(encoding, expected_encoding); - let recovered_value: u64 = deserialize(&expected_encoding); + let recovered_value: u8 = deserialize(&expected_encoding); assert_eq!(recovered_value, value); let root = hash_tree_root(&mut value); let expected_root = - root_from_hex("ffffffffffffff00000000000000000000000000000000000000000000000000"); + root_from_hex("0x0300000000000000000000000000000000000000000000000000000000000000"); assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_uints_uint_128_one_too_high() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_128_one_too_high/serialized.ssz_snappy", - ); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_uints_uint_8_one_byte_longer() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_8_one_byte_longer/serialized.ssz_snappy", - ); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_uints_uint_8_one_too_high() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_8_one_too_high/serialized.ssz_snappy", - ); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_uints_uint_16_one_byte_shorter() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_16_one_byte_shorter/serialized.ssz_snappy", - ); - - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_uints_uint_32_one_byte_shorter() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_32_one_byte_shorter/serialized.ssz_snappy", +fn test_uints_uint_8_random_3() { + let mut value = 46; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/valid/uint_8_random_3/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_uints_uint_64_one_too_high() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_64_one_too_high/serialized.ssz_snappy", - ); + let recovered_value: u8 = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x2e00000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_uints_uint_256_one_byte_longer() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_256_one_byte_longer/serialized.ssz_snappy", +fn test_uints_uint_8_random_4() { + let mut value = 17; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/valid/uint_8_random_4/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_uints_uint_32_one_byte_longer() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_32_one_byte_longer/serialized.ssz_snappy", - ); + let recovered_value: u8 = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x1100000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_uints_uint_128_one_byte_longer() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_128_one_byte_longer/serialized.ssz_snappy", +fn test_uints_uint_8_zero_0() { + let mut value = 0; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/valid/uint_8_zero_0/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_uints_uint_16_one_byte_longer() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_16_one_byte_longer/serialized.ssz_snappy", - ); + let recovered_value: u8 = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_uints_uint_32_one_too_high() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_32_one_too_high/serialized.ssz_snappy", +fn test_uints_uint_8_zero_1() { + let mut value = 0; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/valid/uint_8_zero_1/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_uints_uint_64_one_byte_longer() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_64_one_byte_longer/serialized.ssz_snappy", - ); + let recovered_value: u8 = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_uints_uint_16_one_too_high() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_16_one_too_high/serialized.ssz_snappy", +fn test_uints_uint_8_zero_2() { + let mut value = 0; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/valid/uint_8_zero_2/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_uints_uint_256_one_too_high() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_256_one_too_high/serialized.ssz_snappy", - ); + let recovered_value: u8 = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_uints_uint_128_one_byte_shorter() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_128_one_byte_shorter/serialized.ssz_snappy", +fn test_uints_uint_8_zero_3() { + let mut value = 0; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/valid/uint_8_zero_3/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_uints_uint_256_one_byte_shorter() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_256_one_byte_shorter/serialized.ssz_snappy", - ); + let recovered_value: u8 = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); } #[test] -#[should_panic] -fn test_uints_uint_64_one_byte_shorter() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_64_one_byte_shorter/serialized.ssz_snappy", +fn test_uints_uint_8_zero_4() { + let mut value = 0; + let encoding = serialize(&value); + let expected_encoding = read_ssz_snappy_from_test_data( + "ssz-rs/tests/data/uints/valid/uint_8_zero_4/serialized.ssz_snappy", ); + assert_eq!(encoding, expected_encoding); - deserialize::(&encoding); -} - -#[test] -#[should_panic] -fn test_uints_uint_8_one_byte_shorter() { - let encoding = read_ssz_snappy_from_test_data( - "ssz-rs/tests/data/uints/invalid/uint_8_one_byte_shorter/serialized.ssz_snappy", - ); + let recovered_value: u8 = deserialize(&expected_encoding); + assert_eq!(recovered_value, value); - deserialize::(&encoding); + let root = hash_tree_root(&mut value); + let expected_root = + root_from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"); + assert_eq!(root, expected_root); }