Witnesses Smart Contract

in #hive-engine6 months ago

{"id":"ssc-mainnet-hive","json":{"contractName":"contract","contractAction":"update","contractPayload":{"name":"witnesses","params":"","code":"Y29uc3QgTkJfQVBQUk9WQUxTX0FMTE9XRUQ9MzAsTkJfVE9QX1dJVE5FU1NFUz0yMCxOQl9CQUNLVVBfV0lUTkVTU0VTPTEsTkJfV0lUTkVTU0VTPTIxLE5CX1dJVE5FU1NFU19TSUdOQVRVUkVTX1JFUVVJUkVEPTE0LE1BWF9ST1VORFNfTUlTU0VEX0lOX0FfUk9XPTMsTUFYX1JPVU5EX1BST1BPU0lUSU9OX1dBSVRJTkdfUEVSSU9EPTQwLE5CX1RPS0VOU19UT19SRVdBUkRfUEVSX0JMT0NLPSIwLjAxOTAyNTg2IixOQl9UT0tFTlNfTkVFREVEX0JFRk9SRV9SRVdBUkRJTkc9IjAuMzk5NTQzMDYiLFdJVE5FU1NfQVBQUk9WRV9FWFBJUkVfQkxPQ0tTPTUxODRlMyxXSVRORVNTX01BWF9BQ0NPVU5UX0VYUElSRV9QRVJfQkxPQ0s9MTAsVVRJTElUWV9UT0tFTl9TWU1CT0w9IkJFRSIsVVRJTElUWV9UT0tFTl9QUkVDSVNJT049OCxHT1ZFUk5BTkNFX1RPS0VOX1NZTUJPTD0iV09SS0VSQkVFIixHT1ZFUk5BTkNFX1RPS0VOX1BSRUNJU0lPTj01LEdPVkVSTkFOQ0VfVE9LRU5fTUlOX1ZBTFVFPSIwLjAwMDAxIjthY3Rpb25zLmNyZWF0ZVNTQz1hc3luYygpPT57aWYoITE9PT1hd2FpdCBhcGkuZGIudGFibGVFeGlzdHMoIndpdG5lc3NlcyIpKXthd2FpdCBhcGkuZGIuY3JlYXRlVGFibGUoIndpdG5lc3NlcyIsWyJhcHByb3ZhbFdlaWdodCJdKSxhd2FpdCBhcGkuZGIuY3JlYXRlVGFibGUoImFwcHJvdmFscyIsWyJmcm9tIiwidG8iXSksYXdhaXQgYXBpLmRiLmNyZWF0ZVRhYmxlKCJhY2NvdW50cyIsWyJhY2NvdW50Il0pLGF3YWl0IGFwaS5kYi5jcmVhdGVUYWJsZSgic2NoZWR1bGVzIiksYXdhaXQgYXBpLmRiLmNyZWF0ZVRhYmxlKCJwYXJhbXMiKTtjb25zdCBwYXJhbXM9e3RvdGFsQXBwcm92YWxXZWlnaHQ6IjAiLHRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0OiIwIixudW1iZXJPZkFwcHJvdmVkV2l0bmVzc2VzOjAsbGFzdFZlcmlmaWVkQmxvY2tOdW1iZXI6MCxyb3VuZDowLGxhc3RCbG9ja1JvdW5kOjAsY3VycmVudFdpdG5lc3M6bnVsbCxibG9ja051bWJlcldpdG5lc3NDaGFuZ2U6MCxsYXN0V2l0bmVzc2VzOltdLG51bWJlck9mQXBwcm92YWxzUGVyQWNjb3VudDozMCxudW1iZXJPZlRvcFdpdG5lc3NlczoyMCxudW1iZXJPZldpdG5lc3NTbG90czoyMSx3aXRuZXNzU2lnbmF0dXJlc1JlcXVpcmVkOjE0LG1heFJvdW5kc01pc3NlZEluQVJvdzozLG1heFJvdW5kUHJvcG9zaXRpb25XYWl0aW5nUGVyaW9kOjQwLHdpdG5lc3NBcHByb3ZlRXhwaXJlQmxvY2tzOjUxODRlM307YXdhaXQgYXBpLmRiLmluc2VydCgicGFyYW1zIixwYXJhbXMpfWVsc2V7Y29uc3QgcGFyYW1zPWF3YWl0IGFwaS5kYi5maW5kT25lKCJwYXJhbXMiLHt9KTtpZighcGFyYW1zLnRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0fHwiTmFOIj09PXBhcmFtcy50b3RhbEVuYWJsZWRBcHByb3ZhbFdlaWdodCl7bGV0IHdpdHMsdG90YWxFbmFibGVkQXBwcm92YWxXZWlnaHQ9IjAiLG9mZnNldD0wO2Rve3dpdHM9YXdhaXQgYXBpLmRiLmZpbmQoIndpdG5lc3NlcyIse30sMWUzLG9mZnNldCxbe2luZGV4OiJfaWQiLGRlc2NlbmRpbmc6ITF9XSk7Zm9yKGxldCBpPTA7aTx3aXRzLmxlbmd0aDtpKz0xKXtjb25zdCB3aXQ9d2l0c1tpXTt3aXQuZW5hYmxlZCYmKHRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0PWFwaS5CaWdOdW1iZXIodG90YWxFbmFibGVkQXBwcm92YWxXZWlnaHQpLnBsdXMod2l0LmFwcHJvdmFsV2VpZ2h0LiRudW1iZXJEZWNpbWFsKS50b0ZpeGVkKDUpKX1vZmZzZXQrPTFlM313aGlsZSgxZTM9PT13aXRzLmxlbmd0aCk7cGFyYW1zLnRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0PXRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0LGF3YWl0IGFwaS5kYi51cGRhdGUoInBhcmFtcyIscGFyYW1zKX19fSxhY3Rpb25zLnJlc2V0U2NoZWR1bGU9YXN5bmMoKT0+e2lmKGFwaS5zZW5kZXIhPT1hcGkub3duZXIpcmV0dXJuO2NvbnN0IHNjaGVkdWxlcz1hd2FpdCBhcGkuZGIuZmluZCgic2NoZWR1bGVzIix7fSk7Zm9yKGxldCBpbmRleD0wO2luZGV4PHNjaGVkdWxlcy5sZW5ndGg7aW5kZXgrPTEpe2NvbnN0IHNjaGVkdWxlPXNjaGVkdWxlc1tpbmRleF07YXdhaXQgYXBpLmRiLnJlbW92ZSgic2NoZWR1bGVzIixzY2hlZHVsZSl9Y29uc3QgcGFyYW1zPWF3YWl0IGFwaS5kYi5maW5kT25lKCJwYXJhbXMiLHt9KTtwYXJhbXMuY3VycmVudFdpdG5lc3M9bnVsbCxwYXJhbXMuYmxvY2tOdW1iZXJXaXRuZXNzQ2hhbmdlPTAscGFyYW1zLmxhc3RXaXRuZXNzZXM9W10sYXdhaXQgYXBpLmRiLnVwZGF0ZSgicGFyYW1zIixwYXJhbXMpfSxhY3Rpb25zLnVwZGF0ZVBhcmFtcz1hc3luYyBwYXlsb2FkPT57aWYoYXBpLnNlbmRlciE9PWFwaS5vd25lcilyZXR1cm47Y29uc3R7bnVtYmVyT2ZBcHByb3ZhbHNQZXJBY2NvdW50Om51bWJlck9mQXBwcm92YWxzUGVyQWNjb3VudCxudW1iZXJPZlRvcFdpdG5lc3NlczpudW1iZXJPZlRvcFdpdG5lc3NlcyxudW1iZXJPZldpdG5lc3NTbG90czpudW1iZXJPZldpdG5lc3NTbG90cyx3aXRuZXNzU2lnbmF0dXJlc1JlcXVpcmVkOndpdG5lc3NTaWduYXR1cmVzUmVxdWlyZWQsbWF4Um91bmRzTWlzc2VkSW5BUm93Om1heFJvdW5kc01pc3NlZEluQVJvdyxtYXhSb3VuZFByb3Bvc2l0aW9uV2FpdGluZ1BlcmlvZDptYXhSb3VuZFByb3Bvc2l0aW9uV2FpdGluZ1BlcmlvZCx3aXRuZXNzQXBwcm92ZUV4cGlyZUJsb2Nrczp3aXRuZXNzQXBwcm92ZUV4cGlyZUJsb2Nrc309cGF5bG9hZCxwYXJhbXM9YXdhaXQgYXBpLmRiLmZpbmRPbmUoInBhcmFtcyIse30pO2xldCBzaG91bGRSZXNldFNjaGVkdWxlPSExO251bWJlck9mQXBwcm92YWxzUGVyQWNjb3VudCYmTnVtYmVyLmlzSW50ZWdlcihudW1iZXJPZkFwcHJvdmFsc1BlckFjY291bnQpJiYocGFyYW1zLm51bWJlck9mQXBwcm92YWxzUGVyQWNjb3VudD1udW1iZXJPZkFwcHJvdmFsc1BlckFjY291bnQpLG51bWJlck9mVG9wV2l0bmVzc2VzJiZOdW1iZXIuaXNJbnRlZ2VyKG51bWJlck9mVG9wV2l0bmVzc2VzKSYmKHBhcmFtcy5udW1iZXJPZlRvcFdpdG5lc3Nlcz1udW1iZXJPZlRvcFdpdG5lc3NlcyksbnVtYmVyT2ZXaXRuZXNzU2xvdHMmJk51bWJlci5pc0ludGVnZXIobnVtYmVyT2ZXaXRuZXNzU2xvdHMpJiZwYXJhbXMubnVtYmVyT2ZXaXRuZXNzU2xvdHMhPT1udW1iZXJPZldpdG5lc3NTbG90cyYmKHNob3VsZFJlc2V0U2NoZWR1bGU9ITAscGFyYW1zLm51bWJlck9mV2l0bmVzc1Nsb3RzPW51bWJlck9mV2l0bmVzc1Nsb3RzKSx3aXRuZXNzU2lnbmF0dXJlc1JlcXVpcmVkJiZOdW1iZXIuaXNJbnRlZ2VyKHdpdG5lc3NTaWduYXR1cmVzUmVxdWlyZWQpJiYocGFyYW1zLndpdG5lc3NTaWduYXR1cmVzUmVxdWlyZWQ9d2l0bmVzc1NpZ25hdHVyZXNSZXF1aXJlZCksbWF4Um91bmRzTWlzc2VkSW5BUm93JiZOdW1iZXIuaXNJbnRlZ2VyKG1heFJvdW5kc01pc3NlZEluQVJvdykmJihwYXJhbXMubWF4Um91bmRzTWlzc2VkSW5BUm93PW1heFJvdW5kc01pc3NlZEluQVJvdyksbWF4Um91bmRQcm9wb3NpdGlvbldhaXRpbmdQZXJpb2QmJk51bWJlci5pc0ludGVnZXIobWF4Um91bmRQcm9wb3NpdGlvbldhaXRpbmdQZXJpb2QpJiYocGFyYW1zLm1heFJvdW5kUHJvcG9zaXRpb25XYWl0aW5nUGVyaW9kPW1heFJvdW5kUHJvcG9zaXRpb25XYWl0aW5nUGVyaW9kKSxhcGkuYXNzZXJ0KHBhcmFtcy5udW1iZXJPZlRvcFdpdG5lc3NlcysxPT09cGFyYW1zLm51bWJlck9mV2l0bmVzc1Nsb3RzLCJvbmx5IDEgYmFja3VwIGFsbG93ZWQiKSYmKHdpdG5lc3NBcHByb3ZlRXhwaXJlQmxvY2tzJiZOdW1iZXIuaXNJbnRlZ2VyKHdpdG5lc3NBcHByb3ZlRXhwaXJlQmxvY2tzKSYmYXBpLmFzc2VydCh3aXRuZXNzQXBwcm92ZUV4cGlyZUJsb2Nrcz5wYXJhbXMubnVtYmVyT2ZXaXRuZXNzU2xvdHMsIndpdG5lc3NBcHByb3ZlRXhwaXJlQmxvY2tzIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gbnVtYmVyT2ZXaXRuZXNzU2xvdHMiKSYmKHBhcmFtcy53aXRuZXNzQXBwcm92ZUV4cGlyZUJsb2Nrcz13aXRuZXNzQXBwcm92ZUV4cGlyZUJsb2NrcyksYXdhaXQgYXBpLmRiLnVwZGF0ZSgicGFyYW1zIixwYXJhbXMpLHNob3VsZFJlc2V0U2NoZWR1bGUmJmF3YWl0IGFjdGlvbnMucmVzZXRTY2hlZHVsZSgpKX07Y29uc3QgdXBkYXRlV2l0bmVzc1Jhbms9YXN5bmMod2l0bmVzcyxhcHByb3ZhbFdlaWdodCk9Pntjb25zdCB3aXRuZXNzUmVjPWF3YWl0IGFwaS5kYi5maW5kT25lKCJ3aXRuZXNzZXMiLHthY2NvdW50OndpdG5lc3N9KTtpZih3aXRuZXNzUmVjKXtjb25zdCBvbGRBcHByb3ZhbFdlaWdodD13aXRuZXNzUmVjLmFwcHJvdmFsV2VpZ2h0LiRudW1iZXJEZWNpbWFsO3dpdG5lc3NSZWMuYXBwcm92YWxXZWlnaHQuJG51bWJlckRlY2ltYWw9YXBpLkJpZ051bWJlcih3aXRuZXNzUmVjLmFwcHJvdmFsV2VpZ2h0LiRudW1iZXJEZWNpbWFsKS5wbHVzKGFwcHJvdmFsV2VpZ2h0KS50b0ZpeGVkKDUpLGFwaS5CaWdOdW1iZXIod2l0bmVzc1JlYy5hcHByb3ZhbFdlaWdodC4kbnVtYmVyRGVjaW1hbCkubHQoMCkmJih3aXRuZXNzUmVjLmFwcHJvdmFsV2VpZ2h0LiRudW1iZXJEZWNpbWFsPWFwaS5CaWdOdW1iZXIoMCkpLGF3YWl0IGFwaS5kYi51cGRhdGUoIndpdG5lc3NlcyIsd2l0bmVzc1JlYyk7Y29uc3QgcGFyYW1zPWF3YWl0IGFwaS5kYi5maW5kT25lKCJwYXJhbXMiLHt9KTtwYXJhbXMudG90YWxBcHByb3ZhbFdlaWdodD1hcGkuQmlnTnVtYmVyKHBhcmFtcy50b3RhbEFwcHJvdmFsV2VpZ2h0KS5wbHVzKGFwcHJvdmFsV2VpZ2h0KS50b0ZpeGVkKDUpLHdpdG5lc3NSZWMuZW5hYmxlZCYmKHBhcmFtcy50b3RhbEVuYWJsZWRBcHByb3ZhbFdlaWdodD1hcGkuQmlnTnVtYmVyKHBhcmFtcy50b3RhbEVuYWJsZWRBcHByb3ZhbFdlaWdodCkucGx1cyhhcHByb3ZhbFdlaWdodCkudG9GaXhlZCg1KSksYXBpLkJpZ051bWJlcihvbGRBcHByb3ZhbFdlaWdodCkuZXEoMCkmJmFwaS5CaWdOdW1iZXIod2l0bmVzc1JlYy5hcHByb3ZhbFdlaWdodC4kbnVtYmVyRGVjaW1hbCkuZ3QoMCk/cGFyYW1zLm51bWJlck9mQXBwcm92ZWRXaXRuZXNzZXMrPTE6YXBpLkJpZ051bWJlcihvbGRBcHByb3ZhbFdlaWdodCkuZ3QoMCkmJmFwaS5CaWdOdW1iZXIod2l0bmVzc1JlYy5hcHByb3ZhbFdlaWdodC4kbnVtYmVyRGVjaW1hbCkuZXEoMCkmJihwYXJhbXMubnVtYmVyT2ZBcHByb3ZlZFdpdG5lc3Nlcy09MSksYXdhaXQgYXBpLmRiLnVwZGF0ZSgicGFyYW1zIixwYXJhbXMpfX07YWN0aW9ucy51cGRhdGVXaXRuZXNzZXNBcHByb3ZhbHM9YXN5bmMgcGF5bG9hZD0+e2NvbnN0e2FjY291bnQ6YWNjb3VudCxjYWxsaW5nQ29udHJhY3RJbmZvOmNhbGxpbmdDb250cmFjdEluZm99PXBheWxvYWQ7aWYodm9pZCAwPT09Y2FsbGluZ0NvbnRyYWN0SW5mbylyZXR1cm47aWYoInRva2VucyIhPT1jYWxsaW5nQ29udHJhY3RJbmZvLm5hbWUpcmV0dXJuO2NvbnN0IGFjY3Q9YXdhaXQgYXBpLmRiLmZpbmRPbmUoImFjY291bnRzIix7YWNjb3VudDphY2NvdW50fSk7aWYobnVsbCE9PWFjY3Qpe2NvbnN0IGJhbGFuY2U9YXdhaXQgYXBpLmRiLmZpbmRPbmVJblRhYmxlKCJ0b2tlbnMiLCJiYWxhbmNlcyIse2FjY291bnQ6YWNjb3VudCxzeW1ib2w6IldPUktFUkJFRSJ9KTtsZXQgYXBwcm92YWxXZWlnaHQ9MDtiYWxhbmNlJiZiYWxhbmNlLnN0YWtlJiYoYXBwcm92YWxXZWlnaHQ9YmFsYW5jZS5zdGFrZSksYmFsYW5jZSYmYmFsYW5jZS5kZWxlZ2F0aW9uc0luJiYoYXBwcm92YWxXZWlnaHQ9YXBpLkJpZ051bWJlcihhcHByb3ZhbFdlaWdodCkucGx1cyhiYWxhbmNlLmRlbGVnYXRpb25zSW4pLnRvRml4ZWQoNSkpO2NvbnN0IG9sZEFwcHJvdmFsV2VpZ2h0PWFjY3QuYXBwcm92YWxXZWlnaHQsZGVsdGFBcHByb3ZhbFdlaWdodD1hcGkuQmlnTnVtYmVyKGFwcHJvdmFsV2VpZ2h0KS5taW51cyhvbGRBcHByb3ZhbFdlaWdodCkudG9GaXhlZCg1KTtpZihhY2N0LmFwcHJvdmFsV2VpZ2h0PWFwcHJvdmFsV2VpZ2h0LCFhcGkuQmlnTnVtYmVyKGRlbHRhQXBwcm92YWxXZWlnaHQpLmVxKDApKXthd2FpdCBhcGkuZGIudXBkYXRlKCJhY2NvdW50cyIsYWNjdCk7Y29uc3QgYXBwcm92YWxzPWF3YWl0IGFwaS5kYi5maW5kKCJhcHByb3ZhbHMiLHtmcm9tOmFjY291bnR9KTtmb3IobGV0IGluZGV4PTA7aW5kZXg8YXBwcm92YWxzLmxlbmd0aDtpbmRleCs9MSl7Y29uc3QgYXBwcm92YWw9YXBwcm92YWxzW2luZGV4XTthd2FpdCB1cGRhdGVXaXRuZXNzUmFuayhhcHByb3ZhbC50byxkZWx0YUFwcHJvdmFsV2VpZ2h0KX19fX0sYWN0aW9ucy5yZWdpc3Rlcj1hc3luYyBwYXlsb2FkPT57Y29uc3R7ZG9tYWluOmRvbWFpbixJUDpJUCxSUENQb3J0OlJQQ1BvcnQsUDJQUG9ydDpQMlBQb3J0LHNpZ25pbmdLZXk6c2lnbmluZ0tleSxlbmFibGVkOmVuYWJsZWQsaXNTaWduZWRXaXRoQWN0aXZlS2V5OmlzU2lnbmVkV2l0aEFjdGl2ZUtleX09cGF5bG9hZDtpZihhcGkuYXNzZXJ0KCEwPT09aXNTaWduZWRXaXRoQWN0aXZlS2V5LCJhY3RpdmUga2V5IHJlcXVpcmVkIikmJmFwaS5hc3NlcnQoZG9tYWlufHxJUCwibmVpdGhlciBkb21haW4gbm9yIGlwIHByb3ZpZGVkIikmJmFwaS5hc3NlcnQoIShkb21haW4mJklQKSwiYm90aCBkb21haW4gYW5kIGlwIHByb3ZpZGVkIikmJihkb21haW4mJmFwaS5hc3NlcnQoZG9tYWluJiYic3RyaW5nIj09dHlwZW9mIGRvbWFpbiYmYXBpLnZhbGlkYXRvci5pc0ZRRE4oZG9tYWluKSwiZG9tYWluIGlzIGludmFsaWQiKXx8SVAmJmFwaS5hc3NlcnQoSVAmJiJzdHJpbmciPT10eXBlb2YgSVAmJmFwaS52YWxpZGF0b3IuaXNJUChJUCksIklQIGlzIGludmFsaWQiKSkmJmFwaS5hc3NlcnQoUlBDUG9ydCYmTnVtYmVyLmlzSW50ZWdlcihSUENQb3J0KSYmUlBDUG9ydD49MCYmUlBDUG9ydDw9NjU1MzUsIlJQQ1BvcnQgbXVzdCBiZSBhbiBpbnRlZ2VyIGJldHdlZW4gMCBhbmQgNjU1MzUiKSYmYXBpLmFzc2VydChQMlBQb3J0JiZOdW1iZXIuaXNJbnRlZ2VyKFAyUFBvcnQpJiZQMlBQb3J0Pj0wJiZQMlBQb3J0PD02NTUzNSwiUDJQUG9ydCBtdXN0IGJlIGFuIGludGVnZXIgYmV0d2VlbiAwIGFuZCA2NTUzNSIpJiZhcGkuYXNzZXJ0KGFwaS52YWxpZGF0b3IuaXNBbHBoYW51bWVyaWMoc2lnbmluZ0tleSkmJjUzPT09c2lnbmluZ0tleS5sZW5ndGgsImludmFsaWQgc2lnbmluZyBrZXkiKSYmYXBpLmFzc2VydCgiYm9vbGVhbiI9PXR5cGVvZiBlbmFibGVkLCJlbmFibGVkIG11c3QgYmUgYSBib29sZWFuIikpe2xldCB3aXRuZXNzPWF3YWl0IGFwaS5kYi5maW5kT25lKCJ3aXRuZXNzZXMiLHtzaWduaW5nS2V5OnNpZ25pbmdLZXl9KTtpZihhcGkuYXNzZXJ0KG51bGw9PT13aXRuZXNzfHx3aXRuZXNzLmFjY291bnQ9PT1hcGkuc2VuZGVyLCJhIHdpdG5lc3MgaXMgYWxyZWFkeSB1c2luZyB0aGlzIHNpZ25pbmcga2V5IikmJih3aXRuZXNzPUlQP2F3YWl0IGFwaS5kYi5maW5kT25lKCJ3aXRuZXNzZXMiLHtJUDpJUCxQMlBQb3J0OlAyUFBvcnR9KTphd2FpdCBhcGkuZGIuZmluZE9uZSgid2l0bmVzc2VzIix7ZG9tYWluOmRvbWFpbixQMlBQb3J0OlAyUFBvcnR9KSxhcGkuYXNzZXJ0KG51bGw9PT13aXRuZXNzfHx3aXRuZXNzLmFjY291bnQ9PT1hcGkuc2VuZGVyLGBhIHdpdG5lc3MgaXMgYWxyZWFkeSB1c2luZyB0aGlzICR7SVA/IklQIjoiZG9tYWluIn0vUG9ydGApKSlpZih3aXRuZXNzPWF3YWl0IGFwaS5kYi5maW5kT25lKCJ3aXRuZXNzZXMiLHthY2NvdW50OmFwaS5zZW5kZXJ9KSx3aXRuZXNzKXtjb25zdCBlbmFibGVkQ2hhbmdlZD13aXRuZXNzLmVuYWJsZWQhPT1lbmFibGVkO2xldCB1c2VVbnNldHM9ITE7Y29uc3QgdW5zZXRzPXt9O0lQPyh3aXRuZXNzLklQPUlQLHdpdG5lc3MuZG9tYWluJiYoZGVsZXRlIHdpdG5lc3MuZG9tYWluLHVuc2V0cy5kb21haW49IiIsdXNlVW5zZXRzPSEwKSk6KHdpdG5lc3MuZG9tYWluPWRvbWFpbix3aXRuZXNzLklQJiYoZGVsZXRlIHdpdG5lc3MuSVAsdW5zZXRzLklQPSIiLHVzZVVuc2V0cz0hMCkpLHdpdG5lc3MuUlBDUG9ydD1SUENQb3J0LHdpdG5lc3MuUDJQUG9ydD1QMlBQb3J0LHdpdG5lc3Muc2lnbmluZ0tleT1zaWduaW5nS2V5LHdpdG5lc3MuZW5hYmxlZD1lbmFibGVkLHVzZVVuc2V0cz9hd2FpdCBhcGkuZGIudXBkYXRlKCJ3aXRuZXNzZXMiLHdpdG5lc3MsdW5zZXRzKTphd2FpdCBhcGkuZGIudXBkYXRlKCJ3aXRuZXNzZXMiLHdpdG5lc3MpO2NvbnN0IHBhcmFtcz1hd2FpdCBhcGkuZGIuZmluZE9uZSgicGFyYW1zIix7fSk7ZW5hYmxlZENoYW5nZWQmJndpdG5lc3MuZW5hYmxlZD9wYXJhbXMudG90YWxFbmFibGVkQXBwcm92YWxXZWlnaHQ9YXBpLkJpZ051bWJlcihwYXJhbXMudG90YWxFbmFibGVkQXBwcm92YWxXZWlnaHQpLnBsdXMod2l0bmVzcy5hcHByb3ZhbFdlaWdodC4kbnVtYmVyRGVjaW1hbCkudG9GaXhlZCg1KTplbmFibGVkQ2hhbmdlZCYmIXdpdG5lc3MuZW5hYmxlZCYmKHBhcmFtcy50b3RhbEVuYWJsZWRBcHByb3ZhbFdlaWdodD1hcGkuQmlnTnVtYmVyKHBhcmFtcy50b3RhbEVuYWJsZWRBcHByb3ZhbFdlaWdodCkubWludXMod2l0bmVzcy5hcHByb3ZhbFdlaWdodC4kbnVtYmVyRGVjaW1hbCkudG9GaXhlZCg1KSksYXdhaXQgYXBpLmRiLnVwZGF0ZSgicGFyYW1zIixwYXJhbXMpfWVsc2Ugd2l0bmVzcz17YWNjb3VudDphcGkuc2VuZGVyLGFwcHJvdmFsV2VpZ2h0OnskbnVtYmVyRGVjaW1hbDoiMCJ9LHNpZ25pbmdLZXk6c2lnbmluZ0tleSxSUENQb3J0OlJQQ1BvcnQsUDJQUG9ydDpQMlBQb3J0LGVuYWJsZWQ6ZW5hYmxlZCxtaXNzZWRSb3VuZHM6MCxtaXNzZWRSb3VuZHNJbkFSb3c6MCx2ZXJpZmllZFJvdW5kczowLGxhc3RSb3VuZFZlcmlmaWVkOm51bGwsbGFzdEJsb2NrVmVyaWZpZWQ6bnVsbH0sSVA/d2l0bmVzcy5JUD1JUDp3aXRuZXNzLmRvbWFpbj1kb21haW4sYXdhaXQgYXBpLmRiLmluc2VydCgid2l0bmVzc2VzIix3aXRuZXNzKX19O2NvbnN0IHJlbW92ZUFwcHJvdmFsPWFzeW5jKGFwcHJvdmFsLGFjY3QsYmxuY2UsbWFudWFsPSEwKT0+e2lmKGFwaS5hc3NlcnQobnVsbCE9PWFwcHJvdmFsLCJ5b3UgaGF2ZSBub3QgYXBwcm92ZWQgdGhpcyB3aXRuZXNzIikpe2NvbnN0e2Zyb206ZnJvbSx0bzp0b309YXBwcm92YWw7bGV0IGFjY291bnQ9YWNjdDthY2N0JiZhY2N0LmFjY291bnQ9PT1mcm9tfHwoYWNjb3VudD1hd2FpdCBhcGkuZGIuZmluZE9uZSgiYWNjb3VudHMiLHthY2NvdW50OmZyb219KSksYXdhaXQgYXBpLmRiLnJlbW92ZSgiYXBwcm92YWxzIixhcHByb3ZhbCk7bGV0IGJhbGFuY2U9YmxuY2U7YmFsYW5jZXx8KGJhbGFuY2U9YXdhaXQgYXBpLmRiLmZpbmRPbmVJblRhYmxlKCJ0b2tlbnMiLCJiYWxhbmNlcyIse2FjY291bnQ6ZnJvbSxzeW1ib2w6IldPUktFUkJFRSJ9KSk7bGV0IGFwcHJvdmFsV2VpZ2h0PTA7YmFsYW5jZSYmYmFsYW5jZS5zdGFrZSYmKGFwcHJvdmFsV2VpZ2h0PWJhbGFuY2Uuc3Rha2UpLGJhbGFuY2UmJmJhbGFuY2UuZGVsZWdhdGlvbnNJbiYmKGFwcHJvdmFsV2VpZ2h0PWFwaS5CaWdOdW1iZXIoYXBwcm92YWxXZWlnaHQpLnBsdXMoYmFsYW5jZS5kZWxlZ2F0aW9uc0luKS50b0ZpeGVkKDUpKSxtYW51YWwmJihhY2NvdW50LmFwcHJvdmFscy09MSxhY2NvdW50LmFwcHJvdmFsV2VpZ2h0PWFwcHJvdmFsV2VpZ2h0LGFjY291bnQubGFzdEFwcHJvdmVCbG9jaz1hcGkuYmxvY2tOdW1iZXIsYXdhaXQgYXBpLmRiLnVwZGF0ZSgiYWNjb3VudHMiLGFjY291bnQpKSxhd2FpdCB1cGRhdGVXaXRuZXNzUmFuayh0bywiLSIrYXBwcm92YWxXZWlnaHQpLGFwaS5lbWl0KCJ3aXRuZXNzQXBwcm92YWxSZW1vdmVkIix7YWNjb3VudDpmcm9tLHRvOnRvLGFwcHJvdmFsV2VpZ2h0OmFwcHJvdmFsV2VpZ2h0fSl9fTthY3Rpb25zLmFwcHJvdmU9YXN5bmMgcGF5bG9hZD0+e2NvbnN0e3dpdG5lc3M6d2l0bmVzc309cGF5bG9hZCxwYXJhbXM9YXdhaXQgYXBpLmRiLmZpbmRPbmUoInBhcmFtcyIse30pO2lmKGFwaS5hc3NlcnQod2l0bmVzcyYmInN0cmluZyI9PXR5cGVvZiB3aXRuZXNzJiZ3aXRuZXNzLmxlbmd0aD49MyYmd2l0bmVzcy5sZW5ndGg8PTE2LCJpbnZhbGlkIHdpdG5lc3MgYWNjb3VudCIpKXtjb25zdCB3aXRuZXNzUmVjPWF3YWl0IGFwaS5kYi5maW5kT25lKCJ3aXRuZXNzZXMiLHthY2NvdW50OndpdG5lc3N9KTtpZihhcGkuYXNzZXJ0KHdpdG5lc3NSZWMsIndpdG5lc3MgZG9lcyBub3QgZXhpc3QiKSl7bGV0IGFjY3Q9YXdhaXQgYXBpLmRiLmZpbmRPbmUoImFjY291bnRzIix7YWNjb3VudDphcGkuc2VuZGVyfSk7aWYobnVsbD09PWFjY3QmJihhY2N0PXthY2NvdW50OmFwaS5zZW5kZXIsYXBwcm92YWxzOjAsYXBwcm92YWxXZWlnaHQ6eyRudW1iZXJEZWNpbWFsOiIwIn0sbGFzdEFwcHJvdmVCbG9jazphcGkuYmxvY2tOdW1iZXJ9LGFjY3Q9YXdhaXQgYXBpLmRiLmluc2VydCgiYWNjb3VudHMiLGFjY3QpKSxhcGkuYXNzZXJ0KGFjY3QuYXBwcm92YWxzPHBhcmFtcy5udW1iZXJPZkFwcHJvdmFsc1BlckFjY291bnQsYHlvdSBjYW4gb25seSBhcHByb3ZlICR7cGFyYW1zLm51bWJlck9mQXBwcm92YWxzUGVyQWNjb3VudH0gd2l0bmVzc2VzYCkpe2xldCBhcHByb3ZhbD1hd2FpdCBhcGkuZGIuZmluZE9uZSgiYXBwcm92YWxzIix7ZnJvbTphcGkuc2VuZGVyLHRvOndpdG5lc3N9KTtpZihhcGkuYXNzZXJ0KG51bGw9PT1hcHByb3ZhbCwieW91IGFscmVhZHkgYXBwcm92ZWQgdGhpcyB3aXRuZXNzIikpe2FwcHJvdmFsPXtmcm9tOmFwaS5zZW5kZXIsdG86d2l0bmVzc30sYXdhaXQgYXBpLmRiLmluc2VydCgiYXBwcm92YWxzIixhcHByb3ZhbCk7Y29uc3QgYmFsYW5jZT1hd2FpdCBhcGkuZGIuZmluZE9uZUluVGFibGUoInRva2VucyIsImJhbGFuY2VzIix7YWNjb3VudDphcGkuc2VuZGVyLHN5bWJvbDoiV09SS0VSQkVFIn0pO2xldCBhcHByb3ZhbFdlaWdodD0wO2JhbGFuY2UmJmJhbGFuY2Uuc3Rha2UmJihhcHByb3ZhbFdlaWdodD1iYWxhbmNlLnN0YWtlKSxiYWxhbmNlJiZiYWxhbmNlLmRlbGVnYXRpb25zSW4mJihhcHByb3ZhbFdlaWdodD1hcGkuQmlnTnVtYmVyKGFwcHJvdmFsV2VpZ2h0KS5wbHVzKGJhbGFuY2UuZGVsZWdhdGlvbnNJbikudG9GaXhlZCg1KSksYWNjdC5hcHByb3ZhbHMrPTEsYWNjdC5hcHByb3ZhbFdlaWdodD1hcHByb3ZhbFdlaWdodCxhY2N0Lmxhc3RBcHByb3ZlQmxvY2s9YXBpLmJsb2NrTnVtYmVyLGF3YWl0IGFwaS5kYi51cGRhdGUoImFjY291bnRzIixhY2N0KSxhd2FpdCB1cGRhdGVXaXRuZXNzUmFuayh3aXRuZXNzLGFwcHJvdmFsV2VpZ2h0KSxhcGkuZW1pdCgid2l0bmVzc0FwcHJvdmFsQWRkZWQiLHthY2NvdW50OmFwaS5zZW5kZXIsdG86d2l0bmVzcyxhcHByb3ZhbFdlaWdodDphcHByb3ZhbFdlaWdodH0pfX19fX0sYWN0aW9ucy5kaXNhcHByb3ZlPWFzeW5jIHBheWxvYWQ9Pntjb25zdHt3aXRuZXNzOndpdG5lc3N9PXBheWxvYWQ7aWYoYXBpLmFzc2VydCh3aXRuZXNzJiYic3RyaW5nIj09dHlwZW9mIHdpdG5lc3MmJndpdG5lc3MubGVuZ3RoPj0zJiZ3aXRuZXNzLmxlbmd0aDw9MTYsImludmFsaWQgd2l0bmVzcyBhY2NvdW50Iikpe2NvbnN0IHdpdG5lc3NSZWM9YXdhaXQgYXBpLmRiLmZpbmRPbmUoIndpdG5lc3NlcyIse2FjY291bnQ6d2l0bmVzc30pO2lmKGFwaS5hc3NlcnQod2l0bmVzc1JlYywid2l0bmVzcyBkb2VzIG5vdCBleGlzdCIpKXtsZXQgYWNjdD1hd2FpdCBhcGkuZGIuZmluZE9uZSgiYWNjb3VudHMiLHthY2NvdW50OmFwaS5zZW5kZXJ9KTtpZihudWxsPT09YWNjdCYmKGFjY3Q9e2FjY291bnQ6YXBpLnNlbmRlcixhcHByb3ZhbHM6MCxhcHByb3ZhbFdlaWdodDp7JG51bWJlckRlY2ltYWw6IjAifSxsYXN0QXBwcm92ZUJsb2NrOmFwaS5ibG9ja051bWJlcn0sYXdhaXQgYXBpLmRiLmluc2VydCgiYWNjb3VudHMiLGFjY3QpKSxhcGkuYXNzZXJ0KGFjY3QuYXBwcm92YWxzPjAsIm5vIGFwcHJvdmFscyBmb3VuZCIpKXtjb25zdCBhcHByb3ZhbD1hd2FpdCBhcGkuZGIuZmluZE9uZSgiYXBwcm92YWxzIix7ZnJvbTphY2N0LmFjY291bnQsdG86d2l0bmVzc30pLGJhbGFuY2U9YXdhaXQgYXBpLmRiLmZpbmRPbmVJblRhYmxlKCJ0b2tlbnMiLCJiYWxhbmNlcyIse2FjY291bnQ6YXBpLnNlbmRlcixzeW1ib2w6IldPUktFUkJFRSJ9KTthd2FpdCByZW1vdmVBcHByb3ZhbChhcHByb3ZhbCxhY2N0LGJhbGFuY2UsITApfX19fTtjb25zdCBleHBpcmVBbGxVc2VyQXBwcm92YWxzPWFzeW5jIGFjY3Q9Pntjb25zdCBhcHByb3ZhbHM9YXdhaXQgYXBpLmRiLmZpbmQoImFwcHJvdmFscyIse2Zyb206YWNjdC5hY2NvdW50fSksYmFsYW5jZT1hd2FpdCBhcGkuZGIuZmluZE9uZUluVGFibGUoInRva2VucyIsImJhbGFuY2VzIix7YWNjb3VudDphY2N0LmFjY291bnQsc3ltYm9sOiJXT1JLRVJCRUUifSk7Zm9yKGxldCBpPTA7aTxhcHByb3ZhbHMubGVuZ3RoO2krPTEpe2NvbnN0IGFwcHJvdmFsPWFwcHJvdmFsc1tpXTthd2FpdCByZW1vdmVBcHByb3ZhbChhcHByb3ZhbCxhY2N0LGJhbGFuY2UsITEpfWxldCBhcHByb3ZhbFdlaWdodD0wO2JhbGFuY2UmJmJhbGFuY2Uuc3Rha2UmJihhcHByb3ZhbFdlaWdodD1iYWxhbmNlLnN0YWtlKSxiYWxhbmNlJiZiYWxhbmNlLmRlbGVnYXRpb25zSW4mJihhcHByb3ZhbFdlaWdodD1hcGkuQmlnTnVtYmVyKGFwcHJvdmFsV2VpZ2h0KS5wbHVzKGJhbGFuY2UuZGVsZWdhdGlvbnNJbikudG9GaXhlZCg1KSk7Y29uc3QgYWNjb3VudD1hY2N0O2FjY291bnQuYXBwcm92YWxzPTAsYWNjb3VudC5hcHByb3ZhbFdlaWdodD1hcHByb3ZhbFdlaWdodCxhd2FpdCBhcGkuZGIudXBkYXRlKCJhY2NvdW50cyIsYWNjb3VudCksYXBpLmVtaXQoIndpdG5lc3NBcHByb3ZhbHNFeHBpcmVkIix7YWNjb3VudDphY2N0LmFjY291bnR9KX0sZmluZEFuZEV4cGlyZUFwcHJvdmFscz1hc3luYyB3aXRuZXNzQXBwcm92ZUV4cGlyZUJsb2Nrcz0+e2NvbnN0IGFjY291bnRzPWF3YWl0IGFwaS5kYi5maW5kKCJhY2NvdW50cyIse2xhc3RBcHByb3ZlQmxvY2s6eyRsdDphcGkuYmxvY2tOdW1iZXItd2l0bmVzc0FwcHJvdmVFeHBpcmVCbG9ja3N9LGFwcHJvdmFsczp7JGd0OjB9fSwxMCwwLFt7aW5kZXg6Imxhc3RBcHByb3ZlQmxvY2siLGRlc2NlbmRpbmc6ITF9XSk7Zm9yKGxldCBpPTA7aTxhY2NvdW50cy5sZW5ndGg7aSs9MSlhd2FpdCBleHBpcmVBbGxVc2VyQXBwcm92YWxzKGFjY291bnRzW2ldKX0sY2hhbmdlQ3VycmVudFdpdG5lc3M9YXN5bmMoKT0+e2NvbnN0IHBhcmFtcz1hd2FpdCBhcGkuZGIuZmluZE9uZSgicGFyYW1zIix7fSkse2N1cnJlbnRXaXRuZXNzOmN1cnJlbnRXaXRuZXNzLHRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0OnRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0LGxhc3RXaXRuZXNzZXM6bGFzdFdpdG5lc3NlcyxsYXN0QmxvY2tSb3VuZDpsYXN0QmxvY2tSb3VuZCxyb3VuZDpyb3VuZCxtYXhSb3VuZHNNaXNzZWRJbkFSb3c6bWF4Um91bmRzTWlzc2VkSW5BUm93LG1heFJvdW5kUHJvcG9zaXRpb25XYWl0aW5nUGVyaW9kOm1heFJvdW5kUHJvcG9zaXRpb25XYWl0aW5nUGVyaW9kfT1wYXJhbXM7bGV0IHdpdG5lc3NGb3VuZD0hMTtjb25zdCByYW5kb209YXBpLnJhbmRvbSgpLHJhbmRvbVdlaWdodD1hcGkuQmlnTnVtYmVyKHRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0KS50aW1lcyhyYW5kb20pLnRvRml4ZWQoNSwxKTtsZXQgb2Zmc2V0PTAsYWNjV2VpZ2h0PTAsd2l0bmVzc2VzPWF3YWl0IGFwaS5kYi5maW5kKCJ3aXRuZXNzZXMiLHthcHByb3ZhbFdlaWdodDp7JGd0OnskbnVtYmVyRGVjaW1hbDoiMCJ9fSxlbmFibGVkOiEwfSwxMDAsb2Zmc2V0LFt7aW5kZXg6ImFwcHJvdmFsV2VpZ2h0IixkZXNjZW5kaW5nOiEwfV0pO2NvbnN0IHNjaGVkdWxlcz1hd2FpdCBhcGkuZGIuZmluZCgic2NoZWR1bGVzIix7cm91bmQ6cm91bmR9KSxwcmV2aW91c1JvdW5kV2l0bmVzcz1sYXN0V2l0bmVzc2VzLmxlbmd0aD4xP2xhc3RXaXRuZXNzZXNbbGFzdFdpdG5lc3Nlcy5sZW5ndGgtMl06IiIsc2NoZWR1bGU9YXdhaXQgYXBpLmRiLmZpbmRPbmUoInNjaGVkdWxlcyIse3JvdW5kOnJvdW5kLHdpdG5lc3M6Y3VycmVudFdpdG5lc3MsYmxvY2tOdW1iZXI6bGFzdEJsb2NrUm91bmR9KTtkb3tmb3IobGV0IGluZGV4PTA7aW5kZXg8d2l0bmVzc2VzLmxlbmd0aDtpbmRleCs9MSl7Y29uc3Qgd2l0bmVzcz13aXRuZXNzZXNbaW5kZXhdO2lmKGFjY1dlaWdodD1hcGkuQmlnTnVtYmVyKGFjY1dlaWdodCkucGx1cyh3aXRuZXNzLmFwcHJvdmFsV2VpZ2h0LiRudW1iZXJEZWNpbWFsKS50b0ZpeGVkKDUpLCEwPT09d2l0bmVzcy5lbmFibGVkJiZ3aXRuZXNzLmFjY291bnQhPT1wcmV2aW91c1JvdW5kV2l0bmVzcyYmdm9pZCAwPT09c2NoZWR1bGVzLmZpbmQocz0+cy53aXRuZXNzPT09d2l0bmVzcy5hY2NvdW50KSYmYXBpLkJpZ051bWJlcihyYW5kb21XZWlnaHQpLmx0ZShhY2NXZWlnaHQpKXthcGkuZGVidWcoYGNoYW5nZWQgY3VycmVudCB3aXRuZXNzIGZyb20gJHtzY2hlZHVsZS53aXRuZXNzfSB0byAke3dpdG5lc3MuYWNjb3VudH1gKSxzY2hlZHVsZS53aXRuZXNzPXdpdG5lc3MuYWNjb3VudCxhd2FpdCBhcGkuZGIudXBkYXRlKCJzY2hlZHVsZXMiLHNjaGVkdWxlKSxwYXJhbXMuY3VycmVudFdpdG5lc3M9d2l0bmVzcy5hY2NvdW50LHBhcmFtcy5sYXN0V2l0bmVzc2VzLnB1c2god2l0bmVzcy5hY2NvdW50KSxwYXJhbXMuYmxvY2tOdW1iZXJXaXRuZXNzQ2hhbmdlPWFwaS5ibG9ja051bWJlcittYXhSb3VuZFByb3Bvc2l0aW9uV2FpdGluZ1BlcmlvZCxhd2FpdCBhcGkuZGIudXBkYXRlKCJwYXJhbXMiLHBhcmFtcyk7Y29uc3Qgc2NoZWR1bGVkV2l0bmVzcz1hd2FpdCBhcGkuZGIuZmluZE9uZSgid2l0bmVzc2VzIix7YWNjb3VudDpjdXJyZW50V2l0bmVzc30pO3NjaGVkdWxlZFdpdG5lc3MubWlzc2VkUm91bmRzKz0xLHNjaGVkdWxlZFdpdG5lc3MubWlzc2VkUm91bmRzSW5BUm93Kz0xLGFwaS5lbWl0KCJ3aXRuZXNzTWlzc2VkUm91bmQiLHt3aXRuZXNzOnNjaGVkdWxlZFdpdG5lc3MuYWNjb3VudH0pLHNjaGVkdWxlZFdpdG5lc3MubWlzc2VkUm91bmRzSW5BUm93Pj1tYXhSb3VuZHNNaXNzZWRJbkFSb3cmJihzY2hlZHVsZWRXaXRuZXNzLm1pc3NlZFJvdW5kc0luQVJvdz0wLHNjaGVkdWxlZFdpdG5lc3MuZW5hYmxlZD0hMSxhcGkuZW1pdCgid2l0bmVzc0Rpc2FibGVkRm9yTWlzc2luZ1Rvb01hbnlSb3VuZHNJbkFSb3ciLHt3aXRuZXNzOnNjaGVkdWxlZFdpdG5lc3MuYWNjb3VudH0pKSxhd2FpdCBhcGkuZGIudXBkYXRlKCJ3aXRuZXNzZXMiLHNjaGVkdWxlZFdpdG5lc3MpLHdpdG5lc3NGb3VuZD0hMCxhcGkuZW1pdCgiY3VycmVudFdpdG5lc3NDaGFuZ2VkIix7fSk7YnJlYWt9fSExPT09d2l0bmVzc0ZvdW5kJiYob2Zmc2V0Kz0xMDAsd2l0bmVzc2VzPWF3YWl0IGFwaS5kYi5maW5kKCJ3aXRuZXNzZXMiLHthcHByb3ZhbFdlaWdodDp7JGd0OnskbnVtYmVyRGVjaW1hbDoiMCJ9fX0sMTAwLG9mZnNldCxbe2luZGV4OiJhcHByb3ZhbFdlaWdodCIsZGVzY2VuZGluZzohMH1dKSl9d2hpbGUod2l0bmVzc2VzLmxlbmd0aD4wJiYhMT09PXdpdG5lc3NGb3VuZCk7aWYoITE9PT13aXRuZXNzRm91bmQpe2FwaS5kZWJ1Zygibm8gYmFja3VwIHdpdG5lc3Mgd2FzIGZvdW5kLCBpbnRlcmNoYW5naW5nIHdpdG5lc3NlcyB3aXRoaW4gdGhlIGN1cnJlbnQgc2NoZWR1bGUiKTtmb3IobGV0IGluZGV4PTA7aW5kZXg8c2NoZWR1bGVzLmxlbmd0aC0xO2luZGV4Kz0xKXtjb25zdCBzY2hlZD1zY2hlZHVsZXNbaW5kZXhdLG5ld1dpdG5lc3M9c2NoZWQud2l0bmVzcztpZihuZXdXaXRuZXNzIT09cHJldmlvdXNSb3VuZFdpdG5lc3Mpe2FwaS5kZWJ1ZyhgY2hhbmdlZCBjdXJyZW50IHdpdG5lc3MgZnJvbSAke2N1cnJlbnRXaXRuZXNzfSB0byAke25ld1dpdG5lc3N9YCksc2NoZWR1bGUud2l0bmVzcz1uZXdXaXRuZXNzLGF3YWl0IGFwaS5kYi51cGRhdGUoInNjaGVkdWxlcyIsc2NoZWR1bGUpLHNjaGVkLndpdG5lc3M9Y3VycmVudFdpdG5lc3MsYXdhaXQgYXBpLmRiLnVwZGF0ZSgic2NoZWR1bGVzIixzY2hlZCkscGFyYW1zLmN1cnJlbnRXaXRuZXNzPW5ld1dpdG5lc3MscGFyYW1zLmxhc3RXaXRuZXNzZXMucHVzaChuZXdXaXRuZXNzKSxwYXJhbXMuYmxvY2tOdW1iZXJXaXRuZXNzQ2hhbmdlPWFwaS5ibG9ja051bWJlcittYXhSb3VuZFByb3Bvc2l0aW9uV2FpdGluZ1BlcmlvZCxhd2FpdCBhcGkuZGIudXBkYXRlKCJwYXJhbXMiLHBhcmFtcyk7Y29uc3Qgc2NoZWR1bGVkV2l0bmVzcz1hd2FpdCBhcGkuZGIuZmluZE9uZSgid2l0bmVzc2VzIix7YWNjb3VudDpjdXJyZW50V2l0bmVzc30pO3NjaGVkdWxlZFdpdG5lc3MubWlzc2VkUm91bmRzKz0xLHNjaGVkdWxlZFdpdG5lc3MubWlzc2VkUm91bmRzSW5BUm93Kz0xLGFwaS5lbWl0KCJ3aXRuZXNzTWlzc2VkUm91bmQiLHt3aXRuZXNzOnNjaGVkdWxlZFdpdG5lc3MuYWNjb3VudH0pLHNjaGVkdWxlZFdpdG5lc3MubWlzc2VkUm91bmRzSW5BUm93Pj1tYXhSb3VuZHNNaXNzZWRJbkFSb3cmJihzY2hlZHVsZWRXaXRuZXNzLm1pc3NlZFJvdW5kc0luQVJvdz0wLHNjaGVkdWxlZFdpdG5lc3MuZW5hYmxlZD0hMSxhcGkuZW1pdCgid2l0bmVzc0Rpc2FibGVkRm9yTWlzc2luZ1Rvb01hbnlSb3VuZHNJbkFSb3ciLHt3aXRuZXNzOnNjaGVkdWxlZFdpdG5lc3MuYWNjb3VudH0pKSxhd2FpdCBhcGkuZGIudXBkYXRlKCJ3aXRuZXNzZXMiLHNjaGVkdWxlZFdpdG5lc3MpLGFwaS5lbWl0KCJjdXJyZW50V2l0bmVzc0NoYW5nZWQiLHt9KTticmVha319fX0sbWFuYWdlV2l0bmVzc2VzU2NoZWR1bGU9YXN5bmMoKT0+e2lmKCJudWxsIiE9PWFwaS5zZW5kZXIpcmV0dXJuO2NvbnN0IHBhcmFtcz1hd2FpdCBhcGkuZGIuZmluZE9uZSgicGFyYW1zIix7fSkse251bWJlck9mQXBwcm92ZWRXaXRuZXNzZXM6bnVtYmVyT2ZBcHByb3ZlZFdpdG5lc3Nlcyx0b3RhbEVuYWJsZWRBcHByb3ZhbFdlaWdodDp0b3RhbEVuYWJsZWRBcHByb3ZhbFdlaWdodCxsYXN0VmVyaWZpZWRCbG9ja051bWJlcjpsYXN0VmVyaWZpZWRCbG9ja051bWJlcixibG9ja051bWJlcldpdG5lc3NDaGFuZ2U6YmxvY2tOdW1iZXJXaXRuZXNzQ2hhbmdlLGxhc3RCbG9ja1JvdW5kOmxhc3RCbG9ja1JvdW5kLG51bWJlck9mVG9wV2l0bmVzc2VzOm51bWJlck9mVG9wV2l0bmVzc2VzLG51bWJlck9mV2l0bmVzc1Nsb3RzOm51bWJlck9mV2l0bmVzc1Nsb3RzLG1heFJvdW5kUHJvcG9zaXRpb25XYWl0aW5nUGVyaW9kOm1heFJvdW5kUHJvcG9zaXRpb25XYWl0aW5nUGVyaW9kLHdpdG5lc3NBcHByb3ZlRXhwaXJlQmxvY2tzOndpdG5lc3NBcHByb3ZlRXhwaXJlQmxvY2tzfT1wYXJhbXM7YXdhaXQgZmluZEFuZEV4cGlyZUFwcHJvdmFscyh3aXRuZXNzQXBwcm92ZUV4cGlyZUJsb2Nrcyk7Y29uc3QgY3VycmVudEJsb2NrPWxhc3RWZXJpZmllZEJsb2NrTnVtYmVyKzE7bGV0IHNjaGVkdWxlPWF3YWl0IGFwaS5kYi5maW5kT25lKCJzY2hlZHVsZXMiLHtibG9ja051bWJlcjpjdXJyZW50QmxvY2t9KTtpZihudWxsPT09c2NoZWR1bGUpe2lmKGFwaS5kZWJ1ZygiY2FsY3VsYXRpbmcgbmV3IHNjaGVkdWxlIiksc2NoZWR1bGU9W10sbnVtYmVyT2ZBcHByb3ZlZFdpdG5lc3Nlcz49bnVtYmVyT2ZXaXRuZXNzU2xvdHMpe2NvbnN0IHJhbmRvbT1hcGkucmFuZG9tKCk7bGV0IHJhbmRvbVdlaWdodD1udWxsLG9mZnNldD0wLGFjY1dlaWdodD0wLHdpdG5lc3Nlcz1hd2FpdCBhcGkuZGIuZmluZCgid2l0bmVzc2VzIix7YXBwcm92YWxXZWlnaHQ6eyRndDp7JG51bWJlckRlY2ltYWw6IjAifX0sZW5hYmxlZDohMH0sMTAwLG9mZnNldCxbe2luZGV4OiJhcHByb3ZhbFdlaWdodCIsZGVzY2VuZGluZzohMH1dKTtkb3tmb3IobGV0IGluZGV4PTA7aW5kZXg8d2l0bmVzc2VzLmxlbmd0aDtpbmRleCs9MSl7Y29uc3Qgd2l0bmVzcz13aXRuZXNzZXNbaW5kZXhdO3NjaGVkdWxlLmxlbmd0aD49bnVtYmVyT2ZUb3BXaXRuZXNzZXMmJm51bGw9PT1yYW5kb21XZWlnaHQmJihyYW5kb21XZWlnaHQ9YXBpLkJpZ051bWJlcihhY2NXZWlnaHQpLnBsdXMoIjAuMDAwMDEiKS5wbHVzKGFwaS5CaWdOdW1iZXIodG90YWxFbmFibGVkQXBwcm92YWxXZWlnaHQpLm1pbnVzKGFjY1dlaWdodCkudGltZXMocmFuZG9tKS50b0ZpeGVkKDUsMSkpLnRvRml4ZWQoNSkpLGFjY1dlaWdodD1hcGkuQmlnTnVtYmVyKGFjY1dlaWdodCkucGx1cyh3aXRuZXNzLmFwcHJvdmFsV2VpZ2h0LiRudW1iZXJEZWNpbWFsKS50b0ZpeGVkKDUpLCEwPT09d2l0bmVzcy5lbmFibGVkJiYoc2NoZWR1bGUubGVuZ3RoPG51bWJlck9mVG9wV2l0bmVzc2VzfHxhcGkuQmlnTnVtYmVyKHJhbmRvbVdlaWdodCkubHRlKGFjY1dlaWdodCkpJiZzY2hlZHVsZS5wdXNoKHt3aXRuZXNzOndpdG5lc3MuYWNjb3VudCxibG9ja051bWJlcjpudWxsfSksc2NoZWR1bGUubGVuZ3RoPj1udW1iZXJPZldpdG5lc3NTbG90cyYmKGluZGV4PXdpdG5lc3Nlcy5sZW5ndGgpfXNjaGVkdWxlLmxlbmd0aDxudW1iZXJPZldpdG5lc3NTbG90cyYmKG9mZnNldCs9MTAwLHdpdG5lc3Nlcz1hd2FpdCBhcGkuZGIuZmluZCgid2l0bmVzc2VzIix7YXBwcm92YWxXZWlnaHQ6eyRndDp7JG51bWJlckRlY2ltYWw6IjAifX19LDEwMCxvZmZzZXQsW3tpbmRleDoiYXBwcm92YWxXZWlnaHQiLGRlc2NlbmRpbmc6ITB9XSkpfXdoaWxlKHdpdG5lc3Nlcy5sZW5ndGg+MCYmc2NoZWR1bGUubGVuZ3RoPG51bWJlck9mV2l0bmVzc1Nsb3RzKX1pZihzY2hlZHVsZS5sZW5ndGg9PT1udW1iZXJPZldpdG5lc3NTbG90cyl7bGV0IGoseDtmb3IobGV0IGk9c2NoZWR1bGUubGVuZ3RoLTE7aT4wO2ktPTEpe2NvbnN0IHJhbmRvbT1hcGkucmFuZG9tKCk7aj1NYXRoLmZsb29yKHJhbmRvbSooaSsxKSkseD1zY2hlZHVsZVtpXSxzY2hlZHVsZVtpXT1zY2hlZHVsZVtqXSxzY2hlZHVsZVtqXT14fWxldCBsYXN0V2l0bmVzc2VzPXBhcmFtcy5sYXN0V2l0bmVzc2VzO2NvbnN0IHByZXZpb3VzUm91bmRXaXRuZXNzPWxhc3RXaXRuZXNzZXMubGVuZ3RoPjA/bGFzdFdpdG5lc3Nlc1tsYXN0V2l0bmVzc2VzLmxlbmd0aC0xXToiIjtsYXN0V2l0bmVzc2VzLmxlbmd0aD49bnVtYmVyT2ZXaXRuZXNzU2xvdHMmJihsYXN0V2l0bmVzc2VzPVtdKTtjb25zdCBsYXN0V2l0bmVzcz1zY2hlZHVsZVtzY2hlZHVsZS5sZW5ndGgtMV0ud2l0bmVzcztpZihsYXN0V2l0bmVzc2VzLmluY2x1ZGVzKGxhc3RXaXRuZXNzKXx8cHJldmlvdXNSb3VuZFdpdG5lc3M9PT1sYXN0V2l0bmVzcylmb3IobGV0IGk9MDtpPHNjaGVkdWxlLmxlbmd0aDtpKz0xKWlmKCFsYXN0V2l0bmVzc2VzLmluY2x1ZGVzKHNjaGVkdWxlW2ldLndpdG5lc3MpJiZzY2hlZHVsZVtpXS53aXRuZXNzIT09cHJldmlvdXNSb3VuZFdpdG5lc3Mpe2NvbnN0IHRoaXNXaXRuZXNzPXNjaGVkdWxlW2ldLndpdG5lc3M7c2NoZWR1bGVbaV0ud2l0bmVzcz1sYXN0V2l0bmVzcyxzY2hlZHVsZVtzY2hlZHVsZS5sZW5ndGgtMV0ud2l0bmVzcz10aGlzV2l0bmVzczticmVha31pZihzY2hlZHVsZVswXS53aXRuZXNzPT09cHJldmlvdXNSb3VuZFdpdG5lc3Mpe2NvbnN0IGZpcnN0V2l0bmVzcz1zY2hlZHVsZVswXS53aXRuZXNzLHNlY29uZFdpdG5lc3M9c2NoZWR1bGVbMV0ud2l0bmVzcztzY2hlZHVsZVswXS53aXRuZXNzPXNlY29uZFdpdG5lc3Msc2NoZWR1bGVbMV0ud2l0bmVzcz1maXJzdFdpdG5lc3N9bGV0IGJsb2NrTnVtYmVyPTA9PT1sYXN0VmVyaWZpZWRCbG9ja051bWJlcj9hcGkuYmxvY2tOdW1iZXI6bGFzdFZlcmlmaWVkQmxvY2tOdW1iZXIrMTtwYXJhbXMucm91bmQrPTE7Zm9yKGxldCBpPTA7aTxzY2hlZHVsZS5sZW5ndGg7aSs9MSlzY2hlZHVsZVtpXS5ibG9ja051bWJlcj1ibG9ja051bWJlcixzY2hlZHVsZVtpXS5yb3VuZD1wYXJhbXMucm91bmQsYXBpLmRlYnVnKGBzY2hlZHVsZWQgd2l0bmVzcyAke3NjaGVkdWxlW2ldLndpdG5lc3N9IGZvciBibG9jayAke2Jsb2NrTnVtYmVyfSAocm91bmQgJHtwYXJhbXMucm91bmR9KWApLGF3YWl0IGFwaS5kYi5pbnNlcnQoInNjaGVkdWxlcyIsc2NoZWR1bGVbaV0pLGJsb2NrTnVtYmVyKz0xOzA9PT1sYXN0VmVyaWZpZWRCbG9ja051bWJlciYmKHBhcmFtcy5sYXN0VmVyaWZpZWRCbG9ja051bWJlcj1hcGkuYmxvY2tOdW1iZXItMSk7Y29uc3QgbGFzdFdpdG5lc3NSb3VuZFNjaGVkdWxlPXNjaGVkdWxlW3NjaGVkdWxlLmxlbmd0aC0xXTtwYXJhbXMubGFzdEJsb2NrUm91bmQ9bGFzdFdpdG5lc3NSb3VuZFNjaGVkdWxlLmJsb2NrTnVtYmVyLHBhcmFtcy5jdXJyZW50V2l0bmVzcz1sYXN0V2l0bmVzc1JvdW5kU2NoZWR1bGUud2l0bmVzcyxsYXN0V2l0bmVzc2VzLnB1c2gobGFzdFdpdG5lc3NSb3VuZFNjaGVkdWxlLndpdG5lc3MpLHBhcmFtcy5sYXN0V2l0bmVzc2VzPWxhc3RXaXRuZXNzZXMscGFyYW1zLmJsb2NrTnVtYmVyV2l0bmVzc0NoYW5nZT1hcGkuYmxvY2tOdW1iZXIrbWF4Um91bmRQcm9wb3NpdGlvbldhaXRpbmdQZXJpb2QsYXdhaXQgYXBpLmRiLnVwZGF0ZSgicGFyYW1zIixwYXJhbXMpLGFwaS5lbWl0KCJuZXdTY2hlZHVsZSIse30pfX1lbHNlIGFwaS5ibG9ja051bWJlcj49YmxvY2tOdW1iZXJXaXRuZXNzQ2hhbmdlJiYoYXBpLmJsb2NrTnVtYmVyPmxhc3RCbG9ja1JvdW5kP2F3YWl0IGNoYW5nZUN1cnJlbnRXaXRuZXNzKCk6KHBhcmFtcy5ibG9ja051bWJlcldpdG5lc3NDaGFuZ2U9YXBpLmJsb2NrTnVtYmVyK21heFJvdW5kUHJvcG9zaXRpb25XYWl0aW5nUGVyaW9kLGF3YWl0IGFwaS5kYi51cGRhdGUoInBhcmFtcyIscGFyYW1zKSxhcGkuZW1pdCgiYXdhaXRpbmdSb3VuZEVuZCIse30pKSl9O2FjdGlvbnMucHJvcG9zZVJvdW5kPWFzeW5jIHBheWxvYWQ9Pntjb25zdHtyb3VuZEhhc2g6cm91bmRIYXNoLGlzU2lnbmVkV2l0aEFjdGl2ZUtleTppc1NpZ25lZFdpdGhBY3RpdmVLZXksc2lnbmF0dXJlczpzaWduYXR1cmVzfT1wYXlsb2FkLHBhcmFtcz1hd2FpdCBhcGkuZGIuZmluZE9uZSgicGFyYW1zIix7fSkse2xhc3RWZXJpZmllZEJsb2NrTnVtYmVyOmxhc3RWZXJpZmllZEJsb2NrTnVtYmVyLHJvdW5kOnJvdW5kLGxhc3RCbG9ja1JvdW5kOmxhc3RCbG9ja1JvdW5kLGN1cnJlbnRXaXRuZXNzOmN1cnJlbnRXaXRuZXNzfT1wYXJhbXMsc2NoZWR1bGVzPWF3YWl0IGFwaS5kYi5maW5kKCJzY2hlZHVsZXMiLHtyb3VuZDpyb3VuZH0sMWUzLDAsW3tpbmRleDoiX2lkIixkZXNjZW5kaW5nOiExfV0pLG51bWJlck9mV2l0bmVzc1Nsb3RzPXNjaGVkdWxlcy5sZW5ndGgse3dpdG5lc3NTaWduYXR1cmVzUmVxdWlyZWQ6d2l0bmVzc1NpZ25hdHVyZXNSZXF1aXJlZH09cGFyYW1zO2lmKCEwPT09aXNTaWduZWRXaXRoQWN0aXZlS2V5JiZyb3VuZEhhc2gmJiJzdHJpbmciPT10eXBlb2Ygcm91bmRIYXNoJiY2ND09PXJvdW5kSGFzaC5sZW5ndGgmJkFycmF5LmlzQXJyYXkoc2lnbmF0dXJlcykmJnNpZ25hdHVyZXMubGVuZ3RoPD1udW1iZXJPZldpdG5lc3NTbG90cyYmc2lnbmF0dXJlcy5sZW5ndGg+PXdpdG5lc3NTaWduYXR1cmVzUmVxdWlyZWQpe2xldCBjdXJyZW50QmxvY2s9bGFzdFZlcmlmaWVkQmxvY2tOdW1iZXIrMSxjYWxjdWxhdGVkUm91bmRIYXNoPSIiO2lmKGFwaS5zZW5kZXI9PT1jdXJyZW50V2l0bmVzcyl7Zm9yKDtjdXJyZW50QmxvY2s8PWxhc3RCbG9ja1JvdW5kOyl7Y29uc3QgYmxvY2s9YXdhaXQgYXBpLmRiLmdldEJsb2NrSW5mbyhjdXJyZW50QmxvY2spO2lmKG51bGw9PT1ibG9jayl7Y2FsY3VsYXRlZFJvdW5kSGFzaD0iIjticmVha31jYWxjdWxhdGVkUm91bmRIYXNoPWFwaS5TSEEyNTYoYCR7Y2FsY3VsYXRlZFJvdW5kSGFzaH0ke2Jsb2NrLmhhc2h9YCksY3VycmVudEJsb2NrKz0xfWlmKCIiIT09Y2FsY3VsYXRlZFJvdW5kSGFzaCYmY2FsY3VsYXRlZFJvdW5kSGFzaD09PXJvdW5kSGFzaCl7bGV0IHNpZ25hdHVyZXNDaGVja2VkPTA7Y29uc3QgdmVyaWZpZWRCbG9ja0luZm9ybWF0aW9uPVtdLGN1cnJlbnRXaXRuZXNzSW5mbz1hd2FpdCBhcGkuZGIuZmluZE9uZSgid2l0bmVzc2VzIix7YWNjb3VudDpjdXJyZW50V2l0bmVzc30pLGN1cnJlbnRXaXRuZXNzU2lnbmF0dXJlPXNpZ25hdHVyZXMuZmluZChzPT5zWzBdPT09Y3VycmVudFdpdG5lc3MpO2ZvcihsZXQgaW5kZXg9MDtpbmRleDxzY2hlZHVsZXMubGVuZ3RoO2luZGV4Kz0xKXtjb25zdCBzY2hlZHVsZWRXaXRuZXNzPXNjaGVkdWxlc1tpbmRleF0sd2l0bmVzcz1hd2FpdCBhcGkuZGIuZmluZE9uZSgid2l0bmVzc2VzIix7YWNjb3VudDpzY2hlZHVsZWRXaXRuZXNzLndpdG5lc3N9KTtpZihudWxsIT09d2l0bmVzcyl7Y29uc3Qgc2lnbmF0dXJlPXNpZ25hdHVyZXMuZmluZChzPT5zWzBdPT09d2l0bmVzcy5hY2NvdW50KTtzaWduYXR1cmUmJmFwaS5jaGVja1NpZ25hdHVyZShjYWxjdWxhdGVkUm91bmRIYXNoLHNpZ25hdHVyZVsxXSx3aXRuZXNzLnNpZ25pbmdLZXksITApJiYoYXBpLmRlYnVnKGB3aXRuZXNzICR7d2l0bmVzcy5hY2NvdW50fSBzaWduZWQgcm91bmQgJHtyb3VuZH1gKSxzaWduYXR1cmVzQ2hlY2tlZCs9MSksdmVyaWZpZWRCbG9ja0luZm9ybWF0aW9uLnB1c2goe2Jsb2NrTnVtYmVyOnNjaGVkdWxlZFdpdG5lc3MuYmxvY2tOdW1iZXIsd2l0bmVzczpjdXJyZW50V2l0bmVzcyxzaWduaW5nS2V5OmN1cnJlbnRXaXRuZXNzSW5mby5zaWduaW5nS2V5LHJvdW5kU2lnbmF0dXJlOmN1cnJlbnRXaXRuZXNzU2lnbmF0dXJlWzFdLHJvdW5kOnJvdW5kLHJvdW5kSGFzaDpyb3VuZEhhc2h9KX19aWYoc2lnbmF0dXJlc0NoZWNrZWQ+PXdpdG5lc3NTaWduYXR1cmVzUmVxdWlyZWQpe2ZvcihsZXQgaW5kZXg9MDtpbmRleDx2ZXJpZmllZEJsb2NrSW5mb3JtYXRpb24ubGVuZ3RoO2luZGV4Kz0xKWF3YWl0IGFwaS52ZXJpZnlCbG9jayh2ZXJpZmllZEJsb2NrSW5mb3JtYXRpb25baW5kZXhdKTtmb3IobGV0IGluZGV4PTA7aW5kZXg8c2NoZWR1bGVzLmxlbmd0aDtpbmRleCs9MSl7Y29uc3Qgc2NoZWR1bGU9c2NoZWR1bGVzW2luZGV4XTthd2FpdCBhcGkuZGIucmVtb3ZlKCJzY2hlZHVsZXMiLHNjaGVkdWxlKX1jb25zdCBjb250cmFjdEJhbGFuY2U9YXdhaXQgYXBpLmRiLmZpbmRPbmVJblRhYmxlKCJ0b2tlbnMiLCJjb250cmFjdHNCYWxhbmNlcyIse2FjY291bnQ6IndpdG5lc3NlcyIsc3ltYm9sOiJCRUUifSk7aWYoY29udHJhY3RCYWxhbmNlJiZhcGkuQmlnTnVtYmVyKGNvbnRyYWN0QmFsYW5jZS5iYWxhbmNlKS5ndGUoIjAuMzk5NTQzMDYiKSl7Y29uc3QgcmV3YXJkQW1vdW50PWFwaS5CaWdOdW1iZXIoIjAuMDE5MDI1ODYiKS5tdWx0aXBsaWVkQnkobnVtYmVyT2ZXaXRuZXNzU2xvdHMpLnRvRml4ZWQoOCk7YXdhaXQgYXBpLmV4ZWN1dGVTbWFydENvbnRyYWN0KCJ0b2tlbnMiLCJzdGFrZUZyb21Db250cmFjdCIse3RvOmN1cnJlbnRXaXRuZXNzLHN5bWJvbDoiQkVFIixxdWFudGl0eTpyZXdhcmRBbW91bnR9KX1wYXJhbXMuY3VycmVudFdpdG5lc3M9bnVsbCxwYXJhbXMubGFzdFZlcmlmaWVkQmxvY2tOdW1iZXI9bGFzdEJsb2NrUm91bmQsYXdhaXQgYXBpLmRiLnVwZGF0ZSgicGFyYW1zIixwYXJhbXMpO2NvbnN0IHdpdG5lc3M9YXdhaXQgYXBpLmRiLmZpbmRPbmUoIndpdG5lc3NlcyIse2FjY291bnQ6Y3VycmVudFdpdG5lc3N9KTt3aXRuZXNzLm1pc3NlZFJvdW5kc0luQVJvdz0wLHdpdG5lc3MubGFzdFJvdW5kVmVyaWZpZWQ9cm91bmQsd2l0bmVzcy5sYXN0QmxvY2tWZXJpZmllZD1sYXN0QmxvY2tSb3VuZCx3aXRuZXNzLnZlcmlmaWVkUm91bmRzKz0xLGF3YWl0IGFwaS5kYi51cGRhdGUoIndpdG5lc3NlcyIsd2l0bmVzcyksYXdhaXQgbWFuYWdlV2l0bmVzc2VzU2NoZWR1bGUoKX19fX19LGFjdGlvbnMuc2NoZWR1bGVXaXRuZXNzZXM9YXN5bmMoKT0+eyJudWxsIj09PWFwaS5zZW5kZXImJmF3YWl0IG1hbmFnZVdpdG5lc3Nlc1NjaGVkdWxlKCl9Ow=="}}}

Sort:  

Congratulations @hive-engine! You received a personal badge!

Happy Hive Birthday! You are on the Hive blockchain for 4 years!

You can view your badges on your board and compare yourself to others in the Ranking