tx · 87NGp6rzcNzY4zuFNWmPGRw4qkMu22XLvEcHs8B9vjYw

3NBissVuK2vWkEB9adpgTP6yzZMt67RFouv:  -0.01000000 Waves

2021.04.15 13:16 [1483425] smart account 3NBissVuK2vWkEB9adpgTP6yzZMt67RFouv > SELF 0.00000000 Waves

{ "type": 13, "id": "87NGp6rzcNzY4zuFNWmPGRw4qkMu22XLvEcHs8B9vjYw", "fee": 1000000, "feeAssetId": null, "timestamp": 1618481818851, "version": 1, "sender": "3NBissVuK2vWkEB9adpgTP6yzZMt67RFouv", "senderPublicKey": "25f8SX3HHYGb9XbjPWW1UHUXkXxokKk5hXWSAuhPSDGs", "proofs": [ "2DvQierUKWboc5U8Vo17JyqwLeSZFqazpRDtnJYgSLhRb87HtERmcRdmMT6LRPobBFFfkV9FkWD38FkfM54Wz2i6" ], "script": "base64:AAIEAAAAAAAAABMIAhIAEgASBAoCCAgSABIDCgEIAAAAdgEAAAARa2V5QWNjdW11bGF0ZWRGZWUAAAAAAgAAABIlc19fYWNjdW11bGF0ZWRGZWUBAAAAGWtleUFjY3VtdWxhdGVkUHJvdG9jb2xGZWUAAAAAAgAAABolc19fYWNjdW11bGF0ZWRQcm90b2NvbEZlZQEAAAAOa2V5VWNvbGxhdGVyYWwAAAAAAgAAAA8lc19fdWNvbGxhdGVyYWwBAAAAGWtleVRvdGFsTGVuZGVkQXRPdGhlckFjY3MAAAAAAgAAABolc19fdG90YWxMZW5kZWRBdE90aGVyQWNjcwEAAAATa2V5QXNzZXRMb2NrZWRUb3RhbAAAAAEAAAAHYXNzZXRJZAkAASwAAAACAgAAABglcyVzX19hc3NldExvY2tlZFRvdGFsX18FAAAAB2Fzc2V0SWQBAAAAE2tleUFjY291bnRPcGVyYXRpb24AAAADAAAADHVubG9ja0hlaWdodAAAAAdhZGRyZXNzAAAABnN0YXR1cwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAHiVzJXMlZCVzX19kZWZvQXNzZXRPcGVyYXRpb25fXwUAAAAHYWRkcmVzcwIAAAACX18JAAGkAAAAAQUAAAAMdW5sb2NrSGVpZ2h0AgAAAAJfXwUAAAAGc3RhdHVzAQAAAAprZXlGYWN0b3J5AAAAAAIAAAALJXNfX2ZhY3RvcnkBAAAAGmtleUxlbmRlZEFtb3VudEJ5QXNzZXRDb2RlAAAAAQAAAAlhc3NldENvZGUJAAEsAAAAAgIAAAAdJXMlc19fbGVuZGVkQmFzZUFzc2V0QW1vdW50X18FAAAACWFzc2V0Q29kZQEAAAAIa2V5UHJpY2UAAAABAAAACWFzc2V0Q29kZQkAASwAAAACAgAAAA0lcyVzX19wcmljZV9fBQAAAAlhc3NldENvZGUBAAAAFGtleUNvbnRyb2xMYXN0SGVpZ2h0AAAAAQAAAAlhc3NldENvZGUJAAEsAAAAAgIAAAASJXMlc19fbGFzdEhlaWdodF9fBQAAAAlhc3NldENvZGUAAAAAFElkeE9wZXJhdGlvbkFtb3VudEluAAAAAAAAAAABAAAAABNJZHhPcGVyYXRpb25Bc3NldEluAAAAAAAAAAACAAAAABFJZHhPcGVyYXRpb25QcmljZQAAAAAAAAAAAwAAAAAVSWR4T3BlcmF0aW9uQW1vdW50T3V0AAAAAAAAAAAEAAAAABRJZHhPcGVyYXRpb25Bc3NldE91dAAAAAAAAAAABQEAAAAWYXNzZXREYXRhU3dhcE9wZXJhdGlvbgAAAAgAAAAIYW1vdW50SW4AAAAHYXNzZXRJbgAAAAVwcmljZQAAAAlhbW91bnRPdXQAAAAIYXNzZXRPdXQAAAAMYnJ1dHRvQW1vdW50AAAACWZlZUFtb3VudAAAABFwcm90b2NvbEZlZUFtb3VudAkABLkAAAACCQAETAAAAAICAAAAECVkJXMlZCVzJWQlZCVkJWQJAARMAAAAAgkAAaQAAAABBQAAAAhhbW91bnRJbgkABEwAAAACBQAAAAdhc3NldEluCQAETAAAAAIJAAGkAAAAAQUAAAAJYW1vdW50T3V0CQAETAAAAAIFAAAACGFzc2V0T3V0CQAETAAAAAIJAAGkAAAAAQUAAAAFcHJpY2UJAARMAAAAAgkAAaQAAAABBQAAAAxicnV0dG9BbW91bnQJAARMAAAAAgkAAaQAAAABBQAAAAlmZWVBbW91bnQJAARMAAAAAgkAAaQAAAABBQAAABFwcm90b2NvbEZlZUFtb3VudAUAAAADbmlsAgAAAAJfXwEAAAAXYXNzZXREYXRhUmViYWxhbmNlVHJhY2UAAAAFAAAAD2RlYnRvckFzc2V0Q29kZQAAAAdkZWJ0UG10AAAAB2Jhc2VQbXQAAAAPbGVuZGVkQW10QmVmb3JlAAAADmxlbmRlZEFtdEFmdGVyCQAEuQAAAAIJAARMAAAAAgIAAAAOJXMlcyVkJXMlZCVkJWQJAARMAAAAAgUAAAAPZGVidG9yQXNzZXRDb2RlCQAETAAAAAIJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgFAAAAB2RlYnRQbXQAAAAHYXNzZXRJZAkABEwAAAACCQABpAAAAAEIBQAAAAdkZWJ0UG10AAAABmFtb3VudAkABEwAAAACCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEIBQAAAAdiYXNlUG10AAAAB2Fzc2V0SWQJAARMAAAAAgkAAaQAAAABCAUAAAAHYmFzZVBtdAAAAAZhbW91bnQJAARMAAAAAgkAAaQAAAABBQAAAA9sZW5kZWRBbXRCZWZvcmUJAARMAAAAAgkAAaQAAAABBQAAAA5sZW5kZWRBbXRBZnRlcgUAAAADbmlsAgAAAAJfXwEAAAAcYXNzZXRSZWFkU3dhcERhdGFBcnJheU9yRmFpbAAAAAEAAAAPYWNjT3BlcmF0aW9uS2V5BAAAABNhY2NPcGVyYXRpb25EYXRhU3RyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAPYWNjT3BlcmF0aW9uS2V5CQABLAAAAAICAAAAKlRoZXJlIGlzIG5vIHJlcXVlc3QgZm9yIHBhc3NlZCBhcmd1bWVudHM6IAUAAAAPYWNjT3BlcmF0aW9uS2V5CQAEtQAAAAIFAAAAE2FjY09wZXJhdGlvbkRhdGFTdHICAAAAAl9fAAAAAAdudWxsSW50AP//////////AAAAAAdudWxsU3RyAgAAAAROVUxMAAAAAApmYWN0b3J5QWNjCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwkBAAAACmtleUZhY3RvcnkAAAAACQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABJObyBjb25maWcgYXQgdGhpcz0JAAQlAAAAAQUAAAAEdGhpcwIAAAAJIGZvciBrZXk9CQEAAAAKa2V5RmFjdG9yeQAAAAABAAAAJGtleUZhY3RvcnlOZXV0cmlub0NvbnRyYWN0QWRkcmVzc0tleQAAAAACAAAAKyVzJXNfX2NvbW1vbkNvbmZpZ19fbmV1dHJpbm9Db250cmFjdEFkZHJlc3MBAAAAFWtleUZhY3RvcnlEZWJ0QXNzZXRJZAAAAAACAAAAHyVzJXNfX2NvbW1vbkNvbmZpZ19fZGVidEFzc2V0SWQBAAAAIGtleUZhY3RvcnlEZWJ0QXNzZXRFdGFsb25CYWxhbmNlAAAAAAIAAAAqJXMlc19fY29tbW9uQ29uZmlnX19kZWJ0QXNzZXRFdGFsb25CYWxhbmNlAQAAABJrZXlGYWN0b3J5QXNzZXRDZmcAAAABAAAAD2Fzc2V0QWRkcmVzc1N0cgkAASwAAAACCQABLAAAAAICAAAAEyVzJXMlc19fZGVmb0Fzc2V0X18FAAAAD2Fzc2V0QWRkcmVzc1N0cgIAAAAIX19jb25maWcBAAAAGmtleUZhY3RvcnlBc3NldEN1cnJlbnRQb29sAAAAAQAAAA9hc3NldEFjY0FkZHJlc3MJAAEsAAAAAgkAASwAAAACAgAAABMlcyVzJXNfX2RlZm9Bc3NldF9fCQAEJQAAAAEFAAAAD2Fzc2V0QWNjQWRkcmVzcwIAAAANX19jdXJyZW50UG9vbAEAAAAga2V5RmFjdG9yeURlZm9BZGRyZXNzQnlBc3NldENvZGUAAAABAAAACWFzc2V0Q29kZQkAASwAAAACCQABLAAAAAICAAAAEyVzJXMlc19fZGVmb0Fzc2V0X18FAAAACWFzc2V0Q29kZQIAAAAUX19hZGRyZXNzQnlBc3NldENvZGUBAAAAGWtleUZhY3RvcnlBc3NldFBvb2xNYWtlcnMAAAABAAAADGFzc2V0QWRkcmVzcwkAASwAAAACCQABLAAAAAICAAAAEyVzJXMlc19fZGVmb0Fzc2V0X18FAAAADGFzc2V0QWRkcmVzcwIAAAAMX19wb29sTWFrZXJzAQAAACFrZXlGYWN0b3J5RGVmb1N0YWtpbmdQYWNlbWFrZXJQdWIAAAAAAgAAACslcyVzX19jb21tb25Db25maWdfX2RlZm9TdGFraW5nUGFjZW1ha2VyUHViAQAAACNrZXlGYWN0b3J5UG9vbE1ha2VyTGlxdWlkaXR5UmVxdWVzdAAAAAMAAAAMYXNzZXRBZGRyZXNzAAAAEHBvb2xNYWtlckFkZHJlc3MAAAABaAkABLkAAAACCQAETAAAAAICAAAAECVzJXMlcyVkJXNfX3Bvb2wJAARMAAAAAgUAAAAMYXNzZXRBZGRyZXNzCQAETAAAAAIFAAAAEHBvb2xNYWtlckFkZHJlc3MJAARMAAAAAgkAAaQAAAABBQAAAAFoCQAETAAAAAICAAAAEGxpcXVpZGl0eVJlcXVlc3QFAAAAA25pbAIAAAACX18BAAAAH2tleUZhY3RvcnlQb29sTWFrZXJVbmxvY2tIZWlnaHQAAAACAAAADGFzc2V0QWRkcmVzcwAAABBwb29sTWFrZXJBZGRyZXNzCQAEuQAAAAIJAARMAAAAAgIAAAAOJXMlcyVzJXNfX3Bvb2wJAARMAAAAAgUAAAAMYXNzZXRBZGRyZXNzCQAETAAAAAIFAAAAEHBvb2xNYWtlckFkZHJlc3MJAARMAAAAAgIAAAAMdW5sb2NrSGVpZ2h0BQAAAANuaWwCAAAAAl9fAQAAABZmYWN0b3J5UmVhZERlYnRBc3NldElkAAAAAAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAACmZhY3RvcnlBY2MJAQAAABVrZXlGYWN0b3J5RGVidEFzc2V0SWQAAAAACQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABVObyBjb25maWcgYXQgZmFjdG9yeT0JAAQlAAAAAQUAAAAKZmFjdG9yeUFjYwIAAAAJIGZvciBrZXk9CQEAAAAVa2V5RmFjdG9yeURlYnRBc3NldElkAAAAAAEAAAAcZmFjdG9yeVJlYWRBc3NldENmZ0J5QWRkcmVzcwAAAAEAAAAPYXNzZXRBZGRyZXNzU3RyCQAEtQAAAAIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAApmYWN0b3J5QWNjCQEAAAASa2V5RmFjdG9yeUFzc2V0Q2ZnAAAAAQUAAAAPYXNzZXRBZGRyZXNzU3RyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABVObyBjb25maWcgYXQgZmFjdG9yeT0JAAQlAAAAAQUAAAAKZmFjdG9yeUFjYwIAAAAJIGZvciBrZXk9CQEAAAASa2V5RmFjdG9yeUFzc2V0Q2ZnAAAAAQUAAAAPYXNzZXRBZGRyZXNzU3RyAgAAAAJfXwEAAAAZZmFjdG9yeVJlYWRBc3NldENmZ0J5Q29kZQAAAAEAAAAJYXNzZXRDb2RlBAAAAA9hc3NldEFkZHJlc3NTdHIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAApmYWN0b3J5QWNjCQEAAAAga2V5RmFjdG9yeURlZm9BZGRyZXNzQnlBc3NldENvZGUAAAABBQAAAAlhc3NldENvZGUJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAFU5vIGNvbmZpZyBhdCBmYWN0b3J5PQkABCUAAAABBQAAAApmYWN0b3J5QWNjAgAAAAkgZm9yIGtleT0JAQAAACBrZXlGYWN0b3J5RGVmb0FkZHJlc3NCeUFzc2V0Q29kZQAAAAEFAAAACWFzc2V0Q29kZQkABRQAAAACBQAAAA9hc3NldEFkZHJlc3NTdHIJAQAAABxmYWN0b3J5UmVhZEFzc2V0Q2ZnQnlBZGRyZXNzAAAAAQUAAAAPYXNzZXRBZGRyZXNzU3RyAQAAACdmYWN0b3J5UmVhZE5leHRQb29sTWFrZXJUb0Rpc3RyaWJ1dGVGZWUAAAABAAAAD2Fzc2V0QWRkcmVzc1N0cgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM01zYkZNc3R3bTNGSFBKWG1NZlRneWF3N3pRcnBaZmt3bngBAAAAImZhY3RvcnlSZWFkRGVmb1N0YWtpbmdQYWNlbWFrZXJQdWIAAAAACQACWQAAAAEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAApmYWN0b3J5QWNjCQEAAAAha2V5RmFjdG9yeURlZm9TdGFraW5nUGFjZW1ha2VyUHViAAAAAAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAVTm8gY29uZmlnIGF0IGZhY3Rvcnk9CQAEJQAAAAEFAAAACmZhY3RvcnlBY2MCAAAACSBmb3Iga2V5PQkBAAAAIWtleUZhY3RvcnlEZWZvU3Rha2luZ1BhY2VtYWtlclB1YgAAAAAAAAAAEElkeERlZm9Bc3NldENvZGUAAAAAAAAAAAEAAAAADklkeERlZm9Bc3NldElkAAAAAAAAAAACAAAAABJJZHhEZWZvQXNzZXRTdGF0dXMAAAAAAAAAAAMAAAAAEElkeFByaWNlRGVjaW1hbHMAAAAAAAAAAAQAAAAADklkeEJhc2VBc3NldElkAAAAAAAAAAAFAAAAABhJZHhPdmVyQ29sbGF0ZXJhbFBlcmNlbnQAAAAAAAAAAAYAAAAADklkeE1pbkluaXRQb29sAAAAAAAAAAAHAAAAABVJZHhQcmljZU9yYWNsZUFkZHJlc3MAAAAAAAAAAAgAAAAAEElkeE1pbkJ1eVBheW1lbnQAAAAAAAAAAAkAAAAAEUlkeE1pblNlbGxQYXltZW50AAAAAAAAAAAKAAAAABJJZHhCdXlMb2NrSW50ZXJ2YWwAAAAAAAAAAAsAAAAAE0lkeFNlbGxMb2NrSW50ZXJ2YWwAAAAAAAAAAAwAAAAAEElkeEJ1eUZlZVBlcmNlbnQAAAAAAAAAAA0AAAAAEUlkeFNlbGxGZWVQZXJjZW50AAAAAAAAAAAOAAAAABhJZHhQb29sUmVkZW1wdGlvblRpbWVvdXQAAAAAAAAAAA8AAAAAIUlkeFdlZWtlbmRzUHJpY2VDaGFuZ2VDb2VmZmljaWVudAAAAAAAAAAAEAAAAAAYSWR4QXNzZXRBY2NvdW50UHVibGljU3RyAAAAAAAAAAARAAAAACBJZHhBc3NldFN0YWtpbmdSZWZlcnJhbFB1YmxpY1N0cgAAAAAAAAAAEgAAAAAbSWR4Q3Jvc3NFeGNoYW5nZUNvZWZmaWNpZW50AAAAAAAAAAATAAAAACNJZHhTdGFraW5nTWluQW10RnJvbVNlbGxDb2VmZmljaWVudAAAAAAAAAAAFAAAAAAXSWR4UG9vbFN0YWJpbGl0eUZlZVBhcnQAAAAAAAAAABUAAAAAEklkeFByb3RvY29sRmVlUGFydAAAAAAAAAAAFgAAAAAMdGhpc0NmZ0FycmF5CQEAAAAcZmFjdG9yeVJlYWRBc3NldENmZ0J5QWRkcmVzcwAAAAEJAAQlAAAAAQUAAAAEdGhpcwAAAAANZGVmb0Fzc2V0Q29kZQkAAZEAAAACBQAAAAx0aGlzQ2ZnQXJyYXkFAAAAEElkeERlZm9Bc3NldENvZGUAAAAADmRlZm9Bc3NldElkU3RyCQABkQAAAAIFAAAADHRoaXNDZmdBcnJheQUAAAAOSWR4RGVmb0Fzc2V0SWQAAAAAC2RlZm9Bc3NldElkCQACWQAAAAEFAAAADmRlZm9Bc3NldElkU3RyAAAAAA5wcmljZU9yYWNsZUFjYwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkAAZEAAAACBQAAAAx0aGlzQ2ZnQXJyYXkFAAAAFUlkeFByaWNlT3JhY2xlQWRkcmVzcwAAAAAVb3ZlckNvbGxhdGVyYWxQZXJjZW50CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMdGhpc0NmZ0FycmF5BQAAABhJZHhPdmVyQ29sbGF0ZXJhbFBlcmNlbnQAAAAADmJhc2VBc3NldElkU3RyCQABkQAAAAIFAAAADHRoaXNDZmdBcnJheQUAAAAOSWR4QmFzZUFzc2V0SWQAAAAAC2Jhc2VBc3NldElkCQACWQAAAAEFAAAADmJhc2VBc3NldElkU3RyAAAAAA1wcmljZURlY2ltYWxzCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMdGhpc0NmZ0FycmF5BQAAABBJZHhQcmljZURlY2ltYWxzAAAAABFtaW5CYXNpY0J1eUFtb3VudAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAADHRoaXNDZmdBcnJheQUAAAAQSWR4TWluQnV5UGF5bWVudAAAAAASbWluU3ludGhTZWxsQW1vdW50CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMdGhpc0NmZ0FycmF5BQAAABFJZHhNaW5TZWxsUGF5bWVudAAAAAAPYnV5TG9ja0ludGVydmFsCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMdGhpc0NmZ0FycmF5BQAAABJJZHhCdXlMb2NrSW50ZXJ2YWwAAAAAEHNlbGxMb2NrSW50ZXJ2YWwJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAx0aGlzQ2ZnQXJyYXkFAAAAE0lkeFNlbGxMb2NrSW50ZXJ2YWwAAAAADWJ1eUZlZVBlcmNlbnQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAx0aGlzQ2ZnQXJyYXkFAAAAEElkeEJ1eUZlZVBlcmNlbnQAAAAADnNlbGxGZWVQZXJjZW50CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMdGhpc0NmZ0FycmF5BQAAABFJZHhTZWxsRmVlUGVyY2VudAAAAAAed2Vla2VuZHNQcmljZUNoYW5nZUNvZWZmaWNpZW50CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMdGhpc0NmZ0FycmF5BQAAACFJZHhXZWVrZW5kc1ByaWNlQ2hhbmdlQ29lZmZpY2llbnQAAAAAFWFzc2V0QWNjb3VudFB1YmxpY1N0cgkAAZEAAAACBQAAAAx0aGlzQ2ZnQXJyYXkFAAAAGElkeEFzc2V0QWNjb3VudFB1YmxpY1N0cgAAAAAdYXNzZXRTdGFraW5nUmVmZXJyYWxQdWJsaWNTdHIJAAGRAAAAAgUAAAAMdGhpc0NmZ0FycmF5BQAAACBJZHhBc3NldFN0YWtpbmdSZWZlcnJhbFB1YmxpY1N0cgAAAAAYY3Jvc3NFeGNoYW5nZUNvZWZmaWNpZW50CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMdGhpc0NmZ0FycmF5BQAAABtJZHhDcm9zc0V4Y2hhbmdlQ29lZmZpY2llbnQAAAAAIHN0YWtpbmdNaW5BbXRGcm9tU2VsbENvZWZmaWNpZW50CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMdGhpc0NmZ0FycmF5BQAAACNJZHhTdGFraW5nTWluQW10RnJvbVNlbGxDb2VmZmljaWVudAAAAAAUcG9vbFN0YWJpbGl0eUZlZVBhcnQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAx0aGlzQ2ZnQXJyYXkFAAAAF0lkeFBvb2xTdGFiaWxpdHlGZWVQYXJ0AAAAAA9wcm90b2NvbEZlZVBhcnQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAx0aGlzQ2ZnQXJyYXkFAAAAEklkeFByb3RvY29sRmVlUGFydAEAAAAMa2V5SXNCbG9ja2VkAAAAAAIAAAANJXNfX2lzQmxvY2tlZAEAAAARa2V5SXNNYXJrZXRPcGVuZWQAAAABAAAACWFzc2V0Q29kZQkAASwAAAACAgAAABYlcyVzX19pc01hcmtldE9wZW5lZF9fBQAAAAlhc3NldENvZGUAAAAACWlzQmxvY2tlZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAA5wcmljZU9yYWNsZUFjYwkBAAAADGtleUlzQmxvY2tlZAAAAAAHAAAAAA5pc01hcmtldE9wZW5lZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAA5wcmljZU9yYWNsZUFjYwkBAAAAEWtleUlzTWFya2V0T3BlbmVkAAAAAQUAAAANZGVmb0Fzc2V0Q29kZQcBAAAAE2NvbnRyb2xBY2NSZWFkUHJpY2UAAAABAAAACWFzc2V0Q29kZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAADnByaWNlT3JhY2xlQWNjCQEAAAAIa2V5UHJpY2UAAAABBQAAAAlhc3NldENvZGUJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAGE5vIHByaWNlIGF0IHByaWNlT3JhY2xlPQkABCUAAAABBQAAAA5wcmljZU9yYWNsZUFjYwIAAAAJIGZvciBrZXk9CQEAAAAIa2V5UHJpY2UAAAABBQAAAAlhc3NldENvZGUBAAAAGGNvbnRyb2xBY2NSZWFkTGFzdEhlaWdodAAAAAEAAAAJYXNzZXRDb2RlCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAOcHJpY2VPcmFjbGVBY2MJAQAAABRrZXlDb250cm9sTGFzdEhlaWdodAAAAAEFAAAACWFzc2V0Q29kZQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAdTm8gbGFzdEhlaWdodCBhdCBwcmljZU9yYWNsZT0JAAQlAAAAAQUAAAAOcHJpY2VPcmFjbGVBY2MCAAAACSBmb3Iga2V5PQkBAAAAFGtleUNvbnRyb2xMYXN0SGVpZ2h0AAAAAQUAAAAJYXNzZXRDb2RlAQAAABtjb250cm9sQWNjUmVhZEN1cnJJZHhPckZhaWwAAAAACQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAOcHJpY2VPcmFjbGVBY2MCAAAAB2N1cnJJZHgJAAEsAAAAAgIAAAAZTm8gY3VycklkeCBhdCBjb250cm9sQWNjPQkABCUAAAABBQAAAA5wcmljZU9yYWNsZUFjYwEAAAAXY29udHJvbEFjY1JlYWRJZHhIZWlnaHQAAAABAAAAA2lkeAQAAAAMaWR4SGVpZ2h0S2V5CQABLAAAAAICAAAACmlkeEhlaWdodF8JAAGkAAAAAQUAAAADaWR4CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAADnByaWNlT3JhY2xlQWNjBQAAAAxpZHhIZWlnaHRLZXkAAAAAAAAAAAABAAAAG2NvbnRyb2xBY2NSZWFkUHJpY2VCeUhlaWdodAAAAAEAAAALcHJpY2VIZWlnaHQEAAAAEHByaWNlQnlIZWlnaHRLZXkJAAEsAAAAAgIAAAAGcHJpY2VfCQABpAAAAAEFAAAAC3ByaWNlSGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAOcHJpY2VPcmFjbGVBY2MFAAAAEHByaWNlQnlIZWlnaHRLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAA05vIAUAAAAQcHJpY2VCeUhlaWdodEtleQIAAAAPIGF0IGNvbnRyb2xBY2M9CQAEJQAAAAEFAAAADnByaWNlT3JhY2xlQWNjAAAAAA9wcmljZUxhc3RIZWlnaHQJAQAAABhjb250cm9sQWNjUmVhZExhc3RIZWlnaHQAAAABBQAAAA1kZWZvQXNzZXRDb2RlAAAAABVpc0Jsb2NrZWRCeUxhc3RIZWlnaHQJAABmAAAAAgkAAGUAAAACBQAAAA9wcmljZUxhc3RIZWlnaHQFAAAAD3ByaWNlTGFzdEhlaWdodAAAAAAAAAAABQEAAAAYa2V5RmVlc01hbmFnZXJBZGRyZXNzS2V5AAAAAAIAAAAUZmVlc19tYW5hZ2VyX2FkZHJlc3MAAAAAD25ldXRyaW5vTWFpbkFjYwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAACmZhY3RvcnlBY2MJAQAAACRrZXlGYWN0b3J5TmV1dHJpbm9Db250cmFjdEFkZHJlc3NLZXkAAAAACQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABVObyBjb25maWcgYXQgZmFjdG9yeT0JAAQlAAAAAQUAAAAKZmFjdG9yeUFjYwIAAAAJIGZvciBrZXk9CQEAAAAka2V5RmFjdG9yeU5ldXRyaW5vQ29udHJhY3RBZGRyZXNzS2V5AAAAAAAAAAARZmVlTWFuYWdlckFkZHJlc3MJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAPbmV1dHJpbm9NYWluQWNjCQEAAAAYa2V5RmVlc01hbmFnZXJBZGRyZXNzS2V5AAAAAAkAASwAAAACCQEAAAAYa2V5RmVlc01hbmFnZXJBZGRyZXNzS2V5AAAAAAIAAAARIGlzIG5vdCBzcGVjaWZpZWQJAAEsAAAAAgkBAAAAGGtleUZlZXNNYW5hZ2VyQWRkcmVzc0tleQAAAAACAAAAFyBpbnZhbGlkIGFkZHJlc3MgZm9ybWF0AAAAABVrZXlEZWZvU3Rha2luZ0FkZHJlc3MCAAAAJiVzJXNfX2NvbW1vbkNvbmZpZ19fZGVmb1N0YWtpbmdBZGRyZXNzAAAAABlrZXlOZXV0cmlub1N0YWtpbmdBZGRyZXNzAgAAAColcyVzX19jb21tb25Db25maWdfX25ldXRyaW5vU3Rha2luZ0FkZHJlc3MBAAAAGmtleURlZm9TdGFraW5nQXNzZXRCYWxhbmNlAAAAAQAAAAdhc3NldElkCQABLAAAAAICAAAAFiVzJXNfX3N0YWtpbmdCYWxhbmNlX18FAAAAB2Fzc2V0SWQBAAAAGWtleU5ldXRyaW5vU3Rha2luZ0JhbGFuY2UAAAAACQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAxycGRfYmFsYW5jZV8FAAAADmJhc2VBc3NldElkU3RyAgAAAAFfCQAEJQAAAAEFAAAABHRoaXMAAAAADmRlZm9TdGFraW5nQWNjCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAACmZhY3RvcnlBY2MFAAAAFWtleURlZm9TdGFraW5nQWRkcmVzcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAXTm8gY29uZmlnIGF0IGZhY3RvcnlBY2MJAAQlAAAAAQUAAAAKZmFjdG9yeUFjYwIAAAAJIGZvciBrZXk9BQAAABVrZXlEZWZvU3Rha2luZ0FkZHJlc3MJAAEsAAAAAgIAAAAhYWRkcmVzcyBleHRyYWN0aW9uIGVycm9yIGZvciBrZXk9BQAAABVrZXlEZWZvU3Rha2luZ0FkZHJlc3MAAAAAEm5ldXRyaW5vU3Rha2luZ0FjYwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAApmYWN0b3J5QWNjBQAAABlrZXlOZXV0cmlub1N0YWtpbmdBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABdObyBjb25maWcgYXQgZmFjdG9yeUFjYwkABCUAAAABBQAAAApmYWN0b3J5QWNjAgAAAAkgZm9yIGtleT0FAAAAGWtleU5ldXRyaW5vU3Rha2luZ0FkZHJlc3MJAAEsAAAAAgIAAAAhYWRkcmVzcyBleHRyYWN0aW9uIGVycm9yIGZvciBrZXk9BQAAABlrZXlOZXV0cmlub1N0YWtpbmdBZGRyZXNzAQAAABlnZXRUaGlzRGVmb1N0YWtpbmdCYWxhbmNlAAAAAAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAA5kZWZvU3Rha2luZ0FjYwkBAAAAGmtleURlZm9TdGFraW5nQXNzZXRCYWxhbmNlAAAAAQUAAAAOZGVmb0Fzc2V0SWRTdHIAAAAAAAAAAAABAAAAHWdldFRoaXNOZXV0cmlub1N0YWtpbmdCYWxhbmNlAAAAAAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABJuZXV0cmlub1N0YWtpbmdBY2MJAQAAABlrZXlOZXV0cmlub1N0YWtpbmdCYWxhbmNlAAAAAAAAAAAAAAAAAAAAAAALdWNvbGxhdGVyYWwJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAADmtleVVjb2xsYXRlcmFsAAAAAAAAAAAAAAAAAAAAAAAOYWNjdW11bGF0ZWRGZWUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAEWtleUFjY3VtdWxhdGVkRmVlAAAAAAAAAAAAAAAAAAAAAAAWYWNjdW11bGF0ZWRQcm90b2NvbEZlZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAZa2V5QWNjdW11bGF0ZWRQcm90b2NvbEZlZQAAAAAAAAAAAAAAAAAAAAAADmN1cnJQb29sQW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAApmYWN0b3J5QWNjCQEAAAAaa2V5RmFjdG9yeUFzc2V0Q3VycmVudFBvb2wAAAABBQAAAAR0aGlzAAAAAAtkZWJ0QXNzZXRJZAkAAlkAAAABCQEAAAAWZmFjdG9yeVJlYWREZWJ0QXNzZXRJZAAAAAAAAAAAFmRlYnRBc3NldEV0YWxvbkJhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAACmZhY3RvcnlBY2MJAQAAACBrZXlGYWN0b3J5RGVidEFzc2V0RXRhbG9uQmFsYW5jZQAAAAAAAAAAEmxlbmRlZE9yRGVidEFtb3VudAkAAGUAAAACBQAAABZkZWJ0QXNzZXRFdGFsb25CYWxhbmNlCQAD8AAAAAIFAAAABHRoaXMFAAAAC2RlYnRBc3NldElkAAAAABdjdXJyZW50QmFzZUFzc2V0QmFsYW5jZQkAAGQAAAACCQAAZAAAAAIJAAPwAAAAAgUAAAAEdGhpcwUAAAALYmFzZUFzc2V0SWQJAQAAAB1nZXRUaGlzTmV1dHJpbm9TdGFraW5nQmFsYW5jZQAAAAAFAAAAEmxlbmRlZE9yRGVidEFtb3VudAAAAAAMY29udHJvbFByaWNlCQEAAAATY29udHJvbEFjY1JlYWRQcmljZQAAAAEJAAGRAAAAAgUAAAAMdGhpc0NmZ0FycmF5BQAAABBJZHhEZWZvQXNzZXRDb2RlAAAAAAhlbWlzc2lvbgkAAGUAAAACCAkBAAAABXZhbHVlAAAAAQkAA+wAAAABBQAAAAtkZWZvQXNzZXRJZAAAAAhxdWFudGl0eQkAA/AAAAACBQAAAAR0aGlzBQAAAAtkZWZvQXNzZXRJZAEAAAALZ2V0QnV5UHJpY2UAAAABAAAAC2NoYW5nZUNvZWZmAwUAAAAOaXNNYXJrZXRPcGVuZWQFAAAADGNvbnRyb2xQcmljZQkAAGsAAAADCQAAZQAAAAIFAAAADXByaWNlRGVjaW1hbHMFAAAAC2NoYW5nZUNvZWZmBQAAAAxjb250cm9sUHJpY2UFAAAADXByaWNlRGVjaW1hbHMBAAAAI2dldEJ1eUZlZUNvbnNpZGVyaW5nU3Rha2luZ1JlZmVycmFsAAAAAQAAAA5jYWxsZXJQdWI1OFN0cgMJAAAAAAAAAgUAAAAdYXNzZXRTdGFraW5nUmVmZXJyYWxQdWJsaWNTdHIFAAAADmNhbGxlclB1YjU4U3RyAAAAAAAAAAAABQAAAA1idXlGZWVQZXJjZW50AQAAACVnZXRCdXlQcmljZUNvbnNpZGVyaW5nU3Rha2luZ1JlZmVycmFsAAAAAgAAAAtjaGFuZ2VDb2VmZgAAAA5jYWxsZXJQdWI1OFN0cgMJAAAAAAAAAgUAAAAdYXNzZXRTdGFraW5nUmVmZXJyYWxQdWJsaWNTdHIFAAAADmNhbGxlclB1YjU4U3RyBQAAAAxjb250cm9sUHJpY2UJAQAAAAtnZXRCdXlQcmljZQAAAAEFAAAAC2NoYW5nZUNvZWZmAQAAAAxnZXRTZWxsUHJpY2UAAAABAAAAC2NoYW5nZUNvZWZmAwUAAAAOaXNNYXJrZXRPcGVuZWQFAAAADGNvbnRyb2xQcmljZQkAAGsAAAADCQAAZAAAAAIFAAAADXByaWNlRGVjaW1hbHMFAAAAC2NoYW5nZUNvZWZmBQAAAAxjb250cm9sUHJpY2UFAAAADXByaWNlRGVjaW1hbHMBAAAAEGdldFNlbGxQcmljZUZyb20AAAACAAAACWZyb21QcmljZQAAAAtjaGFuZ2VDb2VmZgMFAAAADmlzTWFya2V0T3BlbmVkBQAAAAlmcm9tUHJpY2UJAABrAAAAAwkAAGQAAAACBQAAAA1wcmljZURlY2ltYWxzBQAAAAtjaGFuZ2VDb2VmZgUAAAAJZnJvbVByaWNlBQAAAA1wcmljZURlY2ltYWxzAQAAABBpbnRlcm5hbEJ1eUFzc2V0AAAABgAAAApzZWxsZXJBZGRyAAAAB3NlbGxBbXQAAAALc2VsbEFzc2V0SWQAAAAKbWluU2VsbEFtdAAAAA1idXkyc2VsbFByaWNlAAAAEXBvb2xNYWtlcnNGZWVQYXJ0BAAAABRkZWZvQXNzZXRBbW91bnRHcm9zcwkAAGsAAAADBQAAAAdzZWxsQW10BQAAAA1idXkyc2VsbFByaWNlBQAAAA1wcmljZURlY2ltYWxzBAAAABZzdGFiaWxpdHlGZWVEZWZvQW1vdW50CQAAawAAAAMFAAAAFHBvb2xTdGFiaWxpdHlGZWVQYXJ0BQAAABRkZWZvQXNzZXRBbW91bnRHcm9zcwUAAAANcHJpY2VEZWNpbWFscwQAAAAXcG9vbE1ha2Vyc0ZlZURlZm9BbW91bnQJAABrAAAAAwUAAAARcG9vbE1ha2Vyc0ZlZVBhcnQFAAAAFGRlZm9Bc3NldEFtb3VudEdyb3NzBQAAAA1wcmljZURlY2ltYWxzBAAAABVwcm90b2NvbEZlZURlZm9BbW91bnQJAABrAAAAAwUAAAAPcHJvdG9jb2xGZWVQYXJ0BQAAABRkZWZvQXNzZXRBbW91bnRHcm9zcwUAAAANcHJpY2VEZWNpbWFscwQAAAAPZGVmb0Fzc2V0QW1vdW50CQAAZQAAAAIJAABlAAAAAgkAAGUAAAACBQAAABRkZWZvQXNzZXRBbW91bnRHcm9zcwUAAAAWc3RhYmlsaXR5RmVlRGVmb0Ftb3VudAUAAAAXcG9vbE1ha2Vyc0ZlZURlZm9BbW91bnQFAAAAFXByb3RvY29sRmVlRGVmb0Ftb3VudAQAAAAYcmVxdWlyZWRCYXNpY0Fzc2V0QW1vdW50CQAAawAAAAMFAAAAFGRlZm9Bc3NldEFtb3VudEdyb3NzBQAAAA1wcmljZURlY2ltYWxzBQAAAA1idXkyc2VsbFByaWNlBAAAAAZjaGFuZ2UJAABlAAAAAgUAAAAHc2VsbEFtdAUAAAAYcmVxdWlyZWRCYXNpY0Fzc2V0QW1vdW50AwMJAABmAAAAAgUAAAAKbWluU2VsbEFtdAUAAAAHc2VsbEFtdAkBAAAAAiE9AAAAAgkABCUAAAABBQAAAApzZWxsZXJBZGRyCQAEJQAAAAEFAAAADmRlZm9TdGFraW5nQWNjBwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAYaW1wb3NzaWJsZSB0byBpc3N1ZSBuZXcgBQAAAA1kZWZvQXNzZXRDb2RlAgAAAAo6IHBheW1lbnQ9CQABpAAAAAEFAAAAB3NlbGxBbXQCAAAAGGlzIGxlc3MgdGhlbiBtaW4gYW1vdW50PQkAAaQAAAABBQAAAAptaW5TZWxsQW10CQAFFAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA5rZXlVY29sbGF0ZXJhbAAAAAAJAABkAAAAAgUAAAALdWNvbGxhdGVyYWwFAAAAGHJlcXVpcmVkQmFzaWNBc3NldEFtb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAATa2V5QWNjb3VudE9wZXJhdGlvbgAAAAMFAAAABmhlaWdodAkABCUAAAABBQAAAApzZWxsZXJBZGRyAgAAAAhGSU5JU0hFRAkBAAAAFmFzc2V0RGF0YVN3YXBPcGVyYXRpb24AAAAIBQAAAAdzZWxsQW10CQACWAAAAAEFAAAAC3NlbGxBc3NldElkBQAAAAxjb250cm9sUHJpY2UFAAAAD2RlZm9Bc3NldEFtb3VudAkAAlgAAAABBQAAAAtkZWZvQXNzZXRJZAUAAAAUZGVmb0Fzc2V0QW1vdW50R3Jvc3MFAAAAF3Bvb2xNYWtlcnNGZWVEZWZvQW1vdW50BQAAABVwcm90b2NvbEZlZURlZm9BbW91bnQJAARMAAAAAgkBAAAAB1JlaXNzdWUAAAADBQAAAAtkZWZvQXNzZXRJZAkAAGQAAAACCQAAZAAAAAIFAAAAD2RlZm9Bc3NldEFtb3VudAUAAAAXcG9vbE1ha2Vyc0ZlZURlZm9BbW91bnQFAAAAFXByb3RvY29sRmVlRGVmb0Ftb3VudAYJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAKc2VsbGVyQWRkcgUAAAAPZGVmb0Fzc2V0QW1vdW50BQAAAAtkZWZvQXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAApzZWxsZXJBZGRyBQAAAAZjaGFuZ2UFAAAAC3NlbGxBc3NldElkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAACdmYWN0b3J5UmVhZE5leHRQb29sTWFrZXJUb0Rpc3RyaWJ1dGVGZWUAAAABCQAEJQAAAAEFAAAABHRoaXMFAAAAF3Bvb2xNYWtlcnNGZWVEZWZvQW1vdW50BQAAAAtkZWZvQXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABFmZWVNYW5hZ2VyQWRkcmVzcwUAAAAVcHJvdG9jb2xGZWVEZWZvQW1vdW50BQAAAAtkZWZvQXNzZXRJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEWtleUFjY3VtdWxhdGVkRmVlAAAAAAkAAGQAAAACBQAAAA5hY2N1bXVsYXRlZEZlZQUAAAAXcG9vbE1ha2Vyc0ZlZURlZm9BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABlrZXlBY2N1bXVsYXRlZFByb3RvY29sRmVlAAAAAAkAAGQAAAACBQAAABZhY2N1bXVsYXRlZFByb3RvY29sRmVlBQAAABVwcm90b2NvbEZlZURlZm9BbW91bnQFAAAAA25pbAUAAAAGY2hhbmdlAAAABQAAAAFpAQAAAAhidXlBc3NldAAAAAAEAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAKcG10QXNzZXRJZAkBAAAABXZhbHVlAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkBAAAAA5jYWxsZXJQdWI1OFN0cgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkDBQAAAAlpc0Jsb2NrZWQJAAACAAAAAQIAAABaY29udHJhY3QgaXMgYmxvY2tlZCBieSBFTUVSR0VOQ1kgU0hVVERPV04gYWN0aW9ucyB1bnRpbGwgcmVhY3RpdmF0aW9uIGJ5IGVtZXJnZW5jeSBvcmFjbGVzAwUAAAAVaXNCbG9ja2VkQnlMYXN0SGVpZ2h0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAASWxhc3QgcHJpY2UgZmluYWxpemF0aW9uIGhhcyBiZWVuIG1vcmUgdGhlbiA1IGJsb2NrcyBhZ286IHByaWNlTGFzdEhlaWdodD0JAAGkAAAAAQUAAAAPcHJpY2VMYXN0SGVpZ2h0AgAAAAwgY3VyckhlaWdodD0JAAGkAAAAAQUAAAAGaGVpZ2h0AwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAALYmFzZUFzc2V0SWQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAA1UGF5bWVudCBhc3NldCBpZCBkb2Vzbid0IG1hdGNoIGJhc2ljIGFzc2V0OiBleHBlY3RlZD0JAAJYAAAAAQUAAAALYmFzZUFzc2V0SWQCAAAACCBhY3R1YWw9CQACWAAAAAEFAAAACnBtdEFzc2V0SWQICQEAAAAQaW50ZXJuYWxCdXlBc3NldAAAAAYIBQAAAAFpAAAABmNhbGxlcggFAAAAA3BtdAAAAAZhbW91bnQFAAAACnBtdEFzc2V0SWQFAAAAEW1pbkJhc2ljQnV5QW1vdW50CQEAAAAlZ2V0QnV5UHJpY2VDb25zaWRlcmluZ1N0YWtpbmdSZWZlcnJhbAAAAAIFAAAAHndlZWtlbmRzUHJpY2VDaGFuZ2VDb2VmZmljaWVudAUAAAAOY2FsbGVyUHViNThTdHIJAQAAACNnZXRCdXlGZWVDb25zaWRlcmluZ1N0YWtpbmdSZWZlcnJhbAAAAAEFAAAADmNhbGxlclB1YjU4U3RyAAAAAl8xAAAAAWkBAAAACXNlbGxBc3NldAAAAAAEAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAIcG10QXNzZXQJAQAAAAV2YWx1ZQAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAQAAAANY2FsbGVyQWRkcmVzcwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAACXNlbGxQcmljZQkBAAAADGdldFNlbGxQcmljZQAAAAEFAAAAHndlZWtlbmRzUHJpY2VDaGFuZ2VDb2VmZmljaWVudAMFAAAACWlzQmxvY2tlZAkAAAIAAAABAgAAAFpjb250cmFjdCBpcyBibG9ja2VkIGJ5IEVNRVJHRU5DWSBTSFVURE9XTiBhY3Rpb25zIHVudGlsbCByZWFjdGl2YXRpb24gYnkgZW1lcmdlbmN5IG9yYWNsZXMDBQAAABVpc0Jsb2NrZWRCeUxhc3RIZWlnaHQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAABJbGFzdCBwcmljZSBmaW5hbGl6YXRpb24gaGFzIGJlZW4gbW9yZSB0aGVuIDUgYmxvY2tzIGFnbzogcHJpY2VMYXN0SGVpZ2h0PQkAAaQAAAABBQAAAA9wcmljZUxhc3RIZWlnaHQCAAAADCBjdXJySGVpZ2h0PQkAAaQAAAABBQAAAAZoZWlnaHQDCQEAAAACIT0AAAACBQAAAAhwbXRBc3NldAUAAAALZGVmb0Fzc2V0SWQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAjSW52YWxpZCBwYXltZW50IGFzc2V0IGlkOiBleHBlY3RlZD0JAAJYAAAAAQUAAAALZGVmb0Fzc2V0SWQCAAAACCBhY3R1YWw9CQACWAAAAAEFAAAACHBtdEFzc2V0AwkAAGYAAAACBQAAABJtaW5TeW50aFNlbGxBbW91bnQIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAOlBheW1lbnQgYW1vdW50IGxlc3MgdGhlbiBtaW5pbmltYWwgYWxsb3dlZDogcGF5bWVudEFtb3VudD0JAAGkAAAAAQgFAAAAA3BtdAAAAAZhbW91bnQCAAAACyBtaW5BbW91bnQ9CQABpAAAAAEFAAAAEm1pblN5bnRoU2VsbEFtb3VudAQAAAAdYmFzZUFzc2V0QW1vdW50Tm9CYWxhbmNlTGltaXQJAABrAAAAAwgFAAAAA3BtdAAAAAZhbW91bnQFAAAADXByaWNlRGVjaW1hbHMFAAAACXNlbGxQcmljZQQAAAAYYmFzZUFzc2V0QW1vdW50QXZhaWxhYmxlAwkAAGYAAAACBQAAAB1iYXNlQXNzZXRBbW91bnROb0JhbGFuY2VMaW1pdAUAAAAXY3VycmVudEJhc2VBc3NldEJhbGFuY2UFAAAAF2N1cnJlbnRCYXNlQXNzZXRCYWxhbmNlBQAAAB1iYXNlQXNzZXRBbW91bnROb0JhbGFuY2VMaW1pdAQAAAAYc29sZERlZm9Bc3NldEFtb3VudEdyb3NzCQAAawAAAAMFAAAAGGJhc2VBc3NldEFtb3VudEF2YWlsYWJsZQUAAAAJc2VsbFByaWNlBQAAAA1wcmljZURlY2ltYWxzBAAAAAZjaGFuZ2UJAABlAAAAAggFAAAAA3BtdAAAAAZhbW91bnQFAAAAGHNvbGREZWZvQXNzZXRBbW91bnRHcm9zcwQAAAAWc3RhYmlsaXR5RmVlRGVmb0Ftb3VudAkAAGsAAAADBQAAABRwb29sU3RhYmlsaXR5RmVlUGFydAUAAAAYc29sZERlZm9Bc3NldEFtb3VudEdyb3NzBQAAAA1wcmljZURlY2ltYWxzBAAAABdwb29sTWFrZXJzRmVlRGVmb0Ftb3VudAkAAGsAAAADBQAAAA5zZWxsRmVlUGVyY2VudAUAAAAYc29sZERlZm9Bc3NldEFtb3VudEdyb3NzBQAAAA1wcmljZURlY2ltYWxzBAAAABVwcm90b2NvbEZlZURlZm9BbW91bnQJAABrAAAAAwUAAAAPcHJvdG9jb2xGZWVQYXJ0BQAAABhzb2xkRGVmb0Fzc2V0QW1vdW50R3Jvc3MFAAAADXByaWNlRGVjaW1hbHMEAAAAE3NvbGREZWZvQXNzZXRBbW91bnQJAABlAAAAAgkAAGUAAAACCQAAZQAAAAIFAAAAGHNvbGREZWZvQXNzZXRBbW91bnRHcm9zcwUAAAAWc3RhYmlsaXR5RmVlRGVmb0Ftb3VudAUAAAAXcG9vbE1ha2Vyc0ZlZURlZm9BbW91bnQFAAAAFXByb3RvY29sRmVlRGVmb0Ftb3VudAQAAAAVYmFzZUFzc2V0QW1vdW50VG9TZW5kCQAAawAAAAMFAAAAE3NvbGREZWZvQXNzZXRBbW91bnQFAAAADXByaWNlRGVjaW1hbHMFAAAACXNlbGxQcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADmtleVVjb2xsYXRlcmFsAAAAAAkAAGUAAAACBQAAAAt1Y29sbGF0ZXJhbAUAAAAVYmFzZUFzc2V0QW1vdW50VG9TZW5kCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABNrZXlBY2NvdW50T3BlcmF0aW9uAAAAAwUAAAAGaGVpZ2h0BQAAAA1jYWxsZXJBZGRyZXNzAgAAAAhGSU5JU0hFRAkBAAAAFmFzc2V0RGF0YVN3YXBPcGVyYXRpb24AAAAICAUAAAADcG10AAAABmFtb3VudAkAAlgAAAABBQAAAAhwbXRBc3NldAUAAAAJc2VsbFByaWNlBQAAABViYXNlQXNzZXRBbW91bnRUb1NlbmQFAAAADmJhc2VBc3NldElkU3RyBQAAABhzb2xkRGVmb0Fzc2V0QW1vdW50R3Jvc3MFAAAAF3Bvb2xNYWtlcnNGZWVEZWZvQW1vdW50BQAAABVwcm90b2NvbEZlZURlZm9BbW91bnQJAARMAAAAAgkBAAAABEJ1cm4AAAACBQAAAAtkZWZvQXNzZXRJZAkAAGQAAAACBQAAABNzb2xkRGVmb0Fzc2V0QW1vdW50BQAAABZzdGFiaWxpdHlGZWVEZWZvQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAVYmFzZUFzc2V0QW1vdW50VG9TZW5kBQAAAAtiYXNlQXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAABmNoYW5nZQUAAAALZGVmb0Fzc2V0SWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAARZmVlTWFuYWdlckFkZHJlc3MFAAAAFXByb3RvY29sRmVlRGVmb0Ftb3VudAUAAAALZGVmb0Fzc2V0SWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAJ2ZhY3RvcnlSZWFkTmV4dFBvb2xNYWtlclRvRGlzdHJpYnV0ZUZlZQAAAAEJAAQlAAAAAQUAAAAEdGhpcwUAAAAXcG9vbE1ha2Vyc0ZlZURlZm9BbW91bnQFAAAAC2RlZm9Bc3NldElkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAARa2V5QWNjdW11bGF0ZWRGZWUAAAAACQAAZAAAAAIFAAAADmFjY3VtdWxhdGVkRmVlBQAAABdwb29sTWFrZXJzRmVlRGVmb0Ftb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAGWtleUFjY3VtdWxhdGVkUHJvdG9jb2xGZWUAAAAACQAAZAAAAAIFAAAAFmFjY3VtdWxhdGVkUHJvdG9jb2xGZWUFAAAAFXByb3RvY29sRmVlRGVmb0Ftb3VudAUAAAADbmlsAAAAAWkBAAAADWNyb3NzRXhjaGFuZ2UAAAACAAAAE2J1eUFzc2V0Q29kZUNvbmZpcm0AAAAUc2VsbEFzc2V0Q29kZUNvbmZpcm0EAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAIcG10QXNzZXQJAQAAAAV2YWx1ZQAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAQAAAALcG10QXNzZXRTdHIJAAJYAAAAAQUAAAAIcG10QXNzZXQEAAAACXBtdEFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQEAAAADWNhbGxlckFkZHJlc3MJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAtidXlBc3NldENmZwUAAAAMdGhpc0NmZ0FycmF5BAAAAA5zZWxsQXNzZXRUdXBsZQkBAAAAGWZhY3RvcnlSZWFkQXNzZXRDZmdCeUNvZGUAAAABBQAAABRzZWxsQXNzZXRDb2RlQ29uZmlybQQAAAAMc2VsbEFzc2V0Q2ZnCAUAAAAOc2VsbEFzc2V0VHVwbGUAAAACXzIEAAAAE3NlbGxBc3NldEFjY0FkZHJlc3MJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCAUAAAAOc2VsbEFzc2V0VHVwbGUAAAACXzEJAAEsAAAAAgIAAAAxY291bGRuJ3QgcGFyc2UgYWRkcmVzcyBmcm9tIHN0cmluZyBmb3IgYXNzZXRDb2RlPQUAAAAUc2VsbEFzc2V0Q29kZUNvbmZpcm0EAAAACm1pblNlbGxQbXQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABLYAAAABCQABkQAAAAIFAAAADHNlbGxBc3NldENmZwUAAAARSWR4TWluU2VsbFBheW1lbnQJAAEsAAAAAgIAAAAhbWluU2VsbFBtdCBwYXJzaW5nIGVycm9yOiByYXdWYWw9CQABkQAAAAIFAAAADHNlbGxBc3NldENmZwUAAAARSWR4TWluU2VsbFBheW1lbnQEAAAAE3NlbGxQcmljZUxhc3RIZWlnaHQJAQAAABhjb250cm9sQWNjUmVhZExhc3RIZWlnaHQAAAABBQAAABRzZWxsQXNzZXRDb2RlQ29uZmlybQQAAAAZaXNTZWxsQmxvY2tlZEJ5TGFzdEhlaWdodAkAAGYAAAACCQAAZQAAAAIFAAAAE3NlbGxQcmljZUxhc3RIZWlnaHQFAAAAE3NlbGxQcmljZUxhc3RIZWlnaHQAAAAAAAAAAAUDBQAAAAlpc0Jsb2NrZWQJAAACAAAAAQIAAABaY29udHJhY3QgaXMgYmxvY2tlZCBieSBFTUVSR0VOQ1kgU0hVVERPV04gYWN0aW9ucyB1bnRpbGwgcmVhY3RpdmF0aW9uIGJ5IGVtZXJnZW5jeSBvcmFjbGVzAwkBAAAAAiE9AAAAAgkAAZEAAAACBQAAAAx0aGlzQ2ZnQXJyYXkFAAAAEElkeERlZm9Bc3NldENvZGUFAAAAE2J1eUFzc2V0Q29kZUNvbmZpcm0JAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAwYnV5QXNzZXQgY29uZmlybWF0aW9uIGZhaWxlZDogYnV5QXNzZXRJZENvbmZpcm09CQABkQAAAAIFAAAADHRoaXNDZmdBcnJheQUAAAAQSWR4RGVmb0Fzc2V0Q29kZQIAAAAQIEJVVCBidXlBc3NldElkPQUAAAATYnV5QXNzZXRDb2RlQ29uZmlybQMJAQAAAAIhPQAAAAIJAAGRAAAAAgUAAAAMc2VsbEFzc2V0Q2ZnBQAAAA5JZHhEZWZvQXNzZXRJZAUAAAALcG10QXNzZXRTdHIJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAyc2VsbEFzc2V0IGNvbmZpcm1hdGlvbiBmYWlsZWQ6IHNlbGxBc3NldElkQ29uZmlybT0JAAGRAAAAAgUAAAAMc2VsbEFzc2V0Q2ZnBQAAAA5JZHhEZWZvQXNzZXRJZAIAAAANQlVUIHBtdEFzc2V0PQUAAAALcG10QXNzZXRTdHIDCQEAAAACIT0AAAACCQABkQAAAAIFAAAADHRoaXNDZmdBcnJheQUAAAASSWR4RGVmb0Fzc2V0U3RhdHVzAgAAAAZJU1NVRUQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAsdG9Bc3NldCBoYXMgbm90IGJlZW4gaXNzdWVkIHlldDogYnV5QXNzZXRJZD0FAAAAE2J1eUFzc2V0Q29kZUNvbmZpcm0CAAAADCBCVVQgc3RhdHVzPQkAAZEAAAACBQAAAAx0aGlzQ2ZnQXJyYXkFAAAAEklkeERlZm9Bc3NldFN0YXR1cwMJAQAAAAIhPQAAAAIJAAGRAAAAAgUAAAAMc2VsbEFzc2V0Q2ZnBQAAABJJZHhEZWZvQXNzZXRTdGF0dXMCAAAABklTU1VFRAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAADJmcm9tQXNzZXRDZmcgaGFzIG5vdCBiZWVuIGlzc3VlZCB5ZXQ6IHNlbGxBc3NldElkPQUAAAALcG10QXNzZXRTdHICAAAADCBCVVQgc3RhdHVzPQkAAZEAAAACBQAAAAxzZWxsQXNzZXRDZmcFAAAAEklkeERlZm9Bc3NldFN0YXR1cwMFAAAAFWlzQmxvY2tlZEJ5TGFzdEhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAABNYnV5IGxhc3QgcHJpY2UgZmluYWxpemF0aW9uIGhhcyBiZWVuIG1vcmUgdGhlbiA1IGJsb2NrcyBhZ286IHByaWNlTGFzdEhlaWdodD0JAAGkAAAAAQUAAAAPcHJpY2VMYXN0SGVpZ2h0AgAAAAwgY3VyckhlaWdodD0JAAGkAAAAAQUAAAAGaGVpZ2h0AgAAAAkgYnV5Q29kZT0FAAAAE2J1eUFzc2V0Q29kZUNvbmZpcm0DBQAAABlpc1NlbGxCbG9ja2VkQnlMYXN0SGVpZ2h0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAE5zZWxsIGxhc3QgcHJpY2UgZmluYWxpemF0aW9uIGhhcyBiZWVuIG1vcmUgdGhlbiA1IGJsb2NrcyBhZ286IHByaWNlTGFzdEhlaWdodD0JAAGkAAAAAQUAAAAPcHJpY2VMYXN0SGVpZ2h0AgAAAAwgY3VyckhlaWdodD0JAAGkAAAAAQUAAAAGaGVpZ2h0AgAAAAogc2VsbENvZGU9BQAAABRzZWxsQXNzZXRDb2RlQ29uZmlybQQAAAAQYnV5QXNzZXRVc2RQcmljZQkBAAAAC2dldEJ1eVByaWNlAAAAAQkAAGkAAAACBQAAAB53ZWVrZW5kc1ByaWNlQ2hhbmdlQ29lZmZpY2llbnQAAAAAAAAAAAIEAAAAEXNlbGxBc3NldFVzZFByaWNlCQEAAAAQZ2V0U2VsbFByaWNlRnJvbQAAAAIJAQAAABNjb250cm9sQWNjUmVhZFByaWNlAAAAAQUAAAAUc2VsbEFzc2V0Q29kZUNvbmZpcm0JAABpAAAAAgUAAAAed2Vla2VuZHNQcmljZUNoYW5nZUNvZWZmaWNpZW50AAAAAAAAAAACBAAAAA1idXkyc2VsbFByaWNlCQAAawAAAAMFAAAAEGJ1eUFzc2V0VXNkUHJpY2UFAAAADXByaWNlRGVjaW1hbHMFAAAAEXNlbGxBc3NldFVzZFByaWNlBAAAAAh1c2RuRGVidAkAAGsAAAADBQAAAAlwbXRBbW91bnQFAAAADXByaWNlRGVjaW1hbHMFAAAAEXNlbGxBc3NldFVzZFByaWNlBAAAABZ0b3RhbExlbmRlZEF0T3RoZXJBY2NzCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAAABlrZXlUb3RhbExlbmRlZEF0T3RoZXJBY2NzAAAAAAAAAAAAAAAAAAQAAAAabGVuZGVkQW1vdW50QnlBc3NldENvZGVLZXkJAQAAABprZXlMZW5kZWRBbW91bnRCeUFzc2V0Q29kZQAAAAEFAAAAFHNlbGxBc3NldENvZGVDb25maXJtBAAAABRsZW5kZWRBbXRCeUFzc2V0Q29kZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAABpsZW5kZWRBbW91bnRCeUFzc2V0Q29kZUtleQAAAAAAAAAAAAQAAAAXc2VsbEFzc2V0U2VsbEZlZVBlcmNlbnQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAxzZWxsQXNzZXRDZmcFAAAAEUlkeFNlbGxGZWVQZXJjZW50BAAAAA9jcm9zc0ZlZVBlcmNlbnQJAABrAAAAAwkAAGQAAAACBQAAAA1idXlGZWVQZXJjZW50BQAAABdzZWxsQXNzZXRTZWxsRmVlUGVyY2VudAUAAAAYY3Jvc3NFeGNoYW5nZUNvZWZmaWNpZW50BQAAAA1wcmljZURlY2ltYWxzBAAAAA5idXlBc3NldFJlc3VsdAkBAAAAEGludGVybmFsQnV5QXNzZXQAAAAGCAUAAAABaQAAAAZjYWxsZXIFAAAACXBtdEFtb3VudAUAAAAIcG10QXNzZXQFAAAACm1pblNlbGxQbXQFAAAADWJ1eTJzZWxsUHJpY2UFAAAAD2Nyb3NzRmVlUGVyY2VudAkABE0AAAACCQAETQAAAAIJAARNAAAAAgkABE0AAAACCAUAAAAOYnV5QXNzZXRSZXN1bHQAAAACXzEJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAE3NlbGxBc3NldEFjY0FkZHJlc3MFAAAACHVzZG5EZWJ0BQAAAAtkZWJ0QXNzZXRJZAkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAATc2VsbEFzc2V0QWNjQWRkcmVzcwkAAGUAAAACBQAAAAlwbXRBbW91bnQIBQAAAA5idXlBc3NldFJlc3VsdAAAAAJfMgUAAAAIcG10QXNzZXQJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABpsZW5kZWRBbW91bnRCeUFzc2V0Q29kZUtleQkAAGQAAAACBQAAABRsZW5kZWRBbXRCeUFzc2V0Q29kZQUAAAAIdXNkbkRlYnQJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAZa2V5VG90YWxMZW5kZWRBdE90aGVyQWNjcwAAAAAJAABkAAAAAgUAAAAWdG90YWxMZW5kZWRBdE90aGVyQWNjcwUAAAAIdXNkbkRlYnQAAAABaQEAAAAOcmViYWxhbmNlRGVidHMAAAAABAAAAAhkZWJ0UG10MAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAANZGVidFBtdEFzc2V0MAkBAAAABXZhbHVlAAAAAQgFAAAACGRlYnRQbXQwAAAAB2Fzc2V0SWQEAAAACGJhc2VQbXQxCQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABBAAAAA1iYXNlUG10QXNzZXQxCQEAAAAFdmFsdWUAAAABCAUAAAAIYmFzZVBtdDEAAAAHYXNzZXRJZAQAAAANZGVidG9yQWRkcmVzcwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADmRlYnRvckFzc2V0Q2ZnCQEAAAAcZmFjdG9yeVJlYWRBc3NldENmZ0J5QWRkcmVzcwAAAAEFAAAADWRlYnRvckFkZHJlc3MEAAAAD2RlYnRvckFzc2V0Q29kZQkAAZEAAAACBQAAAA5kZWJ0b3JBc3NldENmZwUAAAAQSWR4RGVmb0Fzc2V0Q29kZQQAAAAabGVuZGVkQW1vdW50QnlBc3NldENvZGVLZXkJAQAAABprZXlMZW5kZWRBbW91bnRCeUFzc2V0Q29kZQAAAAEFAAAAD2RlYnRvckFzc2V0Q29kZQQAAAAJbGVuZGVkQW10CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAabGVuZGVkQW1vdW50QnlBc3NldENvZGVLZXkJAAEsAAAAAgIAAAANTm8gZGVidHMgZm9yIAUAAAAPZGVidG9yQXNzZXRDb2RlAwUAAAAJaXNCbG9ja2VkCQAAAgAAAAECAAAAWmNvbnRyYWN0IGlzIGJsb2NrZWQgYnkgRU1FUkdFTkNZIFNIVVRET1dOIGFjdGlvbnMgdW50aWxsIHJlYWN0aXZhdGlvbiBieSBlbWVyZ2VuY3kgb3JhY2xlcwMJAQAAAAIhPQAAAAIFAAAAC2RlYnRBc3NldElkBQAAAA1kZWJ0UG10QXNzZXQwCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAANGludmFsaWQgZGVidCBhc3NldCBpZCBpbiB0aGUgZmlyc3QgcGF5bWV0OiBleHBlY3RlZD0JAAJYAAAAAQUAAAALZGVidEFzc2V0SWQCAAAACCBhY3R1YWw9CQACWAAAAAEFAAAADWRlYnRQbXRBc3NldDADCQEAAAACIT0AAAACBQAAAAtiYXNlQXNzZXRJZAUAAAANYmFzZVBtdEFzc2V0MQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAADZpbnZhbGlkIGJhc2UgYXNzZXQgaWQgaW4gdGhlIHNlY29uZCBwYXltZW50OiBleHBlY3RlZD0JAAJYAAAAAQUAAAALYmFzZUFzc2V0SWQCAAAACCBhY3R1YWw9CQACWAAAAAEFAAAADWJhc2VQbXRBc3NldDEDCQEAAAACIT0AAAACCAUAAAAIZGVidFBtdDAAAAAGYW1vdW50CAUAAAAIYmFzZVBtdDEAAAAGYW1vdW50CQAAAgAAAAECAAAAP2ZpcnN0IHBheW1lbnQgYW1vdW50IGRvZXNuJ3QgbWF0Y2ggdG8gdGhlIHNlY29uZCBwYXltZW50IGFtb3VudAMJAABnAAAAAgAAAAAAAAAAAAUAAAAJbGVuZGVkQW10CQAAAgAAAAEJAAEsAAAAAgIAAAAnbGVuZGVkQW10IGlzIGxlc3MgdGhlbiB6ZXJvOiBsZW5kZWRBbXQ9CQABpAAAAAEFAAAACWxlbmRlZEFtdAMJAABnAAAAAgkAAGgAAAACAAAAAAAAAAABBQAAAA1wcmljZURlY2ltYWxzCAUAAAAIZGVidFBtdDAAAAAGYW1vdW50CQAAAgAAAAEJAAEsAAAAAgIAAAA3YXR0YWNoZWQgcGF5bWVudCBtdXN0IGJlIGdyZWF0ZXIgdGhlbiAxMDA6IHBtdDAuYW1vdW50PQkAAaQAAAABCAUAAAAIZGVidFBtdDAAAAAGYW1vdW50AwkAAGYAAAACCAUAAAAIZGVidFBtdDAAAAAGYW1vdW50BQAAAAlsZW5kZWRBbXQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAA0YXR0YWNoZWQgcGF5bWVudCBpcyBncmF0ZXIgdGhhbiByZXF1aXJlZDogcG10QW1vdW50PQkAAaQAAAABCAUAAAAIZGVidFBtdDAAAAAGYW1vdW50AgAAAAsgbGVuZGVkQW10PQkAAaQAAAABBQAAAAlsZW5kZWRBbXQEAAAAFnRvdGFsTGVuZGVkQXRPdGhlckFjY3MJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAGWtleVRvdGFsTGVuZGVkQXRPdGhlckFjY3MAAAAAAAAAAAAAAAAABAAAAA5sZW5kZWRBbXRBZnRlcgkAAGUAAAACBQAAAAlsZW5kZWRBbXQIBQAAAAhkZWJ0UG10MAAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAGmxlbmRlZEFtb3VudEJ5QXNzZXRDb2RlS2V5BQAAAA5sZW5kZWRBbXRBZnRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAGWtleVRvdGFsTGVuZGVkQXRPdGhlckFjY3MAAAAACQAAZQAAAAIFAAAAFnRvdGFsTGVuZGVkQXRPdGhlckFjY3MIBQAAAAhkZWJ0UG10MAAAAAZhbW91bnQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAABYlcyVzX19yZWJhbGFuY2VUcmFjZV9fCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQJAQAAABdhc3NldERhdGFSZWJhbGFuY2VUcmFjZQAAAAUFAAAAD2RlYnRvckFzc2V0Q29kZQUAAAAIZGVidFBtdDAFAAAACGJhc2VQbXQxBQAAAAlsZW5kZWRBbXQFAAAADmxlbmRlZEFtdEFmdGVyBQAAAANuaWwAAAABaQEAAAAUZnVsZmlsbFJlZGVlbVJlcXVlc3QAAAABAAAAEHBvb2xNYWtlckFkZHJlc3MEAAAADnRoaXNBZGRyZXNzU3RyCQAEJQAAAAEFAAAABHRoaXMEAAAAGHBvb2xNYWtlclVubG9ja0hlaWdodEtleQkBAAAAH2tleUZhY3RvcnlQb29sTWFrZXJVbmxvY2tIZWlnaHQAAAACBQAAAA50aGlzQWRkcmVzc1N0cgUAAAAQcG9vbE1ha2VyQWRkcmVzcwQAAAAVcG9vbE1ha2VyVW5sb2NrSGVpZ2h0CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAACmZhY3RvcnlBY2MFAAAAGHBvb2xNYWtlclVubG9ja0hlaWdodEtleQAAAAAAAAAAAAMJAABnAAAAAgAAAAAAAAAAAAUAAAAVcG9vbE1ha2VyVW5sb2NrSGVpZ2h0CQAAAgAAAAECAAAAH0FsbCBsaXF1aWRpdHkgcmVxdWVzdCBmdWxmaWxsZWQEAAAAHHBvb2xNYWtlckxpcXVpZGl0eVJlcXVlc3RLZXkJAQAAACNrZXlGYWN0b3J5UG9vbE1ha2VyTGlxdWlkaXR5UmVxdWVzdAAAAAMFAAAADnRoaXNBZGRyZXNzU3RyBQAAABBwb29sTWFrZXJBZGRyZXNzBQAAABVwb29sTWFrZXJVbmxvY2tIZWlnaHQEAAAAH3Bvb2xNYWtlckxpcXVpZGl0eVJlcXVlc3RBbW91bnQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAApmYWN0b3J5QWNjBQAAABxwb29sTWFrZXJMaXF1aWRpdHlSZXF1ZXN0S2V5AgAAADFFbXB0eSBwb29sTWFrZXJMaXF1aWRpdHlSZXF1ZXN0S2V5IGF0IGZhY3RvcnkgYWNjAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQaAAAAAgUAAAAEdGhpcwUAAAAccG9vbE1ha2VyTGlxdWlkaXR5UmVxdWVzdEtleQkAAAIAAAABAgAAACxMaXF1aWRpdHkgcmVxdWVzdCBoYXMgYmVlbiBhbHJlYWR5IGZ1bGZpbGxlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAccG9vbE1ha2VyTGlxdWlkaXR5UmVxdWVzdEtleQUAAAAfcG9vbE1ha2VyTGlxdWlkaXR5UmVxdWVzdEFtb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAApmYWN0b3J5QWNjBQAAAB9wb29sTWFrZXJMaXF1aWRpdHlSZXF1ZXN0QW1vdW50BQAAAAtiYXNlQXNzZXRJZAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAF0ludm9rZVNjcmlwdFRyYW5zYWN0aW9uBAAAAANpbnYFAAAAByRtYXRjaDADCQAAZgAAAAIIBQAAAANpbnYAAAADZmVlCQAAaAAAAAIAAAAAAAAAA4QAAAAAAAAAA+gJAAACAAAAAQkAASwAAAACAgAAAChmZWUgYW1vdW50IGlzIGdyZWF0ZXIgdGhhbiBtYXggYWxsb3dlZDogCQABpAAAAAEIBQAAAANpbnYAAAADZmVlAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANpbnYAAAAKZmVlQXNzZXRJZAkAAAIAAAABAgAAACNvbmx5IFdhdmVzIGlzIGFsbG93ZWQgYXMgZmVlQXNzZXRJZAMJAAAAAAAAAggFAAAAA2ludgAAAAhmdW5jdGlvbgIAAAAOcmViYWxhbmNlRGVidHMEAAAADmludkRhcHBBZGRyZXNzCQAEJQAAAAEJAAQkAAAAAQgFAAAAA2ludgAAAARkQXBwAwkBAAAAAiE9AAAAAgkAAZEAAAACCQEAAAAcZmFjdG9yeVJlYWRBc3NldENmZ0J5QWRkcmVzcwAAAAEFAAAADmludkRhcHBBZGRyZXNzBQAAABJJZHhEZWZvQXNzZXRTdGF0dXMCAAAABklTU1VFRAkAAAIAAAABAgAAABlvbmx5IGRlZm8gZGFwcCBpcyBhbGxvd2VkAwkAAAAAAAACBQAAAA5pbnZEYXBwQWRkcmVzcwkABCUAAAABBQAAAAR0aGlzCQAAAgAAAAECAAAAJWltcG9zc2libGUgdG8gY2FsbCBzZWxmIHJlYmVhbG5jZURlYnQGAwMDCQAAAAAAAAIIBQAAAANpbnYAAAAIZnVuY3Rpb24CAAAADGxvY2tOZXV0cmlubwYJAAAAAAAAAggFAAAAA2ludgAAAAhmdW5jdGlvbgIAAAAObG9ja05ldXRyaW5vU1AGCQAAAAAAAAIIBQAAAANpbnYAAAAIZnVuY3Rpb24CAAAADnVubG9ja05ldXRyaW5vAwkBAAAAAiE9AAAAAgkABCUAAAABBQAAABJuZXV0cmlub1N0YWtpbmdBY2MJAAQlAAAAAQkABCQAAAABCAUAAAADaW52AAAABGRBcHAJAAACAAAAAQIAAAAlaW52YWxpZCBuZXV0cmlubyBzdGFraW5nIGRhcHAgYWRkcmVzcwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAJAQAAACJmYWN0b3J5UmVhZERlZm9TdGFraW5nUGFjZW1ha2VyUHViAAAAAAkAAAIAAAABAgAAACNOb3QgYWxsb3dlZCBpbnZvY2F0aW9uIG1ldGhvZCBjYWxscwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXmG+qgk", "chainId": 84, "height": 1483425, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 4 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+func a () = "%s__accumulatedFee"
5+
6+
7+func b () = "%s__accumulatedProtocolFee"
8+
9+
10+func c () = "%s__ucollateral"
11+
12+
13+func d () = "%s__totalLendedAtOtherAccs"
14+
15+
16+func e (f) = ("%s%s__assetLockedTotal__" + f)
17+
18+
19+func g (h,i,j) = ((((("%s%s%d%s__defoAssetOperation__" + i) + "__") + toString(h)) + "__") + j)
20+
21+
22+func k () = "%s__factory"
23+
24+
25+func l (m) = ("%s%s__lendedBaseAssetAmount__" + m)
26+
27+
28+func n (m) = ("%s%s__price__" + m)
29+
30+
31+func o (m) = ("%s%s__lastHeight__" + m)
32+
33+
34+let p = 1
35+
36+let q = 2
37+
38+let r = 3
39+
40+let s = 4
41+
42+let t = 5
43+
44+func u (v,w,x,y,z,A,B,C) = makeString(["%d%s%d%s%d%d%d%d", toString(v), w, toString(y), z, toString(x), toString(A), toString(B), toString(C)], "__")
45+
46+
47+func D (E,F,G,H,I) = makeString(["%s%s%d%s%d%d%d", E, toBase58String(value(F.assetId)), toString(F.amount), toBase58String(value(G.assetId)), toString(G.amount), toString(H), toString(I)], "__")
48+
49+
50+func J (K) = {
51+ let L = valueOrErrorMessage(getString(this, K), ("There is no request for passed arguments: " + K))
52+ split(L, "__")
53+ }
54+
55+
56+let M = -1
57+
58+let N = "NULL"
59+
60+let O = addressFromStringValue(valueOrErrorMessage(getString(this, k()), ((("No config at this=" + toString(this)) + " for key=") + k())))
61+
62+func P () = "%s%s__commonConfig__neutrinoContractAddress"
63+
64+
65+func Q () = "%s%s__commonConfig__debtAssetId"
66+
67+
68+func R () = "%s%s__commonConfig__debtAssetEtalonBalance"
69+
70+
71+func S (T) = (("%s%s%s__defoAsset__" + T) + "__config")
72+
73+
74+func U (V) = (("%s%s%s__defoAsset__" + toString(V)) + "__currentPool")
75+
76+
77+func W (m) = (("%s%s%s__defoAsset__" + m) + "__addressByAssetCode")
78+
79+
80+func X (Y) = (("%s%s%s__defoAsset__" + Y) + "__poolMakers")
81+
82+
83+func Z () = "%s%s__commonConfig__defoStakingPacemakerPub"
84+
85+
86+func aa (Y,ab,ac) = makeString(["%s%s%s%d%s__pool", Y, ab, toString(ac), "liquidityRequest"], "__")
87+
88+
89+func ad (Y,ab) = makeString(["%s%s%s%s__pool", Y, ab, "unlockHeight"], "__")
90+
91+
92+func ae () = valueOrErrorMessage(getString(O, Q()), ((("No config at factory=" + toString(O)) + " for key=") + Q()))
93+
94+
95+func af (T) = split(valueOrErrorMessage(getString(O, S(T)), ((("No config at factory=" + toString(O)) + " for key=") + S(T))), "__")
96+
97+
98+func ag (m) = {
99+ let T = valueOrErrorMessage(getString(O, W(m)), ((("No config at factory=" + toString(O)) + " for key=") + W(m)))
100+ $Tuple2(T, af(T))
101+ }
102+
103+
104+func ah (T) = addressFromStringValue("3MsbFMstwm3FHPJXmMfTgyaw7zQrpZfkwnx")
105+
106+
107+func ai () = fromBase58String(valueOrErrorMessage(getString(O, Z()), ((("No config at factory=" + toString(O)) + " for key=") + Z())))
108+
109+
110+let aj = 1
111+
112+let ak = 2
113+
114+let al = 3
115+
116+let am = 4
117+
118+let an = 5
119+
120+let ao = 6
121+
122+let ap = 7
123+
124+let aq = 8
125+
126+let ar = 9
127+
128+let as = 10
129+
130+let at = 11
131+
132+let au = 12
133+
134+let av = 13
135+
136+let aw = 14
137+
138+let ax = 15
139+
140+let ay = 16
141+
142+let az = 17
143+
144+let aA = 18
145+
146+let aB = 19
147+
148+let aC = 20
149+
150+let aD = 21
151+
152+let aE = 22
153+
154+let aF = af(toString(this))
155+
156+let aG = aF[aj]
157+
158+let aH = aF[ak]
159+
160+let aI = fromBase58String(aH)
161+
162+let aJ = addressFromStringValue(aF[aq])
163+
164+let aK = parseIntValue(aF[ao])
165+
166+let aL = aF[an]
167+
168+let aM = fromBase58String(aL)
169+
170+let aN = parseIntValue(aF[am])
171+
172+let aO = parseIntValue(aF[ar])
173+
174+let aP = parseIntValue(aF[as])
175+
176+let aQ = parseIntValue(aF[at])
177+
178+let aR = parseIntValue(aF[au])
179+
180+let aS = parseIntValue(aF[av])
181+
182+let aT = parseIntValue(aF[aw])
183+
184+let aU = parseIntValue(aF[ay])
185+
186+let aV = aF[az]
187+
188+let aW = aF[aA]
189+
190+let aX = parseIntValue(aF[aB])
191+
192+let aY = parseIntValue(aF[aC])
193+
194+let aZ = parseIntValue(aF[aD])
195+
196+let ba = parseIntValue(aF[aE])
197+
198+func bb () = "%s__isBlocked"
199+
200+
201+func bc (m) = ("%s%s__isMarketOpened__" + m)
202+
203+
204+let bd = valueOrElse(getBoolean(aJ, bb()), false)
205+
206+let be = valueOrElse(getBoolean(aJ, bc(aG)), false)
207+
208+func bf (m) = valueOrErrorMessage(getInteger(aJ, n(m)), ((("No price at priceOracle=" + toString(aJ)) + " for key=") + n(m)))
209+
210+
211+func bg (m) = valueOrErrorMessage(getInteger(aJ, o(m)), ((("No lastHeight at priceOracle=" + toString(aJ)) + " for key=") + o(m)))
212+
213+
214+func bh () = valueOrErrorMessage(getInteger(aJ, "currIdx"), ("No currIdx at controlAcc=" + toString(aJ)))
215+
216+
217+func bi (bj) = {
218+ let bk = ("idxHeight_" + toString(bj))
219+ valueOrElse(getInteger(aJ, bk), 0)
220+ }
221+
222+
223+func bl (bm) = {
224+ let bn = ("price_" + toString(bm))
225+ valueOrErrorMessage(getInteger(aJ, bn), ((("No " + bn) + " at controlAcc=") + toString(aJ)))
226+ }
227+
228+
229+let bo = bg(aG)
230+
231+let bp = ((bo - bo) > 5)
232+
233+func bq () = "fees_manager_address"
234+
235+
236+let br = addressFromStringValue(valueOrErrorMessage(getString(O, P()), ((("No config at factory=" + toString(O)) + " for key=") + P())))
237+
238+let bs = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(br, bq()), (bq() + " is not specified"))), (bq() + " invalid address format"))
239+
240+let bt = "%s%s__commonConfig__defoStakingAddress"
241+
242+let bu = "%s%s__commonConfig__neutrinoStakingAddress"
243+
244+func bv (f) = ("%s%s__stakingBalance__" + f)
245+
246+
247+func bw () = ((("rpd_balance_" + aL) + "_") + toString(this))
248+
249+
250+let bx = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(O, bt), ((("No config at factoryAcc" + toString(O)) + " for key=") + bt))), ("address extraction error for key=" + bt))
251+
252+let by = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(O, bu), ((("No config at factoryAcc" + toString(O)) + " for key=") + bu))), ("address extraction error for key=" + bu))
253+
254+func bz () = valueOrElse(getInteger(bx, bv(aH)), 0)
255+
256+
257+func bA () = valueOrElse(getInteger(by, bw()), 0)
258+
259+
260+let bB = valueOrElse(getInteger(this, c()), 0)
261+
262+let bC = valueOrElse(getInteger(this, a()), 0)
263+
264+let bD = valueOrElse(getInteger(this, b()), 0)
265+
266+let bE = getIntegerValue(O, U(this))
267+
268+let bF = fromBase58String(ae())
269+
270+let bG = getIntegerValue(O, R())
271+
272+let bH = (bG - assetBalance(this, bF))
273+
274+let bI = ((assetBalance(this, aM) + bA()) + bH)
275+
276+let bJ = bf(aF[aj])
277+
278+let bK = (value(assetInfo(aI)).quantity - assetBalance(this, aI))
279+
280+func bL (bM) = if (be)
281+ then bJ
282+ else fraction((aN - bM), bJ, aN)
283+
284+
285+func bN (bO) = if ((aW == bO))
286+ then 0
287+ else aS
288+
289+
290+func bP (bM,bO) = if ((aW == bO))
291+ then bJ
292+ else bL(bM)
293+
294+
295+func bQ (bM) = if (be)
296+ then bJ
297+ else fraction((aN + bM), bJ, aN)
298+
299+
300+func bR (bS,bM) = if (be)
301+ then bS
302+ else fraction((aN + bM), bS, aN)
303+
304+
305+func bT (bU,bV,bW,bX,bY,bZ) = {
306+ let ca = fraction(bV, bY, aN)
307+ let cb = fraction(aZ, ca, aN)
308+ let cc = fraction(bZ, ca, aN)
309+ let cd = fraction(ba, ca, aN)
310+ let ce = (((ca - cb) - cc) - cd)
311+ let cf = fraction(ca, aN, bY)
312+ let cg = (bV - cf)
313+ if (if ((bX > bV))
314+ then (toString(bU) != toString(bx))
315+ else false)
316+ then throw(((((("impossible to issue new " + aG) + ": payment=") + toString(bV)) + "is less then min amount=") + toString(bX)))
317+ else $Tuple2([IntegerEntry(c(), (bB + cf)), StringEntry(g(height, toString(bU), "FINISHED"), u(bV, toBase58String(bW), bJ, ce, toBase58String(aI), ca, cc, cd)), Reissue(aI, ((ce + cc) + cd), true), ScriptTransfer(bU, ce, aI), ScriptTransfer(bU, cg, bW), ScriptTransfer(ah(toString(this)), cc, aI), ScriptTransfer(bs, cd, aI), IntegerEntry(a(), (bC + cc)), IntegerEntry(b(), (bD + cd))], cg)
318+ }
319+
320+
321+@Callable(ch)
322+func buyAsset () = {
323+ let ci = value(ch.payments[0])
324+ let cj = value(ci.assetId)
325+ let bO = toBase58String(ch.callerPublicKey)
326+ if (bd)
327+ then throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles")
328+ else if (bp)
329+ then throw(((("last price finalization has been more then 5 blocks ago: priceLastHeight=" + toString(bo)) + " currHeight=") + toString(height)))
330+ else if ((cj != aM))
331+ then throw(((("Payment asset id doesn't match basic asset: expected=" + toBase58String(aM)) + " actual=") + toBase58String(cj)))
332+ else bT(ch.caller, ci.amount, cj, aO, bP(aU, bO), bN(bO))._1
333+ }
334+
335+
336+
337+@Callable(ch)
338+func sellAsset () = {
339+ let ci = value(ch.payments[0])
340+ let ck = value(ci.assetId)
341+ let cl = toString(ch.caller)
342+ let cm = bQ(aU)
343+ if (bd)
344+ then throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles")
345+ else if (bp)
346+ then throw(((("last price finalization has been more then 5 blocks ago: priceLastHeight=" + toString(bo)) + " currHeight=") + toString(height)))
347+ else if ((ck != aI))
348+ then throw(((("Invalid payment asset id: expected=" + toBase58String(aI)) + " actual=") + toBase58String(ck)))
349+ else if ((aP > ci.amount))
350+ then throw(((("Payment amount less then mininimal allowed: paymentAmount=" + toString(ci.amount)) + " minAmount=") + toString(aP)))
351+ else {
352+ let cn = fraction(ci.amount, aN, cm)
353+ let co = if ((cn > bI))
354+ then bI
355+ else cn
356+ let cp = fraction(co, cm, aN)
357+ let cg = (ci.amount - cp)
358+ let cb = fraction(aZ, cp, aN)
359+ let cc = fraction(aT, cp, aN)
360+ let cd = fraction(ba, cp, aN)
361+ let cq = (((cp - cb) - cc) - cd)
362+ let cr = fraction(cq, aN, cm)
363+[IntegerEntry(c(), (bB - cr)), StringEntry(g(height, cl, "FINISHED"), u(ci.amount, toBase58String(ck), cm, cr, aL, cp, cc, cd)), Burn(aI, (cq + cb)), ScriptTransfer(ch.caller, cr, aM), ScriptTransfer(ch.caller, cg, aI), ScriptTransfer(bs, cd, aI), ScriptTransfer(ah(toString(this)), cc, aI), IntegerEntry(a(), (bC + cc)), IntegerEntry(b(), (bD + cd))]
364+ }
365+ }
366+
367+
368+
369+@Callable(ch)
370+func crossExchange (cs,ct) = {
371+ let ci = value(ch.payments[0])
372+ let ck = value(ci.assetId)
373+ let cu = toBase58String(ck)
374+ let cv = ci.amount
375+ let cl = toString(ch.caller)
376+ let cw = aF
377+ let cx = ag(ct)
378+ let cy = cx._2
379+ let cz = valueOrErrorMessage(addressFromString(cx._1), ("couldn't parse address from string for assetCode=" + ct))
380+ let cA = valueOrErrorMessage(parseInt(cy[as]), ("minSellPmt parsing error: rawVal=" + cy[as]))
381+ let cB = bg(ct)
382+ let cC = ((cB - cB) > 5)
383+ if (bd)
384+ then throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles")
385+ else if ((aF[aj] != cs))
386+ then throw(((("buyAsset confirmation failed: buyAssetIdConfirm=" + aF[aj]) + " BUT buyAssetId=") + cs))
387+ else if ((cy[ak] != cu))
388+ then throw(((("sellAsset confirmation failed: sellAssetIdConfirm=" + cy[ak]) + "BUT pmtAsset=") + cu))
389+ else if ((aF[al] != "ISSUED"))
390+ then throw(((("toAsset has not been issued yet: buyAssetId=" + cs) + " BUT status=") + aF[al]))
391+ else if ((cy[al] != "ISSUED"))
392+ then throw(((("fromAssetCfg has not been issued yet: sellAssetId=" + cu) + " BUT status=") + cy[al]))
393+ else if (bp)
394+ then throw(((((("buy last price finalization has been more then 5 blocks ago: priceLastHeight=" + toString(bo)) + " currHeight=") + toString(height)) + " buyCode=") + cs))
395+ else if (cC)
396+ then throw(((((("sell last price finalization has been more then 5 blocks ago: priceLastHeight=" + toString(bo)) + " currHeight=") + toString(height)) + " sellCode=") + ct))
397+ else {
398+ let cD = bL((aU / 2))
399+ let cE = bR(bf(ct), (aU / 2))
400+ let bY = fraction(cD, aN, cE)
401+ let cF = fraction(cv, aN, cE)
402+ let cG = valueOrElse(getInteger(this, d()), 0)
403+ let cH = l(ct)
404+ let cI = valueOrElse(getInteger(this, cH), 0)
405+ let cJ = parseIntValue(cy[aw])
406+ let cK = fraction((aS + cJ), aX, aN)
407+ let cL = bT(ch.caller, cv, ck, cA, bY, cK)
408+ ((((cL._1 :+ ScriptTransfer(cz, cF, bF)) :+ ScriptTransfer(cz, (cv - cL._2), ck)) :+ IntegerEntry(cH, (cI + cF))) :+ IntegerEntry(d(), (cG + cF)))
409+ }
410+ }
411+
412+
413+
414+@Callable(ch)
415+func rebalanceDebts () = {
416+ let cM = value(ch.payments[0])
417+ let cN = value(cM.assetId)
418+ let cO = value(ch.payments[1])
419+ let cP = value(cO.assetId)
420+ let cQ = toString(ch.caller)
421+ let cR = af(cQ)
422+ let E = cR[aj]
423+ let cH = l(E)
424+ let cS = valueOrErrorMessage(getInteger(this, cH), ("No debts for " + E))
425+ if (bd)
426+ then throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles")
427+ else if ((bF != cN))
428+ then throw(((("invalid debt asset id in the first paymet: expected=" + toBase58String(bF)) + " actual=") + toBase58String(cN)))
429+ else if ((aM != cP))
430+ then throw(((("invalid base asset id in the second payment: expected=" + toBase58String(aM)) + " actual=") + toBase58String(cP)))
431+ else if ((cM.amount != cO.amount))
432+ then throw("first payment amount doesn't match to the second payment amount")
433+ else if ((0 >= cS))
434+ then throw(("lendedAmt is less then zero: lendedAmt=" + toString(cS)))
435+ else if (((1 * aN) >= cM.amount))
436+ then throw(("attached payment must be greater then 100: pmt0.amount=" + toString(cM.amount)))
437+ else if ((cM.amount > cS))
438+ then throw(((("attached payment is grater than required: pmtAmount=" + toString(cM.amount)) + " lendedAmt=") + toString(cS)))
439+ else {
440+ let cG = valueOrElse(getInteger(this, d()), 0)
441+ let I = (cS - cM.amount)
442+[IntegerEntry(cH, I), IntegerEntry(d(), (cG - cM.amount)), StringEntry(("%s%s__rebalanceTrace__" + toBase58String(ch.transactionId)), D(E, cM, cO, cS, I))]
443+ }
444+ }
445+
446+
447+
448+@Callable(ch)
449+func fulfillRedeemRequest (ab) = {
450+ let cT = toString(this)
451+ let cU = ad(cT, ab)
452+ let cV = valueOrElse(getInteger(O, cU), 0)
453+ if ((0 >= cV))
454+ then throw("All liquidity request fulfilled")
455+ else {
456+ let cW = aa(cT, ab, cV)
457+ let cX = valueOrErrorMessage(getInteger(O, cW), "Empty poolMakerLiquidityRequestKey at factory acc")
458+ if (isDefined(getInteger(this, cW)))
459+ then throw("Liquidity request has been already fulfilled")
460+ else [IntegerEntry(cW, cX), ScriptTransfer(O, cX, aM)]
461+ }
462+ }
463+
464+
465+@Verifier(cY)
466+func cZ () = {
467+ let da = cY
468+ if ($isInstanceOf(da, "InvokeScriptTransaction"))
469+ then {
470+ let db = da
471+ if ((db.fee > (900 * 1000)))
472+ then throw(("fee amount is greater than max allowed: " + toString(db.fee)))
473+ else if (isDefined(db.feeAssetId))
474+ then throw("only Waves is allowed as feeAssetId")
475+ else if ((db.function == "rebalanceDebts"))
476+ then {
477+ let dc = toString(addressFromRecipient(db.dApp))
478+ if ((af(dc)[al] != "ISSUED"))
479+ then throw("only defo dapp is allowed")
480+ else if ((dc == toString(this)))
481+ then throw("impossible to call self rebealnceDebt")
482+ else true
483+ }
484+ else if (if (if ((db.function == "lockNeutrino"))
485+ then true
486+ else (db.function == "lockNeutrinoSP"))
487+ then true
488+ else (db.function == "unlockNeutrino"))
489+ then if ((toString(by) != toString(addressFromRecipient(db.dApp))))
490+ then throw("invalid neutrino staking dapp address")
491+ else sigVerify(cY.bodyBytes, cY.proofs[0], ai())
492+ else throw("Not allowed invocation method calls")
493+ }
494+ else sigVerify(cY.bodyBytes, cY.proofs[0], cY.senderPublicKey)
495+ }
496+

github/deemru/w8io/026f985 
61.80 ms