tx · At14XLxqi9YwunEjKksramkAxhiAR5ct3z57RiAM84e7

3N8ALQpJynGeqQ7Db13kkK5RH1zvqNkBct1:  -0.03400000 Waves

2023.01.11 02:53 [2399531] smart account 3N8ALQpJynGeqQ7Db13kkK5RH1zvqNkBct1 > SELF 0.00000000 Waves

{ "type": 13, "id": "At14XLxqi9YwunEjKksramkAxhiAR5ct3z57RiAM84e7", "fee": 3400000, "feeAssetId": null, "timestamp": 1673394807528, "version": 2, "chainId": 84, "sender": "3N8ALQpJynGeqQ7Db13kkK5RH1zvqNkBct1", "senderPublicKey": "C9UvrPV3j7jLAo8jvQcVPj8PRqore3Y6E6j2hUXsfNpR", "proofs": [ "61nNUrxsmioPyKHG4YctozBtJbnypLMGjB78TJygW4fXYcedLGRPs3evtM6G4mLzUBpa5Ajc4V7Zp56M8b38MKfH" ], "script": "base64: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bEJhY2t1cFZhbHVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABVBbGxfTkZUc19CYWNrdXBfVmFsdWUFAAAAFlN1bXVwQmFja3VwVmFsdWVBbGxORlQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALQTRBVHJlYXN1cnkIBQAAAANwbXQAAAAGYW1vdW50BQAAAAtVU0RUQXNzZXRJRAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlAgAAADk8aDE+VGhhbmtzIGZvciBBZGRpbmcgQmFja3VwIFZhbHVlIPCfkrUgdG8gTkZULiE8L2gxPjxicj4FAAAAA25pbAAAAAFpAQAAABFJbnN0YW50TkZUQXVjdGlvbgAAAAUAAAAHQ291bnRlcgAAAAhJUEZTSGFzaAAAAAhORlRBc3NldAAAAAxBdWN0aW9uUHJpY2UAAAAMUmVjZWl2ZUFzc2V0BAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAE01pbmltdW1BdWN0aW9uVmFsdWUAAAAAAAABhqAEAAAAE01heGltdW1BdWN0aW9uVmFsdWUAAABa8xB6QAAEAAAAC2dldElQRlNIYXNoCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAFSEFTSF8FAAAACElQRlNIYXNoBAAAAA9mZXRjaE5GVEFzc2V0SUQJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAACV9Bc3NldElEXwUAAAAISVBGU0hhc2gEAAAAFWZldGNoTkZUQXVjdGlvblN0YXR1cwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAPX0F1Y3Rpb25TdGF0dXNfBQAAAAhJUEZTSGFzaAQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAAJVBsZWFzZSBBdHRhY2ggTkZUIEFzc2V0SUQgaW4gUGF5bWVudC4DCQEAAAACIT0AAAACBQAAAAtnZXRJUEZTSGFzaAUAAAAISVBGU0hhc2gJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAADSBJbnB1dCBIYXNoIFsFAAAACElQRlNIYXNoAgAAABtdIGlzIG5vdCBhbiBSZWdpc3RlcmVkIG9uZS4DCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQJAAJZAAAAAQUAAAAITkZUQXNzZXQJAAACAAAAAQIAAAA7RW50ZXJlZCAnTkZUQXNzZXQnIGZvciBTYWxlIG11c3QgbWF0Y2ggd2l0aCBBdHRhY2hlZCBBc3NldC4DCQEAAAACIT0AAAACBQAAAAhORlRBc3NldAUAAAAPZmV0Y2hORlRBc3NldElECQAAAgAAAAECAAAATUVudGVyZWQgQXNzZXRJRCBub3QgZm91bmQgaW4gdGhlIERBcHAuIEJlIEVuc3VyZSBpdCdzIGJlaW5nIG1pbnRlZCBieSBBNEFEQU8uAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAZhbW91bnQAAAAAAAAAAAEJAAACAAAAAQIAAAA1QXR0YWNoZWQgQXNzZXQgYW1vdW50IG11c3QgYmUgMSB0byBtZWV0IE5GVCBDcmV0ZXJpYS4DCQAAAAAAAAIFAAAAFWZldGNoTkZUQXVjdGlvblN0YXR1cwIAAAAET3BlbgkAAAIAAAABAgAAAClORlQgaXMgYWxyZWFkeSB1bmRlciBBdWN0aW9uIGZvciBTZWxsaW5nLgMJAABnAAAAAgUAAAATTWluaW11bUF1Y3Rpb25WYWx1ZQUAAAAMQXVjdGlvblByaWNlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACNBdWN0aW9uIFByaWNlIGlzIG11c3QgYmUgbW9yZSB0aGFuIAkAAaQAAAABBQAAABNNaW5pbXVtQXVjdGlvblZhbHVlAgAAAAYtW0ludF0DCQAAZgAAAAIFAAAADEF1Y3Rpb25QcmljZQUAAAATTWF4aW11bUF1Y3Rpb25WYWx1ZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAjQXVjdGlvbiBQcmljZSBpcyBtdXN0IGJlIGxlc3MgdGhhbiAJAAGkAAAAAQUAAAATTWF4aW11bUF1Y3Rpb25WYWx1ZQIAAAAGLVtJbnRdAwkAAAAAAAACBQAAAAxSZWNlaXZlQXNzZXQCAAAAA0E0QQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAA9fQXVjdGlvblN0YXR1c18FAAAACElQRlNIYXNoAgAAAARPcGVuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAA9fQXVjdGlvbkFtb3VudF8FAAAACElQRlNIYXNoBQAAAAxBdWN0aW9uUHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAATX0F1Y3Rpb25QcmljZUFzc2V0XwUAAAAISVBGU0hhc2gJAAJYAAAAAQUAAAAKQTRBQXNzZXRJRAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAABBfQXVjdGlvbkNyZWF0b3JfBQAAAAhJUEZTSGFzaAUAAAAKY3VycmVudEtleQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlBQAAAAdtZXNzYWdlBQAAAANuaWwDCQAAAAAAAAIFAAAADFJlY2VpdmVBc3NldAIAAAADQlRDCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAD19BdWN0aW9uU3RhdHVzXwUAAAAISVBGU0hhc2gCAAAABE9wZW4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAD19BdWN0aW9uQW1vdW50XwUAAAAISVBGU0hhc2gFAAAADEF1Y3Rpb25QcmljZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAABNfQXVjdGlvblByaWNlQXNzZXRfBQAAAAhJUEZTSGFzaAkAAlgAAAABBQAAAApCVENBc3NldElECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAEF9BdWN0aW9uQ3JlYXRvcl8FAAAACElQRlNIYXNoBQAAAApjdXJyZW50S2V5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UFAAAAB21lc3NhZ2UFAAAAA25pbAMJAAAAAAAAAgUAAAAMUmVjZWl2ZUFzc2V0AgAAAARDQVNICQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAD19BdWN0aW9uU3RhdHVzXwUAAAAISVBGU0hhc2gCAAAABE9wZW4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAD19BdWN0aW9uQW1vdW50XwUAAAAISVBGU0hhc2gFAAAADEF1Y3Rpb25QcmljZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAABNfQXVjdGlvblByaWNlQXNzZXRfBQAAAAhJUEZTSGFzaAkAAlgAAAABBQAAAAtDQVNIQXNzZXRJRAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAABBfQXVjdGlvbkNyZWF0b3JfBQAAAAhJUEZTSGFzaAUAAAAKY3VycmVudEtleQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlBQAAAAdtZXNzYWdlBQAAAANuaWwDCQAAAAAAAAIFAAAADFJlY2VpdmVBc3NldAIAAAAEQ09ERQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAA9fQXVjdGlvblN0YXR1c18FAAAACElQRlNIYXNoAgAAAARPcGVuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAA9fQXVjdGlvbkFtb3VudF8FAAAACElQRlNIYXNoBQAAAAxBdWN0aW9uUHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAATX0F1Y3Rpb25QcmljZUFzc2V0XwUAAAAISVBGU0hhc2gJAAJYAAAAAQUAAAALQ09ERUFzc2V0SUQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAQX0F1Y3Rpb25DcmVhdG9yXwUAAAAISVBGU0hhc2gFAAAACmN1cnJlbnRLZXkJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQUAAAAHbWVzc2FnZQUAAAADbmlsAwkAAAAAAAACBQAAAAxSZWNlaXZlQXNzZXQCAAAABERWUE4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAPX0F1Y3Rpb25TdGF0dXNfBQAAAAhJUEZTSGFzaAIAAAAET3BlbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAPX0F1Y3Rpb25BbW91bnRfBQAAAAhJUEZTSGFzaAUAAAAMQXVjdGlvblByaWNlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAE19BdWN0aW9uUHJpY2VBc3NldF8FAAAACElQRlNIYXNoCQACWAAAAAEFAAAAC0RWUE5Bc3NldElECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAEF9BdWN0aW9uQ3JlYXRvcl8FAAAACElQRlNIYXNoBQAAAApjdXJyZW50S2V5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UFAAAAB21lc3NhZ2UFAAAAA25pbAMJAAAAAAAAAgUAAAAMUmVjZWl2ZUFzc2V0AgAAAAJUTgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAA9fQXVjdGlvblN0YXR1c18FAAAACElQRlNIYXNoAgAAAARPcGVuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAA9fQXVjdGlvbkFtb3VudF8FAAAACElQRlNIYXNoBQAAAAxBdWN0aW9uUHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAATX0F1Y3Rpb25QcmljZUFzc2V0XwUAAAAISVBGU0hhc2gCAAAAAlROCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAEF9BdWN0aW9uQ3JlYXRvcl8FAAAACElQRlNIYXNoBQAAAApjdXJyZW50S2V5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UFAAAAB21lc3NhZ2UFAAAAA25pbAMJAAAAAAAAAgUAAAAMUmVjZWl2ZUFzc2V0AgAAAARVU0RUCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAD19BdWN0aW9uU3RhdHVzXwUAAAAISVBGU0hhc2gCAAAABE9wZW4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAD19BdWN0aW9uQW1vdW50XwUAAAAISVBGU0hhc2gFAAAADEF1Y3Rpb25QcmljZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAABNfQXVjdGlvblByaWNlQXNzZXRfBQAAAAhJUEZTSGFzaAkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAABBfQXVjdGlvbkNyZWF0b3JfBQAAAAhJUEZTSGFzaAUAAAAKY3VycmVudEtleQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlBQAAAAdtZXNzYWdlBQAAAANuaWwDCQAAAAAAAAIFAAAADFJlY2VpdmVBc3NldAIAAAAFV0FWRVMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAPX0F1Y3Rpb25TdGF0dXNfBQAAAAhJUEZTSGFzaAIAAAAET3BlbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAPX0F1Y3Rpb25BbW91bnRfBQAAAAhJUEZTSGFzaAUAAAAMQXVjdGlvblByaWNlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAE19BdWN0aW9uUHJpY2VBc3NldF8FAAAACElQRlNIYXNoCQACWAAAAAEFAAAADFdBVkVTQXNzZXRJRAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAABBfQXVjdGlvbkNyZWF0b3JfBQAAAAhJUEZTSGFzaAUAAAAKY3VycmVudEtleQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlBQAAAAdtZXNzYWdlBQAAAANuaWwDCQAAAAAAAAIFAAAADFJlY2VpdmVBc3NldAIAAAADWEhWCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAD19BdWN0aW9uU3RhdHVzXwUAAAAISVBGU0hhc2gCAAAABE9wZW4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAD19BdWN0aW9uQW1vdW50XwUAAAAISVBGU0hhc2gFAAAADEF1Y3Rpb25QcmljZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAABNfQXVjdGlvblByaWNlQXNzZXRfBQAAAAhJUEZTSGFzaAkAAlgAAAABBQAAAApYSFZBc3NldElECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAEF9BdWN0aW9uQ3JlYXRvcl8FAAAACElQRlNIYXNoBQAAAApjdXJyZW50S2V5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UFAAAAB21lc3NhZ2UFAAAAA25pbAMJAAAAAAAAAgUAAAAMUmVjZWl2ZUFzc2V0AgAAAANYTVIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAPX0F1Y3Rpb25TdGF0dXNfBQAAAAhJUEZTSGFzaAIAAAAET3BlbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAPX0F1Y3Rpb25BbW91bnRfBQAAAAhJUEZTSGFzaAUAAAAMQXVjdGlvblByaWNlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAE19BdWN0aW9uUHJpY2VBc3NldF8FAAAACElQRlNIYXNoCQACWAAAAAEFAAAAClhNUkFzc2V0SUQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAQX0F1Y3Rpb25DcmVhdG9yXwUAAAAISVBGU0hhc2gFAAAACmN1cnJlbnRLZXkJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQUAAAAHbWVzc2FnZQUAAAADbmlsAwkAAAAAAAACBQAAAAxSZWNlaXZlQXNzZXQCAAAABHhVU0QJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAPX0F1Y3Rpb25TdGF0dXNfBQAAAAhJUEZTSGFzaAIAAAAET3BlbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAPX0F1Y3Rpb25BbW91bnRfBQAAAAhJUEZTSGFzaAUAAAAMQXVjdGlvblByaWNlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAE19BdWN0aW9uUHJpY2VBc3NldF8FAAAACElQRlNIYXNoCQACWAAAAAEFAAAAC3hVU0RBc3NldElECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAEF9BdWN0aW9uQ3JlYXRvcl8FAAAACElQRlNIYXNoBQAAAApjdXJyZW50S2V5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UFAAAAB21lc3NhZ2UFAAAAA25pbAkAAAIAAAABAgAAAD5Pbmx5IFdoaXRlbGlzdGVkIEFzc2V0ZWQgYXJlIGFjY2VwdGVkIGZvciBJbnN0YW50IE5GVCBBdWN0aW9uLgAAAAFpAQAAAApJbnN0YW50QnV5AAAAAwAAAAdDb3VudGVyAAAACElQRlNIYXNoAAAACE5GVEFzc2V0BAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAFWZldGNoTkZUQXVjdGlvblN0YXR1cwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAPX0F1Y3Rpb25TdGF0dXNfBQAAAAhJUEZTSGFzaAQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAAMkF1Y3Rpb24gUHJpY2UgQXNzZXRJRCBpcyBSZXF1aXJlZCBhcyBQYXltZW50IEhlcmUuBAAAAAtnZXRJUEZTSGFzaAkABB0AAAACBQAAAAR0aGlzCQABLAAAAAICAAAABUhBU0hfBQAAAAhJUEZTSGFzaAQAAAAPZmV0Y2hORlRBc3NldElECQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAAlfQXNzZXRJRF8FAAAACElQRlNIYXNoBAAAABBnZXRBdWN0aW9uQ3JhdG9yCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAABBfQXVjdGlvbkNyZWF0b3JfBQAAAAhJUEZTSGFzaAQAAAARZ2V0T3JpZ2luYWxDcmF0b3IJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAACV9DcmVhdG9yXwUAAAAISVBGU0hhc2gEAAAAD2dldEF1Y3Rpb25QcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAPX0F1Y3Rpb25BbW91bnRfBQAAAAhJUEZTSGFzaAQAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAE19BdWN0aW9uUHJpY2VBc3NldF8FAAAACElQRlNIYXNoBAAAAAhEYXBwX0ZlZQkAAGsAAAADBQAAAA9nZXRBdWN0aW9uUHJpY2UFAAAACk5GVFN3YXBGZWUAAAAAAAAAA+gEAAAAC1JveWFsdHlfRmVlCQAAawAAAAMFAAAAD2dldEF1Y3Rpb25QcmljZQUAAAAHUm95YWx0eQAAAAAAAAAD6AQAAAAVZ2V0QXVjdGlvbkNyYXRvckNsYWltCQAAZQAAAAIJAABlAAAAAgUAAAAPZ2V0QXVjdGlvblByaWNlBQAAAAhEYXBwX0ZlZQUAAAALUm95YWx0eV9GZWUEAAAACE5GVF9Tb2xkBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAADlRvdGFsX05GVF9Tb2xkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAADlRvdGFsX05mdF9Tb2xkCQAAZAAAAAIFAAAACE5GVF9Tb2xkAAAAAAAAAAABBAAAABFTcGVjaWZpY19ORlRfU29sZAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAJX05GVF9Tb2xkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAF1RvdGFsX1NwZWNpZmljX05GVF9Tb2xkCQAAZAAAAAIFAAAAEVNwZWNpZmljX05GVF9Tb2xkAAAAAAAAAAABBAAAAApORlRfVm9sdW1lBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAAC19ORlRfVm9sdW1lAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAEFRvdGFsX05mdF9Wb2x1bWUJAABkAAAAAgUAAAAKTkZUX1ZvbHVtZQUAAAAPZ2V0QXVjdGlvblByaWNlBAAAAAtORlRfUm95YWx0eQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAAFGdldEF1Y3Rpb25QcmljZUFzc2V0AgAAAAxfTkZUX1JveWFsdHkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAARVG90YWxfTmZ0X1JveWFsdHkJAABkAAAAAgUAAAALTkZUX1JveWFsdHkFAAAAC1JveWFsdHlfRmVlBAAAAAxORlRfRGFwcF9GZWUEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAABRnZXRBdWN0aW9uUHJpY2VBc3NldAIAAAAMX05GVF9EYXBwRmVlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAElRvdGFsX05mdF9EYXBwX0ZlZQkAAGQAAAACBQAAAAxORlRfRGFwcF9GZWUFAAAACERhcHBfRmVlAwkBAAAAAiE9AAAAAgUAAAALZ2V0SVBGU0hhc2gFAAAACElQRlNIYXNoCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAA0gSW5wdXQgSGFzaCBbBQAAAAhJUEZTSGFzaAIAAAAbXSBpcyBub3QgYW4gUmVnaXN0ZXJlZCBvbmUuAwkBAAAAAiE9AAAAAgUAAAAITkZUQXNzZXQFAAAAD2ZldGNoTkZUQXNzZXRJRAkAAAIAAAABAgAAAE1FbnRlcmVkIEFzc2V0SUQgbm90IGZvdW5kIGluIHRoZSBEQXBwLiBCZSBFbnN1cmUgaXQncyBiZWluZyBtaW50ZWQgYnkgQTRBREFPLgMJAAAAAAAAAgUAAAAVZmV0Y2hORlRBdWN0aW9uU3RhdHVzAgAAAAVDbG9zZQkAAAIAAAABAgAAACVORlQgaXMgbm90IHVuZGVyIEF1Y3Rpb24gZm9yIFNlbGxpbmcuAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAZhbW91bnQFAAAAD2dldEF1Y3Rpb25QcmljZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAHkF0dGFjaGVkIEFzc2V0IEFtb3VudCBtdXN0IGJlIAUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAAIiBlcXVhbCB0byBBdWN0aW9uIFByaWNlLiBXaGljaCBpcyAJAAGkAAAAAQUAAAAPZ2V0QXVjdGlvblByaWNlAgAAAAYtW0ludF0DCQAAAAAAAAIFAAAAFGdldEF1Y3Rpb25QcmljZUFzc2V0CQACWAAAAAEFAAAACkE0QUFzc2V0SUQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAPX0F1Y3Rpb25TdGF0dXNfBQAAAAhJUEZTSGFzaAIAAAAFQ2xvc2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADlRvdGFsX05GVF9Tb2xkBQAAAA5Ub3RhbF9OZnRfU29sZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAACV9ORlRfU29sZAUAAAAXVG90YWxfU3BlY2lmaWNfTkZUX1NvbGQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAAC19ORlRfVm9sdW1lBQAAABBUb3RhbF9OZnRfVm9sdW1lCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAFGdldEF1Y3Rpb25QcmljZUFzc2V0AgAAAAxfTkZUX1JveWFsdHkFAAAAEVRvdGFsX05mdF9Sb3lhbHR5CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAFGdldEF1Y3Rpb25QcmljZUFzc2V0AgAAAAxfTkZUX0RhcHBGZWUFAAAAElRvdGFsX05mdF9EYXBwX0ZlZQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAA9fQXVjdGlvbkFtb3VudF8FAAAACElQRlNIYXNoCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAE19BdWN0aW9uUHJpY2VBc3NldF8FAAAACElQRlNIYXNoCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAEF9BdWN0aW9uQ3JlYXRvcl8FAAAACElQRlNIYXNoCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAAAQkAAlkAAAABBQAAAA9mZXRjaE5GVEFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALQTRBVHJlYXN1cnkFAAAACERhcHBfRmVlBQAAAApBNEFBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAEWdldE9yaWdpbmFsQ3JhdG9yBQAAAAtSb3lhbHR5X0ZlZQUAAAAKQTRBQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAABBnZXRBdWN0aW9uQ3JhdG9yBQAAABVnZXRBdWN0aW9uQ3JhdG9yQ2xhaW0FAAAACkE0QUFzc2V0SUQFAAAAA25pbAMJAAAAAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQJAAJYAAAAAQUAAAAKQlRDQXNzZXRJRAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAA9fQXVjdGlvblN0YXR1c18FAAAACElQRlNIYXNoAgAAAAVDbG9zZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAOVG90YWxfTkZUX1NvbGQFAAAADlRvdGFsX05mdF9Tb2xkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAJX05GVF9Tb2xkBQAAABdUb3RhbF9TcGVjaWZpY19ORlRfU29sZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAABRnZXRBdWN0aW9uUHJpY2VBc3NldAIAAAALX05GVF9Wb2x1bWUFAAAAEFRvdGFsX05mdF9Wb2x1bWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAADF9ORlRfUm95YWx0eQUAAAARVG90YWxfTmZ0X1JveWFsdHkJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAADF9ORlRfRGFwcEZlZQUAAAASVG90YWxfTmZ0X0RhcHBfRmVlCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAD19BdWN0aW9uQW1vdW50XwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAATX0F1Y3Rpb25QcmljZUFzc2V0XwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAQX0F1Y3Rpb25DcmVhdG9yXwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAABCQACWQAAAAEFAAAAD2ZldGNoTkZUQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtBNEFUcmVhc3VyeQUAAAAIRGFwcF9GZWUFAAAACkJUQ0Fzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAARZ2V0T3JpZ2luYWxDcmF0b3IFAAAAC1JveWFsdHlfRmVlBQAAAApCVENBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAEGdldEF1Y3Rpb25DcmF0b3IFAAAAFWdldEF1Y3Rpb25DcmF0b3JDbGFpbQUAAAAKQlRDQXNzZXRJRAUAAAADbmlsAwkAAAAAAAACBQAAABRnZXRBdWN0aW9uUHJpY2VBc3NldAkAAlgAAAABBQAAAAtDQVNIQXNzZXRJRAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAA9fQXVjdGlvblN0YXR1c18FAAAACElQRlNIYXNoAgAAAAVDbG9zZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAOVG90YWxfTkZUX1NvbGQFAAAADlRvdGFsX05mdF9Tb2xkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAJX05GVF9Tb2xkBQAAABdUb3RhbF9TcGVjaWZpY19ORlRfU29sZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAABRnZXRBdWN0aW9uUHJpY2VBc3NldAIAAAALX05GVF9Wb2x1bWUFAAAAEFRvdGFsX05mdF9Wb2x1bWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAADF9ORlRfUm95YWx0eQUAAAARVG90YWxfTmZ0X1JveWFsdHkJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAADF9ORlRfRGFwcEZlZQUAAAASVG90YWxfTmZ0X0RhcHBfRmVlCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAD19BdWN0aW9uQW1vdW50XwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAATX0F1Y3Rpb25QcmljZUFzc2V0XwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAQX0F1Y3Rpb25DcmVhdG9yXwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAABCQACWQAAAAEFAAAAD2ZldGNoTkZUQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtBNEFUcmVhc3VyeQUAAAAIRGFwcF9GZWUFAAAAC0NBU0hBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAEWdldE9yaWdpbmFsQ3JhdG9yBQAAAAtSb3lhbHR5X0ZlZQUAAAALQ0FTSEFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAQZ2V0QXVjdGlvbkNyYXRvcgUAAAAVZ2V0QXVjdGlvbkNyYXRvckNsYWltBQAAAAtDQVNIQXNzZXRJRAUAAAADbmlsAwkAAAAAAAACBQAAABRnZXRBdWN0aW9uUHJpY2VBc3NldAkAAlgAAAABBQAAAAtDT0RFQXNzZXRJRAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAA9fQXVjdGlvblN0YXR1c18FAAAACElQRlNIYXNoAgAAAAVDbG9zZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAOVG90YWxfTkZUX1NvbGQFAAAADlRvdGFsX05mdF9Tb2xkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAJX05GVF9Tb2xkBQAAABdUb3RhbF9TcGVjaWZpY19ORlRfU29sZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAABRnZXRBdWN0aW9uUHJpY2VBc3NldAIAAAALX05GVF9Wb2x1bWUFAAAAEFRvdGFsX05mdF9Wb2x1bWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAADF9ORlRfUm95YWx0eQUAAAARVG90YWxfTmZ0X1JveWFsdHkJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAADF9ORlRfRGFwcEZlZQUAAAASVG90YWxfTmZ0X0RhcHBfRmVlCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAD19BdWN0aW9uQW1vdW50XwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAATX0F1Y3Rpb25QcmljZUFzc2V0XwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAQX0F1Y3Rpb25DcmVhdG9yXwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAABCQACWQAAAAEFAAAAD2ZldGNoTkZUQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtBNEFUcmVhc3VyeQUAAAAIRGFwcF9GZWUFAAAAC0NPREVBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAEWdldE9yaWdpbmFsQ3JhdG9yBQAAAAtSb3lhbHR5X0ZlZQUAAAALQ09ERUFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAQZ2V0QXVjdGlvbkNyYXRvcgUAAAAVZ2V0QXVjdGlvbkNyYXRvckNsYWltBQAAAAtDT0RFQXNzZXRJRAUAAAADbmlsAwkAAAAAAAACBQAAABRnZXRBdWN0aW9uUHJpY2VBc3NldAkAAlgAAAABBQAAAAtEVlBOQXNzZXRJRAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAA9fQXVjdGlvblN0YXR1c18FAAAACElQRlNIYXNoAgAAAAVDbG9zZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAOVG90YWxfTkZUX1NvbGQFAAAADlRvdGFsX05mdF9Tb2xkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAJX05GVF9Tb2xkBQAAABdUb3RhbF9TcGVjaWZpY19ORlRfU29sZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAABRnZXRBdWN0aW9uUHJpY2VBc3NldAIAAAALX05GVF9Wb2x1bWUFAAAAEFRvdGFsX05mdF9Wb2x1bWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAADF9ORlRfUm95YWx0eQUAAAARVG90YWxfTmZ0X1JveWFsdHkJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAADF9ORlRfRGFwcEZlZQUAAAASVG90YWxfTmZ0X0RhcHBfRmVlCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAD19BdWN0aW9uQW1vdW50XwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAATX0F1Y3Rpb25QcmljZUFzc2V0XwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAQX0F1Y3Rpb25DcmVhdG9yXwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAABCQACWQAAAAEFAAAAD2ZldGNoTkZUQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtBNEFUcmVhc3VyeQUAAAAIRGFwcF9GZWUFAAAAC0RWUE5Bc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAEWdldE9yaWdpbmFsQ3JhdG9yBQAAAAtSb3lhbHR5X0ZlZQUAAAALRFZQTkFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAQZ2V0QXVjdGlvbkNyYXRvcgUAAAAVZ2V0QXVjdGlvbkNyYXRvckNsYWltBQAAAAtEVlBOQXNzZXRJRAUAAAADbmlsAwkAAAAAAAACBQAAABRnZXRBdWN0aW9uUHJpY2VBc3NldAIAAAACVE4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAPX0F1Y3Rpb25TdGF0dXNfBQAAAAhJUEZTSGFzaAIAAAAFQ2xvc2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADlRvdGFsX05GVF9Tb2xkBQAAAA5Ub3RhbF9OZnRfU29sZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAACV9ORlRfU29sZAUAAAAXVG90YWxfU3BlY2lmaWNfTkZUX1NvbGQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAAC19ORlRfVm9sdW1lBQAAABBUb3RhbF9OZnRfVm9sdW1lCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAFGdldEF1Y3Rpb25QcmljZUFzc2V0AgAAAAxfTkZUX1JveWFsdHkFAAAAEVRvdGFsX05mdF9Sb3lhbHR5CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAFGdldEF1Y3Rpb25QcmljZUFzc2V0AgAAAAxfTkZUX0RhcHBGZWUFAAAAElRvdGFsX05mdF9EYXBwX0ZlZQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAA9fQXVjdGlvbkFtb3VudF8FAAAACElQRlNIYXNoCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAE19BdWN0aW9uUHJpY2VBc3NldF8FAAAACElQRlNIYXNoCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAEF9BdWN0aW9uQ3JlYXRvcl8FAAAACElQRlNIYXNoCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAAAQkAAlkAAAABBQAAAA9mZXRjaE5GVEFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALQTRBVHJlYXN1cnkFAAAACERhcHBfRmVlBQAAAAR1bml0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAEWdldE9yaWdpbmFsQ3JhdG9yBQAAAAtSb3lhbHR5X0ZlZQUAAAAEdW5pdAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAABBnZXRBdWN0aW9uQ3JhdG9yBQAAABVnZXRBdWN0aW9uQ3JhdG9yQ2xhaW0FAAAABHVuaXQFAAAAA25pbAMJAAAAAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQJAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAPX0F1Y3Rpb25TdGF0dXNfBQAAAAhJUEZTSGFzaAIAAAAFQ2xvc2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADlRvdGFsX05GVF9Tb2xkBQAAAA5Ub3RhbF9OZnRfU29sZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAACV9ORlRfU29sZAUAAAAXVG90YWxfU3BlY2lmaWNfTkZUX1NvbGQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAAC19ORlRfVm9sdW1lBQAAABBUb3RhbF9OZnRfVm9sdW1lCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAFGdldEF1Y3Rpb25QcmljZUFzc2V0AgAAAAxfTkZUX1JveWFsdHkFAAAAEVRvdGFsX05mdF9Sb3lhbHR5CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAFGdldEF1Y3Rpb25QcmljZUFzc2V0AgAAAAxfTkZUX0RhcHBGZWUFAAAAElRvdGFsX05mdF9EYXBwX0ZlZQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAA9fQXVjdGlvbkFtb3VudF8FAAAACElQRlNIYXNoCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAE19BdWN0aW9uUHJpY2VBc3NldF8FAAAACElQRlNIYXNoCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAEF9BdWN0aW9uQ3JlYXRvcl8FAAAACElQRlNIYXNoCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAAAQkAAlkAAAABBQAAAA9mZXRjaE5GVEFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALQTRBVHJlYXN1cnkFAAAACERhcHBfRmVlBQAAAAtVU0RUQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAABFnZXRPcmlnaW5hbENyYXRvcgUAAAALUm95YWx0eV9GZWUFAAAAC1VTRFRBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAEGdldEF1Y3Rpb25DcmF0b3IFAAAAFWdldEF1Y3Rpb25DcmF0b3JDbGFpbQUAAAALVVNEVEFzc2V0SUQFAAAAA25pbAMJAAAAAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQJAAJYAAAAAQUAAAAMV0FWRVNBc3NldElECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAD19BdWN0aW9uU3RhdHVzXwUAAAAISVBGU0hhc2gCAAAABUNsb3NlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAA5Ub3RhbF9ORlRfU29sZAUAAAAOVG90YWxfTmZ0X1NvbGQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAAlfTkZUX1NvbGQFAAAAF1RvdGFsX1NwZWNpZmljX05GVF9Tb2xkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAFGdldEF1Y3Rpb25QcmljZUFzc2V0AgAAAAtfTkZUX1ZvbHVtZQUAAAAQVG90YWxfTmZ0X1ZvbHVtZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAABRnZXRBdWN0aW9uUHJpY2VBc3NldAIAAAAMX05GVF9Sb3lhbHR5BQAAABFUb3RhbF9OZnRfUm95YWx0eQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAABRnZXRBdWN0aW9uUHJpY2VBc3NldAIAAAAMX05GVF9EYXBwRmVlBQAAABJUb3RhbF9OZnRfRGFwcF9GZWUJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAPX0F1Y3Rpb25BbW91bnRfBQAAAAhJUEZTSGFzaAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAABNfQXVjdGlvblByaWNlQXNzZXRfBQAAAAhJUEZTSGFzaAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAABBfQXVjdGlvbkNyZWF0b3JfBQAAAAhJUEZTSGFzaAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIAAAAAAAAAAAEJAAJZAAAAAQUAAAAPZmV0Y2hORlRBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAC0E0QVRyZWFzdXJ5BQAAAAhEYXBwX0ZlZQUAAAAMV0FWRVNBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAEWdldE9yaWdpbmFsQ3JhdG9yBQAAAAtSb3lhbHR5X0ZlZQUAAAAMV0FWRVNBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAEGdldEF1Y3Rpb25DcmF0b3IFAAAAFWdldEF1Y3Rpb25DcmF0b3JDbGFpbQUAAAAMV0FWRVNBc3NldElEBQAAAANuaWwDCQAAAAAAAAIFAAAAFGdldEF1Y3Rpb25QcmljZUFzc2V0CQACWAAAAAEFAAAAClhIVkFzc2V0SUQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAPX0F1Y3Rpb25TdGF0dXNfBQAAAAhJUEZTSGFzaAIAAAAFQ2xvc2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADlRvdGFsX05GVF9Tb2xkBQAAAA5Ub3RhbF9OZnRfU29sZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAACV9ORlRfU29sZAUAAAAXVG90YWxfU3BlY2lmaWNfTkZUX1NvbGQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAAC19ORlRfVm9sdW1lBQAAABBUb3RhbF9OZnRfVm9sdW1lCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAFGdldEF1Y3Rpb25QcmljZUFzc2V0AgAAAAxfTkZUX1JveWFsdHkFAAAAEVRvdGFsX05mdF9Sb3lhbHR5CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAFGdldEF1Y3Rpb25QcmljZUFzc2V0AgAAAAxfTkZUX0RhcHBGZWUFAAAAElRvdGFsX05mdF9EYXBwX0ZlZQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAA9fQXVjdGlvbkFtb3VudF8FAAAACElQRlNIYXNoCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAE19BdWN0aW9uUHJpY2VBc3NldF8FAAAACElQRlNIYXNoCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAEF9BdWN0aW9uQ3JlYXRvcl8FAAAACElQRlNIYXNoCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAAAQkAAlkAAAABBQAAAA9mZXRjaE5GVEFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALQTRBVHJlYXN1cnkFAAAACERhcHBfRmVlBQAAAApYSFZBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAEWdldE9yaWdpbmFsQ3JhdG9yBQAAAAtSb3lhbHR5X0ZlZQUAAAAKWEhWQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAABBnZXRBdWN0aW9uQ3JhdG9yBQAAABVnZXRBdWN0aW9uQ3JhdG9yQ2xhaW0FAAAAClhIVkFzc2V0SUQFAAAAA25pbAMJAAAAAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQJAAJYAAAAAQUAAAAKWE1SQXNzZXRJRAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAA9fQXVjdGlvblN0YXR1c18FAAAACElQRlNIYXNoAgAAAAVDbG9zZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAOVG90YWxfTkZUX1NvbGQFAAAADlRvdGFsX05mdF9Tb2xkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAJX05GVF9Tb2xkBQAAABdUb3RhbF9TcGVjaWZpY19ORlRfU29sZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAABRnZXRBdWN0aW9uUHJpY2VBc3NldAIAAAALX05GVF9Wb2x1bWUFAAAAEFRvdGFsX05mdF9Wb2x1bWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAADF9ORlRfUm95YWx0eQUAAAARVG90YWxfTmZ0X1JveWFsdHkJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAADF9ORlRfRGFwcEZlZQUAAAASVG90YWxfTmZ0X0RhcHBfRmVlCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAD19BdWN0aW9uQW1vdW50XwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAATX0F1Y3Rpb25QcmljZUFzc2V0XwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAQX0F1Y3Rpb25DcmVhdG9yXwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAABCQACWQAAAAEFAAAAD2ZldGNoTkZUQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtBNEFUcmVhc3VyeQUAAAAIRGFwcF9GZWUFAAAAClhNUkFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAARZ2V0T3JpZ2luYWxDcmF0b3IFAAAAC1JveWFsdHlfRmVlBQAAAApYTVJBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAEGdldEF1Y3Rpb25DcmF0b3IFAAAAFWdldEF1Y3Rpb25DcmF0b3JDbGFpbQUAAAAKWE1SQXNzZXRJRAUAAAADbmlsAwkAAAAAAAACBQAAABRnZXRBdWN0aW9uUHJpY2VBc3NldAkAAlgAAAABBQAAAAt4VVNEQXNzZXRJRAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAdDb3VudGVyAgAAAA9fQXVjdGlvblN0YXR1c18FAAAACElQRlNIYXNoAgAAAAVDbG9zZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAOVG90YWxfTkZUX1NvbGQFAAAADlRvdGFsX05mdF9Tb2xkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAJX05GVF9Tb2xkBQAAABdUb3RhbF9TcGVjaWZpY19ORlRfU29sZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAABRnZXRBdWN0aW9uUHJpY2VBc3NldAIAAAALX05GVF9Wb2x1bWUFAAAAEFRvdGFsX05mdF9Wb2x1bWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAADF9ORlRfUm95YWx0eQUAAAARVG90YWxfTmZ0X1JveWFsdHkJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAUZ2V0QXVjdGlvblByaWNlQXNzZXQCAAAADF9ORlRfRGFwcEZlZQUAAAASVG90YWxfTmZ0X0RhcHBfRmVlCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB0NvdW50ZXICAAAAD19BdWN0aW9uQW1vdW50XwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAATX0F1Y3Rpb25QcmljZUFzc2V0XwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAHQ291bnRlcgIAAAAQX0F1Y3Rpb25DcmVhdG9yXwUAAAAISVBGU0hhc2gJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAABCQACWQAAAAEFAAAAD2ZldGNoTkZUQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtBNEFUcmVhc3VyeQUAAAAIRGFwcF9GZWUFAAAAC3hVU0RBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAEWdldE9yaWdpbmFsQ3JhdG9yBQAAAAtSb3lhbHR5X0ZlZQUAAAALeFVTREFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAQZ2V0QXVjdGlvbkNyYXRvcgUAAAAVZ2V0QXVjdGlvbkNyYXRvckNsYWltBQAAAAt4VVNEQXNzZXRJRAUA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", "height": 2399531, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let A4AAssetID = base58'8hdsVCxPBVEmVUZyyX8Sd98Z9hU7Fny26W96sjKiTw8g'
5+
6+let BTCAssetID = base58'6B7j2Q8B8JA6CScbS1cJx9ms4PvGrJoWQrW5bEpgp1dm'
7+
8+let CASHAssetID = base58'37n4vgAUKaox1mNeE7vb45V1AWbUMsyrtq7fMVGkL8f1'
9+
10+let CODEAssetID = base58'EB4CUQH4fHzzQt9YjcHtA6T7uosHNH9RnQKHgBdZHPCB'
11+
12+let DVPNAssetID = base58'BMXhcpQBKwukPP578umgB3HXNk6YNBdoeT4F1DyRKvck'
13+
14+let WAVESAssetID = base58'EzwaF58ssALcUCZ9FbyeD1GTSteoZAQZEDTqBAXHfq8y'
15+
16+let USDTAssetID = base58'7RB3BWayeCVPq3kkpkeJZAFv2DYCB5gEwnutEpRofaw4'
17+
18+let XHVAssetID = base58'9ryyxYw3NFNHhRjXyG956uHEjF75jwGfHFR1JmN1tBdw'
19+
20+let XMRAssetID = base58'BknLVPoKrWowgH946guVqLNsCZe1aFQaXS5GseFZCo99'
21+
22+let xUSDAssetID = base58'F3or3Nn6NTcSkRvzqtoCoyuCfdqNSuP8rjLboS2AemPL'
23+
24+let message = "<h1>Thanks for Placing Instant buy order for NFT.</h1><br>"
25+
26+let NFTSwapFee = 25
27+
28+let Royalty = 25
29+
30+let A4ATreasury = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR'
31+
32+@Callable(i)
33+func IssueNFTSeries (NFTDescription,IPFSHash,IPFSHashLink,Format) = {
34+ let currentKey = toBase58String(i.caller.bytes)
35+ let NFTMintFee = 50000000000
36+ let pmt = if ((size(i.payments) == 1))
37+ then i.payments[0]
38+ else throw("500 TN Token is required as Attached payment")
39+ let NFTSeriesName = "A4ADAO"
40+ let getIPFSHash = getString(this, ("HASH_" + IPFSHash))
41+ let getSeriesCounter = match getInteger(this, "Counter") {
42+ case a: Int =>
43+ a
44+ case _ =>
45+ 0
46+ }
47+ let CurrentSeriesCounter = (getSeriesCounter + 1)
48+ let asset = Issue(((NFTSeriesName + "-") + toString(CurrentSeriesCounter)), ((NFTDescription + ". Hash:") + IPFSHash), 1, 0, false, unit, 0)
49+ let getassetId = calculateAssetId(asset)
50+ if (isDefined(pmt.assetId))
51+ then throw("Wrong Asset Attached please attach only 500 TN Tokens to mint NFT.")
52+ else if ((pmt.amount != NFTMintFee))
53+ then throw((("500 TN Token is required as Attached payment amount. You attached only [int: " + toString(pmt.amount)) + "]"))
54+ else if ((getIPFSHash == IPFSHash))
55+ then throw((IPFSHash + " Hash Already Registered"))
56+ else [asset, IntegerEntry("Counter", CurrentSeriesCounter), IntegerEntry(((toString(CurrentSeriesCounter) + "_Likes_") + IPFSHash), 0), IntegerEntry(((toString(CurrentSeriesCounter) + "_Backup_") + IPFSHash), 0), StringEntry(((toString(CurrentSeriesCounter) + "_Format_") + IPFSHash), Format), StringEntry(((toString(CurrentSeriesCounter) + "_AssetID_") + IPFSHash), toBase58String(getassetId)), IntegerEntry(((toString(CurrentSeriesCounter) + "_Timestamp_") + IPFSHash), lastBlock.timestamp), IntegerEntry(((toString(CurrentSeriesCounter) + "_BlockHeight_") + IPFSHash), height), StringEntry(((toString(CurrentSeriesCounter) + "_HASH_") + IPFSHash), IPFSHash), StringEntry(("HASH_" + IPFSHash), IPFSHash), StringEntry(((toString(CurrentSeriesCounter) + "_Creator_") + IPFSHash), currentKey), StringEntry(((toString(CurrentSeriesCounter) + "_Description_") + IPFSHash), NFTDescription), StringEntry(((toString(CurrentSeriesCounter) + "_Link_") + IPFSHash), IPFSHashLink), StringEntry(((toString(CurrentSeriesCounter) + "_AuctionStatus_") + IPFSHash), "Close"), ScriptTransfer(i.caller, 1, getassetId), ScriptTransfer(addressFromPublicKey(A4ATreasury), pmt.amount, unit)]
57+ }
58+
59+
60+
61+@Callable(i)
62+func AddLikes (Counter,IPFSHash) = {
63+ let currentKey = toBase58String(i.caller.bytes)
64+ let NFTLikeFee = 10000000
65+ let pmt = if ((size(i.payments) == 1))
66+ then i.payments[0]
67+ else throw("0.1 CODE Token is required as Attached payment")
68+ let getIPFSHash = getString(this, ("HASH_" + IPFSHash))
69+ let getLikesCounter = match getInteger(this, ((toString(Counter) + "_Likes_") + IPFSHash)) {
70+ case a: Int =>
71+ a
72+ case _ =>
73+ 0
74+ }
75+ let CurrentSeriesCounter = (getLikesCounter + 1)
76+ if ((pmt.assetId != CODEAssetID))
77+ then throw("Please Attach CODE asset only.")
78+ else if ((pmt.amount != NFTLikeFee))
79+ then throw((("0.1 CODE Token is required as Attached payment amount. You attached only [int: " + toString(pmt.amount)) + "]"))
80+ else if ((getIPFSHash != IPFSHash))
81+ then throw(((" Input Hash [" + IPFSHash) + "] is not an Registered one."))
82+ else [IntegerEntry(((toString(Counter) + "_Likes_") + IPFSHash), CurrentSeriesCounter), ScriptTransfer(addressFromPublicKey(A4ATreasury), pmt.amount, CODEAssetID), StringEntry("message", "<h1>Thanks for the Like❤️!</h1><br>")]
83+ }
84+
85+
86+
87+@Callable(i)
88+func AddBackupValue (Counter,IPFSHash) = {
89+ let currentKey = toBase58String(i.caller.bytes)
90+ let MinimumBackupValue = 1
91+ let pmt = if ((size(i.payments) == 1))
92+ then i.payments[0]
93+ else throw("USDT Token is required as Attached payment to Add Backup Value.")
94+ let getIPFSHash = getString(this, ("HASH_" + IPFSHash))
95+ let getBackupValue = match getInteger(this, ((toString(Counter) + "_Backup_") + IPFSHash)) {
96+ case a: Int =>
97+ a
98+ case _ =>
99+ 0
100+ }
101+ let TotalBackupValue = (getBackupValue + pmt.amount)
102+ let getSumupBackupValueAllNFT = match getInteger(this, "All_NFTs_Backup_Value") {
103+ case a: Int =>
104+ a
105+ case _ =>
106+ 0
107+ }
108+ let SumupBackupValueAllNFT = (getSumupBackupValueAllNFT + pmt.amount)
109+ if ((pmt.assetId != USDTAssetID))
110+ then throw("Please Attach USDT asset only.")
111+ else if ((pmt.amount != MinimumBackupValue))
112+ then throw((("0.000001 USDT Token is required as Attached payment amount. You attached only [int: " + toString(pmt.amount)) + "]"))
113+ else if ((getIPFSHash != IPFSHash))
114+ then throw(((" Input Hash [" + IPFSHash) + "] is not an Registered one."))
115+ else [IntegerEntry(((toString(Counter) + "_Backup_") + IPFSHash), TotalBackupValue), IntegerEntry("All_NFTs_Backup_Value", SumupBackupValueAllNFT), ScriptTransfer(addressFromPublicKey(A4ATreasury), pmt.amount, USDTAssetID), StringEntry("message", "<h1>Thanks for Adding Backup Value 💵 to NFT.!</h1><br>")]
116+ }
117+
118+
119+
120+@Callable(i)
121+func InstantNFTAuction (Counter,IPFSHash,NFTAsset,AuctionPrice,ReceiveAsset) = {
122+ let currentKey = toBase58String(i.caller.bytes)
123+ let MinimumAuctionValue = 100000
124+ let MaximumAuctionValue = 100000000000000
125+ let getIPFSHash = getString(this, ("HASH_" + IPFSHash))
126+ let fetchNFTAssetID = getStringValue(this, ((toString(Counter) + "_AssetID_") + IPFSHash))
127+ let fetchNFTAuctionStatus = getStringValue(this, ((toString(Counter) + "_AuctionStatus_") + IPFSHash))
128+ let pmt = if ((size(i.payments) == 1))
129+ then i.payments[0]
130+ else throw("Please Attach NFT AssetID in Payment.")
131+ if ((getIPFSHash != IPFSHash))
132+ then throw(((" Input Hash [" + IPFSHash) + "] is not an Registered one."))
133+ else if ((pmt.assetId != fromBase58String(NFTAsset)))
134+ then throw("Entered 'NFTAsset' for Sale must match with Attached Asset.")
135+ else if ((NFTAsset != fetchNFTAssetID))
136+ then throw("Entered AssetID not found in the DApp. Be Ensure it's being minted by A4ADAO.")
137+ else if ((pmt.amount != 1))
138+ then throw("Attached Asset amount must be 1 to meet NFT Creteria.")
139+ else if ((fetchNFTAuctionStatus == "Open"))
140+ then throw("NFT is already under Auction for Selling.")
141+ else if ((MinimumAuctionValue >= AuctionPrice))
142+ then throw((("Auction Price is must be more than " + toString(MinimumAuctionValue)) + "-[Int]"))
143+ else if ((AuctionPrice > MaximumAuctionValue))
144+ then throw((("Auction Price is must be less than " + toString(MaximumAuctionValue)) + "-[Int]"))
145+ else if ((ReceiveAsset == "A4A"))
146+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Open"), IntegerEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash), AuctionPrice), StringEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash), toBase58String(A4AAssetID)), StringEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash), currentKey), StringEntry("message", message)]
147+ else if ((ReceiveAsset == "BTC"))
148+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Open"), IntegerEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash), AuctionPrice), StringEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash), toBase58String(BTCAssetID)), StringEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash), currentKey), StringEntry("message", message)]
149+ else if ((ReceiveAsset == "CASH"))
150+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Open"), IntegerEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash), AuctionPrice), StringEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash), toBase58String(CASHAssetID)), StringEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash), currentKey), StringEntry("message", message)]
151+ else if ((ReceiveAsset == "CODE"))
152+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Open"), IntegerEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash), AuctionPrice), StringEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash), toBase58String(CODEAssetID)), StringEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash), currentKey), StringEntry("message", message)]
153+ else if ((ReceiveAsset == "DVPN"))
154+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Open"), IntegerEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash), AuctionPrice), StringEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash), toBase58String(DVPNAssetID)), StringEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash), currentKey), StringEntry("message", message)]
155+ else if ((ReceiveAsset == "TN"))
156+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Open"), IntegerEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash), AuctionPrice), StringEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash), "TN"), StringEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash), currentKey), StringEntry("message", message)]
157+ else if ((ReceiveAsset == "USDT"))
158+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Open"), IntegerEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash), AuctionPrice), StringEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash), toBase58String(USDTAssetID)), StringEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash), currentKey), StringEntry("message", message)]
159+ else if ((ReceiveAsset == "WAVES"))
160+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Open"), IntegerEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash), AuctionPrice), StringEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash), toBase58String(WAVESAssetID)), StringEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash), currentKey), StringEntry("message", message)]
161+ else if ((ReceiveAsset == "XHV"))
162+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Open"), IntegerEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash), AuctionPrice), StringEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash), toBase58String(XHVAssetID)), StringEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash), currentKey), StringEntry("message", message)]
163+ else if ((ReceiveAsset == "XMR"))
164+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Open"), IntegerEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash), AuctionPrice), StringEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash), toBase58String(XMRAssetID)), StringEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash), currentKey), StringEntry("message", message)]
165+ else if ((ReceiveAsset == "xUSD"))
166+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Open"), IntegerEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash), AuctionPrice), StringEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash), toBase58String(xUSDAssetID)), StringEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash), currentKey), StringEntry("message", message)]
167+ else throw("Only Whitelisted Asseted are accepted for Instant NFT Auction.")
168+ }
169+
170+
171+
172+@Callable(i)
173+func InstantBuy (Counter,IPFSHash,NFTAsset) = {
174+ let calleraddress = toBase58String(i.caller.bytes)
175+ let fetchNFTAuctionStatus = getStringValue(this, ((toString(Counter) + "_AuctionStatus_") + IPFSHash))
176+ let pmt = if ((size(i.payments) == 1))
177+ then i.payments[0]
178+ else throw("Auction Price AssetID is Required as Payment Here.")
179+ let getIPFSHash = getString(this, ("HASH_" + IPFSHash))
180+ let fetchNFTAssetID = getStringValue(this, ((toString(Counter) + "_AssetID_") + IPFSHash))
181+ let getAuctionCrator = getStringValue(this, ((toString(Counter) + "_AuctionCreator_") + IPFSHash))
182+ let getOriginalCrator = getStringValue(this, ((toString(Counter) + "_Creator_") + IPFSHash))
183+ let getAuctionPrice = getIntegerValue(this, ((toString(Counter) + "_AuctionAmount_") + IPFSHash))
184+ let getAuctionPriceAsset = getStringValue(this, ((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash))
185+ let Dapp_Fee = fraction(getAuctionPrice, NFTSwapFee, 1000)
186+ let Royalty_Fee = fraction(getAuctionPrice, Royalty, 1000)
187+ let getAuctionCratorClaim = ((getAuctionPrice - Dapp_Fee) - Royalty_Fee)
188+ let NFT_Sold = match getInteger(this, "Total_NFT_Sold") {
189+ case a: Int =>
190+ a
191+ case _ =>
192+ 0
193+ }
194+ let Total_Nft_Sold = (NFT_Sold + 1)
195+ let Specific_NFT_Sold = match getInteger(this, (toString(Counter) + "_NFT_Sold")) {
196+ case a: Int =>
197+ a
198+ case _ =>
199+ 0
200+ }
201+ let Total_Specific_NFT_Sold = (Specific_NFT_Sold + 1)
202+ let NFT_Volume = match getInteger(this, (getAuctionPriceAsset + "_NFT_Volume")) {
203+ case a: Int =>
204+ a
205+ case _ =>
206+ 0
207+ }
208+ let Total_Nft_Volume = (NFT_Volume + getAuctionPrice)
209+ let NFT_Royalty = match getInteger(this, (getAuctionPriceAsset + "_NFT_Royalty")) {
210+ case a: Int =>
211+ a
212+ case _ =>
213+ 0
214+ }
215+ let Total_Nft_Royalty = (NFT_Royalty + Royalty_Fee)
216+ let NFT_Dapp_Fee = match getInteger(this, (getAuctionPriceAsset + "_NFT_DappFee")) {
217+ case a: Int =>
218+ a
219+ case _ =>
220+ 0
221+ }
222+ let Total_Nft_Dapp_Fee = (NFT_Dapp_Fee + Dapp_Fee)
223+ if ((getIPFSHash != IPFSHash))
224+ then throw(((" Input Hash [" + IPFSHash) + "] is not an Registered one."))
225+ else if ((NFTAsset != fetchNFTAssetID))
226+ then throw("Entered AssetID not found in the DApp. Be Ensure it's being minted by A4ADAO.")
227+ else if ((fetchNFTAuctionStatus == "Close"))
228+ then throw("NFT is not under Auction for Selling.")
229+ else if ((pmt.amount != getAuctionPrice))
230+ then throw((((("Attached Asset Amount must be " + getAuctionPriceAsset) + " equal to Auction Price. Which is ") + toString(getAuctionPrice)) + "-[Int]"))
231+ else if ((getAuctionPriceAsset == toBase58String(A4AAssetID)))
232+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Close"), IntegerEntry("Total_NFT_Sold", Total_Nft_Sold), IntegerEntry((toString(Counter) + "_NFT_Sold"), Total_Specific_NFT_Sold), IntegerEntry((getAuctionPriceAsset + "_NFT_Volume"), Total_Nft_Volume), IntegerEntry((getAuctionPriceAsset + "_NFT_Royalty"), Total_Nft_Royalty), IntegerEntry((getAuctionPriceAsset + "_NFT_DappFee"), Total_Nft_Dapp_Fee), DeleteEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash)), ScriptTransfer(i.caller, 1, fromBase58String(fetchNFTAssetID)), ScriptTransfer(addressFromPublicKey(A4ATreasury), Dapp_Fee, A4AAssetID), ScriptTransfer(addressFromStringValue(getOriginalCrator), Royalty_Fee, A4AAssetID), ScriptTransfer(addressFromStringValue(getAuctionCrator), getAuctionCratorClaim, A4AAssetID)]
233+ else if ((getAuctionPriceAsset == toBase58String(BTCAssetID)))
234+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Close"), IntegerEntry("Total_NFT_Sold", Total_Nft_Sold), IntegerEntry((toString(Counter) + "_NFT_Sold"), Total_Specific_NFT_Sold), IntegerEntry((getAuctionPriceAsset + "_NFT_Volume"), Total_Nft_Volume), IntegerEntry((getAuctionPriceAsset + "_NFT_Royalty"), Total_Nft_Royalty), IntegerEntry((getAuctionPriceAsset + "_NFT_DappFee"), Total_Nft_Dapp_Fee), DeleteEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash)), ScriptTransfer(i.caller, 1, fromBase58String(fetchNFTAssetID)), ScriptTransfer(addressFromPublicKey(A4ATreasury), Dapp_Fee, BTCAssetID), ScriptTransfer(addressFromStringValue(getOriginalCrator), Royalty_Fee, BTCAssetID), ScriptTransfer(addressFromStringValue(getAuctionCrator), getAuctionCratorClaim, BTCAssetID)]
235+ else if ((getAuctionPriceAsset == toBase58String(CASHAssetID)))
236+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Close"), IntegerEntry("Total_NFT_Sold", Total_Nft_Sold), IntegerEntry((toString(Counter) + "_NFT_Sold"), Total_Specific_NFT_Sold), IntegerEntry((getAuctionPriceAsset + "_NFT_Volume"), Total_Nft_Volume), IntegerEntry((getAuctionPriceAsset + "_NFT_Royalty"), Total_Nft_Royalty), IntegerEntry((getAuctionPriceAsset + "_NFT_DappFee"), Total_Nft_Dapp_Fee), DeleteEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash)), ScriptTransfer(i.caller, 1, fromBase58String(fetchNFTAssetID)), ScriptTransfer(addressFromPublicKey(A4ATreasury), Dapp_Fee, CASHAssetID), ScriptTransfer(addressFromStringValue(getOriginalCrator), Royalty_Fee, CASHAssetID), ScriptTransfer(addressFromStringValue(getAuctionCrator), getAuctionCratorClaim, CASHAssetID)]
237+ else if ((getAuctionPriceAsset == toBase58String(CODEAssetID)))
238+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Close"), IntegerEntry("Total_NFT_Sold", Total_Nft_Sold), IntegerEntry((toString(Counter) + "_NFT_Sold"), Total_Specific_NFT_Sold), IntegerEntry((getAuctionPriceAsset + "_NFT_Volume"), Total_Nft_Volume), IntegerEntry((getAuctionPriceAsset + "_NFT_Royalty"), Total_Nft_Royalty), IntegerEntry((getAuctionPriceAsset + "_NFT_DappFee"), Total_Nft_Dapp_Fee), DeleteEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash)), ScriptTransfer(i.caller, 1, fromBase58String(fetchNFTAssetID)), ScriptTransfer(addressFromPublicKey(A4ATreasury), Dapp_Fee, CODEAssetID), ScriptTransfer(addressFromStringValue(getOriginalCrator), Royalty_Fee, CODEAssetID), ScriptTransfer(addressFromStringValue(getAuctionCrator), getAuctionCratorClaim, CODEAssetID)]
239+ else if ((getAuctionPriceAsset == toBase58String(DVPNAssetID)))
240+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Close"), IntegerEntry("Total_NFT_Sold", Total_Nft_Sold), IntegerEntry((toString(Counter) + "_NFT_Sold"), Total_Specific_NFT_Sold), IntegerEntry((getAuctionPriceAsset + "_NFT_Volume"), Total_Nft_Volume), IntegerEntry((getAuctionPriceAsset + "_NFT_Royalty"), Total_Nft_Royalty), IntegerEntry((getAuctionPriceAsset + "_NFT_DappFee"), Total_Nft_Dapp_Fee), DeleteEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash)), ScriptTransfer(i.caller, 1, fromBase58String(fetchNFTAssetID)), ScriptTransfer(addressFromPublicKey(A4ATreasury), Dapp_Fee, DVPNAssetID), ScriptTransfer(addressFromStringValue(getOriginalCrator), Royalty_Fee, DVPNAssetID), ScriptTransfer(addressFromStringValue(getAuctionCrator), getAuctionCratorClaim, DVPNAssetID)]
241+ else if ((getAuctionPriceAsset == "TN"))
242+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Close"), IntegerEntry("Total_NFT_Sold", Total_Nft_Sold), IntegerEntry((toString(Counter) + "_NFT_Sold"), Total_Specific_NFT_Sold), IntegerEntry((getAuctionPriceAsset + "_NFT_Volume"), Total_Nft_Volume), IntegerEntry((getAuctionPriceAsset + "_NFT_Royalty"), Total_Nft_Royalty), IntegerEntry((getAuctionPriceAsset + "_NFT_DappFee"), Total_Nft_Dapp_Fee), DeleteEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash)), ScriptTransfer(i.caller, 1, fromBase58String(fetchNFTAssetID)), ScriptTransfer(addressFromPublicKey(A4ATreasury), Dapp_Fee, unit), ScriptTransfer(addressFromStringValue(getOriginalCrator), Royalty_Fee, unit), ScriptTransfer(addressFromStringValue(getAuctionCrator), getAuctionCratorClaim, unit)]
243+ else if ((getAuctionPriceAsset == toBase58String(USDTAssetID)))
244+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Close"), IntegerEntry("Total_NFT_Sold", Total_Nft_Sold), IntegerEntry((toString(Counter) + "_NFT_Sold"), Total_Specific_NFT_Sold), IntegerEntry((getAuctionPriceAsset + "_NFT_Volume"), Total_Nft_Volume), IntegerEntry((getAuctionPriceAsset + "_NFT_Royalty"), Total_Nft_Royalty), IntegerEntry((getAuctionPriceAsset + "_NFT_DappFee"), Total_Nft_Dapp_Fee), DeleteEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash)), ScriptTransfer(i.caller, 1, fromBase58String(fetchNFTAssetID)), ScriptTransfer(addressFromPublicKey(A4ATreasury), Dapp_Fee, USDTAssetID), ScriptTransfer(addressFromStringValue(getOriginalCrator), Royalty_Fee, USDTAssetID), ScriptTransfer(addressFromStringValue(getAuctionCrator), getAuctionCratorClaim, USDTAssetID)]
245+ else if ((getAuctionPriceAsset == toBase58String(WAVESAssetID)))
246+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Close"), IntegerEntry("Total_NFT_Sold", Total_Nft_Sold), IntegerEntry((toString(Counter) + "_NFT_Sold"), Total_Specific_NFT_Sold), IntegerEntry((getAuctionPriceAsset + "_NFT_Volume"), Total_Nft_Volume), IntegerEntry((getAuctionPriceAsset + "_NFT_Royalty"), Total_Nft_Royalty), IntegerEntry((getAuctionPriceAsset + "_NFT_DappFee"), Total_Nft_Dapp_Fee), DeleteEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash)), ScriptTransfer(i.caller, 1, fromBase58String(fetchNFTAssetID)), ScriptTransfer(addressFromPublicKey(A4ATreasury), Dapp_Fee, WAVESAssetID), ScriptTransfer(addressFromStringValue(getOriginalCrator), Royalty_Fee, WAVESAssetID), ScriptTransfer(addressFromStringValue(getAuctionCrator), getAuctionCratorClaim, WAVESAssetID)]
247+ else if ((getAuctionPriceAsset == toBase58String(XHVAssetID)))
248+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Close"), IntegerEntry("Total_NFT_Sold", Total_Nft_Sold), IntegerEntry((toString(Counter) + "_NFT_Sold"), Total_Specific_NFT_Sold), IntegerEntry((getAuctionPriceAsset + "_NFT_Volume"), Total_Nft_Volume), IntegerEntry((getAuctionPriceAsset + "_NFT_Royalty"), Total_Nft_Royalty), IntegerEntry((getAuctionPriceAsset + "_NFT_DappFee"), Total_Nft_Dapp_Fee), DeleteEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash)), ScriptTransfer(i.caller, 1, fromBase58String(fetchNFTAssetID)), ScriptTransfer(addressFromPublicKey(A4ATreasury), Dapp_Fee, XHVAssetID), ScriptTransfer(addressFromStringValue(getOriginalCrator), Royalty_Fee, XHVAssetID), ScriptTransfer(addressFromStringValue(getAuctionCrator), getAuctionCratorClaim, XHVAssetID)]
249+ else if ((getAuctionPriceAsset == toBase58String(XMRAssetID)))
250+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Close"), IntegerEntry("Total_NFT_Sold", Total_Nft_Sold), IntegerEntry((toString(Counter) + "_NFT_Sold"), Total_Specific_NFT_Sold), IntegerEntry((getAuctionPriceAsset + "_NFT_Volume"), Total_Nft_Volume), IntegerEntry((getAuctionPriceAsset + "_NFT_Royalty"), Total_Nft_Royalty), IntegerEntry((getAuctionPriceAsset + "_NFT_DappFee"), Total_Nft_Dapp_Fee), DeleteEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash)), ScriptTransfer(i.caller, 1, fromBase58String(fetchNFTAssetID)), ScriptTransfer(addressFromPublicKey(A4ATreasury), Dapp_Fee, XMRAssetID), ScriptTransfer(addressFromStringValue(getOriginalCrator), Royalty_Fee, XMRAssetID), ScriptTransfer(addressFromStringValue(getAuctionCrator), getAuctionCratorClaim, XMRAssetID)]
251+ else if ((getAuctionPriceAsset == toBase58String(xUSDAssetID)))
252+ then [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Close"), IntegerEntry("Total_NFT_Sold", Total_Nft_Sold), IntegerEntry((toString(Counter) + "_NFT_Sold"), Total_Specific_NFT_Sold), IntegerEntry((getAuctionPriceAsset + "_NFT_Volume"), Total_Nft_Volume), IntegerEntry((getAuctionPriceAsset + "_NFT_Royalty"), Total_Nft_Royalty), IntegerEntry((getAuctionPriceAsset + "_NFT_DappFee"), Total_Nft_Dapp_Fee), DeleteEntry(((toString(Counter) + "_AuctionAmount_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash)), DeleteEntry(((toString(Counter) + "_AuctionCreator_") + IPFSHash)), ScriptTransfer(i.caller, 1, fromBase58String(fetchNFTAssetID)), ScriptTransfer(addressFromPublicKey(A4ATreasury), Dapp_Fee, xUSDAssetID), ScriptTransfer(addressFromStringValue(getOriginalCrator), Royalty_Fee, xUSDAssetID), ScriptTransfer(addressFromStringValue(getAuctionCrator), getAuctionCratorClaim, xUSDAssetID)]
253+ else throw("Only Whitelisted Assets are accepted for NFT Direct Auction.")
254+ }
255+
256+
257+
258+@Callable(i)
259+func RevokeAuction (Counter,IPFSHash) = {
260+ let calleraddress = toBase58String(i.caller.bytes)
261+ let getIPFSHash = getString(this, ("HASH_" + IPFSHash))
262+ let fetchNFTAssetID = getStringValue(this, ((toString(Counter) + "_AssetID_") + IPFSHash))
263+ let fetchNFTAuctionStatus = getStringValue(this, ((toString(Counter) + "_AuctionStatus_") + IPFSHash))
264+ let getAuctionCrator = getStringValue(this, ((toString(Counter) + "_AuctionCreator_") + IPFSHash))
265+ let getOriginalCrator = getStringValue(this, ((toString(Counter) + "_Creator_") + IPFSHash))
266+ let getAuctionPrice = getIntegerValue(this, ((toString(Counter) + "_AuctionAmount_") + IPFSHash))
267+ let getAuctionPriceAsset = getStringValue(this, ((toString(Counter) + "_AuctionPriceAsset_") + IPFSHash))
268+ if ((getIPFSHash != IPFSHash))
269+ then throw(((" Input Hash [" + IPFSHash) + "] is not an Registered one."))
270+ else if ((getAuctionCrator != calleraddress))
271+ then throw((("Your are not allowded to use this Function. Only " + getAuctionCrator) + " can use this function."))
272+ else if ((fetchNFTAuctionStatus == "Close"))
273+ then throw("NFT is not in Auction for Selling. Only Active NFT Under Auction can be Revoked.")
274+ else [StringEntry(((toString(Counter) + "_AuctionStatus_") + IPFSHash), "Close"), DeleteEntry(toString(getAuctionPrice)), DeleteEntry(getAuctionPriceAsset), DeleteEntry(getAuctionCrator), ScriptTransfer(i.caller, 1, fromBase58String(fetchNFTAssetID))]
275+ }
276+
277+
278+
279+@Callable(i)
280+func BlacklistToErase (Entry) = {
281+ let adminrights = valueOrErrorMessage(getString(this, "Admin_Rights"), "Admin Rights are Not Included into Smart Contract. Deploy Admin Rights First.")
282+ let calleraddress = toBase58String(i.caller.bytes)
283+ if ((adminrights != calleraddress))
284+ then throw((("Your are not allowded to use this Function. Only " + adminrights) + " can use this function."))
285+ else [DeleteEntry(Entry)]
286+ }
287+
288+
289+@Verifier(tx)
290+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
291+

github/deemru/w8io/169f3d6 
44.46 ms