tx · CwVK3QtmPfzauYYmeSYLRW5ZRDvyud1DkdgPTn8Yj4t9

3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT:  -0.01400000 Waves

2021.07.15 18:20 [1614894] smart account 3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT > SELF 0.00000000 Waves

{ "type": 13, "id": "CwVK3QtmPfzauYYmeSYLRW5ZRDvyud1DkdgPTn8Yj4t9", "fee": 1400000, "feeAssetId": null, "timestamp": 1626362428549, "version": 2, "chainId": 84, "sender": "3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT", "senderPublicKey": "3ijdmxaYrpDFsKVbQH2kvB7i6JzHj9bep9bGWiQPra2D", "proofs": [ "4ppvHyC45Gdj4K8wDmvYDTwWrjvkfqYn8xpgxwWPyNyJKKKFJFpgeshiQtqUpDdRk3CNHizxVCiKU2wbKnPJRmj2", "3WQAuEcLSSHApCosQbdq4nVcywk4WthHxCcwkpxdb6i4LyWhKYoE3BKL7RViBQVpTJY8mZQkPUrRJjYwA9FH37MN" ], "script": "base64:AAIFAAAAAAAAACUIAhIDCgEIEgMKAQgSAwoBCBIDCgEIEgQKAggBEgMKAQgSABIAAAAAYAAAAAAUa2V5U2hhcmVUb2tlbnNMb2NrZWQCAAAAGl90b3RhbF9zaGFyZV90b2tlbnNfbG9ja2VkAAAAAAtrU2hhcmVMaW1pdAIAAAAcc2hhcmVfbGltaXRfb25fZmlyc3RfaGFydmVzdAAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAACGtleUNhdXNlAgAAAA5zaHV0ZG93bl9jYXVzZQAAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAIAAAAdX2N1cnJlbnRfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzAgAAAB5fcHJldmlvdXNfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgIAAAAaX3Bvb2xfcmV3YXJkX3VwZGF0ZV9oZWlnaHQAAAAAHWtleVRvdGFsUmV3YXJkUGVyQmxvY2tDdXJyZW50AgAAAB50b3RhbF9yZXdhcmRfcGVyX2Jsb2NrX2N1cnJlbnQAAAAAHmtleVRvdGFsUmV3YXJkUGVyQmxvY2tQcmV2aW91cwIAAAAfdG90YWxfcmV3YXJkX3Blcl9ibG9ja19wcmV2aW91cwAAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AgAAABRyZXdhcmRfdXBkYXRlX2hlaWdodAAAAAAPa2V5TGFzdEludGVyZXN0AgAAAA5fbGFzdF9pbnRlcmVzdAAAAAAVa2V5TGFzdEludGVyZXN0SGVpZ2h0AgAAABVfbGFzdF9pbnRlcmVzdF9oZWlnaHQAAAAAGGtleVVzZXJTaGFyZVRva2Vuc0xvY2tlZAIAAAAUX3NoYXJlX3Rva2Vuc19sb2NrZWQAAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QCAAAADl9sYXN0X2ludGVyZXN0AAAAAAlrZXlTV09QaWQCAAAAB1NXT1BfaWQAAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAIAAAAUX1NXT1BfY2xhaW1lZF9hbW91bnQAAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQCAAAAGV9TV09QX2xhc3RfY2xhaW1lZF9hbW91bnQAAAAAEGtleUF2YWlsYWJsZVNXT1ACAAAAD19hdmFpbGFibGVfU1dPUAAAAAAVa2V5RmFybWluZ1N0YXJ0SGVpZ2h0AgAAABRmYXJtaW5nX3N0YXJ0X2hlaWdodAAAAAAGa2V5QVBZAgAAAANhcHkAAAAAFmtQcmV2aW91c1RvdGFsVm90ZVNXT1ACAAAAGHByZXZpb3VzX3RvdGFsX3ZvdGVfU1dPUAAAAAATa2V5U3dvcFllYXJFbWlzc2lvbgIAAAASc3dvcF95ZWFyX2VtaXNzaW9uAAAAAA9rZXlCYWxhbmNlY3BtbUECAAAAD0FfYXNzZXRfYmFsYW5jZQAAAAAPa2V5QmFsYW5jZWNwbW1CAgAAAA9CX2Fzc2V0X2JhbGFuY2UAAAAAIWtIYXJ2ZXN0UG9vbEFjdGl2ZVZvdGVTdHJ1Y1ZvdGluZwIAAAAeX2hhcnZlc3RfcG9vbF9hY3RpdmVWb3RlX3N0cnVjAAAAACVrSGFydmVzdFVzZXJQb29sQWN0aXZlVm90ZVN0cnVjVm90aW5nAgAAACNfaGFydmVzdF91c2VyX3Bvb2xfYWN0aXZlVm90ZV9zdHJ1YwAAAAAZa2V5TGltaXRTaGFyZUZpcnN0SGFydmVzdAIAAAAcc2hhcmVfbGltaXRfb25fZmlyc3RfaGFydmVzdAAAAAALa2V5QXNzZXRJZEECAAAACkFfYXNzZXRfaWQAAAAAC2tleUFzc2V0SWRCAgAAAApCX2Fzc2V0X2lkAAAAABVrZXlGaXJzdEhhcnZlc3RIZWlnaHQCAAAAFGZpcnN0X2hhcnZlc3RfaGVpZ2h0AAAAABNrZXlmaXJzdEhhcnZlc3RDcG1tAgAAAA1maXJzdF9oYXJ2ZXN0AAAAAA5rZXlUZW1wUHJldlN1bQIAAAATc3VtX3Jld2FyZF9wcmV2aW91cwAAAAANa2V5VGVtcEN1clN1bQIAAAASc3VtX3Jld2FyZF9jdXJyZW50AAAAABFnb3Zlcm5hbmNlQWRkcmVzcwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVKr6ad6B9BNShco/LjqIUbMZ6pgcWfINLQAAAAAGd2FsbGV0CQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFU3z1Ll4lYWd4V4ORRC1bdPXpfvbV/hSGJAAAAAA12b3RpbmdBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUGjZ+31einSdpXP6/9ybU5/uhw2g+IMp/AAAAABxhZG1pbkluY3JlYXNlSW50ZXJlc3RBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFU3z1Ll4lYWd4V4ORRC1bdPXpfvbV/hSGJAAAAAA5vbmVXZWVrSW5CbG9jawAAAAAAAAAnegAAAAAOdG90YWxWb3RlU2hhcmUAAAAAAlQL5AAAAAAAC3NjYWxlVmFsdWUxAAAAAAAAAAAKAAAAAAtzY2FsZVZhbHVlMwAAAAAAAAAD6AAAAAALc2NhbGVWYWx1ZTUAAAAAAAABhqAAAAAAC3NjYWxlVmFsdWU2AAAAAAAAD0JAAAAAAAtzY2FsZVZhbHVlOAAAAAAABfXhAAAAAAAMc2NhbGVWYWx1ZTExAAAAABdIdugAAAAAAA9rZXlBZG1pblB1YktleTECAAAAC2FkbWluX3B1Yl8xAAAAAA9rZXlBZG1pblB1YktleTICAAAAC2FkbWluX3B1Yl8yAAAAAA9rZXlBZG1pblB1YktleTMCAAAAC2FkbWluX3B1Yl8zAAAAAAZvcmFjbGUJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVTpRaoekC86rvG6DuYumpJfGpiE4fNiswgBAAAAC2dldEFkbWluUHViAAAAAQAAAAtrZXlBZG1pblB1YgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAZvcmFjbGUFAAAAC2tleUFkbWluUHViAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAABnN0cmluZwUAAAAHJG1hdGNoMAkAAlkAAAABBQAAAAZzdHJpbmcEAAAAB25vdGhpbmcFAAAAByRtYXRjaDAJAAACAAAAAQIAAAAZQWRtaW4gcHVibGljIGtleSBpcyBlbXB0eQAAAAAMYWRtaW5QdWJLZXkxCQEAAAALZ2V0QWRtaW5QdWIAAAABBQAAAA9rZXlBZG1pblB1YktleTEAAAAADGFkbWluUHViS2V5MgkBAAAAC2dldEFkbWluUHViAAAAAQUAAAAPa2V5QWRtaW5QdWJLZXkyAAAAAAxhZG1pblB1YktleTMJAQAAAAtnZXRBZG1pblB1YgAAAAEFAAAAD2tleUFkbWluUHViS2V5MwEAAAALc3RyQXNzZXRJZEEAAAABAAAABHBvb2wJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHBvb2wFAAAAC2tleUFzc2V0SWRBAQAAAAtzdHJBc3NldElkQgAAAAEAAAAEcG9vbAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEcG9vbAUAAAALa2V5QXNzZXRJZEIBAAAACGFzc2V0SWRBAAAAAQAAAARwb29sAwkAAAAAAAACCQEAAAALc3RyQXNzZXRJZEEAAAABBQAAAARwb29sAgAAAAVXQVZFUwUAAAAEdW5pdAkAAlkAAAABCQEAAAALc3RyQXNzZXRJZEEAAAABBQAAAARwb29sAQAAAAhhc3NldElkQgAAAAEAAAAEcG9vbAMJAAAAAAAAAgkBAAAAC3N0ckFzc2V0SWRCAAAAAQUAAAAEcG9vbAIAAAAFV0FWRVMFAAAABHVuaXQJAAJZAAAAAQkBAAAAC3N0ckFzc2V0SWRCAAAAAQUAAAAEcG9vbAAAAAALa0Jhc2VQZXJpb2QCAAAAC2Jhc2VfcGVyaW9kAAAAAA1rUGVyaW9kTGVuZ3RoAgAAAA1wZXJpb2RfbGVuZ3RoAAAAAAxrU3RhcnRIZWlnaHQCAAAADHN0YXJ0X2hlaWdodAAAAAATa0ZpcnN0SGFydmVzdEhlaWdodAIAAAAUZmlyc3RfaGFydmVzdF9oZWlnaHQAAAAAFmtEdXJhdGlvbkZ1bGxWb3RlUG93ZXICAAAAGGR1cmF0aW9uX2Z1bGxfdm90ZV9wb3dlcgAAAAANa01pblZvdGVQb3dlcgIAAAAObWluX3ZvdGVfcG93ZXIAAAAACmJhc2VQZXJpb2QJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAA12b3RpbmdBZGRyZXNzBQAAAAtrQmFzZVBlcmlvZAIAAAARRW1wdHkga0Jhc2VQZXJpb2QAAAAAC3N0YXJ0SGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAANdm90aW5nQWRkcmVzcwUAAAAMa1N0YXJ0SGVpZ2h0AgAAABJFbXB0eSBrU3RhcnRIZWlnaHQAAAAADHBlcmlvZExlbmd0aAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAADXZvdGluZ0FkZHJlc3MFAAAADWtQZXJpb2RMZW5ndGgCAAAAE0VtcHR5IGtQZXJpb2RMZW5ndGgAAAAAFWR1cmF0aW9uRnVsbFZvdGVQb3dlcgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAADXZvdGluZ0FkZHJlc3MFAAAAFmtEdXJhdGlvbkZ1bGxWb3RlUG93ZXICAAAAHEVtcHR5IGtEdXJhdGlvbkZ1bGxWb3RlUG93ZXIAAAAADG1pblZvdGVQb3dlcgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAADXZvdGluZ0FkZHJlc3MFAAAADWtNaW5Wb3RlUG93ZXICAAAAE0VtcHR5IGtNaW5Wb3RlUG93ZXIAAAAACGlzQWN0aXZlCQEAAAARQGV4dHJOYXRpdmUoMTA1MSkAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUAAAAACmN1cnJQZXJpb2QJAABkAAAAAgUAAAAKYmFzZVBlcmlvZAkAAGkAAAACCQAAZQAAAAIFAAAABmhlaWdodAUAAAALc3RhcnRIZWlnaHQFAAAADHBlcmlvZExlbmd0aAEAAAANZ2V0TGltaXRUb2tlbgAAAAEAAAAEcG9vbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEcG9vbAUAAAAZa2V5TGltaXRTaGFyZUZpcnN0SGFydmVzdAAAAAAAAAAAAAAAAAADQVBZCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAAAZrZXlBUFkAAAAAEFN3b3BZZWFyRW1pc3Npb24JAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAE2tleVN3b3BZZWFyRW1pc3Npb24BAAAACmFzc2V0TmFtZUEAAAABAAAABHBvb2wEAAAAByRtYXRjaDAJAQAAAAhhc3NldElkQQAAAAEFAAAABHBvb2wDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAmlkBQAAAAckbWF0Y2gw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HWtleVRvdGFsUmV3YXJkUGVyQmxvY2tDdXJyZW50CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAda2V5VG90YWxSZXdhcmRQZXJCbG9ja0N1cnJlbnQCAAAADCBhdCBhZGRyZXNzIAkABCUAAAABBQAAABFnb3Zlcm5hbmNlQWRkcmVzcwQAAAAbdG90YWxSZXdhcmRQZXJCbG9ja1ByZXZpb3VzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAARZ292ZXJuYW5jZUFkZHJlc3MFAAAAHmtleVRvdGFsUmV3YXJkUGVyQmxvY2tQcmV2aW91cwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAAHmtleVRvdGFsUmV3YXJkUGVyQmxvY2tQcmV2aW91cwIAAAAMIGF0IGFkZHJlc3MgCQAEJQAAAAEFAAAAEWdvdmVybmFuY2VBZGRyZXNzBAAAABlyZXdhcmRQb29sRnJhY3Rpb25DdXJyZW50CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAARZ292ZXJuYW5jZUFkZHJlc3MJAAEsAAAAAgUAAAAEcG9vbAUAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAEcG9vbAUAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAIAAAAMIGF0IGFkZHJlc3MgCQAEJQAAAAEFAAAAEWdvdmVybmFuY2VBZGRyZXNzBAAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABFnb3Zlcm5hbmNlQWRkcmVzcwUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AgAAAAwgYXQgYWRkcmVzcyAJAAQlAAAAAQUAAAARZ292ZXJuYW5jZUFkZHJlc3MEAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAARZ292ZXJuYW5jZUFkZHJlc3MJAAEsAAAAAgUAAAAEcG9vbAUAAAAVa2V5SGVpZ2h0UG9vbEZyYWN0aW9uAAAAAAAAAAAABAAAABpyZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEWdvdmVybmFuY2VBZGRyZXNzCQABLAAAAAIFAAAABHBvb2wFAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAARwb29sBQAAAB1rZXlSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwIAAAAMIGF0IGFkZHJlc3MgCQAEJQAAAAEFAAAAEWdvdmVybmFuY2VBZGRyZXNzBAAAABFyZXdhcmRQb29sQ3VycmVudAkAAaAAAAABCQABPAAAAAMJAAE2AAAAAQUAAAAadG90YWxSZXdhcmRQZXJCbG9ja0N1cnJlbnQJAAE2AAAAAQUAAAAZcmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAkAATYAAAABBQAAAA50b3RhbFZvdGVTaGFyZQQAAAAScmV3YXJkUG9vbFByZXZpb3VzCQABoAAAAAEJAAE8AAAAAwkAATYAAAABBQAAABt0b3RhbFJld2FyZFBlckJsb2NrUHJldmlvdXMJAAE2AAAAAQUAAAAacmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMJAAE2AAAAAQUAAAAOdG90YWxWb3RlU2hhcmUDAwkAAGYAAAACBQAAABFyZXdhcmRQb29sQ3VycmVudAUAAAAadG90YWxSZXdhcmRQZXJCbG9ja0N1cnJlbnQGCQAAZgAAAAIFAAAAEnJld2FyZFBvb2xQcmV2aW91cwUAAAAbdG90YWxSZXdhcmRQZXJCbG9ja1ByZXZpb3VzCQAAAgAAAAECAAAAYnJld2FyZFBvb2xDdXJyZW50ID4gdG90YWxSZXdhcmRQZXJCbG9ja0N1cnJlbnQgb3IgcmV3YXJkUG9vbFByZXZpb3VzID4gdG90YWxSZXdhcmRQZXJCbG9ja1ByZXZpb3VzCQAFFgAAAAQFAAAAEXJld2FyZFBvb2xDdXJyZW50BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAEnJld2FyZFBvb2xQcmV2aW91cwUAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAEAAAAEcG9vbAQAAAAMbGFzdEludGVyZXN0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAARwb29sBQAAAA9rZXlMYXN0SW50ZXJlc3QJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAEcG9vbAUAAAAPa2V5TGFzdEludGVyZXN0BAAAABJsYXN0SW50ZXJlc3RIZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAARwb29sBQAAABVrZXlMYXN0SW50ZXJlc3RIZWlnaHQFAAAABmhlaWdodAkABRQAAAACBQAAABJsYXN0SW50ZXJlc3RIZWlnaHQFAAAADGxhc3RJbnRlcmVzdAEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIAAAAEcG9vbAAAAAt1c2VyQWRkcmVzcwQAAAAQdXNlckxhc3RJbnRlcmVzdAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfCQAEJQAAAAEFAAAAC3VzZXJBZGRyZXNzBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BAAAAAl1c2VyU2hhcmUJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABBQAAAAt1c2VyQWRkcmVzcwUAAAAYa2V5VXNlclNoYXJlVG9rZW5zTG9ja2VkBAAAAAxsYXN0SW50ZXJlc3QJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAD2tleUxhc3RJbnRlcmVzdAkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAARwb29sBQAAAA9rZXlMYXN0SW50ZXJlc3QEAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQQAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAABB1c2VyTGFzdEludGVyZXN0BQAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QEAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAQAAAAHJG1hdGNoMAUAAAAJdXNlclNoYXJlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAACXVzZXJTaGFyZQUAAAAHJG1hdGNoMAUAAAAJdXNlclNoYXJlAAAAAAAAAAAACQAFFAAAAAIFAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQUAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50AQAAAAxjYWxjSW50ZXJlc3QAAAAKAAAAEmxhc3RJbnRlcmVzdEhlaWdodAAAABJyZXdhcmRVcGRhdGVIZWlnaHQAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAAAAAxsYXN0SW50ZXJlc3QAAAAVY3VycmVudFJld2FyZFBlckJsb2NrAAAAEHNoYXJlVG9rZW5Mb2NrZWQAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawAAAAxzaGFyZUFzc2V0SWQAAAAKc2NhbGVWYWx1ZQAAAAlwbXRBbW91bnQDCQAAAAAAAAIFAAAAEHNoYXJlVG9rZW5Mb2NrZWQAAAAAAAAAAAAAAAAAAAAAAAADCQEAAAACIT0AAAACBQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0AAAAAAAAAAAAAwMJAABmAAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAAAZoZWlnaHQJAAAAAAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0BwQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQJAABkAAAAAgUAAAAMbGFzdEludGVyZXN0CQABoAAAAAEJAAE8AAAAAwkAATYAAAABBQAAAAZyZXdhcmQJAAE2AAAAAQUAAAAKc2NhbGVWYWx1ZQkAATYAAAABBQAAABBzaGFyZVRva2VuTG9ja2VkAwMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAQAAAAIhPQAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAcEAAAABnJld2FyZAkAAGgAAAACBQAAABZwcmV2aW91c1Jld2FyZFBlckJsb2NrCQAAZQAAAAIFAAAABmhlaWdodAUAAAASbGFzdEludGVyZXN0SGVpZ2h0CQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAaAAAAABCQABPAAAAAMJAAE2AAAAAQUAAAAGcmV3YXJkCQABNgAAAAEFAAAACnNjYWxlVmFsdWUJAAE2AAAAAQUAAAAQc2hhcmVUb2tlbkxvY2tlZAMDAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAAAAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQHCQAAZgAAAAIFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BwQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAkAAGQAAAACBQAAAAxsYXN0SW50ZXJlc3QJAAGgAAAAAQkAATwAAAADCQABNgAAAAEFAAAABnJld2FyZAkAATYAAAABBQAAAApzY2FsZVZhbHVlCQABNgAAAAEFAAAAEHNoYXJlVG9rZW5Mb2NrZWQEAAAAKnJld2FyZEFmdGVyTGFzdEludGVyZXN0QmVmb3JlUmVhd2FyZFVwZGF0ZQkAAGgAAAACBQAAABZwcmV2aW91c1Jld2FyZFBlckJsb2NrCQAAZQAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAASbGFzdEludGVyZXN0SGVpZ2h0BAAAABNpbnRlcmVzdEFmdGVyVXBkYXRlCQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAaAAAAABCQABPAAAAAMJAAE2AAAAAQUAAAAqcmV3YXJkQWZ0ZXJMYXN0SW50ZXJlc3RCZWZvcmVSZWF3YXJkVXBkYXRlCQABNgAAAAEFAAAACnNjYWxlVmFsdWUJAAE2AAAAAQUAAAAQc2hhcmVUb2tlbkxvY2tlZAQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAGQAAAACBQAAABNpbnRlcmVzdEFmdGVyVXBkYXRlCQABoAAAAAEJAAE8AAAAAwkAATYAAAABBQAAAAZyZXdhcmQJAAE2AAAAAQUAAAAKc2NhbGVWYWx1ZQkAATYAAAABBQAAABBzaGFyZVRva2VuTG9ja2VkAwkAAGYAAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAABmhlaWdodAQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQJAABkAAAAAgUAAAAMbGFzdEludGVyZXN0CQABoAAAAAEJAAE8AAAAAwkAATYAAAABBQAAAAZyZXdhcmQJAAE2AAAAAQUAAAAKc2NhbGVWYWx1ZQkAATYAAAABBQAAABBzaGFyZVRva2VuTG9ja2VkAwkAAGYAAAACBQAAABJsYXN0SW50ZXJlc3RIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAkAAGQAAAACBQAAAAxsYXN0SW50ZXJlc3QJAAGgAAAAAQkAATwAAAADCQABNgAAAAEFAAAABnJld2FyZAkAATYAAAABBQAAAApzY2FsZVZhbHVlCQABNgAAAAEFAAAAEHNoYXJlVG9rZW5Mb2NrZWQEAAAAKnJld2FyZEFmdGVyTGFzdEludGVyZXN0QmVmb3JlUmVhd2FyZFVwZGF0ZQkAAGgAAAACBQAAABZwcmV2aW91c1Jld2FyZFBlckJsb2NrCQAAZQAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAASbGFzdEludGVyZXN0SGVpZ2h0BAAAABNpbnRlcmVzdEFmdGVyVXBkYXRlCQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAaAAAAABCQABPAAAAAMJAAE2AAAAAQUAAAAqcmV3YXJkQWZ0ZXJMYXN0SW50ZXJlc3RCZWZvcmVSZWF3YXJkVXBkYXRlCQABNgAAAAEFAAAACnNjYWxlVmFsdWUJAAE2AAAAAQUAAAAQc2hhcmVUb2tlbkxvY2tlZAQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAGQAAAACBQAAABNpbnRlcmVzdEFmdGVyVXBkYXRlCQABoAAAAAEJAAE8AAAAAwkAATYAAAABBQAAAAZyZXdhcmQJAAE2AAAAAQUAAAAKc2NhbGVWYWx1ZQkAATYAAAABBQAAABBzaGFyZVRva2VuTG9ja2VkAQAAAAljbGFpbUNhbGMAAAADAAAABHBvb2wAAAAGY2FsbGVyAAAACXBtdEFtb3VudAQAAAAMc2hhcmVBc3NldElkCQEAAAAPZ2V0U2hhcmVBc3NldElkAAAAAQUAAAAEcG9vbAQAAAAKc2NhbGVWYWx1ZQkBAAAADmNhbGNTY2FsZVZhbHVlAAAAAgUAAAAEU1dPUAUAAAAMc2hhcmVBc3NldElkBAAAABBzaGFyZVRva2VuTG9ja2VkCQEAAAAYZ2V0VG90YWxTaGFyZVRva2VuTG9ja2VkAAAAAQUAAAAEcG9vbAQAAAANJHQwMTM4OTMxMzk1OAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAABBQAAAARwb29sBAAAABJsYXN0SW50ZXJlc3RIZWlnaHQIBQAAAA0kdDAxMzg5MzEzOTU4AAAAAl8xBAAAAAxsYXN0SW50ZXJlc3QIBQAAAA0kdDAxMzg5MzEzOTU4AAAAAl8yBAAAAA0kdDAxMzk2MzE0MDc1CQEAAAAKcmV3YXJkSW5mbwAAAAEFAAAABHBvb2wEAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawgFAAAADSR0MDEzOTYzMTQwNzUAAAACXzEEAAAAEnJld2FyZFVwZGF0ZUhlaWdodAgFAAAADSR0MDEzOTYzMTQwNzUAAAACXzIEAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sIBQAAAA0kdDAxMzk2MzE0MDc1AAAAAl8zBAAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0CAUAAAANJHQwMTM5NjMxNDA3NQAAAAJfNAQAAAANJHQwMTQwODAxNDE1OQkBAAAAE2dldFVzZXJJbnRlcmVzdEluZm8AAAACBQAAAARwb29sBQAAAAZjYWxsZXIEAAAAEHVzZXJMYXN0SW50ZXJlc3QIBQAAAA0kdDAxNDA4MDE0MTU5AAAAAl8xBAAAABV1c2VyU2hhcmVUb2tlbnNBbW91bnQIBQAAAA0kdDAxNDA4MDE0MTU5AAAAAl8yBAAAAA9jdXJyZW50SW50ZXJlc3QJAQAAAAxjYWxjSW50ZXJlc3QAAAAKBQAAABJsYXN0SW50ZXJlc3RIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAUAAAAMbGFzdEludGVyZXN0BQAAABVjdXJyZW50UmV3YXJkUGVyQmxvY2sFAAAAEHNoYXJlVG9rZW5Mb2NrZWQFAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sFAAAADHNoYXJlQXNzZXRJZAUAAAAKc2NhbGVWYWx1ZQUAAAAJcG10QW1vdW50BAAAAAtjbGFpbUFtb3VudAkAAaAAAAABCQABPAAAAAMJAAE2AAAAAQUAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50CQABNgAAAAEJAABlAAAAAgUAAAAPY3VycmVudEludGVyZXN0BQAAABB1c2VyTGFzdEludGVyZXN0CQABNgAAAAEFAAAACnNjYWxlVmFsdWUEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAPY3VycmVudEludGVyZXN0CQAFFgAAAAQFAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAPY3VycmVudEludGVyZXN0BQAAAAtjbGFpbUFtb3VudAUAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50AQAAABdjYWxjdWxhdGVQcm90b2NvbFJld2FyZAAAAAEAAAAEcG9vbAQAAAANJHQwMTQ3MjAxNDc4NQkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAABBQAAAARwb29sBAAAABJsYXN0SW50ZXJlc3RIZWlnaHQIBQAAAA0kdDAxNDcyMDE0Nzg1AAAAAl8xBAAAAAxsYXN0SW50ZXJlc3QIBQAAAA0kdDAxNDcyMDE0Nzg1AAAAAl8yBAAAAA0kdDAxNDc5MDE0OTAxCQEAAAAKcmV3YXJkSW5mbwAAAAEFAAAABHBvb2wEAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawgFAAAADSR0MDE0NzkwMTQ5MDEAAAACXzEEAAAAEnJld2FyZFVwZGF0ZUhlaWdodAgFAAAADSR0MDE0NzkwMTQ5MDEAAAACXzIEAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sIBQAAAA0kdDAxNDc5MDE0OTAxAAAAAl8zBAAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0CAUAAAANJHQwMTQ3OTAxNDkwMQAAAAJfNAQAAAAQc2hhcmVUb2tlbkxvY2tlZAkBAAAAGGdldFRvdGFsU2hhcmVUb2tlbkxvY2tlZAAAAAEFAAAABHBvb2wDAwkAAAAAAAACBQAAABBzaGFyZVRva2VuTG9ja2VkAAAAAAAAAAAACQAAAAAAAAIFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQAAAAAAAAAAAAHAwkAAGYAAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAABmhlaWdodAQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQFAAAABnJld2FyZAMJAABmAAAAAgUAAAASbGFzdEludGVyZXN0SGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQEAAAABnJld2FyZAkAAGgAAAACBQAAABVjdXJyZW50UmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQFAAAABnJld2FyZAQAAAAqcmV3YXJkQWZ0ZXJMYXN0SW50ZXJlc3RCZWZvcmVSZWF3YXJkVXBkYXRlCQAAaAAAAAIFAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQEAAAABnJld2FyZAkAAGgAAAACBQAAABVjdXJyZW50UmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAABkAAAAAgUAAAAGcmV3YXJkBQAAACpyZXdhcmRBZnRlckxhc3RJbnRlcmVzdEJlZm9yZVJlYXdhcmRVcGRhdGUDAwkAAAAAAAACBQAAABBzaGFyZVRva2VuTG9ja2VkAAAAAAAAAAAACQEAAAACIT0AAAACBQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0AAAAAAAAAAAABwMDCQAAZgAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAAGaGVpZ2h0CQAAAAAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAcEAAAABnJld2FyZAkAAGgAAAACBQAAABZwcmV2aW91c1Jld2FyZFBlckJsb2NrCQAAZQAAAAIFAAAABmhlaWdodAUAAAASbGFzdEludGVyZXN0SGVpZ2h0BQAAAAZyZXdhcmQDAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkBAAAAAiE9AAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0BwQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQFAAAABnJld2FyZAMDAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAAAAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQHCQAAZgAAAAIFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BwQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAUAAAAGcmV3YXJkBAAAACpyZXdhcmRBZnRlckxhc3RJbnRlcmVzdEJlZm9yZVJlYXdhcmRVcGRhdGUJAABoAAAAAgUAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawkAAGUAAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAGQAAAACBQAAAAZyZXdhcmQFAAAAKnJld2FyZEFmdGVyTGFzdEludGVyZXN0QmVmb3JlUmVhd2FyZFVwZGF0ZQAAAAAAAAAAAAEAAAAWY2hlY2tQbXRBc3NldElkQ29ycmVjdAAAAAIAAAAEcG9vbAAAAApwbXRBc3NldElkBAAAABBwb29sU2hhcmVBc3NldElkCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQUAAAAEcG9vbAIAAAAOc2hhcmVfYXNzZXRfaWQDCQAAAAAAAAIFAAAACnBtdEFzc2V0SWQFAAAAEHBvb2xTaGFyZUFzc2V0SWQGBwEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAgAAAARwb29sAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABBQAAAAR1c2VyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQAAAAAAAAAAAABAAAAB3N1c3BlbmQAAAABAAAABWNhdXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACGtleUNhdXNlBQAAAAVjYXVzZQUAAAADbmlsAAAACAAAAAFpAQAAAARpbml0AAAAAQAAAAdlYXJseUxQAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAEdGhpcwUAAAAJa2V5U1dPUGlkCQAAAgAAAAECAAAAGFNXT1AgYWxyZWFkeSBpbml0aWFsaXplZAQAAAAKaW5pdEFtb3VudAAAAFrzEHpAAAQAAAAJU1dPUGlzc3VlCQAEQgAAAAUCAAAABFNXT1ACAAAAE1NXT1AgcHJvdG9jb2wgdG9rZW4FAAAACmluaXRBbW91bnQAAAAAAAAAAAgGBAAAAAZTV09QaWQJAAQ4AAAAAQUAAAAJU1dPUGlzc3VlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUGCQAETAAAAAIJAARCAAAABQIAAAAEU1dPUAIAAAATU1dPUCBwcm90b2NvbCB0b2tlbgUAAAAKaW5pdEFtb3VudAAAAAAAAAAACAYJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAJa2V5U1dPUGlkCQACWAAAAAEFAAAABlNXT1BpZAUAAAADbmlsAAAAAWkBAAAAFGluaXRQb29sU2hhcmVGYXJtaW5nAAAAAQAAAARwb29sAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAAK09ubHkgdGhlIERBcHAgaXRzZWxmIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24EAAAADSR0MDE3ODgzMTc5ODYJAQAAAApyZXdhcmRJbmZvAAAAAQUAAAAEcG9vbAQAAAANY3VycmVudFJld2FyZAgFAAAADSR0MDE3ODgzMTc5ODYAAAACXzEEAAAAEnJld2FyZFVwZGF0ZUhlaWdodAgFAAAADSR0MDE3ODgzMTc5ODYAAAACXzIEAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sIBQAAAA0kdDAxNzg4MzE3OTg2AAAAAl8zBAAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0CAUAAAANJHQwMTc4ODMxNzk4NgAAAAJfNAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABRrZXlTaGFyZVRva2Vuc0xvY2tlZAAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAAA9rZXlMYXN0SW50ZXJlc3QAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAVa2V5TGFzdEludGVyZXN0SGVpZ2h0BQAAAAZoZWlnaHQFAAAAA25pbAAAAAFpAQAAABJ1cGRhdGVQb29sSW50ZXJlc3QAAAABAAAABHBvb2wDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABndhbGxldAkAAAIAAAABAgAAACxPbmx5IHRoZSBBZG1pbiBpdHNlbGYgY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAANJHQwMTgzOTUxODUxNQkBAAAACWNsYWltQ2FsYwAAAAMFAAAABHBvb2wFAAAAHGFkbWluSW5jcmVhc2VJbnRlcmVzdEFkZHJlc3MAAAAAAAAAAAAEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDE4Mzk1MTg1MTUAAAACXzEEAAAAD2N1cnJlbnRJbnRlcmVzdAgFAAAADSR0MDE4Mzk1MTg1MTUAAAACXzIEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTgzOTUxODUxNQAAAAJfMwQAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50CAUAAAANJHQwMTgzOTUxODUxNQAAAAJfNAQAAAANJHQwMTg1MjAxODYyMwkBAAAACnJld2FyZEluZm8AAAABBQAAAARwb29sBAAAAA1jdXJyZW50UmV3YXJkCAUAAAANJHQwMTg1MjAxODYyMwAAAAJfMQQAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CAUAAAANJHQwMTg1MjAxODYyMwAAAAJfMgQAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawgFAAAADSR0MDE4NTIwMTg2MjMAAAACXzMEAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQIBQAAAA0kdDAxODUyMDE4NjIzAAAAAl80CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAD2tleUxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUxhc3RJbnRlcmVzdEhlaWdodAUAAAAGaGVpZ2h0BQAAAANuaWwAAAABaQEAAAAPbG9ja1NoYXJlVG9rZW5zAAAAAQAAAARwb29sBAAAAA0kdDAxODgxNTE4ODkwCQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAANJHQwMTg4MTUxODg5MAAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAADSR0MDE4ODE1MTg4OTAAAAACXzIEAAAADSR0MDE4ODk1MTg5NjgJAQAAAAxnZXRBc3NldEluZm8AAAABBQAAAApwbXRBc3NldElkBAAAAA1wbXRTdHJBc3NldElkCAUAAAANJHQwMTg4OTUxODk2OAAAAAJfMQQAAAAMcG10QXNzZXROYW1lCAUAAAANJHQwMTg4OTUxODk2OAAAAAJfMgQAAAALcG10RGVjaW1hbHMIBQAAAA0kdDAxODg5NTE4OTY4AAAAAl8zBAAAAA0kdDAxODk3MzE5MDgxCQEAAAAJY2xhaW1DYWxjAAAAAwUAAAAEcG9vbAgFAAAAAWkAAAAGY2FsbGVyBQAAAAlwbXRBbW91bnQEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDE4OTczMTkwODEAAAACXzEEAAAAD2N1cnJlbnRJbnRlcmVzdAgFAAAADSR0MDE4OTczMTkwODEAAAACXzIEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTg5NzMxOTA4MQAAAAJfMwQAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50CAUAAAANJHQwMTg5NzMxOTA4MQAAAAJfNAQAAAASdXNlclNoYXJlQW1vdW50TmV3CQAAZAAAAAIFAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAUAAAAJcG10QW1vdW50BAAAABFhdmFpbGFibGVGdW5kc05ldwkAAGQAAAACCQEAAAARdXNlckF2YWlsYWJsZVNXT1AAAAACBQAAAARwb29sCAUAAAABaQAAAAZjYWxsZXIFAAAAC2NsYWltQW1vdW50BAAAABB0b3RhbFNoYXJlQW1vdW50CQEAAAAYZ2V0VG90YWxTaGFyZVRva2VuTG9ja2VkAAAAAQUAAAAEcG9vbAQAAAATdG90YWxTaGFyZUFtb3VudE5ldwkAAGQAAAACBQAAABB0b3RhbFNoYXJlQW1vdW50BQAAAAlwbXRBbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAgUAAAAEcG9vbAgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAACWJhc2VFbnRyeQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTaGFyZVRva2Vuc0xvY2tlZAUAAAASdXNlclNoYXJlQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAFGtleVNoYXJlVG9rZW5z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MjM3MzEAAAACXzEEAAAAD2N1cnJlbnRJbnRlcmVzdAgFAAAADSR0MDIzNjMxMjM3MzEAAAACXzIEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMjM2MzEyMzczMQAAAAJfMwQAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50CAUAAAANJHQwMjM2MzEyMzczMQAAAAJfNAQAAAASdXNlclNoYXJlQW1vdW50TmV3CQAAZQAAAAIFAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAUAAAAZc2hhcmVUb2tlbnNXaXRoZHJhd0Ftb3VudAQAAAARYXZhaWxhYmxlRnVuZHNOZXcJAABkAAAAAgkBAAAAEXVzZXJBdmFpbGFibGVTV09QAAAAAgUAAAAEcG9vbAgFAAAAAWkAAAAGY2FsbGVyBQAAAAtjbGFpbUFtb3VudAQAAAAQdG90YWxTaGFyZUFtb3VudAkBAAAAGGdldFRvdGFsU2hhcmVUb2tlbkxvY2tlZAAAAAEFAAAABHBvb2wEAAAAE3RvdGFsU2hhcmVBbW91bnROZXcJAABlAAAAAgUAAAAQdG90YWxTaGFyZUFtb3VudAUAAAAZc2hhcmVUb2tlbnNXaXRoZHJhd0Ftb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAACBQAAAARwb29sCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAMJAABmAAAAAgUAAAAZc2hhcmVUb2tlbnNXaXRoZHJhd0Ftb3VudAUAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50CQAAAgAAAAECAAAALFdpdGhkcmF3IGFtb3VudCBtb3JlIHRoZW4gdXNlciBsb2NrZWQgYW1vdW50AwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50AwkAAGYAAAACBQAAABlzaGFyZVRva2Vuc1dpdGhkcmF3QW1vdW50BQAAABV1c2VyU2hhcmVUb2tlbnNBbW91bnQJAAACAAAAAQIAAAAsV2l0aGRyYXcgYW1vdW50IG1vcmUgdGhlbiB1c2VyIGxvY2tlZCBhbW91bnQDCQAAZgAAAAIJAAGgAAAAAQkAATwAAAADCQABNgAAAAEAAAAAAAAAAGMJAAE2AAAAAQkAAGUAAAACCQEAAAAOYWNjb3VudEJhbGFuY2UAAAABBQAAAA1zaGFyZVRva2Vuc0lkBQAAABlzaGFyZVRva2Vuc1dpdGhkcmF3QW1vdW50CQABNgAAAAEAAAAAAAAAAGQFAAAAE3RvdGFsU2hhcmVBbW91bnROZXcJAAACAAAAAQIAAAAyQmFsYW5jZSBvZiBzaGFyZS10b2tlbiBpcyBncmVhdGVyIHRoYW4gdG90YWxBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABHBvb2wCAAAAAV8JAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABHBvb2wCAAAAAV8JAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU2hhcmVUb2tlbnNMb2NrZWQFAAAAEnVzZXJTaGFyZUFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAAA9rZXlMYXN0SW50ZXJlc3QFAAAAD2N1cnJlbnRJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABVrZXlMYXN0SW50ZXJlc3RIZWlnaHQFAAAABmhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABRrZXlTaGFyZVRva2Vuc0xvY2tlZAUAAAATdG90YWxTaGFyZUFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEGtleUF2YWlsYWJsZVNXT1AFAAAAEWF2YWlsYWJsZUZ1bmRzTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAZc2hhcmVUb2tlbnNXaXRoZHJhd0Ftb3VudAUAAAANc2hhcmVUb2tlbnNJZAUAAAADbmlsAAAAAWkBAAAABWNsYWltAAAAAQAAAARwb29sBAAAAA1zaGFyZVRva2Vuc0lkCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQUAAAAEcG9vbAIAAAAOc2hhcmVfYXNzZXRfaWQEAAAAEHNoYXJlVG9rZW5Mb2NrZWQJAQAAABhnZXRUb3RhbFNoYXJlVG9rZW5Mb2NrZWQAAAABBQAAAARwb29sBAAAAA0kdDAyNTc3ODI1ODQzCQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAEFAAAABHBvb2wEAAAAEmxhc3RJbnRlcmVzdEhlaWdodAgFAAAADSR0MDI1Nzc4MjU4NDMAAAACXzEEAAAADGxhc3RJbnRlcmVzdAgFAAAADSR0MDI1Nzc4MjU4NDMAAAACXzIEAAAADSR0MDI1ODQ4MjU5NjAJAQAAAApyZXdhcmRJbmZvAAAAAQUAAAAEcG9vbAQAAAAVY3VycmVudFJld2FyZFBlckJsb2NrCAUAAAANJHQwMjU4NDgyNTk2MAAAAAJfMQQAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CAUAAAANJHQwMjU4NDgyNTk2MAAAAAJfMgQAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawgFAAAADSR0MDI1ODQ4MjU5NjAAAAACXzMEAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQIBQAAAA0kdDAyNTg0ODI1OTYwAAAAAl80BAAAAA0kdDAyNTk2NTI2MDY1CQEAAAAJY2xhaW1DYWxjAAAAAwUAAAAEcG9vbAgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAABBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAyNTk2NTI2MDY1AAAAAl8xBAAAAA9jdXJyZW50SW50ZXJlc3QIBQAAAA0kdDAyNTk2NTI2MDY1AAAAAl8yBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDI1OTY1MjYwNjUAAAACXzMEAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAgFAAAADSR0MDI1OTY1MjYwNjUAAAACXzQEAAAADWF2YWlsYWJsZUZ1bmQJAABkAAAAAgkBAAAAEXVzZXJBdmFpbGFibGVTV09QAAAAAgUAAAAEcG9vbAgFAAAAAWkAAAAGY2FsbGVyBQAAAAtjbGFpbUFtb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAACBQAAAARwb29sCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAMJAAAAAAAAAgUAAAANYXZhaWxhYmxlRnVuZAAAAAAAAAAAAAkAAAIAAAABAgAAABlZb3UgaGF2ZSAwIGF2YWlsYWJsZSBTV09QAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50AwkAAAAAAAACBQAAAA1hdmFpbGFibGVGdW5kAAAAAAAAAAAACQAAAgAAAAECAAAAGVlvdSBoYXZlIDAgYXZhaWxhYmxlIFNXT1ADCQAAZgAAAAIJAAGgAAAAAQkAATwAAAAD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", "height": 1614894, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3SQSFZgPjZ6dd9oeejv7KgzxRCkW25qSrk7ds28wANAy Next: Uk1nHTsyvefT1GRbGpUcxQFDvfqAqKMat5DqutDRPuF Diff:
OldNewDifferences
562562 then {
563563 let cx = aJ(addressFromStringValue(ag))
564564 let cy = (toInt(fraction(toBigInt(cx), toBigInt(cu), toBigInt(cv))) - ct)
565- if (if ((size(cr) > 1))
566- then (valueOrElse(parseInt(cr[1]), 0) >= co)
567- else false)
568- then throw("You can't share token")
569- else if ((bx > cx))
570- then throw(("You can't share token more than " + toString(cx)))
571- else if ((cy > 0))
572- then if ((toInt(fraction(toBigInt(99), toBigInt((aM(bN) + bx)), toBigInt(100))) > ck))
573- then throw("Balance of share-token is greater than totalAmount")
574- else if ((cj == 0))
575- then (cn ++ [ScriptTransfer(I, cw, aE)])
576- else if ((cy >= bx))
577- then cn
578- else throw(("Your maximum share token is " + toString(cy)))
579- else throw("You can't share token")
565+ if ((cy > 0))
566+ then if ((toInt(fraction(toBigInt(99), toBigInt((aM(bN) + bx)), toBigInt(100))) > ck))
567+ then throw("Balance of share-token is greater than totalAmount")
568+ else if ((cj == 0))
569+ then (cn ++ [ScriptTransfer(I, cw, aE)])
570+ else if ((cy >= bx))
571+ then cn
572+ else throw(("Your maximum share token is " + toString(cy)))
573+ else throw("You can't share token")
580574 }
581575 else throw("Your amount of token less than 0")
582576 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "_total_share_tokens_locked"
55
66 let b = "share_limit_on_first_harvest"
77
88 let c = "active"
99
1010 let d = "shutdown_cause"
1111
1212 let e = "_current_pool_fraction_reward"
1313
1414 let f = "_previous_pool_fraction_reward"
1515
1616 let g = "_pool_reward_update_height"
1717
1818 let h = "total_reward_per_block_current"
1919
2020 let i = "total_reward_per_block_previous"
2121
2222 let j = "reward_update_height"
2323
2424 let k = "_last_interest"
2525
2626 let l = "_last_interest_height"
2727
2828 let m = "_share_tokens_locked"
2929
3030 let n = "_last_interest"
3131
3232 let o = "SWOP_id"
3333
3434 let p = "_SWOP_claimed_amount"
3535
3636 let q = "_SWOP_last_claimed_amount"
3737
3838 let r = "_available_SWOP"
3939
4040 let s = "farming_start_height"
4141
4242 let t = "apy"
4343
4444 let u = "previous_total_vote_SWOP"
4545
4646 let v = "swop_year_emission"
4747
4848 let w = "A_asset_balance"
4949
5050 let x = "B_asset_balance"
5151
5252 let y = "_harvest_pool_activeVote_struc"
5353
5454 let z = "_harvest_user_pool_activeVote_struc"
5555
5656 let A = "share_limit_on_first_harvest"
5757
5858 let B = "A_asset_id"
5959
6060 let C = "B_asset_id"
6161
6262 let D = "first_harvest_height"
6363
6464 let E = "first_harvest"
6565
6666 let F = "sum_reward_previous"
6767
6868 let G = "sum_reward_current"
6969
7070 let H = Address(base58'3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU')
7171
7272 let I = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
7373
7474 let J = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
7575
7676 let K = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
7777
7878 let L = 10106
7979
8080 let M = 10000000000
8181
8282 let N = 10
8383
8484 let O = 1000
8585
8686 let P = 100000
8787
8888 let Q = 1000000
8989
9090 let R = 100000000
9191
9292 let S = 100000000000
9393
9494 let T = "admin_pub_1"
9595
9696 let U = "admin_pub_2"
9797
9898 let V = "admin_pub_3"
9999
100100 let W = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
101101
102102 func X (Y) = {
103103 let Z = getString(W, Y)
104104 if ($isInstanceOf(Z, "String"))
105105 then {
106106 let aa = Z
107107 fromBase58String(aa)
108108 }
109109 else {
110110 let ab = Z
111111 throw("Admin public key is empty")
112112 }
113113 }
114114
115115
116116 let ac = X(T)
117117
118118 let ad = X(U)
119119
120120 let ae = X(V)
121121
122122 func af (ag) = getStringValue(ag, B)
123123
124124
125125 func ah (ag) = getStringValue(ag, C)
126126
127127
128128 func ai (ag) = if ((af(ag) == "WAVES"))
129129 then unit
130130 else fromBase58String(af(ag))
131131
132132
133133 func aj (ag) = if ((ah(ag) == "WAVES"))
134134 then unit
135135 else fromBase58String(ah(ag))
136136
137137
138138 let ak = "base_period"
139139
140140 let al = "period_length"
141141
142142 let am = "start_height"
143143
144144 let an = "first_harvest_height"
145145
146146 let ao = "duration_full_vote_power"
147147
148148 let ap = "min_vote_power"
149149
150150 let aq = valueOrErrorMessage(getInteger(J, ak), "Empty kBasePeriod")
151151
152152 let ar = valueOrErrorMessage(getInteger(J, am), "Empty kStartHeight")
153153
154154 let as = valueOrErrorMessage(getInteger(J, al), "Empty kPeriodLength")
155155
156156 let at = valueOrErrorMessage(getInteger(J, ao), "Empty kDurationFullVotePower")
157157
158158 let au = valueOrErrorMessage(getInteger(J, ap), "Empty kMinVotePower")
159159
160160 let av = getBooleanValue(this, c)
161161
162162 let aw = (aq + ((height - ar) / as))
163163
164164 func ax (ag) = valueOrElse(getIntegerValue(ag, A), 0)
165165
166166
167167 let ay = getIntegerValue(this, t)
168168
169169 let az = getIntegerValue(this, v)
170170
171171 func aA (ag) = {
172172 let Z = ai(ag)
173173 if ($isInstanceOf(Z, "ByteVector"))
174174 then {
175175 let aB = Z
176176 value(assetInfo(aB)).name
177177 }
178178 else if ($isInstanceOf(Z, "Unit"))
179179 then {
180180 let aC = Z
181181 "WAVES"
182182 }
183183 else throw("Match error")
184184 }
185185
186186
187187 func aD (ag) = {
188188 let Z = aj(ag)
189189 if ($isInstanceOf(Z, "ByteVector"))
190190 then {
191191 let aB = Z
192192 value(assetInfo(aB)).name
193193 }
194194 else if ($isInstanceOf(Z, "Unit"))
195195 then {
196196 let aC = Z
197197 "WAVES"
198198 }
199199 else throw("Match error")
200200 }
201201
202202
203203 let aE = fromBase58String(getStringValue(this, o))
204204
205205 func aF (ag) = valueOrElse(getBoolean(ag, E), false)
206206
207207
208208 func aG (ag) = valueOrElse(getInteger(ag, D), 0)
209209
210210
211211 func aH (ag) = valueOrErrorMessage(getInteger(ag, w), ("No data on the key: " + w))
212212
213213
214214 func aI (ag) = valueOrErrorMessage(getInteger(ag, x), ("No data on the key: " + x))
215215
216216
217217 func aJ (ag) = valueOrErrorMessage(getInteger(ag, b), ("No data on the key: " + b))
218218
219219
220220 func aK (ag) = valueOrErrorMessage(getInteger(this, (ag + a)), (("No data on the key: " + ag) + a))
221221
222222
223223 func aL (ag) = fromBase58String(getStringValue(value(addressFromString(ag)), "share_asset_id"))
224224
225225
226226 func aM (aN) = {
227227 let Z = aN
228228 if ($isInstanceOf(Z, "ByteVector"))
229229 then {
230230 let aB = Z
231231 assetBalance(this, aB)
232232 }
233233 else if ($isInstanceOf(Z, "Unit"))
234234 then {
235235 let aC = Z
236236 wavesBalance(this).available
237237 }
238238 else throw("Match error")
239239 }
240240
241241
242242 func aO (aN) = {
243243 let Z = aN
244244 if ($isInstanceOf(Z, "ByteVector"))
245245 then {
246246 let aB = Z
247247 let aP = toBase58String(aB)
248248 let aQ = valueOrErrorMessage(assetInfo(aB), (("Asset " + aP) + " doesn't exist"))
249249 $Tuple3(aP, aQ.name, aQ.decimals)
250250 }
251251 else if ($isInstanceOf(Z, "Unit"))
252252 then {
253253 let aC = Z
254254 $Tuple3("WAVES", "WAVES", 8)
255255 }
256256 else throw("Match error")
257257 }
258258
259259
260260 func aR (aS,aT) = {
261261 let aU = value(assetInfo(aS)).decimals
262262 let aV = value(assetInfo(aT)).decimals
263263 let aW = ((aV - aU) + 8)
264264 pow(10, 0, aW, 0, 0, DOWN)
265265 }
266266
267267
268268 func aX (ag,aY) = valueOrElse(getInteger(this, (((ag + "_") + toString(aY)) + r)), 0)
269269
270270
271271 func aZ (ag) = {
272272 let ba = valueOrErrorMessage(getInteger(H, h), ((("No data on the key: " + h) + " at address ") + toString(H)))
273273 let bb = valueOrErrorMessage(getInteger(H, i), ((("No data on the key: " + i) + " at address ") + toString(H)))
274274 let bc = valueOrErrorMessage(getInteger(H, (ag + e)), (((("No data on the key: " + ag) + e) + " at address ") + toString(H)))
275275 let bd = valueOrErrorMessage(getInteger(H, j), ((("No data on the key: " + j) + " at address ") + toString(H)))
276276 let be = valueOrElse(getInteger(H, (ag + g)), 0)
277277 let bf = valueOrErrorMessage(getInteger(H, (ag + f)), (((("No data on the key: " + ag) + f) + " at address ") + toString(H)))
278278 let bg = toInt(fraction(toBigInt(ba), toBigInt(bc), toBigInt(M)))
279279 let bh = toInt(fraction(toBigInt(bb), toBigInt(bf), toBigInt(M)))
280280 if (if ((bg > ba))
281281 then true
282282 else (bh > bb))
283283 then throw("rewardPoolCurrent > totalRewardPerBlockCurrent or rewardPoolPrevious > totalRewardPerBlockPrevious")
284284 else $Tuple4(bg, bd, bh, be)
285285 }
286286
287287
288288 func bi (ag) = {
289289 let bj = valueOrErrorMessage(getInteger(this, (ag + k)), (("No data on the key: " + ag) + k))
290290 let bk = valueOrElse(getInteger(this, (ag + l)), height)
291291 $Tuple2(bk, bj)
292292 }
293293
294294
295295 func bl (ag,bm) = {
296296 let bn = getInteger(this, (((ag + "_") + toString(bm)) + n))
297297 let bo = getInteger(this, (((ag + "_") + toString(bm)) + m))
298298 let bj = valueOrErrorMessage(getInteger(this, (ag + k)), (("No data on the key: " + ag) + k))
299299 let bp = {
300300 let Z = bn
301301 if ($isInstanceOf(Z, "Int"))
302302 then {
303303 let bn = Z
304304 bn
305305 }
306306 else bj
307307 }
308308 let bq = {
309309 let Z = bo
310310 if ($isInstanceOf(Z, "Int"))
311311 then {
312312 let bo = Z
313313 bo
314314 }
315315 else 0
316316 }
317317 $Tuple2(bp, bq)
318318 }
319319
320320
321321 func br (bk,bd,be,bj,bs,bt,bu,bv,bw,bx) = if ((bt == 0))
322322 then 0
323323 else if ((be != 0))
324324 then if (if ((bd > height))
325325 then (bd == be)
326326 else false)
327327 then {
328328 let by = (bu * (height - bk))
329329 (bj + toInt(fraction(toBigInt(by), toBigInt(bw), toBigInt(bt))))
330330 }
331331 else if (if ((height > bd))
332332 then (bd != be)
333333 else false)
334334 then {
335335 let by = (bu * (height - bk))
336336 (bj + toInt(fraction(toBigInt(by), toBigInt(bw), toBigInt(bt))))
337337 }
338338 else if (if (if ((height > bd))
339339 then (bd == be)
340340 else false)
341341 then (bk > bd)
342342 else false)
343343 then {
344344 let by = (bs * (height - bk))
345345 (bj + toInt(fraction(toBigInt(by), toBigInt(bw), toBigInt(bt))))
346346 }
347347 else {
348348 let bz = (bu * (bd - bk))
349349 let bA = (bj + toInt(fraction(toBigInt(bz), toBigInt(bw), toBigInt(bt))))
350350 let by = (bs * (height - bd))
351351 (bA + toInt(fraction(toBigInt(by), toBigInt(bw), toBigInt(bt))))
352352 }
353353 else if ((bd > height))
354354 then {
355355 let by = (bu * (height - bk))
356356 (bj + toInt(fraction(toBigInt(by), toBigInt(bw), toBigInt(bt))))
357357 }
358358 else if ((bk > bd))
359359 then {
360360 let by = (bs * (height - bk))
361361 (bj + toInt(fraction(toBigInt(by), toBigInt(bw), toBigInt(bt))))
362362 }
363363 else {
364364 let bz = (bu * (bd - bk))
365365 let bA = (bj + toInt(fraction(toBigInt(bz), toBigInt(bw), toBigInt(bt))))
366366 let by = (bs * (height - bd))
367367 (bA + toInt(fraction(toBigInt(by), toBigInt(bw), toBigInt(bt))))
368368 }
369369
370370
371371 func bB (ag,bC,bx) = {
372372 let bv = aL(ag)
373373 let bw = aR(aE, bv)
374374 let bt = aK(ag)
375375 let bD = bi(ag)
376376 let bk = bD._1
377377 let bj = bD._2
378378 let bE = aZ(ag)
379379 let bs = bE._1
380380 let bd = bE._2
381381 let bu = bE._3
382382 let be = bE._4
383383 let bF = bl(ag, bC)
384384 let bn = bF._1
385385 let bq = bF._2
386386 let bG = br(bk, bd, be, bj, bs, bt, bu, bv, bw, bx)
387387 let bH = toInt(fraction(toBigInt(bq), toBigInt((bG - bn)), toBigInt(bw)))
388388 let bI = bG
389389 $Tuple4(bI, bG, bH, bq)
390390 }
391391
392392
393393 func bJ (ag) = {
394394 let bK = bi(ag)
395395 let bk = bK._1
396396 let bj = bK._2
397397 let bL = aZ(ag)
398398 let bs = bL._1
399399 let bd = bL._2
400400 let bu = bL._3
401401 let be = bL._4
402402 let bt = aK(ag)
403403 if (if ((bt == 0))
404404 then (be == 0)
405405 else false)
406406 then if ((bd > height))
407407 then {
408408 let by = (bu * (height - bk))
409409 by
410410 }
411411 else if ((bk > bd))
412412 then {
413413 let by = (bs * (height - bk))
414414 by
415415 }
416416 else {
417417 let bz = (bu * (bd - bk))
418418 let by = (bs * (height - bd))
419419 (by + bz)
420420 }
421421 else if (if ((bt == 0))
422422 then (be != 0)
423423 else false)
424424 then if (if ((bd > height))
425425 then (bd == be)
426426 else false)
427427 then {
428428 let by = (bu * (height - bk))
429429 by
430430 }
431431 else if (if ((height > bd))
432432 then (bd != be)
433433 else false)
434434 then {
435435 let by = (bu * (height - bk))
436436 by
437437 }
438438 else if (if (if ((height > bd))
439439 then (bd == be)
440440 else false)
441441 then (bk > bd)
442442 else false)
443443 then {
444444 let by = (bs * (height - bk))
445445 by
446446 }
447447 else {
448448 let bz = (bu * (bd - bk))
449449 let by = (bs * (height - bd))
450450 (by + bz)
451451 }
452452 else 0
453453 }
454454
455455
456456 func bM (ag,bN) = {
457457 let bO = fromBase58String(getStringValue(value(addressFromString(ag)), "share_asset_id"))
458458 if ((bN == bO))
459459 then true
460460 else false
461461 }
462462
463463
464464 func bP (ag,aY) = valueOrElse(getInteger(this, (((ag + "_") + toString(aY)) + p)), 0)
465465
466466
467467 func bQ (bR) = [BooleanEntry(c, false), StringEntry(d, bR)]
468468
469469
470470 @Callable(bS)
471471 func init (bT) = if (isDefined(getString(this, o)))
472472 then throw("SWOP already initialized")
473473 else {
474474 let bU = 100000000000000
475475 let bV = Issue("SWOP", "SWOP protocol token", bU, 8, true)
476476 let bW = calculateAssetId(bV)
477477 [BooleanEntry(c, true), Issue("SWOP", "SWOP protocol token", bU, 8, true), StringEntry(o, toBase58String(bW))]
478478 }
479479
480480
481481
482482 @Callable(bS)
483483 func initPoolShareFarming (ag) = if ((bS.caller != this))
484484 then throw("Only the DApp itself can call this function")
485485 else {
486486 let bX = aZ(ag)
487487 let bY = bX._1
488488 let bd = bX._2
489489 let bu = bX._3
490490 let be = bX._4
491491 [IntegerEntry((ag + a), 0), IntegerEntry((ag + k), 0), IntegerEntry((ag + l), height)]
492492 }
493493
494494
495495
496496 @Callable(bS)
497497 func updatePoolInterest (ag) = if ((bS.caller != I))
498498 then throw("Only the Admin itself can call this function")
499499 else if (!(av))
500500 then throw("DApp is inactive at this moment")
501501 else {
502502 let bZ = bB(ag, K, 0)
503503 let bI = bZ._1
504504 let bG = bZ._2
505505 let bH = bZ._3
506506 let bq = bZ._4
507507 let ca = aZ(ag)
508508 let bY = ca._1
509509 let bd = ca._2
510510 let bu = ca._3
511511 let be = ca._4
512512 [IntegerEntry((ag + k), bI), IntegerEntry((ag + l), height)]
513513 }
514514
515515
516516
517517 @Callable(bS)
518518 func lockShareTokens (ag) = {
519519 let cb = $Tuple2(bS.payments[0].amount, bS.payments[0].assetId)
520520 let bx = cb._1
521521 let bN = cb._2
522522 let cc = aO(bN)
523523 let cd = cc._1
524524 let ce = cc._2
525525 let cf = cc._3
526526 let cg = bB(ag, bS.caller, bx)
527527 let bI = cg._1
528528 let bG = cg._2
529529 let bH = cg._3
530530 let bq = cg._4
531531 let ch = (bq + bx)
532532 let ci = (aX(ag, bS.caller) + bH)
533533 let cj = aK(ag)
534534 let ck = (cj + bx)
535535 let cl = bP(ag, bS.caller)
536536 let cm = (cl + bH)
537537 let cn = [IntegerEntry((((ag + "_") + toString(bS.caller)) + n), bI), IntegerEntry((((ag + "_") + toString(bS.caller)) + m), ch), IntegerEntry((ag + a), ck), IntegerEntry((ag + k), bG), IntegerEntry((ag + l), height), IntegerEntry((((ag + "_") + toString(bS.caller)) + p), cm), IntegerEntry((((ag + "_") + toString(bS.caller)) + q), bH), IntegerEntry((((ag + "_") + toString(bS.caller)) + r), ci)]
538538 if ((0 >= bx))
539539 then throw("You can't lock token")
540540 else if (!(av))
541541 then throw("DApp is inactive at this moment")
542542 else if (!(bM(ag, bN)))
543543 then throw("Incorrect pmtAssetId")
544544 else if (if (aF(Address(fromBase58String(ag))))
545545 then (aG(Address(fromBase58String(ag))) > height)
546546 else false)
547547 then {
548548 let co = ((((aG(Address(fromBase58String(ag))) - ar) + 1) / as) - 1)
549549 let cp = split(getStringValue(J, (((toString(bS.caller) + "_") + ag) + "_user_pool_struc")), "_")
550550 let cq = split(getStringValue(J, (ag + "_pool_struc")), "_")
551551 let cr = split(valueOrElse(getString(J, (((toString(bS.caller) + "_") + ag) + z)), ""), "_")
552552 let cs = split(valueOrElse(getString(J, (ag + y)), ""), "_")
553553 let ct = bq
554554 let cu = if ((toString(aw) == cp[2]))
555555 then valueOrElse(parseInt(cr[0]), 0)
556556 else valueOrElse(parseInt(cp[1]), 0)
557557 let cv = if ((toString(aw) == cq[2]))
558558 then valueOrElse(parseInt(cs[0]), 0)
559559 else valueOrElse(parseInt(cq[1]), 0)
560560 let cw = bJ(ag)
561561 if ((cu != 0))
562562 then {
563563 let cx = aJ(addressFromStringValue(ag))
564564 let cy = (toInt(fraction(toBigInt(cx), toBigInt(cu), toBigInt(cv))) - ct)
565- if (if ((size(cr) > 1))
566- then (valueOrElse(parseInt(cr[1]), 0) >= co)
567- else false)
568- then throw("You can't share token")
569- else if ((bx > cx))
570- then throw(("You can't share token more than " + toString(cx)))
571- else if ((cy > 0))
572- then if ((toInt(fraction(toBigInt(99), toBigInt((aM(bN) + bx)), toBigInt(100))) > ck))
573- then throw("Balance of share-token is greater than totalAmount")
574- else if ((cj == 0))
575- then (cn ++ [ScriptTransfer(I, cw, aE)])
576- else if ((cy >= bx))
577- then cn
578- else throw(("Your maximum share token is " + toString(cy)))
579- else throw("You can't share token")
565+ if ((cy > 0))
566+ then if ((toInt(fraction(toBigInt(99), toBigInt((aM(bN) + bx)), toBigInt(100))) > ck))
567+ then throw("Balance of share-token is greater than totalAmount")
568+ else if ((cj == 0))
569+ then (cn ++ [ScriptTransfer(I, cw, aE)])
570+ else if ((cy >= bx))
571+ then cn
572+ else throw(("Your maximum share token is " + toString(cy)))
573+ else throw("You can't share token")
580574 }
581575 else throw("Your amount of token less than 0")
582576 }
583577 else cn
584578 }
585579
586580
587581
588582 @Callable(bS)
589583 func withdrawShareTokens (ag,cz) = {
590584 let cA = fromBase58String(getStringValue(value(addressFromString(ag)), "share_asset_id"))
591585 let cB = bB(ag, bS.caller, 1)
592586 let bI = cB._1
593587 let bG = cB._2
594588 let bH = cB._3
595589 let bq = cB._4
596590 let ch = (bq - cz)
597591 let ci = (aX(ag, bS.caller) + bH)
598592 let cj = aK(ag)
599593 let ck = (cj - cz)
600594 let cl = bP(ag, bS.caller)
601595 let cm = (cl + bH)
602596 if ((cz > bq))
603597 then throw("Withdraw amount more then user locked amount")
604598 else if (!(av))
605599 then throw("DApp is inactive at this moment")
606600 else if ((cz > bq))
607601 then throw("Withdraw amount more then user locked amount")
608602 else if ((toInt(fraction(toBigInt(99), toBigInt((aM(cA) - cz)), toBigInt(100))) > ck))
609603 then throw("Balance of share-token is greater than totalAmount")
610604 else [IntegerEntry((((ag + "_") + toString(bS.caller)) + n), bI), IntegerEntry((((ag + "_") + toString(bS.caller)) + m), ch), IntegerEntry((ag + k), bG), IntegerEntry((ag + l), height), IntegerEntry((ag + a), ck), IntegerEntry((((ag + "_") + toString(bS.caller)) + r), ci), IntegerEntry((((ag + "_") + toString(bS.caller)) + p), cm), IntegerEntry((((ag + "_") + toString(bS.caller)) + q), bH), ScriptTransfer(bS.caller, cz, cA)]
611605 }
612606
613607
614608
615609 @Callable(bS)
616610 func claim (ag) = {
617611 let cA = fromBase58String(getStringValue(value(addressFromString(ag)), "share_asset_id"))
618612 let bt = aK(ag)
619613 let cC = bi(ag)
620614 let bk = cC._1
621615 let bj = cC._2
622616 let cD = aZ(ag)
623617 let bs = cD._1
624618 let bd = cD._2
625619 let bu = cD._3
626620 let be = cD._4
627621 let cE = bB(ag, bS.caller, 1)
628622 let bI = cE._1
629623 let bG = cE._2
630624 let bH = cE._3
631625 let bq = cE._4
632626 let cF = (aX(ag, bS.caller) + bH)
633627 let cl = bP(ag, bS.caller)
634628 let cm = (cl + bH)
635629 if ((cF == 0))
636630 then throw("You have 0 available SWOP")
637631 else if (!(av))
638632 then throw("DApp is inactive at this moment")
639633 else if ((cF == 0))
640634 then throw("You have 0 available SWOP")
641635 else if ((toInt(fraction(toBigInt(99), toBigInt(aM(cA)), toBigInt(100))) > bt))
642636 then throw("Balance of share-token is greater than totalAmount")
643637 else [IntegerEntry((((ag + "_") + toString(bS.caller)) + n), bI), IntegerEntry((ag + k), bG), IntegerEntry((ag + l), height), IntegerEntry((((ag + "_") + toString(bS.caller)) + r), 0), IntegerEntry((((ag + "_") + toString(bS.caller)) + p), cm), IntegerEntry((((ag + "_") + toString(bS.caller)) + q), bH), ScriptTransfer(bS.caller, cF, aE)]
644638 }
645639
646640
647641
648642 @Callable(bS)
649643 func shutdown () = if (!(av))
650644 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, d), "the cause wasn't specified")))
651645 else if (!(containsElement([ac, ad, ae], bS.callerPublicKey)))
652646 then throw("Only admin can call this function")
653647 else bQ("Paused by admin")
654648
655649
656650
657651 @Callable(bS)
658652 func activate () = if (av)
659653 then throw("DApp is already active")
660654 else if (!(containsElement([ac, ad, ae], bS.callerPublicKey)))
661655 then throw("Only admin can call this function")
662656 else [BooleanEntry(c, true), DeleteEntry(d)]
663657
664658
665659 @Verifier(cG)
666660 func cH () = {
667661 let Z = cG
668662 let cI = if (sigVerify(cG.bodyBytes, cG.proofs[0], ac))
669663 then 1
670664 else 0
671665 let cJ = if (sigVerify(cG.bodyBytes, cG.proofs[1], ad))
672666 then 1
673667 else 0
674668 let cK = if (sigVerify(cG.bodyBytes, cG.proofs[2], ae))
675669 then 1
676670 else 0
677671 (((cI + cJ) + cK) >= 2)
678672 }
679673

github/deemru/w8io/169f3d6 
71.21 ms