tx · 3D8Hk7Fwmn1ema6umLyGMU3knyYh13kVFjdn9M2VpfTk

3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU:  -0.01400000 Waves

2021.06.08 13:38 [1561270] smart account 3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU > SELF 0.00000000 Waves

{ "type": 13, "id": "3D8Hk7Fwmn1ema6umLyGMU3knyYh13kVFjdn9M2VpfTk", "fee": 1400000, "feeAssetId": null, "timestamp": 1623148689844, "version": 2, "chainId": 84, "sender": "3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU", "senderPublicKey": "AWADFmQjf2WbDSqb24S9YZpix3VEdiBdeiJ2J2sSfQ49", "proofs": [ "2F2hthRmMJyUEyuWZ7cE8EsiwNyNL9wXRGJ5rNmvHCUf6jeJUPWarMA6HMoFDYC3H9oLP4jdtTHvTRNdY5vvsKju" ], "script": "base64:AAIEAAAAAAAAAB0IAhIAEgASAwoBARIAEgASCAoGGBEYEQEBEgASAAAAAEoAAAAADGFkbWluUHViS2V5MQEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADGFkbWluUHViS2V5MgEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADGFkbWluUHViS2V5MwEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wAQAAACAEz3XlZNDBD05nuR8TZMQaDeqEJEIxfTOQXUBYCp2TSgAAAAARYWRtaW5QdWJLZXlXYWxsZXQBAAAAID53WmVaVsn8KVcztbwNRS3KzKf4hZION3dY82IVUhQSAAAAAAlrZXlBY3RpdmUCAAAABmFjdGl2ZQAAAAAIa2V5Q2F1c2UCAAAADnNodXRkb3duX2NhdXNlAAAAAA9rZXlMYXN0SW50ZXJlc3QCAAAADWxhc3RfaW50ZXJlc3QAAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QCAAAADl9sYXN0X2ludGVyZXN0AAAAABFrZXlVc2VyU1dPUExvY2tlZAIAAAAMX1NXT1BfYW1vdW50AAAAABRrZXlVc2VyR2V0QmFja0hlaWdodAIAAAAOX2dldEJhY2tIZWlnaHQAAAAAEmtleVRvdGFsU1dPUExvY2tlZAIAAAARdG90YWxfU1dPUF9hbW91bnQAAAAAEmtVc2VyVG90YWxWb3RlU1dPUAIAAAAVX3VzZXJfdG90YWxfU1dPUF92b3RlAAAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAIAAAATX1NXT1Bfb3B0aW9uX2Ftb3VudAAAAAAYa2V5VG90YWxWb3RlT3B0aW9uQW1vdW50AgAAABh0b3RhbF9TV09QX29wdGlvbl9hbW91bnQAAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAIAAAAUX1NXT1BfY2xhaW1lZF9hbW91bnQAAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQCAAAAGV9TV09QX2xhc3RfY2xhaW1lZF9hbW91bnQAAAAAC2tleVZvdGVOYW1lAgAAAAl2b3RlX25hbWUAAAAADWtleU9wdGlvbk5hbWUCAAAADF9vcHRpb25fbmFtZQAAAAAUa2V5Vm90aW5nU3RhcnRIZWlnaHQCAAAADF9zdGFydEhlaWdodAAAAAAPa2V5Vm90ZUR1cmF0aW9uAgAAAA5fdm90ZV9kdXJhdGlvbgAAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAIAAAAdX2N1cnJlbnRfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzAgAAAB5fcHJldmlvdXNfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgIAAAAVX3Jld2FyZF91cGRhdGVfaGVpZ2h0AAAAAB1rZXlUb3RhbFJld2FyZFBlckJsb2NrQ3VycmVudAIAAAAedG90YWxfcmV3YXJkX3Blcl9ibG9ja19jdXJyZW50AAAAAB5rZXlUb3RhbFJld2FyZFBlckJsb2NrUHJldmlvdXMCAAAAH3RvdGFsX3Jld2FyZF9wZXJfYmxvY2tfcHJldmlvdXMAAAAAFWtleVJld2FyZFVwZGF0ZUhlaWdodAIAAAAUcmV3YXJkX3VwZGF0ZV9oZWlnaHQAAAAAFWtleU5vVm90aW5nRm9yTmV3UG9vbAIAAAAIX3ZvdGVfbm8AAAAAFmtleVllc1ZvdGluZ0Zvck5ld1Bvb2wCAAAACV92b3RlX3llcwAAAAAba2V5QW1vdW50T2ZWb3RpbmdGb3JOZXdQb29sAgAAABFtYXhfYW1vdW50X3ZvdGluZwAAAAAba2V5U3RhdHVzT2ZWb3RpbmdGb3JOZXdQb29sAgAAAAdfc3RhdHVzAAAAAB9rZXlIZWlnaHRPZlBvb2xWb3RpbmdGb3JOZXdQb29sAgAAAA5fZmluaXNoX2hlaWdodAAAAAAPYWN0aXZlVm90ZUZpcnN0AgAAABR2b3RpbmdfYWN0aXZlX2NlbGxfMQAAAAAQYWN0aXZlVm90ZVNlY29uZAIAAAAUdm90aW5nX2FjdGl2ZV9jZWxsXzIAAAAAD2FjdGl2ZVZvdGVUaGlyZAIAAAAUdm90aW5nX2FjdGl2ZV9jZWxsXzMAAAAADmtleVRlbXBQcmV2U3VtAgAAABNzdW1fcmV3YXJkX3ByZXZpb3VzAAAAAA1rZXlUZW1wQ3VyU3VtAgAAABJzdW1fcmV3YXJkX2N1cnJlbnQAAAAACGlzQWN0aXZlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAABHRoaXMFAAAACWtleUFjdGl2ZQYAAAAAEmZhcm1pbmdTV09QQWRkcmVzcwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVCxLgnZGje8ZMj0pqQTMC/r2IdKOt5kvZgAAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUGjZ+31einSdpXP6/9ybU5/uhw2g+IMp/AAAAABB2b3RpbmdGb3JOZXdQb29sCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUdiHheRXLc3d/P6BjdFCrIyxbGRiD80uCAAAAAAlrZXlTV09QaWQCAAAAB1NXT1BfaWQAAAAABFNXT1AJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAASZmFybWluZ1NXT1BBZGRyZXNzBQAAAAlrZXlTV09QaWQAAAAACnNjYWxlVmFsdWUAAAAAAAX14QAAAAAADnRvdGFsVm90ZVNoYXJlAAAAAAJUC+QAAAAAAAxrU3RhcnRIZWlnaHQCAAAADHN0YXJ0X2hlaWdodAAAAAALa0Jhc2VQZXJpb2QCAAAAC2Jhc2VfcGVyaW9kAAAAAA1rUGVyaW9kTGVuZ3RoAgAAAA1wZXJpb2RfbGVuZ3RoAAAAAA9rVXNlclRvdGFsU3RydWMCAAAAEV91c2VyX3RvdGFsX3N0cnVjAAAAAApiYXNlUGVyaW9kCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0BQAAAAtrQmFzZVBlcmlvZAIAAAAkRW1wdHkga0Jhc2VQZXJpb2QgYXQgdm90aW5nIGNvbnRyYWN0AAAAAAtzdGFydEhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAUAAAAMa1N0YXJ0SGVpZ2h0AgAAACVFbXB0eSBrU3RhcnRIZWlnaHQgYXQgdm90aW5nIGNvbnRyYWN0AAAAAAxwZXJpb2RMZW5ndGgJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QFAAAADWtQZXJpb2RMZW5ndGgCAAAAJkVtcHR5IGtQZXJpb2RMZW5ndGggYXQgdm90aW5nIGNvbnRyYWN0AAAAAA9maXJzdEFjdGl2ZVZvdGUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAQdm90aW5nRm9yTmV3UG9vbAUAAAAPYWN0aXZlVm90ZUZpcnN0AgAAAAAAAAAAEHNlY29uZEFjdGl2ZVZvdGUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAQdm90aW5nRm9yTmV3UG9vbAUAAAAQYWN0aXZlVm90ZVNlY29uZAIAAAAAAAAAAA90aGlyZEFjdGl2ZVZvdGUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAQdm90aW5nRm9yTmV3UG9vbAUAAAAPYWN0aXZlVm90ZVRoaXJkAgAAAAAAAAAAEGN1cnJWb3RpbmdQZXJpb2QJAABkAAAAAgUAAAAKYmFzZVBlcmlvZAkAAGkAAAACCQAAZQAAAAIFAAAABmhlaWdodAUAAAALc3RhcnRIZWlnaHQFAAAADHBlcmlvZExlbmd0aAEAAAAHc3VzcGVuZAAAAAEAAAAFY2F1c2UJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAACWtleUFjdGl2ZQcJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAIa2V5Q2F1c2UFAAAABWNhdXNlBQAAAANuaWwBAAAAEnRocm93Tm90RW5vdWdoU1dPUAAAAAAJAAACAAAAAQIAAABGTm90IGVub3VnaCBTV09QOiB1c2VyU1dPUExvY2tlZCAtIHVzZXJUb3RhbFZvdGVBbW91bnQgPCB2b3RlU1dPUEFtb3VudAEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAADGxhc3RJbnRlcmVzdAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA9rZXlMYXN0SW50ZXJlc3QAAAAAAAAAAAAFAAAADGxhc3RJbnRlcmVzdAEAAAARZ2V0VXNlclNXT1BMb2NrZWQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAEWtleVVzZXJTV09QTG9ja2VkAAAAAAAAAAAAAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAAAAAAAAAEAAAAWZ2V0VXNlclRvdGFsVm90ZUFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABJrVXNlclRvdGFsVm90ZVNXT1AAAAAAAAAAAAABAAAAE2dldFVzZXJJbnRlcmVzdEluZm8AAAACAAAABHVzZXIAAAAMbGFzdEludGVyZXN0BAAAAA51c2VyU1dPUEFtb3VudAkBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQUAAAAEdXNlcgQAAAAQdXNlckxhc3RJbnRlcmVzdAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAQAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBAAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAAByRtYXRjaDAFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAADGxhc3RJbnRlcmVzdAkABRQAAAACBQAAABV1c2VyTGFzdEludGVyZXN0VmFsdWUFAAAADnVzZXJTV09QQW1vdW50AQAAACBnZXRVc2VyVG90YWxWb3RlQW1vdW50Rm9yT25lUG9vbAAAAAIAAAAEcG9vbAAAAAR1c2VyBAAAAAZ2b3RpbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAQdm90aW5nRm9yTmV3UG9vbAUAAAAEcG9vbAD//////////wQAAAAOaGVpZ2h0T2ZWb3RpbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAQdm90aW5nRm9yTmV3UG9vbAkAASwAAAACCQABpAAAAAEFAAAABnZvdGluZwUAAAAfa2V5SGVpZ2h0T2ZQb29sVm90aW5nRm9yTmV3UG9vbAAAAAAAAAAAAAQAAAAOc3RhdHVzT2ZWb3RpbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAAQdm90aW5nRm9yTmV3UG9vbAkAASwAAAACCQABpAAAAAEFAAAABnZvdGluZwUAAAAba2V5U3RhdHVzT2ZWb3RpbmdGb3JOZXdQb29sBgQAAAANY3VycmVudEhlaWdodAUAAAAGaGVpZ2h0AwkAAGYAAAACAAAAAAAAAAAABQAAAAZ2b3RpbmcAAAAAAAAAAAADCQEAAAABIQAAAAEFAAAADnN0YXR1c09mVm90aW5nAAAAAAAAAAAAAwkAAGYAAAACBQAAAA5oZWlnaHRPZlZvdGluZwUAAAANY3VycmVudEhlaWdodAkAAGQAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgIAAAABXwkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAFmtleVllc1ZvdGluZ0Zvck5ld1Bvb2wAAAAAAAAAAAAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAQdm90aW5nRm9yTmV3UG9vbAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyAgAAAAFfCQABpAAAAAEFAAAABnZvdGluZwUAAAAVa2V5Tm9Wb3RpbmdGb3JOZXdQb29sAAAAAAAAAAAAAAAAAAAAAAAAAQAAACBnZXRVc2VyVG90YWxWb3RlRm9yTmV3UG9vbEFtb3VudAAAAAEAAAAEdXNlcgQAAAAMbGlzdE9mVm90aW5nCQAETAAAAAIJAQAAACBnZXRVc2VyVG90YWxWb3RlQW1vdW50Rm9yT25lUG9vbAAAAAIFAAAAD2ZpcnN0QWN0aXZlVm90ZQUAAAAEdXNlcgkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAABBzZWNvbmRBY3RpdmVWb3RlBQAAAAR1c2VyCQAETAAAAAIJAQAAACBnZXRVc2VyVG90YWxWb3RlQW1vdW50Rm9yT25lUG9vbAAAAAIFAAAAD3RoaXJkQWN0aXZlVm90ZQUAAAAEdXNlcgUAAAADbmlsCQABlgAAAAEFAAAADGxpc3RPZlZvdGluZwEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQAAAAAAAAAAAABAAAAD2dldFVzZXJWb3RlSW5mbwAAAAEAAAAEdXNlcgQAAAALJHQwNTk1NDY1MDUDCQEAAAAJaXNEZWZpbmVkAAAAAQkABB0AAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAAA9rVXNlclRvdGFsU3RydWMEAAAABGRhdGEJAAS1AAAAAgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAD2tVc2VyVG90YWxTdHJ1YwIAAAAVRW1wdHkga1VzZXJUb3RhbFN0cnVjAgAAAAFfCQAFFQAAAAMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAARkYXRhAAAAAAAAAAAACQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEZGF0YQAAAAAAAAAAAQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAABGRhdGEAAAAAAAAAAAIEAAAADnVQb29sVG90YWxTV09QCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAEmtVc2VyVG90YWxWb3RlU1dPUAAAAAAAAAAAAAkABRUAAAADBQAAAA51UG9vbFRvdGFsU1dPUAAAAAAAAAAAAAUAAAAQY3VyclZvdGluZ1BlcmlvZAQAAAARdXNlclRvdGFsVm90ZVNXT1AIBQAAAAskdDA1OTU0NjUwNQAAAAJfMQQAAAALdXNlclVudm90ZWQIBQAAAAskdDA1OTU0NjUwNQAAAAJfMgQAAAARdXNlclVudm90ZWRQZXJpb2QIBQAAAAskdDA1OTU0NjUwNQAAAAJfMwQAAAARdXNlclVudm90ZWRBY3R1YWwDCQAAAAAAAAIFAAAAEXVzZXJVbnZvdGVkUGVyaW9kBQAAABBjdXJyVm90aW5nUGVyaW9kBQAAAAt1c2VyVW52b3RlZAAAAAAAAAAAAAkABRQAAAACBQAAABF1c2VyVG90YWxWb3RlU1dPUAUAAAARdXNlclVudm90ZWRBY3R1YWwBAAAAF2dldFVzZXJWb3RlT3B0aW9uQW1vdW50AAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAAAAAAAAAAAAAEAAAAUZ2V0Vm90aW5nU3RhcnRIZWlnaHQAAAABAAAACHZvdGVOYW1lCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAIdm90ZU5hbWUFAAAAFGtleVZvdGluZ1N0YXJ0SGVpZ2h0AAAAAAAAAAAAAQAAABNnZXRWb3RlT3B0aW9uQW1vdW50AAAAAwAAAAR1c2VyAAAACHZvdGVOYW1lAAAABm9wdGlvbgQAAAAUdXNlclZvdGVPcHRpb25BbW91bnQJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAIdm90ZU5hbWUFAAAABm9wdGlvbgkABCUAAAABBQAAAAR1c2VyBQAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAQAAAAEdXZvYQQAAAAHJG1hdGNoMAUAAAAUdXNlclZvdGVPcHRpb25BbW91bnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAEdXZvYQUA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CyR0MDg2NDI4NzE3AAAAAl8xBAAAAApwbXRBc3NldElkCAUAAAALJHQwODY0Mjg3MTcAAAACXzIDCQEAAAACIT0AAAACBQAAAApwbXRBc3NldElkBQAAAARTV09QCQAAAgAAAAECAAAAFEluY29ycmVjdCBwbXRBc3NldElkBAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAALaW50ZXJlc3ROZXcJAABkAAAAAgUAAAAMbGFzdEludGVyZXN0CQAAawAAAAMFAAAACXBtdEFtb3VudAUAAAAKc2NhbGVWYWx1ZQUAAAAPdG90YWxTV09QTG9ja2VkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rZXlMYXN0SW50ZXJlc3QFAAAAC2ludGVyZXN0TmV3BQAAAANuaWwAAAABaQEAAAAIbG9ja1NXT1AAAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAAskdDA5MTU1OTIzMAkABRQAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAACXBtdEFtb3VudAgFAAAACyR0MDkxNTU5MjMwAAAAAl8xBAAAAApwbXRBc3NldElkCAUAAAALJHQwOTE1NTkyMzAAAAACXzIDCQEAAAACIT0AAAACBQAAAApwbXRBc3NldElkBQAAAARTV09QCQAAAgAAAAECAAAAFEluY29ycmVjdCBwbXRBc3NldElkBAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAALJHQwOTM0Njk0MjgJAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAxsYXN0SW50ZXJlc3QEAAAAEHVzZXJMYXN0SW50ZXJlc3QIBQAAAAskdDA5MzQ2OTQyOAAAAAJfMQQAAAAOdXNlclNXT1BMb2NrZWQIBQAAAAskdDA5MzQ2OTQyOAAAAAJfMgQAAAALY2xhaW1BbW91bnQJAABrAAAAAwUAAAAOdXNlclNXT1BMb2NrZWQJAABlAAAAAgUAAAAMbGFzdEludGVyZXN0BQAAABB1c2VyTGFzdEludGVyZXN0BQAAAApzY2FsZVZhbHVlBAAAABF1c2VyU1dPUExvY2tlZE5ldwkAAGQAAAACCQAAZAAAAAIFAAAADnVzZXJTV09QTG9ja2VkBQAAAAlwbXRBbW91bnQFAAAAC2NsYWltQW1vdW50BAAAAA91c2VyTmV3SW50ZXJlc3QFAAAADGxhc3RJbnRlcmVzdAQAAAAPdG90YWxTV09QTG9ja2VkCQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAASdG90YWxTV09QTG9ja2VkTmV3CQAAZAAAAAIJAABkAAAAAgUAAAAPdG90YWxTV09QTG9ja2VkBQAAAAlwbXRBbW91bnQFAAAAC2NsYWltQW1vdW50BAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtleVVzZXJTV09QTG9ja2VkBQAAABF1c2VyU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5VG90YWxTV09QTG9ja2VkBQAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50BQAAAANuaWwAAAABaQEAAAAMd2l0aGRyYXdTV09QAAAAAQAAAA53aXRoZHJhd0Ftb3VudAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAMJAABnAAAAAgAAAAAAAAAAAAUAAAAOd2l0aGRyYXdBbW91bnQJAAACAAAAAQIAAAATd2l0aGRyYXdBbW91bnQgPD0gMAQAAAAPdG90YWxTV09QTG9ja2VkCQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAAOdXNlclNXT1BMb2NrZWQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAANJHQwMTA1NzgxMDYzMwkBAAAACWNsYWltQ2FsYwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPdXNlck5ld0ludGVyZXN0CAUAAAANJHQwMTA1NzgxMDYzMwAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAA0kdDAxMDU3ODEwNjMzAAAAAl8yBAAAAA0kdDAxMDYzODEwNzAzCQEAAAAPZ2V0VXNlclZvdGVJbmZvAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA51c2VyVm90ZUFtb3VudAgFAAAADSR0MDEwNjM4MTA3MDMAAAACXzEEAAAAEHVzZXJVbnZvdGVBbW91bnQIBQAAAA0kdDAxMDYzODEwNzAzAAAAAl8yBAAAABh1c2VyVm90ZUFtb3VudEZvck5ld1Bvb2wJAQAAACBnZXRVc2VyVG90YWxWb3RlRm9yTmV3UG9vbEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgMDAwkAAGYAAAACAAAAAAAAAAAABQAAABB1c2VyVW52b3RlQW1vdW50BgkAAGYAAAACAAAAAAAAAAAABQAAAA51c2VyVm90ZUFtb3VudAYJAABmAAAAAgAAAAAAAAAAAAUAAAAYdXNlclZvdGVBbW91bnRGb3JOZXdQb29sCQAAAgAAAAECAAAASnVzZXJVbnZvdGVBbW91bnQgPCAwIHx8IHVzZXJWb3RlQW1vdW50IDwgMCB8fCB1c2VyVm90ZUFtb3VudEZvck5ld1Bvb2wgPCAwBAAAABJhdmFpbGFibGVUb1Vuc3Rha2UJAABlAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQJAAGWAAAAAQkABEwAAAACBQAAABh1c2VyVm90ZUFtb3VudEZvck5ld1Bvb2wJAARMAAAAAgkAAGQAAAACBQAAAA51c2VyVm90ZUFtb3VudAUAAAAQdXNlclVudm90ZUFtb3VudAUAAAADbmlsAwkAAGYAAAACBQAAAA53aXRoZHJhd0Ftb3VudAUAAAASYXZhaWxhYmxlVG9VbnN0YWtlCQAAAgAAAAECAAAAI3dpdGhkcmF3QW1vdW50ID4gYXZhaWxhYmxlVG9VbnN0YWtlBAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABlAAAAAgkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BQAAAA53aXRoZHJhd0Ftb3VudAQAAAARdXNlclNXT1BhbW91bnROZXcJAABlAAAAAgkAAGQAAAACBQAAAA51c2VyU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQFAAAADndpdGhkcmF3QW1vdW50BAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtleVVzZXJTV09QTG9ja2VkBQAAABF1c2VyU1dPUGFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5VG90YWxTV09QTG9ja2VkBQAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAA53aXRoZHJhd0Ftb3VudAUAAAAEU1dPUAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAFpAQAAABRjbGFpbUFuZFdpdGhkcmF3U1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAA0kdDAxMjA3ODEyMTMzCQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAxMjA3ODEyMTMzAAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDEyMDc4MTIxMzMAAAACXzIEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQDCQAAAAAAAAIFAAAAC2NsYWltQW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAGVlvdSBoYXZlIDAgYXZhaWxhYmxlIFNXT1AJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAtjbGFpbUFtb3VudAUAAAAEU1dPUAUAAAADbmlsAAAAAWkBAAAAEWNsYWltQW5kU3Rha2VTV09QAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAAPdG90YWxTV09QTG9ja2VkCQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAAOdXNlclNXT1BMb2NrZWQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAADSR0MDEyOTEyMTI5NjcJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDEyOTEyMTI5NjcAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTI5MTIxMjk2NwAAAAJfMgQAAAARdXNlclNXT1BMb2NrZWROZXcJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABkAAAAAgUAAAAPdG90YWxTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAMJAAAAAAAAAgUAAAALY2xhaW1BbW91bnQAAAAAAAAAAAAJAAACAAAAAQIAAAAZWW91IGhhdmUgMCBhdmFpbGFibGUgU1dPUAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAUAAAADbmlsAAAAAWkBAAAADXVwZGF0ZVdlaWdodHMAAAAGAAAADXByZXZpb3VzUG9vbHMAAAAPcHJldmlvdXNSZXdhcmRzAAAADGN1cnJlbnRQb29scwAAAA5jdXJyZW50UmV3YXJkcwAAABJyZXdhcmRVcGRhdGVIZWlnaHQAAAAKcGFnaW5hdGlvbgMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAALYW1vdW50UG9vbHMAAAAAAAAAAAoDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzCQAETAAAAAIFAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wCQAETAAAAAIFAAAAEWFkbWluUHViS2V5V2FsbGV0BQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24DAwkAAGYAAAACCQABkAAAAAEFAAAADXByZXZpb3VzUG9vbHMFAAAAC2Ftb3VudFBvb2xzBgkAAGYAAAACCQABkAAAAAEFAAAADGN1cnJlbnRQb29scwUAAAALYW1vdW50UG9vbHMJAAACAAAAAQkAASwAAAACAgAAABZNYXggYW1vdW50IG9mIHBvb2wgaXMgCQABpAAAAAEFAAAAC2Ftb3VudFBvb2xzCgEAAAADc3VtAAAAAgAAAAFhAAAAAWIJAABkAAAAAgUAAAABYQUAAAABYgoBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAACXBvb2xJbmRleAkBAAAABXZhbHVlAAAAAQkABE8AAAACBQAAAA1wcmV2aW91c1Bvb2xzBQAAAARwb29sBAAAAApwb29sUmV3YXJkCQABkQAAAAIFAAAAD3ByZXZpb3VzUmV3YXJkcwUAAAAJcG9vbEluZGV4CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzBQAAAApwb29sUmV3YXJkBQAAAAthY2N1bXVsYXRlZAoBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAJcG9vbEluZGV4CQEAAAAFdmFsdWUAAAABCQAETwAAAAIFAAAADGN1cnJlbnRQb29scwUAAAAEcG9vbAQAAAAKcG9vbFJld2FyZAkAAZEAAAACBQAAAA5jdXJyZW50UmV3YXJkcwUAAAAJcG9vbEluZGV4CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAHGtleVJld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQFAAAACnBvb2xSZXdhcmQFAAAAC2FjY3VtdWxhdGVkCgEAAAALSGVpZ2h0RW50cnkAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAACXBvb2xJbmRleAkBAAAABXZhbHVlAAAAAQkABE8AAAACBQAAAAxjdXJyZW50UG9vbHMFAAAABHBvb2wEAAAACnBvb2xIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABVrZXlIZWlnaHRQb29sRnJhY3Rpb24FAAAACnBvb2xIZWlnaHQFAAAAC2FjY3VtdWxhdGVkCgEAAAAMZ2V0U3VtUmV3YXJkAAAAAwAAAAtwcmV2VGVtcFN1bQAAAApjdXJUZW1wU3VtAAAACnBhZ2luYXRpb24DCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAAJAAUUAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOa2V5VGVtcFByZXZTdW0FAAAAC3ByZXZUZW1wU3VtBQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADWtleVRlbXBDdXJTdW0FAAAACmN1clRlbXBTdW0FAAAAA25pbAMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAQQAAAAScHJldlRlbXBTdW1Gcm9tS2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADmtleVRlbXBQcmV2U3VtAAAAAAAAAAAABAAAABFjdXJUZW1wU3VtRnJvbUtleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA1rZXlUZW1wQ3VyU3VtAAAAAAAAAAAACQAFFAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADmtleVRlbXBQcmV2U3VtCQAAZAAAAAIFAAAAC3ByZXZUZW1wU3VtBQAAABJwcmV2VGVtcFN1bUZyb21LZXkFAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANa2V5VGVtcEN1clN1bQkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQUAAAADbmlsAwkAAAAAAAACBQAAAApwYWdpbmF0aW9uAAAAAAAAAAACBAAAAAdwcmV2U3VtCQAAZAAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAOa2V5VGVtcFByZXZTdW0AAAAAAAAAAAAFAAAAC3ByZXZUZW1wU3VtBAAAAAZjdXJTdW0JAABkAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA1rZXlUZW1wQ3VyU3VtAAAAAAAAAAAABQAAAApjdXJUZW1wU3VtAwMJAQAAAAIhPQAAAAIFAAAAB3ByZXZTdW0FAAAADnRvdGFsVm90ZVNoYXJlBgkBAAAAAiE9AAAAAgUAAAAGY3VyU3VtBQAAAA50b3RhbFZvdGVTaGFyZQkAAAIAAAABAgAAAElzdW1SZXdhcmRQcmV2aW91cyAhPSB0b3RhbFZvdGVTaGFyZSBvciBzdW1SZXdhcmRDdXJyZW50ICE9IHRvdGFsVm90ZVNoYXJlCQAFFAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADmtleVRlbXBQcmV2U3VtBQAAAAdwcmV2U3VtBQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADWtleVRlbXBDdXJTdW0FAAAABmN1clN1bQUAAAADbmlsCQAAAgAAAAECAAAAFEluY29ycmVjdCBwYWdpbmF0aW9uBAAAABVzdW1SZXdhcmRQcmV2aW91c1RlbXAEAAAADyRsaXN0MTYzMzAxNjM2MwUAAAAPcHJldmlvdXNSZXdhcmRzBAAAAA8kc2l6ZTE2MzMwMTYzNjMJAAGQAAAAAQUAAAAPJGxpc3QxNjMzMDE2MzYzBAAAAA8kYWNjMDE2MzMwMTYzNjMAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTYzMzAxNjM2MwAAAAAAAAAAAAUAAAAPJGFjYzAxNjMzMDE2MzYzBAAAAA8kYWNjMTE2MzMwMTYzNjMJAQAAAANzdW0AAAACBQAAAA8kYWNjMDE2MzMwMTYzNjMJAAGRAAAAAgUAAAAPJGxpc3QxNjMzMDE2MzYzAAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE2MzMwMTYzNjMAAAAAAAAAAAEFAAAADyRhY2MxMTYzMzAxNjM2MwQAAAAPJGFjYzIxNjMzMDE2MzYzCQEAAAADc3VtAAAAAgUAAAAPJGFjYzExNjMzMDE2MzYzCQABkQAAAAIFAAAADyRsaXN0MTYzMzAxNjM2MwAAAAAAAAAAAQMJAAAAAAAAAgUAAAAPJHNpemUxNjMzMDE2MzYzAAAAAAAAAAACBQAAAA8kYWNjMjE2MzMwMTYzNjMEAAAADyRhY2MzMTYzMzAxNjM2MwkBAAAAA3N1bQAAAAIFAAAADyRhY2MyMTYzMzAxNjM2MwkAAZEAAAACBQAAAA8kbGlzdDE2MzMwMTYzNjMAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMTYzMzAxNjM2MwAAAAAAAAAAAwUAAAAPJGFjYzMxNjMzMDE2MzYzBAAAAA8kYWNjNDE2MzMwMTYzNjMJAQAAAANzdW0AAAACBQAAAA8kYWNjMzE2MzMwMTYzNjMJAAGRAAAAAgUAAAAPJGxpc3QxNjMzMDE2MzYzAAAAAAAAAAADAwkAAAAAAAACBQAAAA8kc2l6ZTE2MzMwMTYzNjMAAAAAAAAAAAQFAAAADyRhY2M0MTYzMzAxNjM2MwQAAAAPJGFjYzUxNjMzMDE2MzYzCQEAAAADc3VtAAAAAgUAAAAPJGFjYzQxNjMzMDE2MzYzCQABkQAAAAIFAAAADyRsaXN0MTYzMzAxNjM2MwAAAAAAAAAABAMJAAAAAAAAAgUAAAAPJHNpemUxNjMzMDE2MzYzAAAAAAAAAAAFBQAAAA8kYWNjNTE2MzMwMTYzNjMEAAAADyRhY2M2MTYzMzAxNjM2MwkBAAAAA3N1bQAAAAIFAAAADyRhY2M1MTYzMzAxNjM2MwkAAZEAAAACBQAAAA8kbGlzdDE2MzMwMTYzNjMAAAAAAAAAAAUDCQAAAAAAAAIFAAAADyRzaXplMTYzMzAxNjM2MwAAAAAAAAAABgUAAAAPJGFjYzYxNjMzMDE2MzYzBAAAAA8kYWNjNzE2MzMwMTYzNjMJAQAAAANzdW0AAAACBQAAAA8kYWNjNjE2MzMwMTYzNjMJAAGRAAAAAgUAAAAPJGxpc3QxNjMzMDE2MzYzAAAAAAAAAAAGAwkAAAAAAAACBQAAAA8kc2l6ZTE2MzMwMTYzNjMAAAAAAAAAAAcFAAAADyRhY2M3MTYzMzAxNjM2MwQAAAAPJGFjYzgxNjMzMDE2MzYzCQEAAAADc3VtAAAAAgUAAAAPJGFjYzcxNjMzMDE2MzYzCQABkQAAAAIFAAAADyRsaXN0MTYzMzAxNjM2MwAAAAAAAAAABwMJAAAAAAAAAgUAAAAPJHNpemUxNjMzMDE2MzYzAAAAAAAAAAAIBQAAAA8kYWNjODE2MzMwMTYzNjMEAAAADyRhY2M5MTYzMzAxNjM2MwkBAAAAA3N1bQAAAAIFAAAADyRhY2M4MTYzMzAxNjM2MwkAAZEAAAACBQAAAA8kbGlzdDE2MzMwMTYzNjMAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMTYzMzAxNjM2MwAAAAAAAAAACQUAAAAPJGFjYzkxNjMzMDE2MzYzBAAAABAkYWNjMTAxNjMzMDE2MzYzCQEAAAADc3VtAAAAAgUAAAAPJGFjYzkxNjMzMDE2MzYzCQABkQAAAAIFAAAADyRsaXN0MTYzMzAxNjM2MwAAAAAAAAAACQMJAAAAAAAAAgUAAAAPJHNpemUxNjMzMDE2MzYzAAAAAAAAAAAKBQAAABAkYWNjMTAxNjMzMDE2MzYzBAAAABAkYWNjMTExNjMzMDE2MzYzCQEAAAADc3VtAAAAAgUAAAAQJGFjYzEwMTYzMzAxNjM2MwkAAZEAAAACBQAAAA8kbGlzdDE2MzMwMTYzNjMAAAAAAAAAAAoJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxMAQAAAAUc3VtUmV3YXJkQ3VycmVudFRlbXAEAAAADyRsaXN0MTYzOTYxNjQyOAUAAAAOY3VycmVudFJld2FyZHMEAAAADyRzaXplMTYzOTYxNjQyOAkAAZAAAAABBQAAAA8kbGlzdDE2Mzk2MTY0MjgEAAAADyRhY2MwMTYzOTYxNjQyOAAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxNjM5NjE2NDI4AAAAAAAAAAAABQAAAA8kYWNjMDE2Mzk2MTY0MjgEAAAADyRhY2MxMTYzOTYxNjQyOAkBAAAAA3N1bQAAAAIFAAAADyRhY2MwMTYzOTYxNjQyOAkAAZEAAAACBQAAAA8kbGlzdDE2Mzk2MTY0MjgAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTYzOTYxNjQyOAAAAAAAAAAAAQUAAAAPJGFjYzExNjM5NjE2NDI4BAAAAA8kYWNjMjE2Mzk2MTY0MjgJAQAAAANzdW0AAAACBQAAAA8kYWNjMTE2Mzk2MTY0MjgJAAGRAAAAAgUAAAAPJGxpc3QxNjM5NjE2NDI4AAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTE2Mzk2MTY0MjgAAAAAAAAAAAIFAAAADyRhY2MyMTYzOTYxNjQyOAQAAAAPJGFjYzMxNjM5NjE2NDI4CQEAAAADc3VtAAAAAgUAAAAPJGFjYzIxNjM5NjE2NDI4CQABkQAAAAIFAAAADyRsaXN0MTYzOTYxNjQyOAAAAAAAAAAAAgMJAAAAAAAAAgUAAAAPJHNpemUxNjM5NjE2NDI4AAAAAAAAAAADBQAAAA8kYWNjMzE2Mzk2MTY0MjgEAAAADyRhY2M0MTYzOTYxNjQyOAkBAAAAA3N1bQAAAAIFAAAADyRhY2MzMTYzOTYxNjQyOAkAAZEAAAACBQAAAA8kbGlzdDE2Mzk2MTY0MjgAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTYzOTYxNjQyOAAAAAAAAAAABAUAAAAPJGFjYzQxNjM5NjE2NDI4BAAAAA8kYWNjNTE2Mzk2MTY0MjgJAQAAAANzdW0AAAACBQAAAA8kYWNjNDE2Mzk2MTY0MjgJAAGRAAAAAgUAAAAPJGxpc3QxNjM5NjE2NDI4AAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTE2Mzk2MTY0MjgAAAAAAAAAAAUFAAAADyRhY2M1MTYzOTYxNjQyOAQAAAAPJGFjYzYxNjM5NjE2NDI4CQEAAAADc3VtAAAAAgUAAAAPJGFjYzUxNjM5NjE2NDI4CQABkQAAAAIFAAAADyRsaXN0MTYzOTYxNjQyOAAAAAAAAAAABQMJAAAAAAAAAgUAAAAPJHNpemUxNjM5NjE2NDI4AAAAAAAAAAAGBQAAAA8kYWNjNjE2Mzk2MTY0MjgEAAAADyRhY2M3MTYzOTYxNjQyOAkBAAAAA3N1bQAAAAIFAAAADyRhY2M2MTYzOTYxNjQyOAkAAZEAAAACBQAAAA8kbGlzdDE2Mzk2MTY0MjgAAAAAAAAAAAYDCQAAAAAAAAIFAAAADyRzaXplMTYzOTYxNjQyOAAAAAAAAAAABwUAAAAPJGFjYzcxNjM5NjE2NDI4BAAAAA8kYWNjODE2Mzk2MTY0MjgJAQAAAANzdW0AAAACBQAAAA8kYWNjNzE2Mzk2MTY0MjgJAAGRAAAAAgUAAAAPJGxpc3QxNjM5NjE2NDI4AAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTE2Mzk2MTY0MjgAAAAAAAAAAAgFAAAADyRhY2M4MTYzOTYxNjQyOAQAAAAPJGFjYzkxNjM5NjE2NDI4CQEAAAADc3VtAAAAAgUAAAAPJGFjYzgxNjM5NjE2NDI4CQABkQAAAAIFAAAADyRsaXN0MTYzOTYxNjQyOAAAAAAAAAAACAMJAAAAAAAAAgUAAAAPJHNpemUxNjM5NjE2NDI4AAAAAAAAAAAJBQAAAA8kYWNjOTE2Mzk2MTY0MjgEAAAAECRhY2MxMDE2Mzk2MTY0MjgJAQAAAANzdW0AAAACBQAAAA8kYWNjOTE2Mzk2MTY0MjgJAAGRAAAAAgUAAAAPJGxpc3QxNjM5NjE2NDI4AAAAAAAAAAAJAwkAAAAAAAACBQAAAA8kc2l6ZTE2Mzk2MTY0MjgAAAAAAAAAAAoFAAAAECRhY2MxMDE2Mzk2MTY0MjgEAAAAECRhY2MxMTE2Mzk2MTY0MjgJAQAAAANzdW0AAAACBQAAABAkYWNjMTAxNjM5NjE2NDI4CQABkQAAAAIFAAAADyRsaXN0MTYzOTYxNjQyOAAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwBAAAAA0kdDAxNjQzNDE2NTQ2CQEAAAAMZ2V0U3VtUmV3YXJkAAAAAwUAAAAUc3VtUmV3YXJkQ3VycmVudFRlbXAFAAAAFHN1bVJld2FyZEN1cnJlbnRUZW1wBQAAAApwYWdpbmF0aW9uBAAAABFzdW1SZXdhcmRQcmV2aW91cwgFAAAADSR0MDE2NDM0MTY1NDYAAAACXzEEAAAAEHN1bVJld2FyZEN1cnJlbnQIBQAAAA0kdDAxNjQzNDE2NTQ2AAAAAl8yBAAAABdyZXdhcmRVcGRhdGVIZWlnaHRFbnRyeQMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAABVrZXlSZXdhcmRVcGRhdGVIZWlnaHQFAAAAA25pbAMDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAIJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQHCQAAAgAAAAECAAAAG3Jld2FyZFVwZGF0ZUhlaWdodCA8IGhlaWdodAQAAAAWcHJldmlvdXNSZXdhcmRFbnRyeU5ldwQAAAAPJGxpc3QxNjg5NDE2OTQyBQAAAA1wcmV2aW91c1Bvb2xzBAAAAA8kc2l6ZTE2ODk0MTY5NDIJAAGQAAAAAQUAAAAPJGxpc3QxNjg5NDE2OTQyBAAAAA8kYWNjMDE2ODk0MTY5NDIFAAAAA25pbAMJAAAAAAAAAgUAAAAPJHNpemUxNjg5NDE2OTQyAAAAAAAAAAAABQAAAA8kYWNjMDE2ODk0MTY5NDIEAAAADyRhY2MxMTY4OTQxNjk0MgkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMDE2ODk0MTY5NDIJAAGRAAAAAgUAAAAPJGxpc3QxNjg5NDE2OTQyAAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE2ODk0MTY5NDIAAAAAAAAAAAEFAAAADyRhY2MxMTY4OTQxNjk0MgQAAAAPJGFjYzIxNjg5NDE2OTQyCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MxMTY4OTQxNjk0MgkAAZEAAAACBQAAAA8kbGlzdDE2ODk0MTY5NDIAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTY4OTQxNjk0MgAAAAAAAAAAAgUAAAAPJGFjYzIxNjg5NDE2OTQyBAAAAA8kYWNjMzE2ODk0MTY5NDIJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzIxNjg5NDE2OTQyCQABkQAAAAIFAAAADyRsaXN0MTY4OTQxNjk0MgAAAAAAAAAAAgMJAAAAAAAAAgUAAAAPJHNpemUxNjg5NDE2OTQyAAAAAAAAAAADBQAAAA8kYWNjMzE2ODk0MTY5NDIEAAAADyRhY2M0MTY4OTQxNjk0MgkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMzE2ODk0MTY5NDIJAAGRAAAAAgUAAAAPJGxpc3QxNjg5NDE2OTQyAAAAAAAAAAADAwkAAAAAAAACBQAAAA8kc2l6ZTE2ODk0MTY5NDIAAAAAAAAAAAQFAAAADyRhY2M0MTY4OTQxNjk0MgQAAAAPJGFjYzUxNjg5NDE2OTQyCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M0MTY4OTQxNjk0MgkAAZEAAAACBQAAAA8kbGlzdDE2ODk0MTY5NDIAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTY4OTQxNjk0MgAAAAAAAAAABQUAAAAPJGFjYzUxNjg5NDE2OTQyBAAAAA8kYWNjNjE2ODk0MTY5NDIJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzUxNjg5NDE2OTQyCQABkQAAAAIFAAAADyRsaXN0MTY4OTQxNjk0MgAAAAAAAAAABQMJAAAAAAAAAgUAAAAPJHNpemUxNjg5NDE2OTQyAAAAAAAAAAAGBQAAAA8kYWNjNjE2ODk0MTY5NDIEAAAADyRhY2M3MTY4OTQxNjk0MgkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNjE2ODk0MTY5NDIJAAGRAAAAAgUAAAAPJGxpc3QxNjg5NDE2OTQyAAAAAAAAAAAGAwkAAAAAAAACBQAAAA8kc2l6ZTE2ODk0MTY5NDIAAAAAAAAAAAcFAAAADyRhY2M3MTY4OTQxNjk0MgQAAAAPJGFjYzgxNjg5NDE2OTQyCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M3MTY4OTQxNjk0MgkAAZEAAAACBQAAAA8kbGlzdDE2ODk0MTY5NDIAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTY4OTQxNjk0MgAAAAAAAAAACAUAAAAPJGFjYzgxNjg5NDE2OTQyBAAAAA8kYWNjOTE2ODk0MTY5NDIJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzgxNjg5NDE2OTQyCQABkQAAAAIFAAAADyRsaXN0MTY4OTQxNjk0MgAAAAAAAAAACAMJAAAAAAAAAgUAAAAPJHNpemUxNjg5NDE2OTQyAAAAAAAAAAAJBQAAAA8kYWNjOTE2ODk0MTY5NDIEAAAAECRhY2MxMDE2ODk0MTY5NDIJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzkxNjg5NDE2OTQyCQABkQAAAAIFAAAADyRsaXN0MTY4OTQxNjk0MgAAAAAAAAAACQMJAAAAAAAAAgUAAAAPJHNpemUxNjg5NDE2OTQyAAAAAAAAAAAKBQAAABAkYWNjMTAxNjg5NDE2OTQyBAAAABAkYWNjMTExNjg5NDE2OTQyCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxMDE2ODk0MTY5NDIJAAGRAAAAAgUAAAAPJGxpc3QxNjg5NDE2OTQyAAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAEAAAAFWN1cnJlbnRSZXdhcmRFbnRyeU5ldwQAAAAPJGxpc3QxNjk3NTE3MDIxBQAAAAxjdXJyZW50UG9vbHMEAAAADyRzaXplMTY5NzUxNzAyMQkAAZAAAAABBQAAAA8kbGlzdDE2OTc1MTcwMjEEAAAADyRhY2MwMTY5NzUxNzAyMQUAAAADbmlsAwkAAAAAAAACBQAAAA8kc2l6ZTE2OTc1MTcwMjEAAAAAAAAAAAAFAAAADyRhY2MwMTY5NzUxNzAyMQQAAAAPJGFjYzExNjk3NTE3MDIxCQEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzAxNjk3NTE3MDIxCQABkQAAAAIFAAAADyRsaXN0MTY5NzUxNzAyMQAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxNjk3NTE3MDIxAAAAAAAAAAABBQAAAA8kYWNjMTE2OTc1MTcwMjEEAAAADyRhY2MyMTY5NzUxNzAyMQkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MxMTY5NzUxNzAyMQkAAZEAAAACBQAAAA8kbGlzdDE2OTc1MTcwMjEAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTY5NzUxNzAyMQAAAAAAAAAAAgUAAAAPJGFjYzIxNjk3NTE3MDIxBAAAAA8kYWNjMzE2OTc1MTcwMjEJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMjE2OTc1MTcwMjEJAAGRAAAAAgUAAAAPJGxpc3QxNjk3NTE3MDIxAAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTE2OTc1MTcwMjEAAAAAAAAAAAMFAAAADyRhY2MzMTY5NzUxNzAyMQQAAAAPJGFjYzQxNjk3NTE3MDIxCQEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzMxNjk3NTE3MDIxCQABkQAAAAIFAAAADyRsaXN0MTY5NzUxNzAyMQAAAAAAAAAAAwMJAAAAAAAAAgUAAAAPJHNpemUxNjk3NTE3MDIxAAAAAAAAAAAEBQAAAA8kYWNjNDE2OTc1MTcwMjEEAAAADyRhY2M1MTY5NzUxNzAyMQkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M0MTY5NzUxNzAyMQkAAZEAAAACBQAAAA8kbGlzdDE2OTc1MTcwMjEAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTY5NzUxNzAyMQAAAAAAAAAABQUAAAAPJGFjYzUxNjk3NTE3MDIxBAAAAA8kYWNjNjE2OTc1MTcwMjEJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNTE2OTc1MTcwMjEJAAGRAAAAAgUAAAAPJGxpc3QxNjk3NTE3MDIxAAAAAAAAAAAFAwkAAAAAAAACBQAAAA8kc2l6ZTE2OTc1MTcwMjEAAAAAAAAAAAYFAAAADyRhY2M2MTY5NzUxNzAyMQQAAAAPJGFjYzcxNjk3NTE3MDIxCQEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzYxNjk3NTE3MDIxCQABkQAAAAIFAAAADyRsaXN0MTY5NzUxNzAyMQAAAAAAAAAABgMJAAAAAAAAAgUAAAAPJHNpemUxNjk3NTE3MDIxAAAAAAAAAAAHBQAAAA8kYWNjNzE2OTc1MTcwMjEEAAAADyRhY2M4MTY5NzUxNzAyMQkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M3MTY5NzUxNzAyMQkAAZEAAAACBQAAAA8kbGlzdDE2OTc1MTcwMjEAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTY5NzUxNzAyMQAAAAAAAAAACAUAAAAPJGFjYzgxNjk3NTE3MDIxBAAAAA8kYWNjOTE2OTc1MTcwMjEJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjODE2OTc1MTcwMjEJAAGRAAAAAgUAAAAPJGxpc3QxNjk3NTE3MDIxAAAAAAAAAAAIAwkAAAAAAAACBQAAAA8kc2l6ZTE2OTc1MTcwMjEAAAAAAAAAAAkFAAAADyRhY2M5MTY5NzUxNzAyMQQAAAAQJGFjYzEwMTY5NzUxNzAyMQkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M5MTY5NzUxNzAyMQkAAZEAAAACBQAAAA8kbGlzdDE2OTc1MTcwMjEAAAAAAAAAAAkDCQAAAAAAAAIFAAAADyRzaXplMTY5NzUxNzAyMQAAAAAAAAAACgUAAAAQJGFjYzEwMTY5NzUxNzAyMQQAAAAQJGFjYzExMTY5NzUxNzAyMQkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxMDE2OTc1MTcwMjEJAAGRAAAAAgUAAAAPJGxpc3QxNjk3NTE3MDIxAAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAEAAAADmhlaWdodEVudHJ5TmV3BAAAAA8kbGlzdDE3MDQ3MTcwODYFAAAADGN1cnJlbnRQb29scwQAAAAPJHNpemUxNzA0NzE3MDg2CQABkAAAAAEFAAAADyRsaXN0MTcwNDcxNzA4NgQAAAAPJGFjYzAxNzA0NzE3MDg2BQAAAANuaWwDCQAAAAAAAAIFAAAADyRzaXplMTcwNDcxNzA4NgAAAAAAAAAAAAUAAAAPJGFjYzAxNzA0NzE3MDg2BAAAAA8kYWNjMTE3MDQ3MTcwODYJAQAAAAtIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2MwMTcwNDcxNzA4NgkAAZEAAAACBQAAAA8kbGlzdDE3MDQ3MTcwODYAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTcwNDcxNzA4NgAAAAAAAAAAAQUAAAAPJGFjYzExNzA0NzE3MDg2BAAAAA8kYWNjMjE3MDQ3MTcwODYJAQAAAAtIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2MxMTcwNDcxNzA4NgkAAZEAAAACBQAAAA8kbGlzdDE3MDQ3MTcwODYAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTcwNDcxNzA4NgAAAAAAAAAAAgUAAAAPJGFjYzIxNzA0NzE3MDg2BAAAAA8kYWNjMzE3MDQ3MTcwODYJAQAAAAtIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2MyMTcwNDcxNzA4NgkAAZEAAAACBQAAAA8kbGlzdDE3MDQ3MTcwODYAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMTcwNDcxNzA4NgAAAAAAAAAAAwUAAAAPJGFjYzMxNzA0NzE3MDg2BAAAAA8kYWNjNDE3MDQ3MTcwODYJAQAAAAtIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2MzMTcwNDcxNzA4NgkAAZEAAAACBQAAAA8kbGlzdDE3MDQ3MTcwODYAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTcwNDcxNzA4NgAAAAAAAAAABAUAAAAPJGFjYzQxNzA0NzE3MDg2BAAAAA8kYWNjNTE3MDQ3MTcwODYJAQAAAAtIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M0MTcwNDcxNzA4NgkAAZEAAAACBQAAAA8kbGlzdDE3MDQ3MTcwODYAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTcwNDcxNzA4NgAAAAAAAAAABQUAAAAPJGFjYzUxNzA0NzE3MDg2BAAAAA8kYWNjNjE3MDQ3MTcwODYJAQAAAAtIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M1MTcwNDcxNzA4NgkAAZEAAAACBQAAAA8kbGlzdDE3MDQ3MTcwODYAAAAAAAAAAAUDCQAAAAAAAAIFAAAADyRzaXplMTcwNDcxNzA4NgAAAAAAAAAABgUAAAAPJGFjYzYxNzA0NzE3MDg2BAAAAA8kYWNjNzE3MDQ3MTcwODYJAQAAAAtIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M2MTcwNDcxNzA4NgkAAZEAAAACBQAAAA8kbGlzdDE3MDQ3MTcwODYAAAAAAAAAAAYDCQAAAAAAAAIFAAAADyRzaXplMTcwNDcxNzA4NgAAAAAAAAAABwUAAAAPJGFjYzcxNzA0NzE3MDg2BAAAAA8kYWNjODE3MDQ3MTcwODYJAQAAAAtIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M3MTcwNDcxNzA4NgkAAZEAAAACBQAAAA8kbGlzdDE3MDQ3MTcwODYAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTcwNDcxNzA4NgAAAAAAAAAACAUAAAAPJGFjYzgxNzA0NzE3MDg2BAAAAA8kYWNjOTE3MDQ3MTcwODYJAQAAAAtIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M4MTcwNDcxNzA4NgkAAZEAAAACBQAAAA8kbGlzdDE3MDQ3MTcwODYAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMTcwNDcxNzA4NgAAAAAAAAAACQUAAAAPJGFjYzkxNzA0NzE3MDg2BAAAABAkYWNjMTAxNzA0NzE3MDg2CQEAAAALSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjOTE3MDQ3MTcwODYJAAGRAAAAAgUAAAAPJGxpc3QxNzA0NzE3MDg2AAAAAAAAAAAJAwkAAAAAAAACBQAAAA8kc2l6ZTE3MDQ3MTcwODYAAAAAAAAAAAoFAAAAECRhY2MxMDE3MDQ3MTcwODYEAAAAECRhY2MxMTE3MDQ3MTcwODYJAQAAAAtIZWlnaHRFbnRyeQAAAAIFAAAAECRhY2MxMDE3MDQ3MTcwODYJAAGRAAAAAgUAAAAPJGxpc3QxNzA0NzE3MDg2AAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAAROAAAAAgkABE4AAAACBQAAABZwcmV2aW91c1Jld2FyZEVudHJ5TmV3BQAAABVjdXJyZW50UmV3YXJkRW50cnlOZXcFAAAADmhlaWdodEVudHJ5TmV3BQAAABFzdW1SZXdhcmRQcmV2aW91cwUAAAAQc3VtUmV3YXJkQ3VycmVudAUAAAAXcmV3YXJkVXBkYXRlSGVpZ2h0RW50cnkAAAABaQEAAAAIc2h1dGRvd24AAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABCQABLAAAAAICAAAAIkRBcHAgaXMgYWxyZWFkeSBzdXNwZW5kZWQuIENhdXNlOiAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAIa2V5Q2F1c2UCAAAAGnRoZSBjYXVzZSB3YXNuJ3Qgc3BlY2lmaWVkAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uCQEAAAAHc3VzcGVuZAAAAAECAAAAD1BhdXNlZCBieSBhZG1pbgAAAAFpAQAAAAhhY3RpdmF0ZQAAAAADBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAABZEQXBwIGlzIGFscmVhZHkgYWN0aXZlAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUGCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAACGtleUNhdXNlBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tlebdALPw=", "height": 1561270, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GnTuexHDf3s8bu1Zh2C2rphcYXzTn7ne9fFRmsFbCN2G Next: 7rpakQSszcrwToG2GgLZJJMYhHjAuFGDQJe2tsJe2eL8 Diff:
OldNewDifferences
4747
4848 let w = "_previous_pool_fraction_reward"
4949
50-let x = "total_reward_per_block_current"
50+let x = "_reward_update_height"
5151
52-let y = "total_reward_per_block_previous"
52+let y = "total_reward_per_block_current"
5353
54-let z = "reward_update_height"
54+let z = "total_reward_per_block_previous"
5555
56-let A = "_vote_no"
56+let A = "reward_update_height"
5757
58-let B = "_vote_yes"
58+let B = "_vote_no"
5959
60-let C = "max_amount_voting"
60+let C = "_vote_yes"
6161
62-let D = "_status"
62+let D = "max_amount_voting"
6363
64-let E = "_finish_height"
64+let E = "_status"
6565
66-let F = "voting_active_cell_1"
66+let F = "_finish_height"
6767
68-let G = "voting_active_cell_2"
68+let G = "voting_active_cell_1"
6969
70-let H = "voting_active_cell_3"
70+let H = "voting_active_cell_2"
7171
72-let I = valueOrElse(getBoolean(this, f), true)
72+let I = "voting_active_cell_3"
7373
74-let J = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
74+let J = "sum_reward_previous"
7575
76-let K = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
76+let K = "sum_reward_current"
7777
78-let L = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
78+let L = valueOrElse(getBoolean(this, f), true)
7979
80-let M = "SWOP_id"
80+let M = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
8181
82-let N = fromBase58String(getStringValue(J, M))
82+let N = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
8383
84-let O = 100000000
84+let O = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
8585
86-let P = 10000000000
86+let P = "SWOP_id"
8787
88-let Q = "start_height"
88+let Q = fromBase58String(getStringValue(M, P))
8989
90-let R = "base_period"
90+let R = 100000000
9191
92-let S = "period_length"
92+let S = 10000000000
9393
94-let T = "_user_total_struc"
94+let T = "start_height"
9595
96-let U = valueOrErrorMessage(getInteger(K, R), "Empty kBasePeriod at voting contract")
96+let U = "base_period"
9797
98-let V = valueOrErrorMessage(getInteger(K, Q), "Empty kStartHeight at voting contract")
98+let V = "period_length"
9999
100-let W = valueOrErrorMessage(getInteger(K, S), "Empty kPeriodLength at voting contract")
100+let W = "_user_total_struc"
101101
102-let X = valueOrElse(getString(L, F), "")
102+let X = valueOrErrorMessage(getInteger(N, U), "Empty kBasePeriod at voting contract")
103103
104-let Y = valueOrElse(getString(L, G), "")
104+let Y = valueOrErrorMessage(getInteger(N, T), "Empty kStartHeight at voting contract")
105105
106-let Z = valueOrElse(getString(L, H), "")
106+let Z = valueOrErrorMessage(getInteger(N, V), "Empty kPeriodLength at voting contract")
107107
108-let aa = (U + ((height - V) / W))
108+let aa = valueOrElse(getString(O, G), "")
109109
110-func ab (ac) = [BooleanEntry(f, false), StringEntry(g, ac)]
110+let ab = valueOrElse(getString(O, H), "")
111+
112+let ac = valueOrElse(getString(O, I), "")
113+
114+let ad = (X + ((height - Y) / Z))
115+
116+func ae (af) = [BooleanEntry(f, false), StringEntry(g, af)]
111117
112118
113-func ad () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
119+func ag () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
114120
115121
116-func ae () = {
117- let af = valueOrElse(getInteger(this, h), 0)
118- af
122+func ah () = {
123+ let ai = valueOrElse(getInteger(this, h), 0)
124+ ai
119125 }
120126
121127
122-func ag (ah) = valueOrElse(getInteger(this, (toString(ah) + j)), 0)
128+func aj (ak) = valueOrElse(getInteger(this, (toString(ak) + j)), 0)
123129
124130
125-func ai (ah) = valueOrElse(getInteger(this, (toString(ah) + p)), 0)
131+func al (ak) = valueOrElse(getInteger(this, (toString(ak) + p)), 0)
126132
127133
128-func aj (ah) = valueOrElse(getInteger(K, (toString(ah) + m)), 0)
134+func am (ak) = valueOrElse(getInteger(N, (toString(ak) + m)), 0)
129135
130136
131-func ak (ah,af) = {
132- let al = ag(ah)
133- let am = getInteger(this, (toString(ah) + i))
134- let an = {
135- let ao = am
136- if ($isInstanceOf(ao, "Int"))
137+func an (ak,ai) = {
138+ let ao = aj(ak)
139+ let ap = getInteger(this, (toString(ak) + i))
140+ let aq = {
141+ let ar = ap
142+ if ($isInstanceOf(ar, "Int"))
137143 then {
138- let am = ao
139- am
144+ let ap = ar
145+ ap
140146 }
141- else af
147+ else ai
142148 }
143- $Tuple2(an, al)
149+ $Tuple2(aq, ao)
144150 }
145151
146152
147-func ap (aq,ah) = {
148- let ar = valueOrElse(getInteger(L, aq), -1)
149- let as = valueOrElse(getInteger(L, (toString(ar) + E)), 0)
150- let at = valueOrElse(getBoolean(L, (toString(ar) + D)), true)
151- let au = height
152- if ((0 > ar))
153+func as (at,ak) = {
154+ let au = valueOrElse(getInteger(O, at), -1)
155+ let av = valueOrElse(getInteger(O, (toString(au) + F)), 0)
156+ let aw = valueOrElse(getBoolean(O, (toString(au) + E)), true)
157+ let ax = height
158+ if ((0 > au))
153159 then 0
154- else if (!(at))
160+ else if (!(aw))
155161 then 0
156- else if ((as > au))
157- then (valueOrElse(getInteger(L, (((toString(ah) + "_") + toString(ar)) + B)), 0) + valueOrElse(getInteger(L, (((toString(ah) + "_") + toString(ar)) + A)), 0))
162+ else if ((av > ax))
163+ then (valueOrElse(getInteger(O, (((toString(ak) + "_") + toString(au)) + C)), 0) + valueOrElse(getInteger(O, (((toString(ak) + "_") + toString(au)) + B)), 0))
158164 else 0
159165 }
160166
161167
162-func av (ah) = {
163- let aw = [ap(X, ah), ap(Y, ah), ap(Z, ah)]
164- max(aw)
168+func ay (ak) = {
169+ let az = [as(aa, ak), as(ab, ak), as(ac, ak)]
170+ max(az)
165171 }
166172
167173
168-func ax () = valueOrElse(getInteger(this, l), 0)
174+func aA () = valueOrElse(getInteger(this, l), 0)
169175
170176
171-func ay (ah) = {
172- let az = if (isDefined(getString(K, (toString(ah) + T))))
177+func aB (ak) = {
178+ let aC = if (isDefined(getString(N, (toString(ak) + W))))
173179 then {
174- let aA = split(valueOrErrorMessage(getString(K, (toString(ah) + T)), "Empty kUserTotalStruc"), "_")
175- $Tuple3(parseIntValue(aA[0]), parseIntValue(aA[1]), parseIntValue(aA[2]))
180+ let aD = split(valueOrErrorMessage(getString(N, (toString(ak) + W)), "Empty kUserTotalStruc"), "_")
181+ $Tuple3(parseIntValue(aD[0]), parseIntValue(aD[1]), parseIntValue(aD[2]))
176182 }
177183 else {
178- let aB = valueOrElse(getInteger(K, (toString(ah) + m)), 0)
179- $Tuple3(aB, 0, aa)
184+ let aE = valueOrElse(getInteger(N, (toString(ak) + m)), 0)
185+ $Tuple3(aE, 0, ad)
180186 }
181- let aC = az._1
182- let aD = az._2
183- let aE = az._3
184- let aF = if ((aE == aa))
185- then aD
187+ let aF = aC._1
188+ let aG = aC._2
189+ let aH = aC._3
190+ let aI = if ((aH == ad))
191+ then aG
186192 else 0
187- $Tuple2(aC, aF)
193+ $Tuple2(aF, aI)
188194 }
189195
190196
191-func aG (ah) = valueOrElse(getInteger(this, (toString(ah) + n)), 0)
197+func aJ (ak) = valueOrElse(getInteger(this, (toString(ak) + n)), 0)
192198
193199
194-func aH (aI) = valueOrElse(getInteger(this, (aI + t)), 0)
200+func aK (aL) = valueOrElse(getInteger(this, (aL + t)), 0)
195201
196202
197-func aJ (ah,aI,aK) = {
198- let aL = getInteger(this, (((aI + aK) + toString(ah)) + n))
199- let aM = {
200- let ao = aL
201- if ($isInstanceOf(ao, "Int"))
203+func aM (ak,aL,aN) = {
204+ let aO = getInteger(this, (((aL + aN) + toString(ak)) + n))
205+ let aP = {
206+ let ar = aO
207+ if ($isInstanceOf(ar, "Int"))
202208 then {
203- let aM = ao
204- aM
209+ let aP = ar
210+ aP
205211 }
206- else if ($isInstanceOf(ao, "Unit"))
212+ else if ($isInstanceOf(ar, "Unit"))
207213 then {
208- let aM = ao
214+ let aP = ar
209215 0
210216 }
211217 else throw("Match error")
212218 }
213- valueOrErrorMessage(aM, (((("No data on the key: " + aI) + aK) + toString(ah)) + n))
219+ valueOrErrorMessage(aP, (((("No data on the key: " + aL) + aN) + toString(ak)) + n))
214220 }
215221
216222
217-func aN (aI) = valueOrErrorMessage(getInteger(this, (aI + u)), (("No data on the key: " + aI) + u))
223+func aQ (aL) = valueOrErrorMessage(getInteger(this, (aL + u)), (("No data on the key: " + aL) + u))
218224
219225
220-func aO (aI,aK) = {
221- let aP = getInteger(this, ((aI + aK) + o))
222- let aQ = {
223- let ao = aP
224- if ($isInstanceOf(ao, "Int"))
226+func aR (aL,aN) = {
227+ let aS = getInteger(this, ((aL + aN) + o))
228+ let aT = {
229+ let ar = aS
230+ if ($isInstanceOf(ar, "Int"))
225231 then {
226- let aQ = ao
227- aQ
232+ let aT = ar
233+ aT
228234 }
229- else if ($isInstanceOf(ao, "Unit"))
235+ else if ($isInstanceOf(ar, "Unit"))
230236 then {
231- let aQ = ao
237+ let aT = ar
232238 0
233239 }
234240 else throw("Match error")
235241 }
236- aQ
242+ aT
237243 }
238244
239245
240-func aR (aI,aK,ah,aS) = {
241- let aT = ((((((aI + "_") + aK) + "_") + toString(ah)) + "_") + toString(aS))
242- valueOrErrorMessage(getInteger(this, aT), ("No data on the key: " + aT))
246+func aU (aL,aN,ak,aV) = {
247+ let aW = ((((((aL + "_") + aN) + "_") + toString(ak)) + "_") + toString(aV))
248+ valueOrErrorMessage(getInteger(this, aW), ("No data on the key: " + aW))
243249 }
244250
245251
246-func aU (aV) = {
247- let af = ae()
248- let aW = ak(aV, af)
249- let am = aW._1
250- let aX = aW._2
251- let aY = fraction(aX, (af - am), O)
252- let aZ = af
253- $Tuple2(aZ, aY)
252+func aX (aY) = {
253+ let ai = ah()
254+ let aZ = an(aY, ai)
255+ let ap = aZ._1
256+ let ba = aZ._2
257+ let bb = fraction(ba, (ai - ap), R)
258+ let bc = ai
259+ $Tuple2(bc, bb)
254260 }
255261
256262
257-@Callable(ba)
258-func airDrop () = if (!(I))
263+@Callable(bd)
264+func airDrop () = if (!(L))
259265 then throw("DApp is inactive at this moment")
260266 else {
261- let bb = $Tuple2(ba.payments[0].amount, ba.payments[0].assetId)
262- let bc = bb._1
263- let bd = bb._2
264- if ((bd != N))
267+ let be = $Tuple2(bd.payments[0].amount, bd.payments[0].assetId)
268+ let bf = be._1
269+ let bg = be._2
270+ if ((bg != Q))
265271 then throw("Incorrect pmtAssetId")
266272 else {
267- let be = ax()
268- let af = ae()
269- let bf = (af + fraction(bc, O, be))
270-[IntegerEntry(h, bf)]
273+ let bh = aA()
274+ let ai = ah()
275+ let bi = (ai + fraction(bf, R, bh))
276+[IntegerEntry(h, bi)]
271277 }
272278 }
273279
274280
275281
276-@Callable(ba)
277-func lockSWOP () = if (!(I))
282+@Callable(bd)
283+func lockSWOP () = if (!(L))
278284 then throw("DApp is inactive at this moment")
279285 else {
280- let bg = $Tuple2(ba.payments[0].amount, ba.payments[0].assetId)
281- let bc = bg._1
282- let bd = bg._2
283- if ((bd != N))
286+ let bj = $Tuple2(bd.payments[0].amount, bd.payments[0].assetId)
287+ let bf = bj._1
288+ let bg = bj._2
289+ if ((bg != Q))
284290 then throw("Incorrect pmtAssetId")
285291 else {
286- let af = ae()
287- let bh = ak(ba.caller, af)
288- let am = bh._1
289- let aX = bh._2
290- let aY = fraction(aX, (af - am), O)
291- let bi = ((aX + bc) + aY)
292- let aZ = af
293- let be = ax()
294- let bj = ((be + bc) + aY)
295- let bk = ai(ba.caller)
296- let bl = (bk + aY)
297-[IntegerEntry((toString(ba.caller) + i), aZ), IntegerEntry((toString(ba.caller) + j), bi), IntegerEntry(l, bj), IntegerEntry((toString(ba.caller) + p), bl), IntegerEntry((toString(ba.caller) + q), aY)]
292+ let ai = ah()
293+ let bk = an(bd.caller, ai)
294+ let ap = bk._1
295+ let ba = bk._2
296+ let bb = fraction(ba, (ai - ap), R)
297+ let bl = ((ba + bf) + bb)
298+ let bc = ai
299+ let bh = aA()
300+ let bm = ((bh + bf) + bb)
301+ let bn = al(bd.caller)
302+ let bo = (bn + bb)
303+[IntegerEntry((toString(bd.caller) + i), bc), IntegerEntry((toString(bd.caller) + j), bl), IntegerEntry(l, bm), IntegerEntry((toString(bd.caller) + p), bo), IntegerEntry((toString(bd.caller) + q), bb)]
298304 }
299305 }
300306
301307
302308
303-@Callable(ba)
304-func withdrawSWOP (bm) = if (!(I))
309+@Callable(bd)
310+func withdrawSWOP (bp) = if (!(L))
305311 then throw("DApp is inactive at this moment")
306- else if ((0 >= bm))
312+ else if ((0 >= bp))
307313 then throw("withdrawAmount <= 0")
308314 else {
309- let be = ax()
310- let aX = ag(ba.caller)
311- let bn = aU(ba.caller)
312- let aZ = bn._1
313- let aY = bn._2
314- let bo = ay(ba.caller)
315- let bp = bo._1
316- let bq = bo._2
317- let br = av(ba.caller)
318- if (if (if ((0 > bq))
315+ let bh = aA()
316+ let ba = aj(bd.caller)
317+ let bq = aX(bd.caller)
318+ let bc = bq._1
319+ let bb = bq._2
320+ let br = aB(bd.caller)
321+ let bs = br._1
322+ let bt = br._2
323+ let bu = ay(bd.caller)
324+ if (if (if ((0 > bt))
319325 then true
320- else (0 > bp))
326+ else (0 > bs))
321327 then true
322- else (0 > br))
328+ else (0 > bu))
323329 then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0")
324330 else {
325- let bs = (aX - max([br, (bp + bq)]))
326- if ((bm > bs))
331+ let bv = (ba - max([bu, (bs + bt)]))
332+ if ((bp > bv))
327333 then throw("withdrawAmount > availableToUnstake")
328334 else {
329- let bj = ((be + aY) - bm)
330- let bt = ((aX + aY) - bm)
331- let bk = ai(ba.caller)
332- let bl = (bk + aY)
333-[IntegerEntry((toString(ba.caller) + i), aZ), IntegerEntry((toString(ba.caller) + j), bt), IntegerEntry(l, bj), ScriptTransfer(ba.caller, bm, N), IntegerEntry((toString(ba.caller) + p), bl), IntegerEntry((toString(ba.caller) + q), aY)]
335+ let bm = ((bh + bb) - bp)
336+ let bw = ((ba + bb) - bp)
337+ let bn = al(bd.caller)
338+ let bo = (bn + bb)
339+[IntegerEntry((toString(bd.caller) + i), bc), IntegerEntry((toString(bd.caller) + j), bw), IntegerEntry(l, bm), ScriptTransfer(bd.caller, bp, Q), IntegerEntry((toString(bd.caller) + p), bo), IntegerEntry((toString(bd.caller) + q), bb)]
334340 }
335341 }
336342 }
337343
338344
339345
340-@Callable(ba)
341-func claimAndWithdrawSWOP () = if (!(I))
346+@Callable(bd)
347+func claimAndWithdrawSWOP () = if (!(L))
342348 then throw("DApp is inactive at this moment")
343349 else {
344- let af = ae()
345- let bu = aU(ba.caller)
346- let aZ = bu._1
347- let aY = bu._2
348- let bk = ai(ba.caller)
349- let bl = (bk + aY)
350- if ((aY == 0))
350+ let ai = ah()
351+ let bx = aX(bd.caller)
352+ let bc = bx._1
353+ let bb = bx._2
354+ let bn = al(bd.caller)
355+ let bo = (bn + bb)
356+ if ((bb == 0))
351357 then throw("You have 0 available SWOP")
352- else [IntegerEntry((toString(ba.caller) + i), aZ), IntegerEntry((toString(ba.caller) + p), bl), IntegerEntry((toString(ba.caller) + q), aY), ScriptTransfer(ba.caller, aY, N)]
358+ else [IntegerEntry((toString(bd.caller) + i), bc), IntegerEntry((toString(bd.caller) + p), bo), IntegerEntry((toString(bd.caller) + q), bb), ScriptTransfer(bd.caller, bb, Q)]
353359 }
354360
355361
356362
357-@Callable(ba)
358-func claimAndStakeSWOP () = if (!(I))
363+@Callable(bd)
364+func claimAndStakeSWOP () = if (!(L))
359365 then throw("DApp is inactive at this moment")
360366 else {
361- let be = ax()
362- let aX = ag(ba.caller)
363- let af = ae()
364- let bv = aU(ba.caller)
365- let aZ = bv._1
366- let aY = bv._2
367- let bi = (aX + aY)
368- let bj = (be + aY)
369- let bk = ai(ba.caller)
370- let bl = (bk + aY)
371- if ((aY == 0))
367+ let bh = aA()
368+ let ba = aj(bd.caller)
369+ let ai = ah()
370+ let by = aX(bd.caller)
371+ let bc = by._1
372+ let bb = by._2
373+ let bl = (ba + bb)
374+ let bm = (bh + bb)
375+ let bn = al(bd.caller)
376+ let bo = (bn + bb)
377+ if ((bb == 0))
372378 then throw("You have 0 available SWOP")
373- else [IntegerEntry((toString(ba.caller) + i), aZ), IntegerEntry(l, bj), IntegerEntry((toString(ba.caller) + j), bi), IntegerEntry((toString(ba.caller) + p), bl), IntegerEntry((toString(ba.caller) + q), aY)]
379+ else [IntegerEntry((toString(bd.caller) + i), bc), IntegerEntry(l, bm), IntegerEntry((toString(bd.caller) + j), bl), IntegerEntry((toString(bd.caller) + p), bo), IntegerEntry((toString(bd.caller) + q), bb)]
374380 }
375381
376382
377383
378-@Callable(ba)
379-func updateWeights (bw,bx,by,bz,bA) = if (!(I))
384+@Callable(bd)
385+func updateWeights (bz,bA,bB,bC,bD,bE) = if (!(L))
380386 then throw("DApp is inactive at this moment")
381- else if (!(containsElement([a, b, c, d, e], ba.callerPublicKey)))
382- then throw("Only admin can call this function")
383- else {
384- func bB (bC,bD) = (bC + bD)
387+ else {
388+ let bF = 10
389+ if (!(containsElement([a, b, c, d, e], bd.callerPublicKey)))
390+ then throw("Only admin can call this function")
391+ else if (if ((size(bz) > bF))
392+ then true
393+ else (size(bB) > bF))
394+ then throw(("Max amount of pool is " + toString(bF)))
395+ else {
396+ func bG (bH,bI) = (bH + bI)
385397
386- func bE (bF,aq) = {
387- let bG = value(indexOf(bw, aq))
388- let bH = bx[bG]
389-IntegerEntry((aq + w), bH) :: bF
390- }
398+ func bJ (bK,at) = {
399+ let bL = value(indexOf(bz, at))
400+ let bM = bA[bL]
401+IntegerEntry((at + w), bM) :: bK
402+ }
391403
392- func bI (bF,aq) = {
393- let bG = value(indexOf(by, aq))
394- let bH = bz[bG]
395-IntegerEntry((aq + v), bH) :: bF
396- }
404+ func bN (bK,at) = {
405+ let bL = value(indexOf(bB, at))
406+ let bM = bC[bL]
407+IntegerEntry((at + v), bM) :: bK
408+ }
397409
398- let bJ = {
399- let bK = bx
400- let bL = size(bK)
401- let bM = 0
402- if ((bL == 0))
403- then bM
404- else {
405- let bN = bB(bM, bK[0])
406- if ((bL == 1))
407- then bN
410+ func bO (bK,at) = {
411+ let bL = value(indexOf(bB, at))
412+ let bP = bD
413+IntegerEntry((at + x), bP) :: bK
414+ }
415+
416+ func bQ (bR,bS,bE) = if ((bE == 0))
417+ then $Tuple2([IntegerEntry(J, bR)], [IntegerEntry(K, bS)])
418+ else if ((bE == 1))
419+ then {
420+ let bT = valueOrElse(getInteger(this, J), 0)
421+ let bU = valueOrElse(getInteger(this, K), 0)
422+ $Tuple2([IntegerEntry(J, (bR + bT))], [IntegerEntry(K, (bS + bU))])
423+ }
424+ else if ((bE == 2))
425+ then {
426+ let bV = (valueOrElse(getInteger(this, J), 0) + bR)
427+ let bW = (valueOrElse(getInteger(this, K), 0) + bS)
428+ if (if ((bV != S))
429+ then true
430+ else (bW != S))
431+ then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
432+ else $Tuple2([IntegerEntry(J, bV)], [IntegerEntry(K, bW)])
433+ }
434+ else throw("Incorrect pagination")
435+
436+ let bX = {
437+ let bY = bA
438+ let bZ = size(bY)
439+ let ca = 0
440+ if ((bZ == 0))
441+ then ca
408442 else {
409- let bO = bB(bN, bK[1])
410- if ((bL == 2))
411- then bO
443+ let cb = bG(ca, bY[0])
444+ if ((bZ == 1))
445+ then cb
412446 else {
413- let bP = bB(bO, bK[2])
414- if ((bL == 3))
415- then bP
447+ let cc = bG(cb, bY[1])
448+ if ((bZ == 2))
449+ then cc
416450 else {
417- let bQ = bB(bP, bK[3])
418- if ((bL == 4))
419- then bQ
451+ let cd = bG(cc, bY[2])
452+ if ((bZ == 3))
453+ then cd
420454 else {
421- let bR = bB(bQ, bK[4])
422- if ((bL == 5))
423- then bR
455+ let ce = bG(cd, bY[3])
456+ if ((bZ == 4))
457+ then ce
424458 else {
425- let bS = bB(bR, bK[5])
426- if ((bL == 6))
427- then bS
459+ let cf = bG(ce, bY[4])
460+ if ((bZ == 5))
461+ then cf
428462 else {
429- let bT = bB(bS, bK[6])
430- if ((bL == 7))
431- then bT
463+ let cg = bG(cf, bY[5])
464+ if ((bZ == 6))
465+ then cg
432466 else {
433- let bU = bB(bT, bK[7])
434- if ((bL == 8))
435- then bU
467+ let ch = bG(cg, bY[6])
468+ if ((bZ == 7))
469+ then ch
436470 else {
437- let bV = bB(bU, bK[8])
438- if ((bL == 9))
439- then bV
471+ let ci = bG(ch, bY[7])
472+ if ((bZ == 8))
473+ then ci
440474 else {
441- let bW = bB(bV, bK[9])
442- if ((bL == 10))
443- then bW
475+ let cj = bG(ci, bY[8])
476+ if ((bZ == 9))
477+ then cj
444478 else {
445- let bX = bB(bW, bK[10])
446- if ((bL == 11))
447- then bX
479+ let ck = bG(cj, bY[9])
480+ if ((bZ == 10))
481+ then ck
448482 else {
449- let bY = bB(bX, bK[11])
450- if ((bL == 12))
451- then bY
483+ let cl = bG(ck, bY[10])
484+ throw("List size exceed 10")
485+ }
486+ }
487+ }
488+ }
489+ }
490+ }
491+ }
492+ }
493+ }
494+ }
495+ }
496+ }
497+ let cm = {
498+ let cn = bC
499+ let co = size(cn)
500+ let cp = 0
501+ if ((co == 0))
502+ then cp
503+ else {
504+ let cq = bG(cp, cn[0])
505+ if ((co == 1))
506+ then cq
507+ else {
508+ let cr = bG(cq, cn[1])
509+ if ((co == 2))
510+ then cr
511+ else {
512+ let cs = bG(cr, cn[2])
513+ if ((co == 3))
514+ then cs
515+ else {
516+ let ct = bG(cs, cn[3])
517+ if ((co == 4))
518+ then ct
519+ else {
520+ let cu = bG(ct, cn[4])
521+ if ((co == 5))
522+ then cu
523+ else {
524+ let cv = bG(cu, cn[5])
525+ if ((co == 6))
526+ then cv
527+ else {
528+ let cw = bG(cv, cn[6])
529+ if ((co == 7))
530+ then cw
531+ else {
532+ let cx = bG(cw, cn[7])
533+ if ((co == 8))
534+ then cx
535+ else {
536+ let cy = bG(cx, cn[8])
537+ if ((co == 9))
538+ then cy
539+ else {
540+ let cz = bG(cy, cn[9])
541+ if ((co == 10))
542+ then cz
543+ else {
544+ let cA = bG(cz, cn[10])
545+ throw("List size exceed 10")
546+ }
547+ }
548+ }
549+ }
550+ }
551+ }
552+ }
553+ }
554+ }
555+ }
556+ }
557+ }
558+ let cB = bQ(cm, cm, bE)
559+ let cC = cB._1
560+ let cD = cB._2
561+ let cE = if ((bE == 2))
562+ then [IntegerEntry(A, bD)]
563+ else [IntegerEntry(A, getIntegerValue(this, A))]
564+ if (if ((bE == 2))
565+ then (height > bD)
566+ else false)
567+ then throw("rewardUpdateHeight < height")
568+ else {
569+ let cF = {
570+ let cG = bz
571+ let cH = size(cG)
572+ let cI = nil
573+ if ((cH == 0))
574+ then cI
575+ else {
576+ let cJ = bJ(cI, cG[0])
577+ if ((cH == 1))
578+ then cJ
579+ else {
580+ let cK = bJ(cJ, cG[1])
581+ if ((cH == 2))
582+ then cK
583+ else {
584+ let cL = bJ(cK, cG[2])
585+ if ((cH == 3))
586+ then cL
587+ else {
588+ let cM = bJ(cL, cG[3])
589+ if ((cH == 4))
590+ then cM
591+ else {
592+ let cN = bJ(cM, cG[4])
593+ if ((cH == 5))
594+ then cN
595+ else {
596+ let cO = bJ(cN, cG[5])
597+ if ((cH == 6))
598+ then cO
599+ else {
600+ let cP = bJ(cO, cG[6])
601+ if ((cH == 7))
602+ then cP
603+ else {
604+ let cQ = bJ(cP, cG[7])
605+ if ((cH == 8))
606+ then cQ
607+ else {
608+ let cR = bJ(cQ, cG[8])
609+ if ((cH == 9))
610+ then cR
611+ else {
612+ let cS = bJ(cR, cG[9])
613+ if ((cH == 10))
614+ then cS
452615 else {
453- let bZ = bB(bY, bK[12])
454- if ((bL == 13))
455- then bZ
456- else {
457- let ca = bB(bZ, bK[13])
458- if ((bL == 14))
459- then ca
460- else {
461- let cb = bB(ca, bK[14])
462- if ((bL == 15))
463- then cb
464- else {
465- let cc = bB(cb, bK[15])
466- if ((bL == 16))
467- then cc
468- else {
469- let cd = bB(cc, bK[16])
470- if ((bL == 17))
471- then cd
472- else {
473- let ce = bB(cd, bK[17])
474- if ((bL == 18))
475- then ce
476- else {
477- let cf = bB(ce, bK[18])
478- if ((bL == 19))
479- then cf
480- else {
481- let cg = bB(cf, bK[19])
482- if ((bL == 20))
483- then cg
484- else {
485- let ch = bB(cg, bK[20])
486- if ((bL == 21))
487- then ch
488- else {
489- let ci = bB(ch, bK[21])
490- throw("List size exceed 21")
491- }
492- }
493- }
494- }
495- }
496- }
497- }
498- }
499- }
616+ let cT = bJ(cS, cG[10])
617+ throw("List size exceed 10")
500618 }
501619 }
502620 }
509627 }
510628 }
511629 }
512- }
513- }
514- let cj = {
515- let ck = bz
516- let cl = size(ck)
517- let cm = 0
518- if ((cl == 0))
519- then cm
520- else {
521- let cn = bB(cm, ck[0])
522- if ((cl == 1))
523- then cn
524- else {
525- let co = bB(cn, ck[1])
526- if ((cl == 2))
527- then co
630+ let cU = {
631+ let cV = bB
632+ let cW = size(cV)
633+ let cX = nil
634+ if ((cW == 0))
635+ then cX
528636 else {
529- let cp = bB(co, ck[2])
530- if ((cl == 3))
531- then cp
637+ let cY = bN(cX, cV[0])
638+ if ((cW == 1))
639+ then cY
532640 else {
533- let cq = bB(cp, ck[3])
534- if ((cl == 4))
535- then cq
641+ let cZ = bN(cY, cV[1])
642+ if ((cW == 2))
643+ then cZ
536644 else {
537- let cr = bB(cq, ck[4])
538- if ((cl == 5))
539- then cr
645+ let da = bN(cZ, cV[2])
646+ if ((cW == 3))
647+ then da
540648 else {
541- let cs = bB(cr, ck[5])
542- if ((cl == 6))
543- then cs
649+ let db = bN(da, cV[3])
650+ if ((cW == 4))
651+ then db
544652 else {
545- let ct = bB(cs, ck[6])
546- if ((cl == 7))
547- then ct
653+ let dc = bN(db, cV[4])
654+ if ((cW == 5))
655+ then dc
548656 else {
549- let cu = bB(ct, ck[7])
550- if ((cl == 8))
551- then cu
657+ let dd = bN(dc, cV[5])
658+ if ((cW == 6))
659+ then dd
552660 else {
553- let cv = bB(cu, ck[8])
554- if ((cl == 9))
555- then cv
661+ let de = bN(dd, cV[6])
662+ if ((cW == 7))
663+ then de
556664 else {
557- let cw = bB(cv, ck[9])
558- if ((cl == 10))
559- then cw
665+ let df = bN(de, cV[7])
666+ if ((cW == 8))
667+ then df
560668 else {
561- let cx = bB(cw, ck[10])
562- if ((cl == 11))
563- then cx
669+ let dg = bN(df, cV[8])
670+ if ((cW == 9))
671+ then dg
564672 else {
565- let cy = bB(cx, ck[11])
566- if ((cl == 12))
567- then cy
673+ let dh = bN(dg, cV[9])
674+ if ((cW == 10))
675+ then dh
568676 else {
569- let cz = bB(cy, ck[12])
570- if ((cl == 13))
571- then cz
572- else {
573- let cA = bB(cz, ck[13])
574- if ((cl == 14))
575- then cA
576- else {
577- let cB = bB(cA, ck[14])
578- if ((cl == 15))
579- then cB
580- else {
581- let cC = bB(cB, ck[15])
582- if ((cl == 16))
583- then cC
584- else {
585- let cD = bB(cC, ck[16])
586- if ((cl == 17))
587- then cD
588- else {
589- let cE = bB(cD, ck[17])
590- if ((cl == 18))
591- then cE
592- else {
593- let cF = bB(cE, ck[18])
594- if ((cl == 19))
595- then cF
596- else {
597- let cG = bB(cF, ck[19])
598- if ((cl == 20))
599- then cG
600- else {
601- let cH = bB(cG, ck[20])
602- if ((cl == 21))
603- then cH
604- else {
605- let cI = bB(cH, ck[21])
606- throw("List size exceed 21")
607- }
608- }
609- }
610- }
611- }
612- }
613- }
614- }
615- }
677+ let di = bN(dh, cV[10])
678+ throw("List size exceed 10")
616679 }
617680 }
618681 }
625688 }
626689 }
627690 }
628- }
629- }
630- if ((height > bA))
631- then throw("rewardUpdateHeight < height")
632- else if (if ((bJ != P))
633- then true
634- else (cj != P))
635- then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
636- else {
637- let cJ = {
638- let cK = bw
639- let cL = size(cK)
640- let cM = nil
641- if ((cL == 0))
642- then cM
643- else {
644- let cN = bE(cM, cK[0])
645- if ((cL == 1))
646- then cN
647- else {
648- let cO = bE(cN, cK[1])
649- if ((cL == 2))
650- then cO
651- else {
652- let cP = bE(cO, cK[2])
653- if ((cL == 3))
654- then cP
655- else {
656- let cQ = bE(cP, cK[3])
657- if ((cL == 4))
658- then cQ
659- else {
660- let cR = bE(cQ, cK[4])
661- if ((cL == 5))
662- then cR
663- else {
664- let cS = bE(cR, cK[5])
665- if ((cL == 6))
666- then cS
667- else {
668- let cT = bE(cS, cK[6])
669- if ((cL == 7))
670- then cT
671- else {
672- let cU = bE(cT, cK[7])
673- if ((cL == 8))
674- then cU
675- else {
676- let cV = bE(cU, cK[8])
677- if ((cL == 9))
678- then cV
679- else {
680- let cW = bE(cV, cK[9])
681- if ((cL == 10))
682- then cW
683- else {
684- let cX = bE(cW, cK[10])
685- if ((cL == 11))
686- then cX
687- else {
688- let cY = bE(cX, cK[11])
689- if ((cL == 12))
690- then cY
691- else {
692- let cZ = bE(cY, cK[12])
693- if ((cL == 13))
694- then cZ
695- else {
696- let da = bE(cZ, cK[13])
697- if ((cL == 14))
698- then da
699- else {
700- let db = bE(da, cK[14])
701- if ((cL == 15))
702- then db
703- else {
704- let dc = bE(db, cK[15])
705- if ((cL == 16))
706- then dc
707- else {
708- let dd = bE(dc, cK[16])
709- if ((cL == 17))
710- then dd
711- else {
712- let de = bE(dd, cK[17])
713- if ((cL == 18))
714- then de
715- else {
716- let df = bE(de, cK[18])
717- if ((cL == 19))
718- then df
719- else {
720- let dg = bE(df, cK[19])
721- if ((cL == 20))
722- then dg
723- else {
724- let dh = bE(dg, cK[20])
725- if ((cL == 21))
726- then dh
727- else {
728- let di = bE(dh, cK[21])
729- throw("List size exceed 21")
730- }
731- }
732- }
733- }
734- }
735- }
736- }
737- }
738- }
739- }
740- }
741- }
742- }
743- }
744- }
745- }
746- }
747- }
748- }
749- }
750- }
751- }
691+ let dj = {
692+ let dk = bB
693+ let dl = size(dk)
694+ let dm = nil
695+ if ((dl == 0))
696+ then dm
697+ else {
698+ let dn = bO(dm, dk[0])
699+ if ((dl == 1))
700+ then dn
701+ else {
702+ let do = bO(dn, dk[1])
703+ if ((dl == 2))
704+ then do
705+ else {
706+ let dp = bO(do, dk[2])
707+ if ((dl == 3))
708+ then dp
709+ else {
710+ let dq = bO(dp, dk[3])
711+ if ((dl == 4))
712+ then dq
713+ else {
714+ let dr = bO(dq, dk[4])
715+ if ((dl == 5))
716+ then dr
717+ else {
718+ let ds = bO(dr, dk[5])
719+ if ((dl == 6))
720+ then ds
721+ else {
722+ let dt = bO(ds, dk[6])
723+ if ((dl == 7))
724+ then dt
725+ else {
726+ let du = bO(dt, dk[7])
727+ if ((dl == 8))
728+ then du
729+ else {
730+ let dv = bO(du, dk[8])
731+ if ((dl == 9))
732+ then dv
733+ else {
734+ let dw = bO(dv, dk[9])
735+ if ((dl == 10))
736+ then dw
737+ else {
738+ let dx = bO(dw, dk[10])
739+ throw("List size exceed 10")
740+ }
741+ }
742+ }
743+ }
744+ }
745+ }
746+ }
747+ }
748+ }
749+ }
750+ }
751+ }
752+ (((((cF ++ cU) ++ dj) ++ cC) ++ cD) ++ cE)
752753 }
753- let dj = {
754- let dk = by
755- let dl = size(dk)
756- let dm = nil
757- if ((dl == 0))
758- then dm
759- else {
760- let dn = bI(dm, dk[0])
761- if ((dl == 1))
762- then dn
763- else {
764- let do = bI(dn, dk[1])
765- if ((dl == 2))
766- then do
767- else {
768- let dp = bI(do, dk[2])
769- if ((dl == 3))
770- then dp
771- else {
772- let dq = bI(dp, dk[3])
773- if ((dl == 4))
774- then dq
775- else {
776- let dr = bI(dq, dk[4])
777- if ((dl == 5))
778- then dr
779- else {
780- let ds = bI(dr, dk[5])
781- if ((dl == 6))
782- then ds
783- else {
784- let dt = bI(ds, dk[6])
785- if ((dl == 7))
786- then dt
787- else {
788- let du = bI(dt, dk[7])
789- if ((dl == 8))
790- then du
791- else {
792- let dv = bI(du, dk[8])
793- if ((dl == 9))
794- then dv
795- else {
796- let dw = bI(dv, dk[9])
797- if ((dl == 10))
798- then dw
799- else {
800- let dx = bI(dw, dk[10])
801- if ((dl == 11))
802- then dx
803- else {
804- let dy = bI(dx, dk[11])
805- if ((dl == 12))
806- then dy
807- else {
808- let dz = bI(dy, dk[12])
809- if ((dl == 13))
810- then dz
811- else {
812- let dA = bI(dz, dk[13])
813- if ((dl == 14))
814- then dA
815- else {
816- let dB = bI(dA, dk[14])
817- if ((dl == 15))
818- then dB
819- else {
820- let dC = bI(dB, dk[15])
821- if ((dl == 16))
822- then dC
823- else {
824- let dD = bI(dC, dk[16])
825- if ((dl == 17))
826- then dD
827- else {
828- let dE = bI(dD, dk[17])
829- if ((dl == 18))
830- then dE
831- else {
832- let dF = bI(dE, dk[18])
833- if ((dl == 19))
834- then dF
835- else {
836- let dG = bI(dF, dk[19])
837- if ((dl == 20))
838- then dG
839- else {
840- let dH = bI(dG, dk[20])
841- if ((dl == 21))
842- then dH
843- else {
844- let dI = bI(dH, dk[21])
845- throw("List size exceed 21")
846- }
847- }
848- }
849- }
850- }
851- }
852- }
853- }
854- }
855- }
856- }
857- }
858- }
859- }
860- }
861- }
862- }
863- }
864- }
865- }
866- }
867- }
868- }
869- ((cJ ++ dj) ++ [IntegerEntry(z, bA)])
870- }
871- }
754+ }
755+ }
872756
873757
874758
875-@Callable(ba)
876-func shutdown () = if (!(I))
759+@Callable(bd)
760+func shutdown () = if (!(L))
877761 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, g), "the cause wasn't specified")))
878- else if (!(containsElement([a, b, c, d], ba.callerPublicKey)))
762+ else if (!(containsElement([a, b, c, d], bd.callerPublicKey)))
879763 then throw("Only admin can call this function")
880- else ab("Paused by admin")
764+ else ae("Paused by admin")
881765
882766
883767
884-@Callable(ba)
885-func activate () = if (I)
768+@Callable(bd)
769+func activate () = if (L)
886770 then throw("DApp is already active")
887- else if (!(containsElement([a, b, c, d], ba.callerPublicKey)))
771+ else if (!(containsElement([a, b, c, d], bd.callerPublicKey)))
888772 then throw("Only admin can call this function")
889773 else [BooleanEntry(f, true), DeleteEntry(g)]
890774
891775
892-@Verifier(dJ)
893-func dK () = sigVerify(dJ.bodyBytes, dJ.proofs[0], dJ.senderPublicKey)
776+@Verifier(dy)
777+func dz () = sigVerify(dy.bodyBytes, dy.proofs[0], dy.senderPublicKey)
894778
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
55
66 let b = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
77
88 let c = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
99
1010 let d = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
1111
1212 let e = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
1313
1414 let f = "active"
1515
1616 let g = "shutdown_cause"
1717
1818 let h = "last_interest"
1919
2020 let i = "_last_interest"
2121
2222 let j = "_SWOP_amount"
2323
2424 let k = "_getBackHeight"
2525
2626 let l = "total_SWOP_amount"
2727
2828 let m = "_user_total_SWOP_vote"
2929
3030 let n = "_SWOP_option_amount"
3131
3232 let o = "total_SWOP_option_amount"
3333
3434 let p = "_SWOP_claimed_amount"
3535
3636 let q = "_SWOP_last_claimed_amount"
3737
3838 let r = "vote_name"
3939
4040 let s = "_option_name"
4141
4242 let t = "_startHeight"
4343
4444 let u = "_vote_duration"
4545
4646 let v = "_current_pool_fraction_reward"
4747
4848 let w = "_previous_pool_fraction_reward"
4949
50-let x = "total_reward_per_block_current"
50+let x = "_reward_update_height"
5151
52-let y = "total_reward_per_block_previous"
52+let y = "total_reward_per_block_current"
5353
54-let z = "reward_update_height"
54+let z = "total_reward_per_block_previous"
5555
56-let A = "_vote_no"
56+let A = "reward_update_height"
5757
58-let B = "_vote_yes"
58+let B = "_vote_no"
5959
60-let C = "max_amount_voting"
60+let C = "_vote_yes"
6161
62-let D = "_status"
62+let D = "max_amount_voting"
6363
64-let E = "_finish_height"
64+let E = "_status"
6565
66-let F = "voting_active_cell_1"
66+let F = "_finish_height"
6767
68-let G = "voting_active_cell_2"
68+let G = "voting_active_cell_1"
6969
70-let H = "voting_active_cell_3"
70+let H = "voting_active_cell_2"
7171
72-let I = valueOrElse(getBoolean(this, f), true)
72+let I = "voting_active_cell_3"
7373
74-let J = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
74+let J = "sum_reward_previous"
7575
76-let K = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
76+let K = "sum_reward_current"
7777
78-let L = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
78+let L = valueOrElse(getBoolean(this, f), true)
7979
80-let M = "SWOP_id"
80+let M = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
8181
82-let N = fromBase58String(getStringValue(J, M))
82+let N = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
8383
84-let O = 100000000
84+let O = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
8585
86-let P = 10000000000
86+let P = "SWOP_id"
8787
88-let Q = "start_height"
88+let Q = fromBase58String(getStringValue(M, P))
8989
90-let R = "base_period"
90+let R = 100000000
9191
92-let S = "period_length"
92+let S = 10000000000
9393
94-let T = "_user_total_struc"
94+let T = "start_height"
9595
96-let U = valueOrErrorMessage(getInteger(K, R), "Empty kBasePeriod at voting contract")
96+let U = "base_period"
9797
98-let V = valueOrErrorMessage(getInteger(K, Q), "Empty kStartHeight at voting contract")
98+let V = "period_length"
9999
100-let W = valueOrErrorMessage(getInteger(K, S), "Empty kPeriodLength at voting contract")
100+let W = "_user_total_struc"
101101
102-let X = valueOrElse(getString(L, F), "")
102+let X = valueOrErrorMessage(getInteger(N, U), "Empty kBasePeriod at voting contract")
103103
104-let Y = valueOrElse(getString(L, G), "")
104+let Y = valueOrErrorMessage(getInteger(N, T), "Empty kStartHeight at voting contract")
105105
106-let Z = valueOrElse(getString(L, H), "")
106+let Z = valueOrErrorMessage(getInteger(N, V), "Empty kPeriodLength at voting contract")
107107
108-let aa = (U + ((height - V) / W))
108+let aa = valueOrElse(getString(O, G), "")
109109
110-func ab (ac) = [BooleanEntry(f, false), StringEntry(g, ac)]
110+let ab = valueOrElse(getString(O, H), "")
111+
112+let ac = valueOrElse(getString(O, I), "")
113+
114+let ad = (X + ((height - Y) / Z))
115+
116+func ae (af) = [BooleanEntry(f, false), StringEntry(g, af)]
111117
112118
113-func ad () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
119+func ag () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
114120
115121
116-func ae () = {
117- let af = valueOrElse(getInteger(this, h), 0)
118- af
122+func ah () = {
123+ let ai = valueOrElse(getInteger(this, h), 0)
124+ ai
119125 }
120126
121127
122-func ag (ah) = valueOrElse(getInteger(this, (toString(ah) + j)), 0)
128+func aj (ak) = valueOrElse(getInteger(this, (toString(ak) + j)), 0)
123129
124130
125-func ai (ah) = valueOrElse(getInteger(this, (toString(ah) + p)), 0)
131+func al (ak) = valueOrElse(getInteger(this, (toString(ak) + p)), 0)
126132
127133
128-func aj (ah) = valueOrElse(getInteger(K, (toString(ah) + m)), 0)
134+func am (ak) = valueOrElse(getInteger(N, (toString(ak) + m)), 0)
129135
130136
131-func ak (ah,af) = {
132- let al = ag(ah)
133- let am = getInteger(this, (toString(ah) + i))
134- let an = {
135- let ao = am
136- if ($isInstanceOf(ao, "Int"))
137+func an (ak,ai) = {
138+ let ao = aj(ak)
139+ let ap = getInteger(this, (toString(ak) + i))
140+ let aq = {
141+ let ar = ap
142+ if ($isInstanceOf(ar, "Int"))
137143 then {
138- let am = ao
139- am
144+ let ap = ar
145+ ap
140146 }
141- else af
147+ else ai
142148 }
143- $Tuple2(an, al)
149+ $Tuple2(aq, ao)
144150 }
145151
146152
147-func ap (aq,ah) = {
148- let ar = valueOrElse(getInteger(L, aq), -1)
149- let as = valueOrElse(getInteger(L, (toString(ar) + E)), 0)
150- let at = valueOrElse(getBoolean(L, (toString(ar) + D)), true)
151- let au = height
152- if ((0 > ar))
153+func as (at,ak) = {
154+ let au = valueOrElse(getInteger(O, at), -1)
155+ let av = valueOrElse(getInteger(O, (toString(au) + F)), 0)
156+ let aw = valueOrElse(getBoolean(O, (toString(au) + E)), true)
157+ let ax = height
158+ if ((0 > au))
153159 then 0
154- else if (!(at))
160+ else if (!(aw))
155161 then 0
156- else if ((as > au))
157- then (valueOrElse(getInteger(L, (((toString(ah) + "_") + toString(ar)) + B)), 0) + valueOrElse(getInteger(L, (((toString(ah) + "_") + toString(ar)) + A)), 0))
162+ else if ((av > ax))
163+ then (valueOrElse(getInteger(O, (((toString(ak) + "_") + toString(au)) + C)), 0) + valueOrElse(getInteger(O, (((toString(ak) + "_") + toString(au)) + B)), 0))
158164 else 0
159165 }
160166
161167
162-func av (ah) = {
163- let aw = [ap(X, ah), ap(Y, ah), ap(Z, ah)]
164- max(aw)
168+func ay (ak) = {
169+ let az = [as(aa, ak), as(ab, ak), as(ac, ak)]
170+ max(az)
165171 }
166172
167173
168-func ax () = valueOrElse(getInteger(this, l), 0)
174+func aA () = valueOrElse(getInteger(this, l), 0)
169175
170176
171-func ay (ah) = {
172- let az = if (isDefined(getString(K, (toString(ah) + T))))
177+func aB (ak) = {
178+ let aC = if (isDefined(getString(N, (toString(ak) + W))))
173179 then {
174- let aA = split(valueOrErrorMessage(getString(K, (toString(ah) + T)), "Empty kUserTotalStruc"), "_")
175- $Tuple3(parseIntValue(aA[0]), parseIntValue(aA[1]), parseIntValue(aA[2]))
180+ let aD = split(valueOrErrorMessage(getString(N, (toString(ak) + W)), "Empty kUserTotalStruc"), "_")
181+ $Tuple3(parseIntValue(aD[0]), parseIntValue(aD[1]), parseIntValue(aD[2]))
176182 }
177183 else {
178- let aB = valueOrElse(getInteger(K, (toString(ah) + m)), 0)
179- $Tuple3(aB, 0, aa)
184+ let aE = valueOrElse(getInteger(N, (toString(ak) + m)), 0)
185+ $Tuple3(aE, 0, ad)
180186 }
181- let aC = az._1
182- let aD = az._2
183- let aE = az._3
184- let aF = if ((aE == aa))
185- then aD
187+ let aF = aC._1
188+ let aG = aC._2
189+ let aH = aC._3
190+ let aI = if ((aH == ad))
191+ then aG
186192 else 0
187- $Tuple2(aC, aF)
193+ $Tuple2(aF, aI)
188194 }
189195
190196
191-func aG (ah) = valueOrElse(getInteger(this, (toString(ah) + n)), 0)
197+func aJ (ak) = valueOrElse(getInteger(this, (toString(ak) + n)), 0)
192198
193199
194-func aH (aI) = valueOrElse(getInteger(this, (aI + t)), 0)
200+func aK (aL) = valueOrElse(getInteger(this, (aL + t)), 0)
195201
196202
197-func aJ (ah,aI,aK) = {
198- let aL = getInteger(this, (((aI + aK) + toString(ah)) + n))
199- let aM = {
200- let ao = aL
201- if ($isInstanceOf(ao, "Int"))
203+func aM (ak,aL,aN) = {
204+ let aO = getInteger(this, (((aL + aN) + toString(ak)) + n))
205+ let aP = {
206+ let ar = aO
207+ if ($isInstanceOf(ar, "Int"))
202208 then {
203- let aM = ao
204- aM
209+ let aP = ar
210+ aP
205211 }
206- else if ($isInstanceOf(ao, "Unit"))
212+ else if ($isInstanceOf(ar, "Unit"))
207213 then {
208- let aM = ao
214+ let aP = ar
209215 0
210216 }
211217 else throw("Match error")
212218 }
213- valueOrErrorMessage(aM, (((("No data on the key: " + aI) + aK) + toString(ah)) + n))
219+ valueOrErrorMessage(aP, (((("No data on the key: " + aL) + aN) + toString(ak)) + n))
214220 }
215221
216222
217-func aN (aI) = valueOrErrorMessage(getInteger(this, (aI + u)), (("No data on the key: " + aI) + u))
223+func aQ (aL) = valueOrErrorMessage(getInteger(this, (aL + u)), (("No data on the key: " + aL) + u))
218224
219225
220-func aO (aI,aK) = {
221- let aP = getInteger(this, ((aI + aK) + o))
222- let aQ = {
223- let ao = aP
224- if ($isInstanceOf(ao, "Int"))
226+func aR (aL,aN) = {
227+ let aS = getInteger(this, ((aL + aN) + o))
228+ let aT = {
229+ let ar = aS
230+ if ($isInstanceOf(ar, "Int"))
225231 then {
226- let aQ = ao
227- aQ
232+ let aT = ar
233+ aT
228234 }
229- else if ($isInstanceOf(ao, "Unit"))
235+ else if ($isInstanceOf(ar, "Unit"))
230236 then {
231- let aQ = ao
237+ let aT = ar
232238 0
233239 }
234240 else throw("Match error")
235241 }
236- aQ
242+ aT
237243 }
238244
239245
240-func aR (aI,aK,ah,aS) = {
241- let aT = ((((((aI + "_") + aK) + "_") + toString(ah)) + "_") + toString(aS))
242- valueOrErrorMessage(getInteger(this, aT), ("No data on the key: " + aT))
246+func aU (aL,aN,ak,aV) = {
247+ let aW = ((((((aL + "_") + aN) + "_") + toString(ak)) + "_") + toString(aV))
248+ valueOrErrorMessage(getInteger(this, aW), ("No data on the key: " + aW))
243249 }
244250
245251
246-func aU (aV) = {
247- let af = ae()
248- let aW = ak(aV, af)
249- let am = aW._1
250- let aX = aW._2
251- let aY = fraction(aX, (af - am), O)
252- let aZ = af
253- $Tuple2(aZ, aY)
252+func aX (aY) = {
253+ let ai = ah()
254+ let aZ = an(aY, ai)
255+ let ap = aZ._1
256+ let ba = aZ._2
257+ let bb = fraction(ba, (ai - ap), R)
258+ let bc = ai
259+ $Tuple2(bc, bb)
254260 }
255261
256262
257-@Callable(ba)
258-func airDrop () = if (!(I))
263+@Callable(bd)
264+func airDrop () = if (!(L))
259265 then throw("DApp is inactive at this moment")
260266 else {
261- let bb = $Tuple2(ba.payments[0].amount, ba.payments[0].assetId)
262- let bc = bb._1
263- let bd = bb._2
264- if ((bd != N))
267+ let be = $Tuple2(bd.payments[0].amount, bd.payments[0].assetId)
268+ let bf = be._1
269+ let bg = be._2
270+ if ((bg != Q))
265271 then throw("Incorrect pmtAssetId")
266272 else {
267- let be = ax()
268- let af = ae()
269- let bf = (af + fraction(bc, O, be))
270-[IntegerEntry(h, bf)]
273+ let bh = aA()
274+ let ai = ah()
275+ let bi = (ai + fraction(bf, R, bh))
276+[IntegerEntry(h, bi)]
271277 }
272278 }
273279
274280
275281
276-@Callable(ba)
277-func lockSWOP () = if (!(I))
282+@Callable(bd)
283+func lockSWOP () = if (!(L))
278284 then throw("DApp is inactive at this moment")
279285 else {
280- let bg = $Tuple2(ba.payments[0].amount, ba.payments[0].assetId)
281- let bc = bg._1
282- let bd = bg._2
283- if ((bd != N))
286+ let bj = $Tuple2(bd.payments[0].amount, bd.payments[0].assetId)
287+ let bf = bj._1
288+ let bg = bj._2
289+ if ((bg != Q))
284290 then throw("Incorrect pmtAssetId")
285291 else {
286- let af = ae()
287- let bh = ak(ba.caller, af)
288- let am = bh._1
289- let aX = bh._2
290- let aY = fraction(aX, (af - am), O)
291- let bi = ((aX + bc) + aY)
292- let aZ = af
293- let be = ax()
294- let bj = ((be + bc) + aY)
295- let bk = ai(ba.caller)
296- let bl = (bk + aY)
297-[IntegerEntry((toString(ba.caller) + i), aZ), IntegerEntry((toString(ba.caller) + j), bi), IntegerEntry(l, bj), IntegerEntry((toString(ba.caller) + p), bl), IntegerEntry((toString(ba.caller) + q), aY)]
292+ let ai = ah()
293+ let bk = an(bd.caller, ai)
294+ let ap = bk._1
295+ let ba = bk._2
296+ let bb = fraction(ba, (ai - ap), R)
297+ let bl = ((ba + bf) + bb)
298+ let bc = ai
299+ let bh = aA()
300+ let bm = ((bh + bf) + bb)
301+ let bn = al(bd.caller)
302+ let bo = (bn + bb)
303+[IntegerEntry((toString(bd.caller) + i), bc), IntegerEntry((toString(bd.caller) + j), bl), IntegerEntry(l, bm), IntegerEntry((toString(bd.caller) + p), bo), IntegerEntry((toString(bd.caller) + q), bb)]
298304 }
299305 }
300306
301307
302308
303-@Callable(ba)
304-func withdrawSWOP (bm) = if (!(I))
309+@Callable(bd)
310+func withdrawSWOP (bp) = if (!(L))
305311 then throw("DApp is inactive at this moment")
306- else if ((0 >= bm))
312+ else if ((0 >= bp))
307313 then throw("withdrawAmount <= 0")
308314 else {
309- let be = ax()
310- let aX = ag(ba.caller)
311- let bn = aU(ba.caller)
312- let aZ = bn._1
313- let aY = bn._2
314- let bo = ay(ba.caller)
315- let bp = bo._1
316- let bq = bo._2
317- let br = av(ba.caller)
318- if (if (if ((0 > bq))
315+ let bh = aA()
316+ let ba = aj(bd.caller)
317+ let bq = aX(bd.caller)
318+ let bc = bq._1
319+ let bb = bq._2
320+ let br = aB(bd.caller)
321+ let bs = br._1
322+ let bt = br._2
323+ let bu = ay(bd.caller)
324+ if (if (if ((0 > bt))
319325 then true
320- else (0 > bp))
326+ else (0 > bs))
321327 then true
322- else (0 > br))
328+ else (0 > bu))
323329 then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0")
324330 else {
325- let bs = (aX - max([br, (bp + bq)]))
326- if ((bm > bs))
331+ let bv = (ba - max([bu, (bs + bt)]))
332+ if ((bp > bv))
327333 then throw("withdrawAmount > availableToUnstake")
328334 else {
329- let bj = ((be + aY) - bm)
330- let bt = ((aX + aY) - bm)
331- let bk = ai(ba.caller)
332- let bl = (bk + aY)
333-[IntegerEntry((toString(ba.caller) + i), aZ), IntegerEntry((toString(ba.caller) + j), bt), IntegerEntry(l, bj), ScriptTransfer(ba.caller, bm, N), IntegerEntry((toString(ba.caller) + p), bl), IntegerEntry((toString(ba.caller) + q), aY)]
335+ let bm = ((bh + bb) - bp)
336+ let bw = ((ba + bb) - bp)
337+ let bn = al(bd.caller)
338+ let bo = (bn + bb)
339+[IntegerEntry((toString(bd.caller) + i), bc), IntegerEntry((toString(bd.caller) + j), bw), IntegerEntry(l, bm), ScriptTransfer(bd.caller, bp, Q), IntegerEntry((toString(bd.caller) + p), bo), IntegerEntry((toString(bd.caller) + q), bb)]
334340 }
335341 }
336342 }
337343
338344
339345
340-@Callable(ba)
341-func claimAndWithdrawSWOP () = if (!(I))
346+@Callable(bd)
347+func claimAndWithdrawSWOP () = if (!(L))
342348 then throw("DApp is inactive at this moment")
343349 else {
344- let af = ae()
345- let bu = aU(ba.caller)
346- let aZ = bu._1
347- let aY = bu._2
348- let bk = ai(ba.caller)
349- let bl = (bk + aY)
350- if ((aY == 0))
350+ let ai = ah()
351+ let bx = aX(bd.caller)
352+ let bc = bx._1
353+ let bb = bx._2
354+ let bn = al(bd.caller)
355+ let bo = (bn + bb)
356+ if ((bb == 0))
351357 then throw("You have 0 available SWOP")
352- else [IntegerEntry((toString(ba.caller) + i), aZ), IntegerEntry((toString(ba.caller) + p), bl), IntegerEntry((toString(ba.caller) + q), aY), ScriptTransfer(ba.caller, aY, N)]
358+ else [IntegerEntry((toString(bd.caller) + i), bc), IntegerEntry((toString(bd.caller) + p), bo), IntegerEntry((toString(bd.caller) + q), bb), ScriptTransfer(bd.caller, bb, Q)]
353359 }
354360
355361
356362
357-@Callable(ba)
358-func claimAndStakeSWOP () = if (!(I))
363+@Callable(bd)
364+func claimAndStakeSWOP () = if (!(L))
359365 then throw("DApp is inactive at this moment")
360366 else {
361- let be = ax()
362- let aX = ag(ba.caller)
363- let af = ae()
364- let bv = aU(ba.caller)
365- let aZ = bv._1
366- let aY = bv._2
367- let bi = (aX + aY)
368- let bj = (be + aY)
369- let bk = ai(ba.caller)
370- let bl = (bk + aY)
371- if ((aY == 0))
367+ let bh = aA()
368+ let ba = aj(bd.caller)
369+ let ai = ah()
370+ let by = aX(bd.caller)
371+ let bc = by._1
372+ let bb = by._2
373+ let bl = (ba + bb)
374+ let bm = (bh + bb)
375+ let bn = al(bd.caller)
376+ let bo = (bn + bb)
377+ if ((bb == 0))
372378 then throw("You have 0 available SWOP")
373- else [IntegerEntry((toString(ba.caller) + i), aZ), IntegerEntry(l, bj), IntegerEntry((toString(ba.caller) + j), bi), IntegerEntry((toString(ba.caller) + p), bl), IntegerEntry((toString(ba.caller) + q), aY)]
379+ else [IntegerEntry((toString(bd.caller) + i), bc), IntegerEntry(l, bm), IntegerEntry((toString(bd.caller) + j), bl), IntegerEntry((toString(bd.caller) + p), bo), IntegerEntry((toString(bd.caller) + q), bb)]
374380 }
375381
376382
377383
378-@Callable(ba)
379-func updateWeights (bw,bx,by,bz,bA) = if (!(I))
384+@Callable(bd)
385+func updateWeights (bz,bA,bB,bC,bD,bE) = if (!(L))
380386 then throw("DApp is inactive at this moment")
381- else if (!(containsElement([a, b, c, d, e], ba.callerPublicKey)))
382- then throw("Only admin can call this function")
383- else {
384- func bB (bC,bD) = (bC + bD)
387+ else {
388+ let bF = 10
389+ if (!(containsElement([a, b, c, d, e], bd.callerPublicKey)))
390+ then throw("Only admin can call this function")
391+ else if (if ((size(bz) > bF))
392+ then true
393+ else (size(bB) > bF))
394+ then throw(("Max amount of pool is " + toString(bF)))
395+ else {
396+ func bG (bH,bI) = (bH + bI)
385397
386- func bE (bF,aq) = {
387- let bG = value(indexOf(bw, aq))
388- let bH = bx[bG]
389-IntegerEntry((aq + w), bH) :: bF
390- }
398+ func bJ (bK,at) = {
399+ let bL = value(indexOf(bz, at))
400+ let bM = bA[bL]
401+IntegerEntry((at + w), bM) :: bK
402+ }
391403
392- func bI (bF,aq) = {
393- let bG = value(indexOf(by, aq))
394- let bH = bz[bG]
395-IntegerEntry((aq + v), bH) :: bF
396- }
404+ func bN (bK,at) = {
405+ let bL = value(indexOf(bB, at))
406+ let bM = bC[bL]
407+IntegerEntry((at + v), bM) :: bK
408+ }
397409
398- let bJ = {
399- let bK = bx
400- let bL = size(bK)
401- let bM = 0
402- if ((bL == 0))
403- then bM
404- else {
405- let bN = bB(bM, bK[0])
406- if ((bL == 1))
407- then bN
410+ func bO (bK,at) = {
411+ let bL = value(indexOf(bB, at))
412+ let bP = bD
413+IntegerEntry((at + x), bP) :: bK
414+ }
415+
416+ func bQ (bR,bS,bE) = if ((bE == 0))
417+ then $Tuple2([IntegerEntry(J, bR)], [IntegerEntry(K, bS)])
418+ else if ((bE == 1))
419+ then {
420+ let bT = valueOrElse(getInteger(this, J), 0)
421+ let bU = valueOrElse(getInteger(this, K), 0)
422+ $Tuple2([IntegerEntry(J, (bR + bT))], [IntegerEntry(K, (bS + bU))])
423+ }
424+ else if ((bE == 2))
425+ then {
426+ let bV = (valueOrElse(getInteger(this, J), 0) + bR)
427+ let bW = (valueOrElse(getInteger(this, K), 0) + bS)
428+ if (if ((bV != S))
429+ then true
430+ else (bW != S))
431+ then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
432+ else $Tuple2([IntegerEntry(J, bV)], [IntegerEntry(K, bW)])
433+ }
434+ else throw("Incorrect pagination")
435+
436+ let bX = {
437+ let bY = bA
438+ let bZ = size(bY)
439+ let ca = 0
440+ if ((bZ == 0))
441+ then ca
408442 else {
409- let bO = bB(bN, bK[1])
410- if ((bL == 2))
411- then bO
443+ let cb = bG(ca, bY[0])
444+ if ((bZ == 1))
445+ then cb
412446 else {
413- let bP = bB(bO, bK[2])
414- if ((bL == 3))
415- then bP
447+ let cc = bG(cb, bY[1])
448+ if ((bZ == 2))
449+ then cc
416450 else {
417- let bQ = bB(bP, bK[3])
418- if ((bL == 4))
419- then bQ
451+ let cd = bG(cc, bY[2])
452+ if ((bZ == 3))
453+ then cd
420454 else {
421- let bR = bB(bQ, bK[4])
422- if ((bL == 5))
423- then bR
455+ let ce = bG(cd, bY[3])
456+ if ((bZ == 4))
457+ then ce
424458 else {
425- let bS = bB(bR, bK[5])
426- if ((bL == 6))
427- then bS
459+ let cf = bG(ce, bY[4])
460+ if ((bZ == 5))
461+ then cf
428462 else {
429- let bT = bB(bS, bK[6])
430- if ((bL == 7))
431- then bT
463+ let cg = bG(cf, bY[5])
464+ if ((bZ == 6))
465+ then cg
432466 else {
433- let bU = bB(bT, bK[7])
434- if ((bL == 8))
435- then bU
467+ let ch = bG(cg, bY[6])
468+ if ((bZ == 7))
469+ then ch
436470 else {
437- let bV = bB(bU, bK[8])
438- if ((bL == 9))
439- then bV
471+ let ci = bG(ch, bY[7])
472+ if ((bZ == 8))
473+ then ci
440474 else {
441- let bW = bB(bV, bK[9])
442- if ((bL == 10))
443- then bW
475+ let cj = bG(ci, bY[8])
476+ if ((bZ == 9))
477+ then cj
444478 else {
445- let bX = bB(bW, bK[10])
446- if ((bL == 11))
447- then bX
479+ let ck = bG(cj, bY[9])
480+ if ((bZ == 10))
481+ then ck
448482 else {
449- let bY = bB(bX, bK[11])
450- if ((bL == 12))
451- then bY
483+ let cl = bG(ck, bY[10])
484+ throw("List size exceed 10")
485+ }
486+ }
487+ }
488+ }
489+ }
490+ }
491+ }
492+ }
493+ }
494+ }
495+ }
496+ }
497+ let cm = {
498+ let cn = bC
499+ let co = size(cn)
500+ let cp = 0
501+ if ((co == 0))
502+ then cp
503+ else {
504+ let cq = bG(cp, cn[0])
505+ if ((co == 1))
506+ then cq
507+ else {
508+ let cr = bG(cq, cn[1])
509+ if ((co == 2))
510+ then cr
511+ else {
512+ let cs = bG(cr, cn[2])
513+ if ((co == 3))
514+ then cs
515+ else {
516+ let ct = bG(cs, cn[3])
517+ if ((co == 4))
518+ then ct
519+ else {
520+ let cu = bG(ct, cn[4])
521+ if ((co == 5))
522+ then cu
523+ else {
524+ let cv = bG(cu, cn[5])
525+ if ((co == 6))
526+ then cv
527+ else {
528+ let cw = bG(cv, cn[6])
529+ if ((co == 7))
530+ then cw
531+ else {
532+ let cx = bG(cw, cn[7])
533+ if ((co == 8))
534+ then cx
535+ else {
536+ let cy = bG(cx, cn[8])
537+ if ((co == 9))
538+ then cy
539+ else {
540+ let cz = bG(cy, cn[9])
541+ if ((co == 10))
542+ then cz
543+ else {
544+ let cA = bG(cz, cn[10])
545+ throw("List size exceed 10")
546+ }
547+ }
548+ }
549+ }
550+ }
551+ }
552+ }
553+ }
554+ }
555+ }
556+ }
557+ }
558+ let cB = bQ(cm, cm, bE)
559+ let cC = cB._1
560+ let cD = cB._2
561+ let cE = if ((bE == 2))
562+ then [IntegerEntry(A, bD)]
563+ else [IntegerEntry(A, getIntegerValue(this, A))]
564+ if (if ((bE == 2))
565+ then (height > bD)
566+ else false)
567+ then throw("rewardUpdateHeight < height")
568+ else {
569+ let cF = {
570+ let cG = bz
571+ let cH = size(cG)
572+ let cI = nil
573+ if ((cH == 0))
574+ then cI
575+ else {
576+ let cJ = bJ(cI, cG[0])
577+ if ((cH == 1))
578+ then cJ
579+ else {
580+ let cK = bJ(cJ, cG[1])
581+ if ((cH == 2))
582+ then cK
583+ else {
584+ let cL = bJ(cK, cG[2])
585+ if ((cH == 3))
586+ then cL
587+ else {
588+ let cM = bJ(cL, cG[3])
589+ if ((cH == 4))
590+ then cM
591+ else {
592+ let cN = bJ(cM, cG[4])
593+ if ((cH == 5))
594+ then cN
595+ else {
596+ let cO = bJ(cN, cG[5])
597+ if ((cH == 6))
598+ then cO
599+ else {
600+ let cP = bJ(cO, cG[6])
601+ if ((cH == 7))
602+ then cP
603+ else {
604+ let cQ = bJ(cP, cG[7])
605+ if ((cH == 8))
606+ then cQ
607+ else {
608+ let cR = bJ(cQ, cG[8])
609+ if ((cH == 9))
610+ then cR
611+ else {
612+ let cS = bJ(cR, cG[9])
613+ if ((cH == 10))
614+ then cS
452615 else {
453- let bZ = bB(bY, bK[12])
454- if ((bL == 13))
455- then bZ
456- else {
457- let ca = bB(bZ, bK[13])
458- if ((bL == 14))
459- then ca
460- else {
461- let cb = bB(ca, bK[14])
462- if ((bL == 15))
463- then cb
464- else {
465- let cc = bB(cb, bK[15])
466- if ((bL == 16))
467- then cc
468- else {
469- let cd = bB(cc, bK[16])
470- if ((bL == 17))
471- then cd
472- else {
473- let ce = bB(cd, bK[17])
474- if ((bL == 18))
475- then ce
476- else {
477- let cf = bB(ce, bK[18])
478- if ((bL == 19))
479- then cf
480- else {
481- let cg = bB(cf, bK[19])
482- if ((bL == 20))
483- then cg
484- else {
485- let ch = bB(cg, bK[20])
486- if ((bL == 21))
487- then ch
488- else {
489- let ci = bB(ch, bK[21])
490- throw("List size exceed 21")
491- }
492- }
493- }
494- }
495- }
496- }
497- }
498- }
499- }
616+ let cT = bJ(cS, cG[10])
617+ throw("List size exceed 10")
500618 }
501619 }
502620 }
503621 }
504622 }
505623 }
506624 }
507625 }
508626 }
509627 }
510628 }
511629 }
512- }
513- }
514- let cj = {
515- let ck = bz
516- let cl = size(ck)
517- let cm = 0
518- if ((cl == 0))
519- then cm
520- else {
521- let cn = bB(cm, ck[0])
522- if ((cl == 1))
523- then cn
524- else {
525- let co = bB(cn, ck[1])
526- if ((cl == 2))
527- then co
630+ let cU = {
631+ let cV = bB
632+ let cW = size(cV)
633+ let cX = nil
634+ if ((cW == 0))
635+ then cX
528636 else {
529- let cp = bB(co, ck[2])
530- if ((cl == 3))
531- then cp
637+ let cY = bN(cX, cV[0])
638+ if ((cW == 1))
639+ then cY
532640 else {
533- let cq = bB(cp, ck[3])
534- if ((cl == 4))
535- then cq
641+ let cZ = bN(cY, cV[1])
642+ if ((cW == 2))
643+ then cZ
536644 else {
537- let cr = bB(cq, ck[4])
538- if ((cl == 5))
539- then cr
645+ let da = bN(cZ, cV[2])
646+ if ((cW == 3))
647+ then da
540648 else {
541- let cs = bB(cr, ck[5])
542- if ((cl == 6))
543- then cs
649+ let db = bN(da, cV[3])
650+ if ((cW == 4))
651+ then db
544652 else {
545- let ct = bB(cs, ck[6])
546- if ((cl == 7))
547- then ct
653+ let dc = bN(db, cV[4])
654+ if ((cW == 5))
655+ then dc
548656 else {
549- let cu = bB(ct, ck[7])
550- if ((cl == 8))
551- then cu
657+ let dd = bN(dc, cV[5])
658+ if ((cW == 6))
659+ then dd
552660 else {
553- let cv = bB(cu, ck[8])
554- if ((cl == 9))
555- then cv
661+ let de = bN(dd, cV[6])
662+ if ((cW == 7))
663+ then de
556664 else {
557- let cw = bB(cv, ck[9])
558- if ((cl == 10))
559- then cw
665+ let df = bN(de, cV[7])
666+ if ((cW == 8))
667+ then df
560668 else {
561- let cx = bB(cw, ck[10])
562- if ((cl == 11))
563- then cx
669+ let dg = bN(df, cV[8])
670+ if ((cW == 9))
671+ then dg
564672 else {
565- let cy = bB(cx, ck[11])
566- if ((cl == 12))
567- then cy
673+ let dh = bN(dg, cV[9])
674+ if ((cW == 10))
675+ then dh
568676 else {
569- let cz = bB(cy, ck[12])
570- if ((cl == 13))
571- then cz
572- else {
573- let cA = bB(cz, ck[13])
574- if ((cl == 14))
575- then cA
576- else {
577- let cB = bB(cA, ck[14])
578- if ((cl == 15))
579- then cB
580- else {
581- let cC = bB(cB, ck[15])
582- if ((cl == 16))
583- then cC
584- else {
585- let cD = bB(cC, ck[16])
586- if ((cl == 17))
587- then cD
588- else {
589- let cE = bB(cD, ck[17])
590- if ((cl == 18))
591- then cE
592- else {
593- let cF = bB(cE, ck[18])
594- if ((cl == 19))
595- then cF
596- else {
597- let cG = bB(cF, ck[19])
598- if ((cl == 20))
599- then cG
600- else {
601- let cH = bB(cG, ck[20])
602- if ((cl == 21))
603- then cH
604- else {
605- let cI = bB(cH, ck[21])
606- throw("List size exceed 21")
607- }
608- }
609- }
610- }
611- }
612- }
613- }
614- }
615- }
677+ let di = bN(dh, cV[10])
678+ throw("List size exceed 10")
616679 }
617680 }
618681 }
619682 }
620683 }
621684 }
622685 }
623686 }
624687 }
625688 }
626689 }
627690 }
628- }
629- }
630- if ((height > bA))
631- then throw("rewardUpdateHeight < height")
632- else if (if ((bJ != P))
633- then true
634- else (cj != P))
635- then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
636- else {
637- let cJ = {
638- let cK = bw
639- let cL = size(cK)
640- let cM = nil
641- if ((cL == 0))
642- then cM
643- else {
644- let cN = bE(cM, cK[0])
645- if ((cL == 1))
646- then cN
647- else {
648- let cO = bE(cN, cK[1])
649- if ((cL == 2))
650- then cO
651- else {
652- let cP = bE(cO, cK[2])
653- if ((cL == 3))
654- then cP
655- else {
656- let cQ = bE(cP, cK[3])
657- if ((cL == 4))
658- then cQ
659- else {
660- let cR = bE(cQ, cK[4])
661- if ((cL == 5))
662- then cR
663- else {
664- let cS = bE(cR, cK[5])
665- if ((cL == 6))
666- then cS
667- else {
668- let cT = bE(cS, cK[6])
669- if ((cL == 7))
670- then cT
671- else {
672- let cU = bE(cT, cK[7])
673- if ((cL == 8))
674- then cU
675- else {
676- let cV = bE(cU, cK[8])
677- if ((cL == 9))
678- then cV
679- else {
680- let cW = bE(cV, cK[9])
681- if ((cL == 10))
682- then cW
683- else {
684- let cX = bE(cW, cK[10])
685- if ((cL == 11))
686- then cX
687- else {
688- let cY = bE(cX, cK[11])
689- if ((cL == 12))
690- then cY
691- else {
692- let cZ = bE(cY, cK[12])
693- if ((cL == 13))
694- then cZ
695- else {
696- let da = bE(cZ, cK[13])
697- if ((cL == 14))
698- then da
699- else {
700- let db = bE(da, cK[14])
701- if ((cL == 15))
702- then db
703- else {
704- let dc = bE(db, cK[15])
705- if ((cL == 16))
706- then dc
707- else {
708- let dd = bE(dc, cK[16])
709- if ((cL == 17))
710- then dd
711- else {
712- let de = bE(dd, cK[17])
713- if ((cL == 18))
714- then de
715- else {
716- let df = bE(de, cK[18])
717- if ((cL == 19))
718- then df
719- else {
720- let dg = bE(df, cK[19])
721- if ((cL == 20))
722- then dg
723- else {
724- let dh = bE(dg, cK[20])
725- if ((cL == 21))
726- then dh
727- else {
728- let di = bE(dh, cK[21])
729- throw("List size exceed 21")
730- }
731- }
732- }
733- }
734- }
735- }
736- }
737- }
738- }
739- }
740- }
741- }
742- }
743- }
744- }
745- }
746- }
747- }
748- }
749- }
750- }
751- }
691+ let dj = {
692+ let dk = bB
693+ let dl = size(dk)
694+ let dm = nil
695+ if ((dl == 0))
696+ then dm
697+ else {
698+ let dn = bO(dm, dk[0])
699+ if ((dl == 1))
700+ then dn
701+ else {
702+ let do = bO(dn, dk[1])
703+ if ((dl == 2))
704+ then do
705+ else {
706+ let dp = bO(do, dk[2])
707+ if ((dl == 3))
708+ then dp
709+ else {
710+ let dq = bO(dp, dk[3])
711+ if ((dl == 4))
712+ then dq
713+ else {
714+ let dr = bO(dq, dk[4])
715+ if ((dl == 5))
716+ then dr
717+ else {
718+ let ds = bO(dr, dk[5])
719+ if ((dl == 6))
720+ then ds
721+ else {
722+ let dt = bO(ds, dk[6])
723+ if ((dl == 7))
724+ then dt
725+ else {
726+ let du = bO(dt, dk[7])
727+ if ((dl == 8))
728+ then du
729+ else {
730+ let dv = bO(du, dk[8])
731+ if ((dl == 9))
732+ then dv
733+ else {
734+ let dw = bO(dv, dk[9])
735+ if ((dl == 10))
736+ then dw
737+ else {
738+ let dx = bO(dw, dk[10])
739+ throw("List size exceed 10")
740+ }
741+ }
742+ }
743+ }
744+ }
745+ }
746+ }
747+ }
748+ }
749+ }
750+ }
751+ }
752+ (((((cF ++ cU) ++ dj) ++ cC) ++ cD) ++ cE)
752753 }
753- let dj = {
754- let dk = by
755- let dl = size(dk)
756- let dm = nil
757- if ((dl == 0))
758- then dm
759- else {
760- let dn = bI(dm, dk[0])
761- if ((dl == 1))
762- then dn
763- else {
764- let do = bI(dn, dk[1])
765- if ((dl == 2))
766- then do
767- else {
768- let dp = bI(do, dk[2])
769- if ((dl == 3))
770- then dp
771- else {
772- let dq = bI(dp, dk[3])
773- if ((dl == 4))
774- then dq
775- else {
776- let dr = bI(dq, dk[4])
777- if ((dl == 5))
778- then dr
779- else {
780- let ds = bI(dr, dk[5])
781- if ((dl == 6))
782- then ds
783- else {
784- let dt = bI(ds, dk[6])
785- if ((dl == 7))
786- then dt
787- else {
788- let du = bI(dt, dk[7])
789- if ((dl == 8))
790- then du
791- else {
792- let dv = bI(du, dk[8])
793- if ((dl == 9))
794- then dv
795- else {
796- let dw = bI(dv, dk[9])
797- if ((dl == 10))
798- then dw
799- else {
800- let dx = bI(dw, dk[10])
801- if ((dl == 11))
802- then dx
803- else {
804- let dy = bI(dx, dk[11])
805- if ((dl == 12))
806- then dy
807- else {
808- let dz = bI(dy, dk[12])
809- if ((dl == 13))
810- then dz
811- else {
812- let dA = bI(dz, dk[13])
813- if ((dl == 14))
814- then dA
815- else {
816- let dB = bI(dA, dk[14])
817- if ((dl == 15))
818- then dB
819- else {
820- let dC = bI(dB, dk[15])
821- if ((dl == 16))
822- then dC
823- else {
824- let dD = bI(dC, dk[16])
825- if ((dl == 17))
826- then dD
827- else {
828- let dE = bI(dD, dk[17])
829- if ((dl == 18))
830- then dE
831- else {
832- let dF = bI(dE, dk[18])
833- if ((dl == 19))
834- then dF
835- else {
836- let dG = bI(dF, dk[19])
837- if ((dl == 20))
838- then dG
839- else {
840- let dH = bI(dG, dk[20])
841- if ((dl == 21))
842- then dH
843- else {
844- let dI = bI(dH, dk[21])
845- throw("List size exceed 21")
846- }
847- }
848- }
849- }
850- }
851- }
852- }
853- }
854- }
855- }
856- }
857- }
858- }
859- }
860- }
861- }
862- }
863- }
864- }
865- }
866- }
867- }
868- }
869- ((cJ ++ dj) ++ [IntegerEntry(z, bA)])
870- }
871- }
754+ }
755+ }
872756
873757
874758
875-@Callable(ba)
876-func shutdown () = if (!(I))
759+@Callable(bd)
760+func shutdown () = if (!(L))
877761 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, g), "the cause wasn't specified")))
878- else if (!(containsElement([a, b, c, d], ba.callerPublicKey)))
762+ else if (!(containsElement([a, b, c, d], bd.callerPublicKey)))
879763 then throw("Only admin can call this function")
880- else ab("Paused by admin")
764+ else ae("Paused by admin")
881765
882766
883767
884-@Callable(ba)
885-func activate () = if (I)
768+@Callable(bd)
769+func activate () = if (L)
886770 then throw("DApp is already active")
887- else if (!(containsElement([a, b, c, d], ba.callerPublicKey)))
771+ else if (!(containsElement([a, b, c, d], bd.callerPublicKey)))
888772 then throw("Only admin can call this function")
889773 else [BooleanEntry(f, true), DeleteEntry(g)]
890774
891775
892-@Verifier(dJ)
893-func dK () = sigVerify(dJ.bodyBytes, dJ.proofs[0], dJ.senderPublicKey)
776+@Verifier(dy)
777+func dz () = sigVerify(dy.bodyBytes, dy.proofs[0], dy.senderPublicKey)
894778

github/deemru/w8io/169f3d6 
296.63 ms