Transaction executed successfully
Transaction Details
Inspect execution, participants, message data, gas usage, events and raw transaction data.
Transaction hash
E51076F0A9CFCA700CFF43DDAD6F83F2E2D09B6345EE1768D413AD0F8CD42C20
Transaction overview
Execution summary
TX INDEX
0
Position in block
GAS WANTED
19,766,632
Requested gas limit
GAS USED
16,472,144
Gas consumed
FEE
1000000ugnot
Transaction fee
Participants
Message
Message #1
m_addpkg
Arguments
g1manfred47kzduec920z88wfr64ylksmdcedlf5
Execution log
msg:0,success:true,log:,events:[]
Events
No events emitted by this transaction.
Raw encoded transaction
CutMCgwvdm0ubV9hZGRwa2cS2kwKKGcxbWFuZnJlZDQ3a3pkdWVjOTIwejg4d2ZyNjR5bGtzbWRjZWRsZjUSrUwKB3JwZ3Jvb20SImduby5sYW5kL3IvbW91bC94L2RhaWx5L3JwZ3Jvb20vdjAa+AoKCVJFQURNRS5tZBLqCiMgUlBHIFJvb20KCj4g4pqg77iPICoqRXhwZXJpbWVudGFsIOKAlCBnZW5lcmF0ZWQgd2l0aCBubyBodW1hbiBzdXBlcnZpc2lvbioqIGJ5IHRoZSBkYWlseSBNQ1AgcGlwZWxpbmUgdG8gZXhlcmNpc2UgZ25vIHRvb2xpbmcuIE5vdCBhdWRpdGVkLiBTZWUgW3IvbW91bC94L2RhaWx5XShodHRwczovL2dpdGh1Yi5jb20vbW91bC9nbm8tY29udHJhY3RzL2Jsb2IvbWFpbi9yL21vdWwveC9kYWlseS9SRUFETUUubWQpLgoKLS0tCgpBIHRpbnkgc2hhcmVkIG9uLWNoYWluIGR1bmdlb24gcm9vbTogZXZlcnlvbmUgZmlnaHRzIHRoZSBzYW1lIHJlc2lkZW50IG1vbnN0ZXIuIFNwYXduIGEgaGVybywgQXR0YWNrIHRvIGNoaXAgYXdheSBhdCB0aGUgbW9uc3RlciAob3IgZ2V0IGhpdCBiYWNrKSwgUmVzdCB0byBoZWFsLCBSZXZpdmUgaWYgeW91IGZhbGwuIEV2ZXJ5IGtpbGwgcmVwbGFjZXMgdGhlIG1vbnN0ZXIgd2l0aCBhIHRvdWdoZXIgb25lIGFuZCBncmFudHMgWFAvZ29sZC9sZXZlbC11cHMsIHNvIHRoZSByb29tIGVzY2FsYXRlcyBhcyB0aGUgY29tbXVuaXR5IGdyaW5kcyB0aHJvdWdoIGl0IHRvZ2V0aGVyLCB3aXRoIGEgbGl2ZSBsZWFkZXJib2FyZCByYW5raW5nIGV2ZXJ5IGhlcm8uCgpCdWlsdCBmb3IgZ25vIDAuOS4KCjwhLS0gQkVHSU4gR05PQ09OVFJBQ1RTIEZPT1RFUiAoZ2VuZXJhdGVkIGJ5IGBtYWtlIHJlYWRtZXNgOyBkbyBub3QgZWRpdCBiZWxvdykgLS0+CgotLS0KClBhcnQgb2YgKipbbW91bC9nbm8tY29udHJhY3RzXShodHRwczovL2dpdGh1Yi5jb20vbW91bC9nbm8tY29udHJhY3RzKSoqIOKAlCBtb3VsJ3MgdmVyc2lvbmVkIGduby5sYW5kIGNvbnRyYWN0cy4gU2VlIHRoZSByZXBvc2l0b3J5IGZvciB0aGUgZnVsbCBjYXRhbG9nLCBidWlsZC90ZXN0IHRvb2xpbmcsIGFuZCB1c2FnZS4KCioqRGVwZW5kZW5jeSBncmFwaDoqKgoKIVtnbm8ubGFuZC9yL21vdWwveC9kYWlseS9ycGdyb29tL3YwIGRlcGVuZGVuY3kgZ3JhcGhdKGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3VsL2duby1jb250cmFjdHMvbWFpbi9fYXNzZXRzL2duby5sYW5kL3IvbW91bC94L2RhaWx5L3JwZ3Jvb20vdjAvZGVwcy5wbmcpCgo+IPCfp6ogKipIaWdobHkgZXhwZXJpbWVudGFsIOKAlCBwb3RlbnRpYWxseSB2aWJlLWNvZGVkLioqIE5vdCBhdWRpdGVkOyBtYXkgYnJlYWssIGNoYW5nZSwgb3IgYmUgcmVtb3ZlZCBhdCBhbnkgdGltZS4gRG8gbm90IHVzZSB3aXRoIGFueXRoaW5nIG9mIHZhbHVlLiBGdWxsIGRpc2NsYWltZXI6IFtESVNDTEFJTUVSXShodHRwczovL2dpdGh1Yi5jb20vbW91bC9nbm8tY29udHJhY3RzL2Jsb2IvbWFpbi9ESVNDTEFJTUVSLm1kKS4KCjwhLS0gRU5EIEdOT0NPTlRSQUNUUyBGT09URVIgLS0+ChpJCgtnbm9tb2QudG9tbBI6bW9kdWxlID0gImduby5sYW5kL3IvbW91bC94L2RhaWx5L3JwZ3Jvb20vdjAiCmdubyA9ICIwLjkiChqSQAoLcnBncm9vbS5nbm8SgkAvLyBQYWNrYWdlIHJwZ3Jvb20gaXMgYSB0aW55IHNpbmdsZS1yb29tIG9uLWNoYWluIFJQRy4gVGhlcmUgaXMgZXhhY3RseSBvbmUKLy8gbW9uc3RlciBpbiB0aGUgcm9vbSBhdCBhIHRpbWUuIFNwYXduIGEgaGVybywgdGFrZSBhIHN3aW5nLCBhbmQgc2VlIHdoYXQKLy8gaGFwcGVuczogbGFuZCB0aGUga2lsbGluZyBibG93IGFuZCB0aGUgcm9vbSdzIG1vbnN0ZXIgZ2V0cyByZXBsYWNlZCBieSBhCi8vIHRvdWdoZXIgb25lIHdoaWxlIHlvdXIgaGVybyBnYWlucyBYUCwgZ29sZCwgYW5kIChldmVudHVhbGx5KSBhIGxldmVsOyBnZXQKLy8gaGl0IGhhcmQgZW5vdWdoIGFuZCB5b3VyIGhlcm8gZmFsbHMgdW50aWwgaXQncyByZXZpdmVkLiBBIHJvb20td2lkZQovLyBsZWFkZXJib2FyZCB0cmFja3Mgd2hvIGhhcyBjbGltYmVkIHRoZSBoaWdoZXN0LgpwYWNrYWdlIHJwZ3Jvb20KCmltcG9ydCAoCgkic29ydCIKCSJzdHJjb252IgoJInN0cmluZ3MiCgoJImNoYWluIgoJImNoYWluL3J1bnRpbWUiCgoJImduby5sYW5kL3AvbnQvYXZsL3YwIgoJImduby5sYW5kL3AvbnQvbWFya2Rvd24vc2FuaXRpemUvdjAiCikKCi8vIEhlcm8gaXMgb25lIHBsYXllcidzIG9uLWNoYWluIGNoYXJhY3RlciBpbiB0aGUgcm9vbS4KdHlwZSBIZXJvIHN0cnVjdCB7CglOYW1lICAgc3RyaW5nCglMZXZlbCAgaW50CglYUCAgICAgaW50CglIUCAgICAgaW50CglNYXhIUCAgaW50CglBdHRhY2sgaW50CglLaWxscyAgaW50CglHb2xkICAgaW50CglBbGl2ZSAgYm9vbAp9CgovLyBNb25zdGVyIGlzIHRoZSByb29tJ3MgY3VycmVudCByZXNpZGVudC4KdHlwZSBNb25zdGVyIHN0cnVjdCB7CglOYW1lICAgc3RyaW5nCglMZXZlbCAgaW50CglIUCAgICAgaW50CglNYXhIUCAgaW50CglBdHRhY2sgaW50Cn0KCnZhciAoCgloZXJvZXMgICAgIGF2bC5UcmVlIC8vIGFkZHJlc3Mgc3RyaW5nIC0+ICpIZXJvCgltb25zdGVyICAgICpNb25zdGVyCglyb29tTGV2ZWwgIGludAoJdG90YWxLaWxscyBpbnQKKQoKdmFyIG1vbnN0ZXJOYW1lcyA9IFtdc3RyaW5newoJIlNsaW1lIiwgIkdpYW50IFJhdCIsICJHb2JsaW4iLCAiU2tlbGV0b24iLCAiQ2F2ZSBCYXQiLAoJIk9yYyBHcnVudCIsICJXcmFpdGgiLCAiU3RvbmUgVHJvbGwiLCAiRHJlYWQgV29sZiIsICJZb3VuZyBEcmFnb24iLAp9CgpmdW5jIGluaXQoKSB7Cglyb29tTGV2ZWwgPSAxCgltb25zdGVyID0gc3Bhd25Nb25zdGVyKHJvb21MZXZlbCkKfQoKZnVuYyBzcGF3bk1vbnN0ZXIobGV2ZWwgaW50KSAqTW9uc3RlciB7CgluYW1lIDo9IG1vbnN0ZXJOYW1lc1sobGV2ZWwtMSklbGVuKG1vbnN0ZXJOYW1lcyldCglocCA6PSAyMCArIGxldmVsKjE1CglyZXR1cm4gJk1vbnN0ZXJ7CgkJTmFtZTogICBuYW1lLAoJCUxldmVsOiAgbGV2ZWwsCgkJSFA6ICAgICBocCwKCQlNYXhIUDogIGhwLAoJCUF0dGFjazogMyArIGxldmVsKjIsCgl9Cn0KCi8vIFNwYXduIGNyZWF0ZXMgdGhlIGNhbGxlcidzIGhlcm8gaW4gdGhlIHJvb20uIEVhY2ggYWRkcmVzcyBnZXRzIGV4YWN0bHkgb25lCi8vIGhlcm87IGNhbGwgUmV2aXZlIChub3QgU3Bhd24gYWdhaW4pIGlmIGl0IGRpZXMuCmZ1bmMgU3Bhd24oY3VyIHJlYWxtLCBuYW1lIHN0cmluZykgewoJaWYgIWN1ci5QcmV2aW91cygpLklzVXNlckNhbGwoKSB7CgkJcGFuaWMoIm9ubHkgYSBkaXJlY3QgRU9BIGNhbGwgY2FuIHNwYXduIGEgaGVybyIpCgl9CgluYW1lID0gc3RyaW5ncy5UcmltU3BhY2UobmFtZSkKCWlmIG5hbWUgPT0gIiIgewoJCXBhbmljKCJuYW1lIHJlcXVpcmVkIikKCX0KCWlmIGxlbihuYW1lKSA+IDI0IHsKCQlwYW5pYygibmFtZSB0b28gbG9uZyAobWF4IDI0IGNoYXJzKSIpCgl9CglhZGRyIDo9IGN1ci5QcmV2aW91cygpLkFkZHJlc3MoKS5TdHJpbmcoKQoJaWYgaGVyb2VzLkhhcyhhZGRyKSB7CgkJcGFuaWMoInlvdSBhbHJlYWR5IGhhdmUgYSBoZXJvIGluIHRoaXMgcm9vbSIpCgl9CgloZXJvZXMuU2V0KGFkZHIsICZIZXJvewoJCU5hbWU6ICAgbmFtZSwKCQlMZXZlbDogIDEsCgkJSFA6ICAgICAzMCwKCQlNYXhIUDogIDMwLAoJCUF0dGFjazogNSwKCQlBbGl2ZTogIHRydWUsCgl9KQoJY2hhaW4uRW1pdCgiSGVyb1NwYXduZWQiLCAiYWRkciIsIGFkZHIsICJuYW1lIiwgbmFtZSkKfQoKLy8gQXR0YWNrIHN3aW5ncyB0aGUgY2FsbGVyJ3MgaGVybyBhdCB0aGUgcm9vbSdzIGN1cnJlbnQgbW9uc3Rlci4gS2lsbGluZyBpdAovLyBncmFudHMgWFAgYW5kIGdvbGQgYW5kIHJlcGxhY2VzIGl0IHdpdGggYSB0b3VnaGVyIG9uZTsgb3RoZXJ3aXNlIHRoZQovLyBtb25zdGVyIHN0cmlrZXMgYmFjay4KZnVuYyBBdHRhY2soY3VyIHJlYWxtKSB7CglpZiAhY3VyLlByZXZpb3VzKCkuSXNVc2VyQ2FsbCgpIHsKCQlwYW5pYygib25seSBhIGRpcmVjdCBFT0EgY2FsbCBjYW4gYXR0YWNrIikKCX0KCWFkZHIgOj0gY3VyLlByZXZpb3VzKCkuQWRkcmVzcygpLlN0cmluZygpCgl2IDo9IGhlcm9lcy5HZXQoYWRkcikKCWlmIHYgPT0gbmlsIHsKCQlwYW5pYygibm8gaGVybyBmb3VuZDsgY2FsbCBTcGF3biBmaXJzdCIpCgl9CgloZXJvIDo9IHYuKCpIZXJvKQoJaWYgIWhlcm8uQWxpdmUgewoJCXBhbmljKCJ5b3VyIGhlcm8gaXMgZGVhZDsgY2FsbCBSZXZpdmUgZmlyc3QiKQoJfQoKCWRtZyA6PSBoZXJvLkF0dGFjawoJaWYgcnVudGltZS5DaGFpbkhlaWdodCgpJTcgPT0gMCB7CgkJZG1nICo9IDIgLy8gb2NjYXNpb25hbCBjcml0aWNhbCBoaXQsIHRpZWQgdG8gYmxvY2sgaGVpZ2h0IHBhcml0eQoJfQoJbW9uc3Rlci5IUCAtPSBkbWcKCWNoYWluLkVtaXQoIkhlcm9BdHRhY2tlZCIsICJhZGRyIiwgYWRkciwgImRhbWFnZSIsIHN0cmNvbnYuSXRvYShkbWcpLCAibW9uc3RlckhQIiwgc3RyY29udi5JdG9hKG1vbnN0ZXIuSFApKQoKCWlmIG1vbnN0ZXIuSFAgPD0gMCB7CgkJcmV3YXJkIDo9IG1vbnN0ZXIuTGV2ZWwgKiAxMAoJCWdhaW5lZCA6PSBtb25zdGVyLkxldmVsICogMjAKCQloZXJvLkdvbGQgKz0gcmV3YXJkCgkJaGVyby5YUCArPSBnYWluZWQKCQloZXJvLktpbGxzKysKCQlsZXZlbFVwKGhlcm8pCgkJY2hhaW4uRW1pdCgiTW9uc3RlclNsYWluIiwgImFkZHIiLCBhZGRyLCAibW9uc3RlciIsIG1vbnN0ZXIuTmFtZSwgImxldmVsIiwgc3RyY29udi5JdG9hKG1vbnN0ZXIuTGV2ZWwpKQoKCQl0b3RhbEtpbGxzKysKCQlyb29tTGV2ZWwrKwoJCW1vbnN0ZXIgPSBzcGF3bk1vbnN0ZXIocm9vbUxldmVsKQoJCXJldHVybgoJfQoKCWhlcm8uSFAgLT0gbW9uc3Rlci5BdHRhY2sKCWlmIGhlcm8uSFAgPD0gMCB7CgkJaGVyby5IUCA9IDAKCQloZXJvLkFsaXZlID0gZmFsc2UKCQljaGFpbi5FbWl0KCJIZXJvRGllZCIsICJhZGRyIiwgYWRkciwgIm1vbnN0ZXIiLCBtb25zdGVyLk5hbWUpCgl9Cn0KCi8vIFJlc3QgaGVhbHMgdGhlIGNhbGxlcidzIGhlcm8gZm9yIGEgcXVhcnRlciBvZiBpdHMgbWF4IEhQLgpmdW5jIFJlc3QoY3VyIHJlYWxtKSB7CglpZiAhY3VyLlByZXZpb3VzKCkuSXNVc2VyQ2FsbCgpIHsKCQlwYW5pYygib25seSBhIGRpcmVjdCBFT0EgY2FsbCBjYW4gcmVzdCIpCgl9CglhZGRyIDo9IGN1ci5QcmV2aW91cygpLkFkZHJlc3MoKS5TdHJpbmcoKQoJdiA6PSBoZXJvZXMuR2V0KGFkZHIpCglpZiB2ID09IG5pbCB7CgkJcGFuaWMoIm5vIGhlcm8gZm91bmQ7IGNhbGwgU3Bhd24gZmlyc3QiKQoJfQoJaGVybyA6PSB2LigqSGVybykKCWlmICFoZXJvLkFsaXZlIHsKCQlwYW5pYygieW91ciBoZXJvIGlzIGRlYWQ7IGNhbGwgUmV2aXZlIGZpcnN0IikKCX0KCWlmIGhlcm8uSFAgPj0gaGVyby5NYXhIUCB7CgkJcGFuaWMoImFscmVhZHkgYXQgZnVsbCBoZWFsdGgiKQoJfQoJaGVhbCA6PSBoZXJvLk1heEhQIC8gNAoJaWYgaGVhbCA8IDEgewoJCWhlYWwgPSAxCgl9CgloZXJvLkhQICs9IGhlYWwKCWlmIGhlcm8uSFAgPiBoZXJvLk1heEhQIHsKCQloZXJvLkhQID0gaGVyby5NYXhIUAoJfQoJY2hhaW4uRW1pdCgiSGVyb1Jlc3RlZCIsICJhZGRyIiwgYWRkciwgImhwIiwgc3RyY29udi5JdG9hKGhlcm8uSFApKQp9CgovLyBSZXZpdmUgYnJpbmdzIGEgZmFsbGVuIGhlcm8gYmFjayBhdCBoYWxmIG1heCBIUC4KZnVuYyBSZXZpdmUoY3VyIHJlYWxtKSB7CglpZiAhY3VyLlByZXZpb3VzKCkuSXNVc2VyQ2FsbCgpIHsKCQlwYW5pYygib25seSBhIGRpcmVjdCBFT0EgY2FsbCBjYW4gcmV2aXZlIikKCX0KCWFkZHIgOj0gY3VyLlByZXZpb3VzKCkuQWRkcmVzcygpLlN0cmluZygpCgl2IDo9IGhlcm9lcy5HZXQoYWRkcikKCWlmIHYgPT0gbmlsIHsKCQlwYW5pYygibm8gaGVybyBmb3VuZDsgY2FsbCBTcGF3biBmaXJzdCIpCgl9CgloZXJvIDo9IHYuKCpIZXJvKQoJaWYgaGVyby5BbGl2ZSB7CgkJcGFuaWMoInlvdXIgaGVybyBpcyBub3QgZGVhZCIpCgl9CgloZXJvLkFsaXZlID0gdHJ1ZQoJaGVyby5IUCA9IGhlcm8uTWF4SFAgLyAyCglpZiBoZXJvLkhQIDwgMSB7CgkJaGVyby5IUCA9IDEKCX0KCWNoYWluLkVtaXQoIkhlcm9SZXZpdmVkIiwgImFkZHIiLCBhZGRyLCAiaHAiLCBzdHJjb252Lkl0b2EoaGVyby5IUCkpCn0KCi8vIGxldmVsVXAgYXBwbGllcyBldmVyeSBsZXZlbC11cCBhIGhlcm8ncyBjdXJyZW50IFhQIHF1YWxpZmllcyBmb3IuIFRoZQovLyB0aHJlc2hvbGQgdG8gcmVhY2ggbGV2ZWwgTisxIGZyb20gbGV2ZWwgTiBpcyBOKjUwIFhQLgpmdW5jIGxldmVsVXAoaCAqSGVybykgewoJZm9yIGguWFAgPj0gaC5MZXZlbCo1MCB7CgkJaC5YUCAtPSBoLkxldmVsICogNTAKCQloLkxldmVsKysKCQloLk1heEhQICs9IDEwCgkJaC5IUCA9IGguTWF4SFAKCQloLkF0dGFjayArPSAzCgl9Cn0KCi8vIGJ5UmFuayBvcmRlcnMgaGVyb2VzIGZvciB0aGUgbGVhZGVyYm9hcmQ6IGhpZ2hlc3QgbGV2ZWwgZmlyc3QsIHRoZW4gWFAsCi8vIHRoZW4ga2lsbHMsIGFzIGEgdGllYnJlYWtlci4KdHlwZSBieVJhbmsgW10qSGVybwoKZnVuYyAociBieVJhbmspIExlbigpIGludCAgICAgIHsgcmV0dXJuIGxlbihyKSB9CmZ1bmMgKHIgYnlSYW5rKSBTd2FwKGksIGogaW50KSB7IHJbaV0sIHJbal0gPSByW2pdLCByW2ldIH0KZnVuYyAociBieVJhbmspIExlc3MoaSwgaiBpbnQpIGJvb2wgewoJaWYgcltpXS5MZXZlbCAhPSByW2pdLkxldmVsIHsKCQlyZXR1cm4gcltpXS5MZXZlbCA+IHJbal0uTGV2ZWwKCX0KCWlmIHJbaV0uWFAgIT0gcltqXS5YUCB7CgkJcmV0dXJuIHJbaV0uWFAgPiByW2pdLlhQCgl9CglyZXR1cm4gcltpXS5LaWxscyA+IHJbal0uS2lsbHMKfQoKZnVuYyBjb2xsZWN0SGVyb2VzKCkgW10qSGVybyB7Cgl2YXIgb3V0IFtdKkhlcm8KCWhlcm9lcy5JdGVyYXRlKCIiLCAiIiwgZnVuYyhrZXkgc3RyaW5nLCB2YWx1ZSBhbnkpIGJvb2wgewoJCW91dCA9IGFwcGVuZChvdXQsIHZhbHVlLigqSGVybykpCgkJcmV0dXJuIGZhbHNlCgl9KQoJcmV0dXJuIG91dAp9CgpmdW5jIGhwQmFyKGhwLCBtYXhIUCBpbnQpIHN0cmluZyB7CglpZiBtYXhIUCA8PSAwIHsKCQltYXhIUCA9IDEKCX0KCWZpbGxlZCA6PSBocCAqIDEwIC8gbWF4SFAKCWlmIGZpbGxlZCA8IDAgewoJCWZpbGxlZCA9IDAKCX0KCWlmIGZpbGxlZCA+IDEwIHsKCQlmaWxsZWQgPSAxMAoJfQoJYmFyIDo9IHN0cmluZ3MuUmVwZWF0KCIjIiwgZmlsbGVkKSArIHN0cmluZ3MuUmVwZWF0KCItIiwgMTAtZmlsbGVkKQoJcmV0dXJuICJgIiArIGJhciArICJgICIgKyBzdHJjb252Lkl0b2EoaHApICsgIi8iICsgc3RyY29udi5JdG9hKG1heEhQKSArICIgSFAiCn0KCi8vIFJlbmRlciBzaG93cyB0aGUgcm9vbSBvdmVydmlldyBhbmQgbGVhZGVyYm9hcmQgYXQgcGF0aCAiIiwgb3IgYSBzaW5nbGUKLy8gaGVybydzIGRldGFpbCBwYWdlIHdoZW4gcGF0aCBpcyBhIGJlY2gzMiBhZGRyZXNzLgpmdW5jIFJlbmRlcihwYXRoIHN0cmluZykgc3RyaW5nIHsKCXBhdGggPSBzdHJpbmdzLlRyaW1TcGFjZShwYXRoKQoJaWYgcGF0aCAhPSAiIiB7CgkJcmV0dXJuIHJlbmRlckhlcm8ocGF0aCkKCX0KCXJldHVybiByZW5kZXJSb29tKCkKfQoKZnVuYyByZW5kZXJSb29tKCkgc3RyaW5nIHsKCXZhciBiIHN0cmluZ3MuQnVpbGRlcgoJYi5Xcml0ZVN0cmluZygiIyBSUEcgUm9vbVxuXG4iKQoJYi5Xcml0ZVN0cmluZygiQSBzaW5nbGUgZHVuZ2VvbiByb29tIHdpdGggb25lIG1vbnN0ZXIgaW4gaXQgYXQgYSB0aW1lLiAiKQoJYi5Xcml0ZVN0cmluZygiQ2FsbCBgU3Bhd24oXCJuYW1lXCIpYCB0byBlbnRlciwgYEF0dGFjaygpYCB0byBmaWdodCB0aGUgcmVzaWRlbnQgbW9uc3RlciwgIikKCWIuV3JpdGVTdHJpbmcoImBSZXN0KClgIHRvIGhlYWwgdXAsIGFuZCBgUmV2aXZlKClgIGlmIHlvdSBmYWxsLlxuXG4iKQoKCWIuV3JpdGVTdHJpbmcoIiMjIEN1cnJlbnQgbW9uc3RlclxuXG4iKQoJYi5Xcml0ZVN0cmluZygiKioiICsgc2FuaXRpemUuSW5saW5lVGV4dChtb25zdGVyLk5hbWUpICsgIioqIOKAlCBsZXZlbCAiICsgc3RyY29udi5JdG9hKG1vbnN0ZXIuTGV2ZWwpICsgIlxuXG4iKQoJYi5Xcml0ZVN0cmluZyhocEJhcihtb25zdGVyLkhQLCBtb25zdGVyLk1heEhQKSArICJcblxuIikKCWIuV3JpdGVTdHJpbmcoIi0gQXR0YWNrOiAiICsgc3RyY29udi5JdG9hKG1vbnN0ZXIuQXR0YWNrKSArICJcbiIpCgliLldyaXRlU3RyaW5nKCItIE1vbnN0ZXJzIGNsZWFyZWQgc28gZmFyOiAiICsgc3RyY29udi5JdG9hKHRvdGFsS2lsbHMpICsgIlxuXG4iKQoKCWIuV3JpdGVTdHJpbmcoIiMjIExlYWRlcmJvYXJkXG5cbiIpCglhbGwgOj0gY29sbGVjdEhlcm9lcygpCglpZiBsZW4oYWxsKSA9PSAwIHsKCQliLldyaXRlU3RyaW5nKCJfTm8gaGVyb2VzIHlldC4gQmUgdGhlIGZpcnN0OiBgU3Bhd24oXCJuYW1lXCIpYC5fXG4iKQoJCXJldHVybiBiLlN0cmluZygpCgl9Cglzb3J0LlNvcnQoYnlSYW5rKGFsbCkpCgliLldyaXRlU3RyaW5nKCJ8ICMgfCBIZXJvIHwgTHZsIHwgSFAgfCBLaWxscyB8IEdvbGQgfCBTdGF0dXMgfFxuIikKCWIuV3JpdGVTdHJpbmcoInwtLS18LS0tfC0tLXwtLS18LS0tfC0tLXwtLS18XG4iKQoJbGltaXQgOj0gbGVuKGFsbCkKCWlmIGxpbWl0ID4gMjAgewoJCWxpbWl0ID0gMjAKCX0KCWZvciBpIDo9IDA7IGkgPCBsaW1pdDsgaSsrIHsKCQloIDo9IGFsbFtpXQoJCXN0YXR1cyA6PSAiYWxpdmUiCgkJaWYgIWguQWxpdmUgewoJCQlzdGF0dXMgPSAiZmFsbGVuIgoJCX0KCQliLldyaXRlU3RyaW5nKCJ8ICIgKyBzdHJjb252Lkl0b2EoaSsxKSArICIgfCAiICsgc2FuaXRpemUuSW5saW5lVGV4dChoLk5hbWUpICsgIiB8ICIgKwoJCQlzdHJjb252Lkl0b2EoaC5MZXZlbCkgKyAiIHwgIiArIHN0cmNvbnYuSXRvYShoLkhQKSArICIvIiArIHN0cmNvbnYuSXRvYShoLk1heEhQKSArICIgfCAiICsKCQkJc3RyY29udi5JdG9hKGguS2lsbHMpICsgIiB8ICIgKyBzdHJjb252Lkl0b2EoaC5Hb2xkKSArICIgfCAiICsgc3RhdHVzICsgIiB8XG4iKQoJfQoJcmV0dXJuIGIuU3RyaW5nKCkKfQoKZnVuYyByZW5kZXJIZXJvKGFkZHIgc3RyaW5nKSBzdHJpbmcgewoJdiA6PSBoZXJvZXMuR2V0KGFkZHIpCglpZiB2ID09IG5pbCB7CgkJcmV0dXJuICI+IFshV0FSTklOR11cbj4gTm8gaGVybyBmb3VuZCBmb3IgYCIgKyBzYW5pdGl6ZS5JbmxpbmVUZXh0KGFkZHIpICsgImAuXG4iCgl9CgloIDo9IHYuKCpIZXJvKQoJdmFyIGIgc3RyaW5ncy5CdWlsZGVyCgliLldyaXRlU3RyaW5nKCIjICIgKyBzYW5pdGl6ZS5JbmxpbmVUZXh0KGguTmFtZSkgKyAiXG5cbiIpCgliLldyaXRlU3RyaW5nKGhwQmFyKGguSFAsIGguTWF4SFApICsgIlxuXG4iKQoJYi5Xcml0ZVN0cmluZygiLSBMZXZlbDogIiArIHN0cmNvbnYuSXRvYShoLkxldmVsKSArICJcbiIpCgliLldyaXRlU3RyaW5nKCItIFhQOiAiICsgc3RyY29udi5JdG9hKGguWFApICsgIiAobmV4dCBsZXZlbCBhdCAiICsgc3RyY29udi5JdG9hKGguTGV2ZWwqNTApICsgIilcbiIpCgliLldyaXRlU3RyaW5nKCItIEF0dGFjazogIiArIHN0cmNvbnYuSXRvYShoLkF0dGFjaykgKyAiXG4iKQoJYi5Xcml0ZVN0cmluZygiLSBLaWxsczogIiArIHN0cmNvbnYuSXRvYShoLktpbGxzKSArICJcbiIpCgliLldyaXRlU3RyaW5nKCItIEdvbGQ6ICIgKyBzdHJjb252Lkl0b2EoaC5Hb2xkKSArICJcbiIpCglpZiAhaC5BbGl2ZSB7CgkJYi5Xcml0ZVN0cmluZygiLSBTdGF0dXM6IGZhbGxlbiDigJQgY2FsbCBgUmV2aXZlKClgIHRvIHJldHVyblxuIikKCX0KCXJldHVybiBiLlN0cmluZygpCn0KIiMKEy9nbm8uTWVtUGFja2FnZVR5cGUSDAoKTVBVc2VyUHJvZBITCND17BISDDEwMDAwMDB1Z25vdBqoAQo6ChMvdG0uUHViS2V5U2VjcDI1NmsxEiMKIQIAUko/jSwAOonEP0X+r2647UW246Nfe75rO0n/ni2DyBJA55yFCj8bpN5ze0xSMZN87rcTS7kZDSC6NFJufzydV2JkTtfe94dHvfiJAxZ+pUJK9vKAHV+0MeuJyPToH71LzBooZzFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFsdXV4ZSIKZ25vcHVibGlzaA==