mirror of
https://github.com/luxfi/pulsar.git
synced 2026-07-27 06:55:04 +00:00
Single repo, one canonical impl + spec + proofs + KAT + cut tool.
Per "ONE and ONLY ONE way to do things" the prior dual-repo split
(luxfi/pulsar = production library, luxfi/pulsar-mptc = NIST MPTC
submission framework) is collapsed into a single canonical home at
github.com/luxfi/pulsar. SINGLE-IMPL-PLAN.md (now marked COMPLETED)
describes the steps; this commit lands the final step.
Files moved (89 new):
16 submission docs (SUBMISSION, NIST-SUBMISSION, SPEC, SUITE,
PATENTS, AXIOM-INVENTORY, PROOF-CLAIMS, FIPS-TRACEABILITY,
TRUSTED-COMPUTING-BASE, HANZO-CRYPTO-SUITE, INFORMATION-
ARCHITECTURE, ROADMAP, CHANGELOG, SYNC-STATUS, STATUS-
SUBMISSION-READINESS, SINGLE-IMPL-PLAN)
10 docs/ supplements (ietf-draft-skeleton, magnetar, evaluation,
patent-claims, x-wing-sig, design-decisions, family-architecture,
threat-model, nist-mptc-category, patent-notes-draft)
19 proofs/ (13 EC theories + 2 EC lemmas + 4 metadata/READMEs +
lean-easycrypt-bridge.md)
14 jasmin/ (lib/* + ml-dsa-65 fetch + threshold/{combine,round1,
round2}.jazz + READMEs)
10 ct/dudect/ (Makefile, combine_ct.go, dudect_combine.c,
dudect_compat.h, dudect_verify.c, fetch.sh, README, run-
submission.sh, verify_ct.go) + ct/jasmin-ct-libjade.md
1 .github/workflows/ci.yml
1 test/interoperability/n1_class_test.go (19/19 N1 subtests)
1 bench/results/REPORT.md
11 scripts/ (cut-submission, check-high-assurance, check-lean-
bridge, nightly, extract-jasmin-ec, checks/{ec-admits, ec-
compile, ec-refinement-scaffold, ec-regressions, extraction,
jasmin}, checks/test/{go-unit, interop, kat, no-secret-logs})
Files merged (16 overlapping, mptc-canonical chosen because newer +
post-rewire-correct; pulsar versions still bore stale "Pulsar-M" /
"pulsarm" branding):
README.md, BLOCKERS.md, CONTRIBUTING.md, LICENSE, LICENSING.md,
SECURITY.md, .gitignore, bench/run_all.sh, vectors/dkg.json (v1.0.7
regen), scripts/{bench,build,gen_vectors,sbom,test}.sh,
spec/{pulsar,parameters,system-model}.tex,
CRYPTOGRAPHER-SIGN-OFF.md (path refs).
Pulsar-only spec supplements preserved:
spec/{blockers,design-decisions,family-architecture,nist-mptc-
category,patent-notes,threat-model}.tex.
Path rewrites applied: 158 occurrences across 26 files
github.com/luxfi/pulsar-mptc -> github.com/luxfi/pulsar
~/work/lux/pulsar-mptc/ -> ~/work/lux/pulsar/
luxfi/pulsar-mptc -> luxfi/pulsar
pulsar-mptc/ -> ./
Narrative collapses (no more two-repo framing):
SUBMISSION.md "At a glance" — single Repository row
SYNC-STATUS.md — rewritten to single-repo state
SINGLE-IMPL-PLAN.md — marked COMPLETED 2026-05-18
HANZO-CRYPTO-SUITE.md — tier 1 row = single canonical home
scripts/cut-submission.sh — replace/vendor dance removed; cuts
directly from in-tree canonical sources
go.mod: dropped mptc's replace directive (no longer needed since this
IS the canonical pulsar repo). Module path is github.com/luxfi/pulsar.
Deps: cloudflare/circl v1.6.3, golang.org/x/crypto v0.32.0.
Verification:
GOWORK=off go build ./... PASS
GOWORK=off go test -count=1 ./... PASS (1.4s)
GOWORK=off go test -race ./ref/... PASS (14.7s)
go test ./test/interoperability/ PASS (19/19 N1 subtests)
scripts/check-high-assurance.sh PASS
scripts/check-lean-bridge.sh PASS (5/5 bridges)
scripts/gen_vectors.sh byte-identical replay
scripts/cut-submission.sh --help PASS
66 lines
15 KiB
JSON
66 lines
15 KiB
JSON
[
|
|
{
|
|
"mode": "Pulsar-65",
|
|
"n": 3,
|
|
"t": 2,
|
|
"committee": [
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"0200000000000000000000000000000000000000000000000000000000000000",
|
|
"0300000000000000000000000000000000000000000000000000000000000000"
|
|
],
|
|
"public_key": "d1054a700acd3109e44304aa67d39745f9d47ec74c1bd2ea74270ef172d8edabe571f7b2a6e4726aaed17c31f91f544b97cab0dba366edbb77577bf5990531e59159590de7f3b7f496f23519523b1e123d3631271e5557def85e6ff461eee45f7ee4d69dbb413e518a3aabecfdaf4177b2f8515de045cf28794017ea0979ae3bad204eb92b26921fed52481d7c628aaef9fb839eaf13d61db57518ea4dcd5602d18a2889e9d1a5b073fe83b17b0e5942aa34ab89f97b96b954e11be19d9b2ecae7e505bc1a6f907e28a139ac45869d4065996ddb415b0e45565cb306e61b2b083652b9fe39cc359ccdb68ebf5f1b3ddc382dc01ccf93912016cca9f95be4ce3a5cb51728875364d93bb650eb592e5b482cfb5e07295b96e4ff5337caac2ceb31f363d950a3ef6d42516c03399b09635660909c6708d5de037d4640bfb30fdfa1f666aa7a52f9d4553a43c9be7bcf3fc15dfd16bb68edebf145875c15cad444457ed0fe33f98fa459cc448b85fb13139ddb0ff085c834b5c1961cdae632cae559b87c7c9dc45277fb64b501c5fe6004f5cc9284b8889aa72dcf5935e42fa01e3e34ccdb0e49c3c4353d5ef1589e4239c9e7825655839e5bb5022bc170aa31256879464c7de439984981549c625970f154f91e46ed4bcc6a636ebf73d1eb23d358d130f77935d5e3cd6537881b4ba141ae4618fa90f834a2f40c8def2e679fb59569a48b71209a0821090a333060419224fd67e3e42f9d4bb976edaf71e2c50fbf866e0616130fab2184775452af5ae98679c9a605e5dce8673c80682adeea8bd10a4a8e585e9b5026e16c60ecd41ed7bc4a8fe0d31d9efa8605c0b854d30badb4b0cb0e900f688fd28e15e0fd6b4ec09903bb1ea0d094cd5da51263d94dd9d6fa0a53fd52a7be6a1fd5a51da4192eaa020dba2d2eb4d8ec5d238ce16877f5de309ba4e0471d98bcf1ab92652707881786c28ca09882072afb95a36ffd8e02de7b4d5f6e5b6ca85ff70313fbe5c46bc0895f78063903449b083fb8f44bb1b3c6ae36232f2f31a01995fdeb1116c71a30f1799f4f124a7f67f3b13e9c335d79f7e558f94b1c1e4ac89616fc73180eb887453a953d06eb41aae1bdf10bad0ffac607553bd5a9f8f151e255a399462e2f79785dfa1b80d56d1127cf9859dca52b99f51a5ca5d2535946d5fc6f526adc920b9c6c775669ea14231046d7351d3d64d3f42f8af751914393acda67ddd6f852cb0c5988d4f45ec5e71c346d353aaca8da5cf41d96391d4690684d934ff5a2144e2d058751b84a0dec73611a647bcb3e8b5e6c6d52bcead72f6279ef18a0f5bc7117a5a78221947eee438cafa194635064eeb49b27c1bcfc4c4ea5a270c105c0383420bf359e0a10e74a85249c24ecc3aceaa170de70a7a38023e8340f302ef1f4c00e0fe990186e87b233fa778f16ae314aa5b6b030e1efe05511f14f543c1c9e0ffbee7454b912d0c205e73db416052247e29f5347e723d59887c6952ea273de2aa29ab2d83a2ad7d740a199b68bde5a4c8dde1dc5fcee85e38a2cd6e32fe7fb4d9c4378a4f939620794671d6fe4781e923e66f2e16262e262b8f78a3b74f14b89fd1ecd5a5a8c190c62f4dc0fe3e3cefbf5021328ab93d1a7b28e00d79b112a1630d33afcb48be731f759f1d3ec23ff25d8ed888754b248e4d7232d689e41c8ae480ced59a248a71b5a1153a8c072909d1664d684ef4dfe1f1202f275f1a78abb7c75e2a703850960b65b01178e79343d739bcf5a455dee241398cd5c2aebd6b7d9fd85442ebad24e0b60e14cdd702c230b3ee16e7d7652f4811ee40af4f3098df46d3b362ee1e051bb91964ae0b1037db63226f4d183b678ffdcb7ce4f538e1ecbce7314d6d34b6ed1c45e08a6a2601f4961635ebd3b6216cc46a81e2cbfc71836c67eaa6e14addd822887563dcf55ca727cb390413bc2ec6d3fcf31c134f07c4b15caf0e4141e66d35b7e8a3fe807a8b58c56ddecd0a4563dc877d6af8773f7887eae5840ea579b8cbcad18af5b1d7b109660a0c564aab8d9c349a4d18bca21c49b6a45e8b851b033ed54eca805893076dc3e5b50faf3f4a6d1ad34510955fbeafeccd332b2b9db5633428af7dcfdb50c87681099074964a7b0ed0986717f8f8abd12dbc6f5f2bd611c04ab646d6edaa9b9c90b30e5610a68ef0642ac7015c1b6f5c92c3a931c637f86883b99df2a1a3531907fbeaff11a8b08a22dab44463adde0115d8d72bd23ec8f2a6a92e5977edc44b57221f3f45d0f6a8aec07f0e8a7aeabd20bdbcae1b12b09e26d4940892154820f419f57ec596ccfb99361beac57a1578c429035077f226b41713cc286db837b164ebd19c45e2ef2faa77c1a57ecbfdeb33af289bfc0579cda72e699770dcab9208fad7d7e3d99c703af79b195f394f9755c587145e6018d04784d1a8b00e50502b61b70ff6d8803cf5ba4c88c428b9bfaa9388da816b94b4f2297ca741f2a4148d18a2b19478cc86c5a414fe82de534b4b6d70c5df8b84693e321197043f029a037d4a16151a9430c28f0afa90c4a18f4458e1924ac6e3cffafb0fb5b7af3641c976abe2bc2f2e4a3e4d58a74d3121e4d6bbba4e08e7082820682c3152109ca9081b13c76a6b4ac2cfb648e38521c1cb1c4c8ed8f50db35be5532b0638ba661aa719f1dd6d7a63bdd84a9d5531ad3c1a786ba1bc1f35c3f7b2ae744bb822be74f8ab1061ea7b8372fd72c02924aac8fbb5ea803e7725e36e7d4a8a63d80",
|
|
"transcript_hash": "10cf50b70b24e488b3fa5556647d5e1aaafde9ebbfdae4904dc6a6eb8a5225f0517e2d5581594fa8bd86bb3fa8776a7d",
|
|
"shares": [
|
|
"007500e0008b007300f40019009900ce00b900a800a400a6006c0072006c000f0023001300f9002f009a00ae00db00e300a7008f00ea001d0020005800eb006f",
|
|
"008e006500e10064008d009e008100dd00dd007d0059007500f40070005600590027001800b800a000ed00f8006800c700f200a7001e00ba001000b500580050",
|
|
"00a700eb0036005500260022006900ec00000052000e0044007b006e004000a3002b001d00770010003f004100f600ab003c00bf005300560000001100c60031"
|
|
]
|
|
},
|
|
{
|
|
"mode": "Pulsar-65",
|
|
"n": 5,
|
|
"t": 3,
|
|
"committee": [
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"0200000000000000000000000000000000000000000000000000000000000000",
|
|
"0300000000000000000000000000000000000000000000000000000000000000",
|
|
"0400000000000000000000000000000000000000000000000000000000000000",
|
|
"0500000000000000000000000000000000000000000000000000000000000000"
|
|
],
|
|
"public_key": "c44773280a55df79134b7f4a37b75f9d2a77f3520ae82f172d1896a21d14384f92a5b26969a618abc71afe1fef312800253712494001d7b6720764bc8d37b824748315acd11f5834a29883794697b16542465bc7efd357311798d3184eb69907cf154ace7d1c077702438af8e7af954a265041f3618a40e6fd19db7a47e07a4ad6c83b5a179002baf9adb386737b8e6dd746377f815d0486ecc3b5ba79feb4d9412e1cb07afaa3406066cda8bb9f086c60a496b5f84013d4ec3a9adaf86823a4dba479570f99d2a71163b0a7026dac26b5d372da234288f19536614417ad47a96fdc7faf9a950ad0a46c650a4ecc008ae29132246ddd1a34ba4f30ccdcc1283e35467ad30d1fc3bd25d329aba5c03779ffc646c792065378b03b60b5a6c52cb3ba66c2b62a4989cc00f0cde737ffa61aaa09abaee0c26946472a0ac2335a6bab5d7f0880ca771d9cc0045b9151f0a7d90d9489fce8fe1d89224869757ac9f3eda94a0084df52af21af5ee109dbe75f84ef6c52e07a459b99675b09dfee9fb1437178cb27e4a711d15ecbb69293f135667deda7790a5b8848f6b5cbc5ad90e53b97787218170ac29745201c1cc24af9a17c4474bc894cbcaf18d09d982bc0ef38703c6ffb74526ac1dec8b31badcd80c4188ca72e592822d7dc19555fa7a534d3d83bb1666646220a0f8adfbd79ed1b69a9e741bac6511e093d55916a48a638b72faa9063b131aedce418ad555d1a4971d49d81e6da718a079525b93a8aaa3b4097ca16f3f2de9b2fe89c1e66db9c2e3bc2021d8f924dc1ff651bac61736943cdb04f9d9835acdf93faba04850daf4baf33fd549acfda52539ca5903a5cd6f102bbb020cab7f882b2a269cc1fd43f60c4a9b2f2426920ffab35d8609c7209f975030ec92060b84ddfd01875d13aa5063d0baa9d20ff83506acd5726884d88c080f3d29e45dafec62d6174c07ead83596654eea0341d1942d518b8b7c12f669a4007b49d533ba1afc966ef3024e8ee633a65d5a7b45978a3f0ab30e30331418307fe75e64a9777c249e337c88e3bbad11ccfe22365a3ac9acf2f07f2aa603f783465b4f2e217f138d91cdbccd1a5045dbf78b55597629003fcdfffb79c283127e46afb9e8db4c4e545f63411f3752dfd5311948c9fdfb1c2e96b6fcfb31d4ecb5e3991b7865fcf3c72aa45d4b405971566616accb22788a8d9288aabf64bb606d5ae45ddf3c0dfe52212bb177341ca6202babac26cc12e8c9fc4dff7dcfe2e6b000a91acc1c59e6718e1503c097c2480fb5176fe3af5d59930b8ef04260780595ad11658db1f5c2455f6a2990354f1cbdda024ffc0ef854d477b038ee9d3c7b34773e9779aefb19bbd8e68e6030816f7292d2f888d5d27697cd7c75fc24ab77a7444f6dc72d4574de159184a904509595a7525d2d9e905bce9471bf15359f761cb7eaaea588bcd18c1bcbdfd0db7c188232dc19b6949a3796cc1a99e581a159f8bd8dfd9e51fa9062d9d6c2b1792ce66585e693e92ea87c7d883242771940713fe00a0310a929cf0006b2c0b1e6a35f82dda9e86d7229df76870a3a0d37e436106788dc8490c9379a12fb67a6c1c8f44ed1e7c9401fc1c733414abf7efbe6c758f74c8b61d6ebd3ec1bb83b8a900515a454689913bdac84694b41097e4c4bca5df0a4369b0af213c4b96c80910419ef5b63eddce3c9dd66258f2b47b7a8f8009fe3f8769e7e0d410e3c5ad26076bc2dea5921f98cee8fa374f68c2a77f134b5d7ce2dd6036fb64c5ffa8ee155b6d581970da81181b8c4262aa7ce2ded9788cc42f2381bd4294cd09bc8973c876e34e629822b4091c9e6b103305a09d684d82711f1ab7657bc4c633c4e5ee6c31a2ecb26825eb6026edc57a4292f413abd0d23e8d7d523d3889f24aee0efdb01f13b6e1d6c57a124e6fe1cb66359325d48e00ebb7bfdf074ddad1bbb555568078826a32347ad3c21e68a1ff049f03c2e6dd2021991e80f6230abf05a72d6bc510e4d0e025427082ceab311dfb85a02482b443fdfee7a7f024e640224687f93c2e6033ad7add8fdee824739b1fc871f3eb219fdc5611c827678f5b9ed5a6d26b3050e7bb8ef5c7831a1a7c761483291010cef9984dba9e985cfb71f8b681c1814ed1a86b1f601c3921010fc6dc599d427634cdc6d3f640877954dd2fae627212bdc6f7701b1a024577b049ad2787a89a289f0da1c0946a3ed5ce0b18c3d18475c9a8de260069261cfb49c5b48b0fc86ada96a5fbaeb486e0932d7a574e0517c517b6460224fcc4ff240973199cb364e5e9c83f3a22d50521241bc43b8ccb330dbc613c4631af3b3b12f73c211c56fa7fda1ac67753919d09014692cedb8959e57f544963f6cb12e2f7a29f14fe299a1c7defe9e33b2cd2468a5a0054af16a4a908621492536290e40114e228ca81300772c7d92c765e810c673400d04a4a3c38624d3ab607af2a841fbbe68c57d9f52700a5d2dc1192399937b9e0fb6b7d38e67f58d76824d2f04053c24ad3b43591a6f4a3908681da1ae70f5241a3d1517d2f887929590d55fe961842b8d469e8014c520a5a1f96f0c3bf7767e24755ae13289b8718e6637d479d8f8b9a91ea09ad31b5a17b74e87f9af824178721eda028364f984aeea93919114c3a7ddef76ddf1ff21a25b470bbabfd0ac3a04c8c95f726d29cbb1d77d31552865b3fd54c7eeec6c3cc0cf7760151ec2e3dbdf415129324e9bc332b16d76172ccc00aa46941165ca611d94231",
|
|
"transcript_hash": "f5e5d5c49867642d4420cd31b077e97ffb73e4d973e64995794981660e9737d5a1fc5beb832198bc0a7e3ba634fab638",
|
|
"shares": [
|
|
"0022001a00df002500c9006900d200020078002f0041009000610060009500d100d400f9009000cb00a300b4001a00d8007c00f000830072006e000a00bc0028",
|
|
"002400c6000b007a002f00e30049008900350087004f001e005e00b800df00db00490086000e000000da003d0051002f006c00060090003100ff0087005100b2",
|
|
"007d003b00fa00eb009800f5002d0036008400e800c30054001d00f000b7003400b500170022004a007900a8002f009200b100bd001e003300100019000c00fa",
|
|
"002c007b00a900770002009f007e000a00640051009c0031009f0007001d00de001600ad00cc00a8008100f400b50100004a0012002e007800a400c200ee0100",
|
|
"003200850019001f006f00e2003b000500d600c400db00b600e30100001200d7006e0046000a001900f2002000e200780038000700c0010000b9008000f500c4"
|
|
]
|
|
},
|
|
{
|
|
"mode": "Pulsar-65",
|
|
"n": 7,
|
|
"t": 4,
|
|
"committee": [
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"0200000000000000000000000000000000000000000000000000000000000000",
|
|
"0300000000000000000000000000000000000000000000000000000000000000",
|
|
"0400000000000000000000000000000000000000000000000000000000000000",
|
|
"0500000000000000000000000000000000000000000000000000000000000000",
|
|
"0600000000000000000000000000000000000000000000000000000000000000",
|
|
"0700000000000000000000000000000000000000000000000000000000000000"
|
|
],
|
|
"public_key": "42e29990bb3b554e0643411a6d114dd008e4a7f6722f914b99f3a8480602acf2e6775cbc3c58662d77f08cf41f4edc25147c09868f7c3c7060de803984f01a0c6ef5480921e83eaaca5d460310794fad76de857d45f3eb691691651345f0c95691b27faeb451cbb379e5718253bd4ff54213af54027bd4d336786802d2f1e98ea83fa1e722997dc5fbd6e2572a0cfd33e0357167f16181808740b030a41279a61efed5816e8b96f9b0719773dfd4f7420084450deb5cd9efdc9d550a61e45a9c287122083c1b9452f1f775b2efd00d972397c65e3f23a0d6a7b742d3422a64e883e6e3949b647048c2457a954bac2436d3e8858de5d891d016a1ad7d0fcc3930b56ae52d641b8f1ca6129aabbb65f463978cd371c9bada8508243b5966cc08ceaf543b8eb3645107c8a057d6427ac908e605b1c273b54352e47925c40583d2ac1abb0810ba8d93e403c9ff83647f90d20292786fce9828bd6713c9a603c846a0b2a5e7ab856072af588c1a8c7db1bed38ea9dd25590913304d815b1347631162ca5587a143f36c2d54e14de328013e458692d7fabcd882839d07857c904e041521cb52b7937c3fad4563649f8780de27b0200ec2189d89c60fa1a6b117343051dd421a2404fa330b29670bd2853e622f4ef4d01c1c11f2b2b7b0a4b76d83056fd63b3d6ce29a124e50258d80c147c21a82d868d016413d2289b4d2d7df20f486c6f46045710720f433c413f4fd692e517c206055bb0e576e57ace2038d333b2c3f1a1c886adad243a0c1118c353ef63d51118f9c9eed1f2bdfcc66de5055ab4e5f000909e9191a77e86cf89f023c447c84c504fd6b279600e4cf728085095d10acece6e7d1ee4dd2e1cf097073d3831db59ef5ad7040214ba9cfb8aabaf5203423138c54cb075008e65f8db068bd0f9d1e0079cf5edf39bb3037c72ed1b9ad484ab2f489e2472abd57e26a00527f62f623d4e5a29ebdabc3b1547d1176e894e710cae17a79b576cb4ecf82b9c78a1ec7cc026391b46a17faec31cbe38f5712930643e6116dd4ef7123cb8ba01ae2781af4c22cff23be912c1301ee066ba30e434b61036b3bee6617e4d2b873a812008cfed14cebfd249b5f57a28e7e59bd6558fa036d58dcfcb6f48ac64a772d4345d6244eedfbdeb33a233caf85ef37f75f028f4fd2bc7850003eea389076ac158f524cf6220ca4b07b13f690bc04da735ef4ffda0c5b49e1d22b34ad8bc7e0fa1bd76af95fc2ffe16539fdc7b2e4f418fe4be279b05c79151b385dd63b319991dc67ff4496063b35b4bf6130851fd9945512953ee999de503a57e3bfd41e949dc96efa6d2d825297e1590a52a5a46c58f9015c4f7ab43b0a5101754f3ee048402386eb9e29260c0ed0003928f4910dc7c81bac58e6f77e3701dc9b1b470e7c59a68b7c4ca3ecf6c23827c4a3cbf4289866ee5fbdccd2d660c1632c8d026425fe7d9b2c7d5299a8accd1b9dc74111ca5f392a4dd7a2db5a8a2b9f8bfb5f1f010f1e276d5a14ed30eea0d56c2fe2500f6112d16979666df5ca90d0ca1822896c97aa1ef769589e21841687d55a6ec482dd7e80446aff253cf476b0979e49715decbaa9cd0181ebda1240c4ca31b634f149d45118b0f8fb69194b3ff1c7028d7feb2cc45a48e72b760188def60ad5372953ac94829e5af6da9718fa2705cdf17427d34aebe42fa0b3e37a7e282c16daad2d330d8bc3150883548cbd78583e6496783a7ca9e91f0d9ad866309e17d7b0f9af989eba33922d456e5f0e0dd6dc9e06ae422e8ff0732c2a4f158a368ab7fa88357ef5876ca1c5746c1094a0af36fb11d16be3042350fc733f161f3770eca0084d7ba529f487418ffbeeee0a8820692b902637a23e83fa643cb0e6738a2013606fc64ae0b8816bb14f798e3bd270dd25b6adb7ecf6e90fc3b569326aa9ba7240002214e37735489231e46cbf26bac3f6e6648f13c8ca49f6e52f4b20ac9d4dd1daef6cba24301fe082f62131b2f1bafdd753fa537e884ce3fbf73bee6f1625ceea7e1f303bb46f6d1b8a70345b60b1d20430bdf64fdda61ec301c36d8be7482336b2f4a4ee28a73d11d9a76b7e891c4e4be983bab74f2719d2a68596097ebbb965dd770adca761ce99bcd285f66975a3c3e7b29f396df9116e9294571057407a12fed31854cdc3cdf159913e77e937190cd832e80859211d13235d756b7e65b719302bbc86605824ccd886dc3cf6a344b2eb456a3b38127dda6e99f55a1bcd073957f56b721fb4a0ff4424cd63d82a9431517b05a523d5f63e8e5a237f5c5da82397473b8deb34ea9c502e3332938d921cf0407a7f5825dd178081a57ad36062ff594fb6dc5012091676ef0d90f2d69c6799569483cedd4371bb71af89eb60e8f7b9d93a2d3c3e18eb9b66f93d7060d79a8dbdf254a4f0b8837e5c064c4b541838a0e8a4a03353523866a21d3ef4eaffa9e9a2ffdec52e42e62adbd1d8f78295d30f61b378bbed9ea760dcf2f053943f4538888a397d0aac222366ab4825e651bb9fd0bd611c687ff5977f58e85f35712b94d74197e223b5436d735c8f6261dbe1c15edbf750107e1667f7bd74d6c8e2689b7f8ccb5b0bde113ab10ccc5db3fdc0cdb0cc53cd5bd6def4896955a43e9685c615fe391a9b2170ecd54e7374be592442925ced27fa0bf980f5d5ce24af82b052831af1467c661d0e7149b6c85d8eacc4d217cd89b047b44d17e9d19cac72903b93139ef38ad340bd8744ebdbec64422f3f",
|
|
"transcript_hash": "b883b18d00ad05c97a2e4ae2613e8c112d0c2d0a1cb2e098080150aaa60389ba234f2b8f31885150a65c60bb29aca008",
|
|
"shares": [
|
|
"002f00e1004e0003004100ea00f8004500460000006d00160044008100bc004200f8003400b800fb000a001b008400b5003c00c1009a007500de003c002300f4",
|
|
"00b1002d000b00e1008a005a00c0005b00ce006c006a004000fb003700610077004b003d009c00f6005e00460025001700cc00a1006b001a00ba005b00630085",
|
|
"003e003c004800d5005b00ee004500de00b2005c00dc00ba00f0010000a4004c0036009e002e0095008e0060004b00e500a40028005b0015000d008e00f10001",
|
|
"00b8008d009600b7009e00b2006a0010007200840013000000ca008b00e500010046005500e0003a000e009f00c700fc00cb00f3009c00bd005a00a8002300f4",
|
|
"00fe009f0086005e003b00b500100037008e009700630092002f008b008400d70008006200200047005400380069003b0046009b005f00670021007c005300e6",
|
|
"00f000f200aa00a2001c0004001a009600850048001c00ec00c700b100e3000b000a00c40061001d00d4006200030083001c00bd00d7006b00e500de00d80062",
|
|
"006e000400930059002a00af006a007000d7004b0091008b003600ae006100e000da00790012001e00010052006700b2005300f40034001f002500a0000800f4"
|
|
]
|
|
}
|
|
]
|