tx · 7U2gXgagFegASqNPizi59LYpDD6nuBivpJagzczA9eKZ

3MzJZEn6jzxCPaHEfkrXd7FhbjTyVjdRPLS:  -0.01400000 Waves

2021.04.15 17:00 [1483651] smart account 3MzJZEn6jzxCPaHEfkrXd7FhbjTyVjdRPLS > SELF 0.00000000 Waves

{ "type": 13, "id": "7U2gXgagFegASqNPizi59LYpDD6nuBivpJagzczA9eKZ", "fee": 1400000, "feeAssetId": null, "timestamp": 1618495284115, "version": 2, "chainId": 84, "sender": "3MzJZEn6jzxCPaHEfkrXd7FhbjTyVjdRPLS", "senderPublicKey": "93SZf1TATCRxGyBuGyngpQGKcpKZirb2yXLT2RQJ3UKb", "proofs": [ "42qrPxZXLSvMG9cJzgwM6ge3tw5QZpuBDQigKSYkPVNdVpDaQTMs9zQt6BLKdwiVg8cJFoM5Fx5Tdrm3YeNem2Uv" ], "script": "base64:AAIEAAAAAAAAABwIAhIAEgASAwoBARIAEgASBwoFGBEYEQESABIAAAAAOQAAAAAMYWRtaW5QdWJLZXkxAQAAACAEz3XlZNDBD05nuR8TZMQaDeqEJEIxfTOQXUBYCp2TSgAAAAAMYWRtaW5QdWJLZXkyAQAAACAEz3XlZNDBD05nuR8TZMQaDeqEJEIxfTOQXUBYCp2TSgAAAAAMYWRtaW5QdWJLZXkzAQAAACAEz3XlZNDBD05nuR8TZMQaDeqEJEIxfTOQXUBYCp2TSgAAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3ABAAAAIATPdeVk0MEPTme5HxNkxBoN6oQkQjF9M5BdQFgKnZNKAAAAABFhZG1pblB1YktleVdhbGxldAEAAAAgPndaZVpWyfwpVzO1vA1FLcrMp/iFkg43d1jzYhVSFBIAAAAACWtleUFjdGl2ZQIAAAAGYWN0aXZlAAAAAAhrZXlDYXVzZQIAAAAOc2h1dGRvd25fY2F1c2UAAAAAD2tleUxhc3RJbnRlcmVzdAIAAAANbGFzdF9pbnRlcmVzdAAAAAATa2V5VXNlckxhc3RJbnRlcmVzdAIAAAAOX2xhc3RfaW50ZXJlc3QAAAAAEWtleVVzZXJTV09QTG9ja2VkAgAAAAxfU1dPUF9hbW91bnQAAAAAFGtleVVzZXJHZXRCYWNrSGVpZ2h0AgAAAA5fZ2V0QmFja0hlaWdodAAAAAASa2V5VG90YWxTV09QTG9ja2VkAgAAABF0b3RhbF9TV09QX2Ftb3VudAAAAAASa1VzZXJUb3RhbFZvdGVTV09QAgAAABVfdXNlcl90b3RhbF9TV09QX3ZvdGUAAAAAF2tleVVzZXJWb3RlT3B0aW9uQW1vdW50AgAAABNfU1dPUF9vcHRpb25fYW1vdW50AAAAABhrZXlUb3RhbFZvdGVPcHRpb25BbW91bnQCAAAAGHRvdGFsX1NXT1Bfb3B0aW9uX2Ftb3VudAAAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50AgAAABRfU1dPUF9jbGFpbWVkX2Ftb3VudAAAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAIAAAAZX1NXT1BfbGFzdF9jbGFpbWVkX2Ftb3VudAAAAAALa2V5Vm90ZU5hbWUCAAAACXZvdGVfbmFtZQAAAAANa2V5T3B0aW9uTmFtZQIAAAAMX29wdGlvbl9uYW1lAAAAABRrZXlWb3RpbmdTdGFydEhlaWdodAIAAAAMX3N0YXJ0SGVpZ2h0AAAAAA9rZXlWb3RlRHVyYXRpb24CAAAADl92b3RlX2R1cmF0aW9uAAAAABxrZXlSZXdhcmRQb29sRnJhY3Rpb25DdXJyZW50AgAAAB1fY3VycmVudF9wb29sX2ZyYWN0aW9uX3Jld2FyZAAAAAAda2V5UmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMCAAAAHl9wcmV2aW91c19wb29sX2ZyYWN0aW9uX3Jld2FyZAAAAAAda2V5VG90YWxSZXdhcmRQZXJCbG9ja0N1cnJlbnQCAAAAHnRvdGFsX3Jld2FyZF9wZXJfYmxvY2tfY3VycmVudAAAAAAea2V5VG90YWxSZXdhcmRQZXJCbG9ja1ByZXZpb3VzAgAAAB90b3RhbF9yZXdhcmRfcGVyX2Jsb2NrX3ByZXZpb3VzAAAAABVrZXlSZXdhcmRVcGRhdGVIZWlnaHQCAAAAFHJld2FyZF91cGRhdGVfaGVpZ2h0AAAAAAhpc0FjdGl2ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUGAAAAABJmYXJtaW5nU1dPUEFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQpz7mNXLOmHPsK8R2TE4ZRW0sloZIwaSEAAAAAEnZvdGluZ0xpdGVDb250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVLKfOZJZ7gcVjLpQvASHFQkmIwyv4c9XLwAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAARTV09QCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAEmZhcm1pbmdTV09QQWRkcmVzcwUAAAAJa2V5U1dPUGlkAAAAAApzY2FsZVZhbHVlAAAAAAAF9eEAAAAAAA50b3RhbFZvdGVTaGFyZQAAAAACVAvkAAAAAAAMa1N0YXJ0SGVpZ2h0AgAAAAxzdGFydF9oZWlnaHQAAAAAC2tCYXNlUGVyaW9kAgAAAAtiYXNlX3BlcmlvZAAAAAANa1BlcmlvZExlbmd0aAIAAAANcGVyaW9kX2xlbmd0aAAAAAAPa1VzZXJUb3RhbFN0cnVjAgAAABFfdXNlcl90b3RhbF9zdHJ1YwAAAAAKYmFzZVBlcmlvZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAUAAAALa0Jhc2VQZXJpb2QCAAAAJEVtcHR5IGtCYXNlUGVyaW9kIGF0IHZvdGluZyBjb250cmFjdAAAAAALc3RhcnRIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QFAAAADGtTdGFydEhlaWdodAIAAAAlRW1wdHkga1N0YXJ0SGVpZ2h0IGF0IHZvdGluZyBjb250cmFjdAAAAAAMcGVyaW9kTGVuZ3RoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0BQAAAA1rUGVyaW9kTGVuZ3RoAgAAACZFbXB0eSBrUGVyaW9kTGVuZ3RoIGF0IHZvdGluZyBjb250cmFjdAAAAAAQY3VyclZvdGluZ1BlcmlvZAkAAGQAAAACBQAAAApiYXNlUGVyaW9kCQAAaQAAAAIJAABlAAAAAgUAAAAGaGVpZ2h0BQAAAAtzdGFydEhlaWdodAUAAAAMcGVyaW9kTGVuZ3RoAQAAAAdzdXNwZW5kAAAAAQAAAAVjYXVzZQkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAJa2V5QWN0aXZlBwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAhrZXlDYXVzZQUAAAAFY2F1c2UFAAAAA25pbAEAAAASdGhyb3dOb3RFbm91Z2hTV09QAAAAAAkAAAIAAAABAgAAAEZOb3QgZW5vdWdoIFNXT1A6IHVzZXJTV09QTG9ja2VkIC0gdXNlclRvdGFsVm90ZUFtb3VudCA8IHZvdGVTV09QQW1vdW50AQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAAMbGFzdEludGVyZXN0CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAD2tleUxhc3RJbnRlcmVzdAAAAAAAAAAAAAUAAAAMbGFzdEludGVyZXN0AQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQAAAAAAAAAAAABAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAAAAAAAAAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgAAAAR1c2VyAAAADGxhc3RJbnRlcmVzdAQAAAAOdXNlclNXT1BBbW91bnQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEFAAAABHVzZXIEAAAAEHVzZXJMYXN0SW50ZXJlc3QJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QEAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQQAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAABB1c2VyTGFzdEludGVyZXN0BQAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBQAAAA51c2VyU1dPUEFtb3VudAEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQAAAAAAAAAAAABAAAAE2dldFVzZXJVbnZvdGVBbW91bnQAAAABAAAABHVzZXIEAAAACyR0MDM3ODQ0MzIzAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAD2tVc2VyVG90YWxTdHJ1YwQAAAAEZGF0YQkABLUAAAACCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAPa1VzZXJUb3RhbFN0cnVjAgAAABVFbXB0eSBrVXNlclRvdGFsU3RydWMCAAAAAV8JAAUVAAAAAwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAABGRhdGEAAAAAAAAAAAAJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAARkYXRhAAAAAAAAAAABCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEZGF0YQAAAAAAAAAAAgQAAAAOdVBvb2xUb3RhbFNXT1AJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAASa1VzZXJUb3RhbFZvdGVTV09QAAAAAAAAAAAACQAFFQAAAAMFAAAADnVQb29sVG90YWxTV09QAAAAAAAAAAAABQAAABBjdXJyVm90aW5nUGVyaW9kBAAAABF1c2VyVG90YWxWb3RlU1dPUAgFAAAACyR0MDM3ODQ0MzIzAAAAAl8xBAAAAAt1c2VyVW52b3RlZAgFAAAACyR0MDM3ODQ0MzIzAAAAAl8yBAAAABF1c2VyVW52b3RlZFBlcmlvZAgFAAAACyR0MDM3ODQ0MzIzAAAAAl8zAwkAAAAAAAACBQAAABF1c2VyVW52b3RlZFBlcmlvZAUAAAAQY3VyclZvdGluZ1BlcmlvZAUAAAALdXNlclVudm90ZWQAAAAAAAAAAAABAAAAF2dldFVzZXJWb3RlT3B0aW9uQW1vdW50AAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAAAAAAAAAAAAAEAAAAUZ2V0Vm90aW5nU3RhcnRIZWln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AAAFAAAAEGN1cnJWb3RpbmdQZXJpb2QEAAAAEXVzZXJUb3RhbFZvdGVTV09QCAUAAAALJHQwNTcwOTYyMjAAAAACXzEEAAAAC3VzZXJVbnZvdGVkCAUAAAALJHQwNTcwOTYyMjAAAAACXzIEAAAAEXVzZXJVbnZvdGVkUGVyaW9kCAUAAAALJHQwNTcwOTYyMjAAAAACXzMFAAAAEXVzZXJUb3RhbFZvdGVTV09QAQAAABRnZXRVc2VyR2V0QmFja0Ftb3VudAAAAAQAAAAIdm90ZU5hbWUAAAAGb3B0aW9uAAAABHVzZXIAAAARZ2V0QmFja1NXT1BIZWlnaHQEAAAAA2tleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAIdm90ZU5hbWUCAAAAAV8FAAAABm9wdGlvbgIAAAABXwkABCUAAAABBQAAAAR1c2VyAgAAAAFfCQABpAAAAAEFAAAAEWdldEJhY2tTV09QSGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5CQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAANrZXkBAAAACWNsYWltQ2FsYwAAAAEAAAAGY2FsbGVyBAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAALJHQwNjY1NTY3MzUJAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgUAAAAGY2FsbGVyBQAAAAxsYXN0SW50ZXJlc3QEAAAAEHVzZXJMYXN0SW50ZXJlc3QIBQAAAAskdDA2NjU1NjczNQAAAAJfMQQAAAAOdXNlclNXT1BMb2NrZWQIBQAAAAskdDA2NjU1NjczNQAAAAJfMgQAAAALY2xhaW1BbW91bnQJAABrAAAAAwUAAAAOdXNlclNXT1BMb2NrZWQJAABlAAAAAgUAAAAMbGFzdEludGVyZXN0BQAAABB1c2VyTGFzdEludGVyZXN0BQAAAApzY2FsZVZhbHVlBAAAAA91c2VyTmV3SW50ZXJlc3QFAAAADGxhc3RJbnRlcmVzdAkABRQAAAACBQAAAA91c2VyTmV3SW50ZXJlc3QFAAAAC2NsYWltQW1vdW50AAAACAAAAAFpAQAAAAdhaXJEcm9wAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAALJHQwNzAwMDcwNzUJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA3MDAwNzA3NQAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDcwMDA3MDc1AAAAAl8yAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAEU1dPUAkAAAIAAAABAgAAABRJbmNvcnJlY3QgcG10QXNzZXRJZAQAAAAPdG90YWxTV09QTG9ja2VkCQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAAC2ludGVyZXN0TmV3CQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAAAlwbXRBbW91bnQFAAAACnNjYWxlVmFsdWUFAAAAD3RvdGFsU1dPUExvY2tlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPa2V5TGFzdEludGVyZXN0BQAAAAtpbnRlcmVzdE5ldwUAAAADbmlsAAAAAWkBAAAACGxvY2tTV09QAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAALJHQwNzUxMzc1ODgJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA3NTEzNzU4OAAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDc1MTM3NTg4AAAAAl8yAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAEU1dPUAkAAAIAAAABAgAAABRJbmNvcnJlY3QgcG10QXNzZXRJZAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAACyR0MDc3MDQ3Nzg2CQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAALJHQwNzcwNDc3ODYAAAACXzEEAAAADnVzZXJTV09QTG9ja2VkCAUAAAALJHQwNzcwNDc3ODYAAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAADnVzZXJTV09QTG9ja2VkCQAAZQAAAAIFAAAADGxhc3RJbnRlcmVzdAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAKc2NhbGVWYWx1ZQQAAAARdXNlclNXT1BMb2NrZWROZXcJAABkAAAAAgkAAGQAAAACBQAAAA51c2VyU1dPUExvY2tlZAUAAAAJcG10QW1vdW50BQAAAAtjbGFpbUFtb3VudAQAAAAPdXNlck5ld0ludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGQAAAACCQAAZAAAAAIFAAAAD3RvdGFsU1dPUExvY2tlZAUAAAAJcG10QW1vdW50BQAAAAtjbGFpbUFtb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyU1dPUExvY2tlZAUAAAARdXNlclNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAUAAAADbmlsAAAAAWkBAAAADHdpdGhkcmF3U1dPUAAAAAEAAAAOd2l0aGRyYXdBbW91bnQDCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADnVzZXJTV09QTG9ja2VkCQEAAAARZ2V0VXNlclNXT1BMb2NrZWQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAACyR0MDg4NzA4OTI1CQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAAskdDA4ODcwODkyNQAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAAskdDA4ODcwODkyNQAAAAJfMgQAAAAOdXNlclZvdGVBbW91bnQJAQAAABZnZXRVc2VyVG90YWxWb3RlQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABB1c2VyVW52b3RlQW1vdW50CQEAAAATZ2V0VXNlclVudm90ZUFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgMDCQAAZgAAAAIAAAAAAAAAAAAFAAAAEHVzZXJVbnZvdGVBbW91bnQGCQAAZgAAAAIAAAAAAAAAAAAFAAAADnVzZXJWb3RlQW1vdW50CQAAAgAAAAECAAAAKnVzZXJVbnZvdGVBbW91bnQgPCAwIHx8IHVzZXJWb3RlQW1vdW50IDwgMAQAAAASYXZhaWxhYmxlVG9VbnN0YWtlCQAAZQAAAAIJAABlAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAADnVzZXJWb3RlQW1vdW50BQAAABB1c2VyVW52b3RlQW1vdW50AwkAAGYAAAACBQAAAA53aXRoZHJhd0Ftb3VudAUAAAASYXZhaWxhYmxlVG9VbnN0YWtlCQAAAgAAAAECAAAAI3dpdGhkcmF3QW1vdW50ID4gYXZhaWxhYmxlVG9VbnN0YWtlBAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABlAAAAAgkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BQAAAA53aXRoZHJhd0Ftb3VudAQAAAARdXNlclNXT1BhbW91bnROZXcJAABlAAAAAgkAAGQAAAACBQAAAA51c2VyU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQFAAAADndpdGhkcmF3QW1vdW50BAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtleVVzZXJTV09QTG9ja2VkBQAAABF1c2VyU1dPUGFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5VG90YWxTV09QTG9ja2VkBQAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAA53aXRoZHJhd0Ftb3VudAUAAAAEU1dPUAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAFpAQAAABRjbGFpbUFuZFdpdGhkcmF3U1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAA0kdDAxMDI0MTEwMjk2CQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAxMDI0MTEwMjk2AAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDEwMjQxMTAyOTYAAAACXzIEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQDCQAAAAAAAAIFAAAAC2NsYWltQW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAGVlvdSBoYXZlIDAgYXZhaWxhYmxlIFNXT1AJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAtjbGFpbUFtb3VudAUAAAAEU1dPUAUAAAADbmlsAAAAAWkBAAAAEWNsYWltQW5kU3Rha2VTV09QAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAAPdG90YWxTV09QTG9ja2VkCQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAAOdXNlclNXT1BMb2NrZWQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAADSR0MDExMDc1MTExMzAJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDExMDc1MTExMzAAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTEwNzUxMTEzMAAAAAJfMgQAAAARdXNlclNXT1BMb2NrZWROZXcJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABkAAAAAgUAAAAPdG90YWxTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAMJAAAAAAAAAgUAAAALY2xhaW1BbW91bnQAAAAAAAAAAAAJAAACAAAAAQIAAAAZWW91IGhhdmUgMCBhdmFpbGFibGUgU1dPUAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAUAAAADbmlsAAAAAWkBAAAADXVwZGF0ZVdlaWdodHMAAAAFAAAADXByZXZpb3VzUG9vbHMAAAAPcHJldmlvdXNSZXdhcmRzAAAADGN1cnJlbnRQb29scwAAAA5jdXJyZW50UmV3YXJkcwAAABJyZXdhcmRVcGRhdGVIZWlnaHQDCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzCQAETAAAAAIFAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wBQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24KAQAAAANzdW0AAAACAAAAAWEAAAABYgkAAGQAAAACBQAAAAFhBQAAAAFiCgEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAJcG9vbEluZGV4CQEAAAAFdmFsdWUAAAABCQAETwAAAAIFAAAADXByZXZpb3VzUG9vbHMFAAAABHBvb2wEAAAACnBvb2xSZXdhcmQJAAGRAAAAAgUAAAAPcHJldmlvdXNSZXdhcmRzBQAAAAlwb29sSW5kZXgJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAda2V5UmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMFAAAACnBvb2xSZXdhcmQFAAAAC2FjY3VtdWxhdGVkCgEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgAAAAthY2N1bXVsYXRlZAAAAARwb29sBAAAAAlwb29sSW5kZXgJAQAAAAV2YWx1ZQAAAAEJAARPAAAAAgUAAAAMY3VycmVudFBvb2xzBQAAAARwb29sBAAAAApwb29sUmV3YXJkCQABkQAAAAIFAAAADmN1cnJlbnRSZXdhcmRzBQAAAAlwb29sSW5kZXgJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAUAAAAKcG9vbFJld2FyZAUAAAAL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AA8kc2l6ZTEyODk3MTI5MzAAAAAAAAAAABEFAAAAECRhY2MxNzEyODk3MTI5MzAEAAAAECRhY2MxODEyODk3MTI5MzAJAQAAAANzdW0AAAACBQAAABAkYWNjMTcxMjg5NzEyOTMwCQABkQAAAAIFAAAADyRsaXN0MTI4OTcxMjkzMAAAAAAAAAAAEQMJAAAAAAAAAgUAAAAPJHNpemUxMjg5NzEyOTMwAAAAAAAAAAASBQAAABAkYWNjMTgxMjg5NzEyOTMwBAAAABAkYWNjMTkxMjg5NzEyOTMwCQEAAAADc3VtAAAAAgUAAAAQJGFjYzE4MTI4OTcxMjkzMAkAAZEAAAACBQAAAA8kbGlzdDEyODk3MTI5MzAAAAAAAAAAABIDCQAAAAAAAAIFAAAADyRzaXplMTI4OTcxMjkzMAAAAAAAAAAAEwUAAAAQJGFjYzE5MTI4OTcxMjkzMAQAAAAQJGFjYzIwMTI4OTcxMjkzMAkBAAAAA3N1bQAAAAIFAAAAECRhY2MxOTEyODk3MTI5MzAJAAGRAAAAAgUAAAAPJGxpc3QxMjg5NzEyOTMwAAAAAAAAAAATAwkAAAAAAAACBQAAAA8kc2l6ZTEyODk3MTI5MzAAAAAAAAAAABQFAAAAECRhY2MyMDEyODk3MTI5MzAEAAAAECRhY2MyMTEyODk3MTI5MzAJAQAAAANzdW0AAAACBQAAABAkYWNjMjAxMjg5NzEyOTMwCQABkQAAAAIFAAAADyRsaXN0MTI4OTcxMjkzMAAAAAAAAAAAFAkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDIwBAAAABBzdW1SZXdhcmRDdXJyZW50BAAAAA8kbGlzdDEyOTU5MTI5OTEFAAAADmN1cnJlbnRSZXdhcmRzBAAAAA8kc2l6ZTEyOTU5MTI5OTEJAAGQAAAAAQUAAAAPJGxpc3QxMjk1OTEyOTkxBAAAAA8kYWNjMDEyOTU5MTI5OTEAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTI5NTkxMjk5MQAAAAAAAAAAAAUAAAAPJGFjYzAxMjk1OTEyOTkxBAAAAA8kYWNjMTEyOTU5MTI5OTEJAQAAAANzdW0AAAACBQAAAA8kYWNjMDEyOTU5MTI5OTEJAAGRAAAAAgUAAAAPJGxpc3QxMjk1OTEyOTkx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EgMJAAAAAAAAAgUAAAAPJHNpemUxMjk1OTEyOTkxAAAAAAAAAAATBQAAABAkYWNjMTkxMjk1OTEyOTkxBAAAABAkYWNjMjAxMjk1OTEyOTkxCQEAAAADc3VtAAAAAgUAAAAQJGFjYzE5MTI5NTkxMjk5MQkAAZEAAAACBQAAAA8kbGlzdDEyOTU5MTI5OTEAAAAAAAAAABMDCQAAAAAAAAIFAAAADyRzaXplMTI5NTkxMjk5MQAAAAAAAAAAFAUAAAAQJGFjYzIwMTI5NTkxMjk5MQQAAAAQJGFjYzIxMTI5NTkxMjk5MQkBAAAAA3N1bQAAAAIFAAAAECRhY2MyMDEyOTU5MTI5OTEJAAGRAAAAAgUAAAAPJGxpc3QxMjk1OTEyOTkxAAAAAAAAAAAUCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMjADCQAAZgAAAAIFAAAABmhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAAG3Jld2FyZFVwZGF0ZUhlaWdodCA8IGhlaWdodAMDCQEAAAACIT0AAAACBQAAABFzdW1SZXdhcmRQcmV2aW91cwUAAAAOdG90YWxWb3RlU2hhcmUGCQEAAAACIT0AAAACBQAAABBzdW1SZXdhcmRDdXJyZW50BQAAAA50b3RhbFZvdGVTaGFyZQkAAAIAAAABAgAAAElzdW1SZXdhcmRQcmV2aW91cyAhPSB0b3RhbFZvdGVTaGFyZSBvciBzdW1SZXdhcmRDdXJyZW50ICE9IHRvdGFsVm90ZVNoYXJlBAAAABZwcmV2aW91c1Jld2FyZEVudHJ5TmV3BAAAAA8kbGlzdDEzMzAzMTMzNTEFAAAADXByZXZpb3VzUG9vbHMEAAAADyRzaXplMTMzMDMxMzM1MQkAAZAAAAABBQAAAA8kbGlzdDEzMzAzMTMzNTEEAAAADyRhY2MwMTMzMDMxMzM1MQUAAAADbmlsAwkAAAAAAAACBQAAAA8kc2l6ZTEzMzAzMTMzNTEAAAAAAAAAAAAFAAAADyRhY2MwMTMzMDMxMzM1MQQAAAAPJGFjYzExMzMwMzEzMzUxCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MwMTMzMDMxMzM1MQkAAZEAAAACBQAAAA8kbGlzdDEzMzAzMTMzNTEAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTMzMDMxMzM1MQAAAAAAAAAAAQUAAAAPJGFjYzExMzMwMzEzMzUxBAAAAA8kYWNjMjEzMzAzMTMzNTEJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzExMzMwMzEzMzUxCQABkQAAAAIFAAAADyRsaXN0MTMzMDMxMzM1MQAAAAAAAAAAAQMJAAAAAAAAAgUAAAAPJHNpemUxMzMwMzEzMzUxAAAAAAAAAAACBQAAAA8kYWNjMjEzMzAzMTMzNTEEAAAADyRhY2MzMTMzMDMxMzM1MQkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMjEzMzAzMTMzNTEJAAGRAAAAAgUAAAAPJGxpc3QxMzMwMzEzMzUxAAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTEzMzAzMTMzNTEAAAAAAAAAAAMFAAAADyRhY2MzMTMzMDMxMzM1MQQAAAAPJGFjYzQxMzMwMzEzMzUxCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MzMTMzMDMxMzM1MQkAAZEAAAACBQAAAA8kbGlzdDEzMzAzMTMzNTEAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTMzMDMxMzM1MQAAAAAAAAAABAUAAAAPJGFjYzQxMzMwMzEzMzUxBAAAAA8kYWNjNTEzMzAzMTMzNTEJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzQxMzMwMzEzMzUxCQABkQAAAAIFAAAADyRsaXN0MTMzMDMxMzM1MQAAAAAAAAAABAMJAAAAAAAAAgUAAAAPJHNpemUxMzMwMzEzMzUxAAAAAAAAAAAFBQAAAA8kYWNjNTEzMzAzMTMzNTEEAAAADyRhY2M2MTMzMDMxMzM1MQkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNTEzMzAzMTMzNTEJAAGRAAAAAgUAAAAPJGxpc3QxMzMwMzEzMzUxAAAAAAAAAAAFAwkAAAAAAAACBQAAAA8kc2l6ZTEzMzAzMTMzNTEAAAAAAAAAAAYFAAAADyRhY2M2MTMzMDMxMzM1MQQAAAAPJGFjYzcxMzMwMzEzMzUxCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M2MTMzMDMxMzM1MQkAAZEAAAACBQAAAA8kbGlzdDEzMzAzMTMzNTEAAAAAAAAAAAYDCQAAAAAAAAIFAAAADyRzaXplMTMzMDMxMzM1MQAAAAAAAAAABwUAAAAPJGFjYzcxMzMwMzEzMzUxBAAAAA8kYWNjODEzMzAzMTMzNTEJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzcxMzMwMzEzMzUxCQABkQAAAAIFAAAADyRsaXN0MTMzMDMxMzM1MQAAAAAAAAAABwMJAAAAAAAAAgUAAAAPJHNpemUxMzMwMzEzMzUxAAAAAAAAAAAIBQAAAA8kYWNjODEzMzAzMTMzNTEEAAAADyRhY2M5MTMzMDMxMzM1MQkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjODEzMzAzMTMzNTEJAAGRAAAAAgUAAAAPJGxpc3QxMzMwMzEzMzUxAAAAAAAAAAAIAwkAAAAAAAACBQAAAA8kc2l6ZTEzMzAzMTMzNTEAAAAAAAAAAAkFAAAADyRhY2M5MTMzMDMxMzM1MQQAAAAQJGFjYzEwMTMzMDMxMzM1MQkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjOTEzMzAzMTMzNTEJAAGRAAAAAgUAAAAPJGxpc3QxMzMwMzEzMzUxAAAAAAAAAAAJAwkAAAAAAAACBQAAAA8kc2l6ZTEzMzAzMTMzNTEAAAAAAAAAAAoFAAAAECRhY2MxMDEzMzAzMTMzNTEEAAAAECRhY2MxMTEzMzAzMTMzNTEJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzEwMTMzMDMxMzM1MQkAAZEAAAACBQAAAA8kbGlzdDEzMzAzMTMzNTEAAAAAAAAAAAoDCQAAAAAAAAIFAAAADyRzaXplMTMzMDMxMzM1MQAAAAAAAAAACwUAAAAQJGFjYzExMTMzMDMxMzM1MQQAAAAQJGFjYzEyMTMzMDMxMzM1MQkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTExMzMwMzEzMzUxCQABkQAAAAIFAAAADyRsaXN0MTMzMDMxMzM1MQAAAAAAAAAACwMJAAAAAAAAAgUAAAAPJHNpemUxMzMwMzEzMzUxAAAAAAAAAAAMBQAAABAkYWNjMTIxMzMwMzEzMzUxBAAAABAkYWNjMTMxMzMwMzEzMzUxCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxMjEzMzAzMTMzNTEJAAGRAAAAAgUAAAAPJGxpc3QxMzMwMzEzMzUxAAAAAAAAAAAMAwkAAAAAAAACBQAAAA8kc2l6ZTEzMzAzMTMzNTEAAAAAAAAAAA0FAAAAECRhY2MxMzEzMzAzMTMzNTEEAAAAECRhY2MxNDEzMzAzMTMzNTEJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzEzMTMzMDMxMzM1MQkAAZEAAAACBQAAAA8kbGlzdDEzMzAzMTMzNTEAAAAAAAAAAA0DCQAAAAAAAAIFAAAADyRzaXplMTMzMDMxMzM1MQAAAAAAAAAADgUAAAAQJGFjYzE0MTMzMDMxMzM1MQQAAAAQJGFjYzE1MTMzMDMxMzM1MQkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTQxMzMwMzEzMzUxCQABkQAAAAIFAAAADyRsaXN0MTMzMDMxMzM1MQAAAAAAAAAADgMJAAAAAAAAAgUAAAAPJHNpemUxMzMwMzEzMzUxAAAAAAAAAAAPBQAAABAkYWNjMTUxMzMwMzEzMzUxBAAAABAkYWNjMTYxMzMwMzEzMzUxCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxNTEzMzAzMTMzNTEJAAGRAAAAAgUAAAAPJGxpc3QxMzMwMzEzMzUxAAAAAAAAAAAPAwkAAAAAAAACBQAAAA8kc2l6ZTEzMzAzMTMzNTEAAAAAAAAAABAFAAAAECRhY2MxNjEzMzAzMTMzNTEEAAAAECRhY2MxNzEzMzAzMTMzNTEJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzE2MTMzMDMxMzM1MQkAAZEAAAACBQAAAA8kbGlzdDEzMzAzMTMzNTEAAAAAAAAAABADCQAAAAAAAAIFAAAADyRzaXplMTMzMDMxMzM1MQAAAAAAAAAAEQUAAAAQJGFjYzE3MTMzMDMxMzM1MQQAAAAQJGFjYzE4MTMzMDMxMzM1MQkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTcxMzMwMzEzMzUxCQABkQAAAAIFAAAADyRsaXN0MTMzMDMxMzM1MQAAAAAAAAAAEQMJAAAAAAAAAgUAAAAPJHNpemUxMzMwMzEzMzUxAAAAAAAAAAASBQAAABAkYWNjMTgxMzMwMzEzMzUxBAAAABAkYWNjMTkxMzMwMzEzMzUxCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxODEzMzAzMTMzNTEJAAGRAAAAAgUAAAAPJGxpc3QxMzMwMzEzMzUxAAAAAAAAAAASAwkAAAAAAAACBQAAAA8kc2l6ZTEzMzAzMTMzNTEAAAAAAAAAABMFAAAAECRhY2MxOTEzMzAzMTMzNTEEAAAAECRhY2MyMDEzMzAzMTMzNTEJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzE5MTMzMDMxMzM1MQkAAZEAAAACBQAAAA8kbGlzdDEzMzAzMTMzNTEAAAAAAAAAABMDCQAAAAAAAAIFAAAADyRzaXplMTMzMDMxMzM1MQAAAAAAAAAAFAUAAAAQJGFjYzIwMTMzMDMxMzM1MQQAAAAQJGFjYzIxMTMzMDMxMzM1MQkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAABAkYWNjMjAxMzMwMzEzMzUxCQABkQAAAAIFAAAADyRsaXN0MTMzMDMxMzM1MQAAAAAAAAAAFAkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDIwBAAAABVjdXJyZW50UmV3YXJkRW50cnlOZXcEAAAADyRsaXN0MTMzODQxMzQzMAUAAAAMY3VycmVudFBvb2xzBAAAAA8kc2l6ZTEzMzg0MTM0MzAJAAGQAAAAAQUAAAAPJGxpc3QxMzM4NDEzNDMwBAAAAA8kYWNjMDEzMzg0MTM0MzAFAAAAA25pbAMJAAAAAAAAAgUAAAAPJHNpemUxMzM4NDEzNDMwAAAAAAAAAAAABQAAAA8kYWNjMDEzMzg0MTM0MzAEAAAADyRhY2MxMTMzODQxMzQzMAkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MwMTMzODQxMzQzMAkAAZEAAAACBQAAAA8kbGlzdDEzMzg0MTM0MzAAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTMzODQxMzQzMAAAAAAAAAAAAQUAAAAPJGFjYzExMzM4NDEzNDMwBAAAAA8kYWNjMjEzMzg0MTM0MzAJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMTEzMzg0MTM0MzAJAAGRAAAAAgUAAAAPJGxpc3QxMzM4NDEzNDMwAAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTEzMzg0MTM0MzAAAAAAAAAAAAIFAAAADyRhY2MyMTMzODQxMzQzMAQAAAAPJGFjYzMxMzM4NDEzNDMwCQEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzIxMzM4NDEzNDMwCQABkQAAAAIFAAAADyRsaXN0MTMzODQxMzQzMAAAAAAAAAAAAgMJAAAAAAAAAgUAAAAPJHNpemUxMzM4NDEzNDMwAAAAAAAAAAADBQAAAA8kYWNjMzEzMzg0MTM0MzAEAAAADyRhY2M0MTMzODQxMzQzMAkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MzMTMzODQxMzQzMAkAAZEAAAACBQAAAA8kbGlzdDEzMzg0MTM0MzAAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTMzODQxMzQzMAAAAAAAAAAABAUAAAAPJGFjYzQxMzM4NDEzNDMwBAAAAA8kYWNjNTEzMzg0MTM0MzAJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNDEzMzg0MTM0MzAJAAGRAAAAAgUAAAAPJGxpc3QxMzM4NDEzNDMwAAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTEzMzg0MTM0MzAAAAAAAAAAAAUFAAAADyRhY2M1MTMzODQxMzQzMAQAAAAPJGFjYzYxMzM4NDEzNDMwCQEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzUxMzM4NDEzNDMwCQABkQAAAAIFAAAADyRsaXN0MTMzODQxMzQzMAAAAAAAAAAABQMJAAAAAAAAAgUAAAAPJHNpemUxMzM4NDEzNDMwAAAAAAAAAAAGBQAAAA8kYWNjNjEzMzg0MTM0MzAEAAAADyRhY2M3MTMzODQxMzQzMAkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M2MTMzODQxMzQzMAkAAZEAAAACBQAAAA8kbGlzdDEzMzg0MTM0MzAAAAAAAAAAAAYDCQAAAAAAAAIFAAAADyRzaXplMTMzODQxMzQzMAAAAAAAAAAABwUAAAAPJGFjYzcxMzM4NDEzNDMwBAAAAA8kYWNjODEzMzg0MTM0MzAJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNzEzMzg0MTM0MzAJAAGRAAAAAgUAAAAPJGxpc3QxMzM4NDEzNDMwAAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTEzMzg0MTM0MzAAAAAAAAAAAAgFAAAADyRhY2M4MTMzODQxMzQzMAQAAAAPJGFjYzkxMzM4NDEzNDMwCQEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzgxMzM4NDEzNDMwCQABkQAAAAIFAAAADyRsaXN0MTMzODQxMzQzMAAAAAAAAAAACAMJAAAAAAAAAgUAAAAPJHNpemUxMzM4NDEzNDMwAAAAAAAAAAAJBQAAAA8kYWNjOTEzMzg0MTM0MzAEAAAAECRhY2MxMDEzMzg0MTM0MzAJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjOTEzMzg0MTM0MzAJAAGRAAAAAgUAAAAPJGxpc3QxMzM4NDEzNDMwAAAAAAAAAAAJAwkAAAAAAAACBQAAAA8kc2l6ZTEzMzg0MTM0MzAAAAAAAAAAAAoFAAAAECRhY2MxMDEzMzg0MTM0MzAEAAAAECRhY2MxMTEzMzg0MTM0MzAJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTAxMzM4NDEzNDMwCQABkQAAAAIFAAAADyRsaXN0MTMzODQxMzQzMAAAAAAAAAAACgMJAAAAAAAAAgUAAAAPJHNpemUxMzM4NDEzNDMwAAAAAAAAAAALBQAAABAkYWNjMTExMzM4NDEzNDMwBAAAABAkYWNjMTIxMzM4NDEzNDMwCQEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzExMTMzODQxMzQzMAkAAZEAAAACBQAAAA8kbGlzdDEzMzg0MTM0MzAAAAAAAAAAAAsDCQAAAAAAAAIFAAAADyRzaXplMTMzODQxMzQzMAAAAAAAAAAADAUAAAAQJGFjYzEyMTMzODQxMzQzMAQAAAAQJGFjYzEzMTMzODQxMzQzMAkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxMjEzMzg0MTM0MzAJAAGRAAAAAgUAAAAPJGxpc3QxMzM4NDEzNDMwAAAAAAAAAAAMAwkAAAAAAAACBQAAAA8kc2l6ZTEzMzg0MTM0MzAAAAAAAAAAAA0FAAAAECRhY2MxMzEzMzg0MTM0MzAEAAAAECRhY2MxNDEzMzg0MTM0MzAJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTMxMzM4NDEzNDMwCQABkQAAAAIFAAAADyRsaXN0MTMzODQxMzQzMAAAAAAAAAAADQMJAAAAAAAAAgUAAAAPJHNpemUxMzM4NDEzNDMwAAAAAAAAAAAOBQAAABAkYWNjMTQxMzM4NDEzNDMwBAAAABAkYWNjMTUxMzM4NDEzNDMwCQEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzE0MTMzODQxMzQzMAkAAZEAAAACBQAAAA8kbGlzdDEzMzg0MTM0MzAAAAAAAAAAAA4DCQAAAAAAAAIFAAAADyRzaXplMTMzODQxMzQzMAAAAAAAAAAADwUAAAAQJGFjYzE1MTMzODQxMzQzMAQAAAAQJGFjYzE2MTMzODQxMzQzMAkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxNTEzMzg0MTM0MzAJAAGRAAAAAgUAAAAPJGxpc3QxMzM4NDEzNDMwAAAAAAAAAAAPAwkAAAAAAAACBQAAAA8kc2l6ZTEzMzg0MTM0MzAAAAAAAAAAABAFAAAAECRhY2MxNjEzMzg0MTM0MzAEAAAAECRhY2MxNzEzMzg0MTM0MzAJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTYxMzM4NDEzNDMwCQABkQAAAAIFAAAADyRsaXN0MTMzODQxMzQzMAAAAAAAAAAAEAMJAAAAAAAAAgUAAAAPJHNpemUxMzM4NDEzNDMwAAAAAAAAAAARBQAAABAkYWNjMTcxMzM4NDEzNDMwBAAAABAkYWNjMTgxMzM4NDEzNDMwCQEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzE3MTMzODQxMzQzMAkAAZEAAAACBQAAAA8kbGlzdDEzMzg0MTM0MzAAAAAAAAAAABEDCQAAAAAAAAIFAAAADyRzaXplMTMzODQxMzQzMAAAAAAAAAAAEgUAAAAQJGFjYzE4MTMzODQxMzQzMAQAAAAQJGFjYzE5MTMzODQxMzQzMAkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxODEzMzg0MTM0MzAJAAGRAAAAAgUAAAAPJGxpc3QxMzM4NDEzNDMwAAAAAAAAAAASAwkAAAAAAAACBQAAAA8kc2l6ZTEzMzg0MTM0MzAAAAAAAAAAABMFAAAAECRhY2MxOTEzMzg0MTM0MzAEAAAAECRhY2MyMDEzMzg0MTM0MzAJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTkxMzM4NDEzNDMwCQABkQAAAAIFAAAADyRsaXN0MTMzODQxMzQzMAAAAAAAAAAAEwMJAAAAAAAAAgUAAAAPJHNpemUxMzM4NDEzNDMwAAAAAAAAAAAUBQAAABAkYWNjMjAxMzM4NDEzNDMwBAAAABAkYWNjMjExMzM4NDEzNDMwCQEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzIwMTMzODQxMzQzMAkAAZEAAAACBQAAAA8kbGlzdDEzMzg0MTM0MzAAAAAAAAAAABQJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAyMAkABE4AAAACCQAETgAAAAIFAAAAFnByZXZpb3VzUmV3YXJkRW50cnlOZXcFAAAAFWN1cnJlbnRSZXdhcmRFbnRyeU5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAA25pbAAAAAFpAQAAAAhzaHV0ZG93bgAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAEJAAEsAAAAAgIAAAAiREFwcCBpcyBhbHJlYWR5IHN1c3BlbmRlZC4gQ2F1c2U6IAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAAAhrZXlDYXVzZQIAAAAadGhlIGNhdXNlIHdhc24ndCBzcGVjaWZpZWQDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzCQAETAAAAAIFAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wBQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24JAQAAAAdzdXNwZW5kAAAAAQIAAAAPUGF1c2VkIGJ5IGFkbWluAAAAAWkBAAAACGFjdGl2YXRlAAAAAAMFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAFkRBcHAgaXMgYWxyZWFkeSBhY3RpdmUDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzCQAETAAAAAIFAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wBQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24JAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAACWtleUFjdGl2ZQYJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAIa2V5Q2F1c2UFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5Jl+22Q==", "height": 1483651, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9CQyf3xv6RnTxPJ5exCHYWxWvChgf3c6XCqm2bbYtLMs Next: C5Vft2V9JP7JvXkxvzSPVgpPTmmCQkhNXfpbnq5KfdTE Diff:
OldNewDifferences
6767
6868 let G = 10000000000
6969
70-func H (I) = [BooleanEntry(f, false), StringEntry(g, I)]
70+let H = "start_height"
71+
72+let I = "base_period"
73+
74+let J = "period_length"
75+
76+let K = "_user_total_struc"
77+
78+let L = valueOrErrorMessage(getInteger(C, I), "Empty kBasePeriod at voting contract")
79+
80+let M = valueOrErrorMessage(getInteger(C, H), "Empty kStartHeight at voting contract")
81+
82+let N = valueOrErrorMessage(getInteger(C, J), "Empty kPeriodLength at voting contract")
83+
84+let O = (L + ((height - M) / N))
85+
86+func P (Q) = [BooleanEntry(f, false), StringEntry(g, Q)]
7187
7288
73-func J () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
89+func R () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
7490
7591
76-func K () = {
77- let L = valueOrElse(getInteger(this, h), 0)
78- L
92+func S () = {
93+ let T = valueOrElse(getInteger(this, h), 0)
94+ T
7995 }
8096
8197
82-func M (N) = valueOrElse(getInteger(this, (toString(N) + j)), 0)
98+func U (V) = valueOrElse(getInteger(this, (toString(V) + j)), 0)
8399
84100
85-func O (N) = valueOrElse(getInteger(this, (toString(N) + p)), 0)
101+func W (V) = valueOrElse(getInteger(this, (toString(V) + p)), 0)
86102
87103
88-func P (N,L) = {
89- let Q = M(N)
90- let R = getInteger(this, (toString(N) + i))
91- let S = {
92- let T = R
93- if ($isInstanceOf(T, "Int"))
104+func X (V,T) = {
105+ let Y = U(V)
106+ let Z = getInteger(this, (toString(V) + i))
107+ let aa = {
108+ let ab = Z
109+ if ($isInstanceOf(ab, "Int"))
94110 then {
95- let R = T
96- R
111+ let Z = ab
112+ Z
97113 }
98- else L
114+ else T
99115 }
100- $Tuple2(S, Q)
116+ $Tuple2(aa, Y)
101117 }
102118
103119
104-func U () = valueOrElse(getInteger(this, l), 0)
120+func ac () = valueOrElse(getInteger(this, l), 0)
105121
106122
107-func V (N) = valueOrElse(getInteger(C, (toString(N) + m)), 0)
123+func ad (V) = {
124+ let ae = if (isDefined(getString(this, (toString(V) + K))))
125+ then {
126+ let af = split(valueOrErrorMessage(getString(C, (toString(V) + K)), "Empty kUserTotalStruc"), "_")
127+ $Tuple3(parseIntValue(af[0]), parseIntValue(af[1]), parseIntValue(af[2]))
128+ }
129+ else {
130+ let ag = valueOrElse(getInteger(C, (toString(V) + m)), 0)
131+ $Tuple3(ag, 0, O)
132+ }
133+ let ah = ae._1
134+ let ai = ae._2
135+ let aj = ae._3
136+ if ((aj == O))
137+ then ai
138+ else 0
139+ }
108140
109141
110-func W (N) = valueOrElse(getInteger(this, (toString(N) + n)), 0)
142+func ak (V) = valueOrElse(getInteger(this, (toString(V) + n)), 0)
111143
112144
113-func X (Y) = valueOrElse(getInteger(this, (Y + t)), 0)
145+func al (am) = valueOrElse(getInteger(this, (am + t)), 0)
114146
115147
116-func Z (N,Y,aa) = {
117- let ab = getInteger(this, (((Y + aa) + toString(N)) + n))
118- let ac = {
119- let T = ab
120- if ($isInstanceOf(T, "Int"))
148+func an (V,am,ao) = {
149+ let ap = getInteger(this, (((am + ao) + toString(V)) + n))
150+ let aq = {
151+ let ab = ap
152+ if ($isInstanceOf(ab, "Int"))
121153 then {
122- let ac = T
123- ac
154+ let aq = ab
155+ aq
124156 }
125- else if ($isInstanceOf(T, "Unit"))
157+ else if ($isInstanceOf(ab, "Unit"))
126158 then {
127- let ac = T
159+ let aq = ab
128160 0
129161 }
130162 else throw("Match error")
131163 }
132- valueOrErrorMessage(ac, (((("No data on the key: " + Y) + aa) + toString(N)) + n))
164+ valueOrErrorMessage(aq, (((("No data on the key: " + am) + ao) + toString(V)) + n))
133165 }
134166
135167
136-func ad (Y) = valueOrErrorMessage(getInteger(this, (Y + u)), (("No data on the key: " + Y) + u))
168+func ar (am) = valueOrErrorMessage(getInteger(this, (am + u)), (("No data on the key: " + am) + u))
137169
138170
139-func ae (Y,aa) = {
140- let af = getInteger(this, ((Y + aa) + o))
141- let ag = {
142- let T = af
143- if ($isInstanceOf(T, "Int"))
171+func as (am,ao) = {
172+ let at = getInteger(this, ((am + ao) + o))
173+ let au = {
174+ let ab = at
175+ if ($isInstanceOf(ab, "Int"))
144176 then {
145- let ag = T
146- ag
177+ let au = ab
178+ au
147179 }
148- else if ($isInstanceOf(T, "Unit"))
180+ else if ($isInstanceOf(ab, "Unit"))
149181 then {
150- let ag = T
182+ let au = ab
151183 0
152184 }
153185 else throw("Match error")
154186 }
155- ag
187+ au
156188 }
157189
158190
159-func ah (Y,aa,N,ai) = {
160- let aj = ((((((Y + "_") + aa) + "_") + toString(N)) + "_") + toString(ai))
161- valueOrErrorMessage(getInteger(this, aj), ("No data on the key: " + aj))
191+func av (V) = {
192+ let aw = if (isDefined(getString(this, (toString(V) + K))))
193+ then {
194+ let af = split(valueOrErrorMessage(getString(this, (toString(V) + K)), "Empty kUserTotalStruc"), "_")
195+ $Tuple3(parseIntValue(af[0]), parseIntValue(af[1]), parseIntValue(af[2]))
196+ }
197+ else {
198+ let ag = valueOrElse(getInteger(this, (toString(V) + m)), 0)
199+ $Tuple3(ag, 0, O)
200+ }
201+ let ah = aw._1
202+ let ai = aw._2
203+ let aj = aw._3
204+ ah
162205 }
163206
164207
165-func ak (al) = {
166- let L = K()
167- let am = P(al, L)
168- let R = am._1
169- let an = am._2
170- let ao = fraction(an, (L - R), F)
171- let ap = L
172- $Tuple2(ap, ao)
208+func ax (am,ao,V,ay) = {
209+ let az = ((((((am + "_") + ao) + "_") + toString(V)) + "_") + toString(ay))
210+ valueOrErrorMessage(getInteger(this, az), ("No data on the key: " + az))
173211 }
174212
175213
176-@Callable(aq)
214+func aA (aB) = {
215+ let T = S()
216+ let aC = X(aB, T)
217+ let Z = aC._1
218+ let aD = aC._2
219+ let aE = fraction(aD, (T - Z), F)
220+ let aF = T
221+ $Tuple2(aF, aE)
222+ }
223+
224+
225+@Callable(aG)
177226 func airDrop () = if (!(A))
178227 then throw("DApp is inactive at this moment")
179228 else {
180- let ar = $Tuple2(aq.payments[0].amount, aq.payments[0].assetId)
181- let as = ar._1
182- let at = ar._2
183- if ((at != E))
229+ let aH = $Tuple2(aG.payments[0].amount, aG.payments[0].assetId)
230+ let aI = aH._1
231+ let aJ = aH._2
232+ if ((aJ != E))
184233 then throw("Incorrect pmtAssetId")
185234 else {
186- let au = U()
187- let L = K()
188- let av = (L + fraction(as, F, au))
189-[IntegerEntry(h, av)]
235+ let aK = ac()
236+ let T = S()
237+ let aL = (T + fraction(aI, F, aK))
238+[IntegerEntry(h, aL)]
190239 }
191240 }
192241
193242
194243
195-@Callable(aq)
244+@Callable(aG)
196245 func lockSWOP () = if (!(A))
197246 then throw("DApp is inactive at this moment")
198247 else {
199- let aw = $Tuple2(aq.payments[0].amount, aq.payments[0].assetId)
200- let as = aw._1
201- let at = aw._2
202- if ((at != E))
248+ let aM = $Tuple2(aG.payments[0].amount, aG.payments[0].assetId)
249+ let aI = aM._1
250+ let aJ = aM._2
251+ if ((aJ != E))
203252 then throw("Incorrect pmtAssetId")
204253 else {
205- let L = K()
206- let ax = P(aq.caller, L)
207- let R = ax._1
208- let an = ax._2
209- let ao = fraction(an, (L - R), F)
210- let ay = ((an + as) + ao)
211- let ap = L
212- let au = U()
213- let az = ((au + as) + ao)
214- let aA = O(aq.caller)
215- let aB = (aA + ao)
216-[IntegerEntry((toString(aq.caller) + i), ap), IntegerEntry((toString(aq.caller) + j), ay), IntegerEntry(l, az), IntegerEntry((toString(aq.caller) + p), aB), IntegerEntry((toString(aq.caller) + q), ao)]
254+ let T = S()
255+ let aN = X(aG.caller, T)
256+ let Z = aN._1
257+ let aD = aN._2
258+ let aE = fraction(aD, (T - Z), F)
259+ let aO = ((aD + aI) + aE)
260+ let aF = T
261+ let aK = ac()
262+ let aP = ((aK + aI) + aE)
263+ let aQ = W(aG.caller)
264+ let aR = (aQ + aE)
265+[IntegerEntry((toString(aG.caller) + i), aF), IntegerEntry((toString(aG.caller) + j), aO), IntegerEntry(l, aP), IntegerEntry((toString(aG.caller) + p), aR), IntegerEntry((toString(aG.caller) + q), aE)]
217266 }
218267 }
219268
220269
221270
222-@Callable(aq)
223-func withdrawSWOP (aC) = if (!(A))
271+@Callable(aG)
272+func withdrawSWOP (aS) = if (!(A))
224273 then throw("DApp is inactive at this moment")
225274 else {
226- let au = U()
227- let an = M(aq.caller)
228- let aD = ak(aq.caller)
229- let ap = aD._1
230- let ao = aD._2
231- let aE = V(aq.caller)
232- let aF = (an - aE)
233- if ((aC > aF))
234- then throw("withdrawAmount > availableFund")
275+ let aK = ac()
276+ let aD = U(aG.caller)
277+ let aT = aA(aG.caller)
278+ let aF = aT._1
279+ let aE = aT._2
280+ let aU = av(aG.caller)
281+ let aV = ad(aG.caller)
282+ if (if ((0 > aV))
283+ then true
284+ else (0 > aU))
285+ then throw("userUnvoteAmount < 0 || userVoteAmount < 0")
235286 else {
236- let az = ((au + ao) - aC)
237- let aG = ((an + ao) - aC)
238- let aA = O(aq.caller)
239- let aB = (aA + ao)
240-[IntegerEntry((toString(aq.caller) + i), ap), IntegerEntry((toString(aq.caller) + j), aG), IntegerEntry(l, az), ScriptTransfer(aq.caller, aC, E), IntegerEntry((toString(aq.caller) + p), aB), IntegerEntry((toString(aq.caller) + q), ao)]
287+ let aW = ((aD - aU) - aV)
288+ if ((aS > aW))
289+ then throw("withdrawAmount > availableToUnstake")
290+ else {
291+ let aP = ((aK + aE) - aS)
292+ let aX = ((aD + aE) - aS)
293+ let aQ = W(aG.caller)
294+ let aR = (aQ + aE)
295+[IntegerEntry((toString(aG.caller) + i), aF), IntegerEntry((toString(aG.caller) + j), aX), IntegerEntry(l, aP), ScriptTransfer(aG.caller, aS, E), IntegerEntry((toString(aG.caller) + p), aR), IntegerEntry((toString(aG.caller) + q), aE)]
296+ }
241297 }
242298 }
243299
244300
245301
246-@Callable(aq)
302+@Callable(aG)
247303 func claimAndWithdrawSWOP () = if (!(A))
248304 then throw("DApp is inactive at this moment")
249305 else {
250- let L = K()
251- let aH = ak(aq.caller)
252- let ap = aH._1
253- let ao = aH._2
254- let aA = O(aq.caller)
255- let aB = (aA + ao)
256- if ((ao == 0))
306+ let T = S()
307+ let aY = aA(aG.caller)
308+ let aF = aY._1
309+ let aE = aY._2
310+ let aQ = W(aG.caller)
311+ let aR = (aQ + aE)
312+ if ((aE == 0))
257313 then throw("You have 0 available SWOP")
258- else [IntegerEntry((toString(aq.caller) + i), ap), IntegerEntry((toString(aq.caller) + p), aB), IntegerEntry((toString(aq.caller) + q), ao), ScriptTransfer(aq.caller, ao, E)]
314+ else [IntegerEntry((toString(aG.caller) + i), aF), IntegerEntry((toString(aG.caller) + p), aR), IntegerEntry((toString(aG.caller) + q), aE), ScriptTransfer(aG.caller, aE, E)]
259315 }
260316
261317
262318
263-@Callable(aq)
319+@Callable(aG)
264320 func claimAndStakeSWOP () = if (!(A))
265321 then throw("DApp is inactive at this moment")
266322 else {
267- let au = U()
268- let an = M(aq.caller)
269- let L = K()
270- let aI = ak(aq.caller)
271- let ap = aI._1
272- let ao = aI._2
273- let ay = (an + ao)
274- let az = (au + ao)
275- let aA = O(aq.caller)
276- let aB = (aA + ao)
277- if ((ao == 0))
323+ let aK = ac()
324+ let aD = U(aG.caller)
325+ let T = S()
326+ let aZ = aA(aG.caller)
327+ let aF = aZ._1
328+ let aE = aZ._2
329+ let aO = (aD + aE)
330+ let aP = (aK + aE)
331+ let aQ = W(aG.caller)
332+ let aR = (aQ + aE)
333+ if ((aE == 0))
278334 then throw("You have 0 available SWOP")
279- else [IntegerEntry((toString(aq.caller) + i), ap), IntegerEntry(l, az), IntegerEntry((toString(aq.caller) + j), ay), IntegerEntry((toString(aq.caller) + p), aB), IntegerEntry((toString(aq.caller) + q), ao)]
335+ else [IntegerEntry((toString(aG.caller) + i), aF), IntegerEntry(l, aP), IntegerEntry((toString(aG.caller) + j), aO), IntegerEntry((toString(aG.caller) + p), aR), IntegerEntry((toString(aG.caller) + q), aE)]
280336 }
281337
282338
283339
284-@Callable(aq)
285-func updateWeights (aJ,aK,aL,aM,aN) = if (!(A))
340+@Callable(aG)
341+func updateWeights (ba,bb,bc,bd,be) = if (!(A))
286342 then throw("DApp is inactive at this moment")
287- else if (!(containsElement([a, b, c, d, e], aq.callerPublicKey)))
343+ else if (!(containsElement([a, b, c, d], aG.callerPublicKey)))
288344 then throw("Only admin can call this function")
289345 else {
290- func aO (aP,aQ) = (aP + aQ)
346+ func bf (bg,bh) = (bg + bh)
291347
292- func aR (aS,aT) = {
293- let aU = value(indexOf(aJ, aT))
294- let aV = aK[aU]
295-IntegerEntry((aT + w), aV) :: aS
348+ func bi (bj,bk) = {
349+ let bl = value(indexOf(ba, bk))
350+ let bm = bb[bl]
351+IntegerEntry((bk + w), bm) :: bj
296352 }
297353
298- func aW (aS,aT) = {
299- let aU = value(indexOf(aL, aT))
300- let aV = aM[aU]
301-IntegerEntry((aT + v), aV) :: aS
354+ func bn (bj,bk) = {
355+ let bl = value(indexOf(bc, bk))
356+ let bm = bd[bl]
357+IntegerEntry((bk + v), bm) :: bj
302358 }
303359
304- let aX = {
305- let aY = aK
306- let aZ = size(aY)
307- let ba = 0
308- if ((aZ == 0))
309- then ba
360+ let bo = {
361+ let bp = bb
362+ let bq = size(bp)
363+ let br = 0
364+ if ((bq == 0))
365+ then br
310366 else {
311- let bb = aO(ba, aY[0])
312- if ((aZ == 1))
313- then bb
367+ let bs = bf(br, bp[0])
368+ if ((bq == 1))
369+ then bs
314370 else {
315- let bc = aO(bb, aY[1])
316- if ((aZ == 2))
317- then bc
371+ let bt = bf(bs, bp[1])
372+ if ((bq == 2))
373+ then bt
318374 else {
319- let bd = aO(bc, aY[2])
320- if ((aZ == 3))
321- then bd
375+ let bu = bf(bt, bp[2])
376+ if ((bq == 3))
377+ then bu
322378 else {
323- let be = aO(bd, aY[3])
324- if ((aZ == 4))
325- then be
379+ let bv = bf(bu, bp[3])
380+ if ((bq == 4))
381+ then bv
326382 else {
327- let bf = aO(be, aY[4])
328- if ((aZ == 5))
329- then bf
383+ let bw = bf(bv, bp[4])
384+ if ((bq == 5))
385+ then bw
330386 else {
331- let bg = aO(bf, aY[5])
332- if ((aZ == 6))
333- then bg
387+ let bx = bf(bw, bp[5])
388+ if ((bq == 6))
389+ then bx
334390 else {
335- let bh = aO(bg, aY[6])
336- if ((aZ == 7))
337- then bh
391+ let by = bf(bx, bp[6])
392+ if ((bq == 7))
393+ then by
338394 else {
339- let bi = aO(bh, aY[7])
340- if ((aZ == 8))
341- then bi
395+ let bz = bf(by, bp[7])
396+ if ((bq == 8))
397+ then bz
342398 else {
343- let bj = aO(bi, aY[8])
344- if ((aZ == 9))
345- then bj
399+ let bA = bf(bz, bp[8])
400+ if ((bq == 9))
401+ then bA
346402 else {
347- let bk = aO(bj, aY[9])
348- if ((aZ == 10))
349- then bk
403+ let bB = bf(bA, bp[9])
404+ if ((bq == 10))
405+ then bB
350406 else {
351- let bl = aO(bk, aY[10])
352- if ((aZ == 11))
353- then bl
407+ let bC = bf(bB, bp[10])
408+ if ((bq == 11))
409+ then bC
354410 else {
355- let bm = aO(bl, aY[11])
356- if ((aZ == 12))
357- then bm
411+ let bD = bf(bC, bp[11])
412+ if ((bq == 12))
413+ then bD
358414 else {
359- let bn = aO(bm, aY[12])
360- if ((aZ == 13))
361- then bn
415+ let bE = bf(bD, bp[12])
416+ if ((bq == 13))
417+ then bE
362418 else {
363- let bo = aO(bn, aY[13])
364- if ((aZ == 14))
365- then bo
419+ let bF = bf(bE, bp[13])
420+ if ((bq == 14))
421+ then bF
366422 else {
367- let bp = aO(bo, aY[14])
368- if ((aZ == 15))
369- then bp
423+ let bG = bf(bF, bp[14])
424+ if ((bq == 15))
425+ then bG
370426 else {
371- let bq = aO(bp, aY[15])
372- if ((aZ == 16))
373- then bq
427+ let bH = bf(bG, bp[15])
428+ if ((bq == 16))
429+ then bH
374430 else {
375- let br = aO(bq, aY[16])
376- if ((aZ == 17))
377- then br
431+ let bI = bf(bH, bp[16])
432+ if ((bq == 17))
433+ then bI
378434 else {
379- let bs = aO(br, aY[17])
380- if ((aZ == 18))
381- then bs
435+ let bJ = bf(bI, bp[17])
436+ if ((bq == 18))
437+ then bJ
382438 else {
383- let bt = aO(bs, aY[18])
384- if ((aZ == 19))
385- then bt
439+ let bK = bf(bJ, bp[18])
440+ if ((bq == 19))
441+ then bK
386442 else {
387- let bu = aO(bt, aY[19])
388- if ((aZ == 20))
389- then bu
443+ let bL = bf(bK, bp[19])
444+ if ((bq == 20))
445+ then bL
390446 else {
391- let bv = aO(bu, aY[20])
447+ let bM = bf(bL, bp[20])
392448 throw("List size exceed 20")
393449 }
394450 }
412468 }
413469 }
414470 }
415- let bw = {
416- let bx = aM
417- let by = size(bx)
418- let bz = 0
419- if ((by == 0))
420- then bz
471+ let bN = {
472+ let bO = bd
473+ let bP = size(bO)
474+ let bQ = 0
475+ if ((bP == 0))
476+ then bQ
421477 else {
422- let bA = aO(bz, bx[0])
423- if ((by == 1))
424- then bA
478+ let bR = bf(bQ, bO[0])
479+ if ((bP == 1))
480+ then bR
425481 else {
426- let bB = aO(bA, bx[1])
427- if ((by == 2))
428- then bB
482+ let bS = bf(bR, bO[1])
483+ if ((bP == 2))
484+ then bS
429485 else {
430- let bC = aO(bB, bx[2])
431- if ((by == 3))
432- then bC
486+ let bT = bf(bS, bO[2])
487+ if ((bP == 3))
488+ then bT
433489 else {
434- let bD = aO(bC, bx[3])
435- if ((by == 4))
436- then bD
490+ let bU = bf(bT, bO[3])
491+ if ((bP == 4))
492+ then bU
437493 else {
438- let bE = aO(bD, bx[4])
439- if ((by == 5))
440- then bE
494+ let bV = bf(bU, bO[4])
495+ if ((bP == 5))
496+ then bV
441497 else {
442- let bF = aO(bE, bx[5])
443- if ((by == 6))
444- then bF
498+ let bW = bf(bV, bO[5])
499+ if ((bP == 6))
500+ then bW
445501 else {
446- let bG = aO(bF, bx[6])
447- if ((by == 7))
448- then bG
502+ let bX = bf(bW, bO[6])
503+ if ((bP == 7))
504+ then bX
449505 else {
450- let bH = aO(bG, bx[7])
451- if ((by == 8))
452- then bH
506+ let bY = bf(bX, bO[7])
507+ if ((bP == 8))
508+ then bY
453509 else {
454- let bI = aO(bH, bx[8])
455- if ((by == 9))
456- then bI
510+ let bZ = bf(bY, bO[8])
511+ if ((bP == 9))
512+ then bZ
457513 else {
458- let bJ = aO(bI, bx[9])
459- if ((by == 10))
460- then bJ
514+ let ca = bf(bZ, bO[9])
515+ if ((bP == 10))
516+ then ca
461517 else {
462- let bK = aO(bJ, bx[10])
463- if ((by == 11))
464- then bK
518+ let cb = bf(ca, bO[10])
519+ if ((bP == 11))
520+ then cb
465521 else {
466- let bL = aO(bK, bx[11])
467- if ((by == 12))
468- then bL
522+ let cc = bf(cb, bO[11])
523+ if ((bP == 12))
524+ then cc
469525 else {
470- let bM = aO(bL, bx[12])
471- if ((by == 13))
472- then bM
526+ let cd = bf(cc, bO[12])
527+ if ((bP == 13))
528+ then cd
473529 else {
474- let bN = aO(bM, bx[13])
475- if ((by == 14))
476- then bN
530+ let ce = bf(cd, bO[13])
531+ if ((bP == 14))
532+ then ce
477533 else {
478- let bO = aO(bN, bx[14])
479- if ((by == 15))
480- then bO
534+ let cf = bf(ce, bO[14])
535+ if ((bP == 15))
536+ then cf
481537 else {
482- let bP = aO(bO, bx[15])
483- if ((by == 16))
484- then bP
538+ let cg = bf(cf, bO[15])
539+ if ((bP == 16))
540+ then cg
485541 else {
486- let bQ = aO(bP, bx[16])
487- if ((by == 17))
488- then bQ
542+ let ch = bf(cg, bO[16])
543+ if ((bP == 17))
544+ then ch
489545 else {
490- let bR = aO(bQ, bx[17])
491- if ((by == 18))
492- then bR
546+ let ci = bf(ch, bO[17])
547+ if ((bP == 18))
548+ then ci
493549 else {
494- let bS = aO(bR, bx[18])
495- if ((by == 19))
496- then bS
550+ let cj = bf(ci, bO[18])
551+ if ((bP == 19))
552+ then cj
497553 else {
498- let bT = aO(bS, bx[19])
499- if ((by == 20))
500- then bT
554+ let ck = bf(cj, bO[19])
555+ if ((bP == 20))
556+ then ck
501557 else {
502- let bU = aO(bT, bx[20])
558+ let cl = bf(ck, bO[20])
503559 throw("List size exceed 20")
504560 }
505561 }
523579 }
524580 }
525581 }
526- if ((height > aN))
582+ if ((height > be))
527583 then throw("rewardUpdateHeight < height")
528- else if (if ((aX != G))
584+ else if (if ((bo != G))
529585 then true
530- else (bw != G))
586+ else (bN != G))
531587 then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
532588 else {
533- let bV = {
534- let bW = aJ
535- let bX = size(bW)
536- let bY = nil
537- if ((bX == 0))
538- then bY
589+ let cm = {
590+ let cn = ba
591+ let co = size(cn)
592+ let cp = nil
593+ if ((co == 0))
594+ then cp
539595 else {
540- let bZ = aR(bY, bW[0])
541- if ((bX == 1))
542- then bZ
596+ let cq = bi(cp, cn[0])
597+ if ((co == 1))
598+ then cq
543599 else {
544- let ca = aR(bZ, bW[1])
545- if ((bX == 2))
546- then ca
600+ let cr = bi(cq, cn[1])
601+ if ((co == 2))
602+ then cr
547603 else {
548- let cb = aR(ca, bW[2])
549- if ((bX == 3))
550- then cb
604+ let cs = bi(cr, cn[2])
605+ if ((co == 3))
606+ then cs
551607 else {
552- let cc = aR(cb, bW[3])
553- if ((bX == 4))
554- then cc
608+ let ct = bi(cs, cn[3])
609+ if ((co == 4))
610+ then ct
555611 else {
556- let cd = aR(cc, bW[4])
557- if ((bX == 5))
558- then cd
612+ let cu = bi(ct, cn[4])
613+ if ((co == 5))
614+ then cu
559615 else {
560- let ce = aR(cd, bW[5])
561- if ((bX == 6))
562- then ce
616+ let cv = bi(cu, cn[5])
617+ if ((co == 6))
618+ then cv
563619 else {
564- let cf = aR(ce, bW[6])
565- if ((bX == 7))
566- then cf
620+ let cw = bi(cv, cn[6])
621+ if ((co == 7))
622+ then cw
567623 else {
568- let cg = aR(cf, bW[7])
569- if ((bX == 8))
570- then cg
624+ let cx = bi(cw, cn[7])
625+ if ((co == 8))
626+ then cx
571627 else {
572- let ch = aR(cg, bW[8])
573- if ((bX == 9))
574- then ch
628+ let cy = bi(cx, cn[8])
629+ if ((co == 9))
630+ then cy
575631 else {
576- let ci = aR(ch, bW[9])
577- if ((bX == 10))
578- then ci
632+ let cz = bi(cy, cn[9])
633+ if ((co == 10))
634+ then cz
579635 else {
580- let cj = aR(ci, bW[10])
581- if ((bX == 11))
582- then cj
636+ let cA = bi(cz, cn[10])
637+ if ((co == 11))
638+ then cA
583639 else {
584- let ck = aR(cj, bW[11])
585- if ((bX == 12))
586- then ck
640+ let cB = bi(cA, cn[11])
641+ if ((co == 12))
642+ then cB
587643 else {
588- let cl = aR(ck, bW[12])
589- if ((bX == 13))
590- then cl
644+ let cC = bi(cB, cn[12])
645+ if ((co == 13))
646+ then cC
591647 else {
592- let cm = aR(cl, bW[13])
593- if ((bX == 14))
594- then cm
648+ let cD = bi(cC, cn[13])
649+ if ((co == 14))
650+ then cD
595651 else {
596- let cn = aR(cm, bW[14])
597- if ((bX == 15))
598- then cn
652+ let cE = bi(cD, cn[14])
653+ if ((co == 15))
654+ then cE
599655 else {
600- let co = aR(cn, bW[15])
601- if ((bX == 16))
602- then co
656+ let cF = bi(cE, cn[15])
657+ if ((co == 16))
658+ then cF
603659 else {
604- let cp = aR(co, bW[16])
605- if ((bX == 17))
606- then cp
660+ let cG = bi(cF, cn[16])
661+ if ((co == 17))
662+ then cG
607663 else {
608- let cq = aR(cp, bW[17])
609- if ((bX == 18))
610- then cq
664+ let cH = bi(cG, cn[17])
665+ if ((co == 18))
666+ then cH
611667 else {
612- let cr = aR(cq, bW[18])
613- if ((bX == 19))
614- then cr
668+ let cI = bi(cH, cn[18])
669+ if ((co == 19))
670+ then cI
615671 else {
616- let cs = aR(cr, bW[19])
617- if ((bX == 20))
618- then cs
672+ let cJ = bi(cI, cn[19])
673+ if ((co == 20))
674+ then cJ
619675 else {
620- let ct = aR(cs, bW[20])
676+ let cK = bi(cJ, cn[20])
621677 throw("List size exceed 20")
622678 }
623679 }
641697 }
642698 }
643699 }
644- let cu = {
645- let cv = aL
646- let cw = size(cv)
647- let cx = nil
648- if ((cw == 0))
649- then cx
700+ let cL = {
701+ let cM = bc
702+ let cN = size(cM)
703+ let cO = nil
704+ if ((cN == 0))
705+ then cO
650706 else {
651- let cy = aW(cx, cv[0])
652- if ((cw == 1))
653- then cy
707+ let cP = bn(cO, cM[0])
708+ if ((cN == 1))
709+ then cP
654710 else {
655- let cz = aW(cy, cv[1])
656- if ((cw == 2))
657- then cz
711+ let cQ = bn(cP, cM[1])
712+ if ((cN == 2))
713+ then cQ
658714 else {
659- let cA = aW(cz, cv[2])
660- if ((cw == 3))
661- then cA
715+ let cR = bn(cQ, cM[2])
716+ if ((cN == 3))
717+ then cR
662718 else {
663- let cB = aW(cA, cv[3])
664- if ((cw == 4))
665- then cB
719+ let cS = bn(cR, cM[3])
720+ if ((cN == 4))
721+ then cS
666722 else {
667- let cC = aW(cB, cv[4])
668- if ((cw == 5))
669- then cC
723+ let cT = bn(cS, cM[4])
724+ if ((cN == 5))
725+ then cT
670726 else {
671- let cD = aW(cC, cv[5])
672- if ((cw == 6))
673- then cD
727+ let cU = bn(cT, cM[5])
728+ if ((cN == 6))
729+ then cU
674730 else {
675- let cE = aW(cD, cv[6])
676- if ((cw == 7))
677- then cE
731+ let cV = bn(cU, cM[6])
732+ if ((cN == 7))
733+ then cV
678734 else {
679- let cF = aW(cE, cv[7])
680- if ((cw == 8))
681- then cF
735+ let cW = bn(cV, cM[7])
736+ if ((cN == 8))
737+ then cW
682738 else {
683- let cG = aW(cF, cv[8])
684- if ((cw == 9))
685- then cG
739+ let cX = bn(cW, cM[8])
740+ if ((cN == 9))
741+ then cX
686742 else {
687- let cH = aW(cG, cv[9])
688- if ((cw == 10))
689- then cH
743+ let cY = bn(cX, cM[9])
744+ if ((cN == 10))
745+ then cY
690746 else {
691- let cI = aW(cH, cv[10])
692- if ((cw == 11))
693- then cI
747+ let cZ = bn(cY, cM[10])
748+ if ((cN == 11))
749+ then cZ
694750 else {
695- let cJ = aW(cI, cv[11])
696- if ((cw == 12))
697- then cJ
751+ let da = bn(cZ, cM[11])
752+ if ((cN == 12))
753+ then da
698754 else {
699- let cK = aW(cJ, cv[12])
700- if ((cw == 13))
701- then cK
755+ let db = bn(da, cM[12])
756+ if ((cN == 13))
757+ then db
702758 else {
703- let cL = aW(cK, cv[13])
704- if ((cw == 14))
705- then cL
759+ let dc = bn(db, cM[13])
760+ if ((cN == 14))
761+ then dc
706762 else {
707- let cM = aW(cL, cv[14])
708- if ((cw == 15))
709- then cM
763+ let dd = bn(dc, cM[14])
764+ if ((cN == 15))
765+ then dd
710766 else {
711- let cN = aW(cM, cv[15])
712- if ((cw == 16))
713- then cN
767+ let de = bn(dd, cM[15])
768+ if ((cN == 16))
769+ then de
714770 else {
715- let cO = aW(cN, cv[16])
716- if ((cw == 17))
717- then cO
771+ let df = bn(de, cM[16])
772+ if ((cN == 17))
773+ then df
718774 else {
719- let cP = aW(cO, cv[17])
720- if ((cw == 18))
721- then cP
775+ let dg = bn(df, cM[17])
776+ if ((cN == 18))
777+ then dg
722778 else {
723- let cQ = aW(cP, cv[18])
724- if ((cw == 19))
725- then cQ
779+ let dh = bn(dg, cM[18])
780+ if ((cN == 19))
781+ then dh
726782 else {
727- let cR = aW(cQ, cv[19])
728- if ((cw == 20))
729- then cR
783+ let di = bn(dh, cM[19])
784+ if ((cN == 20))
785+ then di
730786 else {
731- let cS = aW(cR, cv[20])
787+ let dj = bn(di, cM[20])
732788 throw("List size exceed 20")
733789 }
734790 }
752808 }
753809 }
754810 }
755- ((bV ++ cu) ++ [IntegerEntry(z, aN)])
811+ ((cm ++ cL) ++ [IntegerEntry(z, be)])
756812 }
757813 }
758814
759815
760816
761-@Callable(aq)
817+@Callable(aG)
762818 func shutdown () = if (!(A))
763819 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, g), "the cause wasn't specified")))
764- else if (!(containsElement([a, b, c, d], aq.callerPublicKey)))
820+ else if (!(containsElement([a, b, c, d], aG.callerPublicKey)))
765821 then throw("Only admin can call this function")
766- else H("Paused by admin")
822+ else P("Paused by admin")
767823
768824
769825
770-@Callable(aq)
826+@Callable(aG)
771827 func activate () = if (A)
772828 then throw("DApp is already active")
773- else if (!(containsElement([a, b, c, d], aq.callerPublicKey)))
829+ else if (!(containsElement([a, b, c, d], aG.callerPublicKey)))
774830 then throw("Only admin can call this function")
775831 else [BooleanEntry(f, true), DeleteEntry(g)]
776832
777833
778-@Verifier(cT)
779-func cU () = sigVerify(cT.bodyBytes, cT.proofs[0], cT.senderPublicKey)
834+@Verifier(dk)
835+func dl () = sigVerify(dk.bodyBytes, dk.proofs[0], dk.senderPublicKey)
780836
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
55
66 let b = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
77
88 let c = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
99
1010 let d = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
1111
1212 let e = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
1313
1414 let f = "active"
1515
1616 let g = "shutdown_cause"
1717
1818 let h = "last_interest"
1919
2020 let i = "_last_interest"
2121
2222 let j = "_SWOP_amount"
2323
2424 let k = "_getBackHeight"
2525
2626 let l = "total_SWOP_amount"
2727
2828 let m = "_user_total_SWOP_vote"
2929
3030 let n = "_SWOP_option_amount"
3131
3232 let o = "total_SWOP_option_amount"
3333
3434 let p = "_SWOP_claimed_amount"
3535
3636 let q = "_SWOP_last_claimed_amount"
3737
3838 let r = "vote_name"
3939
4040 let s = "_option_name"
4141
4242 let t = "_startHeight"
4343
4444 let u = "_vote_duration"
4545
4646 let v = "_current_pool_fraction_reward"
4747
4848 let w = "_previous_pool_fraction_reward"
4949
5050 let x = "total_reward_per_block_current"
5151
5252 let y = "total_reward_per_block_previous"
5353
5454 let z = "reward_update_height"
5555
5656 let A = valueOrElse(getBoolean(this, f), true)
5757
5858 let B = Address(base58'3MsjAKkxKjxVU4gC1BpJ1jKmAZyRufUCErC')
5959
6060 let C = Address(base58'3N6CYoCsxrcXKe75pQvvV3JqJrwJjm1t4QN')
6161
6262 let D = "SWOP_id"
6363
6464 let E = fromBase58String(getStringValue(B, D))
6565
6666 let F = 100000000
6767
6868 let G = 10000000000
6969
70-func H (I) = [BooleanEntry(f, false), StringEntry(g, I)]
70+let H = "start_height"
71+
72+let I = "base_period"
73+
74+let J = "period_length"
75+
76+let K = "_user_total_struc"
77+
78+let L = valueOrErrorMessage(getInteger(C, I), "Empty kBasePeriod at voting contract")
79+
80+let M = valueOrErrorMessage(getInteger(C, H), "Empty kStartHeight at voting contract")
81+
82+let N = valueOrErrorMessage(getInteger(C, J), "Empty kPeriodLength at voting contract")
83+
84+let O = (L + ((height - M) / N))
85+
86+func P (Q) = [BooleanEntry(f, false), StringEntry(g, Q)]
7187
7288
73-func J () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
89+func R () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
7490
7591
76-func K () = {
77- let L = valueOrElse(getInteger(this, h), 0)
78- L
92+func S () = {
93+ let T = valueOrElse(getInteger(this, h), 0)
94+ T
7995 }
8096
8197
82-func M (N) = valueOrElse(getInteger(this, (toString(N) + j)), 0)
98+func U (V) = valueOrElse(getInteger(this, (toString(V) + j)), 0)
8399
84100
85-func O (N) = valueOrElse(getInteger(this, (toString(N) + p)), 0)
101+func W (V) = valueOrElse(getInteger(this, (toString(V) + p)), 0)
86102
87103
88-func P (N,L) = {
89- let Q = M(N)
90- let R = getInteger(this, (toString(N) + i))
91- let S = {
92- let T = R
93- if ($isInstanceOf(T, "Int"))
104+func X (V,T) = {
105+ let Y = U(V)
106+ let Z = getInteger(this, (toString(V) + i))
107+ let aa = {
108+ let ab = Z
109+ if ($isInstanceOf(ab, "Int"))
94110 then {
95- let R = T
96- R
111+ let Z = ab
112+ Z
97113 }
98- else L
114+ else T
99115 }
100- $Tuple2(S, Q)
116+ $Tuple2(aa, Y)
101117 }
102118
103119
104-func U () = valueOrElse(getInteger(this, l), 0)
120+func ac () = valueOrElse(getInteger(this, l), 0)
105121
106122
107-func V (N) = valueOrElse(getInteger(C, (toString(N) + m)), 0)
123+func ad (V) = {
124+ let ae = if (isDefined(getString(this, (toString(V) + K))))
125+ then {
126+ let af = split(valueOrErrorMessage(getString(C, (toString(V) + K)), "Empty kUserTotalStruc"), "_")
127+ $Tuple3(parseIntValue(af[0]), parseIntValue(af[1]), parseIntValue(af[2]))
128+ }
129+ else {
130+ let ag = valueOrElse(getInteger(C, (toString(V) + m)), 0)
131+ $Tuple3(ag, 0, O)
132+ }
133+ let ah = ae._1
134+ let ai = ae._2
135+ let aj = ae._3
136+ if ((aj == O))
137+ then ai
138+ else 0
139+ }
108140
109141
110-func W (N) = valueOrElse(getInteger(this, (toString(N) + n)), 0)
142+func ak (V) = valueOrElse(getInteger(this, (toString(V) + n)), 0)
111143
112144
113-func X (Y) = valueOrElse(getInteger(this, (Y + t)), 0)
145+func al (am) = valueOrElse(getInteger(this, (am + t)), 0)
114146
115147
116-func Z (N,Y,aa) = {
117- let ab = getInteger(this, (((Y + aa) + toString(N)) + n))
118- let ac = {
119- let T = ab
120- if ($isInstanceOf(T, "Int"))
148+func an (V,am,ao) = {
149+ let ap = getInteger(this, (((am + ao) + toString(V)) + n))
150+ let aq = {
151+ let ab = ap
152+ if ($isInstanceOf(ab, "Int"))
121153 then {
122- let ac = T
123- ac
154+ let aq = ab
155+ aq
124156 }
125- else if ($isInstanceOf(T, "Unit"))
157+ else if ($isInstanceOf(ab, "Unit"))
126158 then {
127- let ac = T
159+ let aq = ab
128160 0
129161 }
130162 else throw("Match error")
131163 }
132- valueOrErrorMessage(ac, (((("No data on the key: " + Y) + aa) + toString(N)) + n))
164+ valueOrErrorMessage(aq, (((("No data on the key: " + am) + ao) + toString(V)) + n))
133165 }
134166
135167
136-func ad (Y) = valueOrErrorMessage(getInteger(this, (Y + u)), (("No data on the key: " + Y) + u))
168+func ar (am) = valueOrErrorMessage(getInteger(this, (am + u)), (("No data on the key: " + am) + u))
137169
138170
139-func ae (Y,aa) = {
140- let af = getInteger(this, ((Y + aa) + o))
141- let ag = {
142- let T = af
143- if ($isInstanceOf(T, "Int"))
171+func as (am,ao) = {
172+ let at = getInteger(this, ((am + ao) + o))
173+ let au = {
174+ let ab = at
175+ if ($isInstanceOf(ab, "Int"))
144176 then {
145- let ag = T
146- ag
177+ let au = ab
178+ au
147179 }
148- else if ($isInstanceOf(T, "Unit"))
180+ else if ($isInstanceOf(ab, "Unit"))
149181 then {
150- let ag = T
182+ let au = ab
151183 0
152184 }
153185 else throw("Match error")
154186 }
155- ag
187+ au
156188 }
157189
158190
159-func ah (Y,aa,N,ai) = {
160- let aj = ((((((Y + "_") + aa) + "_") + toString(N)) + "_") + toString(ai))
161- valueOrErrorMessage(getInteger(this, aj), ("No data on the key: " + aj))
191+func av (V) = {
192+ let aw = if (isDefined(getString(this, (toString(V) + K))))
193+ then {
194+ let af = split(valueOrErrorMessage(getString(this, (toString(V) + K)), "Empty kUserTotalStruc"), "_")
195+ $Tuple3(parseIntValue(af[0]), parseIntValue(af[1]), parseIntValue(af[2]))
196+ }
197+ else {
198+ let ag = valueOrElse(getInteger(this, (toString(V) + m)), 0)
199+ $Tuple3(ag, 0, O)
200+ }
201+ let ah = aw._1
202+ let ai = aw._2
203+ let aj = aw._3
204+ ah
162205 }
163206
164207
165-func ak (al) = {
166- let L = K()
167- let am = P(al, L)
168- let R = am._1
169- let an = am._2
170- let ao = fraction(an, (L - R), F)
171- let ap = L
172- $Tuple2(ap, ao)
208+func ax (am,ao,V,ay) = {
209+ let az = ((((((am + "_") + ao) + "_") + toString(V)) + "_") + toString(ay))
210+ valueOrErrorMessage(getInteger(this, az), ("No data on the key: " + az))
173211 }
174212
175213
176-@Callable(aq)
214+func aA (aB) = {
215+ let T = S()
216+ let aC = X(aB, T)
217+ let Z = aC._1
218+ let aD = aC._2
219+ let aE = fraction(aD, (T - Z), F)
220+ let aF = T
221+ $Tuple2(aF, aE)
222+ }
223+
224+
225+@Callable(aG)
177226 func airDrop () = if (!(A))
178227 then throw("DApp is inactive at this moment")
179228 else {
180- let ar = $Tuple2(aq.payments[0].amount, aq.payments[0].assetId)
181- let as = ar._1
182- let at = ar._2
183- if ((at != E))
229+ let aH = $Tuple2(aG.payments[0].amount, aG.payments[0].assetId)
230+ let aI = aH._1
231+ let aJ = aH._2
232+ if ((aJ != E))
184233 then throw("Incorrect pmtAssetId")
185234 else {
186- let au = U()
187- let L = K()
188- let av = (L + fraction(as, F, au))
189-[IntegerEntry(h, av)]
235+ let aK = ac()
236+ let T = S()
237+ let aL = (T + fraction(aI, F, aK))
238+[IntegerEntry(h, aL)]
190239 }
191240 }
192241
193242
194243
195-@Callable(aq)
244+@Callable(aG)
196245 func lockSWOP () = if (!(A))
197246 then throw("DApp is inactive at this moment")
198247 else {
199- let aw = $Tuple2(aq.payments[0].amount, aq.payments[0].assetId)
200- let as = aw._1
201- let at = aw._2
202- if ((at != E))
248+ let aM = $Tuple2(aG.payments[0].amount, aG.payments[0].assetId)
249+ let aI = aM._1
250+ let aJ = aM._2
251+ if ((aJ != E))
203252 then throw("Incorrect pmtAssetId")
204253 else {
205- let L = K()
206- let ax = P(aq.caller, L)
207- let R = ax._1
208- let an = ax._2
209- let ao = fraction(an, (L - R), F)
210- let ay = ((an + as) + ao)
211- let ap = L
212- let au = U()
213- let az = ((au + as) + ao)
214- let aA = O(aq.caller)
215- let aB = (aA + ao)
216-[IntegerEntry((toString(aq.caller) + i), ap), IntegerEntry((toString(aq.caller) + j), ay), IntegerEntry(l, az), IntegerEntry((toString(aq.caller) + p), aB), IntegerEntry((toString(aq.caller) + q), ao)]
254+ let T = S()
255+ let aN = X(aG.caller, T)
256+ let Z = aN._1
257+ let aD = aN._2
258+ let aE = fraction(aD, (T - Z), F)
259+ let aO = ((aD + aI) + aE)
260+ let aF = T
261+ let aK = ac()
262+ let aP = ((aK + aI) + aE)
263+ let aQ = W(aG.caller)
264+ let aR = (aQ + aE)
265+[IntegerEntry((toString(aG.caller) + i), aF), IntegerEntry((toString(aG.caller) + j), aO), IntegerEntry(l, aP), IntegerEntry((toString(aG.caller) + p), aR), IntegerEntry((toString(aG.caller) + q), aE)]
217266 }
218267 }
219268
220269
221270
222-@Callable(aq)
223-func withdrawSWOP (aC) = if (!(A))
271+@Callable(aG)
272+func withdrawSWOP (aS) = if (!(A))
224273 then throw("DApp is inactive at this moment")
225274 else {
226- let au = U()
227- let an = M(aq.caller)
228- let aD = ak(aq.caller)
229- let ap = aD._1
230- let ao = aD._2
231- let aE = V(aq.caller)
232- let aF = (an - aE)
233- if ((aC > aF))
234- then throw("withdrawAmount > availableFund")
275+ let aK = ac()
276+ let aD = U(aG.caller)
277+ let aT = aA(aG.caller)
278+ let aF = aT._1
279+ let aE = aT._2
280+ let aU = av(aG.caller)
281+ let aV = ad(aG.caller)
282+ if (if ((0 > aV))
283+ then true
284+ else (0 > aU))
285+ then throw("userUnvoteAmount < 0 || userVoteAmount < 0")
235286 else {
236- let az = ((au + ao) - aC)
237- let aG = ((an + ao) - aC)
238- let aA = O(aq.caller)
239- let aB = (aA + ao)
240-[IntegerEntry((toString(aq.caller) + i), ap), IntegerEntry((toString(aq.caller) + j), aG), IntegerEntry(l, az), ScriptTransfer(aq.caller, aC, E), IntegerEntry((toString(aq.caller) + p), aB), IntegerEntry((toString(aq.caller) + q), ao)]
287+ let aW = ((aD - aU) - aV)
288+ if ((aS > aW))
289+ then throw("withdrawAmount > availableToUnstake")
290+ else {
291+ let aP = ((aK + aE) - aS)
292+ let aX = ((aD + aE) - aS)
293+ let aQ = W(aG.caller)
294+ let aR = (aQ + aE)
295+[IntegerEntry((toString(aG.caller) + i), aF), IntegerEntry((toString(aG.caller) + j), aX), IntegerEntry(l, aP), ScriptTransfer(aG.caller, aS, E), IntegerEntry((toString(aG.caller) + p), aR), IntegerEntry((toString(aG.caller) + q), aE)]
296+ }
241297 }
242298 }
243299
244300
245301
246-@Callable(aq)
302+@Callable(aG)
247303 func claimAndWithdrawSWOP () = if (!(A))
248304 then throw("DApp is inactive at this moment")
249305 else {
250- let L = K()
251- let aH = ak(aq.caller)
252- let ap = aH._1
253- let ao = aH._2
254- let aA = O(aq.caller)
255- let aB = (aA + ao)
256- if ((ao == 0))
306+ let T = S()
307+ let aY = aA(aG.caller)
308+ let aF = aY._1
309+ let aE = aY._2
310+ let aQ = W(aG.caller)
311+ let aR = (aQ + aE)
312+ if ((aE == 0))
257313 then throw("You have 0 available SWOP")
258- else [IntegerEntry((toString(aq.caller) + i), ap), IntegerEntry((toString(aq.caller) + p), aB), IntegerEntry((toString(aq.caller) + q), ao), ScriptTransfer(aq.caller, ao, E)]
314+ else [IntegerEntry((toString(aG.caller) + i), aF), IntegerEntry((toString(aG.caller) + p), aR), IntegerEntry((toString(aG.caller) + q), aE), ScriptTransfer(aG.caller, aE, E)]
259315 }
260316
261317
262318
263-@Callable(aq)
319+@Callable(aG)
264320 func claimAndStakeSWOP () = if (!(A))
265321 then throw("DApp is inactive at this moment")
266322 else {
267- let au = U()
268- let an = M(aq.caller)
269- let L = K()
270- let aI = ak(aq.caller)
271- let ap = aI._1
272- let ao = aI._2
273- let ay = (an + ao)
274- let az = (au + ao)
275- let aA = O(aq.caller)
276- let aB = (aA + ao)
277- if ((ao == 0))
323+ let aK = ac()
324+ let aD = U(aG.caller)
325+ let T = S()
326+ let aZ = aA(aG.caller)
327+ let aF = aZ._1
328+ let aE = aZ._2
329+ let aO = (aD + aE)
330+ let aP = (aK + aE)
331+ let aQ = W(aG.caller)
332+ let aR = (aQ + aE)
333+ if ((aE == 0))
278334 then throw("You have 0 available SWOP")
279- else [IntegerEntry((toString(aq.caller) + i), ap), IntegerEntry(l, az), IntegerEntry((toString(aq.caller) + j), ay), IntegerEntry((toString(aq.caller) + p), aB), IntegerEntry((toString(aq.caller) + q), ao)]
335+ else [IntegerEntry((toString(aG.caller) + i), aF), IntegerEntry(l, aP), IntegerEntry((toString(aG.caller) + j), aO), IntegerEntry((toString(aG.caller) + p), aR), IntegerEntry((toString(aG.caller) + q), aE)]
280336 }
281337
282338
283339
284-@Callable(aq)
285-func updateWeights (aJ,aK,aL,aM,aN) = if (!(A))
340+@Callable(aG)
341+func updateWeights (ba,bb,bc,bd,be) = if (!(A))
286342 then throw("DApp is inactive at this moment")
287- else if (!(containsElement([a, b, c, d, e], aq.callerPublicKey)))
343+ else if (!(containsElement([a, b, c, d], aG.callerPublicKey)))
288344 then throw("Only admin can call this function")
289345 else {
290- func aO (aP,aQ) = (aP + aQ)
346+ func bf (bg,bh) = (bg + bh)
291347
292- func aR (aS,aT) = {
293- let aU = value(indexOf(aJ, aT))
294- let aV = aK[aU]
295-IntegerEntry((aT + w), aV) :: aS
348+ func bi (bj,bk) = {
349+ let bl = value(indexOf(ba, bk))
350+ let bm = bb[bl]
351+IntegerEntry((bk + w), bm) :: bj
296352 }
297353
298- func aW (aS,aT) = {
299- let aU = value(indexOf(aL, aT))
300- let aV = aM[aU]
301-IntegerEntry((aT + v), aV) :: aS
354+ func bn (bj,bk) = {
355+ let bl = value(indexOf(bc, bk))
356+ let bm = bd[bl]
357+IntegerEntry((bk + v), bm) :: bj
302358 }
303359
304- let aX = {
305- let aY = aK
306- let aZ = size(aY)
307- let ba = 0
308- if ((aZ == 0))
309- then ba
360+ let bo = {
361+ let bp = bb
362+ let bq = size(bp)
363+ let br = 0
364+ if ((bq == 0))
365+ then br
310366 else {
311- let bb = aO(ba, aY[0])
312- if ((aZ == 1))
313- then bb
367+ let bs = bf(br, bp[0])
368+ if ((bq == 1))
369+ then bs
314370 else {
315- let bc = aO(bb, aY[1])
316- if ((aZ == 2))
317- then bc
371+ let bt = bf(bs, bp[1])
372+ if ((bq == 2))
373+ then bt
318374 else {
319- let bd = aO(bc, aY[2])
320- if ((aZ == 3))
321- then bd
375+ let bu = bf(bt, bp[2])
376+ if ((bq == 3))
377+ then bu
322378 else {
323- let be = aO(bd, aY[3])
324- if ((aZ == 4))
325- then be
379+ let bv = bf(bu, bp[3])
380+ if ((bq == 4))
381+ then bv
326382 else {
327- let bf = aO(be, aY[4])
328- if ((aZ == 5))
329- then bf
383+ let bw = bf(bv, bp[4])
384+ if ((bq == 5))
385+ then bw
330386 else {
331- let bg = aO(bf, aY[5])
332- if ((aZ == 6))
333- then bg
387+ let bx = bf(bw, bp[5])
388+ if ((bq == 6))
389+ then bx
334390 else {
335- let bh = aO(bg, aY[6])
336- if ((aZ == 7))
337- then bh
391+ let by = bf(bx, bp[6])
392+ if ((bq == 7))
393+ then by
338394 else {
339- let bi = aO(bh, aY[7])
340- if ((aZ == 8))
341- then bi
395+ let bz = bf(by, bp[7])
396+ if ((bq == 8))
397+ then bz
342398 else {
343- let bj = aO(bi, aY[8])
344- if ((aZ == 9))
345- then bj
399+ let bA = bf(bz, bp[8])
400+ if ((bq == 9))
401+ then bA
346402 else {
347- let bk = aO(bj, aY[9])
348- if ((aZ == 10))
349- then bk
403+ let bB = bf(bA, bp[9])
404+ if ((bq == 10))
405+ then bB
350406 else {
351- let bl = aO(bk, aY[10])
352- if ((aZ == 11))
353- then bl
407+ let bC = bf(bB, bp[10])
408+ if ((bq == 11))
409+ then bC
354410 else {
355- let bm = aO(bl, aY[11])
356- if ((aZ == 12))
357- then bm
411+ let bD = bf(bC, bp[11])
412+ if ((bq == 12))
413+ then bD
358414 else {
359- let bn = aO(bm, aY[12])
360- if ((aZ == 13))
361- then bn
415+ let bE = bf(bD, bp[12])
416+ if ((bq == 13))
417+ then bE
362418 else {
363- let bo = aO(bn, aY[13])
364- if ((aZ == 14))
365- then bo
419+ let bF = bf(bE, bp[13])
420+ if ((bq == 14))
421+ then bF
366422 else {
367- let bp = aO(bo, aY[14])
368- if ((aZ == 15))
369- then bp
423+ let bG = bf(bF, bp[14])
424+ if ((bq == 15))
425+ then bG
370426 else {
371- let bq = aO(bp, aY[15])
372- if ((aZ == 16))
373- then bq
427+ let bH = bf(bG, bp[15])
428+ if ((bq == 16))
429+ then bH
374430 else {
375- let br = aO(bq, aY[16])
376- if ((aZ == 17))
377- then br
431+ let bI = bf(bH, bp[16])
432+ if ((bq == 17))
433+ then bI
378434 else {
379- let bs = aO(br, aY[17])
380- if ((aZ == 18))
381- then bs
435+ let bJ = bf(bI, bp[17])
436+ if ((bq == 18))
437+ then bJ
382438 else {
383- let bt = aO(bs, aY[18])
384- if ((aZ == 19))
385- then bt
439+ let bK = bf(bJ, bp[18])
440+ if ((bq == 19))
441+ then bK
386442 else {
387- let bu = aO(bt, aY[19])
388- if ((aZ == 20))
389- then bu
443+ let bL = bf(bK, bp[19])
444+ if ((bq == 20))
445+ then bL
390446 else {
391- let bv = aO(bu, aY[20])
447+ let bM = bf(bL, bp[20])
392448 throw("List size exceed 20")
393449 }
394450 }
395451 }
396452 }
397453 }
398454 }
399455 }
400456 }
401457 }
402458 }
403459 }
404460 }
405461 }
406462 }
407463 }
408464 }
409465 }
410466 }
411467 }
412468 }
413469 }
414470 }
415- let bw = {
416- let bx = aM
417- let by = size(bx)
418- let bz = 0
419- if ((by == 0))
420- then bz
471+ let bN = {
472+ let bO = bd
473+ let bP = size(bO)
474+ let bQ = 0
475+ if ((bP == 0))
476+ then bQ
421477 else {
422- let bA = aO(bz, bx[0])
423- if ((by == 1))
424- then bA
478+ let bR = bf(bQ, bO[0])
479+ if ((bP == 1))
480+ then bR
425481 else {
426- let bB = aO(bA, bx[1])
427- if ((by == 2))
428- then bB
482+ let bS = bf(bR, bO[1])
483+ if ((bP == 2))
484+ then bS
429485 else {
430- let bC = aO(bB, bx[2])
431- if ((by == 3))
432- then bC
486+ let bT = bf(bS, bO[2])
487+ if ((bP == 3))
488+ then bT
433489 else {
434- let bD = aO(bC, bx[3])
435- if ((by == 4))
436- then bD
490+ let bU = bf(bT, bO[3])
491+ if ((bP == 4))
492+ then bU
437493 else {
438- let bE = aO(bD, bx[4])
439- if ((by == 5))
440- then bE
494+ let bV = bf(bU, bO[4])
495+ if ((bP == 5))
496+ then bV
441497 else {
442- let bF = aO(bE, bx[5])
443- if ((by == 6))
444- then bF
498+ let bW = bf(bV, bO[5])
499+ if ((bP == 6))
500+ then bW
445501 else {
446- let bG = aO(bF, bx[6])
447- if ((by == 7))
448- then bG
502+ let bX = bf(bW, bO[6])
503+ if ((bP == 7))
504+ then bX
449505 else {
450- let bH = aO(bG, bx[7])
451- if ((by == 8))
452- then bH
506+ let bY = bf(bX, bO[7])
507+ if ((bP == 8))
508+ then bY
453509 else {
454- let bI = aO(bH, bx[8])
455- if ((by == 9))
456- then bI
510+ let bZ = bf(bY, bO[8])
511+ if ((bP == 9))
512+ then bZ
457513 else {
458- let bJ = aO(bI, bx[9])
459- if ((by == 10))
460- then bJ
514+ let ca = bf(bZ, bO[9])
515+ if ((bP == 10))
516+ then ca
461517 else {
462- let bK = aO(bJ, bx[10])
463- if ((by == 11))
464- then bK
518+ let cb = bf(ca, bO[10])
519+ if ((bP == 11))
520+ then cb
465521 else {
466- let bL = aO(bK, bx[11])
467- if ((by == 12))
468- then bL
522+ let cc = bf(cb, bO[11])
523+ if ((bP == 12))
524+ then cc
469525 else {
470- let bM = aO(bL, bx[12])
471- if ((by == 13))
472- then bM
526+ let cd = bf(cc, bO[12])
527+ if ((bP == 13))
528+ then cd
473529 else {
474- let bN = aO(bM, bx[13])
475- if ((by == 14))
476- then bN
530+ let ce = bf(cd, bO[13])
531+ if ((bP == 14))
532+ then ce
477533 else {
478- let bO = aO(bN, bx[14])
479- if ((by == 15))
480- then bO
534+ let cf = bf(ce, bO[14])
535+ if ((bP == 15))
536+ then cf
481537 else {
482- let bP = aO(bO, bx[15])
483- if ((by == 16))
484- then bP
538+ let cg = bf(cf, bO[15])
539+ if ((bP == 16))
540+ then cg
485541 else {
486- let bQ = aO(bP, bx[16])
487- if ((by == 17))
488- then bQ
542+ let ch = bf(cg, bO[16])
543+ if ((bP == 17))
544+ then ch
489545 else {
490- let bR = aO(bQ, bx[17])
491- if ((by == 18))
492- then bR
546+ let ci = bf(ch, bO[17])
547+ if ((bP == 18))
548+ then ci
493549 else {
494- let bS = aO(bR, bx[18])
495- if ((by == 19))
496- then bS
550+ let cj = bf(ci, bO[18])
551+ if ((bP == 19))
552+ then cj
497553 else {
498- let bT = aO(bS, bx[19])
499- if ((by == 20))
500- then bT
554+ let ck = bf(cj, bO[19])
555+ if ((bP == 20))
556+ then ck
501557 else {
502- let bU = aO(bT, bx[20])
558+ let cl = bf(ck, bO[20])
503559 throw("List size exceed 20")
504560 }
505561 }
506562 }
507563 }
508564 }
509565 }
510566 }
511567 }
512568 }
513569 }
514570 }
515571 }
516572 }
517573 }
518574 }
519575 }
520576 }
521577 }
522578 }
523579 }
524580 }
525581 }
526- if ((height > aN))
582+ if ((height > be))
527583 then throw("rewardUpdateHeight < height")
528- else if (if ((aX != G))
584+ else if (if ((bo != G))
529585 then true
530- else (bw != G))
586+ else (bN != G))
531587 then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
532588 else {
533- let bV = {
534- let bW = aJ
535- let bX = size(bW)
536- let bY = nil
537- if ((bX == 0))
538- then bY
589+ let cm = {
590+ let cn = ba
591+ let co = size(cn)
592+ let cp = nil
593+ if ((co == 0))
594+ then cp
539595 else {
540- let bZ = aR(bY, bW[0])
541- if ((bX == 1))
542- then bZ
596+ let cq = bi(cp, cn[0])
597+ if ((co == 1))
598+ then cq
543599 else {
544- let ca = aR(bZ, bW[1])
545- if ((bX == 2))
546- then ca
600+ let cr = bi(cq, cn[1])
601+ if ((co == 2))
602+ then cr
547603 else {
548- let cb = aR(ca, bW[2])
549- if ((bX == 3))
550- then cb
604+ let cs = bi(cr, cn[2])
605+ if ((co == 3))
606+ then cs
551607 else {
552- let cc = aR(cb, bW[3])
553- if ((bX == 4))
554- then cc
608+ let ct = bi(cs, cn[3])
609+ if ((co == 4))
610+ then ct
555611 else {
556- let cd = aR(cc, bW[4])
557- if ((bX == 5))
558- then cd
612+ let cu = bi(ct, cn[4])
613+ if ((co == 5))
614+ then cu
559615 else {
560- let ce = aR(cd, bW[5])
561- if ((bX == 6))
562- then ce
616+ let cv = bi(cu, cn[5])
617+ if ((co == 6))
618+ then cv
563619 else {
564- let cf = aR(ce, bW[6])
565- if ((bX == 7))
566- then cf
620+ let cw = bi(cv, cn[6])
621+ if ((co == 7))
622+ then cw
567623 else {
568- let cg = aR(cf, bW[7])
569- if ((bX == 8))
570- then cg
624+ let cx = bi(cw, cn[7])
625+ if ((co == 8))
626+ then cx
571627 else {
572- let ch = aR(cg, bW[8])
573- if ((bX == 9))
574- then ch
628+ let cy = bi(cx, cn[8])
629+ if ((co == 9))
630+ then cy
575631 else {
576- let ci = aR(ch, bW[9])
577- if ((bX == 10))
578- then ci
632+ let cz = bi(cy, cn[9])
633+ if ((co == 10))
634+ then cz
579635 else {
580- let cj = aR(ci, bW[10])
581- if ((bX == 11))
582- then cj
636+ let cA = bi(cz, cn[10])
637+ if ((co == 11))
638+ then cA
583639 else {
584- let ck = aR(cj, bW[11])
585- if ((bX == 12))
586- then ck
640+ let cB = bi(cA, cn[11])
641+ if ((co == 12))
642+ then cB
587643 else {
588- let cl = aR(ck, bW[12])
589- if ((bX == 13))
590- then cl
644+ let cC = bi(cB, cn[12])
645+ if ((co == 13))
646+ then cC
591647 else {
592- let cm = aR(cl, bW[13])
593- if ((bX == 14))
594- then cm
648+ let cD = bi(cC, cn[13])
649+ if ((co == 14))
650+ then cD
595651 else {
596- let cn = aR(cm, bW[14])
597- if ((bX == 15))
598- then cn
652+ let cE = bi(cD, cn[14])
653+ if ((co == 15))
654+ then cE
599655 else {
600- let co = aR(cn, bW[15])
601- if ((bX == 16))
602- then co
656+ let cF = bi(cE, cn[15])
657+ if ((co == 16))
658+ then cF
603659 else {
604- let cp = aR(co, bW[16])
605- if ((bX == 17))
606- then cp
660+ let cG = bi(cF, cn[16])
661+ if ((co == 17))
662+ then cG
607663 else {
608- let cq = aR(cp, bW[17])
609- if ((bX == 18))
610- then cq
664+ let cH = bi(cG, cn[17])
665+ if ((co == 18))
666+ then cH
611667 else {
612- let cr = aR(cq, bW[18])
613- if ((bX == 19))
614- then cr
668+ let cI = bi(cH, cn[18])
669+ if ((co == 19))
670+ then cI
615671 else {
616- let cs = aR(cr, bW[19])
617- if ((bX == 20))
618- then cs
672+ let cJ = bi(cI, cn[19])
673+ if ((co == 20))
674+ then cJ
619675 else {
620- let ct = aR(cs, bW[20])
676+ let cK = bi(cJ, cn[20])
621677 throw("List size exceed 20")
622678 }
623679 }
624680 }
625681 }
626682 }
627683 }
628684 }
629685 }
630686 }
631687 }
632688 }
633689 }
634690 }
635691 }
636692 }
637693 }
638694 }
639695 }
640696 }
641697 }
642698 }
643699 }
644- let cu = {
645- let cv = aL
646- let cw = size(cv)
647- let cx = nil
648- if ((cw == 0))
649- then cx
700+ let cL = {
701+ let cM = bc
702+ let cN = size(cM)
703+ let cO = nil
704+ if ((cN == 0))
705+ then cO
650706 else {
651- let cy = aW(cx, cv[0])
652- if ((cw == 1))
653- then cy
707+ let cP = bn(cO, cM[0])
708+ if ((cN == 1))
709+ then cP
654710 else {
655- let cz = aW(cy, cv[1])
656- if ((cw == 2))
657- then cz
711+ let cQ = bn(cP, cM[1])
712+ if ((cN == 2))
713+ then cQ
658714 else {
659- let cA = aW(cz, cv[2])
660- if ((cw == 3))
661- then cA
715+ let cR = bn(cQ, cM[2])
716+ if ((cN == 3))
717+ then cR
662718 else {
663- let cB = aW(cA, cv[3])
664- if ((cw == 4))
665- then cB
719+ let cS = bn(cR, cM[3])
720+ if ((cN == 4))
721+ then cS
666722 else {
667- let cC = aW(cB, cv[4])
668- if ((cw == 5))
669- then cC
723+ let cT = bn(cS, cM[4])
724+ if ((cN == 5))
725+ then cT
670726 else {
671- let cD = aW(cC, cv[5])
672- if ((cw == 6))
673- then cD
727+ let cU = bn(cT, cM[5])
728+ if ((cN == 6))
729+ then cU
674730 else {
675- let cE = aW(cD, cv[6])
676- if ((cw == 7))
677- then cE
731+ let cV = bn(cU, cM[6])
732+ if ((cN == 7))
733+ then cV
678734 else {
679- let cF = aW(cE, cv[7])
680- if ((cw == 8))
681- then cF
735+ let cW = bn(cV, cM[7])
736+ if ((cN == 8))
737+ then cW
682738 else {
683- let cG = aW(cF, cv[8])
684- if ((cw == 9))
685- then cG
739+ let cX = bn(cW, cM[8])
740+ if ((cN == 9))
741+ then cX
686742 else {
687- let cH = aW(cG, cv[9])
688- if ((cw == 10))
689- then cH
743+ let cY = bn(cX, cM[9])
744+ if ((cN == 10))
745+ then cY
690746 else {
691- let cI = aW(cH, cv[10])
692- if ((cw == 11))
693- then cI
747+ let cZ = bn(cY, cM[10])
748+ if ((cN == 11))
749+ then cZ
694750 else {
695- let cJ = aW(cI, cv[11])
696- if ((cw == 12))
697- then cJ
751+ let da = bn(cZ, cM[11])
752+ if ((cN == 12))
753+ then da
698754 else {
699- let cK = aW(cJ, cv[12])
700- if ((cw == 13))
701- then cK
755+ let db = bn(da, cM[12])
756+ if ((cN == 13))
757+ then db
702758 else {
703- let cL = aW(cK, cv[13])
704- if ((cw == 14))
705- then cL
759+ let dc = bn(db, cM[13])
760+ if ((cN == 14))
761+ then dc
706762 else {
707- let cM = aW(cL, cv[14])
708- if ((cw == 15))
709- then cM
763+ let dd = bn(dc, cM[14])
764+ if ((cN == 15))
765+ then dd
710766 else {
711- let cN = aW(cM, cv[15])
712- if ((cw == 16))
713- then cN
767+ let de = bn(dd, cM[15])
768+ if ((cN == 16))
769+ then de
714770 else {
715- let cO = aW(cN, cv[16])
716- if ((cw == 17))
717- then cO
771+ let df = bn(de, cM[16])
772+ if ((cN == 17))
773+ then df
718774 else {
719- let cP = aW(cO, cv[17])
720- if ((cw == 18))
721- then cP
775+ let dg = bn(df, cM[17])
776+ if ((cN == 18))
777+ then dg
722778 else {
723- let cQ = aW(cP, cv[18])
724- if ((cw == 19))
725- then cQ
779+ let dh = bn(dg, cM[18])
780+ if ((cN == 19))
781+ then dh
726782 else {
727- let cR = aW(cQ, cv[19])
728- if ((cw == 20))
729- then cR
783+ let di = bn(dh, cM[19])
784+ if ((cN == 20))
785+ then di
730786 else {
731- let cS = aW(cR, cv[20])
787+ let dj = bn(di, cM[20])
732788 throw("List size exceed 20")
733789 }
734790 }
735791 }
736792 }
737793 }
738794 }
739795 }
740796 }
741797 }
742798 }
743799 }
744800 }
745801 }
746802 }
747803 }
748804 }
749805 }
750806 }
751807 }
752808 }
753809 }
754810 }
755- ((bV ++ cu) ++ [IntegerEntry(z, aN)])
811+ ((cm ++ cL) ++ [IntegerEntry(z, be)])
756812 }
757813 }
758814
759815
760816
761-@Callable(aq)
817+@Callable(aG)
762818 func shutdown () = if (!(A))
763819 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, g), "the cause wasn't specified")))
764- else if (!(containsElement([a, b, c, d], aq.callerPublicKey)))
820+ else if (!(containsElement([a, b, c, d], aG.callerPublicKey)))
765821 then throw("Only admin can call this function")
766- else H("Paused by admin")
822+ else P("Paused by admin")
767823
768824
769825
770-@Callable(aq)
826+@Callable(aG)
771827 func activate () = if (A)
772828 then throw("DApp is already active")
773- else if (!(containsElement([a, b, c, d], aq.callerPublicKey)))
829+ else if (!(containsElement([a, b, c, d], aG.callerPublicKey)))
774830 then throw("Only admin can call this function")
775831 else [BooleanEntry(f, true), DeleteEntry(g)]
776832
777833
778-@Verifier(cT)
779-func cU () = sigVerify(cT.bodyBytes, cT.proofs[0], cT.senderPublicKey)
834+@Verifier(dk)
835+func dl () = sigVerify(dk.bodyBytes, dk.proofs[0], dk.senderPublicKey)
780836

github/deemru/w8io/169f3d6 
914.54 ms