Neuroglancer compressed_segmentation codec.
Project description
Compress Seg
Library for compressing and decompressing image segmentation (adapted from neuroglancer)
import compressed_segmentation as cseg
sx, sy, sz = (128,128,128)
dtype = np.uint64
order = 'C'
labels = np.arange(0, sx*sy*sz, dtype=dtype).reshape((sx,sy,sz), order=order)
compressed = cseg.compress(labels, order=order)
recovered = cseg.decompress(
compressed, (sx,sy,sz) dtype=dtype, order=order
)
arr = CompressedSegmentationArray(
compressed, shape=(sx,sy,sz), dtype=dtype
)
label = arr[54,32,103] # random access to single voxels w/o decompressing
uniq_labels = arr.labels() # get all distinct values w/o decompressing
recovered = arr.numpy() # decompress to a numpy array, same as decompress
124213 in arr # test if a value is in the array
cseg compress connectomics.npy
cseg decompress connectomics.npy.cseg --volume-size 512,512,512 --bytes 4
NOTE: This repository is the PyPI distribution repo but is based on work done by Jeremy Maitin-Shepard (Google), Stephen Plaza (Janelia Research Campus), and William Silversmith (Princeton) here: https://github.com/janelia-flyem/compressedseg
This library contains routined to decompress and compress segmentation and to manipulate compressed segmentation data defined by the neuroglancer project. compressed_segmentation essentially renumbers large bit width labels to smaller ones in chunks. This provides for large reductions in memory usage and higher compression.
Note that limitations in the compressed_segmentation format restrict the size of the chunk that can be compressed. As this limitation is data dependent, for example a random array with 1024 labels passes testing at 256x256x128, but 256x256x256 often does not.
Features
- Compression and decompression
- Random access to voxels without decompression
- Read out unique values without decompression
- Command line interface for numpy files
- (TBD) Interface to relabel and manipulate segmentation from the compressed data
- C++, Python, and Go interface (see original repo for Golang)
C++ Compilation
Compiling as a shared library. Feel free to subsititute e.g. clang for the C++ compiler.
g++ -std=c++11 -O3 -fPIC -shared -I./include src/compress_segmentation.cc src/decompress_segmentation.cc -o compress_segmentation.so
Python Installation
pip
Binary Installation
$ pip install compressed-segmentation
$ python
>>> import compressed_segmentation as cseg
>>> help(cseg)
If there are pre-built binaries available for your architecture this should just work.
pip
Source Installation
If you need to build from source, you will need to have a C++ compiler installed:
$ sudo apt-get install g++ python3-dev
$ pip install numpy
$ pip install compressed-segmentation
$ python
>>> import compressed_segmentation as cseg
>>> help(cseg)
Direct Installation
Requires a C++ compiler such as g++ or clang.
Works with both Python 2 and 3. Encodes from / decodes to 3D or 4D numpy ndarrays.
$ sudo apt-get install g++ python3-dev
$ pip install -r requirements.txt
$ python setup.py install
$ python
>>> import compressed_segmentation as cseg
>>> help(cseg)
License
Please see the licenses in this repo.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for compressed_segmentation-2.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c12aa212f2d911192a63f6ce496dcb8623733b8be4217c45f702b56c4fc2e7b7 |
|
MD5 | 4f44c9f920e3af14de3bdb1193a8e4e0 |
|
BLAKE2b-256 | a18fb350130cd11de903f710c14acb47feb527f523dc8456a1c0265c3ac2fe09 |
Hashes for compressed_segmentation-2.1.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85d08bb603456c0ec767f6925a06f1d0f97c10e480572f306f1b3a538bb80599 |
|
MD5 | 40fe5b10e717d646c3cfb0ef615422ba |
|
BLAKE2b-256 | 00fef05236ec3b02db387f0a8fd3a80fbcc3bbc698f967a4a43b9c4446a9add5 |
Hashes for compressed_segmentation-2.1.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcc0e03b96cef6c8683579ba7ac48abcec6c46ae56eed43b2ddd2ada683cee32 |
|
MD5 | e13829c4160da69282b27c42a10612ac |
|
BLAKE2b-256 | 8f4b6dbeda04f13c714976183f5965ce03afbe5e7281e6393c3f1d377e8ca0e5 |
Hashes for compressed_segmentation-2.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 380d2d29e7b867c056d719b8f3d2704587e66e994778687619ac81a3b6773fa1 |
|
MD5 | 6415faa74f19e09101bbf48f60da4616 |
|
BLAKE2b-256 | e0c0cdc2c8879c4948c40ce33cbf5221cae956139a99e9340061a0c3cdc5a14d |
Hashes for compressed_segmentation-2.1.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bb78ec561210e9445246d1fa8e22c16ecbd6a24717381dbd7adbf1a1ac65448 |
|
MD5 | 5452e0fe8783ab0c157514856d7dd6f1 |
|
BLAKE2b-256 | 32794e32dc58b93d8a77228596d519153333e2096db5f83beaf66cca95a06763 |
Hashes for compressed_segmentation-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12b073c95bb285907584c8aee1b7bfc949693448bba8ea5dea05352232d9eb1a |
|
MD5 | 23c92e6cc41ab0fcb2b5adec863c85c7 |
|
BLAKE2b-256 | a6b2f5e33342939c6243ea78d6d7ae441de09fff13f6984a5007674ff6954105 |
Hashes for compressed_segmentation-2.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00a6644ea3f739747adba38152757bba9aec44c0b27b83d5ac9caf04f39c6322 |
|
MD5 | 06eefc8e338c2db9bce4c9015be66ba3 |
|
BLAKE2b-256 | ea3b634d9b21274200d369a3c2a86be6e2005e3fabe326e1933d3a72b3e51878 |
Hashes for compressed_segmentation-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a946f63abf109e357f9d4dcdd9554ae7ef6c301f9d035ae1ec61d756641a300 |
|
MD5 | c63af7e19c5eb0f70504b166e227f042 |
|
BLAKE2b-256 | f0379f2be7ca11fcec9d365c5386f542217495463126bbbb604c410265095304 |
Hashes for compressed_segmentation-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04794b5332ab0801032f89fa0aabc493b76c325f031ca61a16b6e69b7bbe3c52 |
|
MD5 | 105f9a1575d1bbc69e43bbefc37ebaad |
|
BLAKE2b-256 | d71939e05b83e09baf2a8aca82f9cdd155dacbcfc384a19a358b5741a4b9f9d2 |
Hashes for compressed_segmentation-2.1.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae085a43c3655420699a2b368d4942fb00f29af9bf5e1c2539fa7d3d20c76ae9 |
|
MD5 | 75dba4e9745a63dfe156962596441dd6 |
|
BLAKE2b-256 | 5b43991740da69429d4d9c647761bf2f203910c40a132e99872f9e566c0ab3bf |
Hashes for compressed_segmentation-2.1.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63c756bf3134e2415f6670c38dfc07823b79c7639cffeb675633971259f22ebf |
|
MD5 | 96f127942d6e8806e43103d2a9767900 |
|
BLAKE2b-256 | 68ed7620ba935d1c881dc3c6f9a664b2e2768b93fa467d80c5e6a7f219bfb37b |
Hashes for compressed_segmentation-2.1.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1b6cd07bb124f492e59be1ea64ee870f8c9404cdd477e3621052b4abfe2a491 |
|
MD5 | 90ff148673b79acf2f4d649e5d938b3d |
|
BLAKE2b-256 | 513578f5706f8eaa0efefaba760be1f54e61fd82095c0d69d1399a2910ecfacc |
Hashes for compressed_segmentation-2.1.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bca294527cd5ebc1d098c0111e886124587dfbf9943b118f86398825df7a34c |
|
MD5 | b197401c0312ded00db3206b78b946e8 |
|
BLAKE2b-256 | 3ed03cc4a9627013f9d16cdd57d2b94483deba1a6ae477a48204a76b9ebd129f |
Hashes for compressed_segmentation-2.1.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 662bd8b89f79a4ecbe7a7bcae4542d9a36109635d426aa09b5c53b38c26c01f9 |
|
MD5 | ebddb903ed6d2e4e1343854ef1060fd6 |
|
BLAKE2b-256 | f2025bb1241157902a88f877676c2592a570ef58bf03837252288efaf668f7ce |
Hashes for compressed_segmentation-2.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 277a8876cb7c37631e5c4e9cf3a396eb4880afa64986a0785788bd475a9c999d |
|
MD5 | 3414936bfd2b873b7a6f84fd42c86320 |
|
BLAKE2b-256 | aa0c1709929249ddc54ac1d17c41b8727e7ed614b3047efddefd8c4a0423479b |
Hashes for compressed_segmentation-2.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d842cf5f4f3d4e8e2a893ba9345a41fc728a0ac24e00b684ab4bc072538ecff5 |
|
MD5 | 625ac637e8391f378448ff2372334f3c |
|
BLAKE2b-256 | aa778d5dffbc9a2f68307d767fc92dd75315b56bd0f752270eb2533c46bb5f2a |
Hashes for compressed_segmentation-2.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d6dddb4ea069b77e610b29c0ee068cd18e22830174bbab7d02c0745daf0521f |
|
MD5 | 4206b1b5a93b42b388ea61da90c64f58 |
|
BLAKE2b-256 | 3431676facf70ec17af7b128561c34bf180f9a6138f3c3b6cded9e3cac8b10e0 |
Hashes for compressed_segmentation-2.1.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 473b04db1ed469cd043f5c88a2c3c1bcad18270fe7a066aeb131a408b75fe447 |
|
MD5 | f0fc4f5ee114b57425fed8d57d6fa876 |
|
BLAKE2b-256 | 57bce69f65089c401f1b89d739ccb55a3745e961ed3b1b9797172d8652f10288 |
Hashes for compressed_segmentation-2.1.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 381493f3ccadbda1bf01b17182ea987e85422245994635e38bedbfae7d1621cc |
|
MD5 | 81ce9257f2dd1ffdcccb4bc50e17a016 |
|
BLAKE2b-256 | a4fbdf86e880044657482ec7ee6dec232cba4f0d90efd75d2c181f664c479f0c |
Hashes for compressed_segmentation-2.1.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc4d859e1e2d5a2eac55b507054fad928ccec04d7bcf8344cee659a297c85e75 |
|
MD5 | 60d4ea5085ff4abe5188795cadfb9dfd |
|
BLAKE2b-256 | b7250d296de12a2b41a1c713325aa67d68db5590f55e8cc5e4a3b2fce817662c |
Hashes for compressed_segmentation-2.1.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0b133d4d60867582e0741a2677a673adb27f52cf460107802accc7b97b2a07e |
|
MD5 | cb6a2671cb49b55cabfb8a35ad615155 |
|
BLAKE2b-256 | ff269a1050643795cccb7bf062bee88ed0243eafda1ace77ffd4f2683dde63fc |
Hashes for compressed_segmentation-2.1.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ff12648befb1f5845a4dbe96fe3a9c62200df06c4a1ddf702940559349fe416 |
|
MD5 | dd86e6f1c58b08e2d163558080288f5c |
|
BLAKE2b-256 | bf157621dd828aaf263fe9b31e9d9c5df9fc53a3672e746d9cb063cce50d1e9b |
Hashes for compressed_segmentation-2.1.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12e9b9cc96bd9938612af142a225d7b2facbe815501bdbfeb5525935bc7a1725 |
|
MD5 | 7a07bf3974789dd213b8d4b454a6fd04 |
|
BLAKE2b-256 | 2467801d6745e1b330c522c89f9e430f173903e944559c511d2806356a49e214 |
Hashes for compressed_segmentation-2.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c733c7ed1fb86ac2dc311e601f228e63e832bb24f8eb971b437bd720aa5913ee |
|
MD5 | 40abd67326f726daa5b12548997ba14d |
|
BLAKE2b-256 | 0ac7c4b63d655d73f27ae19e286a725fdb77de10cbf0860e40c70837f11c5b96 |
Hashes for compressed_segmentation-2.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcb8525fdc0c2637fa9a1843b32e969a5ac24818236326e1598d4a7614ef8825 |
|
MD5 | eb3a6f5cc7e23d655de4fd12d860b75e |
|
BLAKE2b-256 | 424acdd941c2689a45e37347fca532a8f66d8c207766c3a53cff0408c7a2ce17 |
Hashes for compressed_segmentation-2.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 315bad132c4a299f74258d1079058b1673291cb0338932e960fc58f0165d0fd7 |
|
MD5 | d6b19109b9d80d496aae37c5296017dd |
|
BLAKE2b-256 | fa5374369bc5d8b1440a2404a4ce6e2e4932a057e53e893275954df7c7b07616 |
Hashes for compressed_segmentation-2.1.0-cp38-cp38-macosx_11_0_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42f475837d3f0e167586af3baeac892c4361260342b08fed5f32dcee37c56db4 |
|
MD5 | 8c2c6c5963b33d188a1c875f6fd11fa1 |
|
BLAKE2b-256 | e517a0c3d23e52bff69240ec49baafc6ce9cd8bc8b1093918430468e4fd79b08 |
Hashes for compressed_segmentation-2.1.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a7f9ee90b55212ca8d655feefdb270b73fc3eda10f6a32d6c986fedd1478a5e |
|
MD5 | e63179c7c45944fc1404d4b72e97282c |
|
BLAKE2b-256 | e9f1dbe5160a40b66edbe36938b3c8b95bd54021332cc693a2901a7b728a8ff9 |
Hashes for compressed_segmentation-2.1.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0410ad9279d39575239d59d6888ce53f3d66ef64e68ad5869ffd44ca9643130 |
|
MD5 | 6d4d3a321d8d6438129f2786241fd142 |
|
BLAKE2b-256 | 093adcf3d55fbd872eddc068c45c2cc16347e857daa9ba13d0f30f7034a85d6c |
Hashes for compressed_segmentation-2.1.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cad592e190bc552c870ccec8e21ae7657aa0cf0c8d541f9648d24fed53bb948 |
|
MD5 | d26e51c605ba6362918dce6e929db647 |
|
BLAKE2b-256 | 487013a2a506ca728ef8bed37c7c3495a8523def438420ed93e1a07a50ff7754 |
Hashes for compressed_segmentation-2.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae019856e8bf49731e553455f05994b77bf37dae55fdffbf2e8f3b724aa0e092 |
|
MD5 | c1f28de49be3bb1a606274faf720e35b |
|
BLAKE2b-256 | 3864f5da5ea2fe3a9e348866909616783b71d977c06894e5a559c1819affc854 |
Hashes for compressed_segmentation-2.1.0-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dc5a44e6a1b62497f28a6ec24bd11f5a666d95ac35f60865bdbcbbac39bf910 |
|
MD5 | c16e173791cf08031658dcaa8d57a0b5 |
|
BLAKE2b-256 | 508d142e04d1dbc11631155d799964d809b34eb3d512841c997fb9d2b3dce129 |
Hashes for compressed_segmentation-2.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | febddc88f1e9683103595d840fd8de6938de91c091bfdf5159d69365e8b1322d |
|
MD5 | bcbe8cc4cc17d011865bbbb851c885ce |
|
BLAKE2b-256 | 210f34934d52e56bd8198e71219de99bb4989cca1755a1d194e67c6f2c887632 |
Hashes for compressed_segmentation-2.1.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d409c1673a0151ef98758be3b88a988d86679f119e6b360a50b9cf09aa409dc |
|
MD5 | 2edbe6f3da990701504bf91342157d3f |
|
BLAKE2b-256 | 1e36044281cb5a7b2736a03f129ad3c02b95feb77dd5fddae8fcfc6e6a50e105 |
Hashes for compressed_segmentation-2.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1fc41ec7d80ef9dca6f387c251de5a73b3c27981a16f00b4f5c3397d0ab3fe7 |
|
MD5 | 5059e5d375d6b08cf8ad32ec945eb716 |
|
BLAKE2b-256 | 62775ac942ae5cff17d260446639b62551b41ebdca3caaacdd186ce864fa490d |
Hashes for compressed_segmentation-2.1.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd1191d25311d37e2caf366b06b3a9e58da225235740006510318afe7be3f8dd |
|
MD5 | 90b78cf981884c86789349b280fc2130 |
|
BLAKE2b-256 | ad412799b76fe636ab76da720d466ffffc13127d779b408acbf0b867361d7c6f |
Hashes for compressed_segmentation-2.1.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29dde2e45423cd32e6761614d91b14230198e501e56c075b41c252c77b7c9dea |
|
MD5 | cfb6d76475ee2478903fd303ff82f6fc |
|
BLAKE2b-256 | bb5d66c86da5a8d33e22f967971aa937e7314c859bf5c495d47d9900e98fe0e6 |
Hashes for compressed_segmentation-2.1.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d880d611fdf6bb40e59d195d08d6163ec794d483fdb879fba538630082f6fc1f |
|
MD5 | 801f2073d7ae9911e279e8d23cf48776 |
|
BLAKE2b-256 | 16ad37aa74f7296d67d182161aa2767563030e9d70e2c6473bef23c77ac5bd46 |
Hashes for compressed_segmentation-2.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0196344063ad7fa8510312b6290df42e34dffb79d12b27aed3dabce40512184 |
|
MD5 | 45c65ccf6d02414b1742f5340d8389d4 |
|
BLAKE2b-256 | 723a42cb0667fbadaebadfb75ae26ea8228be9bde1a74510fb3fde513c6f6f22 |
Hashes for compressed_segmentation-2.1.0-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf75adeaf9fb8ff2694562c1b091a609d74517c1c33830d4a502ebf9c7767cf0 |
|
MD5 | 4e6dec1afb4bbec337abd6b0eee6218d |
|
BLAKE2b-256 | 0da3c843397300467aff94b84d8719af574772c5c12d5750dc06e83ba9116760 |
Hashes for compressed_segmentation-2.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5edf93ffef719118aed5a8c5c2f8b4a31c46080c7e1f8d10e70fba28bae9d329 |
|
MD5 | 221dfc99732f979345c76dd0d15b0921 |
|
BLAKE2b-256 | 541db8a822f8e926e7fbcd40a54a79df77a78036ef65591e35f63b9e92385ae9 |
Hashes for compressed_segmentation-2.1.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b16cd1ba12538632371f7cb64375b1c7c2fb5a3f7592c63d631b95986d36617 |
|
MD5 | 76ff628b05dbfa0d1b9d4c726b9b2e38 |
|
BLAKE2b-256 | f7e19cb1d9c8555f3c5cdfe59e7e165e529d5ad8a3f241b3501978b5e92b5650 |
Hashes for compressed_segmentation-2.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e4be55bde5cdf0e12e3bf11af8ffbfd2c90188542f259f492d6b22bfa28b387 |
|
MD5 | d900e0830d39e086ccfa0c11ddbb1099 |
|
BLAKE2b-256 | eba60be3dbd7a64cc2361c11ee8cbdf937be02705c777b72b142372c9f771ed1 |
Hashes for compressed_segmentation-2.1.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e28f1ed231b078ce478c19185adada8fc8fc64f922437270ad19c5006c955469 |
|
MD5 | 9978591c5800dfa1642fa5ae472ef0f5 |
|
BLAKE2b-256 | c3a2c547e3f7c91d134c9bb6b0b7ab45a58c6144cdb3382868765178a31d3acb |