tx · 48jxFccffbmSKW9d4D41YaqtCzjYwxq5e3RAe9ZBVk52

3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU:  -0.14000000 Waves

2022.06.01 14:55 [2077249] smart account 3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU > SELF 0.00000000 Waves

{ "type": 13, "id": "48jxFccffbmSKW9d4D41YaqtCzjYwxq5e3RAe9ZBVk52", "fee": 14000000, "feeAssetId": null, "timestamp": 1654084565614, "version": 2, "chainId": 84, "sender": "3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU", "senderPublicKey": "AWADFmQjf2WbDSqb24S9YZpix3VEdiBdeiJ2J2sSfQ49", "proofs": [ "Vae8SnHMXp9gSRHBYY9s2dLUyVbZQgSrVXstgPuhKh2Q6dN7Y6dtD1Cj7VBhE5WLpzW1p5K5Db4yMoAxgxdsSUx", "4X7fhjpzL4DUS9KrM1Uqvte2X6s5gLuQ2yCahQ824Vs56dy9BRBnue8jqssvsXDAkR8GJZ5mnBEoYwh6D58g9qrY" ], "script": "base64:AAIFAAAAAAAAABsIAhIAEgASAwoBARIAEgASBgoEGBEBARIAEgAAAABjAAAAAAdrQWN0aXZlAgAAAAZhY3RpdmUAAAAABmtDYXVzZQIAAAAOc2h1dGRvd25fY2F1c2UAAAAADWtMYXN0SW50ZXJlc3QCAAAADWxhc3RfaW50ZXJlc3QAAAAAEWtVc2VyTGFzdEludGVyZXN0AgAAAA5fbGFzdF9pbnRlcmVzdAAAAAAPa1VzZXJTV09QTG9ja2VkAgAAAAxfU1dPUF9hbW91bnQAAAAAEmtVc2VyR2V0QmFja0hlaWdodAIAAAAOX2dldEJhY2tIZWlnaHQAAAAAEGtUb3RhbFNXT1BMb2NrZWQCAAAAEXRvdGFsX1NXT1BfYW1vdW50AAAAABJrVXNlclRvdGFsVm90ZVNXT1ACAAAAFV91c2VyX3RvdGFsX1NXT1Bfdm90ZQAAAAAVa1VzZXJWb3RlT3B0aW9uQW1vdW50AgAAABNfU1dPUF9vcHRpb25fYW1vdW50AAAAABZrVG90YWxWb3RlT3B0aW9uQW1vdW50AgAAABh0b3RhbF9TV09QX29wdGlvbl9hbW91bnQAAAAAFmtVc2VyU1dPUENsYWltZWRBbW91bnQCAAAAFF9TV09QX2NsYWltZWRfYW1vdW50AAAAABprVXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAIAAAAZX1NXT1BfbGFzdF9jbGFpbWVkX2Ftb3VudAAAAAAJa1ZvdGVOYW1lAgAAAAl2b3RlX25hbWUAAAAAC2tPcHRpb25OYW1lAgAAAAxfb3B0aW9uX25hbWUAAAAAEmtWb3RpbmdTdGFydEhlaWdodAIAAAAMX3N0YXJ0SGVpZ2h0AAAAAA1rVm90ZUR1cmF0aW9uAgAAAA5fdm90ZV9kdXJhdGlvbgAAAAAaa1Jld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQCAAAAHV9jdXJyZW50X3Bvb2xfZnJhY3Rpb25fcmV3YXJkAAAAABtrUmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMCAAAAHl9wcmV2aW91c19wb29sX2ZyYWN0aW9uX3Jld2FyZAAAAAATa0hlaWdodFBvb2xGcmFjdGlvbgIAAAAaX3Bvb2xfcmV3YXJkX3VwZGF0ZV9oZWlnaHQAAAAAG2tUb3RhbFJld2FyZFBlckJsb2NrQ3VycmVudAIAAAAedG90YWxfcmV3YXJkX3Blcl9ibG9ja19jdXJyZW50AAAAABxrVG90YWxSZXdhcmRQZXJCbG9ja1ByZXZpb3VzAgAAAB90b3RhbF9yZXdhcmRfcGVyX2Jsb2NrX3ByZXZpb3VzAAAAABNrUmV3YXJkVXBkYXRlSGVpZ2h0AgAAABRyZXdhcmRfdXBkYXRlX2hlaWdodAAAAAAia1Jld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAIAAAAlcmV3YXJkX3VwZGF0ZV9oZWlnaHRfZmlyc3RfcGFnaW5hdGlvbgAAAAATa05vVm90aW5nRm9yTmV3UG9vbAIAAAAIX3ZvdGVfbm8AAAAAFGtZZXNWb3RpbmdGb3JOZXdQb29sAgAAAAlfdm90ZV95ZXMAAAAAGWtBbW91bnRPZlZvdGluZ0Zvck5ld1Bvb2wCAAAAEW1heF9hbW91bnRfdm90aW5nAAAAABlrU3RhdHVzT2ZWb3RpbmdGb3JOZXdQb29sAgAAAAdfc3RhdHVzAAAAAB1rSGVpZ2h0T2ZQb29sVm90aW5nRm9yTmV3UG9vbAIAAAAOX2ZpbmlzaF9oZWlnaHQAAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAUdm90aW5nX2FjdGl2ZV9jZWxsXzEAAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8yAAAAAA9hY3RpdmVWb3RlVGhpcmQCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8zAAAAAAtrVGVtcEN1clN1bQIAAAASc3VtX3Jld2FyZF9jdXJyZW50AAAAABdrTGF1bmNocGFkQm91Z2h0VGlja2V0cwIAAAAPX2JvdWdodF90aWNrZXRzAAAAABhrTGF1bmNocGFkU3dvcFBlclRpY2tldHMCAAAAEF9zd29wX3Blcl90aWNrZXQAAAAAEmtMYXVuY2hwYWRBY3RpdmVJZAIAAAATbGF1bmNocGFkX2FjdGl2ZV9pZAAAAAASa0xhdW5jaHBhZER1cmF0aW9uAgAAAAlfZHVyYXRpb24AAAAAFWtMYXVuY2hwYWRTdGFydEhlaWdodAIAAAANX3N0YXJ0X2hlaWdodAAAAAAMa1N0YXJ0SGVpZ2h0AgAAAAxzdGFydF9oZWlnaHQAAAAAC2tCYXNlUGVyaW9kAgAAAAtiYXNlX3BlcmlvZAAAAAANa1BlcmlvZExlbmd0aAIAAAANcGVyaW9kX2xlbmd0aAAAAAAPa1VzZXJUb3RhbFN0cnVjAgAAABFfdXNlcl90b3RhbF9zdHJ1YwAAAAAaa0xhdWNocGFkRnJlZXpTd29wRHVyYXRpb24CAAAAFV9mcmVlemVfc3dvcF9kdXJhdGlvbgAAAAAHa1NXT1BpZAIAAAAHU1dPUF9pZAAAAAALa0FpcmRyb3BGZWUCAAAAC2FpcmRyb3BfZmVlAAAAAA1rQWRtaW5QdWJLZXkxAgAAAAthZG1pbl9wdWJfMQAAAAANa0FkbWluUHViS2V5MgIAAAALYWRtaW5fcHViXzIAAAAADWtBZG1pblB1YktleTMCAAAAC2FkbWluX3B1Yl8zAAAAAA9rTW9uZXlCb3hQdWJLZXkCAAAAEW1vbmV5X2JveF9wdWJfa2V5AAAAAAxrRmFybWluZ0FkZHICAAAAD2Zhcm1pbmdfYWRkcmVzcwAAAAALa1ZvdGluZ0FkZHICAAAADnZvdGluZ19hZGRyZXNzAAAAABJrVm90aW5nTmV3UG9vbEFkZHICAAAAF3ZvdGluZ19uZXdfcG9vbF9hZGRyZXNzAAAAAA5rTGF1bmNocGFkQWRkcgIAAAARbGF1bmNocGFkX2FkZHJlc3MAAAAAFGtBaXJkcm9wTW9uZXlCb3hBZGRyAgAAABVhaXJkcm9wX2ZlZV9tb25leV9ib3gAAAAABm9yYWNsZQkBAAAAB0FkZHJlc3MAAAABAQAAABoBVOlFqh6QLzqu8boO5i6akl8amITh82KzCAEAAAATZ2V0QmFzZTU4RnJvbU9yYWNsZQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABm9yYWNsZQUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAABnN0cmluZwUAAAAHJG1hdGNoMAkAAlkAAAABBQAAAAZzdHJpbmcEAAAAB25vdGhpbmcFAAAAByRtYXRjaDAJAAACAAAAAQkAASwAAAACBQAAAANrZXkCAAAACGlzIGVtcHR5AAAAAAxhZG1pblB1YktleTEJAQAAABNnZXRCYXNlNThGcm9tT3JhY2xlAAAAAQUAAAANa0FkbWluUHViS2V5MQAAAAAMYWRtaW5QdWJLZXkyCQEAAAATZ2V0QmFzZTU4RnJvbU9yYWNsZQAAAAEFAAAADWtBZG1pblB1YktleTIAAAAADGFkbWluUHViS2V5MwkBAAAAE2dldEJhc2U1OEZyb21PcmFjbGUAAAABBQAAAA1rQWRtaW5QdWJLZXkzAAAAAA5tb25leUJveFB1YktleQkBAAAAE2dldEJhc2U1OEZyb21PcmFjbGUAAAABBQAAAA9rTW9uZXlCb3hQdWJLZXkAAAAAC2Zhcm1pbmdBZGRyCQEAAAAHQWRkcmVzcwAAAAEJAQAAABNnZXRCYXNlNThGcm9tT3JhY2xlAAAAAQUAAAAMa0Zhcm1pbmdBZGRyAAAAAAp2b3RpbmdBZGRyCQEAAAAHQWRkcmVzcwAAAAEJAQAAABNnZXRCYXNlNThGcm9tT3JhY2xlAAAAAQUAAAALa1ZvdGluZ0FkZHIAAAAAEXZvdGluZ05ld1Bvb2xBZGRyCQEAAAAHQWRkcmVzcwAAAAEJAQAAABNnZXRCYXNlNThGcm9tT3JhY2xlAAAAAQUAAAASa1ZvdGluZ05ld1Bvb2xBZGRyAAAAAA1sYXVuY2hwYWRBZGRyCQEAAAAHQWRkcmVzcwAAAAEJAQAAABNnZXRCYXNlNThGcm9tT3JhY2xlAAAAAQUAAAAOa0xhdW5jaHBhZEFkZHIAAAAAE2FpcmRyb3BNb25leUJveEFkZHIJAQAAAAdBZGRyZXNzAAAAAQkBAAAAE2dldEJhc2U1OEZyb21PcmFjbGUAAAABBQAAABRrQWlyZHJvcE1vbmV5Qm94QWRkcgAAAAAEU1dPUAkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAtmYXJtaW5nQWRkcgUAAAAHa1NXT1BpZAAAAAAKc2NhbGVWYWx1ZQAAAAAABfXhAAAAAAAOdG90YWxWb3RlU2hhcmUAAAAAAlQL5AAAAAAACmJhc2VQZXJpb2QJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAp2b3RpbmdBZGRyBQAAAAtrQmFzZVBlcmlvZAIAAAAkRW1wdHkga0Jhc2VQZXJpb2QgYXQgdm90aW5nIGNvbnRyYWN0AAAAAAtzdGFydEhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAACnZvdGluZ0FkZHIFAAAADGtTdGFydEhlaWdodAIAAAAlRW1wdHkga1N0YXJ0SGVpZ2h0IGF0IHZvdGluZyBjb250cmFjdAAAAAAMcGVyaW9kTGVuZ3RoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAKdm90aW5nQWRkcgUAAAANa1BlcmlvZExlbmd0aAIAAAAmRW1wdHkga1BlcmlvZExlbmd0aCBhdCB2b3RpbmcgY29udHJhY3QAAAAAD2ZpcnN0QWN0aXZlVm90ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAABF2b3RpbmdOZXdQb29sQWRkcgUAAAAPYWN0aXZlVm90ZUZpcnN0AgAAAAAAAAAAEHNlY29uZEFjdGl2ZVZvdGUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAARdm90aW5nTmV3UG9vbEFkZHIFAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAAAAAAAAPdGhpcmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEXZvdGluZ05ld1Bvb2xBZGRyBQAAAA9hY3RpdmVWb3RlVGhpcmQCAAAAAAAAAAAIaXNBY3RpdmUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAAEdGhpcwUAAAAHa0FjdGl2ZQYAAAAACmFpcmRyb3BGZWUJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABm9yYWNsZQUAAAALa0FpcmRyb3BGZWUAAAAAEGN1cnJWb3RpbmdQZXJpb2QJAABkAAAAAgUAAAAKYmFzZVBlcmlvZAkAAGkAAAACCQAAZQAAAAIFAAAABmhlaWdodAUAAAALc3RhcnRIZWlnaHQFAAAADHBlcmlvZExlbmd0aAEAAAAHc3VzcGVuZAAAAAEAAAAFY2F1c2UJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAAB2tBY3RpdmUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAABmtDYXVzZQUAAAAFY2F1c2UFAAAAA25pbAEAAAASdGhyb3dOb3RFbm91Z2hTV09QAAAAAAkAAAIAAAABAgAAAEZOb3QgZW5vdWdoIFNXT1A6IHVzZXJTV09QTG9ja2VkIC0gdXNlclRvdGFsVm90ZUFtb3VudCA8IHZvdGVTV09QQW1vdW50AQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA1rTGFzdEludGVyZXN0AAAAAAAAAAAAAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAPa1VzZXJTV09QTG9ja2VkAAAAAAAAAAAAAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAFmtVc2VyU1dPUENsYWltZWRBbW91bnQAAAAAAAAAAAABAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAKdm90aW5nQWRkcgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAEmtVc2VyVG90YWxWb3RlU1dPUAAAAAAAAAAAAAEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIAAAAEdXNlcgAAAAxsYXN0SW50ZXJlc3QEAAAADnVzZXJTV09QQW1vdW50CQEAAAARZ2V0VXNlclNXT1BMb2NrZWQAAAABBQAAAAR1c2VyBAAAABB1c2VyTGFzdEludGVyZXN0CQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABFrVXNlckxhc3RJbnRlcmVzdAQAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBAAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAAByRtYXRjaDAFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAADGxhc3RJbnRlcmVzdAkABRQAAAACBQAAABV1c2VyTGFzdEludGVyZXN0VmFsdWUFAAAADnVzZXJTV09QQW1vdW50AQAAACBnZXRVc2VyVG90YWxWb3RlQW1vdW50Rm9yT25lUG9vbAAAAAIAAAAEcG9vbAAAAAR1c2VyBAAAAAZ2b3RpbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAARdm90aW5nTmV3UG9vbEFkZHIFAAAABHBvb2wA//////////8EAAAADmhlaWdodE9mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEXZvdGluZ05ld1Bvb2xBZGRyCQABLAAAAAIJAAGkAAAAAQUAAAAGdm90aW5nBQAAAB1rSGVpZ2h0T2ZQb29sVm90aW5nRm9yTmV3UG9vbAAAAAAAAAAAAAQAAAAOc3RhdHVzT2ZWb3RpbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAARdm90aW5nTmV3UG9vbEFkZHIJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAGWtTdGF0dXNPZlZvdGluZ0Zvck5ld1Bvb2wGBAAAAA1jdXJyZW50SGVpZ2h0BQAAAAZoZWlnaHQDCQAAZgAAAAIAAAAAAAAAAAAFAAAABnZvdGluZwAAAAAAAAAAAAMJAQAAAAEhAAAAAQUAAAAOc3RhdHVzT2ZWb3RpbmcAAAAAAAAAAAADCQAAZgAAAAIFAAAADmhlaWdodE9mVm90aW5nBQAAAA1jdXJyZW50SGVpZ2h0CQAAZAAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAARdm90aW5nTmV3UG9vbEFkZHIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgIAAAABXwkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAFGtZZXNWb3RpbmdGb3JOZXdQb29sAAAAAAAAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEXZvdGluZ05ld1Bvb2xBZGRyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXICAAAAAV8JAAGkAAAAAQUAAAAGdm90aW5nBQAAABNrTm9Wb3RpbmdGb3JOZXdQb29sAAAAAAAAAAAAAAAAAAAAAAAAAQAAACBnZXRVc2VyVG90YWxWb3RlRm9yTmV3UG9vbEFtb3VudAAAAAEAAAAEdXNlcgQAAAAMbGlzdE9mVm90aW5nCQAETAAAAAIJAQAAACBnZXRVc2VyVG90YWxWb3RlQW1vdW50Rm9yT25lUG9vbAAAAAIFAAAAD2ZpcnN0QWN0aXZlVm90ZQUAAAAEdXNlcgkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAABBzZWNvbmRBY3RpdmVWb3RlBQAAAAR1c2VyCQAETAAAAAIJAQAAACBnZXRVc2VyVG90YWxWb3RlQW1vdW50Rm9yT25lUG9vbAAAAAIFAAAAD3RoaXJkQWN0aXZlVm90ZQUAAAAEdXNlcgUAAAADbmlsCQABlgAAAAEFAAAADGxpc3RPZlZvdGluZwEAAAAYZ2V0VXNlckJsb2NrZWRJbkxhdWNocGFkAAAAAQAAAAR1c2VyBAAAAApsYXVjaHBhZElkCQABpAAAAAEJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAANbGF1bmNocGFkQWRkcgUAAAASa0xhdW5jaHBhZEFjdGl2ZUlkAAAAAAAAAAAAAwkAAAAAAAACBQAAAApsYXVjaHBhZElkAgAAAAEwAAAAAAAAAAAABAAAAAxsU3RhcnRIZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAANbGF1bmNocGFkQWRkcgkAASwAAAACBQAAAApsYXVjaHBhZElkBQAAABVrTGF1bmNocGFkU3RhcnRIZWlnaHQAAAAAAAAAAAAEAAAACWxEdXJhdGlvbgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAA1sYXVuY2hwYWRBZGRyCQABLAAAAAIFAAAACmxhdWNocGFkSWQFAAAAEmtMYXVuY2hwYWREdXJhdGlvbgAAAAAAAAAAAAQAAAATbEZyZWV6ZVN3b3BEdXJhdGlvbgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAA1sYXVuY2hwYWRBZGRyCQABLAAAAAIFAAAACmxhdWNocGFkSWQFAAAAGmtMYXVjaHBhZEZyZWV6U3dvcER1cmF0aW9uAAAAAAAAAAAABAAAAA5ibG9ja0VuZEhlaWdodAkAAGQAAAACCQAAZAAAAAIFAAAADGxTdGFydEhlaWdodAUAAAAJbER1cmF0aW9uBQAAABNsRnJlZXplU3dvcER1cmF0aW9uAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAADmJsb2NrRW5kSGVpZ2h0AAAAAAAAAAAABAAAAA1ib3VnaHRUaWNrZXRzCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAADWxhdW5jaHBhZEFkZHIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgIAAAABXwUAAAAKbGF1Y2hwYWRJZAUAAAAXa0xhdW5jaHBhZEJvdWdodFRpY2tldHMAAAAAAAAAAAAEAAAADXN3b3BQZXJUaWNrZXQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAANbGF1bmNocGFkQWRkcgkAASwAAAACBQAAAApsYXVjaHBhZElkBQAAABhrTGF1bmNocGFkU3dvcFBlclRpY2tldHMAAAAAAAAAAAAJAABoAAAAAgUAAAANYm91Z2h0VGlja2V0cwUAAAANc3dvcFBlclRpY2tldAEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAABBrVG90YWxTV09QTG9ja2VkAAAAAAAAAAAAAQAAAA9nZXRVc2VyVm90ZUluZm8AAAABAAAABHVzZXIEAAAACyR0MDc1ODI4MTE1AwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAKdm90aW5nQWRkcgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAD2tVc2VyVG90YWxTdHJ1YwQAAAAEZGF0YQkABLUAAAACCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAKdm90aW5nQWRkcgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAD2tVc2VyVG90YWxTdHJ1YwIAAAAVRW1wdHkga1VzZXJUb3RhbFN0cnVjAgAAAAFfCQAFFQAAAAMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAARkYXRhAAAAAAAAAAAACQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEZGF0YQAAAAAAAAAAAQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAABGRhdGEAAAAAAAAAAAIEAAAADnVQb29sVG90YWxTV09QCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAACnZvdGluZ0FkZHIJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABJrVXNlclRvdGFsVm90ZVNXT1AAAAAAAAAAAAAJAAUVAAAAAwUAAAAOdVBvb2xUb3RhbFNXT1AAAAAAAAAAAAAFAAAAEGN1cnJWb3RpbmdQZXJpb2QEAAAAEXVzZXJUb3RhbFZvdGVTV09QCAUAAAALJHQwNzU4MjgxMTUAAAACXzEEAAAAC3VzZXJVbnZvdGVkCAUAAAALJHQwNzU4MjgxMTUAAAACXzIEAAAAEXVzZXJVbnZvdGVkUGVyaW9kCAUAAAALJHQwNzU4MjgxMTUAAAACXzMEAAAAEXVzZXJVbnZvdGVkQWN0dWFsAwkAAAAAAAACBQAAABF1c2VyVW52b3RlZFBlcmlvZAUAAAAQY3VyclZvdGluZ1BlcmlvZAUAAAALdXNlclVudm90ZWQAAAAAAAAAAAAJAAUUAAAAAgUAAAARdXNlclRvdGFsVm90ZVNXT1AFAAAAEXVzZXJVbnZvdGVkQWN0dWFsAQAAABdnZXRVc2VyVm90ZU9wdGlvbkFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAVa1VzZXJWb3RlT3B0aW9uQW1vdW50AAAAAAAAAAAAAQAAABRnZXRWb3RpbmdTdGFydEhlaWdodAAAAAEAAAAIdm90ZU5hbWUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAASa1ZvdGluZ1N0YXJ0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ABRJbmNvcnJlY3QgcG10QXNzZXRJZAQAAAAQYWlyZHJvcEZlZUFtb3VudAkBAAAACGZyYWN0aW9uAAAABAUAAAAJcG10QW1vdW50BQAAAAphaXJkcm9wRmVlAAAAAAAAAABkBQAAAAdDRUlMSU5HBAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAALaW50ZXJlc3ROZXcJAABkAAAAAgUAAAAMbGFzdEludGVyZXN0CQAAawAAAAMJAABlAAAAAgUAAAAJcG10QW1vdW50BQAAABBhaXJkcm9wRmVlQW1vdW50BQAAAApzY2FsZVZhbHVlBQAAAA90b3RhbFNXT1BMb2NrZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADWtMYXN0SW50ZXJlc3QFAAAAC2ludGVyZXN0TmV3CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAE2FpcmRyb3BNb25leUJveEFkZHIFAAAAEGFpcmRyb3BGZWVBbW91bnQFAAAABFNXT1AFAAAAA25pbAAAAAFpAQAAAAhsb2NrU1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAADSR0MDExNTU4MTE2MzMJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAA0kdDAxMTU1ODExNjMzAAAAAl8xBAAAAApwbXRBc3NldElkCAUAAAANJHQwMTE1NTgxMTYzMwAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAA0kdDAxMTc0OTExODMzCQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAANJHQwMTE3NDkxMTgzMwAAAAJfMQQAAAAOdXNlclNXT1BMb2NrZWQIBQAAAA0kdDAxMTc0OTExODMzAAAAAl8yBAAAAAtjbGFpbUFtb3VudAkAAGsAAAADBQAAAA51c2VyU1dPUExvY2tlZAkAAGUAAAACBQAAAAxsYXN0SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAAZAAAAAIJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0BAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABkAAAAAgkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAD2tVc2VyU1dPUExvY2tlZAUAAAARdXNlclNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEGtUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAWa1VzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGmtVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAUAAAADbmlsAAAAAWkBAAAADHdpdGhkcmF3U1dPUAAAAAEAAAAOd2l0aGRyYXdBbW91bnQDCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQDCQAAZwAAAAIAAAAAAAAAAAAFAAAADndpdGhkcmF3QW1vdW50CQAAAgAAAAECAAAAE3dpdGhkcmF3QW1vdW50IDw9IDAEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADnVzZXJTV09QTG9ja2VkCQEAAAARZ2V0VXNlclNXT1BMb2NrZWQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADSR0MDEyOTc0MTMwMjkJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDEyOTc0MTMwMjkAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTI5NzQxMzAyOQAAAAJfMgQAAAANJHQwMTMwMzQxMzA5OQkBAAAAD2dldFVzZXJWb3RlSW5mbwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAOdXNlclZvdGVBbW91bnQIBQAAAA0kdDAxMzAzNDEzMDk5AAAAAl8xBAAAABB1c2VyVW52b3RlQW1vdW50CAUAAAANJHQwMTMwMzQxMzA5OQAAAAJfMgQAAAAYdXNlclZvdGVBbW91bnRGb3JOZXdQb29sCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUZvck5ld1Bvb2xBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAEmJsb2NrZWRJbkxhdW5jaHBhZAkBAAAAGGdldFVzZXJCbG9ja2VkSW5MYXVjaHBhZAAAAAEIBQAAAAFpAAAABmNhbGxlcgMDAwkAAGYAAAACAAAAAAAAAAAABQAAABB1c2VyVW52b3RlQW1vdW50BgkAAGYAAAACAAAAAAAAAAAABQAAAA51c2VyVm90ZUFtb3VudAYJAABmAAAAAgAAAAAAAAAAAAUAAAAYdXNlclZvdGVBbW91bnRGb3JOZXdQb29sCQAAAgAAAAECAAAASnVzZXJVbnZvdGVBbW91bnQgPCAwIHx8IHVzZXJWb3RlQW1vdW50IDwgMCB8fCB1c2VyVm90ZUFtb3VudEZvck5ld1Bvb2wgPCAwBAAAABJhdmFpbGFibGVUb1Vuc3Rha2UJAABlAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQJAAGWAAAAAQkABEwAAAACBQAAABh1c2VyVm90ZUFtb3VudEZvck5ld1Bvb2wJAARMAAAAAgkAAGQAAAACBQAAAA51c2VyVm90ZUFtb3VudAUAAAAQdXNlclVudm90ZUFtb3VudAkABEwAAAACBQAAABJibG9ja2VkSW5MYXVuY2hwYWQFAAAAA25pbAMJAABmAAAAAgUAAAAOd2l0aGRyYXdBbW91bnQFAAAAEmF2YWlsYWJsZVRvVW5zdGFrZQkAAAIAAAABAgAAACN3aXRoZHJhd0Ftb3VudCA+IGF2YWlsYWJsZVRvVW5zdGFrZQQAAAASdG90YWxTV09QTG9ja2VkTmV3CQAAZQAAAAIJAABkAAAAAgUAAAAPdG90YWxTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAUAAAAOd2l0aGRyYXdBbW91bnQEAAAAEXVzZXJTV09QYW1vdW50TmV3CQAAZQAAAAIJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BQAAAA53aXRoZHJhd0Ftb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa1VzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAPa1VzZXJTV09QTG9ja2VkBQAAABF1c2VyU1dPUGFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQa1RvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAOd2l0aGRyYXdBbW91bnQFAAAABFNXT1AJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAFmtVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABprVXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAFpAQAAABRjbGFpbUFuZFdpdGhkcmF3U1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAA0kdDAxNDU0OTE0NjA0CQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAxNDU0OTE0NjA0AAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDE0NTQ5MTQ2MDQAAAACXzIEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQDCQAAAAAAAAIFAAAAC2NsYWltQW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAGVlvdSBoYXZlIDAgYXZhaWxhYmxlIFNXT1AJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAFmtVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABprVXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAtjbGFpbUFtb3VudAUAAAAEU1dPUAUAAAADbmlsAAAAAWkBAAAAEWNsYWltQW5kU3Rha2VTV09QAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAAPdG90YWxTV09QTG9ja2VkCQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAAOdXNlclNXT1BMb2NrZWQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAADSR0MDE1Mzc3MTU0MzIJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDE1Mzc3MTU0MzIAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTUzNzcxNTQzMgAAAAJfMgQAAAARdXNlclNXT1BMb2NrZWROZXcJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABkAAAAAgUAAAAPdG90YWxTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAMJAAAAAAAAAgUAAAALY2xhaW1BbW91bnQAAAAAAAAAAAAJAAACAAAAAQIAAAAZWW91IGhhdmUgMCBhdmFpbGFibGUgU1dPUAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa1VzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQa1RvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAA9rVXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABZrVXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAaa1VzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50BQAAAANuaWwAAAABaQEAAAANdXBkYXRlV2VpZ2h0cwAAAAQAAAAMY3VycmVudFBvb2xzAAAADmN1cnJlbnRSZXdhcmRzAAAAEnJld2FyZFVwZGF0ZUhlaWdodAAAAApwYWdpbmF0aW9uAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAAthbW91bnRQb29scwAAAAAAAAAACgQAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAATa1Jld2FyZFVwZGF0ZUhlaWdodAAAAAAAAAAAAAMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIFAAAADGFkbWluUHViS2V5MgkABEwAAAACBQAAAAxhZG1pblB1YktleTMJAARMAAAAAgUAAAAObW9uZXlCb3hQdWJLZXkFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgMJAABmAAAAAgkAAZAAAAABBQAAAAxjdXJyZW50UG9vbHMFAAAAC2Ftb3VudFBvb2xzCQAAAgAAAAEJAAEsAAAAAgIAAAAWTWF4IGFtb3VudCBvZiBwb29sIGlzIAkAAaQAAAABBQAAAAthbW91bnRQb29scwMJAABnAAAAAgUAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAAC1yZXdhcmRVcGRhdGVIZWlnaHQgPD0gdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQDCQAAZwAAAAIFAAAABmhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAAHGhlaWdodCA+PSByZXdhcmRVcGRhdGVIZWlnaHQDCQAAZwAAAAIAAAAAAAAAAAAFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAABgwID49IHJld2FyZFVwZGF0ZUhlaWdodCAKAQAAAANzdW0AAAACAAAAAWEAAAABYgkAAGQAAAACBQAAAAFhBQAAAAFiCgEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAkBAAAAE2dldFBvb2xVcGRhdGVIZWlnaHQAAAABBQAAAARwb29sAwMJAQAAAAEhAAAAAQkBAAAAGGlzRGVmaW5lUG9vbFVwZGF0ZUhlaWdodAAAAAEFAAAABHBvb2wGAwkBAAAAAiE9AAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0CQAAAAAAAAIFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQFAAAAF3RvdGFsUmV3YXJkVXBkYXRlSGVpZ2h0BwQAAAAKcG9vbFJld2FyZAkBAAAAEGdldEN1clBvb2xXZWlnaHQAAAABBQAAAARwb29sCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAG2tSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwUAAAAKcG9vbFJld2FyZAUAAAALYWNjdW11bGF0ZWQEAAAACnBvb2xSZXdhcmQJAQAAABFnZXRQcmV2UG9vbFdlaWdodAAAAAEFAAAABHBvb2wJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAba1Jld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzBQAAAApwb29sUmV3YXJkBQAAAAthY2N1bXVsYXRlZAoBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAJcG9vbEluZGV4CQEAAAAFdmFsdWUAAAABCQAETwAAAAIFAAAADGN1cnJlbnRQb29scwUAAAAEcG9vbAQAAAAKcG9vbFJld2FyZAkAAZEAAAACBQAAAA5jdXJyZW50UmV3YXJkcwUAAAAJcG9vbEluZGV4AwkAAGYAAAACAAAAAAAAAAAABQAAAApwb29sUmV3YXJkCQAAAgAAAAECAAAADlBvb2xSZXdhcmQgPCAwCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAGmtSZXdhcmRQb29sRnJhY3Rpb25DdXJyZW50BQAAAApwb29sUmV3YXJkBQAAAAthY2N1bXVsYXRlZAoBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgAAAAthY2N1bXVsYXRlZAAAAARwb29sBAAAAApwb29sSGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAATa0hlaWdodFBvb2xGcmFjdGlvbgUAAAAKcG9vbEhlaWdodAUAAAALYWNjdW11bGF0ZWQKAQAAAAxnZXRTdW1SZXdhcmQAAAACAAAACmN1clRlbXBTdW0AAAAKcGFnaW5hdGlvbgMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAAMJAABmAAAAAgUAAAAKY3VyVGVtcFN1bQUAAAAOdG90YWxWb3RlU2hhcmUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAABKc3VtUmV3YXJkUHJldmlvdXMgPiB0b3RhbFZvdGVTaGFyZSBvciBzdW1SZXdhcmRDdXJyZW50ID4gdG90YWxWb3RlU2hhcmUgLSAJAAGkAAAAAQUAAAAKcGFnaW5hdGlvbgIAAAABIAkAAaQAAAABBQAAAApjdXJUZW1wU3VtCQAFFAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAC2tUZW1wQ3VyU3VtBQAAAApjdXJUZW1wU3VtBQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAImtSZXdhcmRVcGRhdGVGaXJzdFBhZ2luYXRpb25IZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAADbmlsAwkAAAAAAAACBQAAAApwYWdpbmF0aW9uAAAAAAAAAAABBAAAABFjdXJUZW1wU3VtRnJvbUtleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAAtrVGVtcEN1clN1bQAAAAAAAAAAAAQAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAia1Jld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAAAAAAAAAAAAAMJAABmAAAAAgkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQUAAAAOdG90YWxWb3RlU2hhcmUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAABKc3VtUmV3YXJkUHJldmlvdXMgPiB0b3RhbFZvdGVTaGFyZSBvciBzdW1SZXdhcmRDdXJyZW50ID4gdG90YWxWb3RlU2hhcmUgLSAJAAGkAAAAAQUAAAAKcGFnaW5hdGlvbgIAAAABIAkAAaQAAAABCQAAZAAAAAIFAAAACmN1clRlbXBTdW0FAAAAEWN1clRlbXBTdW1Gcm9tS2V5AwkBAAAAAiE9AAAAAgUAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAAERjdXJyZW50IHJld2FyZFVwZGF0ZUhlaWdodCAhPSByZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQkABRQAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAtrVGVtcEN1clN1bQkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAIEAAAABmN1clN1bQkAAGQAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMF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AAAFJGYzXzEAAAACCQEAAAAFJGYzXzEAAAACCQEAAAAFJGYzXzEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAAAAAAAAAAACQAAAAAAAAAACgQAAAANJHQwMjA1MjcyMDYzOAkBAAAADGdldFN1bVJld2FyZAAAAAIFAAAAFHN1bVJld2FyZEN1cnJlbnRUZW1wBQAAAApwYWdpbmF0aW9uBAAAABBzdW1SZXdhcmRDdXJyZW50CAUAAAANJHQwMjA1MjcyMDYzOAAAAAJfMQQAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkIBQAAAA0kdDAyMDUyNzIwNjM4AAAAAl8yBAAAABdyZXdhcmRVcGRhdGVIZWlnaHRFbnRyeQMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAATa1Jld2FyZFVwZGF0ZUhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAAANuaWwFAAAAA25pbAMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAAAbcmV3YXJkVXBkYXRlSGVpZ2h0IDwgaGVpZ2h0CQAETgAAAAIJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAAROAAAAAgUAAAAWcHJldmlvdXNSZXdhcmRFbnRyeU5ldwUAAAAVY3VycmVudFJld2FyZEVudHJ5TmV3BQAAABFoZWlnaHRFbnRyeU5ld0N1cgUAAAAQc3VtUmV3YXJkQ3VycmVudAUAAAAXcmV3YXJkVXBkYXRlSGVpZ2h0RW50cnkFAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5AAAAAWkBAAAACHNodXRkb3duAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQkAASwAAAACAgAAACJEQXBwIGlzIGFscmVhZHkgc3VzcGVuZGVkLiBDYXVzZTogCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAABmtDYXVzZQIAAAAadGhlIGNhdXNlIHdhc24ndCBzcGVjaWZpZWQDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzBQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24JAQAAAAdzdXNwZW5kAAAAAQIAAAAPUGF1c2VkIGJ5IGFkbWluAAAAAWkBAAAACGFjdGl2YXRlAAAAAAMFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAFkRBcHAgaXMgYWxyZWFkeSBhY3RpdmUDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzBQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24JAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAAB2tBY3RpdmUGCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAABmtDYXVzZQUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAASYWRtaW5QdWJLZXkxU2lnbmVkAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAADGFkbWluUHViS2V5MQAAAAAAAAAAAQAAAAAAAAAAAAQAAAASYWRtaW5QdWJLZXkyU2lnbmVkAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAEFAAAADGFkbWluUHViS2V5MgAAAAAAAAAAAQAAAAAAAAAAAAQAAAASYWRtaW5QdWJLZXkzU2lnbmVkAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAIFAAAADGFkbWluUHViS2V5MwAAAAAAAAAAAQAAAAAAAAAAAAkAAGcAAAACCQAAZAAAAAIJAABkAAAAAgUAAAASYWRtaW5QdWJLZXkxU2lnbmVkBQAAABJhZG1pblB1YktleTJTaWduZWQFAAAAEmFkbWluUHViS2V5M1NpZ25lZAAAAAAAAAAAAja/C7E=", "height": 2077249, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BK85gobj8wBzT2CrcHBtSAJKQpZxLc7Bs5EsRzcN3RaP Next: AE4HGsdfNDt436j1aDSNi5CQ14odP5CnEQD2gxNFJi6 Full:
OldNewDifferences
1-{-# STDLIB_VERSION 4 #-}
1+{-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = base58'GFmKZ2naZFRoCvNbwKAQVGmLb1uBeWGDgFabdGBuZiuy'
4+let a = "active"
55
6-let b = base58'GmJXRyhRA79g8yUGgKBAVdnFfQFDMjQG98b1MmLDh5kk'
6+let b = "shutdown_cause"
77
8-let c = base58'CFhbV6h41hVjbGHudGtS3fYUv7QAKRxFQzKNtx4B5PqP'
8+let c = "last_interest"
99
10-let d = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
10+let d = "_last_interest"
1111
12-let e = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
12+let e = "_SWOP_amount"
1313
14-let f = "active"
14+let f = "_getBackHeight"
1515
16-let g = "shutdown_cause"
16+let g = "total_SWOP_amount"
1717
18-let h = "last_interest"
18+let h = "_user_total_SWOP_vote"
1919
20-let i = "_last_interest"
20+let i = "_SWOP_option_amount"
2121
22-let j = "_SWOP_amount"
22+let j = "total_SWOP_option_amount"
2323
24-let k = "_getBackHeight"
24+let k = "_SWOP_claimed_amount"
2525
26-let l = "total_SWOP_amount"
26+let l = "_SWOP_last_claimed_amount"
2727
28-let m = "_user_total_SWOP_vote"
28+let m = "vote_name"
2929
30-let n = "_SWOP_option_amount"
30+let n = "_option_name"
3131
32-let o = "total_SWOP_option_amount"
32+let o = "_startHeight"
3333
34-let p = "_SWOP_claimed_amount"
34+let p = "_vote_duration"
3535
36-let q = "_SWOP_last_claimed_amount"
36+let q = "_current_pool_fraction_reward"
3737
38-let r = "vote_name"
38+let r = "_previous_pool_fraction_reward"
3939
40-let s = "_option_name"
40+let s = "_pool_reward_update_height"
4141
42-let t = "_startHeight"
42+let t = "total_reward_per_block_current"
4343
44-let u = "_vote_duration"
44+let u = "total_reward_per_block_previous"
4545
46-let v = "_current_pool_fraction_reward"
46+let v = "reward_update_height"
4747
48-let w = "_previous_pool_fraction_reward"
48+let w = "reward_update_height_first_pagination"
4949
50-let x = "_pool_reward_update_height"
50+let x = "_vote_no"
5151
52-let y = "total_reward_per_block_current"
52+let y = "_vote_yes"
5353
54-let z = "total_reward_per_block_previous"
54+let z = "max_amount_voting"
5555
56-let A = "reward_update_height"
56+let A = "_status"
5757
58-let B = "reward_update_height_first_pagination"
58+let B = "_finish_height"
5959
60-let C = "_vote_no"
60+let C = "voting_active_cell_1"
6161
62-let D = "_vote_yes"
62+let D = "voting_active_cell_2"
6363
64-let E = "max_amount_voting"
64+let E = "voting_active_cell_3"
6565
66-let F = "_status"
66+let F = "sum_reward_current"
6767
68-let G = "_finish_height"
68+let G = "_bought_tickets"
6969
70-let H = "voting_active_cell_1"
70+let H = "_swop_per_ticket"
7171
72-let I = "voting_active_cell_2"
72+let I = "launchpad_active_id"
7373
74-let J = "voting_active_cell_3"
74+let J = "_duration"
7575
76-let K = "sum_reward_current"
76+let K = "_start_height"
7777
78-let L = "_bought_tickets"
78+let L = "start_height"
7979
80-let M = "_swop_per_ticket"
80+let M = "base_period"
8181
82-let N = "launchpad_active_id"
82+let N = "period_length"
8383
84-let O = "_duration"
84+let O = "_user_total_struc"
8585
86-let P = "_start_height"
86+let P = "_freeze_swop_duration"
8787
88-let Q = "_freeze_swop_duration"
88+let Q = "SWOP_id"
8989
90-let R = valueOrElse(getBoolean(this, f), true)
90+let R = "airdrop_fee"
9191
92-let S = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
92+let S = "admin_pub_1"
9393
94-let T = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
94+let T = "admin_pub_2"
9595
96-let U = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
96+let U = "admin_pub_3"
9797
98-let V = Address(base58'3MzDGFvPnXVbA4wCacqcVnfVJPwG952KVAg')
98+let V = "money_box_pub_key"
9999
100-let W = "SWOP_id"
100+let W = "farming_address"
101101
102-let X = fromBase58String(getStringValue(S, W))
102+let X = "voting_address"
103103
104-let Y = 100000000
104+let Y = "voting_new_pool_address"
105105
106-let Z = 10000000000
106+let Z = "launchpad_address"
107107
108-let aa = "start_height"
108+let aa = "airdrop_fee_money_box"
109109
110-let ab = "base_period"
110+let ab = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
111111
112-let ac = "period_length"
113-
114-let ad = "_user_total_struc"
115-
116-let ae = valueOrErrorMessage(getInteger(T, ab), "Empty kBasePeriod at voting contract")
117-
118-let af = valueOrErrorMessage(getInteger(T, aa), "Empty kStartHeight at voting contract")
119-
120-let ag = valueOrErrorMessage(getInteger(T, ac), "Empty kPeriodLength at voting contract")
121-
122-let ah = valueOrElse(getString(U, H), "")
123-
124-let ai = valueOrElse(getString(U, I), "")
125-
126-let aj = valueOrElse(getString(U, J), "")
127-
128-let ak = (ae + ((height - af) / ag))
129-
130-func al (am) = [BooleanEntry(f, false), StringEntry(g, am)]
131-
132-
133-func an () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
134-
135-
136-func ao () = {
137- let ap = valueOrElse(getInteger(this, h), 0)
138- ap
112+func ac (ad) = {
113+ let ae = getString(ab, ad)
114+ if ($isInstanceOf(ae, "String"))
115+ then {
116+ let af = ae
117+ fromBase58String(af)
118+ }
119+ else {
120+ let ag = ae
121+ throw((ad + "is empty"))
122+ }
139123 }
140124
141125
142-func aq (ar) = valueOrElse(getInteger(this, (toString(ar) + j)), 0)
126+let ah = ac(S)
127+
128+let ai = ac(T)
129+
130+let aj = ac(U)
131+
132+let ak = ac(V)
133+
134+let al = Address(ac(W))
135+
136+let am = Address(ac(X))
137+
138+let an = Address(ac(Y))
139+
140+let ao = Address(ac(Z))
141+
142+let ap = Address(ac(aa))
143+
144+let aq = fromBase58String(getStringValue(al, Q))
145+
146+let ar = 100000000
147+
148+let as = 10000000000
149+
150+let at = valueOrErrorMessage(getInteger(am, M), "Empty kBasePeriod at voting contract")
151+
152+let au = valueOrErrorMessage(getInteger(am, L), "Empty kStartHeight at voting contract")
153+
154+let av = valueOrErrorMessage(getInteger(am, N), "Empty kPeriodLength at voting contract")
155+
156+let aw = valueOrElse(getString(an, C), "")
157+
158+let ax = valueOrElse(getString(an, D), "")
159+
160+let ay = valueOrElse(getString(an, E), "")
161+
162+let az = valueOrElse(getBoolean(this, a), true)
163+
164+let aA = getIntegerValue(ab, R)
165+
166+let aB = (at + ((height - au) / av))
167+
168+func aC (aD) = [BooleanEntry(a, false), StringEntry(b, aD)]
143169
144170
145-func as (ar) = valueOrElse(getInteger(this, (toString(ar) + p)), 0)
171+func aE () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
146172
147173
148-func at (ar) = valueOrElse(getInteger(T, (toString(ar) + m)), 0)
174+func aF () = valueOrElse(getInteger(this, c), 0)
149175
150176
151-func au (ar,ap) = {
152- let av = aq(ar)
153- let aw = getInteger(this, (toString(ar) + i))
154- let ax = {
155- let ay = aw
156- if ($isInstanceOf(ay, "Int"))
177+func aG (aH) = valueOrElse(getInteger(this, (toString(aH) + e)), 0)
178+
179+
180+func aI (aH) = valueOrElse(getInteger(this, (toString(aH) + k)), 0)
181+
182+
183+func aJ (aH) = valueOrElse(getInteger(am, (toString(aH) + h)), 0)
184+
185+
186+func aK (aH,aL) = {
187+ let aM = aG(aH)
188+ let aN = getInteger(this, (toString(aH) + d))
189+ let aO = {
190+ let ae = aN
191+ if ($isInstanceOf(ae, "Int"))
157192 then {
158- let aw = ay
159- aw
193+ let aN = ae
194+ aN
160195 }
161- else ap
196+ else aL
162197 }
163- $Tuple2(ax, av)
198+ $Tuple2(aO, aM)
164199 }
165200
166201
167-func az (aA,ar) = {
168- let aB = valueOrElse(getInteger(U, aA), -1)
169- let aC = valueOrElse(getInteger(U, (toString(aB) + G)), 0)
170- let aD = valueOrElse(getBoolean(U, (toString(aB) + F)), true)
171- let aE = height
172- if ((0 > aB))
202+func aP (aQ,aH) = {
203+ let aR = valueOrElse(getInteger(an, aQ), -1)
204+ let aS = valueOrElse(getInteger(an, (toString(aR) + B)), 0)
205+ let aT = valueOrElse(getBoolean(an, (toString(aR) + A)), true)
206+ let aU = height
207+ if ((0 > aR))
173208 then 0
174- else if (!(aD))
209+ else if (!(aT))
175210 then 0
176- else if ((aC > aE))
177- then (valueOrElse(getInteger(U, (((toString(ar) + "_") + toString(aB)) + D)), 0) + valueOrElse(getInteger(U, (((toString(ar) + "_") + toString(aB)) + C)), 0))
211+ else if ((aS > aU))
212+ then (valueOrElse(getInteger(an, (((toString(aH) + "_") + toString(aR)) + y)), 0) + valueOrElse(getInteger(an, (((toString(aH) + "_") + toString(aR)) + x)), 0))
178213 else 0
179214 }
180215
181216
182-func aF (ar) = {
183- let aG = [az(ah, ar), az(ai, ar), az(aj, ar)]
184- max(aG)
217+func aV (aH) = {
218+ let aW = [aP(aw, aH), aP(ax, aH), aP(ay, aH)]
219+ max(aW)
185220 }
186221
187222
188-func aH (ar) = {
189- let aI = toString(valueOrElse(getInteger(V, N), 0))
190- if ((aI == "0"))
223+func aX (aH) = {
224+ let aY = toString(valueOrElse(getInteger(ao, I), 0))
225+ if ((aY == "0"))
191226 then 0
192227 else {
193- let aJ = valueOrElse(getInteger(V, (aI + P)), 0)
194- let aK = valueOrElse(getInteger(V, (aI + O)), 0)
195- let aL = valueOrElse(getInteger(V, (aI + Q)), 0)
196- let aM = ((aJ + aK) + aL)
197- if ((height > aM))
228+ let aZ = valueOrElse(getInteger(ao, (aY + K)), 0)
229+ let ba = valueOrElse(getInteger(ao, (aY + J)), 0)
230+ let bb = valueOrElse(getInteger(ao, (aY + P)), 0)
231+ let bc = ((aZ + ba) + bb)
232+ if ((height > bc))
198233 then 0
199234 else {
200- let aN = valueOrElse(getInteger(V, (((toString(ar) + "_") + aI) + L)), 0)
201- let aO = valueOrElse(getInteger(V, (aI + M)), 0)
202- (aN * aO)
235+ let bd = valueOrElse(getInteger(ao, (((toString(aH) + "_") + aY) + G)), 0)
236+ let be = valueOrElse(getInteger(ao, (aY + H)), 0)
237+ (bd * be)
203238 }
204239 }
205240 }
206241
207242
208-func aP () = valueOrElse(getInteger(this, l), 0)
243+func bf () = valueOrElse(getInteger(this, g), 0)
209244
210245
211-func aQ (ar) = {
212- let aR = if (isDefined(getString(T, (toString(ar) + ad))))
246+func bg (aH) = {
247+ let bh = if (isDefined(getString(am, (toString(aH) + O))))
213248 then {
214- let aS = split(valueOrErrorMessage(getString(T, (toString(ar) + ad)), "Empty kUserTotalStruc"), "_")
215- $Tuple3(parseIntValue(aS[0]), parseIntValue(aS[1]), parseIntValue(aS[2]))
249+ let bi = split(valueOrErrorMessage(getString(am, (toString(aH) + O)), "Empty kUserTotalStruc"), "_")
250+ $Tuple3(parseIntValue(bi[0]), parseIntValue(bi[1]), parseIntValue(bi[2]))
216251 }
217252 else {
218- let aT = valueOrElse(getInteger(T, (toString(ar) + m)), 0)
219- $Tuple3(aT, 0, ak)
253+ let bj = valueOrElse(getInteger(am, (toString(aH) + h)), 0)
254+ $Tuple3(bj, 0, aB)
220255 }
221- let aU = aR._1
222- let aV = aR._2
223- let aW = aR._3
224- let aX = if ((aW == ak))
225- then aV
256+ let bk = bh._1
257+ let bl = bh._2
258+ let bm = bh._3
259+ let bn = if ((bm == aB))
260+ then bl
226261 else 0
227- $Tuple2(aU, aX)
262+ $Tuple2(bk, bn)
228263 }
229264
230265
231-func aY (ar) = valueOrElse(getInteger(this, (toString(ar) + n)), 0)
266+func bo (aH) = valueOrElse(getInteger(this, (toString(aH) + i)), 0)
232267
233268
234-func aZ (ba) = valueOrElse(getInteger(this, (ba + t)), 0)
269+func bp (bq) = valueOrElse(getInteger(this, (bq + o)), 0)
235270
236271
237-func bb (aA) = valueOrElse(getInteger(this, (aA + x)), 0)
272+func br (aQ) = valueOrElse(getInteger(this, (aQ + s)), 0)
238273
239274
240-func bc (aA) = isDefined(getInteger(this, (aA + x)))
275+func bs (aQ) = isDefined(getInteger(this, (aQ + s)))
241276
242277
243-func bd (aA) = valueOrElse(getInteger(this, (aA + v)), 0)
278+func bt (aQ) = valueOrElse(getInteger(this, (aQ + q)), 0)
244279
245280
246-func be (aA) = valueOrElse(getInteger(this, (aA + w)), 0)
281+func bu (aQ) = valueOrElse(getInteger(this, (aQ + r)), 0)
247282
248283
249-func bf (ar,ba,bg) = {
250- let bh = getInteger(this, (((ba + bg) + toString(ar)) + n))
251- let bi = {
252- let ay = bh
253- if ($isInstanceOf(ay, "Int"))
284+func bv (aH,bq,bw) = {
285+ let bx = getInteger(this, (((bq + bw) + toString(aH)) + i))
286+ let by = {
287+ let ae = bx
288+ if ($isInstanceOf(ae, "Int"))
254289 then {
255- let bi = ay
256- bi
290+ let by = ae
291+ by
257292 }
258- else if ($isInstanceOf(ay, "Unit"))
293+ else if ($isInstanceOf(ae, "Unit"))
259294 then {
260- let bi = ay
295+ let by = ae
261296 0
262297 }
263298 else throw("Match error")
264299 }
265- valueOrErrorMessage(bi, (((("No data on the key: " + ba) + bg) + toString(ar)) + n))
300+ valueOrErrorMessage(by, (((("No data on the key: " + bq) + bw) + toString(aH)) + i))
266301 }
267302
268303
269-func bj (ba) = valueOrErrorMessage(getInteger(this, (ba + u)), (("No data on the key: " + ba) + u))
304+func bz (bq) = valueOrErrorMessage(getInteger(this, (bq + p)), (("No data on the key: " + bq) + p))
270305
271306
272-func bk (ba,bg) = {
273- let bl = getInteger(this, ((ba + bg) + o))
274- let bm = {
275- let ay = bl
276- if ($isInstanceOf(ay, "Int"))
307+func bA (bq,bw) = {
308+ let bB = getInteger(this, ((bq + bw) + j))
309+ let bC = {
310+ let ae = bB
311+ if ($isInstanceOf(ae, "Int"))
277312 then {
278- let bm = ay
279- bm
313+ let bC = ae
314+ bC
280315 }
281- else if ($isInstanceOf(ay, "Unit"))
316+ else if ($isInstanceOf(ae, "Unit"))
282317 then {
283- let bm = ay
318+ let bC = ae
284319 0
285320 }
286321 else throw("Match error")
287322 }
288- bm
323+ bC
289324 }
290325
291326
292-func bn (ba,bg,ar,bo) = {
293- let bp = ((((((ba + "_") + bg) + "_") + toString(ar)) + "_") + toString(bo))
294- valueOrErrorMessage(getInteger(this, bp), ("No data on the key: " + bp))
327+func bD (bq,bw,aH,bE) = {
328+ let ad = ((((((bq + "_") + bw) + "_") + toString(aH)) + "_") + toString(bE))
329+ valueOrErrorMessage(getInteger(this, ad), ("No data on the key: " + ad))
295330 }
296331
297332
298-func bq (br) = {
299- let ap = ao()
300- let bs = au(br, ap)
301- let aw = bs._1
302- let bt = bs._2
303- let bu = fraction(bt, (ap - aw), Y)
304- let bv = ap
305- $Tuple2(bv, bu)
333+func bF (bG) = {
334+ let aL = aF()
335+ let bH = aK(bG, aL)
336+ let aN = bH._1
337+ let bI = bH._2
338+ let bJ = fraction(bI, (aL - aN), ar)
339+ let bK = aL
340+ $Tuple2(bK, bJ)
306341 }
307342
308343
309-@Callable(bw)
310-func airDrop () = if (!(R))
344+@Callable(bL)
345+func airDrop () = if (!(az))
311346 then throw("DApp is inactive at this moment")
312347 else {
313- let bx = $Tuple2(bw.payments[0].amount, bw.payments[0].assetId)
314- let by = bx._1
315- let bz = bx._2
316- if ((bz != X))
348+ let bM = $Tuple2(bL.payments[0].amount, bL.payments[0].assetId)
349+ let bN = bM._1
350+ let bO = bM._2
351+ if ((bO != aq))
317352 then throw("Incorrect pmtAssetId")
318353 else {
319- let bA = aP()
320- let ap = ao()
321- let bB = (ap + fraction(by, Y, bA))
322-[IntegerEntry(h, bB)]
354+ let bP = fraction(bN, aA, 100, CEILING)
355+ let bQ = bf()
356+ let aL = aF()
357+ let bR = (aL + fraction((bN - bP), ar, bQ))
358+[IntegerEntry(c, bR), ScriptTransfer(ap, bP, aq)]
323359 }
324360 }
325361
326362
327363
328-@Callable(bw)
329-func lockSWOP () = if (!(R))
364+@Callable(bL)
365+func lockSWOP () = if (!(az))
330366 then throw("DApp is inactive at this moment")
331367 else {
332- let bC = $Tuple2(bw.payments[0].amount, bw.payments[0].assetId)
333- let by = bC._1
334- let bz = bC._2
335- if ((bz != X))
368+ let bS = $Tuple2(bL.payments[0].amount, bL.payments[0].assetId)
369+ let bN = bS._1
370+ let bO = bS._2
371+ if ((bO != aq))
336372 then throw("Incorrect pmtAssetId")
337373 else {
338- let ap = ao()
339- let bD = au(bw.caller, ap)
340- let aw = bD._1
341- let bt = bD._2
342- let bu = fraction(bt, (ap - aw), Y)
343- let bE = ((bt + by) + bu)
344- let bv = ap
345- let bA = aP()
346- let bF = ((bA + by) + bu)
347- let bG = as(bw.caller)
348- let bH = (bG + bu)
349-[IntegerEntry((toString(bw.caller) + i), bv), IntegerEntry((toString(bw.caller) + j), bE), IntegerEntry(l, bF), IntegerEntry((toString(bw.caller) + p), bH), IntegerEntry((toString(bw.caller) + q), bu)]
374+ let aL = aF()
375+ let bT = aK(bL.caller, aL)
376+ let aN = bT._1
377+ let bI = bT._2
378+ let bJ = fraction(bI, (aL - aN), ar)
379+ let bU = ((bI + bN) + bJ)
380+ let bK = aL
381+ let bQ = bf()
382+ let bV = ((bQ + bN) + bJ)
383+ let bW = aI(bL.caller)
384+ let bX = (bW + bJ)
385+[IntegerEntry((toString(bL.caller) + d), bK), IntegerEntry((toString(bL.caller) + e), bU), IntegerEntry(g, bV), IntegerEntry((toString(bL.caller) + k), bX), IntegerEntry((toString(bL.caller) + l), bJ)]
350386 }
351387 }
352388
353389
354390
355-@Callable(bw)
356-func withdrawSWOP (bI) = if (!(R))
391+@Callable(bL)
392+func withdrawSWOP (bY) = if (!(az))
357393 then throw("DApp is inactive at this moment")
358- else if ((0 >= bI))
394+ else if ((0 >= bY))
359395 then throw("withdrawAmount <= 0")
360396 else {
361- let bA = aP()
362- let bt = aq(bw.caller)
363- let bJ = bq(bw.caller)
364- let bv = bJ._1
365- let bu = bJ._2
366- let bK = aQ(bw.caller)
367- let bL = bK._1
368- let bM = bK._2
369- let bN = aF(bw.caller)
370- let bO = aH(bw.caller)
371- if (if (if ((0 > bM))
397+ let bQ = bf()
398+ let bI = aG(bL.caller)
399+ let bZ = bF(bL.caller)
400+ let bK = bZ._1
401+ let bJ = bZ._2
402+ let ca = bg(bL.caller)
403+ let cb = ca._1
404+ let cc = ca._2
405+ let cd = aV(bL.caller)
406+ let ce = aX(bL.caller)
407+ if (if (if ((0 > cc))
372408 then true
373- else (0 > bL))
409+ else (0 > cb))
374410 then true
375- else (0 > bN))
411+ else (0 > cd))
376412 then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0")
377413 else {
378- let bP = (bt - max([bN, (bL + bM), bO]))
379- if ((bI > bP))
414+ let cf = (bI - max([cd, (cb + cc), ce]))
415+ if ((bY > cf))
380416 then throw("withdrawAmount > availableToUnstake")
381417 else {
382- let bF = ((bA + bu) - bI)
383- let bQ = ((bt + bu) - bI)
384- let bG = as(bw.caller)
385- let bH = (bG + bu)
386-[IntegerEntry((toString(bw.caller) + i), bv), IntegerEntry((toString(bw.caller) + j), bQ), IntegerEntry(l, bF), ScriptTransfer(bw.caller, bI, X), IntegerEntry((toString(bw.caller) + p), bH), IntegerEntry((toString(bw.caller) + q), bu)]
418+ let bV = ((bQ + bJ) - bY)
419+ let cg = ((bI + bJ) - bY)
420+ let bW = aI(bL.caller)
421+ let bX = (bW + bJ)
422+[IntegerEntry((toString(bL.caller) + d), bK), IntegerEntry((toString(bL.caller) + e), cg), IntegerEntry(g, bV), ScriptTransfer(bL.caller, bY, aq), IntegerEntry((toString(bL.caller) + k), bX), IntegerEntry((toString(bL.caller) + l), bJ)]
387423 }
388424 }
389425 }
390426
391427
392428
393-@Callable(bw)
394-func claimAndWithdrawSWOP () = if (!(R))
429+@Callable(bL)
430+func claimAndWithdrawSWOP () = if (!(az))
395431 then throw("DApp is inactive at this moment")
396432 else {
397- let ap = ao()
398- let bR = bq(bw.caller)
399- let bv = bR._1
400- let bu = bR._2
401- let bG = as(bw.caller)
402- let bH = (bG + bu)
403- if ((bu == 0))
433+ let aL = aF()
434+ let ch = bF(bL.caller)
435+ let bK = ch._1
436+ let bJ = ch._2
437+ let bW = aI(bL.caller)
438+ let bX = (bW + bJ)
439+ if ((bJ == 0))
404440 then throw("You have 0 available SWOP")
405- else [IntegerEntry((toString(bw.caller) + i), bv), IntegerEntry((toString(bw.caller) + p), bH), IntegerEntry((toString(bw.caller) + q), bu), ScriptTransfer(bw.caller, bu, X)]
441+ else [IntegerEntry((toString(bL.caller) + d), bK), IntegerEntry((toString(bL.caller) + k), bX), IntegerEntry((toString(bL.caller) + l), bJ), ScriptTransfer(bL.caller, bJ, aq)]
406442 }
407443
408444
409445
410-@Callable(bw)
411-func claimAndStakeSWOP () = if (!(R))
446+@Callable(bL)
447+func claimAndStakeSWOP () = if (!(az))
412448 then throw("DApp is inactive at this moment")
413449 else {
414- let bA = aP()
415- let bt = aq(bw.caller)
416- let ap = ao()
417- let bS = bq(bw.caller)
418- let bv = bS._1
419- let bu = bS._2
420- let bE = (bt + bu)
421- let bF = (bA + bu)
422- let bG = as(bw.caller)
423- let bH = (bG + bu)
424- if ((bu == 0))
450+ let bQ = bf()
451+ let bI = aG(bL.caller)
452+ let aL = aF()
453+ let ci = bF(bL.caller)
454+ let bK = ci._1
455+ let bJ = ci._2
456+ let bU = (bI + bJ)
457+ let bV = (bQ + bJ)
458+ let bW = aI(bL.caller)
459+ let bX = (bW + bJ)
460+ if ((bJ == 0))
425461 then throw("You have 0 available SWOP")
426- else [IntegerEntry((toString(bw.caller) + i), bv), IntegerEntry(l, bF), IntegerEntry((toString(bw.caller) + j), bE), IntegerEntry((toString(bw.caller) + p), bH), IntegerEntry((toString(bw.caller) + q), bu)]
462+ else [IntegerEntry((toString(bL.caller) + d), bK), IntegerEntry(g, bV), IntegerEntry((toString(bL.caller) + e), bU), IntegerEntry((toString(bL.caller) + k), bX), IntegerEntry((toString(bL.caller) + l), bJ)]
427463 }
428464
429465
430466
431-@Callable(bw)
432-func updateWeights (bT,bU,bV,bW) = if (!(R))
467+@Callable(bL)
468+func updateWeights (cj,ck,cl,cm) = if (!(az))
433469 then throw("DApp is inactive at this moment")
434470 else {
435- let bX = 10
436- let bY = valueOrElse(getInteger(this, A), 0)
437- if (!(containsElement([a, b, c, d, e], bw.callerPublicKey)))
471+ let cn = 10
472+ let co = valueOrElse(getInteger(this, v), 0)
473+ if (!(containsElement([ah, ai, aj, ak], bL.callerPublicKey)))
438474 then throw("Only admin can call this function")
439- else if ((size(bT) > bX))
440- then throw(("Max amount of pool is " + toString(bX)))
441- else if ((bY >= bV))
475+ else if ((size(cj) > cn))
476+ then throw(("Max amount of pool is " + toString(cn)))
477+ else if ((co >= cl))
442478 then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
443- else if ((height >= bV))
479+ else if ((height >= cl))
444480 then throw("height >= rewardUpdateHeight")
445- else if ((0 >= bV))
481+ else if ((0 >= cl))
446482 then throw("0 >= rewardUpdateHeight ")
447483 else {
448- func bZ (ca,cb) = (ca + cb)
484+ func cp (cq,cr) = (cq + cr)
449485
450- func cc (cd,aA) = {
451- let ce = bb(aA)
452- if (if (!(bc(aA)))
486+ func cs (ct,aQ) = {
487+ let cu = br(aQ)
488+ if (if (!(bs(aQ)))
453489 then true
454- else if ((bV != ce))
455- then (ce == bY)
490+ else if ((cl != cu))
491+ then (cu == co)
456492 else false)
457493 then {
458- let cf = bd(aA)
459-IntegerEntry((aA + w), cf) :: cd
494+ let cv = bt(aQ)
495+IntegerEntry((aQ + r), cv) :: ct
460496 }
461497 else {
462- let cf = be(aA)
463-IntegerEntry((aA + w), cf) :: cd
498+ let cv = bu(aQ)
499+IntegerEntry((aQ + r), cv) :: ct
464500 }
465501 }
466502
467- func cg (cd,aA) = {
468- let ch = value(indexOf(bT, aA))
469- let cf = bU[ch]
470- if ((0 > cf))
503+ func cw (ct,aQ) = {
504+ let cx = value(indexOf(cj, aQ))
505+ let cv = ck[cx]
506+ if ((0 > cv))
471507 then throw("PoolReward < 0")
472- else IntegerEntry((aA + v), cf) :: cd
508+ else IntegerEntry((aQ + q), cv) :: ct
473509 }
474510
475- func ci (cd,aA) = {
476- let cj = bV
477-IntegerEntry((aA + x), cj) :: cd
511+ func cy (ct,aQ) = {
512+ let cz = cl
513+IntegerEntry((aQ + s), cz) :: ct
478514 }
479515
480- func ck (cl,bW) = if ((bW == 0))
481- then if ((cl > Z))
482- then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bW)) + " ") + toString(cl)))
483- else $Tuple2([IntegerEntry(K, cl)], [IntegerEntry(B, bV)])
484- else if ((bW == 1))
516+ func cA (cB,cm) = if ((cm == 0))
517+ then if ((cB > as))
518+ then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(cm)) + " ") + toString(cB)))
519+ else $Tuple2([IntegerEntry(F, cB)], [IntegerEntry(w, cl)])
520+ else if ((cm == 1))
485521 then {
486- let cm = valueOrElse(getInteger(this, K), 0)
487- let cn = valueOrElse(getInteger(this, B), 0)
488- if (((cl + cm) > Z))
489- then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bW)) + " ") + toString((cl + cm))))
490- else if ((cn != bV))
522+ let cC = valueOrElse(getInteger(this, F), 0)
523+ let cD = valueOrElse(getInteger(this, w), 0)
524+ if (((cB + cC) > as))
525+ then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(cm)) + " ") + toString((cB + cC))))
526+ else if ((cD != cl))
491527 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
492- else $Tuple2([IntegerEntry(K, (cl + cm))], nil)
528+ else $Tuple2([IntegerEntry(F, (cB + cC))], nil)
493529 }
494- else if ((bW == 2))
530+ else if ((cm == 2))
495531 then {
496- let co = (valueOrElse(getInteger(this, K), 0) + cl)
497- let cn = valueOrElse(getInteger(this, B), 0)
498- if ((co != Z))
532+ let cE = (valueOrElse(getInteger(this, F), 0) + cB)
533+ let cD = valueOrElse(getInteger(this, w), 0)
534+ if ((cE != as))
499535 then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
500- else if ((cn != bV))
536+ else if ((cD != cl))
501537 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
502- else $Tuple2([IntegerEntry(K, co)], nil)
538+ else $Tuple2([IntegerEntry(F, cE)], nil)
503539 }
504540 else throw("Incorrect pagination")
505541
506- let cp = {
507- let cq = bT
508- let cr = size(cq)
509- let cs = nil
510- func ct (cu,cv) = if ((cv >= cr))
511- then cu
512- else cc(cu, cq[cv])
542+ let cF = {
543+ let cG = cj
544+ let cH = size(cG)
545+ let cI = nil
546+ func cJ (cK,cL) = if ((cL >= cH))
547+ then cK
548+ else cs(cK, cG[cL])
513549
514- func cw (cu,cv) = if ((cv >= cr))
515- then cu
550+ func cM (cK,cL) = if ((cL >= cH))
551+ then cK
516552 else throw("List size exceeds 10")
517553
518- cw(ct(ct(ct(ct(ct(ct(ct(ct(ct(ct(cs, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
554+ cM(cJ(cJ(cJ(cJ(cJ(cJ(cJ(cJ(cJ(cJ(cI, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
519555 }
520- let cx = {
521- let cq = bT
522- let cr = size(cq)
523- let cs = nil
524- func cy (cu,cv) = if ((cv >= cr))
525- then cu
526- else cg(cu, cq[cv])
556+ let cN = {
557+ let cG = cj
558+ let cH = size(cG)
559+ let cI = nil
560+ func cO (cK,cL) = if ((cL >= cH))
561+ then cK
562+ else cw(cK, cG[cL])
527563
528- func cz (cu,cv) = if ((cv >= cr))
529- then cu
564+ func cP (cK,cL) = if ((cL >= cH))
565+ then cK
530566 else throw("List size exceeds 10")
531567
532- cz(cy(cy(cy(cy(cy(cy(cy(cy(cy(cy(cs, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
568+ cP(cO(cO(cO(cO(cO(cO(cO(cO(cO(cO(cI, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
533569 }
534- let cA = {
535- let cq = bT
536- let cr = size(cq)
537- let cs = nil
538- func cB (cu,cv) = if ((cv >= cr))
539- then cu
540- else ci(cu, cq[cv])
570+ let cQ = {
571+ let cG = cj
572+ let cH = size(cG)
573+ let cI = nil
574+ func cR (cK,cL) = if ((cL >= cH))
575+ then cK
576+ else cy(cK, cG[cL])
541577
542- func cC (cu,cv) = if ((cv >= cr))
543- then cu
578+ func cS (cK,cL) = if ((cL >= cH))
579+ then cK
544580 else throw("List size exceeds 10")
545581
546- cC(cB(cB(cB(cB(cB(cB(cB(cB(cB(cB(cs, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
582+ cS(cR(cR(cR(cR(cR(cR(cR(cR(cR(cR(cI, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
547583 }
548- let cD = {
549- let cq = bU
550- let cr = size(cq)
551- let cs = 0
552- func cE (cu,cv) = if ((cv >= cr))
553- then cu
554- else bZ(cu, cq[cv])
584+ let cT = {
585+ let cG = ck
586+ let cH = size(cG)
587+ let cI = 0
588+ func cU (cK,cL) = if ((cL >= cH))
589+ then cK
590+ else cp(cK, cG[cL])
555591
556- func cF (cu,cv) = if ((cv >= cr))
557- then cu
592+ func cV (cK,cL) = if ((cL >= cH))
593+ then cK
558594 else throw("List size exceeds 10")
559595
560- cF(cE(cE(cE(cE(cE(cE(cE(cE(cE(cE(cs, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
596+ cV(cU(cU(cU(cU(cU(cU(cU(cU(cU(cU(cI, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
561597 }
562- let cG = ck(cD, bW)
563- let cH = cG._1
564- let cn = cG._2
565- let cI = if ((bW == 2))
566- then [IntegerEntry(A, bV)]
598+ let cW = cA(cT, cm)
599+ let cX = cW._1
600+ let cD = cW._2
601+ let cY = if ((cm == 2))
602+ then [IntegerEntry(v, cl)]
567603 else nil
568- if ((height > bV))
604+ if ((height > cl))
569605 then throw("rewardUpdateHeight < height")
570- else (((((cp ++ cx) ++ cA) ++ cH) ++ cI) ++ cn)
606+ else (((((cF ++ cN) ++ cQ) ++ cX) ++ cY) ++ cD)
571607 }
572608 }
573609
574610
575611
576-@Callable(bw)
577-func shutdown () = if (!(R))
578- then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, g), "the cause wasn't specified")))
579- else if (!(containsElement([a, b, c, d], bw.callerPublicKey)))
612+@Callable(bL)
613+func shutdown () = if (!(az))
614+ then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, b), "the cause wasn't specified")))
615+ else if (!(containsElement([ah, ai, aj], bL.callerPublicKey)))
580616 then throw("Only admin can call this function")
581- else al("Paused by admin")
617+ else aC("Paused by admin")
582618
583619
584620
585-@Callable(bw)
586-func activate () = if (R)
621+@Callable(bL)
622+func activate () = if (az)
587623 then throw("DApp is already active")
588- else if (!(containsElement([a, b, c, d], bw.callerPublicKey)))
624+ else if (!(containsElement([ah, ai, aj], bL.callerPublicKey)))
589625 then throw("Only admin can call this function")
590- else [BooleanEntry(f, true), DeleteEntry(g)]
626+ else [BooleanEntry(a, true), DeleteEntry(b)]
591627
592628
593-@Verifier(cJ)
594-func cK () = {
595- let cL = if (sigVerify(cJ.bodyBytes, cJ.proofs[0], a))
629+@Verifier(cZ)
630+func da () = {
631+ let db = if (sigVerify(cZ.bodyBytes, cZ.proofs[0], ah))
596632 then 1
597633 else 0
598- let cM = if (sigVerify(cJ.bodyBytes, cJ.proofs[1], b))
634+ let dc = if (sigVerify(cZ.bodyBytes, cZ.proofs[1], ai))
599635 then 1
600636 else 0
601- let cN = if (sigVerify(cJ.bodyBytes, cJ.proofs[2], c))
637+ let dd = if (sigVerify(cZ.bodyBytes, cZ.proofs[2], aj))
602638 then 1
603639 else 0
604- (((cL + cM) + cN) >= 2)
640+ (((db + dc) + dd) >= 2)
605641 }
606642

github/deemru/w8io/169f3d6 
392.45 ms