tx · HpJGBDQywR4pTCqLUpWyeQyWYZBepuEPv7SzYBj8DGxu

3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy:  -0.04600000 Waves

2024.12.04 04:40 [3399250] smart account 3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy > SELF 0.00000000 Waves

{ "type": 13, "id": "HpJGBDQywR4pTCqLUpWyeQyWYZBepuEPv7SzYBj8DGxu", "fee": 4600000, "feeAssetId": null, "timestamp": 1733276532183, "version": 2, "chainId": 84, "sender": "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy", "senderPublicKey": "C3PaRKeL8AUKbwUqdniMQtThgcTh5DYHV1777Hkxy7rp", "proofs": [ "2w4rHdeLQxxFQW76Etjr1yswR9ybuNrtrn7Y5ApWJebHjU3FzAg4FxAS1oWcQVTVxs2W6YaSCL3v78QqDnEuKFCZ" ], "script": "base64:BgJ0CAISAwoBGBIDCgEIEgMKAQgSAwoBCBIDCgEYEgMKAQgSAwoBCBIDCgEYEgMKAQgSAwoBGBIDCgEYEgUKAxgBARIDCgEIEgASAwoBCBIDCgEBEgASBAoCAQgSAwoBCBIGCgQYGAEBEgMKAQgSABIAEgMKAQjbAQAWS1NfU0VQQVJBVEVfUFVCTElDX0tFWQcABWNoYWluCQDJAQIJAMoBAggFBHRoaXMFYnl0ZXMAAQABAANwdWIEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDADBRZLU19TRVBBUkFURV9QVUJMSUNfS0VZASCrF1ePFWfjWVRBsNZy62abxKPTZl7VmYZQ35g3H7IJCAEgT1PiGj9UqNadUk4THUYnVb2zU/Mse8lUVLD/Q8G0FCgDCQAAAgEBVAUHJG1hdGNoMAEgT1PiGj9UqNadUk4THUYnVb2zU/Mse8lUVLD/Q8G0FCgJAAIBAg1Vbmtub3duIGNoYWluAAt1c2R0QXNzZXRJZAQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAEghNp6sggDP07Ru8qO7ouTvMmC3Qtd+geWqNQj+agP/7kDCQAAAgEBVAUHJG1hdGNoMAEgVbHYn3KHgu/l41uNrAWrZd6aQ6EvFrsF8xq3h6XxxRgJAAIBAg1Vbmtub3duIGNoYWluABVkZWZhdWx0UmVzdEFkZHJlc3NTdHIEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDACIzNQUUN1dkZidmg0TGtQVW5yblUxejNqbmJBMXA5bTNXTmh2AwkAAAIBAVQFByRtYXRjaDACIzNNdW1rR0d6dENLQVhwV0RxeGtkZG9mcVhTVWJxUWt2U0p5CQACAQINVW5rbm93biBjaGFpbgARSW5mcmFVcGdyYWRlQ29zdFMEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDAAgMivoCUDCQAAAgEBVAUHJG1hdGNoMACAwtcvCQACAQINVW5rbm93biBjaGFpbgAMcHJvbW8yTWFwS2V5Aglwcm9tbzJNYXAAA1NFUAICX18ABU1VTFQ2AMCEPQAFTVVMVDgAgMLXLwAFU1NJWkUAGQAFTVNJWkUAZAAFTFNJWkUA4QEABlhMU0laRQCQAwAHWFhMU0laRQDxBAEPZ2V0U3RyaW5nT3JGYWlsAgdhZGRyZXNzA2tleQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFB2FkZHJlc3MFA2tleQkAuQkCCQDMCAICCm1hbmRhdG9yeSAJAMwIAgkApQgBBQdhZGRyZXNzCQDMCAICAS4JAMwIAgUDa2V5CQDMCAICDyBpcyBub3QgZGVmaW5lZAUDbmlsAgAAEUlkeENmZ1N0YWtpbmdEYXBwAAEAEUlkeENmZ0Vjb25vbXlEYXBwAAIADUlkeENmZ1dsZ0RhcHAABAAUSWR4Q2ZnUHV6emxlUG9vbERhcHAABQAUSWR4Q2ZnSW52ZXN0RnVuZERhcHAABgAUSWR4Q2ZnVG91cm5hbWVudERhcHAABwAPSWR4Q2ZnQWNyZXNEYXBwAAgBCmtleVJlc3RDZmcAAg4lc19fcmVzdENvbmZpZwEOa2V5UmVzdEFkZHJlc3MAAgwlc19fcmVzdEFkZHIBEXJlYWRSZXN0Q2ZnT3JGYWlsAQRyZXN0CQC8CQIJAQ9nZXRTdHJpbmdPckZhaWwCBQRyZXN0CQEKa2V5UmVzdENmZwAFA1NFUAEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgdyZXN0Q2ZnA2lkeAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAJEDAgUHcmVzdENmZwUDaWR4CQCsAgICKlJlc3QgY2ZnIGRvZXNuJ3QgY29udGFpbiBhZGRyZXNzIGF0IGluZGV4IAkApAMBBQNpZHgADHJlc3RDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEOa2V5UmVzdEFkZHJlc3MABRVkZWZhdWx0UmVzdEFkZHJlc3NTdHIAB3Jlc3RDZmcJARFyZWFkUmVzdENmZ09yRmFpbAEFDHJlc3RDb250cmFjdAAPc3Rha2luZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwURSWR4Q2ZnU3Rha2luZ0RhcHAAD2Vjb25vbXlDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFEUlkeENmZ0Vjb25vbXlEYXBwAAt3bGdDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFDUlkeENmZ1dsZ0RhcHAAEnB1enpsZVBvb2xDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ1B1enpsZVBvb2xEYXBwABJpbnZlc3RGdW5kQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRRJZHhDZmdJbnZlc3RGdW5kRGFwcAASdG91cm5hbWVudENvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwUUSWR4Q2ZnVG91cm5hbWVudERhcHAADWFjcmVzQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBQ9JZHhDZmdBY3Jlc0RhcHAACnJlY0xhbmROdW0AAAALcmVjTGFuZFNpemUAAQALcmVjVGVycmFpbnMAAgAMcmVjQ29udGluZW50AAMADXdsZ0Fzc2V0SWRLZXkCC3dsZ19hc3NldElkAAp3bGdBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgULd2xnQ29udHJhY3QFDXdsZ0Fzc2V0SWRLZXkCGFdMR09MRCBpcyBub3QgaXNzdWVkIHlldAAUYWNyZXNJc3N1ZWRBbW91bnRLZXkCEWFjcmVzSXNzdWVkQW1vdW50AA9hY3Jlc0Fzc2V0SWRLZXkCDGFjcmVzQXNzZXRJZAAMYWNyZXNBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgUNYWNyZXNDb250cmFjdAUPYWNyZXNBc3NldElkS2V5AhdBQ1JFUyBpcyBub3QgaXNzdWVkIHlldAAMaWR4V2xnQW1vdW50AAAAC2lkeFdsZ1ByaWNlAAEAC2lkeFdsZ0Z1bmRzAAIADWlkeFdsZ0Vjb25vbXkAAwAOaWR4V2xnQWN0aXZpdHkABAAPaWR4V2xnQXJiaXRyYWdlAAUACmlkeFdsZ1Bvb2wABgAPaWR4V2xnSXNzdWVUaW1lAAcAFWlkeFdsZ0xhc3RUZWFtQWN0VGltZQAIAA9pZHhXbGdUZWFtVG90YWwACQAQaWR4V2xnVGVhbUFtTGVmdAAKABRpZHhXbGdUZWFtQW1BdmFpbE5vdwALABBpZHhXbGdUZWFtV2xnb2xkAAwADmlkeFdsZ0FjdFRvdGFsAA0AD2lkeFdsZ0FjdEFtTGVmdAAOABNpZHhXbGdBY3RBbUF2YWlsTm93AA8AD2lkeFdsZ0FjdFdsZ29sZAAQAA9pZHhXbGdDdXJQZXJpb2QAEQARaWR4V2xnQW1MZWZ0VG90YWwAEgAbaWR4V2xnQ3VyUGVyaW9kRGlzdHJpYnV0aW9uABMAEmlkeFdsZ0xhc3RVc2VyVGltZQAUABRpZHhXbGdVc2VyQW1BdmFpbE5vdwAVABZpZHhXbGdTTGFuZERhaWx5QW1vdW50ABYAFmlkeFdsZ0ludmVzdEZ1bmRBbW91bnQAFwAUaWR4V2xnVXNlclRvdGFsQXZhaWwAGAARaWR4V2xnRWZmVXNlclRpbWUAGQAQaWR4V2xnQmFua1dsZ29sZAAaAApJZHhFZmZVc2VyAAEBEWtleVJlc1Byb3BvcnRpb25zAAITcmVzVHlwZXNQcm9wb3J0aW9ucwEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQlvd25lckFkZHIJAKwCAgITc3Rha2VkTGFuZHNCeU93bmVyXwUJb3duZXJBZGRyARZrZXlTdGFrZWRQaWVjZXNCeU93bmVyAQlvd25lckFkZHIJAKwCAgIUc3Rha2VkUGllY2VzQnlPd25lcl8FCW93bmVyQWRkcgEIYXNTdHJpbmcBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwBQFzCQACAQIYZmFpbCB0byBjYXN0IGludG8gU3RyaW5nAQVhc0ludAEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgNJbnQEAW4FByRtYXRjaDAFAW4JAAIBAhVmYWlsIHRvIGNhc3QgaW50byBJbnQBCWFzQW55TGlzdAEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAglMaXN0W0FueV0EAWwFByRtYXRjaDAFAWwJAAIBAhtmYWlsIHRvIGNhc3QgaW50byBMaXN0W0FueV0BD251bVBpZWNlc0J5U2l6ZQEIbGFuZFNpemUEByRtYXRjaDAFCGxhbmRTaXplAwkAAAICAVMFByRtYXRjaDAFBVNTSVpFAwkAAAICAU0FByRtYXRjaDAFBU1TSVpFAwkAAAICAUwFByRtYXRjaDAFBUxTSVpFAwkAAAICAlhMBQckbWF0Y2gwBQZYTFNJWkUDCQAAAgIDWFhMBQckbWF0Y2gwBQdYWExTSVpFCQACAQIRVW5rbm93biBsYW5kIHNpemUBCmtleUJsb2NrZWQAAhBjb250cmFjdHNCbG9ja2VkARVrZXlMYXN0V2Vla1R4SWRCeVVzZXIBBGFkZHIJAKwCAgITbGFzdFdlZWtUeElkQnlVc2VyXwUEYWRkcgEOZ2V0Vm90aW5nUG93ZXIBEnVzZXJBZGRyU3RyT3JFbXB0eQQFcHJvcHMJALUJAgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARFrZXlSZXNQcm9wb3J0aW9ucwACCzBfMF8wXzBfMF8wAgFfCgEFYWRkZXICA2FjYwRpdGVtCQBkAgUDYWNjCQENcGFyc2VJbnRWYWx1ZQEFBGl0ZW0ECnRvdGFsUG93ZXIKAAIkbAUFcHJvcHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBBWFkZGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA2CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGBAp1c2Vyc1Bvd2VyCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFBpZWNlc0J5T3duZXIBBRJ1c2VyQWRkclN0ck9yRW1wdHkAAAkAzAgCBQp0b3RhbFBvd2VyCQDMCAIFCnVzZXJzUG93ZXIFA25pbAAKQVJUUFJFU0FMRQIHUFJFU0FMRQAKQVJUT05CT0FSRAIHT05CT0FSRAAGTlVNUkVTAAYAD0RBSUxZUkVTQllQSUVDRQCA+NIBAAxXSE1VTFRJUExJRVIAgMivoCUAEFJFU09VUkNFUFJJQ0VNSU4A1bUCAA1FU01BWFBBQ0tBR0VTAAoACUVTQlVZQ09FRgAEAApFU1NFTExDT0VGAAoACUNPRUZGMk1BVACAreIEABBwcm9kdWN0aW9uTWF0cml4CQDMCAICJThfOF84XzE3XzE3XzQyXzEyXzBfMzBfMCwwLDAsMCwwLDAsMF8JAMwIAgIlOF84XzhfMTdfMTdfNDJfMjRfMF82MF8wLDAsNSwyLDAsMCwwXwkAzAgCAic4XzhfOF8xN18xN180Ml8zNl8wXzEyMF8wLDAsMTAsNCwwLDAsMF8JAMwIAgIpOF8xOV8xOV84XzI3XzE5XzI2XzFfMjBfMCwwLDAsMCwwLDAsMF8wMDEJAMwIAgIpOF8xOV8xOV84XzI3XzE5XzUyXzFfNDBfMCwwLDAsMCwwLDAsMF8wMDEJAMwIAgIpOF8xOV8xOV84XzI3XzE5Xzc4XzFfODBfMCwwLDAsMCwwLDAsMF8wMDEJAMwIAgIlOF84XzhfOF84XzYwXzEzXzJfMl8wLDAsMCwwLDAsMCwwXzAxMQkAzAgCAiU4XzhfOF84XzhfNjBfMjZfMl80XzAsMCwwLDAsMCwwLDBfMDExCQDMCAICJThfOF84XzhfOF82MF8zOV8yXzhfMCwwLDAsMCwwLDAsMF8wMTEJAMwIAgIpMzBfMzBfM18xN18xN18zXzMwXzNfMzBfMCwwLDAsMCwwLDAsMF8xMTEJAMwIAgIpMzBfMzBfM18xN18xN18zXzYwXzNfNTBfMCwwLDAsMCwwLDAsMF8xMTEJAMwIAgIpMzBfMzBfM18xN18xN18zXzkwXzNfNzBfMCwwLDAsMCwwLDAsMF8xMTEJAMwIAgIrMThfMThfMTBfMThfMThfMThfMTFfNF8xMF8wLDAsMCwwLDAsMCwwXzIwMQkAzAgCAisxOF8xOF8xMF8xOF8xOF8xOF8yMl80XzIwXzAsMCwwLDAsMCwwLDBfMjAxCQDMCAICKzE4XzE4XzEwXzE4XzE4XzE4XzMzXzRfMzBfMCwwLDAsMCwwLDAsMF8yMDEJAMwIAgIqNF8xM18yMl80XzM1XzIyXzIzXzBfNTAsMSwwXzAsMCwwLDAsMCwwLDBfCQDMCAICKjRfMTNfMjJfNF8zNV8yMl80Nl8wXzUwLDEsMV8wLDIsNSwwLDAsMCwwXwkAzAgCAis0XzEzXzIyXzRfMzVfMjJfNjlfMF81MCwyLDFfMCw1LDEwLDAsMCwwLDBfCQDMCAICKjVfMjVfNDBfNV8xMF8xNV8yMF8xXzMwLDEsMV8wLDAsMCwwLDAsMCwwXwkAzAgCAio1XzI1XzQwXzVfMTBfMTVfNDBfMV8zMCwxLDJfMiwxLDMsMCwwLDAsMF8JAMwIAgIqNV8yNV80MF81XzEwXzE1XzYwXzFfMzAsMSwzXzUsMiw4LDAsMCwwLDBfCQDMCAICJzIzXzIzXzVfMjBfMjNfNl8zNV8yXzEwMF8wLDAsMCwwLDAsMCwwXwkAzAgCAicyM18yM181XzIwXzIzXzZfNzBfMl8xNTBfMCwwLDAsMCwwLDAsMF8JAMwIAgIoMjNfMjNfNV8yMF8yM182XzEwNV8yXzIwMF8wLDAsMCwwLDAsMCwwXwUDbmlsAAlySWR4Q29lZmYABgAKcklkeEVmZmVjdAAIAA5QUk9EVUNUUEtHU0laRQAKARVrZXlMYW5kQXNzZXRJZFRvT3duZXIBB2Fzc2V0SWQJAKwCAgIDbm9fBQdhc3NldElkARprZXlMYW5kQXNzZXRJZFRvQ3VzdG9tTmFtZQEHYXNzZXRJZAkArAICAgVsY25hXwUHYXNzZXRJZAEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEHYXNzZXRJZAkArAICAgNzdF8FB2Fzc2V0SWQBIGtleUxhbmRBcnRTdGF0dXNCeVR5cGVBbmRBc3NldElkAgR0eXBlB2Fzc2V0SWQJALkJAgkAzAgCAgNsYXMJAMwIAgUEdHlwZQkAzAgCBQdhc3NldElkBQNuaWwCAV8BEmtleVdhcmVob3VzZUJ5TGFuZAELbGFuZEFzc2V0SWQJAKwCAgIDd2hfBQtsYW5kQXNzZXRJZAEWa2V5SW5mcmFMZXZlbEJ5QXNzZXRJZAEHYXNzZXRJZAkArAICAgtpbmZyYUxldmVsXwUHYXNzZXRJZAEaa2V5RHVja0Fzc2V0SWRUb0N1c3RvbU5hbWUBB2Fzc2V0SWQJAKwCAgIYZHVja0N1c3RvbU5hbWVCeUFzc2V0SWRfBQdhc3NldElkARZrZXlBZGRyZXNzVG9DdXN0b21OYW1lAQRhZGRyCQCsAgICGGFjY291bnRDdXN0b21OYW1lQnlBZGRyXwUEYWRkcgEPa2V5QWRkcmVzc1JlZkJ5AQRhZGRyCQCsAgICCWFjY1JlZkJ5XwUEYWRkcgEca2V5T25ib2FyZEFydER1Y2tBY3RpdmF0ZWRCeQEEYWRkcgkArAICAhpvbmJvYXJkQXJ0QWN0aXZhdGVkRHVja0J5XwUEYWRkcgETa2V5QWRkcmVzc1JlZmVycmFscwEEYWRkcgkArAICAg1hY2NSZWZlcnJhbHNfBQRhZGRyARBrZXlEdWNrSWRUb093bmVyAQdhc3NldElkCQCsAgICCmR1Y2tPd25lcl8FB2Fzc2V0SWQBFGtleVN0YWtlZER1Y2tCeU93bmVyAQlvd25lckFkZHIJAKwCAgISc3Rha2VkRHVja0J5T3duZXJfBQlvd25lckFkZHIBD2tleUR1Y2tMb2NhdGlvbgELZHVja0Fzc2V0SWQJAKwCAgINZHVja0xvY2F0aW9uXwULZHVja0Fzc2V0SWQBDmtleU9yZGVyQnlMYW5kAQtsYW5kQXNzZXRJZAkArAICAgpsYW5kT3JkZXJfBQtsYW5kQXNzZXRJZAEOa2V5RXNXYXJlaG91c2UAAhplbWVyZ2VuY3lXYXJlaG91c2VQcm9kdWN0cwANbGFzdFRvdXJJZEtleQIOJXNfX2xhc3RUb3VySWQBFWtleVRvdXJTdGF0aWNEYXRhQnlJZAEDdElkCQCsAgICFiVzJWRfX3RvdXJTdGF0aWNEYXRhX18JAKQDAQUDdElkARZrZXlUb3VyRHluYW1pY0RhdGFCeUlkAQN0SWQJAKwCAgIXJXMlZF9fdG91ckR5bmFtaWNEYXRhX18JAKQDAQUDdElkARNrZXlTY29yZUJvYXJkQnlUb3VyAQN0SWQJAKwCAgISJXMlZF9fc2NvcmVCb2FyZF9fCQCkAwEFA3RJZAEca2V5SXNSZWdpc3RlcmVkQnlUb3VyQW5kRHVjawIDdElkC2R1Y2tBc3NldElkCQC5CQIJAMwIAgIhJXMlZCVzX19pc1JlZ2lzdGVyZWRCeVRvdXJBbmREdWNrCQDMCAIJAKQDAQUDdElkCQDMCAIFC2R1Y2tBc3NldElkBQNuaWwCAl9fARlrZXlJc0F3YXJkZWRCeVRvdXJBbmREdWNrAgN0SWQLZHVja0Fzc2V0SWQJALkJAgkAzAgCAh4lcyVkJXNfX2lzQXdhcmRlZEJ5VG91ckFuZER1Y2sJAMwIAgkApAMBBQN0SWQJAMwIAgULZHVja0Fzc2V0SWQFA25pbAICX18BG2tleUxhc3RBdHRlbXB0QnlUb3VyQW5kRHVjawIDdElkC2R1Y2tBc3NldElkCQC5CQIJAMwIAgIgJXMlZCVzX19sYXN0QXR0ZW1wdEJ5VG91ckFuZER1Y2sJAMwIAgkApAMBBQN0SWQJAMwIAgULZHVja0Fzc2V0SWQFA25pbAICX18BGmtleUJlc3RSZXN1bHRCeVRvdXJBbmREdWNrAgN0SWQLZHVja0Fzc2V0SWQJALkJAgkAzAgCAh8lcyVkJXNfX2Jlc3RSZXN1bHRCeVRvdXJBbmREdWNrCQDMCAIJAKQDAQUDdElkCQDMCAIFC2R1Y2tBc3NldElkBQNuaWwCAl9fARZrZXlCZXN0VHhCeVRvdXJBbmREdWNrAgN0SWQLZHVja0Fzc2V0SWQJALkJAgkAzAgCAhslcyVkJXNfX2Jlc3RUeEJ5VG91ckFuZER1Y2sJAMwIAgkApAMBBQN0SWQJAMwIAgULZHVja0Fzc2V0SWQFA25pbAICX18ACWlkeFN0YXRpYwAAAAppZHhEeW5hbWljAAEAE3RTdGF0aWNSZWdpc3RlckNvc3QAAgASdFN0YXRpY0F0dGVtcHRDb3N0AAMADHRTdGF0aWNTdGFydAAFAAp0U3RhdGljRW5kAAYAEHRTdGF0aWNOdW1HcmFuZHMABwAQdFN0YXRpY1ByaXplRnVuZAAIAAx0U3RhdGljQXNzZXQACQAOdER5bmFtaWNTdGF0dXMAAQAPdER5bmFtaWNMZWFkZXJzAAIAEXREeW5hbWljV2luUmVzdWx0AAMAFXREeW5hbWljVG90YWxSZWdDb3VudAAEABV0RHluYW1pY1RvdGFsQXR0ZW1wdHMABQELZ2V0VG91ckRhdGECDHRvdXJDb250cmFjdAN0SWQEBnN0YXRpYwkAtQkCCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUMdG91ckNvbnRyYWN0CQEVa2V5VG91clN0YXRpY0RhdGFCeUlkAQUDdElkCQCsAgIJAKwCAgIZRXJyb3IgcmVhZGluZyB0b3VybmFtZW50IAkApAMBBQN0SWQCBSBkYXRhAgJfXwQHZHluYW1pYwkAvAkCCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUMdG91ckNvbnRyYWN0CQEWa2V5VG91ckR5bmFtaWNEYXRhQnlJZAEFA3RJZAkArAICCQCsAgICGUVycm9yIHJlYWRpbmcgdG91cm5hbWVudCAJAKQDAQUDdElkAgUgZGF0YQICX18JAMwIAgUGc3RhdGljCQDMCAIFB2R5bmFtaWMFA25pbAEaa2V5SXNBd2FyZGVkQnlQcm9tb0FuZFVzZXICB3Byb21vSWQEYWRkcgkAuQkCCQDMCAICHyVzJWQlc19faXNBd2FyZGVkQnlQcm9tb0FuZFVzZXIJAMwIAgkApAMBBQdwcm9tb0lkCQDMCAIFBGFkZHIFA25pbAICX18BEmdldFJlY2lwZU1hdGVyaWFscwEGcmVjaXBlCQBoAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBnJlY2lwZQUJcklkeENvZWZmBQlDT0VGRjJNQVQABlNDQUxFOACAwtcvAA1jaGFySW50ZWxsZWN0AAIADWNoYXJFbmR1cmFuY2UAAwANY2hhckRleHRlcml0eQAEAAdzZWdCYWNrAAEAB3NlZ0JlbHQAAgENa2V5RHVja0hlYWx0aAELZHVja0Fzc2V0SWQJAKwCAgILZHVja0hlYWx0aF8FC2R1Y2tBc3NldElkAQxrZXlEdWNrQ2hhcnMBC2R1Y2tBc3NldElkCQCsAgICCmR1Y2tDaGFyc18FC2R1Y2tBc3NldElkAQlrZXlEdWNrWFABC2R1Y2tBc3NldElkCQCsAgICB2R1Y2tYUF8FC2R1Y2tBc3NldElkAQxrZXlEdWNrTGV2ZWwBC2R1Y2tBc3NldElkCQCsAgICCmR1Y2tMZXZlbF8FC2R1Y2tBc3NldElkARFrZXlEdWNrRnJlZVBvaW50cwELZHVja0Fzc2V0SWQJAKwCAgIPZHVja0ZyZWVQb2ludHNfBQtkdWNrQXNzZXRJZAEQa2V5RHVja0VxdWlwbWVudAELZHVja0Fzc2V0SWQJAKwCAgIOZHVja0VxdWlwbWVudF8FC2R1Y2tBc3NldElkAQlrZXlVc2VyWFABBGFkZHIJAKwCAgIHdXNlclhQXwUEYWRkcgEMa2V5VXNlckxldmVsAQRhZGRyCQCsAgICCnVzZXJMZXZlbF8FBGFkZHIBEWtleVVzZXJGcmVlUG9pbnRzAQRhZGRyCQCsAgICD3VzZXJGcmVlUG9pbnRzXwUEYWRkcgEMa2V5RHVja0J1ZmZzAQtkdWNrQXNzZXRJZAkArAICAgpkdWNrQnVmZnNfBQtkdWNrQXNzZXRJZAETa2V5RHVja1JvYmJlcnlDb3VudAELZHVja0Fzc2V0SWQJAKwCAgIYdG90YWxSb2JiZXJ5Q291bnRCeUR1Y2tfBQtkdWNrQXNzZXRJZAEUa2V5RHVja0RlbGl2ZXJ5Q291bnQBC2R1Y2tBc3NldElkCQCsAgICGXRvdGFsRGVsaXZlcnlDb3VudEJ5RHVja18FC2R1Y2tBc3NldElkARRrZXlVc2VyRGVsaXZlcnlDb3VudAEEYWRkcgkArAICAhJ1c2VyRGVsaXZlcnlDb3VudF8FBGFkZHIBFmtleVVzZXJMYXN0RGVsaXZlcnlEYXkBBGFkZHIJAKwCAgIUdXNlckxhc3REZWxpdmVyeURheV8FBGFkZHIBCW1heEhlYWx0aAEFbGV2ZWwJAGQCAGQFBWxldmVsAQR0YW5oAQF2BAZkb3VibGUJAGgCAAIFAXYEBGV4cDIJAGwGANeJz4EBAAgFBmRvdWJsZQAIAAgFBkhBTEZVUAkAbgQJAGUCBQRleHAyBQZTQ0FMRTgFBlNDQUxFOAkAZAIFBGV4cDIFBlNDQUxFOAUGSEFMRlVQARBkb2RnZVByb2JhYmlsaXR5AwVjaGFycwVidWZmcw1lcXVpcG1lbnRQZXJjBAVpbnRlbAkAZAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQVjaGFycwUNY2hhckludGVsbGVjdAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBWJ1ZmZzBQ1jaGFySW50ZWxsZWN0BANkZXgJAGQCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUFY2hhcnMFDWNoYXJEZXh0ZXJpdHkJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQVidWZmcwUNY2hhckRleHRlcml0eQQGZmlyc3Q4CQBpAgkBBHRhbmgBCQBrAwUDZGV4BQZTQ0FMRTgAyAEABAQHc2Vjb25kOAkAbgQFDWVxdWlwbWVudFBlcmMJAGQCBQZTQ0FMRTgJAG4EAMCfqwMFBWludGVsCQBkAgABBQVpbnRlbAUGSEFMRlVQAGQFBkhBTEZVUAkAZAIFBmZpcnN0OAUHc2Vjb25kOAEQZGFtYWdlQWJzb3JwdGlvbgMFY2hhcnMFYnVmZnMOZXF1aXBtZW50QWJzb3IEBWludGVsCQBkAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBWNoYXJzBQ1jaGFySW50ZWxsZWN0CQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUFYnVmZnMFDWNoYXJJbnRlbGxlY3QEBWVuZHVyCQBkAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBWNoYXJzBQ1jaGFyRW5kdXJhbmNlCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUFYnVmZnMFDWNoYXJFbmR1cmFuY2UEA2RleAkAZAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQVjaGFycwUNY2hhckRleHRlcml0eQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBWJ1ZmZzBQ1jaGFyRGV4dGVyaXR5BAZmaXJzdDgJAGgCBQ5lcXVpcG1lbnRBYnNvcgkAZAIFBlNDQUxFOAkAbgQAgL/WBgUFaW50ZWwJAGQCAAEFBWludGVsBQZIQUxGVVAEB3NlY29uZDgJAGkCCQEEc3FydAQFA2RleAAAAAgFBkhBTEZVUAAKBAZ0aGlyZDgJAGgCCQBpAgUGU0NBTEU4AAUFBWVuZHVyCQBkAgkAZAIFBmZpcnN0OAUHc2Vjb25kOAUGdGhpcmQ4AAJNNgDAhD0AAk04AIDC1y8ACE1JTExJT042AICA6YOx3hYACVRFQU1TSEFSRQDAmgwADUFDVElWSVRZU0hBUkUAoI0GAAtQTEFZRVJTSEFSRQCAtRgACllFQVJNSUxMSVMAgIbrx3UACURBWU1JTExJUwCAuJkpAAhCQU5LX0ZFRQDQhgMAAmNoCQDJAQIJAMoBAggFBHRoaXMFYnl0ZXMAAQABABNVU0RUX1RWTF9DT1JSRUNUSU9OBAckbWF0Y2gwBQJjaAMJAAACAQFXBQckbWF0Y2gwAPD1qMAEAwkAAAIBAVQFByRtYXRjaDAAAAkAAgECDVVua25vd24gY2hhaW4AC3RlYW1BZGRyS2V5Agh0ZWFtQWRkcgAPbGFzdFRlYW1UaW1lS2V5AhRsYXN0Q2xhaW1lZFRpbWVfdGVhbQARdGVhbUFtb3VudExlZnRLZXkCDnRlYW1BbW91bnRMZWZ0ABVsYXN0QWN0aXZpdGllc1RpbWVLZXkCGmxhc3RDbGFpbWVkVGltZV9hY3Rpdml0aWVzABBhY3RBbW91bnRMZWZ0S2V5AhRhY3Rpdml0aWVzQW1vdW50TGVmdAAUc3Rha2Vyc0Ftb3VudExlZnRLZXkCEXN0YWtlcnNBbW91bnRMZWZ0ARtrZXlMYXN0Q2xhaW1lZFRpbWVCeVVzZXJPbGQBBGFkZHIJAKwCAgIXbGFzdENsYWltZWRUaW1lVXNlck9sZF8FBGFkZHIBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQZwZXJpb2QJAGsDBQhNSUxMSU9ONgkAaAIFC1BMQVlFUlNIQVJFCQBkAgUGcGVyaW9kAAEJAGgCAAYFAk02AA93bGdJc3N1ZVRpbWVLZXkCDXdsZ19pc3N1ZVRpbWUAEndsZ0lzc3VlZEFtb3VudEtleQIQd2xnX2lzc3VlZEFtb3VudAARemJJc3N1ZWRBbW91bnRLZXkCEnpiaWxsX2lzc3VlZEFtb3VudAEaa2V5QWNyZXNTdGFrZWRBbW91bnRCeVVzZXIBBGFkZHIJAKwCAgIYYWNyZXNTdGFrZWRBbW91bnRCeVVzZXJfBQRhZGRyARprZXlBY3Jlc0xvY2tlZEFtb3VudEJ5VXNlcgEEYWRkcgkArAICAhhhY3Jlc0xvY2tlZEFtb3VudEJ5VXNlcl8FBGFkZHIBF2tleUFjcmVzTG9ja2VkRXRhQnlVc2VyAQRhZGRyCQCsAgICFWFjcmVzTG9ja2VkRXRhQnlVc2VyXwUEYWRkcgATYWNyZXNTdGFrZWRUb3RhbEtleQIWYWNyZXNTdGFrZWRBbW91bnRUb3RhbAEYa2V5V2xnU3Rha2VkQW1vdW50QnlVc2VyAQRhZGRyCQCsAgICFndsZ1N0YWtlZEFtb3VudEJ5VXNlcl8FBGFkZHIACGRhcHBSZXN0AAAAC2RhcHBTdGFraW5nAAEAC2RhcHBFY29ub215AAIAB2RhcHBXbGcAAwAKZGFwcFB1enpsZQAEAA5kYXBwSW52ZXN0RnVuZAAFAAlkYXBwQWNyZXMABgEIZ2V0TGFuZHMDEnVzZXJBZGRyU3RyT3JFbXB0eQ9zdGFraW5nQ29udHJhY3QNYWNyZXNDb250cmFjdAQFcHJvcHMJALUJAgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QCE3Jlc1R5cGVzUHJvcG9ydGlvbnMCCzBfMF8wXzBfMF8wAgFfCgEFYWRkZXICA2FjYwRpdGVtCQBkAgUDYWNjCQENcGFyc2VJbnRWYWx1ZQEFBGl0ZW0EC3RvdGFsUGllY2VzCgACJGwFBXByb3BzCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQVhZGRlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgQKdXNlclBpZWNlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAKwCAgIUc3Rha2VkUGllY2VzQnlPd25lcl8FEnVzZXJBZGRyU3RyT3JFbXB0eQAABAp0b3RhbEFjcmVzCQELdmFsdWVPckVsc2UCCQCaCAIFDWFjcmVzQ29udHJhY3QFE2FjcmVzU3Rha2VkVG90YWxLZXkAAAQJdXNlckFjcmVzCQELdmFsdWVPckVsc2UCCQCaCAIFDWFjcmVzQ29udHJhY3QJARprZXlBY3Jlc1N0YWtlZEFtb3VudEJ5VXNlcgEFEnVzZXJBZGRyU3RyT3JFbXB0eQAACQDMCAIFC3RvdGFsUGllY2VzCQDMCAIFCnVzZXJQaWVjZXMJAMwIAgUKdG90YWxBY3JlcwkAzAgCBQl1c2VyQWNyZXMFA25pbAAOaWR4VG90YWxQaWVjZXMAAAANaWR4VXNlclBpZWNlcwABAA1pZHhUb3RhbEFjcmVzAAIADGlkeFVzZXJBY3JlcwADAQtnZXRXbGdTdGF0cwULdXNlckFkZHJPcHQJY29udHJhY3RzBnVzZHRJZBV1c2R0QmFsYW5jZUNvcnJlY3Rpb24PdXNlclByb3BvcnRpb242BAxpc3N1ZWRBbW91bnQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUSd2xnSXNzdWVkQW1vdW50S2V5AhhXTEdPTEQgaXMgbm90IGlzc3VlZCB5ZXQECmVjb25vbXlVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFC2RhcHBFY29ub215BQZ1c2R0SWQEB3Jlc3RVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFCGRhcHBSZXN0BQZ1c2R0SWQEBndsZ1VzZAkAZQIJAPAHAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFBnVzZHRJZAUVdXNkdEJhbGFuY2VDb3JyZWN0aW9uBAlwdXp6bGVVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFCmRhcHBQdXp6bGUFBnVzZHRJZAQRaW52ZXN0Rm5kQ29udHJhY3QJAJEDAgUJY29udHJhY3RzBQ5kYXBwSW52ZXN0RnVuZAQPaW52ZXN0RnVuZFRvdGFsCQBkAgkA8AcCBRFpbnZlc3RGbmRDb250cmFjdAUGdXNkdElkCQELdmFsdWVPckVsc2UCCQCaCAIFEWludmVzdEZuZENvbnRyYWN0BRF6Yklzc3VlZEFtb3VudEtleQAABA10b3RhbEZ1bmRzVXNkCQBkAgkAZAIFCmVjb25vbXlVc2QFBndsZ1VzZAUPaW52ZXN0RnVuZFRvdGFsBAV3bGdJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCcCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnAgt3bGdfYXNzZXRJZAITTm90IGluaXRpYWxpemVkIHlldAQDbm93CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAQJaXNzdWVUaW1lCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFD3dsZ0lzc3VlVGltZUtleQIPTm90IGluaXRpYWxpemVkBApiYW5rV2xnb2xkCQDwBwIJAJEDAgUJY29udHJhY3RzBQtkYXBwU3Rha2luZwUFd2xnSWQECXRlYW1Ub3RhbAkAawMFCE1JTExJT042BQlURUFNU0hBUkUFAk02BA50ZWFtQW1vdW50TGVmdAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwURdGVhbUFtb3VudExlZnRLZXkFCXRlYW1Ub3RhbAQMbGFzdFRlYW1UaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBQ9sYXN0VGVhbVRpbWVLZXkFCWlzc3VlVGltZQQIdGVhbUFkZHIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEJAJ0IAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFC3RlYW1BZGRyS2V5BBZ0ZWFtQW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFCXRlYW1Ub3RhbAkAZQIFA25vdwUMbGFzdFRlYW1UaW1lCQBoAgADBQpZRUFSTUlMTElTCQDMCAIFDnRlYW1BbW91bnRMZWZ0BQNuaWwECnRlYW1XbGdvbGQJAPAHAgUIdGVhbUFkZHIFBXdsZ0lkBAhhY3RUb3RhbAkAawMFCE1JTExJT042BQ1BQ1RJVklUWVNIQVJFBQJNNgQNYWN0QW1vdW50TGVmdAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUQYWN0QW1vdW50TGVmdEtleQUIYWN0VG90YWwEEmxhc3RBY3Rpdml0aWVzVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUVbGFzdEFjdGl2aXRpZXNUaW1lS2V5BQlpc3N1ZVRpbWUEFWFjdEFtb3VudEF2YWlsYWJsZU5vdwkAlwMBCQDMCAIJAGsDBQhhY3RUb3RhbAkAZQIFA25vdwUSbGFzdEFjdGl2aXRpZXNUaW1lCQBoAgADBQpZRUFSTUlMTElTCQDMCAIFDWFjdEFtb3VudExlZnQFA25pbAQJYWN0V2xnb2xkCQDwBwIJAJEDAgUJY29udHJhY3RzBQhkYXBwUmVzdAUFd2xnSWQEDGxhc3RVc2VyVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwkBG2tleUxhc3RDbGFpbWVkVGltZUJ5VXNlck9sZAEFC3VzZXJBZGRyT3B0BQlpc3N1ZVRpbWUEDmxhc3RVc2VyUGVyaW9kCQBpAgkAZQIFDGxhc3RVc2VyVGltZQUJaXNzdWVUaW1lBQpZRUFSTUlMTElTBApub3dMaW1pdGVkCQCXAwEJAMwIAgUDbm93CQDMCAIJAGQCBQlpc3N1ZVRpbWUJAGgCAAMFCllFQVJNSUxMSVMFA25pbAQJY3VyUGVyaW9kCQCXAwEJAMwIAgkAaQIJAGUCBQNub3cFCWlzc3VlVGltZQUKWUVBUk1JTExJUwkAzAgCAAIFA25pbAQDZWZmCQEIZ2V0TGFuZHMDBQt1c2VyQWRkck9wdAkAkQMCBQljb250cmFjdHMFC2RhcHBTdGFraW5nCQCRAwIFCWNvbnRyYWN0cwUJZGFwcEFjcmVzBBVjdXJQZXJpb2REaXN0cmlidXRpb24JARRkaXN0cmlidXRpb25CeVBlcmlvZAEFCWN1clBlcmlvZAQIJHQwNzkxNDIDCQAAAgUObGFzdFVzZXJQZXJpb2QFCWN1clBlcmlvZAQCYTAJAGsDBRVjdXJQZXJpb2REaXN0cmlidXRpb24JAGUCBQpub3dMaW1pdGVkBQxsYXN0VXNlclRpbWUFCllFQVJNSUxMSVMECHVzZXJQYXJ0CQBrAwUCYTAFD3VzZXJQcm9wb3J0aW9uNgUCTTYEB2VmZlRpbWUJAGQCBQxsYXN0VXNlclRpbWUJAGsDCQBlAgUKbm93TGltaXRlZAUMbGFzdFVzZXJUaW1lBQ91c2VyUHJvcG9ydGlvbjYFAk02CQCVCgMFCHVzZXJQYXJ0BQJhMAUHZWZmVGltZQMJAAACBQ5sYXN0VXNlclBlcmlvZAkAZQIFCWN1clBlcmlvZAABBAJhMQkAawMJARRkaXN0cmlidXRpb25CeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAQkAZQIJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTBQljdXJQZXJpb2QFDGxhc3RVc2VyVGltZQUKWUVBUk1JTExJUwQCYTAJAGsDBRVjdXJQZXJpb2REaXN0cmlidXRpb24JAGUCBQpub3dMaW1pdGVkCQBkAgUJaXNzdWVUaW1lCQBoAgUKWUVBUk1JTExJUwUJY3VyUGVyaW9kBQpZRUFSTUlMTElTBAVhdmFpbAkAZAIFAmExBQJhMAQIdXNlclBhcnQJAGsDBQVhdmFpbAUPdXNlclByb3BvcnRpb242BQJNNgQHZWZmVGltZQMJAGcCBQJhMQUIdXNlclBhcnQJAGQCBQxsYXN0VXNlclRpbWUJAGsDBQpZRUFSTUlMTElTBQh1c2VyUGFydAkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAABCQBkAgkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMFCWN1clBlcmlvZAkAawMFCllFQVJNSUxMSVMJAGUCBQh1c2VyUGFydAUCYTEFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAlQoDBQh1c2VyUGFydAUFYXZhaWwFB2VmZlRpbWUEAmEyCQBrAwkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAACCQBlAgkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMJAGUCBQljdXJQZXJpb2QAAQUMbGFzdFVzZXJUaW1lBQpZRUFSTUlMTElTBAJhMQkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAABBAJhMAkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAZQIFCm5vd0xpbWl0ZWQJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTBQljdXJQZXJpb2QFCllFQVJNSUxMSVMEBWF2YWlsCQBkAgkAZAIFAmEyBQJhMQUCYTAECHVzZXJQYXJ0CQBrAwUFYXZhaWwFD3VzZXJQcm9wb3J0aW9uNgUCTTYEB2VmZlRpbWUDCQBnAgUCYTIFCHVzZXJQYXJ0CQBkAgUMbGFzdFVzZXJUaW1lCQBrAwUKWUVBUk1JTExJUwUIdXNlclBhcnQJARRkaXN0cmlidXRpb25CeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAgMJAGcCCQBkAgUCYTIFAmExBQh1c2VyUGFydAkAZAIJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTCQBlAgUJY3VyUGVyaW9kAAEJAGsDBQpZRUFSTUlMTElTCQBlAgUIdXNlclBhcnQFAmEyCQEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBCQBlAgUJY3VyUGVyaW9kAAEJAGQCCQBkAgUJaXNzdWVUaW1lCQBoAgUKWUVBUk1JTExJUwUJY3VyUGVyaW9kCQBrAwUKWUVBUk1JTExJUwkAZQIJAGUCBQh1c2VyUGFydAUCYTIFAmExBRVjdXJQZXJpb2REaXN0cmlidXRpb24JAJUKAwUIdXNlclBhcnQFBWF2YWlsBQdlZmZUaW1lBAp1c2VyQW1vdW50CAUIJHQwNzkxNDICXzEEDXVzZXJBdmFpbGFibGUIBQgkdDA3OTE0MgJfMgQLZWZmTGFzdFRpbWUIBQgkdDA3OTE0MgJfMwQQc0xhbmREYWlseUFtb3VudAkAawMJAGsDBRVjdXJQZXJpb2REaXN0cmlidXRpb24FCURBWU1JTExJUwUKWUVBUk1JTExJUwAZCQCRAwIFA2VmZgUOaWR4VG90YWxQaWVjZXMED2Ftb3VudExlZnRUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUUc3Rha2Vyc0Ftb3VudExlZnRLZXkAAAQIdXNlclRlbXAJAGsDBQp1c2VyQW1vdW50CQBkAgkAaAIJAJEDAgUDZWZmBQ1pZHhVc2VyUGllY2VzBQJNOAkAkQMCBQNlZmYFDGlkeFVzZXJBY3JlcwkAZAIJAGgCCQCRAwIFA2VmZgUOaWR4VG90YWxQaWVjZXMFAk04CQCRAwIFA2VmZgUNaWR4VG90YWxBY3JlcwQMYmFua0Zyb21Vc2VyCQBrAwUIdXNlclRlbXAFCEJBTktfRkVFBQJNNgQKcm9iYmVkVXNlcgkAZQIFCHVzZXJUZW1wBQxiYW5rRnJvbVVzZXIEDHVucm9iYmVkVXNlcgkAawMFDXVzZXJBdmFpbGFibGUJAGQCCQBoAgkAkQMCBQNlZmYFDWlkeFVzZXJQaWVjZXMFAk04CQCRAwIFA2VmZgUMaWR4VXNlckFjcmVzCQBkAgkAaAIJAJEDAgUDZWZmBQ5pZHhUb3RhbFBpZWNlcwUCTTgJAJEDAgUDZWZmBQ1pZHhUb3RhbEFjcmVzCQDMCAIFDGlzc3VlZEFtb3VudAkAzAgCCQBrAwkAZQIFDXRvdGFsRnVuZHNVc2QFE1VTRFRfVFZMX0NPUlJFQ1RJT04FAk04BQxpc3N1ZWRBbW91bnQJAMwIAgUNdG90YWxGdW5kc1VzZAkAzAgCBQplY29ub215VXNkCQDMCAIFB3Jlc3RVc2QJAMwIAgUGd2xnVXNkCQDMCAIFCXB1enpsZVVzZAkAzAgCBQlpc3N1ZVRpbWUJAMwIAgUMbGFzdFRlYW1UaW1lCQDMCAIFCXRlYW1Ub3RhbAkAzAgCBQ50ZWFtQW1vdW50TGVmdAkAzAgCBRZ0ZWFtQW1vdW50QXZhaWxhYmxlTm93CQDMCAIFCnRlYW1XbGdvbGQJAMwIAgUIYWN0VG90YWwJAMwIAgUNYWN0QW1vdW50TGVmdAkAzAgCBRVhY3RBbW91bnRBdmFpbGFibGVOb3cJAMwIAgUJYWN0V2xnb2xkCQDMCAIFCWN1clBlcmlvZAkAzAgCBQ9hbW91bnRMZWZ0VG90YWwJAMwIAgUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQDMCAIFDGxhc3RVc2VyVGltZQkAzAgCBQpyb2JiZWRVc2VyCQDMCAIFEHNMYW5kRGFpbHlBbW91bnQJAMwIAgUPaW52ZXN0RnVuZFRvdGFsCQDMCAIFDHVucm9iYmVkVXNlcgkAzAgCBQtlZmZMYXN0VGltZQkAzAgCBQpiYW5rV2xnb2xkBQNuaWwADVVTRFRQUklaRVBBUlQAoMIeARJhc0xpc3RJbnRDb21wYWN0ZWQBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACCUxpc3RbQW55XQQKdmFsQW55TGlzdAUHJG1hdGNoMAMJAQIhPQIJAJADAQUKdmFsQW55TGlzdAUGTlVNUkVTCQACAQkArAICAg5BcnJheSBzaXplIGlzIAkApAMBCQCQAwEFCnZhbEFueUxpc3QKAQRjb252AgNhY2MEaXRlbQQHJG1hdGNoMQUEaXRlbQMJAAECBQckbWF0Y2gxAgNJbnQEAml0BQckbWF0Y2gxCQDNCAIFA2FjYwkApAMBBQJpdAkAAgECFExpc3QgdHlwZSBpcyBub3QgSW50BAFyCgACJGwFCnZhbEFueUxpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBBGNvbnYCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYJALkJAgUBcgIBXwkAAgECFmZhaWwgdG8gY2FzdCBpbnRvIExpc3QBDWFzU3BsaXRSZXN1bHQBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACFihMaXN0W0FueV0sIExpc3RbQW55XSkEAnQyBQckbWF0Y2gwCQCUCgIJARJhc0xpc3RJbnRDb21wYWN0ZWQBCAUCdDICXzEJARJhc0xpc3RJbnRDb21wYWN0ZWQBCAUCdDICXzIJAAIBAh5mYWlsIHRvIGNhc3QgaW50byAoTGlzdCwgTGlzdCkBE2FzQ2FuY2VsT3JkZXJSZXN1bHQBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACEShCb29sZWFuLCBTdHJpbmcpBAJ0MgUHJG1hdGNoMAUCdDIJAAIBAiNmYWlsIHRvIGNhc3QgaW50byAoQm9vbGVhbiwgU3RyaW5nKQEOd2FsbGV0SW50ZXJuYWwBDnVzZXJBZGRyZXNzT3B0BARhZGRyCQCmCAEFDnVzZXJBZGRyZXNzT3B0BAdiYWxhbmNlAwkBCWlzRGVmaW5lZAEFBGFkZHIJAO8HAQkBBXZhbHVlAQUEYWRkcgkBDkJhbGFuY2VEZXRhaWxzBAAAAAAAAAAABAt1c2R0QmFsYW5jZQMJAQlpc0RlZmluZWQBBQRhZGRyCQDwBwIJAQV2YWx1ZQEFBGFkZHIFC3VzZHRBc3NldElkAAAEDXdsZ29sZEJhbGFuY2UDCQEJaXNEZWZpbmVkAQUEYWRkcgkA8AcCCQEFdmFsdWUBBQRhZGRyBQp3bGdBc3NldElkAAAECmN1c3RvbU5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5QWRkcmVzc1RvQ3VzdG9tTmFtZQEFDnVzZXJBZGRyZXNzT3B0BQ51c2VyQWRkcmVzc09wdAQIcmVmQnlLZXkJAQ9rZXlBZGRyZXNzUmVmQnkBBQ51c2VyQWRkcmVzc09wdAQFcmVmQnkJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0BQhyZWZCeUtleQQEcmVmcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARNrZXlBZGRyZXNzUmVmZXJyYWxzAQUOdXNlckFkZHJlc3NPcHQCAAQIbGFzdFR4SWQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5TGFzdFdlZWtUeElkQnlVc2VyAQUOdXNlckFkZHJlc3NPcHQCAAQGcGllY2VzCQCRAwIJAQ5nZXRWb3RpbmdQb3dlcgEFDnVzZXJBZGRyZXNzT3B0BQpJZHhFZmZVc2VyBAJ4cAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQlrZXlVc2VyWFABBQ51c2VyQWRkcmVzc09wdAAABANsdmwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEMa2V5VXNlckxldmVsAQUOdXNlckFkZHJlc3NPcHQAAAQKZnJlZVBvaW50cwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARFrZXlVc2VyRnJlZVBvaW50cwEFDnVzZXJBZGRyZXNzT3B0AAAEC3ZpcnRXbGdEYXRhCgABQAkA/AcEBQt3bGdDb250cmFjdAISY2hlY2tXbGdYcFJFQURPTkxZCQDMCAIFDnVzZXJBZGRyZXNzT3B0BQNuaWwFA25pbAMJAAECBQFAAglMaXN0W0FueV0FAUAJAAIBCQCsAgIJAAMBBQFAAh4gY291bGRuJ3QgYmUgY2FzdCB0byBMaXN0W0FueV0EDHN0YWtlZFdsZ29sZAkBC3ZhbHVlT3JFbHNlAgkAmggCBQt3bGdDb250cmFjdAkBGGtleVdsZ1N0YWtlZEFtb3VudEJ5VXNlcgEFDnVzZXJBZGRyZXNzT3B0AAAEB29uYm9hcmQDCQEJaXNEZWZpbmVkAQUFcmVmQnkJAKwCAgUKQVJUT05CT0FSRAMDCQEJaXNEZWZpbmVkAQUEYWRkcgkBCWlzRGVmaW5lZAEJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEca2V5T25ib2FyZEFydER1Y2tBY3RpdmF0ZWRCeQEFDnVzZXJBZGRyZXNzT3B0BwICOjECAjowAgAEDGFjcmVzQmFsYW5jZQMJAQlpc0RlZmluZWQBBQRhZGRyCQDwBwIJAQV2YWx1ZQEFBGFkZHIFDGFjcmVzQXNzZXRJZAAABAtzdGFrZWRBY3JlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ1hY3Jlc0NvbnRyYWN0CQEaa2V5QWNyZXNTdGFrZWRBbW91bnRCeVVzZXIBBQ51c2VyQWRkcmVzc09wdAAABApkZWxpdkNvdW50CQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFGtleVVzZXJEZWxpdmVyeUNvdW50AQUOdXNlckFkZHJlc3NPcHQAAAQMbGFzdERlbGl2RGF5CQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVVzZXJMYXN0RGVsaXZlcnlEYXkBBQ51c2VyQWRkcmVzc09wdAAACQDMCAIJAKwCAgISJXMlc19fY3VzdG9tTmFtZV9fBQpjdXN0b21OYW1lCQDMCAIJAKwCAgISJXMlc19fcmVmZXJyZWRCeV9fCQELdmFsdWVPckVsc2UCBQVyZWZCeQIACQDMCAIJAKwCAgIRJXMlc19fcmVmZXJyYWxzX18FBHJlZnMJAMwIAgkArAICAhAlcyVzX19sYXN0VHhJZF9fBQhsYXN0VHhJZAkAzAgCCQCsAgICFCVzJWRfX3dhdmVzQmFsYW5jZV9fCQCkAwEIBQdiYWxhbmNlCWF2YWlsYWJsZQkAzAgCCQCsAgICFSVzJWRfX3dsZ29sZEJhbGFuY2VfXwkApAMBBQ13bGdvbGRCYWxhbmNlCQDMCAIJAKwCAgITJXMlZF9fdXNkdEJhbGFuY2VfXwkApAMBBQt1c2R0QmFsYW5jZQkAzAgCCQCsAgICFCVzJWRfX3N0YWtlZFBpZWNlc19fCQCkAwEFBnBpZWNlcwkAzAgCCQCsAgICFCVzJWRfX2FjcmVzQmFsYW5jZV9fCQCkAwEFDGFjcmVzQmFsYW5jZQkAzAgCCQCsAgICEyVzJWRfX3N0YWtlZEFjcmVzX18JAKQDAQULc3Rha2VkQWNyZXMJAMwIAgkArAICAhElcyVkX19jdXJyZW50WHBfXwkApAMBBQJ4cAkAzAgCCQCsAgICEiVzJWRfX2N1cnJlbnRMdmxfXwkApAMBBQNsdmwJAMwIAgkArAICAholcyVkX19wb2ludHNUb0Rpc3RyaWJ1dGVfXwkApAMBBQpmcmVlUG9pbnRzCQDMCAIJAKwCAgIXJXMlc19fd2FsbGV0QXJ0ZWZhY3RzX18FB29uYm9hcmQJAMwIAgkArAICAhQlcyVkX19zdGFrZWRXbGdvbGRfXwkApAMBBQxzdGFrZWRXbGdvbGQJAMwIAgkArAICAhElcyVkX192aXJ0TGV2ZWxfXwkApAMBCgABQAkAkQMCBQt2aXJ0V2xnRGF0YQAAAwkAAQIFAUACA0ludAUBQAkAAgEJAKwCAgkAAwEFAUACGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAkAzAgCCQCsAgICEiVzJWRfX3ZpcnRQb2ludHNfXwkApAMBCgABQAkAkQMCBQt2aXJ0V2xnRGF0YQABAwkAAQIFAUACA0ludAUBQAkAAgEJAKwCAgkAAwEFAUACGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAkAzAgCCQCsAgICDiVzJWRfX3ZpcnRYUF9fCQCkAwEKAAFACQCRAwIFC3ZpcnRXbGdEYXRhAAIDCQABAgUBQAIDSW50BQFACQACAQkArAICCQADAQUBQAIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50CQDMCAIJAKwCAgIZJXMlZF9fdXNlckRlbGl2ZXJ5Q291bnRfXwkApAMBBQpkZWxpdkNvdW50CQDMCAIJAKwCAgIbJXMlZF9fdXNlckxhc3REZWxpdmVyeURheV9fCQCkAwEFDGxhc3REZWxpdkRheQkAzAgCCQCsAgICEyVzJWRfX2xvY2tlZEFjcmVzX18JAKQDAQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ1hY3Jlc0NvbnRyYWN0CQEaa2V5QWNyZXNMb2NrZWRBbW91bnRCeVVzZXIBBQ51c2VyQWRkcmVzc09wdAAACQDMCAIJAKwCAgIWJXMlZF9fRVRBTG9ja2VkQWNyZXNfXwkApAMBCQELdmFsdWVPckVsc2UCCQCaCAIFDWFjcmVzQ29udHJhY3QJARdrZXlBY3Jlc0xvY2tlZEV0YUJ5VXNlcgEFDnVzZXJBZGRyZXNzT3B0AAAFA25pbAEMYXBwbHlCb251c2VzAgtsYW5kQXNzZXRJZAZwaWVjZXMECmluZnJhTGV2ZWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5SW5mcmFMZXZlbEJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAAAECWFydFBpZWNlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJASBrZXlMYW5kQXJ0U3RhdHVzQnlUeXBlQW5kQXNzZXRJZAIFCkFSVFBSRVNBTEUFC2xhbmRBc3NldElkAAAEBGFkZDYJAGkCBQppbmZyYUxldmVsAAYEBGFkZDcJAGkCBQppbmZyYUxldmVsAAcJAJUKAwUKaW5mcmFMZXZlbAUJYXJ0UGllY2VzCQBkAgkAZAIFD0RBSUxZUkVTQllQSUVDRQkAawMFD0RBSUxZUkVTQllQSUVDRQkAZAIJAGQCBQppbmZyYUxldmVsBQRhZGQ2CQBoAgACBQRhZGQ3AAUJAGsDBQ9EQUlMWVJFU0JZUElFQ0UFCWFydFBpZWNlcwkAaAIFBnBpZWNlcwAFARdnZXRXYXJlaG91c2VUb3RhbFZvbHVtZQEJdm9sUHJlZml4BAVwYXJ0cwkAtQkCBQl2b2xQcmVmaXgCAV8JAGgCCQBoAgUMV0hNVUxUSVBMSUVSCQBkAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBXBhcnRzAAEAAQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBXBhcnRzAAABDGdldFdhcmVob3VzZQMFd2hLZXkJbGFuZEluZGV4CmluZnJhTGV2ZWwECXZvbFByZWZpeAkArAICCQCsAgIJAKQDAQUJbGFuZEluZGV4AgFfCQCkAwEFCmluZnJhTGV2ZWwEBHRvdFMJAKQDAQkBF2dldFdhcmVob3VzZVRvdGFsVm9sdW1lAQUJdm9sUHJlZml4BAV3aFN0cgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QFBXdoS2V5CQCsAgIJAKwCAgkArAICCQCsAgIFCXZvbFByZWZpeAIeOjBfMF8wXzBfMF8wOjBfMF8wXzBfMF8wOjowXzBfBQR0b3RTAgFfBQR0b3RTCQC1CQIFBXdoU3RyAgE6AQ1kdWNrSW5mb1R1cGxlAQtkdWNrQXNzZXRJZAQFbWF4SFAJAQltYXhIZWFsdGgBCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBDGtleUR1Y2tMZXZlbAEFC2R1Y2tBc3NldElkAAAJAJcKBQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULZHVja0Fzc2V0SWQA////////////AQgJAQV2YWx1ZQEJAOwHAQkA2QQBBQtkdWNrQXNzZXRJZARuYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBD2tleUR1Y2tMb2NhdGlvbgEFC2R1Y2tBc3NldElkAgAJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQENa2V5RHVja0hlYWx0aAEFC2R1Y2tBc3NldElkBQVtYXhIUAkBCGFzU3RyaW5nAQkA/AcEBQ9zdGFraW5nQ29udHJhY3QCE2dldEJhY2twYWNrUkVBRE9OTFkJAMwIAgULZHVja0Fzc2V0SWQFA25pbAUDbmlsAQ1kdWNrSW5mb0FycmF5AwtkdWNrQXNzZXRJZAVvd25lcgdkdWNrSW5mBApjdXN0b21OYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBGmtleUR1Y2tBc3NldElkVG9DdXN0b21OYW1lAQULZHVja0Fzc2V0SWQIBQdkdWNrSW5mAl8yBAVjaGFycwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlEdWNrQ2hhcnMBBQtkdWNrQXNzZXRJZAIJMF8wXzBfMF8wBAJ4cAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQlrZXlEdWNrWFABBQtkdWNrQXNzZXRJZAAABANsdmwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEMa2V5RHVja0xldmVsAQULZHVja0Fzc2V0SWQAAAQKZnJlZVBvaW50cwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARFrZXlEdWNrRnJlZVBvaW50cwEFC2R1Y2tBc3NldElkAAAEBmVxdWlwbQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARBrZXlEdWNrRXF1aXBtZW50AQULZHVja0Fzc2V0SWQCCztfO187XztfO187BAVidWZmcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlEdWNrQnVmZnMBBQtkdWNrQXNzZXRJZAIJMF8wXzBfMF8wBA1kZWxpdmVyeUNvdW50CQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFGtleUR1Y2tEZWxpdmVyeUNvdW50AQULZHVja0Fzc2V0SWQAAAQMcm9iYmVyeUNvdW50CQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBE2tleUR1Y2tSb2JiZXJ5Q291bnQBBQtkdWNrQXNzZXRJZAAACQDMCAIJAKwCAgIPJXMlc19fYXNzZXRJZF9fBQtkdWNrQXNzZXRJZAkAzAgCCQCsAgICDSVzJXNfX293bmVyX18FBW93bmVyCQDMCAIJAKwCAgISJXMlc19fY3VzdG9tTmFtZV9fBQpjdXN0b21OYW1lCQDMCAIJAKwCAgISJXMlZF9fc3Rha2VkVGltZV9fCQCkAwEIBQdkdWNrSW5mAl8xCQDMCAIJAKwCAgIMJXMlc19fbmFtZV9fCAUHZHVja0luZgJfMgkAzAgCCQCsAgICECVzJXNfX2xvY2F0aW9uX18IBQdkdWNrSW5mAl8zCQDMCAIJAKwCAgIOJXMlZF9faGVhbHRoX18JAKQDAQgFB2R1Y2tJbmYCXzQJAMwIAgkArAICAhElcyVkX19tYXhIZWFsdGhfXwkApAMBCQEJbWF4SGVhbHRoAQUDbHZsCQDMCAIJAKwCAgIXJXMlc19fY2hhcmFjdGVyaXN0aWNzX18FBWNoYXJzCQDMCAIJAKwCAgIRJXMlZF9fY3VycmVudFhwX18JAKQDAQUCeHAJAMwIAgkArAICAhIlcyVkX19jdXJyZW50THZsX18JAKQDAQUDbHZsCQDMCAIJAKwCAgIaJXMlZF9fcG9pbnRzVG9EaXN0cmlidXRlX18JAKQDAQUKZnJlZVBvaW50cwkAzAgCCQCsAgICECVzJXNfX2JhY2tQYWNrX18IBQdkdWNrSW5mAl81CQDMCAIJAKwCAgIRJXMlc19fZXF1aXBtZW50X18FBmVxdWlwbQkAzAgCCQCsAgICDSVzJXNfX2J1ZmZzX18FBWJ1ZmZzCQDMCAIJAKwCAgIZJXMlZF9fdG90YWxSb2JiZXJ5Q291bnRfXwkApAMBBQxyb2JiZXJ5Q291bnQJAMwIAgkArAICAholcyVkX190b3RhbERlbGl2ZXJ5Q291bnRfXwkApAMBBQ1kZWxpdmVyeUNvdW50BQNuaWwBDWxhbmRJbmZvQXJyYXkDC2xhbmRBc3NldElkBW93bmVyCnN0YWtlZFRpbWUDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBAFhCQEFdmFsdWUBCQDsBwEJANkEAQULbGFuZEFzc2V0SWQEAWQJALUJAggFAWELZGVzY3JpcHRpb24CAV8EB2xhbmROdW0DCQBmAggFAWEIcXVhbnRpdHkAAAkAkQMCBQFkBQpyZWNMYW5kTnVtCQCsAgICAS0JAJEDAgUBZAUKcmVjTGFuZE51bQQGcGllY2VzCQEPbnVtUGllY2VzQnlTaXplAQkAkQMCBQFkBQtyZWNMYW5kU2l6ZQQMcHJvZHVjdGl2aXR5CQEMYXBwbHlCb251c2VzAgULbGFuZEFzc2V0SWQFBnBpZWNlcwQJZGVsdGFUaW1lCQBlAggFCWxhc3RCbG9jawl0aW1lc3RhbXAFCnN0YWtlZFRpbWUECGF2YWlsUmVzAwkAZgIFCnN0YWtlZFRpbWUAAAkAawMFCWRlbHRhVGltZQkAaAIIBQxwcm9kdWN0aXZpdHkCXzMFBnBpZWNlcwUJREFZTUlMTElTAAAEB25lZWRNYXQJAGsDBRFJbmZyYVVwZ3JhZGVDb3N0UwkAaAIFBnBpZWNlcwkAZAIIBQxwcm9kdWN0aXZpdHkCXzEAAQUFU1NJWkUEDmdsb2JhbEFuZExvY2FsAwkAZgIFCnN0YWtlZFRpbWUAAAkBDWFzU3BsaXRSZXN1bHQBCQD8BwQFD3N0YWtpbmdDb250cmFjdAIkc3BsaXRCeUdsb2JhbEFuZExvY2FsV2VpZ2h0c1JFQURPTkxZCQDMCAIFB25lZWRNYXQJAMwIAgUIYXZhaWxSZXMJAMwIAgkAkQMCBQFkBQtyZWNUZXJyYWlucwUDbmlsBQNuaWwJAJQKAgkBEmFzTGlzdEludENvbXBhY3RlZAEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AhxzcGxpdEJ5R2xvYmFsV2VpZ2h0c1JFQURPTkxZCQDMCAIFB25lZWRNYXQFA25pbAUDbmlsAgAECmN1c3RvbU5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEaa2V5TGFuZEFzc2V0SWRUb0N1c3RvbU5hbWUBBQtsYW5kQXNzZXRJZAkArAICCQCsAgIJAJEDAgUBZAUMcmVjQ29udGluZW50AgEtCQCRAwIFAWQFCnJlY0xhbmROdW0JAMwIAgkArAICAg8lcyVzX19hc3NldElkX18FC2xhbmRBc3NldElkCQDMCAIJAKwCAgINJXMlc19fb3duZXJfXwUFb3duZXIJAMwIAgkArAICAhIlcyVzX19jdXN0b21OYW1lX18FCmN1c3RvbU5hbWUJAMwIAgkArAICAhIlcyVkX19zdGFrZWRUaW1lX18JAKQDAQUKc3Rha2VkVGltZQkAzAgCCQCsAgICEyVzJXNfX2Rlc2NyaXB0aW9uX18JALkJAgkAzAgCBQdsYW5kTnVtCQDMCAIJAJEDAgUBZAULcmVjTGFuZFNpemUJAMwIAgkAkQMCBQFkBQtyZWNUZXJyYWlucwkAzAgCCQCRAwIFAWQFDHJlY0NvbnRpbmVudAUDbmlsAgFfCQDMCAIJAKwCAgISJXMlZF9faW5mcmFMZXZlbF9fCQCkAwEIBQxwcm9kdWN0aXZpdHkCXzEJAMwIAgkArAICAhYlcyVzX19hdmFpbFJlc0J5VHlwZV9fCAUOZ2xvYmFsQW5kTG9jYWwCXzIJAMwIAgkArAICAhUlcyVkX19hdmFpbFJlc1RvdGFsX18JAKQDAQUIYXZhaWxSZXMJAMwIAgkArAICAhQlcyVzX19uZWVkTWF0ZXJpYWxfXwgFDmdsb2JhbEFuZExvY2FsAl8xCQDMCAIJAKwCAgIdJXMlc19fbGFuZEFydGVmYWN0c19fUFJFU0FMRToJAKQDAQgFDHByb2R1Y3Rpdml0eQJfMgkAzAgCCQCsAgICESVzJXNfX3dhcmVob3VzZV9fCQC5CQIJAQxnZXRXYXJlaG91c2UDCQESa2V5V2FyZWhvdXNlQnlMYW5kAQULbGFuZEFzc2V0SWQJAGkCBQZwaWVjZXMFBVNTSVpFCAUMcHJvZHVjdGl2aXR5Al8xAgE6CQDMCAIJAKwCAgIRJXMlc19fbGFuZE9yZGVyX18JAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPZWNvbm9teUNvbnRyYWN0CQEOa2V5T3JkZXJCeUxhbmQBBQtsYW5kQXNzZXRJZAIwMEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6MEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6BQNuaWwBEmxhbmRPcmRlckluZm9BcnJheQILbGFuZEFzc2V0SWQFb3duZXIDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBAFhCQEFdmFsdWUBCQDsBwEJANkEAQULbGFuZEFzc2V0SWQEAWQJALUJAggFAWELZGVzY3JpcHRpb24CAV8EBnBpZWNlcwkBD251bVBpZWNlc0J5U2l6ZQEJAJEDAgUBZAULcmVjTGFuZFNpemUEDHByb2R1Y3Rpdml0eQkBDGFwcGx5Qm9udXNlcwIFC2xhbmRBc3NldElkBQZwaWVjZXMJAMwIAgkArAICAg8lcyVzX19hc3NldElkX18FC2xhbmRBc3NldElkCQDMCAIJAKwCAgINJXMlc19fb3duZXJfXwUFb3duZXIJAMwIAgkArAICAhElcyVzX193YXJlaG91c2VfXwkAuQkCCQEMZ2V0V2FyZWhvdXNlAwkBEmtleVdhcmVob3VzZUJ5TGFuZAEFC2xhbmRBc3NldElkCQBpAgUGcGllY2VzBQVTU0laRQgFDHByb2R1Y3Rpdml0eQJfMQIBOgkAzAgCCQCsAgICESVzJXNfX2xhbmRPcmRlcl9fCQELdmFsdWVPckVsc2UCCQCdCAIFD2Vjb25vbXlDb250cmFjdAkBDmtleU9yZGVyQnlMYW5kAQULbGFuZEFzc2V0SWQCMDBAMF8wQDBfMEAwXzBAMF8wQDBfMEAwOjBAMF8wQDBfMEAwXzBAMF8wQDBfMEAwOgUDbmlsAQpzbG90RWZmZWN0AQRzbG90AwkAAAIFBHNsb3QCAAAABAVzbG90MAkAkQMCCQC1CQIFBHNsb3QCASwAAAMJAAACBQVzbG90MAIAAAAEBHByb2QJALUJAgUFc2xvdDACAToDAwkAAAIJAJEDAgUEcHJvZAABAgAGCQAAAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBHByb2QAAQAAAAAJAQ1wYXJzZUludFZhbHVlAQkAkQMCCQC1CQIJAJEDAgUQcHJvZHVjdGlvbk1hdHJpeAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBHByb2QAAAIBXwUKcklkeEVmZmVjdAEPdG91clN0YXRzQ29tbW9uAQx0b3VybmFtZW50SWQEBXREYXRhCQELZ2V0VG91ckRhdGECBRJ0b3VybmFtZW50Q29udHJhY3QFDHRvdXJuYW1lbnRJZAQGc3RhdGljCQCRAwIFBXREYXRhBQlpZHhTdGF0aWMEB2R5bmFtaWMJAJEDAgUFdERhdGEFCmlkeER5bmFtaWMEB2xlYWRlcnMDCQAAAgkAkQMCBQdkeW5hbWljBQ90RHluYW1pY0xlYWRlcnMCAAIBIAkAkQMCBQdkeW5hbWljBQ90RHluYW1pY0xlYWRlcnMECnNjb3JlQm9hcmQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUSdG91cm5hbWVudENvbnRyYWN0CQETa2V5U2NvcmVCb2FyZEJ5VG91cgEFDHRvdXJuYW1lbnRJZAIABAludW1HcmFuZHMDCQBmAgkAkAMBBQZzdGF0aWMFEHRTdGF0aWNOdW1HcmFuZHMJAJEDAgUGc3RhdGljBRB0U3RhdGljTnVtR3JhbmRzAgEwBAlwcml6ZUZ1bmQDCQBmAgkAkAMBBQZzdGF0aWMFEHRTdGF0aWNQcml6ZUZ1bmQJAJEDAgUGc3RhdGljBRB0U3RhdGljUHJpemVGdW5kAgEwBAdhc3NldElkAwkAZgIJAJADAQUGc3RhdGljBQx0U3RhdGljQXNzZXQJANkEAQkAkQMCBQZzdGF0aWMFDHRTdGF0aWNBc3NldAUKd2xnQXNzZXRJZAQJYXNzZXROYW1lCAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDsBwEFB2Fzc2V0SWQCFk5vIGFzc2V0SW5mbyBhdmFpbGFibGUEbmFtZQkAzAgCCQCsAgICHCVzJXNfX3RvdXJuYW1lbnRTdGF0aWNEYXRhX18JALkJAgkAzAgCCQCRAwIFBnN0YXRpYwUTdFN0YXRpY1JlZ2lzdGVyQ29zdAkAzAgCCQCRAwIFBnN0YXRpYwUSdFN0YXRpY0F0dGVtcHRDb3N0CQDMCAIJAJEDAgUGc3RhdGljBQx0U3RhdGljU3RhcnQJAMwIAgkAkQMCBQZzdGF0aWMFCnRTdGF0aWNFbmQJAMwIAgUJbnVtR3JhbmRzCQDMCAIFCXByaXplRnVuZAkAzAgCBQlhc3NldE5hbWUFA25pbAIBXwkAzAgCCQCsAgICHSVzJXNfX3RvdXJuYW1lbnREeW5hbWljRGF0YV9fCQC6CQIJAMwIAgkAkQMCBQdkeW5hbWljBQ50RHluYW1pY1N0YXR1cwkAzAgCBQdsZWFkZXJzCQDMCAIJAJEDAgUHZHluYW1pYwURdER5bmFtaWNXaW5SZXN1bHQJAMwIAgkAkQMCBQdkeW5hbWljBRV0RHluYW1pY1RvdGFsUmVnQ291bnQJAMwIAgkAkQMCBQdkeW5hbWljBRV0RHluYW1pY1RvdGFsQXR0ZW1wdHMFA25pbAIBXwkAzAgCCQCsAgICHCVzJXNfX3RvdXJuYW1lbnRTY29yZUJvYXJkX18FCnNjb3JlQm9hcmQFA25pbAEKZ2V0QW55RGF0YQIEYWRkcgNrZXkEBGJvb2wJAJsIAgUEYWRkcgUDa2V5AwkBCWlzRGVmaW5lZAEFBGJvb2wJAQV2YWx1ZQEFBGJvb2wEA2JpbgkAnAgCBQRhZGRyBQNrZXkDCQEJaXNEZWZpbmVkAQUDYmluCQEFdmFsdWUBBQNiaW4EA2ludAkAmggCBQRhZGRyBQNrZXkDCQEJaXNEZWZpbmVkAQUDaW50CQEFdmFsdWUBBQNpbnQJAJ0IAgUEYWRkcgUDa2V5AQ9nZW5lcmljUkVBRE9OTFkBB3F1ZXJpZXMKAQRjYWxsAgNhY2MFcXVlcnkEBGFkZHIJAQdBZGRyZXNzAQkA2QQBCAUFcXVlcnkCXzEECWZ1bmNPcktleQgFBXF1ZXJ5Al8yBAZyZXN1bHQEByRtYXRjaDAFBXF1ZXJ5AwkAAQIFByRtYXRjaDACGyhTdHJpbmcsIFN0cmluZywgTGlzdFtBbnldKQQDaW52BQckbWF0Y2gwCQD8BwQFBGFkZHIFCWZ1bmNPcktleQgFA2ludgJfMwUDbmlsCQEKZ2V0QW55RGF0YQIFBGFkZHIFCWZ1bmNPcktleQkAzQgCBQNhY2MFBnJlc3VsdAoAAiRsBQdxdWVyaWVzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQRjYWxsAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKGAFpAQ1jb25zdHJ1Y3RvclYxAQljb250cmFjdHMDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhJwZXJtaXNzaW9ucyBkZW5pZWQKAQpkZXNjcmlwdG9yAgNhY2MLaWdub3JlZEl0ZW0JAKwCAgUDYWNjAgIlcwQFZGVzY3IKAAIkbAUJY29udHJhY3RzCgACJHMJAJADAQUCJGwKAAUkYWNjMAIACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQpkZXNjcmlwdG9yAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQprZXlSZXN0Q2ZnAAkAuQkCCQDMCAIFBWRlc2NyBQljb250cmFjdHMFA1NFUAkAzAgCCQELU3RyaW5nRW50cnkCCQEOa2V5UmVzdEFkZHJlc3MACQClCAEFBHRoaXMFA25pbAFpARJ3YWxsZXRJbmZvUkVBRE9OTFkBDnVzZXJBZGRyZXNzT3B0CQCUCgIFA25pbAkBDndhbGxldEludGVybmFsAQUOdXNlckFkZHJlc3NPcHQBaQEXZHVja0J5T3duZXJJbmZvUkVBRE9OTFkBC3VzZXJBZGRyZXNzBApzdGFrZWREdWNrCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFGtleVN0YWtlZER1Y2tCeU93bmVyAQULdXNlckFkZHJlc3MJAJQKAgUDbmlsAwMJAQlpc0RlZmluZWQBCQCmCAEFC3VzZXJBZGRyZXNzCQEJaXNEZWZpbmVkAQUKc3Rha2VkRHVjawcEC2R1Y2tBc3NldElkCQEFdmFsdWUBBQpzdGFrZWREdWNrCQENZHVja0luZm9BcnJheQMFC2R1Y2tBc3NldElkBQt1c2VyQWRkcmVzcwkBDWR1Y2tJbmZvVHVwbGUBBQtkdWNrQXNzZXRJZAkBDWR1Y2tJbmZvQXJyYXkDAgAFC3VzZXJBZGRyZXNzCQCXCgUA////////////AQIAAgAA////////////AQIAAWkBGWR1Y2tCeUFzc2V0SWRJbmZvUkVBRE9OTFkBC2R1Y2tBc3NldElkBAVvd25lcgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARBrZXlEdWNrSWRUb093bmVyAQULZHVja0Fzc2V0SWQJAJQKAgUDbmlsCQENZHVja0luZm9BcnJheQMFC2R1Y2tBc3NldElkAwkBCWlzRGVmaW5lZAEFBW93bmVyCQEFdmFsdWUBBQVvd25lcgIACQENZHVja0luZm9UdXBsZQEFC2R1Y2tBc3NldElkAWkBFmR1Y2tzQnlJZHNJbmZvUkVBRE9OTFkBDGR1Y2tBc3NldElkcwoBB29uZUR1Y2sCA2FjYwtkdWNrQXNzZXRJZAMJAAACBQtkdWNrQXNzZXRJZAIACQACAQIXZHVja0Fzc2V0SWQgaXMgcmVxdWlyZWQECnN0YWtlZFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEFC2R1Y2tBc3NldElkAP///////////wEEBW93bmVyAwkAZgIFCnN0YWtlZFRpbWUAAAkBBXZhbHVlAQkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARBrZXlEdWNrSWRUb093bmVyAQULZHVja0Fzc2V0SWQCAAkAzQgCBQNhY2MJAQ1kdWNrSW5mb0FycmF5AwULZHVja0Fzc2V0SWQFBW93bmVyCQENZHVja0luZm9UdXBsZQEFC2R1Y2tBc3NldElkBAFyCgACJGwFDGR1Y2tBc3NldElkcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEHb25lRHVjawIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIVTGlzdCBzaXplIGV4Y2VlZHMgMTAwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQJAJQKAgUDbmlsBQFyAWkBGWxhbmRCeUFzc2V0SWRJbmZvUkVBRE9OTFkBC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQKc3Rha2VkVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULbGFuZEFzc2V0SWQA////////////AQQFb3duZXIDCQBmAgUKc3Rha2VkVGltZQAACQEFdmFsdWUBCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFWtleUxhbmRBc3NldElkVG9Pd25lcgEFC2xhbmRBc3NldElkAgAJAJQKAgUDbmlsCQENbGFuZEluZm9BcnJheQMFC2xhbmRBc3NldElkBQVvd25lcgUKc3Rha2VkVGltZQFpAR5zdGFrZWRMYW5kc0J5T3duZXJJbmZvUkVBRE9OTFkBEGxhbmRPd25lckFkZHJlc3MDCQAAAgUQbGFuZE93bmVyQWRkcmVzcwIACQACAQIcbGFuZE93bmVyQWRkcmVzcyBpcyByZXF1aXJlZAQIbGFuZHNTdHIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQUQbGFuZE93bmVyQWRkcmVzcwQFbGFuZHMDCQEJaXNEZWZpbmVkAQUIbGFuZHNTdHIJAL0J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SWRzSW5mb1JFQURPTkxZAQxsYW5kQXNzZXRJZHMKAQdvbmVMYW5kAgNhY2MLbGFuZEFzc2V0SWQDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBApzdGFrZWRUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBBQtsYW5kQXNzZXRJZAD///////////8BBAVvd25lcgMJAGYCBQpzdGFrZWRUaW1lAAAJAQV2YWx1ZQEJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5TGFuZEFzc2V0SWRUb093bmVyAQULbGFuZEFzc2V0SWQCAAkAzQgCBQNhY2MJARJsYW5kT3JkZXJJbmZvQXJyYXkCBQtsYW5kQXNzZXRJZAUFb3duZXIEAXIKAAIkbAUMbGFuZEFzc2V0SWRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQdvbmVMYW5kAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyA0MAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAAB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BSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQJAJQKAgUDbmlsBQp0b3RhbEFjcmVzAWkBDXNlbmRVc2R0UHJpemUBC3VzZXJBZGRyZXNzAwkBAiE9AggFAWkGY2FsbGVyBQ9zdGFraW5nQ29udHJhY3QJAAIBAhFwZXJtaXNzaW9uIGRlbmllZAQDYW10CQBrAwkA8AcCBQR0aGlzBQt1c2R0QXNzZXRJZAUNVVNEVFBSSVpFUEFSVAUFTVVMVDYJAJQKAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQt1c2VyQWRkcmVzcwUDYW10BQt1c2R0QXNzZXRJZAUDbmlsBQNhbXQBaQEfZ2V0RW1lcmdlbmN5U2VydmljZURhdGFSRUFET05MWQAECGV4aXN0U3RyCQCdCAIFD2Vjb25vbXlDb250cmFjdAkBDmtleUVzV2FyZWhvdXNlAAQMZXhpc3RBbW91bnRzAwkBCWlzRGVmaW5lZAEFCGV4aXN0U3RyCQC8CQIJAQV2YWx1ZQEFCGV4aXN0U3RyAgFfBQNuaWwKAQpzaW5nbGVQcm9kAgNhY2MJcmVjaXBlU3RyBAFuCAUDYWNjAl8yBAZyZWNpcGUJALUJAgUJcmVjaXBlU3RyAgFfBAltYXhBbW91bnQDCQAAAgUBbgAACQBoAgUNRVNNQVhQQUNLQUdFUwUOUFJPRFVDVFBLR1NJWkUAAAQLZXhpc3RBbW91bnQDCQBmAgkAkAMBBQxleGlzdEFtb3VudHMFAW4JAQ1wYXJzZUludFZhbHVlAQkAkQMCBQxleGlzdEFtb3VudHMFAW4AAAQIdG90YWxNYXQJARJnZXRSZWNpcGVNYXRlcmlhbHMBBQZyZWNpcGUECGJ1eVByaWNlCQBrAwkAaAIFCHRvdGFsTWF0BQlFU0JVWUNPRUYFEFJFU09VUkNFUFJJQ0VNSU4JAGgCBQVNVUxUOAUOUFJPRFVDVFBLR1NJWkUECXNlbGxQcmljZQkAawMJAGgCBQh0b3RhbE1hdAUKRVNTRUxMQ09FRgUQUkVTT1VSQ0VQUklDRU1JTgkAaAIFBU1VTFQ4BQ5QUk9EVUNUUEtHU0laRQQBeQkAuQkCCQDMCAIJAKQDAQUJbWF4QW1vdW50CQDMCAIJAKQDAQULZXhpc3RBbW91bnQJAMwIAgkApAMBBQhidXlQcmljZQkAzAgCCQCkAwEFCXNlbGxQcmljZQUDbmlsAgFfCQCUCgIJAM0IAggFA2FjYwJfMQUBeQkAZAIFAW4AAQQBcwkAugkCCAoAAiRsBRBwcm9kdWN0aW9uTWF0cml4CgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBQNuaWwAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKc2luZ2xlUHJvZAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgNTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyAl8xAgE6BAZyZXN1bHQJAKwCAgIcJXMlc19fZW1lcmdlbmN5U2VydmljZURhdGFfXwUBcwkAlAoCBQNuaWwFBnJlc3VsdAFpARB3bGdTdGF0c1JFQURPTkxZAQt1c2VyQWRkck9wdAQIY3VyU3RhdHMJAQtnZXRXbGdTdGF0cwUFC3VzZXJBZGRyT3B0CQDMCAIFDHJlc3RDb250cmFjdAkAzAgCBQ9zdGFraW5nQ29udHJhY3QJAMwIAgUPZWNvbm9teUNvbnRyYWN0CQDMCAIFC3dsZ0NvbnRyYWN0CQDMCAIFEnB1enpsZVBvb2xDb250cmFjdAkAzAgCBRJpbnZlc3RGdW5kQ29udHJhY3QJAMwIAgUNYWNyZXNDb250cmFjdAUDbmlsBQt1c2R0QXNzZXRJZAAABQVNVUxUNgkAlAoCBQNuaWwJAMwIAgkArAICAhElcyVkX193bGdBbW91bnRfXwkApAMBCQCRAwIFCGN1clN0YXRzBQxpZHhXbGdBbW91bnQJAMwIAgkArAICAhAlcyVkX193bGdQcmljZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFC2lkeFdsZ1ByaWNlCQDMCAIJAKwCAgIRJXMlZF9fdXNkdEZ1bmRzX18JAKQDAQkAkQMCBQhjdXJTdGF0cwULaWR4V2xnRnVuZHMJAMwIAgkArAICAhMlcyVkX191c2R0RWNvbm9teV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFDWlkeFdsZ0Vjb25vbXkJAMwIAgkArAICAhQlcyVkX191c2R0QWN0aXZpdHlfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ5pZHhXbGdBY3Rpdml0eQkAzAgCCQCsAgICFSVzJWRfX3VzZHRBcmJpdHJhZ2VfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdBcmJpdHJhZ2UJAMwIAgkArAICAhAlcyVkX191c2R0UG9vbF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFCmlkeFdsZ1Bvb2wJAMwIAgkArAICAhQlcyVkX193bGdJc3N1ZVRpbWVfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdJc3N1ZVRpbWUJAMwIAgkArAICAiMlcyVkX193bGdMYXN0TWFya2V0aW5nVGVhbUFjdFRpbWVfXwkApAMBCQCRAwIFCGN1clN0YXRzBRVpZHhXbGdMYXN0VGVhbUFjdFRpbWUJAMwIAgkArAICAhQlcyVkX193bGdUZWFtVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdUZWFtVG90YWwJAMwIAgkArAICAhUlcyVkX193bGdUZWFtQW1MZWZ0X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUQaWR4V2xnVGVhbUFtTGVmdAkAzAgCCQCsAgICGSVzJWRfX3dsZ1RlYW1BbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUUaWR4V2xnVGVhbUFtQXZhaWxOb3cJAMwIAgkArAICAhUlcyVkX193bGdUZWFtV2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUQaWR4V2xnVGVhbVdsZ29sZAkAzAgCCQCsAgICEyVzJWRfX3dsZ0FjdFRvdGFsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUOaWR4V2xnQWN0VG90YWwJAMwIAgkArAICAhQlcyVkX193bGdBY3RBbUxlZnRfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdBY3RBbUxlZnQJAMwIAgkArAICAhglcyVkX193bGdBY3RBbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUTaWR4V2xnQWN0QW1BdmFpbE5vdwkAzAgCCQCsAgICFCVzJWRfX3dsZ0FjdFdsZ29sZF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFD2lkeFdsZ0FjdFdsZ29sZAkAzAgCCQCsAgICFCVzJWRfX3dsZ0N1clBlcmlvZF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFD2lkeFdsZ0N1clBlcmlvZAkAzAgCCQCsAgICFiVzJWRfX3dsZ0FtTGVmdFRvdGFsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwURaWR4V2xnQW1MZWZ0VG90YWwJAMwIAgkArAICAiAlcyVkX193bGdDdXJQZXJpb2REaXN0cmlidXRpb25fXwkApAMBCQCRAwIFCGN1clN0YXRzBRtpZHhXbGdDdXJQZXJpb2REaXN0cmlidXRpb24JAMwIAgkArAICAhclcyVkX193bGdMYXN0VXNlclRpbWVfXwkApAMBCQCRAwIFCGN1clN0YXRzBRJpZHhXbGdMYXN0VXNlclRpbWUJAMwIAgkArAICAhklcyVkX193bGdVc2VyQW1BdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFGlkeFdsZ1VzZXJBbUF2YWlsTm93CQDMCAIJAKwCAgIaJXMlZF9fd2xnR3Vlc3RTTGFuZERhaWx5X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUWaWR4V2xnU0xhbmREYWlseUFtb3VudAkAzAgCCQCsAgICGiVzJWRfX3dsZ0ludmVzdEZ1bmRUb3RhbF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFmlkeFdsZ0ludmVzdEZ1bmRBbW91bnQJAMwIAgkArAICAhklcyVkX193bGdVc2VyVG90YWxBdmFpbF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFGlkeFdsZ1VzZXJUb3RhbEF2YWlsCQDMCAIJAKwCAgIWJXMlZF9fd2xnRWZmVXNlclRpbWVfXwkApAMBCQCRAwIFCGN1clN0YXRzBRFpZHhXbGdFZmZVc2VyVGltZQkAzAgCCQCsAgICFSVzJWRfX3dsZ0JhbmtXbGdvbGRfXwkApAMBCQCRAwIFCGN1clN0YXRzBRBpZHhXbGdCYW5rV2xnb2xkBQNuaWwBaQEXdG91cm5hbWVudFN0YXRzUkVBRE9OTFkBDHRvdXJuYW1lbnRJZAkAlAoCBQNuaWwJAQ90b3VyU3RhdHNDb21tb24BBQx0b3VybmFtZW50SWQBaQEbbGFzdFRvdXJuYW1lbnRTdGF0c1JFQURPTkxZAAQMdG91cm5hbWVudElkCQELdmFsdWVPckVsc2UCCQCaCAIFEnRvdXJuYW1lbnRDb250cmFjdAUNbGFzdFRvdXJJZEtleQAACQCUCgIFA25pbAkAzAgCCQCsAgICGCVzJXNfX2xhc3RUb3VybmFtZW50SWRfXwkApAMBBQx0b3VybmFtZW50SWQJAQ90b3VyU3RhdHNDb21tb24BBQx0b3VybmFtZW50SWQBaQEbdG91cm5hbWVudER1Y2tTdGF0c1JFQURPTkxZAgN0SWQLZHVja0Fzc2V0SWQECWlzRHVja1JlZwkBC3ZhbHVlT3JFbHNlAgkAmwgCBRJ0b3VybmFtZW50Q29udHJhY3QJARxrZXlJc1JlZ2lzdGVyZWRCeVRvdXJBbmREdWNrAgUDdElkBQtkdWNrQXNzZXRJZAcED2xhc3REdWNrQXR0ZW1wdAkBC3ZhbHVlT3JFbHNlAgkAmggCBRJ0b3VybmFtZW50Q29udHJhY3QJARtrZXlMYXN0QXR0ZW1wdEJ5VG91ckFuZER1Y2sCBQN0SWQFC2R1Y2tBc3NldElkAP///////////wEEDmJlc3REdWNrUmVzdWx0CQELdmFsdWVPckVsc2UCCQCaCAIFEnRvdXJuYW1lbnRDb250cmFjdAkBGmtleUJlc3RSZXN1bHRCeVRvdXJBbmREdWNrAgUDdElkBQtkdWNrQXNzZXRJZAAABApiZXN0RHVja1R4CQELdmFsdWVPckVsc2UCCQCdCAIFEnRvdXJuYW1lbnRDb250cmFjdAkBFmtleUJlc3RUeEJ5VG91ckFuZER1Y2sCBQN0SWQFC2R1Y2tBc3NldElkAgAECWlzQXdhcmRlZAkBC3ZhbHVlT3JFbHNlAgkAmwgCBRJ0b3VybmFtZW50Q29udHJhY3QJARlrZXlJc0F3YXJkZWRCeVRvdXJBbmREdWNrAgUDdElkBQtkdWNrQXNzZXRJZAcJAJQKAgUDbmlsCQDMCAIJAKwCAgIbJXMlc19fdG91cm5hbWVudER1Y2tTdGF0c19fCQC5CQIJAMwIAgkApQMBBQlpc0R1Y2tSZWcJAMwIAgkApAMBBQ9sYXN0RHVja0F0dGVtcHQJAMwIAgkApAMBBQ5iZXN0RHVja1Jlc3VsdAkAzAgCBQpiZXN0RHVja1R4CQDMCAIJAKUDAQUJaXNBd2FyZGVkBQNuaWwCAV8FA25pbAFpARtkdWNrU3RhdHNDYWxjdWxhdG9yUkVBRE9OTFkBC2R1Y2tBc3NldElkBAVjaGFycwkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBDGtleUR1Y2tDaGFycwEFC2R1Y2tBc3NldElkAgkwXzBfMF8wXzACAV8EBWJ1ZmZzCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEMa2V5RHVja0J1ZmZzAQULZHVja0Fzc2V0SWQCCTBfMF8wXzBfMAIBXwQGZXF1aXBtCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEQa2V5RHVja0VxdWlwbWVudAEFC2R1Y2tBc3NldElkAgs7XztfO187XztfOwIBXwQNZXF1aXBtZW50UGVyYwkBCnNsb3RFZmZlY3QBCQCRAwIJALUJAgkAkQMCBQZlcXVpcG0FB3NlZ0JhY2sCATsAAQQOZXF1aXBtZW50QWJzb3IJAQpzbG90RWZmZWN0AQkAkQMCCQC1CQIJAJEDAgUGZXF1aXBtBQdzZWdCZWx0AgE7AAAEBWRvZGdlCQEQZG9kZ2VQcm9iYWJpbGl0eQMFBWNoYXJzBQVidWZmcwUNZXF1aXBtZW50UGVyYwQGYWJzb3JiCQEQZGFtYWdlQWJzb3JwdGlvbgMFBWNoYXJzBQVidWZmcwUOZXF1aXBtZW50QWJzb3IJAJQKAgUDbmlsCQDMCAIJAKwCAgIYJXMlZF9fZG9kZ2VQcm9iYWJpbGl0eV9fCQCkAwEFBWRvZGdlCQDMCAIJAKwCAgIYJXMlZF9fZGFtYWdlQWJzb3JwdGlvbl9fCQCkAwEFBmFic29yYgUDbmlsAWkBIWN1c3RvbUR1Y2tTdGF0c0NhbGN1bGF0b3JSRUFET05MWQQFY2hhcnMFYnVmZnMNZXF1aXBtZW50UGVyYw5lcXVpcG1lbnRBYnNvcgQFZG9kZ2UJARBkb2RnZVByb2JhYmlsaXR5AwUFY2hhcnMFBWJ1ZmZzBQ1lcXVpcG1lbnRQZXJjBAZhYnNvcmIJARBkYW1hZ2VBYnNvcnB0aW9uAwUFY2hhcnMFBWJ1ZmZzBQ5lcXVpcG1lbnRBYnNvcgkAlAoCBQNuaWwJAMwIAgkArAICAhglcyVkX19kb2RnZVByb2JhYmlsaXR5X18JAKQDAQUFZG9kZ2UJAMwIAgkArAICAhglcyVkX19kYW1hZ2VBYnNvcnB0aW9uX18JAKQDAQUGYWJzb3JiBQNuaWwBaQESYWNyZXNTdGF0c1JFQURPTkxZAQt1c2VyQWRkck9wdAQJdXNlckNsYWltCQEJYXNBbnlMaXN0AQkA/AcEBQ1hY3Jlc0NvbnRyYWN0AhJjbGFpbUFjcmVzUkVBRE9OTFkJAMwIAgULdXNlckFkZHJPcHQFA25pbAUDbmlsBA11c2VyQ2xhaW1hYmxlCQEFYXNJbnQBCQCRAwIFCXVzZXJDbGFpbQAABAx1c2VyTGFzdFRpbWUJAQVhc0ludAEJAJEDAgUJdXNlckNsYWltAAEJAJQKAgUDbmlsCQDMCAIJAKwCAgIYJXMlZF9fYWNyZXNJc3N1ZWRUb3RhbF9fCQCkAwEJAQt2YWx1ZU9yRWxzZQIJAJoIAgUNYWNyZXNDb250cmFjdAUUYWNyZXNJc3N1ZWRBbW91bnRLZXkAAAkAzAgCCQCsAgICEyVzJWRfX2FjcmVzVW5zb2xkX18JAKQDAQkA8AcCBQ1hY3Jlc0NvbnRyYWN0BQxhY3Jlc0Fzc2V0SWQJAMwIAgkArAICAhglcyVkX19hY3Jlc1N0YWtlZFRvdGFsX18JAKQDAQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ1hY3Jlc0NvbnRyYWN0BRNhY3Jlc1N0YWtlZFRvdGFsS2V5AAAJAMwIAgkArAICAhklcyVkX19hY3Jlc1N0YWtlZEJ5VXNlcl9fCQCkAwEJAQt2YWx1ZU9yRWxzZQIJAJoIAgUNYWNyZXNDb250cmFjdAkBGmtleUFjcmVzU3Rha2VkQW1vdW50QnlVc2VyAQULdXNlckFkZHJPcHQAAAkAzAgCCQCsAgICHCVzJWRfX2FjcmVzQ2xhaW1hYmxlQnlVc2VyX18JAKQDAQUNdXNlckNsYWltYWJsZQkAzAgCCQCsAgICICVzJWRfX2FjcmVzTGFzdENsYWltVGltZUJ5VXNlcl9fCQCkAwEFDHVzZXJMYXN0VGltZQkAzAgCCQCsAgICGSVzJWRfX2FjcmVzTG9ja2VkQnlVc2VyX18JAKQDAQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ1hY3Jlc0NvbnRyYWN0CQEaa2V5QWNyZXNMb2NrZWRBbW91bnRCeVVzZXIBBQt1c2VyQWRkck9wdAAACQDMCAIJAKwCAgIcJXMlZF9fYWNyZXNMb2NrZWRFdGFCeVVzZXJfXwkApAMBCQELdmFsdWVPckVsc2UCCQCaCAIFDWFjcmVzQ29udHJhY3QJARdrZXlBY3Jlc0xvY2tlZEV0YUJ5VXNlcgEFC3VzZXJBZGRyT3B0AAAFA25pbAFpAQZ0ZXN0VjQACQCUCgIFA25pbAkBD2dlbmVyaWNSRUFET05MWQEFA25pbAFpARNwcm9tbzJTdGF0c1JFQURPTkxZAAQGcmVzdWx0CQELdmFsdWVPckVsc2UCCQCdCAIFDWFjcmVzQ29udHJhY3QFDHByb21vMk1hcEtleQIACQCUCgIFA25pbAMJAAACBQZyZXN1bHQCAAUDbmlsCQC9CQIFBnJlc3VsdAIBXwFpARlwcm9tbzJTdGF0c0J5VXNlclJFQURPTkxZAQRhZGRyBAlpc0F3YXJkZWQJAQt2YWx1ZU9yRWxzZQIJAJsIAgUNYWNyZXNDb250cmFjdAkBGmtleUlzQXdhcmRlZEJ5UHJvbW9BbmRVc2VyAgACBQRhZGRyBwkAlAoCBQNuaWwJAMwIAgkArAICCQCsAgIJAKwCAgIeJXMlcyViX19wcm9tbzJBZGRyZXNzQXdhcmRlZF9fBQRhZGRyAgJfXwkApQMBBQlpc0F3YXJkZWQFA25pbACWOxwf", "height": 3399250, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8fknBSakzauaeTCvQvJHUNyFFaiEr1jRqpJmgcYi4eJo Next: 3BZESR8L4bsus3864gPxf7kzkQbwaPCzmboJonodZup9 Diff:
OldNewDifferences
537537
538538 let du = "stakersAmountLeft"
539539
540-func dv (aP) = ("lastClaimedTimeUser_" + aP)
540+func dv (aP) = ("lastClaimedTimeUserOld_" + aP)
541541
542542
543543 func dw (dx) = fraction(dg, (dj * (dx + 1)), (6 * de))
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
540-func dv (aP) = ("lastClaimedTimeUser_" + aP)
540+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
613613 func dW (dX,dY,dZ,ea,eb) = {
614614 let ec = valueOrErrorMessage(getInteger(dY[dJ], dz), "WLGOLD is not issued yet")
615615 let ed = assetBalance(dY[dI], dZ)
616616 let ee = assetBalance(dY[dG], dZ)
617617 let ef = (assetBalance(dY[dJ], dZ) - ea)
618618 let eg = assetBalance(dY[dK], dZ)
619619 let eh = dY[dL]
620620 let ei = (assetBalance(eh, dZ) + valueOrElse(getInteger(eh, dA), 0))
621621 let ej = ((ed + ef) + ei)
622622 let ek = valueOrErrorMessage(getBinary(dY[dJ], "wlg_assetId"), "Not initialized yet")
623623 let el = lastBlock.timestamp
624624 let em = valueOrErrorMessage(getInteger(dY[dJ], dy), "Not initialized")
625625 let en = assetBalance(dY[dH], ek)
626626 let eo = fraction(dg, dh, de)
627627 let ep = valueOrElse(getInteger(dY[dJ], dr), eo)
628628 let eq = valueOrElse(getInteger(dY[dJ], dq), em)
629629 let er = addressFromStringValue(value(getString(dY[dJ], dp)))
630630 let es = min([fraction(eo, (el - eq), (3 * dk)), ep])
631631 let et = assetBalance(er, ek)
632632 let eu = fraction(dg, di, de)
633633 let ev = valueOrElse(getInteger(dY[dJ], dt), eu)
634634 let ew = valueOrElse(getInteger(dY[dJ], ds), em)
635635 let ex = min([fraction(eu, (el - ew), (3 * dk)), ev])
636636 let ey = assetBalance(dY[dG], ek)
637637 let ez = valueOrElse(getInteger(dY[dJ], dv(dX)), em)
638638 let eA = ((ez - em) / dk)
639639 let eB = min([el, (em + (3 * dk))])
640640 let eC = min([((el - em) / dk), 2])
641641 let eD = dN(dX, dY[dH], dY[dM])
642642 let eE = dw(eC)
643643 let eF = if ((eA == eC))
644644 then {
645645 let eG = fraction(eE, (eB - ez), dk)
646646 let eH = fraction(eG, eb, de)
647647 let eI = (ez + fraction((eB - ez), eb, de))
648648 $Tuple3(eH, eG, eI)
649649 }
650650 else if ((eA == (eC - 1)))
651651 then {
652652 let eJ = fraction(dw((eC - 1)), ((em + (dk * eC)) - ez), dk)
653653 let eG = fraction(eE, (eB - (em + (dk * eC))), dk)
654654 let eK = (eJ + eG)
655655 let eH = fraction(eK, eb, de)
656656 let eI = if ((eJ >= eH))
657657 then (ez + fraction(dk, eH, dw((eC - 1))))
658658 else ((em + (dk * eC)) + fraction(dk, (eH - eJ), eE))
659659 $Tuple3(eH, eK, eI)
660660 }
661661 else {
662662 let eL = fraction(dw((eC - 2)), ((em + (dk * (eC - 1))) - ez), dk)
663663 let eJ = dw((eC - 1))
664664 let eG = fraction(eE, (eB - (em + (dk * eC))), dk)
665665 let eK = ((eL + eJ) + eG)
666666 let eH = fraction(eK, eb, de)
667667 let eI = if ((eL >= eH))
668668 then (ez + fraction(dk, eH, dw((eC - 2))))
669669 else if (((eL + eJ) >= eH))
670670 then ((em + (dk * (eC - 1))) + fraction(dk, (eH - eL), dw((eC - 1))))
671671 else ((em + (dk * eC)) + fraction(dk, ((eH - eL) - eJ), eE))
672672 $Tuple3(eH, eK, eI)
673673 }
674674 let eM = eF._1
675675 let eN = eF._2
676676 let eO = eF._3
677677 let eP = fraction(fraction(eE, dl, dk), 25, eD[dS])
678678 let eQ = valueOrElse(getInteger(dY[dJ], du), 0)
679679 let eR = fraction(eM, ((eD[dT] * df) + eD[dV]), ((eD[dS] * df) + eD[dU]))
680680 let eS = fraction(eR, dm, de)
681681 let eT = (eR - eS)
682682 let eU = fraction(eN, ((eD[dT] * df) + eD[dV]), ((eD[dS] * df) + eD[dU]))
683683 [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]
684684 }
685685
686686
687687 let eV = 500000
688688
689689 func eW (eX) = {
690690 let d = eX
691691 if ($isInstanceOf(d, "List[Any]"))
692692 then {
693693 let eY = d
694694 if ((size(eY) != bh))
695695 then throw(("Array size is " + toString(size(eY))))
696696 else {
697697 func eZ (aU,aV) = {
698698 let fa = aV
699699 if ($isInstanceOf(fa, "Int"))
700700 then {
701701 let fb = fa
702702 (aU :+ toString(fb))
703703 }
704704 else throw("List type is not Int")
705705 }
706706
707707 let fc = {
708708 let aX = eY
709709 let aY = size(aX)
710710 let aZ = nil
711711 func ba (bb,bc) = if ((bc >= aY))
712712 then bb
713713 else eZ(bb, aX[bc])
714714
715715 func bd (bb,bc) = if ((bc >= aY))
716716 then bb
717717 else throw("List size exceeds 6")
718718
719719 bd(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6)
720720 }
721721 makeString(fc, "_")
722722 }
723723 }
724724 else throw("fail to cast into List")
725725 }
726726
727727
728728 func fd (eX) = {
729729 let d = eX
730730 if ($isInstanceOf(d, "(List[Any], List[Any])"))
731731 then {
732732 let fe = d
733733 $Tuple2(eW(fe._1), eW(fe._2))
734734 }
735735 else throw("fail to cast into (List, List)")
736736 }
737737
738738
739739 func ff (eX) = {
740740 let d = eX
741741 if ($isInstanceOf(d, "(Boolean, String)"))
742742 then {
743743 let fe = d
744744 fe
745745 }
746746 else throw("fail to cast into (Boolean, String)")
747747 }
748748
749749
750750 func fg (fh) = {
751751 let aP = addressFromString(fh)
752752 let fi = if (isDefined(aP))
753753 then wavesBalance(value(aP))
754754 else BalanceDetails(0, 0, 0, 0)
755755 let fj = if (isDefined(aP))
756756 then assetBalance(value(aP), e)
757757 else 0
758758 let fk = if (isDefined(aP))
759759 then assetBalance(value(aP), U)
760760 else 0
761761 let fl = valueOrElse(getString(I, bD(fh)), fh)
762762 let fm = bE(fh)
763763 let fn = getString(I, fm)
764764 let fo = valueOrElse(getString(I, bG(fh)), "")
765765 let fp = valueOrElse(getString(I, aO(fh)), "")
766766 let fq = aQ(fh)[az]
767767 let fr = valueOrElse(getInteger(I, cF(fh)), 0)
768768 let fs = valueOrElse(getInteger(I, cG(fh)), 0)
769769 let ft = valueOrElse(getInteger(I, cH(fh)), 0)
770770 let fu = {
771771 let fv = invoke(K, "checkWlgXpREADONLY", [fh], nil)
772772 if ($isInstanceOf(fv, "List[Any]"))
773773 then fv
774774 else throw(($getType(fv) + " couldn't be cast to List[Any]"))
775775 }
776776 let fw = valueOrElse(getInteger(K, dF(fh)), 0)
777777 let fx = if (isDefined(fn))
778778 then (bg + (if (if (isDefined(aP))
779779 then isDefined(getString(I, bF(fh)))
780780 else false)
781781 then ":1"
782782 else ":0"))
783783 else ""
784784 let fy = if (isDefined(aP))
785785 then assetBalance(value(aP), X)
786786 else 0
787787 let fz = valueOrElse(getInteger(O, dB(fh)), 0)
788788 let fA = valueOrElse(getInteger(I, cL(fh)), 0)
789789 let fB = valueOrElse(getInteger(I, cM(fh)), 0)
790790 [("%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({
791791 let fv = fu[0]
792792 if ($isInstanceOf(fv, "Int"))
793793 then fv
794794 else throw(($getType(fv) + " couldn't be cast to Int"))
795795 })), ("%s%d__virtPoints__" + toString({
796796 let fv = fu[1]
797797 if ($isInstanceOf(fv, "Int"))
798798 then fv
799799 else throw(($getType(fv) + " couldn't be cast to Int"))
800800 })), ("%s%d__virtXP__" + toString({
801801 let fv = fu[2]
802802 if ($isInstanceOf(fv, "Int"))
803803 then fv
804804 else throw(($getType(fv) + " couldn't be cast to Int"))
805805 })), ("%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)))]
806806 }
807807
808808
809809 func fC (bA,fq) = {
810810 let fD = valueOrElse(getInteger(I, bB(bA)), 0)
811811 let fE = valueOrElse(getInteger(I, bx(bf, bA)), 0)
812812 let fF = (fD / 6)
813813 let fG = (fD / 7)
814814 $Tuple3(fD, fE, ((bi + fraction(bi, ((fD + fF) + (2 * fG)), 5)) + fraction(bi, fE, (fq * 5))))
815815 }
816816
817817
818818 func fH (fI) = {
819819 let fJ = split(fI, "_")
820820 ((bj * (parseIntValue(fJ[1]) + 1)) * parseIntValue(fJ[0]))
821821 }
822822
823823
824824 func fK (fL,fM,fD) = {
825825 let fI = ((toString(fM) + "_") + toString(fD))
826826 let fN = toString(fH(fI))
827827 let fO = valueOrElse(getString(I, fL), ((((fI + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + fN) + "_") + fN))
828828 split(fO, ":")
829829 }
830830
831831
832832 func fP (bK) = {
833833 let fQ = cN(valueOrElse(getInteger(I, cC(bK)), 0))
834834 $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)))
835835 }
836836
837837
838838 func fR (bK,fS,fT) = {
839839 let fl = valueOrElse(getString(I, bC(bK)), fT._2)
840840 let cT = valueOrElse(getString(I, cA(bK)), "0_0_0_0_0")
841841 let fr = valueOrElse(getInteger(I, cB(bK)), 0)
842842 let fs = valueOrElse(getInteger(I, cC(bK)), 0)
843843 let ft = valueOrElse(getInteger(I, cD(bK)), 0)
844844 let fU = valueOrElse(getString(I, cE(bK)), ";_;_;_;_;_;")
845845 let cU = valueOrElse(getString(I, cI(bK)), "0_0_0_0_0")
846846 let fV = valueOrElse(getInteger(I, cK(bK)), 0)
847847 let fW = valueOrElse(getInteger(I, cJ(bK)), 0)
848848 [("%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))]
849849 }
850850
851851
852852 func fX (bA,fS,fY) = if ((bA == ""))
853853 then throw("landAssetId is required")
854854 else {
855855 let fZ = value(assetInfo(fromBase58String(bA)))
856856 let ga = split(fZ.description, "_")
857857 let gb = if ((fZ.quantity > 0))
858858 then ga[P]
859859 else ("-" + ga[P])
860860 let fq = aL(ga[Q])
861861 let gc = fC(bA, fq)
862862 let gd = (lastBlock.timestamp - fY)
863863 let ge = if ((fY > 0))
864864 then fraction(gd, (gc._3 * fq), dl)
865865 else 0
866866 let gf = fraction(g, (fq * (gc._1 + 1)), l)
867867 let gg = if ((fY > 0))
868868 then fd(invoke(I, "splitByGlobalAndLocalWeightsREADONLY", [gf, ge, ga[R]], nil))
869869 else $Tuple2(eW(invoke(I, "splitByGlobalWeightsREADONLY", [gf], nil)), "")
870870 let fl = valueOrElse(getString(I, bv(bA)), ((ga[S] + "-") + ga[P]))
871871 [("%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:"))]
872872 }
873873
874874
875875 func gh (bA,fS) = if ((bA == ""))
876876 then throw("landAssetId is required")
877877 else {
878878 let fZ = value(assetInfo(fromBase58String(bA)))
879879 let ga = split(fZ.description, "_")
880880 let fq = aL(ga[Q])
881881 let gc = fC(bA, fq)
882882 [("%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:"))]
883883 }
884884
885885
886886 func gi (gj) = if ((gj == ""))
887887 then 0
888888 else {
889889 let gk = split(gj, ",")[0]
890890 if ((gk == ""))
891891 then 0
892892 else {
893893 let gl = split(gk, ":")
894894 if (if ((gl[1] == ""))
895895 then true
896896 else (parseIntValue(gl[1]) == 0))
897897 then 0
898898 else parseIntValue(split(bp[parseIntValue(gl[0])], "_")[br])
899899 }
900900 }
901901
902902
903903 func gm (gn) = {
904904 let go = cl(N, gn)
905905 let cn = go[bX]
906906 let co = go[bY]
907907 let gp = if ((co[ch] == ""))
908908 then " "
909909 else co[ch]
910910 let gq = valueOrElse(getString(N, bR(gn)), "")
911911 let gr = if ((size(cn) > cd))
912912 then cn[cd]
913913 else "0"
914914 let gs = if ((size(cn) > ce))
915915 then cn[ce]
916916 else "0"
917917 let bu = if ((size(cn) > cf))
918918 then fromBase58String(cn[cf])
919919 else U
920920 let gt = valueOrErrorMessage(assetInfo(bu), "No assetInfo available").name
921921 [("%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)]
922922 }
923923
924924
925925 func gu (aP,s) = {
926926 let gv = getBoolean(aP, s)
927927 if (isDefined(gv))
928928 then value(gv)
929929 else {
930930 let gw = getBinary(aP, s)
931931 if (isDefined(gw))
932932 then value(gw)
933933 else {
934934 let gx = getInteger(aP, s)
935935 if (isDefined(gx))
936936 then value(gx)
937937 else getString(aP, s)
938938 }
939939 }
940940 }
941941
942942
943943 func gy (gz) = {
944944 func gA (aU,gB) = {
945945 let aP = Address(fromBase58String(gB._1))
946946 let gC = gB._2
947947 let gD = {
948948 let d = gB
949949 if ($isInstanceOf(d, "(String, String, List[Any])"))
950950 then {
951951 let gE = d
952952 invoke(aP, gC, gE._3, nil)
953953 }
954954 else gu(aP, gC)
955955 }
956956 (aU :+ gD)
957957 }
958958
959959 let aX = gz
960960 let aY = size(aX)
961961 let aZ = nil
962962 func ba (bb,bc) = if ((bc >= aY))
963963 then bb
964964 else gA(bb, aX[bc])
965965
966966 func bd (bb,bc) = if ((bc >= aY))
967967 then bb
968968 else throw("List size exceeds 10")
969969
970970 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
971971 }
972972
973973
974974 @Callable(gF)
975975 func constructorV1 (dY) = if ((gF.caller != this))
976976 then throw("permissions denied")
977977 else {
978978 func gG (aU,gH) = (aU + "%s")
979979
980980 let gI = {
981981 let aX = dY
982982 let aY = size(aX)
983983 let aZ = ""
984984 func ba (bb,bc) = if ((bc >= aY))
985985 then bb
986986 else gG(bb, aX[bc])
987987
988988 func bd (bb,bc) = if ((bc >= aY))
989989 then bb
990990 else throw("List size exceeds 10")
991991
992992 bd(ba(ba(ba(ba(ba(ba(ba(ba(ba(ba(aZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
993993 }
994994 [StringEntry(A(), makeString(gI :: dY, i)), StringEntry(B(), toString(this))]
995995 }
996996
997997
998998
999999 @Callable(gF)
10001000 func walletInfoREADONLY (fh) = $Tuple2(nil, fg(fh))
10011001
10021002
10031003
10041004 @Callable(gF)
10051005 func duckByOwnerInfoREADONLY (gJ) = {
10061006 let gK = getString(I, bI(gJ))
10071007 $Tuple2(nil, if (if (isDefined(addressFromString(gJ)))
10081008 then isDefined(gK)
10091009 else false)
10101010 then {
10111011 let bK = value(gK)
10121012 fR(bK, gJ, fP(bK))
10131013 }
10141014 else fR("", gJ, $Tuple5(-1, "", "", -1, "")))
10151015 }
10161016
10171017
10181018
10191019 @Callable(gF)
10201020 func duckByAssetIdInfoREADONLY (bK) = {
10211021 let fS = getString(I, bH(bK))
10221022 $Tuple2(nil, fR(bK, if (isDefined(fS))
10231023 then value(fS)
10241024 else "", fP(bK)))
10251025 }
10261026
10271027
10281028
10291029 @Callable(gF)
10301030 func ducksByIdsInfoREADONLY (gL) = {
10311031 func gM (aU,bK) = if ((bK == ""))
10321032 then throw("duckAssetId is required")
10331033 else {
10341034 let fY = valueOrElse(getInteger(I, bw(bK)), -1)
10351035 let fS = if ((fY > 0))
10361036 then value(getString(I, bH(bK)))
10371037 else ""
10381038 (aU :+ fR(bK, fS, fP(bK)))
10391039 }
10401040
10411041 let fc = {
10421042 let aX = gL
10431043 let aY = size(aX)
10441044 let aZ = nil
10451045 func ba (bb,bc) = if ((bc >= aY))
10461046 then bb
10471047 else gM(bb, aX[bc])
10481048
10491049 func bd (bb,bc) = if ((bc >= aY))
10501050 then bb
10511051 else throw("List size exceeds 100")
10521052
10531053 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)
10541054 }
10551055 $Tuple2(nil, fc)
10561056 }
10571057
10581058
10591059
10601060 @Callable(gF)
10611061 func landByAssetIdInfoREADONLY (bA) = if ((bA == ""))
10621062 then throw("landAssetId is required")
10631063 else {
10641064 let fY = valueOrElse(getInteger(I, bw(bA)), -1)
10651065 let fS = if ((fY > 0))
10661066 then value(getString(I, bt(bA)))
10671067 else ""
10681068 $Tuple2(nil, fX(bA, fS, fY))
10691069 }
10701070
10711071
10721072
10731073 @Callable(gF)
10741074 func stakedLandsByOwnerInfoREADONLY (gN) = if ((gN == ""))
10751075 then throw("landOwnerAddress is required")
10761076 else {
10771077 let gO = getString(I, aB(gN))
10781078 let gP = if (isDefined(gO))
10791079 then split_51C(value(gO), "_")
10801080 else nil
10811081 func gQ (aU,bA) = if ((bA == ""))
10821082 then throw("landAssetId is required")
10831083 else {
10841084 let fY = valueOrElse(getInteger(I, bw(bA)), -1)
10851085 (aU :+ fX(bA, gN, fY))
10861086 }
10871087
10881088 let fc = {
10891089 let aX = gP
10901090 let aY = size(aX)
10911091 let aZ = nil
10921092 func ba (bb,bc) = if ((bc >= aY))
10931093 then bb
10941094 else gQ(bb, aX[bc])
10951095
10961096 func bd (bb,bc) = if ((bc >= aY))
10971097 then bb
10981098 else throw("List size exceeds 100")
10991099
11001100 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)
11011101 }
11021102 $Tuple2(nil, fc)
11031103 }
11041104
11051105
11061106
11071107 @Callable(gF)
11081108 func landsByIdsInfoREADONLY (gR) = {
11091109 func gQ (aU,bA) = if ((bA == ""))
11101110 then throw("landAssetId is required")
11111111 else {
11121112 let fY = valueOrElse(getInteger(I, bw(bA)), -1)
11131113 let fS = if ((fY > 0))
11141114 then value(getString(I, bt(bA)))
11151115 else ""
11161116 (aU :+ fX(bA, fS, fY))
11171117 }
11181118
11191119 let fc = {
11201120 let aX = gR
11211121 let aY = size(aX)
11221122 let aZ = nil
11231123 func ba (bb,bc) = if ((bc >= aY))
11241124 then bb
11251125 else gQ(bb, aX[bc])
11261126
11271127 func bd (bb,bc) = if ((bc >= aY))
11281128 then bb
11291129 else throw("List size exceeds 100")
11301130
11311131 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)
11321132 }
11331133 $Tuple2(nil, fc)
11341134 }
11351135
11361136
11371137
11381138 @Callable(gF)
11391139 func warehouseOrderByAssetIdInfoREADONLY (bA) = if ((bA == ""))
11401140 then throw("landAssetId is required")
11411141 else {
11421142 let fY = valueOrElse(getInteger(I, bw(bA)), -1)
11431143 let fS = if ((fY > 0))
11441144 then value(getString(I, bt(bA)))
11451145 else ""
11461146 $Tuple2(nil, gh(bA, fS))
11471147 }
11481148
11491149
11501150
11511151 @Callable(gF)
11521152 func ordersByLandIdsInfoREADONLY (gR) = {
11531153 func gQ (aU,bA) = if ((bA == ""))
11541154 then throw("landAssetId is required")
11551155 else {
11561156 let fY = valueOrElse(getInteger(I, bw(bA)), -1)
11571157 let fS = if ((fY > 0))
11581158 then value(getString(I, bt(bA)))
11591159 else ""
11601160 (aU :+ gh(bA, fS))
11611161 }
11621162
11631163 let fc = {
11641164 let aX = gR
11651165 let aY = size(aX)
11661166 let aZ = nil
11671167 func ba (bb,bc) = if ((bc >= aY))
11681168 then bb
11691169 else gQ(bb, aX[bc])
11701170
11711171 func bd (bb,bc) = if ((bc >= aY))
11721172 then bb
11731173 else throw("List size exceeds 40")
11741174
11751175 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)
11761176 }
11771177 $Tuple2(nil, fc)
11781178 }
11791179
11801180
11811181
11821182 @Callable(gF)
11831183 func cancelWarehouseOrders (gR) = if ((gF.caller != this))
11841184 then throw("permission denied")
11851185 else {
11861186 let gS = getBoolean(I, aN())
11871187 if (if (!(isDefined(gS)))
11881188 then true
11891189 else (value(gS) == false))
11901190 then throw("Contracts should be blocked before canceling orders")
11911191 else {
11921192 func gQ (fZ,bA) = if ((bA == ""))
11931193 then throw("landAssetId is required")
11941194 else {
11951195 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
11961196 if (if (fZ)
11971197 then true
11981198 else gT)
11991199 then !(if (fZ)
12001200 then gT
12011201 else false)
12021202 else false
12031203 }
12041204
12051205 let fc = {
12061206 let aX = gR
12071207 let aY = size(aX)
12081208 let aZ = false
12091209 func ba (bb,bc) = if ((bc >= aY))
12101210 then bb
12111211 else gQ(bb, aX[bc])
12121212
12131213 func bd (bb,bc) = if ((bc >= aY))
12141214 then bb
12151215 else throw("List size exceeds 30")
12161216
12171217 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)
12181218 }
12191219 $Tuple2(nil, fc)
12201220 }
12211221 }
12221222
12231223
12241224
12251225 @Callable(gF)
12261226 func distributeLockedAcres (gU,gV,gW) = if (if ((gF.caller != this))
12271227 then (gF.callerPublicKey != c)
12281228 else false)
12291229 then throw("Permission denied")
12301230 else if ((0 >= gV))
12311231 then throw("amount should be positive")
12321232 else if ((0 > gW))
12331233 then throw("lockDays should be non-negative")
12341234 else {
12351235 func gX (aU,aP) = if ((aP == ""))
12361236 then throw("address is required")
12371237 else (aU + aH(invoke(O, "sendLockedAcres", [aP, gV, gW], nil)))
12381238
12391239 let dQ = {
12401240 let aX = gU
12411241 let aY = size(aX)
12421242 let aZ = 0
12431243 func ba (bb,bc) = if ((bc >= aY))
12441244 then bb
12451245 else gX(bb, aX[bc])
12461246
12471247 func bd (bb,bc) = if ((bc >= aY))
12481248 then bb
12491249 else throw("List size exceeds 20")
12501250
12511251 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)
12521252 }
12531253 $Tuple2(nil, dQ)
12541254 }
12551255
12561256
12571257
12581258 @Callable(gF)
12591259 func sendUsdtPrize (gJ) = if ((gF.caller != I))
12601260 then throw("permission denied")
12611261 else {
12621262 let gY = fraction(assetBalance(this, e), eV, j)
12631263 $Tuple2([ScriptTransfer(addressFromStringValue(gJ), gY, e)], gY)
12641264 }
12651265
12661266
12671267
12681268 @Callable(gF)
12691269 func getEmergencyServiceDataREADONLY () = {
12701270 let gZ = getString(J, bM())
12711271 let ha = if (isDefined(gZ))
12721272 then split_4C(value(gZ), "_")
12731273 else nil
12741274 func hb (aU,hc) = {
12751275 let aI = aU._2
12761276 let cs = split(hc, "_")
12771277 let hd = if ((aI == 0))
12781278 then (bl * bs)
12791279 else 0
12801280 let he = if ((size(ha) > aI))
12811281 then parseIntValue(ha[aI])
12821282 else 0
12831283 let hf = cr(cs)
12841284 let hg = fraction((hf * bm), bk, (k * bs))
12851285 let hh = fraction((hf * bn), bk, (k * bs))
12861286 let hi = makeString([toString(hd), toString(he), toString(hg), toString(hh)], "_")
12871287 $Tuple2((aU._1 :+ hi), (aI + 1))
12881288 }
12891289
12901290 let aG = makeString_2C(( let aX = bp
12911291 let aY = size(aX)
12921292 let aZ = $Tuple2(nil, 0)
12931293 func ba (bb,bc) = if ((bc >= aY))
12941294 then bb
12951295 else hb(bb, aX[bc])
12961296
12971297 func bd (bb,bc) = if ((bc >= aY))
12981298 then bb
12991299 else throw("List size exceeds 50")
13001300
13011301 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, ":")
13021302 let gD = ("%s%s__emergencyServiceData__" + aG)
13031303 $Tuple2(nil, gD)
13041304 }
13051305
13061306
13071307
13081308 @Callable(gF)
13091309 func wlgStatsREADONLY (dX) = {
13101310 let hj = dW(dX, [H, I, J, K, L, M, O], e, 0, j)
13111311 $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]))])
13121312 }
13131313
13141314
13151315
13161316 @Callable(gF)
13171317 func tournamentStatsREADONLY (gn) = $Tuple2(nil, gm(gn))
13181318
13191319
13201320
13211321 @Callable(gF)
13221322 func lastTournamentStatsREADONLY () = {
13231323 let gn = valueOrElse(getInteger(N, bN), 0)
13241324 $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(gn)), gm(gn)])
13251325 }
13261326
13271327
13281328
13291329 @Callable(gF)
13301330 func tournamentDuckStatsREADONLY (bP,bK) = {
13311331 let hk = valueOrElse(getBoolean(N, bS(bP, bK)), false)
13321332 let hl = valueOrElse(getInteger(N, bU(bP, bK)), -1)
13331333 let hm = valueOrElse(getInteger(N, bV(bP, bK)), 0)
13341334 let hn = valueOrElse(getString(N, bW(bP, bK)), "")
13351335 let ho = valueOrElse(getBoolean(N, bT(bP, bK)), false)
13361336 $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(hk), toString(hl), toString(hm), hn, toString(ho)], "_"))])
13371337 }
13381338
13391339
13401340
13411341 @Callable(gF)
13421342 func duckStatsCalculatorREADONLY (bK) = {
13431343 let cT = split(valueOrElse(getString(I, cA(bK)), "0_0_0_0_0"), "_")
13441344 let cU = split(valueOrElse(getString(I, cI(bK)), "0_0_0_0_0"), "_")
13451345 let fU = split(valueOrElse(getString(I, cE(bK)), ";_;_;_;_;_;"), "_")
13461346 let cV = gi(split(fU[cx], ";")[1])
13471347 let db = gi(split(fU[cy], ";")[0])
13481348 let hp = cS(cT, cU, cV)
13491349 let hq = da(cT, cU, db)
13501350 $Tuple2(nil, [("%s%d__dodgeProbability__" + toString(hp)), ("%s%d__damageAbsorption__" + toString(hq))])
13511351 }
13521352
13531353
13541354
13551355 @Callable(gF)
13561356 func customDuckStatsCalculatorREADONLY (cT,cU,cV,db) = {
13571357 let hp = cS(cT, cU, cV)
13581358 let hq = da(cT, cU, db)
13591359 $Tuple2(nil, [("%s%d__dodgeProbability__" + toString(hp)), ("%s%d__damageAbsorption__" + toString(hq))])
13601360 }
13611361
13621362
13631363
13641364 @Callable(gF)
13651365 func acresStatsREADONLY (dX) = {
13661366 let hr = aJ(invoke(O, "claimAcresREADONLY", [dX], nil))
13671367 let hs = aH(hr[0])
13681368 let ht = aH(hr[1])
13691369 $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)))])
13701370 }
13711371
13721372
13731373
13741374 @Callable(gF)
13751375 func testV4 () = $Tuple2(nil, gy(nil))
13761376
13771377
13781378
13791379 @Callable(gF)
13801380 func promo2StatsREADONLY () = {
13811381 let gD = valueOrElse(getString(O, h), "")
13821382 $Tuple2(nil, if ((gD == ""))
13831383 then nil
13841384 else split_51C(gD, "_"))
13851385 }
13861386
13871387
13881388
13891389 @Callable(gF)
13901390 func promo2StatsByUserREADONLY (aP) = {
13911391 let ho = valueOrElse(getBoolean(O, cp(2, aP)), false)
13921392 $Tuple2(nil, [((("%s%s%b__promo2AddressAwarded__" + aP) + "__") + toString(ho))])
13931393 }
13941394
13951395

github/deemru/w8io/169f3d6 
168.21 ms