tx · GkWHCxFZc19j8a4MnZNWtD7dBZwqeeeaxvehhQhkT9cK

3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU:  -0.01400000 Waves

2021.07.21 16:40 [1623452] smart account 3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU > SELF 0.00000000 Waves

{ "type": 13, "id": "GkWHCxFZc19j8a4MnZNWtD7dBZwqeeeaxvehhQhkT9cK", "fee": 1400000, "feeAssetId": null, "timestamp": 1626874888803, "version": 2, "chainId": 84, "sender": "3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU", "senderPublicKey": "AWADFmQjf2WbDSqb24S9YZpix3VEdiBdeiJ2J2sSfQ49", "proofs": [ "4y3rSp4Ym5Z7UPn3niLyzSRGaKhuwMXPNmknKZNdR2dWsWUzpFjHf3Jim9PhhFsHF7brxd54aSvhiCWMT54q82R3", "4QqvAnV2MXyajbPdukhb9xgCe5aUyzkyT8JbWcHvVsKAhho7K6whmA4YNLonTqPN1eKDf3KpAAxD4U6KjkXRWFej" ], "script": "base64:AAIFAAAAAAAAABsIAhIAEgASAwoBARIAEgASBgoEGBEBARIAEgAAAABTAAAAABRhZG1pblB1YktleVN0YXJ0U3RvcAEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAAEWFkbWluUHViS2V5V2FsbGV0AQAAACA+d1plWlbJ/ClXM7W8DUUtysyn+IWSDjd3WPNiFVIUEgAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAACGtleUNhdXNlAgAAAA5zaHV0ZG93bl9jYXVzZQAAAAAPa2V5TGFzdEludGVyZXN0AgAAAA1sYXN0X2ludGVyZXN0AAAAABNrZXlVc2VyTGFzdEludGVyZXN0AgAAAA5fbGFzdF9pbnRlcmVzdAAAAAARa2V5VXNlclNXT1BMb2NrZWQCAAAADF9TV09QX2Ftb3VudAAAAAAUa2V5VXNlckdldEJhY2tIZWlnaHQCAAAADl9nZXRCYWNrSGVpZ2h0AAAAABJrZXlUb3RhbFNXT1BMb2NrZWQCAAAAEXRvdGFsX1NXT1BfYW1vdW50AAAAABJrVXNlclRvdGFsVm90ZVNXT1ACAAAAFV91c2VyX3RvdGFsX1NXT1Bfdm90ZQAAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQCAAAAE19TV09QX29wdGlvbl9hbW91bnQAAAAAGGtleVRvdGFsVm90ZU9wdGlvbkFtb3VudAIAAAAYdG90YWxfU1dPUF9vcHRpb25fYW1vdW50AAAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQCAAAAFF9TV09QX2NsYWltZWRfYW1vdW50AAAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50AgAAABlfU1dPUF9sYXN0X2NsYWltZWRfYW1vdW50AAAAAAtrZXlWb3RlTmFtZQIAAAAJdm90ZV9uYW1lAAAAAA1rZXlPcHRpb25OYW1lAgAAAAxfb3B0aW9uX25hbWUAAAAAFGtleVZvdGluZ1N0YXJ0SGVpZ2h0AgAAAAxfc3RhcnRIZWlnaHQAAAAAD2tleVZvdGVEdXJhdGlvbgIAAAAOX3ZvdGVfZHVyYXRpb24AAAAAHGtleVJld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQCAAAAHV9jdXJyZW50X3Bvb2xfZnJhY3Rpb25fcmV3YXJkAAAAAB1rZXlSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwIAAAAeX3ByZXZpb3VzX3Bvb2xfZnJhY3Rpb25fcmV3YXJkAAAAABVrZXlIZWlnaHRQb29sRnJhY3Rpb24CAAAAGl9wb29sX3Jld2FyZF91cGRhdGVfaGVpZ2h0AAAAAB1rZXlUb3RhbFJld2FyZFBlckJsb2NrQ3VycmVudAIAAAAedG90YWxfcmV3YXJkX3Blcl9ibG9ja19jdXJyZW50AAAAAB5rZXlUb3RhbFJld2FyZFBlckJsb2NrUHJldmlvdXMCAAAAH3RvdGFsX3Jld2FyZF9wZXJfYmxvY2tfcHJldmlvdXMAAAAAFWtleVJld2FyZFVwZGF0ZUhlaWdodAIAAAAUcmV3YXJkX3VwZGF0ZV9oZWlnaHQAAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAIAAAAlcmV3YXJkX3VwZGF0ZV9oZWlnaHRfZmlyc3RfcGFnaW5hdGlvbgAAAAAVa2V5Tm9Wb3RpbmdGb3JOZXdQb29sAgAAAAhfdm90ZV9ubwAAAAAWa2V5WWVzVm90aW5nRm9yTmV3UG9vbAIAAAAJX3ZvdGVfeWVzAAAAABtrZXlBbW91bnRPZlZvdGluZ0Zvck5ld1Bvb2wCAAAAEW1heF9hbW91bnRfdm90aW5nAAAAABtrZXlTdGF0dXNPZlZvdGluZ0Zvck5ld1Bvb2wCAAAAB19zdGF0dXMAAAAAH2tleUhlaWdodE9mUG9vbFZvdGluZ0Zvck5ld1Bvb2wCAAAADl9maW5pc2hfaGVpZ2h0AAAAAA9hY3RpdmVWb3RlRmlyc3QCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8xAAAAABBhY3RpdmVWb3RlU2Vjb25kAgAAABR2b3RpbmdfYWN0aXZlX2NlbGxfMgAAAAAPYWN0aXZlVm90ZVRoaXJkAgAAABR2b3RpbmdfYWN0aXZlX2NlbGxfMwAAAAANa2V5VGVtcEN1clN1bQIAAAASc3VtX3Jld2FyZF9jdXJyZW50AAAAAA9rZXlBZG1pblB1YktleTECAAAAC2FkbWluX3B1Yl8xAAAAAA9rZXlBZG1pblB1YktleTICAAAAC2FkbWluX3B1Yl8yAAAAAA9rZXlBZG1pblB1YktleTMCAAAAC2FkbWluX3B1Yl8zAAAAAAZvcmFjbGUJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVTpRaoekC86rvG6DuYumpJfGpiE4fNiswgBAAAAC2dldEFkbWluUHViAAAAAQAAAAtrZXlBZG1pblB1YgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAZvcmFjbGUFAAAAC2tleUFkbWluUHViAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAABnN0cmluZwUAAAAHJG1hdGNoMAkAAlkAAAABBQAAAAZzdHJpbmcEAAAAB25vdGhpbmcFAAAAByRtYXRjaDAJAAACAAAAAQIAAAAZQWRtaW4gcHVibGljIGtleSBpcyBlbXB0eQAAAAAMYWRtaW5QdWJLZXkxCQEAAAALZ2V0QWRtaW5QdWIAAAABBQAAAA9rZXlBZG1pblB1YktleTEAAAAADGFkbWluUHViS2V5MgkBAAAAC2dldEFkbWluUHViAAAAAQUAAAAPa2V5QWRtaW5QdWJLZXkyAAAAAAxhZG1pblB1YktleTMJAQAAAAtnZXRBZG1pblB1YgAAAAEFAAAAD2tleUFkbWluUHViS2V5MwAAAAAIaXNBY3RpdmUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAAEdGhpcwUAAAAJa2V5QWN0aXZlBgAAAAASZmFybWluZ1NXT1BBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFULEuCdkaN7xkyPSmpBMwL+vYh0o63mS9mAAAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQaNn7fV6KdJ2lc/r/3JtTn+6HDaD4gyn8AAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVR2IeF5Fctzd38/oGN0UKsjLFsZGIPzS4IAAAAACWtleVNXT1BpZAIAAAAHU1dPUF9pZAAAAAAEU1dPUAkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAABJmYXJtaW5nU1dPUEFkZHJlc3MFAAAACWtleVNXT1BpZAAAAAAKc2NhbGVWYWx1ZQAAAAAABfXhAAAAAAAOdG90YWxWb3RlU2hhcmUAAAAAAlQL5AAAAAAADGtTdGFydEhlaWdodAIAAAAMc3RhcnRfaGVpZ2h0AAAAAAtrQmFzZVBlcmlvZAIAAAALYmFzZV9wZXJpb2QAAAAADWtQZXJpb2RMZW5ndGgCAAAADXBlcmlvZF9sZW5ndGgAAAAAD2tVc2VyVG90YWxTdHJ1YwIAAAARX3VzZXJfdG90YWxfc3RydWMAAAAACmJhc2VQZXJpb2QJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QFAAAAC2tCYXNlUGVyaW9kAgAAACRFbXB0eSBrQmFzZVBlcmlvZCBhdCB2b3RpbmcgY29udHJhY3QAAAAAC3N0YXJ0SGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0BQAAAAxrU3RhcnRIZWlnaHQCAAAAJUVtcHR5IGtTdGFydEhlaWdodCBhdCB2b3RpbmcgY29udHJhY3QAAAAADHBlcmlvZExlbmd0aAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAUAAAANa1BlcmlvZExlbmd0aAIAAAAmRW1wdHkga1BlcmlvZExlbmd0aCBhdCB2b3RpbmcgY29udHJhY3QAAAAAD2ZpcnN0QWN0aXZlVm90ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAABB2b3RpbmdGb3JOZXdQb29sBQAAAA9hY3RpdmVWb3RlRmlyc3QCAAAAAAAAAAAQc2Vjb25kQWN0aXZlVm90ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAABB2b3RpbmdGb3JOZXdQb29sBQAAABBhY3RpdmVWb3RlU2Vjb25kAgAAAAAAAAAAD3RoaXJkQWN0aXZlVm90ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAABB2b3RpbmdGb3JOZXdQb29sBQAAAA9hY3RpdmVWb3RlVGhpcmQCAAAAAAAAAAAQY3VyclZvdGluZ1BlcmlvZAkAAGQAAAACBQAAAApiYXNlUGVyaW9kCQAAaQAAAAIJAABlAAAAAgUAAAAGaGVpZ2h0BQAAAAtzdGFydEhlaWdodAUAAAAMcGVyaW9kTGVuZ3RoAQAAAAdzdXNwZW5kAAAAAQAAAAVjYXVzZQkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAJa2V5QWN0aXZlBwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAhrZXlDYXVzZQUAAAAFY2F1c2UFAAAAA25pbAEAAAASdGhyb3dOb3RFbm91Z2hTV09QAAAAAAkAAAIAAAABAgAAAEZOb3QgZW5vdWdoIFNXT1A6IHVzZXJTV09QTG9ja2VkIC0gdXNlclRvdGFsVm90ZUFtb3VudCA8IHZvdGVTV09QQW1vdW50AQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAAMbGFzdEludGVyZXN0CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAD2tleUxhc3RJbnRlcmVzdAAAAAAAAAAAAAUAAAAMbGFzdEludGVyZXN0AQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQAAAAAAAAAAAABAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAAAAAAAAAQAAABZnZXRVc2VyVG90YWxWb3RlQW1vdW50AAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAEmtVc2VyVG90YWxWb3RlU1dPUAAAAAAAAAAAAAEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIAAAAEdXNlcgAAAAxsYXN0SW50ZXJlc3QEAAAADnVzZXJTV09QQW1vdW50CQEAAAARZ2V0VXNlclNXT1BMb2NrZWQAAAABBQAAAAR1c2VyBAAAABB1c2VyTGFzdEludGVyZXN0CQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BAAAABV1c2VyTGFzdEludGVyZXN0VmFsdWUEAAAAByRtYXRjaDAFAAAAEHVzZXJMYXN0SW50ZXJlc3QDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0CQAFFAAAAAIFAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQUAAAAOdXNlclNXT1BBbW91bnQBAAAAIGdldFVzZXJUb3RhbFZvdGVBbW91bnRGb3JPbmVQb29sAAAAAgAAAARwb29sAAAABHVzZXIEAAAABnZvdGluZwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABB2b3RpbmdGb3JOZXdQb29sBQAAAARwb29sAP//////////BAAAAA5oZWlnaHRPZlZvdGluZwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABB2b3RpbmdGb3JOZXdQb29sCQABLAAAAAIJAAGkAAAAAQUAAAAGdm90aW5nBQAAAB9rZXlIZWlnaHRPZlBvb2xWb3RpbmdGb3JOZXdQb29sAAAAAAAAAAAABAAAAA5zdGF0dXNPZlZvdGluZwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAABB2b3RpbmdGb3JOZXdQb29sCQABLAAAAAIJAAGkAAAAAQUAAAAGdm90aW5nBQAAABtrZXlTdGF0dXNPZlZvdGluZ0Zvck5ld1Bvb2wGBAAAAA1jdXJyZW50SGVpZ2h0BQAAAAZoZWlnaHQDCQAAZgAAAAIAAAAAAAAAAAAFAAAABnZvdGluZwAAAAAAAAAAAAMJAQAAAAEhAAAAAQUAAAAOc3RhdHVzT2ZWb3RpbmcAAAAAAAAAAAADCQAAZgAAAAIFAAAADmhlaWdodE9mVm90aW5nBQAAAA1jdXJyZW50SGVpZ2h0CQAAZAAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAQdm90aW5nRm9yTmV3UG9vbAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyAgAAAAFfCQABpAAAAAEFAAAABnZvdGluZwUAAAAWa2V5WWVzVm90aW5nRm9yTmV3UG9vbAAAAAAAAAAAAAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABB2b3RpbmdGb3JOZXdQb29sCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXICAAAAAV8JAAGkAAAAAQUAAAAGdm90aW5nBQAAABVrZXlOb1ZvdGluZ0Zvck5ld1Bvb2wAAAAAAAAAAAAAAAAAAAAAAAABAAAAIGdldFVzZXJUb3RhbFZvdGVGb3JOZXdQb29sQW1vdW50AAAAAQAAAAR1c2VyBAAAAAxsaXN0T2ZWb3RpbmcJAARMAAAAAgkBAAAAIGdldFVzZXJUb3RhbFZvdGVBbW91bnRGb3JPbmVQb29sAAAAAgUAAAAPZmlyc3RBY3RpdmVWb3RlBQAAAAR1c2VyCQAETAAAAAIJAQAAACBnZXRVc2VyVG90YWxWb3RlQW1vdW50Rm9yT25lUG9vbAAAAAIFAAAAEHNlY29uZEFjdGl2ZVZvdGUFAAAABHVzZXIJAARMAAAAAgkBAAAAIGdldFVzZXJUb3RhbFZvdGVBbW91bnRGb3JPbmVQb29sAAAAAgUAAAAPdGhpcmRBY3RpdmVWb3RlBQAAAAR1c2VyBQAAAANuaWwJAAGWAAAAAQUAAAAMbGlzdE9mVm90aW5nAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAEmtleVRvdGFsU1dPUExvY2tlZAAAAAAAAAAAAAEAAAAPZ2V0VXNlclZvdGVJbmZvAAAAAQAAAAR1c2VyBAAAAAskdDA2MzQ1Njg5NgMJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAD2tVc2VyVG90YWxTdHJ1YwQAAAAEZGF0YQkABLUAAAACCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAPa1VzZXJUb3RhbFN0cnVjAgAAABVFbXB0eSBrVXNlclRvdGFsU3RydWMCAAAAAV8JAAUVAAAAAwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAABGRhdGEAAAAAAAAAAAAJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAARkYXRhAAAAAAAAAAABCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEZGF0YQAAAAAAAAAAAgQAAAAOdVBvb2xUb3RhbFNXT1AJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAASa1VzZXJUb3RhbFZvdGVTV09QAAAAAAAAAAAACQAFFQAAAAMFAAAADnVQb29sVG90YWxTV09QAAAAAAAAAAAABQAAABBjdXJyVm90aW5nUGVyaW9kBAAAABF1c2VyVG90YWxWb3RlU1dPUAgFAAAACyR0MDYzNDU2ODk2AAAAAl8xBAAAAAt1c2VyVW52b3RlZAgFAAAACyR0MDYzNDU2ODk2AAAAAl8yBAAAABF1c2VyVW52b3RlZFBlcmlvZAgFAAAACyR0MDYzNDU2ODk2AAAAAl8zBAAAABF1c2VyVW52b3RlZEFjdHVhbAMJAAAAAAAAAgUAAAARdXNlclVudm90ZWRQZXJpb2QFAAAAEGN1cnJWb3RpbmdQZXJpb2QFAAAAC3VzZXJVbnZvdGVkAAAAAAAAAAAACQAFFAAAAAIFAAAAEXVzZXJUb3RhbFZvdGVTV09QBQAAABF1c2VyVW52b3RlZEFjdHVhbAEAAAAXZ2V0VXNlclZvdGVPcHRpb25BbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAF2tleVVzZXJWb3RlT3B0aW9uQW1vdW50AAAAAAAAAAAAAQAAABRnZXRWb3RpbmdTdGFydEhlaWdodAAAAAEAAAAIdm90ZU5hbWUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAUa2V5Vm90aW5nU3RhcnRIZWlnaHQAAAAAAAAAAAABAAAAE2dldFBvb2xVcGRhdGVIZWlnaHQAAAABAAAABHBvb2wJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAARwb29sBQAAABVrZXlIZWlnaHRQb29sRnJhY3Rpb24AAAAAAAAAAAABAAAAGGlzRGVmaW5lUG9vbFVwZGF0ZUhlaWdodAAAAAEAAAAEcG9vbAkBAAAACWlzRGVmaW5lZAAAAAEJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAARwb29sBQAAABVrZXlIZWlnaHRQb29sRnJhY3Rpb24BAAAAEGdldEN1clBvb2xXZWlnaHQAAAABAAAABHBvb2wJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAARwb29sBQAAABxrZXlSZXdhcmRQb29sRnJhY3Rpb25DdXJyZW50AAAAAAAAAAAAAQAAABFnZXRQcmV2UG9vbFdlaWdodAAAAAEAAAAEcG9vbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzAAAAAAAAAAAAAQAAABNnZXRWb3RlT3B0aW9uQW1vdW50AAAAAwAAAAR1c2VyAAAACHZvdGVOYW1lAAAABm9wdGlvbgQAAAAUdXNlclZvdGVPcHRpb25BbW91bnQJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAIdm90ZU5hbWUFAAAABm9wdGlvbgkABCUAAAABBQAAAAR1c2VyBQAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAQAAAAEdXZvYQQAAAAHJG1hdGNoMAUAAAAUdXNlclZvdGVPcHRpb25BbW91bnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAEdXZvYQUAAAAHJG1hdGNoMAUAAAAEdXZvYQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAQAAAAEdXZvYQUAAAAHJG1hdGNoMAAAAAAAAAAAAAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACBQAAAAR1dm9hCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uCQAEJQAAAAEFAAAABHVzZXIFAAAAF2tleVVzZXJWb3RlT3B0aW9uQW1vdW50AQAAAA9nZXRWb3RlRHVyYXRpb24AAAABAAAACHZvdGVOYW1lCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAPa2V5Vm90ZUR1cmF0aW9uCQABLAAAAAIJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAACHZvdGVOYW1lBQAAAA9rZXlWb3RlRHVyYXRpb24BAAAAGGdldFRvdGFsVm90ZU9wdGlvbkFtb3VudAAAAAIAAAAIdm90ZU5hbWUAAAAGb3B0aW9uBAAAABV0b3RhbFZvdGVPcHRpb25BbW91bnQJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAAAZvcHRpb24FAAAAGGtleVRvdGFsVm90ZU9wdGlvbkFtb3VudAQAAAAEdHZvYQQAAAAHJG1hdGNoMAUAAAAVdG90YWxWb3RlT3B0aW9uQW1vdW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAABHR2b2EFAAAAByRtYXRjaDAFAAAABHR2b2EDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAABHR2b2EFAAAAByRtYXRjaDAAAAAAAAAAAAAJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IFAAAABHR2b2EBAAAAFGdldFVzZXJHZXRCYWNrQW1vdW50AAAABAAAAAh2b3RlTmFtZQAAAAZvcHRpb24AAAAEdXNlcgAAABFnZXRCYWNrU1dPUEhlaWdodAQAAAADa2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQIAAAABXwUAAAAGb3B0aW9uAgAAAAFfCQAEJQAAAAEFAAAABHVzZXICAAAAAV8JAAGkAAAAAQUAAAARZ2V0QmFja1NXT1BIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAAA2tleQEAAAAJY2xhaW1DYWxjAAAAAQAAAAZjYWxsZXIEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAskdDA5MzAwOTM4MAkBAAAAE2dldFVzZXJJbnRlcmVzdEluZm8AAAACBQAAAAZjYWxsZXIFAAAADGxhc3RJbnRlcmVzdAQAAAAQdXNlckxhc3RJbnRlcmVzdAgFAAAACyR0MDkzMDA5MzgwAAAAAl8xBAAAAA51c2VyU1dPUExvY2tlZAgFAAAACyR0MDkzMDA5MzgwAAAAAl8yBAAAAAtjbGFpbUFtb3VudAkAAGsAAAADBQAAAA51c2VyU1dPUExvY2tlZAkAAGUAAAACBQAAAAxsYXN0SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0CQAFFAAAAAIFAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAALY2xhaW1BbW91bnQAAAAIAAAAAWkBAAAAB2FpckRyb3AAAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAAskdDA5NjQ3OTcyMgkABRQAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAACXBtdEFtb3VudAgFAAAACyR0MDk2NDc5NzIyAAAAAl8xBAAAAApwbXRBc3NldElkCAUAAAALJHQwOTY0Nzk3MjIAAAACXzIDCQEAAAACIT0AAAACBQAAAApwbXRBc3NldElkBQAAAARTV09QCQAAAgAAAAECAAAAFEluY29ycmVjdCBwbXRBc3NldElkBAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAALaW50ZXJlc3ROZXcJAABkAAAAAgUAAAAMbGFzdEludGVyZXN0CQAAawAAAAMFAAAACXBtdEFtb3VudAUAAAAKc2NhbGVWYWx1ZQUAAAAPdG90YWxTV09QTG9ja2VkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rZXlMYXN0SW50ZXJlc3QFAAAAC2ludGVyZXN0TmV3BQAAAANuaWwAAAABaQEAAAAIbG9ja1NXT1AAAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAA0kdDAxMDE2MDEwMjM1CQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAANJHQwMTAxNjAxMDIzNQAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAADSR0MDEwMTYwMTAyMzUAAAACXzIDCQEAAAACIT0AAAACBQAAAApwbXRBc3NldElkBQAAAARTV09QCQAAAgAAAAECAAAAFEluY29ycmVjdCBwbXRBc3NldElkBAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAANJHQwMTAzNTExMDQzMwkBAAAAE2dldFVzZXJJbnRlcmVzdEluZm8AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAADGxhc3RJbnRlcmVzdAQAAAAQdXNlckxhc3RJbnRlcmVzdAgFAAAADSR0MDEwMzUxMTA0MzMAAAACXzEEAAAADnVzZXJTV09QTG9ja2VkCAUAAAANJHQwMTAzNTExMDQzMwAAAAJfMgQAAAALY2xhaW1BbW91bnQJAABrAAAAAwUAAAAOdXNlclNXT1BMb2NrZWQJAABlAAAAAgUAAAAMbGFzdEludGVyZXN0BQAAABB1c2VyTGFzdEludGVyZXN0BQAAAApzY2FsZVZhbHVlBAAAABF1c2VyU1dPUExvY2tlZE5ldwkAAGQAAAACCQAAZAAAAAIFAAAADnVzZXJTV09QTG9ja2VkBQAAAAlwbXRBbW91bnQFAAAAC2NsYWltQW1vdW50BAAAAA91c2VyTmV3SW50ZXJlc3QFAAAADGxhc3RJbnRlcmVzdAQAAAAPdG90YWxTV09QTG9ja2VkCQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAASdG90YWxTV09QTG9ja2VkTmV3CQAAZAAAAAIJAABkAAAAAgUAAAAPdG90YWxTV09QTG9ja2VkBQAAAAlwbXRBbW91bnQFAAAAC2NsYWltQW1vdW50BAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtleVVzZXJTV09QTG9ja2VkBQAAABF1c2VyU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5VG90YWxTV09QTG9ja2VkBQAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50BQAAAANuaWwAAAABaQEAAAAMd2l0aGRyYXdTV09QAAAAAQAAAA53aXRoZHJhd0Ftb3VudAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAMJAABnAAAAAgAAAAAAAAAAAAUAAAAOd2l0aGRyYXdBbW91bnQJAAACAAAAAQIAAAATd2l0aGRyYXdBbW91bnQgPD0gMAQAAAAPdG90YWxTV09QTG9ja2VkCQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAAOdXNlclNXT1BMb2NrZWQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAANJHQwMTE1ODUxMTY0MAkBAAAACWNsYWltQ2FsYwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPdXNlck5ld0ludGVyZXN0CAUAAAANJHQwMTE1ODUxMTY0MAAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAA0kdDAxMTU4NTExNjQwAAAAAl8yBAAAAA0kdDAxMTY0NTExNzEwCQEAAAAPZ2V0VXNlclZvdGVJbmZvAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA51c2VyVm90ZUFtb3VudAgFAAAADSR0MDExNjQ1MTE3MTAAAAACXzEEAAAAEHVzZXJVbnZvdGVBbW91bnQIBQAAAA0kdDAxMTY0NTExNzEwAAAAAl8yBAAAABh1c2VyVm90ZUFtb3VudEZvck5ld1Bvb2wJAQAAACBnZXRVc2VyVG90YWxWb3RlRm9yTmV3UG9vbEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgMDAwkAAGYAAAACAAAAAAAAAAAABQAAABB1c2VyVW52b3RlQW1vdW50BgkAAGYAAAACAAAAAAAAAAAABQAAAA51c2VyVm90ZUFtb3VudAYJAABmAAAAAgAAAAAAAAAAAAUAAAAYdXNlclZvdGVBbW91bnRGb3JOZXdQb29sCQAAAgAAAAECAAAASnVzZXJVbnZvdGVBbW91bnQgPCAwIHx8IHVzZXJWb3RlQW1vdW50IDwgMCB8fCB1c2VyVm90ZUFtb3VudEZvck5ld1Bvb2wgPCAwBAAAABJhdmFpbGFibGVUb1Vuc3Rha2UJAABlAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQJAAGWAAAAAQkABEwAAAACBQAAABh1c2VyVm90ZUFtb3VudEZvck5ld1Bvb2wJAARMAAAAAgkAAGQAAAACBQAAAA51c2VyVm90ZUFtb3VudAUAAAAQdXNlclVudm90ZUFtb3VudAUAAAADbmlsAwkAAGYAAAACBQAAAA53aXRoZHJhd0Ftb3VudAUAAAASYXZhaWxhYmxlVG9VbnN0YWtlCQAAAgAAAAECAAAAI3dpdGhkcmF3QW1vdW50ID4gYXZhaWxhYmxlVG9VbnN0YWtlBAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABlAAAAAgkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BQAAAA53aXRoZHJhd0Ftb3VudAQAAAARdXNlclNXT1BhbW91bnROZXcJAABlAAAAAgkAAGQAAAACBQAAAA51c2VyU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQFAAAADndpdGhkcmF3QW1vdW50BAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtleVVzZXJTV09QTG9ja2VkBQAAABF1c2VyU1dPUGFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5VG90YWxTV09QTG9ja2VkBQAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAA53aXRoZHJhd0Ftb3VudAUAAAAEU1dPUAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAFpAQAAABRjbGFpbUFuZFdpdGhkcmF3U1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAA0kdDAxMzA4NTEzMTQwCQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAxMzA4NTEzMTQwAAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDEzMDg1MTMxNDAAAAACXzIEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQDCQAAAAAAAAIFAAAAC2NsYWltQW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAGVlvdSBoYXZlIDAgYXZhaWxhYmxlIFNXT1AJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAtjbGFpbUFtb3VudAUAAAAEU1dPUAUAAAADbmlsAAAAAWkBAAAAEWNsYWltQW5kU3Rha2VTV09QAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAAPdG90YWxTV09QTG9ja2VkCQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAAOdXNlclNXT1BMb2NrZWQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAADSR0MDEzOTE5MTM5NzQJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDEzOTE5MTM5NzQAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTM5MTkxMzk3NAAAAAJfMgQAAAARdXNlclNXT1BMb2NrZWROZXcJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABkAAAAAgUAAAAPdG90YWxTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAMJAAAAAAAAAgUAAAALY2xhaW1BbW91bnQAAAAAAAAAAAAJAAACAAAAAQIAAAAZWW91IGhhdmUgMCBhdmFpbGFibGUgU1dPUAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAUAAAADbmlsAAAAAWkBAAAADXVwZGF0ZVdlaWdodHMAAAAEAAAADGN1cnJlbnRQb29scwAAAA5jdXJyZW50UmV3YXJkcwAAABJyZXdhcmRVcGRhdGVIZWlnaHQAAAAKcGFnaW5hdGlvbgMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAALYW1vdW50UG9vbHMAAAAAAAAAAAoEAAAAF3RvdGFsUmV3YXJkVXBkYXRlSGVpZ2h0CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAFWtleVJld2FyZFVwZGF0ZUhlaWdodAAAAAAAAAAAAAMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIFAAAADGFkbWluUHViS2V5MgkABEwAAAACBQAAAAxhZG1pblB1YktleTMJAARMAAAAAgUAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3AJAARMAAAAAgUAAAARYWRtaW5QdWJLZXlXYWxsZXQFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgMJAABmAAAAAgkAAZAAAAABBQAAAAxjdXJyZW50UG9vbHMFAAAAC2Ftb3VudFBvb2xzCQAAAgAAAAEJAAEsAAAAAgIAAAAWTWF4IGFtb3VudCBvZiBwb29sIGlzIAkAAaQAAAABBQAAAAthbW91bnRQb29scwMJAABnAAAAAgUAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAAC1yZXdhcmRVcGRhdGVIZWlnaHQgPD0gdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQDCQAAZwAAAAIFAAAABmhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAAHGhlaWdodCA+PSByZXdhcmRVcGRhdGVIZWlnaHQDCQAAZwAAAAIAAAAAAAAAAAAFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAABgwID49IHJld2FyZFVwZGF0ZUhlaWdodCAKAQAAAANzdW0AAAACAAAAAWEAAAABYgkAAGQAAAACBQAAAAFhBQAAAAFiCgEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAkBAAAAE2dldFBvb2xVcGRhdGVIZWlnaHQAAAABBQAAAARwb29sAwMJAQAAAAEhAAAAAQkBAAAAGGlzRGVmaW5lUG9vbFVwZGF0ZUhlaWdodAAAAAEFAAAABHBvb2wGAwkBAAAAAiE9AAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0CQAAAAAAAAIFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQFAAAAF3RvdGFsUmV3YXJkVXBkYXRlSGVpZ2h0BwQAAAAKcG9vbFJld2FyZAkBAAAAEGdldEN1clBvb2xXZWlnaHQAAAABBQAAAARwb29sCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzBQAAAApwb29sUmV3YXJkBQAAAAthY2N1bXVsYXRlZAQAAAAKcG9vbFJld2FyZAkBAAAAEWdldFByZXZQb29sV2VpZ2h0AAAAAQUAAAAEcG9vbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAAB1rZXlSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwUAAAAKcG9vbFJld2FyZAUAAAALYWNjdW11bGF0ZWQKAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAACXBvb2xJbmRleAkBAAAABXZhbHVlAAAAAQkABE8AAAACBQAAAAxjdXJyZW50UG9vbHMFAAAABHBvb2wEAAAACnBvb2xSZXdhcmQJAAGRAAAAAgUAAAAOY3VycmVudFJld2FyZHMFAAAACXBvb2xJbmRleAMJAABmAAAAAgAAAAAAAAAAAAUAAAAKcG9vbFJld2FyZAkAAAIAAAABAgAAAA5Qb29sUmV3YXJkIDwgMAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABxrZXlSZXdhcmRQb29sRnJhY3Rpb25DdXJyZW50BQAAAApwb29sUmV3YXJkBQAAAAthY2N1bXVsYXRlZAoBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgAAAAthY2N1bXVsYXRlZAAAAARwb29sBAAAAApwb29sSGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAVa2V5SGVpZ2h0UG9vbEZyYWN0aW9uBQAAAApwb29sSGVpZ2h0BQAAAAthY2N1bXVsYXRlZAoBAAAADGdldFN1bVJld2FyZAAAAAIAAAAKY3VyVGVtcFN1bQAAAApwYWdpbmF0aW9uAwkAAAAAAAACBQAAAApwYWdpbmF0aW9uAAAAAAAAAAAAAwkAAGYAAAACBQAAAApjdXJUZW1wU3VtBQAAAA50b3RhbFZvdGVTaGFyZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAEpzdW1SZXdhcmRQcmV2aW91cyA+IHRvdGFsVm90ZVNoYXJlIG9yIHN1bVJld2FyZEN1cnJlbnQgPiB0b3RhbFZvdGVTaGFyZSAtIAkAAaQAAAABBQAAAApwYWdpbmF0aW9uAgAAAAEgCQABpAAAAAEFAAAACmN1clRlbXBTdW0JAAUUAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANa2V5VGVtcEN1clN1bQUAAAAKY3VyVGVtcFN1bQUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAACRrZXlSZXdhcmRVcGRhdGVGaXJzdFBhZ2luYXRpb25IZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAADbmlsAwkAAAAAAAACBQAAAApwYWdpbmF0aW9uAAAAAAAAAAABBAAAABFjdXJUZW1wU3VtRnJvbUtleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA1rZXlUZW1wQ3VyU3VtAAAAAAAAAAAABAAAACZyZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAACRrZXlSZXdhcmRVcGRhdGVGaXJzdFBhZ2luYXRpb25IZWlnaHQAAAAAAAAAAAADCQAAZgAAAAIJAABkAAAAAgUAAAAKY3VyVGVtcFN1bQUAAAARY3VyVGVtcFN1bUZyb21LZXkFAAAADnRvdGFsVm90ZVNoYXJlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAASnN1bVJld2FyZFByZXZpb3VzID4gdG90YWxWb3RlU2hhcmUgb3Igc3VtUmV3YXJkQ3VycmVudCA+IHRvdGFsVm90ZVNoYXJlIC0gCQABpAAAAAEFAAAACnBhZ2luYXRpb24CAAAAASAJAAGkAAAAAQkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQMJAQAAAAIhPQAAAAIFAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAABEY3VycmVudCByZXdhcmRVcGRhdGVIZWlnaHQgIT0gcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAAUUAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANa2V5VGVtcEN1clN1bQkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAIEAAAABmN1clN1bQkAAGQAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADWtleVRlbXBDdXJTdW0AAAAAAAAAAAAFAAAACmN1clRlbXBTdW0EAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAAAAAAAAAAAAAMJAQAAAAIhPQAAAAIFAAAABmN1clN1bQUAAAAOdG90YWxWb3RlU2hhcmUJAAACAAAAAQIAAABJc3VtUmV3YXJkUHJldmlvdXMgIT0gdG90YWxWb3RlU2hhcmUgb3Igc3VtUmV3YXJkQ3VycmVudCAhPSB0b3RhbFZvdGVTaGFyZQMJAQAAAAIhPQAAAAIFAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAABEY3VycmVudCByZXdhcmRVcGRhdGVIZWlnaHQgIT0gcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAAUUAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANa2V5VGVtcEN1clN1bQUAAAAGY3VyU3VtBQAAAANuaWwFAAAAA25pbAkAAAIAAAABAgAAABRJbmNvcnJlY3QgcGFnaW5hdGlvbgQAAAAWcHJldmlvdXNSZXdhcmRFbnRyeU5ldwQAAAAPJGxpc3QxODgzNTE4ODg3BQAAAAxjdXJyZW50UG9vbHMEAAAADyRzaXplMTg4MzUxODg4NwkAAZAAAAABBQAAAA8kbGlzdDE4ODM1MTg4ODcEAAAADyRhY2MwMTg4MzUxODg4NwUAAAADbmlsAwkAAAAAAAACBQAAAA8kc2l6ZTE4ODM1MTg4ODcAAAAAAAAAAAAFAAAADyRhY2MwMTg4MzUxODg4NwQAAAAPJGFjYzExODgzNTE4ODg3CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MwMTg4MzUxODg4NwkAAZEAAAACBQAAAA8kbGlzdDE4ODM1MTg4ODcAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTg4MzUxODg4NwAAAAAAAAAAAQUAAAAPJGFjYzExODgzNTE4ODg3BAAAAA8kYWNjMjE4ODM1MTg4ODcJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzExODgzNTE4ODg3CQABkQAAAAIFAAAADyRsaXN0MTg4MzUxODg4NwAAAAAAAAAAAQMJAAAAAAAAAgUAAAAPJHNpemUxODgzNTE4ODg3AAAAAAAAAAACBQAAAA8kYWNjMjE4ODM1MTg4ODcEAAAADyRhY2MzMTg4MzUxODg4NwkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMjE4ODM1MTg4ODcJAAGRAAAAAgUAAAAPJGxpc3QxODgzNTE4ODg3AAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTE4ODM1MTg4ODcAAAAAAAAAAAMFAAAADyRhY2MzMTg4MzUxODg4NwQAAAAPJGFjYzQxODgzNTE4ODg3CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MzMTg4MzUxODg4NwkAAZEAAAACBQAAAA8kbGlzdDE4ODM1MTg4ODcAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTg4MzUxODg4NwAAAAAAAAAABAUAAAAPJGFjYzQxODgzNTE4ODg3BAAAAA8kYWNjNTE4ODM1MTg4ODcJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzQxODgzNTE4ODg3CQABkQAAAAIFAAAADyRsaXN0MTg4MzUxODg4NwAAAAAAAAAABAMJAAAAAAAAAgUAAAAPJHNpemUxODgzNTE4ODg3AAAAAAAAAAAFBQAAAA8kYWNjNTE4ODM1MTg4ODcEAAAADyRhY2M2MTg4MzUxODg4NwkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNTE4ODM1MTg4ODcJAAGRAAAAAgUAAAAPJGxpc3QxODgzNTE4ODg3AAAAAAAAAAAFAwkAAAAAAAACBQAAAA8kc2l6ZTE4ODM1MTg4ODcAAAAAAAAAAAYFAAAADyRhY2M2MTg4MzUxODg4NwQAAAAPJGFjYzcxODgzNTE4ODg3CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M2MTg4MzUxODg4NwkAAZEAAAACBQAAAA8kbGlzdDE4ODM1MTg4ODcAAAAAAAAAAAYDCQAAAAAAAAIFAAAADyRzaXplMTg4MzUxODg4NwAAAAAAAAAABwUAAAAPJGFjYzcxODgzNTE4ODg3BAAAAA8kYWNjODE4ODM1MTg4ODcJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzcxODgzNTE4ODg3CQABkQAAAAIFAAAADyRsaXN0MTg4MzUxODg4NwAAAAAAAAAABwMJAAAAAAAAAgUAAAAPJHNpemUxODgzNTE4ODg3AAAAAAAAAAAIBQAAAA8kYWNjODE4ODM1MTg4ODcEAAAADyRhY2M5MTg4MzUxODg4NwkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjODE4ODM1MTg4ODcJAAGRAAAAAgUAAAAPJGxpc3QxODgzNTE4ODg3AAAAAAAAAAAIAwkAAAAAAAACBQAAAA8kc2l6ZTE4ODM1MTg4ODcAAAAAAAAAAAkFAAAADyRhY2M5MTg4MzUxODg4NwQAAAAQJGFjYzEwMTg4MzUxODg4NwkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjOTE4ODM1MTg4ODcJAAGRAAAAAgUAAAAPJGxpc3QxODgzNTE4ODg3AAAAAAAAAAAJAwkAAAAAAAACBQAAAA8kc2l6ZTE4ODM1MTg4ODcAAAAAAAAAAAoFAAAAECRhY2MxMDE4ODM1MTg4ODcEAAAAECRhY2MxMTE4ODM1MTg4ODcJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzEwMTg4MzUxODg4NwkAAZEAAAACBQAAAA8kbGlzdDE4ODM1MTg4ODcAAAAAAAAAAAoJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxMAQAAAAVY3VycmVudFJld2FyZEVudHJ5TmV3BAAAAA8kbGlzdDE4OTIwMTg5NzIFAAAADGN1cnJlbnRQb29scwQAAAAPJHNpemUxODkyMDE4OTcyCQABkAAAAAEFAAAADyRsaXN0MTg5MjAxODk3MgQAAAAPJGFjYzAxODkyMDE4OTcyBQAAAANuaWwDCQAAAAAAAAIFAAAADyRzaXplMTg5MjAxODk3MgAAAAAAAAAAAAUAAAAPJGFjYzAxODkyMDE4OTcyBAAAAA8kYWNjMTE4OTIwMTg5NzIJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMDE4OTIwMTg5NzIJAAGRAAAAAgUAAAAPJGxpc3QxODkyMDE4OTcyAAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE4OTIwMTg5NzIAAAAAAAAAAAEFAAAADyRhY2MxMTg5MjAxODk3MgQAAAAPJGFjYzIxODkyMDE4OTcyCQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzExODkyMDE4OTcyCQABkQAAAAIFAAAADyRsaXN0MTg5MjAxODk3MgAAAAAAAAAAAQMJAAAAAAAAAgUAAAAPJHNpemUxODkyMDE4OTcyAAAAAAAAAAACBQAAAA8kYWNjMjE4OTIwMTg5NzIEAAAADyRhY2MzMTg5MjAxODk3MgkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MyMTg5MjAxODk3MgkAAZEAAAACBQAAAA8kbGlzdDE4OTIwMTg5NzIAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMTg5MjAxODk3MgAAAAAAAAAAAwUAAAAPJGFjYzMxODkyMDE4OTcyBAAAAA8kYWNjNDE4OTIwMTg5NzIJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMzE4OTIwMTg5NzIJAAGRAAAAAgUAAAAPJGxpc3QxODkyMDE4OTcyAAAAAAAAAAADAwkAAAAAAAACBQAAAA8kc2l6ZTE4OTIwMTg5NzIAAAAAAAAAAAQFAAAADyRhY2M0MTg5MjAxODk3MgQAAAAPJGFjYzUxODkyMDE4OTcyCQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzQxODkyMDE4OTcyCQABkQAAAAIFAAAADyRsaXN0MTg5MjAxODk3MgAAAAAAAAAABAMJAAAAAAAAAgUAAAAPJHNpemUxODkyMDE4OTcyAAAAAAAAAAAFBQAAAA8kYWNjNTE4OTIwMTg5NzIEAAAADyRhY2M2MTg5MjAxODk3MgkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M1MTg5MjAxODk3MgkAAZEAAAACBQAAAA8kbGlzdDE4OTIwMTg5NzIAAAAAAAAAAAUDCQAAAAAAAAIFAAAADyRzaXplMTg5MjAxODk3MgAAAAAAAAAABgUAAAAPJGFjYzYxODkyMDE4OTcyBAAAAA8kYWNjNzE4OTIwMTg5NzIJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNjE4OTIwMTg5NzIJAAGRAAAAAgUAAAAPJGxpc3QxODkyMDE4OTcyAAAAAAAAAAAGAwkAAAAAAAACBQAAAA8kc2l6ZTE4OTIwMTg5NzIAAAAAAAAAAAcFAAAADyRhY2M3MTg5MjAxODk3MgQAAAAPJGFjYzgxODkyMDE4OTcyCQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzcxODkyMDE4OTcyCQABkQAAAAIFAAAADyRsaXN0MTg5MjAxODk3MgAAAAAAAAAABwMJAAAAAAAAAgUAAAAPJHNpemUxODkyMDE4OTcyAAAAAAAAAAAIBQAAAA8kYWNjODE4OTIwMTg5NzIEAAAADyRhY2M5MTg5MjAxODk3MgkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M4MTg5MjAxODk3MgkAAZEAAAACBQAAAA8kbGlzdDE4OTIwMTg5NzIAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMTg5MjAxODk3MgAAAAAAAAAACQUAAAAPJGFjYzkxODkyMDE4OTcyBAAAABAkYWNjMTAxODkyMDE4OTcyCQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzkxODkyMDE4OTcyCQABkQAAAAIFAAAADyRsaXN0MTg5MjAxODk3MgAAAAAAAAAACQMJAAAAAAAAAgUAAAAPJHNpemUxODkyMDE4OTcyAAAAAAAAAAAKBQAAABAkYWNjMTAxODkyMDE4OTcyBAAAABAkYWNjMTExODkyMDE4OTcyCQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzEwMTg5MjAxODk3MgkAAZEAAAACBQAAAA8kbGlzdDE4OTIwMTg5NzIAAAAAAAAAAAoJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxMAQAAAARaGVpZ2h0RW50cnlOZXdDdXIEAAAADyRsaXN0MTkwMDExOTA0NgUAAAAMY3VycmVudFBvb2xzBAAAAA8kc2l6ZTE5MDAxMTkwNDYJAAGQAAAAAQUAAAAPJGxpc3QxOTAwMTE5MDQ2BAAAAA8kYWNjMDE5MDAxMTkwNDYFAAAAA25pbAMJAAAAAAAAAgUAAAAPJHNpemUxOTAwMTE5MDQ2AAAAAAAAAAAABQAAAA8kYWNjMDE5MDAxMTkwNDYEAAAADyRhY2MxMTkwMDExOTA0NgkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzAxOTAwMTE5MDQ2CQABkQAAAAIFAAAADyRsaXN0MTkwMDExOTA0NgAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxOTAwMTE5MDQ2AAAAAAAAAAABBQAAAA8kYWNjMTE5MDAxMTkwNDYEAAAADyRhY2MyMTkwMDExOTA0NgkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzExOTAwMTE5MDQ2CQABkQAAAAIFAAAADyRsaXN0MTkwMDExOTA0NgAAAAAAAAAAAQMJAAAAAAAAAgUAAAAPJHNpemUxOTAwMTE5MDQ2AAAAAAAAAAACBQAAAA8kYWNjMjE5MDAxMTkwNDYEAAAADyRhY2MzMTkwMDExOTA0NgkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzIxOTAwMTE5MDQ2CQABkQAAAAIFAAAADyRsaXN0MTkwMDExOTA0NgAAAAAAAAAAAgMJAAAAAAAAAgUAAAAPJHNpemUxOTAwMTE5MDQ2AAAAAAAAAAADBQAAAA8kYWNjMzE5MDAxMTkwNDYEAAAADyRhY2M0MTkwMDExOTA0NgkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzMxOTAwMTE5MDQ2CQABkQAAAAIFAAAADyRsaXN0MTkwMDExOTA0NgAAAAAAAAAAAwMJAAAAAAAAAgUAAAAPJHNpemUxOTAwMTE5MDQ2AAAAAAAAAAAEBQAAAA8kYWNjNDE5MDAxMTkwNDYEAAAADyRhY2M1MTkwMDExOTA0NgkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzQxOTAwMTE5MDQ2CQABkQAAAAIFAAAADyRsaXN0MTkwMDExOTA0NgAAAAAAAAAABAMJAAAAAAAAAgUAAAAPJHNpemUxOTAwMTE5MDQ2AAAAAAAAAAAFBQAAAA8kYWNjNTE5MDAxMTkwNDYEAAAADyRhY2M2MTkwMDExOTA0NgkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzUxOTAwMTE5MDQ2CQABkQAAAAIFAAAADyRsaXN0MTkwMDExOTA0NgAAAAAAAAAABQMJAAAAAAAAAgUAAAAPJHNpemUxOTAwMTE5MDQ2AAAAAAAAAAAGBQAAAA8kYWNjNjE5MDAxMTkwNDYEAAAADyRhY2M3MTkwMDExOTA0NgkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzYxOTAwMTE5MDQ2CQABkQAAAAIFAAAADyRsaXN0MTkwMDExOTA0NgAAAAAAAAAABgMJAAAAAAAAAgUAAAAPJHNpemUxOTAwMTE5MDQ2AAAAAAAAAAAHBQAAAA8kYWNjNzE5MDAxMTkwNDYEAAAADyRhY2M4MTkwMDExOTA0NgkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzcxOTAwMTE5MDQ2CQABkQAAAAIFAAAADyRsaXN0MTkwMDExOTA0NgAAAAAAAAAABwMJAAAAAAAAAgUAAAAPJHNpemUxOTAwMTE5MDQ2AAAAAAAAAAAIBQAAAA8kYWNjODE5MDAxMTkwNDYEAAAADyRhY2M5MTkwMDExOTA0NgkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzgxOTAwMTE5MDQ2CQABkQAAAAIFAAAADyRsaXN0MTkwMDExOTA0NgAAAAAAAAAACAMJAAAAAAAAAgUAAAAPJHNpemUxOTAwMTE5MDQ2AAAAAAAAAAAJBQAAAA8kYWNjOTE5MDAxMTkwNDYEAAAAECRhY2MxMDE5MDAxMTkwNDYJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M5MTkwMDExOTA0NgkAAZEAAAACBQAAAA8kbGlzdDE5MDAxMTkwNDYAAAAAAAAAAAkDCQAAAAAAAAIFAAAADyRzaXplMTkwMDExOTA0NgAAAAAAAAAACgUAAAAQJGFjYzEwMTkwMDExOTA0NgQAAAAQJGFjYzExMTkwMDExOTA0NgkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAQJGFjYzEwMTkwMDExOTA0NgkAAZEAAAACBQAAAA8kbGlzdDE5MDAxMTkwNDYAAAAAAAAAAAoJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxMAQAAAAUc3VtUmV3YXJkQ3VycmVudFRlbXAEAAAADyRsaXN0MTkwODAxOTExMgUAAAAOY3VycmVudFJld2FyZHMEAAAADyRzaXplMTkwODAxOTExMgkAAZAAAAABBQAAAA8kbGlzdDE5MDgwMTkxMTIEAAAADyRhY2MwMTkwODAxOTExMgAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxOTA4MDE5MTEyAAAAAAAAAAAABQAAAA8kYWNjMDE5MDgwMTkxMTIEAAAADyRhY2MxMTkwODAxOTExMgkBAAAAA3N1bQAAAAIFAAAADyRhY2MwMTkwODAxOTExMgkAAZEAAAACBQAAAA8kbGlzdDE5MDgwMTkxMTIAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTkwODAxOTExMgAAAAAAAAAAAQUAAAAPJGFjYzExOTA4MDE5MTEyBAAAAA8kYWNjMjE5MDgwMTkxMTIJAQAAAANzdW0AAAACBQAAAA8kYWNjMTE5MDgwMTkxMTIJAAGRAAAAAgUAAAAPJGxpc3QxOTA4MDE5MTEyAAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTE5MDgwMTkxMTIAAAAAAAAAAAIFAAAADyRhY2MyMTkwODAxOTExMgQAAAAPJGFjYzMxOTA4MDE5MTEyCQEAAAADc3VtAAAAAgUAAAAPJGFjYzIxOTA4MDE5MTEyCQABkQAAAAIFAAAADyRsaXN0MTkwODAxOTExMgAAAAAAAAAAAgMJAAAAAAAAAgUAAAAPJHNpemUxOTA4MDE5MTEyAAAAAAAAAAADBQAAAA8kYWNjMzE5MDgwMTkxMTIEAAAADyRhY2M0MTkwODAxOTExMgkBAAAAA3N1bQAAAAIFAAAADyRhY2MzMTkwODAxOTExMgkAAZEAAAACBQAAAA8kbGlzdDE5MDgwMTkxMTIAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTkwODAxOTExMgAAAAAAAAAABAUAAAAPJGFjYzQxOTA4MDE5MTEyBAAAAA8kYWNjNTE5MDgwMTkxMTIJAQAAAANzdW0AAAACBQAAAA8kYWNjNDE5MDgwMTkxMTIJAAGRAAAAAgUAAAAPJGxpc3QxOTA4MDE5MTEyAAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTE5MDgwMTkxMTIAAAAAAAAAAAUFAAAADyRhY2M1MTkwODAxOTExMgQAAAAPJGFjYzYxOTA4MDE5MTEyCQEAAAADc3VtAAAAAgUAAAAPJGFjYzUxOTA4MDE5MTEyCQABkQAAAAIFAAAADyRsaXN0MTkwODAxOTExMgAAAAAAAAAABQMJAAAAAAAAAgUAAAAPJHNpemUxOTA4MDE5MTEyAAAAAAAAAAAGBQAAAA8kYWNjNjE5MDgwMTkxMTIEAAAADyRhY2M3MTkwODAxOTExMgkBAAAAA3N1bQAAAAIFAAAADyRhY2M2MTkwODAxOTExMgkAAZEAAAACBQAAAA8kbGlzdDE5MDgwMTkxMTIAAAAAAAAAAAYDCQAAAAAAAAIFAAAADyRzaXplMTkwODAxOTExMgAAAAAAAAAABwUAAAAPJGFjYzcxOTA4MDE5MTEyBAAAAA8kYWNjODE5MDgwMTkxMTIJAQAAAANzdW0AAAACBQAAAA8kYWNjNzE5MDgwMTkxMTIJAAGRAAAAAgUAAAAPJGxpc3QxOTA4MDE5MTEyAAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTE5MDgwMTkxMTIAAAAAAAAAAAgFAAAADyRhY2M4MTkwODAxOTExMgQAAAAPJGFjYzkxOTA4MDE5MTEyCQEAAAADc3VtAAAAAgUAAAAPJGFjYzgxOTA4MDE5MTEyCQABkQAAAAIFAAAADyRsaXN0MTkwODAxOTExMgAAAAAAAAAACAMJAAAAAAAAAgUAAAAPJHNpemUxOTA4MDE5MTEyAAAAAAAAAAAJBQAAAA8kYWNjOTE5MDgwMTkxMTIEAAAAECRhY2MxMDE5MDgwMTkxMTIJAQAAAANzdW0AAAACBQAAAA8kYWNjOTE5MDgwMTkxMTIJAAGRAAAAAgUAAAAPJGxpc3QxOTA4MDE5MTEyAAAAAAAAAAAJAwkAAAAAAAACBQAAAA8kc2l6ZTE5MDgwMTkxMTIAAAAAAAAAAAoFAAAAECRhY2MxMDE5MDgwMTkxMTIEAAAAECRhY2MxMTE5MDgwMTkxMTIJAQAAAANzdW0AAAACBQAAABAkYWNjMTAxOTA4MDE5MTEyCQABkQAAAAIFAAAADyRsaXN0MTkwODAxOTExMgAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwBAAAAA0kdDAxOTExODE5MjI5CQEAAAAMZ2V0U3VtUmV3YXJkAAAAAgUAAAAUc3VtUmV3YXJkQ3VycmVudFRlbXAFAAAACnBhZ2luYXRpb24EAAAAEHN1bVJld2FyZEN1cnJlbnQIBQAAAA0kdDAxOTExODE5MjI5AAAAAl8xBAAAACZyZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQgFAAAADSR0MDE5MTE4MTkyMjkAAAACXzIEAAAAF3Jld2FyZFVwZGF0ZUhlaWdodEVudHJ5AwkAAAAAAAACBQAAAApwYWdpbmF0aW9uAAAAAAAAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABVrZXlSZXdhcmRVcGRhdGVIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAADbmlsBQAAAANuaWwDCQAAZgAAAAIFAAAABmhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAAG3Jld2FyZFVwZGF0ZUhlaWdodCA8IGhlaWdodAkABE4AAAACCQAETgAAAAIJAAROAAAAAgkABE4AAAACCQAETgAAAAIFAAAAFnByZXZpb3VzUmV3YXJkRW50cnlOZXcFAAAAFWN1cnJlbnRSZXdhcmRFbnRyeU5ldwUAAAARaGVpZ2h0RW50cnlOZXdDdXIFAAAAEHN1bVJld2FyZEN1cnJlbnQFAAAAF3Jld2FyZFVwZGF0ZUhlaWdodEVudHJ5BQAAACZyZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQAAAAFpAQAAAAhzaHV0ZG93bgAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAEJAAEsAAAAAgIAAAAiREFwcCBpcyBhbHJlYWR5IHN1c3BlbmRlZC4gQ2F1c2U6IAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAAAhrZXlDYXVzZQIAAAAadGhlIGNhdXNlIHdhc24ndCBzcGVjaWZpZWQDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzCQAETAAAAAIFAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wBQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24JAQAAAAdzdXNwZW5kAAAAAQIAAAAPUGF1c2VkIGJ5IGFkbWluAAAAAWkBAAAACGFjdGl2YXRlAAAAAAMFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAFkRBcHAgaXMgYWxyZWFkeSBhY3RpdmUDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzCQAETAAAAAIFAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wBQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24JAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAACWtleUFjdGl2ZQYJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAIa2V5Q2F1c2UFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAEmFkbWluUHViS2V5MVNpZ25lZAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAxhZG1pblB1YktleTEAAAAAAAAAAAEAAAAAAAAAAAAEAAAAEmFkbWluUHViS2V5MlNpZ25lZAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAABBQAAAAxhZG1pblB1YktleTIAAAAAAAAAAAEAAAAAAAAAAAAEAAAAEmFkbWluUHViS2V5M1NpZ25lZAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAACBQAAAAxhZG1pblB1YktleTMAAAAAAAAAAAEAAAAAAAAAAAAJAABnAAAAAgkAAGQAAAACCQAAZAAAAAIFAAAAEmFkbWluUHViS2V5MVNpZ25lZAUAAAASYWRtaW5QdWJLZXkyU2lnbmVkBQAAABJhZG1pblB1YktleTNTaWduZWQAAAAAAAAAAAIi/6IL", "height": 1623452, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BwCyTU8o2fdgjjK3JKMsr4fSiwtMS9JMmW5JCTn51zDC Next: 9f7ZjBxc7tEcT2AS5V8PKZpEds1uQkntnWL6BenCTK66 Diff:
OldNewDifferences
188188
189189
190190 func getUserVoteInfo (user) = {
191- let $t063436894 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
191+ let $t063456896 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
192192 then {
193193 let data = split(valueOrErrorMessage(getString(votingLiteContract, (toString(user) + kUserTotalStruc)), "Empty kUserTotalStruc"), "_")
194194 $Tuple3(parseIntValue(data[0]), parseIntValue(data[1]), parseIntValue(data[2]))
197197 let uPoolTotalSWOP = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
198198 $Tuple3(uPoolTotalSWOP, 0, currVotingPeriod)
199199 }
200- let userTotalVoteSWOP = $t063436894._1
201- let userUnvoted = $t063436894._2
202- let userUnvotedPeriod = $t063436894._3
200+ let userTotalVoteSWOP = $t063456896._1
201+ let userUnvoted = $t063456896._2
202+ let userUnvotedPeriod = $t063456896._3
203203 let userUnvotedActual = if ((userUnvotedPeriod == currVotingPeriod))
204204 then userUnvoted
205205 else 0
264264
265265 func claimCalc (caller) = {
266266 let lastInterest = getLastInterestInfo()
267- let $t092989378 = getUserInterestInfo(caller, lastInterest)
268- let userLastInterest = $t092989378._1
269- let userSWOPLocked = $t092989378._2
270- let claimAmount = toInt(fraction(toBigInt(userSWOPLocked), toBigInt((lastInterest - userLastInterest)), toBigInt(scaleValue)))
267+ let $t093009380 = getUserInterestInfo(caller, lastInterest)
268+ let userLastInterest = $t093009380._1
269+ let userSWOPLocked = $t093009380._2
270+ let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
271271 let userNewInterest = lastInterest
272272 $Tuple2(userNewInterest, claimAmount)
273273 }
277277 func airDrop () = if (!(isActive))
278278 then throw("DApp is inactive at this moment")
279279 else {
280- let $t096869761 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
281- let pmtAmount = $t096869761._1
282- let pmtAssetId = $t096869761._2
280+ let $t096479722 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
281+ let pmtAmount = $t096479722._1
282+ let pmtAssetId = $t096479722._2
283283 if ((pmtAssetId != SWOP))
284284 then throw("Incorrect pmtAssetId")
285285 else {
286286 let totalSWOPLocked = getTotalSWOPLocked()
287287 let lastInterest = getLastInterestInfo()
288- let interestNew = (lastInterest + toInt(fraction(toBigInt(pmtAmount), toBigInt(scaleValue), toBigInt(totalSWOPLocked))))
288+ let interestNew = (lastInterest + fraction(pmtAmount, scaleValue, totalSWOPLocked))
289289 [IntegerEntry(keyLastInterest, interestNew)]
290290 }
291291 }
296296 func lockSWOP () = if (!(isActive))
297297 then throw("DApp is inactive at this moment")
298298 else {
299- let $t01024010315 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
300- let pmtAmount = $t01024010315._1
301- let pmtAssetId = $t01024010315._2
299+ let $t01016010235 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
300+ let pmtAmount = $t01016010235._1
301+ let pmtAssetId = $t01016010235._2
302302 if ((pmtAssetId != SWOP))
303303 then throw("Incorrect pmtAssetId")
304304 else {
305305 let lastInterest = getLastInterestInfo()
306- let $t01043110513 = getUserInterestInfo(i.caller, lastInterest)
307- let userLastInterest = $t01043110513._1
308- let userSWOPLocked = $t01043110513._2
309- let claimAmount = toInt(fraction(toBigInt(userSWOPLocked), toBigInt((lastInterest - userLastInterest)), toBigInt(scaleValue)))
306+ let $t01035110433 = getUserInterestInfo(i.caller, lastInterest)
307+ let userLastInterest = $t01035110433._1
308+ let userSWOPLocked = $t01035110433._2
309+ let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
310310 let userSWOPLockedNew = ((userSWOPLocked + pmtAmount) + claimAmount)
311311 let userNewInterest = lastInterest
312312 let totalSWOPLocked = getTotalSWOPLocked()
327327 else {
328328 let totalSWOPLocked = getTotalSWOPLocked()
329329 let userSWOPLocked = getUserSWOPLocked(i.caller)
330- let $t01170611761 = claimCalc(i.caller)
331- let userNewInterest = $t01170611761._1
332- let claimAmount = $t01170611761._2
333- let $t01176611831 = getUserVoteInfo(i.caller)
334- let userVoteAmount = $t01176611831._1
335- let userUnvoteAmount = $t01176611831._2
330+ let $t01158511640 = claimCalc(i.caller)
331+ let userNewInterest = $t01158511640._1
332+ let claimAmount = $t01158511640._2
333+ let $t01164511710 = getUserVoteInfo(i.caller)
334+ let userVoteAmount = $t01164511710._1
335+ let userUnvoteAmount = $t01164511710._2
336336 let userVoteAmountForNewPool = getUserTotalVoteForNewPoolAmount(i.caller)
337337 if (if (if ((0 > userUnvoteAmount))
338338 then true
361361 then throw("DApp is inactive at this moment")
362362 else {
363363 let lastInterest = getLastInterestInfo()
364- let $t01320613261 = claimCalc(i.caller)
365- let userNewInterest = $t01320613261._1
366- let claimAmount = $t01320613261._2
364+ let $t01308513140 = claimCalc(i.caller)
365+ let userNewInterest = $t01308513140._1
366+ let claimAmount = $t01308513140._2
367367 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
368368 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
369369 if ((claimAmount == 0))
380380 let totalSWOPLocked = getTotalSWOPLocked()
381381 let userSWOPLocked = getUserSWOPLocked(i.caller)
382382 let lastInterest = getLastInterestInfo()
383- let $t01404014095 = claimCalc(i.caller)
384- let userNewInterest = $t01404014095._1
385- let claimAmount = $t01404014095._2
383+ let $t01391913974 = claimCalc(i.caller)
384+ let userNewInterest = $t01391913974._1
385+ let claimAmount = $t01391913974._2
386386 let userSWOPLockedNew = (userSWOPLocked + claimAmount)
387387 let totalSWOPLockedNew = (totalSWOPLocked + claimAmount)
388388 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
470470 else throw("Incorrect pagination")
471471
472472 let previousRewardEntryNew = {
473- let $list1895619008 = currentPools
474- let $size1895619008 = size($list1895619008)
475- let $acc01895619008 = nil
476- if (($size1895619008 == 0))
477- then $acc01895619008
473+ let $list1883518887 = currentPools
474+ let $size1883518887 = size($list1883518887)
475+ let $acc01883518887 = nil
476+ if (($size1883518887 == 0))
477+ then $acc01883518887
478478 else {
479- let $acc11895619008 = changePreviousRewardEntry($acc01895619008, $list1895619008[0])
480- if (($size1895619008 == 1))
481- then $acc11895619008
479+ let $acc11883518887 = changePreviousRewardEntry($acc01883518887, $list1883518887[0])
480+ if (($size1883518887 == 1))
481+ then $acc11883518887
482482 else {
483- let $acc21895619008 = changePreviousRewardEntry($acc11895619008, $list1895619008[1])
484- if (($size1895619008 == 2))
485- then $acc21895619008
483+ let $acc21883518887 = changePreviousRewardEntry($acc11883518887, $list1883518887[1])
484+ if (($size1883518887 == 2))
485+ then $acc21883518887
486486 else {
487- let $acc31895619008 = changePreviousRewardEntry($acc21895619008, $list1895619008[2])
488- if (($size1895619008 == 3))
489- then $acc31895619008
487+ let $acc31883518887 = changePreviousRewardEntry($acc21883518887, $list1883518887[2])
488+ if (($size1883518887 == 3))
489+ then $acc31883518887
490490 else {
491- let $acc41895619008 = changePreviousRewardEntry($acc31895619008, $list1895619008[3])
492- if (($size1895619008 == 4))
493- then $acc41895619008
491+ let $acc41883518887 = changePreviousRewardEntry($acc31883518887, $list1883518887[3])
492+ if (($size1883518887 == 4))
493+ then $acc41883518887
494494 else {
495- let $acc51895619008 = changePreviousRewardEntry($acc41895619008, $list1895619008[4])
496- if (($size1895619008 == 5))
497- then $acc51895619008
495+ let $acc51883518887 = changePreviousRewardEntry($acc41883518887, $list1883518887[4])
496+ if (($size1883518887 == 5))
497+ then $acc51883518887
498498 else {
499- let $acc61895619008 = changePreviousRewardEntry($acc51895619008, $list1895619008[5])
500- if (($size1895619008 == 6))
501- then $acc61895619008
499+ let $acc61883518887 = changePreviousRewardEntry($acc51883518887, $list1883518887[5])
500+ if (($size1883518887 == 6))
501+ then $acc61883518887
502502 else {
503- let $acc71895619008 = changePreviousRewardEntry($acc61895619008, $list1895619008[6])
504- if (($size1895619008 == 7))
505- then $acc71895619008
503+ let $acc71883518887 = changePreviousRewardEntry($acc61883518887, $list1883518887[6])
504+ if (($size1883518887 == 7))
505+ then $acc71883518887
506506 else {
507- let $acc81895619008 = changePreviousRewardEntry($acc71895619008, $list1895619008[7])
508- if (($size1895619008 == 8))
509- then $acc81895619008
507+ let $acc81883518887 = changePreviousRewardEntry($acc71883518887, $list1883518887[7])
508+ if (($size1883518887 == 8))
509+ then $acc81883518887
510510 else {
511- let $acc91895619008 = changePreviousRewardEntry($acc81895619008, $list1895619008[8])
512- if (($size1895619008 == 9))
513- then $acc91895619008
511+ let $acc91883518887 = changePreviousRewardEntry($acc81883518887, $list1883518887[8])
512+ if (($size1883518887 == 9))
513+ then $acc91883518887
514514 else {
515- let $acc101895619008 = changePreviousRewardEntry($acc91895619008, $list1895619008[9])
516- if (($size1895619008 == 10))
517- then $acc101895619008
515+ let $acc101883518887 = changePreviousRewardEntry($acc91883518887, $list1883518887[9])
516+ if (($size1883518887 == 10))
517+ then $acc101883518887
518518 else {
519- let $acc111895619008 = changePreviousRewardEntry($acc101895619008, $list1895619008[10])
519+ let $acc111883518887 = changePreviousRewardEntry($acc101883518887, $list1883518887[10])
520520 throw("List size exceed 10")
521521 }
522522 }
531531 }
532532 }
533533 let currentRewardEntryNew = {
534- let $list1904119093 = currentPools
535- let $size1904119093 = size($list1904119093)
536- let $acc01904119093 = nil
537- if (($size1904119093 == 0))
538- then $acc01904119093
534+ let $list1892018972 = currentPools
535+ let $size1892018972 = size($list1892018972)
536+ let $acc01892018972 = nil
537+ if (($size1892018972 == 0))
538+ then $acc01892018972
539539 else {
540- let $acc11904119093 = changeCurrentRewardEntry($acc01904119093, $list1904119093[0])
541- if (($size1904119093 == 1))
542- then $acc11904119093
540+ let $acc11892018972 = changeCurrentRewardEntry($acc01892018972, $list1892018972[0])
541+ if (($size1892018972 == 1))
542+ then $acc11892018972
543543 else {
544- let $acc21904119093 = changeCurrentRewardEntry($acc11904119093, $list1904119093[1])
545- if (($size1904119093 == 2))
546- then $acc21904119093
544+ let $acc21892018972 = changeCurrentRewardEntry($acc11892018972, $list1892018972[1])
545+ if (($size1892018972 == 2))
546+ then $acc21892018972
547547 else {
548- let $acc31904119093 = changeCurrentRewardEntry($acc21904119093, $list1904119093[2])
549- if (($size1904119093 == 3))
550- then $acc31904119093
548+ let $acc31892018972 = changeCurrentRewardEntry($acc21892018972, $list1892018972[2])
549+ if (($size1892018972 == 3))
550+ then $acc31892018972
551551 else {
552- let $acc41904119093 = changeCurrentRewardEntry($acc31904119093, $list1904119093[3])
553- if (($size1904119093 == 4))
554- then $acc41904119093
552+ let $acc41892018972 = changeCurrentRewardEntry($acc31892018972, $list1892018972[3])
553+ if (($size1892018972 == 4))
554+ then $acc41892018972
555555 else {
556- let $acc51904119093 = changeCurrentRewardEntry($acc41904119093, $list1904119093[4])
557- if (($size1904119093 == 5))
558- then $acc51904119093
556+ let $acc51892018972 = changeCurrentRewardEntry($acc41892018972, $list1892018972[4])
557+ if (($size1892018972 == 5))
558+ then $acc51892018972
559559 else {
560- let $acc61904119093 = changeCurrentRewardEntry($acc51904119093, $list1904119093[5])
561- if (($size1904119093 == 6))
562- then $acc61904119093
560+ let $acc61892018972 = changeCurrentRewardEntry($acc51892018972, $list1892018972[5])
561+ if (($size1892018972 == 6))
562+ then $acc61892018972
563563 else {
564- let $acc71904119093 = changeCurrentRewardEntry($acc61904119093, $list1904119093[6])
565- if (($size1904119093 == 7))
566- then $acc71904119093
564+ let $acc71892018972 = changeCurrentRewardEntry($acc61892018972, $list1892018972[6])
565+ if (($size1892018972 == 7))
566+ then $acc71892018972
567567 else {
568- let $acc81904119093 = changeCurrentRewardEntry($acc71904119093, $list1904119093[7])
569- if (($size1904119093 == 8))
570- then $acc81904119093
568+ let $acc81892018972 = changeCurrentRewardEntry($acc71892018972, $list1892018972[7])
569+ if (($size1892018972 == 8))
570+ then $acc81892018972
571571 else {
572- let $acc91904119093 = changeCurrentRewardEntry($acc81904119093, $list1904119093[8])
573- if (($size1904119093 == 9))
574- then $acc91904119093
572+ let $acc91892018972 = changeCurrentRewardEntry($acc81892018972, $list1892018972[8])
573+ if (($size1892018972 == 9))
574+ then $acc91892018972
575575 else {
576- let $acc101904119093 = changeCurrentRewardEntry($acc91904119093, $list1904119093[9])
577- if (($size1904119093 == 10))
578- then $acc101904119093
576+ let $acc101892018972 = changeCurrentRewardEntry($acc91892018972, $list1892018972[9])
577+ if (($size1892018972 == 10))
578+ then $acc101892018972
579579 else {
580- let $acc111904119093 = changeCurrentRewardEntry($acc101904119093, $list1904119093[10])
580+ let $acc111892018972 = changeCurrentRewardEntry($acc101892018972, $list1892018972[10])
581581 throw("List size exceed 10")
582582 }
583583 }
592592 }
593593 }
594594 let heightEntryNewCur = {
595- let $list1912219167 = currentPools
596- let $size1912219167 = size($list1912219167)
597- let $acc01912219167 = nil
598- if (($size1912219167 == 0))
599- then $acc01912219167
595+ let $list1900119046 = currentPools
596+ let $size1900119046 = size($list1900119046)
597+ let $acc01900119046 = nil
598+ if (($size1900119046 == 0))
599+ then $acc01900119046
600600 else {
601- let $acc11912219167 = changeHeightEntry($acc01912219167, $list1912219167[0])
602- if (($size1912219167 == 1))
603- then $acc11912219167
601+ let $acc11900119046 = changeHeightEntry($acc01900119046, $list1900119046[0])
602+ if (($size1900119046 == 1))
603+ then $acc11900119046
604604 else {
605- let $acc21912219167 = changeHeightEntry($acc11912219167, $list1912219167[1])
606- if (($size1912219167 == 2))
607- then $acc21912219167
605+ let $acc21900119046 = changeHeightEntry($acc11900119046, $list1900119046[1])
606+ if (($size1900119046 == 2))
607+ then $acc21900119046
608608 else {
609- let $acc31912219167 = changeHeightEntry($acc21912219167, $list1912219167[2])
610- if (($size1912219167 == 3))
611- then $acc31912219167
609+ let $acc31900119046 = changeHeightEntry($acc21900119046, $list1900119046[2])
610+ if (($size1900119046 == 3))
611+ then $acc31900119046
612612 else {
613- let $acc41912219167 = changeHeightEntry($acc31912219167, $list1912219167[3])
614- if (($size1912219167 == 4))
615- then $acc41912219167
613+ let $acc41900119046 = changeHeightEntry($acc31900119046, $list1900119046[3])
614+ if (($size1900119046 == 4))
615+ then $acc41900119046
616616 else {
617- let $acc51912219167 = changeHeightEntry($acc41912219167, $list1912219167[4])
618- if (($size1912219167 == 5))
619- then $acc51912219167
617+ let $acc51900119046 = changeHeightEntry($acc41900119046, $list1900119046[4])
618+ if (($size1900119046 == 5))
619+ then $acc51900119046
620620 else {
621- let $acc61912219167 = changeHeightEntry($acc51912219167, $list1912219167[5])
622- if (($size1912219167 == 6))
623- then $acc61912219167
621+ let $acc61900119046 = changeHeightEntry($acc51900119046, $list1900119046[5])
622+ if (($size1900119046 == 6))
623+ then $acc61900119046
624624 else {
625- let $acc71912219167 = changeHeightEntry($acc61912219167, $list1912219167[6])
626- if (($size1912219167 == 7))
627- then $acc71912219167
625+ let $acc71900119046 = changeHeightEntry($acc61900119046, $list1900119046[6])
626+ if (($size1900119046 == 7))
627+ then $acc71900119046
628628 else {
629- let $acc81912219167 = changeHeightEntry($acc71912219167, $list1912219167[7])
630- if (($size1912219167 == 8))
631- then $acc81912219167
629+ let $acc81900119046 = changeHeightEntry($acc71900119046, $list1900119046[7])
630+ if (($size1900119046 == 8))
631+ then $acc81900119046
632632 else {
633- let $acc91912219167 = changeHeightEntry($acc81912219167, $list1912219167[8])
634- if (($size1912219167 == 9))
635- then $acc91912219167
633+ let $acc91900119046 = changeHeightEntry($acc81900119046, $list1900119046[8])
634+ if (($size1900119046 == 9))
635+ then $acc91900119046
636636 else {
637- let $acc101912219167 = changeHeightEntry($acc91912219167, $list1912219167[9])
638- if (($size1912219167 == 10))
639- then $acc101912219167
637+ let $acc101900119046 = changeHeightEntry($acc91900119046, $list1900119046[9])
638+ if (($size1900119046 == 10))
639+ then $acc101900119046
640640 else {
641- let $acc111912219167 = changeHeightEntry($acc101912219167, $list1912219167[10])
641+ let $acc111900119046 = changeHeightEntry($acc101900119046, $list1900119046[10])
642642 throw("List size exceed 10")
643643 }
644644 }
653653 }
654654 }
655655 let sumRewardCurrentTemp = {
656- let $list1920119233 = currentRewards
657- let $size1920119233 = size($list1920119233)
658- let $acc01920119233 = 0
659- if (($size1920119233 == 0))
660- then $acc01920119233
656+ let $list1908019112 = currentRewards
657+ let $size1908019112 = size($list1908019112)
658+ let $acc01908019112 = 0
659+ if (($size1908019112 == 0))
660+ then $acc01908019112
661661 else {
662- let $acc11920119233 = sum($acc01920119233, $list1920119233[0])
663- if (($size1920119233 == 1))
664- then $acc11920119233
662+ let $acc11908019112 = sum($acc01908019112, $list1908019112[0])
663+ if (($size1908019112 == 1))
664+ then $acc11908019112
665665 else {
666- let $acc21920119233 = sum($acc11920119233, $list1920119233[1])
667- if (($size1920119233 == 2))
668- then $acc21920119233
666+ let $acc21908019112 = sum($acc11908019112, $list1908019112[1])
667+ if (($size1908019112 == 2))
668+ then $acc21908019112
669669 else {
670- let $acc31920119233 = sum($acc21920119233, $list1920119233[2])
671- if (($size1920119233 == 3))
672- then $acc31920119233
670+ let $acc31908019112 = sum($acc21908019112, $list1908019112[2])
671+ if (($size1908019112 == 3))
672+ then $acc31908019112
673673 else {
674- let $acc41920119233 = sum($acc31920119233, $list1920119233[3])
675- if (($size1920119233 == 4))
676- then $acc41920119233
674+ let $acc41908019112 = sum($acc31908019112, $list1908019112[3])
675+ if (($size1908019112 == 4))
676+ then $acc41908019112
677677 else {
678- let $acc51920119233 = sum($acc41920119233, $list1920119233[4])
679- if (($size1920119233 == 5))
680- then $acc51920119233
678+ let $acc51908019112 = sum($acc41908019112, $list1908019112[4])
679+ if (($size1908019112 == 5))
680+ then $acc51908019112
681681 else {
682- let $acc61920119233 = sum($acc51920119233, $list1920119233[5])
683- if (($size1920119233 == 6))
684- then $acc61920119233
682+ let $acc61908019112 = sum($acc51908019112, $list1908019112[5])
683+ if (($size1908019112 == 6))
684+ then $acc61908019112
685685 else {
686- let $acc71920119233 = sum($acc61920119233, $list1920119233[6])
687- if (($size1920119233 == 7))
688- then $acc71920119233
686+ let $acc71908019112 = sum($acc61908019112, $list1908019112[6])
687+ if (($size1908019112 == 7))
688+ then $acc71908019112
689689 else {
690- let $acc81920119233 = sum($acc71920119233, $list1920119233[7])
691- if (($size1920119233 == 8))
692- then $acc81920119233
690+ let $acc81908019112 = sum($acc71908019112, $list1908019112[7])
691+ if (($size1908019112 == 8))
692+ then $acc81908019112
693693 else {
694- let $acc91920119233 = sum($acc81920119233, $list1920119233[8])
695- if (($size1920119233 == 9))
696- then $acc91920119233
694+ let $acc91908019112 = sum($acc81908019112, $list1908019112[8])
695+ if (($size1908019112 == 9))
696+ then $acc91908019112
697697 else {
698- let $acc101920119233 = sum($acc91920119233, $list1920119233[9])
699- if (($size1920119233 == 10))
700- then $acc101920119233
698+ let $acc101908019112 = sum($acc91908019112, $list1908019112[9])
699+ if (($size1908019112 == 10))
700+ then $acc101908019112
701701 else {
702- let $acc111920119233 = sum($acc101920119233, $list1920119233[10])
702+ let $acc111908019112 = sum($acc101908019112, $list1908019112[10])
703703 throw("List size exceed 10")
704704 }
705705 }
713713 }
714714 }
715715 }
716- let $t01923919350 = getSumReward(sumRewardCurrentTemp, pagination)
717- let sumRewardCurrent = $t01923919350._1
718- let rewardUpdateHeightFirstPaginationEntry = $t01923919350._2
716+ let $t01911819229 = getSumReward(sumRewardCurrentTemp, pagination)
717+ let sumRewardCurrent = $t01911819229._1
718+ let rewardUpdateHeightFirstPaginationEntry = $t01911819229._2
719719 let rewardUpdateHeightEntry = if ((pagination == 2))
720720 then [IntegerEntry(keyRewardUpdateHeight, rewardUpdateHeight)]
721721 else nil
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let adminPubKeyStartStop = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
55
66 let adminPubKeyWallet = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
77
88 let keyActive = "active"
99
1010 let keyCause = "shutdown_cause"
1111
1212 let keyLastInterest = "last_interest"
1313
1414 let keyUserLastInterest = "_last_interest"
1515
1616 let keyUserSWOPLocked = "_SWOP_amount"
1717
1818 let keyUserGetBackHeight = "_getBackHeight"
1919
2020 let keyTotalSWOPLocked = "total_SWOP_amount"
2121
2222 let kUserTotalVoteSWOP = "_user_total_SWOP_vote"
2323
2424 let keyUserVoteOptionAmount = "_SWOP_option_amount"
2525
2626 let keyTotalVoteOptionAmount = "total_SWOP_option_amount"
2727
2828 let keyUserSWOPClaimedAmount = "_SWOP_claimed_amount"
2929
3030 let keyUserSWOPLastClaimedAmount = "_SWOP_last_claimed_amount"
3131
3232 let keyVoteName = "vote_name"
3333
3434 let keyOptionName = "_option_name"
3535
3636 let keyVotingStartHeight = "_startHeight"
3737
3838 let keyVoteDuration = "_vote_duration"
3939
4040 let keyRewardPoolFractionCurrent = "_current_pool_fraction_reward"
4141
4242 let keyRewardPoolFractionPrevious = "_previous_pool_fraction_reward"
4343
4444 let keyHeightPoolFraction = "_pool_reward_update_height"
4545
4646 let keyTotalRewardPerBlockCurrent = "total_reward_per_block_current"
4747
4848 let keyTotalRewardPerBlockPrevious = "total_reward_per_block_previous"
4949
5050 let keyRewardUpdateHeight = "reward_update_height"
5151
5252 let keyRewardUpdateFirstPaginationHeight = "reward_update_height_first_pagination"
5353
5454 let keyNoVotingForNewPool = "_vote_no"
5555
5656 let keyYesVotingForNewPool = "_vote_yes"
5757
5858 let keyAmountOfVotingForNewPool = "max_amount_voting"
5959
6060 let keyStatusOfVotingForNewPool = "_status"
6161
6262 let keyHeightOfPoolVotingForNewPool = "_finish_height"
6363
6464 let activeVoteFirst = "voting_active_cell_1"
6565
6666 let activeVoteSecond = "voting_active_cell_2"
6767
6868 let activeVoteThird = "voting_active_cell_3"
6969
7070 let keyTempCurSum = "sum_reward_current"
7171
7272 let keyAdminPubKey1 = "admin_pub_1"
7373
7474 let keyAdminPubKey2 = "admin_pub_2"
7575
7676 let keyAdminPubKey3 = "admin_pub_3"
7777
7878 let oracle = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
7979
8080 func getAdminPub (keyAdminPub) = match getString(oracle, keyAdminPub) {
8181 case string: String =>
8282 fromBase58String(string)
8383 case nothing =>
8484 throw("Admin public key is empty")
8585 }
8686
8787
8888 let adminPubKey1 = getAdminPub(keyAdminPubKey1)
8989
9090 let adminPubKey2 = getAdminPub(keyAdminPubKey2)
9191
9292 let adminPubKey3 = getAdminPub(keyAdminPubKey3)
9393
9494 let isActive = valueOrElse(getBoolean(this, keyActive), true)
9595
9696 let farmingSWOPAddress = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
9797
9898 let votingLiteContract = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
9999
100100 let votingForNewPool = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
101101
102102 let keySWOPid = "SWOP_id"
103103
104104 let SWOP = fromBase58String(getStringValue(farmingSWOPAddress, keySWOPid))
105105
106106 let scaleValue = 100000000
107107
108108 let totalVoteShare = 10000000000
109109
110110 let kStartHeight = "start_height"
111111
112112 let kBasePeriod = "base_period"
113113
114114 let kPeriodLength = "period_length"
115115
116116 let kUserTotalStruc = "_user_total_struc"
117117
118118 let basePeriod = valueOrErrorMessage(getInteger(votingLiteContract, kBasePeriod), "Empty kBasePeriod at voting contract")
119119
120120 let startHeight = valueOrErrorMessage(getInteger(votingLiteContract, kStartHeight), "Empty kStartHeight at voting contract")
121121
122122 let periodLength = valueOrErrorMessage(getInteger(votingLiteContract, kPeriodLength), "Empty kPeriodLength at voting contract")
123123
124124 let firstActiveVote = valueOrElse(getString(votingForNewPool, activeVoteFirst), "")
125125
126126 let secondActiveVote = valueOrElse(getString(votingForNewPool, activeVoteSecond), "")
127127
128128 let thirdActiveVote = valueOrElse(getString(votingForNewPool, activeVoteThird), "")
129129
130130 let currVotingPeriod = (basePeriod + ((height - startHeight) / periodLength))
131131
132132 func suspend (cause) = [BooleanEntry(keyActive, false), StringEntry(keyCause, cause)]
133133
134134
135135 func throwNotEnoughSWOP () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
136136
137137
138138 func getLastInterestInfo () = {
139139 let lastInterest = valueOrElse(getInteger(this, keyLastInterest), 0)
140140 lastInterest
141141 }
142142
143143
144144 func getUserSWOPLocked (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPLocked)), 0)
145145
146146
147147 func getUserSWOPClaimedAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPClaimedAmount)), 0)
148148
149149
150150 func getUserTotalVoteAmount (user) = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
151151
152152
153153 func getUserInterestInfo (user,lastInterest) = {
154154 let userSWOPAmount = getUserSWOPLocked(user)
155155 let userLastInterest = getInteger(this, (toString(user) + keyUserLastInterest))
156156 let userLastInterestValue = match userLastInterest {
157157 case userLastInterest: Int =>
158158 userLastInterest
159159 case _ =>
160160 lastInterest
161161 }
162162 $Tuple2(userLastInterestValue, userSWOPAmount)
163163 }
164164
165165
166166 func getUserTotalVoteAmountForOnePool (pool,user) = {
167167 let voting = valueOrElse(getInteger(votingForNewPool, pool), -1)
168168 let heightOfVoting = valueOrElse(getInteger(votingForNewPool, (toString(voting) + keyHeightOfPoolVotingForNewPool)), 0)
169169 let statusOfVoting = valueOrElse(getBoolean(votingForNewPool, (toString(voting) + keyStatusOfVotingForNewPool)), true)
170170 let currentHeight = height
171171 if ((0 > voting))
172172 then 0
173173 else if (!(statusOfVoting))
174174 then 0
175175 else if ((heightOfVoting > currentHeight))
176176 then (valueOrElse(getInteger(votingForNewPool, (((toString(user) + "_") + toString(voting)) + keyYesVotingForNewPool)), 0) + valueOrElse(getInteger(votingForNewPool, (((toString(user) + "_") + toString(voting)) + keyNoVotingForNewPool)), 0))
177177 else 0
178178 }
179179
180180
181181 func getUserTotalVoteForNewPoolAmount (user) = {
182182 let listOfVoting = [getUserTotalVoteAmountForOnePool(firstActiveVote, user), getUserTotalVoteAmountForOnePool(secondActiveVote, user), getUserTotalVoteAmountForOnePool(thirdActiveVote, user)]
183183 max(listOfVoting)
184184 }
185185
186186
187187 func getTotalSWOPLocked () = valueOrElse(getInteger(this, keyTotalSWOPLocked), 0)
188188
189189
190190 func getUserVoteInfo (user) = {
191- let $t063436894 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
191+ let $t063456896 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
192192 then {
193193 let data = split(valueOrErrorMessage(getString(votingLiteContract, (toString(user) + kUserTotalStruc)), "Empty kUserTotalStruc"), "_")
194194 $Tuple3(parseIntValue(data[0]), parseIntValue(data[1]), parseIntValue(data[2]))
195195 }
196196 else {
197197 let uPoolTotalSWOP = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
198198 $Tuple3(uPoolTotalSWOP, 0, currVotingPeriod)
199199 }
200- let userTotalVoteSWOP = $t063436894._1
201- let userUnvoted = $t063436894._2
202- let userUnvotedPeriod = $t063436894._3
200+ let userTotalVoteSWOP = $t063456896._1
201+ let userUnvoted = $t063456896._2
202+ let userUnvotedPeriod = $t063456896._3
203203 let userUnvotedActual = if ((userUnvotedPeriod == currVotingPeriod))
204204 then userUnvoted
205205 else 0
206206 $Tuple2(userTotalVoteSWOP, userUnvotedActual)
207207 }
208208
209209
210210 func getUserVoteOptionAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserVoteOptionAmount)), 0)
211211
212212
213213 func getVotingStartHeight (voteName) = valueOrElse(getInteger(this, (voteName + keyVotingStartHeight)), 0)
214214
215215
216216 func getPoolUpdateHeight (pool) = valueOrElse(getInteger(this, (pool + keyHeightPoolFraction)), 0)
217217
218218
219219 func isDefinePoolUpdateHeight (pool) = isDefined(getInteger(this, (pool + keyHeightPoolFraction)))
220220
221221
222222 func getCurPoolWeight (pool) = valueOrElse(getInteger(this, (pool + keyRewardPoolFractionCurrent)), 0)
223223
224224
225225 func getPrevPoolWeight (pool) = valueOrElse(getInteger(this, (pool + keyRewardPoolFractionPrevious)), 0)
226226
227227
228228 func getVoteOptionAmount (user,voteName,option) = {
229229 let userVoteOptionAmount = getInteger(this, (((voteName + option) + toString(user)) + keyUserVoteOptionAmount))
230230 let uvoa = match userVoteOptionAmount {
231231 case uvoa: Int =>
232232 uvoa
233233 case uvoa: Unit =>
234234 0
235235 case _ =>
236236 throw("Match error")
237237 }
238238 valueOrErrorMessage(uvoa, (((("No data on the key: " + voteName) + option) + toString(user)) + keyUserVoteOptionAmount))
239239 }
240240
241241
242242 func getVoteDuration (voteName) = valueOrErrorMessage(getInteger(this, (voteName + keyVoteDuration)), (("No data on the key: " + voteName) + keyVoteDuration))
243243
244244
245245 func getTotalVoteOptionAmount (voteName,option) = {
246246 let totalVoteOptionAmount = getInteger(this, ((voteName + option) + keyTotalVoteOptionAmount))
247247 let tvoa = match totalVoteOptionAmount {
248248 case tvoa: Int =>
249249 tvoa
250250 case tvoa: Unit =>
251251 0
252252 case _ =>
253253 throw("Match error")
254254 }
255255 tvoa
256256 }
257257
258258
259259 func getUserGetBackAmount (voteName,option,user,getBackSWOPHeight) = {
260260 let key = ((((((voteName + "_") + option) + "_") + toString(user)) + "_") + toString(getBackSWOPHeight))
261261 valueOrErrorMessage(getInteger(this, key), ("No data on the key: " + key))
262262 }
263263
264264
265265 func claimCalc (caller) = {
266266 let lastInterest = getLastInterestInfo()
267- let $t092989378 = getUserInterestInfo(caller, lastInterest)
268- let userLastInterest = $t092989378._1
269- let userSWOPLocked = $t092989378._2
270- let claimAmount = toInt(fraction(toBigInt(userSWOPLocked), toBigInt((lastInterest - userLastInterest)), toBigInt(scaleValue)))
267+ let $t093009380 = getUserInterestInfo(caller, lastInterest)
268+ let userLastInterest = $t093009380._1
269+ let userSWOPLocked = $t093009380._2
270+ let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
271271 let userNewInterest = lastInterest
272272 $Tuple2(userNewInterest, claimAmount)
273273 }
274274
275275
276276 @Callable(i)
277277 func airDrop () = if (!(isActive))
278278 then throw("DApp is inactive at this moment")
279279 else {
280- let $t096869761 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
281- let pmtAmount = $t096869761._1
282- let pmtAssetId = $t096869761._2
280+ let $t096479722 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
281+ let pmtAmount = $t096479722._1
282+ let pmtAssetId = $t096479722._2
283283 if ((pmtAssetId != SWOP))
284284 then throw("Incorrect pmtAssetId")
285285 else {
286286 let totalSWOPLocked = getTotalSWOPLocked()
287287 let lastInterest = getLastInterestInfo()
288- let interestNew = (lastInterest + toInt(fraction(toBigInt(pmtAmount), toBigInt(scaleValue), toBigInt(totalSWOPLocked))))
288+ let interestNew = (lastInterest + fraction(pmtAmount, scaleValue, totalSWOPLocked))
289289 [IntegerEntry(keyLastInterest, interestNew)]
290290 }
291291 }
292292
293293
294294
295295 @Callable(i)
296296 func lockSWOP () = if (!(isActive))
297297 then throw("DApp is inactive at this moment")
298298 else {
299- let $t01024010315 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
300- let pmtAmount = $t01024010315._1
301- let pmtAssetId = $t01024010315._2
299+ let $t01016010235 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
300+ let pmtAmount = $t01016010235._1
301+ let pmtAssetId = $t01016010235._2
302302 if ((pmtAssetId != SWOP))
303303 then throw("Incorrect pmtAssetId")
304304 else {
305305 let lastInterest = getLastInterestInfo()
306- let $t01043110513 = getUserInterestInfo(i.caller, lastInterest)
307- let userLastInterest = $t01043110513._1
308- let userSWOPLocked = $t01043110513._2
309- let claimAmount = toInt(fraction(toBigInt(userSWOPLocked), toBigInt((lastInterest - userLastInterest)), toBigInt(scaleValue)))
306+ let $t01035110433 = getUserInterestInfo(i.caller, lastInterest)
307+ let userLastInterest = $t01035110433._1
308+ let userSWOPLocked = $t01035110433._2
309+ let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
310310 let userSWOPLockedNew = ((userSWOPLocked + pmtAmount) + claimAmount)
311311 let userNewInterest = lastInterest
312312 let totalSWOPLocked = getTotalSWOPLocked()
313313 let totalSWOPLockedNew = ((totalSWOPLocked + pmtAmount) + claimAmount)
314314 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
315315 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
316316 [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPLockedNew), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)]
317317 }
318318 }
319319
320320
321321
322322 @Callable(i)
323323 func withdrawSWOP (withdrawAmount) = if (!(isActive))
324324 then throw("DApp is inactive at this moment")
325325 else if ((0 >= withdrawAmount))
326326 then throw("withdrawAmount <= 0")
327327 else {
328328 let totalSWOPLocked = getTotalSWOPLocked()
329329 let userSWOPLocked = getUserSWOPLocked(i.caller)
330- let $t01170611761 = claimCalc(i.caller)
331- let userNewInterest = $t01170611761._1
332- let claimAmount = $t01170611761._2
333- let $t01176611831 = getUserVoteInfo(i.caller)
334- let userVoteAmount = $t01176611831._1
335- let userUnvoteAmount = $t01176611831._2
330+ let $t01158511640 = claimCalc(i.caller)
331+ let userNewInterest = $t01158511640._1
332+ let claimAmount = $t01158511640._2
333+ let $t01164511710 = getUserVoteInfo(i.caller)
334+ let userVoteAmount = $t01164511710._1
335+ let userUnvoteAmount = $t01164511710._2
336336 let userVoteAmountForNewPool = getUserTotalVoteForNewPoolAmount(i.caller)
337337 if (if (if ((0 > userUnvoteAmount))
338338 then true
339339 else (0 > userVoteAmount))
340340 then true
341341 else (0 > userVoteAmountForNewPool))
342342 then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0")
343343 else {
344344 let availableToUnstake = (userSWOPLocked - max([userVoteAmountForNewPool, (userVoteAmount + userUnvoteAmount)]))
345345 if ((withdrawAmount > availableToUnstake))
346346 then throw("withdrawAmount > availableToUnstake")
347347 else {
348348 let totalSWOPLockedNew = ((totalSWOPLocked + claimAmount) - withdrawAmount)
349349 let userSWOPamountNew = ((userSWOPLocked + claimAmount) - withdrawAmount)
350350 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
351351 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
352352 [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPamountNew), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), ScriptTransfer(i.caller, withdrawAmount, SWOP), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)]
353353 }
354354 }
355355 }
356356
357357
358358
359359 @Callable(i)
360360 func claimAndWithdrawSWOP () = if (!(isActive))
361361 then throw("DApp is inactive at this moment")
362362 else {
363363 let lastInterest = getLastInterestInfo()
364- let $t01320613261 = claimCalc(i.caller)
365- let userNewInterest = $t01320613261._1
366- let claimAmount = $t01320613261._2
364+ let $t01308513140 = claimCalc(i.caller)
365+ let userNewInterest = $t01308513140._1
366+ let claimAmount = $t01308513140._2
367367 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
368368 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
369369 if ((claimAmount == 0))
370370 then throw("You have 0 available SWOP")
371371 else [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount), ScriptTransfer(i.caller, claimAmount, SWOP)]
372372 }
373373
374374
375375
376376 @Callable(i)
377377 func claimAndStakeSWOP () = if (!(isActive))
378378 then throw("DApp is inactive at this moment")
379379 else {
380380 let totalSWOPLocked = getTotalSWOPLocked()
381381 let userSWOPLocked = getUserSWOPLocked(i.caller)
382382 let lastInterest = getLastInterestInfo()
383- let $t01404014095 = claimCalc(i.caller)
384- let userNewInterest = $t01404014095._1
385- let claimAmount = $t01404014095._2
383+ let $t01391913974 = claimCalc(i.caller)
384+ let userNewInterest = $t01391913974._1
385+ let claimAmount = $t01391913974._2
386386 let userSWOPLockedNew = (userSWOPLocked + claimAmount)
387387 let totalSWOPLockedNew = (totalSWOPLocked + claimAmount)
388388 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
389389 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
390390 if ((claimAmount == 0))
391391 then throw("You have 0 available SWOP")
392392 else [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)]
393393 }
394394
395395
396396
397397 @Callable(i)
398398 func updateWeights (currentPools,currentRewards,rewardUpdateHeight,pagination) = if (!(isActive))
399399 then throw("DApp is inactive at this moment")
400400 else {
401401 let amountPools = 10
402402 let totalRewardUpdateHeight = valueOrElse(getInteger(this, keyRewardUpdateHeight), 0)
403403 if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop, adminPubKeyWallet], i.callerPublicKey)))
404404 then throw("Only admin can call this function")
405405 else if ((size(currentPools) > amountPools))
406406 then throw(("Max amount of pool is " + toString(amountPools)))
407407 else if ((totalRewardUpdateHeight >= rewardUpdateHeight))
408408 then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
409409 else if ((height >= rewardUpdateHeight))
410410 then throw("height >= rewardUpdateHeight")
411411 else if ((0 >= rewardUpdateHeight))
412412 then throw("0 >= rewardUpdateHeight ")
413413 else {
414414 func sum (a,b) = (a + b)
415415
416416 func changePreviousRewardEntry (accumulated,pool) = {
417417 let poolRewardUpdateHeight = getPoolUpdateHeight(pool)
418418 if (if (!(isDefinePoolUpdateHeight(pool)))
419419 then true
420420 else if ((rewardUpdateHeight != poolRewardUpdateHeight))
421421 then (poolRewardUpdateHeight == totalRewardUpdateHeight)
422422 else false)
423423 then {
424424 let poolReward = getCurPoolWeight(pool)
425425 IntegerEntry((pool + keyRewardPoolFractionPrevious), poolReward) :: accumulated
426426 }
427427 else {
428428 let poolReward = getPrevPoolWeight(pool)
429429 IntegerEntry((pool + keyRewardPoolFractionPrevious), poolReward) :: accumulated
430430 }
431431 }
432432
433433 func changeCurrentRewardEntry (accumulated,pool) = {
434434 let poolIndex = value(indexOf(currentPools, pool))
435435 let poolReward = currentRewards[poolIndex]
436436 if ((0 > poolReward))
437437 then throw("PoolReward < 0")
438438 else IntegerEntry((pool + keyRewardPoolFractionCurrent), poolReward) :: accumulated
439439 }
440440
441441 func changeHeightEntry (accumulated,pool) = {
442442 let poolHeight = rewardUpdateHeight
443443 IntegerEntry((pool + keyHeightPoolFraction), poolHeight) :: accumulated
444444 }
445445
446446 func getSumReward (curTempSum,pagination) = if ((pagination == 0))
447447 then if ((curTempSum > totalVoteShare))
448448 then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString(curTempSum)))
449449 else $Tuple2([IntegerEntry(keyTempCurSum, curTempSum)], [IntegerEntry(keyRewardUpdateFirstPaginationHeight, rewardUpdateHeight)])
450450 else if ((pagination == 1))
451451 then {
452452 let curTempSumFromKey = valueOrElse(getInteger(this, keyTempCurSum), 0)
453453 let rewardUpdateHeightFirstPaginationEntry = valueOrElse(getInteger(this, keyRewardUpdateFirstPaginationHeight), 0)
454454 if (((curTempSum + curTempSumFromKey) > totalVoteShare))
455455 then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString((curTempSum + curTempSumFromKey))))
456456 else if ((rewardUpdateHeightFirstPaginationEntry != rewardUpdateHeight))
457457 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
458458 else $Tuple2([IntegerEntry(keyTempCurSum, (curTempSum + curTempSumFromKey))], nil)
459459 }
460460 else if ((pagination == 2))
461461 then {
462462 let curSum = (valueOrElse(getInteger(this, keyTempCurSum), 0) + curTempSum)
463463 let rewardUpdateHeightFirstPaginationEntry = valueOrElse(getInteger(this, keyRewardUpdateFirstPaginationHeight), 0)
464464 if ((curSum != totalVoteShare))
465465 then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
466466 else if ((rewardUpdateHeightFirstPaginationEntry != rewardUpdateHeight))
467467 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
468468 else $Tuple2([IntegerEntry(keyTempCurSum, curSum)], nil)
469469 }
470470 else throw("Incorrect pagination")
471471
472472 let previousRewardEntryNew = {
473- let $list1895619008 = currentPools
474- let $size1895619008 = size($list1895619008)
475- let $acc01895619008 = nil
476- if (($size1895619008 == 0))
477- then $acc01895619008
473+ let $list1883518887 = currentPools
474+ let $size1883518887 = size($list1883518887)
475+ let $acc01883518887 = nil
476+ if (($size1883518887 == 0))
477+ then $acc01883518887
478478 else {
479- let $acc11895619008 = changePreviousRewardEntry($acc01895619008, $list1895619008[0])
480- if (($size1895619008 == 1))
481- then $acc11895619008
479+ let $acc11883518887 = changePreviousRewardEntry($acc01883518887, $list1883518887[0])
480+ if (($size1883518887 == 1))
481+ then $acc11883518887
482482 else {
483- let $acc21895619008 = changePreviousRewardEntry($acc11895619008, $list1895619008[1])
484- if (($size1895619008 == 2))
485- then $acc21895619008
483+ let $acc21883518887 = changePreviousRewardEntry($acc11883518887, $list1883518887[1])
484+ if (($size1883518887 == 2))
485+ then $acc21883518887
486486 else {
487- let $acc31895619008 = changePreviousRewardEntry($acc21895619008, $list1895619008[2])
488- if (($size1895619008 == 3))
489- then $acc31895619008
487+ let $acc31883518887 = changePreviousRewardEntry($acc21883518887, $list1883518887[2])
488+ if (($size1883518887 == 3))
489+ then $acc31883518887
490490 else {
491- let $acc41895619008 = changePreviousRewardEntry($acc31895619008, $list1895619008[3])
492- if (($size1895619008 == 4))
493- then $acc41895619008
491+ let $acc41883518887 = changePreviousRewardEntry($acc31883518887, $list1883518887[3])
492+ if (($size1883518887 == 4))
493+ then $acc41883518887
494494 else {
495- let $acc51895619008 = changePreviousRewardEntry($acc41895619008, $list1895619008[4])
496- if (($size1895619008 == 5))
497- then $acc51895619008
495+ let $acc51883518887 = changePreviousRewardEntry($acc41883518887, $list1883518887[4])
496+ if (($size1883518887 == 5))
497+ then $acc51883518887
498498 else {
499- let $acc61895619008 = changePreviousRewardEntry($acc51895619008, $list1895619008[5])
500- if (($size1895619008 == 6))
501- then $acc61895619008
499+ let $acc61883518887 = changePreviousRewardEntry($acc51883518887, $list1883518887[5])
500+ if (($size1883518887 == 6))
501+ then $acc61883518887
502502 else {
503- let $acc71895619008 = changePreviousRewardEntry($acc61895619008, $list1895619008[6])
504- if (($size1895619008 == 7))
505- then $acc71895619008
503+ let $acc71883518887 = changePreviousRewardEntry($acc61883518887, $list1883518887[6])
504+ if (($size1883518887 == 7))
505+ then $acc71883518887
506506 else {
507- let $acc81895619008 = changePreviousRewardEntry($acc71895619008, $list1895619008[7])
508- if (($size1895619008 == 8))
509- then $acc81895619008
507+ let $acc81883518887 = changePreviousRewardEntry($acc71883518887, $list1883518887[7])
508+ if (($size1883518887 == 8))
509+ then $acc81883518887
510510 else {
511- let $acc91895619008 = changePreviousRewardEntry($acc81895619008, $list1895619008[8])
512- if (($size1895619008 == 9))
513- then $acc91895619008
511+ let $acc91883518887 = changePreviousRewardEntry($acc81883518887, $list1883518887[8])
512+ if (($size1883518887 == 9))
513+ then $acc91883518887
514514 else {
515- let $acc101895619008 = changePreviousRewardEntry($acc91895619008, $list1895619008[9])
516- if (($size1895619008 == 10))
517- then $acc101895619008
515+ let $acc101883518887 = changePreviousRewardEntry($acc91883518887, $list1883518887[9])
516+ if (($size1883518887 == 10))
517+ then $acc101883518887
518518 else {
519- let $acc111895619008 = changePreviousRewardEntry($acc101895619008, $list1895619008[10])
519+ let $acc111883518887 = changePreviousRewardEntry($acc101883518887, $list1883518887[10])
520520 throw("List size exceed 10")
521521 }
522522 }
523523 }
524524 }
525525 }
526526 }
527527 }
528528 }
529529 }
530530 }
531531 }
532532 }
533533 let currentRewardEntryNew = {
534- let $list1904119093 = currentPools
535- let $size1904119093 = size($list1904119093)
536- let $acc01904119093 = nil
537- if (($size1904119093 == 0))
538- then $acc01904119093
534+ let $list1892018972 = currentPools
535+ let $size1892018972 = size($list1892018972)
536+ let $acc01892018972 = nil
537+ if (($size1892018972 == 0))
538+ then $acc01892018972
539539 else {
540- let $acc11904119093 = changeCurrentRewardEntry($acc01904119093, $list1904119093[0])
541- if (($size1904119093 == 1))
542- then $acc11904119093
540+ let $acc11892018972 = changeCurrentRewardEntry($acc01892018972, $list1892018972[0])
541+ if (($size1892018972 == 1))
542+ then $acc11892018972
543543 else {
544- let $acc21904119093 = changeCurrentRewardEntry($acc11904119093, $list1904119093[1])
545- if (($size1904119093 == 2))
546- then $acc21904119093
544+ let $acc21892018972 = changeCurrentRewardEntry($acc11892018972, $list1892018972[1])
545+ if (($size1892018972 == 2))
546+ then $acc21892018972
547547 else {
548- let $acc31904119093 = changeCurrentRewardEntry($acc21904119093, $list1904119093[2])
549- if (($size1904119093 == 3))
550- then $acc31904119093
548+ let $acc31892018972 = changeCurrentRewardEntry($acc21892018972, $list1892018972[2])
549+ if (($size1892018972 == 3))
550+ then $acc31892018972
551551 else {
552- let $acc41904119093 = changeCurrentRewardEntry($acc31904119093, $list1904119093[3])
553- if (($size1904119093 == 4))
554- then $acc41904119093
552+ let $acc41892018972 = changeCurrentRewardEntry($acc31892018972, $list1892018972[3])
553+ if (($size1892018972 == 4))
554+ then $acc41892018972
555555 else {
556- let $acc51904119093 = changeCurrentRewardEntry($acc41904119093, $list1904119093[4])
557- if (($size1904119093 == 5))
558- then $acc51904119093
556+ let $acc51892018972 = changeCurrentRewardEntry($acc41892018972, $list1892018972[4])
557+ if (($size1892018972 == 5))
558+ then $acc51892018972
559559 else {
560- let $acc61904119093 = changeCurrentRewardEntry($acc51904119093, $list1904119093[5])
561- if (($size1904119093 == 6))
562- then $acc61904119093
560+ let $acc61892018972 = changeCurrentRewardEntry($acc51892018972, $list1892018972[5])
561+ if (($size1892018972 == 6))
562+ then $acc61892018972
563563 else {
564- let $acc71904119093 = changeCurrentRewardEntry($acc61904119093, $list1904119093[6])
565- if (($size1904119093 == 7))
566- then $acc71904119093
564+ let $acc71892018972 = changeCurrentRewardEntry($acc61892018972, $list1892018972[6])
565+ if (($size1892018972 == 7))
566+ then $acc71892018972
567567 else {
568- let $acc81904119093 = changeCurrentRewardEntry($acc71904119093, $list1904119093[7])
569- if (($size1904119093 == 8))
570- then $acc81904119093
568+ let $acc81892018972 = changeCurrentRewardEntry($acc71892018972, $list1892018972[7])
569+ if (($size1892018972 == 8))
570+ then $acc81892018972
571571 else {
572- let $acc91904119093 = changeCurrentRewardEntry($acc81904119093, $list1904119093[8])
573- if (($size1904119093 == 9))
574- then $acc91904119093
572+ let $acc91892018972 = changeCurrentRewardEntry($acc81892018972, $list1892018972[8])
573+ if (($size1892018972 == 9))
574+ then $acc91892018972
575575 else {
576- let $acc101904119093 = changeCurrentRewardEntry($acc91904119093, $list1904119093[9])
577- if (($size1904119093 == 10))
578- then $acc101904119093
576+ let $acc101892018972 = changeCurrentRewardEntry($acc91892018972, $list1892018972[9])
577+ if (($size1892018972 == 10))
578+ then $acc101892018972
579579 else {
580- let $acc111904119093 = changeCurrentRewardEntry($acc101904119093, $list1904119093[10])
580+ let $acc111892018972 = changeCurrentRewardEntry($acc101892018972, $list1892018972[10])
581581 throw("List size exceed 10")
582582 }
583583 }
584584 }
585585 }
586586 }
587587 }
588588 }
589589 }
590590 }
591591 }
592592 }
593593 }
594594 let heightEntryNewCur = {
595- let $list1912219167 = currentPools
596- let $size1912219167 = size($list1912219167)
597- let $acc01912219167 = nil
598- if (($size1912219167 == 0))
599- then $acc01912219167
595+ let $list1900119046 = currentPools
596+ let $size1900119046 = size($list1900119046)
597+ let $acc01900119046 = nil
598+ if (($size1900119046 == 0))
599+ then $acc01900119046
600600 else {
601- let $acc11912219167 = changeHeightEntry($acc01912219167, $list1912219167[0])
602- if (($size1912219167 == 1))
603- then $acc11912219167
601+ let $acc11900119046 = changeHeightEntry($acc01900119046, $list1900119046[0])
602+ if (($size1900119046 == 1))
603+ then $acc11900119046
604604 else {
605- let $acc21912219167 = changeHeightEntry($acc11912219167, $list1912219167[1])
606- if (($size1912219167 == 2))
607- then $acc21912219167
605+ let $acc21900119046 = changeHeightEntry($acc11900119046, $list1900119046[1])
606+ if (($size1900119046 == 2))
607+ then $acc21900119046
608608 else {
609- let $acc31912219167 = changeHeightEntry($acc21912219167, $list1912219167[2])
610- if (($size1912219167 == 3))
611- then $acc31912219167
609+ let $acc31900119046 = changeHeightEntry($acc21900119046, $list1900119046[2])
610+ if (($size1900119046 == 3))
611+ then $acc31900119046
612612 else {
613- let $acc41912219167 = changeHeightEntry($acc31912219167, $list1912219167[3])
614- if (($size1912219167 == 4))
615- then $acc41912219167
613+ let $acc41900119046 = changeHeightEntry($acc31900119046, $list1900119046[3])
614+ if (($size1900119046 == 4))
615+ then $acc41900119046
616616 else {
617- let $acc51912219167 = changeHeightEntry($acc41912219167, $list1912219167[4])
618- if (($size1912219167 == 5))
619- then $acc51912219167
617+ let $acc51900119046 = changeHeightEntry($acc41900119046, $list1900119046[4])
618+ if (($size1900119046 == 5))
619+ then $acc51900119046
620620 else {
621- let $acc61912219167 = changeHeightEntry($acc51912219167, $list1912219167[5])
622- if (($size1912219167 == 6))
623- then $acc61912219167
621+ let $acc61900119046 = changeHeightEntry($acc51900119046, $list1900119046[5])
622+ if (($size1900119046 == 6))
623+ then $acc61900119046
624624 else {
625- let $acc71912219167 = changeHeightEntry($acc61912219167, $list1912219167[6])
626- if (($size1912219167 == 7))
627- then $acc71912219167
625+ let $acc71900119046 = changeHeightEntry($acc61900119046, $list1900119046[6])
626+ if (($size1900119046 == 7))
627+ then $acc71900119046
628628 else {
629- let $acc81912219167 = changeHeightEntry($acc71912219167, $list1912219167[7])
630- if (($size1912219167 == 8))
631- then $acc81912219167
629+ let $acc81900119046 = changeHeightEntry($acc71900119046, $list1900119046[7])
630+ if (($size1900119046 == 8))
631+ then $acc81900119046
632632 else {
633- let $acc91912219167 = changeHeightEntry($acc81912219167, $list1912219167[8])
634- if (($size1912219167 == 9))
635- then $acc91912219167
633+ let $acc91900119046 = changeHeightEntry($acc81900119046, $list1900119046[8])
634+ if (($size1900119046 == 9))
635+ then $acc91900119046
636636 else {
637- let $acc101912219167 = changeHeightEntry($acc91912219167, $list1912219167[9])
638- if (($size1912219167 == 10))
639- then $acc101912219167
637+ let $acc101900119046 = changeHeightEntry($acc91900119046, $list1900119046[9])
638+ if (($size1900119046 == 10))
639+ then $acc101900119046
640640 else {
641- let $acc111912219167 = changeHeightEntry($acc101912219167, $list1912219167[10])
641+ let $acc111900119046 = changeHeightEntry($acc101900119046, $list1900119046[10])
642642 throw("List size exceed 10")
643643 }
644644 }
645645 }
646646 }
647647 }
648648 }
649649 }
650650 }
651651 }
652652 }
653653 }
654654 }
655655 let sumRewardCurrentTemp = {
656- let $list1920119233 = currentRewards
657- let $size1920119233 = size($list1920119233)
658- let $acc01920119233 = 0
659- if (($size1920119233 == 0))
660- then $acc01920119233
656+ let $list1908019112 = currentRewards
657+ let $size1908019112 = size($list1908019112)
658+ let $acc01908019112 = 0
659+ if (($size1908019112 == 0))
660+ then $acc01908019112
661661 else {
662- let $acc11920119233 = sum($acc01920119233, $list1920119233[0])
663- if (($size1920119233 == 1))
664- then $acc11920119233
662+ let $acc11908019112 = sum($acc01908019112, $list1908019112[0])
663+ if (($size1908019112 == 1))
664+ then $acc11908019112
665665 else {
666- let $acc21920119233 = sum($acc11920119233, $list1920119233[1])
667- if (($size1920119233 == 2))
668- then $acc21920119233
666+ let $acc21908019112 = sum($acc11908019112, $list1908019112[1])
667+ if (($size1908019112 == 2))
668+ then $acc21908019112
669669 else {
670- let $acc31920119233 = sum($acc21920119233, $list1920119233[2])
671- if (($size1920119233 == 3))
672- then $acc31920119233
670+ let $acc31908019112 = sum($acc21908019112, $list1908019112[2])
671+ if (($size1908019112 == 3))
672+ then $acc31908019112
673673 else {
674- let $acc41920119233 = sum($acc31920119233, $list1920119233[3])
675- if (($size1920119233 == 4))
676- then $acc41920119233
674+ let $acc41908019112 = sum($acc31908019112, $list1908019112[3])
675+ if (($size1908019112 == 4))
676+ then $acc41908019112
677677 else {
678- let $acc51920119233 = sum($acc41920119233, $list1920119233[4])
679- if (($size1920119233 == 5))
680- then $acc51920119233
678+ let $acc51908019112 = sum($acc41908019112, $list1908019112[4])
679+ if (($size1908019112 == 5))
680+ then $acc51908019112
681681 else {
682- let $acc61920119233 = sum($acc51920119233, $list1920119233[5])
683- if (($size1920119233 == 6))
684- then $acc61920119233
682+ let $acc61908019112 = sum($acc51908019112, $list1908019112[5])
683+ if (($size1908019112 == 6))
684+ then $acc61908019112
685685 else {
686- let $acc71920119233 = sum($acc61920119233, $list1920119233[6])
687- if (($size1920119233 == 7))
688- then $acc71920119233
686+ let $acc71908019112 = sum($acc61908019112, $list1908019112[6])
687+ if (($size1908019112 == 7))
688+ then $acc71908019112
689689 else {
690- let $acc81920119233 = sum($acc71920119233, $list1920119233[7])
691- if (($size1920119233 == 8))
692- then $acc81920119233
690+ let $acc81908019112 = sum($acc71908019112, $list1908019112[7])
691+ if (($size1908019112 == 8))
692+ then $acc81908019112
693693 else {
694- let $acc91920119233 = sum($acc81920119233, $list1920119233[8])
695- if (($size1920119233 == 9))
696- then $acc91920119233
694+ let $acc91908019112 = sum($acc81908019112, $list1908019112[8])
695+ if (($size1908019112 == 9))
696+ then $acc91908019112
697697 else {
698- let $acc101920119233 = sum($acc91920119233, $list1920119233[9])
699- if (($size1920119233 == 10))
700- then $acc101920119233
698+ let $acc101908019112 = sum($acc91908019112, $list1908019112[9])
699+ if (($size1908019112 == 10))
700+ then $acc101908019112
701701 else {
702- let $acc111920119233 = sum($acc101920119233, $list1920119233[10])
702+ let $acc111908019112 = sum($acc101908019112, $list1908019112[10])
703703 throw("List size exceed 10")
704704 }
705705 }
706706 }
707707 }
708708 }
709709 }
710710 }
711711 }
712712 }
713713 }
714714 }
715715 }
716- let $t01923919350 = getSumReward(sumRewardCurrentTemp, pagination)
717- let sumRewardCurrent = $t01923919350._1
718- let rewardUpdateHeightFirstPaginationEntry = $t01923919350._2
716+ let $t01911819229 = getSumReward(sumRewardCurrentTemp, pagination)
717+ let sumRewardCurrent = $t01911819229._1
718+ let rewardUpdateHeightFirstPaginationEntry = $t01911819229._2
719719 let rewardUpdateHeightEntry = if ((pagination == 2))
720720 then [IntegerEntry(keyRewardUpdateHeight, rewardUpdateHeight)]
721721 else nil
722722 if ((height > rewardUpdateHeight))
723723 then throw("rewardUpdateHeight < height")
724724 else (((((previousRewardEntryNew ++ currentRewardEntryNew) ++ heightEntryNewCur) ++ sumRewardCurrent) ++ rewardUpdateHeightEntry) ++ rewardUpdateHeightFirstPaginationEntry)
725725 }
726726 }
727727
728728
729729
730730 @Callable(i)
731731 func shutdown () = if (!(isActive))
732732 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, keyCause), "the cause wasn't specified")))
733733 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
734734 then throw("Only admin can call this function")
735735 else suspend("Paused by admin")
736736
737737
738738
739739 @Callable(i)
740740 func activate () = if (isActive)
741741 then throw("DApp is already active")
742742 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
743743 then throw("Only admin can call this function")
744744 else [BooleanEntry(keyActive, true), DeleteEntry(keyCause)]
745745
746746
747747 @Verifier(tx)
748748 func verify () = {
749749 let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
750750 then 1
751751 else 0
752752 let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2))
753753 then 1
754754 else 0
755755 let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3))
756756 then 1
757757 else 0
758758 (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2)
759759 }
760760

github/deemru/w8io/169f3d6 
630.34 ms