tx · sqmkUDBCZbMpNBmhcE8cZXs84DFAUBQfe1iiv3tuW5Q

3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU:  -0.01400000 Waves

2021.06.13 12:02 [1568355] smart account 3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU > SELF 0.00000000 Waves

{ "type": 13, "id": "sqmkUDBCZbMpNBmhcE8cZXs84DFAUBQfe1iiv3tuW5Q", "fee": 1400000, "feeAssetId": null, "timestamp": 1623574644108, "version": 2, "chainId": 84, "sender": "3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU", "senderPublicKey": "AWADFmQjf2WbDSqb24S9YZpix3VEdiBdeiJ2J2sSfQ49", "proofs": [ "", "GcyBQDFbvRqP6aW4Vcs7sxiEaafTKM5wcyT8MCpcHFSMeAh7kDZxUCriFb7copFueTp9peHZhVyFX4LVsVXmaAU", "5TioTDrEv7FbtKsJ11sn4cQWZtRgfLAYZJCh49XcHVDhoczJknYdTZbG9u9WS2ULhzECRQRmkH7LyrgeHysthgSv" ], "script": "base64:AAIEAAAAAAAAAB0IAhIAEgASAwoBARIAEgASCAoGGBEYEQEBEgASAAAAAE4AAAAADGFkbWluUHViS2V5MQEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADGFkbWluUHViS2V5MgEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADGFkbWluUHViS2V5MwEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wAQAAACAEz3XlZNDBD05nuR8TZMQaDeqEJEIxfTOQXUBYCp2TSgAAAAARYWRtaW5QdWJLZXlXYWxsZXQBAAAAID53WmVaVsn8KVcztbwNRS3KzKf4hZION3dY82IVUhQSAAAAAAlrZXlBY3RpdmUCAAAABmFjdGl2ZQAAAAAIa2V5Q2F1c2UCAAAADnNodXRkb3duX2NhdXNlAAAAAA9rZXlMYXN0SW50ZXJlc3QCAAAADWxhc3RfaW50ZXJlc3QAAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QCAAAADl9sYXN0X2ludGVyZXN0AAAAABFrZXlVc2VyU1dPUExvY2tlZAIAAAAMX1NXT1BfYW1vdW50AAAAABRrZXlVc2VyR2V0QmFja0hlaWdodAIAAAAOX2dldEJhY2tIZWlnaHQAAAAAEmtleVRvdGFsU1dPUExvY2tlZAIAAAARdG90YWxfU1dPUF9hbW91bnQAAAAAEmtVc2VyVG90YWxWb3RlU1dPUAIAAAAVX3VzZXJfdG90YWxfU1dPUF92b3RlAAAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAIAAAATX1NXT1Bfb3B0aW9uX2Ftb3VudAAAAAAYa2V5VG90YWxWb3RlT3B0aW9uQW1vdW50AgAAABh0b3RhbF9TV09QX29wdGlvbl9hbW91bnQAAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAIAAAAUX1NXT1BfY2xhaW1lZF9hbW91bnQAAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQCAAAAGV9TV09QX2xhc3RfY2xhaW1lZF9hbW91bnQAAAAAC2tleVZvdGVOYW1lAgAAAAl2b3RlX25hbWUAAAAADWtleU9wdGlvbk5hbWUCAAAADF9vcHRpb25fbmFtZQAAAAAUa2V5Vm90aW5nU3RhcnRIZWlnaHQCAAAADF9zdGFydEhlaWdodAAAAAAPa2V5Vm90ZUR1cmF0aW9uAgAAAA5fdm90ZV9kdXJhdGlvbgAAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAIAAAAdX2N1cnJlbnRfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzAgAAAB5fcHJldmlvdXNfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgIAAAAaX3Bvb2xfcmV3YXJkX3VwZGF0ZV9oZWlnaHQAAAAAHWtleVRvdGFsUmV3YXJkUGVyQmxvY2tDdXJyZW50AgAAAB50b3RhbF9yZXdhcmRfcGVyX2Jsb2NrX2N1cnJlbnQAAAAAHmtleVRvdGFsUmV3YXJkUGVyQmxvY2tQcmV2aW91cwIAAAAfdG90YWxfcmV3YXJkX3Blcl9ibG9ja19wcmV2aW91cwAAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AgAAABRyZXdhcmRfdXBkYXRlX2hlaWdodAAAAAAka2V5UmV3YXJkVXBkYXRlRmlyc3RQYWdpbmF0aW9uSGVpZ2h0AgAAACVyZXdhcmRfdXBkYXRlX2hlaWdodF9maXJzdF9wYWdpbmF0aW9uAAAAABVrZXlOb1ZvdGluZ0Zvck5ld1Bvb2wCAAAACF92b3RlX25vAAAAABZrZXlZZXNWb3RpbmdGb3JOZXdQb29sAgAAAAlfdm90ZV95ZXMAAAAAG2tleUFtb3VudE9mVm90aW5nRm9yTmV3UG9vbAIAAAARbWF4X2Ftb3VudF92b3RpbmcAAAAAG2tleVN0YXR1c09mVm90aW5nRm9yTmV3UG9vbAIAAAAHX3N0YXR1cwAAAAAfa2V5SGVpZ2h0T2ZQb29sVm90aW5nRm9yTmV3UG9vbAIAAAAOX2ZpbmlzaF9oZWlnaHQAAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAUdm90aW5nX2FjdGl2ZV9jZWxsXzEAAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8yAAAAAA9hY3RpdmVWb3RlVGhpcmQCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8zAAAAAA5rZXlUZW1wUHJldlN1bQIAAAATc3VtX3Jld2FyZF9wcmV2aW91cwAAAAANa2V5VGVtcEN1clN1bQIAAAASc3VtX3Jld2FyZF9jdXJyZW50AAAAAAhpc0FjdGl2ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUGAAAAABJmYXJtaW5nU1dPUEFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQsS4J2Ro3vGTI9KakEzAv69iHSjreZL2YAAAAAEnZvdGluZ0xpdGVDb250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVBo2ft9Xop0naVz+v/cm1Of7ocNoPiDKfwAAAAAQdm90aW5nRm9yTmV3UG9vbAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVHYh4XkVy3N3fz+gY3RQqyMsWxkYg/NLggAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAARTV09QCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAEmZhcm1pbmdTV09QQWRkcmVzcwUAAAAJa2V5U1dPUGlkAAAAAApzY2FsZVZhbHVlAAAAAAAF9eEAAAAAAA50b3RhbFZvdGVTaGFyZQAAAAACVAvkAAAAAAAMa1N0YXJ0SGVpZ2h0AgAAAAxzdGFydF9oZWlnaHQAAAAAC2tCYXNlUGVyaW9kAgAAAAtiYXNlX3BlcmlvZAAAAAANa1BlcmlvZExlbmd0aAIAAAANcGVyaW9kX2xlbmd0aAAAAAAPa1VzZXJUb3RhbFN0cnVjAgAAABFfdXNlcl90b3RhbF9zdHJ1YwAAAAAKYmFzZVBlcmlvZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAUAAAALa0Jhc2VQZXJpb2QCAAAAJEVtcHR5IGtCYXNlUGVyaW9kIGF0IHZvdGluZyBjb250cmFjdAAAAAALc3RhcnRIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QFAAAADGtTdGFydEhlaWdodAIAAAAlRW1wdHkga1N0YXJ0SGVpZ2h0IGF0IHZvdGluZyBjb250cmFjdAAAAAAMcGVyaW9kTGVuZ3RoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0BQAAAA1rUGVyaW9kTGVuZ3RoAgAAACZFbXB0eSBrUGVyaW9kTGVuZ3RoIGF0IHZvdGluZyBjb250cmFjdAAAAAAPZmlyc3RBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAAAAAAABBzZWNvbmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAAAAAAAAPdGhpcmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVUaGlyZAIAAAAAAAAAABBjdXJyVm90aW5nUGVyaW9kCQAAZAAAAAIFAAAACmJhc2VQZXJpb2QJAABpAAAAAgkAAGUAAAACBQAAAAZoZWlnaHQFAAAAC3N0YXJ0SGVpZ2h0BQAAAAxwZXJpb2RMZW5ndGgBAAAAB3N1c3BlbmQAAAABAAAABWNhdXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACGtleUNhdXNlBQAAAAVjYXVzZQUAAAADbmlsAQAAABJ0aHJvd05vdEVub3VnaFNXT1AAAAAACQAAAgAAAAECAAAARk5vdCBlbm91Z2ggU1dPUDogdXNlclNXT1BMb2NrZWQgLSB1c2VyVG90YWxWb3RlQW1vdW50IDwgdm90ZVNXT1BBbW91bnQBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAPa2V5TGFzdEludGVyZXN0AAAAAAAAAAAABQAAAAxsYXN0SW50ZXJlc3QBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABFrZXlVc2VyU1dPUExvY2tlZAAAAAAAAAAAAAEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQAAAAAAAAAAAABAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAASa1VzZXJUb3RhbFZvdGVTV09QAAAAAAAAAAAAAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgAAAAR1c2VyAAAADGxhc3RJbnRlcmVzdAQAAAAOdXNlclNXT1BBbW91bnQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEFAAAABHVzZXIEAAAAEHVzZXJMYXN0SW50ZXJlc3QJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QEAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQQAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAABB1c2VyTGFzdEludGVyZXN0BQAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBQAAAA51c2VyU1dPUEFtb3VudAEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACAAAABHBvb2wAAAAEdXNlcgQAAAAGdm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAABHBvb2wA//////////8EAAAADmhlaWdodE9mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAH2tleUhlaWdodE9mUG9vbFZvdGluZ0Zvck5ld1Bvb2wAAAAAAAAAAAAEAAAADnN0YXR1c09mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAG2tleVN0YXR1c09mVm90aW5nRm9yTmV3UG9vbAYEAAAADWN1cnJlbnRIZWlnaHQFAAAABmhlaWdodAMJAABmAAAAAgAAAAAAAAAAAAUAAAAGdm90aW5nAAAAAAAAAAAAAwkBAAAAASEAAAABBQAAAA5zdGF0dXNPZlZvdGluZwAAAAAAAAAAAAMJAABmAAAAAgUAAAAOaGVpZ2h0T2ZWb3RpbmcFAAAADWN1cnJlbnRIZWlnaHQJAABkAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABB2b3RpbmdGb3JOZXdQb29sCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXICAAAAAV8JAAGkAAAAAQUAAAAGdm90aW5nBQAAABZrZXlZZXNWb3RpbmdGb3JOZXdQb29sAAAAAAAAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgIAAAABXwkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAFWtleU5vVm90aW5nRm9yTmV3UG9vbAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAgZ2V0VXNlclRvdGFsVm90ZUZvck5ld1Bvb2xBbW91bnQAAAABAAAABHVzZXIEAAAADGxpc3RPZlZvdGluZwkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA9maXJzdEFjdGl2ZVZvdGUFAAAABHVzZXIJAARMAAAAAgkBAAAAIGdldFVzZXJUb3RhbFZvdGVBbW91bnRGb3JPbmVQb29sAAAAAgUAAAAQc2Vjb25kQWN0aXZlVm90ZQUAAAAEdXNlcgkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA90aGlyZEFjdGl2ZVZvdGUFAAAABHVzZXIFAAAAA25pbAkAAZYAAAABBQAAAAxsaXN0T2ZWb3RpbmcBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAASa2V5VG90YWxTV09QTG9ja2VkAAAAAAAAAAAAAQAAAA9nZXRVc2VyVm90ZUluZm8AAAABAAAABHVzZXIEAAAACyR0MDYwNzk2NjMwAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAPa1VzZXJUb3RhbFN0cnVjBAAAAARkYXRhCQAEtQAAAAIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAAA9rVXNlclRvdGFsU3RydWMCAAAAFUVtcHR5IGtVc2VyVG90YWxTdHJ1YwIAAAABXwkABRUAAAADCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEZGF0YQAAAAAAAAAAAAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAABGRhdGEAAAAAAAAAAAEJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAARkYXRhAAAAAAAAAAACBAAAAA51UG9vbFRvdGFsU1dPUAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABJrVXNlclRvdGFsVm90ZVNXT1AAAAAAAAAAAAAJAAUVAAAAAwUAAAAOdVBvb2xUb3RhbFNXT1AAAAAAAAAAAAAFAAAAEGN1cnJWb3RpbmdQZXJpb2QEAAAAEXVzZXJUb3RhbFZvdGVTV09QCAUAAAALJHQwNjA3OTY2MzAAAAACXzEEAAAAC3VzZXJVbnZvdGVkCAUAAAALJHQwNjA3OTY2MzAAAAACXzIEAAAAEXVzZXJVbnZvdGVkUGVyaW9kCAUAAAALJHQwNjA3OTY2MzAAAAACXzMEAAAAEXVzZXJVbnZvdGVkQWN0dWFsAwkAAAAAAAACBQAAABF1c2VyVW52b3RlZFBlcmlvZAUAAAAQY3VyclZvdGluZ1BlcmlvZAUAAAALdXNlclVudm90ZWQAAAAAAAAAAAAJAAUUAAAAAgUAAAARdXNlclRvdGFsVm90ZVNXT1AFAAAAEXVzZXJVbnZvdGVkQWN0dWFsAQAAABdnZXRVc2VyVm90ZU9wdGlvbkFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQAAAAAAAAAAAABAAAAFGdldFZvdGluZ1N0YXJ0SGVpZ2h0AAAAAQAAAAh2b3RlTmFtZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAABRrZXlWb3RpbmdTdGFydEhlaWdodAAAAAAAAAAAAAEAAAATZ2V0UG9vbFVwZGF0ZUhlaWdodAAAAAEAAAAEcG9vbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgAAAAAAAAAAAAEAAAAYaXNEZWZpbmVQb29sVXBkYXRlSGVpZ2h0AAAAAQAAAARwb29sCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgEAAAAQZ2V0Q3VyUG9vbFdlaWdodAAAAAEAAAAEcG9vbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAHGtleVJld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQAAAAAAAAAAAABAAAAE2dldFZvdGVPcHRpb25BbW91bnQAAAADAAAABHVzZXIAAAAIdm90ZU5hbWUAAAAGb3B0aW9uBAAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uCQAEJQAAAAEFAAAABHVzZXIFAAAAF2tleVVzZXJWb3RlT3B0aW9uQW1vdW50BAAAAAR1dm9hBAAAAAckbWF0Y2gwBQAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAR1dm9hBQAAAAckbWF0Y2gwBQAAAAR1dm9hAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAR1dm9hBQAAAAckbWF0Y2gwAAAAAAAAAAAACQAAAgAAAAECAAAAC01hdGNoIGVycm9yCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIFAAAABHV2b2EJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAACHZvdGVOYW1lBQAAAAZvcHRpb24JAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQBAAAAD2dldFZvdGVEdXJhdGlvbgAAAAEAAAAIdm90ZU5hbWUJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAAA9rZXlWb3RlRHVyYXRpb24JAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAIdm90ZU5hbWUFAAAAD2tleVZvdGVEdXJhdGlvbgEAAAAYZ2V0VG90YWxWb3RlT3B0aW9uQW1vdW50AAAAAgAAAAh2b3RlTmFtZQAAAAZvcHRpb24EAAAAFXRvdGFsVm90ZU9wdGlvbkFtb3VudAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAAIdm90ZU5hbWUFAAAABm9wdGlvbgUAAAAYa2V5VG90YWxWb3RlT3B0aW9uQW1vdW50BAAAAAR0dm9hBAAAAAckbWF0Y2gwBQAAABV0b3RhbFZvdGVPcHRpb25BbW91bnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAEdHZvYQUAAAAHJG1hdGNoMAUAAAAEdHZvYQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAQAAAAEdHZvYQUAAAAHJG1hdGNoMAAAAAAAAAAAAAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgUAAAAEdHZvYQEAAAAUZ2V0VXNlckdldEJhY2tBbW91bnQAAAAEAAAACHZvdGVOYW1lAAAABm9wdGlvbgAAAAR1c2VyAAAAEWdldEJhY2tTV09QSGVpZ2h0BAAAAANrZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACHZvdGVOYW1lAgAAAAFfBQAAAAZvcHRpb24CAAAAAV8JAAQlAAAAAQUAAAAEdXNlcgIAAAABXwkAAaQAAAABBQAAABFnZXRCYWNrU1dPUEhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAADa2V5AQAAAAljbGFpbUNhbGMAAAABAAAABmNhbGxlcgQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAACyR0MDg4ODI4OTYyCQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIFAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAALJHQwODg4Mjg5NjIAAAACXzEEAAAADnVzZXJTV09QTG9ja2VkCAUAAAALJHQwODg4Mjg5NjIAAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAADnVzZXJTV09QTG9ja2VkCQAAZQAAAAIFAAAADGxhc3RJbnRlcmVzdAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAKc2NhbGVWYWx1ZQQAAAAPdXNlck5ld0ludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAPdXNlck5ld0ludGVyZXN0BQAAAAtjbGFpbUFtb3VudAAAAAgAAAABaQEAAAAHYWlyRHJvcAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACyR0MDkyMjc5MzAyCQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwOTIyNzkzMDIAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA5MjI3OTMwMgAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAtpbnRlcmVzdE5ldwkAAGQAAAACBQAAAAxsYXN0SW50ZXJlc3QJAABrAAAAAwUAAAAJcG10QW1vdW50BQAAAApzY2FsZVZhbHVlBQAAAA90b3RhbFNXT1BMb2NrZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2tleUxhc3RJbnRlcmVzdAUAAAALaW50ZXJlc3ROZXcFAAAAA25pbAAAAAFpAQAAAAhsb2NrU1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACyR0MDk3NDA5ODE1CQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwOTc0MDk4MTUAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA5NzQwOTgxNQAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAwkdDA5OTMxMTAwMTMJAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAxsYXN0SW50ZXJlc3QEAAAAEHVzZXJMYXN0SW50ZXJlc3QIBQAAAAwkdDA5OTMxMTAwMTMAAAACXzEEAAAADnVzZXJTV09QTG9ja2VkCAUAAAAMJHQwOTkzMTEwMDEzAAAAAl8yBAAAAAtjbGFpbUFtb3VudAkAAGsAAAADBQAAAA51c2VyU1dPUExvY2tlZAkAAGUAAAACBQAAAAxsYXN0SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAAZAAAAAIJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0BAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABkAAAAAgkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAFpAQAAAAx3aXRoZHJhd1NXT1AAAAABAAAADndpdGhkcmF3QW1vdW50AwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50AwkAAGcAAAACAAAAAAAAAAAABQAAAA53aXRoZHJhd0Ftb3VudAkAAAIAAAABAgAAABN3aXRoZHJhd0Ftb3VudCA8PSAwBAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAA51c2VyU1dPUExvY2tlZAkBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA0kdDAxMTE2MzExMjE4CQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAxMTE2MzExMjE4AAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDExMTYzMTEyMTgAAAACXzIEAAAADSR0MDExMjIzMTEyODgJAQAAAA9nZXRVc2VyVm90ZUluZm8AAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADnVzZXJWb3RlQW1vdW50CAUAAAANJHQwMTEyMjMxMTI4OAAAAAJfMQQAAAAQdXNlclVudm90ZUFtb3VudAgFAAAADSR0MDExMjIzMTEyODgAAAACXzIEAAAAGHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbAkBAAAAIGdldFVzZXJUb3RhbFZvdGVGb3JOZXdQb29sQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyAwMDCQAAZgAAAAIAAAAAAAAAAAAFAAAAEHVzZXJVbnZvdGVBbW91bnQGCQAAZgAAAAIAAAAAAAAAAAAFAAAADnVzZXJWb3RlQW1vdW50BgkAAGYAAAACAAAAAAAAAAAABQAAABh1c2VyVm90ZUFtb3VudEZvck5ld1Bvb2wJAAACAAAAAQIAAABKdXNlclVudm90ZUFtb3VudCA8IDAgfHwgdXNlclZvdGVBbW91bnQgPCAwIHx8IHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbCA8IDAEAAAAEmF2YWlsYWJsZVRvVW5zdGFrZQkAAGUAAAACBQAAAA51c2VyU1dPUExvY2tlZAkAAZYAAAABCQAETAAAAAIFAAAAGHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbAkABEwAAAACCQAAZAAAAAIFAAAADnVzZXJWb3RlQW1vdW50BQAAABB1c2VyVW52b3RlQW1vdW50BQAAAANuaWwDCQAAZgAAAAIFAAAADndpdGhkcmF3QW1vdW50BQAAABJhdmFpbGFibGVUb1Vuc3Rha2UJAAACAAAAAQIAAAAjd2l0aGRyYXdBbW91bnQgPiBhdmFpbGFibGVUb1Vuc3Rha2UEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGUAAAACCQAAZAAAAAIFAAAAD3RvdGFsU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQFAAAADndpdGhkcmF3QW1vdW50BAAAABF1c2VyU1dPUGFtb3VudE5ldwkAAGUAAAACCQAAZAAAAAIFAAAADnVzZXJTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAUAAAAOd2l0aGRyYXdBbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QYW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAADndpdGhkcmF3QW1vdW50BQAAAARTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAUAAAADbmlsAAAAAWkBAAAAFGNsYWltQW5kV2l0aGRyYXdTV09QAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAADSR0MDEyNjYzMTI3MTgJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDEyNjYzMTI3MTgAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTI2NjMxMjcxOAAAAAJfMgQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAMJAAAAAAAAAgUAAAALY2xhaW1BbW91bnQAAAAAAAAAAAAJAAACAAAAAQIAAAAZWW91IGhhdmUgMCBhdmFpbGFibGUgU1dPUAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAC2NsYWltQW1vdW50BQAAAARTV09QBQAAAANuaWwAAAABaQEAAAARY2xhaW1BbmRTdGFrZVNXT1AAAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAA51c2VyU1dPUExvY2tlZAkBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAANJHQwMTM0OTcxMzU1MgkBAAAACWNsYWltQ2FsYwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPdXNlck5ld0ludGVyZXN0CAUAAAANJHQwMTM0OTcxMzU1MgAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAA0kdDAxMzQ5NzEzNTUyAAAAAl8yBAAAABF1c2VyU1dPUExvY2tlZE5ldwkAAGQAAAACBQAAAA51c2VyU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50AwkAAAAAAAACBQAAAAtjbGFpbUFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAABlZb3UgaGF2ZSAwIGF2YWlsYWJsZSBTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyU1dPUExvY2tlZAUAAAARdXNlclNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50BQAAAANuaWwAAAABaQEAAAANdXBkYXRlV2VpZ2h0cwAAAAYAAAANcHJldmlvdXNQb29scwAAAA9wcmV2aW91c1Jld2FyZHMAAAAMY3VycmVudFBvb2xzAAAADmN1cnJlbnRSZXdhcmRzAAAAEnJld2FyZFVwZGF0ZUhlaWdodAAAAApwYWdpbmF0aW9uAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAAthbW91bnRQb29scwAAAAAAAAAACgQAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AAAAAAAAAAAAAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAkABEwAAAACBQAAABFhZG1pblB1YktleVdhbGxldAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAwMJAABmAAAAAgkAAZAAAAABBQAAAA1wcmV2aW91c1Bvb2xzBQAAAAthbW91bnRQb29scwYJAABmAAAAAgkAAZAAAAABBQAAAAxjdXJyZW50UG9vbHMFAAAAC2Ftb3VudFBvb2xzCQAAAgAAAAEJAAEsAAAAAgIAAAAWTWF4IGFtb3VudCBvZiBwb29sIGlzIAkAAaQAAAABBQAAAAthbW91bnRQb29scwMJAABnAAAAAgUAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAENyZXdhcmRVcGRhdGVIZWlnaHQgPD0gdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQ7IHJld2FyZFVwZGF0ZUhlaWdodDogCQABpAAAAAEFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAIAAAAbOyB0b3RhbFJld2FyZFVwZGF0ZUhlaWdodDogCQABpAAAAAEFAAAAF3RvdGFsUmV3YXJkVXBkYXRlSGVpZ2h0AwkAAGcAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAABxoZWlnaHQgPj0gcmV3YXJkVXBkYXRlSGVpZ2h0AwkAAGcAAAACAAAAAAAAAAAABQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAAAYMCA+PSByZXdhcmRVcGRhdGVIZWlnaHQgCgEAAAADc3VtAAAAAgAAAAFhAAAAAWIJAABkAAAAAgUAAAABYQUAAAABYgoBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQJAQAAABNnZXRQb29sVXBkYXRlSGVpZ2h0AAAAAQUAAAAEcG9vbAMJAQAAAAEhAAAAAQkBAAAAGGlzRGVmaW5lUG9vbFVwZGF0ZUhlaWdodAAAAAEFAAAABHBvb2wEAAAACnBvb2xSZXdhcmQJAQAAABBnZXRDdXJQb29sV2VpZ2h0AAAAAQUAAAAEcG9vbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAAB1rZXlSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwUAAAAKcG9vbFJld2FyZAUAAAALYWNjdW11bGF0ZWQDCQEAAAACIT0AAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQDCQAAAAAAAAIFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQFAAAAF3RvdGFsUmV3YXJkVXBkYXRlSGVpZ2h0BAAAAApwb29sUmV3YXJkCQEAAAAQZ2V0Q3VyUG9vbFdlaWdodAAAAAEFAAAABHBvb2wJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAda2V5UmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMFAAAACnBvb2xSZXdhcmQFAAAAC2FjY3VtdWxhdGVkBQAAAANuaWwFAAAAA25pbAoBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAJcG9vbEluZGV4CQEAAAAFdmFsdWUAAAABCQAETwAAAAIFAAAADGN1cnJlbnRQb29scwUAAAAEcG9vbAQAAAAKcG9vbFJld2FyZAkAAZEAAAACBQAAAA5jdXJyZW50UmV3YXJkcwUAAAAJcG9vbEluZGV4AwkAAGYAAAACAAAAAAAAAAAABQAAAApwb29sUmV3YXJkCQAAAgAAAAECAAAADlBvb2xSZXdhcmQgPCAwCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAHGtleVJld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQFAAAACnBvb2xSZXdhcmQFAAAAC2FjY3VtdWxhdGVkCgEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAACnBvb2xIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABVrZXlIZWlnaHRQb29sRnJhY3Rpb24FAAAACnBvb2xIZWlnaHQFAAAAC2FjY3VtdWxhdGVkCgEAAAAMZ2V0U3VtUmV3YXJkAAAAAwAAAAtwcmV2VGVtcFN1bQAAAApjdXJUZW1wU3VtAAAACnBhZ2luYXRpb24DCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAADAwkAAGYAAAACBQAAAAtwcmV2VGVtcFN1bQUAAAAOdG90YWxWb3RlU2hhcmUGCQAAZgAAAAIFAAAACmN1clRlbXBTdW0FAAAADnRvdGFsVm90ZVNoYXJlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAElzdW1SZXdhcmRQcmV2aW91cyA+IHRvdGFsVm90ZVNoYXJlIG9yIHN1bVJld2FyZEN1cnJlbnQgPiB0b3RhbFZvdGVTaGFyZTogCQABpAAAAAEFAAAACnBhZ2luYXRpb24CAAAAASAJAAGkAAAAAQUAAAALcHJldlRlbXBTdW0CAAAAASAJAAGkAAAAAQUAAAAKY3VyVGVtcFN1bQkABRUAAAADCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA5rZXlUZW1wUHJldlN1bQUAAAALcHJldlRlbXBTdW0FAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANa2V5VGVtcEN1clN1bQUAAAAKY3VyVGVtcFN1bQUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAACRrZXlSZXdhcmRVcGRhdGVGaXJzdFBhZ2luYXRpb25IZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAADbmlsAwkAAAAAAAACBQAAAApwYWdpbmF0aW9uAAAAAAAAAAABBAAAABJwcmV2VGVtcFN1bUZyb21LZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAOa2V5VGVtcFByZXZTdW0AAAAAAAAAAAAEAAAAEWN1clRlbXBTdW1Gcm9tS2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADWtleVRlbXBDdXJTdW0AAAAAAAAAAAAEAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAAAAAAAAAAAAAMDCQAAZgAAAAIJAABkAAAAAgUAAAALcHJldlRlbXBTdW0FAAAAEnByZXZUZW1wU3VtRnJvbUtleQUAAAAOdG90YWxWb3RlU2hhcmUGCQAAZgAAAAIJAABkAAAAAgUAAAAKY3VyVGVtcFN1bQUAAAARY3VyVGVtcFN1bUZyb21LZXkFAAAADnRvdGFsVm90ZVNoYXJlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAElzdW1SZXdhcmRQcmV2aW91cyA+IHRvdGFsVm90ZVNoYXJlIG9yIHN1bVJld2FyZEN1cnJlbnQgPiB0b3RhbFZvdGVTaGFyZTogCQABpAAAAAEFAAAACnBhZ2luYXRpb24CAAAAASAJAAGkAAAAAQkAAGQAAAACBQAAAAtwcmV2VGVtcFN1bQUAAAAScHJldlRlbXBTdW1Gcm9tS2V5AgAAAAEgCQABpAAAAAEJAABkAAAAAgUAAAAKY3VyVGVtcFN1bQUAAAARY3VyVGVtcFN1bUZyb21LZXkDCQEAAAACIT0AAAACBQAAACZyZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAWmN1cnJlbnQgcmV3YXJkVXBkYXRlSGVpZ2h0ICE9IHJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5OyByZXdhcmRVcGRhdGVIZWlnaHQ6IAkAAaQAAAABBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQCAAAAKSByZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeTogCQABpAAAAAEFAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CQAFFQAAAAMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADmtleVRlbXBQcmV2U3VtCQAAZAAAAAIFAAAAC3ByZXZUZW1wU3VtBQAAABJwcmV2VGVtcFN1bUZyb21LZXkFAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANa2V5VGVtcEN1clN1bQkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAIEAAAAB3ByZXZTdW0JAABkAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA5rZXlUZW1wUHJldlN1bQAAAAAAAAAAAAUAAAALcHJldlRlbXBTdW0EAAAABmN1clN1bQkAAGQAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADWtleVRlbXBDdXJTdW0AAAAAAAAAAAAFAAAACmN1clRlbXBTdW0EAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAAAAAAAAAAAAAMDCQEAAAACIT0AAAACBQAAAAdwcmV2U3VtBQAAAA50b3RhbFZvdGVTaGFyZQYJAQAAAAIhPQAAAAIFAAAABmN1clN1bQUAAAAOdG90YWxWb3RlU2hhcmUJAAACAAAAAQIAAABJc3VtUmV3YXJkUHJldmlvdXMgIT0gdG90YWxWb3RlU2hhcmUgb3Igc3VtUmV3YXJkQ3VycmVudCAhPSB0b3RhbFZvdGVTaGFyZQMJAQAAAAIhPQAAAAIFAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAABEY3VycmVudCByZXdhcmRVcGRhdGVIZWlnaHQgIT0gcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAAUVAAAAAwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOa2V5VGVtcFByZXZTdW0FAAAAB3ByZXZTdW0FAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANa2V5VGVtcEN1clN1bQUAAAAGY3VyU3VtBQAAAANuaWwFAAAAA25pbAkAAAIAAAABCQABLAAAAAICAAAAFkluY29ycmVjdCBwYWdpbmF0aW9uOiAJAAGkAAAAAQUAAAAKcGFnaW5hdGlvbgQAAAAVc3VtUmV3YXJkUHJldmlvdXNUZW1wBAAAAA8kbGlzdDE5NDU5MTk0OTIFAAAAD3ByZXZpb3VzUmV3YXJkcwQAAAAPJHNpemUxOTQ1OTE5NDkyCQABkAAAAAEFAAAADyRsaXN0MTk0NTkxOTQ5MgQAAAAPJGFjYzAxOTQ1OTE5NDkyAAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE5NDU5MTk0OTIAAAAAAAAAAAAFAAAADyRhY2MwMTk0NTkxOTQ5MgQAAAAPJGFjYzExOTQ1OTE5NDkyCQEAAAADc3VtAAAAAgUAAAAPJGFjYzAxOTQ1OTE5NDkyCQABkQAAAAIFAAAADyRsaXN0MTk0NTkxOTQ5MgAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxOTQ1OTE5NDkyAAAAAAAAAAABBQAAAA8kYWNjMTE5NDU5MTk0OTIEAAAADyRhY2MyMTk0NTkxOTQ5MgkBAAAAA3N1bQAAAAIFAAAADyRhY2MxMTk0NTkxOTQ5MgkAAZEAAAACBQAAAA8kbGlzdDE5NDU5MTk0OTIAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTk0NTkxOTQ5MgAAAAAAAAAAAgUAAAAPJGFjYzIxOTQ1OTE5NDkyBAAAAA8kYWNjMzE5NDU5MTk0OTIJAQAAAANzdW0AAAACBQAAAA8kYWNjMjE5NDU5MTk0OTIJAAGRAAAAAgUAAAAPJGxpc3QxOTQ1OTE5NDkyAAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTE5NDU5MTk0OTIAAAAAAAAAAAMFAAAADyRhY2MzMTk0NTkxOTQ5MgQAAAAPJGFjYzQxOTQ1OTE5NDkyCQEAAAADc3VtAAAAAgUAAAAPJGFjYzMxOTQ1OTE5NDkyCQABkQAAAAIFAAAADyRsaXN0MTk0NTkxOTQ5MgAAAAAAAAAAAwMJAAAAAAAAAgUAAAAPJHNpemUxOTQ1OTE5NDkyAAAAAAAAAAAEBQAAAA8kYWNjNDE5NDU5MTk0OTIEAAAADyRhY2M1MTk0NTkxOTQ5MgkBAAAAA3N1bQAAAAIFAAAADyRhY2M0MTk0NTkxOTQ5MgkAAZEAAAACBQAAAA8kbGlzdDE5NDU5MTk0OTIAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTk0NTkxOTQ5MgAAAAAAAAAABQUAAAAPJGFjYzUxOTQ1OTE5NDkyBAAAAA8kYWNjNjE5NDU5MTk0OTIJAQAAAANzdW0AAAACBQAAAA8kYWNjNTE5NDU5MTk0OTIJAAGRAAAAAgUAAAAPJGxpc3QxOTQ1OTE5NDkyAAAAAAAAAAAFAwkAAAAAAAACBQAAAA8kc2l6ZTE5NDU5MTk0OTIAAAAAAAAAAAYFAAAADyRhY2M2MTk0NTkxOTQ5MgQAAAAPJGFjYzcxOTQ1OTE5NDkyCQEAAAADc3VtAAAAAgUAAAAPJGFjYzYxOTQ1OTE5NDkyCQABkQAAAAIFAAAADyRsaXN0MTk0NTkxOTQ5MgAAAAAAAAAABgMJAAAAAAAAAgUAAAAPJHNpemUxOTQ1OTE5NDkyAAAAAAAAAAAHBQAAAA8kYWNjNzE5NDU5MTk0OTIEAAAADyRhY2M4MTk0NTkxOTQ5MgkBAAAAA3N1bQAAAAIFAAAADyRhY2M3MTk0NTkxOTQ5MgkAAZEAAAACBQAAAA8kbGlzdDE5NDU5MTk0OTIAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTk0NTkxOTQ5MgAAAAAAAAAACAUAAAAPJGFjYzgxOTQ1OTE5NDkyBAAAAA8kYWNjOTE5NDU5MTk0OTIJAQAAAANzdW0AAAACBQAAAA8kYWNjODE5NDU5MTk0OTIJAAGRAAAAAgUAAAAPJGxpc3QxOTQ1OTE5NDkyAAAAAAAAAAAIAwkAAAAAAAACBQAAAA8kc2l6ZTE5NDU5MTk0OTIAAAAAAAAAAAkFAAAADyRhY2M5MTk0NTkxOTQ5MgQAAAAQJGFjYzEwMTk0NTkxOTQ5MgkBAAAAA3N1bQAAAAIFAAAADyRhY2M5MTk0NTkxOTQ5MgkAAZEAAAACBQAAAA8kbGlzdDE5NDU5MTk0OTIAAAAAAAAAAAkDCQAAAAAAAAIFAAAADyRzaXplMTk0NTkxOTQ5MgAAAAAAAAAACgUAAAAQJGFjYzEwMTk0NTkxOTQ5MgQAAAAQJGFjYzExMTk0NTkxOTQ5MgkBAAAAA3N1bQAAAAIFAAAAECRhY2MxMDE5NDU5MTk0OTIJAAGRAAAAAgUAAAAPJGxpc3QxOTQ1OTE5NDkyAAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAEAAAAFHN1bVJld2FyZEN1cnJlbnRUZW1wBAAAAA8kbGlzdDE5NTI1MTk1NTcFAAAADmN1cnJlbnRSZXdhcmRzBAAAAA8kc2l6ZTE5NTI1MTk1NTcJAAGQAAAAAQUAAAAPJGxpc3QxOTUyNTE5NTU3BAAAAA8kYWNjMDE5NTI1MTk1NTcAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTk1MjUxOTU1NwAAAAAAAAAAAAUAAAAPJGFjYzAxOTUyNTE5NTU3BAAAAA8kYWNjMTE5NTI1MTk1NTcJAQAAAANzdW0AAAACBQAAAA8kYWNjMDE5NTI1MTk1NTcJAAGRAAAAAgUAAAAPJGxpc3QxOTUyNTE5NTU3AAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTI1MTk1NTcAAAAAAAAAAAEFAAAADyRhY2MxMTk1MjUxOTU1NwQAAAAPJGFjYzIxOTUyNTE5NTU3CQEAAAADc3VtAAAAAgUAAAAPJGFjYzExOTUyNTE5NTU3CQABkQAAAAIFAAAADyRsaXN0MTk1MjUxOTU1NwAAAAAAAAAAAQMJAAAAAAAAAgUAAAAPJHNpemUxOTUyNTE5NTU3AAAAAAAAAAACBQAAAA8kYWNjMjE5NTI1MTk1NTcEAAAADyRhY2MzMTk1MjUxOTU1NwkBAAAAA3N1bQAAAAIFAAAADyRhY2MyMTk1MjUxOTU1NwkAAZEAAAACBQAAAA8kbGlzdDE5NTI1MTk1NTcAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMTk1MjUxOTU1NwAAAAAAAAAAAwUAAAAPJGFjYzMxOTUyNTE5NTU3BAAAAA8kYWNjNDE5NTI1MTk1NTcJAQAAAANzdW0AAAACBQAAAA8kYWNjMzE5NTI1MTk1NTcJAAGRAAAAAgUAAAAPJGxpc3QxOTUyNTE5NTU3AAAAAAAAAAADAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTI1MTk1NTcAAAAAAAAAAAQFAAAADyRhY2M0MTk1MjUxOTU1NwQAAAAPJGFjYzUxOTUyNTE5NTU3CQEAAAADc3VtAAAAAgUAAAAPJGFjYzQxOTUyNTE5NTU3CQABkQAAAAIFAAAADyRsaXN0MTk1MjUxOTU1NwAAAAAAAAAABAMJAAAAAAAAAgUAAAAPJHNpemUxOTUyNTE5NTU3AAAAAAAAAAAFBQAAAA8kYWNjNTE5NTI1MTk1NTcEAAAADyRhY2M2MTk1MjUxOTU1NwkBAAAAA3N1bQAAAAIFAAAADyRhY2M1MTk1MjUxOTU1NwkAAZEAAAACBQAAAA8kbGlzdDE5NTI1MTk1NTcAAAAAAAAAAAUDCQAAAAAAAAIFAAAADyRzaXplMTk1MjUxOTU1NwAAAAAAAAAABgUAAAAPJGFjYzYxOTUyNTE5NTU3BAAAAA8kYWNjNzE5NTI1MTk1NTcJAQAAAANzdW0AAAACBQAAAA8kYWNjNjE5NTI1MTk1NTcJAAGRAAAAAgUAAAAPJGxpc3QxOTUyNTE5NTU3AAAAAAAAAAAGAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTI1MTk1NTcAAAAAAAAAAAcFAAAADyRhY2M3MTk1MjUxOTU1NwQAAAAPJGFjYzgxOTUyNTE5NTU3CQEAAAADc3VtAAAAAgUAAAAPJGFjYzcxOTUyNTE5NTU3CQABkQAAAAIFAAAADyRsaXN0MTk1MjUxOTU1NwAAAAAAAAAABwMJAAAAAAAAAgUAAAAPJHNpemUxOTUyNTE5NTU3AAAAAAAAAAAIBQAAAA8kYWNjODE5NTI1MTk1NTcEAAAADyRhY2M5MTk1MjUxOTU1NwkBAAAAA3N1bQAAAAIFAAAADyRhY2M4MTk1MjUxOTU1NwkAAZEAAAACBQAAAA8kbGlzdDE5NTI1MTk1NTcAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMTk1MjUxOTU1NwAAAAAAAAAACQUAAAAPJGFjYzkxOTUyNTE5NTU3BAAAABAkYWNjMTAxOTUyNTE5NTU3CQEAAAADc3VtAAAAAgUAAAAPJGFjYzkxOTUyNTE5NTU3CQABkQAAAAIFAAAADyRsaXN0MTk1MjUxOTU1NwAAAAAAAAAACQMJAAAAAAAAAgUAAAAPJHNpemUxOTUyNTE5NTU3AAAAAAAAAAAKBQAAABAkYWNjMTAxOTUyNTE5NTU3BAAAABAkYWNjMTExOTUyNTE5NTU3CQEAAAADc3VtAAAAAgUAAAAQJGFjYzEwMTk1MjUxOTU1NwkAAZEAAAACBQAAAA8kbGlzdDE5NTI1MTk1NTcAAAAAAAAAAAoJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxMAQAAAANJHQwMTk1NjMxOTcxNgkBAAAADGdldFN1bVJld2FyZAAAAAMFAAAAFXN1bVJld2FyZFByZXZpb3VzVGVtcAUAAAAUc3VtUmV3YXJkQ3VycmVudFRlbXAFAAAACnBhZ2luYXRpb24EAAAAEXN1bVJld2FyZFByZXZpb3VzCAUAAAANJHQwMTk1NjMxOTcxNgAAAAJfMQQAAAAQc3VtUmV3YXJkQ3VycmVudAgFAAAADSR0MDE5NTYzMTk3MTYAAAACXzIEAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CAUAAAANJHQwMTk1NjMxOTcxNgAAAAJfMwQAAAAXcmV3YXJkVXBkYXRlSGVpZ2h0RW50cnkDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFWtleVJld2FyZFVwZGF0ZUhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAAANuaWwFAAAAA25pbAMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAAAbcmV3YXJkVXBkYXRlSGVpZ2h0IDwgaGVpZ2h0BAAAABZwcmV2aW91c1Jld2FyZEVudHJ5TmV3BAAAAA8kbGlzdDE5OTY2MjAwMjAFAAAADXByZXZpb3VzUG9vbHMEAAAADyRzaXplMTk5NjYyMDAyMAkAAZAAAAABBQAAAA8kbGlzdDE5OTY2MjAwMjAEAAAADyRhY2MwMTk5NjYyMDAyMAUAAAADbmlsAwkAAAAAAAACBQAAAA8kc2l6ZTE5OTY2MjAwMjAAAAAAAAAAAAAFAAAADyRhY2MwMTk5NjYyMDAyMAQAAAAPJGFjYzExOTk2NjIwMDIwCQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MwMTk5NjYyMDAyMAkAAZEAAAACBQAAAA8kbGlzdDE5OTY2MjAwMjAAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTk5NjYyMDAyMAAAAAAAAAAAAQUAAAAPJGFjYzExOTk2NjIwMDIwBAAAAA8kYWNjMjE5OTY2MjAwMjAJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzExOTk2NjIwMDIwCQABkQAAAAIFAAAADyRsaXN0MTk5NjYyMDAyMAAAAAAAAAAAAQMJAAAAAAAAAgUAAAAPJHNpemUxOTk2NjIwMDIwAAAAAAAAAAACBQAAAA8kYWNjMjE5OTY2MjAwMjAEAAAADyRhY2MzMTk5NjYyMDAyMAkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMjE5OTY2MjAwMjAJAAGRAAAAAgUAAAAPJGxpc3QxOTk2NjIwMDIwAAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTE5OTY2MjAwMjAAAAAAAAAAAAMFAAAADyRhY2MzMTk5NjYyMDAyMAQAAAAPJGFjYzQxOTk2NjIwMDIwCQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MzMTk5NjYyMDAyMAkAAZEAAAACBQAAAA8kbGlzdDE5OTY2MjAwMjAAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTk5NjYyMDAyMAAAAAAAAAAABAUAAAAPJGFjYzQxOTk2NjIwMDIwBAAAAA8kYWNjNTE5OTY2MjAwMjAJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzQxOTk2NjIwMDIwCQABkQAAAAIFAAAADyRsaXN0MTk5NjYyMDAyMAAAAAAAAAAABAMJAAAAAAAAAgUAAAAPJHNpemUxOTk2NjIwMDIwAAAAAAAAAAAFBQAAAA8kYWNjNTE5OTY2MjAwMjAEAAAADyRhY2M2MTk5NjYyMDAyMAkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNTE5OTY2MjAwMjAJAAGRAAAAAgUAAAAPJGxpc3QxOTk2NjIwMDIwAAAAAAAAAAAFAwkAAAAAAAACBQAAAA8kc2l6ZTE5OTY2MjAwMjAAAAAAAAAAAAYFAAAADyRhY2M2MTk5NjYyMDAyMAQAAAAPJGFjYzcxOTk2NjIwMDIwCQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M2MTk5NjYyMDAyMAkAAZEAAAACBQAAAA8kbGlzdDE5OTY2MjAwMjAAAAAAAAAAAAYDCQAAAAAAAAIFAAAADyRzaXplMTk5NjYyMDAyMAAAAAAAAAAABwUAAAAPJGFjYzcxOTk2NjIwMDIwBAAAAA8kYWNjODE5OTY2MjAwMjAJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzcxOTk2NjIwMDIwCQABkQAAAAIFAAAADyRsaXN0MTk5NjYyMDAyMAAAAAAAAAAABwMJAAAAAAAAAgUAAAAPJHNpemUxOTk2NjIwMDIwAAAAAAAAAAAIBQAAAA8kYWNjODE5OTY2MjAwMjAEAAAADyRhY2M5MTk5NjYyMDAyMAkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjODE5OTY2MjAwMjAJAAGRAAAAAgUAAAAPJGxpc3QxOTk2NjIwMDIwAAAAAAAAAAAIAwkAAAAAAAACBQAAAA8kc2l6ZTE5OTY2MjAwMjAAAAAAAAAAAAkFAAAADyRhY2M5MTk5NjYyMDAyMAQAAAAQJGFjYzEwMTk5NjYyMDAyMAkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjOTE5OTY2MjAwMjAJAAGRAAAAAgUAAAAPJGxpc3QxOTk2NjIwMDIwAAAAAAAAAAAJAwkAAAAAAAACBQAAAA8kc2l6ZTE5OTY2MjAwMjAAAAAAAAAAAAoFAAAAECRhY2MxMDE5OTY2MjAwMjAEAAAAECRhY2MxMTE5OTY2MjAwMjAJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzEwMTk5NjYyMDAyMAkAAZEAAAACBQAAAA8kbGlzdDE5OTY2MjAwMjAAAAAAAAAAAAoJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxMAQAAAAVY3VycmVudFJld2FyZEVudHJ5TmV3BAAAAA8kbGlzdDIwMDUzMjAxMDUFAAAADGN1cnJlbnRQb29scwQAAAAPJHNpemUyMDA1MzIwMTA1CQABkAAAAAEFAAAADyRsaXN0MjAwNTMyMDEwNQQAAAAPJGFjYzAyMDA1MzIwMTA1BQAAAANuaWwDCQAAAAAAAAIFAAAADyRzaXplMjAwNTMyMDEwNQAAAAAAAAAAAAUAAAAPJGFjYzAyMDA1MzIwMTA1BAAAAA8kYWNjMTIwMDUzMjAxMDUJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMDIwMDUzMjAxMDUJAAGRAAAAAgUAAAAPJGxpc3QyMDA1MzIwMTA1AAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTIwMDUzMjAxMDUAAAAAAAAAAAEFAAAADyRhY2MxMjAwNTMyMDEwNQQAAAAPJGFjYzIyMDA1MzIwMTA1CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzEyMDA1MzIwMTA1CQABkQAAAAIFAAAADyRsaXN0MjAwNTMyMDEwNQAAAAAAAAAAAQMJAAAAAAAAAgUAAAAPJHNpemUyMDA1MzIwMTA1AAAAAAAAAAACBQAAAA8kYWNjMjIwMDUzMjAxMDUEAAAADyRhY2MzMjAwNTMyMDEwNQkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MyMjAwNTMyMDEwNQkAAZEAAAACBQAAAA8kbGlzdDIwMDUzMjAxMDUAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMjAwNTMyMDEwNQAAAAAAAAAAAwUAAAAPJGFjYzMyMDA1MzIwMTA1BAAAAA8kYWNjNDIwMDUzMjAxMDUJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMzIwMDUzMjAxMDUJAAGRAAAAAgUAAAAPJGxpc3QyMDA1MzIwMTA1AAAAAAAAAAADAwkAAAAAAAACBQAAAA8kc2l6ZTIwMDUzMjAxMDUAAAAAAAAAAAQFAAAADyRhY2M0MjAwNTMyMDEwNQQAAAAPJGFjYzUyMDA1MzIwMTA1CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzQyMDA1MzIwMTA1CQABkQAAAAIFAAAADyRsaXN0MjAwNTMyMDEwNQAAAAAAAAAABAMJAAAAAAAAAgUAAAAPJHNpemUyMDA1MzIwMTA1AAAAAAAAAAAFBQAAAA8kYWNjNTIwMDUzMjAxMDUEAAAADyRhY2M2MjAwNTMyMDEwNQkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M1MjAwNTMyMDEwNQkAAZEAAAACBQAAAA8kbGlzdDIwMDUzMjAxMDUAAAAAAAAAAAUDCQAAAAAAAAIFAAAADyRzaXplMjAwNTMyMDEwNQAAAAAAAAAABgUAAAAPJGFjYzYyMDA1MzIwMTA1BAAAAA8kYWNjNzIwMDUzMjAxMDUJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNjIwMDUzMjAxMDUJAAGRAAAAAgUAAAAPJGxpc3QyMDA1MzIwMTA1AAAAAAAAAAAGAwkAAAAAAAACBQAAAA8kc2l6ZTIwMDUzMjAxMDUAAAAAAAAAAAcFAAAADyRhY2M3MjAwNTMyMDEwNQQAAAAPJGFjYzgyMDA1MzIwMTA1CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzcyMDA1MzIwMTA1CQABkQAAAAIFAAAADyRsaXN0MjAwNTMyMDEwNQAAAAAAAAAABwMJAAAAAAAAAgUAAAAPJHNpemUyMDA1MzIwMTA1AAAAAAAAAAAIBQAAAA8kYWNjODIwMDUzMjAxMDUEAAAADyRhY2M5MjAwNTMyMDEwNQkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M4MjAwNTMyMDEwNQkAAZEAAAACBQAAAA8kbGlzdDIwMDUzMjAxMDUAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMjAwNTMyMDEwNQAAAAAAAAAACQUAAAAPJGFjYzkyMDA1MzIwMTA1BAAAABAkYWNjMTAyMDA1MzIwMTA1CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzkyMDA1MzIwMTA1CQABkQAAAAIFAAAADyRsaXN0MjAwNTMyMDEwNQAAAAAAAAAACQMJAAAAAAAAAgUAAAAPJHNpemUyMDA1MzIwMTA1AAAAAAAAAAAKBQAAABAkYWNjMTAyMDA1MzIwMTA1BAAAABAkYWNjMTEyMDA1MzIwMTA1CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzEwMjAwNTMyMDEwNQkAAZEAAAACBQAAAA8kbGlzdDIwMDUzMjAxMDUAAAAAAAAAAAoJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxMAQAAAARaGVpZ2h0RW50cnlOZXdDdXIEAAAADyRsaXN0MjAxMzQyMDE3OQUAAAAMY3VycmVudFBvb2xzBAAAAA8kc2l6ZTIwMTM0MjAxNzkJAAGQAAAAAQUAAAAPJGxpc3QyMDEzNDIwMTc5BAAAAA8kYWNjMDIwMTM0MjAxNzkFAAAAA25pbAMJAAAAAAAAAgUAAAAPJHNpemUyMDEzNDIwMTc5AAAAAAAAAAAABQAAAA8kYWNjMDIwMTM0MjAxNzkEAAAADyRhY2MxMjAxMzQyMDE3OQkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzAyMDEzNDIwMTc5CQABkQAAAAIFAAAADyRsaXN0MjAxMzQyMDE3OQAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUyMDEzNDIwMTc5AAAAAAAAAAABBQAAAA8kYWNjMTIwMTM0MjAxNzkEAAAADyRhY2MyMjAxMzQyMDE3OQkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzEyMDEzNDIwMTc5CQABkQAAAAIFAAAADyRsaXN0MjAxMzQyMDE3OQAAAAAAAAAAAQMJAAAAAAAAAgUAAAAPJHNpemUyMDEzNDIwMTc5AAAAAAAAAAACBQAAAA8kYWNjMjIwMTM0MjAxNzkEAAAADyRhY2MzMjAxMzQyMDE3OQkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzIyMDEzNDIwMTc5CQABkQAAAAIFAAAADyRsaXN0MjAxMzQyMDE3OQAAAAAAAAAAAgMJAAAAAAAAAgUAAAAPJHNpemUyMDEzNDIwMTc5AAAAAAAAAAADBQAAAA8kYWNjMzIwMTM0MjAxNzkEAAAADyRhY2M0MjAxMzQyMDE3OQkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzMyMDEzNDIwMTc5CQABkQAAAAIFAAAADyRsaXN0MjAxMzQyMDE3OQAAAAAAAAAAAwMJAAAAAAAAAgUAAAAPJHNpemUyMDEzNDIwMTc5AAAAAAAAAAAEBQAAAA8kYWNjNDIwMTM0MjAxNzkEAAAADyRhY2M1MjAxMzQyMDE3OQkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzQyMDEzNDIwMTc5CQABkQAAAAIFAAAADyRsaXN0MjAxMzQyMDE3OQAAAAAAAAAABAMJAAAAAAAAAgUAAAAPJHNpemUyMDEzNDIwMTc5AAAAAAAAAAAFBQAAAA8kYWNjNTIwMTM0MjAxNzkEAAAADyRhY2M2MjAxMzQyMDE3OQkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzUyMDEzNDIwMTc5CQABkQAAAAIFAAAADyRsaXN0MjAxMzQyMDE3OQAAAAAAAAAABQMJAAAAAAAAAgUAAAAPJHNpemUyMDEzNDIwMTc5AAAAAAAAAAAGBQAAAA8kYWNjNjIwMTM0MjAxNzkEAAAADyRhY2M3MjAxMzQyMDE3OQkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzYyMDEzNDIwMTc5CQABkQAAAAIFAAAADyRsaXN0MjAxMzQyMDE3OQAAAAAAAAAABgMJAAAAAAAAAgUAAAAPJHNpemUyMDEzNDIwMTc5AAAAAAAAAAAHBQAAAA8kYWNjNzIwMTM0MjAxNzkEAAAADyRhY2M4MjAxMzQyMDE3OQkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzcyMDEzNDIwMTc5CQABkQAAAAIFAAAADyRsaXN0MjAxMzQyMDE3OQAAAAAAAAAABwMJAAAAAAAAAgUAAAAPJHNpemUyMDEzNDIwMTc5AAAAAAAAAAAIBQAAAA8kYWNjODIwMTM0MjAxNzkEAAAADyRhY2M5MjAxMzQyMDE3OQkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzgyMDEzNDIwMTc5CQABkQAAAAIFAAAADyRsaXN0MjAxMzQyMDE3OQAAAAAAAAAACAMJAAAAAAAAAgUAAAAPJHNpemUyMDEzNDIwMTc5AAAAAAAAAAAJBQAAAA8kYWNjOTIwMTM0MjAxNzkEAAAAECRhY2MxMDIwMTM0MjAxNzkJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M5MjAxMzQyMDE3OQkAAZEAAAACBQAAAA8kbGlzdDIwMTM0MjAxNzkAAAAAAAAAAAkDCQAAAAAAAAIFAAAADyRzaXplMjAxMzQyMDE3OQAAAAAAAAAACgUAAAAQJGFjYzEwMjAxMzQyMDE3OQQAAAAQJGFjYzExMjAxMzQyMDE3OQkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAQJGFjYzEwMjAxMzQyMDE3OQkAAZEAAAACBQAAAA8kbGlzdDIwMTM0MjAxNzkAAAAAAAAAAAoJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxMAkABE4AAAACCQAETgAAAAIJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAAROAAAAAgUAAAAWcHJldmlvdXNSZXdhcmRFbnRyeU5ldwUAAAAVY3VycmVudFJld2FyZEVudHJ5TmV3BQAAABFoZWlnaHRFbnRyeU5ld0N1cgUAAAARc3VtUmV3YXJkUHJldmlvdXMFAAAAEHN1bVJld2FyZEN1cnJlbnQFAAAAF3Jld2FyZFVwZGF0ZUhlaWdodEVudHJ5BQAAACZyZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQAAAAFpAQAAAAhzaHV0ZG93bgAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAEJAAEsAAAAAgIAAAAiREFwcCBpcyBhbHJlYWR5IHN1c3BlbmRlZC4gQ2F1c2U6IAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAAAhrZXlDYXVzZQIAAAAadGhlIGNhdXNlIHdhc24ndCBzcGVjaWZpZWQDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzCQAETAAAAAIFAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wBQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24JAQAAAAdzdXNwZW5kAAAAAQIAAAAPUGF1c2VkIGJ5IGFkbWluAAAAAWkBAAAACGFjdGl2YXRlAAAAAAMFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAFkRBcHAgaXMgYWxyZWFkeSBhY3RpdmUDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzCQAETAAAAAIFAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wBQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24JAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAACWtleUFjdGl2ZQYJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAIa2V5Q2F1c2UFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5oa7aSg==", "height": 1568355, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DEo4pThXpVZW2gdC41amVkbJrSVWp8xKZsBoNAHPNJHM Next: 4bnXFJgrHwU4QJEjzozv6jUhJTiHjrK6qMHikcSrSsmN Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let adminPubKey1 = base58'DXDY2itiEcYBtGkVLnkpHtDFyWQUkoLJz79uJ7ECbMrA'
4+let adminPubKey1 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
55
6-let adminPubKey2 = base58'E6Wa1SGoktYcjHjsKrvjMiqJY3SWmGKcD8Q5L8kxSPS7'
6+let adminPubKey2 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
77
8-let adminPubKey3 = base58'AZmWJtuy4GeVrMmJH4hfFBRApe1StvhJSk4jcbT6bArQ'
8+let adminPubKey3 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
99
10-let adminPubKeyStartStop = base58'EtVkT6ed8GtbUiVVEqdmEqsp2J4qbb3rre2HFgxeVYdg'
10+let adminPubKeyStartStop = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
1111
12-let adminPubKeyWallet = base58'GTY8yEJ2S4heRompxyvbJoBN1Td5BM5Pp4JgVbj9tmCw'
12+let adminPubKeyWallet = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
1313
1414 let keyActive = "active"
1515
7979
8080 let isActive = valueOrElse(getBoolean(this, keyActive), true)
8181
82-let farmingSWOPAddress = Address(base58'3P73HDkPqG15nLXevjCbmXtazHYTZbpPoPw')
82+let farmingSWOPAddress = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
8383
84-let votingLiteContract = Address(base58'3PQZWxShKGRgBN1qoJw6B4s9YWS9FneZTPg')
84+let votingLiteContract = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
8585
86-let votingForNewPool = Address(base58'3PHgHf5C4WvHJucSHrjoVnMFsP1EhWffVLt')
86+let votingForNewPool = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
8787
8888 let keySWOPid = "SWOP_id"
8989
174174
175175
176176 func getUserVoteInfo (user) = {
177- let $t059516502 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
177+ let $t060796630 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
178178 then {
179179 let data = split(valueOrErrorMessage(getString(votingLiteContract, (toString(user) + kUserTotalStruc)), "Empty kUserTotalStruc"), "_")
180180 $Tuple3(parseIntValue(data[0]), parseIntValue(data[1]), parseIntValue(data[2]))
183183 let uPoolTotalSWOP = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
184184 $Tuple3(uPoolTotalSWOP, 0, currVotingPeriod)
185185 }
186- let userTotalVoteSWOP = $t059516502._1
187- let userUnvoted = $t059516502._2
188- let userUnvotedPeriod = $t059516502._3
186+ let userTotalVoteSWOP = $t060796630._1
187+ let userUnvoted = $t060796630._2
188+ let userUnvotedPeriod = $t060796630._3
189189 let userUnvotedActual = if ((userUnvotedPeriod == currVotingPeriod))
190190 then userUnvoted
191191 else 0
247247
248248 func claimCalc (caller) = {
249249 let lastInterest = getLastInterestInfo()
250- let $t087548834 = getUserInterestInfo(caller, lastInterest)
251- let userLastInterest = $t087548834._1
252- let userSWOPLocked = $t087548834._2
250+ let $t088828962 = getUserInterestInfo(caller, lastInterest)
251+ let userLastInterest = $t088828962._1
252+ let userSWOPLocked = $t088828962._2
253253 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
254254 let userNewInterest = lastInterest
255255 $Tuple2(userNewInterest, claimAmount)
260260 func airDrop () = if (!(isActive))
261261 then throw("DApp is inactive at this moment")
262262 else {
263- let $t090999174 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
264- let pmtAmount = $t090999174._1
265- let pmtAssetId = $t090999174._2
263+ let $t092279302 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
264+ let pmtAmount = $t092279302._1
265+ let pmtAssetId = $t092279302._2
266266 if ((pmtAssetId != SWOP))
267267 then throw("Incorrect pmtAssetId")
268268 else {
279279 func lockSWOP () = if (!(isActive))
280280 then throw("DApp is inactive at this moment")
281281 else {
282- let $t096129687 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
283- let pmtAmount = $t096129687._1
284- let pmtAssetId = $t096129687._2
282+ let $t097409815 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
283+ let pmtAmount = $t097409815._1
284+ let pmtAssetId = $t097409815._2
285285 if ((pmtAssetId != SWOP))
286286 then throw("Incorrect pmtAssetId")
287287 else {
288288 let lastInterest = getLastInterestInfo()
289- let $t098039885 = getUserInterestInfo(i.caller, lastInterest)
290- let userLastInterest = $t098039885._1
291- let userSWOPLocked = $t098039885._2
289+ let $t0993110013 = getUserInterestInfo(i.caller, lastInterest)
290+ let userLastInterest = $t0993110013._1
291+ let userSWOPLocked = $t0993110013._2
292292 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
293293 let userSWOPLockedNew = ((userSWOPLocked + pmtAmount) + claimAmount)
294294 let userNewInterest = lastInterest
310310 else {
311311 let totalSWOPLocked = getTotalSWOPLocked()
312312 let userSWOPLocked = getUserSWOPLocked(i.caller)
313- let $t01103511090 = claimCalc(i.caller)
314- let userNewInterest = $t01103511090._1
315- let claimAmount = $t01103511090._2
316- let $t01109511160 = getUserVoteInfo(i.caller)
317- let userVoteAmount = $t01109511160._1
318- let userUnvoteAmount = $t01109511160._2
313+ let $t01116311218 = claimCalc(i.caller)
314+ let userNewInterest = $t01116311218._1
315+ let claimAmount = $t01116311218._2
316+ let $t01122311288 = getUserVoteInfo(i.caller)
317+ let userVoteAmount = $t01122311288._1
318+ let userUnvoteAmount = $t01122311288._2
319319 let userVoteAmountForNewPool = getUserTotalVoteForNewPoolAmount(i.caller)
320320 if (if (if ((0 > userUnvoteAmount))
321321 then true
344344 then throw("DApp is inactive at this moment")
345345 else {
346346 let lastInterest = getLastInterestInfo()
347- let $t01253512590 = claimCalc(i.caller)
348- let userNewInterest = $t01253512590._1
349- let claimAmount = $t01253512590._2
347+ let $t01266312718 = claimCalc(i.caller)
348+ let userNewInterest = $t01266312718._1
349+ let claimAmount = $t01266312718._2
350350 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
351351 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
352352 if ((claimAmount == 0))
363363 let totalSWOPLocked = getTotalSWOPLocked()
364364 let userSWOPLocked = getUserSWOPLocked(i.caller)
365365 let lastInterest = getLastInterestInfo()
366- let $t01336913424 = claimCalc(i.caller)
367- let userNewInterest = $t01336913424._1
368- let claimAmount = $t01336913424._2
366+ let $t01349713552 = claimCalc(i.caller)
367+ let userNewInterest = $t01349713552._1
368+ let claimAmount = $t01349713552._2
369369 let userSWOPLockedNew = (userSWOPLocked + claimAmount)
370370 let totalSWOPLockedNew = (totalSWOPLocked + claimAmount)
371371 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
390390 else (size(currentPools) > amountPools))
391391 then throw(("Max amount of pool is " + toString(amountPools)))
392392 else if ((totalRewardUpdateHeight >= rewardUpdateHeight))
393- then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
393+ then throw(((("rewardUpdateHeight <= totalRewardUpdateHeight; rewardUpdateHeight: " + toString(rewardUpdateHeight)) + "; totalRewardUpdateHeight: ") + toString(totalRewardUpdateHeight)))
394394 else if ((height >= rewardUpdateHeight))
395395 then throw("height >= rewardUpdateHeight")
396396 else if ((0 >= rewardUpdateHeight))
432432 then if (if ((prevTempSum > totalVoteShare))
433433 then true
434434 else (curTempSum > totalVoteShare))
435- then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString(prevTempSum)) + " ") + toString(curTempSum)))
435+ then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare: " + toString(pagination)) + " ") + toString(prevTempSum)) + " ") + toString(curTempSum)))
436436 else $Tuple3([IntegerEntry(keyTempPrevSum, prevTempSum)], [IntegerEntry(keyTempCurSum, curTempSum)], [IntegerEntry(keyRewardUpdateFirstPaginationHeight, rewardUpdateHeight)])
437437 else if ((pagination == 1))
438438 then {
442442 if (if (((prevTempSum + prevTempSumFromKey) > totalVoteShare))
443443 then true
444444 else ((curTempSum + curTempSumFromKey) > totalVoteShare))
445- then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString((prevTempSum + prevTempSumFromKey))) + " ") + toString((curTempSum + curTempSumFromKey))))
445+ then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare: " + toString(pagination)) + " ") + toString((prevTempSum + prevTempSumFromKey))) + " ") + toString((curTempSum + curTempSumFromKey))))
446446 else if ((rewardUpdateHeightFirstPaginationEntry != rewardUpdateHeight))
447- then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
447+ then throw(((("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry; rewardUpdateHeight: " + toString(rewardUpdateHeight)) + " rewardUpdateHeightFirstPaginationEntry: ") + toString(rewardUpdateHeightFirstPaginationEntry)))
448448 else $Tuple3([IntegerEntry(keyTempPrevSum, (prevTempSum + prevTempSumFromKey))], [IntegerEntry(keyTempCurSum, (curTempSum + curTempSumFromKey))], nil)
449449 }
450450 else if ((pagination == 2))
460460 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
461461 else $Tuple3([IntegerEntry(keyTempPrevSum, prevSum)], [IntegerEntry(keyTempCurSum, curSum)], nil)
462462 }
463- else throw("Incorrect pagination")
463+ else throw(("Incorrect pagination: " + toString(pagination)))
464464
465465 let sumRewardPreviousTemp = {
466- let $list1901419047 = previousRewards
467- let $size1901419047 = size($list1901419047)
468- let $acc01901419047 = 0
469- if (($size1901419047 == 0))
470- then $acc01901419047
466+ let $list1945919492 = previousRewards
467+ let $size1945919492 = size($list1945919492)
468+ let $acc01945919492 = 0
469+ if (($size1945919492 == 0))
470+ then $acc01945919492
471471 else {
472- let $acc11901419047 = sum($acc01901419047, $list1901419047[0])
473- if (($size1901419047 == 1))
474- then $acc11901419047
472+ let $acc11945919492 = sum($acc01945919492, $list1945919492[0])
473+ if (($size1945919492 == 1))
474+ then $acc11945919492
475475 else {
476- let $acc21901419047 = sum($acc11901419047, $list1901419047[1])
477- if (($size1901419047 == 2))
478- then $acc21901419047
476+ let $acc21945919492 = sum($acc11945919492, $list1945919492[1])
477+ if (($size1945919492 == 2))
478+ then $acc21945919492
479479 else {
480- let $acc31901419047 = sum($acc21901419047, $list1901419047[2])
481- if (($size1901419047 == 3))
482- then $acc31901419047
480+ let $acc31945919492 = sum($acc21945919492, $list1945919492[2])
481+ if (($size1945919492 == 3))
482+ then $acc31945919492
483483 else {
484- let $acc41901419047 = sum($acc31901419047, $list1901419047[3])
485- if (($size1901419047 == 4))
486- then $acc41901419047
484+ let $acc41945919492 = sum($acc31945919492, $list1945919492[3])
485+ if (($size1945919492 == 4))
486+ then $acc41945919492
487487 else {
488- let $acc51901419047 = sum($acc41901419047, $list1901419047[4])
489- if (($size1901419047 == 5))
490- then $acc51901419047
488+ let $acc51945919492 = sum($acc41945919492, $list1945919492[4])
489+ if (($size1945919492 == 5))
490+ then $acc51945919492
491491 else {
492- let $acc61901419047 = sum($acc51901419047, $list1901419047[5])
493- if (($size1901419047 == 6))
494- then $acc61901419047
492+ let $acc61945919492 = sum($acc51945919492, $list1945919492[5])
493+ if (($size1945919492 == 6))
494+ then $acc61945919492
495495 else {
496- let $acc71901419047 = sum($acc61901419047, $list1901419047[6])
497- if (($size1901419047 == 7))
498- then $acc71901419047
496+ let $acc71945919492 = sum($acc61945919492, $list1945919492[6])
497+ if (($size1945919492 == 7))
498+ then $acc71945919492
499499 else {
500- let $acc81901419047 = sum($acc71901419047, $list1901419047[7])
501- if (($size1901419047 == 8))
502- then $acc81901419047
500+ let $acc81945919492 = sum($acc71945919492, $list1945919492[7])
501+ if (($size1945919492 == 8))
502+ then $acc81945919492
503503 else {
504- let $acc91901419047 = sum($acc81901419047, $list1901419047[8])
505- if (($size1901419047 == 9))
506- then $acc91901419047
504+ let $acc91945919492 = sum($acc81945919492, $list1945919492[8])
505+ if (($size1945919492 == 9))
506+ then $acc91945919492
507507 else {
508- let $acc101901419047 = sum($acc91901419047, $list1901419047[9])
509- if (($size1901419047 == 10))
510- then $acc101901419047
508+ let $acc101945919492 = sum($acc91945919492, $list1945919492[9])
509+ if (($size1945919492 == 10))
510+ then $acc101945919492
511511 else {
512- let $acc111901419047 = sum($acc101901419047, $list1901419047[10])
512+ let $acc111945919492 = sum($acc101945919492, $list1945919492[10])
513513 throw("List size exceed 10")
514514 }
515515 }
524524 }
525525 }
526526 let sumRewardCurrentTemp = {
527- let $list1908019112 = currentRewards
528- let $size1908019112 = size($list1908019112)
529- let $acc01908019112 = 0
530- if (($size1908019112 == 0))
531- then $acc01908019112
527+ let $list1952519557 = currentRewards
528+ let $size1952519557 = size($list1952519557)
529+ let $acc01952519557 = 0
530+ if (($size1952519557 == 0))
531+ then $acc01952519557
532532 else {
533- let $acc11908019112 = sum($acc01908019112, $list1908019112[0])
534- if (($size1908019112 == 1))
535- then $acc11908019112
533+ let $acc11952519557 = sum($acc01952519557, $list1952519557[0])
534+ if (($size1952519557 == 1))
535+ then $acc11952519557
536536 else {
537- let $acc21908019112 = sum($acc11908019112, $list1908019112[1])
538- if (($size1908019112 == 2))
539- then $acc21908019112
537+ let $acc21952519557 = sum($acc11952519557, $list1952519557[1])
538+ if (($size1952519557 == 2))
539+ then $acc21952519557
540540 else {
541- let $acc31908019112 = sum($acc21908019112, $list1908019112[2])
542- if (($size1908019112 == 3))
543- then $acc31908019112
541+ let $acc31952519557 = sum($acc21952519557, $list1952519557[2])
542+ if (($size1952519557 == 3))
543+ then $acc31952519557
544544 else {
545- let $acc41908019112 = sum($acc31908019112, $list1908019112[3])
546- if (($size1908019112 == 4))
547- then $acc41908019112
545+ let $acc41952519557 = sum($acc31952519557, $list1952519557[3])
546+ if (($size1952519557 == 4))
547+ then $acc41952519557
548548 else {
549- let $acc51908019112 = sum($acc41908019112, $list1908019112[4])
550- if (($size1908019112 == 5))
551- then $acc51908019112
549+ let $acc51952519557 = sum($acc41952519557, $list1952519557[4])
550+ if (($size1952519557 == 5))
551+ then $acc51952519557
552552 else {
553- let $acc61908019112 = sum($acc51908019112, $list1908019112[5])
554- if (($size1908019112 == 6))
555- then $acc61908019112
553+ let $acc61952519557 = sum($acc51952519557, $list1952519557[5])
554+ if (($size1952519557 == 6))
555+ then $acc61952519557
556556 else {
557- let $acc71908019112 = sum($acc61908019112, $list1908019112[6])
558- if (($size1908019112 == 7))
559- then $acc71908019112
557+ let $acc71952519557 = sum($acc61952519557, $list1952519557[6])
558+ if (($size1952519557 == 7))
559+ then $acc71952519557
560560 else {
561- let $acc81908019112 = sum($acc71908019112, $list1908019112[7])
562- if (($size1908019112 == 8))
563- then $acc81908019112
561+ let $acc81952519557 = sum($acc71952519557, $list1952519557[7])
562+ if (($size1952519557 == 8))
563+ then $acc81952519557
564564 else {
565- let $acc91908019112 = sum($acc81908019112, $list1908019112[8])
566- if (($size1908019112 == 9))
567- then $acc91908019112
565+ let $acc91952519557 = sum($acc81952519557, $list1952519557[8])
566+ if (($size1952519557 == 9))
567+ then $acc91952519557
568568 else {
569- let $acc101908019112 = sum($acc91908019112, $list1908019112[9])
570- if (($size1908019112 == 10))
571- then $acc101908019112
569+ let $acc101952519557 = sum($acc91952519557, $list1952519557[9])
570+ if (($size1952519557 == 10))
571+ then $acc101952519557
572572 else {
573- let $acc111908019112 = sum($acc101908019112, $list1908019112[10])
573+ let $acc111952519557 = sum($acc101952519557, $list1952519557[10])
574574 throw("List size exceed 10")
575575 }
576576 }
584584 }
585585 }
586586 }
587- let $t01911819271 = getSumReward(sumRewardPreviousTemp, sumRewardCurrentTemp, pagination)
588- let sumRewardPrevious = $t01911819271._1
589- let sumRewardCurrent = $t01911819271._2
590- let rewardUpdateHeightFirstPaginationEntry = $t01911819271._3
587+ let $t01956319716 = getSumReward(sumRewardPreviousTemp, sumRewardCurrentTemp, pagination)
588+ let sumRewardPrevious = $t01956319716._1
589+ let sumRewardCurrent = $t01956319716._2
590+ let rewardUpdateHeightFirstPaginationEntry = $t01956319716._3
591591 let rewardUpdateHeightEntry = if ((pagination == 2))
592592 then [IntegerEntry(keyRewardUpdateHeight, rewardUpdateHeight)]
593593 else nil
595595 then throw("rewardUpdateHeight < height")
596596 else {
597597 let previousRewardEntryNew = {
598- let $list1952119575 = previousPools
599- let $size1952119575 = size($list1952119575)
600- let $acc01952119575 = nil
601- if (($size1952119575 == 0))
602- then $acc01952119575
598+ let $list1996620020 = previousPools
599+ let $size1996620020 = size($list1996620020)
600+ let $acc01996620020 = nil
601+ if (($size1996620020 == 0))
602+ then $acc01996620020
603603 else {
604- let $acc11952119575 = changePreviousRewardEntry($acc01952119575, $list1952119575[0])
605- if (($size1952119575 == 1))
606- then $acc11952119575
604+ let $acc11996620020 = changePreviousRewardEntry($acc01996620020, $list1996620020[0])
605+ if (($size1996620020 == 1))
606+ then $acc11996620020
607607 else {
608- let $acc21952119575 = changePreviousRewardEntry($acc11952119575, $list1952119575[1])
609- if (($size1952119575 == 2))
610- then $acc21952119575
608+ let $acc21996620020 = changePreviousRewardEntry($acc11996620020, $list1996620020[1])
609+ if (($size1996620020 == 2))
610+ then $acc21996620020
611611 else {
612- let $acc31952119575 = changePreviousRewardEntry($acc21952119575, $list1952119575[2])
613- if (($size1952119575 == 3))
614- then $acc31952119575
612+ let $acc31996620020 = changePreviousRewardEntry($acc21996620020, $list1996620020[2])
613+ if (($size1996620020 == 3))
614+ then $acc31996620020
615615 else {
616- let $acc41952119575 = changePreviousRewardEntry($acc31952119575, $list1952119575[3])
617- if (($size1952119575 == 4))
618- then $acc41952119575
616+ let $acc41996620020 = changePreviousRewardEntry($acc31996620020, $list1996620020[3])
617+ if (($size1996620020 == 4))
618+ then $acc41996620020
619619 else {
620- let $acc51952119575 = changePreviousRewardEntry($acc41952119575, $list1952119575[4])
621- if (($size1952119575 == 5))
622- then $acc51952119575
620+ let $acc51996620020 = changePreviousRewardEntry($acc41996620020, $list1996620020[4])
621+ if (($size1996620020 == 5))
622+ then $acc51996620020
623623 else {
624- let $acc61952119575 = changePreviousRewardEntry($acc51952119575, $list1952119575[5])
625- if (($size1952119575 == 6))
626- then $acc61952119575
624+ let $acc61996620020 = changePreviousRewardEntry($acc51996620020, $list1996620020[5])
625+ if (($size1996620020 == 6))
626+ then $acc61996620020
627627 else {
628- let $acc71952119575 = changePreviousRewardEntry($acc61952119575, $list1952119575[6])
629- if (($size1952119575 == 7))
630- then $acc71952119575
628+ let $acc71996620020 = changePreviousRewardEntry($acc61996620020, $list1996620020[6])
629+ if (($size1996620020 == 7))
630+ then $acc71996620020
631631 else {
632- let $acc81952119575 = changePreviousRewardEntry($acc71952119575, $list1952119575[7])
633- if (($size1952119575 == 8))
634- then $acc81952119575
632+ let $acc81996620020 = changePreviousRewardEntry($acc71996620020, $list1996620020[7])
633+ if (($size1996620020 == 8))
634+ then $acc81996620020
635635 else {
636- let $acc91952119575 = changePreviousRewardEntry($acc81952119575, $list1952119575[8])
637- if (($size1952119575 == 9))
638- then $acc91952119575
636+ let $acc91996620020 = changePreviousRewardEntry($acc81996620020, $list1996620020[8])
637+ if (($size1996620020 == 9))
638+ then $acc91996620020
639639 else {
640- let $acc101952119575 = changePreviousRewardEntry($acc91952119575, $list1952119575[9])
641- if (($size1952119575 == 10))
642- then $acc101952119575
640+ let $acc101996620020 = changePreviousRewardEntry($acc91996620020, $list1996620020[9])
641+ if (($size1996620020 == 10))
642+ then $acc101996620020
643643 else {
644- let $acc111952119575 = changePreviousRewardEntry($acc101952119575, $list1952119575[10])
644+ let $acc111996620020 = changePreviousRewardEntry($acc101996620020, $list1996620020[10])
645645 throw("List size exceed 10")
646646 }
647647 }
656656 }
657657 }
658658 let currentRewardEntryNew = {
659- let $list1960819660 = currentPools
660- let $size1960819660 = size($list1960819660)
661- let $acc01960819660 = nil
662- if (($size1960819660 == 0))
663- then $acc01960819660
659+ let $list2005320105 = currentPools
660+ let $size2005320105 = size($list2005320105)
661+ let $acc02005320105 = nil
662+ if (($size2005320105 == 0))
663+ then $acc02005320105
664664 else {
665- let $acc11960819660 = changeCurrentRewardEntry($acc01960819660, $list1960819660[0])
666- if (($size1960819660 == 1))
667- then $acc11960819660
665+ let $acc12005320105 = changeCurrentRewardEntry($acc02005320105, $list2005320105[0])
666+ if (($size2005320105 == 1))
667+ then $acc12005320105
668668 else {
669- let $acc21960819660 = changeCurrentRewardEntry($acc11960819660, $list1960819660[1])
670- if (($size1960819660 == 2))
671- then $acc21960819660
669+ let $acc22005320105 = changeCurrentRewardEntry($acc12005320105, $list2005320105[1])
670+ if (($size2005320105 == 2))
671+ then $acc22005320105
672672 else {
673- let $acc31960819660 = changeCurrentRewardEntry($acc21960819660, $list1960819660[2])
674- if (($size1960819660 == 3))
675- then $acc31960819660
673+ let $acc32005320105 = changeCurrentRewardEntry($acc22005320105, $list2005320105[2])
674+ if (($size2005320105 == 3))
675+ then $acc32005320105
676676 else {
677- let $acc41960819660 = changeCurrentRewardEntry($acc31960819660, $list1960819660[3])
678- if (($size1960819660 == 4))
679- then $acc41960819660
677+ let $acc42005320105 = changeCurrentRewardEntry($acc32005320105, $list2005320105[3])
678+ if (($size2005320105 == 4))
679+ then $acc42005320105
680680 else {
681- let $acc51960819660 = changeCurrentRewardEntry($acc41960819660, $list1960819660[4])
682- if (($size1960819660 == 5))
683- then $acc51960819660
681+ let $acc52005320105 = changeCurrentRewardEntry($acc42005320105, $list2005320105[4])
682+ if (($size2005320105 == 5))
683+ then $acc52005320105
684684 else {
685- let $acc61960819660 = changeCurrentRewardEntry($acc51960819660, $list1960819660[5])
686- if (($size1960819660 == 6))
687- then $acc61960819660
685+ let $acc62005320105 = changeCurrentRewardEntry($acc52005320105, $list2005320105[5])
686+ if (($size2005320105 == 6))
687+ then $acc62005320105
688688 else {
689- let $acc71960819660 = changeCurrentRewardEntry($acc61960819660, $list1960819660[6])
690- if (($size1960819660 == 7))
691- then $acc71960819660
689+ let $acc72005320105 = changeCurrentRewardEntry($acc62005320105, $list2005320105[6])
690+ if (($size2005320105 == 7))
691+ then $acc72005320105
692692 else {
693- let $acc81960819660 = changeCurrentRewardEntry($acc71960819660, $list1960819660[7])
694- if (($size1960819660 == 8))
695- then $acc81960819660
693+ let $acc82005320105 = changeCurrentRewardEntry($acc72005320105, $list2005320105[7])
694+ if (($size2005320105 == 8))
695+ then $acc82005320105
696696 else {
697- let $acc91960819660 = changeCurrentRewardEntry($acc81960819660, $list1960819660[8])
698- if (($size1960819660 == 9))
699- then $acc91960819660
697+ let $acc92005320105 = changeCurrentRewardEntry($acc82005320105, $list2005320105[8])
698+ if (($size2005320105 == 9))
699+ then $acc92005320105
700700 else {
701- let $acc101960819660 = changeCurrentRewardEntry($acc91960819660, $list1960819660[9])
702- if (($size1960819660 == 10))
703- then $acc101960819660
701+ let $acc102005320105 = changeCurrentRewardEntry($acc92005320105, $list2005320105[9])
702+ if (($size2005320105 == 10))
703+ then $acc102005320105
704704 else {
705- let $acc111960819660 = changeCurrentRewardEntry($acc101960819660, $list1960819660[10])
705+ let $acc112005320105 = changeCurrentRewardEntry($acc102005320105, $list2005320105[10])
706706 throw("List size exceed 10")
707707 }
708708 }
717717 }
718718 }
719719 let heightEntryNewCur = {
720- let $list1968919734 = currentPools
721- let $size1968919734 = size($list1968919734)
722- let $acc01968919734 = nil
723- if (($size1968919734 == 0))
724- then $acc01968919734
720+ let $list2013420179 = currentPools
721+ let $size2013420179 = size($list2013420179)
722+ let $acc02013420179 = nil
723+ if (($size2013420179 == 0))
724+ then $acc02013420179
725725 else {
726- let $acc11968919734 = changeHeightEntry($acc01968919734, $list1968919734[0])
727- if (($size1968919734 == 1))
728- then $acc11968919734
726+ let $acc12013420179 = changeHeightEntry($acc02013420179, $list2013420179[0])
727+ if (($size2013420179 == 1))
728+ then $acc12013420179
729729 else {
730- let $acc21968919734 = changeHeightEntry($acc11968919734, $list1968919734[1])
731- if (($size1968919734 == 2))
732- then $acc21968919734
730+ let $acc22013420179 = changeHeightEntry($acc12013420179, $list2013420179[1])
731+ if (($size2013420179 == 2))
732+ then $acc22013420179
733733 else {
734- let $acc31968919734 = changeHeightEntry($acc21968919734, $list1968919734[2])
735- if (($size1968919734 == 3))
736- then $acc31968919734
734+ let $acc32013420179 = changeHeightEntry($acc22013420179, $list2013420179[2])
735+ if (($size2013420179 == 3))
736+ then $acc32013420179
737737 else {
738- let $acc41968919734 = changeHeightEntry($acc31968919734, $list1968919734[3])
739- if (($size1968919734 == 4))
740- then $acc41968919734
738+ let $acc42013420179 = changeHeightEntry($acc32013420179, $list2013420179[3])
739+ if (($size2013420179 == 4))
740+ then $acc42013420179
741741 else {
742- let $acc51968919734 = changeHeightEntry($acc41968919734, $list1968919734[4])
743- if (($size1968919734 == 5))
744- then $acc51968919734
742+ let $acc52013420179 = changeHeightEntry($acc42013420179, $list2013420179[4])
743+ if (($size2013420179 == 5))
744+ then $acc52013420179
745745 else {
746- let $acc61968919734 = changeHeightEntry($acc51968919734, $list1968919734[5])
747- if (($size1968919734 == 6))
748- then $acc61968919734
746+ let $acc62013420179 = changeHeightEntry($acc52013420179, $list2013420179[5])
747+ if (($size2013420179 == 6))
748+ then $acc62013420179
749749 else {
750- let $acc71968919734 = changeHeightEntry($acc61968919734, $list1968919734[6])
751- if (($size1968919734 == 7))
752- then $acc71968919734
750+ let $acc72013420179 = changeHeightEntry($acc62013420179, $list2013420179[6])
751+ if (($size2013420179 == 7))
752+ then $acc72013420179
753753 else {
754- let $acc81968919734 = changeHeightEntry($acc71968919734, $list1968919734[7])
755- if (($size1968919734 == 8))
756- then $acc81968919734
754+ let $acc82013420179 = changeHeightEntry($acc72013420179, $list2013420179[7])
755+ if (($size2013420179 == 8))
756+ then $acc82013420179
757757 else {
758- let $acc91968919734 = changeHeightEntry($acc81968919734, $list1968919734[8])
759- if (($size1968919734 == 9))
760- then $acc91968919734
758+ let $acc92013420179 = changeHeightEntry($acc82013420179, $list2013420179[8])
759+ if (($size2013420179 == 9))
760+ then $acc92013420179
761761 else {
762- let $acc101968919734 = changeHeightEntry($acc91968919734, $list1968919734[9])
763- if (($size1968919734 == 10))
764- then $acc101968919734
762+ let $acc102013420179 = changeHeightEntry($acc92013420179, $list2013420179[9])
763+ if (($size2013420179 == 10))
764+ then $acc102013420179
765765 else {
766- let $acc111968919734 = changeHeightEntry($acc101968919734, $list1968919734[10])
766+ let $acc112013420179 = changeHeightEntry($acc102013420179, $list2013420179[10])
767767 throw("List size exceed 10")
768768 }
769769 }
802802
803803
804804 @Verifier(tx)
805-func verify () = {
806- let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
807- then 1
808- else 0
809- let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2))
810- then 1
811- else 0
812- let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3))
813- then 1
814- else 0
815- (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2)
816- }
805+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
817806
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let adminPubKey1 = base58'DXDY2itiEcYBtGkVLnkpHtDFyWQUkoLJz79uJ7ECbMrA'
4+let adminPubKey1 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
55
6-let adminPubKey2 = base58'E6Wa1SGoktYcjHjsKrvjMiqJY3SWmGKcD8Q5L8kxSPS7'
6+let adminPubKey2 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
77
8-let adminPubKey3 = base58'AZmWJtuy4GeVrMmJH4hfFBRApe1StvhJSk4jcbT6bArQ'
8+let adminPubKey3 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
99
10-let adminPubKeyStartStop = base58'EtVkT6ed8GtbUiVVEqdmEqsp2J4qbb3rre2HFgxeVYdg'
10+let adminPubKeyStartStop = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
1111
12-let adminPubKeyWallet = base58'GTY8yEJ2S4heRompxyvbJoBN1Td5BM5Pp4JgVbj9tmCw'
12+let adminPubKeyWallet = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
1313
1414 let keyActive = "active"
1515
1616 let keyCause = "shutdown_cause"
1717
1818 let keyLastInterest = "last_interest"
1919
2020 let keyUserLastInterest = "_last_interest"
2121
2222 let keyUserSWOPLocked = "_SWOP_amount"
2323
2424 let keyUserGetBackHeight = "_getBackHeight"
2525
2626 let keyTotalSWOPLocked = "total_SWOP_amount"
2727
2828 let kUserTotalVoteSWOP = "_user_total_SWOP_vote"
2929
3030 let keyUserVoteOptionAmount = "_SWOP_option_amount"
3131
3232 let keyTotalVoteOptionAmount = "total_SWOP_option_amount"
3333
3434 let keyUserSWOPClaimedAmount = "_SWOP_claimed_amount"
3535
3636 let keyUserSWOPLastClaimedAmount = "_SWOP_last_claimed_amount"
3737
3838 let keyVoteName = "vote_name"
3939
4040 let keyOptionName = "_option_name"
4141
4242 let keyVotingStartHeight = "_startHeight"
4343
4444 let keyVoteDuration = "_vote_duration"
4545
4646 let keyRewardPoolFractionCurrent = "_current_pool_fraction_reward"
4747
4848 let keyRewardPoolFractionPrevious = "_previous_pool_fraction_reward"
4949
5050 let keyHeightPoolFraction = "_pool_reward_update_height"
5151
5252 let keyTotalRewardPerBlockCurrent = "total_reward_per_block_current"
5353
5454 let keyTotalRewardPerBlockPrevious = "total_reward_per_block_previous"
5555
5656 let keyRewardUpdateHeight = "reward_update_height"
5757
5858 let keyRewardUpdateFirstPaginationHeight = "reward_update_height_first_pagination"
5959
6060 let keyNoVotingForNewPool = "_vote_no"
6161
6262 let keyYesVotingForNewPool = "_vote_yes"
6363
6464 let keyAmountOfVotingForNewPool = "max_amount_voting"
6565
6666 let keyStatusOfVotingForNewPool = "_status"
6767
6868 let keyHeightOfPoolVotingForNewPool = "_finish_height"
6969
7070 let activeVoteFirst = "voting_active_cell_1"
7171
7272 let activeVoteSecond = "voting_active_cell_2"
7373
7474 let activeVoteThird = "voting_active_cell_3"
7575
7676 let keyTempPrevSum = "sum_reward_previous"
7777
7878 let keyTempCurSum = "sum_reward_current"
7979
8080 let isActive = valueOrElse(getBoolean(this, keyActive), true)
8181
82-let farmingSWOPAddress = Address(base58'3P73HDkPqG15nLXevjCbmXtazHYTZbpPoPw')
82+let farmingSWOPAddress = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
8383
84-let votingLiteContract = Address(base58'3PQZWxShKGRgBN1qoJw6B4s9YWS9FneZTPg')
84+let votingLiteContract = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
8585
86-let votingForNewPool = Address(base58'3PHgHf5C4WvHJucSHrjoVnMFsP1EhWffVLt')
86+let votingForNewPool = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
8787
8888 let keySWOPid = "SWOP_id"
8989
9090 let SWOP = fromBase58String(getStringValue(farmingSWOPAddress, keySWOPid))
9191
9292 let scaleValue = 100000000
9393
9494 let totalVoteShare = 10000000000
9595
9696 let kStartHeight = "start_height"
9797
9898 let kBasePeriod = "base_period"
9999
100100 let kPeriodLength = "period_length"
101101
102102 let kUserTotalStruc = "_user_total_struc"
103103
104104 let basePeriod = valueOrErrorMessage(getInteger(votingLiteContract, kBasePeriod), "Empty kBasePeriod at voting contract")
105105
106106 let startHeight = valueOrErrorMessage(getInteger(votingLiteContract, kStartHeight), "Empty kStartHeight at voting contract")
107107
108108 let periodLength = valueOrErrorMessage(getInteger(votingLiteContract, kPeriodLength), "Empty kPeriodLength at voting contract")
109109
110110 let firstActiveVote = valueOrElse(getString(votingForNewPool, activeVoteFirst), "")
111111
112112 let secondActiveVote = valueOrElse(getString(votingForNewPool, activeVoteSecond), "")
113113
114114 let thirdActiveVote = valueOrElse(getString(votingForNewPool, activeVoteThird), "")
115115
116116 let currVotingPeriod = (basePeriod + ((height - startHeight) / periodLength))
117117
118118 func suspend (cause) = [BooleanEntry(keyActive, false), StringEntry(keyCause, cause)]
119119
120120
121121 func throwNotEnoughSWOP () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
122122
123123
124124 func getLastInterestInfo () = {
125125 let lastInterest = valueOrElse(getInteger(this, keyLastInterest), 0)
126126 lastInterest
127127 }
128128
129129
130130 func getUserSWOPLocked (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPLocked)), 0)
131131
132132
133133 func getUserSWOPClaimedAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPClaimedAmount)), 0)
134134
135135
136136 func getUserTotalVoteAmount (user) = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
137137
138138
139139 func getUserInterestInfo (user,lastInterest) = {
140140 let userSWOPAmount = getUserSWOPLocked(user)
141141 let userLastInterest = getInteger(this, (toString(user) + keyUserLastInterest))
142142 let userLastInterestValue = match userLastInterest {
143143 case userLastInterest: Int =>
144144 userLastInterest
145145 case _ =>
146146 lastInterest
147147 }
148148 $Tuple2(userLastInterestValue, userSWOPAmount)
149149 }
150150
151151
152152 func getUserTotalVoteAmountForOnePool (pool,user) = {
153153 let voting = valueOrElse(getInteger(votingForNewPool, pool), -1)
154154 let heightOfVoting = valueOrElse(getInteger(votingForNewPool, (toString(voting) + keyHeightOfPoolVotingForNewPool)), 0)
155155 let statusOfVoting = valueOrElse(getBoolean(votingForNewPool, (toString(voting) + keyStatusOfVotingForNewPool)), true)
156156 let currentHeight = height
157157 if ((0 > voting))
158158 then 0
159159 else if (!(statusOfVoting))
160160 then 0
161161 else if ((heightOfVoting > currentHeight))
162162 then (valueOrElse(getInteger(votingForNewPool, (((toString(user) + "_") + toString(voting)) + keyYesVotingForNewPool)), 0) + valueOrElse(getInteger(votingForNewPool, (((toString(user) + "_") + toString(voting)) + keyNoVotingForNewPool)), 0))
163163 else 0
164164 }
165165
166166
167167 func getUserTotalVoteForNewPoolAmount (user) = {
168168 let listOfVoting = [getUserTotalVoteAmountForOnePool(firstActiveVote, user), getUserTotalVoteAmountForOnePool(secondActiveVote, user), getUserTotalVoteAmountForOnePool(thirdActiveVote, user)]
169169 max(listOfVoting)
170170 }
171171
172172
173173 func getTotalSWOPLocked () = valueOrElse(getInteger(this, keyTotalSWOPLocked), 0)
174174
175175
176176 func getUserVoteInfo (user) = {
177- let $t059516502 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
177+ let $t060796630 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
178178 then {
179179 let data = split(valueOrErrorMessage(getString(votingLiteContract, (toString(user) + kUserTotalStruc)), "Empty kUserTotalStruc"), "_")
180180 $Tuple3(parseIntValue(data[0]), parseIntValue(data[1]), parseIntValue(data[2]))
181181 }
182182 else {
183183 let uPoolTotalSWOP = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
184184 $Tuple3(uPoolTotalSWOP, 0, currVotingPeriod)
185185 }
186- let userTotalVoteSWOP = $t059516502._1
187- let userUnvoted = $t059516502._2
188- let userUnvotedPeriod = $t059516502._3
186+ let userTotalVoteSWOP = $t060796630._1
187+ let userUnvoted = $t060796630._2
188+ let userUnvotedPeriod = $t060796630._3
189189 let userUnvotedActual = if ((userUnvotedPeriod == currVotingPeriod))
190190 then userUnvoted
191191 else 0
192192 $Tuple2(userTotalVoteSWOP, userUnvotedActual)
193193 }
194194
195195
196196 func getUserVoteOptionAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserVoteOptionAmount)), 0)
197197
198198
199199 func getVotingStartHeight (voteName) = valueOrElse(getInteger(this, (voteName + keyVotingStartHeight)), 0)
200200
201201
202202 func getPoolUpdateHeight (pool) = valueOrElse(getInteger(this, (pool + keyHeightPoolFraction)), 0)
203203
204204
205205 func isDefinePoolUpdateHeight (pool) = isDefined(getInteger(this, (pool + keyHeightPoolFraction)))
206206
207207
208208 func getCurPoolWeight (pool) = valueOrElse(getInteger(this, (pool + keyRewardPoolFractionCurrent)), 0)
209209
210210
211211 func getVoteOptionAmount (user,voteName,option) = {
212212 let userVoteOptionAmount = getInteger(this, (((voteName + option) + toString(user)) + keyUserVoteOptionAmount))
213213 let uvoa = match userVoteOptionAmount {
214214 case uvoa: Int =>
215215 uvoa
216216 case uvoa: Unit =>
217217 0
218218 case _ =>
219219 throw("Match error")
220220 }
221221 valueOrErrorMessage(uvoa, (((("No data on the key: " + voteName) + option) + toString(user)) + keyUserVoteOptionAmount))
222222 }
223223
224224
225225 func getVoteDuration (voteName) = valueOrErrorMessage(getInteger(this, (voteName + keyVoteDuration)), (("No data on the key: " + voteName) + keyVoteDuration))
226226
227227
228228 func getTotalVoteOptionAmount (voteName,option) = {
229229 let totalVoteOptionAmount = getInteger(this, ((voteName + option) + keyTotalVoteOptionAmount))
230230 let tvoa = match totalVoteOptionAmount {
231231 case tvoa: Int =>
232232 tvoa
233233 case tvoa: Unit =>
234234 0
235235 case _ =>
236236 throw("Match error")
237237 }
238238 tvoa
239239 }
240240
241241
242242 func getUserGetBackAmount (voteName,option,user,getBackSWOPHeight) = {
243243 let key = ((((((voteName + "_") + option) + "_") + toString(user)) + "_") + toString(getBackSWOPHeight))
244244 valueOrErrorMessage(getInteger(this, key), ("No data on the key: " + key))
245245 }
246246
247247
248248 func claimCalc (caller) = {
249249 let lastInterest = getLastInterestInfo()
250- let $t087548834 = getUserInterestInfo(caller, lastInterest)
251- let userLastInterest = $t087548834._1
252- let userSWOPLocked = $t087548834._2
250+ let $t088828962 = getUserInterestInfo(caller, lastInterest)
251+ let userLastInterest = $t088828962._1
252+ let userSWOPLocked = $t088828962._2
253253 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
254254 let userNewInterest = lastInterest
255255 $Tuple2(userNewInterest, claimAmount)
256256 }
257257
258258
259259 @Callable(i)
260260 func airDrop () = if (!(isActive))
261261 then throw("DApp is inactive at this moment")
262262 else {
263- let $t090999174 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
264- let pmtAmount = $t090999174._1
265- let pmtAssetId = $t090999174._2
263+ let $t092279302 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
264+ let pmtAmount = $t092279302._1
265+ let pmtAssetId = $t092279302._2
266266 if ((pmtAssetId != SWOP))
267267 then throw("Incorrect pmtAssetId")
268268 else {
269269 let totalSWOPLocked = getTotalSWOPLocked()
270270 let lastInterest = getLastInterestInfo()
271271 let interestNew = (lastInterest + fraction(pmtAmount, scaleValue, totalSWOPLocked))
272272 [IntegerEntry(keyLastInterest, interestNew)]
273273 }
274274 }
275275
276276
277277
278278 @Callable(i)
279279 func lockSWOP () = if (!(isActive))
280280 then throw("DApp is inactive at this moment")
281281 else {
282- let $t096129687 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
283- let pmtAmount = $t096129687._1
284- let pmtAssetId = $t096129687._2
282+ let $t097409815 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
283+ let pmtAmount = $t097409815._1
284+ let pmtAssetId = $t097409815._2
285285 if ((pmtAssetId != SWOP))
286286 then throw("Incorrect pmtAssetId")
287287 else {
288288 let lastInterest = getLastInterestInfo()
289- let $t098039885 = getUserInterestInfo(i.caller, lastInterest)
290- let userLastInterest = $t098039885._1
291- let userSWOPLocked = $t098039885._2
289+ let $t0993110013 = getUserInterestInfo(i.caller, lastInterest)
290+ let userLastInterest = $t0993110013._1
291+ let userSWOPLocked = $t0993110013._2
292292 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
293293 let userSWOPLockedNew = ((userSWOPLocked + pmtAmount) + claimAmount)
294294 let userNewInterest = lastInterest
295295 let totalSWOPLocked = getTotalSWOPLocked()
296296 let totalSWOPLockedNew = ((totalSWOPLocked + pmtAmount) + claimAmount)
297297 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
298298 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
299299 [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)]
300300 }
301301 }
302302
303303
304304
305305 @Callable(i)
306306 func withdrawSWOP (withdrawAmount) = if (!(isActive))
307307 then throw("DApp is inactive at this moment")
308308 else if ((0 >= withdrawAmount))
309309 then throw("withdrawAmount <= 0")
310310 else {
311311 let totalSWOPLocked = getTotalSWOPLocked()
312312 let userSWOPLocked = getUserSWOPLocked(i.caller)
313- let $t01103511090 = claimCalc(i.caller)
314- let userNewInterest = $t01103511090._1
315- let claimAmount = $t01103511090._2
316- let $t01109511160 = getUserVoteInfo(i.caller)
317- let userVoteAmount = $t01109511160._1
318- let userUnvoteAmount = $t01109511160._2
313+ let $t01116311218 = claimCalc(i.caller)
314+ let userNewInterest = $t01116311218._1
315+ let claimAmount = $t01116311218._2
316+ let $t01122311288 = getUserVoteInfo(i.caller)
317+ let userVoteAmount = $t01122311288._1
318+ let userUnvoteAmount = $t01122311288._2
319319 let userVoteAmountForNewPool = getUserTotalVoteForNewPoolAmount(i.caller)
320320 if (if (if ((0 > userUnvoteAmount))
321321 then true
322322 else (0 > userVoteAmount))
323323 then true
324324 else (0 > userVoteAmountForNewPool))
325325 then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0")
326326 else {
327327 let availableToUnstake = (userSWOPLocked - max([userVoteAmountForNewPool, (userVoteAmount + userUnvoteAmount)]))
328328 if ((withdrawAmount > availableToUnstake))
329329 then throw("withdrawAmount > availableToUnstake")
330330 else {
331331 let totalSWOPLockedNew = ((totalSWOPLocked + claimAmount) - withdrawAmount)
332332 let userSWOPamountNew = ((userSWOPLocked + claimAmount) - withdrawAmount)
333333 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
334334 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
335335 [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)]
336336 }
337337 }
338338 }
339339
340340
341341
342342 @Callable(i)
343343 func claimAndWithdrawSWOP () = if (!(isActive))
344344 then throw("DApp is inactive at this moment")
345345 else {
346346 let lastInterest = getLastInterestInfo()
347- let $t01253512590 = claimCalc(i.caller)
348- let userNewInterest = $t01253512590._1
349- let claimAmount = $t01253512590._2
347+ let $t01266312718 = claimCalc(i.caller)
348+ let userNewInterest = $t01266312718._1
349+ let claimAmount = $t01266312718._2
350350 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
351351 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
352352 if ((claimAmount == 0))
353353 then throw("You have 0 available SWOP")
354354 else [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount), ScriptTransfer(i.caller, claimAmount, SWOP)]
355355 }
356356
357357
358358
359359 @Callable(i)
360360 func claimAndStakeSWOP () = if (!(isActive))
361361 then throw("DApp is inactive at this moment")
362362 else {
363363 let totalSWOPLocked = getTotalSWOPLocked()
364364 let userSWOPLocked = getUserSWOPLocked(i.caller)
365365 let lastInterest = getLastInterestInfo()
366- let $t01336913424 = claimCalc(i.caller)
367- let userNewInterest = $t01336913424._1
368- let claimAmount = $t01336913424._2
366+ let $t01349713552 = claimCalc(i.caller)
367+ let userNewInterest = $t01349713552._1
368+ let claimAmount = $t01349713552._2
369369 let userSWOPLockedNew = (userSWOPLocked + claimAmount)
370370 let totalSWOPLockedNew = (totalSWOPLocked + claimAmount)
371371 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
372372 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
373373 if ((claimAmount == 0))
374374 then throw("You have 0 available SWOP")
375375 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)]
376376 }
377377
378378
379379
380380 @Callable(i)
381381 func updateWeights (previousPools,previousRewards,currentPools,currentRewards,rewardUpdateHeight,pagination) = if (!(isActive))
382382 then throw("DApp is inactive at this moment")
383383 else {
384384 let amountPools = 10
385385 let totalRewardUpdateHeight = valueOrElse(getInteger(this, keyRewardUpdateHeight), 0)
386386 if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop, adminPubKeyWallet], i.callerPublicKey)))
387387 then throw("Only admin can call this function")
388388 else if (if ((size(previousPools) > amountPools))
389389 then true
390390 else (size(currentPools) > amountPools))
391391 then throw(("Max amount of pool is " + toString(amountPools)))
392392 else if ((totalRewardUpdateHeight >= rewardUpdateHeight))
393- then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
393+ then throw(((("rewardUpdateHeight <= totalRewardUpdateHeight; rewardUpdateHeight: " + toString(rewardUpdateHeight)) + "; totalRewardUpdateHeight: ") + toString(totalRewardUpdateHeight)))
394394 else if ((height >= rewardUpdateHeight))
395395 then throw("height >= rewardUpdateHeight")
396396 else if ((0 >= rewardUpdateHeight))
397397 then throw("0 >= rewardUpdateHeight ")
398398 else {
399399 func sum (a,b) = (a + b)
400400
401401 func changePreviousRewardEntry (accumulated,pool) = {
402402 let poolRewardUpdateHeight = getPoolUpdateHeight(pool)
403403 if (!(isDefinePoolUpdateHeight(pool)))
404404 then {
405405 let poolReward = getCurPoolWeight(pool)
406406 IntegerEntry((pool + keyRewardPoolFractionPrevious), poolReward) :: accumulated
407407 }
408408 else if ((rewardUpdateHeight != poolRewardUpdateHeight))
409409 then if ((poolRewardUpdateHeight == totalRewardUpdateHeight))
410410 then {
411411 let poolReward = getCurPoolWeight(pool)
412412 IntegerEntry((pool + keyRewardPoolFractionPrevious), poolReward) :: accumulated
413413 }
414414 else nil
415415 else nil
416416 }
417417
418418 func changeCurrentRewardEntry (accumulated,pool) = {
419419 let poolIndex = value(indexOf(currentPools, pool))
420420 let poolReward = currentRewards[poolIndex]
421421 if ((0 > poolReward))
422422 then throw("PoolReward < 0")
423423 else IntegerEntry((pool + keyRewardPoolFractionCurrent), poolReward) :: accumulated
424424 }
425425
426426 func changeHeightEntry (accumulated,pool) = {
427427 let poolHeight = rewardUpdateHeight
428428 IntegerEntry((pool + keyHeightPoolFraction), poolHeight) :: accumulated
429429 }
430430
431431 func getSumReward (prevTempSum,curTempSum,pagination) = if ((pagination == 0))
432432 then if (if ((prevTempSum > totalVoteShare))
433433 then true
434434 else (curTempSum > totalVoteShare))
435- then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString(prevTempSum)) + " ") + toString(curTempSum)))
435+ then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare: " + toString(pagination)) + " ") + toString(prevTempSum)) + " ") + toString(curTempSum)))
436436 else $Tuple3([IntegerEntry(keyTempPrevSum, prevTempSum)], [IntegerEntry(keyTempCurSum, curTempSum)], [IntegerEntry(keyRewardUpdateFirstPaginationHeight, rewardUpdateHeight)])
437437 else if ((pagination == 1))
438438 then {
439439 let prevTempSumFromKey = valueOrElse(getInteger(this, keyTempPrevSum), 0)
440440 let curTempSumFromKey = valueOrElse(getInteger(this, keyTempCurSum), 0)
441441 let rewardUpdateHeightFirstPaginationEntry = valueOrElse(getInteger(this, keyRewardUpdateFirstPaginationHeight), 0)
442442 if (if (((prevTempSum + prevTempSumFromKey) > totalVoteShare))
443443 then true
444444 else ((curTempSum + curTempSumFromKey) > totalVoteShare))
445- then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString((prevTempSum + prevTempSumFromKey))) + " ") + toString((curTempSum + curTempSumFromKey))))
445+ then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare: " + toString(pagination)) + " ") + toString((prevTempSum + prevTempSumFromKey))) + " ") + toString((curTempSum + curTempSumFromKey))))
446446 else if ((rewardUpdateHeightFirstPaginationEntry != rewardUpdateHeight))
447- then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
447+ then throw(((("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry; rewardUpdateHeight: " + toString(rewardUpdateHeight)) + " rewardUpdateHeightFirstPaginationEntry: ") + toString(rewardUpdateHeightFirstPaginationEntry)))
448448 else $Tuple3([IntegerEntry(keyTempPrevSum, (prevTempSum + prevTempSumFromKey))], [IntegerEntry(keyTempCurSum, (curTempSum + curTempSumFromKey))], nil)
449449 }
450450 else if ((pagination == 2))
451451 then {
452452 let prevSum = (valueOrElse(getInteger(this, keyTempPrevSum), 0) + prevTempSum)
453453 let curSum = (valueOrElse(getInteger(this, keyTempCurSum), 0) + curTempSum)
454454 let rewardUpdateHeightFirstPaginationEntry = valueOrElse(getInteger(this, keyRewardUpdateFirstPaginationHeight), 0)
455455 if (if ((prevSum != totalVoteShare))
456456 then true
457457 else (curSum != totalVoteShare))
458458 then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
459459 else if ((rewardUpdateHeightFirstPaginationEntry != rewardUpdateHeight))
460460 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
461461 else $Tuple3([IntegerEntry(keyTempPrevSum, prevSum)], [IntegerEntry(keyTempCurSum, curSum)], nil)
462462 }
463- else throw("Incorrect pagination")
463+ else throw(("Incorrect pagination: " + toString(pagination)))
464464
465465 let sumRewardPreviousTemp = {
466- let $list1901419047 = previousRewards
467- let $size1901419047 = size($list1901419047)
468- let $acc01901419047 = 0
469- if (($size1901419047 == 0))
470- then $acc01901419047
466+ let $list1945919492 = previousRewards
467+ let $size1945919492 = size($list1945919492)
468+ let $acc01945919492 = 0
469+ if (($size1945919492 == 0))
470+ then $acc01945919492
471471 else {
472- let $acc11901419047 = sum($acc01901419047, $list1901419047[0])
473- if (($size1901419047 == 1))
474- then $acc11901419047
472+ let $acc11945919492 = sum($acc01945919492, $list1945919492[0])
473+ if (($size1945919492 == 1))
474+ then $acc11945919492
475475 else {
476- let $acc21901419047 = sum($acc11901419047, $list1901419047[1])
477- if (($size1901419047 == 2))
478- then $acc21901419047
476+ let $acc21945919492 = sum($acc11945919492, $list1945919492[1])
477+ if (($size1945919492 == 2))
478+ then $acc21945919492
479479 else {
480- let $acc31901419047 = sum($acc21901419047, $list1901419047[2])
481- if (($size1901419047 == 3))
482- then $acc31901419047
480+ let $acc31945919492 = sum($acc21945919492, $list1945919492[2])
481+ if (($size1945919492 == 3))
482+ then $acc31945919492
483483 else {
484- let $acc41901419047 = sum($acc31901419047, $list1901419047[3])
485- if (($size1901419047 == 4))
486- then $acc41901419047
484+ let $acc41945919492 = sum($acc31945919492, $list1945919492[3])
485+ if (($size1945919492 == 4))
486+ then $acc41945919492
487487 else {
488- let $acc51901419047 = sum($acc41901419047, $list1901419047[4])
489- if (($size1901419047 == 5))
490- then $acc51901419047
488+ let $acc51945919492 = sum($acc41945919492, $list1945919492[4])
489+ if (($size1945919492 == 5))
490+ then $acc51945919492
491491 else {
492- let $acc61901419047 = sum($acc51901419047, $list1901419047[5])
493- if (($size1901419047 == 6))
494- then $acc61901419047
492+ let $acc61945919492 = sum($acc51945919492, $list1945919492[5])
493+ if (($size1945919492 == 6))
494+ then $acc61945919492
495495 else {
496- let $acc71901419047 = sum($acc61901419047, $list1901419047[6])
497- if (($size1901419047 == 7))
498- then $acc71901419047
496+ let $acc71945919492 = sum($acc61945919492, $list1945919492[6])
497+ if (($size1945919492 == 7))
498+ then $acc71945919492
499499 else {
500- let $acc81901419047 = sum($acc71901419047, $list1901419047[7])
501- if (($size1901419047 == 8))
502- then $acc81901419047
500+ let $acc81945919492 = sum($acc71945919492, $list1945919492[7])
501+ if (($size1945919492 == 8))
502+ then $acc81945919492
503503 else {
504- let $acc91901419047 = sum($acc81901419047, $list1901419047[8])
505- if (($size1901419047 == 9))
506- then $acc91901419047
504+ let $acc91945919492 = sum($acc81945919492, $list1945919492[8])
505+ if (($size1945919492 == 9))
506+ then $acc91945919492
507507 else {
508- let $acc101901419047 = sum($acc91901419047, $list1901419047[9])
509- if (($size1901419047 == 10))
510- then $acc101901419047
508+ let $acc101945919492 = sum($acc91945919492, $list1945919492[9])
509+ if (($size1945919492 == 10))
510+ then $acc101945919492
511511 else {
512- let $acc111901419047 = sum($acc101901419047, $list1901419047[10])
512+ let $acc111945919492 = sum($acc101945919492, $list1945919492[10])
513513 throw("List size exceed 10")
514514 }
515515 }
516516 }
517517 }
518518 }
519519 }
520520 }
521521 }
522522 }
523523 }
524524 }
525525 }
526526 let sumRewardCurrentTemp = {
527- let $list1908019112 = currentRewards
528- let $size1908019112 = size($list1908019112)
529- let $acc01908019112 = 0
530- if (($size1908019112 == 0))
531- then $acc01908019112
527+ let $list1952519557 = currentRewards
528+ let $size1952519557 = size($list1952519557)
529+ let $acc01952519557 = 0
530+ if (($size1952519557 == 0))
531+ then $acc01952519557
532532 else {
533- let $acc11908019112 = sum($acc01908019112, $list1908019112[0])
534- if (($size1908019112 == 1))
535- then $acc11908019112
533+ let $acc11952519557 = sum($acc01952519557, $list1952519557[0])
534+ if (($size1952519557 == 1))
535+ then $acc11952519557
536536 else {
537- let $acc21908019112 = sum($acc11908019112, $list1908019112[1])
538- if (($size1908019112 == 2))
539- then $acc21908019112
537+ let $acc21952519557 = sum($acc11952519557, $list1952519557[1])
538+ if (($size1952519557 == 2))
539+ then $acc21952519557
540540 else {
541- let $acc31908019112 = sum($acc21908019112, $list1908019112[2])
542- if (($size1908019112 == 3))
543- then $acc31908019112
541+ let $acc31952519557 = sum($acc21952519557, $list1952519557[2])
542+ if (($size1952519557 == 3))
543+ then $acc31952519557
544544 else {
545- let $acc41908019112 = sum($acc31908019112, $list1908019112[3])
546- if (($size1908019112 == 4))
547- then $acc41908019112
545+ let $acc41952519557 = sum($acc31952519557, $list1952519557[3])
546+ if (($size1952519557 == 4))
547+ then $acc41952519557
548548 else {
549- let $acc51908019112 = sum($acc41908019112, $list1908019112[4])
550- if (($size1908019112 == 5))
551- then $acc51908019112
549+ let $acc51952519557 = sum($acc41952519557, $list1952519557[4])
550+ if (($size1952519557 == 5))
551+ then $acc51952519557
552552 else {
553- let $acc61908019112 = sum($acc51908019112, $list1908019112[5])
554- if (($size1908019112 == 6))
555- then $acc61908019112
553+ let $acc61952519557 = sum($acc51952519557, $list1952519557[5])
554+ if (($size1952519557 == 6))
555+ then $acc61952519557
556556 else {
557- let $acc71908019112 = sum($acc61908019112, $list1908019112[6])
558- if (($size1908019112 == 7))
559- then $acc71908019112
557+ let $acc71952519557 = sum($acc61952519557, $list1952519557[6])
558+ if (($size1952519557 == 7))
559+ then $acc71952519557
560560 else {
561- let $acc81908019112 = sum($acc71908019112, $list1908019112[7])
562- if (($size1908019112 == 8))
563- then $acc81908019112
561+ let $acc81952519557 = sum($acc71952519557, $list1952519557[7])
562+ if (($size1952519557 == 8))
563+ then $acc81952519557
564564 else {
565- let $acc91908019112 = sum($acc81908019112, $list1908019112[8])
566- if (($size1908019112 == 9))
567- then $acc91908019112
565+ let $acc91952519557 = sum($acc81952519557, $list1952519557[8])
566+ if (($size1952519557 == 9))
567+ then $acc91952519557
568568 else {
569- let $acc101908019112 = sum($acc91908019112, $list1908019112[9])
570- if (($size1908019112 == 10))
571- then $acc101908019112
569+ let $acc101952519557 = sum($acc91952519557, $list1952519557[9])
570+ if (($size1952519557 == 10))
571+ then $acc101952519557
572572 else {
573- let $acc111908019112 = sum($acc101908019112, $list1908019112[10])
573+ let $acc111952519557 = sum($acc101952519557, $list1952519557[10])
574574 throw("List size exceed 10")
575575 }
576576 }
577577 }
578578 }
579579 }
580580 }
581581 }
582582 }
583583 }
584584 }
585585 }
586586 }
587- let $t01911819271 = getSumReward(sumRewardPreviousTemp, sumRewardCurrentTemp, pagination)
588- let sumRewardPrevious = $t01911819271._1
589- let sumRewardCurrent = $t01911819271._2
590- let rewardUpdateHeightFirstPaginationEntry = $t01911819271._3
587+ let $t01956319716 = getSumReward(sumRewardPreviousTemp, sumRewardCurrentTemp, pagination)
588+ let sumRewardPrevious = $t01956319716._1
589+ let sumRewardCurrent = $t01956319716._2
590+ let rewardUpdateHeightFirstPaginationEntry = $t01956319716._3
591591 let rewardUpdateHeightEntry = if ((pagination == 2))
592592 then [IntegerEntry(keyRewardUpdateHeight, rewardUpdateHeight)]
593593 else nil
594594 if ((height > rewardUpdateHeight))
595595 then throw("rewardUpdateHeight < height")
596596 else {
597597 let previousRewardEntryNew = {
598- let $list1952119575 = previousPools
599- let $size1952119575 = size($list1952119575)
600- let $acc01952119575 = nil
601- if (($size1952119575 == 0))
602- then $acc01952119575
598+ let $list1996620020 = previousPools
599+ let $size1996620020 = size($list1996620020)
600+ let $acc01996620020 = nil
601+ if (($size1996620020 == 0))
602+ then $acc01996620020
603603 else {
604- let $acc11952119575 = changePreviousRewardEntry($acc01952119575, $list1952119575[0])
605- if (($size1952119575 == 1))
606- then $acc11952119575
604+ let $acc11996620020 = changePreviousRewardEntry($acc01996620020, $list1996620020[0])
605+ if (($size1996620020 == 1))
606+ then $acc11996620020
607607 else {
608- let $acc21952119575 = changePreviousRewardEntry($acc11952119575, $list1952119575[1])
609- if (($size1952119575 == 2))
610- then $acc21952119575
608+ let $acc21996620020 = changePreviousRewardEntry($acc11996620020, $list1996620020[1])
609+ if (($size1996620020 == 2))
610+ then $acc21996620020
611611 else {
612- let $acc31952119575 = changePreviousRewardEntry($acc21952119575, $list1952119575[2])
613- if (($size1952119575 == 3))
614- then $acc31952119575
612+ let $acc31996620020 = changePreviousRewardEntry($acc21996620020, $list1996620020[2])
613+ if (($size1996620020 == 3))
614+ then $acc31996620020
615615 else {
616- let $acc41952119575 = changePreviousRewardEntry($acc31952119575, $list1952119575[3])
617- if (($size1952119575 == 4))
618- then $acc41952119575
616+ let $acc41996620020 = changePreviousRewardEntry($acc31996620020, $list1996620020[3])
617+ if (($size1996620020 == 4))
618+ then $acc41996620020
619619 else {
620- let $acc51952119575 = changePreviousRewardEntry($acc41952119575, $list1952119575[4])
621- if (($size1952119575 == 5))
622- then $acc51952119575
620+ let $acc51996620020 = changePreviousRewardEntry($acc41996620020, $list1996620020[4])
621+ if (($size1996620020 == 5))
622+ then $acc51996620020
623623 else {
624- let $acc61952119575 = changePreviousRewardEntry($acc51952119575, $list1952119575[5])
625- if (($size1952119575 == 6))
626- then $acc61952119575
624+ let $acc61996620020 = changePreviousRewardEntry($acc51996620020, $list1996620020[5])
625+ if (($size1996620020 == 6))
626+ then $acc61996620020
627627 else {
628- let $acc71952119575 = changePreviousRewardEntry($acc61952119575, $list1952119575[6])
629- if (($size1952119575 == 7))
630- then $acc71952119575
628+ let $acc71996620020 = changePreviousRewardEntry($acc61996620020, $list1996620020[6])
629+ if (($size1996620020 == 7))
630+ then $acc71996620020
631631 else {
632- let $acc81952119575 = changePreviousRewardEntry($acc71952119575, $list1952119575[7])
633- if (($size1952119575 == 8))
634- then $acc81952119575
632+ let $acc81996620020 = changePreviousRewardEntry($acc71996620020, $list1996620020[7])
633+ if (($size1996620020 == 8))
634+ then $acc81996620020
635635 else {
636- let $acc91952119575 = changePreviousRewardEntry($acc81952119575, $list1952119575[8])
637- if (($size1952119575 == 9))
638- then $acc91952119575
636+ let $acc91996620020 = changePreviousRewardEntry($acc81996620020, $list1996620020[8])
637+ if (($size1996620020 == 9))
638+ then $acc91996620020
639639 else {
640- let $acc101952119575 = changePreviousRewardEntry($acc91952119575, $list1952119575[9])
641- if (($size1952119575 == 10))
642- then $acc101952119575
640+ let $acc101996620020 = changePreviousRewardEntry($acc91996620020, $list1996620020[9])
641+ if (($size1996620020 == 10))
642+ then $acc101996620020
643643 else {
644- let $acc111952119575 = changePreviousRewardEntry($acc101952119575, $list1952119575[10])
644+ let $acc111996620020 = changePreviousRewardEntry($acc101996620020, $list1996620020[10])
645645 throw("List size exceed 10")
646646 }
647647 }
648648 }
649649 }
650650 }
651651 }
652652 }
653653 }
654654 }
655655 }
656656 }
657657 }
658658 let currentRewardEntryNew = {
659- let $list1960819660 = currentPools
660- let $size1960819660 = size($list1960819660)
661- let $acc01960819660 = nil
662- if (($size1960819660 == 0))
663- then $acc01960819660
659+ let $list2005320105 = currentPools
660+ let $size2005320105 = size($list2005320105)
661+ let $acc02005320105 = nil
662+ if (($size2005320105 == 0))
663+ then $acc02005320105
664664 else {
665- let $acc11960819660 = changeCurrentRewardEntry($acc01960819660, $list1960819660[0])
666- if (($size1960819660 == 1))
667- then $acc11960819660
665+ let $acc12005320105 = changeCurrentRewardEntry($acc02005320105, $list2005320105[0])
666+ if (($size2005320105 == 1))
667+ then $acc12005320105
668668 else {
669- let $acc21960819660 = changeCurrentRewardEntry($acc11960819660, $list1960819660[1])
670- if (($size1960819660 == 2))
671- then $acc21960819660
669+ let $acc22005320105 = changeCurrentRewardEntry($acc12005320105, $list2005320105[1])
670+ if (($size2005320105 == 2))
671+ then $acc22005320105
672672 else {
673- let $acc31960819660 = changeCurrentRewardEntry($acc21960819660, $list1960819660[2])
674- if (($size1960819660 == 3))
675- then $acc31960819660
673+ let $acc32005320105 = changeCurrentRewardEntry($acc22005320105, $list2005320105[2])
674+ if (($size2005320105 == 3))
675+ then $acc32005320105
676676 else {
677- let $acc41960819660 = changeCurrentRewardEntry($acc31960819660, $list1960819660[3])
678- if (($size1960819660 == 4))
679- then $acc41960819660
677+ let $acc42005320105 = changeCurrentRewardEntry($acc32005320105, $list2005320105[3])
678+ if (($size2005320105 == 4))
679+ then $acc42005320105
680680 else {
681- let $acc51960819660 = changeCurrentRewardEntry($acc41960819660, $list1960819660[4])
682- if (($size1960819660 == 5))
683- then $acc51960819660
681+ let $acc52005320105 = changeCurrentRewardEntry($acc42005320105, $list2005320105[4])
682+ if (($size2005320105 == 5))
683+ then $acc52005320105
684684 else {
685- let $acc61960819660 = changeCurrentRewardEntry($acc51960819660, $list1960819660[5])
686- if (($size1960819660 == 6))
687- then $acc61960819660
685+ let $acc62005320105 = changeCurrentRewardEntry($acc52005320105, $list2005320105[5])
686+ if (($size2005320105 == 6))
687+ then $acc62005320105
688688 else {
689- let $acc71960819660 = changeCurrentRewardEntry($acc61960819660, $list1960819660[6])
690- if (($size1960819660 == 7))
691- then $acc71960819660
689+ let $acc72005320105 = changeCurrentRewardEntry($acc62005320105, $list2005320105[6])
690+ if (($size2005320105 == 7))
691+ then $acc72005320105
692692 else {
693- let $acc81960819660 = changeCurrentRewardEntry($acc71960819660, $list1960819660[7])
694- if (($size1960819660 == 8))
695- then $acc81960819660
693+ let $acc82005320105 = changeCurrentRewardEntry($acc72005320105, $list2005320105[7])
694+ if (($size2005320105 == 8))
695+ then $acc82005320105
696696 else {
697- let $acc91960819660 = changeCurrentRewardEntry($acc81960819660, $list1960819660[8])
698- if (($size1960819660 == 9))
699- then $acc91960819660
697+ let $acc92005320105 = changeCurrentRewardEntry($acc82005320105, $list2005320105[8])
698+ if (($size2005320105 == 9))
699+ then $acc92005320105
700700 else {
701- let $acc101960819660 = changeCurrentRewardEntry($acc91960819660, $list1960819660[9])
702- if (($size1960819660 == 10))
703- then $acc101960819660
701+ let $acc102005320105 = changeCurrentRewardEntry($acc92005320105, $list2005320105[9])
702+ if (($size2005320105 == 10))
703+ then $acc102005320105
704704 else {
705- let $acc111960819660 = changeCurrentRewardEntry($acc101960819660, $list1960819660[10])
705+ let $acc112005320105 = changeCurrentRewardEntry($acc102005320105, $list2005320105[10])
706706 throw("List size exceed 10")
707707 }
708708 }
709709 }
710710 }
711711 }
712712 }
713713 }
714714 }
715715 }
716716 }
717717 }
718718 }
719719 let heightEntryNewCur = {
720- let $list1968919734 = currentPools
721- let $size1968919734 = size($list1968919734)
722- let $acc01968919734 = nil
723- if (($size1968919734 == 0))
724- then $acc01968919734
720+ let $list2013420179 = currentPools
721+ let $size2013420179 = size($list2013420179)
722+ let $acc02013420179 = nil
723+ if (($size2013420179 == 0))
724+ then $acc02013420179
725725 else {
726- let $acc11968919734 = changeHeightEntry($acc01968919734, $list1968919734[0])
727- if (($size1968919734 == 1))
728- then $acc11968919734
726+ let $acc12013420179 = changeHeightEntry($acc02013420179, $list2013420179[0])
727+ if (($size2013420179 == 1))
728+ then $acc12013420179
729729 else {
730- let $acc21968919734 = changeHeightEntry($acc11968919734, $list1968919734[1])
731- if (($size1968919734 == 2))
732- then $acc21968919734
730+ let $acc22013420179 = changeHeightEntry($acc12013420179, $list2013420179[1])
731+ if (($size2013420179 == 2))
732+ then $acc22013420179
733733 else {
734- let $acc31968919734 = changeHeightEntry($acc21968919734, $list1968919734[2])
735- if (($size1968919734 == 3))
736- then $acc31968919734
734+ let $acc32013420179 = changeHeightEntry($acc22013420179, $list2013420179[2])
735+ if (($size2013420179 == 3))
736+ then $acc32013420179
737737 else {
738- let $acc41968919734 = changeHeightEntry($acc31968919734, $list1968919734[3])
739- if (($size1968919734 == 4))
740- then $acc41968919734
738+ let $acc42013420179 = changeHeightEntry($acc32013420179, $list2013420179[3])
739+ if (($size2013420179 == 4))
740+ then $acc42013420179
741741 else {
742- let $acc51968919734 = changeHeightEntry($acc41968919734, $list1968919734[4])
743- if (($size1968919734 == 5))
744- then $acc51968919734
742+ let $acc52013420179 = changeHeightEntry($acc42013420179, $list2013420179[4])
743+ if (($size2013420179 == 5))
744+ then $acc52013420179
745745 else {
746- let $acc61968919734 = changeHeightEntry($acc51968919734, $list1968919734[5])
747- if (($size1968919734 == 6))
748- then $acc61968919734
746+ let $acc62013420179 = changeHeightEntry($acc52013420179, $list2013420179[5])
747+ if (($size2013420179 == 6))
748+ then $acc62013420179
749749 else {
750- let $acc71968919734 = changeHeightEntry($acc61968919734, $list1968919734[6])
751- if (($size1968919734 == 7))
752- then $acc71968919734
750+ let $acc72013420179 = changeHeightEntry($acc62013420179, $list2013420179[6])
751+ if (($size2013420179 == 7))
752+ then $acc72013420179
753753 else {
754- let $acc81968919734 = changeHeightEntry($acc71968919734, $list1968919734[7])
755- if (($size1968919734 == 8))
756- then $acc81968919734
754+ let $acc82013420179 = changeHeightEntry($acc72013420179, $list2013420179[7])
755+ if (($size2013420179 == 8))
756+ then $acc82013420179
757757 else {
758- let $acc91968919734 = changeHeightEntry($acc81968919734, $list1968919734[8])
759- if (($size1968919734 == 9))
760- then $acc91968919734
758+ let $acc92013420179 = changeHeightEntry($acc82013420179, $list2013420179[8])
759+ if (($size2013420179 == 9))
760+ then $acc92013420179
761761 else {
762- let $acc101968919734 = changeHeightEntry($acc91968919734, $list1968919734[9])
763- if (($size1968919734 == 10))
764- then $acc101968919734
762+ let $acc102013420179 = changeHeightEntry($acc92013420179, $list2013420179[9])
763+ if (($size2013420179 == 10))
764+ then $acc102013420179
765765 else {
766- let $acc111968919734 = changeHeightEntry($acc101968919734, $list1968919734[10])
766+ let $acc112013420179 = changeHeightEntry($acc102013420179, $list2013420179[10])
767767 throw("List size exceed 10")
768768 }
769769 }
770770 }
771771 }
772772 }
773773 }
774774 }
775775 }
776776 }
777777 }
778778 }
779779 }
780780 ((((((previousRewardEntryNew ++ currentRewardEntryNew) ++ heightEntryNewCur) ++ sumRewardPrevious) ++ sumRewardCurrent) ++ rewardUpdateHeightEntry) ++ rewardUpdateHeightFirstPaginationEntry)
781781 }
782782 }
783783 }
784784
785785
786786
787787 @Callable(i)
788788 func shutdown () = if (!(isActive))
789789 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, keyCause), "the cause wasn't specified")))
790790 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
791791 then throw("Only admin can call this function")
792792 else suspend("Paused by admin")
793793
794794
795795
796796 @Callable(i)
797797 func activate () = if (isActive)
798798 then throw("DApp is already active")
799799 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
800800 then throw("Only admin can call this function")
801801 else [BooleanEntry(keyActive, true), DeleteEntry(keyCause)]
802802
803803
804804 @Verifier(tx)
805-func verify () = {
806- let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
807- then 1
808- else 0
809- let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2))
810- then 1
811- else 0
812- let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3))
813- then 1
814- else 0
815- (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2)
816- }
805+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
817806

github/deemru/w8io/169f3d6 
486.02 ms