@nori-zk/mina-token-bridge
Version:
A Mina zk-program contract allowing users to mint tokens on Nori Bridge.
259 lines • 131 kB
JavaScript
const credentialJson = {
version: 'v0',
witness: {
type: 'imported',
vk: {
data: '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',
hash: {
_type: 'Field',
value: '2441275728943142342815368391240558201146078457731999075131658214972795682298',
},
},
proof: {
_type: 'Proof',
proof: {
name: 'InputProof',
publicInput: {
_type: 'Struct',
properties: { signerAddress: { _type: 'Bytes', size: 20 } },
},
publicOutput: {
_type: 'Struct',
properties: {
owner: { _type: 'PublicKey' },
data: {
message: {
_type: 'DynamicBytes',
maxLength: 20,
_isFactory: true,
},
},
},
},
maxProofsVerified: 1,
featureFlags: {
rangeCheck0: true,
rangeCheck1: true,
foreignFieldAdd: true,
foreignFieldMul: true,
xor: true,
rot: true,
lookup: false,
runtimeTables: false,
},
},
value: {
publicInput: [
'199',
'233',
'16',
'128',
'125',
'210',
'227',
'244',
'155',
'52',
'239',
'231',
'19',
'60',
'251',
'104',
'69',
'32',
'218',
'105',
],
publicOutput: [
'23347315614098180285408727842598188444643262321726236791274878397170858095089',
'0',
'73',
'65',
'109',
'65',
'83',
'101',
'99',
'114',
'101',
'116',
'79',
'102',
'76',
'101',
'110',
'103',
'116',
'104',
'50',
'48',
'20',
],
maxProofsVerified: 1,
proof: 'KChzdGF0ZW1lbnQoKHByb29mX3N0YXRlKChkZWZlcnJlZF92YWx1ZXMoKHBsb25rKChhbHBoYSgoaW5uZXIoMDFjNjZmMTljMGM0ZjUyMiA0MTk5MzQwZWJjMjFiMDU2KSkpKShiZXRhKGY5NGY5OGU1MmEwYTIwYTIgNjA5Mjg1YzgyNWQ1ZDBkNikpKGdhbW1hKDg4Njg4NDY5YTEyYjFjMWEgOGY0YTc3YWU2Mjg0OGZjMykpKHpldGEoKGlubmVyKGU4YzA2OTk4OTNmYzQ4MzEgM2NmODMyYTUzY2QxMWQxYykpKSkoam9pbnRfY29tYmluZXIoKChpbm5lcigwZGJiZGNkYTMyNTA5NmMxIGU2ODcwNjZhMTljMGQ2MzYpKSkpKShmZWF0dXJlX2ZsYWdzKChyYW5nZV9jaGVjazAgdHJ1ZSkocmFuZ2VfY2hlY2sxIHRydWUpKGZvcmVpZ25fZmllbGRfYWRkIHRydWUpKGZvcmVpZ25fZmllbGRfbXVsIHRydWUpKHhvciB0cnVlKShyb3QgdHJ1ZSkobG9va3VwIGZhbHNlKShydW50aW1lX3RhYmxlcyBmYWxzZSkpKSkpKGJ1bGxldHByb29mX2NoYWxsZW5nZXMoKChwcmVjaGFsbGVuZ2UoKGlubmVyKDE4NDQ4MDAwYmM2YjJiN2IgMDIzOGIwODJiYmJiZTU0MikpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKDVhMDUxODU4MDk3ZTZiNDAgZmY4MWI1ODdiMzkzOGVmMCkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKDUxOGUwYjFmYTI2ZTFmZmEgYzVjYzY0MWJjOWIxOGE5YikpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKDc2ZjE3MWY5MDJiMTdjNDUgZTliN2JlMWEyMzE4MDlkZSkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKDhlNmZhNGJjYjQ2NmQ1MjEgZDE4MzY5Nzc4OTI1OThhNykpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKDYyNWFkY2M2OTAyYjFmOTIgNWRjMmM3NDhmNmRlZjNmMCkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKDVhZTljMzFjMTdiM2YyZDYgYzk0OWIwNjlmNzc0MjgxZCkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKGZhZmFjODFjMDNkMmVkZjkgNDlmOTU4NWI4YmU5YTFlYykpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKGNhZjVmNjEwYzk4NjE4MTEgYTlhZGEyNzFmOGEzZDk4ZSkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKDE1ODU0MWI4OTUwNzhiYjggNTA4NGI3N2NmNzUyYTBhMSkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKGMxMzcyMWY0ODIxMjEwZjcgZTdjODIxZGE0Yzc0NzMzOSkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKGQ0ZDJlYjAxMTg1YTcwOTggM2U0MWI3NGEzN2I2YzQzMykpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKGQxMjkwN2EyYzk1MzA1ODIgZmZjYzMzNzYzYzk5YmJkNCkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKDkyODg1MzU3MjkwMzM2NDUgYmUxM2EzZDFhY2YwNGUxOCkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKDY0ZmI4Y2I0Mjk2MjNhNTggZTU2YjUyNjI2MTVjZGFiNSkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKGEyZTM3MjVkMThjOTRlMzAgYWQ0NzExMjZlODk5NzA0NykpKSkpKSkoYnJhbmNoX2RhdGEoKHByb29mc192ZXJpZmllZCBOMSkoZG9tYWluX2xvZzIiXDAxNiIpKSkpKShzcG9uZ2VfZGlnZXN0X2JlZm9yZV9ldmFsdWF0aW9ucyhlMTZkYTYxY2IwMzYzYTNiIGFiMmE3NjAyNGFjNTZjZTQgOWNhZjA1NGU0MDFhYmE0MyAxYWQzNTQyMzE1ZGFhOTQ1KSkobWVzc2FnZXNfZm9yX25leHRfd3JhcF9wcm9vZigoY2hhbGxlbmdlX3BvbHlub21pYWxfY29tbWl0bWVudCgweDEwQkExQTBEREY2RkRENzdCNkZCRTkxMkZGNjg3OUJBOURFNUM4ODJGQjdBOEJBODVBNjI2MzM4QjU5Rjg4RDEgMHgwM0FEQjZCMDg1M0U2M0VCRTVCQjc1N0Y5MjJDQTk0OTBFRTU3RDQyQzA2RjcyNDdCRTI3NUY3MTQyQzNBOTk4KSkob2xkX2J1bGxldHByb29mX2NoYWxsZW5nZXMoKCgocHJlY2hhbGxlbmdlKChpbm5lcihmYzhlNDZkZGQ2N2I4YzA4IGE4YjM3YWNiNzJlNjIyYjEpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcihjZmY1NzdhZDZmZWMwZmM3IDEzOWNhMzVkM2Y2MTM4OWUpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcihjY2Q5YTE1MTRiMGZmM2I3IGRkMGY3MzE4ODQyOTc3NDIpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcihmZGRlZGI3NGU4NzEwMzM4IDgzMzhmNGNjZThjOTgyMTkpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcigzNDE3YmU5NGNiODdlNGJlIGU3YjAwNTFjZDdhZTk0YTQpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcihjZmI2NzU4YzJjZjgzOWFkIDI1ODVlYWRhNzc5ZGZiMzIpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcigyNTYyZWExYzJmN2JiYzNhIDAzZmE5NTU0ZGNhZjFlZGMpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcig4N2RiN2E2ZmNlODk1ZWFjIDA1YmM1YzUxYzg1OGJmMzQpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcihkMzZkY2VlZjMxMzkyOWFjIGE2N2Q3N2Q1MzUxMjA5NWYpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcig0YTgyYWIzNjdiYzdkYTU4IGFjYTIzYzdlN2NjNGQzNTEpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcihmZWQ1YzJlYTVlMDcwMmUwIDZhZTFhYWU5MTRjNzhlMWMpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcig4N2ZiZjhiZDFkZGJhZGRlIDM1NDQ4NDk4MmM4YmI3OTApKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcihkM2EwNzM2NzRjMWViMzNiIDVjZGI4NjA3ZmFmNjQ0MmYpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcigwNDU0Zjk4MWUwYTQ4NTMwIDc1Mjk0OTk3N2YzZWRlZWUpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcihiMDVjZGY5MGNkY2MzNDllIDY1YjhkMmQ4ZjFhZDE4ZWQpKSkpKSkpKSkpKSkobWVzc2FnZXNfZm9yX25leHRfc3RlcF9wcm9vZigoYXBwX3N0YXRlKCkpKGNoYWxsZW5nZV9wb2x5bm9taWFsX2NvbW1pdG1lbnRzKCgweDNGRDI2MTc2NjhBQkFBQUJBQjYyNEM1NkVGNzIyMTkzRTM3RDc1NDNFNzJFRUNFMjAzRTc5RDE1MTdGNzZBMDYgMHgwQzE0RDlCMkIyNzhGQ0M5Mzk2RDgwRkUwMkI5N0VDMDM5RkVCMjZEODk0M0EyNkExM0JEMTJDMzM3RUU2REZGKSkpKG9sZF9idWxsZXRwcm9vZl9jaGFsbGVuZ2VzKCgoKHByZWNoYWxsZW5nZSgoaW5uZXIoMmUyZTg5ZTRiZWVjZGQzYiA3NzBmZTcyYTRkNzU0ZWEwKSkpKSkoKHByZWNoYWxsZW5nZSgoaW5uZXIoNjc4M2RhNDIzNjNmMWRhOCA1YWE3Y2YzNWZiNGM2NjQyKSkpKSkoKHByZWNoYWxsZW5nZSgoaW5uZXIoOGI2NGZhYzdkNWUyMTE2MSBjNGRiOTU1YWYxNzcxZjE4KSkpKSkoKHByZWNoYWxsZW5nZSgoaW5uZXIoY2U3YTk1MmQ2ZGNiNGY3ZCAxNjJmOGViN2I4NTNlMTdhKSkpKSkoKHByZWNoYWxsZW5nZSgoaW5uZXIoZTdmZjNjMzhjOGIyZDM3ZSA4ZjNhZDgxMzYxYTk3NzI1KSkpKSkoKHByZWNoYWxsZW5nZSgoaW5uZXIoODRjOWU1YzNmNWE3NWQ4OSAxYTFjNWU2N2IxNTE3Y2MwKSkpKSkoKHByZWNoYWxsZW5nZSgoaW5uZXIoNWZjMTRkYzA1OGRlNzJhNyBlMDkzMjJmOGRhZjU5OGM0KSkpKSkoKHByZWNoYWxsZW5nZSgoaW5uZXIoNDVkZjlkN2MwYjk1YWM4MSBkZTkzZjZhMDVkZDExNDQzKSkpKSkoKHByZWNoYWxsZW5nZSgoaW5uZXIoNzY2ZWZhM2MzNzRhNzk1ZCAzOGIwZTljOGEzNzE0NTFlKSkpKSkoKHByZWNoYWxsZW5nZSgoaW5uZXIoZTQyN2Q2NmMzOThmNWNkNiA0MWQ1MjgxMDMyNDI0ZTZiKSkpKSkoKHByZWNoYWxsZW5nZSgoaW5uZXIoMjlmZTU3YTFkNTMwMjIxMiBhOTQwYjU4ZmI0OTZiZGZmKSkpKSkoKHByZWNoYWxsZW5nZSgoaW5uZXIoMjg2MzdkZGI3ZTA5NGIwNiBlZTYzZTZlYzJmYjdjZTZhKSkpKSkoKHByZWNoYWxsZW5nZSgoaW5uZXIoZmM5OWVhODkyZmU2NDM3MiA0MGYyZTMxMmM5ODY2OGNjKSkpKSkoKHByZWNoYWxsZW5nZSgoaW5uZXIoZTA4MDJkMjRmYmMxZTNlMSBkNGVhYTAzYmFiYTUxNTZkKSkpKSkoKHByZWNoYWxsZW5nZSgoaW5uZXIoODViNDdkMTM0M2FhYzk1MCAzYWQ1Y2Y2NzJjMWJhNDc0KSkpKSkoKHByZWNoYWxsZW5nZSgoaW5uZXIoYWRiOGFlNWU0Y2E4YzZlOCBmODhkNjc4NzQwMWFlMGY1KSkpKSkpKSkpKSkpKHByZXZfZXZhbHMoKGV2YWxzKChwdWJsaWNfaW5wdXQoMHgxNDdBMkEyRkVEMjg2OEM2MEZBMkYzNjA5MjExQjJBOTE5MTRBQTdDOEI5MzkyQTBFMTE2OTZBNTg5RUVBQzVFIDB4M0Y0NThENEM4NkNGRUJGREFBMEI1MUE2RDQ3REVDQTlDNDRDQkEwMENFNjVDOERCNTQzRUQ5NTgzNzQ0QzU4MikpKGV2YWxzKCh3KCgoMHgxRDBBNDgyRjI4RDk2OEQ5MURBRDcwNUFBQUJEQ0Y5NkUwRDMzNEJENkFFMkFGOTdFQ0NGNDVGRjRFOUQyMkM2KSgweDI3N0ExMjAwQ0FBNzUxMEQyODA2MDZDNDJCQTc5OEVFNjBCRkRDMjhDMDI3RDdGNURFRDcxN0M1RTFBOUE2QkEpKSgoMHgxOTNCMDNFNEQyRUM3QjRBQTA2MjgwQ0I0MzkwOERENThDN0I4RTA2NkE1Rjk1NDI2RThDOEVFOTdGOEI0QTgwKSgweDJGQjhDNUM0RENCRDBEQTlCQkQxRDA2MjlGMDkwODlFOUFGOTMzRDYyQ0VFMTJEOUZEOTBFQTI3OThCNEFFNzApKSgoMHgwQUE4QTg4Mzg4NEY0ODA5NkY4ODVBM0IwQTMwMEIwQzk3Rjk5MzhBMkYyNzg3QkY2ODIzMzU1Qzc5MDhFODNCKSgweDAzRUQ1QUYyNDE2MzZDQkU2N0ExQTk3NURFMEJDNERENUMxM0UwQzkwMjQyMDEyM0MzNUJDRkFFRUE4NTU4QjYpKSgoMHgzNUM2NjBDNUMwQjc3MUQ4REY3MTdCMzkzRTIzRUI5NzZGNjIzNjQ4RTY2MDQzRDMyRkRGQkRBNTQ2MEU3QTM1KSgweDMyRjI1RUYyMTI5RTAyQ0NDOUJFRTIwMjAzMTExQ0YxNzY3NUMwODAyMkVEMzYzNTEyODk2RjA5NDM3RjU4NTMpKSgoMHgyMDJDMzFDRjI1Q0ExQjU1QjE5Mzg1OUQ5RTMzNjkyQjMwNzUxQTJFNTU1QjEwQjdEQkU2OTVFNkNBMzU5NDNDKSgweDJDNkM3MTQxRTE1ODk1ODUzNTUzQUYwNEE3QkMxQ0QzMUQ5QzY1Q0Y5OTc1NzhERkNFNTg1OUE0QUIwMDdEQUIpKSgoMHgyMEI4MkYxN0FENzc5RTg0MUU1M0Q4QTdFMEQ1RDkzRTM2RDc4QURDNDYyMjkxNjdGMDM2REE4QTQ0OTM3NzNDKSgweDBBRDYxMjc4MDg0OEY1RUM4RkZBQUY2QkFDQTZDQUI2Q0UwRDU0QTU4OUZEMjZFOUM0M0U2N0Y1QTIwNUUzNkEpKSgoMHgwNUFCRDY0MDYzMTlBRTJCNjI3N0IwOEY5QjQ5NENGMzZFRDIxNDM0MTUwQTg1QzE3MTMwM0UwQkVERERFOTIxKSgweDM5QUM0RkM5NDY1NzJFOTlBMjAyQzk0NTYzQjgxODlDRUYyODU5RDY5RDdGRDkxOUY3RTM5MkIyQTZDNzU4QTgpKSgoMHgwNjYyMzgzQjFBMTM5NDgyNDNCRDU4OTMyNDg0NTlERTMxQjJENkUxODREQTZEMUU0NTlBNTU5MEQ5MzVGQUEzKSgweDA2REEyQThDMTU2QjJFRDhGQTA1RUFFREYzRUNBMUU0NkI0RTYxM0FEMDkwMkUxQTU3MDlEQzA3NTZDMENDRDQpKSgoMHgzQTdENEI0RDVGOEFGN0JBNUM0MzRCN0VCNThCOTJGMTYyOTM0RDJEMkRBQzBDODUwMDIzRTU0QTY5QTAzMEJBKSgweDFENjc0MDhEREJDNENEMUUyNzQwNTcyRkE1QTZGNDgzOTYyNjRBMTY2RDY5MDQzREZCREM2RjAwRkY4MzlCRUMpKSgoMHgzMjI3NTUxQjFEMjIwMjM4QjY2NjA4OEY5QUI5Qzk1RDdBRUU2MDg4QTJCQzAwOEQ2NDBFODQ0NzA0REM3QzQwKSgweDNENkUxNjY0N0RBQkM1QkIxQTQzRTNDMDRDNkFGMzI4MzhFRTA5ODZCQzdFRDJFQTQ0QjE4QzU0RjMyRjBBMTgpKSgoMHgwNDBDRTQyMEJCOTUyOTczNEFENUM5MERFNEE3NTcyNzI3OUE0RDZDOUFCRjgzMEE2OTUzQjc0OTRCMzkzQTBBKSgweDMyQ0JGMTk5NDlEQTgxMDlEMDI1MTg3NDVGQTJDNjM4NTg2NzdENDM5OTEzMDY1OTcxMjM0NjcyRTYyRTQ2QzcpKSgoMHgwMTgyMkRERjNERjVENkVENURBMTBFRjJEQzg0MjU4Nzk0RjJFNjg2QzYwM0JBNjQxNDMxMTlERTc2NjZDNjZGKSgweDMxQzg5OEI0NkYzM0U0RTE0NUYzNTM5OEM0MUU2OENFQTU5RDdENUZBQ0YzNDk5QjM3NDhBMDhBRUQ2RjA3RDgpKSgoMHgwNzhDRTBDOTlERDgyMjVCQjY5M0REODYzQzNGMEZDNkJGRUVDMDk0QkNENDkyRTdBMDQyMUJENzMxNjBBOEUyKSgweDEyNjFEOUYxQzY3MDAyMUM4QTY2MjI4QzEwMkZEOTMzQzkzMDBEMzY2NjdBMTMyQjgyQ0ZCRENCNTVCNzBBRjApKSgoMHgzQThBOUZCMTNFNDdCMTIwMTY5MzY0MTIwRThERURFQTgxRjM0MzkzRDhEOUU4MTVCRUE3QzJBOTQ0MUJCMzE1KSgweDAzNkI5QTJEREQxMzg1OUQxMkRDQjgxOTRDOUFGQTcwRDMxNjJEOUM3OTlENEM3OEMxMTI5RkU3QjgxM0RCQzQpKSgoMHgwOTQyOEQ4MDk5NjdFMTI4NTkxOEM4MkQ2QzM1QjVEOERGRjQ5RUUzQTcyRDJDQTE5NzBBNjQ0M0Q2RTIxRjU2KSgweDM4MDgyNDY4QjI1ODA3MTdGNjA0NDE0MThGRjJCNzhBRDVBRUJBRkI1NDdERDc4ODk4NjlFQTQwQzAwQzIxRjgpKSkpKGNvZWZmaWNpZW50cygoKDB4MEZDN0REMkIwRkNDNzA4QTZGMTc1REVDOTY3RkI0QUIwNEFBNzY0NDA4QjI1MUEwNTNFNzAyN0E5M0ZDNUFBMikoMHgzQTMzQTlENzBBRTFCMzQ0OTAxNjBGRTM2NjE2NjE3MzY0NDk4RTNEQkVERTcxQTQ3QTc1RUI0OTdEODI1N0IzKSkoKDB4MkU1QjZBNzlDMkIwQkQ1MkM5OTJGNzMxODQwNDk4MUVBMzRCNTYzNjQzMjFFNUNFMDI5MDRDQjFFRDJBQzkzNykoMHgxM0ZEOUJFMkEzMzA2RkIzRkQzOThGNTVGMUYzQjZCNzk2MTBBQzA1QTBCMDJGQ0JFMzBDMEYwQUU5NkYzRkJDKSkoKDB4M0U5RDgxNjc4MUM3Rjk3NUEwMzM0NUE3NDRCODQ5OEQyNTc4RTZFNjI1QTIzNDYwOEI2MzhDQUM5RjI3MTM5QykoMHgyRTYxM0MxNzg4MkQ5QzZDRjJGMUM5RjgxMjEwMTMzODI1OUE3MzZFRUU3NzIwNDkyNjlGMTY0NTNFRTQzNEE5KSkoKDB4MUU3NTBCRDI0QTM0MEM0OEZFMTVCQTNFQTY3OUFGMDQzRTI0NjRGNTczMzE2REIzMTkxMUNBN0VBNkU5MjAyNCkoMHgyN0E3QzAxRUUyRUU1NEI2QTMzMTZEQ0IzMzBEREY0NjM1NDk5RkUzRjc4MTVBMTQ4QTMzNjZGMThCN0ExRUM3KSkoKDB4MTFEMzc3NTU3RDc5Rjg2OTcyRjc1MjVEQzhGNjFCNjcxMTBFRTJCNzQ5MkIzQTMyRTE2MEQzNEVENDE2NUMyMCkoMHgxREEwNUYzMEU1NTZDRDhDODEyNENEMDU5NUQ2RDY5QUEyRDM4Njc0QkE2MTlGMUQyOTFBOTMyQkNGQ0I3NUY5KSkoKDB4MERDQTFEQ0M5Q0MzQ0ZCRUFCRjFBRTk0QkY1QUNERUVCMDBDM0ZGNjREODA1QzhGMTU4QjQ3MjJDNTg4MjQzOSkoMHgxMzAxRjBGODQzOUJERDI4OTNGQzFFMTJBRkJBOUVBMTY5M0M3ODYwNjYyQzJGMTRGOTE5QjJERDI4Qjc0RTZEKSkoKDB4MDk5REZDQjIyRjc0NDJDODI5MEY0MURGMjVCRTRERDU4NzA3MURBNDZDRkFCMjY2OTUxRUI0OTcyQ0YwOUIyNCkoMHgyQTE2OTlCMDk4NUZCMjg1RUJFMjgzQjFDMEIwQjVBNkM1MERCQzBEQjQ4NDhEMUFCQjA1M0E5NThDMkU5Mzg2KSkoKDB4MTQwRTM4Rjk5NkMzNUQwOTJCNTMxQzY2OTVBNkJERUNENzIzOTkzMUM4NkVFMEM2RUIzRTIzNkI1NTNCRTRBQykoMHgyOTg5ODQ5OTgxNkFFQzk4NzQxNThENUIzOEEwNDdFMkE4MzJERjM5QzQzQTdFMzhBRjhDODY5REMzMDEzNzc5KSkoKDB4MDM0ODJFNDFFODg1NTc1OUE1MTkxREUwRDkzMUE2RUNGODZCQzVGQ0I5QzlDRUNGNkREOTlBMDE0NzhGQTQyOSkoMHgwMjE5MUY0QURDRDU3MUJGM0U1MTdDMTgyQTQ5MERERTk1OUE3QzRBQTIyOEYwMEU4NjU4NDAyMURBMzI0NjhBKSkoKDB4MkQzRDQ2RTZFRDI0NkYyQTg4OTNBMjIwRENDRTRBNzQ0NjQ0N0FGMjQ1MDQ0NkIxQjNGNDY4NDkyM0REMzU4QikoMHgyN0I1OUI0MkEzMEQ3OEEwNzNFNDcwRDQ3QTVEMkE3MTEwODcxOUQ0QjQ0RjYwQkE3OTNEMkJEMEE3MzYzNzNBKSkoKDB4MDM1NjdBNUU5NjU2NEQwRkI5OTcwODI0RkMyNkQ2Nzc0NTRFRUNFQzQ3REFGM0NGRTFFOEE4RUJCQTlEQzg0QikoMHgzRjM0RjlGRjIwOEE5Qzc5OUJGODkyRkY2MDUwRDVDOEU5MjY0MzY5OTgwNUFFNzhGNTMzRDRCQjZCQ0Q3RDM0KSkoKDB4MDMzRjg1RjBFNjM3NjJFNzdGMkExMjhGQzEyMkU5MkMyNjg4M0E1NDAyRjE0QTk5QjgxOUI2OTVDOTE3MzhCMykoMHgxREU2RjkyMzA5OUIwRDIxMEM4RkYyNzIyQjk1QjEwNEExMkE5RkEwMTQ3MkVEQjI4RjlCQzIxNDJERkE3QzdEKSkoKDB4M0MxRkY4QTlEMkI3OTQ3NzdGRTc3REI1OTdBQzI0OTFFRjA3QTVGMjUzNTI4NEVCNkI0RDRENUU3QUY1RDhDMCkoMHgxOTgzN0NDN0QyMUQ1RDU4NkIyOEFDQjU5N0I2Nzg5RkRENTg2MTZBMEI1MTkzRkVEOUQ4NURCOUNGNjM2MTg1KSkoKDB4MzM3Q0RGM0UxQjYzN0RCQzA3MDY1OUY0MjE4QzA2QjBGMjJBNzgyMjhEMzYxQ0FFMUMwOTAxRUY0ODE0OTMyOCkoMHgwNUY4OENFREIzMDFGQkNFRTc0RTgxMTVBNzM4REE4OTgxREFCRDI4OTAzM0UwNEU1OUM2QUNBRTBEOEI0RkJBKSkoKDB4M0M1Nzg1NTE0NTk2RkMxRkRCNTdBM0U1NTQxNEVCOTdERTE4QzY1MkE2MERCMUUyMzJBMjkwQzIyNTdCMTQxQykoMHgyMUVCQkIzQjM4MjczNzI5MzQyQjJFQ0QxOTExMDdGQThBMkQ4QzYzQ0Y4RTA3MjM0QUQ5NEVCNTEzRUIzNDY4KSkpKSh6KCgweDJFRTQ5MkU0RDI1NTJCODc5NzEwRTg5M0M3RTgwNDczOERDQjYzRjQ5MzA3QTg5RDU5OTY1NEUzRkU3QTlDQTApKDB4MzFGMDlEMzM5OTgxOUQ2ODUzODE0MTgwMEUxQzc4RkFGQzdFMUM1QkE0NkUyQUUxQ0I1REUwMzQwRkMxQUE4OCkpKShzKCgoMHgzMzlGNTcwRUMxQTlDRjdFMEM0RUZCNENENUMwRUI3RDdFMTIwMkE4RUZGQTA4MEQ2Q0I3RDhFM0QwQkJEQjJFKSgweDIzRjdDRDc4NzM3RDZGRDBCNkU4RERFNDc2Qzc3Q0FEMDQ2NzEwNDdFMzlCQkUyRTMyQUE2Qzc1ODBDQjY3MkMpKSgoMHgyMDRFN0QzNTYzMDU2MDhGRTE2RUY0NUJFNDc5RUFCRjdFOTNERjJCQTE0NEYzQzQyRDlFMjNBNzMzRjkyMDBGKSgweDI0QzgwMzgyNERGMjBCOEJERUNCNzFGMjU3RjlDRDBDOEI1RUUwODU1Qjc0NjQ4NDBEOEZERUU2MkFFRjdDMzYpKSgoMHgwOTJDNjY0QzMwM0Y4MzM5QTYzQUUzNTFDMjBGM0I2MEUyNDE2RjY0NTkwOUI5MzZBRDVENDAyNENBRTkxMUVFKSgweDI2NDAyRTk2QjBCQTA2QzVBQzQ1RjRCMEYxQjdCQjdCRjA3QTA1QTM4NzU5MzFDOUVCQUJGNUQ0OUI1Njc2M0UpKSgoMHgxQzY0MDBGOEY5ODMwQTM2QTkyN0U5Njc3NUNCOUMwMzY1QjgyNENEQ0JGMjQzOTkyQ0FFNDlCNjBCNzAyNzNGKSgweDEwMzI5NTkwQzAwQTk2OTAyMUJEODZBQ0E5RkQ3QTIzRDFCQUQwRTVGRDhFOTFFMDg1RDdCQzU5RkRBMTdDRTUpKSgoMHgxMTRGMkE4REQwQTQ0QjZEMEExODI0MDU3MDU5NTc4M0I1OTA0NjM1RTJCMjkyREEwOEE0ODFBODYzOTE1Q0MzKSgweDBEN0I3NzM3RjI2MzIyOUM4N0M1RTQ4RERBNDJCREE0MzUxMUI5NzZBQ0E0MjYxMDU5QTdCMTlENzU2Mjg1RTApKSgoMHgyMzM0NDY2MDRCMDU1MTMwM0EzODcyQUYyREFBMDM5RkVBMjA3QTk2QkZDODg5RUJDNUQ0ODc0OTYzODE0NTYxKSgweDA4MDZBM0NENTg2Q0MwODgxOTk2NkM5RDUxNTU3NDlDMDdFNDFCOUFGODA0QjIzMjM4QkQxMzM3Mzc5MjdGREQpKSkpKGdlbmVyaWNfc2VsZWN0b3IoKDB4Mjk1NTQ4MDE2NzlBN0Y1MTJDMjM1QkExMDlBRjlENUNBOUJBRkQzQTYyRDJEOEFFNThDQTdEMjIwNjczREM5MCkoMHgwQ0ExMUI1MDk4QjAzODMwNDZBM0JDQzIxMDA2NUJFNjRENDJENDM2RTZDQjE1RjBEMzY3NkY0MzE0NTYwNDhDKSkpKHBvc2VpZG9uX3NlbGVjdG9yKCgweDA4NkEzNzdCMzlEQUFGMTA3QzhGNUE1NzQ5Mjc0QjI2RkJERkY4QjlCRTlGMTk3NEVDQjE2OTc3NzJGOUEzNzQpKDB4MkVCNDg5Qzg0MkIxNTlBOEQxQ0Y1OTczMkI3NTY5MEY4MUY2MUY4ODcyNjVEMjE1RkVERTQ0N0E0NTFBQUZDMikpKShjb21wbGV0ZV9hZGRfc2VsZWN0b3IoKDB4MEMwRDkwQkI1MjY5RDMzNkNFOEQ5OEI2OTQyMzJDMTVDQUM2MDQ1QkYyMEJCNDJEQkNEODY5RkYwOERDMUE2OCkoMHgxMUYzMDJCMjVEQTdBMzI5NkUwQzZBNTI2OUQ1ODhGRURGRTdDNDZGMkQ4MzU1RjM2MTYyQTJBM0JEQ0I3MTY3KSkpKG11bF9zZWxlY3RvcigoMHgyNUU1RjJERjcyMjQ5QkJFRDVCNDYwMjk5NzdBQ0M0REU3ODU4MjkxQkUwNDhERjE5RTk3NEI3Nzc1OUY1OTM4KSgweDM5NUQwMjBBMjY4ODg2QjdCOTgyMTQwNzE4QUU1NDAwNERGOTNBNTFEOEQ2MTY1Q0EyRDNGQzBFMjQ2QkZCMkIpKSkoZW11bF9zZWxlY3RvcigoMHgyMEJDODE2MURDNjJEQkVDOUJGRDQ2OTdENjYxOTJERkMyRTkwRkY5RDYxRURENDkzRUUwRENGNzEwMUZFMzJEKSgweDM1NjQ4ODJCOEE0RTY3M0E4OTc5NzhENzI1OUUzNTc2MjNGMzMwNEREN0QyRjI4MUZDMDU4NEMwMzQ5NUVERjEpKSkoZW5kb211bF9zY2FsYXJfc2VsZWN0b3IoKDB4MTI4NDUzQjgyODMyM0JFMDc5NDI4QjVFNjhEQkExRkNDOENFQjQ0NTYzQkI5NjhFOEYyQThBNDM5RDE0RkFDOCkoMHgxN0I3MUYzREExMUNGRDZFQTM5MTI1QzA1NzFDRDdBQjcxOUQzMjFBQTc1OEYwQjhENkQzQkI4MkRDRUJDRjI4KSkpKHJhbmdlX2NoZWNrMF9zZWxlY3RvcigoKDB4MUZGMDdDQTBBOUQ4MUI3MEZCNUZENEM4NEU4OUIyNTYwRTYyRDFGMDhGN0QwREQwN0UwRTg1NzlERjE4OUJGRCkoMHgxMDkyQkVERkFFMDdFODZBOTFCMDcwNDExMTVCRkE5RjNFRTVFOTBBODRFMzU3RDRCM0JEODk1NDgzOTU3MjA2KSkpKShyYW5nZV9jaGVjazFfc2VsZWN0b3IoKCgweDBDOUJGQzY4NDg5Qjc4MDg0MjQ0RDc0Njk1QzExNzc3NDVFRDM5NTYyMkIwMThFOTkyRkY3RDhFMUI3OEUwNzMpKDB4MjE4OERDNUUzMjNEM0MyRDI0Nzg1MjhGRjg4NDg2NjQ5NDIyREMzRTgzRjkzRjgyOEY0QjkyMEZFRDg5M0JBQSkpKSkoZm9yZWlnbl9maWVsZF9hZGRfc2VsZWN0b3IoKCgweDBGQUY2QjYzRTAwNUIzM0U4NjM3MjQ3ODE5NTcwMUNDNzU3M0Q5MTU1Nzc2Q0U0MUU0N0REMEUxMzEyODMyQzEpKDB4MzAyQTEyRUI1MTNDMUU3RjAxMkFDMDMyQzVBMkUyMjkzMzU1QjU5Q0UyQUIyRTBCQ0MyODg2NjVGNkJGQkZFRCkpKSkoZm9yZWlnbl9maWVsZF9tdWxfc2VsZWN0b3IoKCgweDIwMjFGMjU3NjY1NENFRDQzQ0UwNkQyQTJEQjIyMjQ2MjE5MUU4MDZGMkQ0NTg5Qzk3RkM0OTZDMUM1REZBNTQpKDB4MTYyNkE5NzI3NDZEQUMxRjM2MkRGMDhCNUNGNTU5MTcyMTIwOTNFNTUyQTdFODRBQkM5QTk5MjFENDQ2OEI0QikpKSkoeG9yX3NlbGVjdG9yKCgoMHgwMDExNUM1NDhGQzA5OUMxRjg4N0E1OUI3QTYwNjRFNzU1MUIxOTM3QjcxRDg4QURCMTlCNzUwM0U2RTNBNzFFKSgweDFDOEFEMTgwN0NDODUxQzAyOUJCNzBFNDE1RDczNTU2RUVEREEyNTE4NDkzOTYwN0M4NEFFMENDOTZGQUFCMjQpKSkpKHJvdF9zZWxlY3RvcigoKDB4MDc1OUU3ODdBQkMyRDE5MzgyM0M4NUJBRjAxNjlDOURCN0E4RDkwNjRBMDVEMUQ1RTA0NTg0RTg1QzRDQzFBMikoMHgyMjBFQzAyQTM1QjI0QzY2REQyRTJFQkFGNUFDRUJDMDcwMUZGNTZFNEM3RDQ5MTAyMjA4NTZERTU2MjVCQzU1KSkpKShsb29rdXBfYWdncmVnYXRpb24oKCgweDE2QTQyNDlDMDAwRTFBNUNEMzA2NjRCMTRDRUNCOUMzMkRBRjI3OTlCRjA3NTU5NTVCRkFDRjE3OERCMTE5RjQpKDB4MjlGQTc4OThCRDc4MDU4NjQwQzE2RTlDRkU5N0RCNkNGM0JBRjZBQjE1MDEwQTk4RDg5RTg2RjIxNTlDRjQ4NikpKSkobG9va3VwX3RhYmxlKCgoMHgwN0NENjU1NUJEOUMyNjgzQ0FDNzBEMDI1NjNFQjg4RjEwNDIyOUFDQjVFMDZCQ0E1MEM2NTNCQkUyOUYwQkYyKSgweDE3N0RGM0JCREIzQkY0NDQ2REEyMzlENDIxNkE3QzE3NkNBNzBFRUU3RDcyMjQyNkIzRDg5MEI4QTg5RDFDM0QpKSkpKGxvb2t1cF9zb3J0ZWQoKCgoMHgxOTJDMzEzOEMwM0U3MzNCNDZCMzA0QzZERkFDMTkxNTg4MzkxQkNCMEY4N0Y1QkNBRTM5RjlGRTMxNThEMDhEKSgweDI4NzU0QkRFNzA5N0EwODIyNkNCQzhGRDEzRDY4NzAyOEZFMjUzQzUxRUFCMkI0MDFEODhFNzgyODI0QkIxMTQpKSkoKCgweDIxNTNEMjE5QjFGMEZEQjc2MzZBNzc5OTMyQTQ5Qzg0NzZGMjVBMUNGRjMxNDJEMjY5QzE3QjM2RjJCNTZEMEEpKDB4MzcwM0FGRjlCNUIxMTUxNEQ5N0VERDRBNDEzMUUyNDQ4Q0YyMzM5NDc0RkRBMDUzMDMwMTcwOENCQzYyNDY3RCkpKSgoKDB4M0RGREIzODZDNDUyOTY1RUMyRTAzRTk1M0MwM0Y4M0FDQzk4MTJFQUYzNTIwNkEzM0M5MDBGRDk4N0QzQTUzOSkoMHgwMUYxNEU3OUYyMjg5RTIwMUI0QzZCOUZFNzlGNTY3NDhEOTg3QTc0MEM5QTg5MkZDMkQ3NTk4NDM5MjcyMTc3KSkpKCgoMHgwRjJGODAwNDBBRDg3OTE0NzY5REI0MDA0MUFGNDIwNENCMDk3MTJDNEYyMzk4MkU4NzJEQzc2QTM4ODg3NDgzKSgweDMzNUY2QUE2NzU3OTNCRkFERDg2RDM1NkY5N0NFMzQ4Qzg5MEE3QTA2RTczRjA3QjBDMkQ5RUE2RTE4QUU5MUUpKSkoKCgweDBEQTJEMzM1N0FERjQ2ODRBREU3NTc0NTUyOEUyOTdDMDlCQzdBNkFGQ0REOThCQzNCRTNENEYzQjlBMDNDMDgpKDB4MTVCRjY3ODI5QTY0OTk5MTIxM0EzRDRCQ0ZBMzMzQTdEMkE3NDM1OTkxQUYxQUY5NDU1RUI4MjkwNEM0RTIzMCkpKSkpKHJ1bnRpbWVfbG9va3VwX3RhYmxlKCkpKHJ1bnRpbWVfbG9va3VwX3RhYmxlX3NlbGVjdG9yKCkpKHhvcl9sb29rdXBfc2VsZWN0b3IoKCgweDAwMTE1QzU0OEZDMDk5QzFGODg3QTU5QjdBNjA2NEU3NTUxQjE5MzdCNzFEODhBREIxOUI3NTAzRTZFM0E3MUUpKDB4MUM4QUQxODA3Q0M4NTFDMDI5QkI3MEU0MTVENzM1NTZFRUREQTI1MTg0OTM5NjA3Qzg0QUUwQ0M5NkZBQUIyNCkpKSkobG9va3VwX2dhdGVfbG9va3VwX3NlbGVjdG9yKCkpKHJhbmdlX2NoZWNrX2xvb2t1cF9zZWxlY3RvcigoKDB4MzQ3RkRBRDA5RDRFMEY4OUYyMzcyNTJEMUI4MEUyMTJBNDBDNEYxNDk0Q0U5ODI5QTg5MkY0RUJBNjYxMDM0NykoMHgyMEM2NTdEMDVFOTJFOTA2RDU5QkM4RDI5NTRFODQzQjY2Q0Y1QjExNkVCRDAwMzU1RUUzQkVFM0UyQkQ0QTc3KSkpKShmb3JlaWduX2ZpZWxkX211bF9sb29rdXBfc2VsZWN0b3IoKCgweDE5QUMyNTg1QUI1RDkyQUFDODVFQ0M0MjY1NDE3QUNCMzBBOEIxQUE1RkJBRkZDQjc2NzRDRjAwOURGNTIzMjApKDB4MzY0ODlCQzlEQUMyN0FGMzczMEU1REI1OEFBNzdCNUQ0MkIyN0JFQzQ1N0M0MEU3NTQ5NkUyOERGMEE0ODU5RikpKSkpKSkpKGZ0X2V2YWwxIDB4M0M0NTM5MjVGOTc0QzI0RDcxNEVGQzU0MDA1NTU4OEU2QTUzRUY4MTlCOUE1RkJEQzhFQzRGQTY4RDQxMjY2MCkpKShwcm9vZigoY29tbWl0bWVudHMoKHdfY29tbSgoMHgwMERDREZGNkJDNjk5MjY5MjBFRTU3NDFFOUU3NTE1NDYzNkZBRUU2QkY2MzlDRUQwRjYzQjdFNjBBRDY1MDU3IDB4Mjc5OUZCNzMzMDk1M0YxQTBFNDJCMEI1MzNBNzg4NkIwODc2NEEwRkZDRDVDQTlFNEZFRDZFNDM2RjUzMTkyOSkoMHgyN0E5NDM3Mzg1QkE5ODMyRUI0QzY1ODI2Rjg3N0Y5RjE5Qjk3NEFBMkMxOEEyNUJBNTFFQTUxN0ZERUZGQUZBIDB4M0IzMzVGMERFMTAxQUZCOTQwRjA3MjAwQTdFNDU2MTFGMDIxM0U5QTlBNkUzRjgwNUVFQTZEN0VBNjZBMkJBOSkoMHgxMTkwREE4NTk3RDYzODcyOENCOTQwMkZBMDEwRTE0QTVBODRFRTMwOEM1RERFRkQxNjlCREI0ODRGMUYwREEwIDB4MkU3NUQyOTIyNUI5QzJFODk2MTUzNjczQTM3N0I2OUFBM0QxMzNENkQ1MjIwN0FDQTQ4NzIwRkExMjY4QjUyNSkoMHgwOTIxN0Q0MEVEMjg0NDhGRURGQzZCRjUxQ0RFMzc1Njk1NUZEMEQyNTFBMjE4MUY3RUI2MEQ5QTNBQURGRDVFIDB4MEY4MjM2NkEzODc1NjlGQTFDRThDMkE3Mzc1NkVCMTM4MjkyNUQzRDAwNTA4QjIyNjU3RDJGQTk5MEU1QzM5RCkoMHgwM0M3QzA2MjcwMjI1QzAwOTQyMEMyMUNGMzU4QkVFNzc0RDJBQjFBREM3MUMzRkM1RjkwQ0NFODYzREMxQjdGIDB4MjY1MTZGOEUzNDA4Q0I4N0Q0MEJCMDVENjBEODRBMzY2NUM2MTA2NkVBNUU2NkRFNkYwMzQ2RTU0QzU2NkIxNykoMHgyRTg1RkQ3NDU1Qjk1NzVBNDVDRjU1NkJDNjAzM0E4MkQ3RDFCNDU5QTFBNzIzRkZCOUVGMzc1NkY1MjZBQkE4IDB4MTMwQjEzQjE1MzFDMDBBRkQ4MTU4NzUzRjhGNjJCN0IyODg5QzY2NzU1QUQ5REZEQzA0RjlCMTkzQzA1RjVDRCkoMHgzOEU1ODA3RjE4QzhCREZENEQyOENEQjVDN0NBQzE3M0E4RTU2NjBEMDY0NEJCMkE2OTUzMUJBMDc1NkYxQzlFIDB4MDBEQTMxQjk2NzIyQThEQThFQTE4RDE5ODBEMzREQzYxNkVBQTFDMkVGRkIxQ0Q3NUFDQjEwOUFCOEMxRkEyMSkoMHgzNEZFQjEzNTQ3QjE2RTQxM0RBOUMzMzZBOTMzQUM4RDg3ODdGQzZENDEyMzM2RTRCQkM2MzcwODFBMENGMTREIDB4MDA0NUJEQzYzMURDMkUxRjlCODIwNEYzMTI3NURGNkE0NzZGNTRBQ0Y4OTJBOTkzNTU3NUVCRkJGOEJCMkE3MSkoMHgxOTEzMzJBMENENzFGNDgxRjEzMjZEOEQ2NDg1NUVENEEzMzUwODNBMzFCQURBQUMyMEEwRTc0NDgzNDEzNEM3IDB4MDcyNDI2OTBEQzRENkIxNENCQTZDOTg4MjgzODA0M0E5RjlENTM4MDUzQkUwNzVERDQ2RjUxMEYyMjFCQTQzRSkoMHgzQkFDN0JCMTE0OTNCMDdFNDQxM0E2RjYxMkI3QkFBRURCN0M3RTVFQ0U3MDlCOTRBMzAzMUVFNTIwREM5QTJBIDB4M0NFMzRBMzlCMUQ4MkI4MzZBREE5QzZENTdGRUYzMkZCMUU3MEQ2MDEzQURFNTkzRDJFMzUwNjMwQzA2MkZEMCkoMHgwOUZFQ0I5NkY0NzJFMkNFNkNFREI5NzkyQzZBMDBFODBBMEQ3RUYwNjlBMzQ2MEYwN0IxREY4Mjc3RkVGNERBIDB4Mzg2MDkxQjE5MEYyQzMyRUY2RDE2QUIzOEIwOEYyMUY3MDkxN0U5QTBGMTlGRUNFNzM5MUZEREUxMUEzMDdDRikoMHgzRTM0QkUwNUY4QUQ5QUQwOEQ3MzQzRTVEMzExN0Q4NUIxQkUzQzU1OEI5MkVDNDUxQTM4NTU4NjI4NkFBMTA0IDB4MTNBNjAxRjVGODhGMkJGQkNFRDJFNzc5MzJFRTRGQjk1NUU4N0VDMTAyNkMwQzFCNDJGN0EyRTBENjI3MzkyMSkoMHgyQjZBMkQwRjFDQzYxODg3QUFFNDBFREQ1M0EzQjYzMUQzMjUyNjdCQjZGQTRCMEI0MzUxMkUxNTkxODFFM0U0IDB4MEZCRjU5MkZDQzdFN0YwMDY5N0NBMkUzNkI3OUFGNTkyQzRFODZGNzUxQjNCQzcxQUM5MkY3OThEQ0ZDNDdFMikoMHgzOUEzQzAwOUJBNkIzREI3REVFNEQ0MjQ5RjI1NEZCMjYxMTA3Q0FFMjMyNDlBNzMzOEMyMkJFMkJDMzE5RkE5IDB4MzY3QTY2NDJDNTZFRDEwNEVCMEJFRjUwRkNGRDdFMTA0NkI4Nzk2QzMxRDdENjUzQjU1QUYwNDFBMjhEMzk2NCkoMHgzRURDRTk5MzQxQTk5MjQ0QTI0QjhENjA3NkU0MUIyQjA3MzI3QjI2RjIwNEQ0MDk5NzgxMEFBNUQzQTVCNTQ2IDB4MzNGQTU2NEJCNzdFNkNGQzczNDYxRkVCQkVDQjczQTY4MDE3NDg1M0QxNzhCNjQ2MDZDMjE2NTU0QUI3NTU1OSkpKSh6X2NvbW0oMHgzOTE3QUEwNUYwQUVCQ0VCQTI3RDAzQ0FBMUM3M0JFRjY5NjQ2NUIxNTJCRURFMDYwRUU1MjU4QjA2ODdBN0NFIDB4M0VFMTQ4MzM3ODJGNURFOTg2RTdCQTM1RDYzMTcxRjZCMzJEN0EzNUQ4QjRDOTNBNjM3OUExN0NBNDc4NzhFQikpKHRfY29tbSgoMHgxMjA0RTQ1RkE4ODU5NDU4ODI3OEFFOUZERjk4MjJBQzI0NzI1QzVGRUY3OTk3QTQ1RTdFRkY4RUY0OTk1QkMwIDB4M0Y1NTc4MzJEN0VFMzdFODkzQzNERkU3OEZDRTk2NjcwNjkwMDdDQjEwMTAzOUM1NUMyMTI0MzRDREVGRDYyRikoMHgwMzFGMjYzQkQwMzgwNjQ2NTU2Q0JGNUNFQTM0NUIzMjg0MTIwQUNCQ0Y5OTg5MTFCQUFEMjNCMjQwQTkzRkVEIDB4MDZCRDgwODQxQTczMkQ1Nzc0RjlGNDdBNDM4RUY3RDVCNEQzN0I0MUVDQzAzNDU0M0ExQzQwNDA4OUVGOTZCQykoMHgyNjM5OTg4NzlEOEE1NzVDRTQ4RjE5QkVDNzkyRDhERjM5NjIzMEFBN0M2RjFENEM5QzJCOTJBMkU0MzdBNjc3IDB4MkVDOThDRUU4RjBDQjdBMTMzNTk4REUzMUU1MzlBQTQ5RkNCMUJEOTgwRkRCRkUxRkMwRUI5REQ3NEI3QjIyMCkoMHgwREQ1NDM1OTk0QkQ1REI3QTY4QTZEOUJENzIxOEZENENDQ0MyMTIwNDQ4QzJFMkQxMDU1RjBCMUIwQjZCQ0I0IDB4MDhFNjY2RDI0MjUyQkREQzIwQjU3MjgyRjU5MERFRDYyN0FBMkMxMjY0QTMwOTc5ODU2RUU4NUMyMzg5RDgzQykoMHgxODhGNTZDQUUxNDA4MzVFMEFDODc0NTc4NEJCNDg0NEFFQTQxQUQ3RUY2Nzg2MzEzMEMxQTI1RTQwM0M0NkIyIDB4MkY3MUNDNTJEQzQ2OUMzNjRENkExNTUyRTFFNDY4QzQwOUVBOThFNDc5RkJFOTNERkNGODA4Mzc0M0U5OEM3NykoMHgwRDU5ODdBNzQ4OUZENEFDMEUzMUIxMkE3NUEzMUU4NzlEMDQxOTdFNURBRDc2MTRCQTM2QzJCMDQ5REEwMTZCIDB4MDM3MEI2MzMzNjdFQkQ3OTAyMzEzRjIxOEE1ODYzMUMwMDREQUUxQUU1Q0YyMDAzNUVFNzQyRUI2RTQwMzdFQikoMHgzNDhGQkJBMDQ4RjExN0FDOUJENzM1ODM2MUI1NEU3RUJDNzIzQzE5Q0I0MzhGOTYyMjQ4QkI0RjRGMzM2RjNCIDB4MERCRThBNDJFMzMwODg4NTZGQTgyNjhFNzAxRDkxMDRCMkIxMUQyMEJDMkU1RDBFMDNGNEFGRjI1RkQ2RTg5RCkpKSkpKGV2YWx1YXRpb25zKCh3KCgweDJGQjQ0QkM3RjIyQTRCMEMwOURBMzFDRTA2MDQ2Mzk1OTNENjc4OUFCMjFFODVGM0MxRDZDQzY5RTA5M0MxQ0UgMHgzMDFFQjlENjQzRENBNEQzRUY3NkE1RUE0MzNGQzQ2NjhDNDg5RTEzNEMwMzExQzYzRDA5NTA2RjYyOTUyMUI1KSgweDJGM0EyQzI2MEM2OTM3MTdDMjkxQ0IxNDc2MEJEQUMxOEZDODY1MThGRTQ4MUM4NEJGMjUyREFGNTRDRDNENTAgMHgyQTQ0QzBGNjE1MUUwQzA5RTEzREZBODE2OUNCMkIzRTBFRTZFRDhGODNBOTQ1RTE1MzYwQTU1ODcxRTk0NTE4KSgweDFCREY5NzlGNjk5MTc2NDY5REIxRUUxQjU4QzBFMjREMTQ3OTk1ODNCMjQ5RDM2MUU0RjhCMTk5MDU5NTQzOEEgMHgwQjFBM0I4RTMxNEZFNkQ0QzhCNjdGQTc1Njg0NzUzNDQ3Q0Q3NUZEMDU0QzBEMDE5QUM5QzkyNDNFOUFDNDUyKSgweDFFRkMxNjFCOEYyRENCQUFEOTM0MzlBNzNGNThFQTVEMDNGNjA1QzY3MzgzNEVCNzFDNEY5MkJGMjE2Mzk5ODMgMHgzNTczRURGOTM0RTA0QkM0QjMxOTFFQUM1OUZCOTM4MTI1MjhGNkIwQjFEODI4RDEzNjIzRTU5RERDRjIxREFGKSgweDFGMzlFREYwODg1RjUxNEE5NTA0NDQ5NjQzOTI0NTM5Mzg1REQzMkM1REQyOTI5NzgzNEE5MzJCNzZEMDFBNjQgMHgzQzc5Q0EyNTJGMUNCNjU4NzMzMjNDNDk1RkI0MDRENjlGMEMxQzNBOEVDNzUyNjE3M0I2RTk5MDhDRjRFREZEKSgweDI1RkJFMEQxNjU0M0QzN0U0RUE1M0U3QTA4MzY4RTlGQkREQTgzRDUzQjVEN0NEODM3ODk2Nzc2QTM5QUVBQUQgMHgyODZERjBBOURGQTY1NEExRkU1NzNERjM2RTc0MEZCNUUwRjFENjE0Mjg4MTQwRTE5OUVFODM2REQwN0Q3OEE1KSgweDNGRTdBRUNDODUwNzgxRDY1MUNBNkRCMDRCRTFBMUI0RUZDMzA4RTFBNTUzRTk5MzE5NjZCQjZBNDE3NDM0NDggMHgzREIxNkEyRDk0MzVERUEwOUVDMUEzMTNEODExNUFFQzZBNDMyNThGNzZDOERBQURGRjI3ODBDODhGMDQyNkNBKSgweDE3MkFENzNGOUY4MkVEODNCMTdCMEE3NkE3MzVDNDIyOTA1OEJGMzMyQ0E3MzA4NjE0RTIzOTQ5RDlFQkNCMjAgMHgxRDI1NzJCQzA1Q0RBQjNEREMzODA4QTFFNUFCMkE0NTlCMjFEMDFFMzZCMzEyRDYyODMxMTY2NEZEQzcxODRDKSgweDE4M0JCRTUxNkEzQUQwMjI2N0QzM0Y3RDM1QUZEODE2QjAzMjUzRjhDMkZCMjE4MEREM0ZGNjE2QTRGMjQzNEUgMHgzNTI4Q0NGQjg0OTc2MUI4NEJDQzFDM0EzNDM1QURFRTQzRjg0Q0Y5MUUxMTE5MDYwMkM1QUZGNEJFMjZFNjlDKSgweDNCQUMyOThBNjc2ODZFRUQ0MDQwRjZCRkIwMTVGQzE2RDEwMzkxODYzMjNDMjI1MTAwRUU0RDIzNDEzODUyQzQgMHgzMDNCQTk2QTc5MURBNzc3OTBDMjZEQ0QwRUI4M0E0RjE4NUJEMDk0NDFEQkVFMkI2OTA4NTAxQ0JENjUxQTExKSgweDMxNTZCQ0E5ODg2NkRCMjQ3QzUyOURFRUM4MzQyMUFGNzBDMUFGQUQ3MzM0OERDQzM1OEQ0RTY3MENCNUY5RjMgMHgxNzNDNEM0NkY1NTY0NDY2MTdCREVGNDdGQUM4RUQ4MjMxRjMyREQzMEQ2NUY0Nzk5MkExMEYxRDQzNDhFOTQ0KSgweDNBQjczQjRFMkNFMEQ2RTVCN0IwMTA4RjE3MDkwQUJBNjM0NTA0MUM4NEJBOTYzQTAxMTY2OEY5NkVFODg1QzEgMHgzNzUzRkFENjg1MkQyMTI3M0M4NUVERDM4MTJDMUE0N0YyMkYwNjgzQ0JCQURGMDEyQjhBNTJFMTE5QjEzRjVBKSgweDIyQURDOEYyOUY2Qzk2QTNBOTkwNDExQUUxOEEzRUU2RkZDNTc0NkE1NTE3QjdDNkM2MEFENUUyRjM3MTdBRjggMHgzMzU5MzdCQjBEMTU5MkQxQkFEM0EzOThCNkU3QjkwNzREN0I2N0NCQTFENjMzNTkzQTVGOUMzMDI2NkM2NENBKSgweDMzNDRDRUQxMjgxM0YyQ0Q2QzUwRUMyQUFFMjZFQUFGNjEyOTYwNERDRDhENzZDMDhFMUUzNTFBMUNEQjZCMTUgMHgxQTA5QjZCNjQ0NkVFQ0M3MDNBMzQ2MTMzQ0ZEMDFDMkRERUMxOURDQkRDQzQzRkZEN0UyRUZEQjkxNUFCMTFCKSgweDE3QUFDRDQwMEQ0RjJBODFERDEzNUYyQTM4NTRDRUUxMDZFMjgxQjZBNTVCMDBDQzVEQkUwNDIwNjU5RkFFNDMgMHgxOTcwRjY5Qzg0Q0VERTYzMkY1NEY5RTUxRTg3QzI2N0U5RjE5MTNEOEQyQjQ5NEZCREMxM0Q5REZBQjNDN0E2KSkpKGNvZWZmaWNpZW50cygoMHgyNUMxMTA2MkIyRjAyMTc3NjY4MTk3QjNCQUFEOTU3MEExNzdFMTgwRkREMDRFMDhDQTc3NUFCQzdBMjY0MkMyIDB4MDNDNjRBRTUyMjEwRDc5RjcxNjI3NzdENzRCRkMzQTU1QjE1MjlGMzA3RDFCRkM3MjcwQUVBODVBOUJGMTg4NCkoMHgxNEQ1MDg5RTdBNzY4OUU1RDgxNkFGOTM2MTZGNzU2RjZFOUJDOUU5QUFDQ0VDNkE5RUQyRDU3QjA3MDExRDRCIDB4MDEyMTMyMEU0QTg1OEFFQjY5RTA2QkZCNzExQkIwMTM1NDA0NzFBQkQxMkM4MjREMUM3NEFCMUUyN0Q1QTVEMikoMHgyNkRFMTMzMTg2RjdDQkNFNjA5MjMyRjc5MkNEMUM4NUQ3MjI4QzA4NENCMjc4NzRDNkYzOTIwMDlGN0VDQkM5IDB4MTcxOTM2NjkzQkIxQUQ3OTgwMDBFRDQ3QkYyMUIwQkY1ODg3M0YwRTc5RjU3NUNFRjVBNzY1M0Y4OUFBREE3RikoMHgxRkVCODU4N0I5NDg3RDZGOTA5MUQxNTc2QzEyMjVDQzkyMjFBQjc5QUY5RDU4MjI4RDExOTcxRTk1RDI5NTdCIDB4MjZCQzVGMTY2MkY4RjRBODE2RUQ3Qjg4MUY4ODlEMzk1MjlEMDY1QjA0NTc2RDdBQkI0MDM2NUUwNzhGQjM3MykoMHgzQ0NEOUZEOURGQzA4MEE5MTVERjNFNUJDNDg5REM5OUMxMTYwQkM0RkQ0RjVDMjJBRUNBRjI1OEJBMDAzMzA3IDB4MTI4NDhENTY5ODdFODBFMjJFQkFFRDAyMTZEM0Q3QUY1RUQ4RDMzQ0EyREI3NjA1OTg1OUJGMDA4QkIyNTU1NykoMHgyQUM0RjQ2OUMzQTA1RDA1MjlDNTFENzMwOUNGQjg2RUM1NTdCMjQ5QkZCQ0VGNENCQTcyOEZFMDYyNEY5OTI0IDB4MTZBM0U4RTVGQTM1MjZBOTI1QTUxOTY5MDdCM0VGMkVBOUY5NTEyMzc1RUMyMzQ2NDJFNDQzQzU5RDM0NzM5NykoMHgwNDFEQUY1RjY2RjNGNjQ3QzAzRDkxNkFEODYwNkRENDNFRjE1NzkzODcyMkREQTY0NDIwNzIxMTgyMjc1MTU0IDB4MjA4QTc4NjA5RjE1REVCOUFDQ0JEQkVCOEM4NkNDRDVBRjQyMzVEOURDMkQ1N0IzMjcxMTgwN0M4N0Y4NkZCQykoMHgzRjI2NjE2N0FBNkE2MTQxODc2ODQzM0JDQ0IyNEZGNEEzMDk3N0E0MkE2RjAxNEJBMkI0ODUwODZDRDQ2MTEzIDB4Mjc1M0QxRUExMEU2QzJGRjI0NjcxNDU4MDg4NDYyNDFGQjU3QjhBODg5QTRFMTFEMUQxOEU4NzgzRjBERjU5QykoMHgzQjI4QTAzOUZEMzIyMjI0QTlBMUFEQ0FBM0QwQkREODkyNUJCNkQ1NDhDQjJBNTI2MzNENTUxRjk0NDI1NEMzIDB4MDE3MjJERDQzQjlBQkNCMUEyRDIyNjI1REJCNkFCQ0U5MThBQjk0MEUxMzM0QkRBRkFCNDBFRjgzODlBRUZCNikoMHgyNzYwQkY2M0U3MDlDMUQyRDk4QTBBQzc2RkE4NzYxQzc5MUM5MzA4RUEzNTUzNTBGQTM0NkEwQzY5QUIxNzVCIDB4MDkzMkIzQURBNzk1OEJEQjg1MUNERUFFQTg3MTIxMEUxOTBBRjgxN0Q5QkQ1RDJEOUIzMTY0NTUwOEU5NTIxRCkoMHgxNERCMzdBRDkxRjMyQ0M5NUFBQjAzNDk1RUIyM0E5NTVCNUVENzg5Mjc1MjI4QzlBOTBFRTlCMUUxQkI1QTg4IDB4MDg3OTAyMjJGMzAwNTBDRDZEODhCMkJCODFFOEM5RTEwNUY4NkE0RUM5RDE0MkFFMjAyNzlGN0VENDhFQ0JEMCkoMHgyRjRFQjFEQzFCNzM5NzU1Qjc3MkI5ODNENTM4OEU4MkExMEFBRTYyQkM1RjE1MTdEODlDMTgyNDY4MThGNDg3IDB4MTk5RkY3Qjk0QkZFRDJEQjQyREREMjIyQUEwMzg3RUE5OEI5NTRGQjJDODdGNjVGQzU2RDFBQkM1M0JFMjM4MikoMHgxNjA4REY0RTYwMkRFNjExREY2Q0E0MkJDNkFEMzhERDE2RjRDNjZGQTBFOTFCNzdFQUM4MERDMDhDOUUyQkI3IDB4MTg1QkZFRkUwRjA1MzAxQUM3REEyRjBENTJBNDJDM0YwOENGOTJBODRGODY2M0I3MzBEOUEzMUUwNDRCM0M5MikoMHgwMDBDRTYyNTg4MzdBQjUwODdCNjE4MzBBRjIxMzgwQTBFQThDQTEyRUY0OTdGM0MyNkQyNEU1MEI2RkQyMkE1IDB4MkVGQzI0OUEyQTRFMjE4NEVFNzE5RTg1MzI0RUFEMEE5QzM0MjREODEzNzc2RDFBNTUwNDUxMkFCQzBDNzMxQykoMHgzNDk0OUU0MjVEQkQ0RjIzOTZFMjQ1QjJEODEzMTM1MzZBRUQxMkRCQzI0MkJEMzVDMzU2M0UxMDYyOTcwRjY3IDB4MkM1NjRCQjU0RDI3M0FDQUU1QTA3RjU2REU1M0MxOEM1MDEwNEZDNkUwMTJFNTcwNjI4Njc5RjcwOTczODAxQykpKSh6KDB4MDVGNjMzQUQ0QUNERDE2MUFGQjdFMDVGMjZGRjQ3OTlBMUYxOURGRkNEMTJDOTc5MTE0RDg4M0FCQTgwNTg4RCAweDFGQkUwQkRCNTU3Q0IwM0E1OTUzQjBBQkFDRERFMTE5NUNERUM3RTE0RjVERTY1NDIyM0M5QUQ3MkMxNDc2RDEpKShzKCgweDA0NkZDODM4MjM4MzExN0I5NzA1QzA5NTk3RTdDQUIxODIxNDA5QTYzOTkyRkZGRUUzNzkxRTdEM0M3MEY0MjIgMHgyOTY4NkY3NDI2MjAxN0FCMzg0OUZDQTUzRkVGREQxMjNBMTcxNTNBNTkzOTQzMzJFOTg1N0EwMDdCMURBNkYzKSgweDExQTU1NjMxODcxMTc5OUEyRkU1NkNEODA0NjQwNzc1QjYyRkI1NDU0NEYzNUI0N0I4OUUxMDEyMUFDRTJDQTkgMHgzMUFGMzAzRTVGM0RFRTZFQUFFQjY4RUZCMDVCNUY3NUNFNzI3QjFDOTM5OTVDRUE3QkRGNjRDNDk3NEQ1OEQ4KSgweDEyN0ZFMjM0M0E3QTI3ODg4M0I1QTgxNzEwMDc0MEM3RDQxNDBEQUIyNzNGOEFDRUVDMUEwNUE4QTIxRUM0QzYgMHgxQTFBODVCMUM0MEEyRUEwMkI0Qjk2RTNDODk5MjBGMjI2MUYyNzJERDc3RDg3MkNERjdFMjVGQkMyOEUyOTBDKSgweDFEM0UyQUI3NDk3ODZDNTA2MENBN0I2QTNBRjRGMUQ5Qjg0RENCQkQ4RDFGM0MxMDI1NjUxQzBEMkJBRkJDMzUgMHgxMTAxQkZCQjk5QTAyNDBEOTA0NDNGOUVBNTdBOEEyQjQyRTU5QkE0QTc1M0RERjdBM0M3NDY0NzE3OUMzQjZGKSgweDI1RUI5NzYyMUY4QTFDMkI1NUI5Q0I1MkRFMjRFMTE4Q0Q3RjdDNTJFNEI0M0Y0OUM1MDNEQzI0RUNENkUxMkEgMHgzRjBGNDFBNjQ4RDk1NkExOENERDVFQzdDQTUyN0RCRDFGOTE1QjY3RTRBNzg3OTRBNEZDQTlEREE4MzBFM0VDKSgweDBCRTM1RUZFRDI4QkI3NDA5MjQ5NTM2RDNDNEJDRjFDOEUyN0I3RUM2MDI2N0JFREE3QzkxNDE0RUY3NEZEQzkgMHgzOEE1ODJBQzBFQTVFNjU5RDM3MTJDQjQ0QjlDODBEMDM4Q0E0NDk2QkQ2N0YxQzBCNTRCN0MyQTIxNjIyNTMzKSkpKGdlbmVyaWNfc2VsZWN0b3IoMHgzOUU1QUNBMTdEQzIwM0RDNjEyNzBGNDNEOTQzMDAwRTE4RERFNzk3MUE5OThBNDMyREQwQzRENzU1QjA0OURDIDB4MUI4MDUxRjkyQTQ0QTg1RTE0REM5QzJCOTZCNEQxODY2RkRCN0U2M0FBMDMwQkU5NkEyMTg1QjI5Mzc0NzIwRSkpKHBvc2VpZG9uX3NlbGVjdG9yKDB4MTFGNTUyRDMyNkM5M0YyNDY1QUVCQjE5N0EyRDMwNUM2NzA1NTdGQjRCMDIyNTlEQjg2Q0Y3NTBEMkREQ0NCMSAweDMxRjA0Qjc3OEQ3REFCM0NFQTMwQkQ0RTcyOUQxRjRENkM4NzBBN0RCRkNBQjU2RTRCODU5QUE5NzI5QjY3QkUpKShjb21wbGV0ZV9hZGRfc2VsZWN0b3IoMHgyMzlFNzI2OUJCNDhBOUE0NUMxRDY0MkJBMDQ2MDBDQjM5ODBBNURGRkJGMDIwOTI4MkZBN0ZEQTNFMzREMzU1IDB4MUM1OEVBOTY1MjkwRTZGQzYyRTE0MTg3NzkzRDg2MzlGOTEyRTg1MTBBRUY4NzQ1RTJENTQzMDRBMzJEOTcxNikpKG11bF9zZWxlY3RvcigweDMxODMxMUMyQTBGMDdEREY4QTQ2MTQ0ODBGMTRGMTczQzQ3MzlGRTgwQjkyM0ZBQkEzODIwNEEzMzU0OTMzRDkgMHgyMDIzMzk3OTkzMjg1M0Y4QjE5NDgzMUU3M0NFRkM3QTdFODU4MTUxNzQ2QzdDOTIxMjNBRTczMDcwMEZDMUE3KSkoZW11bF9zZWxlY3RvcigweDJCOTI1MzFEM0QwRjVGOTJBMTBFOUY1N0NDNENEQUQxNzhCRjBENzI4MEU0QUJFNUZFNjcyQ0JEN0I2MTEzNjAgMHgwN0FGMTgwMThGOTM1NTdGNDEyNjJCNEEwQTBCRTE3MTc1QjA3QUYzMjY2Q0Q0RTJEQ0QzOUQzQTNDM0JEQkRGKSkoZW5kb211bF9zY2FsYXJfc2VsZWN0b3IoMHgwOENFMTFEOEZGMzBEQTlFRDkyRjJBQjNCNjAwMjYxNEQwRTczQjIzRUJBNUJFRUY0RTU4ODc3QUU3ODFCOEI1IDB4MUE4NUIyNjAzQzZCMzlGNjNDRkQyN0ZEOTVGRjY0REIzNTczQjMwQkVCMDdBQkU5RUMyRUI1NTUzMUE3ODE4OSkpKSkoZnRfZXZhbDEgMHgzNDJERjk5NDEzMUIwNEUzOEYxREQ5Q0IzQTEyMTNBQ0MyQUQ5NUMwRjc0QUQxQ0M4ODEyREU3NTczQ0FFRERDKShidWxsZXRwcm9vZigobHIoKCgweDA5MTdFQ0Q5MDY1M0VEOUE4ODQ2QjdCOTZEQ0NGREVGQkExRDkxQjUwQTI3QTlBQzBENTk0NjNFRTZBQ0FFNkUgMHgxQzJCRTkyNTk0MEJGQjdGODBFMjdGMDUwRUJGREMxOUFBNzUyREQ1QjFGREE2NEE0MDRGQjEyNUE3QUFGOUE4KSgweDIxNzVFREZBM0QxOEQ2M0ZDOEY5ODAzRTQwRDc5MzlGREQyNjlENzg5M0UwMDhCNUUwNTcxNkRDNkUxMDhFRTYgMHgyRkQ2NzJCOTIwREJDOEJDMjk2QjQ5MUUzMEM3NDk1MTA2QjgzNTI1MDRBQTg4NDdGRjlCNEJCQkQyMzE1OUI1KSkoKDB4MkZBNTc0NkQzRTQ3Qzk0RUVERkRBRjNFQjkwNjlFMjRGMjk1Njc2QzVBODMwQjdFNEVCOUM3REZDNkQwMTUyNCAweDM3NzRERTI1OUE3QzM5MTAwMzRBNEE3NzU3OTg2N0YwODlGNkMxQjA5RERERTJFODQ2MDdBOTAwNzVFNTYxQjApKDB4MkNCREVGNkFFMzhENUE5NDE0MUYzRjlDRTgyQjVFOTQzRUY5MUFDODNCNjQxRkY3QjkwRTcxNTk1MDk0MjI4RSAweDMwRDlDQTlEQkQ0RTcxNUMzNTdCQTRBOEU0MDA2MkVDMEFBOUIxMkI2MUJDNDdCQkZFRkNDMzAyNzI3MDlBQzQpKSgoMHgwMTg2RDg5OUFDOUZBNUE3NDhBQkExNzBGQjQwOEU1MjE4ODEyMUM1ODQxMzQ4QkFCMUE3RjU1M0ZENjM0REE5IDB4MjMyNDZFOEIxMjE4QUM4MEUwOTlCNjkwQzhENDI1NEUzRDg4NDZCMDBCOUZDNTlFNDZGRkIzMzU5NjAyRDg4OCkoMHgwMjI4N0Y3QjAyODYyRjgzNkQ1M0MzMjk1NDdBNDQ0NDU2MDUzQjRDMzMyMURBM0YwQzM5NTMyMUU2ODBGQzI0IDB4MjA0NDFEMjU4RTA1RkQ1RDZBN0M1RTBBNkI5MTRGRjI1QjMzRUIzMDY5NDkwNTRGNERDMkMzNTlBOTNEMDZBMykpKCgweDMyMjU1MENERTg5QzQ3QTM0RDU3NzJFNDEyQjMzRDcyMjZBNDhBMjNENkVBRDFDMjExQTZDRDEyN0VCODI5MzcgMHgyREE5Q0ZCMTMyODU4NzE3MjJEMTY2NjQ4NkNFMUMzNzAyMkRFMkRDNkNFMkIwNzg0QjE5REVFQkFGQkQ2M0UzKSgweDE5QUU4MkQxRTEyODEyRTQ4MzNBQTc5MjMwRTg5MDM4NkYzNjQ5RkNEQjMxQUM1MjVCQzg3QUEzNkE2MzNGMDQgMHgxQUI4M0UxMTJCMkVBNjY3QTg2NEJFNDc1NzE5ODc0RDZDREIyNTlDQTAzODQ3RDQ1OEFGNDU1NzNCQUQ2NUYyKSkoKDB4Mjg3QTAwRDIzQkZBNkRBQzgwMThENjE1N0E3REQzNDY4QTE5MEFENzMwMzM5RjQ0RkQwRTg1NzlGQzg5NkJCNyAweDAzQzI0RTM5NjNGMTJENTdFRDFEQkZCNjIxQUU2N0Y5ODBCRkYxNDYxREJFRDM2M0Q2QTNDRkIyNTcwNEJFRUEpKDB4MTQ2M0JGMjFCQTNCMTVFMzU1Q0E4NzE4N0EwMTA4NTc2NUU1RDE5QTk4Q0U4NUQwQjFBNjU0MEVFOEJEMTI4NyAweDA3OTM3NEUxQTBGOTM5MkU1NzU3M0JFN0M2QzY5NkU2RUM3NjVEMkQ5RDVEODFFQ0I2NjMwRkJGNTFENUQzMTApKSgoMHgyMDBBQkI0M0E1MjAzQ0JENUQ5RURENjNFM0Q0QzRGMkM0MEI4NzNCRUJDMTlFREZDMjYzQ0E0N0U5MTJERDk3IDB4M0IzQzE5M0QxQzY1OERCQzY2Mzc4ODExMDMyNzFCNTQ1OTdBRDc5RTc4MUE0MDc4OTM2MUI0QUM5MzZGMUE5OSkoMHgyNjA1RDFBRkIyRTEzMzQ3OEQ2NEU2M0ZCQzRDODRGRDJDRTIwMzEzMDVGREVFQzdFQjY3RUI5M0UyNDEzMzNDIDB4MzFDNUIwNzgyOTRCN0E3MDA4Njk5MjFDNDEzMDk3RUNCNzAxNzZFRUIyMUQ3RkUzRUZGNDg2MTE4NkRBMjFENykpKCgweDE4ODMzMUY2NTk4M0NDMjcyRjFBQkZFMDI2MjcyREJGMDlFN0ZFN0ExRkNFMEQyNzU2NjgzNzMxNDZDRUY1N0MgMHgwRTJBNUE1QUYyODY3MTdCRTM2MEQ4QUUwQjE0NzkxQzNCMEI0N0JEMzQ3ODczQUYxNUQ0NEZFRTREREM2RkM1KSgweDA5QjEyN0M2M0M5ODY0Nzg1ODgxMkU2RjRBMzY1NTA4MUUxMDc3QzhEMzNDMTEyQkI4Q0ZBOTRCQUM2NEUyRUMgMHgxOUE1RkYxOUQ1RTg3MDcwMjJFODhGNTQzOTJFOThFMUE1OUVDRjc0NEI1QzhDMkMwMjc5RTQxQkMwRjg5RDFDKSkoKDB4MkI1OTExQzBBNDI1M0UyNjFCMDJBMEI0Nzg2MDNFQjlGMjY1Qzc4M0Y2NTM1NjZEQTAyNEJDRTU1RjA0MUNFNSAweDA1RkE0OTZBMEI2QjcwNzA3NTdBOEZEM0VFQjBDNThFNTQ4RDg5MDQ0NjhFRUNFMjNDMEM1RjAzNTY1NDM0QTApKDB4MTUyODFEMTM1REYwNjRCRTA5RDIxMEE1QjAwN0NGMTU2MDQ0QjA0MDU2RTVCRkM0MDA3ODI5MjkzNDZGNUIwQiAweDNDNzFBNzE3NzRFNTIxRTEyMjc2NjYwMEExQTdCOEI1Mjk1MzQwNkZGM0NERTVFNDZDRThDMzU0MDg3NDQ2REEpKSgoMHgzMkJCREJFOTFBMzFCMDg5RkEzREQwNTMyMUJBN0I3OTc3OUM3QTEzQzRERTBCODJFMTgwRUExRDlBMDRDQ0U3IDB4MDhENUE3MjVFREE4NzE1NTdFQUFFOUU0NDNBRDIyOUJEQzg1MEZBMzIxQUMwMTVGRTNGRTVDMjZGMTQ4NzEyOCkoMHgwNTdDNzMzMEQyMkFDQTY0NEJFNUJENzlCOTdGNzgyODc4NkIyOTUyMUE4NDhFRjRDQjZCRDE4NEMyQ0IwOTU3IDB4M0EwREJFMjBCNjI1ODI5QzE2OUQyQjQ4QUUzMDczQTYwNUE1Q0Q4QzFGOEU4NUIyQTEyOEExMjZBNzA0RjE3MykpKCgweDFDMzVDODkxNEFCRDc1RjMxNjgwQTU3QkRENkMwQTlDOTQxREM2NTVBMzgyQjI3NTlCMzExQUFBQkYyMTg0N0IgMHgyRUNFMUE0QjFCRkRBMzk1OTFFMUJEQjZBMUVENEMzNDBGMzYyMkRGQkRBQTNERjZEOTY5RkVBQjdCQjcxNUJDKSgweDIzQ0RDMUI2NkRDNkJCQzlGRkIzQzg1NTc0QTc2Q0JFMzAxNTM0N0Y2NjI5QUMxOEIyMkVCMkNBQjRFQjBDOTAgMHgzRDQxQTZEMDFCQTJFOTUwNDRGMUNDRkI4OUFDMEI1QzlFQUU2MkJCM0E0MkY2REJCNTREODlCMjQzMjcxQ0NGKSkoKDB4MjcyQjAzRjU3REI3ODY4NTlGQUEwMjQ5QUY3RTdEM0U0NkU3RTQ5MDE5NTkyQUM4MEM4NUZEM0U2MzI4NDcwMyAweDFFNDk2RDNEMEQ0QzhDMzdFN0U3NDcyREM1OTk3RDQ4QTBFN0M3OTBFQTBBREQ0QjM3MDdDQjIxRTkyMEUxQTMpKDB4MUM4MkNBNkU3MjI0QTdCMDA0NERCNTU5MTJCMDcxQkRGNzU3MTE3MEY1RUI1RTAwRTA2OEZGRDJERkJBMjg1NCAweDJBNkJEMjA4RkZCRjAwQkQ5NTBGMzNDRkQwRDcxMTI3RTdENjRCMkU4OEU3MjNCNDc1Rjk3NTlGRTcwRDc5QTUpKSgoMHgxQTUxNzI2QzIzQkRCNEE0MDAxRjMyNEE4QUJFOTc2MTNCMDVEQkM5QUE2RDY1RjQzMjIzMjUzMDRBM0RGRTI0IDB4M0ZGNkY3MDhCOEI0MzE4OTE3RDI4RDQ5NTA5MUM4MDI4NDE0NkU1RjA1NjUyRTFCRjRGOUVGMDUwMjg0M0Y3RCkoMHgyMjYyREEzRDk0OUFCNEEzODYzQ0RFNjFDQTRDOENCMzVBRjkyMUE0N0QwQjQzNzkxOTUxMkM1REFCQTk3N0QwIDB4M0YwOEEzNjdFNkFDMzQwRURCMUVDMkFBNDMwN0VEMjg2MDY2NTg3RDhCQkEzODBEOUU1RTcxMEM2QkU2MDk0NikpKCgweDMxQURBRTNENDk3MDM0OEFFQ0Q1QjlBNUY0NDQxNzE0RjA5QzBBMUY5Q0M0NUMzODFCQTI3NUE2OTkzMDJFRkQgMHgxRTM0MDhFRUZGQjY0NEFEMDQ5NTAwRTI5MTRGQzEzRTI4REY4NkM0NURBMkY4Mzk5MjI5Mzk4MEY3REUzMDc5KSgweDIyMkZCRTg0QkFBQUU3MjE5QTcxRjQxMzRENENCRjFFMDA3MEE4RTFCNjA3MzhDQTQwQkFEREE4NzlBM0Q4NkUgMHgzQTVEOTVEQkQ3RTE1MTI4NzEyMTQ5MTgyMTM3MjU0QkRDOTMxQjg5QkRBMUQyRjY2RUE1NUNBOTRBNEZCRDRCKSkoKDB4MjFGNDE4OEQwRkVGODg5MEM4RjNCRTg3MUM1N0U5RDI2QjcyQjhBMENDNjE4RUMwMTE0RDZDOEQ4QUEwRDQ2RSAweDI4MzExNkZCMkE1MUMwNkNCMzIxQTBGODY3MTIyMUMxQUM3RjNFNDA4MEMxMDcxQTlDRDNDQUVBNDI3RkMwRTIpKDB4Mjc4Q0I5MkI2OEM2M0QyNTNDREYzMzFCNDlBNDA3MDlEMUEyQkJGNTZDMkM1RDgyQUIxOTU2ODFDOTgzMTRGNCAweDMyRTRENTQwMDRBMTgwMDA4MjZBNjQ5QUQ4NTZDMDY5NDk3MzNCN0JDQjQzQUI0NjY2QTM3QzQ2QkFCN0EyNkEpKSgoMHgxM0RGRDQ5NDFBRDgyQzI1QTEyMzRBMEY4NzA4QUY3NEE2OEJBMzkzNTI3NDFBMUM4MURGQ0NEMDM5OTQ3MDk1IDB4MUY2RUY5QTlGQUZENDEwMkQwOEZCOUY2QzhBNTgyMjZGNDM1QzdCN0JBMUM1MzhGMUI5QTdDNUUyM0IyMjM3MikoMHgwRjVCQzM2NDRCNjkxQjAyRUJCRjZERkE3MkY4QkQ4NjcyRjdFRTZDQjlFRkI2MEZEQ0EwNTE5RjMxNzMxQjkzIDB4M0I2RDg3RjE1NENEMEZBOTBFM0NDOTU0NzFBNzE0MEUxRTQzRTgxRTY5QzQwMTg0Mzg2Mjg3RjgzMDE5QTU5NSkpKSkoel8xIDB4MjU2MTFDQjk3RTQ5NTA3Mzg2MzhGODEzN0M0RjVGQTU1RjA3RjgwMDExNjQ3M0EyODZDNjMxRDBENENBRTlENCkoel8yIDB4MTZGMzkzMkFFQTIxQ0JCODU2MEZDNzVCRTc0Nzc2NTRFNzYwREUwQjRDMzY5RUE4QTRFNjFGQkM3OEM5MzM0RCkoZGVsdGEoMHgzQzMxQzcxOTQzRUNBRUNFNzIyQ0Q2OTI1NTFDQUI1MTI5QkJGM0FEMkYzOUU2NzJBNzU0NDZBRjIwQzc4NDQ4IDB4MUU4MUYwQzdCNDM4NDhFMjA3QUU0RDJGRkM3MjlFNDgxMTVGNDkyNjE2MUY0NDc5MEREMzUwQ0MwMDRBNDAzNSkpKGNoYWxsZW5nZV9wb2x5bm9taWFsX2NvbW1pdG1lbnQoMHgxNTBBNEIxNjQ5QjUyNzE4MDQ0QzAyREM0RTREODBGQUVCOUU0NTA2RjU3QUYyRTA3OUU4MTk1MjA1M0VENjdDIDB4MEZBNzkyQzU0QjM2NDExMjNCQjExODVDRkVFQkJCM0JFM0Q3QUQ0RDZFOUI4NTdBOTgxMkUwMEZDQTgxQUMzOCkpKSkpKSk=',
},
},
},
credential: {
_type: 'Struct',
properties: {
owner: { _type: 'PublicKey' },
data: {
message: {
_type: 'DynamicBytes',
maxLength: 20,
_isFactory: true,
},
},
},
value: {
owner: {
_type: 'PublicKey',
value: 'B62qrYf31JspZ79dojAeHWZsmXK7Q8c8BjqvZ9eiMvy9XhGu6QHeBvZ',
},
data: {
message: {
_type: 'DynamicBytes',
maxLength: 20,
value: '49416d415365637265744f664c656e6774683230',
_isFactory: true,
},
},
},
},
};
const credentialPresentationRequestJson = {
type: 'zk-app',
spec: {
inputs: {
credential: {
type: 'credential',
credentialType: 'imported',
witness: {
type: 'imported',
publicInputType: {
_type: 'Struct',
properties: {
signerAddress: { _type: 'Bytes', size: 20 },
},
},
publicOutputType: {
_type: 'Struct',
properties: {
owner: { _type: 'PublicKey' },
data: {
message: {
_type: 'DynamicBytes',
maxLength: 20,
_isFactory: true,
},
},
},
},
maxProofsVerified: 1,
featureFlags: {
rangeCheck0: true,
rangeCheck1: true,
foreignFieldAdd: true,
foreignFieldMul: true,
xor: true,
rot: true,
lookup: false,
runtimeTables: false,
},
},
data: {
_type: 'Struct',
properties: {
message: {
_type: 'DynamicBytes',
maxLength: 20,
_isFactory: true,
},
},
},
},
},
assert: { type: 'constant', data: { _type: 'Bool', value: true } },
outputClaim: {
type: 'record',
data: {
owner: { type: 'owner' },
issuer: { type: 'publicInput', credentialKey: 'credential' },
messageHash: {
type: 'hash',
inputs: [
{
type: 'property',
key: 'message',
inner: {
type: 'credential',
credentialKey: 'credential',
credentialType: 'imported',
},
},
],
prefix: null,
},
},
},
},
claims: {},
inputContext: {
type: 'zk-app',
serverNonce: { _type: 'Field', value: '0' },
action: 'verifyPresentation',
verifierIdentity: {
publicKey: {
_type: 'PublicKey',
value: 'B62qoq18guxP6fyXCyJnCDDgrFCLMRy85Po5NXgfsq1T2m7twDauMX1',
},
tokenId: { _type: 'Field', value: '1' },
network: 'devnet',
},
},
};
const presentationJson = {
version: 'v0',
claims: {},
outputClaim: {
_type: 'Struct',
properties: {
owner: { _type: 'PublicKey' },
issuer: {
_type: 'Struct',
properties: { signerAddress: { _type: 'Bytes', size: 20 } },
},
messageHash: { _type: 'Field' },
},
value: {
owner: {
_type: 'PublicKey',
value: 'B62qrYf31JspZ79dojAeHWZsmXK7Q8c8BjqvZ9eiMvy9XhGu6QHeBvZ',
},
issuer: {
_type: 'Struct',
properties: { signerAddress: { _type: 'Bytes', size: 20 } },
value: {
signerAddress: {
_type: 'Bytes',
size: 20,
value: 'c7e910807dd2e3f49b34efe7133cfb684520da69',
},
},
},
messageHash: {
_type: 'Field',
value: '7753583967009754137603609929589828676004003140105166811245124438468782940799',
},
},
},
serverNonce: { _type: 'Field', value: '0' },
clientNonce: {
_type: 'Field',
value: '7679562871394584417692036777659447119783342966181346321477507232063456547157',
},
proof: {
maxProofsVerified: 1,
proof: 'KChzdGF0ZW1lbnQoKHByb29mX3N0YXRlKChkZWZlcnJlZF92YWx1ZXMoKHBsb25rKChhbHBoYSgoaW5uZXIoZDk0NzIxMWVlMDUyMzE0ZCA1MGRkMjQ5M2M5YmUwYTRkKSkpKShiZXRhKGYwY2UxZTc5ZTlhYWE3MzYgMWFhZTcyNTg2YTExNzcwYykpKGdhbW1hKDRjOWRiMWNkOTcxNDg5NTAgNjkzMDFkYWQ5NTc2MjJkNykpKHpldGEoKGlubmVyKGJhOWVhNGEzZWQxMjMxOWYgMGMzNzQ0ZjU3MTVmODg3MikpKSkoam9pbnRfY29tYmluZXIoKChpbm5lcigwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDApKSkpKShmZWF0dXJlX2ZsYWdzKChyYW5nZV9jaGVjazAgdHJ1ZSkocmFuZ2VfY2hlY2sxIHRydWUpKGZvcmVpZ25fZmllbGRfYWRkIHRydWUpKGZvcmVpZ25fZmllbGRfbXVsIGZhbHNlKSh4b3IgZmFsc2UpKHJvdCBmYWxzZSkobG9va3VwIGZhbHNlKShydW50aW1lX3RhYmxlcyBmYWxzZSkpKSkpKGJ1bGxldHByb29mX2NoYWxsZW5nZXMoKChwcmVjaGFsbGVuZ2UoKGlubmVyKGQ5NjI5OWFkNGM1ZDJmY2EgZmEzNzFjZTliYjYxNzY5NCkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKGRkMjJmNTE1Y2JkYmY3YjYgODk2MGU5ODEyMzJkYjg3NykpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKDI5ZjRlZDFiNjdlNWQ5YjMgMmY2ZjM2NTA5YmI2ZmU0YikpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKDQxZTFjYzkyMWQzMjkzNTcgN2I0MTAxMjA4MjRlODBmNSkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKGU5MTYwNTFmMWE3ODdlOGIgZTM5YTdhM2U3ZDUxYzdkNCkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKDdmZTIzZDgxZmM3YTZlNzggNTNjMWE0YzU1MjA3YjUzYikpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKGIwNmMzNThkOTkxNmE1ZTUgNDJlZjVjNGY4NDg1NTIyOCkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKGExZDM1NDZhNzZiMWE0YjggZWM4Y2Q2YjZhYjYwNzU4YykpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKDA5ZGU4N2JiMTg4NTE0YzIgMDhhMGU1MTExODE0MTEwOCkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKGNkMzFhZDFiMTU0Mzk5ODcgODhkMjAwODljNmVjMDJlMSkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKDViYmM0MjUzZWRiNGU5NjggZmY0MDZlNTIxMTg2MjQ0MikpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKGY4NjI4MjE2ZTlhMjhkMjggODRlMmIzN2Q5MWRiOGNjNSkpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKGVhYTJkZWRjMWExZTE1OTUgZWU3NjllZWMyZTFhODg1YykpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKDFlYjQ2NzM0MjhiYjNhNTMgOTMyOWU0MGY0NDczMzRlMykpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKGJlYTUyMDA5M2E4N2I3YTkgNGZhMzU0Y2VmMTdkMDZiNikpKSkpKChwcmVjaGFsbGVuZ2UoKGlubmVyKGViNWEzMzBhNDZhODllMGUgYjg0OTljNTI3MTcyNTQ0OSkpKSkpKSkoYnJhbmNoX2RhdGEoKHByb29mc192ZXJpZmllZCBOMSkoZG9tYWluX2xvZzIiXDAxNCIpKSkpKShzcG9uZ2VfZGlnZXN0X2JlZm9yZV9ldmFsdWF0aW9ucygwNzFiOGEwNDFiNmJhZjM4IGMyYzA1NDJkYzgxODk3MWEgYmMzYzI5ZmMzN2I3ZjMwMSAxZTQzZWMxYzBjYjZkOTBlKSkobWVzc2FnZXNfZm9yX25leHRfd3JhcF9wcm9vZigoY2hhbGxlbmdlX3BvbHlub21pYWxfY29tbWl0bWVudCgweDNCOTQxQThCQ0NGMzVBNkM4RkQ0QjdBM0FFQjIxREE5REUxOUU3MzIxMEY4RTM5NEY0NkE1NTk2RjRGMTQ3OTggMHgzRDZCQUZFM0EyNTFBRTI3NzMxMjE2QTU5RUM3RjgyQUY0NTFEQkNDRERCNzgwRjlEQzgzQjI1Rjg5QUFEM0MzKSkob2xkX2J1bGxldHByb29mX2NoYWxsZW5nZXMoKCgocHJlY2hhbGxlbmdlKChpbm5lcihmMTM4ZGRhMDc2N2UyMmU5IDRjMjA5YzcyYTdjNDVjNjYpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcihhY2VlZDIyMjI1OWNlNjQyIDdhOWJjMmM1ODFhYWExNWMpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcihiOTAyN2QyZjg3ODMwMGJmIGQ2M2M2ZDMzZjgzNGVjMWQpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcig5NGFlODU4MzE2ZjE5ZGRlIDA0Y2NiOTI3N2ViMDI4YmUpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcig4YTM3YjAyZDk4Njk3NTFkIDAxODlhYzU0OTQwNDkwNGEpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcig0MjZlYTI5YzMyYzE1YzgzIDlmMWMyNWM1ZTYzOGM2NTQpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcigyOTc2Mzc2YzYyM2NlZmJkIGM3YjQyNWMxZWNkODFkZjMpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcigzMWZlZmRiMjA5OTMxNzAzIGQ4NmJhZTU4NTZmOGMxNWYpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcigxOGJmZTUxNWM0MGM3MzkwIDc0MGExYTkyYTVjMDkxMjEpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcig0NThjNDcwNTUyMDRkYTFkIDQ0NWY1NjQ0YThiN2JhOTgpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcihkYzE5Yjc2MzYyYjMyZmMzIGU4YmMwNzE2YTE0NmZjNjApKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcig4OTFjMTQxNmZhZTU0Njg3IDVlZmM0YWVmMTRkNWVmYzIpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcihiOTkyODg0OWY1OWZmMjAwIDdkNzJjOTBmOWRmOTcyZjgpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcigzNzViZDkzMThhMmZlMDgxIDk3NmE4YTBhYmJlMzkyNjMpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcig0OWMyNjJmYTdiZjk1NWQ3IDYyMGMzZmM1NTIwNGY0YmMpKSkpKSkpKSkpKSkobWVzc2FnZXNfZm9yX25leHRfc3RlcF9wcm9vZigoYXBwX3N0YXRlKCkpKGNoYWxsZW5nZV9wb2x5bm9taWFsX2NvbW1pdG1lbnRzKCgweDE1MEE0QjE2NDlCNTI3MTgwNDRDMDJEQzRFNEQ4MEZBRUI5RTQ1MDZGNTdBRjJFMDc5RTgxOTUyMDUzRUQ2N0MgMHgwRkE3OTJDNTRCMzY0MTEyM0JCMT