Permalink
Browse files

fix bug with padding of 64-bit SHA variants

The SHA512/384 spec says that the final bit length of the message is to
be stored as a 128-bit (!) integer at the end of the message.  We don't
really expect anybody to be digesting 2^61+1 bytes of data, but we do
need to make sure we pad the message correctly for the length.
Fortunately, NIST's byte-level test vectors for SHA512/384 include tests
for just the cases that we were missing; add those tests and go ahead
and include their short byte-level tests for other SHA variants for
completeness's sake.

Fixes #51.
  • Loading branch information...
froydnj committed Apr 3, 2015
1 parent 5591ad7 commit 83975c965392ae3ed940736c9f0f4921af4116ad
View
@@ -185,7 +185,7 @@
(type (simple-array (unsigned-byte 64) (80)) block)
(type (simple-array (unsigned-byte 8) (128)) buffer))
(setf (aref buffer buffer-index) #x80)
(when (> buffer-index 119)
(when (> buffer-index 111)
(loop for index of-type (integer 0 128)
from (1+ buffer-index) below 128
do (setf (aref buffer index) #x00))
@@ -195,7 +195,7 @@
(loop for index of-type (integer 0 16)
from 0 below 16
do (setf (aref block index) #x00000000)))
(when (<= buffer-index 119)
(when (<= buffer-index 111)
(loop for index of-type (integer 0 128)
from (1+ buffer-index) below 128
do (setf (aref buffer index) #x00))
@@ -524,3 +524,71 @@
(:digest-bit-test 63 #x04 0 #h"68B9EB81C30694D4A3EE926C53A08F8B76B099E5")
(:digest-bit-test 63 #x02 0 #h"D229D9D61E24B80CB32373BB3362A3BDC7DCCE73")
(:digest-bit-test 63 #x01 0 #h"AAE81062811EDFD2AF3081941D667FB7033DCE80")
;;; byte-level tests from NIST's Cryptographic Algorithm Validation Program (http://csrc.nist.gov/groups/STM/cavp/index.html)
(:digest-test #h"36" #h"c1dfd96eea8cc2b62785275bca38ac261256e278")
(:digest-test #h"195a" #h"0a1c2d555bbe431ad6288af5a54f93e0449c9232")
(:digest-test #h"df4bd2" #h"bf36ed5d74727dfd5d7854ec6b1d49468d8ee8aa")
(:digest-test #h"549e959e" #h"b78bae6d14338ffccfd5d5b5674a275f6ef9c717")
(:digest-test #h"f7fb1be205" #h"60b7d5bb560a1acf6fa45721bd0abb419a841a89")
(:digest-test #h"c0e5abeaea63" #h"a6d338459780c08363090fd8fc7d28dc80e8e01f")
(:digest-test #h"63bfc1ed7f78ab" #h"860328d80509500c1783169ebf0ba0c4b94da5e5")
(:digest-test #h"7e3d7b3eada98866" #h"24a2c34b976305277ce58c2f42d5092031572520")
(:digest-test #h"9e61e55d9ed37b1c20" #h"411ccee1f6e3677df12698411eb09d3ff580af97")
(:digest-test #h"9777cf90dd7c7e863506" #h"05c915b5ed4e4c4afffc202961f3174371e90b5c")
(:digest-test #h"4eb08c9e683c94bea00dfa" #h"af320b42d7785ca6c8dd220463be23a2d2cb5afc")
(:digest-test #h"0938f2e2ebb64f8af8bbfc91" #h"9f4e66b6ceea40dcf4b9166c28f1c88474141da9")
(:digest-test #h"74c9996d14e87d3e6cbea7029d" #h"e6c4363c0852951991057f40de27ec0890466f01")
(:digest-test #h"51dca5c0f8e5d49596f32d3eb874" #h"046a7b396c01379a684a894558779b07d8c7da20")
(:digest-test #h"3a36ea49684820a2adc7fc4175ba78" #h"d58a262ee7b6577c07228e71ae9b3e04c8abcda9")
(:digest-test #h"3552694cdf663fd94b224747ac406aaf" #h"a150de927454202d94e656de4c7c0ca691de955d")
(:digest-test #h"f216a1cbde2446b1edf41e93481d33e2ed" #h"35a4b39fef560e7ea61246676e1b7e13d587be30")
(:digest-test #h"a3cf714bf112647e727e8cfd46499acd35a6" #h"7ce69b1acdce52ea7dbd382531fa1a83df13cae7")
(:digest-test #h"148de640f3c11591a6f8c5c48632c5fb79d3b7" #h"b47be2c64124fa9a124a887af9551a74354ca411")
(:digest-test #h"63a3cc83fd1ec1b6680e9974a0514e1a9ecebb6a" #h"8bb8c0d815a9c68a1d2910f39d942603d807fbcc")
(:digest-test #h"875a90909a8afc92fb7070047e9d081ec92f3d08b8" #h"b486f87fb833ebf0328393128646a6f6e660fcb1")
(:digest-test #h"444b25f9c9259dc217772cc4478c44b6feff62353673" #h"76159368f99dece30aadcfb9b7b41dab33688858")
(:digest-test #h"487351c8a5f440e4d03386483d5fe7bb669d41adcbfdb7" #h"dbc1cb575ce6aeb9dc4ebf0f843ba8aeb1451e89")
(:digest-test #h"46b061ef132b87f6d3b0ee2462f67d910977da20aed13705" #h"d7a98289679005eb930ab75efd8f650f991ee952")
(:digest-test #h"3842b6137bb9d27f3ca5bafe5bbb62858344fe4ba5c41589a5" #h"fda26fa9b4874ab701ed0bb64d134f89b9c4cc50")
(:digest-test #h"44d91d3d465a4111462ba0c7ec223da6735f4f5200453cf132c3" #h"c2ff7ccde143c8f0601f6974b1903eb8d5741b6e")
(:digest-test #h"cce73f2eabcb52f785d5a6df63c0a105f34a91ca237fe534ee399d" #h"643c9dc20a929608f6caa9709d843ca6fa7a76f4")
(:digest-test #h"664e6e7946839203037a65a12174b244de8cbc6ec3f578967a84f9ce" #h"509ef787343d5b5a269229b961b96241864a3d74")
(:digest-test #h"9597f714b2e45e3399a7f02aec44921bd78be0fefee0c5e9b499488f6e" #h"b61ce538f1a1e6c90432b233d7af5b6524ebfbe3")
(:digest-test #h"75c5ad1f3cbd22e8a95fc3b089526788fb4ebceed3e7d4443da6e081a35e" #h"5b7b94076b2fc20d6adb82479e6b28d07c902b75")
(:digest-test #h"dd245bffe6a638806667768360a95d0574e1a0bd0d18329fdb915ca484ac0d" #h"6066db99fc358952cf7fb0ec4d89cb0158ed91d7")
(:digest-test #h"0321794b739418c24e7c2e565274791c4be749752ad234ed56cb0a6347430c6b" #h"b89962c94d60f6a332fd60f6f07d4f032a586b76")
(:digest-test #h"4c3dcf95c2f0b5258c651fcd1d51bd10425d6203067d0748d37d1340d9ddda7db3" #h"17bda899c13d35413d2546212bcd8a93ceb0657b")
(:digest-test #h"b8d12582d25b45290a6e1bb95da429befcfdbf5b4dd41cdf3311d6988fa17cec0723" #h"badcdd53fdc144b8bf2cc1e64d10f676eebe66ed")
(:digest-test #h"6fda97527a662552be15efaeba32a3aea4ed449abb5c1ed8d9bfff544708a425d69b72" #h"01b4646180f1f6d2e06bbe22c20e50030322673a")
(:digest-test #h"09fa2792acbb2417e8ed269041cc03c77006466e6e7ae002cf3f1af551e8ce0bb506d705" #h"10016dc3a2719f9034ffcc689426d28292c42fc9")
(:digest-test #h"5efa2987da0baf0a54d8d728792bcfa707a15798dc66743754406914d1cfe3709b1374eaeb" #h"9f42fa2bce6ef021d93c6b2d902273797e426535")
(:digest-test #h"2836de99c0f641cd55e89f5af76638947b8227377ef88bfba662e5682babc1ec96c6992bc9a0" #h"cdf48bacbff6f6152515323f9b43a286e0cb8113")
(:digest-test #h"42143a2b9e1d0b354df3264d08f7b602f54aad922a3d63006d097f683dc11b90178423bff2f7fe" #h"b88fb75274b9b0fd57c0045988cfcef6c3ce6554")
(:digest-test #h"eb60c28ad8aeda807d69ebc87552024ad8aca68204f1bcd29dc5a81dd228b591e2efb7c4df75ef03" #h"c06d3a6a12d9e8db62e8cff40ca23820d61d8aa7")
(:digest-test #h"7de4ba85ec54747cdc42b1f23546b7e490e31280f066e52fac117fd3b0792e4de62d5843ee98c72015" #h"6e40f9e83a4be93874bc97cdebb8da6889ae2c7a")
(:digest-test #h"e70653637bc5e388ccd8dc44e5eace36f7398f2bac993042b9bc2f4fb3b0ee7e23a96439dc01134b8c7d" #h"3efc940c312ef0dfd4e1143812248db89542f6a5")
(:digest-test #h"dd37bc9f0b3a4788f9b54966f252174c8ce487cbe59c53c22b81bf77621a7ce7616dcb5b1e2ee63c2c309b" #h"a0cf03f7badd0c3c3c4ea3717f5a4fb7e67b2e56")
(:digest-test #h"5f485c637ae30b1e30497f0fb7ec364e13c906e2813daa34161b7ac4a4fd7a1bddd79601bbd22cef1f57cbc7" #h"a544e06f1a07ceb175a51d6d9c0111b3e15e9859")
(:digest-test #h"f6c237fb3cfe95ec8414cc16d203b4874e644cc9a543465cad2dc563488a659e8a2e7c981e2a9f22e5e868ffe1" #h"199d986ed991b99a071f450c6b1121a727e8c735")
(:digest-test #h"da7ab3291553c659873c95913768953c6e526d3a26590898c0ade89ff56fbd110f1436af590b17fed49f8c4b2b1e" #h"33bac6104b0ad6128d091b5d5e2999099c9f05de")
(:digest-test #h"8cfa5fd56ee239ca47737591cba103e41a18acf8e8d257b0dbe8851134a81ff6b2e97104b39b76e19da256a17ce52d" #h"76d7db6e18c1f4ae225ce8ccc93c8f9a0dfeb969")
(:digest-test #h"57e89659d878f360af6de45a9a5e372ef40c384988e82640a3d5e4b76d2ef181780b9a099ac06ef0f8a7f3f764209720" #h"f652f3b1549f16710c7402895911e2b86a9b2aee")
(:digest-test #h"b91e64235dbd234eea2ae14a92a173ebe835347239cff8b02074416f55c6b60dc6ced06ae9f8d705505f0d617e4b29aef9" #h"63faebb807f32be708cf00fc35519991dc4e7f68")
(:digest-test #h"e42a67362a581e8cf3d847502215755d7ad425ca030c4360b0f7ef513e6980265f61c9fa18dd9ce668f38dbc2a1ef8f83cd6" #h"0e6730bc4a0e9322ea205f4edfff1fffda26af0a")
(:digest-test #h"634db92c22010e1cbf1e1623923180406c515272209a8acc42de05cc2e96a1e94c1f9f6b93234b7f4c55de8b1961a3bf352259" #h"b61a3a6f42e8e6604b93196c43c9e84d5359e6fe")
(:digest-test #h"cc6ca3a8cb391cd8a5aff1faa7b3ffbdd21a5a3ce66cfaddbfe8b179e4c860be5ec66bd2c6de6a39a25622f9f2fcb3fc05af12b5" #h"32d979ca1b3ed0ed8c890d99ec6dd85e6c16abf4")
(:digest-test #h"7c0e6a0d35f8ac854c7245ebc73693731bbbc3e6fab644466de27bb522fcb99307126ae718fe8f00742e6e5cb7a687c88447cbc961" #h"6f18190bd2d02fc93bce64756575cea36d08b1c3")
(:digest-test #h"c5581d40b331e24003901bd6bf244aca9e9601b9d81252bb38048642731f1146b8a4c69f88e148b2c8f8c14f15e1d6da57b2daa9991e" #h"68f525feea1d8dbe0117e417ca46708d18d7629a")
(:digest-test #h"ec6b4a88713df27c0f2d02e738b69db43abda3921317259c864c1c386e9a5a3f533dc05f3beeb2bec2aac8e06db4c6cb3cddcf697e03d5" #h"a7272e2308622ff7a339460adc61efd0ea8dabdc")
(:digest-test #h"0321736beba578e90abc1a90aa56157d871618f6de0d764cc8c91e06c68ecd3b9de3824064503384db67beb7fe012232dacaef93a000fba7" #h"aef843b86916c16f66c84d83a6005d23fd005c9e")
(:digest-test #h"d0a249a97b5f1486721a50d4c4ab3f5d674a0e29925d5bf2678ef6d8d521e456bd84aa755328c83fc890837726a8e7877b570dba39579aabdd" #h"be2cd6f380969be59cde2dff5e848a44e7880bd6")
(:digest-test #h"c32138531118f08c7dcc292428ad20b45ab27d9517a18445f38b8f0c2795bcdfe3ffe384e65ecbf74d2c9d0da88398575326074904c1709ba072" #h"e5eb4543deee8f6a5287845af8b593a95a9749a1")
(:digest-test #h"b0f4cfb939ea785eabb7e7ca7c476cdd9b227f015d905368ba00ae96b9aaf720297491b3921267576b72c8f58d577617e844f9f0759b399c6b064c" #h"534c850448dd486787b62bdec2d4a0b140a1b170")
(:digest-test #h"bd02e51b0cf2c2b8d204a026b41a66fbfc2ac37ee9411fc449c8d1194a0792a28ee731407dfc89b6dfc2b10faa27723a184afef8fd83def858a32d3f" #h"6fbfa6e4edce4cc85a845bf0d228dc39acefc2fa")
(:digest-test #h"e33146b83e4bb671392218da9a77f8d9f5974147182fb95ba662cb66011989c16d9af104735d6f79841aa4d1df276615b50108df8a29dbc9de31f4260d" #h"018872691d9b04e8220e09187df5bc5fa6257cd9")
(:digest-test #h"411c13c75073c1e2d4b1ecf13139ba9656cd35c14201f1c7c6f0eeb58d2dbfe35bfdeccc92c3961cfabb590bc1eb77eac15732fb0275798680e0c7292e50" #h"d98d512a35572f8bd20de62e9510cc21145c5bf4")
(:digest-test #h"f2c76ef617fa2bfc8a4d6bcbb15fe88436fdc2165d3074629579079d4d5b86f5081ab177b4c3f530376c9c924cbd421a8daf8830d0940c4fb7589865830699" #h"9f3ea255f6af95c5454e55d7354cabb45352ea0b")
(:digest-test #h"45927e32ddf801caf35e18e7b5078b7f5435278212ec6bb99df884f49b327c6486feae46ba187dc1cc9145121e1492e6b06e9007394dc33b7748f86ac3207cfe" #h"a70cfbfe7563dd0e665c7c6715a96a8d756950c0")
@@ -5,3 +5,71 @@
(:digest-test #a"message digest" #h"2cb21c83ae2f004de7e81c3c7019cbcb65b71ab656b22d6d0c39b8eb")
(:digest-test #a"abcdefghijklmnopqrstuvwxyz" #h"45a5f72c39c5cff2522eb3429799e49e5f44b356ef926bcf390dccc2")
(:digest-test #a"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" #h"75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525")
;;; byte-level tests from NIST's Cryptographic Algorithm Validation Program (http://csrc.nist.gov/groups/STM/cavp/index.html)
(:digest-test #h"84" #h"3cd36921df5d6963e73739cf4d20211e2d8877c19cff087ade9d0e3a")
(:digest-test #h"5c7b" #h"daff9bce685eb831f97fc1225b03c275a6c112e2d6e76f5faf7a36e6")
(:digest-test #h"51ca3d" #h"2c8959023515476e38388abb43599a29876b4b33d56adc06032de3a2")
(:digest-test #h"6084347e" #h"ae57c0a6d49739ba338adfa53bdae063e5c09122b77604780a8eeaa3")
(:digest-test #h"493e14623c" #h"7f631f295e024e74552083245ca8f988a3fb65680ae97c3040d2e65c")
(:digest-test #h"d729d8cd1631" #h"342e8e6b23c1c6a54910631f098e08e836259c57e49c1b1d023d166d")
(:digest-test #h"cbf2061e10faa5" #h"3aa702b1b66dc57d7aec3ccdbdfbd88592d7520f843ba5d0fa481168")
(:digest-test #h"5f77b3664823c33e" #h"bdf21ff325f754157ccf417f4855360a72e8fd117d28c8fe7da3ea38")
(:digest-test #h"10713b894de4a734c0" #h"03842600c86f5cd60c3a2147a067cb962a05303c3488b05cb45327bd")
(:digest-test #h"006470d57dad9893dc03" #h"c90026cda5ad24115059c62ae9add57793ade445d4742273288bbce7")
(:digest-test #h"6f29ca274190400720bba2" #h"ac53157947aa4b2a19089182382a4363d182dd8e4ca79cd8571390be")
(:digest-test #h"17e8556176fcca2addbdde29" #h"cc6ad0488db0222066f740557b5758a19b30372b302332295d8c3aff")
(:digest-test #h"dbf163601db9a122a4026824de" #h"9849845f4e47e1ece9a1c1e01a0d896ffea61c6c8894a75a11ce5f49")
(:digest-test #h"5e1ef2ad86ceaf5439fe87d2ec9b" #h"223c5d5d4a0116b32cea044f9af0fe44babea1c5ab201502591bcd5f")
(:digest-test #h"65f3b9866fb8002b53cfaf806f702f" #h"b1e0806a218d593821fde8e9eacc44ab5287c32209a94f011ab66b75")
(:digest-test #h"b776708ffb91b3515ac46598ab9fa796" #h"427311b1d7ab2488791c4deeb4251d783fe5f9806bfdfb5188c5443d")
(:digest-test #h"a4bc10b1a62c96d459fbaf3a5aa3face73" #h"d7e6634723ac25cb1879bdb1508da05313530419013fe255967a39e1")
(:digest-test #h"9e8f3c6645c1749b55c50d2018ce40dc2427" #h"2f5a583bf588c8988a572d128a95bea5ef1b66780a7d4be9c29efc31")
(:digest-test #h"2db6d207c0b7d9117f24d78ee59abf2f316978" #h"35681fce28307cae19522c23cbd4a77969347f7d8ee4a3088ba90ada")
(:digest-test #h"3df5e7f399f6dd61a12a9d4e9464fc4997c1f37b" #h"a3e68076e30751085a843a6cbfbf0f3dee63d9c4219c914372e50b28")
(:digest-test #h"65781d018f27ca0c72a9fa9ab4648ed369646dd3ce" #h"d15ef0d872d02da6427b8d0349dea2f204e67133b7365b4b150efc3c")
(:digest-test #h"af48eeddd93fee69d1bd7de428a63986011d10945eaf" #h"b89d428ee42e397cf11029ecbb27baddd036c8938f51c8ab56b875ac")
(:digest-test #h"df2bf0d5f9c994ac69d78baa0d512eceb74d8a047531c1" #h"db8e1ce68c8c6b84d6db755c2b8bf54f3c4b081a881efcddaf303294")
(:digest-test #h"48d2f20955ea2d13433c20bc0404eb2e6ad79ed28f7cb4c0" #h"3617cc3179f8b59adce181eebeed5e2763f62650949224a67e53694b")
(:digest-test #h"218f74a42d3a47ef3b806601fba024b078cbff4e4b85772e0e" #h"b5f40b95dcc363b97e9d00b67c5d7c37f17ab563297d2d67a4df20c9")
(:digest-test #h"ef55b1e797000b04fcdb9b3021b09327e3b4e269d20cabdf418f" #h"827b223d51240c2e3271c534c19c5637b6fe10083e85bcf06761ef21")
(:digest-test #h"96df4387dc2c40297043bea36483f65e4eb1e07e93359cb7e68610" #h"98e430a63fcdedafc9419010f7f59a4d816a45b4f973beb62530ff8c")
(:digest-test #h"3ec0aa8d30d5ed825b77dc7095f421b1e608158797a377ff8bed641b" #h"3108321eb7ff857f6aae69101b937f32a51ea279a6c14ba5232ac8c1")
(:digest-test #h"8b0239712039f077ce323b35f4e306787b9b35270096e57735cff45d84" #h"a5c740d3ce46bb2e0a048488f2b0605c6d0ca0ea2f382d043d13db97")
(:digest-test #h"044be30167a9758c46c727921dc4eb4e0dcb965623423e6fdd44e7a4ea52" #h"6eb78313c743ea8769d8340f284dda6ded64a1db64392f21abb82c5c")
(:digest-test #h"57f6118bacce47ecc31ce8b0c083d3c9219e0dbe9e4fbea154537c41231acc" #h"0dbb53c866d63af44c222c76c825df0e379dcedfb958db03b6fd29a5")
(:digest-test #h"fe1f0fb02c9011f4c8c5905934ed15136771737ce31c5859e67f235fe594f5f6" #h"bbeaacc632c2a3db2a9b47f157ab54aa27776c6e74cf0bcaa91b06d5")
(:digest-test #h"14fb01ae9d6015ecb3e56d6ecdfa4bc0533186adf8457f5e4a5c57c687895f3db3" #h"178272c7d7cc71b15074c27e3b7997d4a3ba99626986a1a16cf30030")
(:digest-test #h"ff6c49712f044f4063c14125c0cdfba18ed8b7138453768a45dfa2d82a05f1e84227" #h"403284c888a7280bc8bfc25f0c34182cd378306a21a1404d4e1c40cf")
(:digest-test #h"f900bd7e0117247f97c8fc7a665c76a35f571c3366571d6c4a3ee5d7fb93f1d1f726e2" #h"48235b9820d66d8885faabf6a9ede63ba2a21b6177e987a33242373e")
(:digest-test #h"42d38188ac49440cfefb77db975e083e6b22348c4c67f0f8692e88ad140d861dc828d595" #h"615344f890e5bcf71b5efe39de1fc942ba1fe30dd9e9146adb6a41bf")
(:digest-test #h"74fdd7d958b8ae7c2c3c5cff4266dfb2b3b842c9f59ecbbcaff575edcbcda08ccd6e08b764" #h"66d7d6c54fc7775a0ba845ba3e11719fa535b9289f20b098c5f7a342")
(:digest-test #h"934416dd0581e22f2bfbece7bb64afe820451fa21342df7e6f9fb37c4103381a1f7cd379bcc4" #h"fae8f1aa22def4dbaa814c5b0babdec43394951792c937050d2963a6")
(:digest-test #h"102401c84a716ae72579c6ae79c359ea309ffd95abffae4c61884c03c9e99df77b6c92e492cacb" #h"8f34812d57a16ef8a51ad987660c5f8623e0fa9d89846e28d46d14d9")
(:digest-test #h"79bc8fb60f85d15a2386566e3e7314df284533085add1c7bb6ead3ff760c86d5633a66404761b544" #h"65c54014cfa30f0bc27d1c6efa96ae8481f4c2505bff272956eab0df")
(:digest-test #h"db3121ea71294983b185207a9d8de3e484a66c0431bf07c962eb82977c4f834b7c3f1e7931a4a7f7a9" #h"9316d2f021c2913d63a7e66924c87c161c3cfde0ea7ba07f54772862")
(:digest-test #h"0dd51aa660c5cb4b7f78c46852c1db8707ab451c1367b6187388c8bb3873a1aa4210d0414cc6792a29a7" #h"31989e7a62a5132a5070d77250d8904bb82d457dc63469d06b50185e")
(:digest-test #h"487fd2e5b694b7071d3789a258a51e8604dc0d3e8f5d62f39131968e602abe1ddf6b0278962a512408b553" #h"e798683438284626d710877d9eea3a0e02f349fc43acb7f9f8f9e81c")
(:digest-test #h"11183bdebfef58e4da5b1cb73be0d30b20da304d8659d921da2e270fd14626799537e4d12119e809ee97004a" #h"96870657d6cb668be3995aa8bd31df77840d1d1915d72482e83b6b2c")
(:digest-test #h"a239de5c8e2644e8f030d94d98f1a30664e6fd961dc2977a9c08be5c31d8de89450945a53d79299ea2a1edde7f" #h"e99743d4fd26c8800c36a67b6762247c29da6b62794123c59de06dc0")
(:digest-test #h"917c4577aa6b0f9df49999fc1c958cb09b7fd5fc80be949670f03545eb27dcaed052076b24f96f5e0f2e2f4527c0" #h"7ecd693d4d9cf43929464698efa0bac33c2e1424f816edc769260978")
(:digest-test #h"c3f1e735a6741aa481ad577a98dbac1f03cc80ea0dae1b94db2369ed4e93facd29c64e4e77b25038279120bdfa3715" #h"86f0d89d8e14fd8b6606412d71a7a54a347b304ea5d49c208f2266ab")
(:digest-test #h"de4fbfd553cdf37019f25afa82dc6b9970f4bb1ebbc37f80d3084c88a70722cdc523a9e3c2afbad0dc0221bfdec9a2f9" #h"4c5262acb4a2a44eaa9bc6757024fb202ef4d5a7a16fa37252a422b5")
(:digest-test #h"db2e2eb636610cf42e9b33433acce1b3b925949f297dd83199f45d2861d64cd910c2db74a60b2089045e22cba0a536137d" #h"16bf4e45bcdc60447c68dcb30e6b08f55ce9f4124a29cf1f9a9d065d")
(:digest-test #h"a8e729d336d5d6ac50e1e22f0b193b66e26042fc6459214129875e740ab2b142918c138aaf941863ad3b7e6065450613b273" #h"452bf2e5ebfc4e451cc434bc09e2a10032eed0b7627cf55e7e5ed0e2")
(:digest-test #h"d05317d4b535f9d10f739d0c2dedf3ffb090c1ad9d205089b1346693f58273c4925c0face57ba45ad6fc687c66a88fc78878be" #h"4f03c439e097b51b00e314f675937c4d911505859fb7ab16adc65e44")
(:digest-test #h"26bb4ed4f0424c60fe4212ff8c955e89e2f553a7d7701be59416d2089af59fa1074724e214e919b1e30f33fb78374b4b055bbc9b" #h"e7c899e27009d4dc77c2d300f191b757e52c9e7eac4b023bfab2b52a")
(:digest-test #h"f015ec83944f03292463c4345fdb1c26d1ea07645facbc9520ae244b6eb191e53dabadb4ac0fb15cda4ed77dfb9e1193abfafb1b81" #h"459e40b3fbd612912f0217c60099379ce077cd02505871b0c9c14e7a")
(:digest-test #h"0786706f680c27b792d054faa63f499a8e6b5ddb90502946235bf74c022d772c809cb4171bfa4791539aca1abd91900e53ba93ca0efd" #h"fadebab7c3d0fb8e97e429b79083087735e4ab385a789521260ef3ad")
(:digest-test #h"445e8698eeb8accbaac4ffa7d934fffd16014a430ef70f3a9174c6cfe96d1e3f6ab1377f4a7212dbb30146dd17d9f470c4dffc45b8e871" #h"4c7ae028c0fe61f2a9cada61fae30685b77f04c6442576e912af9fa6")
(:digest-test #h"52839f2f0853a30df14ec897a1914c685c1ac21470d00654c8c37663bfb65fa732dbb694d9dd09ced723b48d8f545846ba168988b61cc724" #h"2f755a57674b49d5c25cb37348f35b6fd2de2552c749f2645ba63d20")
(:digest-test #h"5fe8c2072d8900287ccaf07f3f66b0c22acd3e0bb91d9573754e19e373ac35271d8b43443436ac0c162850ef3d7f281409ad29a9bf716c77d1" #h"42909757f6e229f69f04cc7a863c4e70e48c7c3575057b455c959775")
(:digest-test #h"e8064d83f3d643af8718c87e3ccd6a9733685eac61d572a22ab943f232fcb04f70858e8984449db14a76bb7eaf2458efc3ed2a32100622c52b7f" #h"1a1d8ed54cb45c97bc970754b43eb93d9eabde4c7b07f76ad82d8ede")
(:digest-test #h"87c9a517e28d1bb54ad20fca76460efd894d7786e68ee8d746b2f68208682157c8ad06cc324ad7a3189e09c6c39d4c768719c0a49a41669f2767d5" #h"605977cf87b9b309bbddaaa64e528ace66b04df9f72c0e7ec88be1da")
(:digest-test #h"59fdac3b6b32039291801c7d6f46ede8d26dc5b7a192e007116739b617569f2523680b3c0b6631af453e55805aa760c6970833ac06963bbc9dbd455e" #h"e9f0cb1dc8337e906385892f2348a8ba4412318ecad9b96e3711531f")
(:digest-test #h"30350a4df0b58ff49c0fa09e426fcd7007b290c760c825c1855d9b0023b82caa51e3cab4c60cfa61492be50568e5ac0f6db0fd468e39e4536403e3809f" #h"776cc6636c02408fbf65ace73ae80017108b917c16c5a912fd860241")
(:digest-test #h"ef797a0d43c30b4fe1014bdb9420879c2ff845d27e73d55a7df22930c8ece73253d8bb265b4ef2ff9c69455cc56ff25229b4126bb7bb26ee2c9ff36187b1" #h"f5b9ffb102affac352a4a535a00f89b06c268cf4881d712668906025")
(:digest-test #h"716944de41710c29b659be10480bb25a351a39e577ee30e8f422d57cf62ad95bda39b6e70c61426e33fd84aca84cc7912d5eee45dc34076a5d2323a15c7964" #h"61645ac748db567ac862796b8d06a47afebfa2e1783d5c5f3bcd81e2")
(:digest-test #h"a3310ba064be2e14ad32276e18cd0310c933a6e650c3c754d0243c6c61207865b4b65248f66a08edf6e0832689a9dc3a2e5d2095eeea50bd862bac88c8bd318d" #h"b2a5586d9cbf0baa999157b4af06d88ae08d7c9faab4bc1a96829d65")
Oops, something went wrong.

0 comments on commit 83975c9

Please sign in to comment.