Merge pull request #5450 from nuttycom/feature/wallet_unified_addresses-fix_receiver_order

Make address serialization respect encoding order.
This commit is contained in:
Kris Nuttycombe 2022-01-06 12:17:10 -07:00 committed by GitHub
commit 89755a114b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 30 additions and 30 deletions

16
Cargo.lock generated
View File

@ -466,7 +466,7 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d"
[[package]]
name = "equihash"
version = "0.1.0"
source = "git+https://github.com/zcash/librustzcash.git?rev=5622b060b1f57de7afc3d0b4e425b9b4b22482a0#5622b060b1f57de7afc3d0b4e425b9b4b22482a0"
source = "git+https://github.com/zcash/librustzcash.git?rev=7801dddf35ca247345cf4f5c5e48791297cad531#7801dddf35ca247345cf4f5c5e48791297cad531"
dependencies = [
"blake2b_simd 1.0.0",
"byteorder",
@ -475,7 +475,7 @@ dependencies = [
[[package]]
name = "f4jumble"
version = "0.0.0"
source = "git+https://github.com/zcash/librustzcash.git?rev=5622b060b1f57de7afc3d0b4e425b9b4b22482a0#5622b060b1f57de7afc3d0b4e425b9b4b22482a0"
source = "git+https://github.com/zcash/librustzcash.git?rev=7801dddf35ca247345cf4f5c5e48791297cad531#7801dddf35ca247345cf4f5c5e48791297cad531"
dependencies = [
"blake2b_simd 1.0.0",
]
@ -1816,7 +1816,7 @@ dependencies = [
[[package]]
name = "zcash_address"
version = "0.0.0"
source = "git+https://github.com/zcash/librustzcash.git?rev=5622b060b1f57de7afc3d0b4e425b9b4b22482a0#5622b060b1f57de7afc3d0b4e425b9b4b22482a0"
source = "git+https://github.com/zcash/librustzcash.git?rev=7801dddf35ca247345cf4f5c5e48791297cad531#7801dddf35ca247345cf4f5c5e48791297cad531"
dependencies = [
"bech32",
"blake2b_simd 1.0.0",
@ -1828,7 +1828,7 @@ dependencies = [
[[package]]
name = "zcash_encoding"
version = "0.0.0"
source = "git+https://github.com/zcash/librustzcash.git?rev=5622b060b1f57de7afc3d0b4e425b9b4b22482a0#5622b060b1f57de7afc3d0b4e425b9b4b22482a0"
source = "git+https://github.com/zcash/librustzcash.git?rev=7801dddf35ca247345cf4f5c5e48791297cad531#7801dddf35ca247345cf4f5c5e48791297cad531"
dependencies = [
"byteorder",
"nonempty",
@ -1837,7 +1837,7 @@ dependencies = [
[[package]]
name = "zcash_history"
version = "0.2.0"
source = "git+https://github.com/zcash/librustzcash.git?rev=5622b060b1f57de7afc3d0b4e425b9b4b22482a0#5622b060b1f57de7afc3d0b4e425b9b4b22482a0"
source = "git+https://github.com/zcash/librustzcash.git?rev=7801dddf35ca247345cf4f5c5e48791297cad531#7801dddf35ca247345cf4f5c5e48791297cad531"
dependencies = [
"bigint",
"blake2b_simd 1.0.0",
@ -1847,7 +1847,7 @@ dependencies = [
[[package]]
name = "zcash_note_encryption"
version = "0.1.0"
source = "git+https://github.com/zcash/librustzcash.git?rev=5622b060b1f57de7afc3d0b4e425b9b4b22482a0#5622b060b1f57de7afc3d0b4e425b9b4b22482a0"
source = "git+https://github.com/zcash/librustzcash.git?rev=7801dddf35ca247345cf4f5c5e48791297cad531#7801dddf35ca247345cf4f5c5e48791297cad531"
dependencies = [
"chacha20",
"chacha20poly1305",
@ -1858,7 +1858,7 @@ dependencies = [
[[package]]
name = "zcash_primitives"
version = "0.5.0"
source = "git+https://github.com/zcash/librustzcash.git?rev=5622b060b1f57de7afc3d0b4e425b9b4b22482a0#5622b060b1f57de7afc3d0b4e425b9b4b22482a0"
source = "git+https://github.com/zcash/librustzcash.git?rev=7801dddf35ca247345cf4f5c5e48791297cad531#7801dddf35ca247345cf4f5c5e48791297cad531"
dependencies = [
"aes",
"bip0039",
@ -1892,7 +1892,7 @@ dependencies = [
[[package]]
name = "zcash_proofs"
version = "0.5.0"
source = "git+https://github.com/zcash/librustzcash.git?rev=5622b060b1f57de7afc3d0b4e425b9b4b22482a0#5622b060b1f57de7afc3d0b4e425b9b4b22482a0"
source = "git+https://github.com/zcash/librustzcash.git?rev=7801dddf35ca247345cf4f5c5e48791297cad531#7801dddf35ca247345cf4f5c5e48791297cad531"
dependencies = [
"bellman",
"blake2b_simd 1.0.0",

View File

@ -70,8 +70,8 @@ panic = 'abort'
codegen-units = 1
[patch.crates-io]
zcash_address = { git = "https://github.com/zcash/librustzcash.git", rev = "5622b060b1f57de7afc3d0b4e425b9b4b22482a0" }
zcash_history = { git = "https://github.com/zcash/librustzcash.git", rev = "5622b060b1f57de7afc3d0b4e425b9b4b22482a0" }
zcash_note_encryption = { git = "https://github.com/zcash/librustzcash.git", rev = "5622b060b1f57de7afc3d0b4e425b9b4b22482a0" }
zcash_primitives = { git = "https://github.com/zcash/librustzcash.git", rev = "5622b060b1f57de7afc3d0b4e425b9b4b22482a0" }
zcash_proofs = { git = "https://github.com/zcash/librustzcash.git", rev = "5622b060b1f57de7afc3d0b4e425b9b4b22482a0" }
zcash_address = { git = "https://github.com/zcash/librustzcash.git", rev = "7801dddf35ca247345cf4f5c5e48791297cad531" }
zcash_history = { git = "https://github.com/zcash/librustzcash.git", rev = "7801dddf35ca247345cf4f5c5e48791297cad531" }
zcash_note_encryption = { git = "https://github.com/zcash/librustzcash.git", rev = "7801dddf35ca247345cf4f5c5e48791297cad531" }
zcash_primitives = { git = "https://github.com/zcash/librustzcash.git", rev = "7801dddf35ca247345cf4f5c5e48791297cad531" }
zcash_proofs = { git = "https://github.com/zcash/librustzcash.git", rev = "7801dddf35ca247345cf4f5c5e48791297cad531" }

View File

@ -212,7 +212,7 @@ pub extern "C" fn zcash_address_serialize_unified(
}
};
let ua = match unified::Address::try_from_items_preserving_order(receivers) {
let ua = match unified::Address::try_from_items(receivers) {
Ok(ua) => ua,
Err(e) => {
tracing::error!("{}", e);

View File

@ -1,14 +1,14 @@
[
["From https://github.com/zcash-hackworks/zcash-test-vectors/blob/master/unified_address.py"],
["p2pkh_bytes, p2sh_bytes, sapling_raw_addr, orchard_raw_addr, unified_addr"],
[null, "7a8f739a2d9e945b0ce152a8049e294c4d6e66b1", null, "dcb1d2a37762148db4cee3bbf19fb1ec05891894b13801c622ba6a90faf1119f8224ae3985c6abd3b7bbae", "7531743779336e647634367476636465377834363835616a6d676b353970643039326c68733477616e776c646834666d3775636a723074343468667a356a6375667a75616b65667a7571767a376a30617974736e6677347065796478387538746a7371347738756b7336727973633635356d786b6a367778786870676b6e79733533657978706b383978797363"],
["b3534201cfb1cd8dbf69b8250c18ef41294ca979", null, "902b6565a1c44e7e7a080571af1dd774697cc126f1fc0435d3cdbf868783e9fb4620df4bf175cbf2c3e36f", "05f61273a7201295332fee4579474534809a0aeb817a2bc0594166ad7a462067712533b6eec0fa2d1be99f", "75316665686b656a646d3630613871353567736576716c78676632396a38676c377364393436756e6a73346e6c343473633434307274657435756771373264637839706a7468396c323372706a7566757a63776837357971657a753235617532383970717274616c713637776e343066787177306c6e377a78777a397973787575307a39337772676e6d6671376b33666e36747a63307637727a396733706a67777571746c6b7a786873783839617a39656868336c356a357175757572776e376e33746a786c616e3235726e7134676a7a61387436"],
[null, "e8c7203d996af7d477083756d59af80d06a745f4", null, "4ea7d6b3dfa338192af06cbbf47ad405715bc7832bedb1466217dc0d93314de9f3c25eec89f9a21bfe0e93", "7531646a686778773579747a7463356d75323272346d733567796d3864776867383432326667757879766c7465787638787572677338637230756b7264797337667668716d6d6173616667666530677435776e306d756a6e63333467746d637734397565646b68707a79787a34397a7678356339757130686a64356e37747267736e656a686a716d7376723663"],
[null, "7a8f739a2d9e945b0ce152a8049e294c4d6e66b1", null, "dcb1d2a37762148db4cee3bbf19fb1ec05891894b13801c622ba6a90faf1119f8224ae3985c6abd3b7bbae", "753136757437336b36346a757a75366a753077617336717537676437717a30337261777368776e746d3030783937306b326374356d776a3536726478737863383871706e356b76716e35337a63686c6e74786b3834786b6b686e34666a74336466796e6c3576796d64666568306d3978653077383066766d6a6d7078346d65666a74776a3878676e6770687770"],
["b3534201cfb1cd8dbf69b8250c18ef41294ca979", null, "902b6565a1c44e7e7a080571af1dd774697cc126f1fc0435d3cdbf868783e9fb4620df4bf175cbf2c3e36f", "05f61273a7201295332fee4579474534809a0aeb817a2bc0594166ad7a462067712533b6eec0fa2d1be99f", "7531677235333765706b3274786b787a746172377272763435706b706370656c38396e6137326e3867703572653439616c6d7a713438356e3672376133656134306a7132333278373975373765646b6c7a6e73356566383630756e78323371396773777276336d337a78326a7666646166367675703535757a7333347a37617563753830376730796c6b7563767976777635746379386834386b656767706e327238797035636c7036663032343936617973386a6c64386a353875677668653272786372737779726a6b6635726d376d3674777973"],
[null, "e8c7203d996af7d477083756d59af80d06a745f4", null, "4ea7d6b3dfa338192af06cbbf47ad405715bc7832bedb1466217dc0d93314de9f3c25eec89f9a21bfe0e93", "75316e6b35373061616d79347a6d68656c7a366b613033667a79347337663972346b6576666d67636533793536716e6a717a6d687436687937723338746b776474673961346363786533647874346b746a34616a6e396b79346c73366a656a633972676664756e737567756878646d706a303575723664756364776c686a6d39326a786c6a727937746732646b"],
[null, null, "02f1536b622c01346742d8f90e9d4ff39137f1bebe6e23ad9971776b3372702494cc08951eef032b35350f", null, "75313363366d36716e657a72337966753468757630356e687961356372786e35347861786a78376d6b6674393861796e7a336b68636e6176647961306c746a797565717a3577706d306d7a6a357a646c343464323076657a6768753272743861737635636c6133746463"],
[null, "183e31d49f25c9a138f49b1a537edcf04be34a98", "3246b59a5b492dab1855cc176bddfa28418f11f97f7b361cc3e8834b2c30d2a1717df323ef98ea7de71d2e", "ab6d26252c521547049de208283d96278bb221a6874cb5a86af1d3f8b3db3fbee3dbefedcb2c71e3ca1ead", "75313565326e323536746b636837396677797a766c66337378666c66727772666d3664336d6539306e763932666b6575776e653477737975657a656e71356a7368716e6730396e776c7930353735717370373668687878776b6a6373736b6365666c38356c307465793338773236746c6c6575787a66676d38703732727435373033637238787579307577376c7263746e6767396b377a75387a75667576397178633674796a7278337833676a76796b646d79616d34797633793471376a666c783070306d39347066737739687a6b376132387079"],
[null, null, "970dc3450d34554141d356cb548056279c57708fa73bd16ffe9a2e24ea694898a7b8af1b0ff92585d02623", "0414bb62b86149ee731851f27d532ac0361169da46e6d53d19d3dfd07a5bae22969922d8d0af7dc1e13bae", "75316b616c6b6d3276717267716d386c6c71657568353372777a6c657435676561346d6b647739376a3970613372636574767a76336c6b6b33653075333534337670746774326b3075616638383630386675337563656676776577797a3974717765616a3377756c6c30706437306d746e687977656b306c3576617a6361366577663472646d7778713866327334706d35687175366d6567397a6774677a76393872787a6832777835766576797330346573"],
[null, "098b79535e790fe53e29fef2b3766697ac32b4f4", "a8a8797c1ba69f78672affa65b943975026931ea628431f0991e744872ac9f36946f5dcd6851a0b5af29cf", "678ab0079bea28bf165c1ab976a2a58c18a7811ca2ad0ad649e876273d04325da6ca53cdb83c111e8e4394", "75316d30767a6e3738676830796d71356b717a346c7064343039357770756538686e687a7373357a34736c3338737a6e38767736683934787576636a763561686b6e706d6c72613637756563766e6b6d73397966717834733768736e737a7a6d63706776787232306c6834353970733375337766366d727a77653678396b646a3874703061366373656432656d7870367137716e7761746432786d3470736a683472346739706866663534747375786535373638746873787373617678726679747064706d37326b6a7372797061797a7767713978"],
[null, "183e31d49f25c9a138f49b1a537edcf04be34a98", "3246b59a5b492dab1855cc176bddfa28418f11f97f7b361cc3e8834b2c30d2a1717df323ef98ea7de71d2e", "ab6d26252c521547049de208283d96278bb221a6874cb5a86af1d3f8b3db3fbee3dbefedcb2c71e3ca1ead", "7531656a706e33676e343039737238333466637771326b683679346a6170663968717273363633786a3074796e787563336467766b786767777575306d646c7938386379633867767433306b76343635763976656d6b7232327771657861737277343976796c34686e616c6c6a64637536327532736134643261357463656872666c7579746a7a32707a6a396d61393863783330636b3271306d6b35306b64366d657670396870796d6d39703772737579387076307061666c666a686c306c707a6e32323833776b68646c6a68716a7a306e63756b"],
[null, null, "970dc3450d34554141d356cb548056279c57708fa73bd16ffe9a2e24ea694898a7b8af1b0ff92585d02623", "0414bb62b86149ee731851f27d532ac0361169da46e6d53d19d3dfd07a5bae22969922d8d0af7dc1e13bae", "75316a6d386d6563326c7372653366666565706d74747334376b3833336d337271653072686d7a6a393778726737376136666c6a7a613336666a687734646363766d396c326e61376c706166756a6661356b617477383979773636687330636135747436666570736a76367030757539737764617672633870786d6c343066773865766b763230766a61386e77786e37366e61306d376e6774326c30797336323537307761756a717374357137797435746e"],
[null, "098b79535e790fe53e29fef2b3766697ac32b4f4", "a8a8797c1ba69f78672affa65b943975026931ea628431f0991e744872ac9f36946f5dcd6851a0b5af29cf", "678ab0079bea28bf165c1ab976a2a58c18a7811ca2ad0ad649e876273d04325da6ca53cdb83c111e8e4394", "7531617673633374613838646863346a353774646570386a6833663273673363756e6670736d36766d636a61613735663066643937667137637030797134636b6d636c3576637778787777333273757375743076346c30393733763573766e3737757430307a617538366e39367967637776797a3279357479796c366e6479723638383236346e7263343273683833326c6c686170686a3933616c30336a6e64363670376e3434707037687138666e6b75796d6b796a353665357039677239786565783430386535326e37353565373863646a6c73"],
[null, null, "3509c9e069e89fe501d97622c283ac98923da2d7e6eb346b4bafa67865e1e6dae7cf213b1ea3648dc09b48", null, "7531357676383834637a356436346e677232717634307835797171677a366a743368657a75396d6b7566323064756a61663871766b736c6e78793738663264707879323470767637797666637a6b6c307761653435613070683664377a37646574336a67347267677866"],
[null, "30d069896cff30eb414f727b89e001afa2fb8dc3", "55bc46aea6f60c1d61915640029b2af6334d7d27e1c47a248ab47c9fbe5d2d7bb5818739f062e37136654c", null, "753137766a736b6c7234756a6463386c307a686b646d6b71717778343833673861363432653937366c7466733073346a65643761673376336138726e677275366e653438687a7233336b6b7a70366d61677a336679656a777a6a6734336a6470657274667078656e326661747a356b3830636a6b6c6e39713772396d3033646e366736306332796c3336393474"],
[null, "30d069896cff30eb414f727b89e001afa2fb8dc3", "55bc46aea6f60c1d61915640029b2af6334d7d27e1c47a248ab47c9fbe5d2d7bb5818739f062e37136654c", null, "7531396767387371706568756d676d73787a676a796d6c393336786b3267786d736665356a6537377a6a61613067676e32723330733239343266766b61327563747536396d7074763063323976686a7034686172637530723273366e793730306c797a78716866383335786b716a7873776a6a7771303261646b71796a6b6b3963776a6e377032736864713379"],
[null, null, "5c26a8117729334a957ca7941d47b2ce7040e844fa9882c25bfd2fcf51fa8ab21376f5300d0123f5703e9e", null, "75313976636e33726564706170687834326d6e307379633236793877397766676c657a396175736b61787267686d78383064756e61333663616763337973376d6e336a373639766367387275336b646e61713470683436303438646873766c35646d6473677879653833"]
]

View File

@ -2,13 +2,13 @@
["From https://github.com/zcash-hackworks/zcash-test-vectors/blob/master/unified_full_viewing_keys.py"],
["t_key_bytes, sapling_fvk_bytes, orchard_fvk_bytes, unknown_fvk_typecode, unknown_fvk_bytes, unified_fvk"],
[null, "cfb835e7c05c80c2a15a58702bc529a44e1a815ef79124f23709214cf0167ac4e6340b493dca8e4bee114259dc35edc4c296ffd53869885531d1bdb27008bbcd6fec092ad5c4d1f68819f41ae447db96df4a5f110018f47060916ec54884f1cc27a0d4c0bca90984cdf39fb4cc61ceee78ddaa2a45af871f49f04e98b02fb16b", null, 65535, null, "757669657731747878783339707833736a676478796c6d6636666876706e6878667966717376756e3863737330723678717830726b3974767a3076727a74756a74683474716e7534367877657035367279396a643537687972726c36757467657a356a717232716466737a79787265686b64686774757964376d78756e6e6133327732356d396b7771387163687377673476686632796d736b376c6e7637786a3864356b347a7272343370756e746b6d666b396e346a636b66763237677063376e747765726c6c756439307a346c356c71786a68366333356b376135786c6d663563726467677537366c307572657475787333386839"],
[null, "04da0d94cb0a6397067a81a88ef422e56678e0ba232eb4dd6b05b98bc5e3461cd4a52b366a7df1f3a871854bfe1492711dc5130b35441748caa2742959279ce31e2b3604995d4ccedc4618ad16cdd2c0d42a6d36fb3a0610054cedef30beca20d187f32ce02f8ca357b575e705cda7ef8e1c68b9110381bd3958e0659a084205", "9bf5e479a60cfa3893a2a7693488b3fa016402851263e63c48540b3daff13814cd71a2ab1f78c561c768a3641dcf7a7d6b473393a629841c81f93afa87689035a119c9f7dac6fb9e7cf8fd6aa40f5f7f9e75b161d5f7269d28a4211ab84a8408", 65532, null, "75766965773135797678377477766a376a726a67766d6e6c797474683632396e7861746c7837686e79727a707a3468337a74776a79786c7733793770657a737671397276643470726779326474726a6c736d6c326c76366c6a7575306a7274766b6d6d366c6a32793768706c70686b383978656b66636565687a637a6777773237756538763272376e3077727339636b78376134756c6365766b777830363077667139613379357932746d337132777163756c796d3232396668387474386a6d376c683863367639707a67613274396e6c78673630377478353673303775757177337673336d78663676716b68353071636a33677678347664367a367379356e3039387565636c396a707968737178333934677337323539786b33796c376764326e333370767371707979377064393734347271786e73343073327a323963796b3435766a763765756b713976777a3879306163383539707a7166386b6d6c6b767678723930716b326e30376c6e7264393061363467376b6472336366356a637665726c7173667134366e6e71777137386b68"],
["546c1fe01f7e9c8e36d6a5e29d4e30a73594bf5098421c69378af1e40f64e12503f4e4887b87079d7b7647f01a93a73c7a7d517840575c3246710adbdd752ed2d6", "fc02759ff2853b5e9e15842bef22c76023d43db7c265f120ed175713195f1240f63aee02ec23f146e9e25d25605fbae5472cdedc3b4c31c66b76fe9e6e47eeca79d5fb6a84d152820daaf89e99551d068d99cdf9be065007bc25f245ea62631d17b3bc77f62f35bd4205e6f682b1f9e824ecea53e271b80ff6bc79ef68a20ab5", "c36559ed79d1fecbe1de93d57698e915802f0ccd097adb4e448caef8c48d6c1e439482a1e5636131cba024f891b3bb1dfe333773415eeecf7a42e37dbd934e3a97d92dc90afa0ec3e96eeed9238dfcb6da23799cff14d477368d9ddc330afe39", 65532, null, "757669657731796e727935646c356c676b6733656a61326b386d777779646661357a363465726674657936383365776561326e3068333436636134326e6d7561347170636b63787565707073366e326d656a6c6b64363930333772766d7a61343677306c6d3035676a7070686566756a7a6d6734663876366d7130746b676766376667727138307a6d6d6b756467737739397465687363396d6a65773966367238366b6463646a7a666e66773065326b6d713567646b6866617175797167676b64616d68727a726e6a756663777739386e6577647a7479726d353775757037673338383730703932763776787a727377336c6366797a37616e326473616637757733663672716b32747a6a396c66356371376378346a77767667776a3078787064723433786a6d63646b366b6c6668773379663672617168383676676c61706a636d6b6879776a67366b687161777561667077716a6b776a75756c6a646e756b68646c6b6e726c3878307674727075727335636b7a357734683030397674657165646478786e63666e736c6e6830687074723665766566366e7a393268723838766c616a79366b6378366d306a67613267706b7773736b347277773373766d6e61683437656b64687430713964647467666e7a6736736d6b656c66336a723834707473706c376e37646575397a306d65616b756b336b3867707768703532"],
[null, null, "13a3e9649004641d3fc4da1cdefc4c5c6c457b0aee6e668d1d57a58bc48b0e1501a9e2572d16a3cb72c7b539582a46d8f67823da02235d41d49c12788bceeb334500fef8adfc1bcbaa0eede5b48ea7d3e9ec2a774986aac43050c50aa24f1d0f", 65533, null, "757669657731686d3672366e6434747463707137786e326a307367796a336d63726e6633336b796b3574797271666c70663774327266336a6c6530713839616a6870327764746164397533646e76356b6c746171767576647a6c7770397679726378666535676b763078646a6578326e68707839336e65367876307770386130676c6e36746a6b76796b7174686166726e686e6b6633676138656a766676717636386735633974386a75656e7a6833396766776a64637238786d7476677937656d7465"],
[null, null, "33ca395730a107b148032a999349f6dc9983daab9d01ffb1180b56ba7038221d1bf174c534ae1adb7a61a30ad0e3b36c52cf90957491ed84f90b5bd42c76833ef0cf897fe579461bc8db0b37e2da35766f2ee00712416c87f0a679fc55d4791f", 65531, null, "7576696577316478386a3774756b7473686678737930336167706a68633878326d716137343338353861343274736c327335786b78647a706534617664677363647978366163676c35736c656a3978616e33307479616735707333706a6a7375677075307276343237656b6c336c78616c6738637378726568667670717635306672617772687868716b38766a387975353270336875333872786c3772726e6c766a663374776b7467336b67323667656765636d30786873726d673671667036327563"],
["9db6990ed83dd64af3597c04323ea51b0052ad8084a8b9da948d320dadd64f540215761b6d5155ba66df44f224e914e4a8bb6f2fee6820a865ac9fbfb327c11507", null, "a71cccc7d3f4fd389ba45bc4dc4e9b3d91d1fdc70eb15ab92aced578409e272f15181f6ae4b8412caf1044dab7749111cdba8c43a4ffad1de39bb22d2dd150077e9343b886179115512836623a664e3125d2faf44a1308e3dbd525da73e46523", 65534, null, "75766965773166326d6d6a783867786e376a716a796a397872776c6b32656d61617770393561326e716a3366373574766b37737a766d6430686e6d7a6d79637732336773343870646a37676d326c36637573763464733935666d656d723972723966787838333370776a63336c7a353330376c787a7632366630757132756b70776167717730786c7a6a746838386476776536616a3339686d6e7661307561716b6a656c73373268386563757539753273636c30756c373239687a397437793537656b617978777375326638366164306c3536727237653374353378736333787333347075766167667564787734766a377039336c346377303232747238706b746567716d386e32737835687061747a3776357130636d3865767032356d77776b6767657568677366737a357078"],
["1ebd931de518856878f73476f21a482ec9378365c8f7393c94e2885315eb4671021c3e1aa400191c4609ba93df32612f46dfa68aebcfb80778b7fb59bb563e0a7a", null, "3d301cbf5f38ad466992b6466c3377d9f314e6e0e456cd8879f9f9a2db838232c3c801b93141a1ddc29f1079a9b3b46126ed23aeabc4007912798cadf9cfc00e800540cf11186e253036ae5a53f875c50a4a7940021523a92d8b359c140acb31", 65534, null, "7576696577317237386b6434393237373270396371646165336a396a6a647572637a76357a75633632706b366b3371756674776339396735666c7a6366356470737a676b6d6574307a6533726d38746c33356d63647a686564616a74386e7a397877377676656c673275397137756a373876736372666d383466703937633770753867326e78376a3476346c3966633530637671756b396d37673536306d386e3468707972726e6c6a39726b377537726d657578303265723876727a727167326136767535766b786d6b66753368326834666b30777a336c337735657173676c393374777037616d6d3936726b6b30356d6e326b7970677a3863636e6c3778786e3973616b35787a6c65617072736c3630653573323870346e796875356b6a32776b35726c6676766e3434396d35"],
["26c1039586a7afcf4a0d9c731e985d99589c8bb838e8aaf745533ed9e8ae3a1c02ca6a53e13c134c1fb70013b1c3c7f59788b28df32fac5c220f565bd926dca633", null, "ffdffc7112cf550135fa5476272b24289fcabc5401b16db739d1df8f4493f1143c3cc90b837152144de475182209b0c169559f4a91fb788403b3b7642cc99c0d519abc658bfae98e12c9878d9e16c22937cc8182ebac54f15e307a2e639da239", 65535, null, "75766965773139706d666b617678647639777a6867766670653070753678727366373967616e613832396c3277667537713833336e63667a71657732656c637579643674757139683770656472397871763068713461637768396e647332776436677474357633776530777964336374736463336866676b7968637779776d753733323076666b30636b6e70326e65706a64686d756b3375746365613267796d78306630327a6d6c61386a706137656c6d7768796b7434637371333739717a356133386579346b79353077373064353330797a6a6d686c7473637a32673832766a7479616b65737366323776397177736b79713734786c6a63333530663767793036306a686b6c673871727671746535656c6d637374336e6b30766b6d6c6e6d6d7437367337657363656a707263"],
[null, "deb352b3dfeb09d42a96e77ce38e8a6bd00a1052e565215e1325e0712703368c8dbc0cd5eb82701bbd5903e60d488ef8f8944940ca7d87efbbd6c1eacf9ede8019a3b8fde82c151e11321e54a49aaf6de8b9d6515816a5104fb6ea54ed33873dc4a6ba5a80c1ee0f78378db0052388372aecdde7f53fb35320bec33763ddaa51", "37e5d0367502f509f94f077449cbd07473b9d2b630a5b4f8cefa689543d27028b01e4b736cc5620dc82093b4077b12fab582f225f3a5e58a76921cdad17dd70d458aee1ef78af37e9aadfffbd95db1046ad5b9f29ea4297050cadf9825721632", 65533, "857deecc40a98d5f2935395ee4762dd21afdbb5d47fa9a6dd984d567db2857b927b7fae2db587105415d4642789d38f50b8dbcc129cab3d17d19f3355bcf73cecb8cb8a5da01307152f13936a270572670dc82d39026c6cb4cd4b0f7f5aa2a4f5a", "757669657731756d6b78787175716e7377307a73717a6175327235376d3863706a75363576787865636d6437686c726d677367326c63653932396c6a3563776c636e65707973636577306371353577646d657072767476337a707665356465727976716d726c7035796770346c733264716d796764636738636d6132763878656e6e7a637575326132736c6c7938646c646479757a717573677064736e7a61717933747332736c70746b6d386a737567766a333938766e336b7472643975757167336b3376737a33687a7a6361736c3765646e676868366c78707477746e6468377961616665796c6372353870686b66636635307a6b64666d6b36736133366e36646a687536636e68347278663530766b79396a767663663075707a346479713876367465687732673661616b737730747873336530646b3973763336613371797874356d68636373366768387265336736757633327a3370737879767133617930776e7332616b756666376a333833677130757036706d6e3467366c763937666a646d73397a336735777261383338786668657a776361363574796174333078637933326a76357279356e37613363306d3036713763616e71736e72366133673330716b387265616b717a716d64366b656338667663336d7a6a6e6d39653564376564686a6c36357a67636c743272756e6a34337a6d6d73327665636b7176366e3338716477303863736d7378746b643068796666366a6e3266377732376434726a7168326c7a637638386d30383763393839"],
["d715406f2fdd2afa733f5f641c8c21862a1bafce2609d9eecfa158cfb5cd79f803ff3f19851764670df1660c9cb56918abc2a0691eb8b89e705eb8e65b0f4e0dcb", "068d407022db8e5dd0730882bd54851ca0797a00dff60e358d28a04df20793838ba1618a6871da256cdbf7d8ad2ce81d9ce01df64765bc7c14ac74e7ed60129090fcb061b3e672a742aa0f5db728265947355b6375f3d2226b25129dced2e0991d02f739d2d822df5d41edc122b2330916ba36ca09e80cf07f99be4a45fce8e7", "d0e5967a78a4ba305dc8c47ad6ea668d2e88e11575d2ec1f082c740b5fdc050ddb57fa080007c5d868dd8670904b76a82959e8482795ab3ba4cbdc7bb37b1822d2f3ccda83c005fe5c571dbec5074f159f345ad2f60edf8364e4ddf983f91235", 65533, "ad03bc0cda4a44946c00e1b1a1df0e5b87b5bece477a709649e950060591394812951e1fe3895b8cc3d14d2cf6556df6ed4b4ddd3d9a69f53357d7767f4f5ccbdbc596631277f8fecd08cb056b95e3025b9792fff7f244fc716269b926d62e95", "757669657731666b6e393734747468686363306b71796d726a7467637370646c7170613768346e356e7439386b76773761326a676a686174706a713478656a76673879646e747074706e327a6c64707471386371716e646a6c67336c6b786b66776a7635726e39767638636a3666783567307a387a66746e6470726b7073387937656d34737a79327679386a70336832653678386b64717170656e356865387272326466797072767763713563756e7639396c67306a6b397233796c777064617a723779757a357938756a773071366e333939756d643236366a37396a7371776d6c7967767533776e666b797a3335647964687861706c63327578713572613237396e77396e73776379326837676873673930376d70733279686578666876323576776c343461383833376a63777336766365776a7434347a357333336e71756c396d35737a6d6e6179346476763364777568377a796871687732376d753777376a736b30756e6b73787363617a3372616d7973386579667a7a6475636e6765657764357738707433687478666a66786b657a65757130326d6c6333646b636163716b736c716761356b33656c3064746775796771686a3976793572646b70746d7274633432776c3336667676346b6d6b66793735677377776b72796e3835656e6e32396d75396a6c35326e7730717a7967747a366879347a653535756e707071647133346371767237766374777132657a676c716432666b79676161657072746c66376b65707277763871307571383865657771746a756b6c6a3973713933323675717a76786b727837773772716e7a68633361777138367938796a3371386868633472356a6e3864637a7766613934763367307572716173706334727132636878767a3772776e6872683332386168326c6168707776656134747771"]
["18d9614fc820905d042bb1ef9ca3f24988c7b3534201cfb1cd8dbf69b8250c1802820346fcec8ea1276db2e615b8ced2fe4cf7468c1ef453146195b4d7bc13a4dc", "04da0d94cb0a6397067a81a88ef422e56678e0ba232eb4dd6b05b98bc5e3461cd4a52b366a7df1f3a871854bfe1492711dc5130b35441748caa2742959279ce31e2b3604995d4ccedc4618ad16cdd2c0d42a6d36fb3a0610054cedef30beca20d187f32ce02f8ca357b575e705cda7ef8e1c68b9110381bd3958e0659a084205", null, 65530, null, "75766965773171686334726b616c78373730716e66746d656b3578383770356c74756570336e6d6e6e766a716439736b656139637039333668387264706332736468737876633036636b376e7466746e78703970766564706b67393765356a6377727170726364686a6e3771357774333467656c7561356166636632666b737a33356b7333636c3764703472306330786a6364756a357073336c707435346c7177707036726c676e347278383878376e643034786470326461756a706765676a6a397436666c34326464386c3667683730746b70756a366b3276376e786b686c7568356a736b356c3461746d35726577646771646d796e326568763232766e73353665656468756167787171736d356833303764326a767832396466787530396a3433666a687a646637707664373277706e356e666d74767a7376726e75387079796166713478376e716467636372726d656675713664667a3535753078367a6e"],
["25946f62c2fa7b2fecbcb64b6968912a6381ce3dc166d56a1d62f5a8d7551db503062caf06c89638774b698aaafc8c834fb2696f70c3cdc70f4528f4ddae53f9e1", "fc02759ff2853b5e9e15842bef22c76023d43db7c265f120ed175713195f1240f63aee02ec23f146e9e25d25605fbae5472cdedc3b4c31c66b76fe9e6e47eeca79d5fb6a84d152820daaf89e99551d068d99cdf9be065007bc25f245ea62631d17b3bc77f62f35bd4205e6f682b1f9e824ecea53e271b80ff6bc79ef68a20ab5", "5aefc74861debd6c707786cd82c4a5d1ea088bba9ce4ea19851af7fabb90cd31055096c89f206607d6542b4f75856cecdcfcf65450a32cba628a1d0cb899ea3e9cc926110769fd9c685c6e087aa2e49b8d7646b04611e19be1da51c4953cf02e", 65532, "1a035587d5fb1a38e01d94903d3c3e0ad3360c1d3710acd20b183e31d49f25c9a138f49b1a537edcf04be34a9851a7af9db6990ed83dd64af3597c04323ea51b0052ad8084a8b9da948d320dadd64f5431e61ddf658d24ae67c22c8d1309131fc00fe7f235734276d38d47f1e191e00c7a1d48af046827591e9733a97fa6b679f3dc601d008285edcbdae69ce8fc1be4aac00ff2711ebd931de518856878f73476", "7576696577316436307463727173657a32757570773473303679667278717534716b30746d37716b6768336c36766d6b6d717676706567386777367478726b736a3265366d7175636a3776396a3274796a71726a72656d666535736d6e797877303035663570617164617474397073783270746d686b71797563726538346d7868337636637763703072363470357473346e71726b6678367a377a746c7473773378716b6e646d6c7261326767726a673571613861666e32387779756630346c6637617a636a6d63713771797872703634763072306e786e66306679796e70687a3361757965727473356e306d7137397176383263326a3732796d32616d366b356130767a37616a67676a39367870716b6c7277716a64743632707076796c397578737a7730363532793538776c63346d6a6475323464303775376e733463656567736568307a633633327932646b79376764616b366678363278776c6367307963676d3639616b3078657077333264716d6d357274386b6d6d6a7a78706a36676b687566766b3635773073676d6c346d617a7566773664737377786c34346a6b7535796a72306b33367176686467787072757266766c3370676d7133353832707963303438387677797138767232777966716d376432793277356d636c306138366765357178703832396178613971736776666e3839373032336d70716376347867726861336c366d6a323067783070796c6a753366747264667666706a78666b677273373967397478643237617373777035656a367735376c736467797067776a656a776a6a7867386a63343367676a7765646c7778666664687179717061687576336a367264687361736b6a77753566376d706a3371746467717a397767346468797276326172746c746378753375617633346d303630666d35383739677267637763376372326866346679367239367030347a647a75723766676433367135747268676a66687074383472327a7574756e38747576386d786d666538336e7a756a3572646b78356e78793471663075617274666e376633646a7971796870337a6e34"],
[null, null, "b4da1de64ff7ae804cd823f0d7b9ebd420beadef674b68399c7a31a3ff8b1b1edebd757e754423ddc889be2562618c1bb94921c987e09de96a0e6c591a453f0cc61bf8d4d70bf1825a1210499e2f7cf030be723958d6e939026434aa7aa68039", 65535, null, "75766965773165773575746379656872706c306c38683534793368757366676770796d3435347a727136747539777439797a7139356a6b6c38736a336d6a6879726b353778356a7975767837746666326c677a6a6779707472786a7979346833786336386639686a796d75746e3071306d64396737787872667a3772727a39746132756c736732636b74726464763338306b33767935777768766c7135657866796d366564736d67717467617537327338733461796873367434746d71756130713236"],
[null, null, "e72af55323ac5bc329a0c75bbb72c89ff5467b801d5783b66b39d02f87d03a117765db7fb65b6a4719958328d949adcbbe6b5bf92ad2539b6cc31948f3884a2811d3ae941ba3d218d7463f2b7dc158aa97d91fe06c2595a572c6c015c8647224", 65530, "596555ed9494c6ac893c49723833ec8926c1039586a7afcf4a0d9c731e985d9958", "75766965773174657a306b366a776e703661717a716166366670366a3865366c7771746d637a3868746e333536686b67356e756b373033666173337266777761743333653361616b3039306173616a6c737972756b366d6c7135646a713932776571743339677a37763577783337383873676533343571766a346e6d653335677276336477733466743461797371767132716a7a7a63767965793072776767797677366d79727136723076306370367870387a71386a63653677643664666768667175726435687977377970753379347565726a3737776873383071666c3739366370386a3339766836773561616171386a7638396e63756b67346d3537"],
[null, "1bec3da863b3274f4a93458559355066d32fce9d9cb051b2f42ef0ca425361b71ae8f4a40e143cb905b0471ae24781549de69ceeb582db050392e05c6e794685c225a75133434ad8f7c194576e65c0fe25bd7b1000ad07cf3dc63d6c6b7740ff8358a5cd3634092fc31611df64a2206eab0c5b8bcf056738f00bccbc615ffc87", null, 65533, null, "7576696577316771686c6c39657a68616632786177616a7677326c6e783273786d766b6135636d7677766d3879653065677064356a6e6a7132377574306d777861767a3067676465736d666d6b6a387633647167786d637878736667636a7865737a61797535717761333738743966743436763961386837726d37657466757864686d786661783674766468737161786c6c6a613876677633716133303768747270747674386d666a7270396c72396a6a7435386530393466763967653577327777646d326177797476727038653877703333736e6e726e753432336a6863687a776b386630686c363865616e7375716d6c61336e74"],
[null, "9d7e04ae88417ec87f82f4df18f35785b49ec1910e340d6b42e6248c88e2343691b2f0885065aaead6820bdc9dbc52a01bffad9b09298c7feb3002d9a863890ab681421ab447005e6cd49233d5ec66b92b63c78340f0cc23823f775acb1ef11f0d393f2be9b02bfd366cf1aaa0bb9328b2ad02f9adddef2e9aebed718c0e7006", "c4d6f75acbd5a42b053c2d2db17ed40d90718db0959cabffda2fcfe3dde734086ebfafd77b3ebf3648ee0f4ba5451356b18194bbfdb5fb4c4fe5a1fff11f3e2ef708c094983000425633d46329ffab857376718606fdf81b9224d0a6de700820", 65534, null, "75766965773176706a7a397664797973637579736e6b78756b6b6766757775726e36376b7a337a3776713670646a756a6a6c7670333971657a65343071766577307a397334656b64646634787368756b613635397863676137736b7276387263786667656c6d7a336135307663667276367130706d73373633616133306a386764376863376b726c326a726c7930303378783275677972377733727473666e38737661766b6c70727639766c66716e336335616c6e617164677475726d7677647a6d30686d6361326a636774717270677067343678756a78796d37336b613571673263723675783571646d7a3238366436796532653930736168717065726d686b636a6335646a6734373965786c727165766a767a356b673737767a6b306c6536673034756d787372717178336b70726d676c39656e713232717270397067327271733564327039357565777134327765643865646361756a7533676d6c33706666676e356868703936656e307563613834376463326c743261667933656437617777343964656575707a6767676468346566"],
[null, "625a20b874aef2dc146f22ad48c8f4516b32fbd4af3cfc94f6a995793114366a2d888601a6fa9d1293ba725f1ca94da2dddf92e7b6272069fe9599d540712e2f88ca41c967de424819a382a1d7f59e4d1e7452ee22a52884f52b0c71dd1eda58923e035e1adcb42846e5c3e29569e875b9d63f3c40b21445547d0a789a1c4030", "72c77b46af0a4173619e7e850b3e1ccbe137e3e83db05254699975bbd21cc82d28f537bb5c4574881ade4017bef217971791ba31998a37a99fe002c063d83c3cac9da4ed6d9191bfcf8a7e68590f65ec4e3efe827e7e8ea1e2a9b0680097b206", 65534, null, "75766965773134336c7577783479367970336565687763726e306b3479363736336c6c34747737356d703573617461343066357678636d3971753375706e39676365307378307875366a6a6336326b34707038746b7674743864753464396c38656371666e67667765336d6573717972347465666738383336357a3730706b63783067637a78647468356a3671306465383376366d637137366170687572787a333065347a6171326b7679397871716778776e3030647a6e63716538686539667567787968756a6434636d71363230633579736579326c3335326d746834376e35716c66646a3865796a6570797664706e7a326e37786a6863683374676e6463337463793866683564667235747771787a6b706e393238766c7467663036346a6b32796733397435666c716c78357473613538347a7764376774767779386c6736327968677139336c7632726b3474786668397a7833383433616a7265373339786a6878657338733536386167776438616b6339307a666a64393578726a307a6c71683234783970793977396366726b797579"],
[null, null, "226a052082409593988363063442bdd5907305bd83a40500233d7581c5058d26f69cc86e427bf98d16458b14b74fff5eb119d5ab0786e7a95356359b72a242354bdc50b58d380db7f9424b9f687098803e69a3b6dbee285dacde54b03e56981f", 65534, null, "757669657731786b706a397072336c373372637534306c796a38767a6e796a796439336d726872763664787570676868367a676d3333366678716d617a7776306e37637277686a3935726d79666b7272717a397a777579787434327477747371723537347a7a7479656a65336e776872336e7573397364716c366b7566687768687a32726a777239746b336d716d7176706173386a7732703230787267337773777170786d6377393067766b363665766b6a7a6d307a6e377a61373371767976733479"],
["12b56da9c382857deecc40a98d5f2935395ee4762dd21afdbb5d47fa9a6dd984039b50a122f26ede2e13ff63b130c90f4c0f951ae8a81ddc1a4c987754f144c536", "068d407022db8e5dd0730882bd54851ca0797a00dff60e358d28a04df20793838ba1618a6871da256cdbf7d8ad2ce81d9ce01df64765bc7c14ac74e7ed60129090fcb061b3e672a742aa0f5db728265947355b6375f3d2226b25129dced2e0991d02f739d2d822df5d41edc122b2330916ba36ca09e80cf07f99be4a45fce8e7", "7ee622df8c71e3da6e509aae7ab0171e275a573b13bf7c2016515bd90c2e8c24524ff7f72de2274b130a87eec6a9b3558d31ef78b022230b2b41aeb553db940b77094cceda509601cad94dfac33cb5fe70938d47b3839a612a7048e912f5ef21", 65534, null, "7576696577313264777a6d7467323475397861787a36746e37763575366d6d73676e6e7765746a3476386d67356d3566306b75636d6b357a3375783878707573376663333468616733616b66753337373772717439747932386d3930356a3974766d6e716a6c6b6c6139653437373979326739767a703778713839397879716e37356d7830676b6b733675356d64736e356c66676461756866667066337874646d7138676c3078783964727773733863723933337774346a753861636e32327035796738656b71786c36706b673637746b7176356a7a6a7a6a757464703461706732336b6c75307a687835386d6c6b786a63616a6c6736616e7534746d34386a6b616d747234336e6b39737a35307678737a633477357732326836783739647371677733777868726e666d70717973686135646c73726e3332353667633066677339706e34726b6766657a353971387067367438667739663563786476616676763938613077707232726373703534706c756b7571376c70617068766c323571666677746b3477377a7a74703466656c733865383339326d66737966666377716e766630756b30727a32346636326d6577676d36736a6b6663337163326878383673706b75737433797664386665656b3276656171766168613975756472636c357475367461366672336a3032676a796875756e76386463686c6668356b"]
]