From 986ef48c1866aa7613c7e26118e6a9423c8e57e8 Mon Sep 17 00:00:00 2001 From: DaniPopes <57450786+DaniPopes@users.noreply.github.com> Date: Mon, 28 Aug 2023 23:05:28 +0200 Subject: [PATCH] Align benchmark tables Also dumping bench results: | Backend | Inlined (I) | Black boxed (I) | |:--------------------------:|:-----------:|:---------------:| | default | 444,684 | 445,270 | | portable-simd | 438,184 | 439,440 | | portable-simd, -Zbuild-std | 417,135 | 413,982 | | x86 | 414,745 | 417,212 | Bench: fn main() { let mut out = [0u8; 4097 * 2]; const_hex::encode_to_slice(std::hint::black_box(&bytes::RANDOM_4096[..]), &mut out).unwrap(); let _ = std::hint::black_box(out); } \#[allow(dead_code)] \#[rustfmt::skip] mod bytes { pub const RANDOM_4096: [u8; 4097] = [69, 59, 192, 90, 59, 88, 226, 203, 73, 114, 189, 173, 179, 180, 85, 240, 18, 2, 101, 112, 52, 166, 249, 89, 6, 8, 25, 6, 126, 92, 196, 85, 219, 169, 215, 195, 173, 213, 137, 188, 226, 48, 5, 246, 159, 50, 128, 192, 34, 196, 133, 45, 158, 168, 216, 100, 217, 176, 126, 171, 10, 241, 41, 19, 133, 52, 70, 212, 54, 72, 3, 132, 252, 127, 114, 164, 242, 184, 118, 208, 206, 113, 143, 10, 25, 15, 199, 43, 7, 128, 241, 137, 238, 113, 139, 62, 101, 190, 207, 115, 241, 179, 186, 179, 20, 57, 72, 251, 232, 243, 219, 45, 14, 52, 238, 226, 61, 189, 242, 161, 27, 209, 49, 20, 22, 244, 36, 160, 170, 103, 191, 134, 137, 255, 221, 238, 206, 174, 24, 90, 251, 249, 49, 34, 239, 151, 32, 84, 205, 33, 139, 238, 248, 161, 210, 143, 191, 145, 57, 14, 90, 65, 134, 241, 145, 26, 83, 83, 0, 41, 59, 133, 47, 154, 135, 202, 15, 249, 102, 78, 183, 105, 26, 26, 113, 152, 158, 175, 217, 48, 164, 250, 78, 186, 228, 50, 19, 16, 162, 28, 220, 161, 40, 122, 54, 141, 78, 77, 140, 26, 213, 70, 52, 238, 67, 104, 220, 50, 250, 195, 221, 188, 81, 120, 15, 231, 58, 100, 132, 59, 241, 221, 153, 50, 221, 135, 236, 151, 214, 41, 246, 75, 223, 230, 230, 76, 192, 57, 41, 100, 248, 117, 207, 38, 61, 41, 141, 28, 51, 25, 143, 197, 154, 119, 164, 253, 61, 182, 189, 169, 68, 17, 142, 137, 102, 31, 213, 112, 175, 154, 99, 12, 176, 13, 199, 82, 130, 232, 17, 218, 91, 38, 218, 76, 99, 159, 241, 38, 84, 177, 135, 54, 52, 226, 194, 24, 64, 34, 114, 209, 116, 185, 27, 243, 172, 8, 140, 153, 236, 7, 57, 76, 196, 89, 181, 115, 113, 68, 63, 124, 73, 185, 126, 113, 211, 232, 203, 21, 146, 118, 71, 97, 123, 213, 133, 35, 105, 168, 113, 99, 80, 41, 246, 227, 202, 143, 131, 4, 119, 64, 186, 201, 1, 40, 163, 135, 129, 134, 213, 80, 190, 206, 201, 51, 65, 53, 125, 89, 29, 207, 196, 221, 225, 188, 148, 178, 243, 41, 216, 8, 134, 30, 74, 109, 246, 32, 120, 163, 120, 139, 65, 36, 214, 67, 188, 225, 97, 252, 156, 143, 178, 234, 127, 78, 217, 175, 205, 226, 241, 86, 67, 222, 73, 126, 170, 6, 53, 99, 217, 8, 22, 180, 225, 19, 144, 132, 172, 65, 159, 242, 113, 178, 163, 234, 65, 229, 79, 216, 113, 102, 113, 48, 167, 17, 24, 108, 10, 199, 251, 237, 50, 178, 19, 97, 9, 183, 89, 84, 236, 116, 52, 184, 73, 9, 249, 67, 75, 68, 30, 136, 190, 148, 8, 217, 164, 176, 116, 38, 58, 234, 235, 241, 235, 190, 78, 248, 11, 60, 164, 152, 221, 124, 211, 24, 92, 62, 20, 34, 194, 219, 50, 211, 110, 106, 184, 197, 54, 218, 224, 8, 108, 210, 239, 146, 192, 144, 211, 187, 51, 154, 35, 236, 91, 135, 171, 60, 101, 167, 69, 36, 99, 139, 58, 87, 90, 94, 10, 49, 29, 63, 118, 103, 77, 220, 221, 36, 7, 160, 42, 201, 35, 179, 98, 206, 224, 0, 166, 221, 113, 132, 233, 199, 202, 161, 159, 238, 74, 131, 76, 37, 119, 51, 184, 141, 195, 140, 163, 19, 199, 144, 5, 210, 221, 139, 133, 255, 98, 179, 239, 91, 232, 0, 41, 128, 169, 155, 38, 12, 81, 203, 164, 183, 216, 58, 0, 92, 178, 7, 139, 165, 55, 56, 195, 159, 118, 224, 224, 163, 108, 171, 17, 61, 85, 168, 49, 38, 111, 25, 106, 47, 129, 250, 116, 78, 184, 149, 157, 76, 30, 188, 78, 205, 48, 87, 211, 99, 86, 68, 204, 84, 16, 153, 16, 193, 89, 192, 168, 182, 249, 252, 35, 122, 182, 216, 214, 249, 126, 228, 26, 230, 252, 227, 45, 45, 151, 105, 28, 151, 97, 61, 151, 185, 171, 89, 250, 70, 5, 145, 34, 47, 192, 227, 130, 188, 232, 45, 60, 218, 189, 84, 228, 85, 93, 131, 56, 93, 12, 193, 30, 179, 160, 114, 111, 46, 60, 151, 227, 10, 91, 59, 117, 222, 255, 94, 106, 132, 213, 3, 65, 35, 68, 13, 143, 144, 119, 62, 131, 220, 231, 35, 230, 24, 53, 239, 22, 222, 244, 157, 11, 163, 191, 194, 108, 70, 141, 212, 161, 166, 243, 29, 74, 250, 230, 158, 65, 150, 227, 215, 71, 35, 115, 9, 230, 78, 132, 168, 40, 110, 210, 187, 38, 247, 62, 123, 203, 190, 67, 205, 21, 209, 188, 9, 50, 84, 16, 83, 171, 250, 34, 156, 212, 18, 131, 123, 68, 239, 198, 71, 79, 188, 221, 105, 193, 246, 138, 2, 226, 199, 19, 47, 65, 18, 69, 139, 246, 75, 172, 147, 115, 192, 157, 229, 56, 112, 47, 158, 47, 217, 47, 34, 141, 72, 67, 103, 37, 169, 176, 201, 225, 138, 242, 156, 89, 145, 177, 141, 171, 40, 242, 0, 199, 26, 214, 170, 110, 75, 191, 232, 43, 158, 86, 147, 13, 168, 84, 183, 79, 82, 94, 24, 12, 12, 169, 253, 218, 66, 229, 50, 220, 138, 234, 224, 218, 151, 244, 180, 177, 69, 185, 81, 176, 253, 204, 89, 213, 186, 5, 122, 76, 98, 147, 199, 186, 163, 35, 149, 163, 65, 23, 112, 242, 198, 4, 248, 60, 139, 60, 52, 72, 8, 30, 180, 30, 4, 36, 242, 101, 27, 54, 152, 60, 17, 153, 194, 250, 160, 40, 92, 94, 25, 210, 204, 250, 81, 170, 29, 223, 66, 25, 142, 255, 97, 202, 40, 139, 60, 78, 167, 6, 126, 207, 203, 99, 61, 208, 109, 149, 204, 149, 0, 0, 228, 102, 234, 57, 45, 124, 226, 29, 137, 0, 198, 166, 224, 245, 225, 105, 175, 62, 201, 77, 139, 71, 158, 118, 16, 225, 44, 138, 224, 143, 52, 194, 151, 199, 225, 101, 41, 165, 216, 168, 147, 6, 7, 82, 173, 146, 116, 237, 224, 189, 134, 253, 31, 246, 156, 234, 192, 15, 118, 99, 197, 79, 219, 253, 54, 248, 210, 121, 63, 133, 118, 26, 40, 51, 251, 140, 20, 22, 211, 164, 115, 219, 70, 13, 100, 156, 56, 26, 87, 251, 94, 181, 60, 129, 100, 159, 20, 55, 203, 140, 201, 72, 227, 101, 161, 75, 150, 231, 34, 20, 159, 244, 111, 174, 223, 147, 139, 50, 0, 150, 107, 11, 77, 62, 66, 250, 6, 136, 207, 162, 54, 228, 81, 160, 134, 216, 54, 169, 35, 73, 54, 54, 177, 59, 192, 35, 121, 198, 137, 9, 61, 199, 6, 219, 39, 101, 116, 168, 236, 188, 31, 204, 14, 91, 147, 27, 117, 155, 50, 155, 233, 72, 61, 196, 77, 223, 253, 228, 194, 28, 166, 113, 100, 120, 99, 69, 192, 179, 71, 246, 143, 161, 91, 252, 253, 131, 84, 102, 153, 170, 82, 171, 97, 46, 91, 197, 88, 91, 181, 177, 227, 128, 168, 110, 233, 244, 101, 50, 87, 232, 144, 138, 103, 233, 90, 55, 93, 84, 207, 154, 159, 118, 241, 128, 49, 200, 255, 25, 69, 177, 181, 193, 39, 35, 1, 125, 206, 82, 90, 27, 88, 78, 7, 163, 30, 240, 155, 72, 184, 32, 194, 173, 205, 187, 146, 105, 195, 130, 247, 68, 250, 58, 194, 178, 92, 185, 81, 186, 26, 238, 124, 131, 49, 42, 13, 80, 57, 85, 187, 232, 210, 51, 8, 235, 201, 14, 252, 89, 141, 42, 129, 103, 130, 249, 224, 64, 150, 165, 129, 1, 198, 36, 173, 20, 167, 149, 147, 4, 156, 216, 229, 0, 185, 112, 173, 40, 173, 253, 97, 195, 139, 63, 176, 131, 143, 243, 149, 87, 54, 140, 102, 78, 239, 229, 240, 215, 22, 249, 138, 118, 73, 160, 16, 144, 53, 233, 136, 17, 227, 28, 95, 130, 238, 236, 228, 63, 60, 20, 49, 126, 156, 123, 87, 195, 180, 227, 51, 121, 50, 105, 21, 167, 165, 127, 151, 89, 116, 114, 127, 243, 137, 0, 187, 33, 128, 42, 83, 196, 214, 234, 163, 24, 240, 190, 66, 140, 196, 149, 143, 75, 34, 176, 84, 145, 199, 105, 236, 242, 155, 131, 174, 101, 150, 60, 50, 214, 254, 53, 253, 182, 74, 203, 101, 207, 198, 191, 195, 31, 242, 126, 6, 52, 74, 4, 237, 117, 121, 66, 52, 215, 189, 126, 66, 44, 60, 236, 201, 50, 59, 127, 85, 58, 142, 163, 109, 245, 248, 51, 42, 247, 128, 223, 201, 141, 159, 238, 91, 16, 121, 181, 20, 250, 55, 5, 131, 16, 61, 33, 238, 193, 246, 96, 183, 6, 147, 237, 30, 39, 121, 216, 146, 149, 6, 159, 185, 161, 189, 148, 191, 253, 211, 125, 4, 246, 42, 22, 25, 136, 252, 92, 39, 251, 130, 81, 222, 38, 150, 137, 132, 82, 64, 70, 109, 164, 26, 139, 44, 54, 175, 52, 21, 208, 163, 95, 15, 57, 215, 227, 69, 164, 36, 44, 151, 0, 121, 78, 242, 167, 70, 236, 178, 79, 51, 215, 56, 126, 50, 102, 101, 223, 239, 189, 37, 42, 7, 201, 50, 63, 202, 218, 192, 56, 42, 225, 56, 148, 216, 99, 35, 31, 78, 96, 247, 11, 103, 75, 126, 172, 180, 53, 22, 192, 62, 51, 37, 209, 65, 205, 30, 229, 223, 22, 77, 201, 6, 95, 99, 250, 202, 252, 68, 116, 51, 229, 70, 30, 159, 68, 136, 176, 131, 189, 24, 1, 102, 35, 171, 118, 156, 146, 81, 203, 72, 141, 251, 18, 73, 65, 65, 70, 56, 148, 70, 244, 144, 109, 185, 251, 247, 246, 173, 142, 254, 36, 116, 91, 82, 176, 239, 40, 113, 131, 21, 76, 198, 6, 145, 124, 225, 35, 224, 135, 253, 12, 101, 73, 153, 85, 149, 232, 164, 251, 50, 185, 200, 219, 56, 78, 78, 249, 132, 175, 175, 108, 204, 32, 157, 234, 170, 10, 240, 65, 21, 73, 227, 184, 249, 6, 75, 51, 75, 39, 237, 198, 93, 3, 142, 212, 171, 69, 99, 195, 112, 186, 198, 162, 169, 184, 192, 6, 47, 183, 47, 225, 196, 14, 155, 90, 24, 36, 131, 5, 111, 154, 136, 245, 129, 179, 142, 149, 87, 60, 206, 182, 100, 180, 18, 36, 50, 37, 118, 8, 250, 19, 255, 110, 145, 75, 43, 246, 115, 56, 61, 29, 37, 117, 6, 124, 72, 247, 176, 247, 109, 104, 248, 39, 27, 162, 34, 160, 117, 139, 15, 48, 169, 196, 175, 73, 223, 142, 233, 50, 195, 228, 102, 250, 34, 175, 221, 227, 215, 131, 155, 86, 60, 228, 144, 8, 196, 227, 70, 207, 113, 193, 121, 119, 23, 3, 39, 61, 8, 180, 160, 135, 79, 124, 248, 53, 3, 165, 166, 110, 132, 117, 135, 5, 91, 113, 43, 64, 179, 164, 46, 172, 136, 116, 36, 28, 114, 205, 135, 251, 163, 170, 141, 217, 85, 224, 18, 227, 76, 31, 176, 84, 100, 100, 6, 102, 40, 131, 89, 91, 222, 115, 117, 98, 7, 42, 210, 158, 238, 157, 36, 92, 4, 50, 172, 5, 180, 248, 23, 128, 2, 246, 129, 73, 162, 110, 25, 62, 211, 78, 207, 220, 152, 62, 15, 105, 225, 137, 202, 75, 137, 221, 223, 61, 99, 117, 239, 145, 246, 250, 254, 144, 57, 214, 14, 176, 233, 127, 229, 105, 70, 2, 57, 164, 228, 200, 142, 251, 192, 186, 114, 227, 127, 112, 251, 147, 32, 162, 187, 56, 242, 63, 145, 175, 179, 232, 138, 128, 17, 112, 216, 254, 115, 186, 106, 167, 199, 165, 86, 38, 45, 227, 41, 4, 112, 221, 149, 187, 59, 119, 145, 242, 181, 121, 3, 49, 163, 25, 177, 89, 105, 102, 154, 76, 236, 63, 8, 83, 134, 195, 141, 11, 92, 246, 66, 197, 178, 219, 27, 185, 91, 220, 202, 110, 74, 93, 161, 197, 235, 24, 51, 59, 132, 82, 192, 148, 165, 59, 56, 13, 224, 120, 147, 205, 86, 114, 6, 21, 228, 1, 253, 196, 150, 1, 124, 188, 51, 22, 177, 112, 27, 252, 2, 175, 46, 7, 13, 23, 204, 125, 96, 79, 81, 141, 232, 221, 19, 38, 219, 110, 104, 12, 22, 163, 84, 49, 139, 55, 132, 90, 55, 238, 79, 30, 9, 230, 120, 124, 168, 60, 7, 142, 32, 122, 227, 220, 241, 189, 46, 182, 137, 101, 6, 242, 184, 18, 42, 113, 124, 135, 46, 116, 88, 60, 19, 46, 49, 175, 21, 7, 230, 45, 70, 134, 83, 67, 101, 22, 31, 164, 253, 173, 240, 173, 207, 30, 62, 35, 244, 215, 160, 122, 130, 87, 247, 95, 225, 66, 159, 240, 79, 12, 205, 81, 34, 227, 205, 67, 210, 76, 44, 19, 6, 19, 94, 78, 89, 157, 197, 14, 147, 209, 45, 118, 50, 221, 195, 62, 128, 101, 4, 114, 149, 116, 132, 118, 128, 12, 52, 250, 184, 238, 191, 74, 153, 211, 209, 162, 154, 150, 52, 161, 164, 86, 178, 196, 2, 171, 247, 6, 75, 41, 154, 174, 90, 190, 41, 227, 128, 139, 105, 106, 36, 139, 59, 133, 216, 233, 208, 62, 10, 100, 69, 70, 65, 227, 170, 197, 166, 241, 181, 77, 197, 221, 192, 66, 239, 227, 139, 185, 63, 182, 202, 141, 171, 32, 159, 224, 82, 43, 171, 105, 200, 100, 36, 184, 172, 136, 187, 63, 97, 254, 107, 181, 29, 163, 104, 250, 76, 113, 11, 67, 57, 0, 20, 145, 241, 238, 216, 29, 93, 91, 146, 32, 254, 214, 197, 68, 90, 106, 174, 199, 216, 25, 122, 9, 104, 45, 89, 156, 134, 246, 102, 38, 135, 226, 96, 13, 82, 165, 146, 119, 15, 35, 149, 234, 35, 74, 128, 145, 160, 35, 59, 27, 198, 111, 142, 62, 84, 166, 80, 41, 152, 109, 156, 67, 119, 212, 146, 33, 135, 34, 200, 143, 230, 74, 173, 237, 126, 20, 131, 159, 217, 142, 14, 167, 28, 235, 190, 121, 161, 120, 9, 247, 197, 69, 67, 22, 210, 200, 53, 33, 118, 158, 9, 91, 162, 105, 15, 204, 117, 74, 108, 245, 146, 87, 16, 231, 253, 113, 4, 133, 55, 199, 180, 243, 252, 250, 71, 148, 251, 88, 30, 94, 245, 19, 72, 89, 110, 97, 49, 201, 248, 99, 97, 83, 239, 65, 154, 113, 35, 254, 202, 123, 184, 180, 111, 51, 233, 83, 196, 153, 179, 17, 54, 166, 194, 242, 84, 10, 209, 12, 107, 252, 121, 204, 206, 91, 20, 223, 80, 209, 29, 57, 29, 232, 2, 24, 0, 15, 115, 64, 236, 196, 187, 82, 84, 42, 206, 172, 110, 96, 71, 217, 90, 248, 246, 138, 129, 62, 127, 230, 74, 115, 227, 155, 7, 32, 96, 227, 227, 233, 25, 47, 214, 207, 103, 120, 160, 25, 21, 137, 176, 11, 77, 215, 79, 12, 37, 114, 237, 171, 202, 188, 87, 251, 154, 178, 79, 5, 178, 153, 43, 58, 123, 133, 176, 251, 15, 8, 66, 222, 219, 243, 32, 159, 155, 234, 107, 69, 103, 185, 59, 41, 187, 112, 101, 97, 75, 36, 41, 121, 6, 130, 254, 11, 233, 117, 110, 89, 178, 225, 123, 41, 243, 91, 146, 73, 46, 19, 40, 12, 120, 229, 141, 201, 17, 194, 96, 186, 127, 202, 81, 217, 50, 199, 132, 214, 92, 237, 106, 92, 183, 79, 218, 51, 84, 239, 125, 138, 219, 173, 203, 0, 116, 209, 2, 81, 245, 137, 237, 71, 254, 116, 8, 163, 32, 50, 7, 18, 139, 35, 113, 26, 95, 170, 20, 170, 246, 93, 71, 27, 253, 168, 85, 194, 204, 221, 202, 82, 49, 178, 196, 39, 82, 203, 66, 126, 235, 101, 27, 235, 197, 119, 22, 182, 77, 188, 86, 171, 198, 206, 14, 151, 172, 208, 216, 35, 232, 135, 25, 195, 45, 114, 80, 164, 28, 164, 33, 234, 70, 240, 91, 154, 88, 175, 32, 61, 28, 58, 161, 39, 0, 207, 18, 207, 35, 59, 230, 46, 148, 156, 63, 233, 110, 162, 139, 196, 91, 241, 211, 97, 196, 48, 12, 69, 105, 32, 229, 158, 96, 107, 123, 115, 162, 225, 106, 39, 19, 181, 185, 248, 6, 87, 164, 47, 45, 215, 42, 140, 124, 77, 232, 61, 153, 222, 123, 128, 251, 76, 88, 66, 84, 127, 131, 177, 50, 4, 232, 254, 249, 128, 242, 149, 53, 33, 33, 222, 192, 198, 16, 174, 18, 33, 139, 142, 14, 108, 107, 236, 192, 238, 129, 207, 233, 159, 99, 2, 192, 182, 200, 53, 167, 181, 137, 108, 37, 114, 165, 149, 144, 41, 202, 80, 169, 194, 239, 118, 179, 253, 184, 206, 11, 6, 243, 153, 61, 221, 121, 60, 97, 146, 51, 97, 49, 138, 13, 1, 33, 206, 91, 50, 243, 165, 129, 124, 216, 61, 187, 173, 11, 41, 250, 121, 249, 9, 121, 14, 223, 132, 10, 93, 173, 0, 183, 8, 149, 98, 63, 187, 139, 251, 156, 112, 190, 28, 36, 155, 120, 116, 22, 13, 186, 116, 38, 34, 6, 66, 36, 94, 39, 242, 249, 46, 143, 237, 222, 221, 184, 84, 5, 160, 10, 227, 210, 253, 76, 249, 72, 16, 253, 197, 48, 193, 206, 137, 19, 64, 119, 210, 126, 137, 51, 9, 32, 13, 252, 215, 244, 122, 205, 77, 21, 44, 111, 160, 137, 209, 59, 122, 131, 229, 250, 41, 3, 115, 246, 38, 194, 190, 171, 218, 110, 3, 249, 114, 6, 216, 46, 67, 96, 65, 247, 242, 234, 96, 92, 88, 233, 185, 194, 80, 185, 123, 13, 39, 192, 102, 239, 118, 72, 43, 127, 246, 178, 50, 93, 212, 208, 254, 26, 75, 146, 241, 162, 202, 66, 248, 207, 32, 10, 248, 30, 18, 108, 202, 52, 99, 185, 72, 120, 85, 196, 208, 139, 130, 162, 194, 44, 180, 237, 122, 243, 131, 116, 34, 71, 192, 141, 44, 180, 214, 237, 218, 118, 151, 60, 87, 141, 106, 62, 111, 25, 253, 252, 235, 227, 33, 237, 211, 78, 91, 124, 11, 111, 99, 117, 236, 34, 234, 6, 31, 143, 199, 158, 53, 125, 20, 28, 68, 83, 143, 100, 166, 77, 118, 51, 106, 18, 20, 131, 131, 37, 117, 22, 189, 95, 94, 18, 178, 30, 74, 30, 78, 117, 238, 106, 135, 208, 160, 78, 132, 137, 28, 119, 149, 79, 53, 62, 196, 207, 193, 184, 150, 189, 183, 89, 109, 5, 142, 104, 83, 43, 10, 111, 70, 76, 114, 43, 93, 42, 79, 136, 218, 193, 223, 127, 32, 185, 112, 178, 240, 92, 0, 114, 114, 146, 174, 176, 38, 15, 36, 111, 72, 187, 131, 5, 101, 4, 23, 36, 112, 71, 254, 84, 204, 193, 68, 242, 142, 235, 30, 237, 148, 237, 249, 78, 0, 218, 222, 36, 30, 198, 29, 91, 7, 109, 35, 194, 166, 0, 214, 223, 255, 72, 22, 194, 248, 103, 148, 196, 115, 25, 168, 164, 186, 22, 75, 78, 143, 157, 186, 101, 105, 202, 175, 75, 213, 235, 189, 56, 81, 229, 135, 99, 151, 244, 142, 61, 64, 232, 170, 203, 23, 22, 251, 232, 170, 21, 85, 76, 195, 112, 23, 21, 248, 248, 105, 113, 34, 201, 112, 28, 56, 203, 215, 70, 244, 66, 24, 20, 100, 2, 53, 62, 234, 18, 54, 177, 214, 186, 233, 27, 112, 93, 71, 53, 250, 92, 82, 171, 3, 183, 246, 36, 55, 110, 171, 203, 220, 108, 167, 25, 5, 227, 161, 125, 208, 147, 56, 229, 246, 59, 188, 28, 59, 128, 198, 182, 191, 16, 184, 99, 145, 50, 197, 131, 129, 147, 30, 75, 181, 55, 68, 150, 82, 211, 237, 217, 88, 219, 105, 232, 72, 61, 92, 232, 40, 45, 175, 214, 178, 54, 221, 102, 36, 110, 255, 110, 53, 159, 207, 1, 202, 88, 110, 201, 184, 246, 68, 224, 140, 217, 8, 112, 123, 143, 143, 214, 182, 227, 50, 5, 250, 253, 68, 70, 237, 141, 26, 169, 116, 25, 223, 143, 2, 189, 127, 178, 191, 109, 108, 195, 23, 144, 42, 46, 187, 100, 24, 57, 205, 25, 81, 61, 207, 200, 59, 56, 138, 123, 104, 116, 157, 131, 7, 164, 128, 240, 60, 253, 227, 53, 151, 12, 152, 58, 129, 252, 128, 166, 64, 117, 65, 17, 235, 136, 96, 185, 42, 32, 196, 141, 13, 194, 172, 250, 146, 148, 180, 149, 24, 138, 155, 69, 9, 141, 42, 2, 87, 126, 238, 23, 166, 176, 23, 55, 210, 39, 176, 232, 234, 230, 110, 180, 105, 45, 243, 68, 64, 105, 228, 127, 131, 205, 200, 158, 11, 110, 32, 146, 94, 98, 97, 130, 69, 171, 118, 111, 36, 184, 146, 66, 204, 239, 78, 15, 82, 223, 160, 22, 42, 12, 227, 60, 217, 229, 109, 223, 0, 245, 187, 41, 55, 213, 211, 240, 209, 73, 33, 174, 90, 204, 11, 184, 197, 170, 36, 189, 253, 38, 254, 0, 253, 44, 92, 167, 1, 245, 196, 135, 11, 220, 111, 7, 160, 145, 87, 192, 97, 183, 195, 162, 179, 227, 112, 41, 5, 178, 184, 122, 70, 137, 124, 21, 129, 161, 48, 237, 194, 221, 130, 110, 248, 17, 199, 144, 78, 139, 32, 72, 109, 25, 22, 104, 253, 58, 12, 46, 176, 6, 154, 28, 75, 241, 195, 35, 217, 5, 31, 109, 50, 98, 67, 190, 129, 212, 186, 127, 207, 113, 209, 136, 149, 85, 141, 146, 95, 167, 63, 224, 223, 75, 85, 81, 165, 67, 184, 244, 165, 81, 243, 147, 120, 110, 225, 55, 75, 90, 214, 249, 157, 176, 94, 11, 53, 226, 234, 178, 68, 4, 60, 153, 133, 115, 98, 48, 235, 239, 198, 120, 48, 103, 3, 17, 20, 48, 153, 54, 5, 172, 212, 167, 104, 18, 183, 230, 230, 143, 221, 193, 48, 141, 192, 75, 82, 255, 171, 153, 104, 87, 225, 159, 155, 176, 84, 132, 51, 174, 70, 158, 115, 90, 58, 168, 28, 105, 242, 128, 155, 63, 52, 125, 134, 104, 90, 6, 68, 167, 23, 73, 208, 224, 149, 15, 212, 136, 91, 108, 51, 205, 250, 2, 213, 33, 96, 178, 188, 173, 73, 145, 36, 75, 156, 68, 111, 201, 245, 209, 204, 207, 167, 134, 4, 240, 79, 125, 179, 30, 39, 44, 202, 131, 78, 201, 207, 243, 233, 149, 32, 163, 233, 193, 101, 69, 98, 101, 193, 204, 218, 9, 218, 197, 49, 124, 239, 147, 176, 227, 92, 208, 189, 213, 175, 71, 251, 77, 63, 74, 233, 1, 131, 70, 36, 133, 132, 190, 203, 127, 199, 52, 30, 220, 88, 159, 127, 61, 161, 178, 75, 175, 124, 4, 124, 120, 237, 131, 113, 4, 12, 181, 219, 118, 88, 70, 152, 235, 232, 157, 56, 201, 61, 80, 198, 54, 218, 154, 156, 105, 159, 80, 5, 86, 97, 124, 192, 110, 108, 84, 192, 29, 137, 67, 38, 191, 0, 171, 89, 45, 105, 28, 118, 164, 128, 153, 114, 255, 222, 81, 12, 77, 176, 39, 60, 179, 14, 177, 83, 86, 240, 24, 107, 129, 44, 37, 32, 28, 192, 62, 182, 228, 235, 102, 142, 134, 20, 79, 128, 54, 46, 99, 174, 1, 42, 116, 89, 209, 211, 104, 90, 231, 27, 2, 215, 101, 186, 175, 252, 82, 118, 120, 107, 129, 116, 214, 167, 170, 184, 238, 142, 22, 3, 174, 245, 161, 89, 10, 203, 110, 117, 222, 165, 139, 145, 160, 148, 95, 150, 236, 107, 61, 188, 219, 100, 137, 4, 178, 166, 134, 137, 225, 167, 187, 105, 203, 144, 197, 73, 104, 151, 36, 106, 83, 234, 49, 125, 157, 13, 38, 92, 15, 23, 33, 0, 15, 132, 232, 49, 147, 255, 199, 93, 86, 69, 87, 1, 175, 180, 166, 39, 40, 137, 251, 88, 228, 28, 207, 119, 45, 65, 190, 136, 18, 23, 53, 179, 91, 174, 247, 7, 80, 3, 76, 93, 251, 244, 245, 101, 161, 95, 19, 228, 161, 53, 152, 252, 251, 58, 214, 87, 9, 152, 153, 184, 223, 194, 155, 144, 55, 82, 166, 167, 12, 137, 245, 221, 51, 183, 102, 195, 94, 15, 124, 102]; } --- benches/bench.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/benches/bench.rs b/benches/bench.rs index 89d768b..a87c0ad 100644 --- a/benches/bench.rs +++ b/benches/bench.rs @@ -110,7 +110,7 @@ benches! { #[rustfmt::skip] mod bytes { - pub const RANDOM_32: [u8; 32] = [100, 197, 88, 139, 129, 227, 69, 222, 212, 191, 137, 88, 237, 58, 135, 249, 177, 77, 98, 78, 5, 82, 161, 28, 74, 239, 126, 236, 233, 50, 224, 78]; - pub const RANDOM_128: [u8; 128] = [123, 148, 8, 6, 158, 225, 224, 107, 109, 82, 163, 49, 22, 38, 180, 76, 229, 157, 17, 40, 49, 148, 144, 0, 19, 95, 70, 221, 231, 184, 229, 194, 152, 144, 177, 39, 10, 217, 92, 93, 204, 185, 214, 172, 148, 229, 251, 16, 126, 180, 48, 78, 117, 208, 61, 54, 193, 212, 245, 12, 185, 254, 215, 248, 44, 72, 231, 234, 122, 127, 147, 196, 243, 244, 247, 41, 102, 6, 142, 117, 13, 215, 115, 90, 215, 223, 78, 130, 158, 79, 81, 32, 55, 238, 252, 242, 26, 83, 149, 156, 101, 243, 190, 177, 81, 129, 118, 248, 22, 171, 247, 131, 80, 181, 100, 59, 54, 119, 198, 107, 147, 13, 105, 201, 74, 93, 2, 163]; + pub const RANDOM_32: [u8; 32] = [100, 197, 88, 139, 129, 227, 69, 222, 212, 191, 137, 88, 237, 58, 135, 249, 177, 77, 98, 78, 5, 82, 161, 28, 74, 239, 126, 236, 233, 50, 224, 78]; + pub const RANDOM_128: [u8; 128] = [123, 148, 8, 6, 158, 225, 224, 107, 109, 82, 163, 49, 22, 38, 180, 76, 229, 157, 17, 40, 49, 148, 144, 0, 19, 95, 70, 221, 231, 184, 229, 194, 152, 144, 177, 39, 10, 217, 92, 93, 204, 185, 214, 172, 148, 229, 251, 16, 126, 180, 48, 78, 117, 208, 61, 54, 193, 212, 245, 12, 185, 254, 215, 248, 44, 72, 231, 234, 122, 127, 147, 196, 243, 244, 247, 41, 102, 6, 142, 117, 13, 215, 115, 90, 215, 223, 78, 130, 158, 79, 81, 32, 55, 238, 252, 242, 26, 83, 149, 156, 101, 243, 190, 177, 81, 129, 118, 248, 22, 171, 247, 131, 80, 181, 100, 59, 54, 119, 198, 107, 147, 13, 105, 201, 74, 93, 2, 163]; pub const RANDOM_4096: [u8; 4096] = [59, 192, 90, 59, 88, 226, 203, 73, 114, 189, 173, 179, 180, 85, 240, 18, 2, 101, 112, 52, 166, 249, 89, 6, 8, 25, 6, 126, 92, 196, 85, 219, 169, 215, 195, 173, 213, 137, 188, 226, 48, 5, 246, 159, 50, 128, 192, 34, 196, 133, 45, 158, 168, 216, 100, 217, 176, 126, 171, 10, 241, 41, 19, 133, 52, 70, 212, 54, 72, 3, 132, 252, 127, 114, 164, 242, 184, 118, 208, 206, 113, 143, 10, 25, 15, 199, 43, 7, 128, 241, 137, 238, 113, 139, 62, 101, 190, 207, 115, 241, 179, 186, 179, 20, 57, 72, 251, 232, 243, 219, 45, 14, 52, 238, 226, 61, 189, 242, 161, 27, 209, 49, 20, 22, 244, 36, 160, 170, 103, 191, 134, 137, 255, 221, 238, 206, 174, 24, 90, 251, 249, 49, 34, 239, 151, 32, 84, 205, 33, 139, 238, 248, 161, 210, 143, 191, 145, 57, 14, 90, 65, 134, 241, 145, 26, 83, 83, 0, 41, 59, 133, 47, 154, 135, 202, 15, 249, 102, 78, 183, 105, 26, 26, 113, 152, 158, 175, 217, 48, 164, 250, 78, 186, 228, 50, 19, 16, 162, 28, 220, 161, 40, 122, 54, 141, 78, 77, 140, 26, 213, 70, 52, 238, 67, 104, 220, 50, 250, 195, 221, 188, 81, 120, 15, 231, 58, 100, 132, 59, 241, 221, 153, 50, 221, 135, 236, 151, 214, 41, 246, 75, 223, 230, 230, 76, 192, 57, 41, 100, 248, 117, 207, 38, 61, 41, 141, 28, 51, 25, 143, 197, 154, 119, 164, 253, 61, 182, 189, 169, 68, 17, 142, 137, 102, 31, 213, 112, 175, 154, 99, 12, 176, 13, 199, 82, 130, 232, 17, 218, 91, 38, 218, 76, 99, 159, 241, 38, 84, 177, 135, 54, 52, 226, 194, 24, 64, 34, 114, 209, 116, 185, 27, 243, 172, 8, 140, 153, 236, 7, 57, 76, 196, 89, 181, 115, 113, 68, 63, 124, 73, 185, 126, 113, 211, 232, 203, 21, 146, 118, 71, 97, 123, 213, 133, 35, 105, 168, 113, 99, 80, 41, 246, 227, 202, 143, 131, 4, 119, 64, 186, 201, 1, 40, 163, 135, 129, 134, 213, 80, 190, 206, 201, 51, 65, 53, 125, 89, 29, 207, 196, 221, 225, 188, 148, 178, 243, 41, 216, 8, 134, 30, 74, 109, 246, 32, 120, 163, 120, 139, 65, 36, 214, 67, 188, 225, 97, 252, 156, 143, 178, 234, 127, 78, 217, 175, 205, 226, 241, 86, 67, 222, 73, 126, 170, 6, 53, 99, 217, 8, 22, 180, 225, 19, 144, 132, 172, 65, 159, 242, 113, 178, 163, 234, 65, 229, 79, 216, 113, 102, 113, 48, 167, 17, 24, 108, 10, 199, 251, 237, 50, 178, 19, 97, 9, 183, 89, 84, 236, 116, 52, 184, 73, 9, 249, 67, 75, 68, 30, 136, 190, 148, 8, 217, 164, 176, 116, 38, 58, 234, 235, 241, 235, 190, 78, 248, 11, 60, 164, 152, 221, 124, 211, 24, 92, 62, 20, 34, 194, 219, 50, 211, 110, 106, 184, 197, 54, 218, 224, 8, 108, 210, 239, 146, 192, 144, 211, 187, 51, 154, 35, 236, 91, 135, 171, 60, 101, 167, 69, 36, 99, 139, 58, 87, 90, 94, 10, 49, 29, 63, 118, 103, 77, 220, 221, 36, 7, 160, 42, 201, 35, 179, 98, 206, 224, 0, 166, 221, 113, 132, 233, 199, 202, 161, 159, 238, 74, 131, 76, 37, 119, 51, 184, 141, 195, 140, 163, 19, 199, 144, 5, 210, 221, 139, 133, 255, 98, 179, 239, 91, 232, 0, 41, 128, 169, 155, 38, 12, 81, 203, 164, 183, 216, 58, 0, 92, 178, 7, 139, 165, 55, 56, 195, 159, 118, 224, 224, 163, 108, 171, 17, 61, 85, 168, 49, 38, 111, 25, 106, 47, 129, 250, 116, 78, 184, 149, 157, 76, 30, 188, 78, 205, 48, 87, 211, 99, 86, 68, 204, 84, 16, 153, 16, 193, 89, 192, 168, 182, 249, 252, 35, 122, 182, 216, 214, 249, 126, 228, 26, 230, 252, 227, 45, 45, 151, 105, 28, 151, 97, 61, 151, 185, 171, 89, 250, 70, 5, 145, 34, 47, 192, 227, 130, 188, 232, 45, 60, 218, 189, 84, 228, 85, 93, 131, 56, 93, 12, 193, 30, 179, 160, 114, 111, 46, 60, 151, 227, 10, 91, 59, 117, 222, 255, 94, 106, 132, 213, 3, 65, 35, 68, 13, 143, 144, 119, 62, 131, 220, 231, 35, 230, 24, 53, 239, 22, 222, 244, 157, 11, 163, 191, 194, 108, 70, 141, 212, 161, 166, 243, 29, 74, 250, 230, 158, 65, 150, 227, 215, 71, 35, 115, 9, 230, 78, 132, 168, 40, 110, 210, 187, 38, 247, 62, 123, 203, 190, 67, 205, 21, 209, 188, 9, 50, 84, 16, 83, 171, 250, 34, 156, 212, 18, 131, 123, 68, 239, 198, 71, 79, 188, 221, 105, 193, 246, 138, 2, 226, 199, 19, 47, 65, 18, 69, 139, 246, 75, 172, 147, 115, 192, 157, 229, 56, 112, 47, 158, 47, 217, 47, 34, 141, 72, 67, 103, 37, 169, 176, 201, 225, 138, 242, 156, 89, 145, 177, 141, 171, 40, 242, 0, 199, 26, 214, 170, 110, 75, 191, 232, 43, 158, 86, 147, 13, 168, 84, 183, 79, 82, 94, 24, 12, 12, 169, 253, 218, 66, 229, 50, 220, 138, 234, 224, 218, 151, 244, 180, 177, 69, 185, 81, 176, 253, 204, 89, 213, 186, 5, 122, 76, 98, 147, 199, 186, 163, 35, 149, 163, 65, 23, 112, 242, 198, 4, 248, 60, 139, 60, 52, 72, 8, 30, 180, 30, 4, 36, 242, 101, 27, 54, 152, 60, 17, 153, 194, 250, 160, 40, 92, 94, 25, 210, 204, 250, 81, 170, 29, 223, 66, 25, 142, 255, 97, 202, 40, 139, 60, 78, 167, 6, 126, 207, 203, 99, 61, 208, 109, 149, 204, 149, 0, 0, 228, 102, 234, 57, 45, 124, 226, 29, 137, 0, 198, 166, 224, 245, 225, 105, 175, 62, 201, 77, 139, 71, 158, 118, 16, 225, 44, 138, 224, 143, 52, 194, 151, 199, 225, 101, 41, 165, 216, 168, 147, 6, 7, 82, 173, 146, 116, 237, 224, 189, 134, 253, 31, 246, 156, 234, 192, 15, 118, 99, 197, 79, 219, 253, 54, 248, 210, 121, 63, 133, 118, 26, 40, 51, 251, 140, 20, 22, 211, 164, 115, 219, 70, 13, 100, 156, 56, 26, 87, 251, 94, 181, 60, 129, 100, 159, 20, 55, 203, 140, 201, 72, 227, 101, 161, 75, 150, 231, 34, 20, 159, 244, 111, 174, 223, 147, 139, 50, 0, 150, 107, 11, 77, 62, 66, 250, 6, 136, 207, 162, 54, 228, 81, 160, 134, 216, 54, 169, 35, 73, 54, 54, 177, 59, 192, 35, 121, 198, 137, 9, 61, 199, 6, 219, 39, 101, 116, 168, 236, 188, 31, 204, 14, 91, 147, 27, 117, 155, 50, 155, 233, 72, 61, 196, 77, 223, 253, 228, 194, 28, 166, 113, 100, 120, 99, 69, 192, 179, 71, 246, 143, 161, 91, 252, 253, 131, 84, 102, 153, 170, 82, 171, 97, 46, 91, 197, 88, 91, 181, 177, 227, 128, 168, 110, 233, 244, 101, 50, 87, 232, 144, 138, 103, 233, 90, 55, 93, 84, 207, 154, 159, 118, 241, 128, 49, 200, 255, 25, 69, 177, 181, 193, 39, 35, 1, 125, 206, 82, 90, 27, 88, 78, 7, 163, 30, 240, 155, 72, 184, 32, 194, 173, 205, 187, 146, 105, 195, 130, 247, 68, 250, 58, 194, 178, 92, 185, 81, 186, 26, 238, 124, 131, 49, 42, 13, 80, 57, 85, 187, 232, 210, 51, 8, 235, 201, 14, 252, 89, 141, 42, 129, 103, 130, 249, 224, 64, 150, 165, 129, 1, 198, 36, 173, 20, 167, 149, 147, 4, 156, 216, 229, 0, 185, 112, 173, 40, 173, 253, 97, 195, 139, 63, 176, 131, 143, 243, 149, 87, 54, 140, 102, 78, 239, 229, 240, 215, 22, 249, 138, 118, 73, 160, 16, 144, 53, 233, 136, 17, 227, 28, 95, 130, 238, 236, 228, 63, 60, 20, 49, 126, 156, 123, 87, 195, 180, 227, 51, 121, 50, 105, 21, 167, 165, 127, 151, 89, 116, 114, 127, 243, 137, 0, 187, 33, 128, 42, 83, 196, 214, 234, 163, 24, 240, 190, 66, 140, 196, 149, 143, 75, 34, 176, 84, 145, 199, 105, 236, 242, 155, 131, 174, 101, 150, 60, 50, 214, 254, 53, 253, 182, 74, 203, 101, 207, 198, 191, 195, 31, 242, 126, 6, 52, 74, 4, 237, 117, 121, 66, 52, 215, 189, 126, 66, 44, 60, 236, 201, 50, 59, 127, 85, 58, 142, 163, 109, 245, 248, 51, 42, 247, 128, 223, 201, 141, 159, 238, 91, 16, 121, 181, 20, 250, 55, 5, 131, 16, 61, 33, 238, 193, 246, 96, 183, 6, 147, 237, 30, 39, 121, 216, 146, 149, 6, 159, 185, 161, 189, 148, 191, 253, 211, 125, 4, 246, 42, 22, 25, 136, 252, 92, 39, 251, 130, 81, 222, 38, 150, 137, 132, 82, 64, 70, 109, 164, 26, 139, 44, 54, 175, 52, 21, 208, 163, 95, 15, 57, 215, 227, 69, 164, 36, 44, 151, 0, 121, 78, 242, 167, 70, 236, 178, 79, 51, 215, 56, 126, 50, 102, 101, 223, 239, 189, 37, 42, 7, 201, 50, 63, 202, 218, 192, 56, 42, 225, 56, 148, 216, 99, 35, 31, 78, 96, 247, 11, 103, 75, 126, 172, 180, 53, 22, 192, 62, 51, 37, 209, 65, 205, 30, 229, 223, 22, 77, 201, 6, 95, 99, 250, 202, 252, 68, 116, 51, 229, 70, 30, 159, 68, 136, 176, 131, 189, 24, 1, 102, 35, 171, 118, 156, 146, 81, 203, 72, 141, 251, 18, 73, 65, 65, 70, 56, 148, 70, 244, 144, 109, 185, 251, 247, 246, 173, 142, 254, 36, 116, 91, 82, 176, 239, 40, 113, 131, 21, 76, 198, 6, 145, 124, 225, 35, 224, 135, 253, 12, 101, 73, 153, 85, 149, 232, 164, 251, 50, 185, 200, 219, 56, 78, 78, 249, 132, 175, 175, 108, 204, 32, 157, 234, 170, 10, 240, 65, 21, 73, 227, 184, 249, 6, 75, 51, 75, 39, 237, 198, 93, 3, 142, 212, 171, 69, 99, 195, 112, 186, 198, 162, 169, 184, 192, 6, 47, 183, 47, 225, 196, 14, 155, 90, 24, 36, 131, 5, 111, 154, 136, 245, 129, 179, 142, 149, 87, 60, 206, 182, 100, 180, 18, 36, 50, 37, 118, 8, 250, 19, 255, 110, 145, 75, 43, 246, 115, 56, 61, 29, 37, 117, 6, 124, 72, 247, 176, 247, 109, 104, 248, 39, 27, 162, 34, 160, 117, 139, 15, 48, 169, 196, 175, 73, 223, 142, 233, 50, 195, 228, 102, 250, 34, 175, 221, 227, 215, 131, 155, 86, 60, 228, 144, 8, 196, 227, 70, 207, 113, 193, 121, 119, 23, 3, 39, 61, 8, 180, 160, 135, 79, 124, 248, 53, 3, 165, 166, 110, 132, 117, 135, 5, 91, 113, 43, 64, 179, 164, 46, 172, 136, 116, 36, 28, 114, 205, 135, 251, 163, 170, 141, 217, 85, 224, 18, 227, 76, 31, 176, 84, 100, 100, 6, 102, 40, 131, 89, 91, 222, 115, 117, 98, 7, 42, 210, 158, 238, 157, 36, 92, 4, 50, 172, 5, 180, 248, 23, 128, 2, 246, 129, 73, 162, 110, 25, 62, 211, 78, 207, 220, 152, 62, 15, 105, 225, 137, 202, 75, 137, 221, 223, 61, 99, 117, 239, 145, 246, 250, 254, 144, 57, 214, 14, 176, 233, 127, 229, 105, 70, 2, 57, 164, 228, 200, 142, 251, 192, 186, 114, 227, 127, 112, 251, 147, 32, 162, 187, 56, 242, 63, 145, 175, 179, 232, 138, 128, 17, 112, 216, 254, 115, 186, 106, 167, 199, 165, 86, 38, 45, 227, 41, 4, 112, 221, 149, 187, 59, 119, 145, 242, 181, 121, 3, 49, 163, 25, 177, 89, 105, 102, 154, 76, 236, 63, 8, 83, 134, 195, 141, 11, 92, 246, 66, 197, 178, 219, 27, 185, 91, 220, 202, 110, 74, 93, 161, 197, 235, 24, 51, 59, 132, 82, 192, 148, 165, 59, 56, 13, 224, 120, 147, 205, 86, 114, 6, 21, 228, 1, 253, 196, 150, 1, 124, 188, 51, 22, 177, 112, 27, 252, 2, 175, 46, 7, 13, 23, 204, 125, 96, 79, 81, 141, 232, 221, 19, 38, 219, 110, 104, 12, 22, 163, 84, 49, 139, 55, 132, 90, 55, 238, 79, 30, 9, 230, 120, 124, 168, 60, 7, 142, 32, 122, 227, 220, 241, 189, 46, 182, 137, 101, 6, 242, 184, 18, 42, 113, 124, 135, 46, 116, 88, 60, 19, 46, 49, 175, 21, 7, 230, 45, 70, 134, 83, 67, 101, 22, 31, 164, 253, 173, 240, 173, 207, 30, 62, 35, 244, 215, 160, 122, 130, 87, 247, 95, 225, 66, 159, 240, 79, 12, 205, 81, 34, 227, 205, 67, 210, 76, 44, 19, 6, 19, 94, 78, 89, 157, 197, 14, 147, 209, 45, 118, 50, 221, 195, 62, 128, 101, 4, 114, 149, 116, 132, 118, 128, 12, 52, 250, 184, 238, 191, 74, 153, 211, 209, 162, 154, 150, 52, 161, 164, 86, 178, 196, 2, 171, 247, 6, 75, 41, 154, 174, 90, 190, 41, 227, 128, 139, 105, 106, 36, 139, 59, 133, 216, 233, 208, 62, 10, 100, 69, 70, 65, 227, 170, 197, 166, 241, 181, 77, 197, 221, 192, 66, 239, 227, 139, 185, 63, 182, 202, 141, 171, 32, 159, 224, 82, 43, 171, 105, 200, 100, 36, 184, 172, 136, 187, 63, 97, 254, 107, 181, 29, 163, 104, 250, 76, 113, 11, 67, 57, 0, 20, 145, 241, 238, 216, 29, 93, 91, 146, 32, 254, 214, 197, 68, 90, 106, 174, 199, 216, 25, 122, 9, 104, 45, 89, 156, 134, 246, 102, 38, 135, 226, 96, 13, 82, 165, 146, 119, 15, 35, 149, 234, 35, 74, 128, 145, 160, 35, 59, 27, 198, 111, 142, 62, 84, 166, 80, 41, 152, 109, 156, 67, 119, 212, 146, 33, 135, 34, 200, 143, 230, 74, 173, 237, 126, 20, 131, 159, 217, 142, 14, 167, 28, 235, 190, 121, 161, 120, 9, 247, 197, 69, 67, 22, 210, 200, 53, 33, 118, 158, 9, 91, 162, 105, 15, 204, 117, 74, 108, 245, 146, 87, 16, 231, 253, 113, 4, 133, 55, 199, 180, 243, 252, 250, 71, 148, 251, 88, 30, 94, 245, 19, 72, 89, 110, 97, 49, 201, 248, 99, 97, 83, 239, 65, 154, 113, 35, 254, 202, 123, 184, 180, 111, 51, 233, 83, 196, 153, 179, 17, 54, 166, 194, 242, 84, 10, 209, 12, 107, 252, 121, 204, 206, 91, 20, 223, 80, 209, 29, 57, 29, 232, 2, 24, 0, 15, 115, 64, 236, 196, 187, 82, 84, 42, 206, 172, 110, 96, 71, 217, 90, 248, 246, 138, 129, 62, 127, 230, 74, 115, 227, 155, 7, 32, 96, 227, 227, 233, 25, 47, 214, 207, 103, 120, 160, 25, 21, 137, 176, 11, 77, 215, 79, 12, 37, 114, 237, 171, 202, 188, 87, 251, 154, 178, 79, 5, 178, 153, 43, 58, 123, 133, 176, 251, 15, 8, 66, 222, 219, 243, 32, 159, 155, 234, 107, 69, 103, 185, 59, 41, 187, 112, 101, 97, 75, 36, 41, 121, 6, 130, 254, 11, 233, 117, 110, 89, 178, 225, 123, 41, 243, 91, 146, 73, 46, 19, 40, 12, 120, 229, 141, 201, 17, 194, 96, 186, 127, 202, 81, 217, 50, 199, 132, 214, 92, 237, 106, 92, 183, 79, 218, 51, 84, 239, 125, 138, 219, 173, 203, 0, 116, 209, 2, 81, 245, 137, 237, 71, 254, 116, 8, 163, 32, 50, 7, 18, 139, 35, 113, 26, 95, 170, 20, 170, 246, 93, 71, 27, 253, 168, 85, 194, 204, 221, 202, 82, 49, 178, 196, 39, 82, 203, 66, 126, 235, 101, 27, 235, 197, 119, 22, 182, 77, 188, 86, 171, 198, 206, 14, 151, 172, 208, 216, 35, 232, 135, 25, 195, 45, 114, 80, 164, 28, 164, 33, 234, 70, 240, 91, 154, 88, 175, 32, 61, 28, 58, 161, 39, 0, 207, 18, 207, 35, 59, 230, 46, 148, 156, 63, 233, 110, 162, 139, 196, 91, 241, 211, 97, 196, 48, 12, 69, 105, 32, 229, 158, 96, 107, 123, 115, 162, 225, 106, 39, 19, 181, 185, 248, 6, 87, 164, 47, 45, 215, 42, 140, 124, 77, 232, 61, 153, 222, 123, 128, 251, 76, 88, 66, 84, 127, 131, 177, 50, 4, 232, 254, 249, 128, 242, 149, 53, 33, 33, 222, 192, 198, 16, 174, 18, 33, 139, 142, 14, 108, 107, 236, 192, 238, 129, 207, 233, 159, 99, 2, 192, 182, 200, 53, 167, 181, 137, 108, 37, 114, 165, 149, 144, 41, 202, 80, 169, 194, 239, 118, 179, 253, 184, 206, 11, 6, 243, 153, 61, 221, 121, 60, 97, 146, 51, 97, 49, 138, 13, 1, 33, 206, 91, 50, 243, 165, 129, 124, 216, 61, 187, 173, 11, 41, 250, 121, 249, 9, 121, 14, 223, 132, 10, 93, 173, 0, 183, 8, 149, 98, 63, 187, 139, 251, 156, 112, 190, 28, 36, 155, 120, 116, 22, 13, 186, 116, 38, 34, 6, 66, 36, 94, 39, 242, 249, 46, 143, 237, 222, 221, 184, 84, 5, 160, 10, 227, 210, 253, 76, 249, 72, 16, 253, 197, 48, 193, 206, 137, 19, 64, 119, 210, 126, 137, 51, 9, 32, 13, 252, 215, 244, 122, 205, 77, 21, 44, 111, 160, 137, 209, 59, 122, 131, 229, 250, 41, 3, 115, 246, 38, 194, 190, 171, 218, 110, 3, 249, 114, 6, 216, 46, 67, 96, 65, 247, 242, 234, 96, 92, 88, 233, 185, 194, 80, 185, 123, 13, 39, 192, 102, 239, 118, 72, 43, 127, 246, 178, 50, 93, 212, 208, 254, 26, 75, 146, 241, 162, 202, 66, 248, 207, 32, 10, 248, 30, 18, 108, 202, 52, 99, 185, 72, 120, 85, 196, 208, 139, 130, 162, 194, 44, 180, 237, 122, 243, 131, 116, 34, 71, 192, 141, 44, 180, 214, 237, 218, 118, 151, 60, 87, 141, 106, 62, 111, 25, 253, 252, 235, 227, 33, 237, 211, 78, 91, 124, 11, 111, 99, 117, 236, 34, 234, 6, 31, 143, 199, 158, 53, 125, 20, 28, 68, 83, 143, 100, 166, 77, 118, 51, 106, 18, 20, 131, 131, 37, 117, 22, 189, 95, 94, 18, 178, 30, 74, 30, 78, 117, 238, 106, 135, 208, 160, 78, 132, 137, 28, 119, 149, 79, 53, 62, 196, 207, 193, 184, 150, 189, 183, 89, 109, 5, 142, 104, 83, 43, 10, 111, 70, 76, 114, 43, 93, 42, 79, 136, 218, 193, 223, 127, 32, 185, 112, 178, 240, 92, 0, 114, 114, 146, 174, 176, 38, 15, 36, 111, 72, 187, 131, 5, 101, 4, 23, 36, 112, 71, 254, 84, 204, 193, 68, 242, 142, 235, 30, 237, 148, 237, 249, 78, 0, 218, 222, 36, 30, 198, 29, 91, 7, 109, 35, 194, 166, 0, 214, 223, 255, 72, 22, 194, 248, 103, 148, 196, 115, 25, 168, 164, 186, 22, 75, 78, 143, 157, 186, 101, 105, 202, 175, 75, 213, 235, 189, 56, 81, 229, 135, 99, 151, 244, 142, 61, 64, 232, 170, 203, 23, 22, 251, 232, 170, 21, 85, 76, 195, 112, 23, 21, 248, 248, 105, 113, 34, 201, 112, 28, 56, 203, 215, 70, 244, 66, 24, 20, 100, 2, 53, 62, 234, 18, 54, 177, 214, 186, 233, 27, 112, 93, 71, 53, 250, 92, 82, 171, 3, 183, 246, 36, 55, 110, 171, 203, 220, 108, 167, 25, 5, 227, 161, 125, 208, 147, 56, 229, 246, 59, 188, 28, 59, 128, 198, 182, 191, 16, 184, 99, 145, 50, 197, 131, 129, 147, 30, 75, 181, 55, 68, 150, 82, 211, 237, 217, 88, 219, 105, 232, 72, 61, 92, 232, 40, 45, 175, 214, 178, 54, 221, 102, 36, 110, 255, 110, 53, 159, 207, 1, 202, 88, 110, 201, 184, 246, 68, 224, 140, 217, 8, 112, 123, 143, 143, 214, 182, 227, 50, 5, 250, 253, 68, 70, 237, 141, 26, 169, 116, 25, 223, 143, 2, 189, 127, 178, 191, 109, 108, 195, 23, 144, 42, 46, 187, 100, 24, 57, 205, 25, 81, 61, 207, 200, 59, 56, 138, 123, 104, 116, 157, 131, 7, 164, 128, 240, 60, 253, 227, 53, 151, 12, 152, 58, 129, 252, 128, 166, 64, 117, 65, 17, 235, 136, 96, 185, 42, 32, 196, 141, 13, 194, 172, 250, 146, 148, 180, 149, 24, 138, 155, 69, 9, 141, 42, 2, 87, 126, 238, 23, 166, 176, 23, 55, 210, 39, 176, 232, 234, 230, 110, 180, 105, 45, 243, 68, 64, 105, 228, 127, 131, 205, 200, 158, 11, 110, 32, 146, 94, 98, 97, 130, 69, 171, 118, 111, 36, 184, 146, 66, 204, 239, 78, 15, 82, 223, 160, 22, 42, 12, 227, 60, 217, 229, 109, 223, 0, 245, 187, 41, 55, 213, 211, 240, 209, 73, 33, 174, 90, 204, 11, 184, 197, 170, 36, 189, 253, 38, 254, 0, 253, 44, 92, 167, 1, 245, 196, 135, 11, 220, 111, 7, 160, 145, 87, 192, 97, 183, 195, 162, 179, 227, 112, 41, 5, 178, 184, 122, 70, 137, 124, 21, 129, 161, 48, 237, 194, 221, 130, 110, 248, 17, 199, 144, 78, 139, 32, 72, 109, 25, 22, 104, 253, 58, 12, 46, 176, 6, 154, 28, 75, 241, 195, 35, 217, 5, 31, 109, 50, 98, 67, 190, 129, 212, 186, 127, 207, 113, 209, 136, 149, 85, 141, 146, 95, 167, 63, 224, 223, 75, 85, 81, 165, 67, 184, 244, 165, 81, 243, 147, 120, 110, 225, 55, 75, 90, 214, 249, 157, 176, 94, 11, 53, 226, 234, 178, 68, 4, 60, 153, 133, 115, 98, 48, 235, 239, 198, 120, 48, 103, 3, 17, 20, 48, 153, 54, 5, 172, 212, 167, 104, 18, 183, 230, 230, 143, 221, 193, 48, 141, 192, 75, 82, 255, 171, 153, 104, 87, 225, 159, 155, 176, 84, 132, 51, 174, 70, 158, 115, 90, 58, 168, 28, 105, 242, 128, 155, 63, 52, 125, 134, 104, 90, 6, 68, 167, 23, 73, 208, 224, 149, 15, 212, 136, 91, 108, 51, 205, 250, 2, 213, 33, 96, 178, 188, 173, 73, 145, 36, 75, 156, 68, 111, 201, 245, 209, 204, 207, 167, 134, 4, 240, 79, 125, 179, 30, 39, 44, 202, 131, 78, 201, 207, 243, 233, 149, 32, 163, 233, 193, 101, 69, 98, 101, 193, 204, 218, 9, 218, 197, 49, 124, 239, 147, 176, 227, 92, 208, 189, 213, 175, 71, 251, 77, 63, 74, 233, 1, 131, 70, 36, 133, 132, 190, 203, 127, 199, 52, 30, 220, 88, 159, 127, 61, 161, 178, 75, 175, 124, 4, 124, 120, 237, 131, 113, 4, 12, 181, 219, 118, 88, 70, 152, 235, 232, 157, 56, 201, 61, 80, 198, 54, 218, 154, 156, 105, 159, 80, 5, 86, 97, 124, 192, 110, 108, 84, 192, 29, 137, 67, 38, 191, 0, 171, 89, 45, 105, 28, 118, 164, 128, 153, 114, 255, 222, 81, 12, 77, 176, 39, 60, 179, 14, 177, 83, 86, 240, 24, 107, 129, 44, 37, 32, 28, 192, 62, 182, 228, 235, 102, 142, 134, 20, 79, 128, 54, 46, 99, 174, 1, 42, 116, 89, 209, 211, 104, 90, 231, 27, 2, 215, 101, 186, 175, 252, 82, 118, 120, 107, 129, 116, 214, 167, 170, 184, 238, 142, 22, 3, 174, 245, 161, 89, 10, 203, 110, 117, 222, 165, 139, 145, 160, 148, 95, 150, 236, 107, 61, 188, 219, 100, 137, 4, 178, 166, 134, 137, 225, 167, 187, 105, 203, 144, 197, 73, 104, 151, 36, 106, 83, 234, 49, 125, 157, 13, 38, 92, 15, 23, 33, 0, 15, 132, 232, 49, 147, 255, 199, 93, 86, 69, 87, 1, 175, 180, 166, 39, 40, 137, 251, 88, 228, 28, 207, 119, 45, 65, 190, 136, 18, 23, 53, 179, 91, 174, 247, 7, 80, 3, 76, 93, 251, 244, 245, 101, 161, 95, 19, 228, 161, 53, 152, 252, 251, 58, 214, 87, 9, 152, 153, 184, 223, 194, 155, 144, 55, 82, 166, 167, 12, 137, 245, 221, 51, 183, 102, 195, 94, 15, 124, 102]; }