Skip to content

Commit

Permalink
correct bytes to bits
Browse files Browse the repository at this point in the history
  • Loading branch information
mariosge committed Aug 1, 2023
1 parent 657b860 commit 6c1adbe
Show file tree
Hide file tree
Showing 8 changed files with 1,738 additions and 21 deletions.
702 changes: 702 additions & 0 deletions Primitive/Asymmetric/Cipher/Kyber/3.01/PQCkemKAT_1632.rsp

Large diffs are not rendered by default.

20 changes: 20 additions & 0 deletions Primitive/Asymmetric/Cipher/Kyber/3.01/cryptol-specs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#! /bin/sh

# This script sets CRYPTOLPATH to the parent directory cryptol-specs.
#
# Copy this script into $HOME/bin.
#
# Usage example for Kyber:
#
# $ cd cryptol-specs/Primitive/Asymmetric/Cipher/Kyber/3.01
# $ cryptol-specs make test
#
# John Ramsdell -- MITRE -- May 2023

a=$(pwd)
while [ $(basename "$a") != "cryptol-specs" -a $(basename "$a") != "/" ]
do
a=$(dirname "$a")
done

CRYPTOLPATH="$a" "$@"
14 changes: 14 additions & 0 deletions Primitive/Asymmetric/Cipher/Kyber/3.01/kat.awk
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Create a batch file from Kyber known answer tests for decryption
# The input is the *.rsp file.

BEGIN { print ":load kyber512.cry" }

$1 == "count" { print "let count =", $3; print "count:Integer" }

$1 == "sk" { print "let sk =", "0x" $3 }

$1 == "ct" { print "let ct =", "0x" $3 }

$1 == "ss" { print "0x" $3
print "BytesToBits (take`{32} (CDec (groupBy`{8} ct, groupBy`{8} sk)))"
}
14 changes: 14 additions & 0 deletions Primitive/Asymmetric/Cipher/Kyber/3.01/katrev.awk
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Create a batch file from Kyber known answer tests for decryption
# The input is the *.rsp file.

BEGIN { print ":load kyber512.cry" }

$1 == "count" { print "let count =", $3; print "count:Integer" }

$1 == "sk" { print "let sk =", "0x" $3 }

$1 == "ct" { print "let ct =", "0x" $3 }

