tx · CnCZyy1jWFitChw5icgWi3gRVQtwFKAWdDptdrPKhm4g

3N7HtrKeFFLz5oy6PfGv1Lg3GwPk4gCPdGy:  -0.02200000 Waves

2024.11.14 20:28 [3371412] smart account 3N7HtrKeFFLz5oy6PfGv1Lg3GwPk4gCPdGy > SELF 0.00000000 Waves

{ "type": 13, "id": "CnCZyy1jWFitChw5icgWi3gRVQtwFKAWdDptdrPKhm4g", "fee": 2200000, "feeAssetId": null, "timestamp": 1731605334203, "version": 2, "chainId": 84, "sender": "3N7HtrKeFFLz5oy6PfGv1Lg3GwPk4gCPdGy", "senderPublicKey": "FsR18761ZAsUqsTd7TK3XmR6bhihs1UXVmpHYxz5JzQ1", "proofs": [ "42FzkQNhV6UL53TvSs3xFpwFpwipXkdQaVYFo8LeEbaUaAVLLKy7FQpd4S2zLVDAMdMB4r2rv8mggxKNYUyb4kvc" ], "script": "base64:BgJCCAISBgoECAgICBIDCgEIEgMKAQESBAoCCAESAwoBARIECgIIARIAEgMKAQgSAwoBARIDCgEBEgASAwoBCBIDCgEIggEACkRBWV9NSUxMSVMAgLiZKQAFY2hhaW4JAMkBAgkAygECCAUEdGhpcwVieXRlcwABAAEAC3VzZHRBc3NldElkBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwASCE2nqyCAM/TtG7yo7ui5O8yYLdC136B5ao1CP5qA//uQMJAAACAQFUBQckbWF0Y2gwASBVsdifcoeC7+XjW42sBatl3ppDoS8WuwXzGreHpfHFGAkAAgECDVVua25vd24gY2hhaW4AFWRlZmF1bHRSZXN0QWRkcmVzc1N0cgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1BRQ3V2RmJ2aDRMa1BVbnJuVTF6M2puYkExcDltM1dOaHYDCQAAAgEBVAUHJG1hdGNoMAIjM011bWtHR3p0Q0tBWHBXRHF4a2Rkb2ZxWFNVYnFRa3ZTSnkJAAIBAg1Vbmtub3duIGNoYWluABBhY3JlczJBZGRyZXNzU3RyBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAiMzUDRVSDNUOW5YcE1OcFVtU21RalBtRXozRzg1dDN6bjZlQQMJAAACAQFUBQckbWF0Y2gwAiMzTkJQeDFGY2l1M0pRTkVHWjIxalNuVGR1dExOR0dCVVNYaAkAAgECDVVua25vd24gY2hhaW4ADmFyYml0cmFnZURlbGF5BAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwBQpEQVlfTUlMTElTAwkAAAIBAVQFByRtYXRjaDAA4NQDCQACAQINVW5rbm93biBjaGFpbgADU0VQAgJfXwAFTVVMVDYAwIQ9AAVNVUxUOACAwtcvAA5NSU5TSE9QUEFZTUVOVACgjQYBD2dldFN0cmluZ09yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAABFJZHhDZmdTdGFraW5nRGFwcAABAA1JZHhDZmdXbGdEYXBwAAQAFElkeENmZ1B1enpsZVBvb2xEYXBwAAUAFElkeENmZ0ludmVzdEZ1bmREYXBwAAYAD0lkeENmZ0FjcmVzRGFwcAAIAQprZXlSZXN0Q2ZnAAIOJXNfX3Jlc3RDb25maWcBDmtleVJlc3RBZGRyZXNzAAIMJXNfX3Jlc3RBZGRyAQ9rZXlSZXN0MkFkZHJlc3MAAg0lc19fcmVzdDJBZGRyARFyZWFkUmVzdENmZ09yRmFpbAEEcmVzdAkAvAkCCQEPZ2V0U3RyaW5nT3JGYWlsAgUEcmVzdAkBCmtleVJlc3RDZmcABQNTRVABGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIHcmVzdENmZwNpZHgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQCRAwIFB3Jlc3RDZmcFA2lkeAkArAICAipSZXN0IGNmZyBkb2Vzbid0IGNvbnRhaW4gYWRkcmVzcyBhdCBpbmRleCAJAKQDAQUDaWR4AAxyZXN0Q29udHJhY3QJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBDmtleVJlc3RBZGRyZXNzAAUVZGVmYXVsdFJlc3RBZGRyZXNzU3RyAAdyZXN0Q2ZnCQERcmVhZFJlc3RDZmdPckZhaWwBBQxyZXN0Q29udHJhY3QAD3N0YWtpbmdDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFEUlkeENmZ1N0YWtpbmdEYXBwAAt3bGdDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFDUlkeENmZ1dsZ0RhcHAAEnB1enpsZVBvb2xDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ1B1enpsZVBvb2xEYXBwABJpbnZlc3RGdW5kQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRRJZHhDZmdJbnZlc3RGdW5kRGFwcAANYWNyZXNDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFD0lkeENmZ0FjcmVzRGFwcAANd2xnQXNzZXRJZEtleQILd2xnX2Fzc2V0SWQACndsZ0Fzc2V0SWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnAgCBQt3bGdDb250cmFjdAUNd2xnQXNzZXRJZEtleQIYV0xHT0xEIGlzIG5vdCBpc3N1ZWQgeWV0AQVhc0ludAEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgNJbnQEAW4FByRtYXRjaDAFAW4JAAIBAhVmYWlsIHRvIGNhc3QgaW50byBJbnQBCmZpeGVkUG9pbnQCA3ZhbAhkZWNpbWFscwQGdGVuUG93CQBsBgAKAAAFCGRlY2ltYWxzAAAAAAUERE9XTgQHbG93UGFydAkApAMBCQBqAgUDdmFsBQZ0ZW5Qb3cEBnplcm9lcwkAsAICCQCkAwEFBnRlblBvdwkAZAIAAQkAsQIBBQdsb3dQYXJ0CQCsAgIJAKwCAgkArAICCQCkAwEJAGkCBQN2YWwFBnRlblBvdwIBLgUGemVyb2VzBQdsb3dQYXJ0AAZTQ0FMRTgAgMLXLwAMeHBMZXZlbFNjYWxlAIAZAA94cExldmVsUmVjaXBQb3cAoB8AEm51bVBvaW50c09uTGV2ZWxVcAADAA93bGdCYXNlQW1vdW50WHAAgNDbw/QCAQlrZXlVc2VyWFABBGFkZHIJAKwCAgIHdXNlclhQXwUEYWRkcgEMa2V5VXNlckxldmVsAQRhZGRyCQCsAgICCnVzZXJMZXZlbF8FBGFkZHIABXhwV2xnAJBOAQlsZXZlbEJ5WFABAnhwCQBrAwUMeHBMZXZlbFNjYWxlCQBsBgUCeHAABAUPeHBMZXZlbFJlY2lwUG93AAQABAUERE9XTgUGU0NBTEU4AQdsZXZlbFVwAgljdXJyTGV2ZWwFbmV3WFAECG5ld0xldmVsCQEJbGV2ZWxCeVhQAQUFbmV3WFAJAMwIAgUIbmV3TGV2ZWwJAMwIAgkAaAIFEm51bVBvaW50c09uTGV2ZWxVcAkAZQIFCG5ld0xldmVsBQljdXJyTGV2ZWwFA25pbAAITUlMTElPTjYAgIDpg7HeFgALUExBWUVSU0hBUkUAgLUYAAlEQVlNSUxMSVMAgLiZKQALdGVhbUFkZHJLZXkCCHRlYW1BZGRyAA9sYXN0VGVhbVRpbWVLZXkCFGxhc3RDbGFpbWVkVGltZV90ZWFtABF0ZWFtQW1vdW50TGVmdEtleQIOdGVhbUFtb3VudExlZnQAFWxhc3RBY3Rpdml0aWVzVGltZUtleQIabGFzdENsYWltZWRUaW1lX2FjdGl2aXRpZXMAEGFjdEFtb3VudExlZnRLZXkCFGFjdGl2aXRpZXNBbW91bnRMZWZ0ABRzdGFrZXJzQW1vdW50TGVmdEtleQIRc3Rha2Vyc0Ftb3VudExlZnQBFGtleUxhc3RBcmJUaW1lQnlVc2VyAQRhZGRyCQCsAgICEGxhc3RBcmJUaW1lVXNlcl8FBGFkZHIAD3dsZ0lzc3VlVGltZUtleQINd2xnX2lzc3VlVGltZQASd2xnSXNzdWVkQW1vdW50S2V5AhB3bGdfaXNzdWVkQW1vdW50ARprZXlBY3Jlc1N0YWtlZEFtb3VudEJ5VXNlcgEEYWRkcgkArAICAhhhY3Jlc1N0YWtlZEFtb3VudEJ5VXNlcl8FBGFkZHIBGGtleVdsZ1N0YWtlZEFtb3VudEJ5VXNlcgEEYWRkcgkArAICAhZ3bGdTdGFrZWRBbW91bnRCeVVzZXJfBQRhZGRyABF3bGdTdGFrZWRUb3RhbEtleQIUd2xnU3Rha2VkQW1vdW50VG90YWwBFmtleVdsZ1N0YWtlZFRpbWVCeVVzZXIBBGFkZHIJAKwCAgIUd2xnU3Rha2VkVGltZUJ5VXNlcl8FBGFkZHIAA002XwDAhD0AA004XwCAwtcvAApURUFNX1NIQVJFAMCaDAAOQUNUSVZJVFlfU0hBUkUAoI0GAAxQTEFZRVJfU0hBUkUAgLUYAAtZRUFSX01JTExJUwCAhuvHdQAGREFZX01TAIC4mSkACkRBWV9CTE9DS1MAoAsAB0lTU1VFMTAAgJTr3AMAD1BMQVlFUlMxMF9TSEFSRQCA6jAAEU1BUktFVElORzEwX1NIQVJFAKCNBgAMVEVBTTEwX1NIQVJFAKCNBgARTkVXX1NUQUtJTkdfU1RBUlQAgPO4wrEyABBtYXJrZXRpbmdBZGRyS2V5Ag1tYXJrZXRpbmdBZGRyAAp0ZWFtQWRyS2V5Agh0ZWFtQWRkcgAObGFzdFRlYW1UaW1LZXkCFGxhc3RDbGFpbWVkVGltZV90ZWFtAA50ZWFtQW10TGVmdEtleQIOdGVhbUFtb3VudExlZnQAFGxhc3RBY3Rpdml0aWVzVGltS2V5AhpsYXN0Q2xhaW1lZFRpbWVfYWN0aXZpdGllcwANYWN0QW10TGVmdEtleQIUYWN0aXZpdGllc0Ftb3VudExlZnQAEXN0YWtlcnNBbXRMZWZ0S2V5AhFzdGFrZXJzQW1vdW50TGVmdAEWa2V5TGFzdENsYWltVGltZUJ5VXNlcgEEYWRkcgkArAICAhRsYXN0Q2xhaW1lZFRpbWVVc2VyXwUEYWRkcgENZGlzdHJCeVBlcmlvZAIMaXNzdWVkQW1vdW50BnBlcmlvZAkAawMFDGlzc3VlZEFtb3VudAkAaAIFDFBMQVlFUl9TSEFSRQkAZAIFBnBlcmlvZAABCQBoAgAGBQNNNl8AEXdsZ0lzc3VlMTBUaW1lS2V5Ag93bGdfaXNzdWUxMFRpbWUADndsZ0lzc3VlVGltS2V5Ag13bGdfaXNzdWVUaW1lAA93bGdJc3N1ZWRBbXRLZXkCEHdsZ19pc3N1ZWRBbW91bnQADnpiSXNzdWVkQW10S2V5AhJ6YmlsbF9pc3N1ZWRBbW91bnQBF2tleUFjcmVzU3Rha2VkQW10QnlVc2VyAQRhZGRyCQCsAgICGGFjcmVzU3Rha2VkQW1vdW50QnlVc2VyXwUEYWRkcgAUdG90YWxGYXJtaW5nUG93ZXJLZXkCEXRvdGFsRmFybWluZ1Bvd2VyAAlkYXBwMlJlc3QAAAAMZGFwcDJTdGFraW5nAAEACGRhcHAyV2xnAAIAC2RhcHAyUHV6emxlAAMAD2RhcHAySW52ZXN0RnVuZAAEAApsZXZlbEFjcmVzCQDMCAIAAAkAzAgCAAoJAMwIAgAUCQDMCAIAKAkAzAgCAFAJAMwIAgCWAQkAzAgCAPoBCQDMCAIAkAMJAMwIAgC8BQkAzAgCAOgHBQNuaWwBD2dldExldmVsQnlBY3JlcwEFYWNyZXMEA2FjcgkAaQIJAGQCBQVhY3JlcwD/wdcvBQNNOF8KAQdjaGVja2VyAgNhY2MEaXRlbQMJAGcCBQRpdGVtBQNhY3IFA2FjYwkAZAIFA2FjYwABCgACJGwFCmxldmVsQWNyZXMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBB2NoZWNrZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoBFmdldEZhcm1pbmdQb3dlckJ5QWNyZXMBBWFjcmVzCQBoAgkAaAIFBWFjcmVzABQJAGQCCQEPZ2V0TGV2ZWxCeUFjcmVzAQUFYWNyZXMABAEQZ2V0RmFybWluZ1Bvd2VycwISdXNlckFkZHJTdHJPckVtcHR5DmFjcmVzMkNvbnRyYWN0BAd0b3RhbEZQCQELdmFsdWVPckVsc2UCCQCaCAIFDmFjcmVzMkNvbnRyYWN0BRR0b3RhbEZhcm1pbmdQb3dlcktleQAABAl1c2VyQWNyZXMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUOYWNyZXMyQ29udHJhY3QJARdrZXlBY3Jlc1N0YWtlZEFtdEJ5VXNlcgEFEnVzZXJBZGRyU3RyT3JFbXB0eQAABAZ1c2VyRlAJARZnZXRGYXJtaW5nUG93ZXJCeUFjcmVzAQUJdXNlckFjcmVzCQDMCAIFB3RvdGFsRlAJAMwIAgUGdXNlckZQBQNuaWwBCmtleVVzZXJCZXQBBGFkZHIJAKwCAgIIdXNlckJldF8FBGFkZHIBDmtleVVzZXJUaWNrZXRzAQRhZGRyCQCsAgICDHVzZXJUaWNrZXRzXwUEYWRkcgAPa2V5VG90YWxUaWNrZXRzAgx0b3RhbFRpY2tldHMBCndpbm5pbmdCZXQBA2RheQkAagIJALEJAQkBBXZhbHVlAQgJAQV2YWx1ZQEJAO0HAQkAaAIFA2RheQUKREFZX0JMT0NLUwN2cmYABAAKaWR4VG90YWxGUAAAAAlpZHhVc2VyRlAAAQALaXhXbGdBbW91bnQAAAAIaXhXbGdXbGcAAQAKaXhXbGdQcmljZQACAA5peFdsZ0lzc3VlVGltZQAIAA9peFdsZ1RlYW1BbUxlZnQACwATaXhXbGdUZWFtQW1BdmFpbE5vdwAMAA5peFdsZ0FjdEFtTGVmdAAPABJpeFdsZ0FjdEFtQXZhaWxOb3cAEAAQaXhXbGdBbUxlZnRUb3RhbAATABNpeFdsZ1VzZXJBbUF2YWlsTm93ABcAEGl4V2xnRWZmVXNlclRpbWUAGAASaXhXbGdJc3N1ZTEwQW1vdW50ABkAG2l4V2xnTWFya2V0aW5nSXNzdWUxMEFtb3VudAAaABZpeFdsZ1RlYW1Jc3N1ZTEwQW1vdW50ABsAD2l4V2xnVXNlcjEwcGFydAAcABBpeFdsZ0lzc3VlMTBUaW1lAB0BDGdldFdsZ1N0YXRzMgQLdXNlckFkZHJPcHQJY29udHJhY3RzBnVzZHRJZBV1c2R0QmFsYW5jZUNvcnJlY3Rpb24EDGlzc3VlZEFtb3VudAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwUPd2xnSXNzdWVkQW10S2V5AhhXTEdPTEQgaXMgbm90IGlzc3VlZCB5ZXQEB3Jlc3RVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFCWRhcHAyUmVzdAUGdXNkdElkBAZ3bGdVc2QJAGUCCQDwBwIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwUGdXNkdElkBRV1c2R0QmFsYW5jZUNvcnJlY3Rpb24ECXB1enpsZVVzZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwULZGFwcDJQdXp6bGUFBnVzZHRJZAQJYWNyZXMyVXNkCQDwBwIJAJEDAgUJY29udHJhY3RzBQxkYXBwMlN0YWtpbmcFBnVzZHRJZAQRaW52ZXN0Rm5kQ29udHJhY3QJAJEDAgUJY29udHJhY3RzBQ9kYXBwMkludmVzdEZ1bmQED2ludmVzdEZ1bmRUb3RhbAkAZAIJAPAHAgURaW52ZXN0Rm5kQ29udHJhY3QFBnVzZHRJZAkBC3ZhbHVlT3JFbHNlAgkAmggCBRFpbnZlc3RGbmRDb250cmFjdAUOemJJc3N1ZWRBbXRLZXkAAAQNdG90YWxGdW5kc1VzZAkAZAIJAGQCBQlhY3JlczJVc2QFBndsZ1VzZAUPaW52ZXN0RnVuZFRvdGFsBAV3bGdJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCcCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwILd2xnX2Fzc2V0SWQCE05vdCBpbml0aWFsaXplZCB5ZXQEA25vdwgFCWxhc3RCbG9jawl0aW1lc3RhbXAECWlzc3VlVGltZQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwUOd2xnSXNzdWVUaW1LZXkCD05vdCBpbml0aWFsaXplZAQGd2xnV2xnCQDwBwIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwUFd2xnSWQECXRlYW1Ub3RhbAkAawMFDGlzc3VlZEFtb3VudAUKVEVBTV9TSEFSRQUDTTZfBA50ZWFtQW1vdW50TGVmdAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcDJXbGcFDnRlYW1BbXRMZWZ0S2V5BQl0ZWFtVG90YWwEDGxhc3RUZWFtVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcDJXbGcFDmxhc3RUZWFtVGltS2V5BQlpc3N1ZVRpbWUECHRlYW1BZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBCQEFdmFsdWUBCQCdCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwUKdGVhbUFkcktleQQWdGVhbUFtb3VudEF2YWlsYWJsZU5vdwkAlwMBCQDMCAIJAGsDBQl0ZWFtVG90YWwJAGUCBQNub3cFDGxhc3RUZWFtVGltZQkAaAIAAwULWUVBUl9NSUxMSVMJAMwIAgUOdGVhbUFtb3VudExlZnQFA25pbAQKdGVhbVdsZ29sZAkA8AcCBQh0ZWFtQWRkcgUFd2xnSWQECGFjdFRvdGFsCQBrAwUMaXNzdWVkQW1vdW50BQ5BQ1RJVklUWV9TSEFSRQUDTTZfBA1hY3RBbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwUNYWN0QW10TGVmdEtleQUIYWN0VG90YWwEEmxhc3RBY3Rpdml0aWVzVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcDJXbGcFFGxhc3RBY3Rpdml0aWVzVGltS2V5BQlpc3N1ZVRpbWUEFWFjdEFtb3VudEF2YWlsYWJsZU5vdwkAlwMBCQDMCAIJAGsDBQhhY3RUb3RhbAkAZQIFA25vdwUSbGFzdEFjdGl2aXRpZXNUaW1lCQBoAgADBQtZRUFSX01JTExJUwkAzAgCBQ1hY3RBbW91bnRMZWZ0BQNuaWwECWFjdFdsZ29sZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwUJZGFwcDJSZXN0BQV3bGdJZAQMbGFzdFVzZXJUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwkBFmtleUxhc3RDbGFpbVRpbWVCeVVzZXIBBQt1c2VyQWRkck9wdAUJaXNzdWVUaW1lBA5sYXN0VXNlclBlcmlvZAkAaQIJAGUCBQxsYXN0VXNlclRpbWUFCWlzc3VlVGltZQULWUVBUl9NSUxMSVMECm5vd0xpbWl0ZWQJAJcDAQkAzAgCBQNub3cJAMwIAgkAZAIFCWlzc3VlVGltZQkAaAIAAwULWUVBUl9NSUxMSVMFA25pbAQJY3VyUGVyaW9kCQCXAwEJAMwIAgkAaQIJAGUCBQNub3cFCWlzc3VlVGltZQULWUVBUl9NSUxMSVMJAMwIAgACBQNuaWwEA2VmZgkBEGdldEZhcm1pbmdQb3dlcnMCBQt1c2VyQWRkck9wdAkAkQMCBQljb250cmFjdHMFDGRhcHAyU3Rha2luZwQVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQENZGlzdHJCeVBlcmlvZAIFDGlzc3VlZEFtb3VudAUJY3VyUGVyaW9kBA1wcmV2UGVyaW9kRW5kCQBkAgUJaXNzdWVUaW1lCQBoAgULWUVBUl9NSUxMSVMFCWN1clBlcmlvZAQRcHJldlByZXZQZXJpb2RFbmQJAGQCBQlpc3N1ZVRpbWUJAGgCBQtZRUFSX01JTExJUwkAZQIFCWN1clBlcmlvZAABBAJhMAkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAZQIFCm5vd0xpbWl0ZWQFDGxhc3RVc2VyVGltZQULWUVBUl9NSUxMSVMEDXVzZXJBdmFpbGFibGUDCQAAAgUObGFzdFVzZXJQZXJpb2QFCWN1clBlcmlvZAUCYTADCQAAAgUObGFzdFVzZXJQZXJpb2QJAGUCBQljdXJQZXJpb2QAAQQCYTEJAGsDCQENZGlzdHJCeVBlcmlvZAIFDGlzc3VlZEFtb3VudAkAZQIFCWN1clBlcmlvZAABCQBlAgUNcHJldlBlcmlvZEVuZAUMbGFzdFVzZXJUaW1lBQtZRUFSX01JTExJUwkAZAIFAmExBQJhMAQCYTIJAGsDCQENZGlzdHJCeVBlcmlvZAIFDGlzc3VlZEFtb3VudAkAZQIFCWN1clBlcmlvZAACCQBlAgURcHJldlByZXZQZXJpb2RFbmQFDGxhc3RVc2VyVGltZQULWUVBUl9NSUxMSVMEAmExCQENZGlzdHJCeVBlcmlvZAIFDGlzc3VlZEFtb3VudAkAZQIFCWN1clBlcmlvZAABCQBkAgkAZAIFAmEyBQJhMQUCYTAED2Ftb3VudExlZnRUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcDJXbGcFEXN0YWtlcnNBbXRMZWZ0S2V5AAAECnVzZXJBbW91bnQDCQECIT0CCQCRAwIFA2VmZgUKaWR4VG90YWxGUAAACQBrAwUNdXNlckF2YWlsYWJsZQkAkQMCBQNlZmYFCWlkeFVzZXJGUAkAkQMCBQNlZmYFCmlkeFRvdGFsRlAAAAQPbGFzdElzc3VlMTBUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwURd2xnSXNzdWUxMFRpbWVLZXkFEU5FV19TVEFLSU5HX1NUQVJUBA1pc3N1ZTEwQW1vdW50CQBrAwUHSVNTVUUxMAkAlgMBCQDMCAIJAGUCBQNub3cFD2xhc3RJc3N1ZTEwVGltZQkAzAgCAAAFA25pbAUGREFZX01TBBZtYXJrZXRpbmdJc3N1ZTEwQW1vdW50CQBrAwUNaXNzdWUxMEFtb3VudAURTUFSS0VUSU5HMTBfU0hBUkUFA002XwQRdGVhbUlzc3VlMTBBbW91bnQJAGsDBQ1pc3N1ZTEwQW1vdW50BQxURUFNMTBfU0hBUkUFA002XwQOdXNlcjEwSW50ZXJ2YWwJAJYDAQkAzAgCCQBlAgUDbm93CQCWAwEJAMwIAgURTkVXX1NUQUtJTkdfU1RBUlQJAMwIAgUMbGFzdFVzZXJUaW1lBQNuaWwJAMwIAgAABQNuaWwECnVzZXIxMHBhcnQDCQECIT0CCQCRAwIFA2VmZgUKaWR4VG90YWxGUAAACQBrAwkAawMJAGsDBQdJU1NVRTEwBQ51c2VyMTBJbnRlcnZhbAUGREFZX01TCQCRAwIFA2VmZgUJaWR4VXNlckZQCQCRAwIFA2VmZgUKaWR4VG90YWxGUAUPUExBWUVSUzEwX1NIQVJFBQNNNl8AAAQObmV3SXNzdWUxMFRpbWUJAJYDAQkAzAgCBRFORVdfU1RBS0lOR19TVEFSVAkAzAgCBQNub3cFA25pbAkAzAgCBQxpc3N1ZWRBbW91bnQJAMwIAgUGd2xnV2xnCQDMCAIJAGsDBQ10b3RhbEZ1bmRzVXNkBQNNOF8FDGlzc3VlZEFtb3VudAkAzAgCBQ10b3RhbEZ1bmRzVXNkCQDMCAIFB3Jlc3RVc2QJAMwIAgUJYWNyZXMyVXNkCQDMCAIFBndsZ1VzZAkAzAgCBQlwdXp6bGVVc2QJAMwIAgUJaXNzdWVUaW1lCQDMCAIFDGxhc3RUZWFtVGltZQkAzAgCBQl0ZWFtVG90YWwJAMwIAgUOdGVhbUFtb3VudExlZnQJAMwIAgUWdGVhbUFtb3VudEF2YWlsYWJsZU5vdwkAzAgCBQp0ZWFtV2xnb2xkCQDMCAIFCGFjdFRvdGFsCQDMCAIFDWFjdEFtb3VudExlZnQJAMwIAgUVYWN0QW1vdW50QXZhaWxhYmxlTm93CQDMCAIFCWFjdFdsZ29sZAkAzAgCBQljdXJQZXJpb2QJAMwIAgUPYW1vdW50TGVmdFRvdGFsCQDMCAIFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAzAgCBQxsYXN0VXNlclRpbWUJAMwIAgUPaW52ZXN0RnVuZFRvdGFsCQDMCAIFCnVzZXJBbW91bnQJAMwIAgUKbm93TGltaXRlZAkAzAgCBQ1pc3N1ZTEwQW1vdW50CQDMCAIFFm1hcmtldGluZ0lzc3VlMTBBbW91bnQJAMwIAgURdGVhbUlzc3VlMTBBbW91bnQJAMwIAgUKdXNlcjEwcGFydAkAzAgCBQ5uZXdJc3N1ZTEwVGltZQkAzAgCCQCRAwIFA2VmZgUKaWR4VG90YWxGUAUDbmlsAANuZXQJAMkBAgkAygECCAUEdGhpcwVieXRlcwABAAEAFmRlZmF1bHRSZXN0MkFkZHJlc3NTdHIEByRtYXRjaDAFA25ldAMJAAACAQFXBQckbWF0Y2gwAiMzUEZ3WXRhOGJpRXozMXpwZUZlNURKSzh3RTV0clNwUVZGOAMJAAACAQFUBQckbWF0Y2gwAiMzTjdVdVlhcjYyNjRQNThGQmhWV0tQUUFoNFl1YTJoZ25ndgkAAgECDVVua25vd24gY2hhaW4ADXByb2ZpdEFkZHJLZXkCCnByb2ZpdEFkZHIAGXN0YWtlcnNBbW91bnRQYWlkVG90YWxLZXkCFnN0YWtlcnNBbW91bnRQYWlkVG90YWwBGGtleVN0YWtlcnNBbW91bnRQYWlkVXNlcgEEYWRkcgkArAICAhZzdGFrZXJzQW1vdW50UGFpZFVzZXJfBQRhZGRyAA1yZXN0MkNvbnRyYWN0CQERQGV4dHJOYXRpdmUoMTA2MikBCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQ9rZXlSZXN0MkFkZHJlc3MABRZkZWZhdWx0UmVzdDJBZGRyZXNzU3RyAA5hY3JlczJDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQUQYWNyZXMyQWRkcmVzc1N0cgEHcHJvbG9nMgAJAQVhc0ludAEJAP0HBAUOYWNyZXMyQ29udHJhY3QCCnNhdmVMYXN0VHgFA25pbAUDbmlsAQ9nZXRTd2FwTGltaXRXbGcBBGFkZHIECGxhc3RUaW1lCQELdmFsdWVPckVsc2UCCQCfCAEJARRrZXlMYXN0QXJiVGltZUJ5VXNlcgEFBGFkZHIAAAQDbm93CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAMJAGYCBQ5hcmJpdHJhZ2VEZWxheQkAZQIFA25vdwUIbGFzdFRpbWUJAAIBCQCsAgIJAKwCAgIfQXJiaXRyYWdlcyBhcmUgcG9zc2libGUgb25jZSBhIAkApAMBCQBpAgUOYXJiaXRyYWdlRGVsYXkA4NQDAgNtaW4JAQt2YWx1ZU9yRWxzZQIJAJoIAgUOYWNyZXMyQ29udHJhY3QJARprZXlBY3Jlc1N0YWtlZEFtb3VudEJ5VXNlcgEFBGFkZHIAAAEOY2xhaW1JbnRlcm5hbDIBBGFkZHIECGN1clN0YXRzCQEMZ2V0V2xnU3RhdHMyBAUEYWRkcgkAzAgCBQ1yZXN0MkNvbnRyYWN0CQDMCAIFDmFjcmVzMkNvbnRyYWN0CQDMCAIFC3dsZ0NvbnRyYWN0CQDMCAIFEnB1enpsZVBvb2xDb250cmFjdAkAzAgCBRJpbnZlc3RGdW5kQ29udHJhY3QFA25pbAULdXNkdEFzc2V0SWQAAAQLdXNlclRpbWVLZXkJARZrZXlMYXN0Q2xhaW1UaW1lQnlVc2VyAQUEYWRkcgQMbGFzdFVzZXJUaW1lCQELdmFsdWVPckVsc2UCCQCfCAEFC3VzZXJUaW1lS2V5AAAEC3VzZXJFZmZUaW1lCQCRAwIFCGN1clN0YXRzBRBpeFdsZ0VmZlVzZXJUaW1lAwkAAAIFDGxhc3RVc2VyVGltZQULdXNlckVmZlRpbWUJAJQKAgUDbmlsAAAEA25vdwgFCWxhc3RCbG9jawl0aW1lc3RhbXAECWlzc3VlVGltZQkAkQMCBQhjdXJTdGF0cwUOaXhXbGdJc3N1ZVRpbWUEDnRlYW1BbW91bnRMZWZ0CQCRAwIFCGN1clN0YXRzBQ9peFdsZ1RlYW1BbUxlZnQECnRlYW1BbW91bnQJAGQCCQCRAwIFCGN1clN0YXRzBRNpeFdsZ1RlYW1BbUF2YWlsTm93CQCRAwIFCGN1clN0YXRzBRZpeFdsZ1RlYW1Jc3N1ZTEwQW1vdW50BAx0ZWFtVHJhbnNmZXIDCQBmAgUKdGVhbUFtb3VudAAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEJAKIIAQULdGVhbUFkZHJLZXkFCnRlYW1BbW91bnQFCndsZ0Fzc2V0SWQFA25pbAUDbmlsBA1hY3RBbW91bnRMZWZ0CQCRAwIFCGN1clN0YXRzBQ5peFdsZ0FjdEFtTGVmdAQJYWN0QW1vdW50CQCRAwIFCGN1clN0YXRzBRJpeFdsZ0FjdEFtQXZhaWxOb3cEC2FjdFRyYW5zZmVyAwkAZgIFCWFjdEFtb3VudAAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFDHJlc3RDb250cmFjdAUJYWN0QW1vdW50BQp3bGdBc3NldElkBQNuaWwFA25pbAQPbWFya2V0aW5nQW1vdW50CQCRAwIFCGN1clN0YXRzBRtpeFdsZ01hcmtldGluZ0lzc3VlMTBBbW91bnQEEW1hcmtldGluZ1RyYW5zZmVyAwkAZgIFD21hcmtldGluZ0Ftb3VudAAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEJAKIIAQUQbWFya2V0aW5nQWRkcktleQUPbWFya2V0aW5nQW1vdW50BQp3bGdBc3NldElkBQNuaWwFA25pbAQKdXNlckFtb3VudAkAkQMCBQhjdXJTdGF0cwUTaXhXbGdVc2VyQW1BdmFpbE5vdwQHdXNlcktleQkBGGtleVN0YWtlcnNBbW91bnRQYWlkVXNlcgEFBGFkZHIECXVzZXJUb3RhbAkAZAIFCnVzZXJBbW91bnQJAJEDAgUIY3VyU3RhdHMFD2l4V2xnVXNlcjEwcGFydAQOaXNzdWVkMTBBbW91bnQJAJEDAgUIY3VyU3RhdHMFEml4V2xnSXNzdWUxMEFtb3VudAkAlAoCCQDOCAIJAM4IAgkAzggCCQDMCAIJAQdSZWlzc3VlAwUKd2xnQXNzZXRJZAUOaXNzdWVkMTBBbW91bnQGCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJ3bGdJc3N1ZWRBbW91bnRLZXkJAGQCCQCRAwIFCGN1clN0YXRzBQtpeFdsZ0Ftb3VudAUOaXNzdWVkMTBBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFEXdsZ0lzc3VlMTBUaW1lS2V5CQCRAwIFCGN1clN0YXRzBRBpeFdsZ0lzc3VlMTBUaW1lCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQd1c2VyS2V5CQBkAgkBC3ZhbHVlT3JFbHNlAgkAnwgBBQd1c2VyS2V5AAAFCnVzZXJBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFGXN0YWtlcnNBbW91bnRQYWlkVG90YWxLZXkJAGQCCQELdmFsdWVPckVsc2UCCQCfCAEFGXN0YWtlcnNBbW91bnRQYWlkVG90YWxLZXkAAAUKdXNlckFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUUc3Rha2Vyc0Ftb3VudExlZnRLZXkJAGUCCQCRAwIFCGN1clN0YXRzBRBpeFdsZ0FtTGVmdFRvdGFsBQp1c2VyQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRF0ZWFtQW1vdW50TGVmdEtleQkAZAIJAGUCBQ50ZWFtQW1vdW50TGVmdAUKdGVhbUFtb3VudAkAkQMCBQhjdXJTdGF0cwUWaXhXbGdUZWFtSXNzdWUxMEFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUPbGFzdFRlYW1UaW1lS2V5BQNub3cJAMwIAgkBDEludGVnZXJFbnRyeQIFEGFjdEFtb3VudExlZnRLZXkJAGUCBQ1hY3RBbW91bnRMZWZ0BQlhY3RBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFFWxhc3RBY3Rpdml0aWVzVGltZUtleQUDbm93CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQt1c2VyVGltZUtleQULdXNlckVmZlRpbWUFA25pbAUMdGVhbVRyYW5zZmVyBQthY3RUcmFuc2ZlcgURbWFya2V0aW5nVHJhbnNmZXIFCXVzZXJUb3RhbAEOdGFrZVhwSW50ZXJuYWwCBGFkZHIFZGVsdGEEA25vdwgFCWxhc3RCbG9jawl0aW1lc3RhbXAEB3RpbWVLZXkJARZrZXlXbGdTdGFrZWRUaW1lQnlVc2VyAQUEYWRkcgQJYW1vdW50S2V5CQEYa2V5V2xnU3Rha2VkQW1vdW50QnlVc2VyAQUEYWRkcgQIbGFzdFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUHdGltZUtleQAABAdvbGRVc2VyCQELdmFsdWVPckVsc2UCCQCfCAEFCWFtb3VudEtleQAABAhvbGRUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAnwgBBRF3bGdTdGFrZWRUb3RhbEtleQAABAJ4cAkAawMJAGsDBQV4cFdsZwUHb2xkVXNlcgUPd2xnQmFzZUFtb3VudFhwCQBlAgUIbGFzdFRpbWUFA25vdwUJREFZTUlMTElTCQCVCgMJAMwIAgkBDEludGVnZXJFbnRyeQIFB3RpbWVLZXkFA25vdwkAzAgCCQEMSW50ZWdlckVudHJ5AgUJYW1vdW50S2V5CQBkAgUHb2xkVXNlcgUFZGVsdGEJAMwIAgkBDEludGVnZXJFbnRyeQIFEXdsZ1N0YWtlZFRvdGFsS2V5CQBkAgUIb2xkVG90YWwFBWRlbHRhBQNuaWwFAnhwBQdvbGRVc2VyARRjbGFpbVRpY2tldHNJbnRlcm5hbAIEYWRkcgp1c2VyQmV0U3RyBA90b3RhbFRpY2tldHNLZXkFD2tleVRvdGFsVGlja2V0cwQKdGlja2V0c0tleQkBDmtleVVzZXJUaWNrZXRzAQUEYWRkcgQGYmV0S2V5CQEKa2V5VXNlckJldAEFBGFkZHIEBmRheUJldAkAtQkCBQp1c2VyQmV0U3RyAgFfBA9vbGRUb3RhbFRpY2tldHMJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUPdG90YWxUaWNrZXRzS2V5AAAECm9sZFRpY2tldHMJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUKdGlja2V0c0tleQAABAxkZWx0YVRpY2tldHMDCQAAAgkBCndpbm5pbmdCZXQBCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUGZGF5QmV0AAAJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQZkYXlCZXQAAQABAAAJAJQKAgkAzQgCAwkAAAIFDGRlbHRhVGlja2V0cwAABQNuaWwJAMwIAgkBDEludGVnZXJFbnRyeQIFCnRpY2tldHNLZXkJAGQCBQpvbGRUaWNrZXRzBQxkZWx0YVRpY2tldHMJAMwIAgkBDEludGVnZXJFbnRyeQIFD3RvdGFsVGlja2V0c0tleQkAZAIFD29sZFRvdGFsVGlja2V0cwUMZGVsdGFUaWNrZXRzBQNuaWwJAQtEZWxldGVFbnRyeQEFBmJldEtleQUMZGVsdGFUaWNrZXRzDQFpAQ1jb25zdHJ1Y3RvclYxBAhyZXN0QWRkcg1tYXJrZXRpbmdBZGRyCHRlYW1BZGRyCnByb2ZpdEFkZHIDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAMJAQlpc0RlZmluZWQBCQChCAEFDXdsZ0Fzc2V0SWRLZXkJAAIBAhNBbHJlYWR5IGluaXRpYWxpemVkBAxpc3N1ZWRBbW91bnQFCE1JTExJT042BAVpc3N1ZQkAwwgHAgZXTEdPTEQCIFdhdmVzTGFuZHMgR29sZCBpbnZlc3RtZW50IHRva2VuBQxpc3N1ZWRBbW91bnQACAYFBHVuaXQAAAQHYXNzZXRJZAkAuAgBBQVpc3N1ZQkAzAgCBQVpc3N1ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUPd2xnSXNzdWVUaW1lS2V5CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAzAgCCQEMSW50ZWdlckVudHJ5AgUSd2xnSXNzdWVkQW1vdW50S2V5BQxpc3N1ZWRBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFGXN0YWtlcnNBbW91bnRQYWlkVG90YWxLZXkAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUUc3Rha2Vyc0Ftb3VudExlZnRLZXkJAGsDBQhNSUxMSU9ONgULUExBWUVSU0hBUkUFBU1VTFQ2CQDMCAIJAQtCaW5hcnlFbnRyeQIFDXdsZ0Fzc2V0SWRLZXkFB2Fzc2V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDmtleVJlc3RBZGRyZXNzAAUIcmVzdEFkZHIJAMwIAgkBC1N0cmluZ0VudHJ5AgUQbWFya2V0aW5nQWRkcktleQUNbWFya2V0aW5nQWRkcgkAzAgCCQELU3RyaW5nRW50cnkCBQt0ZWFtQWRkcktleQUIdGVhbUFkZHIJAMwIAgkBC1N0cmluZ0VudHJ5AgUNcHJvZml0QWRkcktleQUKcHJvZml0QWRkcgUDbmlsAWkBDWNvbnN0cnVjdG9yVjIBCXJlc3QyQWRkcgMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEVBlcm1pc3Npb24gZGVuaWVkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ9rZXlSZXN0MkFkZHJlc3MABQlyZXN0MkFkZHIFA25pbAFpAQZidXlXbGcBCW1pbkFtb3VudAQMcHJvbG9nUmVzdWx0CQEHcHJvbG9nMgADCQAAAgUMcHJvbG9nUmVzdWx0BQxwcm9sb2dSZXN1bHQDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEJAAIBAiJleGFjdGx5IDEgcGF5bWVudCBtdXN0IGJlIGF0dGFjaGVkBANwbXQJAJEDAggFAWkIcGF5bWVudHMAAAQHdXNkdEFtdAgFA3BtdAZhbW91bnQDAwkBASEBCQEJaXNEZWZpbmVkAQgFA3BtdAdhc3NldElkBgkBAiE9AgkBBXZhbHVlAQgFA3BtdAdhc3NldElkBQt1c2R0QXNzZXRJZAkAAgECE1VTRFQgcGF5bWVudHMgb25seSEEBmNhbGxlcggFAWkGY2FsbGVyBARhZGRyCQClCAEFBmNhbGxlcgMJAGYCBQ5NSU5TSE9QUEFZTUVOVAUHdXNkdEFtdAkAAgEJAKwCAgkArAICAhJZb3UgY2FuIHRyYWRlIG1pbiAJAQpmaXhlZFBvaW50AgUOTUlOU0hPUFBBWU1FTlQABgIFIFVTRFQECGN1clN0YXRzCQEMZ2V0V2xnU3RhdHMyBAIACQDMCAIFDXJlc3QyQ29udHJhY3QJAMwIAgUOYWNyZXMyQ29udHJhY3QJAMwIAgULd2xnQ29udHJhY3QJAMwIAgUScHV6emxlUG9vbENvbnRyYWN0CQDMCAIFEmludmVzdEZ1bmRDb250cmFjdAUDbmlsBQt1c2R0QXNzZXRJZAUHdXNkdEFtdAQMY3VyV2xnQW1vdW50CQCRAwIFCGN1clN0YXRzBQtpeFdsZ0Ftb3VudAQId2xnUHJpY2UJAJEDAgUIY3VyU3RhdHMFCml4V2xnUHJpY2UECGJ1eVByaWNlCQBrAwUId2xnUHJpY2UABgAFBAl3bGdBbW91bnQJAGsDBQd1c2R0QW10BQVNVUxUOAUIYnV5UHJpY2UEBm1heFdsZwkBD2dldFN3YXBMaW1pdFdsZwEFBGFkZHIDCQBmAgUJd2xnQW1vdW50BQZtYXhXbGcJAAIBCQCsAgIJAKwCAgIQWW91IGNhbiBnZXQgbWF4IAkBCmZpeGVkUG9pbnQCBQZtYXhXbGcACAIHIFdMR09MRAMJAGYCBQltaW5BbW91bnQFCXdsZ0Ftb3VudAkAAgECMFByaWNlIGNoYW5nZWQgZHVyaW5nIG9wZXJhdGlvbiwgcGxlYXNlIHRyeSBhZ2FpbgQMcHJvZml0QW1vdW50CQBpAgUHdXNkdEFtdAAGCQCUCgIJAMwIAgkBB1JlaXNzdWUDBQp3bGdBc3NldElkBQl3bGdBbW91bnQGCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJ3bGdJc3N1ZWRBbW91bnRLZXkJAGQCBQxjdXJXbGdBbW91bnQFCXdsZ0Ftb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFGtleUxhc3RBcmJUaW1lQnlVc2VyAQUEYWRkcggFCWxhc3RCbG9jawl0aW1lc3RhbXAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAoggBBQ1wcm9maXRBZGRyS2V5BQxwcm9maXRBbW91bnQFC3VzZHRBc3NldElkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBmNhbGxlcgUJd2xnQW1vdW50BQp3bGdBc3NldElkBQNuaWwFDHByb2xvZ1Jlc3VsdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ5idXlXbGdSRUFET05MWQIHYWRkcmVzcwd1c2R0QW10BAhjdXJTdGF0cwkBDGdldFdsZ1N0YXRzMgQCAAkAzAgCBQ1yZXN0MkNvbnRyYWN0CQDMCAIFDmFjcmVzMkNvbnRyYWN0CQDMCAIFC3dsZ0NvbnRyYWN0CQDMCAIFEnB1enpsZVBvb2xDb250cmFjdAkAzAgCBRJpbnZlc3RGdW5kQ29udHJhY3QFA25pbAULdXNkdEFzc2V0SWQFB3VzZHRBbXQEDGN1cldsZ0Ftb3VudAkAkQMCBQhjdXJTdGF0cwULaXhXbGdBbW91bnQECHdsZ1ByaWNlCQCRAwIFCGN1clN0YXRzBQppeFdsZ1ByaWNlBAhidXlQcmljZQkAawMFCHdsZ1ByaWNlAAYABQQJd2xnQW1vdW50CQBrAwUHdXNkdEFtdAUFTVVMVDgFCGJ1eVByaWNlBAZtYXhXbGcJAQ9nZXRTd2FwTGltaXRXbGcBBQdhZGRyZXNzBAdtYXhVc2R0CQBrAwUGbWF4V2xnBQhidXlQcmljZQUFTVVMVDgEDHByb2ZpdEFtb3VudAkAaQIFB3VzZHRBbXQABgkAlAoCBQNuaWwJAMwIAgUJd2xnQW1vdW50CQDMCAIFDk1JTlNIT1BQQVlNRU5UCQDMCAIFB21heFVzZHQJAMwIAgUMcHJvZml0QW1vdW50BQNuaWwBaQEHc2VsbFdsZwEJbWluQW1vdW50BAxwcm9sb2dSZXN1bHQJAQdwcm9sb2cyAAMJAAACBQxwcm9sb2dSZXN1bHQFDHByb2xvZ1Jlc3VsdAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECImV4YWN0bHkgMSBwYXltZW50IG11c3QgYmUgYXR0YWNoZWQEA3BtdAkAkQMCCAUBaQhwYXltZW50cwAABAZ3bGdBbXQIBQNwbXQGYW1vdW50BAZjYWxsZXIIBQFpBmNhbGxlcgQEYWRkcgkApQgBBQZjYWxsZXIEBm1heFdsZwkBD2dldFN3YXBMaW1pdFdsZwEFBGFkZHIDCQBmAgUGd2xnQW10BQZtYXhXbGcJAAIBCQCsAgIJAKwCAgISWW91IGNhbiBzcGVuZCBtYXggCQEKZml4ZWRQb2ludAIFBm1heFdsZwAIAgcgV0xHT0xEAwMJAQEhAQkBCWlzRGVmaW5lZAEIBQNwbXQHYXNzZXRJZAYJAQIhPQIJAQV2YWx1ZQEIBQNwbXQHYXNzZXRJZAUKd2xnQXNzZXRJZAkAAgECFVdMR09MRCBwYXltZW50cyBvbmx5IQQIY3VyU3RhdHMJAQxnZXRXbGdTdGF0czIEAgAJAMwIAgUNcmVzdDJDb250cmFjdAkAzAgCBQ5hY3JlczJDb250cmFjdAkAzAgCBQt3bGdDb250cmFjdAkAzAgCBRJwdXp6bGVQb29sQ29udHJhY3QJAMwIAgUSaW52ZXN0RnVuZENvbnRyYWN0BQNuaWwFC3VzZHRBc3NldElkAAAEDGN1cldsZ0Ftb3VudAkAkQMCBQhjdXJTdGF0cwULaXhXbGdBbW91bnQECXNlbGxQcmljZQkAaQIJAJEDAgUIY3VyU3RhdHMFCml4V2xnUHJpY2UAAgQHdXNkdEFtdAkAawMFBndsZ0FtdAUJc2VsbFByaWNlBQVNVUxUOAMJAGYCBQ5NSU5TSE9QUEFZTUVOVAUHdXNkdEFtdAkAAgEJAKwCAgkArAICAhJZb3UgY2FuIHRyYWRlIG1pbiAJAQpmaXhlZFBvaW50AgUOTUlOU0hPUFBBWU1FTlQABgIFIFVTRFQDCQBmAgUJbWluQW1vdW50BQd1c2R0QW10CQACAQIwUHJpY2UgY2hhbmdlZCBkdXJpbmcgb3BlcmF0aW9uLCBwbGVhc2UgdHJ5IGFnYWluBAxwcm9maXRBbW91bnQJAGkCBQd1c2R0QW10AAUJAJQKAgkAzAgCCQEEQnVybgIFCndsZ0Fzc2V0SWQFBndsZ0FtdAkAzAgCCQEMSW50ZWdlckVudHJ5AgUSd2xnSXNzdWVkQW1vdW50S2V5CQBlAgUMY3VyV2xnQW1vdW50BQZ3bGdBbXQJAMwIAgkBDEludGVnZXJFbnRyeQIJARRrZXlMYXN0QXJiVGltZUJ5VXNlcgEFBGFkZHIIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEJAKIIAQUNcHJvZml0QWRkcktleQUMcHJvZml0QW1vdW50BQt1c2R0QXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQZjYWxsZXIFB3VzZHRBbXQFC3VzZHRBc3NldElkBQNuaWwFDHByb2xvZ1Jlc3VsdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ9zZWxsV2xnUkVBRE9OTFkCB2FkZHJlc3MGd2xnQW10BAZtYXhXbGcJAQ9nZXRTd2FwTGltaXRXbGcBBQdhZGRyZXNzBAhjdXJTdGF0cwkBDGdldFdsZ1N0YXRzMgQCAAkAzAgCBQ1yZXN0MkNvbnRyYWN0CQDMCAIFDmFjcmVzMkNvbnRyYWN0CQDMCAIFC3dsZ0NvbnRyYWN0CQDMCAIFEnB1enpsZVBvb2xDb250cmFjdAkAzAgCBRJpbnZlc3RGdW5kQ29udHJhY3QFA25pbAULdXNkdEFzc2V0SWQAAAQMY3VyV2xnQW1vdW50CQCRAwIFCGN1clN0YXRzBQtpeFdsZ0Ftb3VudAQJc2VsbFByaWNlCQBpAgkAkQMCBQhjdXJTdGF0cwUKaXhXbGdQcmljZQACBAd1c2R0QW10CQBrAwUGd2xnQW10BQlzZWxsUHJpY2UFBU1VTFQ4BAZtaW5XbGcJAGsDBQ5NSU5TSE9QUEFZTUVOVAUFTVVMVDgFCXNlbGxQcmljZQQMcHJvZml0QW1vdW50CQBpAgUHdXNkdEFtdAAFCQCUCgIFA25pbAkAzAgCBQd1c2R0QW10CQDMCAIFBm1pbldsZwkAzAgCBQZtYXhXbGcJAMwIAgUMcHJvZml0QW1vdW50BQNuaWwBaQEFY2xhaW0ABAxwcm9sb2dSZXN1bHQJAQdwcm9sb2cyAAMJAAACBQxwcm9sb2dSZXN1bHQFDHByb2xvZ1Jlc3VsdAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAAkAAgECFE5vIHBheW1lbnRzIHJlcXVpcmVkBA0kdDAxMTMyNDExMzkzCQEOY2xhaW1JbnRlcm5hbDIBCQClCAEIBQFpBmNhbGxlcgQHYWN0aW9ucwgFDSR0MDExMzI0MTEzOTMCXzEEEHdsZ0NsYWltZWRBbW91bnQIBQ0kdDAxMTMyNDExMzkzAl8yCQCUCgIJAM0IAgUHYWN0aW9ucwkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBRB3bGdDbGFpbWVkQW1vdW50BQp3bGdBc3NldElkBQxwcm9sb2dSZXN1bHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQESb25TdGFrZVVuc3Rha2VMYW5kAQRhZGRyAwMDCQECIT0CCAUBaQZjYWxsZXIFD3N0YWtpbmdDb250cmFjdAkBAiE9AggFAWkGY2FsbGVyBQ1hY3Jlc0NvbnRyYWN0BwkBAiE9AggFAWkGY2FsbGVyBQ5hY3JlczJDb250cmFjdAcJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAQNJHQwMTE3MTIxMTc2NgkBDmNsYWltSW50ZXJuYWwyAQUEYWRkcgQHYWN0aW9ucwgFDSR0MDExNzEyMTE3NjYCXzEEEHdsZ0NsYWltZWRBbW91bnQIBQ0kdDAxMTcxMjExNzY2Al8yCQCUCgIDCQBmAgUQd2xnQ2xhaW1lZEFtb3VudAAACQDNCAIFB2FjdGlvbnMJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFBGFkZHIFEHdsZ0NsYWltZWRBbW91bnQFCndsZ0Fzc2V0SWQFB2FjdGlvbnMFEHdsZ0NsYWltZWRBbW91bnQBaQEKYnVybldsZ29sZAEGd2xnQW10AwkBAiE9AggFAWkGY2FsbGVyBQ5hY3JlczJDb250cmFjdAkAAgECEVBlcm1pc3Npb24gZGVuaWVkBAhjdXJTdGF0cwkBDGdldFdsZ1N0YXRzMgQCAAkAzAgCBQ1yZXN0MkNvbnRyYWN0CQDMCAIFDmFjcmVzMkNvbnRyYWN0CQDMCAIFC3dsZ0NvbnRyYWN0CQDMCAIFEnB1enpsZVBvb2xDb250cmFjdAkAzAgCBRJpbnZlc3RGdW5kQ29udHJhY3QFA25pbAULdXNkdEFzc2V0SWQAAAMJAGYCBQZ3bGdBbXQJAJEDAgUIY3VyU3RhdHMFCGl4V2xnV2xnCQACAQkArAICCQCsAgIJAKwCAgIFT25seSAJAQpmaXhlZFBvaW50AgkAkQMCBQhjdXJTdGF0cwUIaXhXbGdXbGcACAIlIFdMR09MRCBsZWZ0IG9uIGNvbnRyYWN0LCBjYW4ndCBidXJuIAkBCmZpeGVkUG9pbnQCBQZ3bGdBbXQACAQNd2xnQW1vdW50TGVmdAkAZQIJAJEDAgUIY3VyU3RhdHMFC2l4V2xnQW1vdW50BQZ3bGdBbXQJAJQKAgkAzAgCCQEEQnVybgIFCndsZ0Fzc2V0SWQFBndsZ0FtdAkAzAgCCQEMSW50ZWdlckVudHJ5AgUSd2xnSXNzdWVkQW1vdW50S2V5BQ13bGdBbW91bnRMZWZ0BQNuaWwFDXdsZ0Ftb3VudExlZnQBaQEMYmV0Rm9yVGlja2V0AQNiZXQEDHByb2xvZ1Jlc3VsdAkBB3Byb2xvZzIAAwkAAAIFDHByb2xvZ1Jlc3VsdAUMcHJvbG9nUmVzdWx0AwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwAACQACAQIUTm8gcGF5bWVudHMgcmVxdWlyZWQDCQECIT0CCQBpAgUDYmV0AAQAAAkAAgECG0ludmFsaWQgYmV0OiBzaG91bGQgYmUgMC4uMwQGbW9tZW50CQBqAgUGaGVpZ2h0BQpEQVlfQkxPQ0tTAwkAZgIFBm1vbWVudAkAZQIFCkRBWV9CTE9DS1MAAwkAAgEJAKwCAgkArAICAjFDYW5ub3QgYmV0OiB0aGUgZGF5IGlzIGFsbW9zdCBlbmRlZCwgcGxlYXNlIHdhaXQgCQCkAwEJAGUCBQpEQVlfQkxPQ0tTBQZtb21lbnQCByBibG9ja3MEBGFkZHIJAKUIAQgFAWkGY2FsbGVyBAtzdGFrZWRBY3JlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ5hY3JlczJDb250cmFjdAkBF2tleUFjcmVzU3Rha2VkQW10QnlVc2VyAQUEYWRkcgAABANsdmwJAQ9nZXRMZXZlbEJ5QWNyZXMBBQtzdGFrZWRBY3JlcwMJAAACBQNsdmwAAAkAAgECI1lvdSBuZWVkIHRvIHN0YWtlIHNvbWUgQUNSRVMgdG8gYmV0BAh0b21vcnJvdwkAZAIJAGkCBQZoZWlnaHQFCkRBWV9CTE9DS1MAAQQGYmV0S2V5CQEKa2V5VXNlckJldAEFBGFkZHIECnVzZXJCZXRTdHIJAKIIAQUGYmV0S2V5BAtuZXdCZXRFbnRyeQkBC1N0cmluZ0VudHJ5AgUGYmV0S2V5CQCsAgIJAKwCAgkApAMBBQh0b21vcnJvdwIBXwkApAMBBQNiZXQDCQEJaXNEZWZpbmVkAQUKdXNlckJldFN0cgQHdXNlckJldAkBBXZhbHVlAQUKdXNlckJldFN0cgMJAAACCQCRAwIJALUJAgUHdXNlckJldAIBXwAACQCkAwEFCHRvbW9ycm93CQACAQIcWW91IGFscmVhZHkgYmV0IGZvciB0b21vcnJvdwQBcgkBFGNsYWltVGlja2V0c0ludGVybmFsAgUEYWRkcgUHdXNlckJldAkAlAoCCQDMCAIJAJEDAggFAXICXzEAAAkAzAgCCQCRAwIIBQFyAl8xAAEJAMwIAgULbmV3QmV0RW50cnkFA25pbAgFAXICXzIJAJQKAgkAzAgCBQtuZXdCZXRFbnRyeQUDbmlsAAAJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEMY2xhaW1UaWNrZXRzAAQMcHJvbG9nUmVzdWx0CQEHcHJvbG9nMgADCQAAAgUMcHJvbG9nUmVzdWx0BQxwcm9sb2dSZXN1bHQDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAhRObyBwYXltZW50cyByZXF1aXJlZAQEYWRkcgkApQgBCAUBaQZjYWxsZXIECnVzZXJCZXRTdHIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAoggBCQEKa2V5VXNlckJldAEFBGFkZHICHFlvdSBoYXZlIG5vIHRpY2tldHMgdG8gY2xhaW0JARRjbGFpbVRpY2tldHNJbnRlcm5hbAIFBGFkZHIFCnVzZXJCZXRTdHIJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEJdGFrZVdsZ1hwAQRhZGRyAwkBAiE9AggFAWkGY2FsbGVyBQ9zdGFraW5nQ29udHJhY3QJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAQNJHQwMTk4NDQxOTg4NwkBDnRha2VYcEludGVybmFsAgUEYWRkcgAABAdhY3Rpb25zCAUNJHQwMTk4NDQxOTg4NwJfMQQCeHAIBQ0kdDAxOTg0NDE5ODg3Al8yCQCUCgIFB2FjdGlvbnMFAnhwAWkBEmNoZWNrV2xnWHBSRUFET05MWQEEYWRkcgQNJHQwMTk5NjQyMDAxMgkBDnRha2VYcEludGVybmFsAgUEYWRkcgAABAdpZ25vcmVkCAUNJHQwMTk5NjQyMDAxMgJfMQQHZGVsdGFYUAgFDSR0MDE5OTY0MjAwMTICXzIEBW5ld1hQCQBkAgkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQlrZXlVc2VyWFABBQRhZGRyAAAFB2RlbHRhWFAECWx2bFBvaW50cwkBB2xldmVsVXACCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBDGtleVVzZXJMZXZlbAEFBGFkZHIAAAUFbmV3WFAJAJQKAgUDbmlsCQDNCAIFCWx2bFBvaW50cwUFbmV3WFAANoU2EQ==", "height": 3371412, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Dheq9Gk5fXDhVgC4STbA5oqVKC1Wxaurk1Vz4yK8Et7Y Next: DDcidiwvRopooNb6KPA5bzJxz5JBZPoB2Wu5Z2aRrujh Diff:
OldNewDifferences
478478 let dE = if ((bE(parseIntValue(dB[0])) == parseIntValue(dB[1])))
479479 then 1
480480 else 0
481- $Tuple2([IntegerEntry(dz, (dD + dE)), IntegerEntry(dy, (dC + dE)), DeleteEntry(dA)], dE)
481+ $Tuple2(((if ((dE == 0))
482+ then nil
483+ else [IntegerEntry(dz, (dD + dE)), IntegerEntry(dy, (dC + dE))]) :+ DeleteEntry(dA)), dE)
482484 }
483485
484486
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 86400000
55
66 let b = take(drop(this.bytes, 1), 1)
77
88 let c = {
99 let d = b
1010 if ((base58'2W' == d))
1111 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
1212 else if ((base58'2T' == d))
1313 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
1414 else throw("Unknown chain")
1515 }
1616
1717 let e = {
1818 let d = b
1919 if ((base58'2W' == d))
2020 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
2121 else if ((base58'2T' == d))
2222 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
2323 else throw("Unknown chain")
2424 }
2525
2626 let f = {
2727 let d = b
2828 if ((base58'2W' == d))
2929 then "3P4UH3T9nXpMNpUmSmQjPmEz3G85t3zn6eA"
3030 else if ((base58'2T' == d))
3131 then "3NBPx1Fciu3JQNEGZ21jSnTdutLNGGBUSXh"
3232 else throw("Unknown chain")
3333 }
3434
3535 let g = {
3636 let d = b
3737 if ((base58'2W' == d))
3838 then a
3939 else if ((base58'2T' == d))
4040 then 60000
4141 else throw("Unknown chain")
4242 }
4343
4444 let h = "__"
4545
4646 let i = 1000000
4747
4848 let j = 100000000
4949
5050 let k = 100000
5151
5252 func l (m,n) = valueOrErrorMessage(getString(m, n), makeString(["mandatory ", toString(m), ".", n, " is not defined"], ""))
5353
5454
5555 let o = 1
5656
5757 let p = 4
5858
5959 let q = 5
6060
6161 let r = 6
6262
6363 let s = 8
6464
6565 func t () = "%s__restConfig"
6666
6767
6868 func u () = "%s__restAddr"
6969
7070
7171 func v () = "%s__rest2Addr"
7272
7373
7474 func w (x) = split_4C(l(x, t()), h)
7575
7676
7777 func y (z,A) = valueOrErrorMessage(addressFromString(z[A]), ("Rest cfg doesn't contain address at index " + toString(A)))
7878
7979
8080 let B = addressFromStringValue(valueOrElse(getString(this, u()), e))
8181
8282 let z = w(B)
8383
8484 let C = y(z, o)
8585
8686 let D = y(z, p)
8787
8888 let E = y(z, q)
8989
9090 let F = y(z, r)
9191
9292 let G = y(z, s)
9393
9494 let H = "wlg_assetId"
9595
9696 let I = valueOrErrorMessage(getBinary(D, H), "WLGOLD is not issued yet")
9797
9898 func J (K) = {
9999 let d = K
100100 if ($isInstanceOf(d, "Int"))
101101 then {
102102 let L = d
103103 L
104104 }
105105 else throw("fail to cast into Int")
106106 }
107107
108108
109109 func M (N,O) = {
110110 let P = pow(10, 0, O, 0, 0, DOWN)
111111 let Q = toString((N % P))
112112 let R = drop(toString(P), (1 + size(Q)))
113113 (((toString((N / P)) + ".") + R) + Q)
114114 }
115115
116116
117117 let S = 100000000
118118
119119 let T = 3200
120120
121121 let U = 4000
122122
123123 let V = 3
124124
125125 let W = 100000000000
126126
127127 func X (Y) = ("userXP_" + Y)
128128
129129
130130 func Z (Y) = ("userLevel_" + Y)
131131
132132
133133 let aa = 10000
134134
135135 func ab (ac) = fraction(T, pow(ac, 4, U, 4, 4, DOWN), S)
136136
137137
138138 func ad (ae,af) = {
139139 let ag = ab(af)
140140 [ag, (V * (ag - ae))]
141141 }
142142
143143
144144 let ah = 100000000000000
145145
146146 let ai = 400000
147147
148148 let aj = 86400000
149149
150150 let ak = "teamAddr"
151151
152152 let al = "lastClaimedTime_team"
153153
154154 let am = "teamAmountLeft"
155155
156156 let an = "lastClaimedTime_activities"
157157
158158 let ao = "activitiesAmountLeft"
159159
160160 let ap = "stakersAmountLeft"
161161
162162 func aq (Y) = ("lastArbTimeUser_" + Y)
163163
164164
165165 let ar = "wlg_issueTime"
166166
167167 let as = "wlg_issuedAmount"
168168
169169 func at (Y) = ("acresStakedAmountByUser_" + Y)
170170
171171
172172 func au (Y) = ("wlgStakedAmountByUser_" + Y)
173173
174174
175175 let av = "wlgStakedAmountTotal"
176176
177177 func aw (Y) = ("wlgStakedTimeByUser_" + Y)
178178
179179
180180 let ax = 1000000
181181
182182 let ay = 100000000
183183
184184 let az = 200000
185185
186186 let aA = 100000
187187
188188 let aB = 400000
189189
190190 let aC = 31557600000
191191
192192 let aD = 86400000
193193
194194 let aE = 1440
195195
196196 let aF = 1000000000
197197
198198 let aG = 800000
199199
200200 let aH = 100000
201201
202202 let aI = 100000
203203
204204 let aJ = 1731279600000
205205
206206 let aK = "marketingAddr"
207207
208208 let aL = "teamAddr"
209209
210210 let aM = "lastClaimedTime_team"
211211
212212 let aN = "teamAmountLeft"
213213
214214 let aO = "lastClaimedTime_activities"
215215
216216 let aP = "activitiesAmountLeft"
217217
218218 let aQ = "stakersAmountLeft"
219219
220220 func aR (Y) = ("lastClaimedTimeUser_" + Y)
221221
222222
223223 func aS (aT,aU) = fraction(aT, (aB * (aU + 1)), (6 * ax))
224224
225225
226226 let aV = "wlg_issue10Time"
227227
228228 let aW = "wlg_issueTime"
229229
230230 let aX = "wlg_issuedAmount"
231231
232232 let aY = "zbill_issuedAmount"
233233
234234 func aZ (Y) = ("acresStakedAmountByUser_" + Y)
235235
236236
237237 let ba = "totalFarmingPower"
238238
239239 let bb = 0
240240
241241 let bc = 1
242242
243243 let bd = 2
244244
245245 let be = 3
246246
247247 let bf = 4
248248
249249 let bg = [0, 10, 20, 40, 80, 150, 250, 400, 700, 1000]
250250
251251 func bh (bi) = {
252252 let bj = ((bi + 99999999) / ay)
253253 func bk (bl,bm) = if ((bm >= bj))
254254 then bl
255255 else (bl + 1)
256256
257257 let bn = bg
258258 let bo = size(bn)
259259 let bp = 0
260260 func bq (br,bs) = if ((bs >= bo))
261261 then br
262262 else bk(br, bn[bs])
263263
264264 func bt (br,bs) = if ((bs >= bo))
265265 then br
266266 else throw("List size exceeds 10")
267267
268268 bt(bq(bq(bq(bq(bq(bq(bq(bq(bq(bq(bp, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
269269 }
270270
271271
272272 func bu (bi) = ((bi * 20) * (bh(bi) + 4))
273273
274274
275275 func bv (bw,bx) = {
276276 let by = valueOrElse(getInteger(bx, ba), 0)
277277 let bz = valueOrElse(getInteger(bx, aZ(bw)), 0)
278278 let bA = bu(bz)
279279 [by, bA]
280280 }
281281
282282
283283 func bB (Y) = ("userBet_" + Y)
284284
285285
286286 func bC (Y) = ("userTickets_" + Y)
287287
288288
289289 let bD = "totalTickets"
290290
291291 func bE (bF) = (toInt(value(value(blockInfoByHeight((bF * aE))).vrf)) % 4)
292292
293293
294294 let bG = 0
295295
296296 let bH = 1
297297
298298 let bI = 0
299299
300300 let bJ = 1
301301
302302 let bK = 2
303303
304304 let bL = 8
305305
306306 let bM = 11
307307
308308 let bN = 12
309309
310310 let bO = 15
311311
312312 let bP = 16
313313
314314 let bQ = 19
315315
316316 let bR = 23
317317
318318 let bS = 24
319319
320320 let bT = 25
321321
322322 let bU = 26
323323
324324 let bV = 27
325325
326326 let bW = 28
327327
328328 let bX = 29
329329
330330 func bY (bZ,ca,cb,cc) = {
331331 let aT = valueOrErrorMessage(getInteger(ca[bd], aX), "WLGOLD is not issued yet")
332332 let cd = assetBalance(ca[bb], cb)
333333 let ce = (assetBalance(ca[bd], cb) - cc)
334334 let cf = assetBalance(ca[be], cb)
335335 let cg = assetBalance(ca[bc], cb)
336336 let ch = ca[bf]
337337 let ci = (assetBalance(ch, cb) + valueOrElse(getInteger(ch, aY), 0))
338338 let cj = ((cg + ce) + ci)
339339 let ck = valueOrErrorMessage(getBinary(ca[bd], "wlg_assetId"), "Not initialized yet")
340340 let cl = lastBlock.timestamp
341341 let cm = valueOrErrorMessage(getInteger(ca[bd], aW), "Not initialized")
342342 let cn = assetBalance(ca[bd], ck)
343343 let co = fraction(aT, az, ax)
344344 let cp = valueOrElse(getInteger(ca[bd], aN), co)
345345 let cq = valueOrElse(getInteger(ca[bd], aM), cm)
346346 let cr = addressFromStringValue(value(getString(ca[bd], aL)))
347347 let cs = min([fraction(co, (cl - cq), (3 * aC)), cp])
348348 let ct = assetBalance(cr, ck)
349349 let cu = fraction(aT, aA, ax)
350350 let cv = valueOrElse(getInteger(ca[bd], aP), cu)
351351 let cw = valueOrElse(getInteger(ca[bd], aO), cm)
352352 let cx = min([fraction(cu, (cl - cw), (3 * aC)), cv])
353353 let cy = assetBalance(ca[bb], ck)
354354 let cz = valueOrElse(getInteger(ca[bd], aR(bZ)), cm)
355355 let cA = ((cz - cm) / aC)
356356 let cB = min([cl, (cm + (3 * aC))])
357357 let cC = min([((cl - cm) / aC), 2])
358358 let cD = bv(bZ, ca[bc])
359359 let cE = aS(aT, cC)
360360 let cF = (cm + (aC * cC))
361361 let cG = (cm + (aC * (cC - 1)))
362362 let cH = fraction(cE, (cB - cz), aC)
363363 let cI = if ((cA == cC))
364364 then cH
365365 else if ((cA == (cC - 1)))
366366 then {
367367 let cJ = fraction(aS(aT, (cC - 1)), (cF - cz), aC)
368368 (cJ + cH)
369369 }
370370 else {
371371 let cK = fraction(aS(aT, (cC - 2)), (cG - cz), aC)
372372 let cJ = aS(aT, (cC - 1))
373373 ((cK + cJ) + cH)
374374 }
375375 let cL = valueOrElse(getInteger(ca[bd], aQ), 0)
376376 let cM = if ((cD[bG] != 0))
377377 then fraction(cI, cD[bH], cD[bG])
378378 else 0
379379 let cN = valueOrElse(getInteger(ca[bd], aV), aJ)
380380 let cO = fraction(aF, max([(cl - cN), 0]), aD)
381381 let cP = fraction(cO, aH, ax)
382382 let cQ = fraction(cO, aI, ax)
383383 let cR = max([(cl - max([aJ, cz])), 0])
384384 let cS = if ((cD[bG] != 0))
385385 then fraction(fraction(fraction(aF, cR, aD), cD[bH], cD[bG]), aG, ax)
386386 else 0
387387 let cT = max([aJ, cl])
388388 [aT, cn, fraction(cj, ay, aT), cj, cd, cg, ce, cf, cm, cq, co, cp, cs, ct, cu, cv, cx, cy, cC, cL, cE, cz, ci, cM, cB, cO, cP, cQ, cS, cT, cD[bG]]
389389 }
390390
391391
392392 let cU = take(drop(this.bytes, 1), 1)
393393
394394 let cV = {
395395 let d = cU
396396 if ((base58'2W' == d))
397397 then "3PFwYta8biEz31zpeFe5DJK8wE5trSpQVF8"
398398 else if ((base58'2T' == d))
399399 then "3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv"
400400 else throw("Unknown chain")
401401 }
402402
403403 let cW = "profitAddr"
404404
405405 let cX = "stakersAmountPaidTotal"
406406
407407 func cY (Y) = ("stakersAmountPaidUser_" + Y)
408408
409409
410410 let cZ = addressFromStringValue(valueOrElse(getString(this, v()), cV))
411411
412412 let bx = addressFromStringValue(f)
413413
414414 func da () = J(reentrantInvoke(bx, "saveLastTx", nil, nil))
415415
416416
417417 func db (Y) = {
418418 let dc = valueOrElse(getInteger(aq(Y)), 0)
419419 let cl = lastBlock.timestamp
420420 if ((g > (cl - dc)))
421421 then throw((("Arbitrages are possible once a " + toString((g / 60000))) + "min"))
422422 else valueOrElse(getInteger(bx, at(Y)), 0)
423423 }
424424
425425
426426 func dd (Y) = {
427427 let de = bY(Y, [cZ, bx, D, E, F], c, 0)
428428 let df = aR(Y)
429429 let cz = valueOrElse(getInteger(df), 0)
430430 let dg = de[bS]
431431 if ((cz == dg))
432432 then $Tuple2(nil, 0)
433433 else {
434434 let cl = lastBlock.timestamp
435435 let cm = de[bL]
436436 let cp = de[bM]
437437 let dh = (de[bN] + de[bV])
438438 let di = if ((dh > 0))
439439 then [ScriptTransfer(addressFromStringValue(value(getString(ak))), dh, I)]
440440 else nil
441441 let cv = de[bO]
442442 let dj = de[bP]
443443 let dk = if ((dj > 0))
444444 then [ScriptTransfer(B, dj, I)]
445445 else nil
446446 let dl = de[bU]
447447 let dm = if ((dl > 0))
448448 then [ScriptTransfer(addressFromStringValue(value(getString(aK))), dl, I)]
449449 else nil
450450 let cM = de[bR]
451451 let dn = cY(Y)
452452 let do = (cM + de[bW])
453453 let dp = de[bT]
454454 $Tuple2(((([Reissue(I, dp, true), IntegerEntry(as, (de[bI] + dp)), IntegerEntry(aV, de[bX]), IntegerEntry(dn, (valueOrElse(getInteger(dn), 0) + cM)), IntegerEntry(cX, (valueOrElse(getInteger(cX), 0) + cM)), IntegerEntry(ap, (de[bQ] - cM)), IntegerEntry(am, ((cp - dh) + de[bV])), IntegerEntry(al, cl), IntegerEntry(ao, (cv - dj)), IntegerEntry(an, cl), IntegerEntry(df, dg)] ++ di) ++ dk) ++ dm), do)
455455 }
456456 }
457457
458458
459459 func dq (Y,dr) = {
460460 let cl = lastBlock.timestamp
461461 let ds = aw(Y)
462462 let dt = au(Y)
463463 let dc = valueOrElse(getInteger(ds), 0)
464464 let du = valueOrElse(getInteger(dt), 0)
465465 let dv = valueOrElse(getInteger(av), 0)
466466 let ac = fraction(fraction(aa, du, W), (dc - cl), aj)
467467 $Tuple3([IntegerEntry(ds, cl), IntegerEntry(dt, (du + dr)), IntegerEntry(av, (dv + dr))], ac, du)
468468 }
469469
470470
471471 func dw (Y,dx) = {
472472 let dy = bD
473473 let dz = bC(Y)
474474 let dA = bB(Y)
475475 let dB = split(dx, "_")
476476 let dC = valueOrElse(getInteger(dy), 0)
477477 let dD = valueOrElse(getInteger(dz), 0)
478478 let dE = if ((bE(parseIntValue(dB[0])) == parseIntValue(dB[1])))
479479 then 1
480480 else 0
481- $Tuple2([IntegerEntry(dz, (dD + dE)), IntegerEntry(dy, (dC + dE)), DeleteEntry(dA)], dE)
481+ $Tuple2(((if ((dE == 0))
482+ then nil
483+ else [IntegerEntry(dz, (dD + dE)), IntegerEntry(dy, (dC + dE))]) :+ DeleteEntry(dA)), dE)
482484 }
483485
484486
485487 @Callable(dF)
486488 func constructorV1 (dG,dH,cr,dI) = if ((dF.caller != this))
487489 then throw("Permission denied")
488490 else if (isDefined(getBinary(H)))
489491 then throw("Already initialized")
490492 else {
491493 let aT = ah
492494 let dJ = Issue("WLGOLD", "WavesLands Gold investment token", aT, 8, true, unit, 0)
493495 let dK = calculateAssetId(dJ)
494496 [dJ, IntegerEntry(ar, lastBlock.timestamp), IntegerEntry(as, aT), IntegerEntry(cX, 0), IntegerEntry(ap, fraction(ah, ai, i)), BinaryEntry(H, dK), StringEntry(u(), dG), StringEntry(aK, dH), StringEntry(ak, cr), StringEntry(cW, dI)]
495497 }
496498
497499
498500
499501 @Callable(dF)
500502 func constructorV2 (dL) = if ((dF.caller != this))
501503 then throw("Permission denied")
502504 else [StringEntry(v(), dL)]
503505
504506
505507
506508 @Callable(dF)
507509 func buyWlg (dM) = {
508510 let dN = da()
509511 if ((dN == dN))
510512 then if ((size(dF.payments) != 1))
511513 then throw("exactly 1 payment must be attached")
512514 else {
513515 let dO = dF.payments[0]
514516 let dP = dO.amount
515517 if (if (!(isDefined(dO.assetId)))
516518 then true
517519 else (value(dO.assetId) != c))
518520 then throw("USDT payments only!")
519521 else {
520522 let dQ = dF.caller
521523 let Y = toString(dQ)
522524 if ((k > dP))
523525 then throw((("You can trade min " + M(k, 6)) + " USDT"))
524526 else {
525527 let de = bY("", [cZ, bx, D, E, F], c, dP)
526528 let dR = de[bI]
527529 let dS = de[bK]
528530 let dT = fraction(dS, 6, 5)
529531 let dU = fraction(dP, j, dT)
530532 let dV = db(Y)
531533 if ((dU > dV))
532534 then throw((("You can get max " + M(dV, 8)) + " WLGOLD"))
533535 else if ((dM > dU))
534536 then throw("Price changed during operation, please try again")
535537 else {
536538 let dW = (dP / 6)
537539 $Tuple2([Reissue(I, dU, true), IntegerEntry(as, (dR + dU)), IntegerEntry(aq(Y), lastBlock.timestamp), ScriptTransfer(addressFromStringValue(value(getString(cW))), dW, c), ScriptTransfer(dQ, dU, I)], dN)
538540 }
539541 }
540542 }
541543 }
542544 else throw("Strict value is not equal to itself.")
543545 }
544546
545547
546548
547549 @Callable(dF)
548550 func buyWlgREADONLY (m,dP) = {
549551 let de = bY("", [cZ, bx, D, E, F], c, dP)
550552 let dR = de[bI]
551553 let dS = de[bK]
552554 let dT = fraction(dS, 6, 5)
553555 let dU = fraction(dP, j, dT)
554556 let dV = db(m)
555557 let dX = fraction(dV, dT, j)
556558 let dW = (dP / 6)
557559 $Tuple2(nil, [dU, k, dX, dW])
558560 }
559561
560562
561563
562564 @Callable(dF)
563565 func sellWlg (dM) = {
564566 let dN = da()
565567 if ((dN == dN))
566568 then if ((size(dF.payments) != 1))
567569 then throw("exactly 1 payment must be attached")
568570 else {
569571 let dO = dF.payments[0]
570572 let dY = dO.amount
571573 let dQ = dF.caller
572574 let Y = toString(dQ)
573575 let dV = db(Y)
574576 if ((dY > dV))
575577 then throw((("You can spend max " + M(dV, 8)) + " WLGOLD"))
576578 else if (if (!(isDefined(dO.assetId)))
577579 then true
578580 else (value(dO.assetId) != I))
579581 then throw("WLGOLD payments only!")
580582 else {
581583 let de = bY("", [cZ, bx, D, E, F], c, 0)
582584 let dR = de[bI]
583585 let dZ = (de[bK] / 2)
584586 let dP = fraction(dY, dZ, j)
585587 if ((k > dP))
586588 then throw((("You can trade min " + M(k, 6)) + " USDT"))
587589 else if ((dM > dP))
588590 then throw("Price changed during operation, please try again")
589591 else {
590592 let dW = (dP / 5)
591593 $Tuple2([Burn(I, dY), IntegerEntry(as, (dR - dY)), IntegerEntry(aq(Y), lastBlock.timestamp), ScriptTransfer(addressFromStringValue(value(getString(cW))), dW, c), ScriptTransfer(dQ, dP, c)], dN)
592594 }
593595 }
594596 }
595597 else throw("Strict value is not equal to itself.")
596598 }
597599
598600
599601
600602 @Callable(dF)
601603 func sellWlgREADONLY (m,dY) = {
602604 let dV = db(m)
603605 let de = bY("", [cZ, bx, D, E, F], c, 0)
604606 let dR = de[bI]
605607 let dZ = (de[bK] / 2)
606608 let dP = fraction(dY, dZ, j)
607609 let ea = fraction(k, j, dZ)
608610 let dW = (dP / 5)
609611 $Tuple2(nil, [dP, ea, dV, dW])
610612 }
611613
612614
613615
614616 @Callable(dF)
615617 func claim () = {
616618 let dN = da()
617619 if ((dN == dN))
618620 then if ((size(dF.payments) != 0))
619621 then throw("No payments required")
620622 else {
621623 let eb = dd(toString(dF.caller))
622624 let ec = eb._1
623625 let ed = eb._2
624626 $Tuple2((ec :+ ScriptTransfer(dF.caller, ed, I)), dN)
625627 }
626628 else throw("Strict value is not equal to itself.")
627629 }
628630
629631
630632
631633 @Callable(dF)
632634 func onStakeUnstakeLand (Y) = if (if (if ((dF.caller != C))
633635 then (dF.caller != G)
634636 else false)
635637 then (dF.caller != bx)
636638 else false)
637639 then throw("Permission denied")
638640 else {
639641 let ee = dd(Y)
640642 let ec = ee._1
641643 let ed = ee._2
642644 $Tuple2(if ((ed > 0))
643645 then (ec :+ ScriptTransfer(addressFromStringValue(Y), ed, I))
644646 else ec, ed)
645647 }
646648
647649
648650
649651 @Callable(dF)
650652 func burnWlgold (dY) = if ((dF.caller != bx))
651653 then throw("Permission denied")
652654 else {
653655 let de = bY("", [cZ, bx, D, E, F], c, 0)
654656 if ((dY > de[bJ]))
655657 then throw(((("Only " + M(de[bJ], 8)) + " WLGOLD left on contract, can't burn ") + M(dY, 8)))
656658 else {
657659 let ef = (de[bI] - dY)
658660 $Tuple2([Burn(I, dY), IntegerEntry(as, ef)], ef)
659661 }
660662 }
661663
662664
663665
664666 @Callable(dF)
665667 func betForTicket (eg) = {
666668 let dN = da()
667669 if ((dN == dN))
668670 then if ((size(dF.payments) != 0))
669671 then throw("No payments required")
670672 else if (((eg / 4) != 0))
671673 then throw("Invalid bet: should be 0..3")
672674 else {
673675 let eh = (height % aE)
674676 if ((eh > (aE - 3)))
675677 then throw((("Cannot bet: the day is almost ended, please wait " + toString((aE - eh))) + " blocks"))
676678 else {
677679 let Y = toString(dF.caller)
678680 let ei = valueOrElse(getInteger(bx, aZ(Y)), 0)
679681 let ej = bh(ei)
680682 if ((ej == 0))
681683 then throw("You need to stake some ACRES to bet")
682684 else {
683685 let ek = ((height / aE) + 1)
684686 let dA = bB(Y)
685687 let dx = getString(dA)
686688 let el = StringEntry(dA, ((toString(ek) + "_") + toString(eg)))
687689 if (isDefined(dx))
688690 then {
689691 let em = value(dx)
690692 if ((split(em, "_")[0] == toString(ek)))
691693 then throw("You already bet for tomorrow")
692694 else {
693695 let en = dw(Y, em)
694696 $Tuple2([en._1[0], en._1[1], el], en._2)
695697 }
696698 }
697699 else $Tuple2([el], 0)
698700 }
699701 }
700702 }
701703 else throw("Strict value is not equal to itself.")
702704 }
703705
704706
705707
706708 @Callable(dF)
707709 func claimTickets () = {
708710 let dN = da()
709711 if ((dN == dN))
710712 then if ((size(dF.payments) != 0))
711713 then throw("No payments required")
712714 else {
713715 let Y = toString(dF.caller)
714716 let dx = valueOrErrorMessage(getString(bB(Y)), "You have no tickets to claim")
715717 dw(Y, dx)
716718 }
717719 else throw("Strict value is not equal to itself.")
718720 }
719721
720722
721723
722724 @Callable(dF)
723725 func takeWlgXp (Y) = if ((dF.caller != C))
724726 then throw("Permission denied")
725727 else {
726728 let eo = dq(Y, 0)
727729 let ec = eo._1
728730 let ac = eo._2
729731 $Tuple2(ec, ac)
730732 }
731733
732734
733735
734736 @Callable(dF)
735737 func checkWlgXpREADONLY (Y) = {
736738 let ep = dq(Y, 0)
737739 let eq = ep._1
738740 let er = ep._2
739741 let af = (valueOrElse(getInteger(C, X(Y)), 0) + er)
740742 let es = ad(valueOrElse(getInteger(C, Z(Y)), 0), af)
741743 $Tuple2(nil, (es :+ af))
742744 }
743745
744746

github/deemru/w8io/169f3d6 
91.76 ms