tx · 6rQg5DHWU9t8EAY15LTu7yAviQR8Rs4h5mqJQRANrKwP

3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK:  -0.02500000 Waves

2022.07.19 19:35 [2146882] smart account 3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK > SELF 0.00000000 Waves

{ "type": 13, "id": "6rQg5DHWU9t8EAY15LTu7yAviQR8Rs4h5mqJQRANrKwP", "fee": 2500000, "feeAssetId": null, "timestamp": 1658248535039, "version": 2, "chainId": 84, "sender": "3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK", "senderPublicKey": "AHY8zupoYc6HPJ5fh1gQiGE9bNZSeifFbcQQ89okxVug", "proofs": [ "2rjMeQ7dzaZyUiUg5kSVpWmMNQ7oUwmZguWXbjQK65tBhWmAzADy3Vu7muPVaFPyqkZieU71PAc67gP8DxCSPR4" ], "script": "base64:BgI1CAISABIAEgASABIDCgEBEgASAwoBARIAEgASAwoBCBIECgIBARIECgIBARIDCgEIEgMKAQgDAAtTdGFrZWRUb2tlbgEg+a5dhaqgwfNcHhVklvUuRcimKrmAG+DKV13AJarHD1AAC0dvdmVyblRva2VuASABbIXC10DGLlfEc7PFC2dO3zpcxegcWHrOz/9RkZaZLQAJZEFwcEFkbWluAiMzTXUzbnd4ekd6ZVFCR3hDS0x5SmNTREttUmlDZWE5RlFTSg4BaQELRGV2V2l0aGRyYXcABApjdXJyZW50S2V5CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMDCQAAAgUKY3VycmVudEtleQUJZEFwcEFkbWluBAxEZXZCb3hBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwIGRGV2Qm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAwkAZgIAAAUMRGV2Qm94QW1vdW50CQACAQISTm90IGVub3VnaCBiYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgZEZXZCb3gAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFDERldkJveEFtb3VudAULR292ZXJuVG9rZW4FA25pbAkAAgECLFlvdSBjYW5ub3Qgd2l0aGRyYXcgYXMgeW91ciBhcmUgbm90IHRoZSBEZXYuAWkBFVdpdGhkcmF3V2Vla2x5RWFybmluZwAEGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQDwBwIFBHRoaXMFC1N0YWtlZFRva2VuBAxNYXhEZXBvc2l0ZXIEByRtYXRjaDAJAJ0IAgUEdGhpcwIMTWF4RGVwb3NpdGVyAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIABBJVc2VyV2Vla2x5RWFybmluZ3MJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgxfV2Vla0Vhcm5pbmcEDFN0YWtlQmFsYW5jZQQHJG1hdGNoMAkAmggCBQR0aGlzAgxTdGFrZUJhbGFuY2UDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEC1ByaXplQW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMCB0Z1bmRCb3gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEFUhlaWdodFRyYW5zYWN0RnVuZEJveAQHJG1hdGNoMAkAmggCBQR0aGlzAgtQcml6ZUhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQUHJpemVIZWlnaHRWYWx1ZQMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAAACBQtQcml6ZUFtb3VudAAABwAAAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFBmhlaWdodAMDCQECIT0CBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAABApjdXJyZW50S2V5CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMECW5ld0Ftb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyV2Vla2x5RWFybmluZ3MDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAADCQBmAgAABQluZXdBbW91bnQJAAIBAh5DYW4ndCB3aXRoZHJhdyBuZWdhdGl2ZSBhbW91bnQDCQBmAgAABQluZXdBbW91bnQJAAIBCQCsAgICQVVzZXIgY2Fubm90IHdpdGhkcmF3IG1vcmUgdGhhbiBkZXBvc2l0ZWQgZnVuZHMsIFlvdXIgZGVwb3NpdCBpczogCQCkAwEJAGkCBQluZXdBbW91bnQAgMLXLwkAzAgCCQEMSW50ZWdlckVudHJ5AgUSVXNlcldlZWtseUVhcm5pbmdzAAAJAMwIAgkBDEludGVnZXJFbnRyeQICC1ByaXplSGVpZ2h0BRBQcml6ZUhlaWdodFZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgpNYXhEZXBvc2l0AAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQluZXdBbW91bnQFC1N0YWtlZFRva2VuBQNuaWwBaQEKUHVzaFJld2FyZAAEDG1pblB1c2hCbG9jawAKBA1taW5TdGFrZUJsb2NrCQBoAgAHAKALBA5EZWxheUFmdGVyUHVzaAA8BAhXYWl0VGltZQkAaAIAoAsAAQQGbWlucmVmAAMEDkZpcnN0UHVzaFRpbWVyCQBoAgAHAKALBBd1c2VyV2FsbGV0R292ZXJuQmFsYW5jZQkA8AcCCQEHQWRkcmVzcwEICAUBaQZjYWxsZXIFYnl0ZXMFC0dvdmVyblRva2VuBANwbXQDCQAAAgkAkAMBCAUBaQhwYXltZW50cwABCQCRAwIIBQFpCHBheW1lbnRzAAAJAAIBAhxBdHRhY2hlZCBwYXltZW50IGlzIHJlcXVpcmVkBAhVc2VyUHVzaAkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCBV9QdXNoBBRVc2VyTGFzdFB1c2hPbGRWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBQhVc2VyUHVzaAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQLVXNlclJlZnNOdW0JAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgVfcmVmcwQQVXNlclJlZnNOdW1WYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBQtVc2VyUmVmc051bQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQSGlnaGVzdFB1c2hWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzAgtIaWdoZXN0UHVzaAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAMJAGYCBRd1c2VyV2FsbGV0R292ZXJuQmFsYW5jZQgFA3BtdAZhbW91bnQDAwkAZgIJAGQCCAUDcG10BmFtb3VudAUUVXNlckxhc3RQdXNoT2xkVmFsdWUFEEhpZ2hlc3RQdXNoVmFsdWUJAAACCAUDcG10B2Fzc2V0SWQFC0dvdmVyblRva2VuBwQRVXNlckxhc3RQdXNoQmxvY2sJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAhJfVXNlckxhc3RQdXNoQmxvY2sEElVzZXJMYXN0U3Rha2VCbG9jawkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCE19Vc2VyTGFzdFN0YWtlQmxvY2sECVVzZXJTdGFrZQkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCCF9TdGFraW5nBBpDb250cmFjdFdhbGxldFN0YWtlQmFsYW5jZQkA8AcCBQR0aGlzBQtTdGFrZWRUb2tlbgQMU3Rha2VCYWxhbmNlBAckbWF0Y2gwCQCaCAIFBHRoaXMCDFN0YWtlQmFsYW5jZQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQLUHJpemVBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwIHRnVuZEJveAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQVSGVpZ2h0VHJhbnNhY3RGdW5kQm94BAckbWF0Y2gwCQCaCAIFBHRoaXMCC1ByaXplSGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBQcml6ZUhlaWdodFZhbHVlAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkAAAIFC1ByaXplQW1vdW50AAAHAAADAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUGaGVpZ2h0AwMJAQIhPQIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAEC0FjdHVhbERlbGF5BAckbWF0Y2gwCQCaCAIFBHRoaXMCBURlbGF5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBJIaWdoZXN0UHVzaEFkZHJlc3MEByRtYXRjaDAJAJoIAgUEdGhpcwISSGlnaGVzdFB1c2hBZGRyZXNzAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBZVc2VyTGFzdFB1c2hCbG9ja1ZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFEVVzZXJMYXN0UHVzaEJsb2NrAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBdVc2VyTGFzdFN0YWtlQmxvY2tWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyTGFzdFN0YWtlQmxvY2sDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEDlVzZXJTdGFrZVZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFCVVzZXJTdGFrZQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQNRGV2Qm94QmFsYW5jZQQHJG1hdGNoMAkAmggCBQR0aGlzAgZEZXZCb3gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEDERldkJveEFtb3VudAkAZAIFDURldkJveEJhbGFuY2UJAGkCCQBoAggFA3BtdAZhbW91bnQABQDoBwQNVXNlclB1c2h2YWx1ZQkAZAIIBQNwbXQGYW1vdW50BRRVc2VyTGFzdFB1c2hPbGRWYWx1ZQQITmV3RGVsYXkDAwkAZgIFBmhlaWdodAkAZAIJAGQCBRBQcml6ZUhlaWdodFZhbHVlBQtBY3R1YWxEZWxheQUIV2FpdFRpbWUJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAAHBQ5GaXJzdFB1c2hUaW1lcgkAZAIFC0FjdHVhbERlbGF5BQ5EZWxheUFmdGVyUHVzaAQXSGlnaGVzdFB1c2hBZGRyZXNzVmFsdWUDAwkAZgIFBmhlaWdodAkAZAIJAGQCBRBQcml6ZUhlaWdodFZhbHVlBQhOZXdEZWxheQUIV2FpdFRpbWUJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAAHAgAFEkhpZ2hlc3RQdXNoQWRkcmVzcwQTUHJpemVIZWlnaHRWYWx1ZU5ldwMDCQBmAgUGaGVpZ2h0CQBkAgkAZAIFEFByaXplSGVpZ2h0VmFsdWUFCE5ld0RlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcFBmhlaWdodAUQUHJpemVIZWlnaHRWYWx1ZQMDCQBmAgUNVXNlclB1c2h2YWx1ZQAACQBmAgkAZQIFBmhlaWdodAUXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUFDW1pblN0YWtlQmxvY2sHAwkAZgIJAGUCBQZoZWlnaHQFFlVzZXJMYXN0UHVzaEJsb2NrVmFsdWUFDG1pblB1c2hCbG9jawMJAGYCBQ5Vc2VyU3Rha2VWYWx1ZQAAAwkAZgIFDVVzZXJQdXNodmFsdWUFEEhpZ2hlc3RQdXNoVmFsdWUDCQBmAgULUHJpemVBbW91bnQAAAMDAwMJAGcCCQBkAgUTUHJpemVIZWlnaHRWYWx1ZU5ldwUITmV3RGVsYXkFBmhlaWdodAYJAGcCBQZoZWlnaHQJAGQCCQBkAgUTUHJpemVIZWlnaHRWYWx1ZU5ldwUITmV3RGVsYXkFCFdhaXRUaW1lCQBmAgUQSGlnaGVzdFB1c2hWYWx1ZQAABwYJAAACBRBIaWdoZXN0UHVzaFZhbHVlAAADCQBnAgUQVXNlclJlZnNOdW1WYWx1ZQUGbWlucmVmCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQhVc2VyUHVzaAUNVXNlclB1c2h2YWx1ZQkAzAgCCQELU3RyaW5nRW50cnkCAhJIaWdoZXN0UHVzaEFkZHJlc3MJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkAzAgCCQEMSW50ZWdlckVudHJ5AgILSGlnaGVzdFB1c2gFDVVzZXJQdXNodmFsdWUJAMwIAgkBDEludGVnZXJFbnRyeQIFEVVzZXJMYXN0UHVzaEJsb2NrBQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQICC1ByaXplSGVpZ2h0BRNQcml6ZUhlaWdodFZhbHVlTmV3CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgVEZWxheQUITmV3RGVsYXkJAMwIAgkBDEludGVnZXJFbnRyeQICBkRldkJveAUMRGV2Qm94QW1vdW50BQNuaWwJAAIBCQCsAgIJAKwCAgIRWW91IGhhdmUgdG8gaGF2ZSAJAKQDAQUGbWlucmVmAjwgcmVmZXJyYWxzIGFscmVhZHkgc3Rha2luZyBmb3IgYSBtaW5pbXVtIG9mIDEwIGRheXMsIHRvIHB1c2gEA3R4dAMJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAACT1lvdSBjYW5ub3QgUHVzaCBhZnRlciByZXdhcmRpbmcgUHJpemUgYW5kIGJlZm9yZSBPbmUgZGF5IGhhcyBwYXNzZWQgYWZ0ZXIgYXdhcmQCEFVuZXhwZWN0ZWQgZXJyb3IJAAIBBQN0eHQJAAIBAk5Zb3UgY2Fubm90IHB1c2ggYmVmb3JlIHRoZSByZXdhcmQgaXMgdW5sb2NrZWQsIG5vIHJld2FyZCBoYXMgYmVlbiBkZXRlY3RlZCB5ZXQJAAIBAkNZb3VyIHB1c2ggaW4gdHJvaWthbiB0b2tlbiwgc2hvdWxkIGJlIEhpZ2hlciB0aGFuIGxhc3QgSGlnaGVzdCBQdXNoCQACAQJYVG8gYmUgYWJsZSB0byBwYXJ0aWNpcGF0ZSBpbiBQdXNoaW5nIGZvciB0aGUgcmV3YXJkIHlvdSBuZWVkIHRvIFN0YWtlIEFTSU1JcyBpbiB0aGUgZEFwcAkAAgECNVlvdSBoYXZlIHRvIHdhaXQgMTBtaW4gYmVmb3JlIHlvdSBjYW4gbWFrZSBhIG5ldyBQdXNoCQACAQkArAICAjpZb3VyIFB1c2ggZG90IG5vdCBjb21wbHkgb25lIG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczogAl0xLiBQb3NpdGl2ZSBWYWx1ZSBmb3IgUHVzaCBpbiBUcm9pa2FuIFRva2UKIDIuIE11c3QgU3Rha2VkIEFTSU1JIFRva2VuIGZvciBhIG1pbmltdW0gb2Ygd2VlayAJAAIBCQCsAgIJAKwCAgJ2Q2FuIGRlcG9zaXQgb25seSBwb3NpdGl2ZSBhbW91bnRzIG9mIFRyb2lrYW4gVG9rZW4sIG9yIENoZWNrIHlvdXIgV2FsbGV0IGJhbGFuY2UgaW4gVHJvaWthLCB5b3Ugc2hvdWxkIGhhdmUgbW9yZSB0aGFuIAkApAMBBRBIaWdoZXN0UHVzaFZhbHVlAgggdG8gcHVzaAkAAgECpAFZb3UgZG8gbm90IGhhdmUgZW5vdWdoIFRyb2lrYW4gVG9rZW5zIGluIHlvdXIgV2FsbGV0IEJhbGFuY2UsIFBsZWFzZSBIYXJ2ZXN0IGlmIHlvdSBoYXZlIGVhcm5lZCBUcm9pa2FuIHdhbGxldCBvciB0cmFuc2ZlciB0byB5b3VyIHdhbGxldCBuZWNlc3NhcnkgVHJvaWthbiBhbW91bnQgIQFpAQVTdGFrZQAECFdhaXRUaW1lCQBoAgCgCwABBANwbXQDCQAAAgkAkAMBCAUBaQhwYXltZW50cwABCQCRAwIIBQFpCHBheW1lbnRzAAAJAAIBAhxBdHRhY2hlZCBwYXltZW50IGlzIHJlcXVpcmVkAwMJAGYCCAUDcG10BmFtb3VudAAACQAAAggFA3BtdAdhc3NldElkBQtTdGFrZWRUb2tlbgcEH0dvdmVyblRva2VuU21hcnRDb250cmFjdEJhbGFuY2UJAPAHAgUEdGhpcwULR292ZXJuVG9rZW4EB1VzZXJBUFkJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgRfQVBZBAhVc2VyUHVzaAkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCBV9QdXNoBBJVc2VyU3Rha2VkVG9rZW5LZXkJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAghfU3Rha2luZwQSVXNlckdvdmVyblRva2VuS2V5CQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIJX0Vhcm5pbmdzBBJVc2VyTGFzdFN0YWtlQmxvY2sJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAhNfVXNlckxhc3RTdGFrZUJsb2NrBBhVc2VyU3Rha2VUcmFuc2FjdGlvbnNLZXkJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAhNfU3Rha2VkVHJhbnNhY3Rpb25zBA1BZGRyZXNzSGVpZ2h0CQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIMX1ByaXplSGVpZ2h0BBBVc2VyV2Vla0Vhcm5pbmdzCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIMX1dlZWtFYXJuaW5nBBVVc2VyU3Rha2VUcmFuc2FjdGlvbnMEByRtYXRjaDAJAJoIAgUEdGhpcwUYVXNlclN0YWtlVHJhbnNhY3Rpb25zS2V5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAxNYXhEZXBvc2l0ZXIEByRtYXRjaDAJAJ0IAgUEdGhpcwIMTWF4RGVwb3NpdGVyAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIABA9NYXhEZXBvc2l0QmxvY2sEByRtYXRjaDAJAJoIAgUEdGhpcwIPTWF4RGVwb3NpdEJsb2NrAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABApNYXhEZXBvc2l0BAckbWF0Y2gwCQCaCAIFBHRoaXMCCk1heERlcG9zaXQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEU1heERlcG9zaXRlclZhbHVlAwkAZgIIBQNwbXQGYW1vdW50BQpNYXhEZXBvc2l0CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFDE1heERlcG9zaXRlcgQPTWF4RGVwb3NpdFZhbHVlAwkAZgIIBQNwbXQGYW1vdW50BQpNYXhEZXBvc2l0CAUDcG10BmFtb3VudAUKTWF4RGVwb3NpdAQUTWF4RGVwb3NpdEJsb2NrVmFsdWUDCQBmAggFA3BtdAZhbW91bnQFCk1heERlcG9zaXQFBmhlaWdodAUPTWF4RGVwb3NpdEJsb2NrBA1Vc2VyUHVzaFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFCFVzZXJQdXNoAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBdVc2VyTGFzdFN0YWtlQmxvY2tWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyTGFzdFN0YWtlQmxvY2sDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEGlVzZXJMYXN0U3Rha2VCbG9ja05ld1ZhbHVlAwkAAAIFF1VzZXJMYXN0U3Rha2VCbG9ja1ZhbHVlAAAFBmhlaWdodAUXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUEGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucwkAZAIFFVVzZXJTdGFrZVRyYW5zYWN0aW9ucwABBBhjdXJyZW50QW1vdW50U3Rha2VkVG9rZW4EByRtYXRjaDAJAJoIAgUEdGhpcwUSVXNlclN0YWtlZFRva2VuS2V5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBRuZXdBbW91bnRTdGFrZWRUb2tlbgkAZAIFGGN1cnJlbnRBbW91bnRTdGFrZWRUb2tlbggFA3BtdAZhbW91bnQEGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQDwBwIFBHRoaXMFC1N0YWtlZFRva2VuBAxTdGFrZUJhbGFuY2UEByRtYXRjaDAJAJoIAgUEdGhpcwIMU3Rha2VCYWxhbmNlAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBJTdGFrZUJhbGFuY2VBbW91bnQJAGQCBQxTdGFrZUJhbGFuY2UIBQNwbXQGYW1vdW50BAtQcml6ZUFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzAgdGdW5kQm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBVVc2VyV2Vla0Vhcm5pbmdzVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwUQVXNlcldlZWtFYXJuaW5ncwMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQYY3VycmVudEFtb3VudEdvdmVyblRva2VuBAckbWF0Y2gwCQCaCAIFBHRoaXMFElVzZXJHb3Zlcm5Ub2tlbktleQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQVSGVpZ2h0VHJhbnNhY3RGdW5kQm94BAckbWF0Y2gwCQCaCAIFBHRoaXMCC1ByaXplSGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBQcml6ZUhlaWdodFZhbHVlAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkAAAIFC1ByaXplQW1vdW50AAAHAAADAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUGaGVpZ2h0AwMJAQIhPQIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAEC0FjdHVhbERlbGF5BAckbWF0Y2gwCQCaCAIFBHRoaXMCBURlbGF5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBIaWdoZXN0UHVzaFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMCC0hpZ2hlc3RQdXNoAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBJIaWdoZXN0UHVzaEFkZHJlc3MEByRtYXRjaDAJAJ0IAgUEdGhpcwISSGlnaGVzdFB1c2hBZGRyZXNzAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIABBdIaWdoZXN0UHVzaEFkZHJlc3NWYWx1ZQMDCQBmAgUGaGVpZ2h0CQBkAgkAZAIFEFByaXplSGVpZ2h0VmFsdWUFC0FjdHVhbERlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcCAAUSSGlnaGVzdFB1c2hBZGRyZXNzBBNQcml6ZUhlaWdodFZhbHVlTmV3AwMJAGYCBQZoZWlnaHQJAGQCCQBkAgUQUHJpemVIZWlnaHRWYWx1ZQULQWN0dWFsRGVsYXkFCFdhaXRUaW1lCQBmAgUQSGlnaGVzdFB1c2hWYWx1ZQAABwUGaGVpZ2h0BRBQcml6ZUhlaWdodFZhbHVlAwkAZgIAgMLXLwUfR292ZXJuVG9rZW5TbWFydENvbnRyYWN0QmFsYW5jZQkAAgECPk5vIGVub3VnaCBHb3Zlcm5Ub2tlbiBJbiBDb250cmFjdCwgUGxlYXNlIGRlcG9zaXQgR292ZXJuVG9rZW5zBAZSZXdhcmQDCQAAAgUMU3Rha2VCYWxhbmNlAAAAkE4DCQBmAgUYTmV3VXNlclN0YWtlVHJhbnNhY3Rpb25zAAoJAGgCCQBoAgCQTgUYTmV3VXNlclN0YWtlVHJhbnNhY3Rpb25zCQBkAgABCQBpAgUUbmV3QW1vdW50U3Rha2VkVG9rZW4FDFN0YWtlQmFsYW5jZQkAaAIAkE4JAGQCAAEJAGkCBRRuZXdBbW91bnRTdGFrZWRUb2tlbgUMU3Rha2VCYWxhbmNlBAxVc2VyQVBZVmFsdWUDCQBmAgUYY3VycmVudEFtb3VudEdvdmVyblRva2VuAAAJAGkCCQBoAgBkBQZSZXdhcmQFGGN1cnJlbnRBbW91bnRHb3Zlcm5Ub2tlbgAABBRuZXdBbW91bnRHb3Zlcm5Ub2tlbgkAZAIFGGN1cnJlbnRBbW91bnRHb3Zlcm5Ub2tlbgUGUmV3YXJkCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJVc2VyR292ZXJuVG9rZW5LZXkFFG5ld0Ftb3VudEdvdmVyblRva2VuCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJVc2VyU3Rha2VkVG9rZW5LZXkFFG5ld0Ftb3VudFN0YWtlZFRva2VuCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRhVc2VyU3Rha2VUcmFuc2FjdGlvbnNLZXkFGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucwkAzAgCCQEMSW50ZWdlckVudHJ5AgIMU3Rha2VCYWxhbmNlBRJTdGFrZUJhbGFuY2VBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQICC1ByaXplSGVpZ2h0BRNQcml6ZUhlaWdodFZhbHVlTmV3CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQdVc2VyQVBZBQxVc2VyQVBZVmFsdWUJAMwIAgkBDEludGVnZXJFbnRyeQIFElVzZXJMYXN0U3Rha2VCbG9jawUaVXNlckxhc3RTdGFrZUJsb2NrTmV3VmFsdWUJAMwIAgkBDEludGVnZXJFbnRyeQIFCFVzZXJQdXNoBQ1Vc2VyUHVzaFZhbHVlCQDMCAIJAQtTdHJpbmdFbnRyeQICDE1heERlcG9zaXRlcgURTWF4RGVwb3NpdGVyVmFsdWUJAMwIAgkBDEludGVnZXJFbnRyeQICCk1heERlcG9zaXQFD01heERlcG9zaXRWYWx1ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIPTWF4RGVwb3NpdEJsb2NrBRRNYXhEZXBvc2l0QmxvY2tWYWx1ZQkAzAgCCQELU3RyaW5nRW50cnkCAhJIaWdoZXN0UHVzaEFkZHJlc3MFF0hpZ2hlc3RQdXNoQWRkcmVzc1ZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRBVc2VyV2Vla0Vhcm5pbmdzBRVVc2VyV2Vla0Vhcm5pbmdzVmFsdWUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQZSZXdhcmQFC0dvdmVyblRva2VuBQNuaWwJAAIBAhtDYW4gZGVwb3NpdCBvbmx5IFN0YWtlVG9rZW4BaQETV2l0aGRyYXdTdGFrZWRGdW5kcwEGYW1vdW50BAhXYWl0VGltZQkAaAIAoAsAAQQSVXNlckxhc3RTdGFrZUJsb2NrCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwITX1VzZXJMYXN0U3Rha2VCbG9jawQSVXNlclN0YWtlZFRva2VuS2V5CQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIIX1N0YWtpbmcEElVzZXJHb3Zlcm5Ub2tlbktleQkArAICCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIBXwkA2AQBBQtHb3Zlcm5Ub2tlbgQaQ29udHJhY3RXYWxsZXRTdGFrZUJhbGFuY2UJAPAHAgUEdGhpcwULU3Rha2VkVG9rZW4EF1VzZXJMYXN0U3Rha2VCbG9ja1ZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFElVzZXJMYXN0U3Rha2VCbG9jawMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQMU3Rha2VCYWxhbmNlBAckbWF0Y2gwCQCaCAIFBHRoaXMCDFN0YWtlQmFsYW5jZQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQLUHJpemVBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwIHRnVuZEJveAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQVSGVpZ2h0VHJhbnNhY3RGdW5kQm94BAckbWF0Y2gwCQCaCAIFBHRoaXMCC1ByaXplSGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtBY3R1YWxEZWxheQQHJG1hdGNoMAkAmggCBQR0aGlzAgVEZWxheQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQSGlnaGVzdFB1c2hWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzAgtIaWdoZXN0UHVzaAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQUHJpemVIZWlnaHRWYWx1ZQMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAAACBQtQcml6ZUFtb3VudAAABwAAAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFBmhlaWdodAMDCQECIT0CBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAABBJIaWdoZXN0UHVzaEFkZHJlc3MEByRtYXRjaDAJAJ0IAgUEdGhpcwISSGlnaGVzdFB1c2hBZGRyZXNzAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIABBdIaWdoZXN0UHVzaEFkZHJlc3NWYWx1ZQMDCQBmAgUGaGVpZ2h0CQBkAgkAZAIFEFByaXplSGVpZ2h0VmFsdWUFC0FjdHVhbERlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcCAAUSSGlnaGVzdFB1c2hBZGRyZXNzBBNQcml6ZUhlaWdodFZhbHVlTmV3AwMJAGYCBQZoZWlnaHQJAGQCCQBkAgUQUHJpemVIZWlnaHRWYWx1ZQULQWN0dWFsRGVsYXkFCFdhaXRUaW1lCQBmAgUQSGlnaGVzdFB1c2hWYWx1ZQAABwUGaGVpZ2h0BRBQcml6ZUhlaWdodFZhbHVlBApjdXJyZW50S2V5CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEDWN1cnJlbnRBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwUSVXNlclN0YWtlZFRva2VuS2V5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAluZXdBbW91bnQJAGUCBQ1jdXJyZW50QW1vdW50BQZhbW91bnQEElN0YWtlQmFsYW5jZUFtb3VudAkAZQIFDFN0YWtlQmFsYW5jZQUGYW1vdW50BBpVc2VyTGFzdFN0YWtlQmxvY2tOZXdWYWx1ZQMJAAACBRJTdGFrZUJhbGFuY2VBbW91bnQAAAAABRdVc2VyTGFzdFN0YWtlQmxvY2tWYWx1ZQMJAGYCAAAFBmFtb3VudAkAAgECHkNhbid0IHdpdGhkcmF3IG5lZ2F0aXZlIGFtb3VudAMJAGYCAAAFCW5ld0Ftb3VudAkAAgEJAKwCAgJBVXNlciBjYW5ub3Qgd2l0aGRyYXcgbW9yZSB0aGFuIGRlcG9zaXRlZCBmdW5kcywgWW91ciBkZXBvc2l0IGlzOiAJAKQDAQkAaQIFDWN1cnJlbnRBbW91bnQAgMLXLwMJAGYCAIDC1y8JAPAHAgUEdGhpcwULR292ZXJuVG9rZW4JAAIBCQCsAgICH05vdCBlbm91Z2ggVHJvaWthIEluIENvbnRyYWN0OiAJAKQDAQkAaQIJAPAHAgUEdGhpcwULR292ZXJuVG9rZW4AgMLXLwkAzAgCCQEMSW50ZWdlckVudHJ5AgUSVXNlckdvdmVyblRva2VuS2V5AIDC1y8JAMwIAgkBDEludGVnZXJFbnRyeQIFElVzZXJTdGFrZWRUb2tlbktleQUJbmV3QW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgxTdGFrZUJhbGFuY2UFElN0YWtlQmFsYW5jZUFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgILUHJpemVIZWlnaHQFE1ByaXplSGVpZ2h0VmFsdWVOZXcJAMwIAgkBDEludGVnZXJFbnRyeQIFElVzZXJMYXN0U3Rha2VCbG9jawUaVXNlckxhc3RTdGFrZUJsb2NrTmV3VmFsdWUJAMwIAgkBC1N0cmluZ0VudHJ5AgISSGlnaGVzdFB1c2hBZGRyZXNzBRdIaWdoZXN0UHVzaEFkZHJlc3NWYWx1ZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAgMLXLwULR292ZXJuVG9rZW4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQZhbW91bnQFC1N0YWtlZFRva2VuBQNuaWwBaQEWV2l0aGRyYXdCaWdTdGFrZVJld2FyZAAECFdhaXRUaW1lCQBoAgCgCwABBBhMYXN0QmlnU3Rha2VyUmV3YXJkQmxvY2sJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAhlfTGFzdEJpZ1N0YWtlclJld2FyZEJsb2NrBA9CaWdTdGFrZXJSZXdhcmQJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgpfQmlnU3Rha2VyBBJVc2VyR292ZXJuVG9rZW5LZXkJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAglfRWFybmluZ3MEEkxpbWlXaXRoZHJhd1Jld2FyZAAKBBVVc2VyR292ZXJuVG9rZW5BbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwUSVXNlckdvdmVyblRva2VuS2V5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABB1MYXN0QmlnU3Rha2VyUmV3YXJkQmxvY2tWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBRhMYXN0QmlnU3Rha2VyUmV3YXJkQmxvY2sDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEGUJpZ1N0YWtlclJld2FyZFRvdGFsVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwIUQmlnU3Rha2VyUmV3YXJkVG90YWwDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEC1ByaXplQW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMCB0Z1bmRCb3gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEFUhlaWdodFRyYW5zYWN0RnVuZEJveAQHJG1hdGNoMAkAmggCBQR0aGlzAgtQcml6ZUhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQUHJpemVIZWlnaHRWYWx1ZQMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAAACBQtQcml6ZUFtb3VudAAABwAAAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFBmhlaWdodAMDCQECIT0CBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAABAtBY3R1YWxEZWxheQQHJG1hdGNoMAkAmggCBQR0aGlzAgVEZWxheQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQSGlnaGVzdFB1c2hWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzAgtIaWdoZXN0UHVzaAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQSSGlnaGVzdFB1c2hBZGRyZXNzBAckbWF0Y2gwCQCdCAIFBHRoaXMCEkhpZ2hlc3RQdXNoQWRkcmVzcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAQXSGlnaGVzdFB1c2hBZGRyZXNzVmFsdWUDAwkAZgIFBmhlaWdodAkAZAIJAGQCBRBQcml6ZUhlaWdodFZhbHVlBQtBY3R1YWxEZWxheQUIV2FpdFRpbWUJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAAHAgAFEkhpZ2hlc3RQdXNoQWRkcmVzcwQTUHJpemVIZWlnaHRWYWx1ZU5ldwMDCQBmAgUGaGVpZ2h0CQBkAgkAZAIFEFByaXplSGVpZ2h0VmFsdWUFC0FjdHVhbERlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcFBmhlaWdodAUQUHJpemVIZWlnaHRWYWx1ZQQKY3VycmVudEtleQkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBAZhbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwUPQmlnU3Rha2VyUmV3YXJkAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBJTdGFrZUJhbGFuY2VBbW91bnQJAGUCBRlCaWdTdGFrZXJSZXdhcmRUb3RhbFZhbHVlBQZhbW91bnQEEkJpZ1N0YWtlclJld2FyZFRheAMJAGYCAAAJAGgCCQBpAgUVVXNlckdvdmVyblRva2VuQW1vdW50AOgHCQBlAgDoBwkAaQIJAGgCAOgHCQBlAgUGaGVpZ2h0BR1MYXN0QmlnU3Rha2VyUmV3YXJkQmxvY2tWYWx1ZQkAaAIFEkxpbWlXaXRoZHJhd1Jld2FyZACgCwkAaAIA6AcAgMLXLwkAaAIJAGkCBRVVc2VyR292ZXJuVG9rZW5BbW91bnQA6AcJAGUCAOgHCQBpAgkAaAIA6AcJAGUCBQZoZWlnaHQFHUxhc3RCaWdTdGFrZXJSZXdhcmRCbG9ja1ZhbHVlCQBoAgUSTGltaVdpdGhkcmF3UmV3YXJkAKALAwkAZgIAAAUGYW1vdW50CQACAQkArAICCQCsAgIJAKwCAgIfQ2FuJ3Qgd2l0aGRyYXcgbmVnYXRpdmUgYW1vdW50IAkApAMBCQBlAgUVVXNlckdvdmVyblRva2VuQW1vdW50CQBoAgDoBwCAwtcvAgUgLi4uIAkApAMBBQZhbW91bnQDAwMJAGYCCQBoAgDoBwCAwtcvBRVVc2VyR292ZXJuVG9rZW5BbW91bnQGCQBmAgABBQZhbW91bnQGCQBmAgAACQBlAgUVVXNlckdvdmVyblRva2VuQW1vdW50BRJCaWdTdGFrZXJSZXdhcmRUYXgJAAIBCQCsAgICXE5vIEFTSU1JIHJld2FyZCBhdmFpbGFibGUsIG9yIE5vdCBlbm91Z2ggRWFybmVkIFRyb2lrYW4gVG9rZW5zIHRvIGRvIHRyYW5zYWN0aW9uLCB5b3UgaGF2ZTogCQCkAwEJAGkCBRVVc2VyR292ZXJuVG9rZW5BbW91bnQAgMLXLwMJAGYCBRJTdGFrZUJhbGFuY2VBbW91bnQAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUPQmlnU3Rha2VyUmV3YXJkAAAJAMwIAgkBDEludGVnZXJFbnRyeQICFEJpZ1N0YWtlclJld2FyZFRvdGFsBRJTdGFrZUJhbGFuY2VBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFElVzZXJHb3Zlcm5Ub2tlbktleQkAZQIFFVVzZXJHb3Zlcm5Ub2tlbkFtb3VudAUSQmlnU3Rha2VyUmV3YXJkVGF4CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgtQcml6ZUhlaWdodAUQUHJpemVIZWlnaHRWYWx1ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUYTGFzdEJpZ1N0YWtlclJld2FyZEJsb2NrBQZoZWlnaHQJAMwIAgkBC1N0cmluZ0VudHJ5AgISSGlnaGVzdFB1c2hBZGRyZXNzBRdIaWdoZXN0UHVzaEFkZHJlc3NWYWx1ZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBmFtb3VudAULU3Rha2VkVG9rZW4FA25pbAkAAgECUkJhbGFuY2UgRXJyb3IsIFRvdGFsIEJpZyBTdGFrZXJzIGNhbm5vdCBiZSBuZWdhdGl2ZSwgT3BlcmF0aW9uIHdvbid0IGJlIGF1dGhvcml6ZWQBaQETSGFydmVzdEdvdmVyblRvaWtlbgEGYW1vdW50BBpDb250cmFjdFdhbGxldFN0YWtlQmFsYW5jZQkA8AcCBQR0aGlzBQtTdGFrZWRUb2tlbgQSVXNlckdvdmVyblRva2VuS2V5CQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIJX0Vhcm5pbmdzBAxTdGFrZUJhbGFuY2UEByRtYXRjaDAJAJoIAgUEdGhpcwIMU3Rha2VCYWxhbmNlAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtQcml6ZUFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzAgdGdW5kQm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gEByRtYXRjaDAJAJoIAgUEdGhpcwILUHJpemVIZWlnaHQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEFByaXplSGVpZ2h0VmFsdWUDAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQAAAgULUHJpemVBbW91bnQAAAcAAAMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBQZoZWlnaHQDAwkBAiE9AgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAQKY3VycmVudEtleQkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBA1jdXJyZW50QW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMFElVzZXJHb3Zlcm5Ub2tlbktleQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQJbmV3QW1vdW50CQBlAgUNY3VycmVudEFtb3VudAUGYW1vdW50AwkAZgIAAAUGYW1vdW50CQACAQIeQ2FuJ3Qgd2l0aGRyYXcgbmVnYXRpdmUgYW1vdW50AwkAZgIAAAUJbmV3QW1vdW50CQACAQkArAICAkFVc2VyIGNhbm5vdCB3aXRoZHJhdyBtb3JlIHRoYW4gZGVwb3NpdGVkIGZ1bmRzLCBZb3VyIGRlcG9zaXQgaXM6IAkApAMBCQBpAgUNY3VycmVudEFtb3VudACAwtcvCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJVc2VyR292ZXJuVG9rZW5LZXkFCW5ld0Ftb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgILUHJpemVIZWlnaHQFEFByaXplSGVpZ2h0VmFsdWUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQZhbW91bnQFC0dvdmVyblRva2VuBQNuaWwBaQEKZGVsYXlwcml6ZQAECURlbGF5RGF5cwkAaAIAoAsAAQQIV2FpdFRpbWUJAGgCAKALAAEEElVzZXJHb3Zlcm5Ub2tlbktleQkArAICCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIBXwkA2AQBBQtHb3Zlcm5Ub2tlbgQYVXNlcldhbGxldFNHb3Zlcm5CYWxhbmNlCQDwBwIJAQdBZGRyZXNzAQgIBQFpBmNhbGxlcgVieXRlcwULR292ZXJuVG9rZW4EGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQDwBwIFBHRoaXMFC1N0YWtlZFRva2VuBAxTdGFrZUJhbGFuY2UEByRtYXRjaDAJAJoIAgUEdGhpcwIMU3Rha2VCYWxhbmNlAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtQcml6ZUFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzAgdGdW5kQm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gEByRtYXRjaDAJAJoIAgUEdGhpcwILUHJpemVIZWlnaHQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEC0FjdHVhbERlbGF5BAckbWF0Y2gwCQCaCAIFBHRoaXMCBURlbGF5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBQcml6ZUhlaWdodFZhbHVlAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkAAAIFC1ByaXplQW1vdW50AAAHAAADAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUGaGVpZ2h0AwMJAQIhPQIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAEEEhpZ2hlc3RQdXNoVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwILSGlnaGVzdFB1c2gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEkhpZ2hlc3RQdXNoQWRkcmVzcwQHJG1hdGNoMAkAnQgCBQR0aGlzAhJIaWdoZXN0UHVzaEFkZHJlc3MDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgAEF0hpZ2hlc3RQdXNoQWRkcmVzc1ZhbHVlAwMJAGYCBQZoZWlnaHQJAGQCCQBkAgUQUHJpemVIZWlnaHRWYWx1ZQULQWN0dWFsRGVsYXkFCFdhaXRUaW1lCQBmAgUQSGlnaGVzdFB1c2hWYWx1ZQAABwIABRJIaWdoZXN0UHVzaEFkZHJlc3MEE1ByaXplSGVpZ2h0VmFsdWVOZXcDAwkAZgIFBmhlaWdodAkAZAIJAGQCBRBQcml6ZUhlaWdodFZhbHVlBQtBY3R1YWxEZWxheQUIV2FpdFRpbWUJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAAHBQZoZWlnaHQFEFByaXplSGVpZ2h0VmFsdWUED0FjdHVhbERlbGF5Q29zdAQHJG1hdGNoMAkAmggCBQR0aGlzAglEZWxheUNvc3QDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAoEA3BtdAMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAEJAJEDAggFAWkIcGF5bWVudHMAAAkAAgECHEF0dGFjaGVkIHBheW1lbnQgaXMgcmVxdWlyZWQEDURldkJveEJhbGFuY2UEByRtYXRjaDAJAJoIAgUEdGhpcwIGRGV2Qm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAwMJAQlpc0RlZmluZWQBCAUDcG10B2Fzc2V0SWQJAAACCAUDcG10B2Fzc2V0SWQFC0dvdmVyblRva2VuBwMJAGYCBQtQcml6ZUFtb3VudAAABBVVc2VyR292ZXJuVG9rZW5BbW91bnQIBQNwbXQGYW1vdW50BAxEZXZCb3hBbW91bnQJAGQCBQ1EZXZCb3hCYWxhbmNlCQBpAgkAaAIIBQNwbXQGYW1vdW50AAUA6AcEDE5ld0RlbGF5Q29zdAMJAAACBQ9BY3R1YWxEZWxheUNvc3QAAACAlOvcAwkAaAIAAgUPQWN0dWFsRGVsYXlDb3N0AwkAZwIFFVVzZXJHb3Zlcm5Ub2tlbkFtb3VudAUMTmV3RGVsYXlDb3N0BAhOZXdEZWxheQkAZAIFC0FjdHVhbERlbGF5BQlEZWxheURheXMJAMwIAgkBDEludGVnZXJFbnRyeQICBURlbGF5BQhOZXdEZWxheQkAzAgCCQEMSW50ZWdlckVudHJ5AgIJRGVsYXlDb3N0BQxOZXdEZWxheUNvc3QJAMwIAgkBDEludGVnZXJFbnRyeQICC1ByaXplSGVpZ2h0BRNQcml6ZUhlaWdodFZhbHVlTmV3CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgZEZXZCb3gFDERldkJveEFtb3VudAkAzAgCCQELU3RyaW5nRW50cnkCAhJIaWdoZXN0UHVzaEFkZHJlc3MFF0hpZ2hlc3RQdXNoQWRkcmVzc1ZhbHVlBQNuaWwJAAIBCQCsAgIJAKwCAgJJVG8gZGVsYXkgdGhlIHJlbGVhc2Ugb2YgdGhlIHJld2FyZCBPTkUgREFZIGxhdGVyIHRoYW4gZXhwZWN0ZWQsIHlvdSBuZWVkIAkApAMBBQxOZXdEZWxheUNvc3QCB1RST0lLQXMJAAIBAl5Zb3UgY2Fubm90IGRlbGF5IHRoZSByZXdhcmQgYmVmb3JlIHJld2FyZCBpcyByZWNlaXZlZCEgUGxlYXNlIHdhaXQgdW50aWwgYSByZXdhcmQgaXMgYXZhaWxhYmxlCQACAQIpQ2FuIFVzZSBvbmx5IFRyb2lrYSBUb2tlbiB0byBEZWxheSBSZXdhcmQBaQEKQ2xhaW1Qcml6ZQAEElVzZXJTdGFrZWRUb2tlbktleQkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCCF9TdGFraW5nBAhVc2VyUHVzaAkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCBV9QdXNoBBJVc2VyTGFzdFN0YWtlQmxvY2sJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAhNfVXNlckxhc3RTdGFrZUJsb2NrBA1taW5TdGFrZUJsb2NrCQBoAgCgCwAHBAZtaW5yZWYAAwQXQ29udHJhY3RHb3ZUb2tlbkJhbGFuY2UJAPAHAgUEdGhpcwULR292ZXJuVG9rZW4EGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQDwBwIFBHRoaXMFC1N0YWtlZFRva2VuBAxTdGFrZUJhbGFuY2UEByRtYXRjaDAJAJoIAgUEdGhpcwIMU3Rha2VCYWxhbmNlAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtQcml6ZUFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzAgdGdW5kQm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABA1Vc2VyUHVzaFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFCFVzZXJQdXNoAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBdVc2VyTGFzdFN0YWtlQmxvY2tWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyTGFzdFN0YWtlQmxvY2sDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEFVVzZXJTdGFrZWRUb2tlbkFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyU3Rha2VkVG9rZW5LZXkDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEC0FjdHVhbERlbGF5BAckbWF0Y2gwCQCaCAIFBHRoaXMCBURlbGF5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtQcml6ZVdpbm5lcgQHJG1hdGNoMAkAnQgCBQR0aGlzAhJIaWdoZXN0UHVzaEFkZHJlc3MDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgAEC1ByaXplSGVpZ2h0BAckbWF0Y2gwCQCaCAIFBHRoaXMCC1ByaXplSGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBIaWdoZXN0UHVzaFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMCC0hpZ2hlc3RQdXNoAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtVc2VyUmVmc051bQkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCBV9yZWZzBBBVc2VyUmVmc051bVZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFC1VzZXJSZWZzTnVtAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAwMJAAACBQtQcml6ZUFtb3VudAAABgkAZgIAgMivoCUFF0NvbnRyYWN0R292VG9rZW5CYWxhbmNlCQACAQJJTm8gcHJpemUgdG8gQ2xhaW0gb3IgTm90IGVub3VnaCBHb3Zlcm4gVG9rZW4gZW4gQ29udHJhY3QgKE1pbiAxMDAgVHJvaWthKQMJAQIhPQIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwULUHJpemVXaW5uZXIJAAIBAjZZb3UgYXJlIG5vdCB0aGUgd2lubmVyIGhlbmNlIGNhbm5vdCBjbGFpbSB0aGUgcmV3YXJkICADAwkAZgIAgMLXLwUVVXNlclN0YWtlZFRva2VuQW1vdW50CQBmAgUNbWluU3Rha2VCbG9jawUXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUHCQACAQIuWW91IGhhdmUgdG8gU3Rha2UgQVNJTUkgVG9rZW4gdG8gY2xhaW0gcmV3YXJkIAMDCQBmAgUGaGVpZ2h0CQBkAgULUHJpemVIZWlnaHQFC0FjdHVhbERlbGF5CQBnAgUNVXNlclB1c2hWYWx1ZQUQSGlnaGVzdFB1c2hWYWx1ZQcDCQBnAgUQVXNlclJlZnNOdW1WYWx1ZQUGbWlucmVmCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQtQcml6ZVdpbm5lcgULUHJpemVBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQICB0Z1bmRCb3gAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgILSGlnaGVzdFB1c2gAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUIVXNlclB1c2gAAAkAzAgCCQELU3RyaW5nRW50cnkCAhJIaWdoZXN0UHVzaEFkZHJlc3MCAAkAzAgCCQEMSW50ZWdlckVudHJ5AgILUHJpemVIZWlnaHQAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgIFRGVsYXkAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgIJRGVsYXlDb3N0AAAJAMwIAgkBC1N0cmluZ0VudHJ5AgIKTGFzdFdpbm5lcgULUHJpemVXaW5uZXIJAMwIAgkBDEludGVnZXJFbnRyeQICCUxhc3RQcml6ZQULUHJpemVBbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQtQcml6ZUFtb3VudAULU3Rha2VkVG9rZW4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAICU69wDBQtHb3Zlcm5Ub2tlbgUDbmlsCQACAQkArAICCQCsAgICEllvdSBoYXZlIHRvIGhhdmUgIAkApAMBBQZtaW5yZWYCRyAgcmVmZXJyYWxzIGFscmVhZHkgc3Rha2luZyBmb3IgYSBtaW5pbXVtIG9mIDEwIGRheXMgdG8gQ2xhaW0gdGhlIHByaXplCQACAQJhWW91IGhhdmUgdG8gYmUgdGhlIHVzZXIgd2l0aCB0aGUgaGlnaGVzdCBQdXNoIGFuZCB3YWl0IHRpbGwgY291bnRvd24gaXMgZmluaXNoZWQsIHRvIGNsYWltIFJld2FyZAFpAQlBZGRtZW50b3IBBk1lbnRvcgQRVXNlck1lbnRvckFkZHJlc3MJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgdfTWVudG9yAwkBAiE9AgUGTWVudG9yAgAJAMwIAgkBC1N0cmluZ0VudHJ5AgURVXNlck1lbnRvckFkZHJlc3MFBk1lbnRvcgUDbmlsCQACAQIgTWVudG9yJ3MgQWRkcmVzcyBjYW5ub3QgYmUgZW1wdHkBaQEQVXBkYXRlVHdpdHRzQ29zdAIUTGlrZVBhY2thZ2VBU0lNSUNvc3QWTGlrZVBhY2thZ2VUUk9JS0FOQ29zdAMJAAACCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFCWRBcHBBZG1pbgkAzAgCCQEMSW50ZWdlckVudHJ5AgIUTGlrZVBhY2thZ2VBU0lNSUNvc3QJAGgCBRRMaWtlUGFja2FnZUFTSU1JQ29zdACAwtcvCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhZMaWtlUGFja2FnZVRST0lLQU5Db3N0CQBoAgUWTGlrZVBhY2thZ2VUUk9JS0FOQ29zdACAwtcvBQNuaWwJAAIBAhhPbmx5IGF2YWlsYWJsZSBmb3IgQWRtaW4BaQEPR2V0TGlrZXNQYWNrYWdlAg1Ud2l0dGVyVXNlcklkB1R3aXR0SWQECkluZmx1ZW5jZXIJAKwCAgkArAICCQCkAwEFDVR3aXR0ZXJVc2VySWQCDF9Ud2l0dDJMaWtlXwkApAMBBQdUd2l0dElkBBtMaWtlUGFja2FnZVRST0lLQU5Db3N0VmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwIWTGlrZVBhY2thZ2VUUk9JS0FOQ29zdAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQZTGlrZVBhY2thZ2VBU0lNSUNvc3RWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzAhRMaWtlUGFja2FnZUFTSU1JQ29zdAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQDcG10AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAgkAkQMCCAUBaQhwYXltZW50cwAACQACAQIcQXR0YWNoZWQgcGF5bWVudCBpcyByZXF1aXJlZAMDCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQtTdGFrZWRUb2tlbgkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAEHYXNzZXRJZAULR292ZXJuVG9rZW4HAwkAZwIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BRlMaWtlUGFja2FnZUFTSU1JQ29zdFZhbHVlAwkAZwIICQCRAwIIBQFpCHBheW1lbnRzAAEGYW1vdW50BRtMaWtlUGFja2FnZVRST0lLQU5Db3N0VmFsdWUEEUluZmx1ZW5jZXJCYWxhbmNlBAckbWF0Y2gwCQCaCAIFBHRoaXMFCkluZmx1ZW5jZXIDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAADCQAAAgURSW5mbHVlbmNlckJhbGFuY2UAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJAKQDAQUNVHdpdHRlclVzZXJJZAIMX1R3aXR0Mkxpa2VfCQCkAwEFB1R3aXR0SWQJAGkCCQBoAgBfBRlMaWtlUGFja2FnZUFTSU1JQ29zdFZhbHVlAGQJAMwIAgkBDEludGVnZXJFbnRyeQICEExpa2VUd2l0dHNEZXZCb3gJAGkCCQBoAgAFBRlMaWtlUGFja2FnZUFTSU1JQ29zdFZhbHVlAGQFA25pbAkAAgECdUNhbm5vdCBhY3F1aXJlIGEgbmV3IHBhY2thZ2UsIHRoZSBwcmlvciBsaWtlIHBhY2thZ2UgZm9yIHRoaXMgdHdpdHQgaGFzIHRvIGJlIGRyYWluZWQgdG8gYmUgYWJsZSB0byBhY3F1aXJlIGEgbmV3IG9uZQkAAgEJAKwCAgIaVFJPSUtBTiBBbW91bnQgc2hvdWxkIGJlIDoJAKQDAQkAaQIFGUxpa2VQYWNrYWdlQVNJTUlDb3N0VmFsdWUAgMLXLwkAAgEJAKwCAgIYQVNJTUkgQW1vdW50IHNob3VsZCBiZSA6CQCkAwEJAGkCBRtMaWtlUGFja2FnZVRST0lLQU5Db3N0VmFsdWUAgMLXLwkAAgECMFBheW1lbnRzIHNob3VsZCBiZSBib3RoIEFTSU1JIGFuZCBUUk9JS0FOIHRva2VucwFpARdHZXRNeUxpa2VkVHdpdHRzUmV3YXJkcwEGVXNlcklkBBhVc2VyRWFybmVkTGlrZVR3aXR0QVNJTUkEByRtYXRjaDAJAJoIAgUEdGhpcwkArAICBQZVc2VySWQCDF9MaWtlX0Ftb3VudAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQcVXNlckVhcm5lZGRBcHBSVFR3aXR0VFJPSUtBTgQHJG1hdGNoMAkAmggCBQR0aGlzCQCsAgIFBlVzZXJJZAIWX1Ryb2lrYW5kQXBwX1JUX0Ftb3VudAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAMDCQBnAgUYVXNlckVhcm5lZExpa2VUd2l0dEFTSU1JCQBoAgABAIDC1y8JAGcCBRxVc2VyRWFybmVkZEFwcFJUVHdpdHRUUk9JS0FOCQBoAgABAIDC1y8HCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFBlVzZXJJZAIWX1Ryb2lrYW5kQXBwX1JUX0Ftb3VudAAACQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFBlVzZXJJZAIMX0xpa2VfQW1vdW50AAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBRhVc2VyRWFybmVkTGlrZVR3aXR0QVNJTUkFC1N0YWtlZFRva2VuCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUcVXNlckVhcm5lZGRBcHBSVFR3aXR0VFJPSUtBTgULR292ZXJuVG9rZW4FA25pbAkAAgECO01pbmltdW0gZWFybmluZ3MgdG8gd2l0aGRyYXcgYXJlOiAxMDAgQVNJTUkgYW5kIDUwIFRyb2lrYW5zAWkBFUxpbmtUd2l0dGVyQWNjMldhbGxldAENVHdpdHRlclVzZXJJZAQTVHdpdHRlckxpbmtlZFdhbGxldAQHJG1hdGNoMAkAnQgCBQR0aGlzCQCsAgIFDVR3aXR0ZXJVc2VySWQCB19XYWxsZXQDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgROb25lAwkAAAIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwUTVHdpdHRlckxpbmtlZFdhbGxldAkAAgECOllvdSBhbHJlYWR5IGhhdmUgeW91ciB3YWxsZXQgbGlua2VkIHRvIHRoZSBUd2l0dGVyIGFjY291bnQDAwkBAiE9AgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBRNUd2l0dGVyTGlua2VkV2FsbGV0CQECIT0CBRNUd2l0dGVyTGlua2VkV2FsbGV0AgROb25lBwkAAgECSVRoZSB3YWxsZXQgeW91IGFyZSB1c2luZyBpcyBub3QgdGhlIGxpbmtlZCBXYWxsZXQgdG8gdGhpcyBUd2l0dGVyIGFjY291bnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQ1Ud2l0dGVyVXNlcklkAgdfV2FsbGV0CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFA25pbABnOnRi", "height": 2146882, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3Vu9jAosNHquFyTxgq9rmiPEt8otRxBY2AFGTpqpN29Q Next: EivmKMNW77KNjnXFmVvugLjkvXtsjo8uyTjZ4Fmhk8oy Diff:
OldNewDifferences
10941094
10951095 @Callable(d)
10961096 func GetLikesPackage (aK,aL) = {
1097- let aM = {
1097+ let aM = ((toString(aK) + "_Twitt2Like_") + toString(aL))
1098+ let aN = {
10981099 let g = getInteger(this, "LikePackageTROIKANCost")
10991100 if ($isInstanceOf(g, "Int"))
11001101 then {
11031104 }
11041105 else 0
11051106 }
1106- let aN = {
1107+ let aO = {
11071108 let g = getInteger(this, "LikePackageASIMICost")
11081109 if ($isInstanceOf(g, "Int"))
11091110 then {
11181119 if (if ((d.payments[0].assetId == a))
11191120 then (d.payments[1].assetId == b)
11201121 else false)
1121- then if ((d.payments[0].amount >= aN))
1122- then if ((d.payments[1].amount >= aM))
1122+ then if ((d.payments[0].amount >= aO))
1123+ then if ((d.payments[1].amount >= aN))
11231124 then {
1124- let aO = ((toString(aK) + "_Twitt2Like_") + toString(aL))
11251125 let aP = {
1126- let g = getInteger(this, aO)
1126+ let g = getInteger(this, aM)
11271127 if ($isInstanceOf(g, "Int"))
11281128 then {
11291129 let h = g
11321132 else 0
11331133 }
11341134 if ((aP == 0))
1135- then [IntegerEntry(((toString(aK) + "_Twitt2Like_") + toString(aL)), ((95 * aN) / 100)), IntegerEntry("LikeTwittsDevBox", ((5 * aN) / 100))]
1136- else throw("Cannot acquire a new package, the prior like package has to be drained to be able to acquire a new one")
1135+ then [IntegerEntry(((toString(aK) + "_Twitt2Like_") + toString(aL)), ((95 * aO) / 100)), IntegerEntry("LikeTwittsDevBox", ((5 * aO) / 100))]
1136+ else throw("Cannot acquire a new package, the prior like package for this twitt has to be drained to be able to acquire a new one")
11371137 }
1138- else throw(("TROIKAN Amount should be :" + toString((aN / 100000000))))
1139- else throw(("ASIMI Amount should be :" + toString((aM / 100000000))))
1138+ else throw(("TROIKAN Amount should be :" + toString((aO / 100000000))))
1139+ else throw(("ASIMI Amount should be :" + toString((aN / 100000000))))
11401140 else throw("Payments should be both ASIMI and TROIKAN tokens")
11411141 }
11421142
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
55
66 let b = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
77
88 let c = "3Mu3nwxzGzeQBGxCKLyJcSDKmRiCea9FQSJ"
99
1010 @Callable(d)
1111 func DevWithdraw () = {
1212 let e = toBase58String(d.caller.bytes)
1313 if ((e == c))
1414 then {
1515 let f = {
1616 let g = getInteger(this, "DevBox")
1717 if ($isInstanceOf(g, "Int"))
1818 then {
1919 let h = g
2020 h
2121 }
2222 else 0
2323 }
2424 if ((0 > f))
2525 then throw("Not enough balance")
2626 else [IntegerEntry("DevBox", 0), ScriptTransfer(d.caller, f, b)]
2727 }
2828 else throw("You cannot withdraw as your are not the Dev.")
2929 }
3030
3131
3232
3333 @Callable(d)
3434 func WithdrawWeeklyEarning () = {
3535 let i = assetBalance(this, a)
3636 let j = {
3737 let g = getString(this, "MaxDepositer")
3838 if ($isInstanceOf(g, "String"))
3939 then {
4040 let h = g
4141 h
4242 }
4343 else ""
4444 }
4545 let k = (toBase58String(d.caller.bytes) + "_WeekEarning")
4646 let l = {
4747 let g = getInteger(this, "StakeBalance")
4848 if ($isInstanceOf(g, "Int"))
4949 then {
5050 let h = g
5151 h
5252 }
5353 else 0
5454 }
5555 let m = {
5656 let g = getInteger(this, "FundBox")
5757 if ($isInstanceOf(g, "Int"))
5858 then {
5959 let h = g
6060 h
6161 }
6262 else 0
6363 }
6464 let n = {
6565 let g = getInteger(this, "PrizeHeight")
6666 if ($isInstanceOf(g, "Int"))
6767 then {
6868 let h = g
6969 h
7070 }
7171 else 0
7272 }
7373 let o = if (if ((n == 0))
7474 then (m == 0)
7575 else false)
7676 then 0
7777 else if (if ((n == 0))
7878 then (m != 0)
7979 else false)
8080 then height
8181 else if (if ((n != 0))
8282 then (m != 0)
8383 else false)
8484 then n
8585 else 0
8686 let e = toBase58String(d.caller.bytes)
8787 let p = {
8888 let g = getInteger(this, k)
8989 if ($isInstanceOf(g, "Int"))
9090 then {
9191 let h = g
9292 h
9393 }
9494 else 0
9595 }
9696 if ((0 > p))
9797 then throw("Can't withdraw negative amount")
9898 else if ((0 > p))
9999 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((p / 100000000))))
100100 else [IntegerEntry(k, 0), IntegerEntry("PrizeHeight", o), IntegerEntry("MaxDeposit", 0), ScriptTransfer(d.caller, p, a)]
101101 }
102102
103103
104104
105105 @Callable(d)
106106 func PushReward () = {
107107 let q = 10
108108 let r = (7 * 1440)
109109 let s = 60
110110 let t = (1440 * 1)
111111 let u = 3
112112 let v = (7 * 1440)
113113 let w = assetBalance(Address(d.caller.bytes), b)
114114 let x = if ((size(d.payments) == 1))
115115 then d.payments[0]
116116 else throw("Attached payment is required")
117117 let y = (toBase58String(d.caller.bytes) + "_Push")
118118 let z = {
119119 let g = getInteger(this, y)
120120 if ($isInstanceOf(g, "Int"))
121121 then {
122122 let h = g
123123 h
124124 }
125125 else 0
126126 }
127127 let A = (toBase58String(d.caller.bytes) + "_refs")
128128 let B = {
129129 let g = getInteger(this, A)
130130 if ($isInstanceOf(g, "Int"))
131131 then {
132132 let h = g
133133 h
134134 }
135135 else 0
136136 }
137137 let C = {
138138 let g = getInteger(this, "HighestPush")
139139 if ($isInstanceOf(g, "Int"))
140140 then {
141141 let h = g
142142 h
143143 }
144144 else 0
145145 }
146146 if ((w > x.amount))
147147 then if (if (((x.amount + z) > C))
148148 then (x.assetId == b)
149149 else false)
150150 then {
151151 let D = (toBase58String(d.caller.bytes) + "_UserLastPushBlock")
152152 let E = (toBase58String(d.caller.bytes) + "_UserLastStakeBlock")
153153 let F = (toBase58String(d.caller.bytes) + "_Staking")
154154 let i = assetBalance(this, a)
155155 let l = {
156156 let g = getInteger(this, "StakeBalance")
157157 if ($isInstanceOf(g, "Int"))
158158 then {
159159 let h = g
160160 h
161161 }
162162 else 0
163163 }
164164 let m = {
165165 let g = getInteger(this, "FundBox")
166166 if ($isInstanceOf(g, "Int"))
167167 then {
168168 let h = g
169169 h
170170 }
171171 else 0
172172 }
173173 let n = {
174174 let g = getInteger(this, "PrizeHeight")
175175 if ($isInstanceOf(g, "Int"))
176176 then {
177177 let h = g
178178 h
179179 }
180180 else 0
181181 }
182182 let o = if (if ((n == 0))
183183 then (m == 0)
184184 else false)
185185 then 0
186186 else if (if ((n == 0))
187187 then (m != 0)
188188 else false)
189189 then height
190190 else if (if ((n != 0))
191191 then (m != 0)
192192 else false)
193193 then n
194194 else 0
195195 let G = {
196196 let g = getInteger(this, "Delay")
197197 if ($isInstanceOf(g, "Int"))
198198 then {
199199 let h = g
200200 h
201201 }
202202 else 0
203203 }
204204 let H = {
205205 let g = getInteger(this, "HighestPushAddress")
206206 if ($isInstanceOf(g, "Int"))
207207 then {
208208 let h = g
209209 h
210210 }
211211 else 0
212212 }
213213 let I = {
214214 let g = getInteger(this, D)
215215 if ($isInstanceOf(g, "Int"))
216216 then {
217217 let h = g
218218 h
219219 }
220220 else 0
221221 }
222222 let J = {
223223 let g = getInteger(this, E)
224224 if ($isInstanceOf(g, "Int"))
225225 then {
226226 let h = g
227227 h
228228 }
229229 else 0
230230 }
231231 let K = {
232232 let g = getInteger(this, F)
233233 if ($isInstanceOf(g, "Int"))
234234 then {
235235 let h = g
236236 h
237237 }
238238 else 0
239239 }
240240 let L = {
241241 let g = getInteger(this, "DevBox")
242242 if ($isInstanceOf(g, "Int"))
243243 then {
244244 let h = g
245245 h
246246 }
247247 else 0
248248 }
249249 let f = (L + ((x.amount * 5) / 1000))
250250 let M = (x.amount + z)
251251 let N = if (if ((height > ((o + G) + t)))
252252 then (C > 0)
253253 else false)
254254 then v
255255 else (G + s)
256256 let O = if (if ((height > ((o + N) + t)))
257257 then (C > 0)
258258 else false)
259259 then ""
260260 else H
261261 let P = if (if ((height > ((o + N) + t)))
262262 then (C > 0)
263263 else false)
264264 then height
265265 else o
266266 if (if ((M > 0))
267267 then ((height - J) > r)
268268 else false)
269269 then if (((height - I) > q))
270270 then if ((K > 0))
271271 then if ((M > C))
272272 then if ((m > 0))
273273 then if (if (if (if (((P + N) >= height))
274274 then true
275275 else (height >= ((P + N) + t)))
276276 then (C > 0)
277277 else false)
278278 then true
279279 else (C == 0))
280280 then if ((B >= u))
281281 then [IntegerEntry(y, M), StringEntry("HighestPushAddress", toBase58String(d.caller.bytes)), IntegerEntry("HighestPush", M), IntegerEntry(D, height), IntegerEntry("PrizeHeight", P), IntegerEntry("Delay", N), IntegerEntry("DevBox", f)]
282282 else throw((("You have to have " + toString(u)) + " referrals already staking for a minimum of 10 days, to push"))
283283 else {
284284 let Q = if ((C > 0))
285285 then "You cannot Push after rewarding Prize and before One day has passed after award"
286286 else "Unexpected error"
287287 throw(Q)
288288 }
289289 else throw("You cannot push before the reward is unlocked, no reward has been detected yet")
290290 else throw("Your push in troikan token, should be Higher than last Highest Push")
291291 else throw("To be able to participate in Pushing for the reward you need to Stake ASIMIs in the dApp")
292292 else throw("You have to wait 10min before you can make a new Push")
293293 else throw(("Your Push dot not comply one of the following conditions: " + "1. Positive Value for Push in Troikan Toke
294294 2. Must Staked ASIMI Token for a minimum of week "))
295295 }
296296 else throw((("Can deposit only positive amounts of Troikan Token, or Check your Wallet balance in Troika, you should have more than " + toString(C)) + " to push"))
297297 else throw("You do not have enough Troikan Tokens in your Wallet Balance, Please Harvest if you have earned Troikan wallet or transfer to your wallet necessary Troikan amount !")
298298 }
299299
300300
301301
302302 @Callable(d)
303303 func Stake () = {
304304 let t = (1440 * 1)
305305 let x = if ((size(d.payments) == 1))
306306 then d.payments[0]
307307 else throw("Attached payment is required")
308308 if (if ((x.amount > 0))
309309 then (x.assetId == a)
310310 else false)
311311 then {
312312 let R = assetBalance(this, b)
313313 let S = (toBase58String(d.caller.bytes) + "_APY")
314314 let y = (toBase58String(d.caller.bytes) + "_Push")
315315 let T = (toBase58String(d.caller.bytes) + "_Staking")
316316 let U = (toBase58String(d.caller.bytes) + "_Earnings")
317317 let E = (toBase58String(d.caller.bytes) + "_UserLastStakeBlock")
318318 let V = (toBase58String(d.caller.bytes) + "_StakedTransactions")
319319 let W = (toBase58String(d.caller.bytes) + "_PrizeHeight")
320320 let X = (toBase58String(d.caller.bytes) + "_WeekEarning")
321321 let Y = {
322322 let g = getInteger(this, V)
323323 if ($isInstanceOf(g, "Int"))
324324 then {
325325 let h = g
326326 h
327327 }
328328 else 0
329329 }
330330 let j = {
331331 let g = getString(this, "MaxDepositer")
332332 if ($isInstanceOf(g, "String"))
333333 then {
334334 let h = g
335335 h
336336 }
337337 else ""
338338 }
339339 let Z = {
340340 let g = getInteger(this, "MaxDepositBlock")
341341 if ($isInstanceOf(g, "Int"))
342342 then {
343343 let h = g
344344 h
345345 }
346346 else 0
347347 }
348348 let aa = {
349349 let g = getInteger(this, "MaxDeposit")
350350 if ($isInstanceOf(g, "Int"))
351351 then {
352352 let h = g
353353 h
354354 }
355355 else 0
356356 }
357357 let ab = if ((x.amount > aa))
358358 then toBase58String(d.caller.bytes)
359359 else j
360360 let ac = if ((x.amount > aa))
361361 then x.amount
362362 else aa
363363 let ad = if ((x.amount > aa))
364364 then height
365365 else Z
366366 let ae = {
367367 let g = getInteger(this, y)
368368 if ($isInstanceOf(g, "Int"))
369369 then {
370370 let h = g
371371 h
372372 }
373373 else 0
374374 }
375375 let J = {
376376 let g = getInteger(this, E)
377377 if ($isInstanceOf(g, "Int"))
378378 then {
379379 let h = g
380380 h
381381 }
382382 else 0
383383 }
384384 let af = if ((J == 0))
385385 then height
386386 else J
387387 let ag = (Y + 1)
388388 let ah = {
389389 let g = getInteger(this, T)
390390 if ($isInstanceOf(g, "Int"))
391391 then {
392392 let h = g
393393 h
394394 }
395395 else 0
396396 }
397397 let ai = (ah + x.amount)
398398 let i = assetBalance(this, a)
399399 let l = {
400400 let g = getInteger(this, "StakeBalance")
401401 if ($isInstanceOf(g, "Int"))
402402 then {
403403 let h = g
404404 h
405405 }
406406 else 0
407407 }
408408 let aj = (l + x.amount)
409409 let m = {
410410 let g = getInteger(this, "FundBox")
411411 if ($isInstanceOf(g, "Int"))
412412 then {
413413 let h = g
414414 h
415415 }
416416 else 0
417417 }
418418 let ak = {
419419 let g = getInteger(this, X)
420420 if ($isInstanceOf(g, "Int"))
421421 then {
422422 let h = g
423423 h
424424 }
425425 else 0
426426 }
427427 let al = {
428428 let g = getInteger(this, U)
429429 if ($isInstanceOf(g, "Int"))
430430 then {
431431 let h = g
432432 h
433433 }
434434 else 0
435435 }
436436 let n = {
437437 let g = getInteger(this, "PrizeHeight")
438438 if ($isInstanceOf(g, "Int"))
439439 then {
440440 let h = g
441441 h
442442 }
443443 else 0
444444 }
445445 let o = if (if ((n == 0))
446446 then (m == 0)
447447 else false)
448448 then 0
449449 else if (if ((n == 0))
450450 then (m != 0)
451451 else false)
452452 then height
453453 else if (if ((n != 0))
454454 then (m != 0)
455455 else false)
456456 then n
457457 else 0
458458 let G = {
459459 let g = getInteger(this, "Delay")
460460 if ($isInstanceOf(g, "Int"))
461461 then {
462462 let h = g
463463 h
464464 }
465465 else 0
466466 }
467467 let C = {
468468 let g = getInteger(this, "HighestPush")
469469 if ($isInstanceOf(g, "Int"))
470470 then {
471471 let h = g
472472 h
473473 }
474474 else 0
475475 }
476476 let H = {
477477 let g = getString(this, "HighestPushAddress")
478478 if ($isInstanceOf(g, "String"))
479479 then {
480480 let h = g
481481 h
482482 }
483483 else ""
484484 }
485485 let O = if (if ((height > ((o + G) + t)))
486486 then (C > 0)
487487 else false)
488488 then ""
489489 else H
490490 let P = if (if ((height > ((o + G) + t)))
491491 then (C > 0)
492492 else false)
493493 then height
494494 else o
495495 if ((100000000 > R))
496496 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
497497 else {
498498 let am = if ((l == 0))
499499 then 10000
500500 else if ((ag > 10))
501501 then ((10000 * ag) * (1 + (ai / l)))
502502 else (10000 * (1 + (ai / l)))
503503 let an = if ((al > 0))
504504 then ((100 * am) / al)
505505 else 0
506506 let ao = (al + am)
507507 [IntegerEntry(U, ao), IntegerEntry(T, ai), IntegerEntry(V, ag), IntegerEntry("StakeBalance", aj), IntegerEntry("PrizeHeight", P), IntegerEntry(S, an), IntegerEntry(E, af), IntegerEntry(y, ae), StringEntry("MaxDepositer", ab), IntegerEntry("MaxDeposit", ac), IntegerEntry("MaxDepositBlock", ad), StringEntry("HighestPushAddress", O), IntegerEntry(X, ak), ScriptTransfer(d.caller, am, b)]
508508 }
509509 }
510510 else throw("Can deposit only StakeToken")
511511 }
512512
513513
514514
515515 @Callable(d)
516516 func WithdrawStakedFunds (ap) = {
517517 let t = (1440 * 1)
518518 let E = (toBase58String(d.caller.bytes) + "_UserLastStakeBlock")
519519 let T = (toBase58String(d.caller.bytes) + "_Staking")
520520 let U = ((toBase58String(d.caller.bytes) + "_") + toBase58String(b))
521521 let i = assetBalance(this, a)
522522 let J = {
523523 let g = getInteger(this, E)
524524 if ($isInstanceOf(g, "Int"))
525525 then {
526526 let h = g
527527 h
528528 }
529529 else 0
530530 }
531531 let l = {
532532 let g = getInteger(this, "StakeBalance")
533533 if ($isInstanceOf(g, "Int"))
534534 then {
535535 let h = g
536536 h
537537 }
538538 else 0
539539 }
540540 let m = {
541541 let g = getInteger(this, "FundBox")
542542 if ($isInstanceOf(g, "Int"))
543543 then {
544544 let h = g
545545 h
546546 }
547547 else 0
548548 }
549549 let n = {
550550 let g = getInteger(this, "PrizeHeight")
551551 if ($isInstanceOf(g, "Int"))
552552 then {
553553 let h = g
554554 h
555555 }
556556 else 0
557557 }
558558 let G = {
559559 let g = getInteger(this, "Delay")
560560 if ($isInstanceOf(g, "Int"))
561561 then {
562562 let h = g
563563 h
564564 }
565565 else 0
566566 }
567567 let C = {
568568 let g = getInteger(this, "HighestPush")
569569 if ($isInstanceOf(g, "Int"))
570570 then {
571571 let h = g
572572 h
573573 }
574574 else 0
575575 }
576576 let o = if (if ((n == 0))
577577 then (m == 0)
578578 else false)
579579 then 0
580580 else if (if ((n == 0))
581581 then (m != 0)
582582 else false)
583583 then height
584584 else if (if ((n != 0))
585585 then (m != 0)
586586 else false)
587587 then n
588588 else 0
589589 let H = {
590590 let g = getString(this, "HighestPushAddress")
591591 if ($isInstanceOf(g, "String"))
592592 then {
593593 let h = g
594594 h
595595 }
596596 else ""
597597 }
598598 let O = if (if ((height > ((o + G) + t)))
599599 then (C > 0)
600600 else false)
601601 then ""
602602 else H
603603 let P = if (if ((height > ((o + G) + t)))
604604 then (C > 0)
605605 else false)
606606 then height
607607 else o
608608 let e = toBase58String(d.caller.bytes)
609609 let aq = {
610610 let g = getInteger(this, T)
611611 if ($isInstanceOf(g, "Int"))
612612 then {
613613 let h = g
614614 h
615615 }
616616 else 0
617617 }
618618 let p = (aq - ap)
619619 let aj = (l - ap)
620620 let af = if ((aj == 0))
621621 then 0
622622 else J
623623 if ((0 > ap))
624624 then throw("Can't withdraw negative amount")
625625 else if ((0 > p))
626626 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((aq / 100000000))))
627627 else if ((100000000 > assetBalance(this, b)))
628628 then throw(("Not enough Troika In Contract: " + toString((assetBalance(this, b) / 100000000))))
629629 else [IntegerEntry(U, 100000000), IntegerEntry(T, p), IntegerEntry("StakeBalance", aj), IntegerEntry("PrizeHeight", P), IntegerEntry(E, af), StringEntry("HighestPushAddress", O), ScriptTransfer(d.caller, 100000000, b), ScriptTransfer(d.caller, ap, a)]
630630 }
631631
632632
633633
634634 @Callable(d)
635635 func WithdrawBigStakeReward () = {
636636 let t = (1440 * 1)
637637 let ar = (toBase58String(d.caller.bytes) + "_LastBigStakerRewardBlock")
638638 let as = (toBase58String(d.caller.bytes) + "_BigStaker")
639639 let U = (toBase58String(d.caller.bytes) + "_Earnings")
640640 let at = 10
641641 let au = {
642642 let g = getInteger(this, U)
643643 if ($isInstanceOf(g, "Int"))
644644 then {
645645 let h = g
646646 h
647647 }
648648 else 0
649649 }
650650 let av = {
651651 let g = getInteger(this, ar)
652652 if ($isInstanceOf(g, "Int"))
653653 then {
654654 let h = g
655655 h
656656 }
657657 else 0
658658 }
659659 let aw = {
660660 let g = getInteger(this, "BigStakerRewardTotal")
661661 if ($isInstanceOf(g, "Int"))
662662 then {
663663 let h = g
664664 h
665665 }
666666 else 0
667667 }
668668 let m = {
669669 let g = getInteger(this, "FundBox")
670670 if ($isInstanceOf(g, "Int"))
671671 then {
672672 let h = g
673673 h
674674 }
675675 else 0
676676 }
677677 let n = {
678678 let g = getInteger(this, "PrizeHeight")
679679 if ($isInstanceOf(g, "Int"))
680680 then {
681681 let h = g
682682 h
683683 }
684684 else 0
685685 }
686686 let o = if (if ((n == 0))
687687 then (m == 0)
688688 else false)
689689 then 0
690690 else if (if ((n == 0))
691691 then (m != 0)
692692 else false)
693693 then height
694694 else if (if ((n != 0))
695695 then (m != 0)
696696 else false)
697697 then n
698698 else 0
699699 let G = {
700700 let g = getInteger(this, "Delay")
701701 if ($isInstanceOf(g, "Int"))
702702 then {
703703 let h = g
704704 h
705705 }
706706 else 0
707707 }
708708 let C = {
709709 let g = getInteger(this, "HighestPush")
710710 if ($isInstanceOf(g, "Int"))
711711 then {
712712 let h = g
713713 h
714714 }
715715 else 0
716716 }
717717 let H = {
718718 let g = getString(this, "HighestPushAddress")
719719 if ($isInstanceOf(g, "String"))
720720 then {
721721 let h = g
722722 h
723723 }
724724 else ""
725725 }
726726 let O = if (if ((height > ((o + G) + t)))
727727 then (C > 0)
728728 else false)
729729 then ""
730730 else H
731731 let P = if (if ((height > ((o + G) + t)))
732732 then (C > 0)
733733 else false)
734734 then height
735735 else o
736736 let e = toBase58String(d.caller.bytes)
737737 let ap = {
738738 let g = getInteger(this, as)
739739 if ($isInstanceOf(g, "Int"))
740740 then {
741741 let h = g
742742 h
743743 }
744744 else 0
745745 }
746746 let aj = (aw - ap)
747747 let ax = if ((0 > ((au / 1000) * (1000 - ((1000 * (height - av)) / (at * 1440))))))
748748 then (1000 * 100000000)
749749 else ((au / 1000) * (1000 - ((1000 * (height - av)) / (at * 1440))))
750750 if ((0 > ap))
751751 then throw(((("Can't withdraw negative amount " + toString((au - (1000 * 100000000)))) + " ... ") + toString(ap)))
752752 else if (if (if (((1000 * 100000000) > au))
753753 then true
754754 else (1 > ap))
755755 then true
756756 else (0 > (au - ax)))
757757 then throw(("No ASIMI reward available, or Not enough Earned Troikan Tokens to do transaction, you have: " + toString((au / 100000000))))
758758 else if ((aj > 0))
759759 then [IntegerEntry(as, 0), IntegerEntry("BigStakerRewardTotal", aj), IntegerEntry(U, (au - ax)), IntegerEntry("PrizeHeight", o), IntegerEntry(ar, height), StringEntry("HighestPushAddress", O), ScriptTransfer(d.caller, ap, a)]
760760 else throw("Balance Error, Total Big Stakers cannot be negative, Operation won't be authorized")
761761 }
762762
763763
764764
765765 @Callable(d)
766766 func HarvestGovernToiken (ap) = {
767767 let i = assetBalance(this, a)
768768 let U = (toBase58String(d.caller.bytes) + "_Earnings")
769769 let l = {
770770 let g = getInteger(this, "StakeBalance")
771771 if ($isInstanceOf(g, "Int"))
772772 then {
773773 let h = g
774774 h
775775 }
776776 else 0
777777 }
778778 let m = {
779779 let g = getInteger(this, "FundBox")
780780 if ($isInstanceOf(g, "Int"))
781781 then {
782782 let h = g
783783 h
784784 }
785785 else 0
786786 }
787787 let n = {
788788 let g = getInteger(this, "PrizeHeight")
789789 if ($isInstanceOf(g, "Int"))
790790 then {
791791 let h = g
792792 h
793793 }
794794 else 0
795795 }
796796 let o = if (if ((n == 0))
797797 then (m == 0)
798798 else false)
799799 then 0
800800 else if (if ((n == 0))
801801 then (m != 0)
802802 else false)
803803 then height
804804 else if (if ((n != 0))
805805 then (m != 0)
806806 else false)
807807 then n
808808 else 0
809809 let e = toBase58String(d.caller.bytes)
810810 let aq = {
811811 let g = getInteger(this, U)
812812 if ($isInstanceOf(g, "Int"))
813813 then {
814814 let h = g
815815 h
816816 }
817817 else 0
818818 }
819819 let p = (aq - ap)
820820 if ((0 > ap))
821821 then throw("Can't withdraw negative amount")
822822 else if ((0 > p))
823823 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((aq / 100000000))))
824824 else [IntegerEntry(U, p), IntegerEntry("PrizeHeight", o), ScriptTransfer(d.caller, ap, b)]
825825 }
826826
827827
828828
829829 @Callable(d)
830830 func delayprize () = {
831831 let ay = (1440 * 1)
832832 let t = (1440 * 1)
833833 let U = ((toBase58String(d.caller.bytes) + "_") + toBase58String(b))
834834 let az = assetBalance(Address(d.caller.bytes), b)
835835 let i = assetBalance(this, a)
836836 let l = {
837837 let g = getInteger(this, "StakeBalance")
838838 if ($isInstanceOf(g, "Int"))
839839 then {
840840 let h = g
841841 h
842842 }
843843 else 0
844844 }
845845 let m = {
846846 let g = getInteger(this, "FundBox")
847847 if ($isInstanceOf(g, "Int"))
848848 then {
849849 let h = g
850850 h
851851 }
852852 else 0
853853 }
854854 let n = {
855855 let g = getInteger(this, "PrizeHeight")
856856 if ($isInstanceOf(g, "Int"))
857857 then {
858858 let h = g
859859 h
860860 }
861861 else 0
862862 }
863863 let G = {
864864 let g = getInteger(this, "Delay")
865865 if ($isInstanceOf(g, "Int"))
866866 then {
867867 let h = g
868868 h
869869 }
870870 else 0
871871 }
872872 let o = if (if ((n == 0))
873873 then (m == 0)
874874 else false)
875875 then 0
876876 else if (if ((n == 0))
877877 then (m != 0)
878878 else false)
879879 then height
880880 else if (if ((n != 0))
881881 then (m != 0)
882882 else false)
883883 then n
884884 else 0
885885 let C = {
886886 let g = getInteger(this, "HighestPush")
887887 if ($isInstanceOf(g, "Int"))
888888 then {
889889 let h = g
890890 h
891891 }
892892 else 0
893893 }
894894 let H = {
895895 let g = getString(this, "HighestPushAddress")
896896 if ($isInstanceOf(g, "String"))
897897 then {
898898 let h = g
899899 h
900900 }
901901 else ""
902902 }
903903 let O = if (if ((height > ((o + G) + t)))
904904 then (C > 0)
905905 else false)
906906 then ""
907907 else H
908908 let P = if (if ((height > ((o + G) + t)))
909909 then (C > 0)
910910 else false)
911911 then height
912912 else o
913913 let aA = {
914914 let g = getInteger(this, "DelayCost")
915915 if ($isInstanceOf(g, "Int"))
916916 then {
917917 let h = g
918918 h
919919 }
920920 else 10
921921 }
922922 let x = if ((size(d.payments) == 1))
923923 then d.payments[0]
924924 else throw("Attached payment is required")
925925 let L = {
926926 let g = getInteger(this, "DevBox")
927927 if ($isInstanceOf(g, "Int"))
928928 then {
929929 let h = g
930930 h
931931 }
932932 else 0
933933 }
934934 if (if (isDefined(x.assetId))
935935 then (x.assetId == b)
936936 else false)
937937 then if ((m > 0))
938938 then {
939939 let au = x.amount
940940 let f = (L + ((x.amount * 5) / 1000))
941941 let aB = if ((aA == 0))
942942 then 1000000000
943943 else (2 * aA)
944944 if ((au >= aB))
945945 then {
946946 let N = (G + ay)
947947 [IntegerEntry("Delay", N), IntegerEntry("DelayCost", aB), IntegerEntry("PrizeHeight", P), IntegerEntry("DevBox", f), StringEntry("HighestPushAddress", O)]
948948 }
949949 else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(aB)) + "TROIKAs"))
950950 }
951951 else throw("You cannot delay the reward before reward is received! Please wait until a reward is available")
952952 else throw("Can Use only Troika Token to Delay Reward")
953953 }
954954
955955
956956
957957 @Callable(d)
958958 func ClaimPrize () = {
959959 let T = (toBase58String(d.caller.bytes) + "_Staking")
960960 let y = (toBase58String(d.caller.bytes) + "_Push")
961961 let E = (toBase58String(d.caller.bytes) + "_UserLastStakeBlock")
962962 let r = (1440 * 7)
963963 let u = 3
964964 let aC = assetBalance(this, b)
965965 let i = assetBalance(this, a)
966966 let l = {
967967 let g = getInteger(this, "StakeBalance")
968968 if ($isInstanceOf(g, "Int"))
969969 then {
970970 let h = g
971971 h
972972 }
973973 else 0
974974 }
975975 let m = {
976976 let g = getInteger(this, "FundBox")
977977 if ($isInstanceOf(g, "Int"))
978978 then {
979979 let h = g
980980 h
981981 }
982982 else 0
983983 }
984984 let ae = {
985985 let g = getInteger(this, y)
986986 if ($isInstanceOf(g, "Int"))
987987 then {
988988 let h = g
989989 h
990990 }
991991 else 0
992992 }
993993 let J = {
994994 let g = getInteger(this, E)
995995 if ($isInstanceOf(g, "Int"))
996996 then {
997997 let h = g
998998 h
999999 }
10001000 else 0
10011001 }
10021002 let aD = {
10031003 let g = getInteger(this, T)
10041004 if ($isInstanceOf(g, "Int"))
10051005 then {
10061006 let h = g
10071007 h
10081008 }
10091009 else 0
10101010 }
10111011 let G = {
10121012 let g = getInteger(this, "Delay")
10131013 if ($isInstanceOf(g, "Int"))
10141014 then {
10151015 let h = g
10161016 h
10171017 }
10181018 else 0
10191019 }
10201020 let aE = {
10211021 let g = getString(this, "HighestPushAddress")
10221022 if ($isInstanceOf(g, "String"))
10231023 then {
10241024 let h = g
10251025 h
10261026 }
10271027 else ""
10281028 }
10291029 let aF = {
10301030 let g = getInteger(this, "PrizeHeight")
10311031 if ($isInstanceOf(g, "Int"))
10321032 then {
10331033 let h = g
10341034 h
10351035 }
10361036 else 0
10371037 }
10381038 let C = {
10391039 let g = getInteger(this, "HighestPush")
10401040 if ($isInstanceOf(g, "Int"))
10411041 then {
10421042 let h = g
10431043 h
10441044 }
10451045 else 0
10461046 }
10471047 let A = (toBase58String(d.caller.bytes) + "_refs")
10481048 let B = {
10491049 let g = getInteger(this, A)
10501050 if ($isInstanceOf(g, "Int"))
10511051 then {
10521052 let h = g
10531053 h
10541054 }
10551055 else 0
10561056 }
10571057 if (if ((m == 0))
10581058 then true
10591059 else (10000000000 > aC))
10601060 then throw("No prize to Claim or Not enough Govern Token en Contract (Min 100 Troika)")
10611061 else if ((toBase58String(d.caller.bytes) != aE))
10621062 then throw("You are not the winner hence cannot claim the reward ")
10631063 else if (if ((100000000 > aD))
10641064 then (r > J)
10651065 else false)
10661066 then throw("You have to Stake ASIMI Token to claim reward ")
10671067 else if (if ((height > (aF + G)))
10681068 then (ae >= C)
10691069 else false)
10701070 then if ((B >= u))
10711071 then [IntegerEntry(aE, m), IntegerEntry("FundBox", 0), IntegerEntry("HighestPush", 0), IntegerEntry(y, 0), StringEntry("HighestPushAddress", ""), IntegerEntry("PrizeHeight", 0), IntegerEntry("Delay", 0), IntegerEntry("DelayCost", 0), StringEntry("LastWinner", aE), IntegerEntry("LastPrize", m), ScriptTransfer(d.caller, m, a), ScriptTransfer(d.caller, 1000000000, b)]
10721072 else throw((("You have to have " + toString(u)) + " referrals already staking for a minimum of 10 days to Claim the prize"))
10731073 else throw("You have to be the user with the highest Push and wait till countown is finished, to claim Reward")
10741074 }
10751075
10761076
10771077
10781078 @Callable(d)
10791079 func Addmentor (aG) = {
10801080 let aH = (toBase58String(d.caller.bytes) + "_Mentor")
10811081 if ((aG != ""))
10821082 then [StringEntry(aH, aG)]
10831083 else throw("Mentor's Address cannot be empty")
10841084 }
10851085
10861086
10871087
10881088 @Callable(d)
10891089 func UpdateTwittsCost (aI,aJ) = if ((toBase58String(d.caller.bytes) == c))
10901090 then [IntegerEntry("LikePackageASIMICost", (aI * 100000000)), IntegerEntry("LikePackageTROIKANCost", (aJ * 100000000))]
10911091 else throw("Only available for Admin")
10921092
10931093
10941094
10951095 @Callable(d)
10961096 func GetLikesPackage (aK,aL) = {
1097- let aM = {
1097+ let aM = ((toString(aK) + "_Twitt2Like_") + toString(aL))
1098+ let aN = {
10981099 let g = getInteger(this, "LikePackageTROIKANCost")
10991100 if ($isInstanceOf(g, "Int"))
11001101 then {
11011102 let h = g
11021103 h
11031104 }
11041105 else 0
11051106 }
1106- let aN = {
1107+ let aO = {
11071108 let g = getInteger(this, "LikePackageASIMICost")
11081109 if ($isInstanceOf(g, "Int"))
11091110 then {
11101111 let h = g
11111112 h
11121113 }
11131114 else 0
11141115 }
11151116 let x = if ((size(d.payments) == 2))
11161117 then d.payments[0]
11171118 else throw("Attached payment is required")
11181119 if (if ((d.payments[0].assetId == a))
11191120 then (d.payments[1].assetId == b)
11201121 else false)
1121- then if ((d.payments[0].amount >= aN))
1122- then if ((d.payments[1].amount >= aM))
1122+ then if ((d.payments[0].amount >= aO))
1123+ then if ((d.payments[1].amount >= aN))
11231124 then {
1124- let aO = ((toString(aK) + "_Twitt2Like_") + toString(aL))
11251125 let aP = {
1126- let g = getInteger(this, aO)
1126+ let g = getInteger(this, aM)
11271127 if ($isInstanceOf(g, "Int"))
11281128 then {
11291129 let h = g
11301130 h
11311131 }
11321132 else 0
11331133 }
11341134 if ((aP == 0))
1135- then [IntegerEntry(((toString(aK) + "_Twitt2Like_") + toString(aL)), ((95 * aN) / 100)), IntegerEntry("LikeTwittsDevBox", ((5 * aN) / 100))]
1136- else throw("Cannot acquire a new package, the prior like package has to be drained to be able to acquire a new one")
1135+ then [IntegerEntry(((toString(aK) + "_Twitt2Like_") + toString(aL)), ((95 * aO) / 100)), IntegerEntry("LikeTwittsDevBox", ((5 * aO) / 100))]
1136+ else throw("Cannot acquire a new package, the prior like package for this twitt has to be drained to be able to acquire a new one")
11371137 }
1138- else throw(("TROIKAN Amount should be :" + toString((aN / 100000000))))
1139- else throw(("ASIMI Amount should be :" + toString((aM / 100000000))))
1138+ else throw(("TROIKAN Amount should be :" + toString((aO / 100000000))))
1139+ else throw(("ASIMI Amount should be :" + toString((aN / 100000000))))
11401140 else throw("Payments should be both ASIMI and TROIKAN tokens")
11411141 }
11421142
11431143
11441144
11451145 @Callable(d)
11461146 func GetMyLikedTwittsRewards (aQ) = {
11471147 let aR = {
11481148 let g = getInteger(this, (aQ + "_Like_Amount"))
11491149 if ($isInstanceOf(g, "Int"))
11501150 then {
11511151 let h = g
11521152 h
11531153 }
11541154 else 0
11551155 }
11561156 let aS = {
11571157 let g = getInteger(this, (aQ + "_TroikandApp_RT_Amount"))
11581158 if ($isInstanceOf(g, "Int"))
11591159 then {
11601160 let h = g
11611161 h
11621162 }
11631163 else 0
11641164 }
11651165 if (if ((aR >= (1 * 100000000)))
11661166 then (aS >= (1 * 100000000))
11671167 else false)
11681168 then [IntegerEntry((aQ + "_TroikandApp_RT_Amount"), 0), IntegerEntry((aQ + "_Like_Amount"), 0), ScriptTransfer(d.caller, aR, a), ScriptTransfer(d.caller, aS, b)]
11691169 else throw("Minimum earnings to withdraw are: 100 ASIMI and 50 Troikans")
11701170 }
11711171
11721172
11731173
11741174 @Callable(d)
11751175 func LinkTwitterAcc2Wallet (aK) = {
11761176 let aT = {
11771177 let g = getString(this, (aK + "_Wallet"))
11781178 if ($isInstanceOf(g, "String"))
11791179 then {
11801180 let h = g
11811181 h
11821182 }
11831183 else "None"
11841184 }
11851185 if ((toBase58String(d.caller.bytes) == aT))
11861186 then throw("You already have your wallet linked to the Twitter account")
11871187 else if (if ((toBase58String(d.caller.bytes) != aT))
11881188 then (aT != "None")
11891189 else false)
11901190 then throw("The wallet you are using is not the linked Wallet to this Twitter account")
11911191 else [StringEntry((aK + "_Wallet"), toBase58String(d.caller.bytes))]
11921192 }
11931193
11941194

github/deemru/w8io/169f3d6 
82.93 ms