tx · 2JdZkafHzVXR1fxkNHTdwc9kYybsQ1Skf8DXWYhyAYev

3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy:  -0.03100000 Waves

2023.07.10 20:24 [2660101] smart account 3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy > SELF 0.00000000 Waves

{ "type": 13, "id": "2JdZkafHzVXR1fxkNHTdwc9kYybsQ1Skf8DXWYhyAYev", "fee": 3100000, "feeAssetId": null, "timestamp": 1689009840414, "version": 2, "chainId": 84, "sender": "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy", "senderPublicKey": "C3PaRKeL8AUKbwUqdniMQtThgcTh5DYHV1777Hkxy7rp", "proofs": [ "4TRxLxKyeS7GTSpnW4oQEW7kfyxoSQSAv6bz5kzpdSMJPdZj9FJrXcQWQ1K4WEFEvsovRNvtbepAj8EsWsG7RwG9" ], "script": "base64:BgJKCAISAwoBGBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBGBIDCgEIEgMKARgSAwoBGBIDCgEYEgMKARgSAwoBCBIAEgMKAQiSAQACTTYAwIQ9AAJNOACAwtcvAAhNSUxMSU9ONgCAgOmDsd4WAA5NQVJLRVRJTkdTSEFSRQCgjQYACVRFQU1TSEFSRQDAmgwADUFDVElWSVRZU0hBUkUAoI0GAApZRUFSTUlMTElTAICG68d1AApXRUVLTUlMTElTAICIsqACAAlNQVhQRVJJT0QAnAEAEG1hcmtldGluZ0FkZHJLZXkCDW1hcmtldGluZ0FkZHIAC3RlYW1BZGRyS2V5Agh0ZWFtQWRkcgAUbGFzdE1hcmtldGluZ1RpbWVLZXkCGWxhc3RDbGFpbWVkVGltZV9tYXJrZXRpbmcAFm1hcmtldGluZ0Ftb3VudExlZnRLZXkCE21hcmtldGluZ0Ftb3VudExlZnQAD2xhc3RUZWFtVGltZUtleQIUbGFzdENsYWltZWRUaW1lX3RlYW0AEXRlYW1BbW91bnRMZWZ0S2V5Ag50ZWFtQW1vdW50TGVmdAAVbGFzdEFjdGl2aXRpZXNUaW1lS2V5AhpsYXN0Q2xhaW1lZFRpbWVfYWN0aXZpdGllcwAQYWN0QW1vdW50TGVmdEtleQIUYWN0aXZpdGllc0Ftb3VudExlZnQAFHN0YWtlcnNBbW91bnRMZWZ0S2V5AhFzdGFrZXJzQW1vdW50TGVmdAEYa2V5TGFzdENsYWltZWRUaW1lQnlVc2VyAQRhZGRyCQCsAgICFGxhc3RDbGFpbWVkVGltZVVzZXJfBQRhZGRyAA93bGdJc3N1ZVRpbWVLZXkCDXdsZ19pc3N1ZVRpbWUAEndsZ0lzc3VlZEFtb3VudEtleQIQd2xnX2lzc3VlZEFtb3VudAAMaWR4V2xnQW1vdW50AAAAC2lkeFdsZ1ByaWNlAAEAC2lkeFdsZ0Z1bmRzAAIADWlkeFdsZ0Vjb25vbXkAAwAOaWR4V2xnQWN0aXZpdHkABAAPaWR4V2xnQXJiaXRyYWdlAAUACmlkeFdsZ1Bvb2wABgAPaWR4V2xnSXNzdWVUaW1lAAcAEWlkeFdsZ0xhc3RNVEFUaW1lAAgAFGlkeFdsZ01hcmtldGluZ1RvdGFsAAkAFWlkeFdsZ01hcmtldGluZ0FtTGVmdAAKABlpZHhXbGdNYXJrZXRpbmdBbUF2YWlsTm93AAsAFWlkeFdsZ01hcmtldGluZ1dsZ29sZAAMAA9pZHhXbGdUZWFtVG90YWwADQAQaWR4V2xnVGVhbUFtTGVmdAAOABRpZHhXbGdUZWFtQW1BdmFpbE5vdwAPABBpZHhXbGdUZWFtV2xnb2xkABAADmlkeFdsZ0FjdFRvdGFsABEAD2lkeFdsZ0FjdEFtTGVmdAASABNpZHhXbGdBY3RBbUF2YWlsTm93ABMAD2lkeFdsZ0FjdFdsZ29sZAAUAA9pZHhXbGdDdXJQZXJpb2QAFQARaWR4V2xnQW1MZWZ0VG90YWwAFgAbaWR4V2xnQ3VyUGVyaW9kRGlzdHJpYnV0aW9uABcAEmlkeFdsZ0xhc3RVc2VyVGltZQAYABRpZHhXbGdVc2VyQW1BdmFpbE5vdwAZAAhkYXBwUmVzdAAAAAtkYXBwU3Rha2luZwABAAtkYXBwRWNvbm9teQACAApkYXBwUHV6emxlAAUBCWdldFBpZWNlcwISdXNlckFkZHJTdHJPckVtcHR5D3N0YWtpbmdDb250cmFjdAQFcHJvcHMJALUJAgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QCE3Jlc1R5cGVzUHJvcG9ydGlvbnMCCzBfMF8wXzBfMF8wAgFfCgEFYWRkZXICA2FjYwRpdGVtCQBkAgUDYWNjCQENcGFyc2VJbnRWYWx1ZQEFBGl0ZW0ECnRvdGFsUG93ZXIKAAIkbAUFcHJvcHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBBWFkZGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA2CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGBAp1c2Vyc1Bvd2VyCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkArAICAhRzdGFrZWRQaWVjZXNCeU93bmVyXwUSdXNlckFkZHJTdHJPckVtcHR5AAAJAMwIAgUKdG90YWxQb3dlcgkAzAgCBQp1c2Vyc1Bvd2VyBQNuaWwBC2dldFdsZ1N0YXRzAwt1c2VyQWRkck9wdAljb250cmFjdHMGdXNkdElkBAxpc3N1ZWRBbW91bnQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwULZGFwcFN0YWtpbmcFEndsZ0lzc3VlZEFtb3VudEtleQIYV0xHT0xEIGlzIG5vdCBpc3N1ZWQgeWV0BAplY29ub215VXNkCQDwBwIJAJEDAgUJY29udHJhY3RzBQtkYXBwRWNvbm9teQUGdXNkdElkBAdyZXN0VXNkCQDwBwIJAJEDAgUJY29udHJhY3RzBQhkYXBwUmVzdAUGdXNkdElkBAZ3bGdVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFC2RhcHBTdGFraW5nBQZ1c2R0SWQECXB1enpsZVVzZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwUKZGFwcFB1enpsZQUGdXNkdElkBA10b3RhbEZ1bmRzVXNkCQBkAgkAZAIFCmVjb25vbXlVc2QFB3Jlc3RVc2QFBndsZ1VzZAQFd2xnSWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnAgCCQCRAwIFCWNvbnRyYWN0cwULZGFwcFN0YWtpbmcCC3dsZ19hc3NldElkAhNOb3QgaW5pdGlhbGl6ZWQgeWV0BANub3cIBQlsYXN0QmxvY2sJdGltZXN0YW1wBAlpc3N1ZVRpbWUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwULZGFwcFN0YWtpbmcFD3dsZ0lzc3VlVGltZUtleQIPTm90IGluaXRpYWxpemVkBA5tYXJrZXRpbmdUb3RhbAkAawMFCE1JTExJT042BQ5NQVJLRVRJTkdTSEFSRQUCTTYEE21hcmtldGluZ0Ftb3VudExlZnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFC2RhcHBTdGFraW5nBRZtYXJrZXRpbmdBbW91bnRMZWZ0S2V5BQ5tYXJrZXRpbmdUb3RhbAQRbGFzdE1hcmtldGluZ1RpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFC2RhcHBTdGFraW5nBRRsYXN0TWFya2V0aW5nVGltZUtleQUJaXNzdWVUaW1lBA1tYXJrZXRpbmdBZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBCQEFdmFsdWUBCQCdCAIJAJEDAgUJY29udHJhY3RzBQtkYXBwU3Rha2luZwUQbWFya2V0aW5nQWRkcktleQQbbWFya2V0aW5nQW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFDm1hcmtldGluZ1RvdGFsCQBlAgUDbm93BRFsYXN0TWFya2V0aW5nVGltZQUKWUVBUk1JTExJUwkAzAgCBRNtYXJrZXRpbmdBbW91bnRMZWZ0BQNuaWwED21hcmtldGluZ1dsZ29sZAkA8AcCBQ1tYXJrZXRpbmdBZGRyBQV3bGdJZAQJdGVhbVRvdGFsCQBrAwUITUlMTElPTjYFCVRFQU1TSEFSRQUCTTYEDnRlYW1BbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQtkYXBwU3Rha2luZwURdGVhbUFtb3VudExlZnRLZXkFCXRlYW1Ub3RhbAQMbGFzdFRlYW1UaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQtkYXBwU3Rha2luZwUPbGFzdFRlYW1UaW1lS2V5BQlpc3N1ZVRpbWUECHRlYW1BZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBCQEFdmFsdWUBCQCdCAIJAJEDAgUJY29udHJhY3RzBQtkYXBwU3Rha2luZwULdGVhbUFkZHJLZXkEFnRlYW1BbW91bnRBdmFpbGFibGVOb3cJAJcDAQkAzAgCCQBrAwUJdGVhbVRvdGFsCQBlAgUDbm93BQxsYXN0VGVhbVRpbWUJAGgCAAMFCllFQVJNSUxMSVMJAMwIAgUOdGVhbUFtb3VudExlZnQFA25pbAQKdGVhbVdsZ29sZAkA8AcCBQh0ZWFtQWRkcgUFd2xnSWQECGFjdFRvdGFsCQBrAwUITUlMTElPTjYFDUFDVElWSVRZU0hBUkUFAk02BA1hY3RBbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwUmVzdAUQYWN0QW1vdW50TGVmdEtleQUIYWN0VG90YWwEEmxhc3RBY3Rpdml0aWVzVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcFJlc3QFFWxhc3RBY3Rpdml0aWVzVGltZUtleQUJaXNzdWVUaW1lBBVhY3RBbW91bnRBdmFpbGFibGVOb3cJAJcDAQkAzAgCCQBrAwUIYWN0VG90YWwJAGUCBQNub3cFEmxhc3RBY3Rpdml0aWVzVGltZQkAaAIAAwUKWUVBUk1JTExJUwkAzAgCBQ1hY3RBbW91bnRMZWZ0BQNuaWwECWFjdFdsZ29sZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcFJlc3QFBXdsZ0lkBAljdXJQZXJpb2QJAGkCCQBlAgUDbm93BQlpc3N1ZVRpbWUFCldFRUtNSUxMSVMEA2VmZgkBCWdldFBpZWNlcwIFC3VzZXJBZGRyT3B0CQCRAwIFCWNvbnRyYWN0cwULZGFwcFN0YWtpbmcEC3RvdGFsUGllY2VzCQCRAwIFA2VmZgAABA9hbW91bnRMZWZ0VG90YWwJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUUc3Rha2Vyc0Ftb3VudExlZnRLZXkAAAQVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQBrAwUPYW1vdW50TGVmdFRvdGFsCQBoAgACBQt0b3RhbFBpZWNlcwkAZAIFC3RvdGFsUGllY2VzCQBoAgkAlgMBCQDMCAIAoI0GCQDMCAIFC3RvdGFsUGllY2VzBQNuaWwJAGUCBQlNQVhQRVJJT0QFCWN1clBlcmlvZAQMbGFzdFVzZXJUaW1lCQELdmFsdWVPckVsc2UCCQCfCAEJARhrZXlMYXN0Q2xhaW1lZFRpbWVCeVVzZXIBBQt1c2VyQWRkck9wdAUJaXNzdWVUaW1lBAp1c2VyQW1vdW50CQBrAwkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAkQMCBQNlZmYAAQULdG90YWxQaWVjZXMJAGUCBQNub3cFDGxhc3RVc2VyVGltZQkAaAIAAwUKWUVBUk1JTExJUwkAzAgCBQxpc3N1ZWRBbW91bnQJAMwIAgkAawMFDXRvdGFsRnVuZHNVc2QFAk04BQxpc3N1ZWRBbW91bnQJAMwIAgUNdG90YWxGdW5kc1VzZAkAzAgCBQplY29ub215VXNkCQDMCAIFB3Jlc3RVc2QJAMwIAgUGd2xnVXNkCQDMCAIFCXB1enpsZVVzZAkAzAgCBQlpc3N1ZVRpbWUJAMwIAgURbGFzdE1hcmtldGluZ1RpbWUJAMwIAgUObWFya2V0aW5nVG90YWwJAMwIAgUTbWFya2V0aW5nQW1vdW50TGVmdAkAzAgCBRttYXJrZXRpbmdBbW91bnRBdmFpbGFibGVOb3cJAMwIAgUPbWFya2V0aW5nV2xnb2xkCQDMCAIFCXRlYW1Ub3RhbAkAzAgCBQ50ZWFtQW1vdW50TGVmdAkAzAgCBRZ0ZWFtQW1vdW50QXZhaWxhYmxlTm93CQDMCAIFCnRlYW1XbGdvbGQJAMwIAgUIYWN0VG90YWwJAMwIAgUNYWN0QW1vdW50TGVmdAkAzAgCBRVhY3RBbW91bnRBdmFpbGFibGVOb3cJAMwIAgUJYWN0V2xnb2xkCQDMCAIFCWN1clBlcmlvZAkAzAgCBQ9hbW91bnRMZWZ0VG90YWwJAMwIAgUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQDMCAIFDGxhc3RVc2VyVGltZQkAzAgCBQp1c2VyQW1vdW50BQNuaWwBDGtleUR1Y2tDaGFycwELZHVja0Fzc2V0SWQJAKwCAgIKZHVja0NoYXJzXwULZHVja0Fzc2V0SWQBCWtleUR1Y2tYUAELZHVja0Fzc2V0SWQJAKwCAgIHZHVja1hQXwULZHVja0Fzc2V0SWQBDGtleUR1Y2tMZXZlbAELZHVja0Fzc2V0SWQJAKwCAgIKZHVja0xldmVsXwULZHVja0Fzc2V0SWQBEWtleUR1Y2tGcmVlUG9pbnRzAQtkdWNrQXNzZXRJZAkArAICAg9kdWNrRnJlZVBvaW50c18FC2R1Y2tBc3NldElkAQlrZXlVc2VyWFABBGFkZHIJAKwCAgIHdXNlclhQXwUEYWRkcgEMa2V5VXNlckxldmVsAQRhZGRyCQCsAgICCnVzZXJMZXZlbF8FBGFkZHIBEWtleVVzZXJGcmVlUG9pbnRzAQRhZGRyCQCsAgICD3VzZXJGcmVlUG9pbnRzXwUEYWRkcgEJbWF4SGVhbHRoAQVsZXZlbAkAZAIAZAUFbGV2ZWwACkFSVFBSRVNBTEUCB1BSRVNBTEUACkFSVE9OQk9BUkQCB09OQk9BUkQABk5VTVJFUwAGAA9EQUlMWVJFU0JZUElFQ0UAgPjSAQAJREFZTUlMTElTAIC4mSkADFdITVVMVElQTElFUgCAyK+gJQAQUkVTT1VSQ0VQUklDRU1JTgDVtQIADUVTTUFYUEFDS0FHRVMAAwAJRVNCVVlDT0VGAAQACkVTU0VMTENPRUYACgAQcHJvZHVjdGlvbk1hdHJpeAkAzAgCAhIxXzFfMV8yXzJfNV8xXzEwXzAJAMwIAgITMl8yXzJfNF80XzEwXzFfMTBfMAkAzAgCAhMzXzNfM182XzZfMTVfMV8xMF8wCQDMCAICEzJfNV81XzJfN181XzJfMTAwXzEJAMwIAgIXNF8xMF8xMF80XzE0XzEwXzJfMTAwXzEJAMwIAgIXNl8xNV8xNV82XzIxXzE1XzJfMTAwXzEJAMwIAgISMV8xXzFfMV8xXzhfMV8xMF8yCQDMCAICEzJfMl8yXzJfMl8xNl8xXzEwXzIJAMwIAgITM18zXzNfM18zXzI0XzFfMTBfMgkAzAgCAhM5XzlfMV81XzVfMV81XzEwMF8zCQDMCAICFzE4XzE4XzJfMTBfMTBfMl81XzEwMF8zCQDMCAICFzI3XzI3XzNfMTVfMTVfM181XzEwMF8zCQDMCAICEjJfMl8xXzJfMl8yXzFfMTBfNAkAzAgCAhI0XzRfMl80XzRfNF8xXzEwXzQJAMwIAgISNl82XzNfNl82XzZfMV8xMF80BQNuaWwAEXJlY2lwZUlkeFBhY2tzaXplAAcBEWtleUxhc3RUeElkQnlVc2VyAQRhZGRyCQCsAgICD2xhc3RUeElkQnlVc2VyXwUEYWRkcgEVa2V5TGFuZEFzc2V0SWRUb093bmVyAQdhc3NldElkCQCsAgICCW5mdE93bmVyXwUHYXNzZXRJZAEaa2V5TGFuZEFzc2V0SWRUb0N1c3RvbU5hbWUBB2Fzc2V0SWQJAKwCAgIYbGFuZEN1c3RvbU5hbWVCeUFzc2V0SWRfBQdhc3NldElkARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQdhc3NldElkCQCsAgICC3N0YWtlZFRpbWVfBQdhc3NldElkARZrZXlJbmZyYUxldmVsQnlBc3NldElkAQdhc3NldElkCQCsAgICC2luZnJhTGV2ZWxfBQdhc3NldElkASBrZXlMYW5kQXJ0U3RhdHVzQnlUeXBlQW5kQXNzZXRJZAIEdHlwZQdhc3NldElkCQC5CQIJAMwIAgINbGFuZEFydFN0YXR1cwkAzAgCBQR0eXBlCQDMCAIFB2Fzc2V0SWQFA25pbAIBXwESa2V5V2FyZWhvdXNlQnlMYW5kAQtsYW5kQXNzZXRJZAkArAICAgp3YXJlSG91c2VfBQtsYW5kQXNzZXRJZAEaa2V5RHVja0Fzc2V0SWRUb0N1c3RvbU5hbWUBB2Fzc2V0SWQJAKwCAgIYZHVja0N1c3RvbU5hbWVCeUFzc2V0SWRfBQdhc3NldElkARZrZXlBZGRyZXNzVG9DdXN0b21OYW1lAQRhZGRyCQCsAgICGGFjY291bnRDdXN0b21OYW1lQnlBZGRyXwUEYWRkcgEPa2V5QWRkcmVzc1JlZkJ5AQRhZGRyCQCsAgICCWFjY1JlZkJ5XwUEYWRkcgEca2V5T25ib2FyZEFydER1Y2tBY3RpdmF0ZWRCeQEEYWRkcgkArAICAhpvbmJvYXJkQXJ0QWN0aXZhdGVkRHVja0J5XwUEYWRkcgETa2V5QWRkcmVzc1JlZmVycmFscwEEYWRkcgkArAICAg1hY2NSZWZlcnJhbHNfBQRhZGRyARBrZXlEdWNrSWRUb093bmVyAQdhc3NldElkCQCsAgICCmR1Y2tPd25lcl8FB2Fzc2V0SWQBFGtleVN0YWtlZER1Y2tCeU93bmVyAQlvd25lckFkZHIJAKwCAgISc3Rha2VkRHVja0J5T3duZXJfBQlvd25lckFkZHIBD2tleUR1Y2tMb2NhdGlvbgELZHVja0Fzc2V0SWQJAKwCAgINZHVja0xvY2F0aW9uXwULZHVja0Fzc2V0SWQBDWtleUR1Y2tIZWFsdGgBC2R1Y2tBc3NldElkCQCsAgICC2R1Y2tIZWFsdGhfBQtkdWNrQXNzZXRJZAEKa2V5QmxvY2tlZAACEGNvbnRyYWN0c0Jsb2NrZWQBDmtleU9yZGVyQnlMYW5kAQtsYW5kQXNzZXRJZAkArAICAgpsYW5kT3JkZXJfBQtsYW5kQXNzZXRJZAEOa2V5RXNXYXJlaG91c2UAAhplbWVyZ2VuY3lXYXJlaG91c2VQcm9kdWN0cwESZ2V0UmVjaXBlTWF0ZXJpYWxzAQZyZWNpcGUKAQZhZGRNYXQCAmFjAWoJAGQCBQJhYwkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBnJlY2lwZQUBagoAAiRsCQDMCAIAAAkAzAgCAAEJAMwIAgACCQDMCAIAAwkAzAgCAAQJAMwIAgAFBQNuaWwKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBBmFkZE1hdAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAFY2hhaW4JAMkBAgkAygECCAUEdGhpcwVieXRlcwABAAEAC3VzZHRBc3NldElkBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwASCE2nqyCAM/TtG7yo7ui5O8yYLdC136B5ao1CP5qA//uQMJAAACAQFUBQckbWF0Y2gwASBVsdifcoeC7+XjW42sBatl3ppDoS8WuwXzGreHpfHFGAkAAgECDVVua25vd24gY2hhaW4AFWRlZmF1bHRSZXN0QWRkcmVzc1N0cgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1BRQ3V2RmJ2aDRMa1BVbnJuVTF6M2puYkExcDltM1dOaHYDCQAAAgEBVAUHJG1hdGNoMAIjM011bWtHR3p0Q0tBWHBXRHF4a2Rkb2ZxWFNVYnFRa3ZTSnkJAAIBAg1Vbmtub3duIGNoYWluABFJbmZyYVVwZ3JhZGVDb3N0UwQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMACAyK+gJQMJAAACAQFUBQckbWF0Y2gwAIDC1y8JAAIBAg1Vbmtub3duIGNoYWluAANTRVACAl9fAAVNVUxUNgDAhD0ABVNTSVpFABkABU1TSVpFAGQABUxTSVpFAOEBAAZYTFNJWkUAkAMAB1hYTFNJWkUA8QQBD2dldFN0cmluZ09yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAABFJZHhDZmdTdGFraW5nRGFwcAABABFJZHhDZmdFY29ub215RGFwcAACABRJZHhDZmdHb3Zlcm5hbmNlRGFwcAADAA1JZHhDZmdXbGdEYXBwAAQAFElkeENmZ1B1enpsZVBvb2xEYXBwAAUBCmtleVJlc3RDZmcAAg4lc19fcmVzdENvbmZpZwEOa2V5UmVzdEFkZHJlc3MAAgwlc19fcmVzdEFkZHIBEXJlYWRSZXN0Q2ZnT3JGYWlsAQRyZXN0CQC8CQIJAQ9nZXRTdHJpbmdPckZhaWwCBQRyZXN0CQEKa2V5UmVzdENmZwAFA1NFUAEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgdyZXN0Q2ZnA2lkeAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAJEDAgUHcmVzdENmZwUDaWR4CQCsAgICKlJlc3QgY2ZnIGRvZXNuJ3QgY29udGFpbiBhZGRyZXNzIGF0IGluZGV4IAkApAMBBQNpZHgADHJlc3RDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEOa2V5UmVzdEFkZHJlc3MABRVkZWZhdWx0UmVzdEFkZHJlc3NTdHIAB3Jlc3RDZmcJARFyZWFkUmVzdENmZ09yRmFpbAEFDHJlc3RDb250cmFjdAAPc3Rha2luZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwURSWR4Q2ZnU3Rha2luZ0RhcHAAD2Vjb25vbXlDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFEUlkeENmZ0Vjb25vbXlEYXBwAAtnb3ZDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ0dvdmVybmFuY2VEYXBwAAt3bGdDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFDUlkeENmZ1dsZ0RhcHAAEnB1enpsZVBvb2xDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ1B1enpsZVBvb2xEYXBwAApyZWNMYW5kTnVtAAAAC3JlY0xhbmRTaXplAAEAC3JlY1RlcnJhaW5zAAIADHJlY0NvbnRpbmVudAADAA13bGdBc3NldElkS2V5Agt3bGdfYXNzZXRJZAAKd2xnQXNzZXRJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCcCAIFC3dsZ0NvbnRyYWN0BQ13bGdBc3NldElkS2V5AhNOb3QgaW5pdGlhbGl6ZWQgeWV0AApJZHhFZmZVc2VyAAEBEWtleVJlc1Byb3BvcnRpb25zAAITcmVzVHlwZXNQcm9wb3J0aW9ucwEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQlvd25lckFkZHIJAKwCAgITc3Rha2VkTGFuZHNCeU93bmVyXwUJb3duZXJBZGRyAQhhc1N0cmluZwEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAFAXMJAAIBAhhmYWlsIHRvIGNhc3QgaW50byBTdHJpbmcBBWFzSW50AQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACA0ludAQBbgUHJG1hdGNoMAUBbgkAAgECFWZhaWwgdG8gY2FzdCBpbnRvIEludAEJYXNCb29sZWFuAQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAXMFByRtYXRjaDAFAXMJAAIBAhlmYWlsIHRvIGNhc3QgaW50byBCb29sZWFuAQ9udW1QaWVjZXNCeVNpemUBCGxhbmRTaXplBAckbWF0Y2gwBQhsYW5kU2l6ZQMJAAACAgFTBQckbWF0Y2gwBQVTU0laRQMJAAACAgFNBQckbWF0Y2gwBQVNU0laRQMJAAACAgFMBQckbWF0Y2gwBQVMU0laRQMJAAACAgJYTAUHJG1hdGNoMAUGWExTSVpFAwkAAAICA1hYTAUHJG1hdGNoMAUHWFhMU0laRQkAAgECEVVua25vd24gbGFuZCBzaXplAQ5nZXRWb3RpbmdQb3dlcgESdXNlckFkZHJTdHJPckVtcHR5BAVwcm9wcwkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleVJlc1Byb3BvcnRpb25zAAILMF8wXzBfMF8wXzACAV8KAQVhZGRlcgIDYWNjBGl0ZW0JAGQCBQNhY2MJAQ1wYXJzZUludFZhbHVlAQUEaXRlbQQKdG90YWxQb3dlcgoAAiRsBQVwcm9wcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEFYWRkZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYECnVzZXJzUG93ZXIDCQAAAgUSdXNlckFkZHJTdHJPckVtcHR5AgAAAAQIbGFuZHNTdHIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQUSdXNlckFkZHJTdHJPckVtcHR5BAVsYW5kcwMJAQlpc0RlZmluZWQBBQhsYW5kc1N0cgkAvQkCCQEFdmFsdWUBBQhsYW5kc1N0cgIBXwUDbmlsCgEHb25lTGFuZAIDYWNjC2xhbmRBc3NldElkBAVhc3NldAkBBXZhbHVlAQkA7AcBCQDZBAEFC2xhbmRBc3NldElkBAhsYW5kU2l6ZQkAkQMCCQC1CQIIBQVhc3NldAtkZXNjcmlwdGlvbgIBXwULcmVjTGFuZFNpemUJAGQCBQNhY2MJAQ9udW1QaWVjZXNCeVNpemUBBQhsYW5kU2l6ZQoAAiRsBQVsYW5kcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMV8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEHb25lTGFuZAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMV8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIVTGlzdCBzaXplIGV4Y2VlZHMgMTAwCQEFJGYxXzICCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQJAMwIAgUKdG90YWxQb3dlcgkAzAgCBQp1c2Vyc1Bvd2VyBQNuaWwADVVTRFRQUklaRVBBUlQAoMIeARJhc0xpc3RJbnRDb21wYWN0ZWQBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACCUxpc3RbQW55XQQKdmFsQW55TGlzdAUHJG1hdGNoMAMJAQIhPQIJAJADAQUKdmFsQW55TGlzdAUGTlVNUkVTCQACAQkArAICAg5BcnJheSBzaXplIGlzIAkApAMBCQCQAwEFCnZhbEFueUxpc3QKAQRjb252AgNhY2MEaXRlbQQHJG1hdGNoMQUEaXRlbQMJAAECBQckbWF0Y2gxAgNJbnQEAml0BQckbWF0Y2gxCQDNCAIFA2FjYwkApAMBBQJpdAkAAgECFExpc3QgdHlwZSBpcyBub3QgSW50BAFyCgACJGwFCnZhbEFueUxpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBBGNvbnYCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYJALkJAgUBcgIBXwkAAgECFmZhaWwgdG8gY2FzdCBpbnRvIExpc3QBDWFzU3BsaXRSZXN1bHQBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACFihMaXN0W0FueV0sIExpc3RbQW55XSkEAnQyBQckbWF0Y2gwCQCUCgIJARJhc0xpc3RJbnRDb21wYWN0ZWQBCAUCdDICXzEJARJhc0xpc3RJbnRDb21wYWN0ZWQBCAUCdDICXzIJAAIBAh5mYWlsIHRvIGNhc3QgaW50byAoTGlzdCwgTGlzdCkBDndhbGxldEludGVybmFsAQ51c2VyQWRkcmVzc09wdAQEYWRkcgkApggBBQ51c2VyQWRkcmVzc09wdAQHYmFsYW5jZQMJAQlpc0RlZmluZWQBBQRhZGRyCQDvBwEJAQV2YWx1ZQEFBGFkZHIJAQ5CYWxhbmNlRGV0YWlscwQAAAAAAAAAAAQLdXNkdEJhbGFuY2UDCQEJaXNEZWZpbmVkAQUEYWRkcgkA8AcCCQEFdmFsdWUBBQRhZGRyBQt1c2R0QXNzZXRJZAAABA13bGdvbGRCYWxhbmNlAwkBCWlzRGVmaW5lZAEFBGFkZHIJAPAHAgkBBXZhbHVlAQUEYWRkcgUKd2xnQXNzZXRJZAAABApjdXN0b21OYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleUFkZHJlc3NUb0N1c3RvbU5hbWUBBQ51c2VyQWRkcmVzc09wdAUOdXNlckFkZHJlc3NPcHQECHJlZkJ5S2V5CQEPa2V5QWRkcmVzc1JlZkJ5AQUOdXNlckFkZHJlc3NPcHQEBXJlZkJ5CQCdCAIFD3N0YWtpbmdDb250cmFjdAUIcmVmQnlLZXkEBHJlZnMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQETa2V5QWRkcmVzc1JlZmVycmFscwEFDnVzZXJBZGRyZXNzT3B0AgAECGxhc3RUeElkCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleUxhc3RUeElkQnlVc2VyAQUOdXNlckFkZHJlc3NPcHQCAAQGcGllY2VzCQCRAwIJAQ5nZXRWb3RpbmdQb3dlcgEFDnVzZXJBZGRyZXNzT3B0BQpJZHhFZmZVc2VyBAJ4cAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQlrZXlVc2VyWFABBQ51c2VyQWRkcmVzc09wdAAABANsdmwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEMa2V5VXNlckxldmVsAQUOdXNlckFkZHJlc3NPcHQAAAQKZnJlZVBvaW50cwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARFrZXlVc2VyRnJlZVBvaW50cwEFDnVzZXJBZGRyZXNzT3B0AAAEB29uYm9hcmQDCQEJaXNEZWZpbmVkAQUFcmVmQnkJAKwCAgUKQVJUT05CT0FSRAMDCQEJaXNEZWZpbmVkAQUEYWRkcgkBCWlzRGVmaW5lZAEJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEca2V5T25ib2FyZEFydER1Y2tBY3RpdmF0ZWRCeQEFDnVzZXJBZGRyZXNzT3B0BwICOjECAjowAgAJAMwIAgkArAICAhIlcyVzX19jdXN0b21OYW1lX18FCmN1c3RvbU5hbWUJAMwIAgkArAICAhIlcyVzX19yZWZlcnJlZEJ5X18JAQt2YWx1ZU9yRWxzZQIFBXJlZkJ5AgAJAMwIAgkArAICAhElcyVzX19yZWZlcnJhbHNfXwUEcmVmcwkAzAgCCQCsAgICECVzJXNfX2xhc3RUeElkX18FCGxhc3RUeElkCQDMCAIJAKwCAgIUJXMlZF9fd2F2ZXNCYWxhbmNlX18JAKQDAQgFB2JhbGFuY2UJYXZhaWxhYmxlCQDMCAIJAKwCAgIVJXMlZF9fd2xnb2xkQmFsYW5jZV9fCQCkAwEFDXdsZ29sZEJhbGFuY2UJAMwIAgkArAICAhMlcyVkX191c2R0QmFsYW5jZV9fCQCkAwEFC3VzZHRCYWxhbmNlCQDMCAIJAKwCAgIUJXMlZF9fc3Rha2VkUGllY2VzX18JAKQDAQUGcGllY2VzCQDMCAIJAKwCAgIRJXMlZF9fY3VycmVudFhwX18JAKQDAQUCeHAJAMwIAgkArAICAhIlcyVkX19jdXJyZW50THZsX18JAKQDAQUDbHZsCQDMCAIJAKwCAgIaJXMlZF9fcG9pbnRzVG9EaXN0cmlidXRlX18JAKQDAQUKZnJlZVBvaW50cwkAzAgCCQCsAgICFyVzJXNfX3dhbGxldEFydGVmYWN0c19fBQdvbmJvYXJkBQNuaWwBDGFwcGx5Qm9udXNlcwILbGFuZEFzc2V0SWQGcGllY2VzBAppbmZyYUxldmVsCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleUluZnJhTGV2ZWxCeUFzc2V0SWQBBQtsYW5kQXNzZXRJZAAABAlhcnRQaWVjZXMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEga2V5TGFuZEFydFN0YXR1c0J5VHlwZUFuZEFzc2V0SWQCBQpBUlRQUkVTQUxFBQtsYW5kQXNzZXRJZAAABARhZGQ2CQBpAgUKaW5mcmFMZXZlbAAGBARhZGQ3CQBpAgUKaW5mcmFMZXZlbAAHCQCVCgMFCmluZnJhTGV2ZWwFCWFydFBpZWNlcwkAZAIJAGQCBQ9EQUlMWVJFU0JZUElFQ0UJAGsDBQ9EQUlMWVJFU0JZUElFQ0UJAGQCCQBkAgUKaW5mcmFMZXZlbAUEYWRkNgkAaAIAAgUEYWRkNwAFCQBrAwUPREFJTFlSRVNCWVBJRUNFBQlhcnRQaWVjZXMJAGgCBQZwaWVjZXMABQEXZ2V0V2FyZWhvdXNlVG90YWxWb2x1bWUBCXZvbFByZWZpeAQFcGFydHMJALUJAgUJdm9sUHJlZml4AgFfCQBoAgkAaAIFDFdITVVMVElQTElFUgkAZAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQVwYXJ0cwABAAEJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQVwYXJ0cwAAAQxnZXRXYXJlaG91c2UDBXdoS2V5CWxhbmRJbmRleAppbmZyYUxldmVsBAl2b2xQcmVmaXgJAKwCAgkArAICCQCkAwEFCWxhbmRJbmRleAIBXwkApAMBBQppbmZyYUxldmVsBAR0b3RTCQCkAwEJARdnZXRXYXJlaG91c2VUb3RhbFZvbHVtZQEFCXZvbFByZWZpeAQFd2hTdHIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0BQV3aEtleQkArAICCQCsAgIJAKwCAgkArAICBQl2b2xQcmVmaXgCHjowXzBfMF8wXzBfMDowXzBfMF8wXzBfMDo6MF8wXwUEdG90UwIBXwUEdG90UwkAtQkCBQV3aFN0cgIBOgENZHVja0luZm9UdXBsZQELZHVja0Fzc2V0SWQJAJcKBQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULZHVja0Fzc2V0SWQA////////////AQgJAQV2YWx1ZQEJAOwHAQkA2QQBBQtkdWNrQXNzZXRJZARuYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBD2tleUR1Y2tMb2NhdGlvbgEFC2R1Y2tBc3NldElkAgAJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQENa2V5RHVja0hlYWx0aAEFC2R1Y2tBc3NldElkAP///////////wEJAQhhc1N0cmluZwEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AhNnZXRCYWNrcGFja1JFQURPTkxZCQDMCAIFC2R1Y2tBc3NldElkBQNuaWwFA25pbAENZHVja0luZm9BcnJheQMLZHVja0Fzc2V0SWQFb3duZXIHZHVja0luZgQKY3VzdG9tTmFtZQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARprZXlEdWNrQXNzZXRJZFRvQ3VzdG9tTmFtZQEFC2R1Y2tBc3NldElkCAUHZHVja0luZgJfMgQFY2hhcnMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEMa2V5RHVja0NoYXJzAQULZHVja0Fzc2V0SWQCCTBfMF8wXzBfMAQCeHAJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEJa2V5RHVja1hQAQULZHVja0Fzc2V0SWQAAAQDbHZsCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBDGtleUR1Y2tMZXZlbAEFC2R1Y2tBc3NldElkAAAECmZyZWVQb2ludHMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQERa2V5RHVja0ZyZWVQb2ludHMBBQtkdWNrQXNzZXRJZAAACQDMCAIJAKwCAgIPJXMlc19fYXNzZXRJZF9fBQtkdWNrQXNzZXRJZAkAzAgCCQCsAgICDSVzJXNfX293bmVyX18FBW93bmVyCQDMCAIJAKwCAgISJXMlc19fY3VzdG9tTmFtZV9fBQpjdXN0b21OYW1lCQDMCAIJAKwCAgISJXMlZF9fc3Rha2VkVGltZV9fCQCkAwEIBQdkdWNrSW5mAl8xCQDMCAIJAKwCAgIMJXMlc19fbmFtZV9fCAUHZHVja0luZgJfMgkAzAgCCQCsAgICECVzJXNfX2xvY2F0aW9uX18IBQdkdWNrSW5mAl8zCQDMCAIJAKwCAgIOJXMlZF9faGVhbHRoX18JAKQDAQgFB2R1Y2tJbmYCXzQJAMwIAgkArAICAhElcyVkX19tYXhIZWFsdGhfXwkApAMBCQEJbWF4SGVhbHRoAQUDbHZsCQDMCAIJAKwCAgIXJXMlc19fY2hhcmFjdGVyaXN0aWNzX18FBWNoYXJzCQDMCAIJAKwCAgIRJXMlZF9fY3VycmVudFhwX18JAKQDAQUCeHAJAMwIAgkArAICAhIlcyVkX19jdXJyZW50THZsX18JAKQDAQUDbHZsCQDMCAIJAKwCAgIaJXMlZF9fcG9pbnRzVG9EaXN0cmlidXRlX18JAKQDAQUKZnJlZVBvaW50cwkAzAgCCQCsAgICECVzJXNfX2JhY2tQYWNrX18IBQdkdWNrSW5mAl81BQNuaWwBDWxhbmRJbmZvQXJyYXkDC2xhbmRBc3NldElkBW93bmVyCnN0YWtlZFRpbWUDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBAFhCQEFdmFsdWUBCQDsBwEJANkEAQULbGFuZEFzc2V0SWQEAWQJALUJAggFAWELZGVzY3JpcHRpb24CAV8EB2xhbmROdW0DCQBmAggFAWEIcXVhbnRpdHkAAAkAkQMCBQFkBQpyZWNMYW5kTnVtCQCsAgICAS0JAJEDAgUBZAUKcmVjTGFuZE51bQQGcGllY2VzCQEPbnVtUGllY2VzQnlTaXplAQkAkQMCBQFkBQtyZWNMYW5kU2l6ZQQMcHJvZHVjdGl2aXR5CQEMYXBwbHlCb251c2VzAgULbGFuZEFzc2V0SWQFBnBpZWNlcwQJZGVsdGFUaW1lCQBlAggFCWxhc3RCbG9jawl0aW1lc3RhbXAFCnN0YWtlZFRpbWUECGF2YWlsUmVzAwkAZgIFCnN0YWtlZFRpbWUAAAkAawMFCWRlbHRhVGltZQkAaAIIBQxwcm9kdWN0aXZpdHkCXzMFBnBpZWNlcwUJREFZTUlMTElTAAAEB25lZWRNYXQJAGsDBRFJbmZyYVVwZ3JhZGVDb3N0UwkAaAIFBnBpZWNlcwkAZAIIBQxwcm9kdWN0aXZpdHkCXzEAAQUFU1NJWkUEDmdsb2JhbEFuZExvY2FsAwkAZgIFCnN0YWtlZFRpbWUAAAkBDWFzU3BsaXRSZXN1bHQBCQD8BwQFD3N0YWtpbmdDb250cmFjdAIkc3BsaXRCeUdsb2JhbEFuZExvY2FsV2VpZ2h0c1JFQURPTkxZCQDMCAIFB25lZWRNYXQJAMwIAgUIYXZhaWxSZXMJAMwIAgkAkQMCBQFkBQtyZWNUZXJyYWlucwUDbmlsBQNuaWwJAJQKAgkBEmFzTGlzdEludENvbXBhY3RlZAEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AhxzcGxpdEJ5R2xvYmFsV2VpZ2h0c1JFQURPTkxZCQDMCAIFB25lZWRNYXQFA25pbAUDbmlsAgAECmN1c3RvbU5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEaa2V5TGFuZEFzc2V0SWRUb0N1c3RvbU5hbWUBBQtsYW5kQXNzZXRJZAkArAICCQCsAgIJAJEDAgUBZAUMcmVjQ29udGluZW50AgEtCQCRAwIFAWQFCnJlY0xhbmROdW0JAMwIAgkArAICAg8lcyVzX19hc3NldElkX18FC2xhbmRBc3NldElkCQDMCAIJAKwCAgINJXMlc19fb3duZXJfXwUFb3duZXIJAMwIAgkArAICAhIlcyVzX19jdXN0b21OYW1lX18FCmN1c3RvbU5hbWUJAMwIAgkArAICAhIlcyVkX19zdGFrZWRUaW1lX18JAKQDAQUKc3Rha2VkVGltZQkAzAgCCQCsAgICEyVzJXNfX2Rlc2NyaXB0aW9uX18JALkJAgkAzAgCBQdsYW5kTnVtCQDMCAIJAJEDAgUBZAULcmVjTGFuZFNpemUJAMwIAgkAkQMCBQFkBQtyZWNUZXJyYWlucwkAzAgCCQCRAwIFAWQFDHJlY0NvbnRpbmVudAUDbmlsAgFfCQDMCAIJAKwCAgISJXMlZF9faW5mcmFMZXZlbF9fCQCkAwEIBQxwcm9kdWN0aXZpdHkCXzEJAMwIAgkArAICAhYlcyVzX19hdmFpbFJlc0J5VHlwZV9fCAUOZ2xvYmFsQW5kTG9jYWwCXzIJAMwIAgkArAICAhUlcyVkX19hdmFpbFJlc1RvdGFsX18JAKQDAQUIYXZhaWxSZXMJAMwIAgkArAICAhQlcyVzX19uZWVkTWF0ZXJpYWxfXwgFDmdsb2JhbEFuZExvY2FsAl8xCQDMCAIJAKwCAgIdJXMlc19fbGFuZEFydGVmYWN0c19fUFJFU0FMRToJAKQDAQgFDHByb2R1Y3Rpdml0eQJfMgkAzAgCCQCsAgICESVzJXNfX3dhcmVob3VzZV9fCQC5CQIJAQxnZXRXYXJlaG91c2UDCQESa2V5V2FyZWhvdXNlQnlMYW5kAQULbGFuZEFzc2V0SWQJAGkCBQZwaWVjZXMFBVNTSVpFCAUMcHJvZHVjdGl2aXR5Al8xAgE6CQDMCAIJAKwCAgIRJXMlc19fbGFuZE9yZGVyX18JAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPZWNvbm9teUNvbnRyYWN0CQEOa2V5T3JkZXJCeUxhbmQBBQtsYW5kQXNzZXRJZAIwMEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6MEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6BQNuaWwBEmxhbmRPcmRlckluZm9BcnJheQILbGFuZEFzc2V0SWQFb3duZXIDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBAFhCQEFdmFsdWUBCQDsBwEJANkEAQULbGFuZEFzc2V0SWQEAWQJALUJAggFAWELZGVzY3JpcHRpb24CAV8EBnBpZWNlcwkBD251bVBpZWNlc0J5U2l6ZQEJAJEDAgUBZAULcmVjTGFuZFNpemUEDHByb2R1Y3Rpdml0eQkBDGFwcGx5Qm9udXNlcwIFC2xhbmRBc3NldElkBQZwaWVjZXMJAMwIAgkArAICAg8lcyVzX19hc3NldElkX18FC2xhbmRBc3NldElkCQDMCAIJAKwCAgINJXMlc19fb3duZXJfXwUFb3duZXIJAMwIAgkArAICAhElcyVzX193YXJlaG91c2VfXwkAuQkCCQEMZ2V0V2FyZWhvdXNlAwkBEmtleVdhcmVob3VzZUJ5TGFuZAEFC2xhbmRBc3NldElkCQBpAgUGcGllY2VzBQVTU0laRQgFDHByb2R1Y3Rpdml0eQJfMQIBOgkAzAgCCQCsAgICESVzJXNfX2xhbmRPcmRlcl9fCQELdmFsdWVPckVsc2UCCQCdCAIFD2Vjb25vbXlDb250cmFjdAkBDmtleU9yZGVyQnlMYW5kAQULbGFuZEFzc2V0SWQCMDBAMF8wQDBfMEAwXzBAMF8wQDBfMEAwOjBAMF8wQDBfMEAwXzBAMF8wQDBfMEAwOgUDbmlsDwFpAQ1jb25zdHJ1Y3RvclYxAQljb250cmFjdHMDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhJwZXJtaXNzaW9ucyBkZW5pZWQKAQpkZXNjcmlwdG9yAgNhY2MLaWdub3JlZEl0ZW0JAKwCAgUDYWNjAgIlcwQFZGVzY3IKAAIkbAUJY29udHJhY3RzCgACJHMJAJADAQUCJGwKAAUkYWNjMAIACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQpkZXNjcmlwdG9yAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQprZXlSZXN0Q2ZnAAkAuQkCCQDMCAIFBWRlc2NyBQljb250cmFjdHMFA1NFUAkAzAgCCQELU3RyaW5nRW50cnkCCQEOa2V5UmVzdEFkZHJlc3MACQClCAEFBHRoaXMFA25pbAFpARJ3YWxsZXRJbmZvUkVBRE9OTFkBDnVzZXJBZGRyZXNzT3B0CQCUCgIFA25pbAkBDndhbGxldEludGVybmFsAQUOdXNlckFkZHJlc3NPcHQBaQEXZHVja0J5T3duZXJJbmZvUkVBRE9OTFkBC3VzZXJBZGRyZXNzBApzdGFrZWREdWNrCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFGtleVN0YWtlZER1Y2tCeU93bmVyAQULdXNlckFkZHJlc3MJAJQKAgUDbmlsAwMJAQlpc0RlZmluZWQBCQCmCAEFC3VzZXJBZGRyZXNzCQEJaXNEZWZpbmVkAQUKc3Rha2VkRHVjawcEC2R1Y2tBc3NldElkCQEFdmFsdWUBBQpzdGFrZWREdWNrCQENZHVja0luZm9BcnJheQMFC2R1Y2tBc3NldElkBQt1c2VyQWRkcmVzcwkBDWR1Y2tJbmZvVHVwbGUBBQtkdWNrQXNzZXRJZAkBDWR1Y2tJbmZvQXJyYXkDAgAFC3VzZXJBZGRyZXNzCQCXCgUA////////////AQIAAgAA////////////AQIAAWkBGWR1Y2tCeUFzc2V0SWRJbmZvUkVBRE9OTFkBC2R1Y2tBc3NldElkBAVvd25lcgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARBrZXlEdWNrSWRUb093bmVyAQULZHVja0Fzc2V0SWQEB2R1Y2tJbmYJAQ1kdWNrSW5mb1R1cGxlAQULZHVja0Fzc2V0SWQJAJQKAgUDbmlsCQENZHVja0luZm9BcnJheQMFC2R1Y2tBc3NldElkAwkBCWlzRGVmaW5lZAEFBW93bmVyCQEFdmFsdWUBBQVvd25lcgIACQENZHVja0luZm9UdXBsZQEFC2R1Y2tBc3NldElkAWkBGWxhbmRCeUFzc2V0SWRJbmZvUkVBRE9OTFkBC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQKc3Rha2VkVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULbGFuZEFzc2V0SWQA////////////AQQFb3duZXIDCQBmAgUKc3Rha2VkVGltZQAACQEFdmFsdWUBCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFWtleUxhbmRBc3NldElkVG9Pd25lcgEFC2xhbmRBc3NldElkAgAJAJQKAgUDbmlsCQENbGFuZEluZm9BcnJheQMFC2xhbmRBc3NldElkBQVvd25lcgUKc3Rha2VkVGltZQFpAR5zdGFrZWRMYW5kc0J5T3duZXJJbmZvUkVBRE9OTFkBEGxhbmRPd25lckFkZHJlc3MDCQAAAgUQbGFuZE93bmVyQWRkcmVzcwIACQACAQIcbGFuZE93bmVyQWRkcmVzcyBpcyByZXF1aXJlZAQIbGFuZHNTdHIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQUQbGFuZE93bmVyQWRkcmVzcwQFbGFuZHMDCQEJaXNEZWZpbmVkAQUIbGFuZHNTdHIJAL0JAgkBBXZhbHVlAQUIbGFuZHNTdHICAV8FA25pbAoBB29uZUxhbmQCA2FjYwtsYW5kQXNzZXRJZAMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQECnN0YWtlZFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAP///////////wEJAM0IAgUDYWNjCQENbGFuZEluZm9BcnJheQMFC2xhbmRBc3NldElkBRBsYW5kT3duZXJBZGRyZXNzBQpzdGFrZWRUaW1lBAFyCgACJGwFBWxhbmRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQdvbmVMYW5kAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhVMaXN0IHNpemUgZXhjZWVkcyAxMDAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBf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d25lcgMJAGYCBQpzdGFrZWRUaW1lAAAJAQV2YWx1ZQEJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5TGFuZEFzc2V0SWRUb093bmVyAQULbGFuZEFzc2V0SWQCAAkAlAoCBQNuaWwJARJsYW5kT3JkZXJJbmZvQXJyYXkCBQtsYW5kQXNzZXRJZAUFb3duZXIBaQEbb3JkZXJzQnlMYW5kSWRzSW5mb1JFQURPTkxZAQxsYW5kQXNzZXRJZHMKAQdvbmVMYW5kAgNhY2MLbGFuZEFzc2V0SWQDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBApzdGFrZWRUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBBQtsYW5kQXNzZXRJZAD///////////8BBAVvd25lcgMJAGYCBQpzdGFrZWRUaW1lAAAJAQV2YWx1ZQEJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5TGFuZEFzc2V0SWRUb093bmVyAQULbGFuZEFzc2V0SWQCAAkAzQgCBQNhY2MJARJsYW5kT3JkZXJJbmZvQXJyYXkCBQtsYW5kQXNzZXRJZAUFb3duZXIEAXIKAAIkbAUMbGFuZEFzc2V0SWRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQdvbmVMYW5kAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyA0MAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkB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CgIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQULdXNlckFkZHJlc3MFA2FtdAULdXNkdEFzc2V0SWQFA25pbAUDYW10AWkBH2dldEVtZXJnZW5jeVNlcnZpY2VEYXRhUkVBRE9OTFkABAhleGlzdFN0cgkAnQgCBQ9lY29ub215Q29udHJhY3QJAQ5rZXlFc1dhcmVob3VzZQAEDGV4aXN0QW1vdW50cwMJAQlpc0RlZmluZWQBBQhleGlzdFN0cgkAtQkCCQEFdmFsdWUBBQhleGlzdFN0cgIBXwUDbmlsCgEKc2luZ2xlUHJvZAIDYWNjCXJlY2lwZVN0cgQBbggFA2FjYwJfMgQGcmVjaXBlCQC1CQIFCXJlY2lwZVN0cgIBXwQIcGFja1NpemUJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQZyZWNpcGUFEXJlY2lwZUlkeFBhY2tzaXplBAltYXhBbW91bnQDCQAAAgUBbgAACQBoAgUNRVNNQVhQQUNLQUdFUwUIcGFja1NpemUAAAQLZXhpc3RBbW91bnQDCQBmAgkAkAMBBQxleGlzdEFtb3VudHMFAW4JAQ1wYXJzZUludFZhbHVlAQkAkQMCBQxleGlzdEFtb3VudHMFAW4AAAQIdG90YWxNYXQJARJnZXRSZWNpcGVNYXRlcmlhbHMBBQZyZWNpcGUECGJ1eVByaWNlCQBrAwkAaAIFCHRvdGFsTWF0BQlFU0JVWUNPRUYFEFJFU09VUkNFUFJJQ0VNSU4JAGgCAAoFCHBhY2tTaXplBAlzZWxsUHJpY2UJAGsDCQBoAgUIdG90YWxNYXQFCkVTU0VMTENPRUYFEFJFU09VUkNFUFJJQ0VNSU4JAGgCAAoFCHBhY2tTaXplBAF5CQC5CQIJAMwIAgkApAMBBQltYXhBbW91bnQJAMwIAgkApAMBBQtleGlzdEFtb3VudAkAzAgCCQCkAwEFCGJ1eVByaWNlCQDMCAIJAKQDAQUJc2VsbFByaWNlBQNuaWwCAV8JAJQKAgkAzQgCCAUDYWNjAl8xBQF5CQBkAgUBbgABBAFzCQC6CQIICgACJGwFEHByb2R1Y3Rpb25NYXRyaXgKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCUCgIFA25pbAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQpzaW5nbGVQcm9kAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyA1MAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADICXzECAToEBnJlc3VsdAkArAICAhwlcyVzX19lbWVyZ2VuY3lTZXJ2aWNlRGF0YV9fBQFzCQCUCgIFA25pbAUGcmVzdWx0AWkBEHdsZ1N0YXRzUkVBRE9OTFkBC3VzZXJBZGRyT3B0BAhjdXJTdGF0cwkBC2dldFdsZ1N0YXRzAwULdXNlckFkZHJPcHQJAMwIAgUMcmVzdENvbnRyYWN0CQDMCAIFD3N0YWtpbmdDb250cmFjdAkAzAgCBQ9lY29ub215Q29udHJhY3QJAMwIAgULZ292Q29udHJhY3QJAMwIAgULd2xnQ29udHJhY3QJAMwIAgUScHV6emxlUG9vbENvbnRyYWN0BQNuaWwFC3VzZHRBc3NldElkCQCUCgIFA25pbAkAzAgCCQCsAgICEyVzJXMlZF9fd2xnQW1vdW50X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUMaWR4V2xnQW1vdW50CQDMCAIJAKwCAgISJXMlcyVkX193bGdQcmljZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFC2lkeFdsZ1ByaWNlCQDMCAIJAKwCAgITJXMlcyVkX191c2R0RnVuZHNfXwkApAMBCQCRAwIFCGN1clN0YXRzBQtpZHhXbGdGdW5kcwkAzAgCCQCsAgICFSVzJXMlZF9fdXNkdEVjb25vbXlfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ1pZHhXbGdFY29ub215CQDMCAIJAKwCAgIWJXMlcyVkX191c2R0QWN0aXZpdHlfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ5pZHhXbGdBY3Rpdml0eQkAzAgCCQCsAgICFyVzJXMlZF9fdXNkdEFyYml0cmFnZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFD2lkeFdsZ0FyYml0cmFnZQkAzAgCCQCsAgICEiVzJXMlZF9fdXNkdFBvb2xfXwkApAMBCQCRAwIFCGN1clN0YXRzBQppZHhXbGdQb29sCQDMCAIJAKwCAgIWJXMlcyVkX193bGdJc3N1ZVRpbWVfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdJc3N1ZVRpbWUJAMwIAgkArAICAiUlcyVzJWRfX3dsZ0xhc3RNYXJrZXRpbmdUZWFtQWN0VGltZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFEWlkeFdsZ0xhc3RNVEFUaW1lCQDMCAIJAKwCAgIbJXMlcyVkX193bGdNYXJrZXRpbmdUb3RhbF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFGlkeFdsZ01hcmtldGluZ1RvdGFsCQDMCAIJAKwCAgIcJXMlcyVkX193bGdNYXJrZXRpbmdBbUxlZnRfXwkApAMBCQCRAwIFCGN1clN0YXRzBRVpZHhXbGdNYXJrZXRpbmdBbUxlZnQJAMwIAgkArAICAiAlcyVzJWRfX3dsZ01hcmtldGluZ0FtQXZhaWxOb3dfXwkApAMBCQCRAwIFCGN1clN0YXRzBRlpZHhXbGdNYXJrZXRpbmdBbUF2YWlsTm93CQDMCAIJAKwCAgIcJXMlcyVkX193bGdNYXJrZXRpbmdXbGdvbGRfXwkApAMBCQCRAwIFCGN1clN0YXRzBRVpZHhXbGdNYXJrZXRpbmdXbGdvbGQJAMwIAgkArAICAhYlcyVzJWRfX3dsZ1RlYW1Ub3RhbF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFD2lkeFdsZ1RlYW1Ub3RhbAkAzAgCCQCsAgICFyVzJXMlZF9fd2xnVGVhbUFtTGVmdF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFEGlkeFdsZ1RlYW1BbUxlZnQJAMwIAgkArAICAhslcyVzJWRfX3dsZ1RlYW1BbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUUaWR4V2xnVGVhbUFtQXZhaWxOb3cJAMwIAgkArAICAhclcyVzJWRfX3dsZ1RlYW1XbGdvbGRfXwkApAMBCQCRAwIFCGN1clN0YXRzBRBpZHhXbGdUZWFtV2xnb2xkCQDMCAIJAKwCAgIVJXMlcyVkX193bGdBY3RUb3RhbF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFDmlkeFdsZ0FjdFRvdGFsCQDMCAIJAKwCAgIWJXMlcyVkX193bGdBY3RBbUxlZnRfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdBY3RBbUxlZnQJAMwIAgkArAICAholcyVzJWRfX3dsZ0FjdEFtQXZhaWxOb3dfXwkApAMBCQCRAwIFCGN1clN0YXRzBRNpZHhXbGdBY3RBbUF2YWlsTm93CQDMCAIJAKwCAgIWJXMlcyVkX193bGdBY3RXbGdvbGRfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdBY3RXbGdvbGQJAMwIAgkArAICAhYlcyVzJWRfX3dsZ0N1clBlcmlvZF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFD2lkeFdsZ0N1clBlcmlvZAkAzAgCCQCsAgICGCVzJXMlZF9fd2xnQW1MZWZ0VG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBRFpZHhXbGdBbUxlZnRUb3RhbAkAzAgCCQCsAgICIiVzJXMlZF9fd2xnQ3VyUGVyaW9kRGlzdHJpYnV0aW9uX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUbaWR4V2xnQ3VyUGVyaW9kRGlzdHJpYnV0aW9uCQDMCAIJAKwCAgIZJXMlcyVkX193bGdMYXN0VXNlclRpbWVfXwkApAMBCQCRAwIFCGN1clN0YXRzBRJpZHhXbGdMYXN0VXNlclRpbWUJAMwIAgkArAICAh4lcyVzJWRfX2lkeFdsZ1VzZXJBbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUUaWR4V2xnVXNlckFtQXZhaWxOb3cFA25pbACNBRMl", "height": 2660101, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8ojmpkyfadsHVB6cYdS2euWdb6DF9YAYeb8XiaGp8wcx Next: Hrwp59LhXcdScXUxg7S7esykKK5cWThno3mLGchP4F8E Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func a (b) = ("duckChars_" + b)
4+let a = 1000000
5+
6+let b = 100000000
7+
8+let c = 100000000000000
9+
10+let d = 100000
11+
12+let e = 200000
13+
14+let f = 100000
15+
16+let g = 31557600000
17+
18+let h = 604800000
19+
20+let i = 156
21+
22+let j = "marketingAddr"
23+
24+let k = "teamAddr"
25+
26+let l = "lastClaimedTime_marketing"
27+
28+let m = "marketingAmountLeft"
29+
30+let n = "lastClaimedTime_team"
31+
32+let o = "teamAmountLeft"
33+
34+let p = "lastClaimedTime_activities"
35+
36+let q = "activitiesAmountLeft"
37+
38+let r = "stakersAmountLeft"
39+
40+func s (t) = ("lastClaimedTimeUser_" + t)
541
642
7-func c (b) = ("duckXP_" + b)
43+let u = "wlg_issueTime"
844
45+let v = "wlg_issuedAmount"
946
10-func d (b) = ("duckLevel_" + b)
47+let w = 0
1148
49+let x = 1
1250
13-func e (b) = ("duckFreePoints_" + b)
51+let y = 2
1452
53+let z = 3
1554
16-func f (g) = ("userXP_" + g)
55+let A = 4
1756
57+let B = 5
1858
19-func h (g) = ("userLevel_" + g)
59+let C = 6
2060
61+let D = 7
2162
22-func i (g) = ("userFreePoints_" + g)
63+let E = 8
2364
65+let F = 9
2466
25-func j (k) = (100 + k)
67+let G = 10
2668
69+let H = 11
2770
28-let l = "PRESALE"
71+let I = 12
2972
30-let m = "ONBOARD"
73+let J = 13
3174
32-let n = 6
75+let K = 14
3376
34-let o = 3456000
77+let L = 15
3578
36-let p = 86400000
79+let M = 16
3780
38-let q = 10000000000
81+let N = 17
3982
40-let r = 39637
83+let O = 18
4184
42-let s = 3
85+let P = 19
4386
44-let t = 4
87+let Q = 20
4588
46-let u = 10
89+let R = 21
4790
48-let v = ["1_1_1_2_2_5_1_10_0", "2_2_2_4_4_10_1_10_0", "3_3_3_6_6_15_1_10_0", "2_5_5_2_7_5_2_100_1", "4_10_10_4_14_10_2_100_1", "6_15_15_6_21_15_2_100_1", "1_1_1_1_1_8_1_10_2", "2_2_2_2_2_16_1_10_2", "3_3_3_3_3_24_1_10_2", "9_9_1_5_5_1_5_100_3", "18_18_2_10_10_2_5_100_3", "27_27_3_15_15_3_5_100_3", "2_2_1_2_2_2_1_10_4", "4_4_2_4_4_4_1_10_4", "6_6_3_6_6_6_1_10_4"]
91+let S = 22
4992
50-let w = 7
93+let T = 23
5194
52-func x (g) = ("lastTxIdByUser_" + g)
95+let U = 24
5396
97+let V = 25
5498
55-func y (z) = ("nftOwner_" + z)
99+let W = 0
56100
101+let X = 1
57102
58-func A (z) = ("landCustomNameByAssetId_" + z)
103+let Y = 2
59104
105+let Z = 5
60106
61-func B (z) = ("stakedTime_" + z)
107+func aa (ab,ac) = {
108+ let ad = split(valueOrElse(getString(ac, "resTypesProportions"), "0_0_0_0_0_0"), "_")
109+ func ae (af,ag) = (af + parseIntValue(ag))
62110
111+ let ah = {
112+ let ai = ad
113+ let aj = size(ai)
114+ let ak = 0
115+ func al (am,an) = if ((an >= aj))
116+ then am
117+ else ae(am, ai[an])
63118
64-func C (z) = ("infraLevel_" + z)
119+ func ao (am,an) = if ((an >= aj))
120+ then am
121+ else throw("List size exceeds 6")
65122
66-
67-func D (E,z) = makeString(["landArtStatus", E, z], "_")
68-
69-
70-func F (G) = ("wareHouse_" + G)
71-
72-
73-func H (z) = ("duckCustomNameByAssetId_" + z)
74-
75-
76-func I (g) = ("accountCustomNameByAddr_" + g)
77-
78-
79-func J (g) = ("accRefBy_" + g)
80-
81-
82-func K (g) = ("onboardArtActivatedDuckBy_" + g)
83-
84-
85-func L (g) = ("accReferrals_" + g)
86-
87-
88-func M (z) = ("duckOwner_" + z)
89-
90-
91-func N (O) = ("stakedDuckByOwner_" + O)
92-
93-
94-func P (b) = ("duckLocation_" + b)
95-
96-
97-func Q (b) = ("duckHealth_" + b)
98-
99-
100-func R () = "contractsBlocked"
101-
102-
103-func S (G) = ("landOrder_" + G)
104-
105-
106-func T () = "emergencyWarehouseProducts"
107-
108-
109-let U = 1
110-
111-func V (W) = {
112- func X (Y,Z) = (Y + parseIntValue(W[Z]))
113-
114- let aa = [0, 1, 2, 3, 4, 5]
115- let ab = size(aa)
116- let ac = 0
117- func ad (ae,af) = if ((af >= ab))
118- then ae
119- else X(ae, aa[af])
120-
121- func ag (ae,af) = if ((af >= ab))
122- then ae
123- else throw("List size exceeds 6")
124-
125- ag(ad(ad(ad(ad(ad(ad(ac, 0), 1), 2), 3), 4), 5), 6)
123+ ao(al(al(al(al(al(al(ak, 0), 1), 2), 3), 4), 5), 6)
124+ }
125+ let ap = valueOrElse(getInteger(ac, ("stakedPiecesByOwner_" + ab)), 0)
126+[ah, ap]
126127 }
127128
128129
129-let ah = take(drop(this.bytes, 1), 1)
130+func aq (ar,as,at) = {
131+ let au = valueOrErrorMessage(getInteger(as[X], v), "WLGOLD is not issued yet")
132+ let av = assetBalance(as[Y], at)
133+ let aw = assetBalance(as[W], at)
134+ let ax = assetBalance(as[X], at)
135+ let ay = assetBalance(as[Z], at)
136+ let az = ((av + aw) + ax)
137+ let aA = valueOrErrorMessage(getBinary(as[X], "wlg_assetId"), "Not initialized yet")
138+ let aB = lastBlock.timestamp
139+ let aC = valueOrErrorMessage(getInteger(as[X], u), "Not initialized")
140+ let aD = fraction(c, d, a)
141+ let aE = valueOrElse(getInteger(as[X], m), aD)
142+ let aF = valueOrElse(getInteger(as[X], l), aC)
143+ let aG = addressFromStringValue(value(getString(as[X], j)))
144+ let aH = min([fraction(aD, (aB - aF), g), aE])
145+ let aI = assetBalance(aG, aA)
146+ let aJ = fraction(c, e, a)
147+ let aK = valueOrElse(getInteger(as[X], o), aJ)
148+ let aL = valueOrElse(getInteger(as[X], n), aC)
149+ let aM = addressFromStringValue(value(getString(as[X], k)))
150+ let aN = min([fraction(aJ, (aB - aL), (3 * g)), aK])
151+ let aO = assetBalance(aM, aA)
152+ let aP = fraction(c, f, a)
153+ let aQ = valueOrElse(getInteger(as[W], q), aP)
154+ let aR = valueOrElse(getInteger(as[W], p), aC)
155+ let aS = min([fraction(aP, (aB - aR), (3 * g)), aQ])
156+ let aT = assetBalance(as[W], aA)
157+ let aU = ((aB - aC) / h)
158+ let aV = aa(ar, as[X])
159+ let aW = aV[0]
160+ let aX = valueOrElse(getInteger(r), 0)
161+ let aY = fraction(aX, (2 * aW), (aW + (max([100000, aW]) * (i - aU))))
162+ let aZ = valueOrElse(getInteger(s(ar)), aC)
163+ let ba = fraction(fraction(aY, aV[1], aW), (aB - aZ), (3 * g))
164+[au, fraction(az, b, au), az, av, aw, ax, ay, aC, aF, aD, aE, aH, aI, aJ, aK, aN, aO, aP, aQ, aS, aT, aU, aX, aY, aZ, ba]
165+ }
130166
131-let ai = {
132- let aj = ah
133- if ((base58'2W' == aj))
167+
168+func bb (bc) = ("duckChars_" + bc)
169+
170+
171+func bd (bc) = ("duckXP_" + bc)
172+
173+
174+func be (bc) = ("duckLevel_" + bc)
175+
176+
177+func bf (bc) = ("duckFreePoints_" + bc)
178+
179+
180+func bg (t) = ("userXP_" + t)
181+
182+
183+func bh (t) = ("userLevel_" + t)
184+
185+
186+func bi (t) = ("userFreePoints_" + t)
187+
188+
189+func bj (bk) = (100 + bk)
190+
191+
192+let bl = "PRESALE"
193+
194+let bm = "ONBOARD"
195+
196+let bn = 6
197+
198+let bo = 3456000
199+
200+let bp = 86400000
201+
202+let bq = 10000000000
203+
204+let br = 39637
205+
206+let bs = 3
207+
208+let bt = 4
209+
210+let bu = 10
211+
212+let bv = ["1_1_1_2_2_5_1_10_0", "2_2_2_4_4_10_1_10_0", "3_3_3_6_6_15_1_10_0", "2_5_5_2_7_5_2_100_1", "4_10_10_4_14_10_2_100_1", "6_15_15_6_21_15_2_100_1", "1_1_1_1_1_8_1_10_2", "2_2_2_2_2_16_1_10_2", "3_3_3_3_3_24_1_10_2", "9_9_1_5_5_1_5_100_3", "18_18_2_10_10_2_5_100_3", "27_27_3_15_15_3_5_100_3", "2_2_1_2_2_2_1_10_4", "4_4_2_4_4_4_1_10_4", "6_6_3_6_6_6_1_10_4"]
213+
214+let bw = 7
215+
216+func bx (t) = ("lastTxIdByUser_" + t)
217+
218+
219+func by (bz) = ("nftOwner_" + bz)
220+
221+
222+func bA (bz) = ("landCustomNameByAssetId_" + bz)
223+
224+
225+func bB (bz) = ("stakedTime_" + bz)
226+
227+
228+func bC (bz) = ("infraLevel_" + bz)
229+
230+
231+func bD (bE,bz) = makeString(["landArtStatus", bE, bz], "_")
232+
233+
234+func bF (bG) = ("wareHouse_" + bG)
235+
236+
237+func bH (bz) = ("duckCustomNameByAssetId_" + bz)
238+
239+
240+func bI (t) = ("accountCustomNameByAddr_" + t)
241+
242+
243+func bJ (t) = ("accRefBy_" + t)
244+
245+
246+func bK (t) = ("onboardArtActivatedDuckBy_" + t)
247+
248+
249+func bL (t) = ("accReferrals_" + t)
250+
251+
252+func bM (bz) = ("duckOwner_" + bz)
253+
254+
255+func bN (bO) = ("stakedDuckByOwner_" + bO)
256+
257+
258+func bP (bc) = ("duckLocation_" + bc)
259+
260+
261+func bQ (bc) = ("duckHealth_" + bc)
262+
263+
264+func bR () = "contractsBlocked"
265+
266+
267+func bS (bG) = ("landOrder_" + bG)
268+
269+
270+func bT () = "emergencyWarehouseProducts"
271+
272+
273+func bU (bV) = {
274+ func bW (bX,bY) = (bX + parseIntValue(bV[bY]))
275+
276+ let ai = [0, 1, 2, 3, 4, 5]
277+ let aj = size(ai)
278+ let ak = 0
279+ func al (am,an) = if ((an >= aj))
280+ then am
281+ else bW(am, ai[an])
282+
283+ func ao (am,an) = if ((an >= aj))
284+ then am
285+ else throw("List size exceeds 6")
286+
287+ ao(al(al(al(al(al(al(ak, 0), 1), 2), 3), 4), 5), 6)
288+ }
289+
290+
291+let bZ = take(drop(this.bytes, 1), 1)
292+
293+let ca = {
294+ let cb = bZ
295+ if ((base58'2W' == cb))
134296 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
135- else if ((base58'2T' == aj))
297+ else if ((base58'2T' == cb))
136298 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
137299 else throw("Unknown chain")
138300 }
139301
140-let ak = {
141- let aj = ah
142- if ((base58'2W' == aj))
302+let cc = {
303+ let cb = bZ
304+ if ((base58'2W' == cb))
143305 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
144- else if ((base58'2T' == aj))
306+ else if ((base58'2T' == cb))
145307 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
146308 else throw("Unknown chain")
147309 }
148310
149-let al = {
150- let aj = ah
151- if ((base58'2W' == aj))
311+let cd = {
312+ let cb = bZ
313+ if ((base58'2W' == cb))
152314 then 10000000000
153- else if ((base58'2T' == aj))
315+ else if ((base58'2T' == cb))
154316 then 100000000
155317 else throw("Unknown chain")
156318 }
157319
158-let am = "__"
320+let ce = "__"
159321
160-let an = 1000000
322+let cf = 1000000
161323
162-let ao = 100000000
324+let cg = 25
163325
164-let ap = 25
326+let ch = 100
165327
166-let aq = 100
328+let ci = 225
167329
168-let ar = 225
330+let cj = 400
169331
170-let as = 400
332+let ck = 625
171333
172-let at = 625
173-
174-func au (av,aw) = valueOrErrorMessage(getString(av, aw), makeString(["mandatory ", toString(av), ".", aw, " is not defined"], ""))
334+func cl (cm,cn) = valueOrErrorMessage(getString(cm, cn), makeString(["mandatory ", toString(cm), ".", cn, " is not defined"], ""))
175335
176336
177-let ax = 1
337+let co = 1
178338
179-let ay = 2
339+let cp = 2
180340
181-let az = 4
341+let cq = 3
182342
183-let aA = 5
343+let cr = 4
184344
185-func aB () = "%s__restConfig"
345+let cs = 5
346+
347+func ct () = "%s__restConfig"
186348
187349
188-func aC () = "%s__restAddr"
350+func cu () = "%s__restAddr"
189351
190352
191-func aD (aE) = split_4C(au(aE, aB()), am)
353+func cv (cw) = split_4C(cl(cw, ct()), ce)
192354
193355
194-func aF (aG,aH) = valueOrErrorMessage(addressFromString(aG[aH]), ("Rest cfg doesn't contain address at index " + toString(aH)))
356+func cx (cy,cz) = valueOrErrorMessage(addressFromString(cy[cz]), ("Rest cfg doesn't contain address at index " + toString(cz)))
195357
196358
197-let aI = addressFromStringValue(valueOrElse(getString(this, aC()), ak))
359+let cA = addressFromStringValue(valueOrElse(getString(this, cu()), cc))
198360
199-let aG = aD(aI)
361+let cy = cv(cA)
200362
201-let aJ = aF(aG, ax)
363+let ac = cx(cy, co)
202364
203-let aK = aF(aG, ay)
365+let cB = cx(cy, cp)
204366
205-let aL = aF(aG, az)
367+let cC = cx(cy, cq)
206368
207-let aM = aF(aG, aA)
369+let cD = cx(cy, cr)
208370
209-let aN = 0
371+let cE = cx(cy, cs)
210372
211-let aO = 1
373+let cF = 0
212374
213-let aP = 2
375+let cG = 1
214376
215-let aQ = 3
377+let cH = 2
216378
217-func aR () = "resTypesProportions"
379+let cI = 3
380+
381+let cJ = "wlg_assetId"
382+
383+let cK = valueOrErrorMessage(getBinary(cD, cJ), "Not initialized yet")
384+
385+let cL = 1
386+
387+func cM () = "resTypesProportions"
218388
219389
220-func aS (O) = ("stakedLandsByOwner_" + O)
390+func cN (bO) = ("stakedLandsByOwner_" + bO)
221391
222392
223-let aT = "wlg_issuedAmount"
224-
225-let aU = "wlg_assetId"
226-
227-let aV = valueOrErrorMessage(getBinary(aL, aU), "Not initialized yet")
228-
229-let aW = 0
230-
231-let aX = 1
232-
233-let aY = 2
234-
235-let aZ = 3
236-
237-let ba = 4
238-
239-let bb = 5
240-
241-let bc = 6
242-
243-func bd (be) = {
244- let aj = be
245- if ($isInstanceOf(aj, "String"))
393+func cO (cP) = {
394+ let cb = cP
395+ if ($isInstanceOf(cb, "String"))
246396 then {
247- let bf = aj
248- bf
397+ let cQ = cb
398+ cQ
249399 }
250400 else throw("fail to cast into String")
251401 }
252402
253403
254-func bg (be) = {
255- let aj = be
256- if ($isInstanceOf(aj, "Int"))
404+func cR (cP) = {
405+ let cb = cP
406+ if ($isInstanceOf(cb, "Int"))
257407 then {
258- let bh = aj
259- bh
408+ let cS = cb
409+ cS
260410 }
261411 else throw("fail to cast into Int")
262412 }
263413
264414
265-func bi (be) = {
266- let aj = be
267- if ($isInstanceOf(aj, "Boolean"))
415+func cT (cP) = {
416+ let cb = cP
417+ if ($isInstanceOf(cb, "Boolean"))
268418 then {
269- let bf = aj
270- bf
419+ let cQ = cb
420+ cQ
271421 }
272422 else throw("fail to cast into Boolean")
273423 }
274424
275425
276-func bj (bk) = {
277- let aj = bk
278- if (("S" == aj))
279- then ap
280- else if (("M" == aj))
281- then aq
282- else if (("L" == aj))
283- then ar
284- else if (("XL" == aj))
285- then as
286- else if (("XXL" == aj))
287- then at
426+func cU (cV) = {
427+ let cb = cV
428+ if (("S" == cb))
429+ then cg
430+ else if (("M" == cb))
431+ then ch
432+ else if (("L" == cb))
433+ then ci
434+ else if (("XL" == cb))
435+ then cj
436+ else if (("XXL" == cb))
437+ then ck
288438 else throw("Unknown land size")
289439 }
290440
291441
292-func bl (bm) = {
293- let bn = split(valueOrElse(getString(aJ, aR()), "0_0_0_0_0_0"), "_")
294- func bo (bp,bq) = (bp + parseIntValue(bq))
442+func cW (ab) = {
443+ let ad = split(valueOrElse(getString(ac, cM()), "0_0_0_0_0_0"), "_")
444+ func ae (af,ag) = (af + parseIntValue(ag))
295445
296- let br = {
297- let aa = bn
298- let ab = size(aa)
299- let ac = 0
300- func ad (ae,af) = if ((af >= ab))
301- then ae
302- else bo(ae, aa[af])
446+ let ah = {
447+ let ai = ad
448+ let aj = size(ai)
449+ let ak = 0
450+ func al (am,an) = if ((an >= aj))
451+ then am
452+ else ae(am, ai[an])
303453
304- func ag (ae,af) = if ((af >= ab))
305- then ae
454+ func ao (am,an) = if ((an >= aj))
455+ then am
306456 else throw("List size exceeds 6")
307457
308- ag(ad(ad(ad(ad(ad(ad(ac, 0), 1), 2), 3), 4), 5), 6)
458+ ao(al(al(al(al(al(al(ak, 0), 1), 2), 3), 4), 5), 6)
309459 }
310- let bs = if ((bm == ""))
460+ let ap = if ((ab == ""))
311461 then 0
312462 else {
313- let bt = getString(aJ, aS(bm))
314- let bu = if (isDefined(bt))
315- then split_51C(value(bt), "_")
463+ let cX = getString(ac, cN(ab))
464+ let cY = if (isDefined(cX))
465+ then split_51C(value(cX), "_")
316466 else nil
317- func bv (bp,G) = {
318- let bw = value(assetInfo(fromBase58String(G)))
319- let bk = split(bw.description, "_")[aO]
320- (bp + bj(bk))
467+ func cZ (af,bG) = {
468+ let da = value(assetInfo(fromBase58String(bG)))
469+ let cV = split(da.description, "_")[cG]
470+ (af + cU(cV))
321471 }
322472
323- let aa = bu
324- let ab = size(aa)
325- let ac = 0
326- func bx (ae,af) = if ((af >= ab))
327- then ae
328- else bv(ae, aa[af])
473+ let ai = cY
474+ let aj = size(ai)
475+ let ak = 0
476+ func db (am,an) = if ((an >= aj))
477+ then am
478+ else cZ(am, ai[an])
329479
330- func by (ae,af) = if ((af >= ab))
331- then ae
480+ func dc (am,an) = if ((an >= aj))
481+ then am
332482 else throw("List size exceeds 100")
333483
334- by(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(ac, 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)
484+ dc(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(db(ak, 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)
335485 }
336-[br, bs]
486+[ah, ap]
337487 }
338488
339489
340-func bz () = {
341- let bA = valueOrErrorMessage(getInteger(aL, aT), "WLGOLD is not issued yet")
342- let bB = assetBalance(aK, ai)
343- let bC = assetBalance(aI, ai)
344- let bD = assetBalance(aL, ai)
345- let bE = assetBalance(aM, ai)
346- let bF = ((bB + bC) + bD)
347-[bA, fraction(bF, ao, bA), bF, bB, bC, bD, bE]
348- }
490+let dd = 500000
349491
350-
351-let bG = 500000
352-
353-func bH (bI) = {
354- let aj = bI
355- if ($isInstanceOf(aj, "List[Any]"))
492+func de (df) = {
493+ let cb = df
494+ if ($isInstanceOf(cb, "List[Any]"))
356495 then {
357- let bJ = aj
358- if ((size(bJ) != n))
359- then throw(("Array size is " + toString(size(bJ))))
496+ let dg = cb
497+ if ((size(dg) != bn))
498+ then throw(("Array size is " + toString(size(dg))))
360499 else {
361- func bK (bp,bq) = {
362- let bL = bq
363- if ($isInstanceOf(bL, "Int"))
500+ func dh (af,ag) = {
501+ let di = ag
502+ if ($isInstanceOf(di, "Int"))
364503 then {
365- let bM = bL
366- (bp :+ toString(bM))
504+ let dj = di
505+ (af :+ toString(dj))
367506 }
368507 else throw("List type is not Int")
369508 }
370509
371- let bN = {
372- let aa = bJ
373- let ab = size(aa)
374- let ac = nil
375- func ad (ae,af) = if ((af >= ab))
376- then ae
377- else bK(ae, aa[af])
510+ let dk = {
511+ let ai = dg
512+ let aj = size(ai)
513+ let ak = nil
514+ func al (am,an) = if ((an >= aj))
515+ then am
516+ else dh(am, ai[an])
378517
379- func ag (ae,af) = if ((af >= ab))
380- then ae
518+ func ao (am,an) = if ((an >= aj))
519+ then am
381520 else throw("List size exceeds 6")
382521
383- ag(ad(ad(ad(ad(ad(ad(ac, 0), 1), 2), 3), 4), 5), 6)
522+ ao(al(al(al(al(al(al(ak, 0), 1), 2), 3), 4), 5), 6)
384523 }
385- makeString(bN, "_")
524+ makeString(dk, "_")
386525 }
387526 }
388527 else throw("fail to cast into List")
389528 }
390529
391530
392-func bO (bI) = {
393- let aj = bI
394- if ($isInstanceOf(aj, "(List[Any], List[Any])"))
531+func dl (df) = {
532+ let cb = df
533+ if ($isInstanceOf(cb, "(List[Any], List[Any])"))
395534 then {
396- let bP = aj
397- $Tuple2(bH(bP._1), bH(bP._2))
535+ let dm = cb
536+ $Tuple2(de(dm._1), de(dm._2))
398537 }
399538 else throw("fail to cast into (List, List)")
400539 }
401540
402541
403-func bQ (bR) = {
404- let g = addressFromString(bR)
405- let bS = if (isDefined(g))
406- then wavesBalance(value(g))
542+func dn (do) = {
543+ let t = addressFromString(do)
544+ let dp = if (isDefined(t))
545+ then wavesBalance(value(t))
407546 else BalanceDetails(0, 0, 0, 0)
408- let bT = if (isDefined(g))
409- then assetBalance(value(g), ai)
547+ let dq = if (isDefined(t))
548+ then assetBalance(value(t), ca)
410549 else 0
411- let bU = if (isDefined(g))
412- then assetBalance(value(g), aV)
550+ let dr = if (isDefined(t))
551+ then assetBalance(value(t), cK)
413552 else 0
414- let bV = valueOrElse(getString(aJ, I(bR)), bR)
415- let bW = J(bR)
416- let bX = getString(aJ, bW)
417- let bY = valueOrElse(getString(aJ, L(bR)), "")
418- let bZ = valueOrElse(getString(aJ, x(bR)), "")
419- let ca = bl(bR)[U]
420- let cb = valueOrElse(getInteger(aJ, f(bR)), 0)
421- let cc = valueOrElse(getInteger(aJ, h(bR)), 0)
422- let cd = valueOrElse(getInteger(aJ, i(bR)), 0)
423- let ce = if (isDefined(bX))
424- then (m + (if (if (isDefined(g))
425- then isDefined(getString(aJ, K(bR)))
553+ let ds = valueOrElse(getString(ac, bI(do)), do)
554+ let dt = bJ(do)
555+ let du = getString(ac, dt)
556+ let dv = valueOrElse(getString(ac, bL(do)), "")
557+ let dw = valueOrElse(getString(ac, bx(do)), "")
558+ let dx = cW(do)[cL]
559+ let dy = valueOrElse(getInteger(ac, bg(do)), 0)
560+ let dz = valueOrElse(getInteger(ac, bh(do)), 0)
561+ let dA = valueOrElse(getInteger(ac, bi(do)), 0)
562+ let dB = if (isDefined(du))
563+ then (bm + (if (if (isDefined(t))
564+ then isDefined(getString(ac, bK(do)))
426565 else false)
427566 then ":1"
428567 else ":0"))
429568 else ""
430-[("%s%s__customName__" + bV), ("%s%s__referredBy__" + valueOrElse(bX, "")), ("%s%s__referrals__" + bY), ("%s%s__lastTxId__" + bZ), ("%s%d__wavesBalance__" + toString(bS.available)), ("%s%d__wlgoldBalance__" + toString(bU)), ("%s%d__usdtBalance__" + toString(bT)), ("%s%d__stakedPieces__" + toString(ca)), ("%s%d__currentXp__" + toString(cb)), ("%s%d__currentLvl__" + toString(cc)), ("%s%d__pointsToDistribute__" + toString(cd)), ("%s%s__walletArtefacts__" + ce)]
569+[("%s%s__customName__" + ds), ("%s%s__referredBy__" + valueOrElse(du, "")), ("%s%s__referrals__" + dv), ("%s%s__lastTxId__" + dw), ("%s%d__wavesBalance__" + toString(dp.available)), ("%s%d__wlgoldBalance__" + toString(dr)), ("%s%d__usdtBalance__" + toString(dq)), ("%s%d__stakedPieces__" + toString(dx)), ("%s%d__currentXp__" + toString(dy)), ("%s%d__currentLvl__" + toString(dz)), ("%s%d__pointsToDistribute__" + toString(dA)), ("%s%s__walletArtefacts__" + dB)]
431570 }
432571
433572
434-func cf (G,ca) = {
435- let cg = valueOrElse(getInteger(aJ, C(G)), 0)
436- let ch = valueOrElse(getInteger(aJ, D(l, G)), 0)
437- let ci = (cg / 6)
438- let cj = (cg / 7)
439- $Tuple3(cg, ch, ((o + fraction(o, ((cg + ci) + (2 * cj)), 5)) + fraction(o, ch, (ca * 5))))
573+func dC (bG,dx) = {
574+ let dD = valueOrElse(getInteger(ac, bC(bG)), 0)
575+ let dE = valueOrElse(getInteger(ac, bD(bl, bG)), 0)
576+ let dF = (dD / 6)
577+ let dG = (dD / 7)
578+ $Tuple3(dD, dE, ((bo + fraction(bo, ((dD + dF) + (2 * dG)), 5)) + fraction(bo, dE, (dx * 5))))
440579 }
441580
442581
443-func ck (cl) = {
444- let cm = split(cl, "_")
445- ((q * (parseIntValue(cm[1]) + 1)) * parseIntValue(cm[0]))
582+func dH (dI) = {
583+ let dJ = split(dI, "_")
584+ ((bq * (parseIntValue(dJ[1]) + 1)) * parseIntValue(dJ[0]))
446585 }
447586
448587
449-func cn (co,cp,cg) = {
450- let cl = ((toString(cp) + "_") + toString(cg))
451- let cq = toString(ck(cl))
452- let cr = valueOrElse(getString(aJ, co), ((((cl + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + cq) + "_") + cq))
453- split(cr, ":")
588+func dK (dL,dM,dD) = {
589+ let dI = ((toString(dM) + "_") + toString(dD))
590+ let dN = toString(dH(dI))
591+ let dO = valueOrElse(getString(ac, dL), ((((dI + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + dN) + "_") + dN))
592+ split(dO, ":")
454593 }
455594
456595
457-func cs (b) = $Tuple5(valueOrElse(getInteger(aJ, B(b)), -1), value(assetInfo(fromBase58String(b))).name, valueOrElse(getString(aJ, P(b)), ""), valueOrElse(getInteger(aJ, Q(b)), -1), bd(invoke(aJ, "getBackpackREADONLY", [b], nil)))
596+func dP (bc) = $Tuple5(valueOrElse(getInteger(ac, bB(bc)), -1), value(assetInfo(fromBase58String(bc))).name, valueOrElse(getString(ac, bP(bc)), ""), valueOrElse(getInteger(ac, bQ(bc)), -1), cO(invoke(ac, "getBackpackREADONLY", [bc], nil)))
458597
459598
460-func ct (b,cu,cv) = {
461- let bV = valueOrElse(getString(aJ, H(b)), cv._2)
462- let cw = valueOrElse(getString(aJ, a(b)), "0_0_0_0_0")
463- let cb = valueOrElse(getInteger(aJ, c(b)), 0)
464- let cc = valueOrElse(getInteger(aJ, d(b)), 0)
465- let cd = valueOrElse(getInteger(aJ, e(b)), 0)
466-[("%s%s__assetId__" + b), ("%s%s__owner__" + cu), ("%s%s__customName__" + bV), ("%s%d__stakedTime__" + toString(cv._1)), ("%s%s__name__" + cv._2), ("%s%s__location__" + cv._3), ("%s%d__health__" + toString(cv._4)), ("%s%d__maxHealth__" + toString(j(cc))), ("%s%s__characteristics__" + cw), ("%s%d__currentXp__" + toString(cb)), ("%s%d__currentLvl__" + toString(cc)), ("%s%d__pointsToDistribute__" + toString(cd)), ("%s%s__backPack__" + cv._5)]
599+func dQ (bc,dR,dS) = {
600+ let ds = valueOrElse(getString(ac, bH(bc)), dS._2)
601+ let dT = valueOrElse(getString(ac, bb(bc)), "0_0_0_0_0")
602+ let dy = valueOrElse(getInteger(ac, bd(bc)), 0)
603+ let dz = valueOrElse(getInteger(ac, be(bc)), 0)
604+ let dA = valueOrElse(getInteger(ac, bf(bc)), 0)
605+[("%s%s__assetId__" + bc), ("%s%s__owner__" + dR), ("%s%s__customName__" + ds), ("%s%d__stakedTime__" + toString(dS._1)), ("%s%s__name__" + dS._2), ("%s%s__location__" + dS._3), ("%s%d__health__" + toString(dS._4)), ("%s%d__maxHealth__" + toString(bj(dz))), ("%s%s__characteristics__" + dT), ("%s%d__currentXp__" + toString(dy)), ("%s%d__currentLvl__" + toString(dz)), ("%s%d__pointsToDistribute__" + toString(dA)), ("%s%s__backPack__" + dS._5)]
467606 }
468607
469608
470-func cx (G,cu,cy) = if ((G == ""))
609+func dU (bG,dR,dV) = if ((bG == ""))
471610 then throw("landAssetId is required")
472611 else {
473- let cz = value(assetInfo(fromBase58String(G)))
474- let cA = split(cz.description, "_")
475- let cB = if ((cz.quantity > 0))
476- then cA[aN]
477- else ("-" + cA[aN])
478- let ca = bj(cA[aO])
479- let cC = cf(G, ca)
480- let cD = (lastBlock.timestamp - cy)
481- let cE = if ((cy > 0))
482- then fraction(cD, (cC._3 * ca), p)
612+ let dW = value(assetInfo(fromBase58String(bG)))
613+ let dX = split(dW.description, "_")
614+ let dY = if ((dW.quantity > 0))
615+ then dX[cF]
616+ else ("-" + dX[cF])
617+ let dx = cU(dX[cG])
618+ let dZ = dC(bG, dx)
619+ let ea = (lastBlock.timestamp - dV)
620+ let eb = if ((dV > 0))
621+ then fraction(ea, (dZ._3 * dx), bp)
483622 else 0
484- let cF = fraction(al, (ca * (cC._1 + 1)), ap)
485- let cG = if ((cy > 0))
486- then bO(invoke(aJ, "splitByGlobalAndLocalWeightsREADONLY", [cF, cE, cA[aP]], nil))
487- else $Tuple2(bH(invoke(aJ, "splitByGlobalWeightsREADONLY", [cF], nil)), "")
488- let bV = valueOrElse(getString(aJ, A(G)), ((cA[aQ] + "-") + cA[aN]))
489-[("%s%s__assetId__" + G), ("%s%s__owner__" + cu), ("%s%s__customName__" + bV), ("%s%d__stakedTime__" + toString(cy)), ("%s%s__description__" + makeString([cB, cA[aO], cA[aP], cA[aQ]], "_")), ("%s%d__infraLevel__" + toString(cC._1)), ("%s%s__availResByType__" + cG._2), ("%s%d__availResTotal__" + toString(cE)), ("%s%s__needMaterial__" + cG._1), ("%s%s__landArtefacts__PRESALE:" + toString(cC._2)), ("%s%s__warehouse__" + makeString(cn(F(G), (ca / ap), cC._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(aK, S(G)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
623+ let ec = fraction(cd, (dx * (dZ._1 + 1)), cg)
624+ let ed = if ((dV > 0))
625+ then dl(invoke(ac, "splitByGlobalAndLocalWeightsREADONLY", [ec, eb, dX[cH]], nil))
626+ else $Tuple2(de(invoke(ac, "splitByGlobalWeightsREADONLY", [ec], nil)), "")
627+ let ds = valueOrElse(getString(ac, bA(bG)), ((dX[cI] + "-") + dX[cF]))
628+[("%s%s__assetId__" + bG), ("%s%s__owner__" + dR), ("%s%s__customName__" + ds), ("%s%d__stakedTime__" + toString(dV)), ("%s%s__description__" + makeString([dY, dX[cG], dX[cH], dX[cI]], "_")), ("%s%d__infraLevel__" + toString(dZ._1)), ("%s%s__availResByType__" + ed._2), ("%s%d__availResTotal__" + toString(eb)), ("%s%s__needMaterial__" + ed._1), ("%s%s__landArtefacts__PRESALE:" + toString(dZ._2)), ("%s%s__warehouse__" + makeString(dK(bF(bG), (dx / cg), dZ._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(cB, bS(bG)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
490629 }
491630
492631
493-func cH (G,cu) = if ((G == ""))
632+func ee (bG,dR) = if ((bG == ""))
494633 then throw("landAssetId is required")
495634 else {
496- let cz = value(assetInfo(fromBase58String(G)))
497- let cA = split(cz.description, "_")
498- let ca = bj(cA[aO])
499- let cC = cf(G, ca)
500-[("%s%s__assetId__" + G), ("%s%s__owner__" + cu), ("%s%s__warehouse__" + makeString(cn(F(G), (ca / ap), cC._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(aK, S(G)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
635+ let dW = value(assetInfo(fromBase58String(bG)))
636+ let dX = split(dW.description, "_")
637+ let dx = cU(dX[cG])
638+ let dZ = dC(bG, dx)
639+[("%s%s__assetId__" + bG), ("%s%s__owner__" + dR), ("%s%s__warehouse__" + makeString(dK(bF(bG), (dx / cg), dZ._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(cB, bS(bG)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
501640 }
502641
503642
504-@Callable(cI)
505-func constructorV1 (cJ) = if ((cI.caller != this))
643+@Callable(ef)
644+func constructorV1 (as) = if ((ef.caller != this))
506645 then throw("permissions denied")
507646 else {
508- func cK (bp,cL) = (bp + "%s")
647+ func eg (af,eh) = (af + "%s")
509648
510- let cM = {
511- let aa = cJ
512- let ab = size(aa)
513- let ac = ""
514- func ad (ae,af) = if ((af >= ab))
515- then ae
516- else cK(ae, aa[af])
649+ let ei = {
650+ let ai = as
651+ let aj = size(ai)
652+ let ak = ""
653+ func al (am,an) = if ((an >= aj))
654+ then am
655+ else eg(am, ai[an])
517656
518- func ag (ae,af) = if ((af >= ab))
519- then ae
657+ func ao (am,an) = if ((an >= aj))
658+ then am
520659 else throw("List size exceeds 10")
521660
522- ag(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ac, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
661+ ao(al(al(al(al(al(al(al(al(al(al(ak, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
523662 }
524-[StringEntry(aB(), makeString(cM :: cJ, am)), StringEntry(aC(), toString(this))]
663+[StringEntry(ct(), makeString(ei :: as, ce)), StringEntry(cu(), toString(this))]
525664 }
526665
527666
528667
529-@Callable(cI)
530-func walletInfoREADONLY (bR) = $Tuple2(nil, bQ(bR))
668+@Callable(ef)
669+func walletInfoREADONLY (do) = $Tuple2(nil, dn(do))
531670
532671
533672
534-@Callable(cI)
535-func duckByOwnerInfoREADONLY (cN) = {
536- let cO = getString(aJ, N(cN))
537- $Tuple2(nil, if (if (isDefined(addressFromString(cN)))
538- then isDefined(cO)
673+@Callable(ef)
674+func duckByOwnerInfoREADONLY (ej) = {
675+ let ek = getString(ac, bN(ej))
676+ $Tuple2(nil, if (if (isDefined(addressFromString(ej)))
677+ then isDefined(ek)
539678 else false)
540679 then {
541- let b = value(cO)
542- ct(b, cN, cs(b))
680+ let bc = value(ek)
681+ dQ(bc, ej, dP(bc))
543682 }
544- else ct("", cN, $Tuple5(-1, "", "", -1, "")))
683+ else dQ("", ej, $Tuple5(-1, "", "", -1, "")))
545684 }
546685
547686
548687
549-@Callable(cI)
550-func duckByAssetIdInfoREADONLY (b) = {
551- let cu = getString(aJ, M(b))
552- let cv = cs(b)
553- $Tuple2(nil, ct(b, if (isDefined(cu))
554- then value(cu)
555- else "", cs(b)))
688+@Callable(ef)
689+func duckByAssetIdInfoREADONLY (bc) = {
690+ let dR = getString(ac, bM(bc))
691+ let dS = dP(bc)
692+ $Tuple2(nil, dQ(bc, if (isDefined(dR))
693+ then value(dR)
694+ else "", dP(bc)))
556695 }
557696
558697
559698
560-@Callable(cI)
561-func landByAssetIdInfoREADONLY (G) = if ((G == ""))
699+@Callable(ef)
700+func landByAssetIdInfoREADONLY (bG) = if ((bG == ""))
562701 then throw("landAssetId is required")
563702 else {
564- let cy = valueOrElse(getInteger(aJ, B(G)), -1)
565- let cu = if ((cy > 0))
566- then value(getString(aJ, y(G)))
703+ let dV = valueOrElse(getInteger(ac, bB(bG)), -1)
704+ let dR = if ((dV > 0))
705+ then value(getString(ac, by(bG)))
567706 else ""
568- $Tuple2(nil, cx(G, cu, cy))
707+ $Tuple2(nil, dU(bG, dR, dV))
569708 }
570709
571710
572711
573-@Callable(cI)
574-func stakedLandsByOwnerInfoREADONLY (cP) = if ((cP == ""))
712+@Callable(ef)
713+func stakedLandsByOwnerInfoREADONLY (el) = if ((el == ""))
575714 then throw("landOwnerAddress is required")
576715 else {
577- let bt = getString(aJ, aS(cP))
578- let bu = if (isDefined(bt))
579- then split_51C(value(bt), "_")
716+ let cX = getString(ac, cN(el))
717+ let cY = if (isDefined(cX))
718+ then split_51C(value(cX), "_")
580719 else nil
581- func bv (bp,G) = if ((G == ""))
720+ func cZ (af,bG) = if ((bG == ""))
582721 then throw("landAssetId is required")
583722 else {
584- let cy = valueOrElse(getInteger(aJ, B(G)), -1)
585- (bp :+ cx(G, cP, cy))
723+ let dV = valueOrElse(getInteger(ac, bB(bG)), -1)
724+ (af :+ dU(bG, el, dV))
586725 }
587726
588- let bN = {
589- let aa = bu
590- let ab = size(aa)
591- let ac = nil
592- func ad (ae,af) = if ((af >= ab))
593- then ae
594- else bv(ae, aa[af])
727+ let dk = {
728+ let ai = cY
729+ let aj = size(ai)
730+ let ak = nil
731+ func al (am,an) = if ((an >= aj))
732+ then am
733+ else cZ(am, ai[an])
595734
596- func ag (ae,af) = if ((af >= ab))
597- then ae
735+ func ao (am,an) = if ((an >= aj))
736+ then am
598737 else throw("List size exceeds 100")
599738
600- ag(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ac, 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)
739+ ao(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(ak, 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)
601740 }
602- $Tuple2(nil, bN)
741+ $Tuple2(nil, dk)
603742 }
604743
605744
606745
607-@Callable(cI)
608-func landsByIdsInfoREADONLY (cQ) = {
609- func bv (bp,G) = if ((G == ""))
746+@Callable(ef)
747+func landsByIdsInfoREADONLY (em) = {
748+ func cZ (af,bG) = if ((bG == ""))
610749 then throw("landAssetId is required")
611750 else {
612- let cy = valueOrElse(getInteger(aJ, B(G)), -1)
613- let cu = if ((cy > 0))
614- then value(getString(aJ, y(G)))
751+ let dV = valueOrElse(getInteger(ac, bB(bG)), -1)
752+ let dR = if ((dV > 0))
753+ then value(getString(ac, by(bG)))
615754 else ""
616- (bp :+ cx(G, cu, cy))
755+ (af :+ dU(bG, dR, dV))
617756 }
618757
619- let bN = {
620- let aa = cQ
621- let ab = size(aa)
622- let ac = nil
623- func ad (ae,af) = if ((af >= ab))
624- then ae
625- else bv(ae, aa[af])
758+ let dk = {
759+ let ai = em
760+ let aj = size(ai)
761+ let ak = nil
762+ func al (am,an) = if ((an >= aj))
763+ then am
764+ else cZ(am, ai[an])
626765
627- func ag (ae,af) = if ((af >= ab))
628- then ae
766+ func ao (am,an) = if ((an >= aj))
767+ then am
629768 else throw("List size exceeds 100")
630769
631- ag(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ac, 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)
770+ ao(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(ak, 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)
632771 }
633- $Tuple2(nil, bN)
772+ $Tuple2(nil, dk)
634773 }
635774
636775
637776
638-@Callable(cI)
639-func warehouseOrderByAssetIdInfoREADONLY (G) = if ((G == ""))
777+@Callable(ef)
778+func warehouseOrderByAssetIdInfoREADONLY (bG) = if ((bG == ""))
640779 then throw("landAssetId is required")
641780 else {
642- let cy = valueOrElse(getInteger(aJ, B(G)), -1)
643- let cu = if ((cy > 0))
644- then value(getString(aJ, y(G)))
781+ let dV = valueOrElse(getInteger(ac, bB(bG)), -1)
782+ let dR = if ((dV > 0))
783+ then value(getString(ac, by(bG)))
645784 else ""
646- $Tuple2(nil, cH(G, cu))
785+ $Tuple2(nil, ee(bG, dR))
647786 }
648787
649788
650789
651-@Callable(cI)
652-func ordersByLandIdsInfoREADONLY (cQ) = {
653- func bv (bp,G) = if ((G == ""))
790+@Callable(ef)
791+func ordersByLandIdsInfoREADONLY (em) = {
792+ func cZ (af,bG) = if ((bG == ""))
654793 then throw("landAssetId is required")
655794 else {
656- let cy = valueOrElse(getInteger(aJ, B(G)), -1)
657- let cu = if ((cy > 0))
658- then value(getString(aJ, y(G)))
795+ let dV = valueOrElse(getInteger(ac, bB(bG)), -1)
796+ let dR = if ((dV > 0))
797+ then value(getString(ac, by(bG)))
659798 else ""
660- (bp :+ cH(G, cu))
799+ (af :+ ee(bG, dR))
661800 }
662801
663- let bN = {
664- let aa = cQ
665- let ab = size(aa)
666- let ac = nil
667- func ad (ae,af) = if ((af >= ab))
668- then ae
669- else bv(ae, aa[af])
802+ let dk = {
803+ let ai = em
804+ let aj = size(ai)
805+ let ak = nil
806+ func al (am,an) = if ((an >= aj))
807+ then am
808+ else cZ(am, ai[an])
670809
671- func ag (ae,af) = if ((af >= ab))
672- then ae
810+ func ao (am,an) = if ((an >= aj))
811+ then am
673812 else throw("List size exceeds 40")
674813
675- ag(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ac, 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)
814+ ao(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(ak, 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)
676815 }
677- $Tuple2(nil, bN)
816+ $Tuple2(nil, dk)
678817 }
679818
680819
681820
682-@Callable(cI)
683-func cancelWarehouseOrders (cQ) = if ((cI.caller != this))
821+@Callable(ef)
822+func cancelWarehouseOrders (em) = if ((ef.caller != this))
684823 then throw("permission denied")
685824 else {
686- let cR = getBoolean(aJ, R())
687- if (if (!(isDefined(cR)))
825+ let en = getBoolean(ac, bR())
826+ if (if (!(isDefined(en)))
688827 then true
689- else (value(cR) == false))
828+ else (value(en) == false))
690829 then throw("Contracts should be blocked before canceling orders")
691830 else {
692- func bv (cz,G) = if ((G == ""))
831+ func cZ (dW,bG) = if ((bG == ""))
693832 then throw("landAssetId is required")
694833 else {
695- let cS = bi(invoke(aK, "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:", G], nil))
696- if (if (cz)
834+ let eo = cT(invoke(cB, "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:", bG], nil))
835+ if (if (dW)
697836 then true
698- else cS)
699- then !(if (cz)
700- then cS
837+ else eo)
838+ then !(if (dW)
839+ then eo
701840 else false)
702841 else false
703842 }
704843
705- let bN = {
706- let aa = cQ
707- let ab = size(aa)
708- let ac = false
709- func ad (ae,af) = if ((af >= ab))
710- then ae
711- else bv(ae, aa[af])
844+ let dk = {
845+ let ai = em
846+ let aj = size(ai)
847+ let ak = false
848+ func al (am,an) = if ((an >= aj))
849+ then am
850+ else cZ(am, ai[an])
712851
713- func ag (ae,af) = if ((af >= ab))
714- then ae
852+ func ao (am,an) = if ((an >= aj))
853+ then am
715854 else throw("List size exceeds 30")
716855
717- ag(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ac, 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)
856+ ao(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(ak, 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)
718857 }
719- $Tuple2(nil, bN)
858+ $Tuple2(nil, dk)
720859 }
721860 }
722861
723862
724863
725-@Callable(cI)
726-func fixWarehouseFormats (cQ) = if ((cI.caller != this))
864+@Callable(ef)
865+func fixWarehouseFormats (em) = if ((ef.caller != this))
727866 then throw("permission denied")
728867 else {
729- func bv (bp,G) = if ((G == ""))
868+ func cZ (af,bG) = if ((bG == ""))
730869 then throw("landAssetId is required")
731- else (bp + size(bd(invoke(aJ, "fixWarehouseFormat", [G], nil))))
870+ else (af + size(cO(invoke(ac, "fixWarehouseFormat", [bG], nil))))
732871
733- let bN = {
734- let aa = cQ
735- let ab = size(aa)
736- let ac = 0
737- func ad (ae,af) = if ((af >= ab))
738- then ae
739- else bv(ae, aa[af])
872+ let dk = {
873+ let ai = em
874+ let aj = size(ai)
875+ let ak = 0
876+ func al (am,an) = if ((an >= aj))
877+ then am
878+ else cZ(am, ai[an])
740879
741- func ag (ae,af) = if ((af >= ab))
742- then ae
880+ func ao (am,an) = if ((an >= aj))
881+ then am
743882 else throw("List size exceeds 25")
744883
745- ag(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ac, 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)
884+ ao(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(ak, 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)
746885 }
747- $Tuple2(nil, bN)
886+ $Tuple2(nil, dk)
748887 }
749888
750889
751890
752-@Callable(cI)
753-func fixStakedPieces (cT) = if ((cI.caller != this))
891+@Callable(ef)
892+func fixStakedPieces (ep) = if ((ef.caller != this))
754893 then throw("permission denied")
755894 else {
756- func cU (bp,g) = if ((g == ""))
895+ func eq (af,t) = if ((t == ""))
757896 then throw("address is required")
758- else (bp + bg(invoke(aJ, "fixStakedPieces", [g], nil)))
897+ else (af + cR(invoke(ac, "fixStakedPieces", [t], nil)))
759898
760- let bN = {
761- let aa = cT
762- let ab = size(aa)
763- let ac = 0
764- func ad (ae,af) = if ((af >= ab))
765- then ae
766- else cU(ae, aa[af])
899+ let dk = {
900+ let ai = ep
901+ let aj = size(ai)
902+ let ak = 0
903+ func al (am,an) = if ((an >= aj))
904+ then am
905+ else eq(am, ai[an])
767906
768- func ag (ae,af) = if ((af >= ab))
769- then ae
907+ func ao (am,an) = if ((an >= aj))
908+ then am
770909 else throw("List size exceeds 16")
771910
772- ag(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ac, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16)
911+ ao(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(ak, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16)
773912 }
774- $Tuple2(nil, bN)
913+ $Tuple2(nil, dk)
775914 }
776915
777916
778917
779-@Callable(cI)
780-func sendUsdtPrize (cN) = if ((cI.caller != aJ))
918+@Callable(ef)
919+func sendUsdtPrize (ej) = if ((ef.caller != ac))
781920 then throw("permission denied")
782921 else {
783- let cV = fraction(assetBalance(this, ai), bG, an)
784- $Tuple2([ScriptTransfer(addressFromStringValue(cN), cV, ai)], cV)
922+ let er = fraction(assetBalance(this, ca), dd, cf)
923+ $Tuple2([ScriptTransfer(addressFromStringValue(ej), er, ca)], er)
785924 }
786925
787926
788927
789-@Callable(cI)
928+@Callable(ef)
790929 func getEmergencyServiceDataREADONLY () = {
791- let cW = getString(aK, T())
792- let cX = if (isDefined(cW))
793- then split(value(cW), "_")
930+ let es = getString(cB, bT())
931+ let et = if (isDefined(es))
932+ then split(value(es), "_")
794933 else nil
795- func cY (bp,cZ) = {
796- let bh = bp._2
797- let W = split(cZ, "_")
798- let da = parseIntValue(W[w])
799- let db = if ((bh == 0))
800- then (s * da)
934+ func eu (af,ev) = {
935+ let cS = af._2
936+ let bV = split(ev, "_")
937+ let ew = parseIntValue(bV[bw])
938+ let ex = if ((cS == 0))
939+ then (bs * ew)
801940 else 0
802- let dc = if ((size(cX) > bh))
803- then parseIntValue(cX[bh])
941+ let ey = if ((size(et) > cS))
942+ then parseIntValue(et[cS])
804943 else 0
805- let dd = V(W)
806- let de = fraction((dd * t), r, (10 * da))
807- let df = fraction((dd * u), r, (10 * da))
808- let dg = makeString([toString(db), toString(dc), toString(de), toString(df)], "_")
809- $Tuple2((bp._1 :+ dg), (bh + 1))
944+ let ez = bU(bV)
945+ let eA = fraction((ez * bt), br, (10 * ew))
946+ let eB = fraction((ez * bu), br, (10 * ew))
947+ let eC = makeString([toString(ex), toString(ey), toString(eA), toString(eB)], "_")
948+ $Tuple2((af._1 :+ eC), (cS + 1))
810949 }
811950
812- let bf = makeString_2C(( let aa = v
813- let ab = size(aa)
814- let ac = $Tuple2(nil, 0)
815- func ad (ae,af) = if ((af >= ab))
816- then ae
817- else cY(ae, aa[af])
951+ let cQ = makeString_2C(( let ai = bv
952+ let aj = size(ai)
953+ let ak = $Tuple2(nil, 0)
954+ func al (am,an) = if ((an >= aj))
955+ then am
956+ else eu(am, ai[an])
818957
819- func ag (ae,af) = if ((af >= ab))
820- then ae
958+ func ao (am,an) = if ((an >= aj))
959+ then am
821960 else throw("List size exceeds 50")
822961
823- ag(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ac, 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, ":")
824- let dh = ("%s%s__emergencyServiceData__" + bf)
825- $Tuple2(nil, dh)
962+ ao(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(al(ak, 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, ":")
963+ let eD = ("%s%s__emergencyServiceData__" + cQ)
964+ $Tuple2(nil, eD)
826965 }
827966
828967
829968
830-@Callable(cI)
831-func wlgStatsREADONLY () = {
832- let di = bz()
833- $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(di[aW])), ("%s%s%d__wlgPrice__" + toString(di[aX])), ("%s%s%d__usdtFunds__" + toString(di[aY])), ("%s%s%d__usdtEconomy__" + toString(di[aZ])), ("%s%s%d__usdtActivity__" + toString(di[ba])), ("%s%s%d__usdtArbitrage__" + toString(di[bb])), ("%s%s%d__usdtPool__" + toString(di[bc]))])
969+@Callable(ef)
970+func wlgStatsREADONLY (ar) = {
971+ let eE = aq(ar, [cA, ac, cB, cC, cD, cE], ca)
972+ $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(eE[w])), ("%s%s%d__wlgPrice__" + toString(eE[x])), ("%s%s%d__usdtFunds__" + toString(eE[y])), ("%s%s%d__usdtEconomy__" + toString(eE[z])), ("%s%s%d__usdtActivity__" + toString(eE[A])), ("%s%s%d__usdtArbitrage__" + toString(eE[B])), ("%s%s%d__usdtPool__" + toString(eE[C])), ("%s%s%d__wlgIssueTime__" + toString(eE[D])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(eE[E])), ("%s%s%d__wlgMarketingTotal__" + toString(eE[F])), ("%s%s%d__wlgMarketingAmLeft__" + toString(eE[G])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(eE[H])), ("%s%s%d__wlgMarketingWlgold__" + toString(eE[I])), ("%s%s%d__wlgTeamTotal__" + toString(eE[J])), ("%s%s%d__wlgTeamAmLeft__" + toString(eE[K])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(eE[L])), ("%s%s%d__wlgTeamWlgold__" + toString(eE[M])), ("%s%s%d__wlgActTotal__" + toString(eE[N])), ("%s%s%d__wlgActAmLeft__" + toString(eE[O])), ("%s%s%d__wlgActAmAvailNow__" + toString(eE[P])), ("%s%s%d__wlgActWlgold__" + toString(eE[Q])), ("%s%s%d__wlgCurPeriod__" + toString(eE[R])), ("%s%s%d__wlgAmLeftTotal__" + toString(eE[S])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(eE[T])), ("%s%s%d__wlgLastUserTime__" + toString(eE[U])), ("%s%s%d__idxWlgUserAmAvailNow__" + toString(eE[V]))])
834973 }
835974
836975

github/deemru/w8io/169f3d6 
853.95 ms