tx · ATZKpKWh8TrcroCD62v57GHoo9BXvvqWnHyQFSiDx5Zb

3My9cBgDYLyeT1YF8ip9XxqwWvJMjj8WdeM:  -0.01400000 Waves

2019.06.25 10:46 [557341] smart account 3My9cBgDYLyeT1YF8ip9XxqwWvJMjj8WdeM > SELF 0.00000000 Waves

{ "type": 13, "id": "ATZKpKWh8TrcroCD62v57GHoo9BXvvqWnHyQFSiDx5Zb", "fee": 1400000, "feeAssetId": null, "timestamp": 1561448741983, "version": 1, "sender": "3My9cBgDYLyeT1YF8ip9XxqwWvJMjj8WdeM", "senderPublicKey": "bqA3HaxNcnpEYdb6HPwTmHwT37CvHkYMre23mRonqjs", "proofs": [ "4PyWSqUs1CoZtRCgZhQorkyDmm86s8cPjGbxu2p7kK6jckDnvTnqUn3hHyn2zhddxEXQgFZYvXY42EQLR5zonQk4" ], "script": "base64:AAIDAAAAAAAAAAAAAAA9AAAAAAljb3B5cmlnaHQCAAAAHkNvcHlyaWdodCAoYykgMjAxOSBNYURhTWEgTGFicwAAAAAHY3JlYXRvcgIAAAAjQGRhaWRhbG9zIC0gdHdpdHRlci5jb20vdHdfZGFpZGFsb3MAAAAAB2xpY2Vuc2UCAAAAC01JVCBMaWNlbnNlAAAAAAtsaWNlbnNlTGluawIAAAA/dGxkcmxlZ2FsLmNvbS9saWNlbnNlL21pdC1saWNlbnNlICwgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUAAAAAA9zZXJ2ZXJQdWJsaWNLZXkBAAAAIJzlzXH93hFOogU95a4LIg5OvnudTvfalYSfarpp3Z09AAAAAA93YWxsZXRQdWJsaWNLZXkBAAAAII59m1WbITiydrSsh5p7DTg06jWuC97IwDX0JxhY8UwtAAAAAANmZWUAAAAAAAAHoSAAAAAACE9ORVdBVkVTAAAAAAAF9eEAAAAAAA5wZXJpb2RHYW1lUGxheQAAAAAAAAAAAgAAAAAFd2hlZWwJAARMAAAAAgIAAAABNQkABEwAAAACAgAAAAIyNAkABEwAAAACAgAAAAIxNgkABEwAAAACAgAAAAIzMwkABEwAAAACAgAAAAExCQAETAAAAAICAAAAAjIwCQAETAAAAAICAAAAAjE0CQAETAAAAAICAAAAAjMxCQAETAAAAAICAAAAATkJAARMAAAAAgIAAAACMjIJAARMAAAAAgIAAAACMTgJAARMAAAAAgIAAAACMjkJAARMAAAAAgIAAAABNwkABEwAAAACAgAAAAIyOAkABEwAAAACAgAAAAIxMgkABEwAAAACAgAAAAIzNQkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAAjI2CQAETAAAAAICAAAAATAJAARMAAAAAgIAAAACMzIJAARMAAAAAgIAAAACMTUJAARMAAAAAgIAAAACMTkJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAIyMQkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAAjI1CQAETAAAAAICAAAAAjE3CQAETAAAAAICAAAAAjM0CQAETAAAAAICAAAAATYJAARMAAAAAgIAAAACMjcJAARMAAAAAgIAAAACMTMJAARMAAAAAgIAAAACMzYJAARMAAAAAgIAAAACMTEJAARMAAAAAgIAAAACMzAJAARMAAAAAgIAAAABOAkABEwAAAACAgAAAAIyMwkABEwAAAACAgAAAAIxMAUAAAADbmlsAAAAAAlSU0FQVUJMSUMJAAJbAAAAAQIAAAGTYmFzZTY0Ok1JSUJKVEFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUklBTUlJQkRRS0NBUUVBdE9iZml3V3lCRnBTTkpabWt4bHdIeTV2VCtKYitWdjZmN0xsaEtFOXdOY0MwUXAwcmR5TXd4THBkd2Z1THNLYlJkQkViRGhwYjNkejFKUEppYXRsaEtWS1Vzb1EyNVVRdTlodjJvWHl5RXpKeDg2Q0dRcTVIT3IzWUdHU2RKUjBMS3ExUGhiWXJObXVTNmpQRFlvYnhzc1h5Yy90eHNpcFNHd3pNZ1ZIY3F0OU9TaUdReVNaOC85bXR2NDJFZWZ6RkU5NXd1dXk0MktKS0c3aDBEVE1mRlNMVHBxaFMvTWJwOEVLUHVWYjFodVdzTUtWTDlRdE9QWUVYYTlRUFphMldCUFg1WTlCSTFNY1JRL1dmOFd3cVF0QVJwQmZTVnBrS1BTMUFtaHQyZkVPeFNTWVJxRzZJVXNmSzh4TzloeHQrMysvT3AvK0lGSlRHY0dGOEJyeldRSUdDUHc5L3UyNwAAAAARZ2FtZXNMYWJlbENvdW50ZXICAAAADlhfR0FNRVNDT1VOVEVSAAAAABVnYW1lc0xhYmVsQmV0c0NvdW50ZXICAAAADVhfQkVUU0NPVU5URVIAAAAAFmdhbWVzTGFiZWxCZXRzRmVlTW92ZWQCAAAADlhfQkVUU0ZFRU1PVkVEAAAAABhnYW1lc0xhYmVsVG90YWxBbW91bnRXaW4CAAAAEFhfVE9UQUxBTU9VTlRXSU4AAAAAGGdhbWVzTGFiZWxUb3RhbEFtb3VudEJldAIAAAAQWF9UT1RBTEFNT1VOVEJFVAAAAAAZZ2FtZXNMYWJlbFRvdGFsQWRkcmVzc0JldAIAAAARWF9UT1RBTEFERFJFU1NCRVQBAAAAD2dhbWVzR2V0Q291bnRlcgAAAAAJAAQaAAAAAgUAAAAEdGhpcwUAAAARZ2FtZXNMYWJlbENvdW50ZXIBAAAAE2dhbWVzR2V0QmV0c0NvdW50ZXIAAAAACQAEGgAAAAIFAAAABHRoaXMFAAAAFWdhbWVzTGFiZWxCZXRzQ291bnRlcgEAAAAUZ2FtZXNHZXRCZXRzRmVlTW92ZWQAAAAACQAEGgAAAAIFAAAABHRoaXMFAAAAFmdhbWVzTGFiZWxCZXRzRmVlTW92ZWQBAAAAFmdhbWVzR2V0VG90YWxBbW91bnRXaW4AAAAACQAEGgAAAAIFAAAABHRoaXMFAAAAGGdhbWVzTGFiZWxUb3RhbEFtb3VudFdpbgEAAAAWZ2FtZXNHZXRUb3RhbEFtb3VudEJldAAAAAAJAAQaAAAAAgUAAAAEdGhpcwUAAAAYZ2FtZXNMYWJlbFRvdGFsQW1vdW50QmV0AQAAABdnYW1lc0dldFRvdGFsQWRkcmVzc0JldAAAAAAJAAQaAAAAAgUAAAAEdGhpcwUAAAAZZ2FtZXNMYWJlbFRvdGFsQWRkcmVzc0JldAEAAAAQbnVtYmVyTGFiZWxDb3VudAAAAAEAAAAGbnVtYmVyCQABLAAAAAICAAAAAk5fBQAAAAZudW1iZXIBAAAADm51bWJlckdldENvdW50AAAAAQAAAAZudW1iZXIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAEG51bWJlckxhYmVsQ291bnQAAAABBQAAAAZudW1iZXIBAAAAD2dhbWVMYWJlbFN0YXR1cwAAAAEAAAAMR0FNRVNDT1VOVEVSCQABLAAAAAIJAAEsAAAAAgIAAAACR18JAAGkAAAAAQUAAAAMR0FNRVNDT1VOVEVSAgAAAAdfU1RBVFVTAQAAAA9nYW1lTGFiZWxOdW1iZXIAAAABAAAADEdBTUVTQ09VTlRFUgkAASwAAAACCQABLAAAAAICAAAAAkdfCQABpAAAAAEFAAAADEdBTUVTQ09VTlRFUgIAAAAHX05VTUJFUgEAAAAMZ2FtZUxhYmVsTWF4AAAAAQAAAAxHQU1FU0NPVU5URVIJAAEsAAAAAgkAASwAAAACAgAAAAJHXwkAAaQAAAABBQAAAAxHQU1FU0NPVU5URVICAAAABF9NQVgBAAAADWdhbWVMYWJlbEJldHMAAAABAAAADEdBTUVTQ09VTlRFUgkAASwAAAACCQABLAAAAAICAAAAAkdfCQABpAAAAAEFAAAADEdBTUVTQ09VTlRFUgIAAAAFX0JFVFMBAAAAD2dhbWVMYWJlbFBhc3NlZAAAAAEAAAAMR0FNRVNDT1VOVEVSCQABLAAAAAIJAAEsAAAAAgIAAAACR18JAAGkAAAAAQUAAAAMR0FNRVNDT1VOVEVSAgAAAAdfUEFTU0VEAQAAAA9nYW1lTGFiZWxIZWlnaHQAAAABAAAADEdBTUVTQ09VTlRFUgkAASwAAAACCQABLAAAAAICAAAAAkdfCQABpAAAAAEFAAAADEdBTUVTQ09VTlRFUgIAAAAHX0hFSUdIVAEAAAAPZ2FtZUxhYmVsU3VtU2hhAAAAAQAAAAxHQU1FU0NPVU5URVIJAAEsAAAAAgkAASwAAAACAgAAAAJHXwkAAaQAAAABBQAAAAxHQU1FU0NPVU5URVICAAAAB19TVU1TSEEBAAAAD2dhbWVMYWJlbENtYk1heAAAAAIAAAAMR0FNRVNDT1VOVEVSAAAAA0NNQgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAACR18JAAGkAAAAAQUAAAAMR0FNRVNDT1VOVEVSAgAAAAJfQwUAAAADQ01CAQAAAA1nYW1lR2V0U3RhdHVzAAAAAQAAAAxHQU1FU0NPVU5URVIJAAQdAAAAAgUAAAAEdGhpcwkBAAAAD2dhbWVMYWJlbFN0YXR1cwAAAAEFAAAADEdBTUVTQ09VTlRFUgEAAAANZ2FtZUdldE51bWJlcgAAAAEAAAAMR0FNRVNDT1VOVEVSCQAEGgAAAAIFAAAABHRoaXMJAQAAAA9nYW1lTGFiZWxOdW1iZXIAAAABBQAAAAxHQU1FU0NPVU5URVIBAAAACmdhbWVHZXRNYXgAAAABAAAADEdBTUVTQ09VTlRFUgkABBoAAAACBQAAAAR0aGlzCQEAAAAMZ2FtZUxhYmVsTWF4AAAAAQUAAAAMR0FNRVNDT1VOVEVSAQAAAAtnYW1lR2V0QmV0cwAAAAEAAAAMR0FNRVNDT1VOVEVSCQAEGgAAAAIFAAAABHRoaXMJAQAAAA1nYW1lTGFiZWxCZXRzAAAAAQUAAAAMR0FNRVNDT1VOVEVSAQAAAA1nYW1lR2V0UGFzc2VkAAAAAQAAAAxHQU1FU0NPVU5URVIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAD2dhbWVMYWJlbFBhc3NlZAAAAAEFAAAADEdBTUVTQ09VTlRFUgEAAAANZ2FtZUdldEhlaWdodAAAAAEAAAAMR0FNRVNDT1VOVEVSCQAEGgAAAAIFAAAABHRoaXMJAQAAAA9nYW1lTGFiZWxIZWlnaHQAAAABBQAAAAxHQU1FU0NPVU5URVIBAAAADWdhbWVHZXRTdW1TaGEAAAABAAAADEdBTUVTQ09VTlRFUgkABB0AAAACBQAAAAR0aGlzCQEAAAAPZ2FtZUxhYmVsU3VtU2hhAAAAAQUAAAAMR0FNRVNDT1VOVEVSAQAAAA1nYW1lR2V0Q21iTWF4AAAAAgAAAAxHQU1FU0NPVU5URVIAAAADQ01CCQAEGgAAAAIFAAAABHRoaXMJAQAAAA9nYW1lTGFiZWxDbWJNYXgAAAACBQAAAAxHQU1FU0NPVU5URVIFAAAAA0NNQgEAAAAOYmV0TGFiZWxTdGF0dXMAAAABAAAABWlkQmV0CQABLAAAAAIJAAEsAAAAAgIAAAACQl8FAAAABWlkQmV0AgAAAAdfU1RBVFVTAQAAAAxiZXRMYWJlbEluZm8AAAABAAAABWlkQmV0CQABLAAAAAIJAAEsAAAAAgIAAAACQl8FAAAABWlkQmV0AgAAAAVfSU5GTwEAAAAMYmV0R2V0U3RhdHVzAAAAAQAAAAVpZEJldAkABB0AAAACBQAAAAR0aGlzCQEAAAAOYmV0TGFiZWxTdGF0dXMAAAABBQAAAAVpZEJldAEAAAAKYmV0R2V0SW5mbwAAAAEAAAAFaWRCZXQJAAQdAAAAAgUAAAAEdGhpcwkBAAAADGJldExhYmVsSW5mbwAAAAEFAAAABWlkQmV0AQAAAA9hZGRyZXNzTGFiZWxXb24AAAABAAAABGFkZHIJAAEsAAAAAgkAASwAAAACAgAAAAJBXwUAAAAEYWRkcgIAAAAEX1dPTgEAAAASYWRkcmVzc0xhYmVsQW1vdW50AAAAAQAAAARhZGRyCQABLAAAAAIJAAEsAAAAAgIAAAACQV8FAAAABGFkZHICAAAAB19BTU9VTlQBAAAAEGFkZHJlc3NMYWJlbEJldHMAAAABAAAABGFkZHIJAAEsAAAAAgkAASwAAAACAgAAAAJBXwUAAAAEYWRkcgIAAAAFX0JFVFMBAAAAD2FkZHJlc3NMYWJlbEhpdAAAAAEAAAAEYWRkcgkAASwAAAACCQABLAAAAAICAAAAAkFfBQAAAARhZGRyAgAAAARfSElUAQAAAA1hZGRyZXNzR2V0V29uAAAAAQAAAARhZGRyCQAEGgAAAAIFAAAABHRoaXMJAQAAAA9hZGRyZXNzTGFiZWxXb24AAAABBQAAAARhZGRyAQAAABBhZGRyZXNzR2V0QW1vdW50AAAAAQAAAARhZGRyCQAEGgAAAAIFAAAABHRoaXMJAQAAABJhZGRyZXNzTGFiZWxBbW91bnQAAAABBQAAAARhZGRyAQAAAA5hZGRyZXNzR2V0QmV0cwAAAAEAAAAEYWRkcgkABBoAAAACBQAAAAR0aGlzCQEAAAAQYWRkcmVzc0xhYmVsQmV0cwAAAAEFAAAABGFkZHIBAAAADWFkZHJlc3NHZXRIaXQAAAABAAAABGFkZHIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAD2FkZHJlc3NMYWJlbEhpdAAAAAEFAAAABGFkZHIBAAAAE3BvaW50ZXJBZGRyZXNzTGFiZWwAAAABAAAAAmlkCQABLAAAAAICAAAAAlBfBQAAAAJpZAEAAAAPY2hlY2tQZXJtaXNzaW9uAAAAAQAAAA9jYWxsZXJQdWJsaWNLZXkJAQAAAAIhPQAAAAIFAAAAD2NhbGxlclB1YmxpY0tleQUAAAAPc2VydmVyUHVibGljS2V5AQAAAApnYW1lTmV3TWF4AAAAAQAAAAN3aW4EAAAAByRtYXRjaDAJAQAAAA9nYW1lc0dldENvdW50ZXIAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAADEdBTUVTQ09VTlRFUgUAAAAHJG1hdGNoMAQAAAAHJG1hdGNoMQkBAAAACmdhbWVHZXRNYXgAAAABBQAAAAxHQU1FU0NPVU5URVIDCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAA0ludAQAAAAHQ1VSUk1BWAUAAAAHJG1hdGNoMQQAAAAEdGVtcAkAAGUAAAACBQAAAAdDVVJSTUFYBQAAAAN3aW4DCQAAZgAAAAIAAAAAAAAAAAAFAAAABHRlbXAJAAACAAAAAQIAAAAMQkVUX0lTX0JMT0NLBQAAAAR0ZW1wCQAAAgAAAAECAAAADkdBTUVfTk9UX0ZPVU5ECQAAAgAAAAECAAAAC0lOSVRfTkVFREVEAQAAAA1nYW1lTmV3U3VtU2hhAAAAAQAAAAR0eElkBAAAAAckbWF0Y2gwCQEAAAAPZ2FtZXNHZXRDb3VudGVyAAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAxHQU1FU0NPVU5URVIFAAAAByRtYXRjaDAEAAAAByRtYXRjaDEJAQAAAA1nYW1lR2V0U3VtU2hhAAAAAQUAAAAMR0FNRVNDT1VOVEVSAwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAAAZTdHJpbmcEAAAABlNVTVNIQQUAAAAHJG1hdGNoMQkAAlgAAAABCQAB9wAAAAEJAADLAAAAAgkAAlkAAAABBQAAAAZTVU1TSEEFAAAABHR4SWQJAAACAAAAAQIAAAAOR0FNRV9OT1RfRk9VTkQJAAACAAAAAQIAAAALSU5JVF9ORUVERUQBAAAACmNoZWNrSWRCZXQAAAABAAAABWlkQmV0BAAAAAckbWF0Y2gwCQEAAAAKYmV0R2V0SW5mbwAAAAEFAAAABWlkQmV0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAABHRlbXAFAAAAByRtYXRjaDAJAAACAAAAAQIAAAAWUExBWUVSX0FMUkVBRFlfREVGSU5FRAAAAAAAAAAAAQEAAAAIY2hlY2tCZXQAAAABAAAAA2JldAMDAwMDAwkAAAAAAAACBQAAAANiZXQAAAAAAACYloAGCQAAAAAAAAIFAAAAA2JldAAAAAAAATEtAAYJAAAAAAAAAgUAAAADYmV0AAAAAAAC+vCABgkAAAAAAAACBQAAAANiZXQAAAAAAAX14QAGCQAAAAAAAAIFAAAAA2JldAAAAAAAC+vCAAYJAAAAAAAAAgUAAAADYmV0AAAAAAAdzWUAAAAAAAAAAAABCQAAAgAAAAECAAAADUJFVF9OT1RfRk9VTkQBAAAABmdldENtYgAAAAEAAAADY21iBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAABQwUAAAADY21iAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAABHRlbXAFAAAAByRtYXRjaDAFAAAABHRlbXAJAAACAAAAAQIAAAANQ01CX05PVF9GT1VORAEAAAALYWxsb3dDbWJNYXgAAAADAAAAC2dhbWVjb3VudGVyAAAAA2NtYgAAAAN3aW4EAAAAByRtYXRjaDAJAQAAAA1nYW1lR2V0Q21iTWF4AAAAAgUAAAALZ2FtZWNvdW50ZXIFAAAAA2NtYgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAR0ZW1wBQAAAAckbWF0Y2gwAwkAAGYAAAACCQAAZAAAAAIFAAAABHRlbXAFAAAAA3dpbgAAAAAEqBfIAAkAAAIAAAABAgAAAAtDTUJfTUFYX1dJTgAAAAAAAAAAAQAAAAAAAAAAAQAAAAgAAAABaQEAAAADYmV0AAAAAgAAAAJpZAAAAANjbWIEAAAAByRtYXRjaDAJAQAAAA9nYW1lc0dldENvdW50ZXIAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAADEdBTUVTQ09VTlRFUgUAAAAHJG1hdGNoMAMJAQAAAAIhPQAAAAIFAAAAAmlkBQAAAAxHQU1FU0NPVU5URVIJAAACAAAAAQIAAAANR0FNRV9JRF9XUk9ORwQAAAAHJG1hdGNoMQkBAAAADWdhbWVHZXRTdGF0dXMAAAABBQAAAAxHQU1FU0NPVU5URVIDCQAAAQAAAAIFAAAAByRtYXRjaDECAAAABlN0cmluZwQAAAAKQ1VSUlNUQVRVUwUAAAAHJG1hdGNoMQMJAQAAAAIhPQAAAAIFAAAACkNVUlJTVEFUVVMCAAAABFBMQVkJAAACAAAAAQIAAAAXQ1VSUl9TVEFUVVNfSVNfTk9UX1BMQVkEAAAAByRtYXRjaDIJAQAAAA1nYW1lR2V0SGVpZ2h0AAAAAQUAAAAMR0FNRVNDT1VOVEVSAwkAAAEAAAACBQAAAAckbWF0Y2gyAgAAAANJbnQEAAAACkdBTUVIRUlHSFQFAAAAByRtYXRjaDIDAwkBAAAAAiE9AAAAAgUAAAAKR0FNRUhFSUdIVAAAAAAAAAAAAAkAAGYAAAACBQAAAAZoZWlnaHQJAABkAAAAAgUAAAAKR0FNRUhFSUdIVAUAAAAOcGVyaW9kR2FtZVBsYXkHCQAAAgAAAAECAAAAC0dBTUVfSVNfRU5EBAAAAAckbWF0Y2gzCQEAAAALZ2FtZUdldEJldHMAAAABBQAAAAxHQU1FU0NPVU5URVIDCQAAAQAAAAIFAAAAByRtYXRjaDMCAAAAA0ludAQAAAAEQkVUUwUAAAAHJG1hdGNoMwQAAAAFaWRCZXQJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAADEdBTUVTQ09VTlRFUgIAAAABXwkAAaQAAAABCQAAZAAAAAIFAAAABEJFVFMAAAAAAAAAAAEEAAAAB3BheW1lbnQJAQAAAAV2YWx1ZQAAAAEIBQAAAAFpAAAAB3BheW1lbnQEAAAAByRtYXRjaDQIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDQCAAAACkJ5dGVWZWN0b3IEAAAAB2Fzc2V0SWQFAAAAByRtYXRjaDQJAAACAAAAAQIAAAATT05MWV9XQVZFU19BQ0NFUFRFRAQAAAAGYW1vdW50CQAAZQAAAAIIBQAAAAdwYXltZW50AAAABmFtb3VudAUAAAADZmVlBAAAAAN3aW4JAABoAAAAAgkAAGgAAAACCQAAaAAAAAIJAQAAAApjaGVja0lkQmV0AAAAAQUAAAAFaWRCZXQJAQAAAAhjaGVja0JldAAAAAEFAAAABmFtb3VudAkBAAAABmdldENtYgAAAAEFAAAAA2NtYgUAAAAGYW1vdW50BAAAAAZ3aW5tYXgJAABoAAAAAgUAAAADd2luCQEAAAALYWxsb3dDbWJNYXgAAAADBQAAAAxHQU1FU0NPVU5URVIFAAAAA2NtYgUAAAADd2luBAAAAAdhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABGluZm8JAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAAB2FkZHJlc3MCAAAAAnx8BQAAAANjbWICAAAAAnx8CQABpAAAAAEFAAAABmFtb3VudAIAAAACfHwJAAGkAAAAAQUAAAAGd2lubWF4BAAAAA1BRERSRVNTQU1PVU5UBAAAAAckbWF0Y2g1CQEAAAAQYWRkcmVzc0dldEFtb3VudAAAAAEFAAAAB2FkZHJlc3MDCQAAAQAAAAIFAAAAByRtYXRjaDUCAAAAA0ludAQAAAAEdGVtcAUAAAAHJG1hdGNoNQUAAAAEdGVtcAAAAAAAAAAAAAQAAAALQUREUkVTU0JFVFMEAAAAByRtYXRjaDUJAQAAAA5hZGRyZXNzR2V0QmV0cwAAAAEFAAAAB2FkZHJlc3MDCQAAAQAAAAIFAAAAByRtYXRjaDUCAAAAA0ludAQAAAAEdGVtcAUAAAAHJG1hdGNoNQUAAAAEdGVtcAAAAAAAAAAAAAQAAAAGQ01CTUFYBAAAAAckbWF0Y2g1CQEAAAANZ2FtZUdldENtYk1heAAAAAIFAAAADEdBTUVTQ09VTlRFUgUAAAADY21iAwkAAAEAAAACBQAAAAckbWF0Y2g1AgAAAANJbnQEAAAABHRlbXAFAAAAByRtYXRjaDUFAAAABHRlbXAAAAAAAAAAAAAEAAAABGRhdGEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAAxiZXRMYWJlbEluZm8AAAABBQAAAAVpZEJldAUAAAAEaW5mbwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAADmJldExhYmVsU3RhdHVzAAAAAQUAAAAFaWRCZXQCAAAABkFDQ0VQVAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAADWdhbWVMYWJlbEJldHMAAAABBQAAAAxHQU1FU0NPVU5URVIJAABkAAAAAgUAAAAEQkVUUwAAAAAAAAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAD2dhbWVMYWJlbEhlaWdodAAAAAEFAAAADEdBTUVTQ09VTlRFUgMJAAAAAAAAAgUAAAAKR0FNRUhFSUdIVAAAAAAAAAAAAAUAAAAGaGVpZ2h0BQAAAApHQU1FSEVJR0hUCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAMZ2FtZUxhYmVsTWF4AAAAAQUAAAAMR0FNRVNDT1VOVEVSCQEAAAAKZ2FtZU5ld01heAAAAAEFAAAABndpbm1heAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAD2dhbWVMYWJlbFN1bVNoYQAAAAEFAAAADEdBTUVTQ09VTlRFUgkBAAAADWdhbWVOZXdTdW1TaGEAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAPZ2FtZUxhYmVsQ21iTWF4AAAAAgUAAAAMR0FNRVNDT1VOVEVSBQAAAANjbWIJAABkAAAAAgUAAAAGQ01CTUFYBQAAAAZ3aW5tYXgJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJhZGRyZXNzTGFiZWxBbW91bnQAAAABBQAAAAdhZGRyZXNzCQAAZAAAAAIFAAAADUFERFJFU1NBTU9VTlQFAAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGFkZHJlc3NMYWJlbEJldHMAAAABBQAAAAdhZGRyZXNzCQAAZAAAAAIFAAAAC0FERFJFU1NCRVRTAAAAAAAAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABVnYW1lc0xhYmVsQmV0c0NvdW50ZXIJAABkAAAAAgkBAAAABXZhbHVlAAAAAQkBAAAAE2dhbWVzR2V0QmV0c0NvdW50ZXIAAAAAAAAAAAAAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABhnYW1lc0xhYmVsVG90YWxBbW91bnRCZXQJAABkAAAAAgkBAAAABXZhbHVlAAAAAQkBAAAAFmdhbWVzR2V0VG90YWxBbW91bnRCZXQAAAAABQAAAAZhbW91bnQFAAAAA25pbAQAAAAPVE9UQUxBRERSRVNTQkVUCQAAZAAAAAIJAQAAAAV2YWx1ZQAAAAEJAQAAABdnYW1lc0dldFRvdGFsQWRkcmVzc0JldAAAAAAAAAAAAAAAAAEEAAAACWRhdGFGaW5hbAMJAAAAAAAAAgUAAAANQUREUkVTU0FNT1VOVAAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAE3BvaW50ZXJBZGRyZXNzTGFiZWwAAAABCQABpAAAAAEFAAAAD1RPVEFMQUREUkVTU0JFVAUAAAAHYWRkcmVzcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAZZ2FtZXNMYWJlbFRvdGFsQWRkcmVzc0JldAUAAAAPVE9UQUxBRERSRVNTQkVUBQAAAARkYXRhBQAAAARkYXRhCQEAAAAIV3JpdGVTZXQAAAABBQAAAAlkYXRhRmluYWwJAAACAAAAAQIAAAAOR0FNRV9OT1RfRk9VTkQJAAACAAAAAQIAAAAOR0FNRV9OT1RfRk9VTkQJAAACAAAAAQIAAAAOR0FNRV9OT1RfRk9VTkQJAAACAAAAAQIAAAALSU5JVF9ORUVERUQAAAABaQEAAAAGZ2V0V2luAAAAAQAAAANCRVQDCQEAAAAPY2hlY2tQZXJtaXNzaW9uAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAEGdldFdpbl9GT1JCQklERU4EAAAAByRtYXRjaDAJAQAAAA9nYW1lc0dldENvdW50ZXIAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAADEdBTUVTQ09VTlRFUgUAAAAHJG1hdGNoMAQAAAAHJG1hdGNoMQkBAAAADWdhbWVHZXRTdGF0dXMAAAABBQAAAAxHQU1FU0NPVU5URVIDCQAAAQAAAAIFAAAAByRtYXRjaDECAAAABlN0cmluZwQAAAAKQ1VSUlNUQVRVUwUAAAAHJG1hdGNoMQMJAQAAAAIhPQAAAAIFAAAACkNVUlJTVEFUVVMCAAAABFNIT1cJAAACAAAAAQIAAAAXQ1VSUl9TVEFUVVNfSVNfTk9UX1NIT1cEAAAAByRtYXRjaDIJAQAAAA1nYW1lR2V0TnVtYmVyAAAAAQUAAAAMR0FNRVNDT1VOVEVSAwkAAAEAAAACBQAAAAckbWF0Y2gyAgAAAANJbnQEAAAABk5VTUJFUgUAAAAHJG1hdGNoMgQAAAAFaWRCZXQJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAADEdBTUVTQ09VTlRFUgIAAAABXwkAAaQAAAABBQAAAANCRVQEAAAADG51bWJlclN0cmluZwkAASwAAAACCQABLAAAAAICAAAAAV8JAAGkAAAAAQUAAAAGTlVNQkVSAgAAAAFfBAAAAANyZWQCAAAANHxfMV8zXzVfN185XzEyXzE0XzE2XzE4XzE5XzIxXzIzXzI1XzI3XzMwXzMyXzM0XzM2X3wEAAAABWJsYWNrAgAAADV8XzJfNF82XzhfMTBfMTFfMTNfMTVfMTdfMjBfMjJfMjRfMjZfMjhfMjlfMzFfMzNfMzVffAQAAAAIaW5kZXhSZWQEAAAAByRtYXRjaDMJAASzAAAAAgUAAAADcmVkBQAAAAxudW1iZXJTdHJpbmcDCQAAAQAAAAIFAAAAByRtYXRjaDMCAAAAA0ludAQAAAAEdGVtcAUAAAAHJG1hdGNoMwkAAGYAAAACBQAAAAR0ZW1wAAAAAAAAAAAABwQAAAAKaW5kZXhCbGFjawQAAAAHJG1hdGNoMwkABLMAAAACBQAAAAVibGFjawUAAAAMbnVtYmVyU3RyaW5nAwkAAAEAAAACBQAAAAckbWF0Y2gzAgAAAANJbnQEAAAABHRlbXAFAAAAByRtYXRjaDMJAABmAAAAAgUAAAAEdGVtcAAAAAAAAAAAAAcEAAAABWNtYlJCCQABLAAAAAICAAAAAV8DBQAAAAhpbmRleFJlZAIAAAADUkVEAwUAAAAKaW5kZXhCbGFjawIAAAAFQkxBQ0sCAAAAA05ERgQAAAAFY21iRU8JAAEsAAAAAgIAAAABXwMDCQAAZwAAAAIAAAAAAAAAAAAFAAAABk5VTUJFUgYJAABmAAAAAgUAAAAGTlVNQkVSAAAAAAAAAAAkAgAAAANOREYDCQAAAAAAAAIJAABqAAAAAgUAAAAGTlVNQkVSAAAAAAAAAAACAAAAAAAAAAAAAgAAAARFVkVOAgAAAANPREQEAAAABWNtYkxICQABLAAAAAICAAAAAV8DAwkAAGcAAAACBQAAAAZOVU1CRVIAAAAAAAAAAAEJAABnAAAAAgAAAAAAAAAAEgUAAAAGTlVNQkVSBwIAAAADTE9XAwMJAABnAAAAAgUAAAAGTlVNQkVSAAAAAAAAAAATCQAAZwAAAAIAAAAAAAAAACQFAAAABk5VTUJFUgcCAAAABEhJR0gCAAAAA05ERgQAAAAFY21iRFoJAAEsAAAAAgIAAAABXwMDCQAAZwAAAAIFAAAABk5VTUJFUgAAAAAAAAAAAQkAAGcAAAACAAAAAAAAAAAMBQAAAAZOVU1CRVIHAgAAAAZET1pFUjEDAwkAAGcAAAACBQAAAAZOVU1CRVIAAAAAAAAAAA0JAABnAAAAAgAAAAAAAAAAGAUAAAAGTlVNQkVSBwIAAAAGRE9aRVIyAwMJAABnAAAAAgUAAAAGTlVNQkVSAAAAAAAAAAAZCQAAZwAAAAIAAAAAAAAAACQFAAAABk5VTUJFUgcCAAAABkRPWkVSMwIAAAADTkRGBAAAAAVjbWJDTAkAASwAAAACAgAAAAFfAwMJAABnAAAAAgAAAAAAAAAAAAUAAAAGTlVNQkVSBgkAAGYAAAACBQAAAAZOVU1CRVIAAAAAAAAAACQCAAAAA05ERgMJAAAAAAAAAgkAAGoAAAACBQAAAAZOVU1CRVIAAAAAAAAAAAMAAAAAAAAAAAECAAAAB0NPTFVNTjEDCQAAAAAAAAIJAABqAAAAAgUAAAAGTlVNQkVSAAAAAAAAAAADAAAAAAAAAAACAgAAAAdDT0xVTU4yAgAAAAdDT0xVTU4zBAAAAAZTVEFUVVMEAAAAByRtYXRjaDMJAQAAAAxiZXRHZXRTdGF0dXMAAAABBQAAAAVpZEJldAMJAAABAAAAAgUAAAAHJG1hdGNoMwIAAAAGU3RyaW5nBAAAAAR0ZW1wBQAAAAckbWF0Y2gzBQAAAAR0ZW1wCQAAAgAAAAECAAAAFEJFVF9TVEFUVVNfTk9UX0ZPVU5EBAAAAARJTkZPBAAAAAckbWF0Y2gzCQEAAAAKYmV0R2V0SW5mbwAAAAEFAAAABWlkQmV0AwkAAAEAAAACBQAAAAckbWF0Y2gzAgAAAAZTdHJpbmcEAAAABHRlbXAFAAAAByRtYXRjaDMFAAAABHRlbXAJAAACAAAAAQIAAAASQkVUX0lORk9fTk9UX0ZPVU5EBAAAAAVJTkZPUwkABLUAAAACBQAAAARJTkZPAgAAAAJ8fAQAAAANQUREUkVTU1NUUklORwkAAZEAAAACBQAAAAVJTkZPUwAAAAAAAAAAAAQAAAAHQUREUkVTUwkBAAAABXZhbHVlAAAAAQkBAAAAEWFkZHJlc3NGcm9tU3RyaW5nAAAAAQUAAAANQUREUkVTU1NUUklORwQAAAADQ01CCQABkQAAAAIFAAAABUlORk9TAAAAAAAAAAABBAAAAAZBTU9VTlQJAQAAAAV2YWx1ZQAAAAEJAAS2AAAAAQkAAZEAAAACBQAAAAVJTkZPUwAAAAAAAAAAAgQAAAADV0lOCQEAAAAFdmFsdWUAAAABCQAEtgAAAAEJAAGRAAAAAgUAAAAFSU5GT1MAAAAAAAAAAAMEAAAACkFERFJFU1NXT04EAAAAByRtYXRjaDMJAQAAAA1hZGRyZXNzR2V0V29uAAAAAQUAAAANQUREUkVTU1NUUklORwMJAAABAAAAAgUAAAAHJG1hdGNoMwIAAAADSW50BAAAAAR0ZW1wBQAAAAckbWF0Y2gzBQAAAAR0ZW1wAAAAAAAAAAAABAAAAApBRERSRVNTSElUBAAAAAckbWF0Y2gzCQEAAAANYWRkcmVzc0dldEhpdAAAAAEFAAAADUFERFJFU1NTVFJJTkcDCQAAAQAAAAIFAAAAByRtYXRjaDMCAAAAA0ludAQAAAAEdGVtcAUAAAAHJG1hdGNoMwUAAAAEdGVtcAAAAAAAAAAAAAQAAAAKREFUQVBBU1NFRAkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nYW1lTGFiZWxQYXNzZWQAAAABBQAAAAxHQU1FU0NPVU5URVIJAABkAAAAAgkBAAAABXZhbHVlAAAAAQkBAAAADWdhbWVHZXRQYXNzZWQAAAABBQAAAAxHQU1FU0NPVU5URVIAAAAAAAAAAAEDAwMDAwkAAAAAAAACBQAAAAZTVEFUVVMCAAAABkFDQ0VQVAkBAAAAAiE9AAAAAgUAAAADQ01CAgAAAAAHCQAAZgAAAAIFAAAAA1dJTgAAAAAAAAAAAAcJAABmAAAAAgUAAAAGQU1PVU5UAAAAAAAAAAAABwkBAAAACWlzRGVmaW5lZAAAAAEFAAAAB0FERFJFU1MHBAAAAAVjbWJJTgQAAAAHJG1hdGNoMwkABLMAAAACCQABLAAAAAIJAAEsAAAAAgIAAAABfAUAAAADQ01CAgAAAAF8BQAAAAxudW1iZXJTdHJpbmcDCQAAAQAAAAIFAAAAByRtYXRjaDMCAAAAA0ludAQAAAAEdGVtcAUAAAAHJG1hdGNoMwkAAGYAAAACBQAAAAR0ZW1wAAAAAAAAAAAABwMDAwMDAwUAAAAFY21iSU4GCQAAAAAAAAIFAAAAA0NNQgUAAAAFY21iUkIGCQAAAAAAAAIFAAAAA0NNQgUAAAAFY21iRU8GCQAAAAAAAAIFAAAAA0NNQgUAAAAFY21iTEgGCQAAAAAAAAIFAAAAA0NNQgUAAAAFY21iRFoGCQAAAAAAAAIFAAAAA0NNQgUAAAAFY21iQ0wJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIFAAAACkRBVEFQQVNTRUQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA5iZXRMYWJlbFN0YXR1cwAAAAEFAAAABWlkQmV0AgAAAANXT04JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9hZGRyZXNzTGFiZWxXb24AAAABBQAAAA1BRERSRVNTU1RSSU5HCQAAZAAAAAIJAABkAAAAAgUAAAAKQUREUkVTU1dPTgUAAAADV0lOBQAAAAZBTU9VTlQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9hZGRyZXNzTGFiZWxIaXQAAAABBQAAAA1BRERSRVNTU1RSSU5HCQAAZAAAAAIFAAAACkFERFJFU1NISVQAAAAAAAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAGGdhbWVzTGFiZWxUb3RhbEFtb3VudFdpbgkAAGQAAAACCQAAZAAAAAIJAQAAAAV2YWx1ZQAAAAEJAQAAABZnYW1lc0dldFRvdGFsQW1vdW50V2luAAAAAAUAAAADV0lOBQAAAAZBTU9VTlQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAdBRERSRVNTCQAAZAAAAAIFAAAAA1dJTgUAAAAGQU1PVU5UBQAAAAR1bml0BQAAAANuaWwJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgUAAAAKREFUQVBBU1NFRAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAADmJldExhYmVsU3RhdHVzAAAAAQUAAAAFaWRCZXQCAAAABExPU1QFAAAAA25pbAkAAAIAAAABAgAAABZHRVRfV0lOX0FMUkVBRFlfQ0FMTEVECQAAAgAAAAECAAAADkdBTUVfTk9UX0ZPVU5ECQAAAgAAAAECAAAADkdBTUVfTk9UX0ZPVU5ECQAAAgAAAAECAAAAC0lOSVRfTkVFREVEAAAAAWkBAAAABmFkZENtYgAAAAIAAAADY21iAAAAA3ZhbAMJAQAAAA9jaGVja1Blcm1pc3Npb24AAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAQYWRkQ21iX0ZPUkJCSURFTgQAAAAHJG1hdGNoMAkBAAAAD2dhbWVzR2V0Q291bnRlcgAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAMR0FNRVNDT1VOVEVSBQAAAAckbWF0Y2gwAwkBAAAAAiE9AAAAAgUAAAAMR0FNRVNDT1VOVEVSAAAAAAAAAAAACQAAAgAAAAECAAAAEUlOSVRfQUxSRUFEWV9ET05FAwMDAwMDAwkAAAAAAAACBQAAAAN2YWwAAAAAAAAAAAEGCQAAAAAAAAIFAAAAA3ZhbAAAAAAAAAAAAgYJAAAAAAAAAgUAAAADdmFsAAAAAAAAAAAFBgkAAAAAAAACBQAAAAN2YWwAAAAAAAAAAAgGCQAAAAAAAAIFAAAAA3ZhbAAAAAAAAAAACwYJAAAAAAAAAgUAAAADdmFsAAAAAAAAAAARBgkAAAAAAAACBQAAAAN2YWwAAAAAAAAAACMJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAABQwUAAAADY21iBQAAAAN2YWwFAAAAA25pbAkAAAIAAAABAgAAABBBTU9VTlRfTk9UX0ZPVU5ECQAAAgAAAAECAAAAC0lOSVRfTkVFREVEAAAAAWkBAAAACGluaXRHYW1lAAAAAAMJAQAAAA9jaGVja1Blcm1pc3Npb24AAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAASaW5pdEdhbWVfRk9SQkJJREVOBAAAAAckbWF0Y2gwCQEAAAAPZ2FtZXNHZXRDb3VudGVyAAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAxHQU1FU0NPVU5URVIFAAAAByRtYXRjaDAJAAACAAAAAQIAAAARSU5JVF9BTFJFQURZX0RPTkUJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAEWdhbWVzTGFiZWxDb3VudGVyAAAAAAAAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABVnYW1lc0xhYmVsQmV0c0NvdW50ZXIAAAAAAAAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAFmdhbWVzTGFiZWxCZXRzRmVlTW92ZWQAAAAAAAAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAGGdhbWVzTGFiZWxUb3RhbEFtb3VudFdpbgAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAYZ2FtZXNMYWJlbFRvdGFsQW1vdW50QmV0AAAAAAAAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABlnYW1lc0xhYmVsVG90YWxBZGRyZXNzQmV0AAAAAAAAAAAABQAAAANuaWwAAAABaQEAAAAHbmV3R2FtZQAAAAADCQEAAAAPY2hlY2tQZXJtaXNzaW9uAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAEW5ld0dhbWVfRk9SQkJJREVOBAAAAAckbWF0Y2gwCQEAAAAPZ2FtZXNHZXRDb3VudGVyAAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAxHQU1FU0NPVU5URVIFAAAAByRtYXRjaDAEAAAADm5ld0dhbWVDb3VudGVyCQAAZAAAAAIFAAAADEdBTUVTQ09VTlRFUgAAAAAAAAAAAQQAAAALQkVUU0NPVU5URVIJAQAAAAV2YWx1ZQAAAAEJAQAAABNnYW1lc0dldEJldHNDb3VudGVyAAAAAAQAAAAJQkVUU01PVkVECQEAAAAFdmFsdWUAAAABCQEAAAAUZ2FtZXNHZXRCZXRzRmVlTW92ZWQAAAAABAAAAAdnYW1lTWF4CQAAZQAAAAIJAQAAAAx3YXZlc0JhbGFuY2UAAAABBQAAAAR0aGlzCQAAaAAAAAIJAABlAAAAAgUAAAALQkVUU0NPVU5URVIFAAAACUJFVFNNT1ZFRAUAAAADZmVlBAAAAAtoYWxmR2FtZU1heAMJAAAAAAAAAgkAAGoAAAACBQAAAAdnYW1lTWF4AAAAAAAAAAACAAAAAAAAAAABCQAAaQAAAAIJAABlAAAAAgUAAAAHZ2FtZU1heAAAAAAAAAAAAQAAAAAAAAAAAgkAAGkAAAACBQAAAAdnYW1lTWF4AAAAAAAAAAACBAAAAAhzZW5kRGF0YQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAARZ2FtZXNMYWJlbENvdW50ZXIFAAAADm5ld0dhbWVDb3VudGVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAPZ2FtZUxhYmVsU3RhdHVzAAAAAQUAAAAObmV3R2FtZUNvdW50ZXICAAAABFBMQVkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAAxnYW1lTGFiZWxNYXgAAAABBQAAAA5uZXdHYW1lQ291bnRlcgUAAAALaGFsZkdhbWVNYXgJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA1nYW1lTGFiZWxCZXRzAAAAAQUAAAAObmV3R2FtZUNvdW50ZXIAAAAAAAAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nYW1lTGFiZWxQYXNzZWQAAAABBQAAAA5uZXdHYW1lQ291bnRlcgAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAD2dhbWVMYWJlbEhlaWdodAAAAAEFAAAADm5ld0dhbWVDb3VudGVyAAAAAAAAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAPZ2FtZUxhYmVsU3VtU2hhAAAAAQUAAAAObmV3R2FtZUNvdW50ZXIJAAJYAAAAAQkAAfcAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBQAAAANuaWwDCQAAZgAAAAIFAAAACE9ORVdBVkVTBQAAAAtoYWxmR2FtZU1heAkAAAIAAAABAgAAAA5CQUxBTkNFX0lTX0xPVwMJAAAAAAAAAgUAAAAMR0FNRVNDT1VOVEVSAAAAAAAAAAAABQAAAAhzZW5kRGF0YQQAAAAKQ1VSUlNUQVRVUwkBAAAABXZhbHVlAAAAAQkBAAAADWdhbWVHZXRTdGF0dXMAAAABBQAAAAxHQU1FU0NPVU5URVIDCQEAAAACIT0AAAACBQAAAApDVVJSU1RBVFVTAgAAAARTSE9XCQAAAgAAAAECAAAAF0NVUlJfU1RBVFVTX0lTX05PVF9TSE9XBAAAAARCRVRTCQEAAAAFdmFsdWUAAAABCQEAAAALZ2FtZUdldEJldHMAAAABBQAAAAxHQU1FU0NPVU5URVIEAAAABlBBU1NFRAkBAAAABXZhbHVlAAAAAQkBAAAADWdhbWVHZXRQYXNzZWQAAAABBQAAAAxHQU1FU0NPVU5URVIDCQEAAAACIT0AAAACBQAAAARCRVRTBQAAAAZQQVNTRUQJAAACAAAAAQIAAAAPV0FJVF9BTExfUEFTU0VEBQAAAAhzZW5kRGF0YQkAAAIAAAABAgAAAAtJTklUX05FRURFRAAAAAFpAQAAAAhzaG93R2FtZQAAAAEAAAAHcnNhU2lnbgMJAQAAAA9jaGVja1Blcm1pc3Npb24AAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAASc2hvd0dhbWVfRk9SQkJJREVOBAAAAAckbWF0Y2gwCQEAAAAPZ2FtZXNHZXRDb3VudGVyAAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAxHQU1FU0NPVU5URVIFAAAAByRtYXRjaDAEAAAAByRtYXRjaDEJAQAAAA1nYW1lR2V0U3VtU2hhAAAAAQUAAAAMR0FNRVNDT1VOVEVSAwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAAAZTdHJpbmcEAAAABlNVTVNIQQUAAAAHJG1hdGNoMQQAAAALcnNhU2lnVmFsaWQJAAH4AAAABAUAAAAGU0hBMjU2CQACWQAAAAEFAAAABlNVTVNIQQUAAAAHcnNhU2lnbgUAAAAJUlNBUFVCTElDAwkBAAAAASEAAAABBQAAAAtyc2FTaWdWYWxpZAkAAAIAAAABAgAAABBJTlZBTElEX1JTQV9TSUdOBAAAAAVpbmRleAkAAGoAAAACCQAEsQAAAAEJAAH3AAAAAQUAAAAHcnNhU2lnbgAAAAAAAAAAJQQAAAAMbnVtYmVyU3RyaW5nCQABkQAAAAIFAAAABXdoZWVsBQAAAAVpbmRleAQAAAAGbnVtYmVyCQEAAAAFdmFsdWUAAAABCQAEtgAAAAEFAAAADG51bWJlclN0cmluZwQAAAALbnVtYmVyQ291bnQEAAAAByRtYXRjaDIJAQAAAA5udW1iZXJHZXRDb3VudAAAAAEFAAAADG51bWJlclN0cmluZwMJAAABAAAAAgUAAAAHJG1hdGNoMgIAAAADSW50BAAAAAR0ZW1wBQAAAAckbWF0Y2gyBQAAAAR0ZW1wAAAAAAAAAAAABAAAAApDVVJSU1RBVFVTCQEAAAAFdmFsdWUAAAABCQEAAAANZ2FtZUdldFN0YXR1cwAAAAEFAAAADEdBTUVTQ09VTlRFUgMJAQAAAAIhPQAAAAIFAAAACkNVUlJTVEFUVVMCAAAABFBMQVkJAAACAAAAAQIAAAAXQ1VSUl9TVEFUVVNfSVNfTk9UX1BMQVkEAAAACkdBTUVIRUlHSFQJAQAAAAV2YWx1ZQAAAAEJAQAAAA1nYW1lR2V0SGVpZ2h0AAAAAQUAAAAMR0FNRVNDT1VOVEVSAwMJAAAAAAAAAgUAAAAKR0FNRUhFSUdIVAAAAAAAAAAAAAYJAABnAAAAAgkAAGQAAAACBQAAAApHQU1FSEVJR0hUBQAAAA5wZXJpb2RHYW1lUGxheQUAAAAGaGVpZ2h0CQAAAgAAAAECAAAAD0dBTUVfSVNfTk9UX0VORAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAD2dhbWVMYWJlbFN0YXR1cwAAAAEFAAAADEdBTUVTQ09VTlRFUgIAAAAEU0hPVwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAD2dhbWVMYWJlbE51bWJlcgAAAAEFAAAADEdBTUVTQ09VTlRFUgUAAAAGbnVtYmVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAQbnVtYmVyTGFiZWxDb3VudAAAAAEFAAAADG51bWJlclN0cmluZwkAAGQAAAACBQAAAAtudW1iZXJDb3VudAAAAAAAAAAAAQUAAAADbmlsCQAAAgAAAAECAAAADkdBTUVfTk9UX0ZPVU5ECQAAAgAAAAECAAAAC0lOSVRfTkVFREVEAAAAAWkBAAAADmFtb3VudFRvV2FsbGV0AAAAAQAAAAZhbW91bnQDCQEAAAAPY2hlY2tQZXJtaXNzaW9uAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAGGFtb3VudFRvV2FsbGV0X0ZPUkJCSURFTgQAAAAHJG1hdGNoMAkBAAAAD2dhbWVzR2V0Q291bnRlcgAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAMR0FNRVNDT1VOVEVSBQAAAAckbWF0Y2gwAwkAAAAAAAACBQAAAAxHQU1FU0NPVU5URVIAAAAAAAAAAAAJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAPc2VydmVyUHVibGljS2V5BQAAAAZhbW91bnQFAAAABHVuaXQFAAAAA25pbAQAAAAKQ1VSUlNUQVRVUwkBAAAABXZhbHVlAAAAAQkBAAAADWdhbWVHZXRTdGF0dXMAAAABBQAAAAxHQU1FU0NPVU5URVIDCQEAAAACIT0AAAACBQAAAApDVVJSU1RBVFVTAgAAAARTSE9XCQAAAgAAAAECAAAAF0NVUlJfU1RBVFVTX0lTX05PVF9TSE9XBAAAAARCRVRTCQEAAAAFdmFsdWUAAAABCQEAAAALZ2FtZUdldEJldHMAAAABBQAAAAxHQU1FU0NPVU5URVIEAAAABlBBU1NFRAkBAAAABXZhbHVlAAAAAQkBAAAADWdhbWVHZXRQYXNzZWQAAAABBQAAAAxHQU1FU0NPVU5URVIDCQEAAAACIT0AAAACBQAAAARCRVRTBQAAAAZQQVNTRUQJAAACAAAAAQIAAAAPV0FJVF9BTExfUEFTU0VECQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAD3dhbGxldFB1YmxpY0tleQUAAAAGYW1vdW50BQAAAAR1bml0BQAAAANuaWwJAAACAAAAAQIAAAALSU5JVF9ORUVERUQAAAABaQEAAAAPYmV0c0ZlZVRvU2VydmVyAAAAAAMJAQAAAA9jaGVja1Blcm1pc3Npb24AAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAZYmV0c0ZlZVRvU2VydmVyX0ZPUkJCSURFTgQAAAAHJG1hdGNoMAkBAAAAD2dhbWVzR2V0Q291bnRlcgAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAMR0FNRVNDT1VOVEVSBQAAAAckbWF0Y2gwAwkAAAAAAAACBQAAAAxHQU1FU0NPVU5URVIAAAAAAAAAAAAJAAACAAAAAQIAAAALTk9fQkVUU19GRUUEAAAACkNVUlJTVEFUVVMJAQAAAAV2YWx1ZQAAAAEJAQAAAA1nYW1lR2V0U3RhdHVzAAAAAQUAAAAMR0FNRVNDT1VOVEVSAwkBAAAAAiE9AAAAAgUAAAAKQ1VSUlNUQVRVUwIAAAAEU0hPVwkAAAIAAAABAgAAABdDVVJSX1NUQVRVU19JU19OT1RfU0hPVwQAAAAEQkVUUwkBAAAABXZhbHVlAAAAAQkBAAAAC2dhbWVHZXRCZXRzAAAAAQUAAAAMR0FNRVNDT1VOVEVSBAAAAAZQQVNTRUQJAQAAAAV2YWx1ZQAAAAEJAQAAAA1nYW1lR2V0UGFzc2VkAAAAAQUAAAAMR0FNRVNDT1VOVEVSAwkBAAAAAiE9AAAAAgUAAAAEQkVUUwUAAAAGUEFTU0VECQAAAgAAAAECAAAAD1dBSVRfQUxMX1BBU1NFRAQAAAALQkVUU0NPVU5URVIJAQAAAAV2YWx1ZQAAAAEJAQAAABNnYW1lc0dldEJldHNDb3VudGVyAAAAAAQAAAAJQkVUU01PVkVECQEAAAAFdmFsdWUAAAABCQEAAAAUZ2FtZXNHZXRCZXRzRmVlTW92ZWQAAAAACQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAWZ2FtZXNMYWJlbEJldHNGZWVNb3ZlZAUAAAALQkVUU0NPVU5URVIFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAA9zZXJ2ZXJQdWJsaWNLZXkJAABoAAAAAgkAAGUAAAACBQAAAAtCRVRTQ09VTlRFUgUAAAAJQkVUU01PVkVEBQAAAANmZWUFAAAABHVuaXQFAAAAA25pbAkAAAIAAAABAgAAAAtJTklUX05FRURFRAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAADCQAAAAAAAAIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkIBQAAAAJ0eAAAAAZzZW5kZXIJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5B/QxygM=", "chainId": 84, "height": 557341, "spentComplexity": 0 } View: original | compacted Prev: D6FM4XxApc6hmhfnEJKPCeYkRSrpSRYJynBSJ1R83RGs Next: BBE5YBpt4k3iJa85swbJejghwLnZacRPeYgMzhzEJ6cc Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = base58'BZTqgdB7p2YguZGnmQ8hJheuVF6zErGrr9S9ekEDxgzY'
4+let a = "Copyright (c) 2019 MaDaMa Labs"
55
6-let b = base58'AbDyruBD8QqodWvMWRxAx8FhwRuf4cMFZu6SA1G4YwWU'
6+let b = "@daidalos - twitter.com/tw_daidalos"
77
8-let c = 500000
8+let c = "MIT License"
99
10-let d = 100000000
10+let d = "tldrlegal.com/license/mit-license , opensource.org/licenses/MIT"
1111
12-let e = 2
12+let e = base58'BZTqgdB7p2YguZGnmQ8hJheuVF6zErGrr9S9ekEDxgzY'
1313
14-let f = ["5", "24", "16", "33", "1", "20", "14", "31", "9", "22", "18", "29", "7", "28", "12", "35", "3", "26", "0", "32", "15", "19", "4", "21", "2", "25", "17", "34", "6", "27", "13", "36", "11", "30", "8", "23", "10"]
14+let f = base58'AbDyruBD8QqodWvMWRxAx8FhwRuf4cMFZu6SA1G4YwWU'
1515
16-let g = fromBase64String("base64:MIIBJTANBgkqhkiG9w0BAQEFAAOCARIAMIIBDQKCAQEAtObfiwWyBFpSNJZmkxlwHy5vT+Jb+Vv6f7LlhKE9wNcC0Qp0rdyMwxLpdwfuLsKbRdBEbDhpb3dz1JPJiatlhKVKUsoQ25UQu9hv2oXyyEzJx86CGQq5HOr3YGGSdJR0LKq1PhbYrNmuS6jPDYobxssXyc/txsipSGwzMgVHcqt9OSiGQySZ8/9mtv42EefzFE95wuuy42KJKG7h0DTMfFSLTpqhS/Mbp8EKPuVb1huWsMKVL9QtOPYEXa9QPZa2WBPX5Y9BI1McRQ/Wf8WwqQtARpBfSVpkKPS1Amht2fEOxSSYRqG6IUsfK8xO9hxt+3+/Op/+IFJTGcGF8BrzWQIGCPw9/u27")
16+let g = 500000
1717
18-let h = "X_GAMESCOUNTER"
18+let h = 100000000
1919
20-let i = "X_BETSCOUNTER"
20+let i = 2
2121
22-let j = "X_BETSFEEMOVED"
22+let j = ["5", "24", "16", "33", "1", "20", "14", "31", "9", "22", "18", "29", "7", "28", "12", "35", "3", "26", "0", "32", "15", "19", "4", "21", "2", "25", "17", "34", "6", "27", "13", "36", "11", "30", "8", "23", "10"]
2323
24-let k = "X_TOTALAMOUNTWIN"
24+let k = fromBase64String("base64:MIIBJTANBgkqhkiG9w0BAQEFAAOCARIAMIIBDQKCAQEAtObfiwWyBFpSNJZmkxlwHy5vT+Jb+Vv6f7LlhKE9wNcC0Qp0rdyMwxLpdwfuLsKbRdBEbDhpb3dz1JPJiatlhKVKUsoQ25UQu9hv2oXyyEzJx86CGQq5HOr3YGGSdJR0LKq1PhbYrNmuS6jPDYobxssXyc/txsipSGwzMgVHcqt9OSiGQySZ8/9mtv42EefzFE95wuuy42KJKG7h0DTMfFSLTpqhS/Mbp8EKPuVb1huWsMKVL9QtOPYEXa9QPZa2WBPX5Y9BI1McRQ/Wf8WwqQtARpBfSVpkKPS1Amht2fEOxSSYRqG6IUsfK8xO9hxt+3+/Op/+IFJTGcGF8BrzWQIGCPw9/u27")
2525
26-let l = "X_TOTALAMOUNTBET"
26+let l = "X_GAMESCOUNTER"
2727
28-let m = "X_TOTALADDRESSBET"
28+let m = "X_BETSCOUNTER"
2929
30-func n () = getInteger(this, h)
30+let n = "X_BETSFEEMOVED"
3131
32+let o = "X_TOTALAMOUNTWIN"
3233
33-func o () = getInteger(this, i)
34+let p = "X_TOTALAMOUNTBET"
3435
35-
36-func p () = getInteger(this, j)
37-
38-
39-func q () = getInteger(this, k)
40-
36+let q = "X_TOTALADDRESSBET"
4137
4238 func r () = getInteger(this, l)
4339
4541 func s () = getInteger(this, m)
4642
4743
48-func t (u) = ("N_" + u)
44+func t () = getInteger(this, n)
4945
5046
51-func v (u) = getInteger(this, t(u))
47+func u () = getInteger(this, o)
5248
5349
54-func w (x) = (("G_" + toString(x)) + "_STATUS")
50+func v () = getInteger(this, p)
5551
5652
57-func y (x) = (("G_" + toString(x)) + "_NUMBER")
53+func w () = getInteger(this, q)
5854
5955
60-func z (x) = (("G_" + toString(x)) + "_MAX")
56+func x (y) = ("N_" + y)
6157
6258
63-func A (x) = (("G_" + toString(x)) + "_BETS")
59+func z (y) = getInteger(this, x(y))
6460
6561
66-func B (x) = (("G_" + toString(x)) + "_PASSED")
62+func A (B) = (("G_" + toString(B)) + "_STATUS")
6763
6864
69-func C (x) = (("G_" + toString(x)) + "_HEIGHT")
65+func C (B) = (("G_" + toString(B)) + "_NUMBER")
7066
7167
72-func D (x) = (("G_" + toString(x)) + "_SUMSHA")
68+func D (B) = (("G_" + toString(B)) + "_MAX")
7369
7470
75-func E (x,F) = ((("G_" + toString(x)) + "_C") + F)
71+func E (B) = (("G_" + toString(B)) + "_BETS")
7672
7773
78-func G (x) = getString(this, w(x))
74+func F (B) = (("G_" + toString(B)) + "_PASSED")
7975
8076
81-func H (x) = getInteger(this, y(x))
77+func G (B) = (("G_" + toString(B)) + "_HEIGHT")
8278
8379
84-func I (x) = getInteger(this, z(x))
80+func H (B) = (("G_" + toString(B)) + "_SUMSHA")
8581
8682
87-func J (x) = getInteger(this, A(x))
83+func I (B,J) = ((("G_" + toString(B)) + "_C") + J)
8884
8985
90-func K (x) = getInteger(this, B(x))
86+func K (B) = getString(this, A(B))
9187
9288
93-func L (x) = getInteger(this, C(x))
89+func L (B) = getInteger(this, C(B))
9490
9591
96-func M (x) = getString(this, D(x))
92+func M (B) = getInteger(this, D(B))
9793
9894
99-func N (x,F) = getInteger(this, E(x, F))
95+func N (B) = getInteger(this, E(B))
10096
10197
102-func O (P) = (("B_" + P) + "_STATUS")
98+func O (B) = getInteger(this, F(B))
10399
104100
105-func Q (P) = (("B_" + P) + "_INFO")
101+func P (B) = getInteger(this, G(B))
106102
107103
108-func R (P) = getString(this, O(P))
104+func Q (B) = getString(this, H(B))
109105
110106
111-func S (P) = getString(this, Q(P))
107+func R (B,J) = getInteger(this, I(B, J))
112108
113109
114-func T (U) = (("A_" + U) + "_WON")
110+func S (T) = (("B_" + T) + "_STATUS")
115111
116112
117-func V (U) = (("A_" + U) + "_AMOUNT")
113+func U (T) = (("B_" + T) + "_INFO")
118114
119115
120-func W (U) = (("A_" + U) + "_BETS")
116+func V (T) = getString(this, S(T))
121117
122118
123-func X (U) = (("A_" + U) + "_HIT")
119+func W (T) = getString(this, U(T))
124120
125121
126-func Y (U) = getInteger(this, T(U))
122+func X (Y) = (("A_" + Y) + "_WON")
127123
128124
129-func Z (U) = getInteger(this, V(U))
125+func Z (Y) = (("A_" + Y) + "_AMOUNT")
130126
131127
132-func aa (U) = getInteger(this, W(U))
128+func aa (Y) = (("A_" + Y) + "_BETS")
133129
134130
135-func ab (U) = getInteger(this, X(U))
131+func ab (Y) = (("A_" + Y) + "_HIT")
136132
137133
138-func ac (ad) = ("P_" + ad)
134+func ac (Y) = getInteger(this, X(Y))
139135
140136
141-func ae (af) = (af != a)
137+func ad (Y) = getInteger(this, Z(Y))
142138
143139
144-func ag (ah) = {
145- let ai = n()
146- if ($isInstanceOf(ai, "Int"))
140+func ae (Y) = getInteger(this, aa(Y))
141+
142+
143+func af (Y) = getInteger(this, ab(Y))
144+
145+
146+func ag (ah) = ("P_" + ah)
147+
148+
149+func ai (aj) = (aj != e)
150+
151+
152+func ak (al) = {
153+ let am = r()
154+ if ($isInstanceOf(am, "Int"))
147155 then {
148- let x = ai
149- let aj = I(x)
150- if ($isInstanceOf(aj, "Int"))
156+ let B = am
157+ let an = M(B)
158+ if ($isInstanceOf(an, "Int"))
151159 then {
152- let ak = aj
153- let al = (ak - ah)
154- if ((0 > al))
160+ let ao = an
161+ let ap = (ao - al)
162+ if ((0 > ap))
155163 then throw("BET_IS_BLOCK")
156- else al
164+ else ap
157165 }
158166 else throw("GAME_NOT_FOUND")
159167 }
161169 }
162170
163171
164-func am (an) = {
165- let ai = n()
166- if ($isInstanceOf(ai, "Int"))
172+func aq (ar) = {
173+ let am = r()
174+ if ($isInstanceOf(am, "Int"))
167175 then {
168- let x = ai
169- let aj = M(x)
170- if ($isInstanceOf(aj, "String"))
176+ let B = am
177+ let an = Q(B)
178+ if ($isInstanceOf(an, "String"))
171179 then {
172- let ao = aj
173- toBase58String(sha256((fromBase58String(ao) + an)))
180+ let as = an
181+ toBase58String(sha256((fromBase58String(as) + ar)))
174182 }
175183 else throw("GAME_NOT_FOUND")
176184 }
178186 }
179187
180188
181-func ap (P) = {
182- let ai = S(P)
183- if ($isInstanceOf(ai, "String"))
189+func at (T) = {
190+ let am = W(T)
191+ if ($isInstanceOf(am, "String"))
184192 then {
185- let al = ai
193+ let ap = am
186194 throw("PLAYER_ALREADY_DEFINED")
187195 }
188196 else 1
189197 }
190198
191199
192-func aq (ar) = if (if (if (if (if (if ((ar == 10000000))
200+func au (av) = if (if (if (if (if (if ((av == 10000000))
193201 then true
194- else (ar == 20000000))
202+ else (av == 20000000))
195203 then true
196- else (ar == 50000000))
204+ else (av == 50000000))
197205 then true
198- else (ar == 100000000))
206+ else (av == 100000000))
199207 then true
200- else (ar == 200000000))
208+ else (av == 200000000))
201209 then true
202- else (ar == 500000000))
210+ else (av == 500000000))
203211 then 1
204212 else throw("BET_NOT_FOUND")
205213
206214
207-func as (at) = {
208- let ai = getInteger(this, ("C" + at))
209- if ($isInstanceOf(ai, "Int"))
215+func aw (ax) = {
216+ let am = getInteger(this, ("C" + ax))
217+ if ($isInstanceOf(am, "Int"))
210218 then {
211- let al = ai
212- al
219+ let ap = am
220+ ap
213221 }
214222 else throw("CMB_NOT_FOUND")
215223 }
216224
217225
218-func au (av,at,ah) = {
219- let ai = N(av, at)
220- if ($isInstanceOf(ai, "Int"))
226+func ay (az,ax,al) = {
227+ let am = R(az, ax)
228+ if ($isInstanceOf(am, "Int"))
221229 then {
222- let al = ai
223- if (((al + ah) > 20000000000))
230+ let ap = am
231+ if (((ap + al) > 20000000000))
224232 then throw("CMB_MAX_WIN")
225233 else 1
226234 }
228236 }
229237
230238
231-@Callable(aw)
232-func bet (ad,at) = {
233- let ai = n()
234- if ($isInstanceOf(ai, "Int"))
239+@Callable(aA)
240+func bet (ah,ax) = {
241+ let am = r()
242+ if ($isInstanceOf(am, "Int"))
235243 then {
236- let x = ai
237- if ((ad != x))
244+ let B = am
245+ if ((ah != B))
238246 then throw("GAME_ID_WRONG")
239247 else {
240- let aj = G(x)
241- if ($isInstanceOf(aj, "String"))
248+ let an = K(B)
249+ if ($isInstanceOf(an, "String"))
242250 then {
243- let ax = aj
244- if ((ax != "PLAY"))
251+ let aB = an
252+ if ((aB != "PLAY"))
245253 then throw("CURR_STATUS_IS_NOT_PLAY")
246254 else {
247- let ay = L(x)
248- if ($isInstanceOf(ay, "Int"))
255+ let aC = P(B)
256+ if ($isInstanceOf(aC, "Int"))
249257 then {
250- let az = ay
251- if (if ((az != 0))
252- then (height > (az + e))
258+ let aD = aC
259+ if (if ((aD != 0))
260+ then (height > (aD + i))
253261 else false)
254262 then throw("GAME_IS_END")
255263 else {
256- let aA = J(x)
257- if ($isInstanceOf(aA, "Int"))
264+ let aE = N(B)
265+ if ($isInstanceOf(aE, "Int"))
258266 then {
259- let aB = aA
260- let P = ((toString(x) + "_") + toString((aB + 1)))
261- let aC = value(aw.payment)
262- let aD = aC.assetId
263- if ($isInstanceOf(aD, "ByteVector"))
267+ let aF = aE
268+ let T = ((toString(B) + "_") + toString((aF + 1)))
269+ let aG = value(aA.payment)
270+ let aH = aG.assetId
271+ if ($isInstanceOf(aH, "ByteVector"))
264272 then {
265- let aE = aD
273+ let aI = aH
266274 throw("ONLY_WAVES_ACCEPTED")
267275 }
268276 else {
269- let aF = (aC.amount - c)
270- let ah = (((ap(P) * aq(aF)) * as(at)) * aF)
271- let aG = (ah * au(x, at, ah))
272- let aH = toBase58String(aw.caller.bytes)
273- let aI = ((((((aH + "||") + at) + "||") + toString(aF)) + "||") + toString(aG))
274- let aJ = {
275- let aK = Z(aH)
276- if ($isInstanceOf(aK, "Int"))
277+ let aJ = (aG.amount - g)
278+ let al = (((at(T) * au(aJ)) * aw(ax)) * aJ)
279+ let aK = (al * ay(B, ax, al))
280+ let aL = toBase58String(aA.caller.bytes)
281+ let aM = ((((((aL + "||") + ax) + "||") + toString(aJ)) + "||") + toString(aK))
282+ let aN = {
283+ let aO = ad(aL)
284+ if ($isInstanceOf(aO, "Int"))
277285 then {
278- let al = aK
279- al
286+ let ap = aO
287+ ap
280288 }
281289 else 0
282290 }
283- let aL = {
284- let aK = aa(aH)
285- if ($isInstanceOf(aK, "Int"))
291+ let aP = {
292+ let aO = ae(aL)
293+ if ($isInstanceOf(aO, "Int"))
286294 then {
287- let al = aK
288- al
295+ let ap = aO
296+ ap
289297 }
290298 else 0
291299 }
292- let aM = {
293- let aK = N(x, at)
294- if ($isInstanceOf(aK, "Int"))
300+ let aQ = {
301+ let aO = R(B, ax)
302+ if ($isInstanceOf(aO, "Int"))
295303 then {
296- let al = aK
297- al
304+ let ap = aO
305+ ap
298306 }
299307 else 0
300308 }
301- let aN = [DataEntry(Q(P), aI), DataEntry(O(P), "ACCEPT"), DataEntry(A(x), (aB + 1)), DataEntry(C(x), if ((az == 0))
309+ let aR = [DataEntry(U(T), aM), DataEntry(S(T), "ACCEPT"), DataEntry(E(B), (aF + 1)), DataEntry(G(B), if ((aD == 0))
302310 then height
303- else az), DataEntry(z(x), ag(aG)), DataEntry(D(x), am(aw.transactionId)), DataEntry(E(x, at), (aM + aG)), DataEntry(V(aH), (aJ + aF)), DataEntry(W(aH), (aL + 1)), DataEntry(i, (value(o()) + 1)), DataEntry(l, (value(r()) + aF))]
304- let aO = (value(s()) + 1)
305- let aP = if ((aJ == 0))
306- then [DataEntry(ac(toString(aO)), aH), DataEntry(m, aO)] :: aN
307- else aN
308- WriteSet(aP)
311+ else aD), DataEntry(D(B), ak(aK)), DataEntry(H(B), aq(aA.transactionId)), DataEntry(I(B, ax), (aQ + aK)), DataEntry(Z(aL), (aN + aJ)), DataEntry(aa(aL), (aP + 1)), DataEntry(m, (value(s()) + 1)), DataEntry(p, (value(v()) + aJ))]
312+ let aS = (value(w()) + 1)
313+ let aT = if ((aN == 0))
314+ then [DataEntry(ag(toString(aS)), aL), DataEntry(q, aS)] :: aR
315+ else aR
316+ WriteSet(aT)
309317 }
310318 }
311319 else throw("GAME_NOT_FOUND")
322330
323331
324332
325-@Callable(aw)
326-func getWin (aQ) = if (ae(aw.callerPublicKey))
333+@Callable(aA)
334+func getWin (aU) = if (ai(aA.callerPublicKey))
327335 then throw("getWin_FORBBIDEN")
328336 else {
329- let ai = n()
330- if ($isInstanceOf(ai, "Int"))
337+ let am = r()
338+ if ($isInstanceOf(am, "Int"))
331339 then {
332- let x = ai
333- let aj = G(x)
334- if ($isInstanceOf(aj, "String"))
340+ let B = am
341+ let an = K(B)
342+ if ($isInstanceOf(an, "String"))
335343 then {
336- let ax = aj
337- if ((ax != "SHOW"))
344+ let aB = an
345+ if ((aB != "SHOW"))
338346 then throw("CURR_STATUS_IS_NOT_SHOW")
339347 else {
340- let ay = H(x)
341- if ($isInstanceOf(ay, "Int"))
348+ let aC = L(B)
349+ if ($isInstanceOf(aC, "Int"))
342350 then {
343- let aR = ay
344- let P = ((toString(x) + "_") + toString(aQ))
345- let aS = (("_" + toString(aR)) + "_")
346- let aT = "|_1_3_5_7_9_12_14_16_18_19_21_23_25_27_30_32_34_36_|"
347- let aU = "|_2_4_6_8_10_11_13_15_17_20_22_24_26_28_29_31_33_35_|"
348- let aV = {
349- let aA = indexOf(aT, aS)
350- if ($isInstanceOf(aA, "Int"))
351+ let aV = aC
352+ let T = ((toString(B) + "_") + toString(aU))
353+ let aW = (("_" + toString(aV)) + "_")
354+ let aX = "|_1_3_5_7_9_12_14_16_18_19_21_23_25_27_30_32_34_36_|"
355+ let aY = "|_2_4_6_8_10_11_13_15_17_20_22_24_26_28_29_31_33_35_|"
356+ let aZ = {
357+ let aE = indexOf(aX, aW)
358+ if ($isInstanceOf(aE, "Int"))
351359 then {
352- let al = aA
353- (al > 0)
360+ let ap = aE
361+ (ap > 0)
354362 }
355363 else false
356364 }
357- let aW = {
358- let aA = indexOf(aU, aS)
359- if ($isInstanceOf(aA, "Int"))
365+ let ba = {
366+ let aE = indexOf(aY, aW)
367+ if ($isInstanceOf(aE, "Int"))
360368 then {
361- let al = aA
362- (al > 0)
369+ let ap = aE
370+ (ap > 0)
363371 }
364372 else false
365373 }
366- let aX = ("_" + (if (aV)
374+ let bb = ("_" + (if (aZ)
367375 then "RED"
368- else if (aW)
376+ else if (ba)
369377 then "BLACK"
370378 else "NDF"))
371- let aY = ("_" + (if (if ((0 >= aR))
379+ let bc = ("_" + (if (if ((0 >= aV))
372380 then true
373- else (aR > 36))
381+ else (aV > 36))
374382 then "NDF"
375- else if (((aR % 2) == 0))
383+ else if (((aV % 2) == 0))
376384 then "EVEN"
377385 else "ODD"))
378- let aZ = ("_" + (if (if ((aR >= 1))
379- then (18 >= aR)
386+ let bd = ("_" + (if (if ((aV >= 1))
387+ then (18 >= aV)
380388 else false)
381389 then "LOW"
382- else if (if ((aR >= 19))
383- then (36 >= aR)
390+ else if (if ((aV >= 19))
391+ then (36 >= aV)
384392 else false)
385393 then "HIGH"
386394 else "NDF"))
387- let ba = ("_" + (if (if ((aR >= 1))
388- then (12 >= aR)
395+ let be = ("_" + (if (if ((aV >= 1))
396+ then (12 >= aV)
389397 else false)
390398 then "DOZER1"
391- else if (if ((aR >= 13))
392- then (24 >= aR)
399+ else if (if ((aV >= 13))
400+ then (24 >= aV)
393401 else false)
394402 then "DOZER2"
395- else if (if ((aR >= 25))
396- then (36 >= aR)
403+ else if (if ((aV >= 25))
404+ then (36 >= aV)
397405 else false)
398406 then "DOZER3"
399407 else "NDF"))
400- let bb = ("_" + (if (if ((0 >= aR))
408+ let bf = ("_" + (if (if ((0 >= aV))
401409 then true
402- else (aR > 36))
410+ else (aV > 36))
403411 then "NDF"
404- else if (((aR % 3) == 1))
412+ else if (((aV % 3) == 1))
405413 then "COLUMN1"
406- else if (((aR % 3) == 2))
414+ else if (((aV % 3) == 2))
407415 then "COLUMN2"
408416 else "COLUMN3"))
409- let bc = {
410- let aA = R(P)
411- if ($isInstanceOf(aA, "String"))
417+ let bg = {
418+ let aE = V(T)
419+ if ($isInstanceOf(aE, "String"))
412420 then {
413- let al = aA
414- al
421+ let ap = aE
422+ ap
415423 }
416424 else throw("BET_STATUS_NOT_FOUND")
417425 }
418- let bd = {
419- let aA = S(P)
420- if ($isInstanceOf(aA, "String"))
426+ let bh = {
427+ let aE = W(T)
428+ if ($isInstanceOf(aE, "String"))
421429 then {
422- let al = aA
423- al
430+ let ap = aE
431+ ap
424432 }
425433 else throw("BET_INFO_NOT_FOUND")
426434 }
427- let be = split(bd, "||")
428- let bf = be[0]
429- let bg = value(addressFromString(bf))
430- let F = be[1]
431- let bh = value(parseInt(be[2]))
432- let bi = value(parseInt(be[3]))
433- let bj = {
434- let aA = Y(bf)
435- if ($isInstanceOf(aA, "Int"))
435+ let bi = split(bh, "||")
436+ let bj = bi[0]
437+ let bk = value(addressFromString(bj))
438+ let J = bi[1]
439+ let bl = value(parseInt(bi[2]))
440+ let bm = value(parseInt(bi[3]))
441+ let bn = {
442+ let aE = ac(bj)
443+ if ($isInstanceOf(aE, "Int"))
436444 then {
437- let al = aA
438- al
445+ let ap = aE
446+ ap
439447 }
440448 else 0
441449 }
442- let bk = {
443- let aA = ab(bf)
444- if ($isInstanceOf(aA, "Int"))
450+ let bo = {
451+ let aE = af(bj)
452+ if ($isInstanceOf(aE, "Int"))
445453 then {
446- let al = aA
447- al
454+ let ap = aE
455+ ap
448456 }
449457 else 0
450458 }
451- let bl = DataEntry(B(x), (value(K(x)) + 1))
452- if (if (if (if (if ((bc == "ACCEPT"))
453- then (F != "")
459+ let bp = DataEntry(F(B), (value(O(B)) + 1))
460+ if (if (if (if (if ((bg == "ACCEPT"))
461+ then (J != "")
454462 else false)
455- then (bi > 0)
463+ then (bm > 0)
456464 else false)
457- then (bh > 0)
465+ then (bl > 0)
458466 else false)
459- then isDefined(bg)
467+ then isDefined(bk)
460468 else false)
461469 then {
462- let bm = {
463- let aA = indexOf((("|" + F) + "|"), aS)
464- if ($isInstanceOf(aA, "Int"))
470+ let bq = {
471+ let aE = indexOf((("|" + J) + "|"), aW)
472+ if ($isInstanceOf(aE, "Int"))
465473 then {
466- let al = aA
467- (al > 0)
474+ let ap = aE
475+ (ap > 0)
468476 }
469477 else false
470478 }
471- if (if (if (if (if (if (bm)
479+ if (if (if (if (if (if (bq)
472480 then true
473- else (F == aX))
481+ else (J == bb))
474482 then true
475- else (F == aY))
483+ else (J == bc))
476484 then true
477- else (F == aZ))
485+ else (J == bd))
478486 then true
479- else (F == ba))
487+ else (J == be))
480488 then true
481- else (F == bb))
482- then ScriptResult(WriteSet([bl, DataEntry(O(P), "WON"), DataEntry(T(bf), ((bj + bi) + bh)), DataEntry(X(bf), (bk + 1)), DataEntry(k, ((value(q()) + bi) + bh))]), TransferSet([ScriptTransfer(bg, (bi + bh), unit)]))
483- else WriteSet([bl, DataEntry(O(P), "LOST")])
489+ else (J == bf))
490+ then ScriptResult(WriteSet([bp, DataEntry(S(T), "WON"), DataEntry(X(bj), ((bn + bm) + bl)), DataEntry(ab(bj), (bo + 1)), DataEntry(o, ((value(u()) + bm) + bl))]), TransferSet([ScriptTransfer(bk, (bm + bl), unit)]))
491+ else WriteSet([bp, DataEntry(S(T), "LOST")])
484492 }
485493 else throw("GET_WIN_ALREADY_CALLED")
486494 }
494502
495503
496504
497-@Callable(aw)
498-func addCmb (at,bn) = if (ae(aw.callerPublicKey))
505+@Callable(aA)
506+func addCmb (ax,br) = if (ai(aA.callerPublicKey))
499507 then throw("addCmb_FORBBIDEN")
500508 else {
501- let ai = n()
502- if ($isInstanceOf(ai, "Int"))
509+ let am = r()
510+ if ($isInstanceOf(am, "Int"))
503511 then {
504- let x = ai
505- if ((x != 0))
512+ let B = am
513+ if ((B != 0))
506514 then throw("INIT_ALREADY_DONE")
507- else if (if (if (if (if (if (if ((bn == 1))
515+ else if (if (if (if (if (if (if ((br == 1))
508516 then true
509- else (bn == 2))
517+ else (br == 2))
510518 then true
511- else (bn == 5))
519+ else (br == 5))
512520 then true
513- else (bn == 8))
521+ else (br == 8))
514522 then true
515- else (bn == 11))
523+ else (br == 11))
516524 then true
517- else (bn == 17))
525+ else (br == 17))
518526 then true
519- else (bn == 35))
520- then WriteSet([DataEntry(("C" + at), bn)])
527+ else (br == 35))
528+ then WriteSet([DataEntry(("C" + ax), br)])
521529 else throw("AMOUNT_NOT_FOUND")
522530 }
523531 else throw("INIT_NEEDED")
525533
526534
527535
528-@Callable(aw)
529-func initGame () = if (ae(aw.callerPublicKey))
536+@Callable(aA)
537+func initGame () = if (ai(aA.callerPublicKey))
530538 then throw("initGame_FORBBIDEN")
531539 else {
532- let ai = n()
533- if ($isInstanceOf(ai, "Int"))
540+ let am = r()
541+ if ($isInstanceOf(am, "Int"))
534542 then {
535- let x = ai
543+ let B = am
536544 throw("INIT_ALREADY_DONE")
537545 }
538- else WriteSet([DataEntry(h, 0), DataEntry(i, 0), DataEntry(j, 0), DataEntry(k, 0), DataEntry(l, 0), DataEntry(m, 0)])
546+ else WriteSet([DataEntry(l, 0), DataEntry(m, 0), DataEntry(n, 0), DataEntry(o, 0), DataEntry(p, 0), DataEntry(q, 0)])
539547 }
540548
541549
542550
543-@Callable(aw)
544-func newGame () = if (ae(aw.callerPublicKey))
551+@Callable(aA)
552+func newGame () = if (ai(aA.callerPublicKey))
545553 then throw("newGame_FORBBIDEN")
546554 else {
547- let ai = n()
548- if ($isInstanceOf(ai, "Int"))
555+ let am = r()
556+ if ($isInstanceOf(am, "Int"))
549557 then {
550- let x = ai
551- let bo = (x + 1)
552- let bp = value(o())
553- let bq = value(p())
554- let br = (wavesBalance(this) - ((bp - bq) * c))
555- let bs = if (((br % 2) == 1))
556- then ((br - 1) / 2)
557- else (br / 2)
558- let bt = WriteSet([DataEntry(h, bo), DataEntry(w(bo), "PLAY"), DataEntry(z(bo), bs), DataEntry(A(bo), 0), DataEntry(B(bo), 0), DataEntry(C(bo), 0), DataEntry(D(bo), toBase58String(sha256(aw.transactionId)))])
559- if ((d > bs))
558+ let B = am
559+ let bs = (B + 1)
560+ let bt = value(s())
561+ let bu = value(t())
562+ let bv = (wavesBalance(this) - ((bt - bu) * g))
563+ let bw = if (((bv % 2) == 1))
564+ then ((bv - 1) / 2)
565+ else (bv / 2)
566+ let bx = WriteSet([DataEntry(l, bs), DataEntry(A(bs), "PLAY"), DataEntry(D(bs), bw), DataEntry(E(bs), 0), DataEntry(F(bs), 0), DataEntry(G(bs), 0), DataEntry(H(bs), toBase58String(sha256(aA.transactionId)))])
567+ if ((h > bw))
560568 then throw("BALANCE_IS_LOW")
561- else if ((x == 0))
562- then bt
569+ else if ((B == 0))
570+ then bx
563571 else {
564- let ax = value(G(x))
565- if ((ax != "SHOW"))
572+ let aB = value(K(B))
573+ if ((aB != "SHOW"))
566574 then throw("CURR_STATUS_IS_NOT_SHOW")
567575 else {
568- let aB = value(J(x))
569- let bu = value(K(x))
570- if ((aB != bu))
576+ let aF = value(N(B))
577+ let by = value(O(B))
578+ if ((aF != by))
571579 then throw("WAIT_ALL_PASSED")
572- else bt
580+ else bx
573581 }
574582 }
575583 }
578586
579587
580588
581-@Callable(aw)
582-func showGame (bv) = if (ae(aw.callerPublicKey))
589+@Callable(aA)
590+func showGame (bz) = if (ai(aA.callerPublicKey))
583591 then throw("showGame_FORBBIDEN")
584592 else {
585- let ai = n()
586- if ($isInstanceOf(ai, "Int"))
593+ let am = r()
594+ if ($isInstanceOf(am, "Int"))
587595 then {
588- let x = ai
589- let aj = M(x)
590- if ($isInstanceOf(aj, "String"))
596+ let B = am
597+ let an = Q(B)
598+ if ($isInstanceOf(an, "String"))
591599 then {
592- let ao = aj
593- let bw = rsaVerify(SHA256, fromBase58String(ao), bv, g)
594- if (!(bw))
600+ let as = an
601+ let bA = rsaVerify(SHA256, fromBase58String(as), bz, k)
602+ if (!(bA))
595603 then throw("INVALID_RSA_SIGN")
596604 else {
597- let bx = (toInt(sha256(bv)) % 37)
598- let aS = f[bx]
599- let u = value(parseInt(aS))
600- let by = {
601- let ay = v(aS)
602- if ($isInstanceOf(ay, "Int"))
605+ let bB = (toInt(sha256(bz)) % 37)
606+ let aW = j[bB]
607+ let y = value(parseInt(aW))
608+ let bC = {
609+ let aC = z(aW)
610+ if ($isInstanceOf(aC, "Int"))
603611 then {
604- let al = ay
605- al
612+ let ap = aC
613+ ap
606614 }
607615 else 0
608616 }
609- let ax = value(G(x))
610- if ((ax != "PLAY"))
617+ let aB = value(K(B))
618+ if ((aB != "PLAY"))
611619 then throw("CURR_STATUS_IS_NOT_PLAY")
612620 else {
613- let az = value(L(x))
614- if (if ((az == 0))
621+ let aD = value(P(B))
622+ if (if ((aD == 0))
615623 then true
616- else ((az + e) >= height))
624+ else ((aD + i) >= height))
617625 then throw("GAME_IS_NOT_END")
618- else WriteSet([DataEntry(w(x), "SHOW"), DataEntry(y(x), u), DataEntry(t(aS), (by + 1))])
626+ else WriteSet([DataEntry(A(B), "SHOW"), DataEntry(C(B), y), DataEntry(x(aW), (bC + 1))])
619627 }
620628 }
621629 }
626634
627635
628636
629-@Callable(aw)
630-func toMadama (aF) = if (ae(aw.callerPublicKey))
631- then throw("toMadama_FORBBIDEN")
637+@Callable(aA)
638+func amountToWallet (aJ) = if (ai(aA.callerPublicKey))
639+ then throw("amountToWallet_FORBBIDEN")
632640 else {
633- let ai = n()
634- if ($isInstanceOf(ai, "Int"))
641+ let am = r()
642+ if ($isInstanceOf(am, "Int"))
635643 then {
636- let x = ai
637- if ((x == 0))
638- then TransferSet([ScriptTransfer(addressFromPublicKey(a), aF, unit)])
644+ let B = am
645+ if ((B == 0))
646+ then TransferSet([ScriptTransfer(addressFromPublicKey(e), aJ, unit)])
639647 else {
640- let ax = value(G(x))
641- if ((ax != "SHOW"))
648+ let aB = value(K(B))
649+ if ((aB != "SHOW"))
642650 then throw("CURR_STATUS_IS_NOT_SHOW")
643651 else {
644- let aB = value(J(x))
645- let bu = value(K(x))
646- if ((aB != bu))
652+ let aF = value(N(B))
653+ let by = value(O(B))
654+ if ((aF != by))
647655 then throw("WAIT_ALL_PASSED")
648- else TransferSet([ScriptTransfer(addressFromPublicKey(b), aF, unit)])
656+ else TransferSet([ScriptTransfer(addressFromPublicKey(f), aJ, unit)])
649657 }
650658 }
651659 }
654662
655663
656664
657-@Callable(aw)
658-func betsFeeToServer () = if (ae(aw.callerPublicKey))
665+@Callable(aA)
666+func betsFeeToServer () = if (ai(aA.callerPublicKey))
659667 then throw("betsFeeToServer_FORBBIDEN")
660668 else {
661- let ai = n()
662- if ($isInstanceOf(ai, "Int"))
669+ let am = r()
670+ if ($isInstanceOf(am, "Int"))
663671 then {
664- let x = ai
665- if ((x == 0))
672+ let B = am
673+ if ((B == 0))
666674 then throw("NO_BETS_FEE")
667675 else {
668- let ax = value(G(x))
669- if ((ax != "SHOW"))
676+ let aB = value(K(B))
677+ if ((aB != "SHOW"))
670678 then throw("CURR_STATUS_IS_NOT_SHOW")
671679 else {
672- let aB = value(J(x))
673- let bu = value(K(x))
674- if ((aB != bu))
680+ let aF = value(N(B))
681+ let by = value(O(B))
682+ if ((aF != by))
675683 then throw("WAIT_ALL_PASSED")
676684 else {
677- let bp = value(o())
678- let bq = value(p())
679- ScriptResult(WriteSet([DataEntry(j, bp)]), TransferSet([ScriptTransfer(addressFromPublicKey(a), ((bp - bq) * c), unit)]))
685+ let bt = value(s())
686+ let bu = value(t())
687+ ScriptResult(WriteSet([DataEntry(n, bt)]), TransferSet([ScriptTransfer(addressFromPublicKey(e), ((bt - bu) * g), unit)]))
680688 }
681689 }
682690 }
685693 }
686694
687695
688-@Verifier(bz)
689-func bA () = if ((addressFromPublicKey(bz.senderPublicKey) == bz.sender))
690- then sigVerify(bz.bodyBytes, bz.proofs[0], bz.senderPublicKey)
696+@Verifier(bD)
697+func bE () = if ((addressFromPublicKey(bD.senderPublicKey) == bD.sender))
698+ then sigVerify(bD.bodyBytes, bD.proofs[0], bD.senderPublicKey)
691699 else false
692700
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = base58'BZTqgdB7p2YguZGnmQ8hJheuVF6zErGrr9S9ekEDxgzY'
4+let a = "Copyright (c) 2019 MaDaMa Labs"
55
6-let b = base58'AbDyruBD8QqodWvMWRxAx8FhwRuf4cMFZu6SA1G4YwWU'
6+let b = "@daidalos - twitter.com/tw_daidalos"
77
8-let c = 500000
8+let c = "MIT License"
99
10-let d = 100000000
10+let d = "tldrlegal.com/license/mit-license , opensource.org/licenses/MIT"
1111
12-let e = 2
12+let e = base58'BZTqgdB7p2YguZGnmQ8hJheuVF6zErGrr9S9ekEDxgzY'
1313
14-let f = ["5", "24", "16", "33", "1", "20", "14", "31", "9", "22", "18", "29", "7", "28", "12", "35", "3", "26", "0", "32", "15", "19", "4", "21", "2", "25", "17", "34", "6", "27", "13", "36", "11", "30", "8", "23", "10"]
14+let f = base58'AbDyruBD8QqodWvMWRxAx8FhwRuf4cMFZu6SA1G4YwWU'
1515
16-let g = fromBase64String("base64:MIIBJTANBgkqhkiG9w0BAQEFAAOCARIAMIIBDQKCAQEAtObfiwWyBFpSNJZmkxlwHy5vT+Jb+Vv6f7LlhKE9wNcC0Qp0rdyMwxLpdwfuLsKbRdBEbDhpb3dz1JPJiatlhKVKUsoQ25UQu9hv2oXyyEzJx86CGQq5HOr3YGGSdJR0LKq1PhbYrNmuS6jPDYobxssXyc/txsipSGwzMgVHcqt9OSiGQySZ8/9mtv42EefzFE95wuuy42KJKG7h0DTMfFSLTpqhS/Mbp8EKPuVb1huWsMKVL9QtOPYEXa9QPZa2WBPX5Y9BI1McRQ/Wf8WwqQtARpBfSVpkKPS1Amht2fEOxSSYRqG6IUsfK8xO9hxt+3+/Op/+IFJTGcGF8BrzWQIGCPw9/u27")
16+let g = 500000
1717
18-let h = "X_GAMESCOUNTER"
18+let h = 100000000
1919
20-let i = "X_BETSCOUNTER"
20+let i = 2
2121
22-let j = "X_BETSFEEMOVED"
22+let j = ["5", "24", "16", "33", "1", "20", "14", "31", "9", "22", "18", "29", "7", "28", "12", "35", "3", "26", "0", "32", "15", "19", "4", "21", "2", "25", "17", "34", "6", "27", "13", "36", "11", "30", "8", "23", "10"]
2323
24-let k = "X_TOTALAMOUNTWIN"
24+let k = fromBase64String("base64:MIIBJTANBgkqhkiG9w0BAQEFAAOCARIAMIIBDQKCAQEAtObfiwWyBFpSNJZmkxlwHy5vT+Jb+Vv6f7LlhKE9wNcC0Qp0rdyMwxLpdwfuLsKbRdBEbDhpb3dz1JPJiatlhKVKUsoQ25UQu9hv2oXyyEzJx86CGQq5HOr3YGGSdJR0LKq1PhbYrNmuS6jPDYobxssXyc/txsipSGwzMgVHcqt9OSiGQySZ8/9mtv42EefzFE95wuuy42KJKG7h0DTMfFSLTpqhS/Mbp8EKPuVb1huWsMKVL9QtOPYEXa9QPZa2WBPX5Y9BI1McRQ/Wf8WwqQtARpBfSVpkKPS1Amht2fEOxSSYRqG6IUsfK8xO9hxt+3+/Op/+IFJTGcGF8BrzWQIGCPw9/u27")
2525
26-let l = "X_TOTALAMOUNTBET"
26+let l = "X_GAMESCOUNTER"
2727
28-let m = "X_TOTALADDRESSBET"
28+let m = "X_BETSCOUNTER"
2929
30-func n () = getInteger(this, h)
30+let n = "X_BETSFEEMOVED"
3131
32+let o = "X_TOTALAMOUNTWIN"
3233
33-func o () = getInteger(this, i)
34+let p = "X_TOTALAMOUNTBET"
3435
35-
36-func p () = getInteger(this, j)
37-
38-
39-func q () = getInteger(this, k)
40-
36+let q = "X_TOTALADDRESSBET"
4137
4238 func r () = getInteger(this, l)
4339
4440
4541 func s () = getInteger(this, m)
4642
4743
48-func t (u) = ("N_" + u)
44+func t () = getInteger(this, n)
4945
5046
51-func v (u) = getInteger(this, t(u))
47+func u () = getInteger(this, o)
5248
5349
54-func w (x) = (("G_" + toString(x)) + "_STATUS")
50+func v () = getInteger(this, p)
5551
5652
57-func y (x) = (("G_" + toString(x)) + "_NUMBER")
53+func w () = getInteger(this, q)
5854
5955
60-func z (x) = (("G_" + toString(x)) + "_MAX")
56+func x (y) = ("N_" + y)
6157
6258
63-func A (x) = (("G_" + toString(x)) + "_BETS")
59+func z (y) = getInteger(this, x(y))
6460
6561
66-func B (x) = (("G_" + toString(x)) + "_PASSED")
62+func A (B) = (("G_" + toString(B)) + "_STATUS")
6763
6864
69-func C (x) = (("G_" + toString(x)) + "_HEIGHT")
65+func C (B) = (("G_" + toString(B)) + "_NUMBER")
7066
7167
72-func D (x) = (("G_" + toString(x)) + "_SUMSHA")
68+func D (B) = (("G_" + toString(B)) + "_MAX")
7369
7470
75-func E (x,F) = ((("G_" + toString(x)) + "_C") + F)
71+func E (B) = (("G_" + toString(B)) + "_BETS")
7672
7773
78-func G (x) = getString(this, w(x))
74+func F (B) = (("G_" + toString(B)) + "_PASSED")
7975
8076
81-func H (x) = getInteger(this, y(x))
77+func G (B) = (("G_" + toString(B)) + "_HEIGHT")
8278
8379
84-func I (x) = getInteger(this, z(x))
80+func H (B) = (("G_" + toString(B)) + "_SUMSHA")
8581
8682
87-func J (x) = getInteger(this, A(x))
83+func I (B,J) = ((("G_" + toString(B)) + "_C") + J)
8884
8985
90-func K (x) = getInteger(this, B(x))
86+func K (B) = getString(this, A(B))
9187
9288
93-func L (x) = getInteger(this, C(x))
89+func L (B) = getInteger(this, C(B))
9490
9591
96-func M (x) = getString(this, D(x))
92+func M (B) = getInteger(this, D(B))
9793
9894
99-func N (x,F) = getInteger(this, E(x, F))
95+func N (B) = getInteger(this, E(B))
10096
10197
102-func O (P) = (("B_" + P) + "_STATUS")
98+func O (B) = getInteger(this, F(B))
10399
104100
105-func Q (P) = (("B_" + P) + "_INFO")
101+func P (B) = getInteger(this, G(B))
106102
107103
108-func R (P) = getString(this, O(P))
104+func Q (B) = getString(this, H(B))
109105
110106
111-func S (P) = getString(this, Q(P))
107+func R (B,J) = getInteger(this, I(B, J))
112108
113109
114-func T (U) = (("A_" + U) + "_WON")
110+func S (T) = (("B_" + T) + "_STATUS")
115111
116112
117-func V (U) = (("A_" + U) + "_AMOUNT")
113+func U (T) = (("B_" + T) + "_INFO")
118114
119115
120-func W (U) = (("A_" + U) + "_BETS")
116+func V (T) = getString(this, S(T))
121117
122118
123-func X (U) = (("A_" + U) + "_HIT")
119+func W (T) = getString(this, U(T))
124120
125121
126-func Y (U) = getInteger(this, T(U))
122+func X (Y) = (("A_" + Y) + "_WON")
127123
128124
129-func Z (U) = getInteger(this, V(U))
125+func Z (Y) = (("A_" + Y) + "_AMOUNT")
130126
131127
132-func aa (U) = getInteger(this, W(U))
128+func aa (Y) = (("A_" + Y) + "_BETS")
133129
134130
135-func ab (U) = getInteger(this, X(U))
131+func ab (Y) = (("A_" + Y) + "_HIT")
136132
137133
138-func ac (ad) = ("P_" + ad)
134+func ac (Y) = getInteger(this, X(Y))
139135
140136
141-func ae (af) = (af != a)
137+func ad (Y) = getInteger(this, Z(Y))
142138
143139
144-func ag (ah) = {
145- let ai = n()
146- if ($isInstanceOf(ai, "Int"))
140+func ae (Y) = getInteger(this, aa(Y))
141+
142+
143+func af (Y) = getInteger(this, ab(Y))
144+
145+
146+func ag (ah) = ("P_" + ah)
147+
148+
149+func ai (aj) = (aj != e)
150+
151+
152+func ak (al) = {
153+ let am = r()
154+ if ($isInstanceOf(am, "Int"))
147155 then {
148- let x = ai
149- let aj = I(x)
150- if ($isInstanceOf(aj, "Int"))
156+ let B = am
157+ let an = M(B)
158+ if ($isInstanceOf(an, "Int"))
151159 then {
152- let ak = aj
153- let al = (ak - ah)
154- if ((0 > al))
160+ let ao = an
161+ let ap = (ao - al)
162+ if ((0 > ap))
155163 then throw("BET_IS_BLOCK")
156- else al
164+ else ap
157165 }
158166 else throw("GAME_NOT_FOUND")
159167 }
160168 else throw("INIT_NEEDED")
161169 }
162170
163171
164-func am (an) = {
165- let ai = n()
166- if ($isInstanceOf(ai, "Int"))
172+func aq (ar) = {
173+ let am = r()
174+ if ($isInstanceOf(am, "Int"))
167175 then {
168- let x = ai
169- let aj = M(x)
170- if ($isInstanceOf(aj, "String"))
176+ let B = am
177+ let an = Q(B)
178+ if ($isInstanceOf(an, "String"))
171179 then {
172- let ao = aj
173- toBase58String(sha256((fromBase58String(ao) + an)))
180+ let as = an
181+ toBase58String(sha256((fromBase58String(as) + ar)))
174182 }
175183 else throw("GAME_NOT_FOUND")
176184 }
177185 else throw("INIT_NEEDED")
178186 }
179187
180188
181-func ap (P) = {
182- let ai = S(P)
183- if ($isInstanceOf(ai, "String"))
189+func at (T) = {
190+ let am = W(T)
191+ if ($isInstanceOf(am, "String"))
184192 then {
185- let al = ai
193+ let ap = am
186194 throw("PLAYER_ALREADY_DEFINED")
187195 }
188196 else 1
189197 }
190198
191199
192-func aq (ar) = if (if (if (if (if (if ((ar == 10000000))
200+func au (av) = if (if (if (if (if (if ((av == 10000000))
193201 then true
194- else (ar == 20000000))
202+ else (av == 20000000))
195203 then true
196- else (ar == 50000000))
204+ else (av == 50000000))
197205 then true
198- else (ar == 100000000))
206+ else (av == 100000000))
199207 then true
200- else (ar == 200000000))
208+ else (av == 200000000))
201209 then true
202- else (ar == 500000000))
210+ else (av == 500000000))
203211 then 1
204212 else throw("BET_NOT_FOUND")
205213
206214
207-func as (at) = {
208- let ai = getInteger(this, ("C" + at))
209- if ($isInstanceOf(ai, "Int"))
215+func aw (ax) = {
216+ let am = getInteger(this, ("C" + ax))
217+ if ($isInstanceOf(am, "Int"))
210218 then {
211- let al = ai
212- al
219+ let ap = am
220+ ap
213221 }
214222 else throw("CMB_NOT_FOUND")
215223 }
216224
217225
218-func au (av,at,ah) = {
219- let ai = N(av, at)
220- if ($isInstanceOf(ai, "Int"))
226+func ay (az,ax,al) = {
227+ let am = R(az, ax)
228+ if ($isInstanceOf(am, "Int"))
221229 then {
222- let al = ai
223- if (((al + ah) > 20000000000))
230+ let ap = am
231+ if (((ap + al) > 20000000000))
224232 then throw("CMB_MAX_WIN")
225233 else 1
226234 }
227235 else 1
228236 }
229237
230238
231-@Callable(aw)
232-func bet (ad,at) = {
233- let ai = n()
234- if ($isInstanceOf(ai, "Int"))
239+@Callable(aA)
240+func bet (ah,ax) = {
241+ let am = r()
242+ if ($isInstanceOf(am, "Int"))
235243 then {
236- let x = ai
237- if ((ad != x))
244+ let B = am
245+ if ((ah != B))
238246 then throw("GAME_ID_WRONG")
239247 else {
240- let aj = G(x)
241- if ($isInstanceOf(aj, "String"))
248+ let an = K(B)
249+ if ($isInstanceOf(an, "String"))
242250 then {
243- let ax = aj
244- if ((ax != "PLAY"))
251+ let aB = an
252+ if ((aB != "PLAY"))
245253 then throw("CURR_STATUS_IS_NOT_PLAY")
246254 else {
247- let ay = L(x)
248- if ($isInstanceOf(ay, "Int"))
255+ let aC = P(B)
256+ if ($isInstanceOf(aC, "Int"))
249257 then {
250- let az = ay
251- if (if ((az != 0))
252- then (height > (az + e))
258+ let aD = aC
259+ if (if ((aD != 0))
260+ then (height > (aD + i))
253261 else false)
254262 then throw("GAME_IS_END")
255263 else {
256- let aA = J(x)
257- if ($isInstanceOf(aA, "Int"))
264+ let aE = N(B)
265+ if ($isInstanceOf(aE, "Int"))
258266 then {
259- let aB = aA
260- let P = ((toString(x) + "_") + toString((aB + 1)))
261- let aC = value(aw.payment)
262- let aD = aC.assetId
263- if ($isInstanceOf(aD, "ByteVector"))
267+ let aF = aE
268+ let T = ((toString(B) + "_") + toString((aF + 1)))
269+ let aG = value(aA.payment)
270+ let aH = aG.assetId
271+ if ($isInstanceOf(aH, "ByteVector"))
264272 then {
265- let aE = aD
273+ let aI = aH
266274 throw("ONLY_WAVES_ACCEPTED")
267275 }
268276 else {
269- let aF = (aC.amount - c)
270- let ah = (((ap(P) * aq(aF)) * as(at)) * aF)
271- let aG = (ah * au(x, at, ah))
272- let aH = toBase58String(aw.caller.bytes)
273- let aI = ((((((aH + "||") + at) + "||") + toString(aF)) + "||") + toString(aG))
274- let aJ = {
275- let aK = Z(aH)
276- if ($isInstanceOf(aK, "Int"))
277+ let aJ = (aG.amount - g)
278+ let al = (((at(T) * au(aJ)) * aw(ax)) * aJ)
279+ let aK = (al * ay(B, ax, al))
280+ let aL = toBase58String(aA.caller.bytes)
281+ let aM = ((((((aL + "||") + ax) + "||") + toString(aJ)) + "||") + toString(aK))
282+ let aN = {
283+ let aO = ad(aL)
284+ if ($isInstanceOf(aO, "Int"))
277285 then {
278- let al = aK
279- al
286+ let ap = aO
287+ ap
280288 }
281289 else 0
282290 }
283- let aL = {
284- let aK = aa(aH)
285- if ($isInstanceOf(aK, "Int"))
291+ let aP = {
292+ let aO = ae(aL)
293+ if ($isInstanceOf(aO, "Int"))
286294 then {
287- let al = aK
288- al
295+ let ap = aO
296+ ap
289297 }
290298 else 0
291299 }
292- let aM = {
293- let aK = N(x, at)
294- if ($isInstanceOf(aK, "Int"))
300+ let aQ = {
301+ let aO = R(B, ax)
302+ if ($isInstanceOf(aO, "Int"))
295303 then {
296- let al = aK
297- al
304+ let ap = aO
305+ ap
298306 }
299307 else 0
300308 }
301- let aN = [DataEntry(Q(P), aI), DataEntry(O(P), "ACCEPT"), DataEntry(A(x), (aB + 1)), DataEntry(C(x), if ((az == 0))
309+ let aR = [DataEntry(U(T), aM), DataEntry(S(T), "ACCEPT"), DataEntry(E(B), (aF + 1)), DataEntry(G(B), if ((aD == 0))
302310 then height
303- else az), DataEntry(z(x), ag(aG)), DataEntry(D(x), am(aw.transactionId)), DataEntry(E(x, at), (aM + aG)), DataEntry(V(aH), (aJ + aF)), DataEntry(W(aH), (aL + 1)), DataEntry(i, (value(o()) + 1)), DataEntry(l, (value(r()) + aF))]
304- let aO = (value(s()) + 1)
305- let aP = if ((aJ == 0))
306- then [DataEntry(ac(toString(aO)), aH), DataEntry(m, aO)] :: aN
307- else aN
308- WriteSet(aP)
311+ else aD), DataEntry(D(B), ak(aK)), DataEntry(H(B), aq(aA.transactionId)), DataEntry(I(B, ax), (aQ + aK)), DataEntry(Z(aL), (aN + aJ)), DataEntry(aa(aL), (aP + 1)), DataEntry(m, (value(s()) + 1)), DataEntry(p, (value(v()) + aJ))]
312+ let aS = (value(w()) + 1)
313+ let aT = if ((aN == 0))
314+ then [DataEntry(ag(toString(aS)), aL), DataEntry(q, aS)] :: aR
315+ else aR
316+ WriteSet(aT)
309317 }
310318 }
311319 else throw("GAME_NOT_FOUND")
312320 }
313321 }
314322 else throw("GAME_NOT_FOUND")
315323 }
316324 }
317325 else throw("GAME_NOT_FOUND")
318326 }
319327 }
320328 else throw("INIT_NEEDED")
321329 }
322330
323331
324332
325-@Callable(aw)
326-func getWin (aQ) = if (ae(aw.callerPublicKey))
333+@Callable(aA)
334+func getWin (aU) = if (ai(aA.callerPublicKey))
327335 then throw("getWin_FORBBIDEN")
328336 else {
329- let ai = n()
330- if ($isInstanceOf(ai, "Int"))
337+ let am = r()
338+ if ($isInstanceOf(am, "Int"))
331339 then {
332- let x = ai
333- let aj = G(x)
334- if ($isInstanceOf(aj, "String"))
340+ let B = am
341+ let an = K(B)
342+ if ($isInstanceOf(an, "String"))
335343 then {
336- let ax = aj
337- if ((ax != "SHOW"))
344+ let aB = an
345+ if ((aB != "SHOW"))
338346 then throw("CURR_STATUS_IS_NOT_SHOW")
339347 else {
340- let ay = H(x)
341- if ($isInstanceOf(ay, "Int"))
348+ let aC = L(B)
349+ if ($isInstanceOf(aC, "Int"))
342350 then {
343- let aR = ay
344- let P = ((toString(x) + "_") + toString(aQ))
345- let aS = (("_" + toString(aR)) + "_")
346- let aT = "|_1_3_5_7_9_12_14_16_18_19_21_23_25_27_30_32_34_36_|"
347- let aU = "|_2_4_6_8_10_11_13_15_17_20_22_24_26_28_29_31_33_35_|"
348- let aV = {
349- let aA = indexOf(aT, aS)
350- if ($isInstanceOf(aA, "Int"))
351+ let aV = aC
352+ let T = ((toString(B) + "_") + toString(aU))
353+ let aW = (("_" + toString(aV)) + "_")
354+ let aX = "|_1_3_5_7_9_12_14_16_18_19_21_23_25_27_30_32_34_36_|"
355+ let aY = "|_2_4_6_8_10_11_13_15_17_20_22_24_26_28_29_31_33_35_|"
356+ let aZ = {
357+ let aE = indexOf(aX, aW)
358+ if ($isInstanceOf(aE, "Int"))
351359 then {
352- let al = aA
353- (al > 0)
360+ let ap = aE
361+ (ap > 0)
354362 }
355363 else false
356364 }
357- let aW = {
358- let aA = indexOf(aU, aS)
359- if ($isInstanceOf(aA, "Int"))
365+ let ba = {
366+ let aE = indexOf(aY, aW)
367+ if ($isInstanceOf(aE, "Int"))
360368 then {
361- let al = aA
362- (al > 0)
369+ let ap = aE
370+ (ap > 0)
363371 }
364372 else false
365373 }
366- let aX = ("_" + (if (aV)
374+ let bb = ("_" + (if (aZ)
367375 then "RED"
368- else if (aW)
376+ else if (ba)
369377 then "BLACK"
370378 else "NDF"))
371- let aY = ("_" + (if (if ((0 >= aR))
379+ let bc = ("_" + (if (if ((0 >= aV))
372380 then true
373- else (aR > 36))
381+ else (aV > 36))
374382 then "NDF"
375- else if (((aR % 2) == 0))
383+ else if (((aV % 2) == 0))
376384 then "EVEN"
377385 else "ODD"))
378- let aZ = ("_" + (if (if ((aR >= 1))
379- then (18 >= aR)
386+ let bd = ("_" + (if (if ((aV >= 1))
387+ then (18 >= aV)
380388 else false)
381389 then "LOW"
382- else if (if ((aR >= 19))
383- then (36 >= aR)
390+ else if (if ((aV >= 19))
391+ then (36 >= aV)
384392 else false)
385393 then "HIGH"
386394 else "NDF"))
387- let ba = ("_" + (if (if ((aR >= 1))
388- then (12 >= aR)
395+ let be = ("_" + (if (if ((aV >= 1))
396+ then (12 >= aV)
389397 else false)
390398 then "DOZER1"
391- else if (if ((aR >= 13))
392- then (24 >= aR)
399+ else if (if ((aV >= 13))
400+ then (24 >= aV)
393401 else false)
394402 then "DOZER2"
395- else if (if ((aR >= 25))
396- then (36 >= aR)
403+ else if (if ((aV >= 25))
404+ then (36 >= aV)
397405 else false)
398406 then "DOZER3"
399407 else "NDF"))
400- let bb = ("_" + (if (if ((0 >= aR))
408+ let bf = ("_" + (if (if ((0 >= aV))
401409 then true
402- else (aR > 36))
410+ else (aV > 36))
403411 then "NDF"
404- else if (((aR % 3) == 1))
412+ else if (((aV % 3) == 1))
405413 then "COLUMN1"
406- else if (((aR % 3) == 2))
414+ else if (((aV % 3) == 2))
407415 then "COLUMN2"
408416 else "COLUMN3"))
409- let bc = {
410- let aA = R(P)
411- if ($isInstanceOf(aA, "String"))
417+ let bg = {
418+ let aE = V(T)
419+ if ($isInstanceOf(aE, "String"))
412420 then {
413- let al = aA
414- al
421+ let ap = aE
422+ ap
415423 }
416424 else throw("BET_STATUS_NOT_FOUND")
417425 }
418- let bd = {
419- let aA = S(P)
420- if ($isInstanceOf(aA, "String"))
426+ let bh = {
427+ let aE = W(T)
428+ if ($isInstanceOf(aE, "String"))
421429 then {
422- let al = aA
423- al
430+ let ap = aE
431+ ap
424432 }
425433 else throw("BET_INFO_NOT_FOUND")
426434 }
427- let be = split(bd, "||")
428- let bf = be[0]
429- let bg = value(addressFromString(bf))
430- let F = be[1]
431- let bh = value(parseInt(be[2]))
432- let bi = value(parseInt(be[3]))
433- let bj = {
434- let aA = Y(bf)
435- if ($isInstanceOf(aA, "Int"))
435+ let bi = split(bh, "||")
436+ let bj = bi[0]
437+ let bk = value(addressFromString(bj))
438+ let J = bi[1]
439+ let bl = value(parseInt(bi[2]))
440+ let bm = value(parseInt(bi[3]))
441+ let bn = {
442+ let aE = ac(bj)
443+ if ($isInstanceOf(aE, "Int"))
436444 then {
437- let al = aA
438- al
445+ let ap = aE
446+ ap
439447 }
440448 else 0
441449 }
442- let bk = {
443- let aA = ab(bf)
444- if ($isInstanceOf(aA, "Int"))
450+ let bo = {
451+ let aE = af(bj)
452+ if ($isInstanceOf(aE, "Int"))
445453 then {
446- let al = aA
447- al
454+ let ap = aE
455+ ap
448456 }
449457 else 0
450458 }
451- let bl = DataEntry(B(x), (value(K(x)) + 1))
452- if (if (if (if (if ((bc == "ACCEPT"))
453- then (F != "")
459+ let bp = DataEntry(F(B), (value(O(B)) + 1))
460+ if (if (if (if (if ((bg == "ACCEPT"))
461+ then (J != "")
454462 else false)
455- then (bi > 0)
463+ then (bm > 0)
456464 else false)
457- then (bh > 0)
465+ then (bl > 0)
458466 else false)
459- then isDefined(bg)
467+ then isDefined(bk)
460468 else false)
461469 then {
462- let bm = {
463- let aA = indexOf((("|" + F) + "|"), aS)
464- if ($isInstanceOf(aA, "Int"))
470+ let bq = {
471+ let aE = indexOf((("|" + J) + "|"), aW)
472+ if ($isInstanceOf(aE, "Int"))
465473 then {
466- let al = aA
467- (al > 0)
474+ let ap = aE
475+ (ap > 0)
468476 }
469477 else false
470478 }
471- if (if (if (if (if (if (bm)
479+ if (if (if (if (if (if (bq)
472480 then true
473- else (F == aX))
481+ else (J == bb))
474482 then true
475- else (F == aY))
483+ else (J == bc))
476484 then true
477- else (F == aZ))
485+ else (J == bd))
478486 then true
479- else (F == ba))
487+ else (J == be))
480488 then true
481- else (F == bb))
482- then ScriptResult(WriteSet([bl, DataEntry(O(P), "WON"), DataEntry(T(bf), ((bj + bi) + bh)), DataEntry(X(bf), (bk + 1)), DataEntry(k, ((value(q()) + bi) + bh))]), TransferSet([ScriptTransfer(bg, (bi + bh), unit)]))
483- else WriteSet([bl, DataEntry(O(P), "LOST")])
489+ else (J == bf))
490+ then ScriptResult(WriteSet([bp, DataEntry(S(T), "WON"), DataEntry(X(bj), ((bn + bm) + bl)), DataEntry(ab(bj), (bo + 1)), DataEntry(o, ((value(u()) + bm) + bl))]), TransferSet([ScriptTransfer(bk, (bm + bl), unit)]))
491+ else WriteSet([bp, DataEntry(S(T), "LOST")])
484492 }
485493 else throw("GET_WIN_ALREADY_CALLED")
486494 }
487495 else throw("GAME_NOT_FOUND")
488496 }
489497 }
490498 else throw("GAME_NOT_FOUND")
491499 }
492500 else throw("INIT_NEEDED")
493501 }
494502
495503
496504
497-@Callable(aw)
498-func addCmb (at,bn) = if (ae(aw.callerPublicKey))
505+@Callable(aA)
506+func addCmb (ax,br) = if (ai(aA.callerPublicKey))
499507 then throw("addCmb_FORBBIDEN")
500508 else {
501- let ai = n()
502- if ($isInstanceOf(ai, "Int"))
509+ let am = r()
510+ if ($isInstanceOf(am, "Int"))
503511 then {
504- let x = ai
505- if ((x != 0))
512+ let B = am
513+ if ((B != 0))
506514 then throw("INIT_ALREADY_DONE")
507- else if (if (if (if (if (if (if ((bn == 1))
515+ else if (if (if (if (if (if (if ((br == 1))
508516 then true
509- else (bn == 2))
517+ else (br == 2))
510518 then true
511- else (bn == 5))
519+ else (br == 5))
512520 then true
513- else (bn == 8))
521+ else (br == 8))
514522 then true
515- else (bn == 11))
523+ else (br == 11))
516524 then true
517- else (bn == 17))
525+ else (br == 17))
518526 then true
519- else (bn == 35))
520- then WriteSet([DataEntry(("C" + at), bn)])
527+ else (br == 35))
528+ then WriteSet([DataEntry(("C" + ax), br)])
521529 else throw("AMOUNT_NOT_FOUND")
522530 }
523531 else throw("INIT_NEEDED")
524532 }
525533
526534
527535
528-@Callable(aw)
529-func initGame () = if (ae(aw.callerPublicKey))
536+@Callable(aA)
537+func initGame () = if (ai(aA.callerPublicKey))
530538 then throw("initGame_FORBBIDEN")
531539 else {
532- let ai = n()
533- if ($isInstanceOf(ai, "Int"))
540+ let am = r()
541+ if ($isInstanceOf(am, "Int"))
534542 then {
535- let x = ai
543+ let B = am
536544 throw("INIT_ALREADY_DONE")
537545 }
538- else WriteSet([DataEntry(h, 0), DataEntry(i, 0), DataEntry(j, 0), DataEntry(k, 0), DataEntry(l, 0), DataEntry(m, 0)])
546+ else WriteSet([DataEntry(l, 0), DataEntry(m, 0), DataEntry(n, 0), DataEntry(o, 0), DataEntry(p, 0), DataEntry(q, 0)])
539547 }
540548
541549
542550
543-@Callable(aw)
544-func newGame () = if (ae(aw.callerPublicKey))
551+@Callable(aA)
552+func newGame () = if (ai(aA.callerPublicKey))
545553 then throw("newGame_FORBBIDEN")
546554 else {
547- let ai = n()
548- if ($isInstanceOf(ai, "Int"))
555+ let am = r()
556+ if ($isInstanceOf(am, "Int"))
549557 then {
550- let x = ai
551- let bo = (x + 1)
552- let bp = value(o())
553- let bq = value(p())
554- let br = (wavesBalance(this) - ((bp - bq) * c))
555- let bs = if (((br % 2) == 1))
556- then ((br - 1) / 2)
557- else (br / 2)
558- let bt = WriteSet([DataEntry(h, bo), DataEntry(w(bo), "PLAY"), DataEntry(z(bo), bs), DataEntry(A(bo), 0), DataEntry(B(bo), 0), DataEntry(C(bo), 0), DataEntry(D(bo), toBase58String(sha256(aw.transactionId)))])
559- if ((d > bs))
558+ let B = am
559+ let bs = (B + 1)
560+ let bt = value(s())
561+ let bu = value(t())
562+ let bv = (wavesBalance(this) - ((bt - bu) * g))
563+ let bw = if (((bv % 2) == 1))
564+ then ((bv - 1) / 2)
565+ else (bv / 2)
566+ let bx = WriteSet([DataEntry(l, bs), DataEntry(A(bs), "PLAY"), DataEntry(D(bs), bw), DataEntry(E(bs), 0), DataEntry(F(bs), 0), DataEntry(G(bs), 0), DataEntry(H(bs), toBase58String(sha256(aA.transactionId)))])
567+ if ((h > bw))
560568 then throw("BALANCE_IS_LOW")
561- else if ((x == 0))
562- then bt
569+ else if ((B == 0))
570+ then bx
563571 else {
564- let ax = value(G(x))
565- if ((ax != "SHOW"))
572+ let aB = value(K(B))
573+ if ((aB != "SHOW"))
566574 then throw("CURR_STATUS_IS_NOT_SHOW")
567575 else {
568- let aB = value(J(x))
569- let bu = value(K(x))
570- if ((aB != bu))
576+ let aF = value(N(B))
577+ let by = value(O(B))
578+ if ((aF != by))
571579 then throw("WAIT_ALL_PASSED")
572- else bt
580+ else bx
573581 }
574582 }
575583 }
576584 else throw("INIT_NEEDED")
577585 }
578586
579587
580588
581-@Callable(aw)
582-func showGame (bv) = if (ae(aw.callerPublicKey))
589+@Callable(aA)
590+func showGame (bz) = if (ai(aA.callerPublicKey))
583591 then throw("showGame_FORBBIDEN")
584592 else {
585- let ai = n()
586- if ($isInstanceOf(ai, "Int"))
593+ let am = r()
594+ if ($isInstanceOf(am, "Int"))
587595 then {
588- let x = ai
589- let aj = M(x)
590- if ($isInstanceOf(aj, "String"))
596+ let B = am
597+ let an = Q(B)
598+ if ($isInstanceOf(an, "String"))
591599 then {
592- let ao = aj
593- let bw = rsaVerify(SHA256, fromBase58String(ao), bv, g)
594- if (!(bw))
600+ let as = an
601+ let bA = rsaVerify(SHA256, fromBase58String(as), bz, k)
602+ if (!(bA))
595603 then throw("INVALID_RSA_SIGN")
596604 else {
597- let bx = (toInt(sha256(bv)) % 37)
598- let aS = f[bx]
599- let u = value(parseInt(aS))
600- let by = {
601- let ay = v(aS)
602- if ($isInstanceOf(ay, "Int"))
605+ let bB = (toInt(sha256(bz)) % 37)
606+ let aW = j[bB]
607+ let y = value(parseInt(aW))
608+ let bC = {
609+ let aC = z(aW)
610+ if ($isInstanceOf(aC, "Int"))
603611 then {
604- let al = ay
605- al
612+ let ap = aC
613+ ap
606614 }
607615 else 0
608616 }
609- let ax = value(G(x))
610- if ((ax != "PLAY"))
617+ let aB = value(K(B))
618+ if ((aB != "PLAY"))
611619 then throw("CURR_STATUS_IS_NOT_PLAY")
612620 else {
613- let az = value(L(x))
614- if (if ((az == 0))
621+ let aD = value(P(B))
622+ if (if ((aD == 0))
615623 then true
616- else ((az + e) >= height))
624+ else ((aD + i) >= height))
617625 then throw("GAME_IS_NOT_END")
618- else WriteSet([DataEntry(w(x), "SHOW"), DataEntry(y(x), u), DataEntry(t(aS), (by + 1))])
626+ else WriteSet([DataEntry(A(B), "SHOW"), DataEntry(C(B), y), DataEntry(x(aW), (bC + 1))])
619627 }
620628 }
621629 }
622630 else throw("GAME_NOT_FOUND")
623631 }
624632 else throw("INIT_NEEDED")
625633 }
626634
627635
628636
629-@Callable(aw)
630-func toMadama (aF) = if (ae(aw.callerPublicKey))
631- then throw("toMadama_FORBBIDEN")
637+@Callable(aA)
638+func amountToWallet (aJ) = if (ai(aA.callerPublicKey))
639+ then throw("amountToWallet_FORBBIDEN")
632640 else {
633- let ai = n()
634- if ($isInstanceOf(ai, "Int"))
641+ let am = r()
642+ if ($isInstanceOf(am, "Int"))
635643 then {
636- let x = ai
637- if ((x == 0))
638- then TransferSet([ScriptTransfer(addressFromPublicKey(a), aF, unit)])
644+ let B = am
645+ if ((B == 0))
646+ then TransferSet([ScriptTransfer(addressFromPublicKey(e), aJ, unit)])
639647 else {
640- let ax = value(G(x))
641- if ((ax != "SHOW"))
648+ let aB = value(K(B))
649+ if ((aB != "SHOW"))
642650 then throw("CURR_STATUS_IS_NOT_SHOW")
643651 else {
644- let aB = value(J(x))
645- let bu = value(K(x))
646- if ((aB != bu))
652+ let aF = value(N(B))
653+ let by = value(O(B))
654+ if ((aF != by))
647655 then throw("WAIT_ALL_PASSED")
648- else TransferSet([ScriptTransfer(addressFromPublicKey(b), aF, unit)])
656+ else TransferSet([ScriptTransfer(addressFromPublicKey(f), aJ, unit)])
649657 }
650658 }
651659 }
652660 else throw("INIT_NEEDED")
653661 }
654662
655663
656664
657-@Callable(aw)
658-func betsFeeToServer () = if (ae(aw.callerPublicKey))
665+@Callable(aA)
666+func betsFeeToServer () = if (ai(aA.callerPublicKey))
659667 then throw("betsFeeToServer_FORBBIDEN")
660668 else {
661- let ai = n()
662- if ($isInstanceOf(ai, "Int"))
669+ let am = r()
670+ if ($isInstanceOf(am, "Int"))
663671 then {
664- let x = ai
665- if ((x == 0))
672+ let B = am
673+ if ((B == 0))
666674 then throw("NO_BETS_FEE")
667675 else {
668- let ax = value(G(x))
669- if ((ax != "SHOW"))
676+ let aB = value(K(B))
677+ if ((aB != "SHOW"))
670678 then throw("CURR_STATUS_IS_NOT_SHOW")
671679 else {
672- let aB = value(J(x))
673- let bu = value(K(x))
674- if ((aB != bu))
680+ let aF = value(N(B))
681+ let by = value(O(B))
682+ if ((aF != by))
675683 then throw("WAIT_ALL_PASSED")
676684 else {
677- let bp = value(o())
678- let bq = value(p())
679- ScriptResult(WriteSet([DataEntry(j, bp)]), TransferSet([ScriptTransfer(addressFromPublicKey(a), ((bp - bq) * c), unit)]))
685+ let bt = value(s())
686+ let bu = value(t())
687+ ScriptResult(WriteSet([DataEntry(n, bt)]), TransferSet([ScriptTransfer(addressFromPublicKey(e), ((bt - bu) * g), unit)]))
680688 }
681689 }
682690 }
683691 }
684692 else throw("INIT_NEEDED")
685693 }
686694
687695
688-@Verifier(bz)
689-func bA () = if ((addressFromPublicKey(bz.senderPublicKey) == bz.sender))
690- then sigVerify(bz.bodyBytes, bz.proofs[0], bz.senderPublicKey)
696+@Verifier(bD)
697+func bE () = if ((addressFromPublicKey(bD.senderPublicKey) == bD.sender))
698+ then sigVerify(bD.bodyBytes, bD.proofs[0], bD.senderPublicKey)
691699 else false
692700

github/deemru/w8io/3ef1775 
581.94 ms