tx · 3BZESR8L4bsus3864gPxf7kzkQbwaPCzmboJonodZup9

3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy:  -0.04600000 Waves

2024.12.04 13:22 [3399782] smart account 3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy > SELF 0.00000000 Waves

{ "type": 13, "id": "3BZESR8L4bsus3864gPxf7kzkQbwaPCzmboJonodZup9", "fee": 4600000, "feeAssetId": null, "timestamp": 1733307803538, "version": 2, "chainId": 84, "sender": "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy", "senderPublicKey": "C3PaRKeL8AUKbwUqdniMQtThgcTh5DYHV1777Hkxy7rp", "proofs": [ "3ptNwUtrZbTwtDwmiPZUGHgWWuYNq8NwPrKbfruroBNGjSv2dn4jJ45i5afLiMNg43wyscwuJxWHtiqB8N2K9J4t" ], "script": "base64:BgJ0CAISAwoBGBIDCgEIEgMKAQgSAwoBCBIDCgEYEgMKAQgSAwoBCBIDCgEYEgMKAQgSAwoBGBIDCgEYEgUKAxgBARIDCgEIEgASAwoBCBIDCgEBEgASBAoCAQgSAwoBCBIGCgQYGAEBEgMKAQgSABIAEgMKAQjcAQAWS1NfU0VQQVJBVEVfUFVCTElDX0tFWQcABWNoYWluCQDJAQIJAMoBAggFBHRoaXMFYnl0ZXMAAQABAANwdWIEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDADBRZLU19TRVBBUkFURV9QVUJMSUNfS0VZASCrF1ePFWfjWVRBsNZy62abxKPTZl7VmYZQ35g3H7IJCAEgT1PiGj9UqNadUk4THUYnVb2zU/Mse8lUVLD/Q8G0FCgDCQAAAgEBVAUHJG1hdGNoMAEgT1PiGj9UqNadUk4THUYnVb2zU/Mse8lUVLD/Q8G0FCgJAAIBAg1Vbmtub3duIGNoYWluAAt1c2R0QXNzZXRJZAQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAEghNp6sggDP07Ru8qO7ouTvMmC3Qtd+geWqNQj+agP/7kDCQAAAgEBVAUHJG1hdGNoMAEgVbHYn3KHgu/l41uNrAWrZd6aQ6EvFrsF8xq3h6XxxRgJAAIBAg1Vbmtub3duIGNoYWluABVkZWZhdWx0UmVzdEFkZHJlc3NTdHIEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDACIzNQUUN1dkZidmg0TGtQVW5yblUxejNqbmJBMXA5bTNXTmh2AwkAAAIBAVQFByRtYXRjaDACIzNNdW1rR0d6dENLQVhwV0RxeGtkZG9mcVhTVWJxUWt2U0p5CQACAQINVW5rbm93biBjaGFpbgARSW5mcmFVcGdyYWRlQ29zdFMEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDAAgMivoCUDCQAAAgEBVAUHJG1hdGNoMACAwtcvCQACAQINVW5rbm93biBjaGFpbgAMcHJvbW8yTWFwS2V5Aglwcm9tbzJNYXAAA1NFUAICX18ABU1VTFQ2AMCEPQAFTVVMVDgAgMLXLwAFU1NJWkUAGQAFTVNJWkUAZAAFTFNJWkUA4QEABlhMU0laRQCQAwAHWFhMU0laRQDxBAEPZ2V0U3RyaW5nT3JGYWlsAgdhZGRyZXNzA2tleQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFB2FkZHJlc3MFA2tleQkAuQkCCQDMCAICCm1hbmRhdG9yeSAJAMwIAgkApQgBBQdhZGRyZXNzCQDMCAICAS4JAMwIAgUDa2V5CQDMCAICDyBpcyBub3QgZGVmaW5lZAUDbmlsAgAAEUlkeENmZ1N0YWtpbmdEYXBwAAEAEUlkeENmZ0Vjb25vbXlEYXBwAAIADUlkeENmZ1dsZ0RhcHAABAAUSWR4Q2ZnUHV6emxlUG9vbERhcHAABQAUSWR4Q2ZnSW52ZXN0RnVuZERhcHAABgAUSWR4Q2ZnVG91cm5hbWVudERhcHAABwAPSWR4Q2ZnQWNyZXNEYXBwAAgBCmtleVJlc3RDZmcAAg4lc19fcmVzdENvbmZpZwEOa2V5UmVzdEFkZHJlc3MAAgwlc19fcmVzdEFkZHIBEXJlYWRSZXN0Q2ZnT3JGYWlsAQRyZXN0CQC8CQIJAQ9nZXRTdHJpbmdPckZhaWwCBQRyZXN0CQEKa2V5UmVzdENmZwAFA1NFUAEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgdyZXN0Q2ZnA2lkeAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAJEDAgUHcmVzdENmZwUDaWR4CQCsAgICKlJlc3QgY2ZnIGRvZXNuJ3QgY29udGFpbiBhZGRyZXNzIGF0IGluZGV4IAkApAMBBQNpZHgADHJlc3RDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEOa2V5UmVzdEFkZHJlc3MABRVkZWZhdWx0UmVzdEFkZHJlc3NTdHIAB3Jlc3RDZmcJARFyZWFkUmVzdENmZ09yRmFpbAEFDHJlc3RDb250cmFjdAAPc3Rha2luZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwURSWR4Q2ZnU3Rha2luZ0RhcHAAD2Vjb25vbXlDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFEUlkeENmZ0Vjb25vbXlEYXBwAAt3bGdDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFDUlkeENmZ1dsZ0RhcHAAEnB1enpsZVBvb2xDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ1B1enpsZVBvb2xEYXBwABJpbnZlc3RGdW5kQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRRJZHhDZmdJbnZlc3RGdW5kRGFwcAASdG91cm5hbWVudENvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwUUSWR4Q2ZnVG91cm5hbWVudERhcHAADWFjcmVzQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBQ9JZHhDZmdBY3Jlc0RhcHAACnJlY0xhbmROdW0AAAALcmVjTGFuZFNpemUAAQALcmVjVGVycmFpbnMAAgAMcmVjQ29udGluZW50AAMADXdsZ0Fzc2V0SWRLZXkCC3dsZ19hc3NldElkAAp3bGdBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgULd2xnQ29udHJhY3QFDXdsZ0Fzc2V0SWRLZXkCGFdMR09MRCBpcyBub3QgaXNzdWVkIHlldAAUYWNyZXNJc3N1ZWRBbW91bnRLZXkCEWFjcmVzSXNzdWVkQW1vdW50AA9hY3Jlc0Fzc2V0SWRLZXkCDGFjcmVzQXNzZXRJZAAMYWNyZXNBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgUNYWNyZXNDb250cmFjdAUPYWNyZXNBc3NldElkS2V5AhdBQ1JFUyBpcyBub3QgaXNzdWVkIHlldAAMaWR4V2xnQW1vdW50AAAAC2lkeFdsZ1ByaWNlAAEAC2lkeFdsZ0Z1bmRzAAIADWlkeFdsZ0Vjb25vbXkAAwAOaWR4V2xnQWN0aXZpdHkABAAPaWR4V2xnQXJiaXRyYWdlAAUACmlkeFdsZ1Bvb2wABgAPaWR4V2xnSXNzdWVUaW1lAAcAFWlkeFdsZ0xhc3RUZWFtQWN0VGltZQAIAA9pZHhXbGdUZWFtVG90YWwACQAQaWR4V2xnVGVhbUFtTGVmdAAKABRpZHhXbGdUZWFtQW1BdmFpbE5vdwALABBpZHhXbGdUZWFtV2xnb2xkAAwADmlkeFdsZ0FjdFRvdGFsAA0AD2lkeFdsZ0FjdEFtTGVmdAAOABNpZHhXbGdBY3RBbUF2YWlsTm93AA8AD2lkeFdsZ0FjdFdsZ29sZAAQAA9pZHhXbGdDdXJQZXJpb2QAEQARaWR4V2xnQW1MZWZ0VG90YWwAEgAbaWR4V2xnQ3VyUGVyaW9kRGlzdHJpYnV0aW9uABMAEmlkeFdsZ0xhc3RVc2VyVGltZQAUABRpZHhXbGdVc2VyQW1BdmFpbE5vdwAVABZpZHhXbGdTTGFuZERhaWx5QW1vdW50ABYAFmlkeFdsZ0ludmVzdEZ1bmRBbW91bnQAFwAUaWR4V2xnVXNlclRvdGFsQXZhaWwAGAARaWR4V2xnRWZmVXNlclRpbWUAGQAQaWR4V2xnQmFua1dsZ29sZAAaAApJZHhFZmZVc2VyAAEBEWtleVJlc1Byb3BvcnRpb25zAAITcmVzVHlwZXNQcm9wb3J0aW9ucwEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQlvd25lckFkZHIJAKwCAgITc3Rha2VkTGFuZHNCeU93bmVyXwUJb3duZXJBZGRyARZrZXlTdGFrZWRQaWVjZXNCeU93bmVyAQlvd25lckFkZHIJAKwCAgIUc3Rha2VkUGllY2VzQnlPd25lcl8FCW93bmVyQWRkcgEIYXNTdHJpbmcBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwBQFzCQACAQIYZmFpbCB0byBjYXN0IGludG8gU3RyaW5nAQVhc0ludAEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgNJbnQEAW4FByRtYXRjaDAFAW4JAAIBAhVmYWlsIHRvIGNhc3QgaW50byBJbnQBCWFzQW55TGlzdAEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAglMaXN0W0FueV0EAWwFByRtYXRjaDAFAWwJAAIBAhtmYWlsIHRvIGNhc3QgaW50byBMaXN0W0FueV0BD251bVBpZWNlc0J5U2l6ZQEIbGFuZFNpemUEByRtYXRjaDAFCGxhbmRTaXplAwkAAAICAVMFByRtYXRjaDAFBVNTSVpFAwkAAAICAU0FByRtYXRjaDAFBU1TSVpFAwkAAAICAUwFByRtYXRjaDAFBUxTSVpFAwkAAAICAlhMBQckbWF0Y2gwBQZYTFNJWkUDCQAAAgIDWFhMBQckbWF0Y2gwBQdYWExTSVpFCQACAQIRVW5rbm93biBsYW5kIHNpemUBCmtleUJsb2NrZWQAAhBjb250cmFjdHNCbG9ja2VkARVrZXlMYXN0V2Vla1R4SWRCeVVzZXIBBGFkZHIJAKwCAgITbGFzdFdlZWtUeElkQnlVc2VyXwUEYWRkcgEOZ2V0Vm90aW5nUG93ZXIBEnVzZXJBZGRyU3RyT3JFbXB0eQQFcHJvcHMJALUJAgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARFrZXlSZXNQcm9wb3J0aW9ucwACCzBfMF8wXzBfMF8wAgFfCgEFYWRkZXICA2FjYwRpdGVtCQBkAgUDYWNjCQENcGFyc2VJbnRWYWx1ZQEFBGl0ZW0ECnRvdGFsUG93ZXIKAAIkbAUFcHJvcHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBBWFkZGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA2CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGBAp1c2Vyc1Bvd2VyCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFBpZWNlc0J5T3duZXIBBRJ1c2VyQWRkclN0ck9yRW1wdHkAAAkAzAgCBQp0b3RhbFBvd2VyCQDMCAIFCnVzZXJzUG93ZXIFA25pbAAKQVJUUFJFU0FMRQIHUFJFU0FMRQAKQVJUT05CT0FSRAIHT05CT0FSRAAGTlVNUkVTAAYAD0RBSUxZUkVTQllQSUVDRQCA+NIBAAxXSE1VTFRJUExJRVIAgMivoCUAEFJFU09VUkNFUFJJQ0VNSU4A1bUCAA1FU01BWFBBQ0tBR0VTAAoACUVTQlVZQ09FRgAEAApFU1NFTExDT0VGAAoACUNPRUZGMk1BVACAreIEABBwcm9kdWN0aW9uTWF0cml4CQDMCAICJThfOF84XzE3XzE3XzQyXzEyXzBfMzBfMCwwLDAsMCwwLDAsMF8JAMwIAgIlOF84XzhfMTdfMTdfNDJfMjRfMF82MF8wLDAsNSwyLDAsMCwwXwkAzAgCAic4XzhfOF8xN18xN180Ml8zNl8wXzEyMF8wLDAsMTAsNCwwLDAsMF8JAMwIAgIpOF8xOV8xOV84XzI3XzE5XzI2XzFfMjBfMCwwLDAsMCwwLDAsMF8wMDEJAMwIAgIpOF8xOV8xOV84XzI3XzE5XzUyXzFfNDBfMCwwLDAsMCwwLDAsMF8wMDEJAMwIAgIpOF8xOV8xOV84XzI3XzE5Xzc4XzFfODBfMCwwLDAsMCwwLDAsMF8wMDEJAMwIAgIlOF84XzhfOF84XzYwXzEzXzJfMl8wLDAsMCwwLDAsMCwwXzAxMQkAzAgCAiU4XzhfOF84XzhfNjBfMjZfMl80XzAsMCwwLDAsMCwwLDBfMDExCQDMCAICJThfOF84XzhfOF82MF8zOV8yXzhfMCwwLDAsMCwwLDAsMF8wMTEJAMwIAgIpMzBfMzBfM18xN18xN18zXzMwXzNfMzBfMCwwLDAsMCwwLDAsMF8xMTEJAMwIAgIpMzBfMzBfM18xN18xN18zXzYwXzNfNTBfMCwwLDAsMCwwLDAsMF8xMTEJAMwIAgIpMzBfMzBfM18xN18xN18zXzkwXzNfNzBfMCwwLDAsMCwwLDAsMF8xMTEJAMwIAgIrMThfMThfMTBfMThfMThfMThfMTFfNF8xMF8wLDAsMCwwLDAsMCwwXzIwMQkAzAgCAisxOF8xOF8xMF8xOF8xOF8xOF8yMl80XzIwXzAsMCwwLDAsMCwwLDBfMjAxCQDMCAICKzE4XzE4XzEwXzE4XzE4XzE4XzMzXzRfMzBfMCwwLDAsMCwwLDAsMF8yMDEJAMwIAgIqNF8xM18yMl80XzM1XzIyXzIzXzBfNTAsMSwwXzAsMCwwLDAsMCwwLDBfCQDMCAICKjRfMTNfMjJfNF8zNV8yMl80Nl8wXzUwLDEsMV8wLDIsNSwwLDAsMCwwXwkAzAgCAis0XzEzXzIyXzRfMzVfMjJfNjlfMF81MCwyLDFfMCw1LDEwLDAsMCwwLDBfCQDMCAICKjVfMjVfNDBfNV8xMF8xNV8yMF8xXzMwLDEsMV8wLDAsMCwwLDAsMCwwXwkAzAgCAio1XzI1XzQwXzVfMTBfMTVfNDBfMV8zMCwxLDJfMiwxLDMsMCwwLDAsMF8JAMwIAgIqNV8yNV80MF81XzEwXzE1XzYwXzFfMzAsMSwzXzUsMiw4LDAsMCwwLDBfCQDMCAICJzIzXzIzXzVfMjBfMjNfNl8zNV8yXzEwMF8wLDAsMCwwLDAsMCwwXwkAzAgCAicyM18yM181XzIwXzIzXzZfNzBfMl8xNTBfMCwwLDAsMCwwLDAsMF8JAMwIAgIoMjNfMjNfNV8yMF8yM182XzEwNV8yXzIwMF8wLDAsMCwwLDAsMCwwXwUDbmlsAAlySWR4Q29lZmYABgAKcklkeEVmZmVjdAAIAA5QUk9EVUNUUEtHU0laRQAKARVrZXlMYW5kQXNzZXRJZFRvT3duZXIBB2Fzc2V0SWQJAKwCAgIDbm9fBQdhc3NldElkARprZXlMYW5kQXNzZXRJZFRvQ3VzdG9tTmFtZQEHYXNzZXRJZAkArAICAgVsY25hXwUHYXNzZXRJZAEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEHYXNzZXRJZAkArAICAgNzdF8FB2Fzc2V0SWQBIGtleUxhbmRBcnRTdGF0dXNCeVR5cGVBbmRBc3NldElkAgR0eXBlB2Fzc2V0SWQJALkJAgkAzAgCAgNsYXMJAMwIAgUEdHlwZQkAzAgCBQdhc3NldElkBQNuaWwCAV8BEmtleVdhcmVob3VzZUJ5TGFuZAELbGFuZEFzc2V0SWQJAKwCAgIDd2hfBQtsYW5kQXNzZXRJZAEWa2V5SW5mcmFMZXZlbEJ5QXNzZXRJZAEHYXNzZXRJZAkArAICAgtpbmZyYUxldmVsXwUHYXNzZXRJZAEaa2V5RHVja0Fzc2V0SWRUb0N1c3RvbU5hbWUBB2Fzc2V0SWQJAKwCAgIYZHVja0N1c3RvbU5hbWVCeUFzc2V0SWRfBQdhc3NldElkARZrZXlBZGRyZXNzVG9DdXN0b21OYW1lAQRhZGRyCQCsAgICGGFjY291bnRDdXN0b21OYW1lQnlBZGRyXwUEYWRkcgEPa2V5QWRkcmVzc1JlZkJ5AQRhZGRyCQCsAgICCWFjY1JlZkJ5XwUEYWRkcgEca2V5T25ib2FyZEFydER1Y2tBY3RpdmF0ZWRCeQEEYWRkcgkArAICAhpvbmJvYXJkQXJ0QWN0aXZhdGVkRHVja0J5XwUEYWRkcgETa2V5QWRkcmVzc1JlZmVycmFscwEEYWRkcgkArAICAg1hY2NSZWZlcnJhbHNfBQRhZGRyARBrZXlEdWNrSWRUb093bmVyAQdhc3NldElkCQCsAgICCmR1Y2tPd25lcl8FB2Fzc2V0SWQBFGtleVN0YWtlZER1Y2tCeU93bmVyAQlvd25lckFkZHIJAKwCAgISc3Rha2VkRHVja0J5T3duZXJfBQlvd25lckFkZHIBD2tleUR1Y2tMb2NhdGlvbgELZHVja0Fzc2V0SWQJAKwCAgINZHVja0xvY2F0aW9uXwULZHVja0Fzc2V0SWQBDmtleU9yZGVyQnlMYW5kAQtsYW5kQXNzZXRJZAkArAICAgpsYW5kT3JkZXJfBQtsYW5kQXNzZXRJZAEOa2V5RXNXYXJlaG91c2UAAhplbWVyZ2VuY3lXYXJlaG91c2VQcm9kdWN0cwANbGFzdFRvdXJJZEtleQIOJXNfX2xhc3RUb3VySWQBFWtleVRvdXJTdGF0aWNEYXRhQnlJZAEDdElkCQCsAgICFiVzJWRfX3RvdXJTdGF0aWNEYXRhX18JAKQDAQUDdElkARZrZXlUb3VyRHluYW1pY0RhdGFCeUlkAQN0SWQJAKwCAgIXJXMlZF9fdG91ckR5bmFtaWNEYXRhX18JAKQDAQUDdElkARNrZXlTY29yZUJvYXJkQnlUb3VyAQN0SWQJAKwCAgISJXMlZF9fc2NvcmVCb2FyZF9fCQCkAwEFA3RJZAEca2V5SXNSZWdpc3RlcmVkQnlUb3VyQW5kRHVjawIDdElkC2R1Y2tBc3NldElkCQC5CQIJAMwIAgIhJXMlZCVzX19pc1JlZ2lzdGVyZWRCeVRvdXJBbmREdWNrCQDMCAIJAKQDAQUDdElkCQDMCAIFC2R1Y2tBc3NldElkBQNuaWwCAl9fARlrZXlJc0F3YXJkZWRCeVRvdXJBbmREdWNrAgN0SWQLZHVja0Fzc2V0SWQJALkJAgkAzAgCAh4lcyVkJXNfX2lzQXdhcmRlZEJ5VG91ckFuZER1Y2sJAMwIAgkApAMBBQN0SWQJAMwIAgULZHVja0Fzc2V0SWQFA25pbAICX18BG2tleUxhc3RBdHRlbXB0QnlUb3VyQW5kRHVjawIDdElkC2R1Y2tBc3NldElkCQC5CQIJAMwIAgIgJXMlZCVzX19sYXN0QXR0ZW1wdEJ5VG91ckFuZER1Y2sJAMwIAgkApAMBBQN0SWQJAMwIAgULZHVja0Fzc2V0SWQFA25pbAICX18BGmtleUJlc3RSZXN1bHRCeVRvdXJBbmREdWNrAgN0SWQLZHVja0Fzc2V0SWQJALkJAgkAzAgCAh8lcyVkJXNfX2Jlc3RSZXN1bHRCeVRvdXJBbmREdWNrCQDMCAIJAKQDAQUDdElkCQDMCAIFC2R1Y2tBc3NldElkBQNuaWwCAl9fARZrZXlCZXN0VHhCeVRvdXJBbmREdWNrAgN0SWQLZHVja0Fzc2V0SWQJALkJAgkAzAgCAhslcyVkJXNfX2Jlc3RUeEJ5VG91ckFuZER1Y2sJAMwIAgkApAMBBQN0SWQJAMwIAgULZHVja0Fzc2V0SWQFA25pbAICX18ACWlkeFN0YXRpYwAAAAppZHhEeW5hbWljAAEAE3RTdGF0aWNSZWdpc3RlckNvc3QAAgASdFN0YXRpY0F0dGVtcHRDb3N0AAMADHRTdGF0aWNTdGFydAAFAAp0U3RhdGljRW5kAAYAEHRTdGF0aWNOdW1HcmFuZHMABwAQdFN0YXRpY1ByaXplRnVuZAAIAAx0U3RhdGljQXNzZXQACQAOdER5bmFtaWNTdGF0dXMAAQAPdER5bmFtaWNMZWFkZXJzAAIAEXREeW5hbWljV2luUmVzdWx0AAMAFXREeW5hbWljVG90YWxSZWdDb3VudAAEABV0RHluYW1pY1RvdGFsQXR0ZW1wdHMABQELZ2V0VG91ckRhdGECDHRvdXJDb250cmFjdAN0SWQEBnN0YXRpYwkAtQkCCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUMdG91ckNvbnRyYWN0CQEVa2V5VG91clN0YXRpY0RhdGFCeUlkAQUDdElkCQCsAgIJAKwCAgIZRXJyb3IgcmVhZGluZyB0b3VybmFtZW50IAkApAMBBQN0SWQCBSBkYXRhAgJfXwQHZHluYW1pYwkAvAkCCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUMdG91ckNvbnRyYWN0CQEWa2V5VG91ckR5bmFtaWNEYXRhQnlJZAEFA3RJZAkArAICCQCsAgICGUVycm9yIHJlYWRpbmcgdG91cm5hbWVudCAJAKQDAQUDdElkAgUgZGF0YQICX18JAMwIAgUGc3RhdGljCQDMCAIFB2R5bmFtaWMFA25pbAEaa2V5SXNBd2FyZGVkQnlQcm9tb0FuZFVzZXICB3Byb21vSWQEYWRkcgkAuQkCCQDMCAICHyVzJWQlc19faXNBd2FyZGVkQnlQcm9tb0FuZFVzZXIJAMwIAgkApAMBBQdwcm9tb0lkCQDMCAIFBGFkZHIFA25pbAICX18BEmdldFJlY2lwZU1hdGVyaWFscwEGcmVjaXBlCQBoAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBnJlY2lwZQUJcklkeENvZWZmBQlDT0VGRjJNQVQABlNDQUxFOACAwtcvAA1jaGFySW50ZWxsZWN0AAIADWNoYXJFbmR1cmFuY2UAAwANY2hhckRleHRlcml0eQAEAAdzZWdCYWNrAAEAB3NlZ0JlbHQAAgENa2V5RHVja0hlYWx0aAELZHVja0Fzc2V0SWQJAKwCAgILZHVja0hlYWx0aF8FC2R1Y2tBc3NldElkAQxrZXlEdWNrQ2hhcnMBC2R1Y2tBc3NldElkCQCsAgICCmR1Y2tDaGFyc18FC2R1Y2tBc3NldElkAQlrZXlEdWNrWFABC2R1Y2tBc3NldElkCQCsAgICB2R1Y2tYUF8FC2R1Y2tBc3NldElkAQxrZXlEdWNrTGV2ZWwBC2R1Y2tBc3NldElkCQCsAgICCmR1Y2tMZXZlbF8FC2R1Y2tBc3NldElkARFrZXlEdWNrRnJlZVBvaW50cwELZHVja0Fzc2V0SWQJAKwCAgIPZHVja0ZyZWVQb2ludHNfBQtkdWNrQXNzZXRJZAEQa2V5RHVja0VxdWlwbWVudAELZHVja0Fzc2V0SWQJAKwCAgIOZHVja0VxdWlwbWVudF8FC2R1Y2tBc3NldElkAQlrZXlVc2VyWFABBGFkZHIJAKwCAgIHdXNlclhQXwUEYWRkcgEMa2V5VXNlckxldmVsAQRhZGRyCQCsAgICCnVzZXJMZXZlbF8FBGFkZHIBEWtleVVzZXJGcmVlUG9pbnRzAQRhZGRyCQCsAgICD3VzZXJGcmVlUG9pbnRzXwUEYWRkcgEMa2V5RHVja0J1ZmZzAQtkdWNrQXNzZXRJZAkArAICAgpkdWNrQnVmZnNfBQtkdWNrQXNzZXRJZAETa2V5RHVja1JvYmJlcnlDb3VudAELZHVja0Fzc2V0SWQJAKwCAgIYdG90YWxSb2JiZXJ5Q291bnRCeUR1Y2tfBQtkdWNrQXNzZXRJZAEUa2V5RHVja0RlbGl2ZXJ5Q291bnQBC2R1Y2tBc3NldElkCQCsAgICGXRvdGFsRGVsaXZlcnlDb3VudEJ5RHVja18FC2R1Y2tBc3NldElkARRrZXlVc2VyRGVsaXZlcnlDb3VudAEEYWRkcgkArAICAhJ1c2VyRGVsaXZlcnlDb3VudF8FBGFkZHIBFmtleVVzZXJMYXN0RGVsaXZlcnlEYXkBBGFkZHIJAKwCAgIUdXNlckxhc3REZWxpdmVyeURheV8FBGFkZHIBCW1heEhlYWx0aAEFbGV2ZWwJAGQCAGQFBWxldmVsAQR0YW5oAQF2BAZkb3VibGUJAGgCAAIFAXYEBGV4cDIJAGwGANeJz4EBAAgFBmRvdWJsZQAIAAgFBkhBTEZVUAkAbgQJAGUCBQRleHAyBQZTQ0FMRTgFBlNDQUxFOAkAZAIFBGV4cDIFBlNDQUxFOAUGSEFMRlVQARBkb2RnZVByb2JhYmlsaXR5AwVjaGFycwVidWZmcw1lcXVpcG1lbnRQZXJjBAVpbnRlbAkAZAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQVjaGFycwUNY2hhckludGVsbGVjdAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBWJ1ZmZzBQ1jaGFySW50ZWxsZWN0BANkZXgJAGQCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUFY2hhcnMFDWNoYXJEZXh0ZXJpdHkJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQVidWZmcwUNY2hhckRleHRlcml0eQQGZmlyc3Q4CQBpAgkBBHRhbmgBCQBrAwUDZGV4BQZTQ0FMRTgAyAEABAQHc2Vjb25kOAkAbgQFDWVxdWlwbWVudFBlcmMJAGQCBQZTQ0FMRTgJAG4EAMCfqwMFBWludGVsCQBkAgABBQVpbnRlbAUGSEFMRlVQAGQFBkhBTEZVUAkAZAIFBmZpcnN0OAUHc2Vjb25kOAEQZGFtYWdlQWJzb3JwdGlvbgMFY2hhcnMFYnVmZnMOZXF1aXBtZW50QWJzb3IEBWludGVsCQBkAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBWNoYXJzBQ1jaGFySW50ZWxsZWN0CQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUFYnVmZnMFDWNoYXJJbnRlbGxlY3QEBWVuZHVyCQBkAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBWNoYXJzBQ1jaGFyRW5kdXJhbmNlCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUFYnVmZnMFDWNoYXJFbmR1cmFuY2UEA2RleAkAZAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQVjaGFycwUNY2hhckRleHRlcml0eQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBWJ1ZmZzBQ1jaGFyRGV4dGVyaXR5BAZmaXJzdDgJAGgCBQ5lcXVpcG1lbnRBYnNvcgkAZAIFBlNDQUxFOAkAbgQAgL/WBgUFaW50ZWwJAGQCAAEFBWludGVsBQZIQUxGVVAEB3NlY29uZDgJAGkCCQEEc3FydAQFA2RleAAAAAgFBkhBTEZVUAAKBAZ0aGlyZDgJAGgCCQBpAgUGU0NBTEU4AAUFBWVuZHVyCQBkAgkAZAIFBmZpcnN0OAUHc2Vjb25kOAUGdGhpcmQ4AAJNNgDAhD0AAk04AIDC1y8ACE1JTExJT042AICA6YOx3hYACVRFQU1TSEFSRQDAmgwADUFDVElWSVRZU0hBUkUAoI0GAAtQTEFZRVJTSEFSRQCAtRgACllFQVJNSUxMSVMAgIbrx3UACURBWU1JTExJUwCAuJkpAAhCQU5LX0ZFRQDQhgMAAmNoCQDJAQIJAMoBAggFBHRoaXMFYnl0ZXMAAQABABNVU0RUX1RWTF9DT1JSRUNUSU9OBAckbWF0Y2gwBQJjaAMJAAACAQFXBQckbWF0Y2gwAPD1qMAEAwkAAAIBAVQFByRtYXRjaDAAAAkAAgECDVVua25vd24gY2hhaW4AC3RlYW1BZGRyS2V5Agh0ZWFtQWRkcgAPbGFzdFRlYW1UaW1lS2V5AhRsYXN0Q2xhaW1lZFRpbWVfdGVhbQARdGVhbUFtb3VudExlZnRLZXkCDnRlYW1BbW91bnRMZWZ0ABVsYXN0QWN0aXZpdGllc1RpbWVLZXkCGmxhc3RDbGFpbWVkVGltZV9hY3Rpdml0aWVzABBhY3RBbW91bnRMZWZ0S2V5AhRhY3Rpdml0aWVzQW1vdW50TGVmdAAUc3Rha2Vyc0Ftb3VudExlZnRLZXkCEXN0YWtlcnNBbW91bnRMZWZ0ARtrZXlMYXN0Q2xhaW1lZFRpbWVCeVVzZXJPbGQBBGFkZHIJAKwCAgIXbGFzdENsYWltZWRUaW1lVXNlck9sZF8FBGFkZHIBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQZwZXJpb2QJAGsDBQhNSUxMSU9ONgkAaAIFC1BMQVlFUlNIQVJFCQBkAgUGcGVyaW9kAAEJAGgCAAYFAk02AA93bGdJc3N1ZVRpbWVLZXkCDXdsZ19pc3N1ZVRpbWUAEndsZ0lzc3VlZEFtb3VudEtleQIQd2xnX2lzc3VlZEFtb3VudAARemJJc3N1ZWRBbW91bnRLZXkCEnpiaWxsX2lzc3VlZEFtb3VudAEaa2V5QWNyZXNTdGFrZWRBbW91bnRCeVVzZXIBBGFkZHIJAKwCAgIYYWNyZXNTdGFrZWRBbW91bnRCeVVzZXJfBQRhZGRyARprZXlBY3Jlc0xvY2tlZEFtb3VudEJ5VXNlcgEEYWRkcgkArAICAhhhY3Jlc0xvY2tlZEFtb3VudEJ5VXNlcl8FBGFkZHIBF2tleUFjcmVzTG9ja2VkRXRhQnlVc2VyAQRhZGRyCQCsAgICFWFjcmVzTG9ja2VkRXRhQnlVc2VyXwUEYWRkcgATYWNyZXNTdGFrZWRUb3RhbEtleQIWYWNyZXNTdGFrZWRBbW91bnRUb3RhbAEYa2V5V2xnU3Rha2VkQW1vdW50QnlVc2VyAQRhZGRyCQCsAgICFndsZ1N0YWtlZEFtb3VudEJ5VXNlcl8FBGFkZHIACGRhcHBSZXN0AAAAC2RhcHBTdGFraW5nAAEAC2RhcHBFY29ub215AAIAB2RhcHBXbGcAAwAKZGFwcFB1enpsZQAEAA5kYXBwSW52ZXN0RnVuZAAFAAlkYXBwQWNyZXMABgEIZ2V0TGFuZHMDEnVzZXJBZGRyU3RyT3JFbXB0eQ9zdGFraW5nQ29udHJhY3QNYWNyZXNDb250cmFjdAQFcHJvcHMJALUJAgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QCE3Jlc1R5cGVzUHJvcG9ydGlvbnMCCzBfMF8wXzBfMF8wAgFfCgEFYWRkZXICA2FjYwRpdGVtCQBkAgUDYWNjCQENcGFyc2VJbnRWYWx1ZQEFBGl0ZW0EC3RvdGFsUGllY2VzCgACJGwFBXByb3BzCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQVhZGRlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgQKdXNlclBpZWNlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAKwCAgIUc3Rha2VkUGllY2VzQnlPd25lcl8FEnVzZXJBZGRyU3RyT3JFbXB0eQAABAp0b3RhbEFjcmVzCQELdmFsdWVPckVsc2UCCQCaCAIFDWFjcmVzQ29udHJhY3QFE2FjcmVzU3Rha2VkVG90YWxLZXkAAAQJdXNlckFjcmVzCQELdmFsdWVPckVsc2UCCQCaCAIFDWFjcmVzQ29udHJhY3QJARprZXlBY3Jlc1N0YWtlZEFtb3VudEJ5VXNlcgEFEnVzZXJBZGRyU3RyT3JFbXB0eQAACQDMCAIFC3RvdGFsUGllY2VzCQDMCAIFCnVzZXJQaWVjZXMJAMwIAgUKdG90YWxBY3JlcwkAzAgCBQl1c2VyQWNyZXMFA25pbAAOaWR4VG90YWxQaWVjZXMAAAANaWR4VXNlclBpZWNlcwABAA1pZHhUb3RhbEFjcmVzAAIADGlkeFVzZXJBY3JlcwADABFPTERfU1RBS0lOR19ERUFETACA4tCWuTIBC2dldFdsZ1N0YXRzBQt1c2VyQWRkck9wdAljb250cmFjdHMGdXNkdElkFXVzZHRCYWxhbmNlQ29ycmVjdGlvbg91c2VyUHJvcG9ydGlvbjYEDGlzc3VlZEFtb3VudAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRJ3bGdJc3N1ZWRBbW91bnRLZXkCGFdMR09MRCBpcyBub3QgaXNzdWVkIHlldAQKZWNvbm9teVVzZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwULZGFwcEVjb25vbXkFBnVzZHRJZAQHcmVzdFVzZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcFJlc3QFBnVzZHRJZAQGd2xnVXNkCQBlAgkA8AcCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUGdXNkdElkBRV1c2R0QmFsYW5jZUNvcnJlY3Rpb24ECXB1enpsZVVzZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwUKZGFwcFB1enpsZQUGdXNkdElkBBFpbnZlc3RGbmRDb250cmFjdAkAkQMCBQljb250cmFjdHMFDmRhcHBJbnZlc3RGdW5kBA9pbnZlc3RGdW5kVG90YWwJAGQCCQDwBwIFEWludmVzdEZuZENvbnRyYWN0BQZ1c2R0SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgURaW52ZXN0Rm5kQ29udHJhY3QFEXpiSXNzdWVkQW1vdW50S2V5AAAEDXRvdGFsRnVuZHNVc2QJAGQCCQBkAgUKZWNvbm9teVVzZAUGd2xnVXNkBQ9pbnZlc3RGdW5kVG90YWwEBXdsZ0lkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcCC3dsZ19hc3NldElkAhNOb3QgaW5pdGlhbGl6ZWQgeWV0BANub3cIBQlsYXN0QmxvY2sJdGltZXN0YW1wBAlpc3N1ZVRpbWUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUPd2xnSXNzdWVUaW1lS2V5Ag9Ob3QgaW5pdGlhbGl6ZWQECmJhbmtXbGdvbGQJAPAHAgkAkQMCBQljb250cmFjdHMFC2RhcHBTdGFraW5nBQV3bGdJZAQJdGVhbVRvdGFsCQBrAwUITUlMTElPTjYFCVRFQU1TSEFSRQUCTTYEDnRlYW1BbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRF0ZWFtQW1vdW50TGVmdEtleQUJdGVhbVRvdGFsBAxsYXN0VGVhbVRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFD2xhc3RUZWFtVGltZUtleQUJaXNzdWVUaW1lBAh0ZWFtQWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAnQgCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwULdGVhbUFkZHJLZXkEFnRlYW1BbW91bnRBdmFpbGFibGVOb3cJAJcDAQkAzAgCCQBrAwUJdGVhbVRvdGFsCQBlAgUDbm93BQxsYXN0VGVhbVRpbWUJAGgCAAMFCllFQVJNSUxMSVMJAMwIAgUOdGVhbUFtb3VudExlZnQFA25pbAQKdGVhbVdsZ29sZAkA8AcCBQh0ZWFtQWRkcgUFd2xnSWQECGFjdFRvdGFsCQBrAwUITUlMTElPTjYFDUFDVElWSVRZU0hBUkUFAk02BA1hY3RBbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRBhY3RBbW91bnRMZWZ0S2V5BQhhY3RUb3RhbAQSbGFzdEFjdGl2aXRpZXNUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRVsYXN0QWN0aXZpdGllc1RpbWVLZXkFCWlzc3VlVGltZQQVYWN0QW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFCGFjdFRvdGFsCQBlAgUDbm93BRJsYXN0QWN0aXZpdGllc1RpbWUJAGgCAAMFCllFQVJNSUxMSVMJAMwIAgUNYWN0QW1vdW50TGVmdAUDbmlsBAlhY3RXbGdvbGQJAPAHAgkAkQMCBQljb250cmFjdHMFCGRhcHBSZXN0BQV3bGdJZAQMbGFzdFVzZXJUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnCQEba2V5TGFzdENsYWltZWRUaW1lQnlVc2VyT2xkAQULdXNlckFkZHJPcHQFCWlzc3VlVGltZQQObGFzdFVzZXJQZXJpb2QJAGkCCQBlAgUMbGFzdFVzZXJUaW1lBQlpc3N1ZVRpbWUFCllFQVJNSUxMSVMECm5vd0xpbWl0ZWQJAJcDAQkAzAgCCQCXAwEJAMwIAgUDbm93CQDMCAIJAGQCBQlpc3N1ZVRpbWUJAGgCAAMFCllFQVJNSUxMSVMFA25pbAkAzAgCBRFPTERfU1RBS0lOR19ERUFETAUDbmlsBAljdXJQZXJpb2QJAJcDAQkAzAgCCQBpAgkAZQIFA25vdwUJaXNzdWVUaW1lBQpZRUFSTUlMTElTCQDMCAIAAgUDbmlsBANlZmYJAQhnZXRMYW5kcwMFC3VzZXJBZGRyT3B0CQCRAwIFCWNvbnRyYWN0cwULZGFwcFN0YWtpbmcJAJEDAgUJY29udHJhY3RzBQlkYXBwQWNyZXMEFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQUJY3VyUGVyaW9kBAgkdDA3OTE0MgMJAAACBQ5sYXN0VXNlclBlcmlvZAUJY3VyUGVyaW9kBAJhMAkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAZQIFCm5vd0xpbWl0ZWQFDGxhc3RVc2VyVGltZQUKWUVBUk1JTExJUwQIdXNlclBhcnQJAGsDBQJhMAUPdXNlclByb3BvcnRpb242BQJNNgQHZWZmVGltZQkAZAIFDGxhc3RVc2VyVGltZQkAawMJAGUCBQpub3dMaW1pdGVkBQxsYXN0VXNlclRpbWUFD3VzZXJQcm9wb3J0aW9uNgUCTTYJAJUKAwUIdXNlclBhcnQFAmEwBQdlZmZUaW1lAwkAAAIFDmxhc3RVc2VyUGVyaW9kCQBlAgUJY3VyUGVyaW9kAAEEAmExCQBrAwkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAABCQBlAgkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMFCWN1clBlcmlvZAUMbGFzdFVzZXJUaW1lBQpZRUFSTUlMTElTBAJhMAkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAZQIFCm5vd0xpbWl0ZWQJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTBQljdXJQZXJpb2QFCllFQVJNSUxMSVMEBWF2YWlsCQBkAgUCYTEFAmEwBAh1c2VyUGFydAkAawMFBWF2YWlsBQ91c2VyUHJvcG9ydGlvbjYFAk02BAdlZmZUaW1lAwkAZwIFAmExBQh1c2VyUGFydAkAZAIFDGxhc3RVc2VyVGltZQkAawMFCllFQVJNSUxMSVMFCHVzZXJQYXJ0CQEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBCQBlAgUJY3VyUGVyaW9kAAEJAGQCCQBkAgUJaXNzdWVUaW1lCQBoAgUKWUVBUk1JTExJUwUJY3VyUGVyaW9kCQBrAwUKWUVBUk1JTExJUwkAZQIFCHVzZXJQYXJ0BQJhMQUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQCVCgMFCHVzZXJQYXJ0BQVhdmFpbAUHZWZmVGltZQQCYTIJAGsDCQEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBCQBlAgUJY3VyUGVyaW9kAAIJAGUCCQBkAgUJaXNzdWVUaW1lCQBoAgUKWUVBUk1JTExJUwkAZQIFCWN1clBlcmlvZAABBQxsYXN0VXNlclRpbWUFCllFQVJNSUxMSVMEAmExCQEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBCQBlAgUJY3VyUGVyaW9kAAEEAmEwCQBrAwUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQBlAgUKbm93TGltaXRlZAkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMFCWN1clBlcmlvZAUKWUVBUk1JTExJUwQFYXZhaWwJAGQCCQBkAgUCYTIFAmExBQJhMAQIdXNlclBhcnQJAGsDBQVhdmFpbAUPdXNlclByb3BvcnRpb242BQJNNgQHZWZmVGltZQMJAGcCBQJhMgUIdXNlclBhcnQJAGQCBQxsYXN0VXNlclRpbWUJAGsDBQpZRUFSTUlMTElTBQh1c2VyUGFydAkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAACAwkAZwIJAGQCBQJhMgUCYTEFCHVzZXJQYXJ0CQBkAgkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMJAGUCBQljdXJQZXJpb2QAAQkAawMFCllFQVJNSUxMSVMJAGUCBQh1c2VyUGFydAUCYTIJARRkaXN0cmlidXRpb25CeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAQkAZAIJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTBQljdXJQZXJpb2QJAGsDBQpZRUFSTUlMTElTCQBlAgkAZQIFCHVzZXJQYXJ0BQJhMgUCYTEFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAlQoDBQh1c2VyUGFydAUFYXZhaWwFB2VmZlRpbWUECnVzZXJBbW91bnQIBQgkdDA3OTE0MgJfMQQNdXNlckF2YWlsYWJsZQgFCCR0MDc5MTQyAl8yBAtlZmZMYXN0VGltZQgFCCR0MDc5MTQyAl8zBBBzTGFuZERhaWx5QW1vdW50CQBrAwkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgUJREFZTUlMTElTBQpZRUFSTUlMTElTABkJAJEDAgUDZWZmBQ5pZHhUb3RhbFBpZWNlcwQPYW1vdW50TGVmdFRvdGFsCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRRzdGFrZXJzQW1vdW50TGVmdEtleQAABAh1c2VyVGVtcAkAawMFCnVzZXJBbW91bnQJAGQCCQBoAgkAkQMCBQNlZmYFDWlkeFVzZXJQaWVjZXMFAk04CQCRAwIFA2VmZgUMaWR4VXNlckFjcmVzCQBkAgkAaAIJAJEDAgUDZWZmBQ5pZHhUb3RhbFBpZWNlcwUCTTgJAJEDAgUDZWZmBQ1pZHhUb3RhbEFjcmVzBAxiYW5rRnJvbVVzZXIJAGsDBQh1c2VyVGVtcAUIQkFOS19GRUUFAk02BApyb2JiZWRVc2VyCQBlAgUIdXNlclRlbXAFDGJhbmtGcm9tVXNlcgQMdW5yb2JiZWRVc2VyCQBrAwUNdXNlckF2YWlsYWJsZQkAZAIJAGgCCQCRAwIFA2VmZgUNaWR4VXNlclBpZWNlcwUCTTgJAJEDAgUDZWZmBQxpZHhVc2VyQWNyZXMJAGQCCQBoAgkAkQMCBQNlZmYFDmlkeFRvdGFsUGllY2VzBQJNOAkAkQMCBQNlZmYFDWlkeFRvdGFsQWNyZXMJAMwIAgUMaXNzdWVkQW1vdW50CQDMCAIJAGsDCQBlAgUNdG90YWxGdW5kc1VzZAUTVVNEVF9UVkxfQ09SUkVDVElPTgUCTTgFDGlzc3VlZEFtb3VudAkAzAgCBQ10b3RhbEZ1bmRzVXNkCQDMCAIFCmVjb25vbXlVc2QJAMwIAgUHcmVzdFVzZAkAzAgCBQZ3bGdVc2QJAMwIAgUJcHV6emxlVXNkCQDMCAIFCWlzc3VlVGltZQkAzAgCBQxsYXN0VGVhbVRpbWUJAMwIAgUJdGVhbVRvdGFsCQDMCAIFDnRlYW1BbW91bnRMZWZ0CQDMCAIFFnRlYW1BbW91bnRBdmFpbGFibGVOb3cJAMwIAgUKdGVhbVdsZ29sZAkAzAgCBQhhY3RUb3RhbAkAzAgCBQ1hY3RBbW91bnRMZWZ0CQDMCAIFFWFjdEFtb3VudEF2YWlsYWJsZU5vdwkAzAgCBQlhY3RXbGdvbGQJAMwIAgUJY3VyUGVyaW9kCQDMCAIFD2Ftb3VudExlZnRUb3RhbAkAzAgCBRVjdXJQZXJpb2REaXN0cmlidXRpb24JAMwIAgUMbGFzdFVzZXJUaW1lCQDMCAIFCnJvYmJlZFVzZXIJAMwIAgUQc0xhbmREYWlseUFtb3VudAkAzAgCBQ9pbnZlc3RGdW5kVG90YWwJAMwIAgUMdW5yb2JiZWRVc2VyCQDMCAIFC2VmZkxhc3RUaW1lCQDMCAIFCmJhbmtXbGdvbGQFA25pbAANVVNEVFBSSVpFUEFSVACgwh4BEmFzTGlzdEludENvbXBhY3RlZAEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIJTGlzdFtBbnldBAp2YWxBbnlMaXN0BQckbWF0Y2gwAwkBAiE9AgkAkAMBBQp2YWxBbnlMaXN0BQZOVU1SRVMJAAIBCQCsAgICDkFycmF5IHNpemUgaXMgCQCkAwEJAJADAQUKdmFsQW55TGlzdAoBBGNvbnYCA2FjYwRpdGVtBAckbWF0Y2gxBQRpdGVtAwkAAQIFByRtYXRjaDECA0ludAQCaXQFByRtYXRjaDEJAM0IAgUDYWNjCQCkAwEFAml0CQACAQIUTGlzdCB0eXBlIGlzIG5vdCBJbnQEAXIKAAIkbAUKdmFsQW55TGlzdAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEEY29udgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgkAuQkCBQFyAgFfCQACAQIWZmFpbCB0byBjYXN0IGludG8gTGlzdAENYXNTcGxpdFJlc3VsdAEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIWKExpc3RbQW55XSwgTGlzdFtBbnldKQQCdDIFByRtYXRjaDAJAJQKAgkBEmFzTGlzdEludENvbXBhY3RlZAEIBQJ0MgJfMQkBEmFzTGlzdEludENvbXBhY3RlZAEIBQJ0MgJfMgkAAgECHmZhaWwgdG8gY2FzdCBpbnRvIChMaXN0LCBMaXN0KQETYXNDYW5jZWxPcmRlclJlc3VsdAEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIRKEJvb2xlYW4sIFN0cmluZykEAnQyBQckbWF0Y2gwBQJ0MgkAAgECI2ZhaWwgdG8gY2FzdCBpbnRvIChCb29sZWFuLCBTdHJpbmcpAQ53YWxsZXRJbnRlcm5hbAEOdXNlckFkZHJlc3NPcHQEBGFkZHIJAKYIAQUOdXNlckFkZHJlc3NPcHQEB2JhbGFuY2UDCQEJaXNEZWZpbmVkAQUEYWRkcgkA7wcBCQEFdmFsdWUBBQRhZGRyCQEOQmFsYW5jZURldGFpbHMEAAAAAAAAAAAEC3VzZHRCYWxhbmNlAwkBCWlzRGVmaW5lZAEFBGFkZHIJAPAHAgkBBXZhbHVlAQUEYWRkcgULdXNkdEFzc2V0SWQAAAQNd2xnb2xkQmFsYW5jZQMJAQlpc0RlZmluZWQBBQRhZGRyCQDwBwIJAQV2YWx1ZQEFBGFkZHIFCndsZ0Fzc2V0SWQAAAQKY3VzdG9tTmFtZQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlBZGRyZXNzVG9DdXN0b21OYW1lAQUOdXNlckFkZHJlc3NPcHQFDnVzZXJBZGRyZXNzT3B0BAhyZWZCeUtleQkBD2tleUFkZHJlc3NSZWZCeQEFDnVzZXJBZGRyZXNzT3B0BAVyZWZCeQkAnQgCBQ9zdGFraW5nQ29udHJhY3QFCHJlZkJ5S2V5BARyZWZzCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBE2tleUFkZHJlc3NSZWZlcnJhbHMBBQ51c2VyQWRkcmVzc09wdAIABAhsYXN0VHhJZAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARVrZXlMYXN0V2Vla1R4SWRCeVVzZXIBBQ51c2VyQWRkcmVzc09wdAIABAZwaWVjZXMJAJEDAgkBDmdldFZvdGluZ1Bvd2VyAQUOdXNlckFkZHJlc3NPcHQFCklkeEVmZlVzZXIEAnhwCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBCWtleVVzZXJYUAEFDnVzZXJBZGRyZXNzT3B0AAAEA2x2bAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlVc2VyTGV2ZWwBBQ51c2VyQWRkcmVzc09wdAAABApmcmVlUG9pbnRzCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleVVzZXJGcmVlUG9pbnRzAQUOdXNlckFkZHJlc3NPcHQAAAQLdmlydFdsZ0RhdGEKAAFACQD8BwQFC3dsZ0NvbnRyYWN0AhJjaGVja1dsZ1hwUkVBRE9OTFkJAMwIAgUOdXNlckFkZHJlc3NPcHQFA25pbAUDbmlsAwkAAQIFAUACCUxpc3RbQW55XQUBQAkAAgEJAKwCAgkAAwEFAUACHiBjb3VsZG4ndCBiZSBjYXN0IHRvIExpc3RbQW55XQQMc3Rha2VkV2xnb2xkCQELdmFsdWVPckVsc2UCCQCaCAIFC3dsZ0NvbnRyYWN0CQEYa2V5V2xnU3Rha2VkQW1vdW50QnlVc2VyAQUOdXNlckFkZHJlc3NPcHQAAAQHb25ib2FyZAMJAQlpc0RlZmluZWQBBQVyZWZCeQkArAICBQpBUlRPTkJPQVJEAwMJAQlpc0RlZmluZWQBBQRhZGRyCQEJaXNEZWZpbmVkAQkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARxrZXlPbmJvYXJkQXJ0RHVja0FjdGl2YXRlZEJ5AQUOdXNlckFkZHJlc3NPcHQHAgI6MQICOjACAAQMYWNyZXNCYWxhbmNlAwkBCWlzRGVmaW5lZAEFBGFkZHIJAPAHAgkBBXZhbHVlAQUEYWRkcgUMYWNyZXNBc3NldElkAAAEC3N0YWtlZEFjcmVzCQELdmFsdWVPckVsc2UCCQCaCAIFDWFjcmVzQ29udHJhY3QJARprZXlBY3Jlc1N0YWtlZEFtb3VudEJ5VXNlcgEFDnVzZXJBZGRyZXNzT3B0AAAECmRlbGl2Q291bnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEUa2V5VXNlckRlbGl2ZXJ5Q291bnQBBQ51c2VyQWRkcmVzc09wdAAABAxsYXN0RGVsaXZEYXkJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5VXNlckxhc3REZWxpdmVyeURheQEFDnVzZXJBZGRyZXNzT3B0AAAJAMwIAgkArAICAhIlcyVzX19jdXN0b21OYW1lX18FCmN1c3RvbU5hbWUJAMwIAgkArAICAhIlcyVzX19yZWZlcnJlZEJ5X18JAQt2YWx1ZU9yRWxzZQIFBXJlZkJ5AgAJAMwIAgkArAICAhElcyVzX19yZWZlcnJhbHNfXwUEcmVmcwkAzAgCCQCsAgICECVzJXNfX2xhc3RUeElkX18FCGxhc3RUeElkCQDMCAIJAKwCAgIUJXMlZF9fd2F2ZXNCYWxhbmNlX18JAKQDAQgFB2JhbGFuY2UJYXZhaWxhYmxlCQDMCAIJAKwCAgIVJXMlZF9fd2xnb2xkQmFsYW5jZV9fCQCkAwEFDXdsZ29sZEJhbGFuY2UJAMwIAgkArAICAhMlcyVkX191c2R0QmFsYW5jZV9fCQCkAwEFC3VzZHRCYWxhbmNlCQDMCAIJAKwCAgIUJXMlZF9fc3Rha2VkUGllY2VzX18JAKQDAQUGcGllY2VzCQDMCAIJAKwCAgIUJXMlZF9fYWNyZXNCYWxhbmNlX18JAKQDAQUMYWNyZXNCYWxhbmNlCQDMCAIJAKwCAgITJXMlZF9fc3Rha2VkQWNyZXNfXwkApAMBBQtzdGFrZWRBY3JlcwkAzAgCCQCsAgICESVzJWRfX2N1cnJlbnRYcF9fCQCkAwEFAnhwCQDMCAIJAKwCAgISJXMlZF9fY3VycmVudEx2bF9fCQCkAwEFA2x2bAkAzAgCCQCsAgICGiVzJWRfX3BvaW50c1RvRGlzdHJpYnV0ZV9fCQCkAwEFCmZyZWVQb2ludHMJAMwIAgkArAICAhclcyVzX193YWxsZXRBcnRlZmFjdHNfXwUHb25ib2FyZAkAzAgCCQCsAgICFCVzJWRfX3N0YWtlZFdsZ29sZF9fCQCkAwEFDHN0YWtlZFdsZ29sZAkAzAgCCQCsAgICESVzJWRfX3ZpcnRMZXZlbF9fCQCkAwEKAAFACQCRAwIFC3ZpcnRXbGdEYXRhAAADCQABAgUBQAIDSW50BQFACQACAQkArAICCQADAQUBQAIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50CQDMCAIJAKwCAgISJXMlZF9fdmlydFBvaW50c19fCQCkAwEKAAFACQCRAwIFC3ZpcnRXbGdEYXRhAAEDCQABAgUBQAIDSW50BQFACQACAQkArAICCQADAQUBQAIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50CQDMCAIJAKwCAgIOJXMlZF9fdmlydFhQX18JAKQDAQoAAUAJAJEDAgULdmlydFdsZ0RhdGEAAgMJAAECBQFAAgNJbnQFAUAJAAIBCQCsAgIJAAMBBQFAAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQJAMwIAgkArAICAhklcyVkX191c2VyRGVsaXZlcnlDb3VudF9fCQCkAwEFCmRlbGl2Q291bnQJAMwIAgkArAICAhslcyVkX191c2VyTGFzdERlbGl2ZXJ5RGF5X18JAKQDAQUMbGFzdERlbGl2RGF5CQDMCAIJAKwCAgITJXMlZF9fbG9ja2VkQWNyZXNfXwkApAMBCQELdmFsdWVPckVsc2UCCQCaCAIFDWFjcmVzQ29udHJhY3QJARprZXlBY3Jlc0xvY2tlZEFtb3VudEJ5VXNlcgEFDnVzZXJBZGRyZXNzT3B0AAAJAMwIAgkArAICAhYlcyVkX19FVEFMb2NrZWRBY3Jlc19fCQCkAwEJAQt2YWx1ZU9yRWxzZQIJAJoIAgUNYWNyZXNDb250cmFjdAkBF2tleUFjcmVzTG9ja2VkRXRhQnlVc2VyAQUOdXNlckFkZHJlc3NPcHQAAAUDbmlsAQxhcHBseUJvbnVzZXMCC2xhbmRBc3NldElkBnBpZWNlcwQKaW5mcmFMZXZlbAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlJbmZyYUxldmVsQnlBc3NldElkAQULbGFuZEFzc2V0SWQAAAQJYXJ0UGllY2VzCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBIGtleUxhbmRBcnRTdGF0dXNCeVR5cGVBbmRBc3NldElkAgUKQVJUUFJFU0FMRQULbGFuZEFzc2V0SWQAAAQEYWRkNgkAaQIFCmluZnJhTGV2ZWwABgQEYWRkNwkAaQIFCmluZnJhTGV2ZWwABwkAlQoDBQppbmZyYUxldmVsBQlhcnRQaWVjZXMJAGQCCQBkAgUPREFJTFlSRVNCWVBJRUNFCQBrAwUPREFJTFlSRVNCWVBJRUNFCQBkAgkAZAIFCmluZnJhTGV2ZWwFBGFkZDYJAGgCAAIFBGFkZDcABQkAawMFD0RBSUxZUkVTQllQSUVDRQUJYXJ0UGllY2VzCQBoAgUGcGllY2VzAAUBF2dldFdhcmVob3VzZVRvdGFsVm9sdW1lAQl2b2xQcmVmaXgEBXBhcnRzCQC1CQIFCXZvbFByZWZpeAIBXwkAaAIJAGgCBQxXSE1VTFRJUExJRVIJAGQCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUFcGFydHMAAQABCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUFcGFydHMAAAEMZ2V0V2FyZWhvdXNlAwV3aEtleQlsYW5kSW5kZXgKaW5mcmFMZXZlbAQJdm9sUHJlZml4CQCsAgIJAKwCAgkApAMBBQlsYW5kSW5kZXgCAV8JAKQDAQUKaW5mcmFMZXZlbAQEdG90UwkApAMBCQEXZ2V0V2FyZWhvdXNlVG90YWxWb2x1bWUBBQl2b2xQcmVmaXgEBXdoU3RyCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAUFd2hLZXkJAKwCAgkArAICCQCsAgIJAKwCAgUJdm9sUHJlZml4Ah46MF8wXzBfMF8wXzA6MF8wXzBfMF8wXzA6OjBfMF8FBHRvdFMCAV8FBHRvdFMJALUJAgUFd2hTdHICAToBDWR1Y2tJbmZvVHVwbGUBC2R1Y2tBc3NldElkBAVtYXhIUAkBCW1heEhlYWx0aAEJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEMa2V5RHVja0xldmVsAQULZHVja0Fzc2V0SWQAAAkAlwoFCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBBQtkdWNrQXNzZXRJZAD///////////8BCAkBBXZhbHVlAQkA7AcBCQDZBAEFC2R1Y2tBc3NldElkBG5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEPa2V5RHVja0xvY2F0aW9uAQULZHVja0Fzc2V0SWQCAAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQ1rZXlEdWNrSGVhbHRoAQULZHVja0Fzc2V0SWQFBW1heEhQCQEIYXNTdHJpbmcBCQD8BwQFD3N0YWtpbmdDb250cmFjdAITZ2V0QmFja3BhY2tSRUFET05MWQkAzAgCBQtkdWNrQXNzZXRJZAUDbmlsBQNuaWwBDWR1Y2tJbmZvQXJyYXkDC2R1Y2tBc3NldElkBW93bmVyB2R1Y2tJbmYECmN1c3RvbU5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEaa2V5RHVja0Fzc2V0SWRUb0N1c3RvbU5hbWUBBQtkdWNrQXNzZXRJZAgFB2R1Y2tJbmYCXzIEBWNoYXJzCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBDGtleUR1Y2tDaGFycwEFC2R1Y2tBc3NldElkAgkwXzBfMF8wXzAEAnhwCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBCWtleUR1Y2tYUAEFC2R1Y2tBc3NldElkAAAEA2x2bAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlEdWNrTGV2ZWwBBQtkdWNrQXNzZXRJZAAABApmcmVlUG9pbnRzCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleUR1Y2tGcmVlUG9pbnRzAQULZHVja0Fzc2V0SWQAAAQGZXF1aXBtCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEGtleUR1Y2tFcXVpcG1lbnQBBQtkdWNrQXNzZXRJZAILO187XztfO187XzsEBWJ1ZmZzCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBDGtleUR1Y2tCdWZmcwEFC2R1Y2tBc3NldElkAgkwXzBfMF8wXzAEDWRlbGl2ZXJ5Q291bnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEUa2V5RHVja0RlbGl2ZXJ5Q291bnQBBQtkdWNrQXNzZXRJZAAABAxyb2JiZXJ5Q291bnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQETa2V5RHVja1JvYmJlcnlDb3VudAEFC2R1Y2tBc3NldElkAAAJAMwIAgkArAICAg8lcyVzX19hc3NldElkX18FC2R1Y2tBc3NldElkCQDMCAIJAKwCAgINJXMlc19fb3duZXJfXwUFb3duZXIJAMwIAgkArAICAhIlcyVzX19jdXN0b21OYW1lX18FCmN1c3RvbU5hbWUJAMwIAgkArAICAhIlcyVkX19zdGFrZWRUaW1lX18JAKQDAQgFB2R1Y2tJbmYCXzEJAMwIAgkArAICAgwlcyVzX19uYW1lX18IBQdkdWNrSW5mAl8yCQDMCAIJAKwCAgIQJXMlc19fbG9jYXRpb25fXwgFB2R1Y2tJbmYCXzMJAMwIAgkArAICAg4lcyVkX19oZWFsdGhfXwkApAMBCAUHZHVja0luZgJfNAkAzAgCCQCsAgICESVzJWRfX21heEhlYWx0aF9fCQCkAwEJAQltYXhIZWFsdGgBBQNsdmwJAMwIAgkArAICAhclcyVzX19jaGFyYWN0ZXJpc3RpY3NfXwUFY2hhcnMJAMwIAgkArAICAhElcyVkX19jdXJyZW50WHBfXwkApAMBBQJ4cAkAzAgCCQCsAgICEiVzJWRfX2N1cnJlbnRMdmxfXwkApAMBBQNsdmwJAMwIAgkArAICAholcyVkX19wb2ludHNUb0Rpc3RyaWJ1dGVfXwkApAMBBQpmcmVlUG9pbnRzCQDMCAIJAKwCAgIQJXMlc19fYmFja1BhY2tfXwgFB2R1Y2tJbmYCXzUJAMwIAgkArAICAhElcyVzX19lcXVpcG1lbnRfXwUGZXF1aXBtCQDMCAIJAKwCAgINJXMlc19fYnVmZnNfXwUFYnVmZnMJAMwIAgkArAICAhklcyVkX190b3RhbFJvYmJlcnlDb3VudF9fCQCkAwEFDHJvYmJlcnlDb3VudAkAzAgCCQCsAgICGiVzJWRfX3RvdGFsRGVsaXZlcnlDb3VudF9fCQCkAwEFDWRlbGl2ZXJ5Q291bnQFA25pbAENbGFuZEluZm9BcnJheQMLbGFuZEFzc2V0SWQFb3duZXIKc3Rha2VkVGltZQMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQEAWEJAQV2YWx1ZQEJAOwHAQkA2QQBBQtsYW5kQXNzZXRJZAQBZAkAtQkCCAUBYQtkZXNjcmlwdGlvbgIBXwQHbGFuZE51bQMJAGYCCAUBYQhxdWFudGl0eQAACQCRAwIFAWQFCnJlY0xhbmROdW0JAKwCAgIBLQkAkQMCBQFkBQpyZWNMYW5kTnVtBAZwaWVjZXMJAQ9udW1QaWVjZXNCeVNpemUBCQCRAwIFAWQFC3JlY0xhbmRTaXplBAxwcm9kdWN0aXZpdHkJAQxhcHBseUJvbnVzZXMCBQtsYW5kQXNzZXRJZAUGcGllY2VzBAlkZWx0YVRpbWUJAGUCCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAUKc3Rha2VkVGltZQQIYXZhaWxSZXMDCQBmAgUKc3Rha2VkVGltZQAACQBrAwUJZGVsdGFUaW1lCQBoAggFDHByb2R1Y3Rpdml0eQJfMwUGcGllY2VzBQlEQVlNSUxMSVMAAAQHbmVlZE1hdAkAawMFEUluZnJhVXBncmFkZUNvc3RTCQBoAgUGcGllY2VzCQBkAggFDHByb2R1Y3Rpdml0eQJfMQABBQVTU0laRQQOZ2xvYmFsQW5kTG9jYWwDCQBmAgUKc3Rha2VkVGltZQAACQENYXNTcGxpdFJlc3VsdAEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AiRzcGxpdEJ5R2xvYmFsQW5kTG9jYWxXZWlnaHRzUkVBRE9OTFkJAMwIAgUHbmVlZE1hdAkAzAgCBQhhdmFpbFJlcwkAzAgCCQCRAwIFAWQFC3JlY1RlcnJhaW5zBQNuaWwFA25pbAkAlAoCCQESYXNMaXN0SW50Q29tcGFjdGVkAQkA/AcEBQ9zdGFraW5nQ29udHJhY3QCHHNwbGl0QnlHbG9iYWxXZWlnaHRzUkVBRE9OTFkJAMwIAgUHbmVlZE1hdAUDbmlsBQNuaWwCAAQKY3VzdG9tTmFtZQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARprZXlMYW5kQXNzZXRJZFRvQ3VzdG9tTmFtZQEFC2xhbmRBc3NldElkCQCsAgIJAKwCAgkAkQMCBQFkBQxyZWNDb250aW5lbnQCAS0JAJEDAgUBZAUKcmVjTGFuZE51bQkAzAgCCQCsAgICDyVzJXNfX2Fzc2V0SWRfXwULbGFuZEFzc2V0SWQJAMwIAgkArAICAg0lcyVzX19vd25lcl9fBQVvd25lcgkAzAgCCQCsAgICEiVzJXNfX2N1c3RvbU5hbWVfXwUKY3VzdG9tTmFtZQkAzAgCCQCsAgICEiVzJWRfX3N0YWtlZFRpbWVfXwkApAMBBQpzdGFrZWRUaW1lCQDMCAIJAKwCAgITJXMlc19fZGVzY3JpcHRpb25fXwkAuQkCCQDMCAIFB2xhbmROdW0JAMwIAgkAkQMCBQFkBQtyZWNMYW5kU2l6ZQkAzAgCCQCRAwIFAWQFC3JlY1RlcnJhaW5zCQDMCAIJAJEDAgUBZAUMcmVjQ29udGluZW50BQNuaWwCAV8JAMwIAgkArAICAhIlcyVkX19pbmZyYUxldmVsX18JAKQDAQgFDHByb2R1Y3Rpdml0eQJfMQkAzAgCCQCsAgICFiVzJXNfX2F2YWlsUmVzQnlUeXBlX18IBQ5nbG9iYWxBbmRMb2NhbAJfMgkAzAgCCQCsAgICFSVzJWRfX2F2YWlsUmVzVG90YWxfXwkApAMBBQhhdmFpbFJlcwkAzAgCCQCsAgICFCVzJXNfX25lZWRNYXRlcmlhbF9fCAUOZ2xvYmFsQW5kTG9jYWwCXzEJAMwIAgkArAICAh0lcyVzX19sYW5kQXJ0ZWZhY3RzX19QUkVTQUxFOgkApAMBCAUMcHJvZHVjdGl2aXR5Al8yCQDMCAIJAKwCAgIRJXMlc19fd2FyZWhvdXNlX18JALkJAgkBDGdldFdhcmVob3VzZQMJARJrZXlXYXJlaG91c2VCeUxhbmQBBQtsYW5kQXNzZXRJZAkAaQIFBnBpZWNlcwUFU1NJWkUIBQxwcm9kdWN0aXZpdHkCXzECAToJAMwIAgkArAICAhElcyVzX19sYW5kT3JkZXJfXwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9lY29ub215Q29udHJhY3QJAQ5rZXlPcmRlckJ5TGFuZAEFC2xhbmRBc3NldElkAjAwQDBfMEAwXzBAMF8wQDBfMEAwXzBAMDowQDBfMEAwXzBAMF8wQDBfMEAwXzBAMDoFA25pbAESbGFuZE9yZGVySW5mb0FycmF5AgtsYW5kQXNzZXRJZAVvd25lcgMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQEAWEJAQV2YWx1ZQEJAOwHAQkA2QQBBQtsYW5kQXNzZXRJZAQBZAkAtQkCCAUBYQtkZXNjcmlwdGlvbgIBXwQGcGllY2VzCQEPbnVtUGllY2VzQnlTaXplAQkAkQMCBQFkBQtyZWNMYW5kU2l6ZQQMcHJvZHVjdGl2aXR5CQEMYXBwbHlCb251c2VzAgULbGFuZEFzc2V0SWQFBnBpZWNlcwkAzAgCCQCsAgICDyVzJXNfX2Fzc2V0SWRfXwULbGFuZEFzc2V0SWQJAMwIAgkArAICAg0lcyVzX19vd25lcl9fBQVvd25lcgkAzAgCCQCsAgICESVzJXNfX3dhcmVob3VzZV9fCQC5CQIJAQxnZXRXYXJlaG91c2UDCQESa2V5V2FyZWhvdXNlQnlMYW5kAQULbGFuZEFzc2V0SWQJAGkCBQZwaWVjZXMFBVNTSVpFCAUMcHJvZHVjdGl2aXR5Al8xAgE6CQDMCAIJAKwCAgIRJXMlc19fbGFuZE9yZGVyX18JAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPZWNvbm9teUNvbnRyYWN0CQEOa2V5T3JkZXJCeUxhbmQBBQtsYW5kQXNzZXRJZAIwMEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6MEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6BQNuaWwBCnNsb3RFZmZlY3QBBHNsb3QDCQAAAgUEc2xvdAIAAAAEBXNsb3QwCQCRAwIJALUJAgUEc2xvdAIBLAAAAwkAAAIFBXNsb3QwAgAAAAQEcHJvZAkAtQkCBQVzbG90MAIBOgMDCQAAAgkAkQMCBQRwcm9kAAECAAYJAAACCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUEcHJvZAABAAAAAAkBDXBhcnNlSW50VmFsdWUBCQCRAwIJALUJAgkAkQMCBRBwcm9kdWN0aW9uTWF0cml4CQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUEcHJvZAAAAgFfBQpySWR4RWZmZWN0AQ90b3VyU3RhdHNDb21tb24BDHRvdXJuYW1lbnRJZAQFdERhdGEJAQtnZXRUb3VyRGF0YQIFEnRvdXJuYW1lbnRDb250cmFjdAUMdG91cm5hbWVudElkBAZzdGF0aWMJAJEDAgUFdERhdGEFCWlkeFN0YXRpYwQHZHluYW1pYwkAkQMCBQV0RGF0YQUKaWR4RHluYW1pYwQHbGVhZGVycwMJAAACCQCRAwIFB2R5bmFtaWMFD3REeW5hbWljTGVhZGVycwIAAgEgCQCRAwIFB2R5bmFtaWMFD3REeW5hbWljTGVhZGVycwQKc2NvcmVCb2FyZAkBC3ZhbHVlT3JFbHNlAgkAnQgCBRJ0b3VybmFtZW50Q29udHJhY3QJARNrZXlTY29yZUJvYXJkQnlUb3VyAQUMdG91cm5hbWVudElkAgAECW51bUdyYW5kcwMJAGYCCQCQAwEFBnN0YXRpYwUQdFN0YXRpY051bUdyYW5kcwkAkQMCBQZzdGF0aWMFEHRTdGF0aWNOdW1HcmFuZHMCATAECXByaXplRnVuZAMJAGYCCQCQAwEFBnN0YXRpYwUQdFN0YXRpY1ByaXplRnVuZAkAkQMCBQZzdGF0aWMFEHRTdGF0aWNQcml6ZUZ1bmQCATAEB2Fzc2V0SWQDCQBmAgkAkAMBBQZzdGF0aWMFDHRTdGF0aWNBc3NldAkA2QQBCQCRAwIFBnN0YXRpYwUMdFN0YXRpY0Fzc2V0BQp3bGdBc3NldElkBAlhc3NldE5hbWUICQETdmFsdWVPckVycm9yTWVzc2FnZQIJAOwHAQUHYXNzZXRJZAIWTm8gYXNzZXRJbmZvIGF2YWlsYWJsZQRuYW1lCQDMCAIJAKwCAgIcJXMlc19fdG91cm5hbWVudFN0YXRpY0RhdGFfXwkAuQkCCQDMCAIJAJEDAgUGc3RhdGljBRN0U3RhdGljUmVnaXN0ZXJDb3N0CQDMCAIJAJEDAgUGc3RhdGljBRJ0U3RhdGljQXR0ZW1wdENvc3QJAMwIAgkAkQMCBQZzdGF0aWMFDHRTdGF0aWNTdGFydAkAzAgCCQCRAwIFBnN0YXRpYwUKdFN0YXRpY0VuZAkAzAgCBQludW1HcmFuZHMJAMwIAgUJcHJpemVGdW5kCQDMCAIFCWFzc2V0TmFtZQUDbmlsAgFfCQDMCAIJAKwCAgIdJXMlc19fdG91cm5hbWVudER5bmFtaWNEYXRhX18JALoJAgkAzAgCCQCRAwIFB2R5bmFtaWMFDnREeW5hbWljU3RhdHVzCQDMCAIFB2xlYWRlcnMJAMwIAgkAkQMCBQdkeW5hbWljBRF0RHluYW1pY1dpblJlc3VsdAkAzAgCCQCRAwIFB2R5bmFtaWMFFXREeW5hbWljVG90YWxSZWdDb3VudAkAzAgCCQCRAwIFB2R5bmFtaWMFFXREeW5hbWljVG90YWxBdHRlbXB0cwUDbmlsAgFfCQDMCAIJAKwCAgIcJXMlc19fdG91cm5hbWVudFNjb3JlQm9hcmRfXwUKc2NvcmVCb2FyZAUDbmlsAQpnZXRBbnlEYXRhAgRhZGRyA2tleQQEYm9vbAkAmwgCBQRhZGRyBQNrZXkDCQEJaXNEZWZpbmVkAQUEYm9vbAkBBXZhbHVlAQUEYm9vbAQDYmluCQCcCAIFBGFkZHIFA2tleQMJAQlpc0RlZmluZWQBBQNiaW4JAQV2YWx1ZQEFA2JpbgQDaW50CQCaCAIFBGFkZHIFA2tleQMJAQlpc0RlZmluZWQBBQNpbnQJAQV2YWx1ZQEFA2ludAkAnQgCBQRhZGRyBQNrZXkBD2dlbmVyaWNSRUFET05MWQEHcXVlcmllcwoBBGNhbGwCA2FjYwVxdWVyeQQEYWRkcgkBB0FkZHJlc3MBCQDZBAEIBQVxdWVyeQJfMQQJZnVuY09yS2V5CAUFcXVlcnkCXzIEBnJlc3VsdAQHJG1hdGNoMAUFcXVlcnkDCQABAgUHJG1hdGNoMAIbKFN0cmluZywgU3RyaW5nLCBMaXN0W0FueV0pBANpbnYFByRtYXRjaDAJAPwHBAUEYWRkcgUJZnVuY09yS2V5CAUDaW52Al8zBQNuaWwJAQpnZXRBbnlEYXRhAgUEYWRkcgUJZnVuY09yS2V5CQDNCAIFA2FjYwUGcmVzdWx0CgACJGwFB3F1ZXJpZXMKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBBGNhbGwCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoYAWkBDWNvbnN0cnVjdG9yVjEBCWNvbnRyYWN0cwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEnBlcm1pc3Npb25zIGRlbmllZAoBCmRlc2NyaXB0b3ICA2FjYwtpZ25vcmVkSXRlbQkArAICBQNhY2MCAiVzBAVkZXNjcgoAAiRsBQljb250cmFjdHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAgAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCmRlc2NyaXB0b3ICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCmtleVJlc3RDZmcACQC5CQIJAMwIAgUFZGVzY3IFCWNvbnRyYWN0cwUDU0VQCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ5rZXlSZXN0QWRkcmVzcwAJAKUIAQUEdGhpcwUDbmlsAWkBEndhbGxldEluZm9SRUFET05MWQEOdXNlckFkZHJlc3NPcHQJAJQKAgUDbmlsCQEOd2FsbGV0SW50ZXJuYWwBBQ51c2VyQWRkcmVzc09wdAFpARdkdWNrQnlPd25lckluZm9SRUFET05MWQELdXNlckFkZHJlc3MECnN0YWtlZER1Y2sJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEUa2V5U3Rha2VkRHVja0J5T3duZXIBBQt1c2VyQWRkcmVzcwkAlAoCBQNuaWwDAwkBCWlzRGVmaW5lZAEJAKYIAQULdXNlckFkZHJlc3MJAQlpc0RlZmluZWQBBQpzdGFrZWREdWNrBwQLZHVja0Fzc2V0SWQJAQV2YWx1ZQEFCnN0YWtlZER1Y2sJAQ1kdWNrSW5mb0FycmF5AwULZHVja0Fzc2V0SWQFC3VzZXJBZGRyZXNzCQENZHVja0luZm9UdXBsZQEFC2R1Y2tBc3NldElkCQENZHVja0luZm9BcnJheQMCAAULdXNlckFkZHJlc3MJAJcKBQD///////////8BAgACAAD///////////8BAgABaQEZZHVja0J5QXNzZXRJZEluZm9SRUFET05MWQELZHVja0Fzc2V0SWQEBW93bmVyCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEGtleUR1Y2tJZFRvT3duZXIBBQtkdWNrQXNzZXRJZAkAlAoCBQNuaWwJAQ1kdWNrSW5mb0FycmF5AwULZHVja0Fzc2V0SWQDCQEJaXNEZWZpbmVkAQUFb3duZXIJAQV2YWx1ZQEFBW93bmVyAgAJAQ1kdWNrSW5mb1R1cGxlAQULZHVja0Fzc2V0SWQBaQEWZHVja3NCeUlkc0luZm9SRUFET05MWQEMZHVja0Fzc2V0SWRzCgEHb25lRHVjawIDYWNjC2R1Y2tBc3NldElkAwkAAAIFC2R1Y2tBc3NldElkAgAJAAIBAhdkdWNrQXNzZXRJZCBpcyByZXF1aXJlZAQKc3Rha2VkVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULZHVja0Fzc2V0SWQA////////////AQQFb3duZXIDCQBmAgUKc3Rha2VkVGltZQAACQEFdmFsdWUBCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEGtleUR1Y2tJZFRvT3duZXIBBQtkdWNrQXNzZXRJZAIACQDNCAIFA2FjYwkBDWR1Y2tJbmZvQXJyYXkDBQtkdWNrQXNzZXRJZAUFb3duZXIJAQ1kdWNrSW5mb1R1cGxlAQULZHVja0Fzc2V0SWQE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CgIFA25pbAkBEmxhbmRPcmRlckluZm9BcnJheQIFC2xhbmRBc3NldElkBQVvd25lcgFpARtvcmRlcnNCeUxhbmRJZHNJbmZvUkVBRE9OTFkBDGxhbmRBc3NldElkcwoBB29uZUxhbmQCA2FjYwtsYW5kQXNzZXRJZAMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQECnN0YWtlZFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAP///////////wEEBW93bmVyAwkAZgIFCnN0YWtlZFRpbWUAAAkBBXZhbHVlAQkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARVrZXlMYW5kQXNzZXRJZFRvT3duZXIBBQtsYW5kQXNzZXRJZAIACQDNCAIFA2FjYwkBEmxhbmRPcmRlckluZm9BcnJheQIFC2xhbmRBc3NldElkBQVvd25lcgQBcgoAAiRsBQxsYW5kQXNzZXRJZHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBB29uZUxhbmQCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDQwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzEC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CQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAkAlAoCBQNuaWwFCnRvdGFsQWNyZXMBaQENc2VuZFVzZHRQcml6ZQELdXNlckFkZHJlc3MDCQECIT0CCAUBaQZjYWxsZXIFD3N0YWtpbmdDb250cmFjdAkAAgECEXBlcm1pc3Npb24gZGVuaWVkBANhbXQJAGsDCQDwBwIFBHRoaXMFC3VzZHRBc3NldElkBQ1VU0RUUFJJWkVQQVJUBQVNVUxUNgkAlAoCCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFC3VzZXJBZGRyZXNzBQNhbXQFC3VzZHRBc3NldElkBQNuaWwFA2FtdAFpAR9nZXRFbWVyZ2VuY3lTZXJ2aWNlRGF0YVJFQURPTkxZAAQIZXhpc3RTdHIJAJ0IAgUPZWNvbm9teUNvbnRyYWN0CQEOa2V5RXNXYXJlaG91c2UABAxleGlzdEFtb3VudHMDCQEJaXNEZWZpbmVkAQUIZXhpc3RTdHIJALwJAgkBBXZhbHVlAQUIZXhpc3RTdHICAV8FA25pbAoBCnNpbmdsZVByb2QCA2FjYwlyZWNpcGVTdHIEAW4IBQNhY2MCXzIEBnJlY2lwZQkAtQkCBQlyZWNpcGVTdHICAV8ECW1heEFtb3VudAMJAAACBQFuAAAJAGgCBQ1FU01BWFBBQ0tBR0VTBQ5QUk9EVUNUUEtHU0laRQAABAtleGlzdEFtb3VudAMJAGYCCQCQAwEFDGV4aXN0QW1vdW50cwUBbgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFDGV4aXN0QW1vdW50cwUBbgAABAh0b3RhbE1hdAkBEmdldFJlY2lwZU1hdGVyaWFscwEFBnJlY2lwZQQIYnV5UHJpY2UJAGsDCQBoAgUIdG90YWxNYXQFCUVTQlVZQ09FRgUQUkVTT1VSQ0VQUklDRU1JTgkAaAIFBU1VTFQ4BQ5QUk9EVUNUUEtHU0laRQQJc2VsbFByaWNlCQBrAwkAaAIFCHRvdGFsTWF0BQpFU1NFTExDT0VGBRBSRVNPVVJDRVBSSUNFTUlOCQBoAgUFTVVMVDgFDlBST0RVQ1RQS0dTSVpFBAF5CQC5CQIJAMwIAgkApAMBBQltYXhBbW91bnQJAMwIAgkApAMBBQtleGlzdEFtb3VudAkAzAgCCQCkAwEFCGJ1eVByaWNlCQDMCAIJAKQDAQUJc2VsbFByaWNlBQNuaWwCAV8JAJQKAgkAzQgCCAUDYWNjAl8xBQF5CQBkAgUBbgABBAFzCQC6CQIICgACJGwFEHByb2R1Y3Rpb25NYXRyaXgKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCUCgIFA25pbAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQpzaW5nbGVQcm9kAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyA1MAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADICXzECAToEBnJlc3VsdAkArAICAhwlcyVzX19lbWVyZ2VuY3lTZXJ2aWNlRGF0YV9fBQFzCQCUCgIFA25pbAUGcmVzdWx0AWkBEHdsZ1N0YXRzUkVBRE9OTFkBC3VzZXJBZGRyT3B0BAhjdXJTdGF0cwkBC2dldFdsZ1N0YXRzBQULdXNlckFkZHJPcHQJAMwIAgUMcmVzdENvbnRyYWN0CQDMCAIFD3N0YWtpbmdDb250cmFjdAkAzAgCBQ9lY29ub215Q29udHJhY3QJAMwIAgULd2xnQ29udHJhY3QJAMwIAgUScHV6emxlUG9vbENvbnRyYWN0CQDMCAIFEmludmVzdEZ1bmRDb250cmFjdAkAzAgCBQ1hY3Jlc0NvbnRyYWN0BQNuaWwFC3VzZHRBc3NldElkAAAFBU1VTFQ2CQCUCgIFA25pbAkAzAgCCQCsAgICESVzJWRfX3dsZ0Ftb3VudF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFDGlkeFdsZ0Ftb3VudAkAzAgCCQCsAgICECVzJWRfX3dsZ1ByaWNlX18JAKQDAQkAkQMCBQhjdXJTdGF0cwULaWR4V2xnUHJpY2UJAMwIAgkArAICAhElcyVkX191c2R0RnVuZHNfXwkApAMBCQCRAwIFCGN1clN0YXRzBQtpZHhXbGdGdW5kcwkAzAgCCQCsAgICEyVzJWRfX3VzZHRFY29ub215X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUNaWR4V2xnRWNvbm9teQkAzAgCCQCsAgICFCVzJWRfX3VzZHRBY3Rpdml0eV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFDmlkeFdsZ0FjdGl2aXR5CQDMCAIJAKwCAgIVJXMlZF9fdXNkdEFyYml0cmFnZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFD2lkeFdsZ0FyYml0cmFnZQkAzAgCCQCsAgICECVzJWRfX3VzZHRQb29sX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUKaWR4V2xnUG9vbAkAzAgCCQCsAgICFCVzJWRfX3dsZ0lzc3VlVGltZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFD2lkeFdsZ0lzc3VlVGltZQkAzAgCCQCsAgICIyVzJWRfX3dsZ0xhc3RNYXJrZXRpbmdUZWFtQWN0VGltZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFWlkeFdsZ0xhc3RUZWFtQWN0VGltZQkAzAgCCQCsAgICFCVzJWRfX3dsZ1RlYW1Ub3RhbF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFD2lkeFdsZ1RlYW1Ub3RhbAkAzAgCCQCsAgICFSVzJWRfX3dsZ1RlYW1BbUxlZnRfXwkApAMBCQCRAwIFCGN1clN0YXRzBRBpZHhXbGdUZWFtQW1MZWZ0CQDMCAIJAKwCAgIZJXMlZF9fd2xnVGVhbUFtQXZhaWxOb3dfXwkApAMBCQCRAwIFCGN1clN0YXRzBRRpZHhXbGdUZWFtQW1BdmFpbE5vdwkAzAgCCQCsAgICFSVzJWRfX3dsZ1RlYW1XbGdvbGRfXwkApAMBCQCRAwIFCGN1clN0YXRzBRBpZHhXbGdUZWFtV2xnb2xkCQDMCAIJAKwCAgITJXMlZF9fd2xnQWN0VG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ5pZHhXbGdBY3RUb3RhbAkAzAgCCQCsAgICFCVzJWRfX3dsZ0FjdEFtTGVmdF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFD2lkeFdsZ0FjdEFtTGVmdAkAzAgCCQCsAgICGCVzJWRfX3dsZ0FjdEFtQXZhaWxOb3dfXwkApAMBCQCRAwIFCGN1clN0YXRzBRNpZHhXbGdBY3RBbUF2YWlsTm93CQDMCAIJAKwCAgIUJXMlZF9fd2xnQWN0V2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnQWN0V2xnb2xkCQDMCAIJAKwCAgIUJXMlZF9fd2xnQ3VyUGVyaW9kX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnQ3VyUGVyaW9kCQDMCAIJAKwCAgIWJXMlZF9fd2xnQW1MZWZ0VG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBRFpZHhXbGdBbUxlZnRUb3RhbAkAzAgCCQCsAgICICVzJWRfX3dsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbl9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFG2lkeFdsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbgkAzAgCCQCsAgICFyVzJWRfX3dsZ0xhc3RVc2VyVGltZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFEmlkeFdsZ0xhc3RVc2VyVGltZQkAzAgCCQCsAgICGSVzJWRfX3dsZ1VzZXJBbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUUaWR4V2xnVXNlckFtQXZhaWxOb3cJAMwIAgkArAICAholcyVkX193bGdHdWVzdFNMYW5kRGFpbHlfXwkApAMBCQCRAwIFCGN1clN0YXRzBRZpZHhXbGdTTGFuZERhaWx5QW1vdW50CQDMCAIJAKwCAgIaJXMlZF9fd2xnSW52ZXN0RnVuZFRvdGFsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUWaWR4V2xnSW52ZXN0RnVuZEFtb3VudAkAzAgCCQCsAgICGSVzJWRfX3dsZ1VzZXJUb3RhbEF2YWlsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUUaWR4V2xnVXNlclRvdGFsQXZhaWwJAMwIAgkArAICAhYlcyVkX193bGdFZmZVc2VyVGltZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFEWlkeFdsZ0VmZlVzZXJUaW1lCQDMCAIJAKwCAgIVJXMlZF9fd2xnQmFua1dsZ29sZF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFEGlkeFdsZ0JhbmtXbGdvbGQFA25pbAFpARd0b3VybmFtZW50U3RhdHNSRUFET05MWQEMdG91cm5hbWVudElkCQCUCgIFA25pbAkBD3RvdXJTdGF0c0NvbW1vbgEFDHRvdXJuYW1lbnRJZAFpARtsYXN0VG91cm5hbWVudFN0YXRzUkVBRE9OTFkABAx0b3VybmFtZW50SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUSdG91cm5hbWVudENvbnRyYWN0BQ1sYXN0VG91cklkS2V5AAAJAJQKAgUDbmlsCQDMCAIJAKwCAgIYJXMlc19fbGFzdFRvdXJuYW1lbnRJZF9fCQCkAwEFDHRvdXJuYW1lbnRJZAkBD3RvdXJTdGF0c0NvbW1vbgEFDHRvdXJuYW1lbnRJZAFpARt0b3VybmFtZW50RHVja1N0YXRzUkVBRE9OTFkCA3RJZAtkdWNrQXNzZXRJZAQJaXNEdWNrUmVnCQELdmFsdWVPckVsc2UCCQCbCAIFEnRvdXJuYW1lbnRDb250cmFjdAkBHGtleUlzUmVnaXN0ZXJlZEJ5VG91ckFuZER1Y2sCBQN0SWQFC2R1Y2tBc3NldElkBwQPbGFzdER1Y2tBdHRlbXB0CQELdmFsdWVPckVsc2UCCQCaCAIFEnRvdXJuYW1lbnRDb250cmFjdAkBG2tleUxhc3RBdHRlbXB0QnlUb3VyQW5kRHVjawIFA3RJZAULZHVja0Fzc2V0SWQA////////////AQQOYmVzdER1Y2tSZXN1bHQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUSdG91cm5hbWVudENvbnRyYWN0CQEaa2V5QmVzdFJlc3VsdEJ5VG91ckFuZER1Y2sCBQN0SWQFC2R1Y2tBc3NldElkAAAECmJlc3REdWNrVHgJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUSdG91cm5hbWVudENvbnRyYWN0CQEWa2V5QmVzdFR4QnlUb3VyQW5kRHVjawIFA3RJZAULZHVja0Fzc2V0SWQCAAQJaXNBd2FyZGVkCQELdmFsdWVPckVsc2UCCQCbCAIFEnRvdXJuYW1lbnRDb250cmFjdAkBGWtleUlzQXdhcmRlZEJ5VG91ckFuZER1Y2sCBQN0SWQFC2R1Y2tBc3NldElkBwkAlAoCBQNuaWwJAMwIAgkArAICAhslcyVzX190b3VybmFtZW50RHVja1N0YXRzX18JALkJAgkAzAgCCQClAwEFCWlzRHVja1JlZwkAzAgCCQCkAwEFD2xhc3REdWNrQXR0ZW1wdAkAzAgCCQCkAwEFDmJlc3REdWNrUmVzdWx0CQDMCAIFCmJlc3REdWNrVHgJAMwIAgkApQMBBQlpc0F3YXJkZWQFA25pbAIBXwUDbmlsAWkBG2R1Y2tTdGF0c0NhbGN1bGF0b3JSRUFET05MWQELZHVja0Fzc2V0SWQEBWNoYXJzCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEMa2V5RHVja0NoYXJzAQULZHVja0Fzc2V0SWQCCTBfMF8wXzBfMAIBXwQFYnVmZnMJALUJAgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlEdWNrQnVmZnMBBQtkdWNrQXNzZXRJZAIJMF8wXzBfMF8wAgFfBAZlcXVpcG0JALUJAgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARBrZXlEdWNrRXF1aXBtZW50AQULZHVja0Fzc2V0SWQCCztfO187XztfO187AgFfBA1lcXVpcG1lbnRQZXJjCQEKc2xvdEVmZmVjdAEJAJEDAgkAtQkCCQCRAwIFBmVxdWlwbQUHc2VnQmFjawIBOwABBA5lcXVpcG1lbnRBYnNvcgkBCnNsb3RFZmZlY3QBCQCRAwIJALUJAgkAkQMCBQZlcXVpcG0FB3NlZ0JlbHQCATsAAAQFZG9kZ2UJARBkb2RnZVByb2JhYmlsaXR5AwUFY2hhcnMFBWJ1ZmZzBQ1lcXVpcG1lbnRQZXJjBAZhYnNvcmIJARBkYW1hZ2VBYnNvcnB0aW9uAwUFY2hhcnMFBWJ1ZmZzBQ5lcXVpcG1lbnRBYnNvcgkAlAoCBQNuaWwJAMwIAgkArAICAhglcyVkX19kb2RnZVByb2JhYmlsaXR5X18JAKQDAQUFZG9kZ2UJAMwIAgkArAICAhglcyVkX19kYW1hZ2VBYnNvcnB0aW9uX18JAKQDAQUGYWJzb3JiBQNuaWwBaQEhY3VzdG9tRHVja1N0YXRzQ2FsY3VsYXRvclJFQURPTkxZBAVjaGFycwVidWZmcw1lcXVpcG1lbnRQZXJjDmVxdWlwbWVudEFic29yBAVkb2RnZQkBEGRvZGdlUHJvYmFiaWxpdHkDBQVjaGFycwUFYnVmZnMFDWVxdWlwbWVudFBlcmMEBmFic29yYgkBEGRhbWFnZUFic29ycHRpb24DBQVjaGFycwUFYnVmZnMFDmVxdWlwbWVudEFic29yCQCUCgIFA25pbAkAzAgCCQCsAgICGCVzJWRfX2RvZGdlUHJvYmFiaWxpdHlfXwkApAMBBQVkb2RnZQkAzAgCCQCsAgICGCVzJWRfX2RhbWFnZUFic29ycHRpb25fXwkApAMBBQZhYnNvcmIFA25pbAFpARJhY3Jlc1N0YXRzUkVBRE9OTFkBC3VzZXJBZGRyT3B0BAl1c2VyQ2xhaW0JAQlhc0FueUxpc3QBCQD8BwQFDWFjcmVzQ29udHJhY3QCEmNsYWltQWNyZXNSRUFET05MWQkAzAgCBQt1c2VyQWRkck9wdAUDbmlsBQNuaWwEDXVzZXJDbGFpbWFibGUJAQVhc0ludAEJAJEDAgUJdXNlckNsYWltAAAEDHVzZXJMYXN0VGltZQkBBWFzSW50AQkAkQMCBQl1c2VyQ2xhaW0AAQkAlAoCBQNuaWwJAMwIAgkArAICAhglcyVkX19hY3Jlc0lzc3VlZFRvdGFsX18JAKQDAQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ1hY3Jlc0NvbnRyYWN0BRRhY3Jlc0lzc3VlZEFtb3VudEtleQAACQDMCAIJAKwCAgITJXMlZF9fYWNyZXNVbnNvbGRfXwkApAMBCQDwBwIFDWFjcmVzQ29udHJhY3QFDGFjcmVzQXNzZXRJZAkAzAgCCQCsAgICGCVzJWRfX2FjcmVzU3Rha2VkVG90YWxfXwkApAMBCQELdmFsdWVPckVsc2UCCQCaCAIFDWFjcmVzQ29udHJhY3QFE2FjcmVzU3Rha2VkVG90YWxLZXkAAAkAzAgCCQCsAgICGSVzJWRfX2FjcmVzU3Rha2VkQnlVc2VyX18JAKQDAQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ1hY3Jlc0NvbnRyYWN0CQEaa2V5QWNyZXNTdGFrZWRBbW91bnRCeVVzZXIBBQt1c2VyQWRkck9wdAAACQDMCAIJAKwCAgIcJXMlZF9fYWNyZXNDbGFpbWFibGVCeVVzZXJfXwkApAMBBQ11c2VyQ2xhaW1hYmxlCQDMCAIJAKwCAgIgJXMlZF9fYWNyZXNMYXN0Q2xhaW1UaW1lQnlVc2VyX18JAKQDAQUMdXNlckxhc3RUaW1lCQDMCAIJAKwCAgIZJXMlZF9fYWNyZXNMb2NrZWRCeVVzZXJfXwkApAMBCQELdmFsdWVPckVsc2UCCQCaCAIFDWFjcmVzQ29udHJhY3QJARprZXlBY3Jlc0xvY2tlZEFtb3VudEJ5VXNlcgEFC3VzZXJBZGRyT3B0AAAJAMwIAgkArAICAhwlcyVkX19hY3Jlc0xvY2tlZEV0YUJ5VXNlcl9fCQCkAwEJAQt2YWx1ZU9yRWxzZQIJAJoIAgUNYWNyZXNDb250cmFjdAkBF2tleUFjcmVzTG9ja2VkRXRhQnlVc2VyAQULdXNlckFkZHJPcHQAAAUDbmlsAWkBBnRlc3RWNAAJAJQKAgUDbmlsCQEPZ2VuZXJpY1JFQURPTkxZAQUDbmlsAWkBE3Byb21vMlN0YXRzUkVBRE9OTFkABAZyZXN1bHQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUNYWNyZXNDb250cmFjdAUMcHJvbW8yTWFwS2V5AgAJAJQKAgUDbmlsAwkAAAIFBnJlc3VsdAIABQNuaWwJAL0JAgUGcmVzdWx0AgFfAWkBGXByb21vMlN0YXRzQnlVc2VyUkVBRE9OTFkBBGFkZHIECWlzQXdhcmRlZAkBC3ZhbHVlT3JFbHNlAgkAmwgCBQ1hY3Jlc0NvbnRyYWN0CQEaa2V5SXNBd2FyZGVkQnlQcm9tb0FuZFVzZXICAAIFBGFkZHIHCQCUCgIFA25pbAkAzAgCCQCsAgIJAKwCAgkArAICAh4lcyVzJWJfX3Byb21vMkFkZHJlc3NBd2FyZGVkX18FBGFkZHICAl9fCQClAwEFCWlzQXdhcmRlZAUDbmlsANcO28E=", "height": 3399782, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HpJGBDQywR4pTCqLUpWyeQyWYZBepuEPv7SzYBj8DGxu Next: 8n5ZuVA2Bz5YjkNSis2c29V5Yr7G1Z2ER7q79m9pu9Sh Diff:
OldNewDifferences
610610
611611 let dV = 3
612612
613-func dW (dX,dY,dZ,ea,eb) = {
614- let ec = valueOrErrorMessage(getInteger(dY[dJ], dz), "WLGOLD is not issued yet")
615- let ed = assetBalance(dY[dI], dZ)
616- let ee = assetBalance(dY[dG], dZ)
617- let ef = (assetBalance(dY[dJ], dZ) - ea)
618- let eg = assetBalance(dY[dK], dZ)
619- let eh = dY[dL]
620- let ei = (assetBalance(eh, dZ) + valueOrElse(getInteger(eh, dA), 0))
621- let ej = ((ed + ef) + ei)
622- let ek = valueOrErrorMessage(getBinary(dY[dJ], "wlg_assetId"), "Not initialized yet")
623- let el = lastBlock.timestamp
624- let em = valueOrErrorMessage(getInteger(dY[dJ], dy), "Not initialized")
625- let en = assetBalance(dY[dH], ek)
626- let eo = fraction(dg, dh, de)
627- let ep = valueOrElse(getInteger(dY[dJ], dr), eo)
628- let eq = valueOrElse(getInteger(dY[dJ], dq), em)
629- let er = addressFromStringValue(value(getString(dY[dJ], dp)))
630- let es = min([fraction(eo, (el - eq), (3 * dk)), ep])
631- let et = assetBalance(er, ek)
632- let eu = fraction(dg, di, de)
633- let ev = valueOrElse(getInteger(dY[dJ], dt), eu)
634- let ew = valueOrElse(getInteger(dY[dJ], ds), em)
635- let ex = min([fraction(eu, (el - ew), (3 * dk)), ev])
636- let ey = assetBalance(dY[dG], ek)
637- let ez = valueOrElse(getInteger(dY[dJ], dv(dX)), em)
638- let eA = ((ez - em) / dk)
639- let eB = min([el, (em + (3 * dk))])
640- let eC = min([((el - em) / dk), 2])
641- let eD = dN(dX, dY[dH], dY[dM])
642- let eE = dw(eC)
643- let eF = if ((eA == eC))
613+let dW = 1733335200000
614+
615+func dX (dY,dZ,ea,eb,ec) = {
616+ let ed = valueOrErrorMessage(getInteger(dZ[dJ], dz), "WLGOLD is not issued yet")
617+ let ee = assetBalance(dZ[dI], ea)
618+ let ef = assetBalance(dZ[dG], ea)
619+ let eg = (assetBalance(dZ[dJ], ea) - eb)
620+ let eh = assetBalance(dZ[dK], ea)
621+ let ei = dZ[dL]
622+ let ej = (assetBalance(ei, ea) + valueOrElse(getInteger(ei, dA), 0))
623+ let ek = ((ee + eg) + ej)
624+ let el = valueOrErrorMessage(getBinary(dZ[dJ], "wlg_assetId"), "Not initialized yet")
625+ let em = lastBlock.timestamp
626+ let en = valueOrErrorMessage(getInteger(dZ[dJ], dy), "Not initialized")
627+ let eo = assetBalance(dZ[dH], el)
628+ let ep = fraction(dg, dh, de)
629+ let eq = valueOrElse(getInteger(dZ[dJ], dr), ep)
630+ let er = valueOrElse(getInteger(dZ[dJ], dq), en)
631+ let es = addressFromStringValue(value(getString(dZ[dJ], dp)))
632+ let et = min([fraction(ep, (em - er), (3 * dk)), eq])
633+ let eu = assetBalance(es, el)
634+ let ev = fraction(dg, di, de)
635+ let ew = valueOrElse(getInteger(dZ[dJ], dt), ev)
636+ let ex = valueOrElse(getInteger(dZ[dJ], ds), en)
637+ let ey = min([fraction(ev, (em - ex), (3 * dk)), ew])
638+ let ez = assetBalance(dZ[dG], el)
639+ let eA = valueOrElse(getInteger(dZ[dJ], dv(dY)), en)
640+ let eB = ((eA - en) / dk)
641+ let eC = min([min([em, (en + (3 * dk))]), dW])
642+ let eD = min([((em - en) / dk), 2])
643+ let eE = dN(dY, dZ[dH], dZ[dM])
644+ let eF = dw(eD)
645+ let eG = if ((eB == eD))
644646 then {
645- let eG = fraction(eE, (eB - ez), dk)
646- let eH = fraction(eG, eb, de)
647- let eI = (ez + fraction((eB - ez), eb, de))
648- $Tuple3(eH, eG, eI)
647+ let eH = fraction(eF, (eC - eA), dk)
648+ let eI = fraction(eH, ec, de)
649+ let eJ = (eA + fraction((eC - eA), ec, de))
650+ $Tuple3(eI, eH, eJ)
649651 }
650- else if ((eA == (eC - 1)))
652+ else if ((eB == (eD - 1)))
651653 then {
652- let eJ = fraction(dw((eC - 1)), ((em + (dk * eC)) - ez), dk)
653- let eG = fraction(eE, (eB - (em + (dk * eC))), dk)
654- let eK = (eJ + eG)
655- let eH = fraction(eK, eb, de)
656- let eI = if ((eJ >= eH))
657- then (ez + fraction(dk, eH, dw((eC - 1))))
658- else ((em + (dk * eC)) + fraction(dk, (eH - eJ), eE))
659- $Tuple3(eH, eK, eI)
654+ let eK = fraction(dw((eD - 1)), ((en + (dk * eD)) - eA), dk)
655+ let eH = fraction(eF, (eC - (en + (dk * eD))), dk)
656+ let eL = (eK + eH)
657+ let eI = fraction(eL, ec, de)
658+ let eJ = if ((eK >= eI))
659+ then (eA + fraction(dk, eI, dw((eD - 1))))
660+ else ((en + (dk * eD)) + fraction(dk, (eI - eK), eF))
661+ $Tuple3(eI, eL, eJ)
660662 }
661663 else {
662- let eL = fraction(dw((eC - 2)), ((em + (dk * (eC - 1))) - ez), dk)
663- let eJ = dw((eC - 1))
664- let eG = fraction(eE, (eB - (em + (dk * eC))), dk)
665- let eK = ((eL + eJ) + eG)
666- let eH = fraction(eK, eb, de)
667- let eI = if ((eL >= eH))
668- then (ez + fraction(dk, eH, dw((eC - 2))))
669- else if (((eL + eJ) >= eH))
670- then ((em + (dk * (eC - 1))) + fraction(dk, (eH - eL), dw((eC - 1))))
671- else ((em + (dk * eC)) + fraction(dk, ((eH - eL) - eJ), eE))
672- $Tuple3(eH, eK, eI)
664+ let eM = fraction(dw((eD - 2)), ((en + (dk * (eD - 1))) - eA), dk)
665+ let eK = dw((eD - 1))
666+ let eH = fraction(eF, (eC - (en + (dk * eD))), dk)
667+ let eL = ((eM + eK) + eH)
668+ let eI = fraction(eL, ec, de)
669+ let eJ = if ((eM >= eI))
670+ then (eA + fraction(dk, eI, dw((eD - 2))))
671+ else if (((eM + eK) >= eI))
672+ then ((en + (dk * (eD - 1))) + fraction(dk, (eI - eM), dw((eD - 1))))
673+ else ((en + (dk * eD)) + fraction(dk, ((eI - eM) - eK), eF))
674+ $Tuple3(eI, eL, eJ)
673675 }
674- let eM = eF._1
675- let eN = eF._2
676- let eO = eF._3
677- let eP = fraction(fraction(eE, dl, dk), 25, eD[dS])
678- let eQ = valueOrElse(getInteger(dY[dJ], du), 0)
679- let eR = fraction(eM, ((eD[dT] * df) + eD[dV]), ((eD[dS] * df) + eD[dU]))
680- let eS = fraction(eR, dm, de)
681- let eT = (eR - eS)
682- let eU = fraction(eN, ((eD[dT] * df) + eD[dV]), ((eD[dS] * df) + eD[dU]))
683-[ec, fraction((ej - do), df, ec), ej, ed, ee, ef, eg, em, eq, eo, ep, es, et, eu, ev, ex, ey, eC, eQ, eE, ez, eT, eP, ei, eU, eO, en]
676+ let eN = eG._1
677+ let eO = eG._2
678+ let eP = eG._3
679+ let eQ = fraction(fraction(eF, dl, dk), 25, eE[dS])
680+ let eR = valueOrElse(getInteger(dZ[dJ], du), 0)
681+ let eS = fraction(eN, ((eE[dT] * df) + eE[dV]), ((eE[dS] * df) + eE[dU]))
682+ let eT = fraction(eS, dm, de)
683+ let eU = (eS - eT)
684+ let eV = fraction(eO, ((eE[dT] * df) + eE[dV]), ((eE[dS] * df) + eE[dU]))
685+[ed, fraction((ek - do), df, ed), ek, ee, ef, eg, eh, en, er, ep, eq, et, eu, ev, ew, ey, ez, eD, eR, eF, eA, eU, eQ, ej, eV, eP, eo]
684686 }
685687
686688
687-let eV = 500000
689+let eW = 500000
688690
689-func eW (eX) = {
690- let d = eX
691+func eX (eY) = {
692+ let d = eY
691693 if ($isInstanceOf(d, "List[Any]"))
692694 then {
693- let eY = d
694- if ((size(eY) != bh))
695- then throw(("Array size is " + toString(size(eY))))
695+ let eZ = d
696+ if ((size(eZ) != bh))
697+ then throw(("Array size is " + toString(size(eZ))))
696698 else {
697- func eZ (aU,aV) = {
698- let fa = aV
699- if ($isInstanceOf(fa, "Int"))
699+ func fa (aU,aV) = {
700+ let fb = aV
701+ if ($isInstanceOf(fb, "Int"))
700702 then {
701- let fb = fa
702- (aU :+ toString(fb))
703+ let fc = fb
704+ (aU :+ toString(fc))
703705 }
704706 else throw("List type is not Int")
705707 }
706708
707- let fc = {
708- let aX = eY
709+ let fd = {
710+ let aX = eZ
709711 let aY = size(aX)
710712 let aZ = nil
711713 func ba (bb,bc) = if ((bc >= aY))
712714 then bb
713- else eZ(bb, aX[bc])
715+ else fa(bb, aX[bc])
714716
715717 func bd (bb,bc) = if ((bc >= aY))
716718 then bb
718720
719721 bd(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6)
720722 }
721- makeString(fc, "_")
723+ makeString(fd, "_")
722724 }
723725 }
724726 else throw("fail to cast into List")
725727 }
726728
727729
728-func fd (eX) = {
729- let d = eX
730+func fe (eY) = {
731+ let d = eY
730732 if ($isInstanceOf(d, "(List[Any], List[Any])"))
731733 then {
732- let fe = d
733- $Tuple2(eW(fe._1), eW(fe._2))
734+ let ff = d
735+ $Tuple2(eX(ff._1), eX(ff._2))
734736 }
735737 else throw("fail to cast into (List, List)")
736738 }
737739
738740
739-func ff (eX) = {
740- let d = eX
741+func fg (eY) = {
742+ let d = eY
741743 if ($isInstanceOf(d, "(Boolean, String)"))
742744 then {
743- let fe = d
744- fe
745+ let ff = d
746+ ff
745747 }
746748 else throw("fail to cast into (Boolean, String)")
747749 }
748750
749751
750-func fg (fh) = {
751- let aP = addressFromString(fh)
752- let fi = if (isDefined(aP))
752+func fh (fi) = {
753+ let aP = addressFromString(fi)
754+ let fj = if (isDefined(aP))
753755 then wavesBalance(value(aP))
754756 else BalanceDetails(0, 0, 0, 0)
755- let fj = if (isDefined(aP))
757+ let fk = if (isDefined(aP))
756758 then assetBalance(value(aP), e)
757759 else 0
758- let fk = if (isDefined(aP))
760+ let fl = if (isDefined(aP))
759761 then assetBalance(value(aP), U)
760762 else 0
761- let fl = valueOrElse(getString(I, bD(fh)), fh)
762- let fm = bE(fh)
763- let fn = getString(I, fm)
764- let fo = valueOrElse(getString(I, bG(fh)), "")
765- let fp = valueOrElse(getString(I, aO(fh)), "")
766- let fq = aQ(fh)[az]
767- let fr = valueOrElse(getInteger(I, cF(fh)), 0)
768- let fs = valueOrElse(getInteger(I, cG(fh)), 0)
769- let ft = valueOrElse(getInteger(I, cH(fh)), 0)
770- let fu = {
771- let fv = invoke(K, "checkWlgXpREADONLY", [fh], nil)
772- if ($isInstanceOf(fv, "List[Any]"))
773- then fv
774- else throw(($getType(fv) + " couldn't be cast to List[Any]"))
763+ let fm = valueOrElse(getString(I, bD(fi)), fi)
764+ let fn = bE(fi)
765+ let fo = getString(I, fn)
766+ let fp = valueOrElse(getString(I, bG(fi)), "")
767+ let fq = valueOrElse(getString(I, aO(fi)), "")
768+ let fr = aQ(fi)[az]
769+ let fs = valueOrElse(getInteger(I, cF(fi)), 0)
770+ let ft = valueOrElse(getInteger(I, cG(fi)), 0)
771+ let fu = valueOrElse(getInteger(I, cH(fi)), 0)
772+ let fv = {
773+ let fw = invoke(K, "checkWlgXpREADONLY", [fi], nil)
774+ if ($isInstanceOf(fw, "List[Any]"))
775+ then fw
776+ else throw(($getType(fw) + " couldn't be cast to List[Any]"))
775777 }
776- let fw = valueOrElse(getInteger(K, dF(fh)), 0)
777- let fx = if (isDefined(fn))
778+ let fx = valueOrElse(getInteger(K, dF(fi)), 0)
779+ let fy = if (isDefined(fo))
778780 then (bg + (if (if (isDefined(aP))
779- then isDefined(getString(I, bF(fh)))
781+ then isDefined(getString(I, bF(fi)))
780782 else false)
781783 then ":1"
782784 else ":0"))
783785 else ""
784- let fy = if (isDefined(aP))
786+ let fz = if (isDefined(aP))
785787 then assetBalance(value(aP), X)
786788 else 0
787- let fz = valueOrElse(getInteger(O, dB(fh)), 0)
788- let fA = valueOrElse(getInteger(I, cL(fh)), 0)
789- let fB = valueOrElse(getInteger(I, cM(fh)), 0)
790-[("%s%s__customName__" + fl), ("%s%s__referredBy__" + valueOrElse(fn, "")), ("%s%s__referrals__" + fo), ("%s%s__lastTxId__" + fp), ("%s%d__wavesBalance__" + toString(fi.available)), ("%s%d__wlgoldBalance__" + toString(fk)), ("%s%d__usdtBalance__" + toString(fj)), ("%s%d__stakedPieces__" + toString(fq)), ("%s%d__acresBalance__" + toString(fy)), ("%s%d__stakedAcres__" + toString(fz)), ("%s%d__currentXp__" + toString(fr)), ("%s%d__currentLvl__" + toString(fs)), ("%s%d__pointsToDistribute__" + toString(ft)), ("%s%s__walletArtefacts__" + fx), ("%s%d__stakedWlgold__" + toString(fw)), ("%s%d__virtLevel__" + toString({
791- let fv = fu[0]
792- if ($isInstanceOf(fv, "Int"))
793- then fv
794- else throw(($getType(fv) + " couldn't be cast to Int"))
789+ let fA = valueOrElse(getInteger(O, dB(fi)), 0)
790+ let fB = valueOrElse(getInteger(I, cL(fi)), 0)
791+ let fC = valueOrElse(getInteger(I, cM(fi)), 0)
792+[("%s%s__customName__" + fm), ("%s%s__referredBy__" + valueOrElse(fo, "")), ("%s%s__referrals__" + fp), ("%s%s__lastTxId__" + fq), ("%s%d__wavesBalance__" + toString(fj.available)), ("%s%d__wlgoldBalance__" + toString(fl)), ("%s%d__usdtBalance__" + toString(fk)), ("%s%d__stakedPieces__" + toString(fr)), ("%s%d__acresBalance__" + toString(fz)), ("%s%d__stakedAcres__" + toString(fA)), ("%s%d__currentXp__" + toString(fs)), ("%s%d__currentLvl__" + toString(ft)), ("%s%d__pointsToDistribute__" + toString(fu)), ("%s%s__walletArtefacts__" + fy), ("%s%d__stakedWlgold__" + toString(fx)), ("%s%d__virtLevel__" + toString({
793+ let fw = fv[0]
794+ if ($isInstanceOf(fw, "Int"))
795+ then fw
796+ else throw(($getType(fw) + " couldn't be cast to Int"))
795797 })), ("%s%d__virtPoints__" + toString({
796- let fv = fu[1]
797- if ($isInstanceOf(fv, "Int"))
798- then fv
799- else throw(($getType(fv) + " couldn't be cast to Int"))
798+ let fw = fv[1]
799+ if ($isInstanceOf(fw, "Int"))
800+ then fw
801+ else throw(($getType(fw) + " couldn't be cast to Int"))
800802 })), ("%s%d__virtXP__" + toString({
801- let fv = fu[2]
802- if ($isInstanceOf(fv, "Int"))
803- then fv
804- else throw(($getType(fv) + " couldn't be cast to Int"))
805- })), ("%s%d__userDeliveryCount__" + toString(fA)), ("%s%d__userLastDeliveryDay__" + toString(fB)), ("%s%d__lockedAcres__" + toString(valueOrElse(getInteger(O, dC(fh)), 0))), ("%s%d__ETALockedAcres__" + toString(valueOrElse(getInteger(O, dD(fh)), 0)))]
803+ let fw = fv[2]
804+ if ($isInstanceOf(fw, "Int"))
805+ then fw
806+ else throw(($getType(fw) + " couldn't be cast to Int"))
807+ })), ("%s%d__userDeliveryCount__" + toString(fB)), ("%s%d__userLastDeliveryDay__" + toString(fC)), ("%s%d__lockedAcres__" + toString(valueOrElse(getInteger(O, dC(fi)), 0))), ("%s%d__ETALockedAcres__" + toString(valueOrElse(getInteger(O, dD(fi)), 0)))]
806808 }
807809
808810
809-func fC (bA,fq) = {
810- let fD = valueOrElse(getInteger(I, bB(bA)), 0)
811- let fE = valueOrElse(getInteger(I, bx(bf, bA)), 0)
812- let fF = (fD / 6)
813- let fG = (fD / 7)
814- $Tuple3(fD, fE, ((bi + fraction(bi, ((fD + fF) + (2 * fG)), 5)) + fraction(bi, fE, (fq * 5))))
811+func fD (bA,fr) = {
812+ let fE = valueOrElse(getInteger(I, bB(bA)), 0)
813+ let fF = valueOrElse(getInteger(I, bx(bf, bA)), 0)
814+ let fG = (fE / 6)
815+ let fH = (fE / 7)
816+ $Tuple3(fE, fF, ((bi + fraction(bi, ((fE + fG) + (2 * fH)), 5)) + fraction(bi, fF, (fr * 5))))
815817 }
816818
817819
818-func fH (fI) = {
819- let fJ = split(fI, "_")
820- ((bj * (parseIntValue(fJ[1]) + 1)) * parseIntValue(fJ[0]))
820+func fI (fJ) = {
821+ let fK = split(fJ, "_")
822+ ((bj * (parseIntValue(fK[1]) + 1)) * parseIntValue(fK[0]))
821823 }
822824
823825
824-func fK (fL,fM,fD) = {
825- let fI = ((toString(fM) + "_") + toString(fD))
826- let fN = toString(fH(fI))
827- let fO = valueOrElse(getString(I, fL), ((((fI + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + fN) + "_") + fN))
828- split(fO, ":")
826+func fL (fM,fN,fE) = {
827+ let fJ = ((toString(fN) + "_") + toString(fE))
828+ let fO = toString(fI(fJ))
829+ let fP = valueOrElse(getString(I, fM), ((((fJ + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + fO) + "_") + fO))
830+ split(fP, ":")
829831 }
830832
831833
832-func fP (bK) = {
833- let fQ = cN(valueOrElse(getInteger(I, cC(bK)), 0))
834- $Tuple5(valueOrElse(getInteger(I, bw(bK)), -1), value(assetInfo(fromBase58String(bK))).name, valueOrElse(getString(I, bJ(bK)), ""), valueOrElse(getInteger(I, cz(bK)), fQ), aE(invoke(I, "getBackpackREADONLY", [bK], nil)))
834+func fQ (bK) = {
835+ let fR = cN(valueOrElse(getInteger(I, cC(bK)), 0))
836+ $Tuple5(valueOrElse(getInteger(I, bw(bK)), -1), value(assetInfo(fromBase58String(bK))).name, valueOrElse(getString(I, bJ(bK)), ""), valueOrElse(getInteger(I, cz(bK)), fR), aE(invoke(I, "getBackpackREADONLY", [bK], nil)))
835837 }
836838
837839
838-func fR (bK,fS,fT) = {
839- let fl = valueOrElse(getString(I, bC(bK)), fT._2)
840+func fS (bK,fT,fU) = {
841+ let fm = valueOrElse(getString(I, bC(bK)), fU._2)
840842 let cT = valueOrElse(getString(I, cA(bK)), "0_0_0_0_0")
841- let fr = valueOrElse(getInteger(I, cB(bK)), 0)
842- let fs = valueOrElse(getInteger(I, cC(bK)), 0)
843- let ft = valueOrElse(getInteger(I, cD(bK)), 0)
844- let fU = valueOrElse(getString(I, cE(bK)), ";_;_;_;_;_;")
843+ let fs = valueOrElse(getInteger(I, cB(bK)), 0)
844+ let ft = valueOrElse(getInteger(I, cC(bK)), 0)
845+ let fu = valueOrElse(getInteger(I, cD(bK)), 0)
846+ let fV = valueOrElse(getString(I, cE(bK)), ";_;_;_;_;_;")
845847 let cU = valueOrElse(getString(I, cI(bK)), "0_0_0_0_0")
846- let fV = valueOrElse(getInteger(I, cK(bK)), 0)
847- let fW = valueOrElse(getInteger(I, cJ(bK)), 0)
848-[("%s%s__assetId__" + bK), ("%s%s__owner__" + fS), ("%s%s__customName__" + fl), ("%s%d__stakedTime__" + toString(fT._1)), ("%s%s__name__" + fT._2), ("%s%s__location__" + fT._3), ("%s%d__health__" + toString(fT._4)), ("%s%d__maxHealth__" + toString(cN(fs))), ("%s%s__characteristics__" + cT), ("%s%d__currentXp__" + toString(fr)), ("%s%d__currentLvl__" + toString(fs)), ("%s%d__pointsToDistribute__" + toString(ft)), ("%s%s__backPack__" + fT._5), ("%s%s__equipment__" + fU), ("%s%s__buffs__" + cU), ("%s%d__totalRobberyCount__" + toString(fW)), ("%s%d__totalDeliveryCount__" + toString(fV))]
848+ let fW = valueOrElse(getInteger(I, cK(bK)), 0)
849+ let fX = valueOrElse(getInteger(I, cJ(bK)), 0)
850+[("%s%s__assetId__" + bK), ("%s%s__owner__" + fT), ("%s%s__customName__" + fm), ("%s%d__stakedTime__" + toString(fU._1)), ("%s%s__name__" + fU._2), ("%s%s__location__" + fU._3), ("%s%d__health__" + toString(fU._4)), ("%s%d__maxHealth__" + toString(cN(ft))), ("%s%s__characteristics__" + cT), ("%s%d__currentXp__" + toString(fs)), ("%s%d__currentLvl__" + toString(ft)), ("%s%d__pointsToDistribute__" + toString(fu)), ("%s%s__backPack__" + fU._5), ("%s%s__equipment__" + fV), ("%s%s__buffs__" + cU), ("%s%d__totalRobberyCount__" + toString(fX)), ("%s%d__totalDeliveryCount__" + toString(fW))]
849851 }
850852
851853
852-func fX (bA,fS,fY) = if ((bA == ""))
854+func fY (bA,fT,fZ) = if ((bA == ""))
853855 then throw("landAssetId is required")
854856 else {
855- let fZ = value(assetInfo(fromBase58String(bA)))
856- let ga = split(fZ.description, "_")
857- let gb = if ((fZ.quantity > 0))
858- then ga[P]
859- else ("-" + ga[P])
860- let fq = aL(ga[Q])
861- let gc = fC(bA, fq)
862- let gd = (lastBlock.timestamp - fY)
863- let ge = if ((fY > 0))
864- then fraction(gd, (gc._3 * fq), dl)
857+ let ga = value(assetInfo(fromBase58String(bA)))
858+ let gb = split(ga.description, "_")
859+ let gc = if ((ga.quantity > 0))
860+ then gb[P]
861+ else ("-" + gb[P])
862+ let fr = aL(gb[Q])
863+ let gd = fD(bA, fr)
864+ let ge = (lastBlock.timestamp - fZ)
865+ let gf = if ((fZ > 0))
866+ then fraction(ge, (gd._3 * fr), dl)
865867 else 0
866- let gf = fraction(g, (fq * (gc._1 + 1)), l)
867- let gg = if ((fY > 0))
868- then fd(invoke(I, "splitByGlobalAndLocalWeightsREADONLY", [gf, ge, ga[R]], nil))
869- else $Tuple2(eW(invoke(I, "splitByGlobalWeightsREADONLY", [gf], nil)), "")
870- let fl = valueOrElse(getString(I, bv(bA)), ((ga[S] + "-") + ga[P]))
871-[("%s%s__assetId__" + bA), ("%s%s__owner__" + fS), ("%s%s__customName__" + fl), ("%s%d__stakedTime__" + toString(fY)), ("%s%s__description__" + makeString([gb, ga[Q], ga[R], ga[S]], "_")), ("%s%d__infraLevel__" + toString(gc._1)), ("%s%s__availResByType__" + gg._2), ("%s%d__availResTotal__" + toString(ge)), ("%s%s__needMaterial__" + gg._1), ("%s%s__landArtefacts__PRESALE:" + toString(gc._2)), ("%s%s__warehouse__" + makeString(fK(bz(bA), (fq / l), gc._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(J, bL(bA)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
868+ let gg = fraction(g, (fr * (gd._1 + 1)), l)
869+ let gh = if ((fZ > 0))
870+ then fe(invoke(I, "splitByGlobalAndLocalWeightsREADONLY", [gg, gf, gb[R]], nil))
871+ else $Tuple2(eX(invoke(I, "splitByGlobalWeightsREADONLY", [gg], nil)), "")
872+ let fm = valueOrElse(getString(I, bv(bA)), ((gb[S] + "-") + gb[P]))
873+[("%s%s__assetId__" + bA), ("%s%s__owner__" + fT), ("%s%s__customName__" + fm), ("%s%d__stakedTime__" + toString(fZ)), ("%s%s__description__" + makeString([gc, gb[Q], gb[R], gb[S]], "_")), ("%s%d__infraLevel__" + toString(gd._1)), ("%s%s__availResByType__" + gh._2), ("%s%d__availResTotal__" + toString(gf)), ("%s%s__needMaterial__" + gh._1), ("%s%s__landArtefacts__PRESALE:" + toString(gd._2)), ("%s%s__warehouse__" + makeString(fL(bz(bA), (fr / l), gd._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(J, bL(bA)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
872874 }
873875
874876
875-func gh (bA,fS) = if ((bA == ""))
877+func gi (bA,fT) = if ((bA == ""))
876878 then throw("landAssetId is required")
877879 else {
878- let fZ = value(assetInfo(fromBase58String(bA)))
879- let ga = split(fZ.description, "_")
880- let fq = aL(ga[Q])
881- let gc = fC(bA, fq)
882-[("%s%s__assetId__" + bA), ("%s%s__owner__" + fS), ("%s%s__warehouse__" + makeString(fK(bz(bA), (fq / l), gc._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(J, bL(bA)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
880+ let ga = value(assetInfo(fromBase58String(bA)))
881+ let gb = split(ga.description, "_")
882+ let fr = aL(gb[Q])
883+ let gd = fD(bA, fr)
884+[("%s%s__assetId__" + bA), ("%s%s__owner__" + fT), ("%s%s__warehouse__" + makeString(fL(bz(bA), (fr / l), gd._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(J, bL(bA)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
883885 }
884886
885887
886-func gi (gj) = if ((gj == ""))
888+func gj (gk) = if ((gk == ""))
887889 then 0
888890 else {
889- let gk = split(gj, ",")[0]
890- if ((gk == ""))
891+ let gl = split(gk, ",")[0]
892+ if ((gl == ""))
891893 then 0
892894 else {
893- let gl = split(gk, ":")
894- if (if ((gl[1] == ""))
895+ let gm = split(gl, ":")
896+ if (if ((gm[1] == ""))
895897 then true
896- else (parseIntValue(gl[1]) == 0))
898+ else (parseIntValue(gm[1]) == 0))
897899 then 0
898- else parseIntValue(split(bp[parseIntValue(gl[0])], "_")[br])
900+ else parseIntValue(split(bp[parseIntValue(gm[0])], "_")[br])
899901 }
900902 }
901903
902904
903-func gm (gn) = {
904- let go = cl(N, gn)
905- let cn = go[bX]
906- let co = go[bY]
907- let gp = if ((co[ch] == ""))
905+func gn (go) = {
906+ let gp = cl(N, go)
907+ let cn = gp[bX]
908+ let co = gp[bY]
909+ let gq = if ((co[ch] == ""))
908910 then " "
909911 else co[ch]
910- let gq = valueOrElse(getString(N, bR(gn)), "")
911- let gr = if ((size(cn) > cd))
912+ let gr = valueOrElse(getString(N, bR(go)), "")
913+ let gs = if ((size(cn) > cd))
912914 then cn[cd]
913915 else "0"
914- let gs = if ((size(cn) > ce))
916+ let gt = if ((size(cn) > ce))
915917 then cn[ce]
916918 else "0"
917919 let bu = if ((size(cn) > cf))
918920 then fromBase58String(cn[cf])
919921 else U
920- let gt = valueOrErrorMessage(assetInfo(bu), "No assetInfo available").name
921-[("%s%s__tournamentStaticData__" + makeString([cn[bZ], cn[ca], cn[cb], cn[cc], gr, gs, gt], "_")), ("%s%s__tournamentDynamicData__" + makeString_2C([co[cg], gp, co[ci], co[cj], co[ck]], "_")), ("%s%s__tournamentScoreBoard__" + gq)]
922+ let gu = valueOrErrorMessage(assetInfo(bu), "No assetInfo available").name
923+[("%s%s__tournamentStaticData__" + makeString([cn[bZ], cn[ca], cn[cb], cn[cc], gs, gt, gu], "_")), ("%s%s__tournamentDynamicData__" + makeString_2C([co[cg], gq, co[ci], co[cj], co[ck]], "_")), ("%s%s__tournamentScoreBoard__" + gr)]
922924 }
923925
924926
925-func gu (aP,s) = {
926- let gv = getBoolean(aP, s)
927- if (isDefined(gv))
928- then value(gv)
927+func gv (aP,s) = {
928+ let gw = getBoolean(aP, s)
929+ if (isDefined(gw))
930+ then value(gw)
929931 else {
930- let gw = getBinary(aP, s)
931- if (isDefined(gw))
932- then value(gw)
932+ let gx = getBinary(aP, s)
933+ if (isDefined(gx))
934+ then value(gx)
933935 else {
934- let gx = getInteger(aP, s)
935- if (isDefined(gx))
936- then value(gx)
936+ let gy = getInteger(aP, s)
937+ if (isDefined(gy))
938+ then value(gy)
937939 else getString(aP, s)
938940 }
939941 }
940942 }
941943
942944
943-func gy (gz) = {
944- func gA (aU,gB) = {
945- let aP = Address(fromBase58String(gB._1))
946- let gC = gB._2
947- let gD = {
948- let d = gB
945+func gz (gA) = {
946+ func gB (aU,gC) = {
947+ let aP = Address(fromBase58String(gC._1))
948+ let gD = gC._2
949+ let gE = {
950+ let d = gC
949951 if ($isInstanceOf(d, "(String, String, List[Any])"))
950952 then {
951- let gE = d
952- invoke(aP, gC, gE._3, nil)
953+ let gF = d
954+ invoke(aP, gD, gF._3, nil)
953955 }
954- else gu(aP, gC)
956+ else gv(aP, gD)
955957 }
956- (aU :+ gD)
958+ (aU :+ gE)
957959 }
958960
959- let aX = gz
961+ let aX = gA
960962 let aY = size(aX)
961963 let aZ = nil
962964 func ba (bb,bc) = if ((bc >= aY))
963965 then bb
964- else gA(bb, aX[bc])
966+ else gB(bb, aX[bc])
965967
966968 func bd (bb,bc) = if ((bc >= aY))
967969 then bb
971973 }
972974
973975
974-@Callable(gF)
975-func constructorV1 (dY) = if ((gF.caller != this))
976+@Callable(gG)
977+func constructorV1 (dZ) = if ((gG.caller != this))
976978 then throw("permissions denied")
977979 else {
978- func gG (aU,gH) = (aU + "%s")
980+ func gH (aU,gI) = (aU + "%s")
979981
980- let gI = {
981- let aX = dY
982+ let gJ = {
983+ let aX = dZ
982984 let aY = size(aX)
983985 let aZ = ""
984986 func ba (bb,bc) = if ((bc >= aY))
985987 then bb
986- else gG(bb, aX[bc])
988+ else gH(bb, aX[bc])
987989
988990 func bd (bb,bc) = if ((bc >= aY))
989991 then bb
991993
992994 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
993995 }
994-[StringEntry(A(), makeString(gI :: dY, i)), StringEntry(B(), toString(this))]
996+[StringEntry(A(), makeString(gJ :: dZ, i)), StringEntry(B(), toString(this))]
995997 }
996998
997999
9981000
999-@Callable(gF)
1000-func walletInfoREADONLY (fh) = $Tuple2(nil, fg(fh))
1001+@Callable(gG)
1002+func walletInfoREADONLY (fi) = $Tuple2(nil, fh(fi))
10011003
10021004
10031005
1004-@Callable(gF)
1005-func duckByOwnerInfoREADONLY (gJ) = {
1006- let gK = getString(I, bI(gJ))
1007- $Tuple2(nil, if (if (isDefined(addressFromString(gJ)))
1008- then isDefined(gK)
1006+@Callable(gG)
1007+func duckByOwnerInfoREADONLY (gK) = {
1008+ let gL = getString(I, bI(gK))
1009+ $Tuple2(nil, if (if (isDefined(addressFromString(gK)))
1010+ then isDefined(gL)
10091011 else false)
10101012 then {
1011- let bK = value(gK)
1012- fR(bK, gJ, fP(bK))
1013+ let bK = value(gL)
1014+ fS(bK, gK, fQ(bK))
10131015 }
1014- else fR("", gJ, $Tuple5(-1, "", "", -1, "")))
1016+ else fS("", gK, $Tuple5(-1, "", "", -1, "")))
10151017 }
10161018
10171019
10181020
1019-@Callable(gF)
1021+@Callable(gG)
10201022 func duckByAssetIdInfoREADONLY (bK) = {
1021- let fS = getString(I, bH(bK))
1022- $Tuple2(nil, fR(bK, if (isDefined(fS))
1023- then value(fS)
1024- else "", fP(bK)))
1023+ let fT = getString(I, bH(bK))
1024+ $Tuple2(nil, fS(bK, if (isDefined(fT))
1025+ then value(fT)
1026+ else "", fQ(bK)))
10251027 }
10261028
10271029
10281030
1029-@Callable(gF)
1030-func ducksByIdsInfoREADONLY (gL) = {
1031- func gM (aU,bK) = if ((bK == ""))
1031+@Callable(gG)
1032+func ducksByIdsInfoREADONLY (gM) = {
1033+ func gN (aU,bK) = if ((bK == ""))
10321034 then throw("duckAssetId is required")
10331035 else {
1034- let fY = valueOrElse(getInteger(I, bw(bK)), -1)
1035- let fS = if ((fY > 0))
1036+ let fZ = valueOrElse(getInteger(I, bw(bK)), -1)
1037+ let fT = if ((fZ > 0))
10361038 then value(getString(I, bH(bK)))
10371039 else ""
1038- (aU :+ fR(bK, fS, fP(bK)))
1040+ (aU :+ fS(bK, fT, fQ(bK)))
10391041 }
10401042
1041- let fc = {
1042- let aX = gL
1043+ let fd = {
1044+ let aX = gM
10431045 let aY = size(aX)
10441046 let aZ = nil
10451047 func ba (bb,bc) = if ((bc >= aY))
10461048 then bb
1047- else gM(bb, aX[bc])
1049+ else gN(bb, aX[bc])
10481050
10491051 func bd (bb,bc) = if ((bc >= aY))
10501052 then bb
10521054
10531055 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
10541056 }
1055- $Tuple2(nil, fc)
1057+ $Tuple2(nil, fd)
10561058 }
10571059
10581060
10591061
1060-@Callable(gF)
1062+@Callable(gG)
10611063 func landByAssetIdInfoREADONLY (bA) = if ((bA == ""))
10621064 then throw("landAssetId is required")
10631065 else {
1064- let fY = valueOrElse(getInteger(I, bw(bA)), -1)
1065- let fS = if ((fY > 0))
1066+ let fZ = valueOrElse(getInteger(I, bw(bA)), -1)
1067+ let fT = if ((fZ > 0))
10661068 then value(getString(I, bt(bA)))
10671069 else ""
1068- $Tuple2(nil, fX(bA, fS, fY))
1070+ $Tuple2(nil, fY(bA, fT, fZ))
10691071 }
10701072
10711073
10721074
1073-@Callable(gF)
1074-func stakedLandsByOwnerInfoREADONLY (gN) = if ((gN == ""))
1075+@Callable(gG)
1076+func stakedLandsByOwnerInfoREADONLY (gO) = if ((gO == ""))
10751077 then throw("landOwnerAddress is required")
10761078 else {
1077- let gO = getString(I, aB(gN))
1078- let gP = if (isDefined(gO))
1079- then split_51C(value(gO), "_")
1079+ let gP = getString(I, aB(gO))
1080+ let gQ = if (isDefined(gP))
1081+ then split_51C(value(gP), "_")
10801082 else nil
1081- func gQ (aU,bA) = if ((bA == ""))
1083+ func gR (aU,bA) = if ((bA == ""))
10821084 then throw("landAssetId is required")
10831085 else {
1084- let fY = valueOrElse(getInteger(I, bw(bA)), -1)
1085- (aU :+ fX(bA, gN, fY))
1086+ let fZ = valueOrElse(getInteger(I, bw(bA)), -1)
1087+ (aU :+ fY(bA, gO, fZ))
10861088 }
10871089
1088- let fc = {
1089- let aX = gP
1090+ let fd = {
1091+ let aX = gQ
10901092 let aY = size(aX)
10911093 let aZ = nil
10921094 func ba (bb,bc) = if ((bc >= aY))
10931095 then bb
1094- else gQ(bb, aX[bc])
1096+ else gR(bb, aX[bc])
10951097
10961098 func bd (bb,bc) = if ((bc >= aY))
10971099 then bb
10991101
11001102 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
11011103 }
1102- $Tuple2(nil, fc)
1104+ $Tuple2(nil, fd)
11031105 }
11041106
11051107
11061108
1107-@Callable(gF)
1108-func landsByIdsInfoREADONLY (gR) = {
1109- func gQ (aU,bA) = if ((bA == ""))
1109+@Callable(gG)
1110+func landsByIdsInfoREADONLY (gS) = {
1111+ func gR (aU,bA) = if ((bA == ""))
11101112 then throw("landAssetId is required")
11111113 else {
1112- let fY = valueOrElse(getInteger(I, bw(bA)), -1)
1113- let fS = if ((fY > 0))
1114+ let fZ = valueOrElse(getInteger(I, bw(bA)), -1)
1115+ let fT = if ((fZ > 0))
11141116 then value(getString(I, bt(bA)))
11151117 else ""
1116- (aU :+ fX(bA, fS, fY))
1118+ (aU :+ fY(bA, fT, fZ))
11171119 }
11181120
1119- let fc = {
1120- let aX = gR
1121+ let fd = {
1122+ let aX = gS
11211123 let aY = size(aX)
11221124 let aZ = nil
11231125 func ba (bb,bc) = if ((bc >= aY))
11241126 then bb
1125- else gQ(bb, aX[bc])
1127+ else gR(bb, aX[bc])
11261128
11271129 func bd (bb,bc) = if ((bc >= aY))
11281130 then bb
11301132
11311133 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
11321134 }
1133- $Tuple2(nil, fc)
1135+ $Tuple2(nil, fd)
11341136 }
11351137
11361138
11371139
1138-@Callable(gF)
1140+@Callable(gG)
11391141 func warehouseOrderByAssetIdInfoREADONLY (bA) = if ((bA == ""))
11401142 then throw("landAssetId is required")
11411143 else {
1142- let fY = valueOrElse(getInteger(I, bw(bA)), -1)
1143- let fS = if ((fY > 0))
1144+ let fZ = valueOrElse(getInteger(I, bw(bA)), -1)
1145+ let fT = if ((fZ > 0))
11441146 then value(getString(I, bt(bA)))
11451147 else ""
1146- $Tuple2(nil, gh(bA, fS))
1148+ $Tuple2(nil, gi(bA, fT))
11471149 }
11481150
11491151
11501152
1151-@Callable(gF)
1152-func ordersByLandIdsInfoREADONLY (gR) = {
1153- func gQ (aU,bA) = if ((bA == ""))
1153+@Callable(gG)
1154+func ordersByLandIdsInfoREADONLY (gS) = {
1155+ func gR (aU,bA) = if ((bA == ""))
11541156 then throw("landAssetId is required")
11551157 else {
1156- let fY = valueOrElse(getInteger(I, bw(bA)), -1)
1157- let fS = if ((fY > 0))
1158+ let fZ = valueOrElse(getInteger(I, bw(bA)), -1)
1159+ let fT = if ((fZ > 0))
11581160 then value(getString(I, bt(bA)))
11591161 else ""
1160- (aU :+ gh(bA, fS))
1162+ (aU :+ gi(bA, fT))
11611163 }
11621164
1163- let fc = {
1164- let aX = gR
1165+ let fd = {
1166+ let aX = gS
11651167 let aY = size(aX)
11661168 let aZ = nil
11671169 func ba (bb,bc) = if ((bc >= aY))
11681170 then bb
1169- else gQ(bb, aX[bc])
1171+ else gR(bb, aX[bc])
11701172
11711173 func bd (bb,bc) = if ((bc >= aY))
11721174 then bb
11741176
11751177 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40)
11761178 }
1177- $Tuple2(nil, fc)
1179+ $Tuple2(nil, fd)
11781180 }
11791181
11801182
11811183
1182-@Callable(gF)
1183-func cancelWarehouseOrders (gR) = if ((gF.caller != this))
1184+@Callable(gG)
1185+func cancelWarehouseOrders (gS) = if ((gG.caller != this))
11841186 then throw("permission denied")
11851187 else {
1186- let gS = getBoolean(I, aN())
1187- if (if (!(isDefined(gS)))
1188+ let gT = getBoolean(I, aN())
1189+ if (if (!(isDefined(gT)))
11881190 then true
1189- else (value(gS) == false))
1191+ else (value(gT) == false))
11901192 then throw("Contracts should be blocked before canceling orders")
11911193 else {
1192- func gQ (fZ,bA) = if ((bA == ""))
1194+ func gR (ga,bA) = if ((bA == ""))
11931195 then throw("landAssetId is required")
11941196 else {
1195- let gT = ff(invoke(J, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", bA], nil))._1
1196- if (if (fZ)
1197+ let gU = fg(invoke(J, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", bA], nil))._1
1198+ if (if (ga)
11971199 then true
1198- else gT)
1199- then !(if (fZ)
1200- then gT
1200+ else gU)
1201+ then !(if (ga)
1202+ then gU
12011203 else false)
12021204 else false
12031205 }
12041206
1205- let fc = {
1206- let aX = gR
1207+ let fd = {
1208+ let aX = gS
12071209 let aY = size(aX)
12081210 let aZ = false
12091211 func ba (bb,bc) = if ((bc >= aY))
12101212 then bb
1211- else gQ(bb, aX[bc])
1213+ else gR(bb, aX[bc])
12121214
12131215 func bd (bb,bc) = if ((bc >= aY))
12141216 then bb
12161218
12171219 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
12181220 }
1219- $Tuple2(nil, fc)
1221+ $Tuple2(nil, fd)
12201222 }
12211223 }
12221224
12231225
12241226
1225-@Callable(gF)
1226-func distributeLockedAcres (gU,gV,gW) = if (if ((gF.caller != this))
1227- then (gF.callerPublicKey != c)
1227+@Callable(gG)
1228+func distributeLockedAcres (gV,gW,gX) = if (if ((gG.caller != this))
1229+ then (gG.callerPublicKey != c)
12281230 else false)
12291231 then throw("Permission denied")
1230- else if ((0 >= gV))
1232+ else if ((0 >= gW))
12311233 then throw("amount should be positive")
1232- else if ((0 > gW))
1234+ else if ((0 > gX))
12331235 then throw("lockDays should be non-negative")
12341236 else {
1235- func gX (aU,aP) = if ((aP == ""))
1237+ func gY (aU,aP) = if ((aP == ""))
12361238 then throw("address is required")
1237- else (aU + aH(invoke(O, "sendLockedAcres", [aP, gV, gW], nil)))
1239+ else (aU + aH(invoke(O, "sendLockedAcres", [aP, gW, gX], nil)))
12381240
12391241 let dQ = {
1240- let aX = gU
1242+ let aX = gV
12411243 let aY = size(aX)
12421244 let aZ = 0
12431245 func ba (bb,bc) = if ((bc >= aY))
12441246 then bb
1245- else gX(bb, aX[bc])
1247+ else gY(bb, aX[bc])
12461248
12471249 func bd (bb,bc) = if ((bc >= aY))
12481250 then bb
12551257
12561258
12571259
1258-@Callable(gF)
1259-func sendUsdtPrize (gJ) = if ((gF.caller != I))
1260+@Callable(gG)
1261+func sendUsdtPrize (gK) = if ((gG.caller != I))
12601262 then throw("permission denied")
12611263 else {
1262- let gY = fraction(assetBalance(this, e), eV, j)
1263- $Tuple2([ScriptTransfer(addressFromStringValue(gJ), gY, e)], gY)
1264+ let gZ = fraction(assetBalance(this, e), eW, j)
1265+ $Tuple2([ScriptTransfer(addressFromStringValue(gK), gZ, e)], gZ)
12641266 }
12651267
12661268
12671269
1268-@Callable(gF)
1270+@Callable(gG)
12691271 func getEmergencyServiceDataREADONLY () = {
1270- let gZ = getString(J, bM())
1271- let ha = if (isDefined(gZ))
1272- then split_4C(value(gZ), "_")
1272+ let ha = getString(J, bM())
1273+ let hb = if (isDefined(ha))
1274+ then split_4C(value(ha), "_")
12731275 else nil
1274- func hb (aU,hc) = {
1276+ func hc (aU,hd) = {
12751277 let aI = aU._2
1276- let cs = split(hc, "_")
1277- let hd = if ((aI == 0))
1278+ let cs = split(hd, "_")
1279+ let he = if ((aI == 0))
12781280 then (bl * bs)
12791281 else 0
1280- let he = if ((size(ha) > aI))
1281- then parseIntValue(ha[aI])
1282+ let hf = if ((size(hb) > aI))
1283+ then parseIntValue(hb[aI])
12821284 else 0
1283- let hf = cr(cs)
1284- let hg = fraction((hf * bm), bk, (k * bs))
1285- let hh = fraction((hf * bn), bk, (k * bs))
1286- let hi = makeString([toString(hd), toString(he), toString(hg), toString(hh)], "_")
1287- $Tuple2((aU._1 :+ hi), (aI + 1))
1285+ let hg = cr(cs)
1286+ let hh = fraction((hg * bm), bk, (k * bs))
1287+ let hi = fraction((hg * bn), bk, (k * bs))
1288+ let hj = makeString([toString(he), toString(hf), toString(hh), toString(hi)], "_")
1289+ $Tuple2((aU._1 :+ hj), (aI + 1))
12881290 }
12891291
12901292 let aG = makeString_2C(( let aX = bp
12921294 let aZ = $Tuple2(nil, 0)
12931295 func ba (bb,bc) = if ((bc >= aY))
12941296 then bb
1295- else hb(bb, aX[bc])
1297+ else hc(bb, aX[bc])
12961298
12971299 func bd (bb,bc) = if ((bc >= aY))
12981300 then bb
12991301 else throw("List size exceeds 50")
13001302
13011303 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50))._1, ":")
1302- let gD = ("%s%s__emergencyServiceData__" + aG)
1303- $Tuple2(nil, gD)
1304+ let gE = ("%s%s__emergencyServiceData__" + aG)
1305+ $Tuple2(nil, gE)
13041306 }
13051307
13061308
13071309
1308-@Callable(gF)
1309-func wlgStatsREADONLY (dX) = {
1310- let hj = dW(dX, [H, I, J, K, L, M, O], e, 0, j)
1311- $Tuple2(nil, [("%s%d__wlgAmount__" + toString(hj[Y])), ("%s%d__wlgPrice__" + toString(hj[Z])), ("%s%d__usdtFunds__" + toString(hj[aa])), ("%s%d__usdtEconomy__" + toString(hj[ab])), ("%s%d__usdtActivity__" + toString(hj[ac])), ("%s%d__usdtArbitrage__" + toString(hj[ad])), ("%s%d__usdtPool__" + toString(hj[ae])), ("%s%d__wlgIssueTime__" + toString(hj[af])), ("%s%d__wlgLastMarketingTeamActTime__" + toString(hj[ag])), ("%s%d__wlgTeamTotal__" + toString(hj[ah])), ("%s%d__wlgTeamAmLeft__" + toString(hj[ai])), ("%s%d__wlgTeamAmAvailNow__" + toString(hj[aj])), ("%s%d__wlgTeamWlgold__" + toString(hj[ak])), ("%s%d__wlgActTotal__" + toString(hj[al])), ("%s%d__wlgActAmLeft__" + toString(hj[am])), ("%s%d__wlgActAmAvailNow__" + toString(hj[an])), ("%s%d__wlgActWlgold__" + toString(hj[ao])), ("%s%d__wlgCurPeriod__" + toString(hj[ap])), ("%s%d__wlgAmLeftTotal__" + toString(hj[aq])), ("%s%d__wlgCurPeriodDistribution__" + toString(hj[ar])), ("%s%d__wlgLastUserTime__" + toString(hj[as])), ("%s%d__wlgUserAmAvailNow__" + toString(hj[at])), ("%s%d__wlgGuestSLandDaily__" + toString(hj[au])), ("%s%d__wlgInvestFundTotal__" + toString(hj[av])), ("%s%d__wlgUserTotalAvail__" + toString(hj[aw])), ("%s%d__wlgEffUserTime__" + toString(hj[ax])), ("%s%d__wlgBankWlgold__" + toString(hj[ay]))])
1310+@Callable(gG)
1311+func wlgStatsREADONLY (dY) = {
1312+ let hk = dX(dY, [H, I, J, K, L, M, O], e, 0, j)
1313+ $Tuple2(nil, [("%s%d__wlgAmount__" + toString(hk[Y])), ("%s%d__wlgPrice__" + toString(hk[Z])), ("%s%d__usdtFunds__" + toString(hk[aa])), ("%s%d__usdtEconomy__" + toString(hk[ab])), ("%s%d__usdtActivity__" + toString(hk[ac])), ("%s%d__usdtArbitrage__" + toString(hk[ad])), ("%s%d__usdtPool__" + toString(hk[ae])), ("%s%d__wlgIssueTime__" + toString(hk[af])), ("%s%d__wlgLastMarketingTeamActTime__" + toString(hk[ag])), ("%s%d__wlgTeamTotal__" + toString(hk[ah])), ("%s%d__wlgTeamAmLeft__" + toString(hk[ai])), ("%s%d__wlgTeamAmAvailNow__" + toString(hk[aj])), ("%s%d__wlgTeamWlgold__" + toString(hk[ak])), ("%s%d__wlgActTotal__" + toString(hk[al])), ("%s%d__wlgActAmLeft__" + toString(hk[am])), ("%s%d__wlgActAmAvailNow__" + toString(hk[an])), ("%s%d__wlgActWlgold__" + toString(hk[ao])), ("%s%d__wlgCurPeriod__" + toString(hk[ap])), ("%s%d__wlgAmLeftTotal__" + toString(hk[aq])), ("%s%d__wlgCurPeriodDistribution__" + toString(hk[ar])), ("%s%d__wlgLastUserTime__" + toString(hk[as])), ("%s%d__wlgUserAmAvailNow__" + toString(hk[at])), ("%s%d__wlgGuestSLandDaily__" + toString(hk[au])), ("%s%d__wlgInvestFundTotal__" + toString(hk[av])), ("%s%d__wlgUserTotalAvail__" + toString(hk[aw])), ("%s%d__wlgEffUserTime__" + toString(hk[ax])), ("%s%d__wlgBankWlgold__" + toString(hk[ay]))])
13121314 }
13131315
13141316
13151317
1316-@Callable(gF)
1317-func tournamentStatsREADONLY (gn) = $Tuple2(nil, gm(gn))
1318+@Callable(gG)
1319+func tournamentStatsREADONLY (go) = $Tuple2(nil, gn(go))
13181320
13191321
13201322
1321-@Callable(gF)
1323+@Callable(gG)
13221324 func lastTournamentStatsREADONLY () = {
1323- let gn = valueOrElse(getInteger(N, bN), 0)
1324- $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(gn)), gm(gn)])
1325+ let go = valueOrElse(getInteger(N, bN), 0)
1326+ $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(go)), gn(go)])
13251327 }
13261328
13271329
13281330
1329-@Callable(gF)
1331+@Callable(gG)
13301332 func tournamentDuckStatsREADONLY (bP,bK) = {
1331- let hk = valueOrElse(getBoolean(N, bS(bP, bK)), false)
1332- let hl = valueOrElse(getInteger(N, bU(bP, bK)), -1)
1333- let hm = valueOrElse(getInteger(N, bV(bP, bK)), 0)
1334- let hn = valueOrElse(getString(N, bW(bP, bK)), "")
1335- let ho = valueOrElse(getBoolean(N, bT(bP, bK)), false)
1336- $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(hk), toString(hl), toString(hm), hn, toString(ho)], "_"))])
1333+ let hl = valueOrElse(getBoolean(N, bS(bP, bK)), false)
1334+ let hm = valueOrElse(getInteger(N, bU(bP, bK)), -1)
1335+ let hn = valueOrElse(getInteger(N, bV(bP, bK)), 0)
1336+ let ho = valueOrElse(getString(N, bW(bP, bK)), "")
1337+ let hp = valueOrElse(getBoolean(N, bT(bP, bK)), false)
1338+ $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(hl), toString(hm), toString(hn), ho, toString(hp)], "_"))])
13371339 }
13381340
13391341
13401342
1341-@Callable(gF)
1343+@Callable(gG)
13421344 func duckStatsCalculatorREADONLY (bK) = {
13431345 let cT = split(valueOrElse(getString(I, cA(bK)), "0_0_0_0_0"), "_")
13441346 let cU = split(valueOrElse(getString(I, cI(bK)), "0_0_0_0_0"), "_")
1345- let fU = split(valueOrElse(getString(I, cE(bK)), ";_;_;_;_;_;"), "_")
1346- let cV = gi(split(fU[cx], ";")[1])
1347- let db = gi(split(fU[cy], ";")[0])
1348- let hp = cS(cT, cU, cV)
1349- let hq = da(cT, cU, db)
1350- $Tuple2(nil, [("%s%d__dodgeProbability__" + toString(hp)), ("%s%d__damageAbsorption__" + toString(hq))])
1347+ let fV = split(valueOrElse(getString(I, cE(bK)), ";_;_;_;_;_;"), "_")
1348+ let cV = gj(split(fV[cx], ";")[1])
1349+ let db = gj(split(fV[cy], ";")[0])
1350+ let hq = cS(cT, cU, cV)
1351+ let hr = da(cT, cU, db)
1352+ $Tuple2(nil, [("%s%d__dodgeProbability__" + toString(hq)), ("%s%d__damageAbsorption__" + toString(hr))])
13511353 }
13521354
13531355
13541356
1355-@Callable(gF)
1357+@Callable(gG)
13561358 func customDuckStatsCalculatorREADONLY (cT,cU,cV,db) = {
1357- let hp = cS(cT, cU, cV)
1358- let hq = da(cT, cU, db)
1359- $Tuple2(nil, [("%s%d__dodgeProbability__" + toString(hp)), ("%s%d__damageAbsorption__" + toString(hq))])
1359+ let hq = cS(cT, cU, cV)
1360+ let hr = da(cT, cU, db)
1361+ $Tuple2(nil, [("%s%d__dodgeProbability__" + toString(hq)), ("%s%d__damageAbsorption__" + toString(hr))])
13601362 }
13611363
13621364
13631365
1364-@Callable(gF)
1365-func acresStatsREADONLY (dX) = {
1366- let hr = aJ(invoke(O, "claimAcresREADONLY", [dX], nil))
1367- let hs = aH(hr[0])
1368- let ht = aH(hr[1])
1369- $Tuple2(nil, [("%s%d__acresIssuedTotal__" + toString(valueOrElse(getInteger(O, V), 0))), ("%s%d__acresUnsold__" + toString(assetBalance(O, X))), ("%s%d__acresStakedTotal__" + toString(valueOrElse(getInteger(O, dE), 0))), ("%s%d__acresStakedByUser__" + toString(valueOrElse(getInteger(O, dB(dX)), 0))), ("%s%d__acresClaimableByUser__" + toString(hs)), ("%s%d__acresLastClaimTimeByUser__" + toString(ht)), ("%s%d__acresLockedByUser__" + toString(valueOrElse(getInteger(O, dC(dX)), 0))), ("%s%d__acresLockedEtaByUser__" + toString(valueOrElse(getInteger(O, dD(dX)), 0)))])
1366+@Callable(gG)
1367+func acresStatsREADONLY (dY) = {
1368+ let hs = aJ(invoke(O, "claimAcresREADONLY", [dY], nil))
1369+ let ht = aH(hs[0])
1370+ let hu = aH(hs[1])
1371+ $Tuple2(nil, [("%s%d__acresIssuedTotal__" + toString(valueOrElse(getInteger(O, V), 0))), ("%s%d__acresUnsold__" + toString(assetBalance(O, X))), ("%s%d__acresStakedTotal__" + toString(valueOrElse(getInteger(O, dE), 0))), ("%s%d__acresStakedByUser__" + toString(valueOrElse(getInteger(O, dB(dY)), 0))), ("%s%d__acresClaimableByUser__" + toString(ht)), ("%s%d__acresLastClaimTimeByUser__" + toString(hu)), ("%s%d__acresLockedByUser__" + toString(valueOrElse(getInteger(O, dC(dY)), 0))), ("%s%d__acresLockedEtaByUser__" + toString(valueOrElse(getInteger(O, dD(dY)), 0)))])
13701372 }
13711373
13721374
13731375
1374-@Callable(gF)
1375-func testV4 () = $Tuple2(nil, gy(nil))
1376+@Callable(gG)
1377+func testV4 () = $Tuple2(nil, gz(nil))
13761378
13771379
13781380
1379-@Callable(gF)
1381+@Callable(gG)
13801382 func promo2StatsREADONLY () = {
1381- let gD = valueOrElse(getString(O, h), "")
1382- $Tuple2(nil, if ((gD == ""))
1383+ let gE = valueOrElse(getString(O, h), "")
1384+ $Tuple2(nil, if ((gE == ""))
13831385 then nil
1384- else split_51C(gD, "_"))
1386+ else split_51C(gE, "_"))
13851387 }
13861388
13871389
13881390
1389-@Callable(gF)
1391+@Callable(gG)
13901392 func promo2StatsByUserREADONLY (aP) = {
1391- let ho = valueOrElse(getBoolean(O, cp(2, aP)), false)
1392- $Tuple2(nil, [((("%s%s%b__promo2AddressAwarded__" + aP) + "__") + toString(ho))])
1393+ let hp = valueOrElse(getBoolean(O, cp(2, aP)), false)
1394+ $Tuple2(nil, [((("%s%s%b__promo2AddressAwarded__" + aP) + "__") + toString(hp))])
13931395 }
13941396
13951397
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = false
55
66 let b = take(drop(this.bytes, 1), 1)
77
88 let c = {
99 let d = b
1010 if ((base58'2W' == d))
1111 then if (a)
1212 then base58'CWsMtTZC5BjjoL4Q1ayW4Wwb1ehGACQB6DrKyPgotKfm'
1313 else base58'6LfPuKJjLgekmncBhMg2LZyMTNVzZBccXR28ySXm9uXD'
1414 else if ((base58'2T' == d))
1515 then base58'6LfPuKJjLgekmncBhMg2LZyMTNVzZBccXR28ySXm9uXD'
1616 else throw("Unknown chain")
1717 }
1818
1919 let e = {
2020 let d = b
2121 if ((base58'2W' == d))
2222 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
2323 else if ((base58'2T' == d))
2424 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
2525 else throw("Unknown chain")
2626 }
2727
2828 let f = {
2929 let d = b
3030 if ((base58'2W' == d))
3131 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
3232 else if ((base58'2T' == d))
3333 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
3434 else throw("Unknown chain")
3535 }
3636
3737 let g = {
3838 let d = b
3939 if ((base58'2W' == d))
4040 then 10000000000
4141 else if ((base58'2T' == d))
4242 then 100000000
4343 else throw("Unknown chain")
4444 }
4545
4646 let h = "promo2Map"
4747
4848 let i = "__"
4949
5050 let j = 1000000
5151
5252 let k = 100000000
5353
5454 let l = 25
5555
5656 let m = 100
5757
5858 let n = 225
5959
6060 let o = 400
6161
6262 let p = 625
6363
6464 func q (r,s) = valueOrErrorMessage(getString(r, s), makeString(["mandatory ", toString(r), ".", s, " is not defined"], ""))
6565
6666
6767 let t = 1
6868
6969 let u = 2
7070
7171 let v = 4
7272
7373 let w = 5
7474
7575 let x = 6
7676
7777 let y = 7
7878
7979 let z = 8
8080
8181 func A () = "%s__restConfig"
8282
8383
8484 func B () = "%s__restAddr"
8585
8686
8787 func C (D) = split_4C(q(D, A()), i)
8888
8989
9090 func E (F,G) = valueOrErrorMessage(addressFromString(F[G]), ("Rest cfg doesn't contain address at index " + toString(G)))
9191
9292
9393 let H = addressFromStringValue(valueOrElse(getString(this, B()), f))
9494
9595 let F = C(H)
9696
9797 let I = E(F, t)
9898
9999 let J = E(F, u)
100100
101101 let K = E(F, v)
102102
103103 let L = E(F, w)
104104
105105 let M = E(F, x)
106106
107107 let N = E(F, y)
108108
109109 let O = E(F, z)
110110
111111 let P = 0
112112
113113 let Q = 1
114114
115115 let R = 2
116116
117117 let S = 3
118118
119119 let T = "wlg_assetId"
120120
121121 let U = valueOrErrorMessage(getBinary(K, T), "WLGOLD is not issued yet")
122122
123123 let V = "acresIssuedAmount"
124124
125125 let W = "acresAssetId"
126126
127127 let X = valueOrErrorMessage(getBinary(O, W), "ACRES is not issued yet")
128128
129129 let Y = 0
130130
131131 let Z = 1
132132
133133 let aa = 2
134134
135135 let ab = 3
136136
137137 let ac = 4
138138
139139 let ad = 5
140140
141141 let ae = 6
142142
143143 let af = 7
144144
145145 let ag = 8
146146
147147 let ah = 9
148148
149149 let ai = 10
150150
151151 let aj = 11
152152
153153 let ak = 12
154154
155155 let al = 13
156156
157157 let am = 14
158158
159159 let an = 15
160160
161161 let ao = 16
162162
163163 let ap = 17
164164
165165 let aq = 18
166166
167167 let ar = 19
168168
169169 let as = 20
170170
171171 let at = 21
172172
173173 let au = 22
174174
175175 let av = 23
176176
177177 let aw = 24
178178
179179 let ax = 25
180180
181181 let ay = 26
182182
183183 let az = 1
184184
185185 func aA () = "resTypesProportions"
186186
187187
188188 func aB (aC) = ("stakedLandsByOwner_" + aC)
189189
190190
191191 func aD (aC) = ("stakedPiecesByOwner_" + aC)
192192
193193
194194 func aE (aF) = {
195195 let d = aF
196196 if ($isInstanceOf(d, "String"))
197197 then {
198198 let aG = d
199199 aG
200200 }
201201 else throw("fail to cast into String")
202202 }
203203
204204
205205 func aH (aF) = {
206206 let d = aF
207207 if ($isInstanceOf(d, "Int"))
208208 then {
209209 let aI = d
210210 aI
211211 }
212212 else throw("fail to cast into Int")
213213 }
214214
215215
216216 func aJ (aF) = {
217217 let d = aF
218218 if ($isInstanceOf(d, "List[Any]"))
219219 then {
220220 let aK = d
221221 aK
222222 }
223223 else throw("fail to cast into List[Any]")
224224 }
225225
226226
227227 func aL (aM) = {
228228 let d = aM
229229 if (("S" == d))
230230 then l
231231 else if (("M" == d))
232232 then m
233233 else if (("L" == d))
234234 then n
235235 else if (("XL" == d))
236236 then o
237237 else if (("XXL" == d))
238238 then p
239239 else throw("Unknown land size")
240240 }
241241
242242
243243 func aN () = "contractsBlocked"
244244
245245
246246 func aO (aP) = ("lastWeekTxIdByUser_" + aP)
247247
248248
249249 func aQ (aR) = {
250250 let aS = split(valueOrElse(getString(I, aA()), "0_0_0_0_0_0"), "_")
251251 func aT (aU,aV) = (aU + parseIntValue(aV))
252252
253253 let aW = {
254254 let aX = aS
255255 let aY = size(aX)
256256 let aZ = 0
257257 func ba (bb,bc) = if ((bc >= aY))
258258 then bb
259259 else aT(bb, aX[bc])
260260
261261 func bd (bb,bc) = if ((bc >= aY))
262262 then bb
263263 else throw("List size exceeds 6")
264264
265265 bd(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6)
266266 }
267267 let be = valueOrElse(getInteger(I, aD(aR)), 0)
268268 [aW, be]
269269 }
270270
271271
272272 let bf = "PRESALE"
273273
274274 let bg = "ONBOARD"
275275
276276 let bh = 6
277277
278278 let bi = 3456000
279279
280280 let bj = 10000000000
281281
282282 let bk = 39637
283283
284284 let bl = 10
285285
286286 let bm = 4
287287
288288 let bn = 10
289289
290290 let bo = 10000000
291291
292292 let bp = ["8_8_8_17_17_42_12_0_30_0,0,0,0,0,0,0_", "8_8_8_17_17_42_24_0_60_0,0,5,2,0,0,0_", "8_8_8_17_17_42_36_0_120_0,0,10,4,0,0,0_", "8_19_19_8_27_19_26_1_20_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_52_1_40_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_78_1_80_0,0,0,0,0,0,0_001", "8_8_8_8_8_60_13_2_2_0,0,0,0,0,0,0_011", "8_8_8_8_8_60_26_2_4_0,0,0,0,0,0,0_011", "8_8_8_8_8_60_39_2_8_0,0,0,0,0,0,0_011", "30_30_3_17_17_3_30_3_30_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_60_3_50_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_90_3_70_0,0,0,0,0,0,0_111", "18_18_10_18_18_18_11_4_10_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_22_4_20_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_33_4_30_0,0,0,0,0,0,0_201", "4_13_22_4_35_22_23_0_50,1,0_0,0,0,0,0,0,0_", "4_13_22_4_35_22_46_0_50,1,1_0,2,5,0,0,0,0_", "4_13_22_4_35_22_69_0_50,2,1_0,5,10,0,0,0,0_", "5_25_40_5_10_15_20_1_30,1,1_0,0,0,0,0,0,0_", "5_25_40_5_10_15_40_1_30,1,2_2,1,3,0,0,0,0_", "5_25_40_5_10_15_60_1_30,1,3_5,2,8,0,0,0,0_", "23_23_5_20_23_6_35_2_100_0,0,0,0,0,0,0_", "23_23_5_20_23_6_70_2_150_0,0,0,0,0,0,0_", "23_23_5_20_23_6_105_2_200_0,0,0,0,0,0,0_"]
293293
294294 let bq = 6
295295
296296 let br = 8
297297
298298 let bs = 10
299299
300300 func bt (bu) = ("no_" + bu)
301301
302302
303303 func bv (bu) = ("lcna_" + bu)
304304
305305
306306 func bw (bu) = ("st_" + bu)
307307
308308
309309 func bx (by,bu) = makeString(["las", by, bu], "_")
310310
311311
312312 func bz (bA) = ("wh_" + bA)
313313
314314
315315 func bB (bu) = ("infraLevel_" + bu)
316316
317317
318318 func bC (bu) = ("duckCustomNameByAssetId_" + bu)
319319
320320
321321 func bD (aP) = ("accountCustomNameByAddr_" + aP)
322322
323323
324324 func bE (aP) = ("accRefBy_" + aP)
325325
326326
327327 func bF (aP) = ("onboardArtActivatedDuckBy_" + aP)
328328
329329
330330 func bG (aP) = ("accReferrals_" + aP)
331331
332332
333333 func bH (bu) = ("duckOwner_" + bu)
334334
335335
336336 func bI (aC) = ("stakedDuckByOwner_" + aC)
337337
338338
339339 func bJ (bK) = ("duckLocation_" + bK)
340340
341341
342342 func bL (bA) = ("landOrder_" + bA)
343343
344344
345345 func bM () = "emergencyWarehouseProducts"
346346
347347
348348 let bN = "%s__lastTourId"
349349
350350 func bO (bP) = ("%s%d__tourStaticData__" + toString(bP))
351351
352352
353353 func bQ (bP) = ("%s%d__tourDynamicData__" + toString(bP))
354354
355355
356356 func bR (bP) = ("%s%d__scoreBoard__" + toString(bP))
357357
358358
359359 func bS (bP,bK) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(bP), bK], "__")
360360
361361
362362 func bT (bP,bK) = makeString(["%s%d%s__isAwardedByTourAndDuck", toString(bP), bK], "__")
363363
364364
365365 func bU (bP,bK) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(bP), bK], "__")
366366
367367
368368 func bV (bP,bK) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(bP), bK], "__")
369369
370370
371371 func bW (bP,bK) = makeString(["%s%d%s__bestTxByTourAndDuck", toString(bP), bK], "__")
372372
373373
374374 let bX = 0
375375
376376 let bY = 1
377377
378378 let bZ = 2
379379
380380 let ca = 3
381381
382382 let cb = 5
383383
384384 let cc = 6
385385
386386 let cd = 7
387387
388388 let ce = 8
389389
390390 let cf = 9
391391
392392 let cg = 1
393393
394394 let ch = 2
395395
396396 let ci = 3
397397
398398 let cj = 4
399399
400400 let ck = 5
401401
402402 func cl (cm,bP) = {
403403 let cn = split(valueOrErrorMessage(getString(cm, bO(bP)), (("Error reading tournament " + toString(bP)) + " data")), "__")
404404 let co = split_4C(valueOrErrorMessage(getString(cm, bQ(bP)), (("Error reading tournament " + toString(bP)) + " data")), "__")
405405 [cn, co]
406406 }
407407
408408
409409 func cp (cq,aP) = makeString(["%s%d%s__isAwardedByPromoAndUser", toString(cq), aP], "__")
410410
411411
412412 func cr (cs) = (parseIntValue(cs[bq]) * bo)
413413
414414
415415 let ct = 100000000
416416
417417 let cu = 2
418418
419419 let cv = 3
420420
421421 let cw = 4
422422
423423 let cx = 1
424424
425425 let cy = 2
426426
427427 func cz (bK) = ("duckHealth_" + bK)
428428
429429
430430 func cA (bK) = ("duckChars_" + bK)
431431
432432
433433 func cB (bK) = ("duckXP_" + bK)
434434
435435
436436 func cC (bK) = ("duckLevel_" + bK)
437437
438438
439439 func cD (bK) = ("duckFreePoints_" + bK)
440440
441441
442442 func cE (bK) = ("duckEquipment_" + bK)
443443
444444
445445 func cF (aP) = ("userXP_" + aP)
446446
447447
448448 func cG (aP) = ("userLevel_" + aP)
449449
450450
451451 func cH (aP) = ("userFreePoints_" + aP)
452452
453453
454454 func cI (bK) = ("duckBuffs_" + bK)
455455
456456
457457 func cJ (bK) = ("totalRobberyCountByDuck_" + bK)
458458
459459
460460 func cK (bK) = ("totalDeliveryCountByDuck_" + bK)
461461
462462
463463 func cL (aP) = ("userDeliveryCount_" + aP)
464464
465465
466466 func cM (aP) = ("userLastDeliveryDay_" + aP)
467467
468468
469469 func cN (cO) = (100 + cO)
470470
471471
472472 func cP (aF) = {
473473 let cQ = (2 * aF)
474474 let cR = pow(271828183, 8, cQ, 8, 8, HALFUP)
475475 fraction((cR - ct), ct, (cR + ct), HALFUP)
476476 }
477477
478478
479479 func cS (cT,cU,cV) = {
480480 let cW = (parseIntValue(cT[cu]) + parseIntValue(cU[cu]))
481481 let cX = (parseIntValue(cT[cw]) + parseIntValue(cU[cw]))
482482 let cY = (cP(fraction(cX, ct, 200)) / 4)
483483 let cZ = fraction(cV, (ct + fraction(7000000, cW, (1 + cW), HALFUP)), 100, HALFUP)
484484 (cY + cZ)
485485 }
486486
487487
488488 func da (cT,cU,db) = {
489489 let cW = (parseIntValue(cT[cu]) + parseIntValue(cU[cu]))
490490 let dc = (parseIntValue(cT[cv]) + parseIntValue(cU[cv]))
491491 let cX = (parseIntValue(cT[cw]) + parseIntValue(cU[cw]))
492492 let cY = (db * (ct + fraction(14000000, cW, (1 + cW), HALFUP)))
493493 let cZ = (sqrt(cX, 0, 8, HALFUP) / 10)
494494 let dd = ((ct / 5) * dc)
495495 ((cY + cZ) + dd)
496496 }
497497
498498
499499 let de = 1000000
500500
501501 let df = 100000000
502502
503503 let dg = 100000000000000
504504
505505 let dh = 200000
506506
507507 let di = 100000
508508
509509 let dj = 400000
510510
511511 let dk = 31557600000
512512
513513 let dl = 86400000
514514
515515 let dm = 50000
516516
517517 let dn = take(drop(this.bytes, 1), 1)
518518
519519 let do = {
520520 let d = dn
521521 if ((base58'2W' == d))
522522 then 1208630000
523523 else if ((base58'2T' == d))
524524 then 0
525525 else throw("Unknown chain")
526526 }
527527
528528 let dp = "teamAddr"
529529
530530 let dq = "lastClaimedTime_team"
531531
532532 let dr = "teamAmountLeft"
533533
534534 let ds = "lastClaimedTime_activities"
535535
536536 let dt = "activitiesAmountLeft"
537537
538538 let du = "stakersAmountLeft"
539539
540540 func dv (aP) = ("lastClaimedTimeUserOld_" + aP)
541541
542542
543543 func dw (dx) = fraction(dg, (dj * (dx + 1)), (6 * de))
544544
545545
546546 let dy = "wlg_issueTime"
547547
548548 let dz = "wlg_issuedAmount"
549549
550550 let dA = "zbill_issuedAmount"
551551
552552 func dB (aP) = ("acresStakedAmountByUser_" + aP)
553553
554554
555555 func dC (aP) = ("acresLockedAmountByUser_" + aP)
556556
557557
558558 func dD (aP) = ("acresLockedEtaByUser_" + aP)
559559
560560
561561 let dE = "acresStakedAmountTotal"
562562
563563 func dF (aP) = ("wlgStakedAmountByUser_" + aP)
564564
565565
566566 let dG = 0
567567
568568 let dH = 1
569569
570570 let dI = 2
571571
572572 let dJ = 3
573573
574574 let dK = 4
575575
576576 let dL = 5
577577
578578 let dM = 6
579579
580580 func dN (aR,I,O) = {
581581 let aS = split(valueOrElse(getString(I, "resTypesProportions"), "0_0_0_0_0_0"), "_")
582582 func aT (aU,aV) = (aU + parseIntValue(aV))
583583
584584 let dO = {
585585 let aX = aS
586586 let aY = size(aX)
587587 let aZ = 0
588588 func ba (bb,bc) = if ((bc >= aY))
589589 then bb
590590 else aT(bb, aX[bc])
591591
592592 func bd (bb,bc) = if ((bc >= aY))
593593 then bb
594594 else throw("List size exceeds 6")
595595
596596 bd(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6)
597597 }
598598 let dP = valueOrElse(getInteger(I, ("stakedPiecesByOwner_" + aR)), 0)
599599 let dQ = valueOrElse(getInteger(O, dE), 0)
600600 let dR = valueOrElse(getInteger(O, dB(aR)), 0)
601601 [dO, dP, dQ, dR]
602602 }
603603
604604
605605 let dS = 0
606606
607607 let dT = 1
608608
609609 let dU = 2
610610
611611 let dV = 3
612612
613-func dW (dX,dY,dZ,ea,eb) = {
614- let ec = valueOrErrorMessage(getInteger(dY[dJ], dz), "WLGOLD is not issued yet")
615- let ed = assetBalance(dY[dI], dZ)
616- let ee = assetBalance(dY[dG], dZ)
617- let ef = (assetBalance(dY[dJ], dZ) - ea)
618- let eg = assetBalance(dY[dK], dZ)
619- let eh = dY[dL]
620- let ei = (assetBalance(eh, dZ) + valueOrElse(getInteger(eh, dA), 0))
621- let ej = ((ed + ef) + ei)
622- let ek = valueOrErrorMessage(getBinary(dY[dJ], "wlg_assetId"), "Not initialized yet")
623- let el = lastBlock.timestamp
624- let em = valueOrErrorMessage(getInteger(dY[dJ], dy), "Not initialized")
625- let en = assetBalance(dY[dH], ek)
626- let eo = fraction(dg, dh, de)
627- let ep = valueOrElse(getInteger(dY[dJ], dr), eo)
628- let eq = valueOrElse(getInteger(dY[dJ], dq), em)
629- let er = addressFromStringValue(value(getString(dY[dJ], dp)))
630- let es = min([fraction(eo, (el - eq), (3 * dk)), ep])
631- let et = assetBalance(er, ek)
632- let eu = fraction(dg, di, de)
633- let ev = valueOrElse(getInteger(dY[dJ], dt), eu)
634- let ew = valueOrElse(getInteger(dY[dJ], ds), em)
635- let ex = min([fraction(eu, (el - ew), (3 * dk)), ev])
636- let ey = assetBalance(dY[dG], ek)
637- let ez = valueOrElse(getInteger(dY[dJ], dv(dX)), em)
638- let eA = ((ez - em) / dk)
639- let eB = min([el, (em + (3 * dk))])
640- let eC = min([((el - em) / dk), 2])
641- let eD = dN(dX, dY[dH], dY[dM])
642- let eE = dw(eC)
643- let eF = if ((eA == eC))
613+let dW = 1733335200000
614+
615+func dX (dY,dZ,ea,eb,ec) = {
616+ let ed = valueOrErrorMessage(getInteger(dZ[dJ], dz), "WLGOLD is not issued yet")
617+ let ee = assetBalance(dZ[dI], ea)
618+ let ef = assetBalance(dZ[dG], ea)
619+ let eg = (assetBalance(dZ[dJ], ea) - eb)
620+ let eh = assetBalance(dZ[dK], ea)
621+ let ei = dZ[dL]
622+ let ej = (assetBalance(ei, ea) + valueOrElse(getInteger(ei, dA), 0))
623+ let ek = ((ee + eg) + ej)
624+ let el = valueOrErrorMessage(getBinary(dZ[dJ], "wlg_assetId"), "Not initialized yet")
625+ let em = lastBlock.timestamp
626+ let en = valueOrErrorMessage(getInteger(dZ[dJ], dy), "Not initialized")
627+ let eo = assetBalance(dZ[dH], el)
628+ let ep = fraction(dg, dh, de)
629+ let eq = valueOrElse(getInteger(dZ[dJ], dr), ep)
630+ let er = valueOrElse(getInteger(dZ[dJ], dq), en)
631+ let es = addressFromStringValue(value(getString(dZ[dJ], dp)))
632+ let et = min([fraction(ep, (em - er), (3 * dk)), eq])
633+ let eu = assetBalance(es, el)
634+ let ev = fraction(dg, di, de)
635+ let ew = valueOrElse(getInteger(dZ[dJ], dt), ev)
636+ let ex = valueOrElse(getInteger(dZ[dJ], ds), en)
637+ let ey = min([fraction(ev, (em - ex), (3 * dk)), ew])
638+ let ez = assetBalance(dZ[dG], el)
639+ let eA = valueOrElse(getInteger(dZ[dJ], dv(dY)), en)
640+ let eB = ((eA - en) / dk)
641+ let eC = min([min([em, (en + (3 * dk))]), dW])
642+ let eD = min([((em - en) / dk), 2])
643+ let eE = dN(dY, dZ[dH], dZ[dM])
644+ let eF = dw(eD)
645+ let eG = if ((eB == eD))
644646 then {
645- let eG = fraction(eE, (eB - ez), dk)
646- let eH = fraction(eG, eb, de)
647- let eI = (ez + fraction((eB - ez), eb, de))
648- $Tuple3(eH, eG, eI)
647+ let eH = fraction(eF, (eC - eA), dk)
648+ let eI = fraction(eH, ec, de)
649+ let eJ = (eA + fraction((eC - eA), ec, de))
650+ $Tuple3(eI, eH, eJ)
649651 }
650- else if ((eA == (eC - 1)))
652+ else if ((eB == (eD - 1)))
651653 then {
652- let eJ = fraction(dw((eC - 1)), ((em + (dk * eC)) - ez), dk)
653- let eG = fraction(eE, (eB - (em + (dk * eC))), dk)
654- let eK = (eJ + eG)
655- let eH = fraction(eK, eb, de)
656- let eI = if ((eJ >= eH))
657- then (ez + fraction(dk, eH, dw((eC - 1))))
658- else ((em + (dk * eC)) + fraction(dk, (eH - eJ), eE))
659- $Tuple3(eH, eK, eI)
654+ let eK = fraction(dw((eD - 1)), ((en + (dk * eD)) - eA), dk)
655+ let eH = fraction(eF, (eC - (en + (dk * eD))), dk)
656+ let eL = (eK + eH)
657+ let eI = fraction(eL, ec, de)
658+ let eJ = if ((eK >= eI))
659+ then (eA + fraction(dk, eI, dw((eD - 1))))
660+ else ((en + (dk * eD)) + fraction(dk, (eI - eK), eF))
661+ $Tuple3(eI, eL, eJ)
660662 }
661663 else {
662- let eL = fraction(dw((eC - 2)), ((em + (dk * (eC - 1))) - ez), dk)
663- let eJ = dw((eC - 1))
664- let eG = fraction(eE, (eB - (em + (dk * eC))), dk)
665- let eK = ((eL + eJ) + eG)
666- let eH = fraction(eK, eb, de)
667- let eI = if ((eL >= eH))
668- then (ez + fraction(dk, eH, dw((eC - 2))))
669- else if (((eL + eJ) >= eH))
670- then ((em + (dk * (eC - 1))) + fraction(dk, (eH - eL), dw((eC - 1))))
671- else ((em + (dk * eC)) + fraction(dk, ((eH - eL) - eJ), eE))
672- $Tuple3(eH, eK, eI)
664+ let eM = fraction(dw((eD - 2)), ((en + (dk * (eD - 1))) - eA), dk)
665+ let eK = dw((eD - 1))
666+ let eH = fraction(eF, (eC - (en + (dk * eD))), dk)
667+ let eL = ((eM + eK) + eH)
668+ let eI = fraction(eL, ec, de)
669+ let eJ = if ((eM >= eI))
670+ then (eA + fraction(dk, eI, dw((eD - 2))))
671+ else if (((eM + eK) >= eI))
672+ then ((en + (dk * (eD - 1))) + fraction(dk, (eI - eM), dw((eD - 1))))
673+ else ((en + (dk * eD)) + fraction(dk, ((eI - eM) - eK), eF))
674+ $Tuple3(eI, eL, eJ)
673675 }
674- let eM = eF._1
675- let eN = eF._2
676- let eO = eF._3
677- let eP = fraction(fraction(eE, dl, dk), 25, eD[dS])
678- let eQ = valueOrElse(getInteger(dY[dJ], du), 0)
679- let eR = fraction(eM, ((eD[dT] * df) + eD[dV]), ((eD[dS] * df) + eD[dU]))
680- let eS = fraction(eR, dm, de)
681- let eT = (eR - eS)
682- let eU = fraction(eN, ((eD[dT] * df) + eD[dV]), ((eD[dS] * df) + eD[dU]))
683-[ec, fraction((ej - do), df, ec), ej, ed, ee, ef, eg, em, eq, eo, ep, es, et, eu, ev, ex, ey, eC, eQ, eE, ez, eT, eP, ei, eU, eO, en]
676+ let eN = eG._1
677+ let eO = eG._2
678+ let eP = eG._3
679+ let eQ = fraction(fraction(eF, dl, dk), 25, eE[dS])
680+ let eR = valueOrElse(getInteger(dZ[dJ], du), 0)
681+ let eS = fraction(eN, ((eE[dT] * df) + eE[dV]), ((eE[dS] * df) + eE[dU]))
682+ let eT = fraction(eS, dm, de)
683+ let eU = (eS - eT)
684+ let eV = fraction(eO, ((eE[dT] * df) + eE[dV]), ((eE[dS] * df) + eE[dU]))
685+[ed, fraction((ek - do), df, ed), ek, ee, ef, eg, eh, en, er, ep, eq, et, eu, ev, ew, ey, ez, eD, eR, eF, eA, eU, eQ, ej, eV, eP, eo]
684686 }
685687
686688
687-let eV = 500000
689+let eW = 500000
688690
689-func eW (eX) = {
690- let d = eX
691+func eX (eY) = {
692+ let d = eY
691693 if ($isInstanceOf(d, "List[Any]"))
692694 then {
693- let eY = d
694- if ((size(eY) != bh))
695- then throw(("Array size is " + toString(size(eY))))
695+ let eZ = d
696+ if ((size(eZ) != bh))
697+ then throw(("Array size is " + toString(size(eZ))))
696698 else {
697- func eZ (aU,aV) = {
698- let fa = aV
699- if ($isInstanceOf(fa, "Int"))
699+ func fa (aU,aV) = {
700+ let fb = aV
701+ if ($isInstanceOf(fb, "Int"))
700702 then {
701- let fb = fa
702- (aU :+ toString(fb))
703+ let fc = fb
704+ (aU :+ toString(fc))
703705 }
704706 else throw("List type is not Int")
705707 }
706708
707- let fc = {
708- let aX = eY
709+ let fd = {
710+ let aX = eZ
709711 let aY = size(aX)
710712 let aZ = nil
711713 func ba (bb,bc) = if ((bc >= aY))
712714 then bb
713- else eZ(bb, aX[bc])
715+ else fa(bb, aX[bc])
714716
715717 func bd (bb,bc) = if ((bc >= aY))
716718 then bb
717719 else throw("List size exceeds 6")
718720
719721 bd(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6)
720722 }
721- makeString(fc, "_")
723+ makeString(fd, "_")
722724 }
723725 }
724726 else throw("fail to cast into List")
725727 }
726728
727729
728-func fd (eX) = {
729- let d = eX
730+func fe (eY) = {
731+ let d = eY
730732 if ($isInstanceOf(d, "(List[Any], List[Any])"))
731733 then {
732- let fe = d
733- $Tuple2(eW(fe._1), eW(fe._2))
734+ let ff = d
735+ $Tuple2(eX(ff._1), eX(ff._2))
734736 }
735737 else throw("fail to cast into (List, List)")
736738 }
737739
738740
739-func ff (eX) = {
740- let d = eX
741+func fg (eY) = {
742+ let d = eY
741743 if ($isInstanceOf(d, "(Boolean, String)"))
742744 then {
743- let fe = d
744- fe
745+ let ff = d
746+ ff
745747 }
746748 else throw("fail to cast into (Boolean, String)")
747749 }
748750
749751
750-func fg (fh) = {
751- let aP = addressFromString(fh)
752- let fi = if (isDefined(aP))
752+func fh (fi) = {
753+ let aP = addressFromString(fi)
754+ let fj = if (isDefined(aP))
753755 then wavesBalance(value(aP))
754756 else BalanceDetails(0, 0, 0, 0)
755- let fj = if (isDefined(aP))
757+ let fk = if (isDefined(aP))
756758 then assetBalance(value(aP), e)
757759 else 0
758- let fk = if (isDefined(aP))
760+ let fl = if (isDefined(aP))
759761 then assetBalance(value(aP), U)
760762 else 0
761- let fl = valueOrElse(getString(I, bD(fh)), fh)
762- let fm = bE(fh)
763- let fn = getString(I, fm)
764- let fo = valueOrElse(getString(I, bG(fh)), "")
765- let fp = valueOrElse(getString(I, aO(fh)), "")
766- let fq = aQ(fh)[az]
767- let fr = valueOrElse(getInteger(I, cF(fh)), 0)
768- let fs = valueOrElse(getInteger(I, cG(fh)), 0)
769- let ft = valueOrElse(getInteger(I, cH(fh)), 0)
770- let fu = {
771- let fv = invoke(K, "checkWlgXpREADONLY", [fh], nil)
772- if ($isInstanceOf(fv, "List[Any]"))
773- then fv
774- else throw(($getType(fv) + " couldn't be cast to List[Any]"))
763+ let fm = valueOrElse(getString(I, bD(fi)), fi)
764+ let fn = bE(fi)
765+ let fo = getString(I, fn)
766+ let fp = valueOrElse(getString(I, bG(fi)), "")
767+ let fq = valueOrElse(getString(I, aO(fi)), "")
768+ let fr = aQ(fi)[az]
769+ let fs = valueOrElse(getInteger(I, cF(fi)), 0)
770+ let ft = valueOrElse(getInteger(I, cG(fi)), 0)
771+ let fu = valueOrElse(getInteger(I, cH(fi)), 0)
772+ let fv = {
773+ let fw = invoke(K, "checkWlgXpREADONLY", [fi], nil)
774+ if ($isInstanceOf(fw, "List[Any]"))
775+ then fw
776+ else throw(($getType(fw) + " couldn't be cast to List[Any]"))
775777 }
776- let fw = valueOrElse(getInteger(K, dF(fh)), 0)
777- let fx = if (isDefined(fn))
778+ let fx = valueOrElse(getInteger(K, dF(fi)), 0)
779+ let fy = if (isDefined(fo))
778780 then (bg + (if (if (isDefined(aP))
779- then isDefined(getString(I, bF(fh)))
781+ then isDefined(getString(I, bF(fi)))
780782 else false)
781783 then ":1"
782784 else ":0"))
783785 else ""
784- let fy = if (isDefined(aP))
786+ let fz = if (isDefined(aP))
785787 then assetBalance(value(aP), X)
786788 else 0
787- let fz = valueOrElse(getInteger(O, dB(fh)), 0)
788- let fA = valueOrElse(getInteger(I, cL(fh)), 0)
789- let fB = valueOrElse(getInteger(I, cM(fh)), 0)
790-[("%s%s__customName__" + fl), ("%s%s__referredBy__" + valueOrElse(fn, "")), ("%s%s__referrals__" + fo), ("%s%s__lastTxId__" + fp), ("%s%d__wavesBalance__" + toString(fi.available)), ("%s%d__wlgoldBalance__" + toString(fk)), ("%s%d__usdtBalance__" + toString(fj)), ("%s%d__stakedPieces__" + toString(fq)), ("%s%d__acresBalance__" + toString(fy)), ("%s%d__stakedAcres__" + toString(fz)), ("%s%d__currentXp__" + toString(fr)), ("%s%d__currentLvl__" + toString(fs)), ("%s%d__pointsToDistribute__" + toString(ft)), ("%s%s__walletArtefacts__" + fx), ("%s%d__stakedWlgold__" + toString(fw)), ("%s%d__virtLevel__" + toString({
791- let fv = fu[0]
792- if ($isInstanceOf(fv, "Int"))
793- then fv
794- else throw(($getType(fv) + " couldn't be cast to Int"))
789+ let fA = valueOrElse(getInteger(O, dB(fi)), 0)
790+ let fB = valueOrElse(getInteger(I, cL(fi)), 0)
791+ let fC = valueOrElse(getInteger(I, cM(fi)), 0)
792+[("%s%s__customName__" + fm), ("%s%s__referredBy__" + valueOrElse(fo, "")), ("%s%s__referrals__" + fp), ("%s%s__lastTxId__" + fq), ("%s%d__wavesBalance__" + toString(fj.available)), ("%s%d__wlgoldBalance__" + toString(fl)), ("%s%d__usdtBalance__" + toString(fk)), ("%s%d__stakedPieces__" + toString(fr)), ("%s%d__acresBalance__" + toString(fz)), ("%s%d__stakedAcres__" + toString(fA)), ("%s%d__currentXp__" + toString(fs)), ("%s%d__currentLvl__" + toString(ft)), ("%s%d__pointsToDistribute__" + toString(fu)), ("%s%s__walletArtefacts__" + fy), ("%s%d__stakedWlgold__" + toString(fx)), ("%s%d__virtLevel__" + toString({
793+ let fw = fv[0]
794+ if ($isInstanceOf(fw, "Int"))
795+ then fw
796+ else throw(($getType(fw) + " couldn't be cast to Int"))
795797 })), ("%s%d__virtPoints__" + toString({
796- let fv = fu[1]
797- if ($isInstanceOf(fv, "Int"))
798- then fv
799- else throw(($getType(fv) + " couldn't be cast to Int"))
798+ let fw = fv[1]
799+ if ($isInstanceOf(fw, "Int"))
800+ then fw
801+ else throw(($getType(fw) + " couldn't be cast to Int"))
800802 })), ("%s%d__virtXP__" + toString({
801- let fv = fu[2]
802- if ($isInstanceOf(fv, "Int"))
803- then fv
804- else throw(($getType(fv) + " couldn't be cast to Int"))
805- })), ("%s%d__userDeliveryCount__" + toString(fA)), ("%s%d__userLastDeliveryDay__" + toString(fB)), ("%s%d__lockedAcres__" + toString(valueOrElse(getInteger(O, dC(fh)), 0))), ("%s%d__ETALockedAcres__" + toString(valueOrElse(getInteger(O, dD(fh)), 0)))]
803+ let fw = fv[2]
804+ if ($isInstanceOf(fw, "Int"))
805+ then fw
806+ else throw(($getType(fw) + " couldn't be cast to Int"))
807+ })), ("%s%d__userDeliveryCount__" + toString(fB)), ("%s%d__userLastDeliveryDay__" + toString(fC)), ("%s%d__lockedAcres__" + toString(valueOrElse(getInteger(O, dC(fi)), 0))), ("%s%d__ETALockedAcres__" + toString(valueOrElse(getInteger(O, dD(fi)), 0)))]
806808 }
807809
808810
809-func fC (bA,fq) = {
810- let fD = valueOrElse(getInteger(I, bB(bA)), 0)
811- let fE = valueOrElse(getInteger(I, bx(bf, bA)), 0)
812- let fF = (fD / 6)
813- let fG = (fD / 7)
814- $Tuple3(fD, fE, ((bi + fraction(bi, ((fD + fF) + (2 * fG)), 5)) + fraction(bi, fE, (fq * 5))))
811+func fD (bA,fr) = {
812+ let fE = valueOrElse(getInteger(I, bB(bA)), 0)
813+ let fF = valueOrElse(getInteger(I, bx(bf, bA)), 0)
814+ let fG = (fE / 6)
815+ let fH = (fE / 7)
816+ $Tuple3(fE, fF, ((bi + fraction(bi, ((fE + fG) + (2 * fH)), 5)) + fraction(bi, fF, (fr * 5))))
815817 }
816818
817819
818-func fH (fI) = {
819- let fJ = split(fI, "_")
820- ((bj * (parseIntValue(fJ[1]) + 1)) * parseIntValue(fJ[0]))
820+func fI (fJ) = {
821+ let fK = split(fJ, "_")
822+ ((bj * (parseIntValue(fK[1]) + 1)) * parseIntValue(fK[0]))
821823 }
822824
823825
824-func fK (fL,fM,fD) = {
825- let fI = ((toString(fM) + "_") + toString(fD))
826- let fN = toString(fH(fI))
827- let fO = valueOrElse(getString(I, fL), ((((fI + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + fN) + "_") + fN))
828- split(fO, ":")
826+func fL (fM,fN,fE) = {
827+ let fJ = ((toString(fN) + "_") + toString(fE))
828+ let fO = toString(fI(fJ))
829+ let fP = valueOrElse(getString(I, fM), ((((fJ + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + fO) + "_") + fO))
830+ split(fP, ":")
829831 }
830832
831833
832-func fP (bK) = {
833- let fQ = cN(valueOrElse(getInteger(I, cC(bK)), 0))
834- $Tuple5(valueOrElse(getInteger(I, bw(bK)), -1), value(assetInfo(fromBase58String(bK))).name, valueOrElse(getString(I, bJ(bK)), ""), valueOrElse(getInteger(I, cz(bK)), fQ), aE(invoke(I, "getBackpackREADONLY", [bK], nil)))
834+func fQ (bK) = {
835+ let fR = cN(valueOrElse(getInteger(I, cC(bK)), 0))
836+ $Tuple5(valueOrElse(getInteger(I, bw(bK)), -1), value(assetInfo(fromBase58String(bK))).name, valueOrElse(getString(I, bJ(bK)), ""), valueOrElse(getInteger(I, cz(bK)), fR), aE(invoke(I, "getBackpackREADONLY", [bK], nil)))
835837 }
836838
837839
838-func fR (bK,fS,fT) = {
839- let fl = valueOrElse(getString(I, bC(bK)), fT._2)
840+func fS (bK,fT,fU) = {
841+ let fm = valueOrElse(getString(I, bC(bK)), fU._2)
840842 let cT = valueOrElse(getString(I, cA(bK)), "0_0_0_0_0")
841- let fr = valueOrElse(getInteger(I, cB(bK)), 0)
842- let fs = valueOrElse(getInteger(I, cC(bK)), 0)
843- let ft = valueOrElse(getInteger(I, cD(bK)), 0)
844- let fU = valueOrElse(getString(I, cE(bK)), ";_;_;_;_;_;")
843+ let fs = valueOrElse(getInteger(I, cB(bK)), 0)
844+ let ft = valueOrElse(getInteger(I, cC(bK)), 0)
845+ let fu = valueOrElse(getInteger(I, cD(bK)), 0)
846+ let fV = valueOrElse(getString(I, cE(bK)), ";_;_;_;_;_;")
845847 let cU = valueOrElse(getString(I, cI(bK)), "0_0_0_0_0")
846- let fV = valueOrElse(getInteger(I, cK(bK)), 0)
847- let fW = valueOrElse(getInteger(I, cJ(bK)), 0)
848-[("%s%s__assetId__" + bK), ("%s%s__owner__" + fS), ("%s%s__customName__" + fl), ("%s%d__stakedTime__" + toString(fT._1)), ("%s%s__name__" + fT._2), ("%s%s__location__" + fT._3), ("%s%d__health__" + toString(fT._4)), ("%s%d__maxHealth__" + toString(cN(fs))), ("%s%s__characteristics__" + cT), ("%s%d__currentXp__" + toString(fr)), ("%s%d__currentLvl__" + toString(fs)), ("%s%d__pointsToDistribute__" + toString(ft)), ("%s%s__backPack__" + fT._5), ("%s%s__equipment__" + fU), ("%s%s__buffs__" + cU), ("%s%d__totalRobberyCount__" + toString(fW)), ("%s%d__totalDeliveryCount__" + toString(fV))]
848+ let fW = valueOrElse(getInteger(I, cK(bK)), 0)
849+ let fX = valueOrElse(getInteger(I, cJ(bK)), 0)
850+[("%s%s__assetId__" + bK), ("%s%s__owner__" + fT), ("%s%s__customName__" + fm), ("%s%d__stakedTime__" + toString(fU._1)), ("%s%s__name__" + fU._2), ("%s%s__location__" + fU._3), ("%s%d__health__" + toString(fU._4)), ("%s%d__maxHealth__" + toString(cN(ft))), ("%s%s__characteristics__" + cT), ("%s%d__currentXp__" + toString(fs)), ("%s%d__currentLvl__" + toString(ft)), ("%s%d__pointsToDistribute__" + toString(fu)), ("%s%s__backPack__" + fU._5), ("%s%s__equipment__" + fV), ("%s%s__buffs__" + cU), ("%s%d__totalRobberyCount__" + toString(fX)), ("%s%d__totalDeliveryCount__" + toString(fW))]
849851 }
850852
851853
852-func fX (bA,fS,fY) = if ((bA == ""))
854+func fY (bA,fT,fZ) = if ((bA == ""))
853855 then throw("landAssetId is required")
854856 else {
855- let fZ = value(assetInfo(fromBase58String(bA)))
856- let ga = split(fZ.description, "_")
857- let gb = if ((fZ.quantity > 0))
858- then ga[P]
859- else ("-" + ga[P])
860- let fq = aL(ga[Q])
861- let gc = fC(bA, fq)
862- let gd = (lastBlock.timestamp - fY)
863- let ge = if ((fY > 0))
864- then fraction(gd, (gc._3 * fq), dl)
857+ let ga = value(assetInfo(fromBase58String(bA)))
858+ let gb = split(ga.description, "_")
859+ let gc = if ((ga.quantity > 0))
860+ then gb[P]
861+ else ("-" + gb[P])
862+ let fr = aL(gb[Q])
863+ let gd = fD(bA, fr)
864+ let ge = (lastBlock.timestamp - fZ)
865+ let gf = if ((fZ > 0))
866+ then fraction(ge, (gd._3 * fr), dl)
865867 else 0
866- let gf = fraction(g, (fq * (gc._1 + 1)), l)
867- let gg = if ((fY > 0))
868- then fd(invoke(I, "splitByGlobalAndLocalWeightsREADONLY", [gf, ge, ga[R]], nil))
869- else $Tuple2(eW(invoke(I, "splitByGlobalWeightsREADONLY", [gf], nil)), "")
870- let fl = valueOrElse(getString(I, bv(bA)), ((ga[S] + "-") + ga[P]))
871-[("%s%s__assetId__" + bA), ("%s%s__owner__" + fS), ("%s%s__customName__" + fl), ("%s%d__stakedTime__" + toString(fY)), ("%s%s__description__" + makeString([gb, ga[Q], ga[R], ga[S]], "_")), ("%s%d__infraLevel__" + toString(gc._1)), ("%s%s__availResByType__" + gg._2), ("%s%d__availResTotal__" + toString(ge)), ("%s%s__needMaterial__" + gg._1), ("%s%s__landArtefacts__PRESALE:" + toString(gc._2)), ("%s%s__warehouse__" + makeString(fK(bz(bA), (fq / l), gc._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(J, bL(bA)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
868+ let gg = fraction(g, (fr * (gd._1 + 1)), l)
869+ let gh = if ((fZ > 0))
870+ then fe(invoke(I, "splitByGlobalAndLocalWeightsREADONLY", [gg, gf, gb[R]], nil))
871+ else $Tuple2(eX(invoke(I, "splitByGlobalWeightsREADONLY", [gg], nil)), "")
872+ let fm = valueOrElse(getString(I, bv(bA)), ((gb[S] + "-") + gb[P]))
873+[("%s%s__assetId__" + bA), ("%s%s__owner__" + fT), ("%s%s__customName__" + fm), ("%s%d__stakedTime__" + toString(fZ)), ("%s%s__description__" + makeString([gc, gb[Q], gb[R], gb[S]], "_")), ("%s%d__infraLevel__" + toString(gd._1)), ("%s%s__availResByType__" + gh._2), ("%s%d__availResTotal__" + toString(gf)), ("%s%s__needMaterial__" + gh._1), ("%s%s__landArtefacts__PRESALE:" + toString(gd._2)), ("%s%s__warehouse__" + makeString(fL(bz(bA), (fr / l), gd._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(J, bL(bA)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
872874 }
873875
874876
875-func gh (bA,fS) = if ((bA == ""))
877+func gi (bA,fT) = if ((bA == ""))
876878 then throw("landAssetId is required")
877879 else {
878- let fZ = value(assetInfo(fromBase58String(bA)))
879- let ga = split(fZ.description, "_")
880- let fq = aL(ga[Q])
881- let gc = fC(bA, fq)
882-[("%s%s__assetId__" + bA), ("%s%s__owner__" + fS), ("%s%s__warehouse__" + makeString(fK(bz(bA), (fq / l), gc._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(J, bL(bA)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
880+ let ga = value(assetInfo(fromBase58String(bA)))
881+ let gb = split(ga.description, "_")
882+ let fr = aL(gb[Q])
883+ let gd = fD(bA, fr)
884+[("%s%s__assetId__" + bA), ("%s%s__owner__" + fT), ("%s%s__warehouse__" + makeString(fL(bz(bA), (fr / l), gd._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(J, bL(bA)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
883885 }
884886
885887
886-func gi (gj) = if ((gj == ""))
888+func gj (gk) = if ((gk == ""))
887889 then 0
888890 else {
889- let gk = split(gj, ",")[0]
890- if ((gk == ""))
891+ let gl = split(gk, ",")[0]
892+ if ((gl == ""))
891893 then 0
892894 else {
893- let gl = split(gk, ":")
894- if (if ((gl[1] == ""))
895+ let gm = split(gl, ":")
896+ if (if ((gm[1] == ""))
895897 then true
896- else (parseIntValue(gl[1]) == 0))
898+ else (parseIntValue(gm[1]) == 0))
897899 then 0
898- else parseIntValue(split(bp[parseIntValue(gl[0])], "_")[br])
900+ else parseIntValue(split(bp[parseIntValue(gm[0])], "_")[br])
899901 }
900902 }
901903
902904
903-func gm (gn) = {
904- let go = cl(N, gn)
905- let cn = go[bX]
906- let co = go[bY]
907- let gp = if ((co[ch] == ""))
905+func gn (go) = {
906+ let gp = cl(N, go)
907+ let cn = gp[bX]
908+ let co = gp[bY]
909+ let gq = if ((co[ch] == ""))
908910 then " "
909911 else co[ch]
910- let gq = valueOrElse(getString(N, bR(gn)), "")
911- let gr = if ((size(cn) > cd))
912+ let gr = valueOrElse(getString(N, bR(go)), "")
913+ let gs = if ((size(cn) > cd))
912914 then cn[cd]
913915 else "0"
914- let gs = if ((size(cn) > ce))
916+ let gt = if ((size(cn) > ce))
915917 then cn[ce]
916918 else "0"
917919 let bu = if ((size(cn) > cf))
918920 then fromBase58String(cn[cf])
919921 else U
920- let gt = valueOrErrorMessage(assetInfo(bu), "No assetInfo available").name
921-[("%s%s__tournamentStaticData__" + makeString([cn[bZ], cn[ca], cn[cb], cn[cc], gr, gs, gt], "_")), ("%s%s__tournamentDynamicData__" + makeString_2C([co[cg], gp, co[ci], co[cj], co[ck]], "_")), ("%s%s__tournamentScoreBoard__" + gq)]
922+ let gu = valueOrErrorMessage(assetInfo(bu), "No assetInfo available").name
923+[("%s%s__tournamentStaticData__" + makeString([cn[bZ], cn[ca], cn[cb], cn[cc], gs, gt, gu], "_")), ("%s%s__tournamentDynamicData__" + makeString_2C([co[cg], gq, co[ci], co[cj], co[ck]], "_")), ("%s%s__tournamentScoreBoard__" + gr)]
922924 }
923925
924926
925-func gu (aP,s) = {
926- let gv = getBoolean(aP, s)
927- if (isDefined(gv))
928- then value(gv)
927+func gv (aP,s) = {
928+ let gw = getBoolean(aP, s)
929+ if (isDefined(gw))
930+ then value(gw)
929931 else {
930- let gw = getBinary(aP, s)
931- if (isDefined(gw))
932- then value(gw)
932+ let gx = getBinary(aP, s)
933+ if (isDefined(gx))
934+ then value(gx)
933935 else {
934- let gx = getInteger(aP, s)
935- if (isDefined(gx))
936- then value(gx)
936+ let gy = getInteger(aP, s)
937+ if (isDefined(gy))
938+ then value(gy)
937939 else getString(aP, s)
938940 }
939941 }
940942 }
941943
942944
943-func gy (gz) = {
944- func gA (aU,gB) = {
945- let aP = Address(fromBase58String(gB._1))
946- let gC = gB._2
947- let gD = {
948- let d = gB
945+func gz (gA) = {
946+ func gB (aU,gC) = {
947+ let aP = Address(fromBase58String(gC._1))
948+ let gD = gC._2
949+ let gE = {
950+ let d = gC
949951 if ($isInstanceOf(d, "(String, String, List[Any])"))
950952 then {
951- let gE = d
952- invoke(aP, gC, gE._3, nil)
953+ let gF = d
954+ invoke(aP, gD, gF._3, nil)
953955 }
954- else gu(aP, gC)
956+ else gv(aP, gD)
955957 }
956- (aU :+ gD)
958+ (aU :+ gE)
957959 }
958960
959- let aX = gz
961+ let aX = gA
960962 let aY = size(aX)
961963 let aZ = nil
962964 func ba (bb,bc) = if ((bc >= aY))
963965 then bb
964- else gA(bb, aX[bc])
966+ else gB(bb, aX[bc])
965967
966968 func bd (bb,bc) = if ((bc >= aY))
967969 then bb
968970 else throw("List size exceeds 10")
969971
970972 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
971973 }
972974
973975
974-@Callable(gF)
975-func constructorV1 (dY) = if ((gF.caller != this))
976+@Callable(gG)
977+func constructorV1 (dZ) = if ((gG.caller != this))
976978 then throw("permissions denied")
977979 else {
978- func gG (aU,gH) = (aU + "%s")
980+ func gH (aU,gI) = (aU + "%s")
979981
980- let gI = {
981- let aX = dY
982+ let gJ = {
983+ let aX = dZ
982984 let aY = size(aX)
983985 let aZ = ""
984986 func ba (bb,bc) = if ((bc >= aY))
985987 then bb
986- else gG(bb, aX[bc])
988+ else gH(bb, aX[bc])
987989
988990 func bd (bb,bc) = if ((bc >= aY))
989991 then bb
990992 else throw("List size exceeds 10")
991993
992994 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
993995 }
994-[StringEntry(A(), makeString(gI :: dY, i)), StringEntry(B(), toString(this))]
996+[StringEntry(A(), makeString(gJ :: dZ, i)), StringEntry(B(), toString(this))]
995997 }
996998
997999
9981000
999-@Callable(gF)
1000-func walletInfoREADONLY (fh) = $Tuple2(nil, fg(fh))
1001+@Callable(gG)
1002+func walletInfoREADONLY (fi) = $Tuple2(nil, fh(fi))
10011003
10021004
10031005
1004-@Callable(gF)
1005-func duckByOwnerInfoREADONLY (gJ) = {
1006- let gK = getString(I, bI(gJ))
1007- $Tuple2(nil, if (if (isDefined(addressFromString(gJ)))
1008- then isDefined(gK)
1006+@Callable(gG)
1007+func duckByOwnerInfoREADONLY (gK) = {
1008+ let gL = getString(I, bI(gK))
1009+ $Tuple2(nil, if (if (isDefined(addressFromString(gK)))
1010+ then isDefined(gL)
10091011 else false)
10101012 then {
1011- let bK = value(gK)
1012- fR(bK, gJ, fP(bK))
1013+ let bK = value(gL)
1014+ fS(bK, gK, fQ(bK))
10131015 }
1014- else fR("", gJ, $Tuple5(-1, "", "", -1, "")))
1016+ else fS("", gK, $Tuple5(-1, "", "", -1, "")))
10151017 }
10161018
10171019
10181020
1019-@Callable(gF)
1021+@Callable(gG)
10201022 func duckByAssetIdInfoREADONLY (bK) = {
1021- let fS = getString(I, bH(bK))
1022- $Tuple2(nil, fR(bK, if (isDefined(fS))
1023- then value(fS)
1024- else "", fP(bK)))
1023+ let fT = getString(I, bH(bK))
1024+ $Tuple2(nil, fS(bK, if (isDefined(fT))
1025+ then value(fT)
1026+ else "", fQ(bK)))
10251027 }
10261028
10271029
10281030
1029-@Callable(gF)
1030-func ducksByIdsInfoREADONLY (gL) = {
1031- func gM (aU,bK) = if ((bK == ""))
1031+@Callable(gG)
1032+func ducksByIdsInfoREADONLY (gM) = {
1033+ func gN (aU,bK) = if ((bK == ""))
10321034 then throw("duckAssetId is required")
10331035 else {
1034- let fY = valueOrElse(getInteger(I, bw(bK)), -1)
1035- let fS = if ((fY > 0))
1036+ let fZ = valueOrElse(getInteger(I, bw(bK)), -1)
1037+ let fT = if ((fZ > 0))
10361038 then value(getString(I, bH(bK)))
10371039 else ""
1038- (aU :+ fR(bK, fS, fP(bK)))
1040+ (aU :+ fS(bK, fT, fQ(bK)))
10391041 }
10401042
1041- let fc = {
1042- let aX = gL
1043+ let fd = {
1044+ let aX = gM
10431045 let aY = size(aX)
10441046 let aZ = nil
10451047 func ba (bb,bc) = if ((bc >= aY))
10461048 then bb
1047- else gM(bb, aX[bc])
1049+ else gN(bb, aX[bc])
10481050
10491051 func bd (bb,bc) = if ((bc >= aY))
10501052 then bb
10511053 else throw("List size exceeds 100")
10521054
10531055 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
10541056 }
1055- $Tuple2(nil, fc)
1057+ $Tuple2(nil, fd)
10561058 }
10571059
10581060
10591061
1060-@Callable(gF)
1062+@Callable(gG)
10611063 func landByAssetIdInfoREADONLY (bA) = if ((bA == ""))
10621064 then throw("landAssetId is required")
10631065 else {
1064- let fY = valueOrElse(getInteger(I, bw(bA)), -1)
1065- let fS = if ((fY > 0))
1066+ let fZ = valueOrElse(getInteger(I, bw(bA)), -1)
1067+ let fT = if ((fZ > 0))
10661068 then value(getString(I, bt(bA)))
10671069 else ""
1068- $Tuple2(nil, fX(bA, fS, fY))
1070+ $Tuple2(nil, fY(bA, fT, fZ))
10691071 }
10701072
10711073
10721074
1073-@Callable(gF)
1074-func stakedLandsByOwnerInfoREADONLY (gN) = if ((gN == ""))
1075+@Callable(gG)
1076+func stakedLandsByOwnerInfoREADONLY (gO) = if ((gO == ""))
10751077 then throw("landOwnerAddress is required")
10761078 else {
1077- let gO = getString(I, aB(gN))
1078- let gP = if (isDefined(gO))
1079- then split_51C(value(gO), "_")
1079+ let gP = getString(I, aB(gO))
1080+ let gQ = if (isDefined(gP))
1081+ then split_51C(value(gP), "_")
10801082 else nil
1081- func gQ (aU,bA) = if ((bA == ""))
1083+ func gR (aU,bA) = if ((bA == ""))
10821084 then throw("landAssetId is required")
10831085 else {
1084- let fY = valueOrElse(getInteger(I, bw(bA)), -1)
1085- (aU :+ fX(bA, gN, fY))
1086+ let fZ = valueOrElse(getInteger(I, bw(bA)), -1)
1087+ (aU :+ fY(bA, gO, fZ))
10861088 }
10871089
1088- let fc = {
1089- let aX = gP
1090+ let fd = {
1091+ let aX = gQ
10901092 let aY = size(aX)
10911093 let aZ = nil
10921094 func ba (bb,bc) = if ((bc >= aY))
10931095 then bb
1094- else gQ(bb, aX[bc])
1096+ else gR(bb, aX[bc])
10951097
10961098 func bd (bb,bc) = if ((bc >= aY))
10971099 then bb
10981100 else throw("List size exceeds 100")
10991101
11001102 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
11011103 }
1102- $Tuple2(nil, fc)
1104+ $Tuple2(nil, fd)
11031105 }
11041106
11051107
11061108
1107-@Callable(gF)
1108-func landsByIdsInfoREADONLY (gR) = {
1109- func gQ (aU,bA) = if ((bA == ""))
1109+@Callable(gG)
1110+func landsByIdsInfoREADONLY (gS) = {
1111+ func gR (aU,bA) = if ((bA == ""))
11101112 then throw("landAssetId is required")
11111113 else {
1112- let fY = valueOrElse(getInteger(I, bw(bA)), -1)
1113- let fS = if ((fY > 0))
1114+ let fZ = valueOrElse(getInteger(I, bw(bA)), -1)
1115+ let fT = if ((fZ > 0))
11141116 then value(getString(I, bt(bA)))
11151117 else ""
1116- (aU :+ fX(bA, fS, fY))
1118+ (aU :+ fY(bA, fT, fZ))
11171119 }
11181120
1119- let fc = {
1120- let aX = gR
1121+ let fd = {
1122+ let aX = gS
11211123 let aY = size(aX)
11221124 let aZ = nil
11231125 func ba (bb,bc) = if ((bc >= aY))
11241126 then bb
1125- else gQ(bb, aX[bc])
1127+ else gR(bb, aX[bc])
11261128
11271129 func bd (bb,bc) = if ((bc >= aY))
11281130 then bb
11291131 else throw("List size exceeds 100")
11301132
11311133 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
11321134 }
1133- $Tuple2(nil, fc)
1135+ $Tuple2(nil, fd)
11341136 }
11351137
11361138
11371139
1138-@Callable(gF)
1140+@Callable(gG)
11391141 func warehouseOrderByAssetIdInfoREADONLY (bA) = if ((bA == ""))
11401142 then throw("landAssetId is required")
11411143 else {
1142- let fY = valueOrElse(getInteger(I, bw(bA)), -1)
1143- let fS = if ((fY > 0))
1144+ let fZ = valueOrElse(getInteger(I, bw(bA)), -1)
1145+ let fT = if ((fZ > 0))
11441146 then value(getString(I, bt(bA)))
11451147 else ""
1146- $Tuple2(nil, gh(bA, fS))
1148+ $Tuple2(nil, gi(bA, fT))
11471149 }
11481150
11491151
11501152
1151-@Callable(gF)
1152-func ordersByLandIdsInfoREADONLY (gR) = {
1153- func gQ (aU,bA) = if ((bA == ""))
1153+@Callable(gG)
1154+func ordersByLandIdsInfoREADONLY (gS) = {
1155+ func gR (aU,bA) = if ((bA == ""))
11541156 then throw("landAssetId is required")
11551157 else {
1156- let fY = valueOrElse(getInteger(I, bw(bA)), -1)
1157- let fS = if ((fY > 0))
1158+ let fZ = valueOrElse(getInteger(I, bw(bA)), -1)
1159+ let fT = if ((fZ > 0))
11581160 then value(getString(I, bt(bA)))
11591161 else ""
1160- (aU :+ gh(bA, fS))
1162+ (aU :+ gi(bA, fT))
11611163 }
11621164
1163- let fc = {
1164- let aX = gR
1165+ let fd = {
1166+ let aX = gS
11651167 let aY = size(aX)
11661168 let aZ = nil
11671169 func ba (bb,bc) = if ((bc >= aY))
11681170 then bb
1169- else gQ(bb, aX[bc])
1171+ else gR(bb, aX[bc])
11701172
11711173 func bd (bb,bc) = if ((bc >= aY))
11721174 then bb
11731175 else throw("List size exceeds 40")
11741176
11751177 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40)
11761178 }
1177- $Tuple2(nil, fc)
1179+ $Tuple2(nil, fd)
11781180 }
11791181
11801182
11811183
1182-@Callable(gF)
1183-func cancelWarehouseOrders (gR) = if ((gF.caller != this))
1184+@Callable(gG)
1185+func cancelWarehouseOrders (gS) = if ((gG.caller != this))
11841186 then throw("permission denied")
11851187 else {
1186- let gS = getBoolean(I, aN())
1187- if (if (!(isDefined(gS)))
1188+ let gT = getBoolean(I, aN())
1189+ if (if (!(isDefined(gT)))
11881190 then true
1189- else (value(gS) == false))
1191+ else (value(gT) == false))
11901192 then throw("Contracts should be blocked before canceling orders")
11911193 else {
1192- func gQ (fZ,bA) = if ((bA == ""))
1194+ func gR (ga,bA) = if ((bA == ""))
11931195 then throw("landAssetId is required")
11941196 else {
1195- let gT = ff(invoke(J, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", bA], nil))._1
1196- if (if (fZ)
1197+ let gU = fg(invoke(J, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", bA], nil))._1
1198+ if (if (ga)
11971199 then true
1198- else gT)
1199- then !(if (fZ)
1200- then gT
1200+ else gU)
1201+ then !(if (ga)
1202+ then gU
12011203 else false)
12021204 else false
12031205 }
12041206
1205- let fc = {
1206- let aX = gR
1207+ let fd = {
1208+ let aX = gS
12071209 let aY = size(aX)
12081210 let aZ = false
12091211 func ba (bb,bc) = if ((bc >= aY))
12101212 then bb
1211- else gQ(bb, aX[bc])
1213+ else gR(bb, aX[bc])
12121214
12131215 func bd (bb,bc) = if ((bc >= aY))
12141216 then bb
12151217 else throw("List size exceeds 30")
12161218
12171219 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
12181220 }
1219- $Tuple2(nil, fc)
1221+ $Tuple2(nil, fd)
12201222 }
12211223 }
12221224
12231225
12241226
1225-@Callable(gF)
1226-func distributeLockedAcres (gU,gV,gW) = if (if ((gF.caller != this))
1227- then (gF.callerPublicKey != c)
1227+@Callable(gG)
1228+func distributeLockedAcres (gV,gW,gX) = if (if ((gG.caller != this))
1229+ then (gG.callerPublicKey != c)
12281230 else false)
12291231 then throw("Permission denied")
1230- else if ((0 >= gV))
1232+ else if ((0 >= gW))
12311233 then throw("amount should be positive")
1232- else if ((0 > gW))
1234+ else if ((0 > gX))
12331235 then throw("lockDays should be non-negative")
12341236 else {
1235- func gX (aU,aP) = if ((aP == ""))
1237+ func gY (aU,aP) = if ((aP == ""))
12361238 then throw("address is required")
1237- else (aU + aH(invoke(O, "sendLockedAcres", [aP, gV, gW], nil)))
1239+ else (aU + aH(invoke(O, "sendLockedAcres", [aP, gW, gX], nil)))
12381240
12391241 let dQ = {
1240- let aX = gU
1242+ let aX = gV
12411243 let aY = size(aX)
12421244 let aZ = 0
12431245 func ba (bb,bc) = if ((bc >= aY))
12441246 then bb
1245- else gX(bb, aX[bc])
1247+ else gY(bb, aX[bc])
12461248
12471249 func bd (bb,bc) = if ((bc >= aY))
12481250 then bb
12491251 else throw("List size exceeds 20")
12501252
12511253 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
12521254 }
12531255 $Tuple2(nil, dQ)
12541256 }
12551257
12561258
12571259
1258-@Callable(gF)
1259-func sendUsdtPrize (gJ) = if ((gF.caller != I))
1260+@Callable(gG)
1261+func sendUsdtPrize (gK) = if ((gG.caller != I))
12601262 then throw("permission denied")
12611263 else {
1262- let gY = fraction(assetBalance(this, e), eV, j)
1263- $Tuple2([ScriptTransfer(addressFromStringValue(gJ), gY, e)], gY)
1264+ let gZ = fraction(assetBalance(this, e), eW, j)
1265+ $Tuple2([ScriptTransfer(addressFromStringValue(gK), gZ, e)], gZ)
12641266 }
12651267
12661268
12671269
1268-@Callable(gF)
1270+@Callable(gG)
12691271 func getEmergencyServiceDataREADONLY () = {
1270- let gZ = getString(J, bM())
1271- let ha = if (isDefined(gZ))
1272- then split_4C(value(gZ), "_")
1272+ let ha = getString(J, bM())
1273+ let hb = if (isDefined(ha))
1274+ then split_4C(value(ha), "_")
12731275 else nil
1274- func hb (aU,hc) = {
1276+ func hc (aU,hd) = {
12751277 let aI = aU._2
1276- let cs = split(hc, "_")
1277- let hd = if ((aI == 0))
1278+ let cs = split(hd, "_")
1279+ let he = if ((aI == 0))
12781280 then (bl * bs)
12791281 else 0
1280- let he = if ((size(ha) > aI))
1281- then parseIntValue(ha[aI])
1282+ let hf = if ((size(hb) > aI))
1283+ then parseIntValue(hb[aI])
12821284 else 0
1283- let hf = cr(cs)
1284- let hg = fraction((hf * bm), bk, (k * bs))
1285- let hh = fraction((hf * bn), bk, (k * bs))
1286- let hi = makeString([toString(hd), toString(he), toString(hg), toString(hh)], "_")
1287- $Tuple2((aU._1 :+ hi), (aI + 1))
1285+ let hg = cr(cs)
1286+ let hh = fraction((hg * bm), bk, (k * bs))
1287+ let hi = fraction((hg * bn), bk, (k * bs))
1288+ let hj = makeString([toString(he), toString(hf), toString(hh), toString(hi)], "_")
1289+ $Tuple2((aU._1 :+ hj), (aI + 1))
12881290 }
12891291
12901292 let aG = makeString_2C(( let aX = bp
12911293 let aY = size(aX)
12921294 let aZ = $Tuple2(nil, 0)
12931295 func ba (bb,bc) = if ((bc >= aY))
12941296 then bb
1295- else hb(bb, aX[bc])
1297+ else hc(bb, aX[bc])
12961298
12971299 func bd (bb,bc) = if ((bc >= aY))
12981300 then bb
12991301 else throw("List size exceeds 50")
13001302
13011303 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50))._1, ":")
1302- let gD = ("%s%s__emergencyServiceData__" + aG)
1303- $Tuple2(nil, gD)
1304+ let gE = ("%s%s__emergencyServiceData__" + aG)
1305+ $Tuple2(nil, gE)
13041306 }
13051307
13061308
13071309
1308-@Callable(gF)
1309-func wlgStatsREADONLY (dX) = {
1310- let hj = dW(dX, [H, I, J, K, L, M, O], e, 0, j)
1311- $Tuple2(nil, [("%s%d__wlgAmount__" + toString(hj[Y])), ("%s%d__wlgPrice__" + toString(hj[Z])), ("%s%d__usdtFunds__" + toString(hj[aa])), ("%s%d__usdtEconomy__" + toString(hj[ab])), ("%s%d__usdtActivity__" + toString(hj[ac])), ("%s%d__usdtArbitrage__" + toString(hj[ad])), ("%s%d__usdtPool__" + toString(hj[ae])), ("%s%d__wlgIssueTime__" + toString(hj[af])), ("%s%d__wlgLastMarketingTeamActTime__" + toString(hj[ag])), ("%s%d__wlgTeamTotal__" + toString(hj[ah])), ("%s%d__wlgTeamAmLeft__" + toString(hj[ai])), ("%s%d__wlgTeamAmAvailNow__" + toString(hj[aj])), ("%s%d__wlgTeamWlgold__" + toString(hj[ak])), ("%s%d__wlgActTotal__" + toString(hj[al])), ("%s%d__wlgActAmLeft__" + toString(hj[am])), ("%s%d__wlgActAmAvailNow__" + toString(hj[an])), ("%s%d__wlgActWlgold__" + toString(hj[ao])), ("%s%d__wlgCurPeriod__" + toString(hj[ap])), ("%s%d__wlgAmLeftTotal__" + toString(hj[aq])), ("%s%d__wlgCurPeriodDistribution__" + toString(hj[ar])), ("%s%d__wlgLastUserTime__" + toString(hj[as])), ("%s%d__wlgUserAmAvailNow__" + toString(hj[at])), ("%s%d__wlgGuestSLandDaily__" + toString(hj[au])), ("%s%d__wlgInvestFundTotal__" + toString(hj[av])), ("%s%d__wlgUserTotalAvail__" + toString(hj[aw])), ("%s%d__wlgEffUserTime__" + toString(hj[ax])), ("%s%d__wlgBankWlgold__" + toString(hj[ay]))])
1310+@Callable(gG)
1311+func wlgStatsREADONLY (dY) = {
1312+ let hk = dX(dY, [H, I, J, K, L, M, O], e, 0, j)
1313+ $Tuple2(nil, [("%s%d__wlgAmount__" + toString(hk[Y])), ("%s%d__wlgPrice__" + toString(hk[Z])), ("%s%d__usdtFunds__" + toString(hk[aa])), ("%s%d__usdtEconomy__" + toString(hk[ab])), ("%s%d__usdtActivity__" + toString(hk[ac])), ("%s%d__usdtArbitrage__" + toString(hk[ad])), ("%s%d__usdtPool__" + toString(hk[ae])), ("%s%d__wlgIssueTime__" + toString(hk[af])), ("%s%d__wlgLastMarketingTeamActTime__" + toString(hk[ag])), ("%s%d__wlgTeamTotal__" + toString(hk[ah])), ("%s%d__wlgTeamAmLeft__" + toString(hk[ai])), ("%s%d__wlgTeamAmAvailNow__" + toString(hk[aj])), ("%s%d__wlgTeamWlgold__" + toString(hk[ak])), ("%s%d__wlgActTotal__" + toString(hk[al])), ("%s%d__wlgActAmLeft__" + toString(hk[am])), ("%s%d__wlgActAmAvailNow__" + toString(hk[an])), ("%s%d__wlgActWlgold__" + toString(hk[ao])), ("%s%d__wlgCurPeriod__" + toString(hk[ap])), ("%s%d__wlgAmLeftTotal__" + toString(hk[aq])), ("%s%d__wlgCurPeriodDistribution__" + toString(hk[ar])), ("%s%d__wlgLastUserTime__" + toString(hk[as])), ("%s%d__wlgUserAmAvailNow__" + toString(hk[at])), ("%s%d__wlgGuestSLandDaily__" + toString(hk[au])), ("%s%d__wlgInvestFundTotal__" + toString(hk[av])), ("%s%d__wlgUserTotalAvail__" + toString(hk[aw])), ("%s%d__wlgEffUserTime__" + toString(hk[ax])), ("%s%d__wlgBankWlgold__" + toString(hk[ay]))])
13121314 }
13131315
13141316
13151317
1316-@Callable(gF)
1317-func tournamentStatsREADONLY (gn) = $Tuple2(nil, gm(gn))
1318+@Callable(gG)
1319+func tournamentStatsREADONLY (go) = $Tuple2(nil, gn(go))
13181320
13191321
13201322
1321-@Callable(gF)
1323+@Callable(gG)
13221324 func lastTournamentStatsREADONLY () = {
1323- let gn = valueOrElse(getInteger(N, bN), 0)
1324- $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(gn)), gm(gn)])
1325+ let go = valueOrElse(getInteger(N, bN), 0)
1326+ $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(go)), gn(go)])
13251327 }
13261328
13271329
13281330
1329-@Callable(gF)
1331+@Callable(gG)
13301332 func tournamentDuckStatsREADONLY (bP,bK) = {
1331- let hk = valueOrElse(getBoolean(N, bS(bP, bK)), false)
1332- let hl = valueOrElse(getInteger(N, bU(bP, bK)), -1)
1333- let hm = valueOrElse(getInteger(N, bV(bP, bK)), 0)
1334- let hn = valueOrElse(getString(N, bW(bP, bK)), "")
1335- let ho = valueOrElse(getBoolean(N, bT(bP, bK)), false)
1336- $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(hk), toString(hl), toString(hm), hn, toString(ho)], "_"))])
1333+ let hl = valueOrElse(getBoolean(N, bS(bP, bK)), false)
1334+ let hm = valueOrElse(getInteger(N, bU(bP, bK)), -1)
1335+ let hn = valueOrElse(getInteger(N, bV(bP, bK)), 0)
1336+ let ho = valueOrElse(getString(N, bW(bP, bK)), "")
1337+ let hp = valueOrElse(getBoolean(N, bT(bP, bK)), false)
1338+ $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(hl), toString(hm), toString(hn), ho, toString(hp)], "_"))])
13371339 }
13381340
13391341
13401342
1341-@Callable(gF)
1343+@Callable(gG)
13421344 func duckStatsCalculatorREADONLY (bK) = {
13431345 let cT = split(valueOrElse(getString(I, cA(bK)), "0_0_0_0_0"), "_")
13441346 let cU = split(valueOrElse(getString(I, cI(bK)), "0_0_0_0_0"), "_")
1345- let fU = split(valueOrElse(getString(I, cE(bK)), ";_;_;_;_;_;"), "_")
1346- let cV = gi(split(fU[cx], ";")[1])
1347- let db = gi(split(fU[cy], ";")[0])
1348- let hp = cS(cT, cU, cV)
1349- let hq = da(cT, cU, db)
1350- $Tuple2(nil, [("%s%d__dodgeProbability__" + toString(hp)), ("%s%d__damageAbsorption__" + toString(hq))])
1347+ let fV = split(valueOrElse(getString(I, cE(bK)), ";_;_;_;_;_;"), "_")
1348+ let cV = gj(split(fV[cx], ";")[1])
1349+ let db = gj(split(fV[cy], ";")[0])
1350+ let hq = cS(cT, cU, cV)
1351+ let hr = da(cT, cU, db)
1352+ $Tuple2(nil, [("%s%d__dodgeProbability__" + toString(hq)), ("%s%d__damageAbsorption__" + toString(hr))])
13511353 }
13521354
13531355
13541356
1355-@Callable(gF)
1357+@Callable(gG)
13561358 func customDuckStatsCalculatorREADONLY (cT,cU,cV,db) = {
1357- let hp = cS(cT, cU, cV)
1358- let hq = da(cT, cU, db)
1359- $Tuple2(nil, [("%s%d__dodgeProbability__" + toString(hp)), ("%s%d__damageAbsorption__" + toString(hq))])
1359+ let hq = cS(cT, cU, cV)
1360+ let hr = da(cT, cU, db)
1361+ $Tuple2(nil, [("%s%d__dodgeProbability__" + toString(hq)), ("%s%d__damageAbsorption__" + toString(hr))])
13601362 }
13611363
13621364
13631365
1364-@Callable(gF)
1365-func acresStatsREADONLY (dX) = {
1366- let hr = aJ(invoke(O, "claimAcresREADONLY", [dX], nil))
1367- let hs = aH(hr[0])
1368- let ht = aH(hr[1])
1369- $Tuple2(nil, [("%s%d__acresIssuedTotal__" + toString(valueOrElse(getInteger(O, V), 0))), ("%s%d__acresUnsold__" + toString(assetBalance(O, X))), ("%s%d__acresStakedTotal__" + toString(valueOrElse(getInteger(O, dE), 0))), ("%s%d__acresStakedByUser__" + toString(valueOrElse(getInteger(O, dB(dX)), 0))), ("%s%d__acresClaimableByUser__" + toString(hs)), ("%s%d__acresLastClaimTimeByUser__" + toString(ht)), ("%s%d__acresLockedByUser__" + toString(valueOrElse(getInteger(O, dC(dX)), 0))), ("%s%d__acresLockedEtaByUser__" + toString(valueOrElse(getInteger(O, dD(dX)), 0)))])
1366+@Callable(gG)
1367+func acresStatsREADONLY (dY) = {
1368+ let hs = aJ(invoke(O, "claimAcresREADONLY", [dY], nil))
1369+ let ht = aH(hs[0])
1370+ let hu = aH(hs[1])
1371+ $Tuple2(nil, [("%s%d__acresIssuedTotal__" + toString(valueOrElse(getInteger(O, V), 0))), ("%s%d__acresUnsold__" + toString(assetBalance(O, X))), ("%s%d__acresStakedTotal__" + toString(valueOrElse(getInteger(O, dE), 0))), ("%s%d__acresStakedByUser__" + toString(valueOrElse(getInteger(O, dB(dY)), 0))), ("%s%d__acresClaimableByUser__" + toString(ht)), ("%s%d__acresLastClaimTimeByUser__" + toString(hu)), ("%s%d__acresLockedByUser__" + toString(valueOrElse(getInteger(O, dC(dY)), 0))), ("%s%d__acresLockedEtaByUser__" + toString(valueOrElse(getInteger(O, dD(dY)), 0)))])
13701372 }
13711373
13721374
13731375
1374-@Callable(gF)
1375-func testV4 () = $Tuple2(nil, gy(nil))
1376+@Callable(gG)
1377+func testV4 () = $Tuple2(nil, gz(nil))
13761378
13771379
13781380
1379-@Callable(gF)
1381+@Callable(gG)
13801382 func promo2StatsREADONLY () = {
1381- let gD = valueOrElse(getString(O, h), "")
1382- $Tuple2(nil, if ((gD == ""))
1383+ let gE = valueOrElse(getString(O, h), "")
1384+ $Tuple2(nil, if ((gE == ""))
13831385 then nil
1384- else split_51C(gD, "_"))
1386+ else split_51C(gE, "_"))
13851387 }
13861388
13871389
13881390
1389-@Callable(gF)
1391+@Callable(gG)
13901392 func promo2StatsByUserREADONLY (aP) = {
1391- let ho = valueOrElse(getBoolean(O, cp(2, aP)), false)
1392- $Tuple2(nil, [((("%s%s%b__promo2AddressAwarded__" + aP) + "__") + toString(ho))])
1393+ let hp = valueOrElse(getBoolean(O, cp(2, aP)), false)
1394+ $Tuple2(nil, [((("%s%s%b__promo2AddressAwarded__" + aP) + "__") + toString(hp))])
13931395 }
13941396
13951397

github/deemru/w8io/169f3d6 
438.88 ms