Transaction executed successfully
Transaction Details
Inspect execution, participants, message data, gas usage, events and raw transaction data.
Transaction hash
A25EB99B373F3322230A22DB735C63A592F30C61A9E7622644F65189C742CB09
Transaction overview
Execution summary
TX INDEX
0
Position in block
GAS WANTED
17,933,748
Requested gas limit
GAS USED
14,944,740
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
CvdOCgwvdm0ubV9hZGRwa2cS5k4KKGcxbWFuZnJlZDQ3a3pkdWVjOTIwejg4d2ZyNjR5bGtzbWRjZWRsZjUSuU4KCG51bWd1ZXNzEiNnbm8ubGFuZC9yL21vdWwveC9kYWlseS9udW1ndWVzcy92MBrRFgoJUkVBRE1FLm1kEsMWIyBOdW1iZXIgR3Vlc3NpbmcgR2FtZQoKPiDimqDvuI8gKipFeHBlcmltZW50YWwg4oCUIGdlbmVyYXRlZCB3aXRoIG5vIGh1bWFuIHN1cGVydmlzaW9uLioqIFRoaXMgcmVhbG0gd2FzCj4gcHJvZHVjZWQgYXV0b21hdGljYWxseSBieSBhbiBNQ1AtZHJpdmVuIGFnZW50IHRvIGV4ZXJjaXNlIHRoZSBnbm8gTUNQIHNlcnZlcgo+IGFuZCB0b29saW5nLCBhbmQgdG8gZ2VuZXJhdGUgdGVzdCBjb250ZW50IGZvciBnbm8gY29tcGlsZXJzLCBsaW50ZXJzIGFuZAo+IGZvcm1hdHRlcnMuICoqTm90IGF1ZGl0ZWQuIE5vdCBmb3IgcHJvZHVjdGlvbi4qKiBGdWxsIGNvbnRleHQgJiBmb2xkZXIgUkVBRE1FOgo+IFtyL21vdWwveC9kYWlseV0oaHR0cHM6Ly9naXRodWIuY29tL21vdWwvZ25vLWNvbnRyYWN0cy9ibG9iL21haW4vci9tb3VsL3gvZGFpbHkvUkVBRE1FLm1kKQoKLS0tCgoKQSBnbm8ubGFuZCByZWFsbSAoc2FwcGhpcmUgLyBnbm8gMC45KSB0aGF0IGhpZGVzIGEgbnVtYmVyIGJldHdlZW4gMSBhbmQgMTAwIGFuZApsZXRzIGFueW9uZSBndWVzcyBpdC4gVGhlIHRhcmdldCBpcyBkZXJpdmVkICoqZGV0ZXJtaW5pc3RpY2FsbHkqKiBmcm9tIHRoZSBibG9jawpoZWlnaHQgYXQgd2hpY2ggdGhlIHJvdW5kIHN0YXJ0ZWQgKHRoZSBHbm9WTSBoYXMgbm8gcnVudGltZSBSTkcpLCBzbyBwbGF5IGlzCnJlcHJvZHVjaWJsZSBhbmQgdmVyaWZpYWJsZS4gRWFjaCBndWVzcyByZXR1cm5zIGBoaWdoZXJgLCBgbG93ZXJgLCBvciBgY29ycmVjdGAsCnBlci1jYWxsZXIgYXR0ZW1wdCBjb3VudHMgYXJlIHRyYWNrZWQsIGFuZCBzb2x2ZWQgcm91bmRzIGFyZSByZWNvcmRlZCBvbiBhCmxlYWRlcmJvYXJkIHJhbmtlZCBieSBmZXdlc3QgZ3Vlc3Nlcy4KCioqUmVhbG0gcGF0aDoqKiBgZ25vLmxhbmQvci9SRVBMQUNFX0FERFIvbnVtZ3Vlc3NgCgojIyBQbGF5aW5nCgotIGBHdWVzcyhuIGludClgIOKAlCBzdWJtaXQgYSBndWVzcyBpbiBgMS4uMTAwYC4gUmV0dXJucyBgImhpZ2hlciJgLCBgImxvd2VyImAsIG9yCiAgYCJjb3JyZWN0ImA7IGluY3JlbWVudHMgeW91ciBhdHRlbXB0IGNvdW50IGZvciB0aGUgY3VycmVudCByb3VuZC4gUGFuaWNzIGlmIHRoZQogIHJvdW5kIGlzIGFscmVhZHkgc29sdmVkLgotIGBOZXdSb3VuZCgpYCDigJQgb25jZSB0aGUgY3VycmVudCByb3VuZCBpcyBzb2x2ZWQsIHN0YXJ0cyBhIGZyZXNoIHJvdW5kIHdpdGggYSBuZXcKICB0YXJnZXQgZGVyaXZlZCBmcm9tIHRoZSBjdXJyZW50IGJsb2NrIGhlaWdodC4gUGFuaWNzIGlmIHRoZSByb3VuZCBpcyBzdGlsbCBvcGVuLgotIGBSZW5kZXIocGF0aClgIOKAlCB0aGUgZ25vd2ViIHZpZXc6IGN1cnJlbnQgcm91bmQgbnVtYmVyLCBhdHRlbXB0cyBzbyBmYXIsIHRoZSBsYXN0CiAgaGludCwgcm91bmQgc3RhdHVzLCBhbmQgdGhlIHdpbm5lcnMnIGxlYWRlcmJvYXJkLgoKQm90aCBgR3Vlc3NgIGFuZCBgTmV3Um91bmRgIGFyZSBnbm8gMC45IGNyb3NzaW5nIGZ1bmN0aW9ucyAoYGN1ciByZWFsbWAgZmlyc3QKcGFyYW1ldGVyKSwgc28gY2FsbGVycyBpbnZva2UgdGhlbSB3aXRoIHRoZSBjcm9zc2luZyBjb252ZW50aW9uLgoKIyMgRXhhbXBsZSBjYWxscwoKYGBgc2gKIyBHdWVzcyA0MiAodmlhIGdub2tleTsgYWRkci9rZXluYW1lL2NoYWluIGZsYWdzIG9taXR0ZWQgZm9yIGJyZXZpdHkpCmdub2tleSBtYWtldHggY2FsbCAtcGtncGF0aCAiZ25vLmxhbmQvci9SRVBMQUNFX0FERFIvbnVtZ3Vlc3MiIFwKICAtZnVuYyBHdWVzcyAtYXJncyA0MiAuLi4KCiMgU3RhcnQgYSBuZXcgcm91bmQgYWZ0ZXIgdGhlIGN1cnJlbnQgb25lIGlzIHNvbHZlZApnbm9rZXkgbWFrZXR4IGNhbGwgLXBrZ3BhdGggImduby5sYW5kL3IvUkVQTEFDRV9BRERSL251bWd1ZXNzIiBcCiAgLWZ1bmMgTmV3Um91bmQgLi4uCmBgYAoKSW4gYSB0ZXN0IG9yIGBNc2dSdW5gIGVwaGVtZXJhbCByZWFsbToKCmBgYGdvCmltcG9ydCAiZ25vLmxhbmQvci9SRVBMQUNFX0FERFIvbnVtZ3Vlc3MiCgpoaW50IDo9IG51bWd1ZXNzLkd1ZXNzKGNyb3NzKGN1ciksIDQyKSAvLyAiaGlnaGVyIiB8ICJsb3dlciIgfCAiY29ycmVjdCIKbnVtZ3Vlc3MuTmV3Um91bmQoY3Jvc3MoY3VyKSkgICAgICAgICAgLy8gYWZ0ZXIgYSBzb2x2ZQpgYGAKCjwhLS0gQkVHSU4gR05PQ09OVFJBQ1RTIEZPT1RFUiAoZ2VuZXJhdGVkIGJ5IGBtYWtlIHJlYWRtZXNgOyBkbyBub3QgZWRpdCBiZWxvdykgLS0+CgotLS0KClBhcnQgb2YgKipbbW91bC9nbm8tY29udHJhY3RzXShodHRwczovL2dpdGh1Yi5jb20vbW91bC9nbm8tY29udHJhY3RzKSoqIOKAlCBtb3VsJ3MgdmVyc2lvbmVkIGduby5sYW5kIGNvbnRyYWN0cy4gU2VlIHRoZSByZXBvc2l0b3J5IGZvciB0aGUgZnVsbCBjYXRhbG9nLCBidWlsZC90ZXN0IHRvb2xpbmcsIGFuZCB1c2FnZS4KCioqRGVwZW5kZW5jeSBncmFwaDoqKgoKIVtnbm8ubGFuZC9yL21vdWwveC9kYWlseS9udW1ndWVzcy92MCBkZXBlbmRlbmN5IGdyYXBoXShodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW91bC9nbm8tY29udHJhY3RzL21haW4vX2Fzc2V0cy9nbm8ubGFuZC9yL21vdWwveC9kYWlseS9udW1ndWVzcy92MC9kZXBzLnBuZykKCj4g8J+nqiAqKkhpZ2hseSBleHBlcmltZW50YWwg4oCUIHBvdGVudGlhbGx5IHZpYmUtY29kZWQuKiogTm90IGF1ZGl0ZWQ7IG1heSBicmVhaywgY2hhbmdlLCBvciBiZSByZW1vdmVkIGF0IGFueSB0aW1lLiBEbyBub3QgdXNlIHdpdGggYW55dGhpbmcgb2YgdmFsdWUuIEZ1bGwgZGlzY2xhaW1lcjogW0RJU0NMQUlNRVJdKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3VsL2duby1jb250cmFjdHMvYmxvYi9tYWluL0RJU0NMQUlNRVIubWQpLgoKPCEtLSBFTkQgR05PQ09OVFJBQ1RTIEZPT1RFUiAtLT4KGkoKC2dub21vZC50b21sEjttb2R1bGUgPSAiZ25vLmxhbmQvci9tb3VsL3gvZGFpbHkvbnVtZ3Vlc3MvdjAiCmdubyA9ICIwLjkiChrCNgoMbnVtZ3Vlc3MuZ25vErE2Ly8gUGFja2FnZSBudW1ndWVzcyBpcyBhIE51bWJlciBHdWVzc2luZyBHYW1lIHJlYWxtLgovLwovLyBBIGhpZGRlbiB0YXJnZXQgaW4gMS4uMTAwIGlzIGRlcml2ZWQgZGV0ZXJtaW5pc3RpY2FsbHkgZnJvbSB0aGUgYmxvY2sgaGVpZ2h0Ci8vIGF0IHdoaWNoIHRoZSByb3VuZCBzdGFydGVkLiBQbGF5ZXJzIGNhbGwgR3Vlc3MobikgdG8gcmVjZWl2ZSAiaGlnaGVyIiwKLy8gImxvd2VyIiBvciAiY29ycmVjdCIuIFdoZW4gYSByb3VuZCBpcyBzb2x2ZWQgdGhlIHdpbm5lciBpcyByZWNvcmRlZCBvbiB0aGUKLy8gbGVhZGVyYm9hcmQgKHJhbmtlZCBieSBmZXdlc3QgZ3Vlc3NlcykgYW5kIGFueW9uZSBjYW4gc3RhcnQgYSBmcmVzaCByb3VuZC4KcGFja2FnZSBudW1ndWVzcwoKaW1wb3J0ICgKCSJzdHJjb252IgoJInN0cmluZ3MiCgoJImNoYWluIgoJImNoYWluL3J1bnRpbWUiCgoJImduby5sYW5kL3AvbnQvYXZsL3YwIgopCgovLyByb3VuZCBob2xkcyB0aGUgbXV0YWJsZSBzdGF0ZSBvZiB0aGUgYWN0aXZlIGdhbWUgcm91bmQuCnR5cGUgcm91bmQgc3RydWN0IHsKCW51bWJlciAgICAgIGludCAgICAvLyAxLWJhc2VkIHJvdW5kIGNvdW50ZXIKCXN0YXJ0SGVpZ2h0IGludDY0ICAvLyBibG9jayBoZWlnaHQgdGhlIHJvdW5kIGJlZ2FuIGF0IChlbnRyb3B5IHNvdXJjZSkKCXRhcmdldCAgICAgIGludCAgICAvLyBoaWRkZW4gdmFsdWUgaW4gMS4uMTAwCglzb2x2ZWQgICAgICBib29sICAgLy8gc2V0IG9uY2Ugc29tZW9uZSBndWVzc2VzIGNvcnJlY3RseQoJbGFzdEhpbnQgICAgc3RyaW5nIC8vICJoaWdoZXIiIC8gImxvd2VyIiAvICJjb3JyZWN0IiAvICIiIGZvciBub25lIHlldAoJd2lubmVyICAgICAgc3RyaW5nIC8vIGFkZHJlc3Mgb2YgdGhlIHNvbHZlciwgb25jZSBzb2x2ZWQKCXdpbm5lclRyaWVzIGludCAgICAvLyBhdHRlbXB0cyB0aGUgd2lubmVyIG5lZWRlZAp9CgovLyB3aW5SZWNvcmQgaXMgb25lIGxlYWRlcmJvYXJkIGVudHJ5Lgp0eXBlIHdpblJlY29yZCBzdHJ1Y3QgewoJYWRkciAgIHN0cmluZwoJcm91bmQgIGludAoJdHJpZXMgIGludAoJdGFyZ2V0IGludAp9Cgp2YXIgKAoJY3VycmVudCAqcm91bmQKCS8vIGF0dGVtcHRzIGNvdW50cyBndWVzc2VzIHBlciBhZGRyZXNzIGZvciB0aGUgQ1VSUkVOVCByb3VuZCBvbmx5LgoJYXR0ZW1wdHMgPSBhdmwuTmV3VHJlZSgpIC8vIGFkZHIoc3RyaW5nKSAtPiAqaW50CgkvLyBsZWFkZXJib2FyZCBpcyBhcHBlbmQtb25seSBhY3Jvc3MgYWxsIHJvdW5kczsgc29ydGVkIG9uIHJlbmRlci4KCWxlYWRlcmJvYXJkIFtdd2luUmVjb3JkCikKCmZ1bmMgaW5pdCgpIHsKCWN1cnJlbnQgPSBuZXdSb3VuZCgxLCBydW50aW1lLkNoYWluSGVpZ2h0KCkpCn0KCi8vIG5ld1JvdW5kIGJ1aWxkcyBhIGZyZXNoIHJvdW5kIHdob3NlIHRhcmdldCBkZXJpdmVzIGRldGVybWluaXN0aWNhbGx5IGZyb20KLy8gdGhlIHN0YXJ0IGhlaWdodC4gR25vIGhhcyBubyBydW50aW1lIFJORywgc28gaGVpZ2h0IGlzIHRoZSBvbmx5IGVudHJvcHkuCmZ1bmMgbmV3Um91bmQobnVtYmVyIGludCwgaGVpZ2h0IGludDY0KSAqcm91bmQgewoJcmV0dXJuICZyb3VuZHsKCQludW1iZXI6ICAgICAgbnVtYmVyLAoJCXN0YXJ0SGVpZ2h0OiBoZWlnaHQsCgkJdGFyZ2V0OiAgICAgIHRhcmdldEZyb21IZWlnaHQoaGVpZ2h0KSwKCQlzb2x2ZWQ6ICAgICAgZmFsc2UsCgkJbGFzdEhpbnQ6ICAgICIiLAoJfQp9CgovLyB0YXJnZXRGcm9tSGVpZ2h0IG1hcHMgYSBibG9jayBoZWlnaHQgdG8gYSBoaWRkZW4gbnVtYmVyIGluIDEuLjEwMC4KLy8gRGV0ZXJtaW5pc3RpYyBhbmQgY2hlYXA6IGEgc21hbGwgaW50ZWdlciBtaXggc28gY29uc2VjdXRpdmUgcm91bmRzIGRvbid0Ci8vIGxhbmQgb24gb2J2aW91c2x5IGFkamFjZW50IHRhcmdldHMuCmZ1bmMgdGFyZ2V0RnJvbUhlaWdodChoIGludDY0KSBpbnQgewoJaWYgaCA8IDAgewoJCWggPSAtaAoJfQoJbWl4ZWQgOj0gKGgqMjY1NDQzNTc2MSArIDEyMzQ1KQoJaWYgbWl4ZWQgPCAwIHsKCQltaXhlZCA9IC1taXhlZAoJfQoJcmV0dXJuIGludChtaXhlZCUxMDApICsgMQp9CgovLyBHdWVzcyBzdWJtaXRzIGEgZ3Vlc3MgZm9yIHRoZSBjdXJyZW50IHJvdW5kLiBJdCByZWNvcmRzIHRoZSBjYWxsZXIncyBhdHRlbXB0Ci8vIGNvdW50IGFuZCByZXR1cm5zICJoaWdoZXIiLCAibG93ZXIiIG9yICJjb3JyZWN0Ii4gQ3Jvc3NpbmcgZnVuY3Rpb246IGNhbGxlcgovLyBpbnZva2VzIGFzIEd1ZXNzKGNyb3NzKGN1ciksIG4pLgpmdW5jIEd1ZXNzKGN1ciByZWFsbSwgbiBpbnQpIHN0cmluZyB7CglpZiAhY3VyLklzQ3VycmVudCgpIHsKCQlwYW5pYygic3Bvb2ZlZCByZWFsbSIpCgl9CglpZiBuIDwgMSB8fCBuID4gMTAwIHsKCQlwYW5pYygiZ3Vlc3MgbXVzdCBiZSBpbiAxLi4xMDAiKQoJfQoJaWYgY3VycmVudC5zb2x2ZWQgewoJCXBhbmljKCJyb3VuZCBhbHJlYWR5IHNvbHZlZDsgY2FsbCBOZXdSb3VuZCB0byBzdGFydCBhIGZyZXNoIG9uZSIpCgl9CgoJY2FsbGVyIDo9IGN1ci5QcmV2aW91cygpLkFkZHJlc3MoKS5TdHJpbmcoKQoJaW5jQXR0ZW1wdChjYWxsZXIpCgoJdmFyIGhpbnQgc3RyaW5nCglzd2l0Y2ggewoJY2FzZSBuIDwgY3VycmVudC50YXJnZXQ6CgkJaGludCA9ICJoaWdoZXIiCgljYXNlIG4gPiBjdXJyZW50LnRhcmdldDoKCQloaW50ID0gImxvd2VyIgoJZGVmYXVsdDoKCQloaW50ID0gImNvcnJlY3QiCgkJY3VycmVudC5zb2x2ZWQgPSB0cnVlCgkJY3VycmVudC53aW5uZXIgPSBjYWxsZXIKCQljdXJyZW50Lndpbm5lclRyaWVzID0gYXR0ZW1wdHNPZihjYWxsZXIpCgkJbGVhZGVyYm9hcmQgPSBhcHBlbmQobGVhZGVyYm9hcmQsIHdpblJlY29yZHsKCQkJYWRkcjogICBjYWxsZXIsCgkJCXJvdW5kOiAgY3VycmVudC5udW1iZXIsCgkJCXRyaWVzOiAgY3VycmVudC53aW5uZXJUcmllcywKCQkJdGFyZ2V0OiBjdXJyZW50LnRhcmdldCwKCQl9KQoJCWNoYWluLkVtaXQoIlJvdW5kU29sdmVkIiwKCQkJInJvdW5kIiwgc3RyY29udi5JdG9hKGN1cnJlbnQubnVtYmVyKSwKCQkJIndpbm5lciIsIGNhbGxlciwKCQkJInRyaWVzIiwgc3RyY29udi5JdG9hKGN1cnJlbnQud2lubmVyVHJpZXMpLAoJCSkKCX0KCgljdXJyZW50Lmxhc3RIaW50ID0gaGludAoJcmV0dXJuIGhpbnQKfQoKLy8gTmV3Um91bmQgcmVzZXRzIHRoZSBnYW1lIHdpdGggYSBmcmVzaCB0YXJnZXQgd2hlbiB0aGUgY3VycmVudCByb3VuZCBpcwovLyBzb2x2ZWQuIFBhbmljcyBpZiB0aGUgY3VycmVudCByb3VuZCBpcyBzdGlsbCBvcGVuLiBDcm9zc2luZyBmdW5jdGlvbi4KZnVuYyBOZXdSb3VuZChjdXIgcmVhbG0pIHN0cmluZyB7CglpZiAhY3VyLklzQ3VycmVudCgpIHsKCQlwYW5pYygic3Bvb2ZlZCByZWFsbSIpCgl9CglpZiAhY3VycmVudC5zb2x2ZWQgewoJCXBhbmljKCJjdXJyZW50IHJvdW5kIGlzIG5vdCBzb2x2ZWQgeWV0IikKCX0KCgluZXh0IDo9IGN1cnJlbnQubnVtYmVyICsgMQoJY3VycmVudCA9IG5ld1JvdW5kKG5leHQsIHJ1bnRpbWUuQ2hhaW5IZWlnaHQoKSkKCWF0dGVtcHRzID0gYXZsLk5ld1RyZWUoKSAvLyBwZXItcm91bmQgYXR0ZW1wdCBjb3VudGVycyByZXNldAoJY2hhaW4uRW1pdCgiTmV3Um91bmQiLCAicm91bmQiLCBzdHJjb252Lkl0b2EobmV4dCkpCglyZXR1cm4gInJvdW5kICIgKyBzdHJjb252Lkl0b2EobmV4dCkgKyAiIHN0YXJ0ZWQiCn0KCi8vIGluY0F0dGVtcHQgYnVtcHMgdGhlIGNhbGxlcidzIGF0dGVtcHQgY291bnRlciBmb3IgdGhlIGN1cnJlbnQgcm91bmQuCmZ1bmMgaW5jQXR0ZW1wdChhZGRyIHN0cmluZykgewoJaWYgdiA6PSBhdHRlbXB0cy5HZXQoYWRkcik7IHYgIT0gbmlsIHsKCQlwIDo9IHYuKCppbnQpCgkJKnArKwoJCXJldHVybgoJfQoJb25lIDo9IDEKCWF0dGVtcHRzLlNldChhZGRyLCAmb25lKQp9CgovLyBhdHRlbXB0c09mIHJldHVybnMgaG93IG1hbnkgZ3Vlc3NlcyBhZGRyIGhhcyBtYWRlIHRoaXMgcm91bmQuCmZ1bmMgYXR0ZW1wdHNPZihhZGRyIHN0cmluZykgaW50IHsKCWlmIHYgOj0gYXR0ZW1wdHMuR2V0KGFkZHIpOyB2ICE9IG5pbCB7CgkJcmV0dXJuICoodi4oKmludCkpCgl9CglyZXR1cm4gMAp9CgovLyB0b3RhbEF0dGVtcHRzIHN1bXMgYWxsIGF0dGVtcHRzIG1hZGUgaW4gdGhlIGN1cnJlbnQgcm91bmQuCmZ1bmMgdG90YWxBdHRlbXB0cygpIGludCB7Cgl0b3RhbCA6PSAwCglhdHRlbXB0cy5JdGVyYXRlKCIiLCAiIiwgZnVuYyhfIHN0cmluZywgdiBhbnkpIGJvb2wgewoJCXRvdGFsICs9ICoodi4oKmludCkpCgkJcmV0dXJuIGZhbHNlCgl9KQoJcmV0dXJuIHRvdGFsCn0KCi8vIFJlbmRlciBwcm9kdWNlcyB0aGUgZ25vd2ViIE1hcmtkb3duIHZpZXcgb2YgdGhlIGN1cnJlbnQgZ2FtZSBzdGF0ZS4KZnVuYyBSZW5kZXIocGF0aCBzdHJpbmcpIHN0cmluZyB7Cgl2YXIgYiBzdHJpbmdzLkJ1aWxkZXIKCgliLldyaXRlU3RyaW5nKCIjIE51bWJlciBHdWVzc2luZyBHYW1lXG5cbiIpCgliLldyaXRlU3RyaW5nKCJHdWVzcyB0aGUgaGlkZGVuIG51bWJlciBiZXR3ZWVuICoqMSoqIGFuZCAqKjEwMCoqLiAiKQoJYi5Xcml0ZVN0cmluZygiRWFjaCByb3VuZCdzIHRhcmdldCBpcyBkZXJpdmVkIGRldGVybWluaXN0aWNhbGx5IGZyb20gdGhlIGJsb2NrIGhlaWdodCBhdCB3aGljaCBpdCBzdGFydGVkLlxuXG4iKQoKCWIuV3JpdGVTdHJpbmcoIiMjIEN1cnJlbnQgcm91bmRcblxuIikKCWIuV3JpdGVTdHJpbmcoIi0gUm91bmQ6ICoqIiArIHN0cmNvbnYuSXRvYShjdXJyZW50Lm51bWJlcikgKyAiKipcbiIpCgliLldyaXRlU3RyaW5nKCItIFN0YXJ0ZWQgYXQgYmxvY2sgaGVpZ2h0OiAiICsgc3RyY29udi5Gb3JtYXRJbnQoY3VycmVudC5zdGFydEhlaWdodCwgMTApICsgIlxuIikKCWIuV3JpdGVTdHJpbmcoIi0gQXR0ZW1wdHMgc28gZmFyICh0aGlzIHJvdW5kKTogIiArIHN0cmNvbnYuSXRvYSh0b3RhbEF0dGVtcHRzKCkpICsgIlxuIikKCgloaW50IDo9IGN1cnJlbnQubGFzdEhpbnQKCWlmIGhpbnQgPT0gIiIgewoJCWhpbnQgPSAiX25vIGd1ZXNzZXMgeWV0XyIKCX0gZWxzZSB7CgkJaGludCA9ICJgIiArIGhpbnQgKyAiYCIKCX0KCWIuV3JpdGVTdHJpbmcoIi0gTGFzdCBoaW50OiAiICsgaGludCArICJcbiIpCgoJaWYgY3VycmVudC5zb2x2ZWQgewoJCWIuV3JpdGVTdHJpbmcoIi0gU3RhdHVzOiAqKnNvbHZlZCoqIGJ5IGAiICsgY3VycmVudC53aW5uZXIgKyAiYCBpbiAiICsKCQkJc3RyY29udi5JdG9hKGN1cnJlbnQud2lubmVyVHJpZXMpICsgIiBndWVzcyhlcykuICIpCgkJYi5Xcml0ZVN0cmluZygiQ2FsbCBgTmV3Um91bmQoKWAgdG8gcGxheSBhZ2Fpbi5cbiIpCgl9IGVsc2UgewoJCWIuV3JpdGVTdHJpbmcoIi0gU3RhdHVzOiAqKm9wZW4qKiDigJQgY2FsbCBgR3Vlc3MobilgIHRvIHBsYXkuXG4iKQoJfQoJYi5Xcml0ZVN0cmluZygiXG4iKQoKCWIuV3JpdGVTdHJpbmcoIiMjIExlYWRlcmJvYXJkXG5cbiIpCgliLldyaXRlU3RyaW5nKHJlbmRlckxlYWRlcmJvYXJkKCkpCgoJYi5Xcml0ZVN0cmluZygiXG4jIyBIb3cgdG8gcGxheVxuXG4iKQoJYi5Xcml0ZVN0cmluZygiYGBgXG4iKQoJYi5Xcml0ZVN0cmluZygiR3Vlc3MobikgICAgIC8vIG4gaW4gMS4uMTAwIC0+IFwiaGlnaGVyXCIgfCBcImxvd2VyXCIgfCBcImNvcnJlY3RcIlxuIikKCWIuV3JpdGVTdHJpbmcoIk5ld1JvdW5kKCkgICAvLyBzdGFydCBhIGZyZXNoIHJvdW5kIG9uY2UgdGhlIGN1cnJlbnQgb25lIGlzIHNvbHZlZFxuIikKCWIuV3JpdGVTdHJpbmcoImBgYFxuIikKCglyZXR1cm4gYi5TdHJpbmcoKQp9CgovLyByZW5kZXJMZWFkZXJib2FyZCBmb3JtYXRzIHdpbm5lcnMgcmFua2VkIGJ5IGZld2VzdCBndWVzc2VzICh0aWVzOiBlYXJsaWVyCi8vIHJvdW5kIGZpcnN0KS4gU29ydGVkIG9uIGEgY29weSBzbyBzdGF0ZSBpcyB1bnRvdWNoZWQuCmZ1bmMgcmVuZGVyTGVhZGVyYm9hcmQoKSBzdHJpbmcgewoJaWYgbGVuKGxlYWRlcmJvYXJkKSA9PSAwIHsKCQlyZXR1cm4gIl9ObyB3aW5uZXJzIHlldCDigJQgYmUgdGhlIGZpcnN0IV9cbiIKCX0KCglyYW5rZWQgOj0gbWFrZShbXXdpblJlY29yZCwgbGVuKGxlYWRlcmJvYXJkKSkKCWNvcHkocmFua2VkLCBsZWFkZXJib2FyZCkKCXNvcnRCeUZld2VzdFRyaWVzKHJhbmtlZCkKCgl2YXIgYiBzdHJpbmdzLkJ1aWxkZXIKCWIuV3JpdGVTdHJpbmcoInwgUmFuayB8IFBsYXllciB8IFJvdW5kIHwgR3Vlc3NlcyB8IFRhcmdldCB8XG4iKQoJYi5Xcml0ZVN0cmluZygifC0tLXwtLS18LS0tfC0tLXwtLS18XG4iKQoJZm9yIGksIHcgOj0gcmFuZ2UgcmFua2VkIHsKCQliLldyaXRlU3RyaW5nKCJ8ICIgKyBzdHJjb252Lkl0b2EoaSsxKSArICIgfCBgIiArIHcuYWRkciArICJgIHwgIiArCgkJCXN0cmNvbnYuSXRvYSh3LnJvdW5kKSArICIgfCAiICsgc3RyY29udi5JdG9hKHcudHJpZXMpICsgIiB8ICIgKwoJCQlzdHJjb252Lkl0b2Eody50YXJnZXQpICsgIiB8XG4iKQoJfQoJcmV0dXJuIGIuU3RyaW5nKCkKfQoKLy8gc29ydEJ5RmV3ZXN0VHJpZXMgZG9lcyBhbiBpbi1wbGFjZSBpbnNlcnRpb24gc29ydDogZmV3ZXIgdHJpZXMgZmlyc3QsIHRoZW4KLy8gZWFybGllciByb3VuZCBmaXJzdCBvbiB0aWVzLiBTbWFsbCBuOyBpbnNlcnRpb24gc29ydCBrZWVwcyBpdCBkZXRlcm1pbmlzdGljCi8vIGFuZCBkZXBlbmRlbmN5LWZyZWUuCmZ1bmMgc29ydEJ5RmV3ZXN0VHJpZXMocnMgW113aW5SZWNvcmQpIHsKCWZvciBpIDo9IDE7IGkgPCBsZW4ocnMpOyBpKysgewoJCWogOj0gaQoJCWZvciBqID4gMCAmJiBsZXNzKHJzW2pdLCByc1tqLTFdKSB7CgkJCXJzW2pdLCByc1tqLTFdID0gcnNbai0xXSwgcnNbal0KCQkJai0tCgkJfQoJfQp9CgpmdW5jIGxlc3MoYSwgYiB3aW5SZWNvcmQpIGJvb2wgewoJaWYgYS50cmllcyAhPSBiLnRyaWVzIHsKCQlyZXR1cm4gYS50cmllcyA8IGIudHJpZXMKCX0KCXJldHVybiBhLnJvdW5kIDwgYi5yb3VuZAp9CiIjChMvZ25vLk1lbVBhY2thZ2VUeXBlEgwKCk1QVXNlclByb2QSEwjolo0REgwxMDAwMDAwdWdub3QaqAEKOgoTL3RtLlB1YktleVNlY3AyNTZrMRIjCiECAFJKP40sADqJxD9F/q9uuO1FtuOjX3u+aztJ/54tg8gSQMVeOGvLSuEkmDq3qn8tAE5yRISZuKMOUeMoj67uKv4ZelnkMf8o1RLErQhQgSRgRs439QChzW/rIs51sZSYTigaKGcxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxbHV1eGUiCmdub3B1Ymxpc2g=