tx · CMrpsdZpvyY9JKmBLhHF3mbFU74MXQ9bupX2kDDMByFr

3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU:  -0.01400000 Waves

2021.06.13 16:03 [1568601] smart account 3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU > SELF 0.00000000 Waves

{ "type": 13, "id": "CMrpsdZpvyY9JKmBLhHF3mbFU74MXQ9bupX2kDDMByFr", "fee": 1400000, "feeAssetId": null, "timestamp": 1623589401617, "version": 2, "chainId": 84, "sender": "3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU", "senderPublicKey": "AWADFmQjf2WbDSqb24S9YZpix3VEdiBdeiJ2J2sSfQ49", "proofs": [ "5ro5X7Nd8m1PkB4AcishLFWSWRTo2c1K87dWcy1nirPDvxEFKxCF6VKhB4bD8bZQuVVdEjuJs89Xmr2Vre6tUhPf" ], "script": "base64:AAIEAAAAAAAAAB0IAhIAEgASAwoBARIAEgASCAoGGBEYEQEBEgASAAAAAE4AAAAADGFkbWluUHViS2V5MQEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADGFkbWluUHViS2V5MgEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADGFkbWluUHViS2V5MwEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wAQAAACAEz3XlZNDBD05nuR8TZMQaDeqEJEIxfTOQXUBYCp2TSgAAAAARYWRtaW5QdWJLZXlXYWxsZXQBAAAAID53WmVaVsn8KVcztbwNRS3KzKf4hZION3dY82IVUhQSAAAAAAlrZXlBY3RpdmUCAAAABmFjdGl2ZQAAAAAIa2V5Q2F1c2UCAAAADnNodXRkb3duX2NhdXNlAAAAAA9rZXlMYXN0SW50ZXJlc3QCAAAADWxhc3RfaW50ZXJlc3QAAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QCAAAADl9sYXN0X2ludGVyZXN0AAAAABFrZXlVc2VyU1dPUExvY2tlZAIAAAAMX1NXT1BfYW1vdW50AAAAABRrZXlVc2VyR2V0QmFja0hlaWdodAIAAAAOX2dldEJhY2tIZWlnaHQAAAAAEmtleVRvdGFsU1dPUExvY2tlZAIAAAARdG90YWxfU1dPUF9hbW91bnQAAAAAEmtVc2VyVG90YWxWb3RlU1dPUAIAAAAVX3VzZXJfdG90YWxfU1dPUF92b3RlAAAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAIAAAATX1NXT1Bfb3B0aW9uX2Ftb3VudAAAAAAYa2V5VG90YWxWb3RlT3B0aW9uQW1vdW50AgAAABh0b3RhbF9TV09QX29wdGlvbl9hbW91bnQAAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAIAAAAUX1NXT1BfY2xhaW1lZF9hbW91bnQAAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQCAAAAGV9TV09QX2xhc3RfY2xhaW1lZF9hbW91bnQAAAAAC2tleVZvdGVOYW1lAgAAAAl2b3RlX25hbWUAAAAADWtleU9wdGlvbk5hbWUCAAAADF9vcHRpb25fbmFtZQAAAAAUa2V5Vm90aW5nU3RhcnRIZWlnaHQCAAAADF9zdGFydEhlaWdodAAAAAAPa2V5Vm90ZUR1cmF0aW9uAgAAAA5fdm90ZV9kdXJhdGlvbgAAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAIAAAAdX2N1cnJlbnRfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzAgAAAB5fcHJldmlvdXNfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgIAAAAaX3Bvb2xfcmV3YXJkX3VwZGF0ZV9oZWlnaHQAAAAAHWtleVRvdGFsUmV3YXJkUGVyQmxvY2tDdXJyZW50AgAAAB50b3RhbF9yZXdhcmRfcGVyX2Jsb2NrX2N1cnJlbnQAAAAAHmtleVRvdGFsUmV3YXJkUGVyQmxvY2tQcmV2aW91cwIAAAAfdG90YWxfcmV3YXJkX3Blcl9ibG9ja19wcmV2aW91cwAAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AgAAABRyZXdhcmRfdXBkYXRlX2hlaWdodAAAAAAka2V5UmV3YXJkVXBkYXRlRmlyc3RQYWdpbmF0aW9uSGVpZ2h0AgAAACVyZXdhcmRfdXBkYXRlX2hlaWdodF9maXJzdF9wYWdpbmF0aW9uAAAAABVrZXlOb1ZvdGluZ0Zvck5ld1Bvb2wCAAAACF92b3RlX25vAAAAABZrZXlZZXNWb3RpbmdGb3JOZXdQb29sAgAAAAlfdm90ZV95ZXMAAAAAG2tleUFtb3VudE9mVm90aW5nRm9yTmV3UG9vbAIAAAARbWF4X2Ftb3VudF92b3RpbmcAAAAAG2tleVN0YXR1c09mVm90aW5nRm9yTmV3UG9vbAIAAAAHX3N0YXR1cwAAAAAfa2V5SGVpZ2h0T2ZQb29sVm90aW5nRm9yTmV3UG9vbAIAAAAOX2ZpbmlzaF9oZWlnaHQAAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAUdm90aW5nX2FjdGl2ZV9jZWxsXzEAAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8yAAAAAA9hY3RpdmVWb3RlVGhpcmQCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8zAAAAAA5rZXlUZW1wUHJldlN1bQIAAAATc3VtX3Jld2FyZF9wcmV2aW91cwAAAAANa2V5VGVtcEN1clN1bQIAAAASc3VtX3Jld2FyZF9jdXJyZW50AAAAAAhpc0FjdGl2ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUGAAAAABJmYXJtaW5nU1dPUEFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQsS4J2Ro3vGTI9KakEzAv69iHSjreZL2YAAAAAEnZvdGluZ0xpdGVDb250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVBo2ft9Xop0naVz+v/cm1Of7ocNoPiDKfwAAAAAQdm90aW5nRm9yTmV3UG9vbAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVHYh4XkVy3N3fz+gY3RQqyMsWxkYg/NLggAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAARTV09QCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAEmZhcm1pbmdTV09QQWRkcmVzcwUAAAAJa2V5U1dPUGlkAAAAAApzY2FsZVZhbHVlAAAAAAAF9eEAAAAAAA50b3RhbFZvdGVTaGFyZQAAAAACVAvkAAAAAAAMa1N0YXJ0SGVpZ2h0AgAAAAxzdGFydF9oZWlnaHQAAAAAC2tCYXNlUGVyaW9kAgAAAAtiYXNlX3BlcmlvZAAAAAANa1BlcmlvZExlbmd0aAIAAAANcGVyaW9kX2xlbmd0aAAAAAAPa1VzZXJUb3RhbFN0cnVjAgAAABFfdXNlcl90b3RhbF9zdHJ1YwAAAAAKYmFzZVBlcmlvZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAUAAAALa0Jhc2VQZXJpb2QCAAAAJEVtcHR5IGtCYXNlUGVyaW9kIGF0IHZvdGluZyBjb250cmFjdAAAAAALc3RhcnRIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QFAAAADGtTdGFydEhlaWdodAIAAAAlRW1wdHkga1N0YXJ0SGVpZ2h0IGF0IHZvdGluZyBjb250cmFjdAAAAAAMcGVyaW9kTGVuZ3RoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0BQAAAA1rUGVyaW9kTGVuZ3RoAgAAACZFbXB0eSBrUGVyaW9kTGVuZ3RoIGF0IHZvdGluZyBjb250cmFjdAAAAAAPZmlyc3RBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAAAAAAABBzZWNvbmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAAAAAAAAPdGhpcmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVUaGlyZAIAAAAAAAAAABBjdXJyVm90aW5nUGVyaW9kCQAAZAAAAAIFAAAACmJhc2VQZXJpb2QJAABpAAAAAgkAAGUAAAACBQAAAAZoZWlnaHQFAAAAC3N0YXJ0SGVpZ2h0BQAAAAxwZXJpb2RMZW5ndGgBAAAAB3N1c3BlbmQAAAABAAAABWNhdXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACGtleUNhdXNlBQAAAAVjYXVzZQUAAAADbmlsAQAAABJ0aHJvd05vdEVub3VnaFNXT1AAAAAACQAAAgAAAAECAAAARk5vdCBlbm91Z2ggU1dPUDogdXNlclNXT1BMb2NrZWQgLSB1c2VyVG90YWxWb3RlQW1vdW50IDwgdm90ZVNXT1BBbW91bnQBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAPa2V5TGFzdEludGVyZXN0AAAAAAAAAAAABQAAAAxsYXN0SW50ZXJlc3QBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABFrZXlVc2VyU1dPUExvY2tlZAAAAAAAAAAAAAEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQAAAAAAAAAAAABAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAASa1VzZXJUb3RhbFZvdGVTV09QAAAAAAAAAAAAAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgAAAAR1c2VyAAAADGxhc3RJbnRlcmVzdAQAAAAOdXNlclNXT1BBbW91bnQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEFAAAABHVzZXIEAAAAEHVzZXJMYXN0SW50ZXJlc3QJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QEAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQQAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAABB1c2VyTGFzdEludGVyZXN0BQAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBQAAAA51c2VyU1dPUEFtb3VudAEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACAAAABHBvb2wAAAAEdXNlcgQAAAAGdm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAABHBvb2wA//////////8EAAAADmhlaWdodE9mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAH2tleUhlaWdodE9mUG9vbFZvdGluZ0Zvck5ld1Bvb2wAAAAAAAAAAAAEAAAADnN0YXR1c09mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAG2tleVN0YXR1c09mVm90aW5nRm9yTmV3UG9vbAYEAAAADWN1cnJlbnRIZWlnaHQFAAAABmhlaWdodAMJAABmAAAAAgAAAAAAAAAAAAUAAAAGdm90aW5nAAAAAAAAAAAAAwkBAAAAASEAAAABBQAAAA5zdGF0dXNPZlZvdGluZwAAAAAAAAAAAAMJAABmAAAAAgUAAAAOaGVpZ2h0T2ZWb3RpbmcFAAAADWN1cnJlbnRIZWlnaHQJAABkAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABB2b3RpbmdGb3JOZXdQb29sCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXICAAAAAV8JAAGkAAAAAQUAAAAGdm90aW5nBQAAABZrZXlZZXNWb3RpbmdGb3JOZXdQb29sAAAAAAAAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgIAAAABXwkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAFWtleU5vVm90aW5nRm9yTmV3UG9vbAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAgZ2V0VXNlclRvdGFsVm90ZUZvck5ld1Bvb2xBbW91bnQAAAABAAAABHVzZXIEAAAADGxpc3RPZlZvdGluZwkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA9maXJzdEFjdGl2ZVZvdGUFAAAABHVzZXIJAARMAAAAAgkBAAAAIGdldFVzZXJUb3RhbFZvdGVBbW91bnRGb3JPbmVQb29sAAAAAgUAAAAQc2Vjb25kQWN0aXZlVm90ZQUAAAAEdXNlcgkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA90aGlyZEFjdGl2ZVZvdGUFAAAABHVzZXIFAAAAA25pbAkAAZYAAAABBQAAAAxsaXN0T2ZWb3RpbmcBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAASa2V5VG90YWxTV09QTG9ja2VkAAAAAAAAAAAAAQAAAA9nZXRVc2VyVm90ZUluZm8AAAABAAAABHVzZXIEAAAACyR0MDYwODY2NjM3AwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAPa1VzZXJUb3RhbFN0cnVjBAAAAARkYXRhCQAEtQAAAAIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAAA9rVXNlclRvdGFsU3RydWMCAAAAFUVtcHR5IGtVc2VyVG90YWxTdHJ1YwIAAAABXwkABRUAAAADCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEZGF0YQAAAAAAAAAAAAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAABGRhdGEAAAAAAAAAAAEJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAARkYXRhAAAAAAAAAAACBAAAAA51UG9vbFRvdGFsU1dPUAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABJrVXNlclRvdGFsVm90ZVNXT1AAAAAAAAAAAAAJAAUVAAAAAwUAAAAOdVBvb2xUb3RhbFNXT1AAAAAAAAAAAAAFAAAAEGN1cnJWb3RpbmdQZXJpb2QEAAAAEXVzZXJUb3RhbFZvdGVTV09QCAUAAAALJHQwNjA4NjY2MzcAAAACXzEEAAAAC3VzZXJVbnZvdGVkCAUAAAALJHQwNjA4NjY2MzcAAAACXzIEAAAAEXVzZXJVbnZvdGVkUGVyaW9kCAUAAAALJHQwNjA4NjY2MzcAAAACXzMEAAAAEXVzZXJVbnZvdGVkQWN0dWFsAwkAAAAAAAACBQAAABF1c2VyVW52b3RlZFBlcmlvZAUAAAAQY3VyclZvdGluZ1BlcmlvZAUAAAALdXNlclVudm90ZWQAAAAAAAAAAAAJAAUUAAAAAgUAAAARdXNlclRvdGFsVm90ZVNXT1AFAAAAEXVzZXJVbnZvdGVkQWN0dWFsAQAAABdnZXRVc2VyVm90ZU9wdGlvbkFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQAAAAAAAAAAAABAAAAFGdldFZvdGluZ1N0YXJ0SGVpZ2h0AAAAAQAAAAh2b3RlTmFtZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAABRrZXlWb3RpbmdTdGFydEhlaWdodAAAAAAAAAAAAAEAAAATZ2V0UG9vbFVwZGF0ZUhlaWdodAAAAAEAAAAEcG9vbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgAAAAAAAAAAAAEAAAAYaXNEZWZpbmVQb29sVXBkYXRlSGVpZ2h0AAAAAQAAAARwb29sCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgEAAAAQZ2V0Q3VyUG9vbFdlaWdodAAAAAEAAAAEcG9vbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAHGtleVJld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQAAAAAAAAAAAABAAAAE2dldFZvdGVPcHRpb25BbW91bnQAAAADAAAABHVzZXIAAAAIdm90ZU5hbWUAAAAGb3B0aW9uBAAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uCQAEJQAAAAEFAAAABHVzZXIFAAAAF2tleVVzZXJWb3RlT3B0aW9uQW1vdW50BAAAAAR1dm9hBAAAAAckbWF0Y2gwBQAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAR1dm9hBQAAAAckbWF0Y2gwBQAAAAR1dm9hAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAR1dm9hBQAAAAckbWF0Y2gwAAAAAAAAAAAACQAAAgAAAAECAAAAC01hdGNoIGVycm9yCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIFAAAABHV2b2EJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAACHZvdGVOYW1lBQAAAAZvcHRpb24JAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQBAAAAD2dldFZvdGVEdXJhdGlvbgAAAAEAAAAIdm90ZU5hbWUJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAAA9rZXlWb3RlRHVyYXRpb24JAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAIdm90ZU5hbWUFAAAAD2tleVZvdGVEdXJhdGlvbgEAAAAYZ2V0VG90YWxWb3RlT3B0aW9uQW1vdW50AAAAAgAAAAh2b3RlTmFtZQAAAAZvcHRpb24EAAAAFXRvdGFsVm90ZU9wdGlvbkFtb3VudAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAAIdm90ZU5hbWUFAAAABm9wdGlvbgUAAAAYa2V5VG90YWxWb3RlT3B0aW9uQW1vdW50BAAAAAR0dm9hBAAAAAckbWF0Y2gwBQAAABV0b3RhbFZvdGVPcHRpb25BbW91bnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAEdHZvYQUAAAAHJG1hdGNoMAUAAAAEdHZvYQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAQAAAAEdHZvYQUAAAAHJG1hdGNoMAAAAAAAAAAAAAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgUAAAAEdHZvYQEAAAAUZ2V0VXNlckdldEJhY2tBbW91bnQAAAAEAAAACHZvdGVOYW1lAAAABm9wdGlvbgAAAAR1c2VyAAAAEWdldEJhY2tTV09QSGVpZ2h0BAAAAANrZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACHZvdGVOYW1lAgAAAAFfBQAAAAZvcHRpb24CAAAAAV8JAAQlAAAAAQUAAAAEdXNlcgIAAAABXwkAAaQAAAABBQAAABFnZXRCYWNrU1dPUEhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAADa2V5AQAAAAljbGFpbUNhbGMAAAABAAAABmNhbGxlcgQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAACyR0MDg4ODk4OTY5CQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIFAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAALJHQwODg4OTg5NjkAAAACXzEEAAAADnVzZXJTV09QTG9ja2VkCAUAAAALJHQwODg4OTg5NjkAAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAADnVzZXJTV09QTG9ja2VkCQAAZQAAAAIFAAAADGxhc3RJbnRlcmVzdAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAKc2NhbGVWYWx1ZQQAAAAPdXNlck5ld0ludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAPdXNlck5ld0ludGVyZXN0BQAAAAtjbGFpbUFtb3VudAAAAAgAAAABaQEAAAAHYWlyRHJvcAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACyR0MDkyMzQ5MzA5CQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwOTIzNDkzMDkAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA5MjM0OTMwOQAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAtpbnRlcmVzdE5ldwkAAGQAAAACBQAAAAxsYXN0SW50ZXJlc3QJAABrAAAAAwUAAAAJcG10QW1vdW50BQAAAApzY2FsZVZhbHVlBQAAAA90b3RhbFNXT1BMb2NrZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2tleUxhc3RJbnRlcmVzdAUAAAALaW50ZXJlc3ROZXcFAAAAA25pbAAAAAFpAQAAAAhsb2NrU1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACyR0MDk3NDc5ODIyCQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwOTc0Nzk4MjIAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA5NzQ3OTgyMgAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAwkdDA5OTM4MTAwMjAJAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAxsYXN0SW50ZXJlc3QEAAAAEHVzZXJMYXN0SW50ZXJlc3QIBQAAAAwkdDA5OTM4MTAwMjAAAAACXzEEAAAADnVzZXJTV09QTG9ja2VkCAUAAAAMJHQwOTkzODEwMDIwAAAAAl8yBAAAAAtjbGFpbUFtb3VudAkAAGsAAAADBQAAAA51c2VyU1dPUExvY2tlZAkAAGUAAAACBQAAAAxsYXN0SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAAZAAAAAIJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0BAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABkAAAAAgkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAFpAQAAAAx3aXRoZHJhd1NXT1AAAAABAAAADndpdGhkcmF3QW1vdW50AwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50AwkAAGcAAAACAAAAAAAAAAAABQAAAA53aXRoZHJhd0Ftb3VudAkAAAIAAAABAgAAABN3aXRoZHJhd0Ftb3VudCA8PSAwBAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAA51c2VyU1dPUExvY2tlZAkBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA0kdDAxMTE3MDExMjI1CQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAxMTE3MDExMjI1AAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDExMTcwMTEyMjUAAAACXzIEAAAADSR0MDExMjMwMTEyOTUJAQAAAA9nZXRVc2VyVm90ZUluZm8AAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADnVzZXJWb3RlQW1vdW50CAUAAAANJHQwMTEyMzAxMTI5NQAAAAJfMQQAAAAQdXNlclVudm90ZUFtb3VudAgFAAAADSR0MDExMjMwMTEyOTUAAAACXzIEAAAAGHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbAkBAAAAIGdldFVzZXJUb3RhbFZvdGVGb3JOZXdQb29sQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyAwMDCQAAZgAAAAIAAAAAAAAAAAAFAAAAEHVzZXJVbnZvdGVBbW91bnQGCQAAZgAAAAIAAAAAAAAAAAAFAAAADnVzZXJWb3RlQW1vdW50BgkAAGYAAAACAAAAAAAAAAAABQAAABh1c2VyVm90ZUFtb3VudEZvck5ld1Bvb2wJAAACAAAAAQIAAABKdXNlclVudm90ZUFtb3VudCA8IDAgfHwgdXNlclZvdGVBbW91bnQgPCAwIHx8IHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbCA8IDAEAAAAEmF2YWlsYWJsZVRvVW5zdGFrZQkAAGUAAAACBQAAAA51c2VyU1dPUExvY2tlZAkAAZYAAAABCQAETAAAAAIFAAAAGHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbAkABEwAAAACCQAAZAAAAAIFAAAADnVzZXJWb3RlQW1vdW50BQAAABB1c2VyVW52b3RlQW1vdW50BQAAAANuaWwDCQAAZgAAAAIFAAAADndpdGhkcmF3QW1vdW50BQAAABJhdmFpbGFibGVUb1Vuc3Rha2UJAAACAAAAAQIAAAAjd2l0aGRyYXdBbW91bnQgPiBhdmFpbGFibGVUb1Vuc3Rha2UEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGUAAAACCQAAZAAAAAIFAAAAD3RvdGFsU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQFAAAADndpdGhkcmF3QW1vdW50BAAAABF1c2VyU1dPUGFtb3VudE5ldwkAAGUAAAACCQAAZAAAAAIFAAAADnVzZXJTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAUAAAAOd2l0aGRyYXdBbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QYW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAADndpdGhkcmF3QW1vdW50BQAAAARTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAUAAAADbmlsAAAAAWkBAAAAFGNsYWltQW5kV2l0aGRyYXdTV09QAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAADSR0MDEyNjcwMTI3MjUJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDEyNjcwMTI3MjUAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTI2NzAxMjcyNQAAAAJfMgQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAMJAAAAAAAAAgUAAAALY2xhaW1BbW91bnQAAAAAAAAAAAAJAAACAAAAAQIAAAAZWW91IGhhdmUgMCBhdmFpbGFibGUgU1dPUAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAC2NsYWltQW1vdW50BQAAAARTV09QBQAAAANuaWwAAAABaQEAAAARY2xhaW1BbmRTdGFrZVNXT1AAAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAA51c2VyU1dPUExvY2tlZAkBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAANJHQwMTM1MDQxMzU1OQkBAAAACWNsYWltQ2FsYwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPdXNlck5ld0ludGVyZXN0CAUAAAANJHQwMTM1MDQxMzU1OQAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAA0kdDAxMzUwNDEzNTU5AAAAAl8yBAAAABF1c2VyU1dPUExvY2tlZE5ldwkAAGQAAAACBQAAAA51c2VyU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50AwkAAAAAAAACBQAAAAtjbGFpbUFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAABlZb3UgaGF2ZSAwIGF2YWlsYWJsZSBTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyU1dPUExvY2tlZAUAAAARdXNlclNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50BQAAAANuaWwAAAABaQEAAAANdXBkYXRlV2VpZ2h0cwAAAAYAAAANcHJldmlvdXNQb29scwAAAA9wcmV2aW91c1Jld2FyZHMAAAAMY3VycmVudFBvb2xzAAAADmN1cnJlbnRSZXdhcmRzAAAAEnJld2FyZFVwZGF0ZUhlaWdodAAAAApwYWdpbmF0aW9uAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAAthbW91bnRQb29scwAAAAAAAAAACgQAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AAAAAAAAAAAAAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAkABEwAAAACBQAAABFhZG1pblB1YktleVdhbGxldAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAwMJAABmAAAAAgkAAZAAAAABBQAAAA1wcmV2aW91c1Bvb2xzBQAAAAthbW91bnRQb29scwYJAABmAAAAAgkAAZAAAAABBQAAAAxjdXJyZW50UG9vbHMFAAAAC2Ftb3VudFBvb2xzCQAAAgAAAAEJAAEsAAAAAgIAAAAWTWF4IGFtb3VudCBvZiBwb29sIGlzIAkAAaQAAAABBQAAAAthbW91bnRQb29scwMJAABnAAAAAgUAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAENyZXdhcmRVcGRhdGVIZWlnaHQgPD0gdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQ7IHJld2FyZFVwZGF0ZUhlaWdodDogCQABpAAAAAEFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAIAAAAbOyB0b3RhbFJld2FyZFVwZGF0ZUhlaWdodDogCQABpAAAAAEFAAAAF3RvdGFsUmV3YXJkVXBkYXRlSGVpZ2h0AwkAAGcAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAABxoZWlnaHQgPj0gcmV3YXJkVXBkYXRlSGVpZ2h0AwkAAGcAAAACAAAAAAAAAAAABQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAAAYMCA+PSByZXdhcmRVcGRhdGVIZWlnaHQgCgEAAAADc3VtAAAAAgAAAAFhAAAAAWIJAABkAAAAAgUAAAABYQUAAAABYgoBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQJAQAAABNnZXRQb29sVXBkYXRlSGVpZ2h0AAAAAQUAAAAEcG9vbAMJAQAAABhpc0RlZmluZVBvb2xVcGRhdGVIZWlnaHQAAAABBQAAAARwb29sBAAAAApwb29sUmV3YXJkCQEAAAAQZ2V0Q3VyUG9vbFdlaWdodAAAAAEFAAAABHBvb2wJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAda2V5UmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMFAAAACnBvb2xSZXdhcmQFAAAAC2FjY3VtdWxhdGVkAwkBAAAAAiE9AAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0AwkAAAAAAAACBQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0BQAAABd0b3RhbFJld2FyZFVwZGF0ZUhlaWdodAQAAAAKcG9vbFJld2FyZAkBAAAAEGdldEN1clBvb2xXZWlnaHQAAAABBQAAAARwb29sCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzBQAAAApwb29sUmV3YXJkBQAAAAthY2N1bXVsYXRlZAUAAAALYWNjdW11bGF0ZWQFAAAAC2FjY3VtdWxhdGVkCgEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgAAAAthY2N1bXVsYXRlZAAAAARwb29sBAAAAAlwb29sSW5kZXgJAQAAAAV2YWx1ZQAAAAEJAARPAAAAAgUAAAAMY3VycmVudFBvb2xzBQAAAARwb29sBAAAAApwb29sUmV3YXJkCQABkQAAAAIFAAAADmN1cnJlbnRSZXdhcmRzBQAAAAlwb29sSW5kZXgDCQAAZgAAAAIAAAAAAAAAAAAFAAAACnBvb2xSZXdhcmQJAAACAAAAAQIAAAAOUG9vbFJld2FyZCA8IDAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAUAAAAKcG9vbFJld2FyZAUAAAALYWNjdW11bGF0ZWQKAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAKcG9vbEhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgUAAAAKcG9vbEhlaWdodAUAAAALYWNjdW11bGF0ZWQKAQAAAAxnZXRTdW1SZXdhcmQAAAADAAAAC3ByZXZUZW1wU3VtAAAACmN1clRlbXBTdW0AAAAKcGFnaW5hdGlvbgMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAAMDCQAAZgAAAAIFAAAAC3ByZXZUZW1wU3VtBQAAAA50b3RhbFZvdGVTaGFyZQYJAABmAAAAAgUAAAAKY3VyVGVtcFN1bQUAAAAOdG90YWxWb3RlU2hhcmUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAASXN1bVJld2FyZFByZXZpb3VzID4gdG90YWxWb3RlU2hhcmUgb3Igc3VtUmV3YXJkQ3VycmVudCA+IHRvdGFsVm90ZVNoYXJlOiAJAAGkAAAAAQUAAAAKcGFnaW5hdGlvbgIAAAABIAkAAaQAAAABBQAAAAtwcmV2VGVtcFN1bQIAAAABIAkAAaQAAAABBQAAAApjdXJUZW1wU3VtCQAFFQAAAAMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADmtleVRlbXBQcmV2U3VtBQAAAAtwcmV2VGVtcFN1bQUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlUZW1wQ3VyU3VtBQAAAApjdXJUZW1wU3VtBQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAAANuaWwDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAEEAAAAEnByZXZUZW1wU3VtRnJvbUtleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA5rZXlUZW1wUHJldlN1bQAAAAAAAAAAAAQAAAARY3VyVGVtcFN1bUZyb21LZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAANa2V5VGVtcEN1clN1bQAAAAAAAAAAAAQAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAka2V5UmV3YXJkVXBkYXRlRmlyc3RQYWdpbmF0aW9uSGVpZ2h0AAAAAAAAAAAAAwMJAABmAAAAAgkAAGQAAAACBQAAAAtwcmV2VGVtcFN1bQUAAAAScHJldlRlbXBTdW1Gcm9tS2V5BQAAAA50b3RhbFZvdGVTaGFyZQYJAABmAAAAAgkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQUAAAAOdG90YWxWb3RlU2hhcmUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAASXN1bVJld2FyZFByZXZpb3VzID4gdG90YWxWb3RlU2hhcmUgb3Igc3VtUmV3YXJkQ3VycmVudCA+IHRvdGFsVm90ZVNoYXJlOiAJAAGkAAAAAQUAAAAKcGFnaW5hdGlvbgIAAAABIAkAAaQAAAABCQAAZAAAAAIFAAAAC3ByZXZUZW1wU3VtBQAAABJwcmV2VGVtcFN1bUZyb21LZXkCAAAAASAJAAGkAAAAAQkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQMJAQAAAAIhPQAAAAIFAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAABaY3VycmVudCByZXdhcmRVcGRhdGVIZWlnaHQgIT0gcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnk7IHJld2FyZFVwZGF0ZUhlaWdodDogCQABpAAAAAEFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAIAAAApIHJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5OiAJAAGkAAAAAQUAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAAUVAAAAAwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOa2V5VGVtcFByZXZTdW0JAABkAAAAAgUAAAALcHJldlRlbXBTdW0FAAAAEnByZXZUZW1wU3VtRnJvbUtleQUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlUZW1wQ3VyU3VtCQAAZAAAAAIFAAAACmN1clRlbXBTdW0FAAAAEWN1clRlbXBTdW1Gcm9tS2V5BQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAgQAAAAHcHJldlN1bQkAAGQAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADmtleVRlbXBQcmV2U3VtAAAAAAAAAAAABQAAAAtwcmV2VGVtcFN1bQQAAAAGY3VyU3VtCQAAZAAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAANa2V5VGVtcEN1clN1bQAAAAAAAAAAAAUAAAAKY3VyVGVtcFN1bQQAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAka2V5UmV3YXJkVXBkYXRlRmlyc3RQYWdpbmF0aW9uSGVpZ2h0AAAAAAAAAAAAAwMJAQAAAAIhPQAAAAIFAAAAB3ByZXZTdW0FAAAADnRvdGFsVm90ZVNoYXJlBgkBAAAAAiE9AAAAAgUAAAAGY3VyU3VtBQAAAA50b3RhbFZvdGVTaGFyZQkAAAIAAAABAgAAAElzdW1SZXdhcmRQcmV2aW91cyAhPSB0b3RhbFZvdGVTaGFyZSBvciBzdW1SZXdhcmRDdXJyZW50ICE9IHRvdGFsVm90ZVNoYXJlAwkBAAAAAiE9AAAAAgUAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAAERjdXJyZW50IHJld2FyZFVwZGF0ZUhlaWdodCAhPSByZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQkABRUAAAADCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA5rZXlUZW1wUHJldlN1bQUAAAAHcHJldlN1bQUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlUZW1wQ3VyU3VtBQAAAAZjdXJTdW0FAAAAA25pbAUAAAADbmlsCQAAAgAAAAEJAAEsAAAAAgIAAAAWSW5jb3JyZWN0IHBhZ2luYXRpb246IAkAAaQAAAABBQAAAApwYWdpbmF0aW9uBAAAABVzdW1SZXdhcmRQcmV2aW91c1RlbXAEAAAADyRsaXN0MTk0ODQxOTUxNwUAAAAPcHJldmlvdXNSZXdhcmRzBAAAAA8kc2l6ZTE5NDg0MTk1MTcJAAGQAAAAAQUAAAAPJGxpc3QxOTQ4NDE5NTE3BAAAAA8kYWNjMDE5NDg0MTk1MTcAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTk0ODQxOTUxNwAAAAAAAAAAAAUAAAAPJGFjYzAxOTQ4NDE5NTE3BAAAAA8kYWNjMTE5NDg0MTk1MTcJAQAAAANzdW0AAAACBQAAAA8kYWNjMDE5NDg0MTk1MTcJAAGRAAAAAgUAAAAPJGxpc3QxOTQ4NDE5NTE3AAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE5NDg0MTk1MTcAAAAAAAAAAAEFAAAADyRhY2MxMTk0ODQxOTUxNwQAAAAPJGFjYzIxOTQ4NDE5NTE3CQEAAAADc3VtAAAAAgUAAAAPJGFjYzExOTQ4NDE5NTE3CQABkQAAAAIFAAAADyRsaXN0MTk0ODQxOTUxNwAAAAAAAAAAAQMJAAAAAAAAAgUAAAAPJHNpemUxOTQ4NDE5NTE3AAAAAAAAAAACBQAAAA8kYWNjMjE5NDg0MTk1MTcEAAAADyRhY2MzMTk0ODQxOTUxNwkBAAAAA3N1bQAAAAIFAAAADyRhY2MyMTk0ODQxOTUxNwkAAZEAAAACBQAAAA8kbGlzdDE5NDg0MTk1MTcAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMTk0ODQxOTUxNwAAAAAAAAAAAwUAAAAPJGFjYzMxOTQ4NDE5NTE3BAAAAA8kYWNjNDE5NDg0MTk1MTcJAQAAAANzdW0AAAACBQAAAA8kYWNjMzE5NDg0MTk1MTcJAAGRAAAAAgUAAAAPJGxpc3QxOTQ4NDE5NTE3AAAAAAAAAAADAwkAAAAAAAACBQAAAA8kc2l6ZTE5NDg0MTk1MTcAAAAAAAAAAAQFAAAADyRhY2M0MTk0ODQxOTUxNwQAAAAPJGFjYzUxOTQ4NDE5NTE3CQEAAAADc3VtAAAAAgUAAAAPJGFjYzQxOTQ4NDE5NTE3CQABkQAAAAIFAAAADyRsaXN0MTk0ODQxOTUxNwAAAAAAAAAABAMJAAAAAAAAAgUAAAAPJHNpemUxOTQ4NDE5NTE3AAAAAAAAAAAFBQAAAA8kYWNjNTE5NDg0MTk1MTcEAAAADyRhY2M2MTk0ODQxOTUxNwkBAAAAA3N1bQAAAAIFAAAADyRhY2M1MTk0ODQxOTUxNwkAAZEAAAACBQAAAA8kbGlzdDE5NDg0MTk1MTcAAAAAAAAAAAUDCQAAAAAAAAIFAAAADyRzaXplMTk0ODQxOTUxNwAAAAAAAAAABgUAAAAPJGFjYzYxOTQ4NDE5NTE3BAAAAA8kYWNjNzE5NDg0MTk1MTcJAQAAAANzdW0AAAACBQAAAA8kYWNjNjE5NDg0MTk1MTcJAAGRAAAAAgUAAAAPJGxpc3QxOTQ4NDE5NTE3AAAAAAAAAAAGAwkAAAAAAAACBQAAAA8kc2l6ZTE5NDg0MTk1MTcAAAAAAAAAAAcFAAAADyRhY2M3MTk0ODQxOTUxNwQAAAAPJGFjYzgxOTQ4NDE5NTE3CQEAAAADc3VtAAAAAgUAAAAPJGFjYzcxOTQ4NDE5NTE3CQABkQAAAAIFAAAADyRsaXN0MTk0ODQxOTUxNwAAAAAAAAAABwMJAAAAAAAAAgUAAAAPJHNpemUxOTQ4NDE5NTE3AAAAAAAAAAAIBQAAAA8kYWNjODE5NDg0MTk1MTcEAAAADyRhY2M5MTk0ODQxOTUxNwkBAAAAA3N1bQAAAAIFAAAADyRhY2M4MTk0ODQxOTUxNwkAAZEAAAACBQAAAA8kbGlzdDE5NDg0MTk1MTcAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMTk0ODQxOTUxNwAAAAAAAAAACQUAAAAPJGFjYzkxOTQ4NDE5NTE3BAAAABAkYWNjMTAxOTQ4NDE5NTE3CQEAAAADc3VtAAAAAgUAAAAPJGFjYzkxOTQ4NDE5NTE3CQABkQAAAAIFAAAADyRsaXN0MTk0ODQxOTUxNwAAAAAAAAAACQMJAAAAAAAAAgUAAAAPJHNpemUxOTQ4NDE5NTE3AAAAAAAAAAAKBQAAABAkYWNjMTAxOTQ4NDE5NTE3BAAAABAkYWNjMTExOTQ4NDE5NTE3CQEAAAADc3VtAAAAAgUAAAAQJGFjYzEwMTk0ODQxOTUxNwkAAZEAAAACBQAAAA8kbGlzdDE5NDg0MTk1MTcAAAAAAAAAAAoJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxMAQAAAAUc3VtUmV3YXJkQ3VycmVudFRlbXAEAAAADyRsaXN0MTk1NTAxOTU4MgUAAAAOY3VycmVudFJld2FyZHMEAAAADyRzaXplMTk1NTAxOTU4MgkAAZAAAAABBQAAAA8kbGlzdDE5NTUwMTk1ODIEAAAADyRhY2MwMTk1NTAxOTU4MgAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxOTU1MDE5NTgyAAAAAAAAAAAABQAAAA8kYWNjMDE5NTUwMTk1ODIEAAAADyRhY2MxMTk1NTAxOTU4MgkBAAAAA3N1bQAAAAIFAAAADyRhY2MwMTk1NTAxOTU4MgkAAZEAAAACBQAAAA8kbGlzdDE5NTUwMTk1ODIAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTk1NTAxOTU4MgAAAAAAAAAAAQUAAAAPJGFjYzExOTU1MDE5NTgyBAAAAA8kYWNjMjE5NTUwMTk1ODIJAQAAAANzdW0AAAACBQAAAA8kYWNjMTE5NTUwMTk1ODIJAAGRAAAAAgUAAAAPJGxpc3QxOTU1MDE5NTgyAAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTUwMTk1ODIAAAAAAAAAAAIFAAAADyRhY2MyMTk1NTAxOTU4MgQAAAAPJGFjYzMxOTU1MDE5NTgyCQEAAAADc3VtAAAAAgUAAAAPJGFjYzIxOTU1MDE5NTgyCQABkQAAAAIFAAAADyRsaXN0MTk1NTAxOTU4MgAAAAAAAAAAAgMJAAAAAAAAAgUAAAAPJHNpemUxOTU1MDE5NTgyAAAAAAAAAAADBQAAAA8kYWNjMzE5NTUwMTk1ODIEAAAADyRhY2M0MTk1NTAxOTU4MgkBAAAAA3N1bQAAAAIFAAAADyRhY2MzMTk1NTAxOTU4MgkAAZEAAAACBQAAAA8kbGlzdDE5NTUwMTk1ODIAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTk1NTAxOTU4MgAAAAAAAAAABAUAAAAPJGFjYzQxOTU1MDE5NTgyBAAAAA8kYWNjNTE5NTUwMTk1ODIJAQAAAANzdW0AAAACBQAAAA8kYWNjNDE5NTUwMTk1ODIJAAGRAAAAAgUAAAAPJGxpc3QxOTU1MDE5NTgyAAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTUwMTk1ODIAAAAAAAAAAAUFAAAADyRhY2M1MTk1NTAxOTU4MgQAAAAPJGFjYzYxOTU1MDE5NTgyCQEAAAADc3VtAAAAAgUAAAAPJGFjYzUxOTU1MDE5NTgyCQABkQAAAAIFAAAADyRsaXN0MTk1NTAxOTU4MgAAAAAAAAAABQMJAAAAAAAAAgUAAAAPJHNpemUxOTU1MDE5NTgyAAAAAAAAAAAGBQAAAA8kYWNjNjE5NTUwMTk1ODIEAAAADyRhY2M3MTk1NTAxOTU4MgkBAAAAA3N1bQAAAAIFAAAADyRhY2M2MTk1NTAxOTU4MgkAAZEAAAACBQAAAA8kbGlzdDE5NTUwMTk1ODIAAAAAAAAAAAYDCQAAAAAAAAIFAAAADyRzaXplMTk1NTAxOTU4MgAAAAAAAAAABwUAAAAPJGFjYzcxOTU1MDE5NTgyBAAAAA8kYWNjODE5NTUwMTk1ODIJAQAAAANzdW0AAAACBQAAAA8kYWNjNzE5NTUwMTk1ODIJAAGRAAAAAgUAAAAPJGxpc3QxOTU1MDE5NTgyAAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTUwMTk1ODIAAAAAAAAAAAgFAAAADyRhY2M4MTk1NTAxOTU4MgQAAAAPJGFjYzkxOTU1MDE5NTgyCQEAAAADc3VtAAAAAgUAAAAPJGFjYzgxOTU1MDE5NTgyCQABkQAAAAIFAAAADyRsaXN0MTk1NTAxOTU4MgAAAAAAAAAACAMJAAAAAAAAAgUAAAAPJHNpemUxOTU1MDE5NTgyAAAAAAAAAAAJBQAAAA8kYWNjOTE5NTUwMTk1ODIEAAAAECRhY2MxMDE5NTUwMTk1ODIJAQAAAANzdW0AAAACBQAAAA8kYWNjOTE5NTUwMTk1ODIJAAGRAAAAAgUAAAAPJGxpc3QxOTU1MDE5NTgyAAAAAAAAAAAJAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTUwMTk1ODIAAAAAAAAAAAoFAAAAECRhY2MxMDE5NTUwMTk1ODIEAAAAECRhY2MxMTE5NTUwMTk1ODIJAQAAAANzdW0AAAACBQAAABAkYWNjMTAxOTU1MDE5NTgyCQABkQAAAAIFAAAADyRsaXN0MTk1NTAxOTU4MgAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwBAAAAA0kdDAxOTU4ODE5NzQxCQEAAAAMZ2V0U3VtUmV3YXJkAAAAAwUAAAAVc3VtUmV3YXJkUHJldmlvdXNUZW1wBQAAABRzdW1SZXdhcmRDdXJyZW50VGVtcAUAAAAKcGFnaW5hdGlvbgQAAAARc3VtUmV3YXJkUHJldmlvdXMIBQAAAA0kdDAxOTU4ODE5NzQxAAAAAl8xBAAAABBzdW1SZXdhcmRDdXJyZW50CAUAAAANJHQwMTk1ODgxOTc0MQAAAAJfMgQAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkIBQAAAA0kdDAxOTU4ODE5NzQxAAAAAl8zBAAAABdyZXdhcmRVcGRhdGVIZWlnaHRFbnRyeQMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAA25pbAUAAAADbmlsAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAABtyZXdhcmRVcGRhdGVIZWlnaHQgPCBoZWlnaHQEAAAAFnByZXZpb3VzUmV3YXJkRW50cnlOZXcEAAAADyRsaXN0MTk5OTEyMDA0NQUAAAANcHJldmlvdXNQb29scwQAAAAPJHNpemUxOTk5MTIwMDQ1CQABkAAAAAEFAAAADyRsaXN0MTk5OTEyMDA0NQQAAAAPJGFjYzAxOTk5MTIwMDQ1BQAAAANuaWwDCQAAAAAAAAIFAAAADyRzaXplMTk5OTEyMDA0NQAAAAAAAAAAAAUAAAAPJGFjYzAxOTk5MTIwMDQ1BAAAAA8kYWNjMTE5OTkxMjAwNDUJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzAxOTk5MTIwMDQ1CQABkQAAAAIFAAAADyRsaXN0MTk5OTEyMDA0NQAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxOTk5MTIwMDQ1AAAAAAAAAAABBQAAAA8kYWNjMTE5OTkxMjAwNDUEAAAADyRhY2MyMTk5OTEyMDA0NQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMTE5OTkxMjAwNDUJAAGRAAAAAgUAAAAPJGxpc3QxOTk5MTIwMDQ1AAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTE5OTkxMjAwNDUAAAAAAAAAAAIFAAAADyRhY2MyMTk5OTEyMDA0NQQAAAAPJGFjYzMxOTk5MTIwMDQ1CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MyMTk5OTEyMDA0NQkAAZEAAAACBQAAAA8kbGlzdDE5OTkxMjAwNDUAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMTk5OTEyMDA0NQAAAAAAAAAAAwUAAAAPJGFjYzMxOTk5MTIwMDQ1BAAAAA8kYWNjNDE5OTkxMjAwNDUJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzMxOTk5MTIwMDQ1CQABkQAAAAIFAAAADyRsaXN0MTk5OTEyMDA0NQAAAAAAAAAAAwMJAAAAAAAAAgUAAAAPJHNpemUxOTk5MTIwMDQ1AAAAAAAAAAAEBQAAAA8kYWNjNDE5OTkxMjAwNDUEAAAADyRhY2M1MTk5OTEyMDA0NQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNDE5OTkxMjAwNDUJAAGRAAAAAgUAAAAPJGxpc3QxOTk5MTIwMDQ1AAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTE5OTkxMjAwNDUAAAAAAAAAAAUFAAAADyRhY2M1MTk5OTEyMDA0NQQAAAAPJGFjYzYxOTk5MTIwMDQ1CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M1MTk5OTEyMDA0NQkAAZEAAAACBQAAAA8kbGlzdDE5OTkxMjAwNDUAAAAAAAAAAAUDCQAAAAAAAAIFAAAADyRzaXplMTk5OTEyMDA0NQAAAAAAAAAABgUAAAAPJGFjYzYxOTk5MTIwMDQ1BAAAAA8kYWNjNzE5OTkxMjAwNDUJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzYxOTk5MTIwMDQ1CQABkQAAAAIFAAAADyRsaXN0MTk5OTEyMDA0NQAAAAAAAAAABgMJAAAAAAAAAgUAAAAPJHNpemUxOTk5MTIwMDQ1AAAAAAAAAAAHBQAAAA8kYWNjNzE5OTkxMjAwNDUEAAAADyRhY2M4MTk5OTEyMDA0NQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNzE5OTkxMjAwNDUJAAGRAAAAAgUAAAAPJGxpc3QxOTk5MTIwMDQ1AAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTE5OTkxMjAwNDUAAAAAAAAAAAgFAAAADyRhY2M4MTk5OTEyMDA0NQQAAAAPJGFjYzkxOTk5MTIwMDQ1CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M4MTk5OTEyMDA0NQkAAZEAAAACBQAAAA8kbGlzdDE5OTkxMjAwNDUAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMTk5OTEyMDA0NQAAAAAAAAAACQUAAAAPJGFjYzkxOTk5MTIwMDQ1BAAAABAkYWNjMTAxOTk5MTIwMDQ1CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M5MTk5OTEyMDA0NQkAAZEAAAACBQAAAA8kbGlzdDE5OTkxMjAwNDUAAAAAAAAAAAkDCQAAAAAAAAIFAAAADyRzaXplMTk5OTEyMDA0NQAAAAAAAAAACgUAAAAQJGFjYzEwMTk5OTEyMDA0NQQAAAAQJGFjYzExMTk5OTEyMDA0NQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTAxOTk5MTIwMDQ1CQABkQAAAAIFAAAADyRsaXN0MTk5OTEyMDA0NQAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwBAAAABVjdXJyZW50UmV3YXJkRW50cnlOZXcEAAAADyRsaXN0MjAwNzgyMDEzMAUAAAAMY3VycmVudFBvb2xzBAAAAA8kc2l6ZTIwMDc4MjAxMzAJAAGQAAAAAQUAAAAPJGxpc3QyMDA3ODIwMTMwBAAAAA8kYWNjMDIwMDc4MjAxMzAFAAAAA25pbAMJAAAAAAAAAgUAAAAPJHNpemUyMDA3ODIwMTMwAAAAAAAAAAAABQAAAA8kYWNjMDIwMDc4MjAxMzAEAAAADyRhY2MxMjAwNzgyMDEzMAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MwMjAwNzgyMDEzMAkAAZEAAAACBQAAAA8kbGlzdDIwMDc4MjAxMzAAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMjAwNzgyMDEzMAAAAAAAAAAAAQUAAAAPJGFjYzEyMDA3ODIwMTMwBAAAAA8kYWNjMjIwMDc4MjAxMzAJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMTIwMDc4MjAxMzAJAAGRAAAAAgUAAAAPJGxpc3QyMDA3ODIwMTMwAAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTIwMDc4MjAxMzAAAAAAAAAAAAIFAAAADyRhY2MyMjAwNzgyMDEzMAQAAAAPJGFjYzMyMDA3ODIwMTMwCQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzIyMDA3ODIwMTMwCQABkQAAAAIFAAAADyRsaXN0MjAwNzgyMDEzMAAAAAAAAAAAAgMJAAAAAAAAAgUAAAAPJHNpemUyMDA3ODIwMTMwAAAAAAAAAAADBQAAAA8kYWNjMzIwMDc4MjAxMzAEAAAADyRhY2M0MjAwNzgyMDEzMAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MzMjAwNzgyMDEzMAkAAZEAAAACBQAAAA8kbGlzdDIwMDc4MjAxMzAAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMjAwNzgyMDEzMAAAAAAAAAAABAUAAAAPJGFjYzQyMDA3ODIwMTMwBAAAAA8kYWNjNTIwMDc4MjAxMzAJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNDIwMDc4MjAxMzAJAAGRAAAAAgUAAAAPJGxpc3QyMDA3ODIwMTMwAAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTIwMDc4MjAxMzAAAAAAAAAAAAUFAAAADyRhY2M1MjAwNzgyMDEzMAQAAAAPJGFjYzYyMDA3ODIwMTMwCQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzUyMDA3ODIwMTMwCQABkQAAAAIFAAAADyRsaXN0MjAwNzgyMDEzMAAAAAAAAAAABQMJAAAAAAAAAgUAAAAPJHNpemUyMDA3ODIwMTMwAAAAAAAAAAAGBQAAAA8kYWNjNjIwMDc4MjAxMzAEAAAADyRhY2M3MjAwNzgyMDEzMAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M2MjAwNzgyMDEzMAkAAZEAAAACBQAAAA8kbGlzdDIwMDc4MjAxMzAAAAAAAAAAAAYDCQAAAAAAAAIFAAAADyRzaXplMjAwNzgyMDEzMAAAAAAAAAAABwUAAAAPJGFjYzcyMDA3ODIwMTMwBAAAAA8kYWNjODIwMDc4MjAxMzAJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNzIwMDc4MjAxMzAJAAGRAAAAAgUAAAAPJGxpc3QyMDA3ODIwMTMwAAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTIwMDc4MjAxMzAAAAAAAAAAAAgFAAAADyRhY2M4MjAwNzgyMDEzMAQAAAAPJGFjYzkyMDA3ODIwMTMwCQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzgyMDA3ODIwMTMwCQABkQAAAAIFAAAADyRsaXN0MjAwNzgyMDEzMAAAAAAAAAAACAMJAAAAAAAAAgUAAAAPJHNpemUyMDA3ODIwMTMwAAAAAAAAAAAJBQAAAA8kYWNjOTIwMDc4MjAxMzAEAAAAECRhY2MxMDIwMDc4MjAxMzAJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjOTIwMDc4MjAxMzAJAAGRAAAAAgUAAAAPJGxpc3QyMDA3ODIwMTMwAAAAAAAAAAAJAwkAAAAAAAACBQAAAA8kc2l6ZTIwMDc4MjAxMzAAAAAAAAAAAAoFAAAAECRhY2MxMDIwMDc4MjAxMzAEAAAAECRhY2MxMTIwMDc4MjAxMzAJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTAyMDA3ODIwMTMwCQABkQAAAAIFAAAADyRsaXN0MjAwNzgyMDEzMAAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwBAAAABFoZWlnaHRFbnRyeU5ld0N1cgQAAAAPJGxpc3QyMDE1OTIwMjA0BQAAAAxjdXJyZW50UG9vbHMEAAAADyRzaXplMjAxNTkyMDIwNAkAAZAAAAABBQAAAA8kbGlzdDIwMTU5MjAyMDQEAAAADyRhY2MwMjAxNTkyMDIwNAUAAAADbmlsAwkAAAAAAAACBQAAAA8kc2l6ZTIwMTU5MjAyMDQAAAAAAAAAAAAFAAAADyRhY2MwMjAxNTkyMDIwNAQAAAAPJGFjYzEyMDE1OTIwMjA0CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjMDIwMTU5MjAyMDQJAAGRAAAAAgUAAAAPJGxpc3QyMDE1OTIwMjA0AAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTIwMTU5MjAyMDQAAAAAAAAAAAEFAAAADyRhY2MxMjAxNTkyMDIwNAQAAAAPJGFjYzIyMDE1OTIwMjA0CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjMTIwMTU5MjAyMDQJAAGRAAAAAgUAAAAPJGxpc3QyMDE1OTIwMjA0AAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTIwMTU5MjAyMDQAAAAAAAAAAAIFAAAADyRhY2MyMjAxNTkyMDIwNAQAAAAPJGFjYzMyMDE1OTIwMjA0CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjMjIwMTU5MjAyMDQJAAGRAAAAAgUAAAAPJGxpc3QyMDE1OTIwMjA0AAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTIwMTU5MjAyMDQAAAAAAAAAAAMFAAAADyRhY2MzMjAxNTkyMDIwNAQAAAAPJGFjYzQyMDE1OTIwMjA0CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjMzIwMTU5MjAyMDQJAAGRAAAAAgUAAAAPJGxpc3QyMDE1OTIwMjA0AAAAAAAAAAADAwkAAAAAAAACBQAAAA8kc2l6ZTIwMTU5MjAyMDQAAAAAAAAAAAQFAAAADyRhY2M0MjAxNTkyMDIwNAQAAAAPJGFjYzUyMDE1OTIwMjA0CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjNDIwMTU5MjAyMDQJAAGRAAAAAgUAAAAPJGxpc3QyMDE1OTIwMjA0AAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTIwMTU5MjAyMDQAAAAAAAAAAAUFAAAADyRhY2M1MjAxNTkyMDIwNAQAAAAPJGFjYzYyMDE1OTIwMjA0CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjNTIwMTU5MjAyMDQJAAGRAAAAAgUAAAAPJGxpc3QyMDE1OTIwMjA0AAAAAAAAAAAFAwkAAAAAAAACBQAAAA8kc2l6ZTIwMTU5MjAyMDQAAAAAAAAAAAYFAAAADyRhY2M2MjAxNTkyMDIwNAQAAAAPJGFjYzcyMDE1OTIwMjA0CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjNjIwMTU5MjAyMDQJAAGRAAAAAgUAAAAPJGxpc3QyMDE1OTIwMjA0AAAAAAAAAAAGAwkAAAAAAAACBQAAAA8kc2l6ZTIwMTU5MjAyMDQAAAAAAAAAAAcFAAAADyRhY2M3MjAxNTkyMDIwNAQAAAAPJGFjYzgyMDE1OTIwMjA0CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjNzIwMTU5MjAyMDQJAAGRAAAAAgUAAAAPJGxpc3QyMDE1OTIwMjA0AAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTIwMTU5MjAyMDQAAAAAAAAAAAgFAAAADyRhY2M4MjAxNTkyMDIwNAQAAAAPJGFjYzkyMDE1OTIwMjA0CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjODIwMTU5MjAyMDQJAAGRAAAAAgUAAAAPJGxpc3QyMDE1OTIwMjA0AAAAAAAAAAAIAwkAAAAAAAACBQAAAA8kc2l6ZTIwMTU5MjAyMDQAAAAAAAAAAAkFAAAADyRhY2M5MjAxNTkyMDIwNAQAAAAQJGFjYzEwMjAxNTkyMDIwNAkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzkyMDE1OTIwMjA0CQABkQAAAAIFAAAADyRsaXN0MjAxNTkyMDIwNAAAAAAAAAAACQMJAAAAAAAAAgUAAAAPJHNpemUyMDE1OTIwMjA0AAAAAAAAAAAKBQAAABAkYWNjMTAyMDE1OTIwMjA0BAAAABAkYWNjMTEyMDE1OTIwMjA0CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAABAkYWNjMTAyMDE1OTIwMjA0CQABkQAAAAIFAAAADyRsaXN0MjAxNTkyMDIwNAAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwCQAETgAAAAIJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAAROAAAAAgkABE4AAAACBQAAABZwcmV2aW91c1Jld2FyZEVudHJ5TmV3BQAAABVjdXJyZW50UmV3YXJkRW50cnlOZXcFAAAAEWhlaWdodEVudHJ5TmV3Q3VyBQAAABFzdW1SZXdhcmRQcmV2aW91cwUAAAAQc3VtUmV3YXJkQ3VycmVudAUAAAAXcmV3YXJkVXBkYXRlSGVpZ2h0RW50cnkFAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5AAAAAWkBAAAACHNodXRkb3duAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQkAASwAAAACAgAAACJEQXBwIGlzIGFscmVhZHkgc3VzcGVuZGVkLiBDYXVzZTogCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAACGtleUNhdXNlAgAAABp0aGUgY2F1c2Ugd2Fzbid0IHNwZWNpZmllZAMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIFAAAADGFkbWluUHViS2V5MgkABEwAAAACBQAAAAxhZG1pblB1YktleTMJAARMAAAAAgUAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3AFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkBAAAAB3N1c3BlbmQAAAABAgAAAA9QYXVzZWQgYnkgYWRtaW4AAAABaQEAAAAIYWN0aXZhdGUAAAAAAwUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAWREFwcCBpcyBhbHJlYWR5IGFjdGl2ZQMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIFAAAADGFkbWluUHViS2V5MgkABEwAAAACBQAAAAxhZG1pblB1YktleTMJAARMAAAAAgUAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3AFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAJa2V5QWN0aXZlBgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAAhrZXlDYXVzZQUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXnVYWRT", "height": 1568601, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6NRHh23KeQSV6YqjJHoaTjYWaBohHPdxeJuPfrF6Zm7m Next: 6mSZZAHTeXFqgB2ysAAvxZXsLPzWN54GgNcEwZgxykTQ Diff:
OldNewDifferences
398398 else {
399399 let bJ = 10
400400 let bK = valueOrElse(getInteger(this, A), 0)
401- if (if ((size(bD) > bJ))
402- then true
403- else (size(bF) > bJ))
404- then throw(("Max amount of pool is " + toString(bJ)))
405- else if ((bK >= bH))
406- then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
407- else if ((height >= bH))
408- then throw("height >= rewardUpdateHeight")
409- else if ((0 >= bH))
410- then throw("0 >= rewardUpdateHeight ")
411- else {
412- func bL (bM,bN) = (bM + bN)
401+ if (!(containsElement([a, b, c, d, e], bh.callerPublicKey)))
402+ then throw("Only admin can call this function")
403+ else if (if ((size(bD) > bJ))
404+ then true
405+ else (size(bF) > bJ))
406+ then throw(("Max amount of pool is " + toString(bJ)))
407+ else if ((bK >= bH))
408+ then throw(((("rewardUpdateHeight <= totalRewardUpdateHeight; rewardUpdateHeight: " + toString(bH)) + "; totalRewardUpdateHeight: ") + toString(bK)))
409+ else if ((height >= bH))
410+ then throw("height >= rewardUpdateHeight")
411+ else if ((0 >= bH))
412+ then throw("0 >= rewardUpdateHeight ")
413+ else {
414+ func bL (bM,bN) = (bM + bN)
413415
414- func bO (bP,au) = {
415- let bQ = aN(au)
416- if (aO(au))
417- then {
418- let bR = aP(au)
416+ func bO (bP,au) = {
417+ let bQ = aN(au)
418+ if (aO(au))
419+ then {
420+ let bR = aP(au)
419421 IntegerEntry((au + w), bR) :: bP
420- }
421- else if ((bH != bQ))
422- then if ((bQ == bK))
422+ }
423+ else if ((bH != bQ))
424+ then if ((bQ == bK))
425+ then {
426+ let bR = aP(au)
427+IntegerEntry((au + w), bR) :: bP
428+ }
429+ else bP
430+ else bP
431+ }
432+
433+ func bS (bP,au) = {
434+ let bT = value(indexOf(bF, au))
435+ let bR = bG[bT]
436+ if ((0 > bR))
437+ then throw("PoolReward < 0")
438+ else IntegerEntry((au + v), bR) :: bP
439+ }
440+
441+ func bU (bP,au) = {
442+ let bV = bH
443+IntegerEntry((au + x), bV) :: bP
444+ }
445+
446+ func bW (bX,bY,bI) = if ((bI == 0))
447+ then if (if ((bX > T))
448+ then true
449+ else (bY > T))
450+ then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare: " + toString(bI)) + " ") + toString(bX)) + " ") + toString(bY)))
451+ else $Tuple3([IntegerEntry(K, bX)], [IntegerEntry(L, bY)], [IntegerEntry(B, bH)])
452+ else if ((bI == 1))
453+ then {
454+ let bZ = valueOrElse(getInteger(this, K), 0)
455+ let ca = valueOrElse(getInteger(this, L), 0)
456+ let cb = valueOrElse(getInteger(this, B), 0)
457+ if (if (((bX + bZ) > T))
458+ then true
459+ else ((bY + ca) > T))
460+ then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare: " + toString(bI)) + " ") + toString((bX + bZ))) + " ") + toString((bY + ca))))
461+ else if ((cb != bH))
462+ then throw(((("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry; rewardUpdateHeight: " + toString(bH)) + " rewardUpdateHeightFirstPaginationEntry: ") + toString(cb)))
463+ else $Tuple3([IntegerEntry(K, (bX + bZ))], [IntegerEntry(L, (bY + ca))], nil)
464+ }
465+ else if ((bI == 2))
423466 then {
424- let bR = aP(au)
425-IntegerEntry((au + w), bR) :: bP
467+ let cc = (valueOrElse(getInteger(this, K), 0) + bX)
468+ let cd = (valueOrElse(getInteger(this, L), 0) + bY)
469+ let cb = valueOrElse(getInteger(this, B), 0)
470+ if (if ((cc != T))
471+ then true
472+ else (cd != T))
473+ then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
474+ else if ((cb != bH))
475+ then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
476+ else $Tuple3([IntegerEntry(K, cc)], [IntegerEntry(L, cd)], nil)
426477 }
427- else bP
428- else bP
429- }
478+ else throw(("Incorrect pagination: " + toString(bI)))
430479
431- func bS (bP,au) = {
432- let bT = value(indexOf(bF, au))
433- let bR = bG[bT]
434- if ((0 > bR))
435- then throw("PoolReward < 0")
436- else IntegerEntry((au + v), bR) :: bP
437- }
438-
439- func bU (bP,au) = {
440- let bV = bH
441-IntegerEntry((au + x), bV) :: bP
442- }
443-
444- func bW (bX,bY,bI) = if ((bI == 0))
445- then if (if ((bX > T))
446- then true
447- else (bY > T))
448- then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bI)) + " ") + toString(bX)) + " ") + toString(bY)))
449- else $Tuple3([IntegerEntry(K, bX)], [IntegerEntry(L, bY)], [IntegerEntry(B, bH)])
450- else if ((bI == 1))
451- then {
452- let bZ = valueOrElse(getInteger(this, K), 0)
453- let ca = valueOrElse(getInteger(this, L), 0)
454- let cb = valueOrElse(getInteger(this, B), 0)
455- if (if (((bX + bZ) > T))
456- then true
457- else ((bY + ca) > T))
458- then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bI)) + " ") + toString((bX + bZ))) + " ") + toString((bY + ca))))
459- else if ((cb != bH))
460- then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
461- else $Tuple3([IntegerEntry(K, (bX + bZ))], [IntegerEntry(L, (bY + ca))], nil)
462- }
463- else if ((bI == 2))
464- then {
465- let cc = (valueOrElse(getInteger(this, K), 0) + bX)
466- let cd = (valueOrElse(getInteger(this, L), 0) + bY)
467- let cb = valueOrElse(getInteger(this, B), 0)
468- if (if ((cc != T))
469- then true
470- else (cd != T))
471- then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
472- else if ((cb != bH))
473- then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
474- else $Tuple3([IntegerEntry(K, cc)], [IntegerEntry(L, cd)], nil)
480+ let ce = {
481+ let cf = bE
482+ let cg = size(cf)
483+ let ch = 0
484+ if ((cg == 0))
485+ then ch
486+ else {
487+ let ci = bL(ch, cf[0])
488+ if ((cg == 1))
489+ then ci
490+ else {
491+ let cj = bL(ci, cf[1])
492+ if ((cg == 2))
493+ then cj
494+ else {
495+ let ck = bL(cj, cf[2])
496+ if ((cg == 3))
497+ then ck
498+ else {
499+ let cl = bL(ck, cf[3])
500+ if ((cg == 4))
501+ then cl
502+ else {
503+ let cm = bL(cl, cf[4])
504+ if ((cg == 5))
505+ then cm
506+ else {
507+ let cn = bL(cm, cf[5])
508+ if ((cg == 6))
509+ then cn
510+ else {
511+ let co = bL(cn, cf[6])
512+ if ((cg == 7))
513+ then co
514+ else {
515+ let cp = bL(co, cf[7])
516+ if ((cg == 8))
517+ then cp
518+ else {
519+ let cq = bL(cp, cf[8])
520+ if ((cg == 9))
521+ then cq
522+ else {
523+ let cr = bL(cq, cf[9])
524+ if ((cg == 10))
525+ then cr
526+ else {
527+ let cs = bL(cr, cf[10])
528+ throw("List size exceed 10")
529+ }
530+ }
531+ }
532+ }
533+ }
534+ }
535+ }
536+ }
537+ }
538+ }
475539 }
476- else throw("Incorrect pagination")
477-
478- let ce = {
479- let cf = bE
480- let cg = size(cf)
481- let ch = 0
482- if ((cg == 0))
483- then ch
540+ }
541+ let ct = {
542+ let cu = bG
543+ let cv = size(cu)
544+ let cw = 0
545+ if ((cv == 0))
546+ then cw
547+ else {
548+ let cx = bL(cw, cu[0])
549+ if ((cv == 1))
550+ then cx
551+ else {
552+ let cy = bL(cx, cu[1])
553+ if ((cv == 2))
554+ then cy
555+ else {
556+ let cz = bL(cy, cu[2])
557+ if ((cv == 3))
558+ then cz
559+ else {
560+ let cA = bL(cz, cu[3])
561+ if ((cv == 4))
562+ then cA
563+ else {
564+ let cB = bL(cA, cu[4])
565+ if ((cv == 5))
566+ then cB
567+ else {
568+ let cC = bL(cB, cu[5])
569+ if ((cv == 6))
570+ then cC
571+ else {
572+ let cD = bL(cC, cu[6])
573+ if ((cv == 7))
574+ then cD
575+ else {
576+ let cE = bL(cD, cu[7])
577+ if ((cv == 8))
578+ then cE
579+ else {
580+ let cF = bL(cE, cu[8])
581+ if ((cv == 9))
582+ then cF
583+ else {
584+ let cG = bL(cF, cu[9])
585+ if ((cv == 10))
586+ then cG
587+ else {
588+ let cH = bL(cG, cu[10])
589+ throw("List size exceed 10")
590+ }
591+ }
592+ }
593+ }
594+ }
595+ }
596+ }
597+ }
598+ }
599+ }
600+ }
601+ }
602+ let cI = bW(ce, ct, bI)
603+ let cJ = cI._1
604+ let cK = cI._2
605+ let cb = cI._3
606+ let cL = if ((bI == 2))
607+ then [IntegerEntry(A, bH)]
608+ else nil
609+ if ((height > bH))
610+ then throw("rewardUpdateHeight < height")
484611 else {
485- let ci = bL(ch, cf[0])
486- if ((cg == 1))
487- then ci
488- else {
489- let cj = bL(ci, cf[1])
490- if ((cg == 2))
491- then cj
492- else {
493- let ck = bL(cj, cf[2])
494- if ((cg == 3))
495- then ck
496- else {
497- let cl = bL(ck, cf[3])
498- if ((cg == 4))
499- then cl
500- else {
501- let cm = bL(cl, cf[4])
502- if ((cg == 5))
503- then cm
504- else {
505- let cn = bL(cm, cf[5])
506- if ((cg == 6))
507- then cn
508- else {
509- let co = bL(cn, cf[6])
510- if ((cg == 7))
511- then co
512- else {
513- let cp = bL(co, cf[7])
514- if ((cg == 8))
515- then cp
516- else {
517- let cq = bL(cp, cf[8])
518- if ((cg == 9))
519- then cq
520- else {
521- let cr = bL(cq, cf[9])
522- if ((cg == 10))
523- then cr
524- else {
525- let cs = bL(cr, cf[10])
526- throw("List size exceed 10")
527- }
528- }
529- }
530- }
531- }
532- }
533- }
534- }
535- }
536- }
612+ let cM = {
613+ let cN = bD
614+ let cO = size(cN)
615+ let cP = nil
616+ if ((cO == 0))
617+ then cP
618+ else {
619+ let cQ = bO(cP, cN[0])
620+ if ((cO == 1))
621+ then cQ
622+ else {
623+ let cR = bO(cQ, cN[1])
624+ if ((cO == 2))
625+ then cR
626+ else {
627+ let cS = bO(cR, cN[2])
628+ if ((cO == 3))
629+ then cS
630+ else {
631+ let cT = bO(cS, cN[3])
632+ if ((cO == 4))
633+ then cT
634+ else {
635+ let cU = bO(cT, cN[4])
636+ if ((cO == 5))
637+ then cU
638+ else {
639+ let cV = bO(cU, cN[5])
640+ if ((cO == 6))
641+ then cV
642+ else {
643+ let cW = bO(cV, cN[6])
644+ if ((cO == 7))
645+ then cW
646+ else {
647+ let cX = bO(cW, cN[7])
648+ if ((cO == 8))
649+ then cX
650+ else {
651+ let cY = bO(cX, cN[8])
652+ if ((cO == 9))
653+ then cY
654+ else {
655+ let cZ = bO(cY, cN[9])
656+ if ((cO == 10))
657+ then cZ
658+ else {
659+ let da = bO(cZ, cN[10])
660+ throw("List size exceed 10")
661+ }
662+ }
663+ }
664+ }
665+ }
666+ }
667+ }
668+ }
669+ }
670+ }
671+ }
672+ }
673+ let db = {
674+ let dc = bF
675+ let dd = size(dc)
676+ let de = nil
677+ if ((dd == 0))
678+ then de
679+ else {
680+ let df = bS(de, dc[0])
681+ if ((dd == 1))
682+ then df
683+ else {
684+ let dg = bS(df, dc[1])
685+ if ((dd == 2))
686+ then dg
687+ else {
688+ let dh = bS(dg, dc[2])
689+ if ((dd == 3))
690+ then dh
691+ else {
692+ let di = bS(dh, dc[3])
693+ if ((dd == 4))
694+ then di
695+ else {
696+ let dj = bS(di, dc[4])
697+ if ((dd == 5))
698+ then dj
699+ else {
700+ let dk = bS(dj, dc[5])
701+ if ((dd == 6))
702+ then dk
703+ else {
704+ let dl = bS(dk, dc[6])
705+ if ((dd == 7))
706+ then dl
707+ else {
708+ let dm = bS(dl, dc[7])
709+ if ((dd == 8))
710+ then dm
711+ else {
712+ let dn = bS(dm, dc[8])
713+ if ((dd == 9))
714+ then dn
715+ else {
716+ let do = bS(dn, dc[9])
717+ if ((dd == 10))
718+ then do
719+ else {
720+ let dp = bS(do, dc[10])
721+ throw("List size exceed 10")
722+ }
723+ }
724+ }
725+ }
726+ }
727+ }
728+ }
729+ }
730+ }
731+ }
732+ }
733+ }
734+ let dq = {
735+ let dr = bF
736+ let ds = size(dr)
737+ let dt = nil
738+ if ((ds == 0))
739+ then dt
740+ else {
741+ let du = bU(dt, dr[0])
742+ if ((ds == 1))
743+ then du
744+ else {
745+ let dv = bU(du, dr[1])
746+ if ((ds == 2))
747+ then dv
748+ else {
749+ let dw = bU(dv, dr[2])
750+ if ((ds == 3))
751+ then dw
752+ else {
753+ let dx = bU(dw, dr[3])
754+ if ((ds == 4))
755+ then dx
756+ else {
757+ let dy = bU(dx, dr[4])
758+ if ((ds == 5))
759+ then dy
760+ else {
761+ let dz = bU(dy, dr[5])
762+ if ((ds == 6))
763+ then dz
764+ else {
765+ let dA = bU(dz, dr[6])
766+ if ((ds == 7))
767+ then dA
768+ else {
769+ let dB = bU(dA, dr[7])
770+ if ((ds == 8))
771+ then dB
772+ else {
773+ let dC = bU(dB, dr[8])
774+ if ((ds == 9))
775+ then dC
776+ else {
777+ let dD = bU(dC, dr[9])
778+ if ((ds == 10))
779+ then dD
780+ else {
781+ let dE = bU(dD, dr[10])
782+ throw("List size exceed 10")
783+ }
784+ }
785+ }
786+ }
787+ }
788+ }
789+ }
790+ }
791+ }
792+ }
793+ }
794+ }
795+ ((((((cM ++ db) ++ dq) ++ cJ) ++ cK) ++ cL) ++ cb)
537796 }
538797 }
539- let ct = {
540- let cu = bG
541- let cv = size(cu)
542- let cw = 0
543- if ((cv == 0))
544- then cw
545- else {
546- let cx = bL(cw, cu[0])
547- if ((cv == 1))
548- then cx
549- else {
550- let cy = bL(cx, cu[1])
551- if ((cv == 2))
552- then cy
553- else {
554- let cz = bL(cy, cu[2])
555- if ((cv == 3))
556- then cz
557- else {
558- let cA = bL(cz, cu[3])
559- if ((cv == 4))
560- then cA
561- else {
562- let cB = bL(cA, cu[4])
563- if ((cv == 5))
564- then cB
565- else {
566- let cC = bL(cB, cu[5])
567- if ((cv == 6))
568- then cC
569- else {
570- let cD = bL(cC, cu[6])
571- if ((cv == 7))
572- then cD
573- else {
574- let cE = bL(cD, cu[7])
575- if ((cv == 8))
576- then cE
577- else {
578- let cF = bL(cE, cu[8])
579- if ((cv == 9))
580- then cF
581- else {
582- let cG = bL(cF, cu[9])
583- if ((cv == 10))
584- then cG
585- else {
586- let cH = bL(cG, cu[10])
587- throw("List size exceed 10")
588- }
589- }
590- }
591- }
592- }
593- }
594- }
595- }
596- }
597- }
598- }
599- }
600- let cI = bW(ce, ct, bI)
601- let cJ = cI._1
602- let cK = cI._2
603- let cb = cI._3
604- let cL = if ((bI == 2))
605- then [IntegerEntry(A, bH)]
606- else nil
607- if ((height > bH))
608- then throw("rewardUpdateHeight < height")
609- else {
610- let cM = {
611- let cN = bD
612- let cO = size(cN)
613- let cP = nil
614- if ((cO == 0))
615- then cP
616- else {
617- let cQ = bO(cP, cN[0])
618- if ((cO == 1))
619- then cQ
620- else {
621- let cR = bO(cQ, cN[1])
622- if ((cO == 2))
623- then cR
624- else {
625- let cS = bO(cR, cN[2])
626- if ((cO == 3))
627- then cS
628- else {
629- let cT = bO(cS, cN[3])
630- if ((cO == 4))
631- then cT
632- else {
633- let cU = bO(cT, cN[4])
634- if ((cO == 5))
635- then cU
636- else {
637- let cV = bO(cU, cN[5])
638- if ((cO == 6))
639- then cV
640- else {
641- let cW = bO(cV, cN[6])
642- if ((cO == 7))
643- then cW
644- else {
645- let cX = bO(cW, cN[7])
646- if ((cO == 8))
647- then cX
648- else {
649- let cY = bO(cX, cN[8])
650- if ((cO == 9))
651- then cY
652- else {
653- let cZ = bO(cY, cN[9])
654- if ((cO == 10))
655- then cZ
656- else {
657- let da = bO(cZ, cN[10])
658- throw("List size exceed 10")
659- }
660- }
661- }
662- }
663- }
664- }
665- }
666- }
667- }
668- }
669- }
670- }
671- let db = {
672- let dc = bF
673- let dd = size(dc)
674- let de = nil
675- if ((dd == 0))
676- then de
677- else {
678- let df = bS(de, dc[0])
679- if ((dd == 1))
680- then df
681- else {
682- let dg = bS(df, dc[1])
683- if ((dd == 2))
684- then dg
685- else {
686- let dh = bS(dg, dc[2])
687- if ((dd == 3))
688- then dh
689- else {
690- let di = bS(dh, dc[3])
691- if ((dd == 4))
692- then di
693- else {
694- let dj = bS(di, dc[4])
695- if ((dd == 5))
696- then dj
697- else {
698- let dk = bS(dj, dc[5])
699- if ((dd == 6))
700- then dk
701- else {
702- let dl = bS(dk, dc[6])
703- if ((dd == 7))
704- then dl
705- else {
706- let dm = bS(dl, dc[7])
707- if ((dd == 8))
708- then dm
709- else {
710- let dn = bS(dm, dc[8])
711- if ((dd == 9))
712- then dn
713- else {
714- let do = bS(dn, dc[9])
715- if ((dd == 10))
716- then do
717- else {
718- let dp = bS(do, dc[10])
719- throw("List size exceed 10")
720- }
721- }
722- }
723- }
724- }
725- }
726- }
727- }
728- }
729- }
730- }
731- }
732- let dq = {
733- let dr = bF
734- let ds = size(dr)
735- let dt = nil
736- if ((ds == 0))
737- then dt
738- else {
739- let du = bU(dt, dr[0])
740- if ((ds == 1))
741- then du
742- else {
743- let dv = bU(du, dr[1])
744- if ((ds == 2))
745- then dv
746- else {
747- let dw = bU(dv, dr[2])
748- if ((ds == 3))
749- then dw
750- else {
751- let dx = bU(dw, dr[3])
752- if ((ds == 4))
753- then dx
754- else {
755- let dy = bU(dx, dr[4])
756- if ((ds == 5))
757- then dy
758- else {
759- let dz = bU(dy, dr[5])
760- if ((ds == 6))
761- then dz
762- else {
763- let dA = bU(dz, dr[6])
764- if ((ds == 7))
765- then dA
766- else {
767- let dB = bU(dA, dr[7])
768- if ((ds == 8))
769- then dB
770- else {
771- let dC = bU(dB, dr[8])
772- if ((ds == 9))
773- then dC
774- else {
775- let dD = bU(dC, dr[9])
776- if ((ds == 10))
777- then dD
778- else {
779- let dE = bU(dD, dr[10])
780- throw("List size exceed 10")
781- }
782- }
783- }
784- }
785- }
786- }
787- }
788- }
789- }
790- }
791- }
792- }
793- ((((((cM ++ db) ++ dq) ++ cJ) ++ cK) ++ cL) ++ cb)
794- }
795- }
796798 }
797799
798800
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
55
66 let b = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
77
88 let c = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
99
1010 let d = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
1111
1212 let e = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
1313
1414 let f = "active"
1515
1616 let g = "shutdown_cause"
1717
1818 let h = "last_interest"
1919
2020 let i = "_last_interest"
2121
2222 let j = "_SWOP_amount"
2323
2424 let k = "_getBackHeight"
2525
2626 let l = "total_SWOP_amount"
2727
2828 let m = "_user_total_SWOP_vote"
2929
3030 let n = "_SWOP_option_amount"
3131
3232 let o = "total_SWOP_option_amount"
3333
3434 let p = "_SWOP_claimed_amount"
3535
3636 let q = "_SWOP_last_claimed_amount"
3737
3838 let r = "vote_name"
3939
4040 let s = "_option_name"
4141
4242 let t = "_startHeight"
4343
4444 let u = "_vote_duration"
4545
4646 let v = "_current_pool_fraction_reward"
4747
4848 let w = "_previous_pool_fraction_reward"
4949
5050 let x = "_pool_reward_update_height"
5151
5252 let y = "total_reward_per_block_current"
5353
5454 let z = "total_reward_per_block_previous"
5555
5656 let A = "reward_update_height"
5757
5858 let B = "reward_update_height_first_pagination"
5959
6060 let C = "_vote_no"
6161
6262 let D = "_vote_yes"
6363
6464 let E = "max_amount_voting"
6565
6666 let F = "_status"
6767
6868 let G = "_finish_height"
6969
7070 let H = "voting_active_cell_1"
7171
7272 let I = "voting_active_cell_2"
7373
7474 let J = "voting_active_cell_3"
7575
7676 let K = "sum_reward_previous"
7777
7878 let L = "sum_reward_current"
7979
8080 let M = valueOrElse(getBoolean(this, f), true)
8181
8282 let N = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
8383
8484 let O = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
8585
8686 let P = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
8787
8888 let Q = "SWOP_id"
8989
9090 let R = fromBase58String(getStringValue(N, Q))
9191
9292 let S = 100000000
9393
9494 let T = 10000000000
9595
9696 let U = "start_height"
9797
9898 let V = "base_period"
9999
100100 let W = "period_length"
101101
102102 let X = "_user_total_struc"
103103
104104 let Y = valueOrErrorMessage(getInteger(O, V), "Empty kBasePeriod at voting contract")
105105
106106 let Z = valueOrErrorMessage(getInteger(O, U), "Empty kStartHeight at voting contract")
107107
108108 let aa = valueOrErrorMessage(getInteger(O, W), "Empty kPeriodLength at voting contract")
109109
110110 let ab = valueOrElse(getString(P, H), "")
111111
112112 let ac = valueOrElse(getString(P, I), "")
113113
114114 let ad = valueOrElse(getString(P, J), "")
115115
116116 let ae = (Y + ((height - Z) / aa))
117117
118118 func af (ag) = [BooleanEntry(f, false), StringEntry(g, ag)]
119119
120120
121121 func ah () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
122122
123123
124124 func ai () = {
125125 let aj = valueOrElse(getInteger(this, h), 0)
126126 aj
127127 }
128128
129129
130130 func ak (al) = valueOrElse(getInteger(this, (toString(al) + j)), 0)
131131
132132
133133 func am (al) = valueOrElse(getInteger(this, (toString(al) + p)), 0)
134134
135135
136136 func an (al) = valueOrElse(getInteger(O, (toString(al) + m)), 0)
137137
138138
139139 func ao (al,aj) = {
140140 let ap = ak(al)
141141 let aq = getInteger(this, (toString(al) + i))
142142 let ar = {
143143 let as = aq
144144 if ($isInstanceOf(as, "Int"))
145145 then {
146146 let aq = as
147147 aq
148148 }
149149 else aj
150150 }
151151 $Tuple2(ar, ap)
152152 }
153153
154154
155155 func at (au,al) = {
156156 let av = valueOrElse(getInteger(P, au), -1)
157157 let aw = valueOrElse(getInteger(P, (toString(av) + G)), 0)
158158 let ax = valueOrElse(getBoolean(P, (toString(av) + F)), true)
159159 let ay = height
160160 if ((0 > av))
161161 then 0
162162 else if (!(ax))
163163 then 0
164164 else if ((aw > ay))
165165 then (valueOrElse(getInteger(P, (((toString(al) + "_") + toString(av)) + D)), 0) + valueOrElse(getInteger(P, (((toString(al) + "_") + toString(av)) + C)), 0))
166166 else 0
167167 }
168168
169169
170170 func az (al) = {
171171 let aA = [at(ab, al), at(ac, al), at(ad, al)]
172172 max(aA)
173173 }
174174
175175
176176 func aB () = valueOrElse(getInteger(this, l), 0)
177177
178178
179179 func aC (al) = {
180180 let aD = if (isDefined(getString(O, (toString(al) + X))))
181181 then {
182182 let aE = split(valueOrErrorMessage(getString(O, (toString(al) + X)), "Empty kUserTotalStruc"), "_")
183183 $Tuple3(parseIntValue(aE[0]), parseIntValue(aE[1]), parseIntValue(aE[2]))
184184 }
185185 else {
186186 let aF = valueOrElse(getInteger(O, (toString(al) + m)), 0)
187187 $Tuple3(aF, 0, ae)
188188 }
189189 let aG = aD._1
190190 let aH = aD._2
191191 let aI = aD._3
192192 let aJ = if ((aI == ae))
193193 then aH
194194 else 0
195195 $Tuple2(aG, aJ)
196196 }
197197
198198
199199 func aK (al) = valueOrElse(getInteger(this, (toString(al) + n)), 0)
200200
201201
202202 func aL (aM) = valueOrElse(getInteger(this, (aM + t)), 0)
203203
204204
205205 func aN (au) = valueOrElse(getInteger(this, (au + x)), 0)
206206
207207
208208 func aO (au) = isDefined(getInteger(this, (au + x)))
209209
210210
211211 func aP (au) = valueOrElse(getInteger(this, (au + v)), 0)
212212
213213
214214 func aQ (al,aM,aR) = {
215215 let aS = getInteger(this, (((aM + aR) + toString(al)) + n))
216216 let aT = {
217217 let as = aS
218218 if ($isInstanceOf(as, "Int"))
219219 then {
220220 let aT = as
221221 aT
222222 }
223223 else if ($isInstanceOf(as, "Unit"))
224224 then {
225225 let aT = as
226226 0
227227 }
228228 else throw("Match error")
229229 }
230230 valueOrErrorMessage(aT, (((("No data on the key: " + aM) + aR) + toString(al)) + n))
231231 }
232232
233233
234234 func aU (aM) = valueOrErrorMessage(getInteger(this, (aM + u)), (("No data on the key: " + aM) + u))
235235
236236
237237 func aV (aM,aR) = {
238238 let aW = getInteger(this, ((aM + aR) + o))
239239 let aX = {
240240 let as = aW
241241 if ($isInstanceOf(as, "Int"))
242242 then {
243243 let aX = as
244244 aX
245245 }
246246 else if ($isInstanceOf(as, "Unit"))
247247 then {
248248 let aX = as
249249 0
250250 }
251251 else throw("Match error")
252252 }
253253 aX
254254 }
255255
256256
257257 func aY (aM,aR,al,aZ) = {
258258 let ba = ((((((aM + "_") + aR) + "_") + toString(al)) + "_") + toString(aZ))
259259 valueOrErrorMessage(getInteger(this, ba), ("No data on the key: " + ba))
260260 }
261261
262262
263263 func bb (bc) = {
264264 let aj = ai()
265265 let bd = ao(bc, aj)
266266 let aq = bd._1
267267 let be = bd._2
268268 let bf = fraction(be, (aj - aq), S)
269269 let bg = aj
270270 $Tuple2(bg, bf)
271271 }
272272
273273
274274 @Callable(bh)
275275 func airDrop () = if (!(M))
276276 then throw("DApp is inactive at this moment")
277277 else {
278278 let bi = $Tuple2(bh.payments[0].amount, bh.payments[0].assetId)
279279 let bj = bi._1
280280 let bk = bi._2
281281 if ((bk != R))
282282 then throw("Incorrect pmtAssetId")
283283 else {
284284 let bl = aB()
285285 let aj = ai()
286286 let bm = (aj + fraction(bj, S, bl))
287287 [IntegerEntry(h, bm)]
288288 }
289289 }
290290
291291
292292
293293 @Callable(bh)
294294 func lockSWOP () = if (!(M))
295295 then throw("DApp is inactive at this moment")
296296 else {
297297 let bn = $Tuple2(bh.payments[0].amount, bh.payments[0].assetId)
298298 let bj = bn._1
299299 let bk = bn._2
300300 if ((bk != R))
301301 then throw("Incorrect pmtAssetId")
302302 else {
303303 let aj = ai()
304304 let bo = ao(bh.caller, aj)
305305 let aq = bo._1
306306 let be = bo._2
307307 let bf = fraction(be, (aj - aq), S)
308308 let bp = ((be + bj) + bf)
309309 let bg = aj
310310 let bl = aB()
311311 let bq = ((bl + bj) + bf)
312312 let br = am(bh.caller)
313313 let bs = (br + bf)
314314 [IntegerEntry((toString(bh.caller) + i), bg), IntegerEntry((toString(bh.caller) + j), bp), IntegerEntry(l, bq), IntegerEntry((toString(bh.caller) + p), bs), IntegerEntry((toString(bh.caller) + q), bf)]
315315 }
316316 }
317317
318318
319319
320320 @Callable(bh)
321321 func withdrawSWOP (bt) = if (!(M))
322322 then throw("DApp is inactive at this moment")
323323 else if ((0 >= bt))
324324 then throw("withdrawAmount <= 0")
325325 else {
326326 let bl = aB()
327327 let be = ak(bh.caller)
328328 let bu = bb(bh.caller)
329329 let bg = bu._1
330330 let bf = bu._2
331331 let bv = aC(bh.caller)
332332 let bw = bv._1
333333 let bx = bv._2
334334 let by = az(bh.caller)
335335 if (if (if ((0 > bx))
336336 then true
337337 else (0 > bw))
338338 then true
339339 else (0 > by))
340340 then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0")
341341 else {
342342 let bz = (be - max([by, (bw + bx)]))
343343 if ((bt > bz))
344344 then throw("withdrawAmount > availableToUnstake")
345345 else {
346346 let bq = ((bl + bf) - bt)
347347 let bA = ((be + bf) - bt)
348348 let br = am(bh.caller)
349349 let bs = (br + bf)
350350 [IntegerEntry((toString(bh.caller) + i), bg), IntegerEntry((toString(bh.caller) + j), bA), IntegerEntry(l, bq), ScriptTransfer(bh.caller, bt, R), IntegerEntry((toString(bh.caller) + p), bs), IntegerEntry((toString(bh.caller) + q), bf)]
351351 }
352352 }
353353 }
354354
355355
356356
357357 @Callable(bh)
358358 func claimAndWithdrawSWOP () = if (!(M))
359359 then throw("DApp is inactive at this moment")
360360 else {
361361 let aj = ai()
362362 let bB = bb(bh.caller)
363363 let bg = bB._1
364364 let bf = bB._2
365365 let br = am(bh.caller)
366366 let bs = (br + bf)
367367 if ((bf == 0))
368368 then throw("You have 0 available SWOP")
369369 else [IntegerEntry((toString(bh.caller) + i), bg), IntegerEntry((toString(bh.caller) + p), bs), IntegerEntry((toString(bh.caller) + q), bf), ScriptTransfer(bh.caller, bf, R)]
370370 }
371371
372372
373373
374374 @Callable(bh)
375375 func claimAndStakeSWOP () = if (!(M))
376376 then throw("DApp is inactive at this moment")
377377 else {
378378 let bl = aB()
379379 let be = ak(bh.caller)
380380 let aj = ai()
381381 let bC = bb(bh.caller)
382382 let bg = bC._1
383383 let bf = bC._2
384384 let bp = (be + bf)
385385 let bq = (bl + bf)
386386 let br = am(bh.caller)
387387 let bs = (br + bf)
388388 if ((bf == 0))
389389 then throw("You have 0 available SWOP")
390390 else [IntegerEntry((toString(bh.caller) + i), bg), IntegerEntry(l, bq), IntegerEntry((toString(bh.caller) + j), bp), IntegerEntry((toString(bh.caller) + p), bs), IntegerEntry((toString(bh.caller) + q), bf)]
391391 }
392392
393393
394394
395395 @Callable(bh)
396396 func updateWeights (bD,bE,bF,bG,bH,bI) = if (!(M))
397397 then throw("DApp is inactive at this moment")
398398 else {
399399 let bJ = 10
400400 let bK = valueOrElse(getInteger(this, A), 0)
401- if (if ((size(bD) > bJ))
402- then true
403- else (size(bF) > bJ))
404- then throw(("Max amount of pool is " + toString(bJ)))
405- else if ((bK >= bH))
406- then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
407- else if ((height >= bH))
408- then throw("height >= rewardUpdateHeight")
409- else if ((0 >= bH))
410- then throw("0 >= rewardUpdateHeight ")
411- else {
412- func bL (bM,bN) = (bM + bN)
401+ if (!(containsElement([a, b, c, d, e], bh.callerPublicKey)))
402+ then throw("Only admin can call this function")
403+ else if (if ((size(bD) > bJ))
404+ then true
405+ else (size(bF) > bJ))
406+ then throw(("Max amount of pool is " + toString(bJ)))
407+ else if ((bK >= bH))
408+ then throw(((("rewardUpdateHeight <= totalRewardUpdateHeight; rewardUpdateHeight: " + toString(bH)) + "; totalRewardUpdateHeight: ") + toString(bK)))
409+ else if ((height >= bH))
410+ then throw("height >= rewardUpdateHeight")
411+ else if ((0 >= bH))
412+ then throw("0 >= rewardUpdateHeight ")
413+ else {
414+ func bL (bM,bN) = (bM + bN)
413415
414- func bO (bP,au) = {
415- let bQ = aN(au)
416- if (aO(au))
417- then {
418- let bR = aP(au)
416+ func bO (bP,au) = {
417+ let bQ = aN(au)
418+ if (aO(au))
419+ then {
420+ let bR = aP(au)
419421 IntegerEntry((au + w), bR) :: bP
420- }
421- else if ((bH != bQ))
422- then if ((bQ == bK))
422+ }
423+ else if ((bH != bQ))
424+ then if ((bQ == bK))
425+ then {
426+ let bR = aP(au)
427+IntegerEntry((au + w), bR) :: bP
428+ }
429+ else bP
430+ else bP
431+ }
432+
433+ func bS (bP,au) = {
434+ let bT = value(indexOf(bF, au))
435+ let bR = bG[bT]
436+ if ((0 > bR))
437+ then throw("PoolReward < 0")
438+ else IntegerEntry((au + v), bR) :: bP
439+ }
440+
441+ func bU (bP,au) = {
442+ let bV = bH
443+IntegerEntry((au + x), bV) :: bP
444+ }
445+
446+ func bW (bX,bY,bI) = if ((bI == 0))
447+ then if (if ((bX > T))
448+ then true
449+ else (bY > T))
450+ then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare: " + toString(bI)) + " ") + toString(bX)) + " ") + toString(bY)))
451+ else $Tuple3([IntegerEntry(K, bX)], [IntegerEntry(L, bY)], [IntegerEntry(B, bH)])
452+ else if ((bI == 1))
453+ then {
454+ let bZ = valueOrElse(getInteger(this, K), 0)
455+ let ca = valueOrElse(getInteger(this, L), 0)
456+ let cb = valueOrElse(getInteger(this, B), 0)
457+ if (if (((bX + bZ) > T))
458+ then true
459+ else ((bY + ca) > T))
460+ then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare: " + toString(bI)) + " ") + toString((bX + bZ))) + " ") + toString((bY + ca))))
461+ else if ((cb != bH))
462+ then throw(((("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry; rewardUpdateHeight: " + toString(bH)) + " rewardUpdateHeightFirstPaginationEntry: ") + toString(cb)))
463+ else $Tuple3([IntegerEntry(K, (bX + bZ))], [IntegerEntry(L, (bY + ca))], nil)
464+ }
465+ else if ((bI == 2))
423466 then {
424- let bR = aP(au)
425-IntegerEntry((au + w), bR) :: bP
467+ let cc = (valueOrElse(getInteger(this, K), 0) + bX)
468+ let cd = (valueOrElse(getInteger(this, L), 0) + bY)
469+ let cb = valueOrElse(getInteger(this, B), 0)
470+ if (if ((cc != T))
471+ then true
472+ else (cd != T))
473+ then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
474+ else if ((cb != bH))
475+ then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
476+ else $Tuple3([IntegerEntry(K, cc)], [IntegerEntry(L, cd)], nil)
426477 }
427- else bP
428- else bP
429- }
478+ else throw(("Incorrect pagination: " + toString(bI)))
430479
431- func bS (bP,au) = {
432- let bT = value(indexOf(bF, au))
433- let bR = bG[bT]
434- if ((0 > bR))
435- then throw("PoolReward < 0")
436- else IntegerEntry((au + v), bR) :: bP
437- }
438-
439- func bU (bP,au) = {
440- let bV = bH
441-IntegerEntry((au + x), bV) :: bP
442- }
443-
444- func bW (bX,bY,bI) = if ((bI == 0))
445- then if (if ((bX > T))
446- then true
447- else (bY > T))
448- then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bI)) + " ") + toString(bX)) + " ") + toString(bY)))
449- else $Tuple3([IntegerEntry(K, bX)], [IntegerEntry(L, bY)], [IntegerEntry(B, bH)])
450- else if ((bI == 1))
451- then {
452- let bZ = valueOrElse(getInteger(this, K), 0)
453- let ca = valueOrElse(getInteger(this, L), 0)
454- let cb = valueOrElse(getInteger(this, B), 0)
455- if (if (((bX + bZ) > T))
456- then true
457- else ((bY + ca) > T))
458- then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bI)) + " ") + toString((bX + bZ))) + " ") + toString((bY + ca))))
459- else if ((cb != bH))
460- then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
461- else $Tuple3([IntegerEntry(K, (bX + bZ))], [IntegerEntry(L, (bY + ca))], nil)
462- }
463- else if ((bI == 2))
464- then {
465- let cc = (valueOrElse(getInteger(this, K), 0) + bX)
466- let cd = (valueOrElse(getInteger(this, L), 0) + bY)
467- let cb = valueOrElse(getInteger(this, B), 0)
468- if (if ((cc != T))
469- then true
470- else (cd != T))
471- then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
472- else if ((cb != bH))
473- then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
474- else $Tuple3([IntegerEntry(K, cc)], [IntegerEntry(L, cd)], nil)
480+ let ce = {
481+ let cf = bE
482+ let cg = size(cf)
483+ let ch = 0
484+ if ((cg == 0))
485+ then ch
486+ else {
487+ let ci = bL(ch, cf[0])
488+ if ((cg == 1))
489+ then ci
490+ else {
491+ let cj = bL(ci, cf[1])
492+ if ((cg == 2))
493+ then cj
494+ else {
495+ let ck = bL(cj, cf[2])
496+ if ((cg == 3))
497+ then ck
498+ else {
499+ let cl = bL(ck, cf[3])
500+ if ((cg == 4))
501+ then cl
502+ else {
503+ let cm = bL(cl, cf[4])
504+ if ((cg == 5))
505+ then cm
506+ else {
507+ let cn = bL(cm, cf[5])
508+ if ((cg == 6))
509+ then cn
510+ else {
511+ let co = bL(cn, cf[6])
512+ if ((cg == 7))
513+ then co
514+ else {
515+ let cp = bL(co, cf[7])
516+ if ((cg == 8))
517+ then cp
518+ else {
519+ let cq = bL(cp, cf[8])
520+ if ((cg == 9))
521+ then cq
522+ else {
523+ let cr = bL(cq, cf[9])
524+ if ((cg == 10))
525+ then cr
526+ else {
527+ let cs = bL(cr, cf[10])
528+ throw("List size exceed 10")
529+ }
530+ }
531+ }
532+ }
533+ }
534+ }
535+ }
536+ }
537+ }
538+ }
475539 }
476- else throw("Incorrect pagination")
477-
478- let ce = {
479- let cf = bE
480- let cg = size(cf)
481- let ch = 0
482- if ((cg == 0))
483- then ch
540+ }
541+ let ct = {
542+ let cu = bG
543+ let cv = size(cu)
544+ let cw = 0
545+ if ((cv == 0))
546+ then cw
547+ else {
548+ let cx = bL(cw, cu[0])
549+ if ((cv == 1))
550+ then cx
551+ else {
552+ let cy = bL(cx, cu[1])
553+ if ((cv == 2))
554+ then cy
555+ else {
556+ let cz = bL(cy, cu[2])
557+ if ((cv == 3))
558+ then cz
559+ else {
560+ let cA = bL(cz, cu[3])
561+ if ((cv == 4))
562+ then cA
563+ else {
564+ let cB = bL(cA, cu[4])
565+ if ((cv == 5))
566+ then cB
567+ else {
568+ let cC = bL(cB, cu[5])
569+ if ((cv == 6))
570+ then cC
571+ else {
572+ let cD = bL(cC, cu[6])
573+ if ((cv == 7))
574+ then cD
575+ else {
576+ let cE = bL(cD, cu[7])
577+ if ((cv == 8))
578+ then cE
579+ else {
580+ let cF = bL(cE, cu[8])
581+ if ((cv == 9))
582+ then cF
583+ else {
584+ let cG = bL(cF, cu[9])
585+ if ((cv == 10))
586+ then cG
587+ else {
588+ let cH = bL(cG, cu[10])
589+ throw("List size exceed 10")
590+ }
591+ }
592+ }
593+ }
594+ }
595+ }
596+ }
597+ }
598+ }
599+ }
600+ }
601+ }
602+ let cI = bW(ce, ct, bI)
603+ let cJ = cI._1
604+ let cK = cI._2
605+ let cb = cI._3
606+ let cL = if ((bI == 2))
607+ then [IntegerEntry(A, bH)]
608+ else nil
609+ if ((height > bH))
610+ then throw("rewardUpdateHeight < height")
484611 else {
485- let ci = bL(ch, cf[0])
486- if ((cg == 1))
487- then ci
488- else {
489- let cj = bL(ci, cf[1])
490- if ((cg == 2))
491- then cj
492- else {
493- let ck = bL(cj, cf[2])
494- if ((cg == 3))
495- then ck
496- else {
497- let cl = bL(ck, cf[3])
498- if ((cg == 4))
499- then cl
500- else {
501- let cm = bL(cl, cf[4])
502- if ((cg == 5))
503- then cm
504- else {
505- let cn = bL(cm, cf[5])
506- if ((cg == 6))
507- then cn
508- else {
509- let co = bL(cn, cf[6])
510- if ((cg == 7))
511- then co
512- else {
513- let cp = bL(co, cf[7])
514- if ((cg == 8))
515- then cp
516- else {
517- let cq = bL(cp, cf[8])
518- if ((cg == 9))
519- then cq
520- else {
521- let cr = bL(cq, cf[9])
522- if ((cg == 10))
523- then cr
524- else {
525- let cs = bL(cr, cf[10])
526- throw("List size exceed 10")
527- }
528- }
529- }
530- }
531- }
532- }
533- }
534- }
535- }
536- }
612+ let cM = {
613+ let cN = bD
614+ let cO = size(cN)
615+ let cP = nil
616+ if ((cO == 0))
617+ then cP
618+ else {
619+ let cQ = bO(cP, cN[0])
620+ if ((cO == 1))
621+ then cQ
622+ else {
623+ let cR = bO(cQ, cN[1])
624+ if ((cO == 2))
625+ then cR
626+ else {
627+ let cS = bO(cR, cN[2])
628+ if ((cO == 3))
629+ then cS
630+ else {
631+ let cT = bO(cS, cN[3])
632+ if ((cO == 4))
633+ then cT
634+ else {
635+ let cU = bO(cT, cN[4])
636+ if ((cO == 5))
637+ then cU
638+ else {
639+ let cV = bO(cU, cN[5])
640+ if ((cO == 6))
641+ then cV
642+ else {
643+ let cW = bO(cV, cN[6])
644+ if ((cO == 7))
645+ then cW
646+ else {
647+ let cX = bO(cW, cN[7])
648+ if ((cO == 8))
649+ then cX
650+ else {
651+ let cY = bO(cX, cN[8])
652+ if ((cO == 9))
653+ then cY
654+ else {
655+ let cZ = bO(cY, cN[9])
656+ if ((cO == 10))
657+ then cZ
658+ else {
659+ let da = bO(cZ, cN[10])
660+ throw("List size exceed 10")
661+ }
662+ }
663+ }
664+ }
665+ }
666+ }
667+ }
668+ }
669+ }
670+ }
671+ }
672+ }
673+ let db = {
674+ let dc = bF
675+ let dd = size(dc)
676+ let de = nil
677+ if ((dd == 0))
678+ then de
679+ else {
680+ let df = bS(de, dc[0])
681+ if ((dd == 1))
682+ then df
683+ else {
684+ let dg = bS(df, dc[1])
685+ if ((dd == 2))
686+ then dg
687+ else {
688+ let dh = bS(dg, dc[2])
689+ if ((dd == 3))
690+ then dh
691+ else {
692+ let di = bS(dh, dc[3])
693+ if ((dd == 4))
694+ then di
695+ else {
696+ let dj = bS(di, dc[4])
697+ if ((dd == 5))
698+ then dj
699+ else {
700+ let dk = bS(dj, dc[5])
701+ if ((dd == 6))
702+ then dk
703+ else {
704+ let dl = bS(dk, dc[6])
705+ if ((dd == 7))
706+ then dl
707+ else {
708+ let dm = bS(dl, dc[7])
709+ if ((dd == 8))
710+ then dm
711+ else {
712+ let dn = bS(dm, dc[8])
713+ if ((dd == 9))
714+ then dn
715+ else {
716+ let do = bS(dn, dc[9])
717+ if ((dd == 10))
718+ then do
719+ else {
720+ let dp = bS(do, dc[10])
721+ throw("List size exceed 10")
722+ }
723+ }
724+ }
725+ }
726+ }
727+ }
728+ }
729+ }
730+ }
731+ }
732+ }
733+ }
734+ let dq = {
735+ let dr = bF
736+ let ds = size(dr)
737+ let dt = nil
738+ if ((ds == 0))
739+ then dt
740+ else {
741+ let du = bU(dt, dr[0])
742+ if ((ds == 1))
743+ then du
744+ else {
745+ let dv = bU(du, dr[1])
746+ if ((ds == 2))
747+ then dv
748+ else {
749+ let dw = bU(dv, dr[2])
750+ if ((ds == 3))
751+ then dw
752+ else {
753+ let dx = bU(dw, dr[3])
754+ if ((ds == 4))
755+ then dx
756+ else {
757+ let dy = bU(dx, dr[4])
758+ if ((ds == 5))
759+ then dy
760+ else {
761+ let dz = bU(dy, dr[5])
762+ if ((ds == 6))
763+ then dz
764+ else {
765+ let dA = bU(dz, dr[6])
766+ if ((ds == 7))
767+ then dA
768+ else {
769+ let dB = bU(dA, dr[7])
770+ if ((ds == 8))
771+ then dB
772+ else {
773+ let dC = bU(dB, dr[8])
774+ if ((ds == 9))
775+ then dC
776+ else {
777+ let dD = bU(dC, dr[9])
778+ if ((ds == 10))
779+ then dD
780+ else {
781+ let dE = bU(dD, dr[10])
782+ throw("List size exceed 10")
783+ }
784+ }
785+ }
786+ }
787+ }
788+ }
789+ }
790+ }
791+ }
792+ }
793+ }
794+ }
795+ ((((((cM ++ db) ++ dq) ++ cJ) ++ cK) ++ cL) ++ cb)
537796 }
538797 }
539- let ct = {
540- let cu = bG
541- let cv = size(cu)
542- let cw = 0
543- if ((cv == 0))
544- then cw
545- else {
546- let cx = bL(cw, cu[0])
547- if ((cv == 1))
548- then cx
549- else {
550- let cy = bL(cx, cu[1])
551- if ((cv == 2))
552- then cy
553- else {
554- let cz = bL(cy, cu[2])
555- if ((cv == 3))
556- then cz
557- else {
558- let cA = bL(cz, cu[3])
559- if ((cv == 4))
560- then cA
561- else {
562- let cB = bL(cA, cu[4])
563- if ((cv == 5))
564- then cB
565- else {
566- let cC = bL(cB, cu[5])
567- if ((cv == 6))
568- then cC
569- else {
570- let cD = bL(cC, cu[6])
571- if ((cv == 7))
572- then cD
573- else {
574- let cE = bL(cD, cu[7])
575- if ((cv == 8))
576- then cE
577- else {
578- let cF = bL(cE, cu[8])
579- if ((cv == 9))
580- then cF
581- else {
582- let cG = bL(cF, cu[9])
583- if ((cv == 10))
584- then cG
585- else {
586- let cH = bL(cG, cu[10])
587- throw("List size exceed 10")
588- }
589- }
590- }
591- }
592- }
593- }
594- }
595- }
596- }
597- }
598- }
599- }
600- let cI = bW(ce, ct, bI)
601- let cJ = cI._1
602- let cK = cI._2
603- let cb = cI._3
604- let cL = if ((bI == 2))
605- then [IntegerEntry(A, bH)]
606- else nil
607- if ((height > bH))
608- then throw("rewardUpdateHeight < height")
609- else {
610- let cM = {
611- let cN = bD
612- let cO = size(cN)
613- let cP = nil
614- if ((cO == 0))
615- then cP
616- else {
617- let cQ = bO(cP, cN[0])
618- if ((cO == 1))
619- then cQ
620- else {
621- let cR = bO(cQ, cN[1])
622- if ((cO == 2))
623- then cR
624- else {
625- let cS = bO(cR, cN[2])
626- if ((cO == 3))
627- then cS
628- else {
629- let cT = bO(cS, cN[3])
630- if ((cO == 4))
631- then cT
632- else {
633- let cU = bO(cT, cN[4])
634- if ((cO == 5))
635- then cU
636- else {
637- let cV = bO(cU, cN[5])
638- if ((cO == 6))
639- then cV
640- else {
641- let cW = bO(cV, cN[6])
642- if ((cO == 7))
643- then cW
644- else {
645- let cX = bO(cW, cN[7])
646- if ((cO == 8))
647- then cX
648- else {
649- let cY = bO(cX, cN[8])
650- if ((cO == 9))
651- then cY
652- else {
653- let cZ = bO(cY, cN[9])
654- if ((cO == 10))
655- then cZ
656- else {
657- let da = bO(cZ, cN[10])
658- throw("List size exceed 10")
659- }
660- }
661- }
662- }
663- }
664- }
665- }
666- }
667- }
668- }
669- }
670- }
671- let db = {
672- let dc = bF
673- let dd = size(dc)
674- let de = nil
675- if ((dd == 0))
676- then de
677- else {
678- let df = bS(de, dc[0])
679- if ((dd == 1))
680- then df
681- else {
682- let dg = bS(df, dc[1])
683- if ((dd == 2))
684- then dg
685- else {
686- let dh = bS(dg, dc[2])
687- if ((dd == 3))
688- then dh
689- else {
690- let di = bS(dh, dc[3])
691- if ((dd == 4))
692- then di
693- else {
694- let dj = bS(di, dc[4])
695- if ((dd == 5))
696- then dj
697- else {
698- let dk = bS(dj, dc[5])
699- if ((dd == 6))
700- then dk
701- else {
702- let dl = bS(dk, dc[6])
703- if ((dd == 7))
704- then dl
705- else {
706- let dm = bS(dl, dc[7])
707- if ((dd == 8))
708- then dm
709- else {
710- let dn = bS(dm, dc[8])
711- if ((dd == 9))
712- then dn
713- else {
714- let do = bS(dn, dc[9])
715- if ((dd == 10))
716- then do
717- else {
718- let dp = bS(do, dc[10])
719- throw("List size exceed 10")
720- }
721- }
722- }
723- }
724- }
725- }
726- }
727- }
728- }
729- }
730- }
731- }
732- let dq = {
733- let dr = bF
734- let ds = size(dr)
735- let dt = nil
736- if ((ds == 0))
737- then dt
738- else {
739- let du = bU(dt, dr[0])
740- if ((ds == 1))
741- then du
742- else {
743- let dv = bU(du, dr[1])
744- if ((ds == 2))
745- then dv
746- else {
747- let dw = bU(dv, dr[2])
748- if ((ds == 3))
749- then dw
750- else {
751- let dx = bU(dw, dr[3])
752- if ((ds == 4))
753- then dx
754- else {
755- let dy = bU(dx, dr[4])
756- if ((ds == 5))
757- then dy
758- else {
759- let dz = bU(dy, dr[5])
760- if ((ds == 6))
761- then dz
762- else {
763- let dA = bU(dz, dr[6])
764- if ((ds == 7))
765- then dA
766- else {
767- let dB = bU(dA, dr[7])
768- if ((ds == 8))
769- then dB
770- else {
771- let dC = bU(dB, dr[8])
772- if ((ds == 9))
773- then dC
774- else {
775- let dD = bU(dC, dr[9])
776- if ((ds == 10))
777- then dD
778- else {
779- let dE = bU(dD, dr[10])
780- throw("List size exceed 10")
781- }
782- }
783- }
784- }
785- }
786- }
787- }
788- }
789- }
790- }
791- }
792- }
793- ((((((cM ++ db) ++ dq) ++ cJ) ++ cK) ++ cL) ++ cb)
794- }
795- }
796798 }
797799
798800
799801
800802 @Callable(bh)
801803 func shutdown () = if (!(M))
802804 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, g), "the cause wasn't specified")))
803805 else if (!(containsElement([a, b, c, d], bh.callerPublicKey)))
804806 then throw("Only admin can call this function")
805807 else af("Paused by admin")
806808
807809
808810
809811 @Callable(bh)
810812 func activate () = if (M)
811813 then throw("DApp is already active")
812814 else if (!(containsElement([a, b, c, d], bh.callerPublicKey)))
813815 then throw("Only admin can call this function")
814816 else [BooleanEntry(f, true), DeleteEntry(g)]
815817
816818
817819 @Verifier(dF)
818820 func dG () = sigVerify(dF.bodyBytes, dF.proofs[0], dF.senderPublicKey)
819821

github/deemru/w8io/169f3d6 
89.18 ms