$1 == "ss" { print "0x" $3
print "BytesToBits (map reverse (take`{32} (CDec (groupBy`{8} ct, groupBy`{8} sk))))"
}
330 changes: 330 additions & 0 deletions Primitive/Asymmetric/Cipher/Kyber/3.01/kyber.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,330 @@
Restored session: Fri May 26 16:26:56 EDT 2023
ramsdell@MM270114-PC 3.01 % pushd ~/tmp/kyber/
ramsdell@MM270114-PC 3.01 % pushd ~/tmp/kyber/
~/tmp/kyber ~/rep/mitre-galois-collaboration/cryptol-specs/Primitive/Asymmetric/Cipher/Kyber/3.01
ramsdell@MM270114-PC kyber % cd KAT/
ramsdell@MM270114-PC kyber % cd KAT/
ramsdell@MM270114-PC KAT % cd kyber512
ramsdell@MM270114-PC KAT % cd kyber512
ramsdell@MM270114-PC kyber512 % dir
dir
total 1352
-rw-r--r--@ 1 ramsdell staff 13590 Oct 21 2020 PQCkemKAT_1632.req
-rw-r--r--@ 1 ramsdell staff 660402 Oct 21 2020 PQCkemKAT_1632.rsp
ramsdell@MM270114-PC kyber512 % awk -f ~/kat.awk PQCkemKAT_1632.rsp > ~/kat.bat
<kat.awk PQCkemKAT_1632.rsp > ~/kat.bat
ramsdell@MM270114-PC kyber512 % popd
ramsdell@MM270114-PC kyber512 % popd
~/rep/mitre-galois-collaboration/cryptol-specs/Primitive/Asymmetric/Cipher/Kyber/3.01
ramsdell@MM270114-PC 3.01 % cryptol-specs cryptol -b ~/kat.bat
cryptol-specs cryptol -b ~/kat.bat
Loading module Cryptol
Loading module Cryptol
Loading module Primitive::Keyless::Hash::utils
Loading module Primitive::Keyless::Hash::keccak
Loading module Primitive::Keyless::Hash::SHAKE::SHAKE128
Loading module Primitive::Keyless::Hash::SHA3::SHA3
Loading module Primitive::Keyless::Hash::SHAKE::SHAKE256
Loading module specification
Loading module kyber512
0
0x0a6925676f24b22c286f4c81a4224cec506c9b257d480e02e3b49f44caa3237f
0x5096a4e6f6244d3414f63281254432370a36d9a4be127040c72df92253c5c4fe
1
0xced6ec70083226b02057b7f47e40943320b3d10dd4ad07efe0f007ec8c06b3af
0x736b370e104c640d04eaed2f7e0229cc04cd8bb02bb5e0f7070fe0373160cdf5
2
0x6f21df33b8398bfa65c9c243214e22d0beb5f0d801e4f9e71d476f8b7e3a9688
0xf684fbcc1d9cd15fa69343c28472440b7dad0f1b80279fe7b8e2f6d17e5c6911
3
0x960b57f0feb34aa25d29a42a94565f697a8133aa1b7407bce017c8bb4a6ecca8
0x69d0ea0f7fcd5245ba942554296afa965e81cc55d82ee03d07e813dd52763315
4
0xdcd0210cc9f2b15b448b7591c54f94deb65ac30c9f2de59109bef5cd4ce34d96
0x3b0b8430934f8dda22d1ae89a3f2297b6d5ac330f9b4a789907dafb332c7b269
5
0xeb0a5a154a1e9a97633929cd64b3c7e61b58ff6eae29c994dcbed1bf2708e99e
0xd7505aa8527859e9c69c94b326cde367d81aff76759493293b7d8bfde4109779
6
0xae285bb95fc5f0ee80e7fc232c952062e5bfb8af0889ea344ab3717ec1a2c6ec
0x7514da9dfaa30f7701e73fc434a90446a7fd1df51091572c52cd8e7e83456337
7
0x74c903fb47ce2b1e24b37136bd96cb5fa2d39681fdedc4b8b0c6e9c7d1d6402c
0x2e93c0dfe273d47824cd8e6cbd69d3fa45cb6981bfb7231d0d6397e38b6b0234
8
0xdf09f5512a04278a474d26b15ebc89f7258a3902895f7282f1aa5141bd45efa4
0xfb90af8a5420e451e2b2648d7a3d91efa4519c4091fa4e418f558a82bda2f725
9
0x07d4fe5265fe82cbaaba139893ac89a4535b4f97f94da29282478f16266f483e
0xe02b7f4aa67f41d3555dc819c9359125cadaf2e99fb2454941e2f16864f6127c
10
0xfd481cd0902efd9a163377000994ad86e154bcb2b6458ae72cc7cafc125db981
0xbf12380b0974bf5968ccee009029b561872a3d4d6da251e734e3533f48ba9d81
11
0xbb711ea4b517003b1b1c893b5a84e52c7e5b85c02703e7e909621a8e3dcfcb6a
0xdd8e7825ade800dcd83891dc5a21a7347edaa103e4c0e79790465871bcf3d356
12
0x3cf9e85c71f1e4965a26d588d3f2ca74d4ddbf2d83dc15033b1566b7672f0bf7
0x3c9f173a8e8f27695a64ab11cb4f532e2bbbfdb4c13ba8c0dca866ede6f4d0ef
13
0x82b4f6cf697d27168ad2a66041f86c6586494c39db2ee32181970ecd82a1cdaf
0x412d6ff396bee468514b6506821f36a66192329cdb74c78481e970b34185b3f5
14
0x0146eef9ba45c59a7915db7431f20308f6b230a5a459540261a5be425c84cb56
0x8062779f5da2a3599ea8db2e8c4fc0106f4d0ca5259a2a4086a57d423a21d36a
15
0xd1446f073de8866970b868a0282c2865682765ced8e3e2adb6d09821f69ec64f
0x8b22f6e0bc1761960e1d1605143414a616e4a6731bc747b56d0b19846f7963f2
16
0xed8f55fba251d1f3090f77823ffb0d91c7028c66cddfc340bf9945d9a56d917a
0xb7f1aadf458a8bcf90f0ee41fcdfb089e3403166b3fbc302fd99a29ba5b6895e
17
0x5451fefaf1146809cc45bbb88dc3726dd4754bdc9b25b31b2f7e1e4d35785ffd
0x2a8a7f5f8f28169033a2dd1db1c34eb62baed23bd9a4cdd8f47e78b2ac1efabf
18
0xec2df494562866bfbce748ae941330435364f6b9aca579b73f00d576fdb9f967
0x37b42f296a1466fd3de7127529c80cc2ca266f9d35a59eedfc00ab6ebf9d9fe6
19
0x6613e6135f8bc9f03a2e1207c85cb568e4fbb7ac5cb525e2c9951b040294d360
0x66c867c8fad1930f5c7448e0133aad1627dfed353aada44793a9d8204029cb06
20
0x54cfe9697319a1d1b34e8e9a80d019ab5f574655763c9e36da4777f0a971bfc1
0x2af39796ce98858bcd727159010b98d5faea62aa6e3c796c5be2ee0f958efd83
21
0x2765ee1de38d074f1086469bf13fe168cfdeb6e609a47d37dc9b8415265d953e
0xe4a677b8c7b1e0f2086162d98ffc8716f37b6d679025beec3bd921a864baa97c
22
0x5323406c537e4300c70220c866666848970d29759983065ec5de317b372cc265
0xcac40236ca7ec200e340041366661612e9b094ae99c1607aa37b8cdeec3443a6
23
0x38f766601ccacb7fc75a27d16dbb585cc3a33d21f39f9a284dc389ce998e85e4
0x1cef66063853d3fee35ae48bb6dd1a3ac3c5bc84cff95914b2c391739971a127
24
0x5b052804906cd6a9c2469f8a813c652d47013e11200f1c894dc1650222a75eeb
0xdaa0142009366b954362f951813ca6b4e2807c8804f03891b283a64044e57ad7
25
0x7dc822f6f29c56ffa58e7adf1d98d179a48a8cf4d4c021479ae02da889225615
0xbe13446f4f396affa5715efbb8198b9e2551312f2b0384e25907b41591446aa8
26
0x7d97af269e4cca8bfd59d6f7602b7d9dd49935f914e64e72e8e4a755daa2bbdb
0xbee9f564793253d1bf9a6bef06d4beb92b99ac9f2867724e1727e5aa5b45dddb
27
0x310980f43e8bf63480d0dc26864a664390977ae920b2596abac62eaecde95db4
0x8c90012f7cd16f2c010b3b64615266c209e95e97044d9a565d637475b397ba2d
28
0x3763c0093e1aa763cee3645ea950cc2e14bd17cfbe5a0c91f1a08e2ae2037ba5
0xecc603907c58e5c673c7267a950a337428bde8f37d5a30898f05715447c0dea5
29
0x88d2d42138ed5b56ba4c57e7edf322147206083b80fa313233ab6b9ae0bc7634
0x114b2b841cb7da6a5d32eae7b7cf44284e6010dc015f8c4cccd5d659073d6e2c
30
0x13fb6a49481d54cf39c2b0303561b262a605b0310d939e6a531f62db01118d06
0xc8df569212b82af39c430d0cac864d4665a00d8cb0c97956caf846db8088b160
31
0x7e68f0d508a62784f2da4957e8dc092c19e523876202121379e03498b6bd6a22
0x7e160fab1065e4214f5b92ea173b903498a7c4e1464048c89e072c196dbd5644
32
0xd26602625ccd72777515c2161999b332022bb25e0f9310312e605597c3d8d4a9
0x4b6640463ab34eeeaea843689899cd4c40d44d7af0c9088c7406aae9c31b2b95
33
0x7880372c71846216f925e718ffe2b65124a09e4b40d636f7908fd26b2e5d7cbd
0x1e01ec348e2146689fa4e718ff476d8a240579d2026b6cef09f14bd674ba3ebd
34
0xcbb85ba073be238cbf61c5a04f0b8ecbbd1ecd19efdc1aa3d55778ef7e9ae537
0xd31dda05ce7dc431fd86a305f2d071d3bd78b398f73b58c5abea1ef77e59a7ec
35
0x98c0fa44e2a053c1a84a984d8e0acdfbe1c17fa07f5f8f0c9290337da969e07c
0x19035f224705ca83155219b27150b3df8783fe05fefaf1304909ccbe9596073e
36
0x48afe1582c88f7e89caea5d594665c0592140f0615715d158b7fa9ae1544c6f5
0x12f5871a3411ef173975a5ab29663aa04928f060a88ebaa8d1fe9575a82263af
37
0xbbc34eb1e6888d28a44ea5eaf8a85490e8a1e79df5ccadc0836d86a0dc86b867
0xddc3728d6711b1142572a5571f152a091785e7b9af33b503c1b661053b611de6
38
0xabde3e45f9ce3c4e18f9e224d77f24cb1661b4aa4850f517b402bb4edc8e50e8
0xd57b7ca29f733c72189f4724ebfe24d368862d55120aafe82d40dd723b710a17
39
0xdab67f76598e58e51bed06884ac65105a9051a2e4dd876671b0ce67fe49ddecb
0x5b6dfe6e9a711aa7d8b7601152638aa095a05874b21b6ee6d83067fe27b97bd3
40
0x23d0479e4b6cc2d32a1f73c2f1657be561482bb0e3f79ca988faff2ee74dd1b6
0xc40be279d23643cb54f8ce438fa6dea78612d40dc7ef3995115fff74e7b28b6d
41
0x13d8358c95077d991ccece97f8c4a33ac938a847eaed64e04fa8484f3d27ed4f
0xc81bac31a9e0be99387373e91f23c55c931c15e257b72607f21512f2bce4b7f2
42
0x9f2292ef064bff3c7c2d576eb668c3adfc7ffcba3635bb871493479250373bbc
0xf94449f760d2ff3c3eb4ea766d16c3b53ffe3f5d6cacdde128c9e2490aecdc3d
43
0x29631b1d85f23a69dd1de78c0d931741bd4a4d7d6b95f4baf74bee91813220c6
0x94c6d8b8a14f5c96bbb8e731b0c9e882bd52b2bed6a92f5defd27789814c0463
44
0x5e1d34e184996e029a175b7af798fcf94d39253a2596e41f37ce50369bb0bc82
0x7ab82c872199764059e8da5eef193f9fb29ca45ca46927f8ec730a6cd90d3d41
45
0x80314e9c9dad51e4d2f57677e88949df9d190ad5e413e01be5e0aed4a1abe38c
0x018c7239b9b58a274baf6eee179192fbb99850ab27c807d8a707752b85d5c731
46
0xd10f6702018ea779ef0455f748100f6f60266fd6678c691cdbb79b6ef2f37d2c
0x8bf0e6408071e59ef720aaef1208f0f60664f66be6319638dbedd9764fcfbe34
47
0x37b36cf73590028aa9323b401df00067c8fe925968ca3c30c2b0e5d5c75ee296
0xeccd36efac094051954cdc02b80f00e6137f499a16533c0c430da7abe37a4769
48
0x4f5be9127b3fbe127c44c6d599a034dba15372208240f5e2a0ac8c630db550a2
0xf2da9748defc7d483e2263ab99052cdb85ca4e044102af47053531c6b0ad0a45
49
0xaff62b941fb62cfa04821eab4ba287013221f8656e6a9aee849a65bbefa13baf
0xf56fd429f86d345f204178d5d245e1804c841fa6765659772159a6ddf785dcf5
50
0x920b95d4ae5698ac7280b6e95814bbf9669ecc36543f2c581d4e2474fa9bbff3
0x49d0a92b756a19354e016d971a28dd9f6679336c2afc341ab872242e5fd9fdcf
51
0x5e4e609cb40f37f28706f7892d5662509d8859cc28dd586d81f80dfb2d1eeeac
0x7a7206392df0ec4fe160ef91b46a460ab9119a3314bb1ab6811fb0dfb4787735
52
0xb86cb3a712c8802b28c25580052cb039e6dd4a71d01fd04b76839ceacc4fbbe5
0x1d36cde5481301d41443aa01a0340d9c67bb528e0bf80bd26ec1395733f2dda7
53
0x1b4914e23b4b81dfe9a3bf8925c4a075c0b50b932c2fc53060ff4c9906183ef1
0xd8922847dcd281fb97c5fd91a42305ae03add0c934f4a30c06ff329960187c8f
54
0x1c657d7ccf0d7cbab51df5e5934548efedd2b91fa7a4cc8b20288f78c20b507e
0x38a6be3ef3b03e5dadb8afa7c9a212f7b74b9df8e52533d10414f11e43d00a7e
55
0xfc8ebd9f44c6517d7aa5ba22496c6b59704c7b0a2926cad8c4bb002c43a75eae
0x3f71bdf922638abe5ea55d449236d69a0e32de509464531b23dd0034c2e57a75
56
0xc75891d0cb9fc28e10ec5ec79553f51e2e7d0d03be452c468cb430253f664b12
0xe31a890bd3f9437108377ae3a9caaf7874beb0c07da23462312d0ca4fc66d248
57
0xf30d3ba1693369d091d378a9f94c301ff3b7892e98b9491efc35d24cc6ab2f5d
0xcfb0dc8596cc960b89cb1e959f320cf8cfed9174199d92783fac4b3263d5f4ba
58
0x9f9bdb590d6835231fe5ca098f03a0e44d448aa43714bbf98b8bd8ec2cfd3237
0xf9d9db9ab016acc4f8a75390f1c00527b2225125ec28dd9fd1d11b3734bf4cec
59
0x6036d4043821cb758cf9df9659e5852b922906057b4d8640bb3d6b0ff7d848d7
0x066c2b201c84d3ae319ffb699aa7a1d4499460a0deb26102ddbcd6f0ef1b12eb
60
0xed4dbb163e97ef686ba77b2bd2c0a872405dbaaadf0d33d0f125d9e35fb0fc59
0xb7b2dd687ce9f716d6e5ded44b03154e02ba5d55fbb0cc0b8fa49bc7fa0d3f9a
61
0x68577551f44198a0290f814efb2313fb1158173b5eb1ea75ea907944abe4e25a
0x16eaae8a2f82190594f08172dfc4c8df881ae8dc7a8d57ae57099e22d527475a
62
0x963f6853aa0ac3a40c397395fb0b4427b9e7ac48dada3b758b11d6a9556eb14d
0x69fc16ca5550c325309ccea9dfd022e49de735125b5bdcaed1886b95aa768db2
63
0x27c47462115122e2c24cf7030c0f9e270e023714306242c7276f8b1e72a4c008
0xe4232e46888a44474332efc030f079e47040ec280c4642e3e4f6d1784e250310
64
0x18a159d28bd8ccbfc5e3e6ebc473179a7b411d7829d618869e773142366bf0b8
0x18859a4bd11b33fda3c767d723cee859de82b81e946b186179ee8c426cd60f1d
65
0x6f5f733e336bca237f9da083de1978e6e6b80d0d25191ed1b502e315cf0ef2bf
0xf6face7cccd653c4feb905c17b981e67671db0b0a498788bad40c7a8f3704ffd
66
0x8b62b88d64af1fa3441c71c8d94af6fa8247e05429acee7c4e9b085829d913a9
0xd1461db126f5f8c522388e139b526f5f41e2072a9435773e72d9101a949bc895
67
0x61cf302ae28614b03f8b1ef1ee98447e9a7d7fb7d48a9634e6556c4fddebb3dd
0x86f30c544761280dfcd1788f7719227e59befeed2b51692c67aa36f2bbd7cdbb
68
0x813311404f3e913ab4f7fff6a7ca639e0fd2ffea9a5113c3fb00f1c910c34ef6
0x81cc8802f27c895c2defff6fe553c679f04bff57598ac8c3df008f9308c3726f
69
0xc3157b5efc9d3c22ff09adf984741b70b71c2e351cdc9156cc83967de7e2e39e
0xc3a8de7a3fb93c44ff90b59f212ed80eed3874ac383b896a33c169bee747c779
70
0x4dfe50eefed4dec70edd72ee2fb3e5ffa99bac13e8b4130a15b75dd793c5bb56
0xb27f0a777f2b7be370bb4e77f4cda7ff95d935c8172dc850a8edbaebc9a3dd6a
71
0xe6bebd8623388cbc483ec4d1b3d10e55ee88367df8784884660f63043ace7353
0x677dbd61c41c313d127c238bcd8b70aa77116cbe1f1e122166f0c6205c73ceca
72
0xa92a8a587b84cddd75a3e58aa6e88f8f80cd79ebef496ddb8a67e11b4ddfbc2e
0x9554511ade21b3bbaec5a7516517f1f101b39ed7f792b6db51e687d8b2fb3d74
73
0xa566d12cf0fcb1cab51be0b38365bef5908bb1c93ade17780ccb988f8fb03e1c
0xa5668b340f3f8d53add807cdc1a67daf09d18d935c7be81e30d319f1f10d7c38
74
0x48ac7c3e8787032f08cdd6e918d694c04468a8f07e3c35d46345ec29d5c0f005
0x12353e7ce1e1c0f410b36b97186b29032216150f7e3cac2bc6a23794ab030fa0
75
0x098bda430eaa259763846c94d9f888c8e07fec084e549851998f700156573e04
0x90d15bc27055a4e9c62136299b1f111307fe3710722a198a99f10e806aea7c20
76
0xa350b71c1675b96fe62fdb6d37658d9ed8c200ef4732ec6768dabf931d4a5f76
0xc50aed3868ae9df667f4dbb6eca6b1791b4300f7e24c37e6165bfdc9b852fa6e
77
0x77e15c4859466b3735debb83fda8b2117cce56668b1f8d8ba62074299dc4f5bb
0xee873a129a62d6ecac7bddc1bf154d883e736a66d1f8b1d165042e94b923afdd
78
0x6662374cea4ec0cccb6b76cb75abbe9fcf0a66a0e5bda1a84832769ffd5804f9
0x6646ec3257720333d3d66ed3aed57df9f3506605a7bd8515124c6ef9bf1a209f
79
0x41109e0d793d6e7bba39c5bae4cf180bd65bef2d045c516b905cbd5dd8079b5f
0x820879b09ebc76de5d9ca35d27f318d06bdaf7b4203a8ad6093abdba1be0d9fa
80
0xd8007499f94463b8a804be5bd1b3f529cdd134b568f07f646b96ccdf5edce5c9
0x1b002e999f22c61d15207dda8bcdaf94b38b2cad160ffe26d66933fb7a3ba793
81
0x52739ee9de88e8aed33b910c0f65091785fa0076ebc97e4fde190bedd6b369f9
0x4ace79977b111775cbdc8930f0a690e8a15f006ed7937ef27b98d0b76bcd969f
82
0x17abac927855cefc72c77653716b862f9e5b7699215104b8f77a9891a726cbf5
0xe8d535491eaa733f4ee36eca8ed661f479da6e99848a201def5e1989e564d3af
83
0x753c6406cf394990867a10d3148c9b6a54d0183315307abe36161a4f981950da
0xae3c2660f39c9209615e08cb2831d9562a0b18cca80c5e7d6c6858f219980a5b
84
0x02bf5aee55676047e4a452cd71c99389f4dc8d519eed5e6b4ad25709eb35727e
0x40fd5a77aae606e227254ab38e93c9912f3bb18a79b77ad6524bea90d7ac4e7e
85
0xbf20a2d204a1823b132381ef2c8fd4ed1cbaff50098e7b3eadad33785c9e98ad
0xfd04454b208541dcc8c481f734f12bb7385dff0a9071de7cb5b5cc1e3a7919b5
86
0xeb70267c2cd618ededda12eb62ca541a2e0988a207ed15dd796431dd052b1b55
0xd70e643e346b18b7b75b48d746532a5874901145e0b7a8bb9e268cbba0d4d8aa
87
0x3536d3945b89b73f69efecbe99c26a89cf7d7919e13f3f2bbd4caf33dbf92000
0xac6ccb29da91edfc96f7377d99435691f3be9e9887fcfcd4bd32f5ccdb9f0400
88
0x0b684bb1dd742f660ef898b9a7c10a012f12b34c889c8a5bd36822618a60cd96
0xd016d28dbb2ef466701f199de5835080f448cd32113951dacb1644865106b369
89
0x0d5443b3bef02d9032963b2cf16a3c52e4a8c23b5dbe33df592acecf37cec0b6
0xb02ac2cd7d0fb4094c69dc348f563c4a271543dcba7dccfb9a5473f3ec73036d
90
0xb4677fbf9553296d425365d1d4dbe02ea20bc901e12744e78deecde03638afac
0x2de6fefda9ca94b642caa68b2bdb077445d0938087e422e7b177b3076c1cf535
91
0x8f8727cd74add8d53f613c56a81e77d446acbe52be9241edc9cfbfd44e771fda
0xf1e1e4b32eb51babfc863c6a1578ee2b62357d4a7d4982b793f3fd2b72eef85b
92
0xa66dbcfee5b9980c4378ad4e58ab6e37307b03869b5bb8bd169af2d77ad6462e
0x65b63d7fa79d1930c21eb5721ad576ec0cdec061d9da1dbd68594feb5e6b6274
93
0x75888a3f7603f185984fbc3532a67d2e939539e324a4867cf1421f259bc07050
0xae1151fc6ec08fa119f23dac4c65be74c9a99cc72425613e8f42f8a4d9030e0a
94
0x87ae8b4af711828997d80711eeff79e912e73f789a86fcea151dc52ae9565b5e
0xe175d152ef884191e91be08877ff9e9748e7fc1e59613f57a8b8a354976ada7a
95
0x8e5426f9409f456d3f98d2c909abf19c75bb3df268b482181683c19b759206e2
0x712a649f02f9a2b6fc194b9390d58f39aeddbc4f162d411868c183d9ae496047
96
0x9d7254f23dc3df7821eea7db99758b3a66e8af9229c59783bdec5e2896764f43
0xb94e2a4fbcc3fb1e8477e5db99aed15c6617f54994a3e9c1bd377a14696ef2c2
97
0x78492b7b31cbebcf47ce753e8a578751c7cd060158a82918d78286baedd8a81b
0x1e92d4de8cd3d7f3e273ae7c51eae18ae3b360801a159418eb41615db71b15d8
98
0xbf5106b2fa08dd74a6069b58a6e52aa724179225630d2e368a05db3888567730
0xfd8a604d5f10bb2e6560d91a65a754e524e849a4c6b0746c51a0db1c116aee0c
99
0xd181d65623e3a59950e40aa86a1452cde8bf98f409d0f8cecdaaecbccc864a35
0x8b816b6ac4c7a5990a27501556284ab317fd192f900b1f73b355373d336152ac
ramsdell@MM270114-PC 3.01 %
Loading

0 comments on commit 6c1adbe

Please sign in to comment.