tx · 3nGt3bwf2dGC4w3HPz7dXsP7DfbdMFtFn5ezxYzVhr4h

3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai:  -0.02800000 Waves

2023.08.17 16:29 [2714656] smart account 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai > SELF 0.00000000 Waves

{ "type": 13, "id": "3nGt3bwf2dGC4w3HPz7dXsP7DfbdMFtFn5ezxYzVhr4h", "fee": 2800000, "feeAssetId": null, "timestamp": 1692279025176, "version": 2, "chainId": 84, "sender": "3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai", "senderPublicKey": "2JEaBjtjvMoNGKZmL9QxYefa1VkMJM3vMW8rNvTs9R2H", "proofs": [ "4FF66aZ98GoU8vKdMyfR3cy5rhDLU1sVEHvJ2s7ddE5YajWT43f6QGLnR4hg7utMHvZWN843LpiftRSVhkDh1Bpw" ], "script": "base64:BgL9LQgCEgASBAoCCAgSBAoCCAgSAwoBCBIKCggICAgICAgIARIDCgEIEgYKBAgICAgSBAoCCBgSAwoBCBIECgIIGBIDCgEYEgoKCAgICAgIAQgIEgQKAggBEgMKAQESAwoBARIECgIIARIGCgQICAgIEgQKAggIEgQKAggIEgQKAggIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIECgIICBIDCgEIEgMKAQgSAwoBCBIECgIICBIDCgEIEgMKAQgSAwoBCBIDCgEIIgZTQ0FMRTgiBU1VTFQ4IgZNVUxUMTIiB1NDQUxFMTgiBk1VTFQxOCIOUE9PTFdFSUdIVE1VTFQiDkdXWHZpcnR1YWxQT09MIgxsYWJlbFBvb2xzTHAiDWRlZmF1bHRTcHJlYWQiC3dhdmVzU3RyaW5nIhBjb250cmFjdEZpbGVuYW1lIhFkZWNpbWFsc011bHRQcmljZSIDU0VQIgVFTVBUWSIKUG9vbEFjdGl2ZSIPUG9vbFB1dERpc2FibGVkIhNQb29sTWF0Y2hlckRpc2FibGVkIgxQb29sU2h1dGRvd24iEmlkeEludGVybmFsQXNzZXRJZCIPaWR4UmVzdXRBY3Rpb25zIiBpZHhJZkFzc2V0SWRDYWxjdWxhdGlvblBlcmZvcm1lZCIOaWR4UG9vbEFkZHJlc3MiDWlkeFBvb2xTdGF0dXMiEGlkeFBvb2xMUEFzc2V0SWQiDWlkeEFtdEFzc2V0SWQiD2lkeFByaWNlQXNzZXRJZCIOaWR4QW10QXNzZXREY20iEGlkeFByaWNlQXNzZXREY20iDmlkeElBbXRBc3NldElkIhBpZHhJUHJpY2VBc3NldElkIg1pZHhMUEFzc2V0RGNtIgtpZHhQb29sVHlwZSITcG9vbExhYmVsV3hFbWlzc2lvbiIPdmFsaWRQb29sTGFiZWxzIgd3cmFwRXJyIgNtc2ciCHRocm93RXJyIhZrZXlBbGxvd2VkTHBTY3JpcHRIYXNoIhxrZXlBbGxvd2VkTHBTdGFibGVTY3JpcHRIYXNoIgxzd2FwQ29udHJhY3QiEGtleUZhY3RvcnlDb25maWciD2tleUxwVG9rZW5zTGlzdCIRa2V5UG9vbFNjcmlwdEhhc2giDWtleU1hdGNoZXJQdWIiGGtleUxlZ2FjeUZhY3RvcnlDb250cmFjdCIOa2V5TGVnYWN5UG9vbHMiE2tleU1hbmFnZXJQdWJsaWNLZXkiFmtleU1hbmFnZXJWYXVsdEFkZHJlc3MiD2tleUFkbWluUHViS2V5cyIWa2V5QXNzZXRzU3RvcmVDb250cmFjdCIZa2V5Vm90aW5nRW1pc3Npb25Db250cmFjdCIUa2V5VXNlclBvb2xzQ29udHJhY3QiDmtleVByaWNlQXNzZXRzIhBrZXlQcmljZURlY2ltYWxzIhNrZXlBbGxQb29sc1NodXRkb3duIhZrZXlOZXh0SW50ZXJuYWxBc3NldElkIg9rZXlQb29sVG9XZWlnaHQiC3Bvb2xBZGRyZXNzIhZrZXlQb29sVG9XZWlnaHRIaXN0b3J5IgNudW0iH2tleU1hcHBpbmdzSW50ZXJuYWwyYmFzZUFzc2V0SWQiEWludGVybmFsQmFzZUFzc2V0Ih9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkIgxiYXNlQXNzZXRTdHIiDWtleVBvb2xDb25maWciE2Ftb3VudEFzc2V0SW50ZXJuYWwiEnByaWNlQXNzZXRJbnRlcm5hbCIha2V5UG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIg5hc3NldHNJbnRlcm5hbCILJHQwMzg3ODM5NDAiJWtleUFsbFBvb2xzT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiHWtleU1hcHBpbmdMcEFzc2V0VG9Qb29sQXNzZXRzIgpscEFzc2V0U3RyIh1rZXlNYXBwaW5nUG9vbEFzc2V0c1RvTHBhc3NldCIYaW50ZXJuYWxBbW91bnRBc3NldElkU3RyIhdpbnRlcm5hbFByaWNlQXNzZXRJZFN0ciINa2V5UG9vbFNwcmVhZCIpa2V5TWFwcGluZ1Bvb2xDb250cmFjdEFkZHJlc3NUb1Bvb2xBc3NldHMiE3Bvb2xDb250cmFjdEFkZHJlc3MiKWtleU1hcHBpbmdQb29sQXNzZXRzVG9Qb29sQ29udHJhY3RBZGRyZXNzIh9rZXlNYXBwaW5nUG9vbENvbnRyYWN0VG9MUEFzc2V0IiprZXlNYXBwaW5nUG9vbExQQXNzZXRUb1Bvb2xDb250cmFjdEFkZHJlc3MiDWtleVd4RW1pc3Npb24iDWFtb3VudEFzc2V0SWQiDHByaWNlQXNzZXRJZCIIa2V5SW5GZWUiD2tleUluRmVlRGVmYXVsdCIKa2V5U3dhcEZlZSIJa2V5T3V0RmVlIhBrZXlPdXRGZWVEZWZhdWx0IhZrZXlTa2lwT3JkZXJWYWxpZGF0aW9uIhFrZXlDaGFuZ2VBbXBEZWxheSIRa2V5Q2hhbmdlQW1wRGVsdGEiEmtleUNoYW5nZUFtcFRhcmdldCIVa2V5U1dhdmVzUHJveHlBZGRyZXNzIhBrZXlTV2F2ZXNBc3NldElkIhdrZXlTdGFraW5nUHJvZml0QWRkcmVzcyIOa2V5TGVhc2VkUmF0aW8iB2Fzc2V0SWQiFWtleUxlYXNlZFJhdGlvRGVmYXVsdCIXa2V5TGVhc2VkUmF0aW9Ub2xlcmFuY2UiDWtleU1pbkJhbGFuY2UiFGtleU1pbkJhbGFuY2VEZWZhdWx0Ig9nZXRTdHJpbmdPckZhaWwiA2tleSIQZ2V0Qm9vbGVhbk9yRmFpbCIMZ2V0SW50T3JGYWlsIgxwYXJzZUFzc2V0SWQiBWlucHV0IhxnZXRNYW5hZ2VyVmF1bHRBZGRyZXNzT3JUaGlzIgckbWF0Y2gwIgFzIhhJZHhGYWN0b3J5Q2ZnU3Rha2luZ0RhcHAiGUlkeEZhY3RvcnlDZmdCb29zdGluZ0RhcHAiFElkeEZhY3RvcnlDZmdJZG9EYXBwIhVJZHhGYWN0b3J5Q2ZnVGVhbURhcHAiGUlkeEZhY3RvcnlDZmdFbWlzc2lvbkRhcHAiFUlkeEZhY3RvcnlDZmdSZXN0RGFwcCIZSWR4RmFjdG9yeUNmZ1NsaXBwYWdlRGFwcCIUSWR4RmFjdG9yeUNmZ0Rhb0RhcHAiGklkeEZhY3RvcnlDZmdNYXJrZXRpbmdEYXBwIhpJZHhGYWN0b3J5Q2ZnR3d4UmV3YXJkRGFwcCIWSWR4RmFjdG9yeUNmZ0JpcmRzRGFwcCIYZ2V0Qm9vc3RpbmdBZGRyZXNzT3JGYWlsIgpmYWN0b3J5Q2ZnIhhnZXRFbWlzc2lvbkFkZHJlc3NPckZhaWwiF2dldFN0YWtpbmdBZGRyZXNzT3JGYWlsIhlnZXRHd3hSZXdhcmRBZGRyZXNzT3JGYWlsIg5nZXRQcmljZUFzc2V0cyIWbWFuYWdlclB1YmxpY0tleU9yVW5pdCITbWFuYWdlclZhdWx0QWRkcmVzcyIVcGVybWlzc2lvbkRlbmllZEVycm9yIgl0ZXN0RXJyb3IiCG11c3RUaGlzIgFpIgttdXN0TWFuYWdlciICcGsiEGRhdGFGYWN0b3J5Q2ZnVjMiDnN0YWtpbmdBZGRyZXNzIg9ib29zdGluZ0FkZHJlc3MiC2lkb0NvbnRyYWN0Igx0ZWFtQ29udHJhY3QiEGVtaXNzaW9uQ29udHJhY3QiDHJlc3RDb250cmFjdCIQc2xpcHBhZ2VDb250cmFjdCILZGFvQ29udHJhY3QiEW1hcmtldGluZ0NvbnRyYWN0IhJnd3hSZXdhcmRzQ29udHJhY3QiDWJpcmRzQ29udHJhY3QiDmRhdGFGYWN0b3J5Q2ZnIgtkYXRhUG9vbENmZyIKcG9vbFN0YXR1cyIJbHBBc3NldElkIg5hbW91bnRBc3NldFN0ciINcHJpY2VBc3NldFN0ciITYW1vdW50QXNzZXREZWNpbWFscyIScHJpY2VBc3NldERlY2ltYWxzIhVhbW91bnRBc3NldEludGVybmFsSWQiFHByaWNlQXNzZXRJbnRlcm5hbElkIg9scEFzc2V0RGVjaW1hbHMiCHBvb2xUeXBlIhVkYXRhTWFwcGluZ1Bvb2xBc3NldHMiFmludGVybmFsQW1vdW50QXNzZXRTdHIiFWludGVybmFsUHJpY2VBc3NldFN0ciINZ2V0UG9vbENvbmZpZyIKcG9vbEFzc2V0cyIaZ2V0SW50ZXJuYWxBc3NldElkT3JDcmVhdGUiCmFzc2V0SWRTdHIiC2luY3JlbWVudG9yIg9pbnRlcm5hbEFzc2V0SWQiGGN1cnJlbnRJbmRleE9mSW50ZXJuYWxJZCIGcmVzdWx0IhJuZXdJbnRlcm5hbEFzc2V0SWQiCW11c3RBZG1pbiIIYWRtaW5QS3MiCWlzTWFuYWdlciIWaW50T3JEZWZhdWx0T3JGYWxsYmFjayIKa2V5RGVmYXVsdCINdmFsdWVGYWxsYmFjayIScG9vbEV4aXN0c0ludGVybmFsIgRhbUFzIgRwckFzIgNjZmciCmNmZ1JldmVyc2UiBmV4aXN0cyIcZ2V0QXNzZXRzRGF0YUZyb21Qb29sQWRkcmVzcyIOZ2V0UG9vbENyZWF0b3IiDSR0MDE1MjY5MTU0MDYiEXVzZXJQb29sc0NvbnRyYWN0Igtwb29sQ3JlYXRvciIRZ2V0QWRkcmVzc0JhbGFuY2UiDWFkZHJlc3NTdHJpbmciDWFzc2V0SWRTdHJpbmciB2FkZHJlc3MiC2lzUG9vbEVtcHR5Ig0kdDAxNTk4MTE2MTE4Ig0kdDAxNjQzMzE2NzM3IgFyIgckbWF0Y2gxIgJyZCIKaXNMZWFzYWJsZSILbGVhc2VkUmF0aW8iCm1pbkJhbGFuY2UiAWIiAmJkIg0kdDAxNzAwMzE3MjI3Igxwcm94eUFkZHJlc3MiDHByb3h5QXNzZXRJZCIMcHJveHlSYXRlTXVsIhRzdGFraW5nUHJvZml0QWRkcmVzcyIGYXNzZXQxIgZhc3NldDIiCWFzc2V0TnVtMSIJYXNzZXROdW0yIgJlZSIDcmVzIgJscCIPc3Rha2luZ0NvbnRyYWN0IhBib29zdGluZ0NvbnRyYWN0IhBzbHBpcGFnZUNvbnRyYWN0Ig1wcmljZURlY2ltYWxzIgtjaGVja0NhbGxlciIQbWF0aGNoZXJQdWI1OFN0ciIKbWF0aGNlclB1YiIVbGVnYWN5RmFjdG9yeUNvbnRyYWN0IgtsZWdhY3lQb29scyITYXNzZXRzU3RvcmVDb250cmFjdCIWdm90aW5nRW1pc3Npb25Db250cmFjdCILcHJpY2VBc3NldHMiBWNoZWtzIgxhZG1pblB1YktleXMiC2xwQXNzZXROYW1lIgxscEFzc2V0RGVzY3IiCnBvb2xXZWlnaHQiBGxvZ28iF2ludGVybmFsQW1vdW50QXNzZXREYXRhIhVpbnRlcm5hbEFtb3VudEFzc2V0SWQiFmludGVybmFsUHJpY2VBc3NldERhdGEiFGludGVybmFsUHJpY2VBc3NldElkIhVwb29sQWNjb3VudFNjcmlwdEhhc2giHGV0aGFsb25Qb29sQWNjb3VudFNjcmlwdEhhc2giCnBvb2xFeGlzdHMiD3Bvb2xDb25maWdWYWx1ZSIUYW1vdW50QXNzZXRzRGVjaW1hbHMiE3ByaWNlQXNzZXRzRGVjaW1hbHMiEmxwQXNzZXRJc3N1ZUFjdGlvbiIMbHBBc3NldElkU3RyIhhwb29sQWN0aXZhdGVJbnZva2VSZXN1bHQiGGNyZWF0ZU9yVXBkYXRlTHBBc3NldEludiISYWRkUG9vbHNMcExhYmVsSW52IgpzZXRMb2dvSW52IhBhZGRBc3NldHNMaW5rSW52IhtpbmNyZWFzZUFzc2V0UG9vbHNOdW1iZXJJbnYiCW5ld1N0YXR1cyIKcG9vbENvbmZpZyIKbHBBc3NldERjbSIMYW1vdW50VG9FbWl0IgZjYWxsZXIiDG9yaWdpbkNhbGxlciIQbHBBc3NldFJlcXVlc3RlZCIHbHBBc3NldCIMYW1vdW50VG9CdXJuIgdwYXltZW50Ig1wYXltZW50QW1vdW50Ig9pbkFtb3VudEFzc2V0SWQiGmxwQXNzZXRSZXF1ZXN0ZWRGb3JCdXJuaW5nIgVzaGFyZSINcG9vbFdlaWdodEtleSIMZ3d4V2VpZ2h0S2V5Iglnd3hXZWlnaHQiDXBvb2xXZWlnaHROZXciEW9uTW9kaWZ5V2VpZ2h0SW52IhVnd3hWaXJ0dWFsUG9vbEFjdGlvbnMiFHBvb2xXZWlnaHRIaXN0b3J5S2V5Ihdwb29sV2VpZ2h0SGlzdG9yeU9yVW5pdCIYcG9vbFdlaWdodEhpc3RvcnlBY3Rpb25zIg5idGNQb29sQWRkcmVzcyIOZXRoUG9vbEFkZHJlc3MiEWV0aEJ0Y1Bvb2xBZGRyZXNzIhN1c2RjVXNkdFBvb2xBZGRyZXNzIg9ldGhCdGNXZWlnaHROZXciEXVzZGNVc2R0V2VpZ2h0TmV3Ig93ZWlnaHREZWNyZW1lbnQiC3N0YWtpbmdEYXBwIg1nd3hSZXdhcmREYXBwIgxidGNXZWlnaHRLRVkiDGV0aFdlaWdodEtFWSIPZXRoQnRjV2VpZ2h0S0VZIhF1c2RjVXNkdFdlaWdodEtFWSIJYnRjV2VpZ2h0IglldGhXZWlnaHQiDGJ0Y1dlaWdodE5ldyIMZXRoV2VpZ2h0TmV3Ig9idGNMcEFzc2V0SWRTdHIiD2V0aExwQXNzZXRJZFN0ciISZXRoQnRjTHBBc3NldElkU3RyIhR1c2RjVXNkdExwQXNzZXRJZFN0ciIRb25Nb2RpZnlXZWlnaHRCdGMiEW9uTW9kaWZ5V2VpZ2h0RXRoIhRvbk1vZGlmeVdlaWdodEV0aEJ0YyIWb25Nb2RpZnlXZWlnaHRVc2RjVXNkdCIJaGF2ZUxhYmVsIhRjaGVja1ByaWNlQXNzZXRzU2l6ZSICY2IiA2FjYyIKcHJpY2VBc3NldCIHYWN0aW9ucyICJGwiAiRzIgUkYWNjMCIFJGYwXzEiAiRhIgIkaSIFJGYwXzIiHnBvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIiYWxsUG9vbHNPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIDZmVlIg5wb29sQWRkcmVzc1N0ciIJZmVlT3B0aW9uIgVwYXJ0cyIHcG9vbEZlZSILcHJvdG9jb2xGZWUiEGFtb3VudEFzc2V0SWRTdHIiD3ByaWNlQXNzZXRJZFN0ciIbYW1vdW50QXNzZXRJbnRlcm5hbElkT3B0aW9uIhpwcmljZUFzc2V0SW50ZXJuYWxJZE9wdGlvbiIZcG9vbENvbnRyYWN0QWRkcmVzc09wdGlvbiIPbHBBc3NldElkT3B0aW9uIghwb29sSW5mbyIFZGVsYXkiBWRlbHRhIgZ0YXJnZXQiBndlaWdodCILY2hlY2tXZWlnaHQiC2NoZWNrU3RhdHVzIg0kdDAzOTYxNzM5NzU0Ig91c2VyUG9vbHNJbnZva2UiFHZvdGluZ0VtaXNzaW9uSW52b2tlIhFhc3NldHNTdG9yZUludm9rZSICdHgiBnZlcmlmeSIPdGFyZ2V0UHVibGljS2V5fgABYQAIAAFiAIDC1y8AAWMAgKCUpY0dAAFkABIAAWUJALYCAQCAgJC7utat8A0AAWYFAWIAAWcCDkdXWHZpcnR1YWxQT09MAAFoAghQT09MU19MUAABaQCAiXoAAWoCBVdBVkVTAAFrAg9mYWN0b3J5X3YyLnJpZGUAAWwJAGgCCQBoAgBkAOgHAOgHAAFtAgJfXwABbgIAAAFvAAEAAXAAAgABcQADAAFyAAQAAXMAAQABdAACAAF1AAMAAXYAAQABdwACAAF4AAMAAXkABAABegAFAAFBAAYAAUIABwABQwAIAAFEAAkAAUUACgABRgALAAFHAgtXWF9FTUlTU0lPTgABSAkAzAgCBQFHBQNuaWwBAUkBAUoJALkJAgkAzAgCBQFrCQDMCAICAjogCQDMCAIFAUoFA25pbAIAAQFLAQFKCQACAQkBAUkBBQFKAQFMAAIXJXNfX2FsbG93ZWRMcFNjcmlwdEhhc2gBAU0AAh0lc19fYWxsb3dlZExwU3RhYmxlU2NyaXB0SGFzaAEBTgACECVzX19zd2FwQ29udHJhY3QBAU8AAhElc19fZmFjdG9yeUNvbmZpZwEBUAACECVzX19scFRva2Vuc0xpc3QBAVEAAhYlcyVzX19wb29sX19zY3JpcHRIYXNoAQFSAAIYJXMlc19fbWF0Y2hlcl9fcHVibGljS2V5AQFTAAIZJXNfX2xlZ2FjeUZhY3RvcnlDb250cmFjdAEBVAACDyVzX19sZWdhY3lQb29scwEBVQACFCVzX19tYW5hZ2VyUHVibGljS2V5AQFWAAIXJXNfX21hbmFnZXJWYXVsdEFkZHJlc3MBAVcAAhAlc19fYWRtaW5QdWJLZXlzAQFYAAIXJXNfX2Fzc2V0c1N0b3JlQ29udHJhY3QBAVkAAholc19fdm90aW5nRW1pc3Npb25Db250cmFjdAEBWgACFSVzX191c2VyUG9vbHNDb250cmFjdAECYWEACQC5CQIJAMwIAgICJXMJAMwIAgILcHJpY2VBc3NldHMFA25pbAUBbQECYWIAAhElc19fcHJpY2VEZWNpbWFscwECYWMAAgwlc19fc2h1dGRvd24BAmFkAAIXJXNfX25leHRJbnRlcm5hbEFzc2V0SWQBAmFlAQJhZgkArAICAhIlcyVzX19wb29sV2VpZ2h0X18FAmFmAQJhZwICYWYCYWgJAKwCAgkArAICCQCsAgICEiVzJXNfX3Bvb2xXZWlnaHRfXwUCYWYCAl9fCQCkAwEFAmFoAQJhaQECYWoJAKwCAgIoJXMlcyVkX19tYXBwaW5nc19faW50ZXJuYWwyYmFzZUFzc2V0SWRfXwkApAMBBQJhagECYWsBAmFsCQCsAgICKCVzJXMlc19fbWFwcGluZ3NfX2Jhc2VBc3NldDJpbnRlcm5hbElkX18FAmFsAQJhbQICYW4CYW8JAKwCAgkArAICCQCsAgIJAKwCAgIIJWQlZCVzX18FAmFuAgJfXwUCYW8CCF9fY29uZmlnAQJhcAECYXEEAmFyBQJhcQQCYW4IBQJhcgJfMQQCYW8IBQJhcgJfMgkAuQkCCQDMCAICBiVkJWQlcwkAzAgCCQCkAwEFAmFuCQDMCAIJAKQDAQUCYW8JAMwIAgIab25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQFA25pbAUBbQECYXMACQC5CQIJAMwIAgICJXMJAMwIAgIab25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQFA25pbAUBbQECYXQBAmF1CQCsAgIJAKwCAgIIJXMlcyVzX18FAmF1AhhfX21hcHBpbmdzX19scEFzc2V0MlBvb2wBAmF2AgJhdwJheAkArAICCQCsAgIJAKwCAgkArAICAgolZCVkJXMlc19fBQJhdwICX18FAmF4Ah5fX21hcHBpbmdzX19Qb29sQXNzZXRzMkxwQXNzZXQBAmF5AQJhZgkArAICAg4lcyVzX19zcHJlYWRfXwUCYWYBAmF6AQJhQQkArAICCQCsAgICCCVzJXMlc19fBQJhQQIjX19tYXBwaW5nc19fcG9vbENvbnRyYWN0MlBvb2xBc3NldHMBAmFCAgJhdwJheAkArAICCQCsAgIJAKwCAgkArAICAgolZCVkJXMlc19fCQCkAwEFAmF3AgJfXwkApAMBBQJheAIjX19tYXBwaW5nc19fcG9vbEFzc2V0czJQb29sQ29udHJhY3QBAmFDAQJhQQkArAICCQCsAgICCCVzJXMlc19fBQJhQQIgX19tYXBwaW5nc19fcG9vbENvbnRyYWN0MkxwQXNzZXQBAmFEAQJhdQkArAICCQCsAgICCCVzJXMlc19fBQJhdQIgX19tYXBwaW5nc19fbHBBc3NldDJQb29sQ29udHJhY3QBAmFFAgJhRgJhRwkArAICCQCsAgIJAKwCAgIUJXMlcyVzX193eEVtaXNzaW9uX18FAmFGAgJfXwUCYUcBAmFIAQJhZgkArAICAg0lcyVzX19pbkZlZV9fBQJhZgECYUkAAhAlc19faW5GZWVEZWZhdWx0AQJhSgECYWYJAKwCAgIPJXMlc19fc3dhcEZlZV9fBQJhZgECYUsBAmFmCQCsAgICDiVzJXNfX291dEZlZV9fBQJhZgECYUwAAhElc19fb3V0RmVlRGVmYXVsdAECYU0BAmFmCQCsAgICGyVzJXNfX3NraXBPcmRlclZhbGlkYXRpb25fXwUCYWYBAmFOAQJhZgkArAICAhYlcyVzX19jaGFuZ2VBbXBEZWxheV9fBQJhZgECYU8BAmFmCQCsAgICFiVzJXNfX2NoYW5nZUFtcERlbHRhX18FAmFmAQJhUAECYWYJAKwCAgIXJXMlc19fY2hhbmdlQW1wVGFyZ2V0X18FAmFmAQJhUQACFiVzX19zV2F2ZXNQcm94eUFkZHJlc3MBAmFSAAIRJXNfX3NXYXZlc0Fzc2V0SWQBAmFTAAIYJXNfX3N0YWtpbmdQcm9maXRBZGRyZXNzAQJhVAICYWYCYVUJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgILbGVhc2VkUmF0aW8JAMwIAgUCYWYJAMwIAgUCYVUFA25pbAUBbQECYVYBAmFVCQC5CQIJAMwIAgIEJXMlcwkAzAgCAhJsZWFzZWRSYXRpb0RlZmF1bHQJAMwIAgUCYVUFA25pbAUBbQECYVcCAmFmAmFVCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICFGxlYXNlZFJhdGlvVG9sZXJhbmNlCQDMCAIFAmFmCQDMCAIFAmFVBQNuaWwFAW0BAmFYAgJhZgJhVQkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgptaW5CYWxhbmNlCQDMCAIFAmFmCQDMCAIFAmFVBQNuaWwFAW0BAmFZAQJhVQkAuQkCCQDMCAICBCVzJXMJAMwIAgIRbWluQmFsYW5jZURlZmF1bHQJAMwIAgUCYVUFA25pbAUBbQECYVoBAmJhCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUEdGhpcwUCYmEJAKwCAgIVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQJiYQECYmIBAmJhCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJsIAgUEdGhpcwUCYmEJAKwCAgIVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQJiYQECYmMBAmJhCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUEdGhpcwUCYmEJAKwCAgIVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQJiYQECYmQBAmJlAwkAAAIFAmJlBQFqBQR1bml0CQDZBAEFAmJlAQJiZgAEAmJnCQCiCAEJAQFWAAMJAAECBQJiZwIGU3RyaW5nBAJiaAUCYmcJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAmJoBQR0aGlzAAJiaQABAAJiagACAAJiawADAAJibAAEAAJibQAFAAJibgAGAAJibwAHAAJicAAIAAJicQAJAAJicgAKAAJicwALAQJidAECYnUJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYnUFAmJqAQJidgECYnUJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYnUFAmJtAQJidwECYnUJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYnUFAmJpAQJieAECYnUJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYnUFAmJyAQJieQAEAmJnCQCiCAEJAQJhYQADCQABAgUCYmcCBlN0cmluZwQCYmgFAmJnAwkAAAIJALECAQUCYmgAAAUDbmlsCQC8CQIFAmJoBQFtBQNuaWwBAmJ6AAQCYkEJAQJiZgAEAmJnCQCdCAIFAmJBCQEBVQADCQABAgUCYmcCBlN0cmluZwQCYmgFAmJnCQDZBAEFAmJoAwkAAQIFAmJnAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IAAmJCCQEBSwECEVBlcm1pc3Npb24gZGVuaWVkAAJiQwkBAUsBAg9UZXN0IGVycm9yIGhlcmUBAmJEAQJiRQMJAAACCAUCYkUGY2FsbGVyBQR0aGlzBgUCYkIBAmJGAQJiRQQCYmcJAQJiegADCQABAgUCYmcCCkJ5dGVWZWN0b3IEAmJHBQJiZwMJAAACCAUCYkUPY2FsbGVyUHVibGljS2V5BQJiRwYFAmJCAwkAAQIFAmJnAgRVbml0CQECYkQBBQJiRQkAAgECC01hdGNoIGVycm9yAQJiSAsCYkkCYkoCYksCYkwCYk0CYk4CYk8CYlACYlECYlICYlMJALkJAgkAzAgCAhYlcyVzJXMlcyVzJXMlcyVzJXMlcyVzCQDMCAIFAmJJCQDMCAIFAmJKCQDMCAIFAmJLCQDMCAIFAmJMCQDMCAIFAmJNCQDMCAIFAmJOCQDMCAIFAmJPCQDMCAIFAmJQCQDMCAIFAmJRCQDMCAIFAmJSCQDMCAIFAmJTBQNuaWwFAW0BAmJUBwJiSQJiSgJiSwJiTAJiTQJiTgJiTwkAuQkCCQDMCAICDCVzJXMlcyVzJXMlcwkAzAgCBQJiSQkAzAgCBQJiSgkAzAgCBQJiSwkAzAgCBQJiTAkAzAgCBQJiTQkAzAgCBQJiTgkAzAgCBQJiTwUDbmlsBQFtAQJiVQsCYWYCYlYCYlcCYlgCYlkCYloCY2ECY2ICY2MCY2QCY2UJALkJAgkAzAgCAhYlcyVkJXMlcyVzJWQlZCVkJWQlZCVzCQDMCAIFAmFmCQDMCAIFAmJWCQDMCAIFAmJXCQDMCAIFAmJYCQDMCAIFAmJZCQDMCAIJAKQDAQUCYloJAMwIAgkApAMBBQJjYQkAzAgCCQCkAwEFAmNiCQDMCAIJAKQDAQUCY2MJAMwIAgkApAMBBQJjZAkAzAgCBQJjZQUDbmlsBQFtAQJjZgICY2cCY2gJALkJAgkAzAgCAgQlZCVkCQDMCAIJAKQDAQUCY2cJAMwIAgkApAMBBQJjaAUDbmlsBQFtAQJjaQECYWYEAmNqCQC1CQIJAQJhWgEJAQJhegEFAmFmBQFtBAJhbgkAkQMCBQJjagABBAJhbwkAkQMCBQJjagACCQC1CQIJAQJhWgEJAQJhbQIFAmFuBQJhbwUBbQECY2sCAmNsAmNtBAJjbgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYWsBBQJjbAAABAJjbwkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYWQAAAAEAmNwAwkAAAIFAmNuAAAEAmNxCQBkAgUCY28FAmNtCQCVCgMFAmNxCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWQABQJjcQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFrAQUCY2wFAmNxCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhaQEFAmNxBQJjbAUDbmlsBgkAlQoDBQJjbgUDbmlsBwUCY3ABAmNyAQJiRQQCY3MJALUJAgkBC3ZhbHVlT3JFbHNlAgkAoggBCQEBVwAFAW4FAW0DCQEPY29udGFpbnNFbGVtZW50AgUCY3MJANgEAQgFAmJFD2NhbGxlclB1YmxpY0tleQYEAmN0CQECYkYBBQJiRQMJAAACBQJjdAUCY3QGCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJjdQMCYmECY3YCY3cJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUCYmEJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUCY3YFAmN3AQJjeAICYUYCYUcEAmFuCQCfCAEJAQJhawEFAmFGBAJhbwkAnwgBCQECYWsBBQJhRwMDCQAAAgUCYW4FBHVuaXQGCQAAAgUCYW8FBHVuaXQHBAJjeQkApAMBCQEFdmFsdWUBBQJhbgQCY3oJAKQDAQkBBXZhbHVlAQUCYW8EAmNBCQCiCAEJAQJhbQIFAmN5BQJjegQCY0IJAKIIAQkBAmFtAgUCY3oFAmN5BAJjQwMJAQIhPQIFAmNBBQR1bml0BgkBAiE9AgUCY0IFBHVuaXQFAmNDAQJjRAECYUEEAmNqBAJiZwkAoggBCQECYXoBBQJhQQMJAAECBQJiZwIGU3RyaW5nBAJiaAUCYmcJALUJAgUCYmgFAW0JAQFLAQkAuQkCCQDMCAIFAmFBCQDMCAICEXBvb2wgaXMgbm90IGZvdW5kBQNuaWwCASAEAmFuCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCY2oAAQQCYW8JAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJjagACBAJhRgkBEUBleHRyTmF0aXZlKDEwNTgpAQkBAmFpAQUCYW4EAmFHCQERQGV4dHJOYXRpdmUoMTA1OCkBCQECYWkBBQJhbwQCYlcJARFAZXh0ck5hdGl2ZSgxMDU4KQEJAQJhQwEFAmFBCQCXCgUFAmFGBQJhRwUCYlcFAmFuBQJhbwECY0UBAmFBBAJjRgkBAmNEAQUCYUEEAmFGCAUCY0YCXzEEAmFHCAUCY0YCXzIEAmJXCAUCY0YCXzMEAmFuCAUCY0YCXzQEAmFvCAUCY0YCXzUEAmNHCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBCQEBWgAEAmNICQD8BwQFAmNHAhZnZXRQb29sQ3JlYXRvclJFQURPTkxZCQDMCAIFAmFGCQDMCAIFAmFHBQNuaWwFA25pbAUCY0gBAmNJAgJjSgJjSwQCY0wJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAmNKAwkAAAIFAmNLAgVXQVZFUwgJAO8HAQUCY0wHcmVndWxhcgQCYVUJANkEAQUCY0sJAPAHAgUCY0wFAmFVAQJjTQECYUEEAmNOCQECY0QBBQJhQQQCYUYIBQJjTgJfMQQCYUcIBQJjTgJfMgQCYlcIBQJjTgJfMwQCYW4IBQJjTgJfNAQCYW8IBQJjTgJfNQMJAAACCQECY0kCBQJhQQUCYUYAAAkAAAIJAQJjSQIFAmFBBQJhRwAAByICYkUBF2dldFN3YXBDb250cmFjdFJFQURPTkxZAAkAlAoCBQNuaWwJAQJhWgEJAQFOAAJiRQEaZ2V0UG9vbExlYXNlQ29uZmlnUkVBRE9OTFkCAmFmAmFVBAJjTwQCYmcJAJoIAgUEdGhpcwkBAmFUAgUCYWYFAmFVAwkAAQIFAmJnAgNJbnQEAmNQBQJiZwkAlAoCBgkAlwMBCQDMCAIAZAkAzAgCCQCWAwEJAMwIAgAACQDMCAIFAmNQBQNuaWwFA25pbAQCY1EJAJoIAgUEdGhpcwkBAmFWAQUCYVUDCQABAgUCY1ECA0ludAQCY1IFAmNRCQCUCgIGCQCXAwEJAMwIAgBkCQDMCAIJAJYDAQkAzAgCAAAJAMwIAgUCY1IFA25pbAUDbmlsCQCUCgIHAAAEAmNTCAUCY08CXzEEAmNUCAUCY08CXzIEAmNVBAJiZwkAmggCBQR0aGlzCQECYVgCBQJhZgUCYVUDCQABAgUCYmcCA0ludAQCY1YFAmJnCQCWAwEJAMwIAgAACQDMCAIFAmNWBQNuaWwEAmNRCQCaCAIFBHRoaXMJAQJhWQEFAmFVAwkAAQIFAmNRAgNJbnQEAmNXBQJjUQkAlgMBCQDMCAIAAAkAzAgCBQJjVwUDbmlsAAAEAmNYAwkAAAIFAmFVAgVXQVZFUwkAlQoDCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQJhUQACAAkAnQgCBQR0aGlzCQELdmFsdWVPckVsc2UCCQECYVIAAgAFAWMJAJUKAwIAAgAAAAQCY1kIBQJjWAJfMQQCY1oIBQJjWAJfMgQCZGEIBQJjWAJfMwQCZGIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBAmFTAAIACQCUCgIFA25pbAkAmQoHBQJjUwUCY1QFAmNVBQJjWQUCY1oFAmRhBQJkYgJiRQEgZ2V0THBBc3NldEZyb21Qb29sQXNzZXRzUkVBRE9OTFkCAmRjAmRkAwMJAAACBQJkYwIsOExRVzhmN1A1ZDVQWk03R3RaRUJnYXFSUEdTelMzRGZQdWlYclVSSjRBSlMJAAACBQJkZAIFV0FWRVMHCQCUCgIFA25pbAUEdW5pdAQCZGUJAQV2YWx1ZQEJAJoIAgUEdGhpcwkBAmFrAQUCZGMEAmRmCQEFdmFsdWUBCQCaCAIFBHRoaXMJAQJhawEFAmRkBAJkZwkAnQgCBQR0aGlzCQECYXYCCQCkAwEFAmRlCQCkAwEFAmRmBAJkaAMJAAACBQJkZwUEdW5pdAUEdW5pdAkAsAICCQEFdmFsdWUBBQJkZwAECQCUCgIFA25pbAUCZGgCYkUBIWdldFBvb2xBZGRyZXNzRnJvbUxwQXNzZXRSRUFET05MWQECZGkJAJQKAgUDbmlsCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQJhRAEFAmRpAgACYkUBC2NvbnN0cnVjdG9yCAJkagJkawJiSwJiTAJiTQJiTgJkbAJkbQQCZG4JAQJiRgEFAmJFAwkAAAIFAmRuBQJkbgkAzAgCCQELU3RyaW5nRW50cnkCCQEBTwAJAQJiVAcFAmRqBQJkawUCYksFAmJMBQJiTQUCYk4FAmRsCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWIABQJkbQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJFAQ1jb25zdHJ1Y3RvclYyAQJkbwQCZG4JAQJiRgEFAmJFAwkAAAIFAmRuBQJkbgQCZHAJAKcIAQkA2QQBBQJkbwMJAAACBQJkcAUCZHAJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVIABQJkbwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJFAQ1jb25zdHJ1Y3RvclYzBAJiUAJiUQJiUgJiUwQCZG4JAQJiRgEFAmJFAwkAAAIFAmRuBQJkbgQCYnUJALUJAgkBAmFaAQkBAU8ABQFtCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFPAAkBAmJICwkAkQMCBQJidQABCQCRAwIFAmJ1AAIJAJEDAgUCYnUAAwkAkQMCBQJidQAECQCRAwIFAmJ1AAUJAJEDAgUCYnUABgkAkQMCBQJidQAHBQJiUAUCYlEFAmJSBQJiUwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJFAQ1jb25zdHJ1Y3RvclY0AgJkcQJkcgQCZG4JAQJiRgEFAmJFAwkAAAIFAmRuBQJkbgkAzAgCCQELU3RyaW5nRW50cnkCCQEBUwAFAmRxCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFUAAkAuQkCBQJkcgUBbQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJFAQ1jb25zdHJ1Y3RvclY1AQJkcwQCZG4JAQJiRgEFAmJFAwkAAAIFAmRuBQJkbgkAzAgCCQELU3RyaW5nRW50cnkCCQEBWAAFAmRzBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkUBDWNvbnN0cnVjdG9yVjYCAmR0AmR1BAJkdgkAzAgCCQECYkYBBQJiRQkAzAgCAwkBAiE9AgkApggBBQJkdAUEdW5pdAYCKGludmFsaWQgdm90aW5nIGVtaXNzaW9uIGNvbnRyYWN0IGFkZHJlc3MFA25pbAMJAAACBQJkdgUCZHYJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVkABQJkdAkAzAgCCQELU3RyaW5nRW50cnkCCQECYWEACQC5CQIFAmR1BQFtBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkUBCXNldEFkbWlucwECZHcEAmRuCQECYkYBBQJiRQMJAAACBQJkbgUCZG4JAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVcACQC5CQIFAmR3BQFtBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkUBD2FjdGl2YXRlTmV3UG9vbAgCYWYCYlgCYlkCZHgCZHkCZHoCY2UCZEEEAmRuCQECY3IBBQJiRQMJAAACBQJkbgUCZG4DCQEJaXNEZWZpbmVkAQkAoggBCQECYXoBBQJhZgkBAUsBCQCsAgIJAKwCAgINUG9vbCBhZGRyZXNzIAUCYWYCFCBhbHJlYWR5IHJlZ2lzdGVyZWQuBAJkQgkBAmNrAgUCYlgAAQQCZEMIBQJkQgJfMQQCZEQJAQJjawIFAmJZAwgFAmRCAl8zAAIAAQQCZEUIBQJkRAJfMQQCZEYJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA8QcBCQERQGV4dHJOYXRpdmUoMTA2MikBBQJhZgkArAICAilObyBzY3JpcHQgaGFzIGJlZW4gZm91bmQgb24gcG9vbCBhY2NvdW50IAUCYWYEAmRHCQERQGV4dHJOYXRpdmUoMTA1NykBCQEBUQAEAmRICQECY3gCBQJiWAUCYlkDBQJkSAkBAUsBCQCsAgIJAKwCAgkArAICCQCsAgICBVBvb2wgBQJiWAIBLwUCYlkCHCBoYXMgYWxyZWFkeSBiZWVuIGFjdGl2YXRlZC4EAmRJCQEFdmFsdWUBCQCdCAIFBHRoaXMJAQJhbQIJAKQDAQUCZEMJAKQDAQUCZEUEAmRKAwkAAAIFAmJYAgVXQVZFUwUBbAkAbAYACgAACAkBBXZhbHVlAQkA7AcBCQDZBAEFAmJYCGRlY2ltYWxzAAAAAAUERE9XTgQCZEsDCQAAAgUCYlkCBVdBVkVTBQFsCQBsBgAKAAAICQEFdmFsdWUBCQDsBwEJANkEAQUCYlkIZGVjaW1hbHMAAAAABQRET1dOBAJkTAkAwggFBQJkeAUCZHkAAQAIBgQCYlcJALgIAQUCZEwEAmRNCQDYBAEFAmJXBAJkTgkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQJhZgIIYWN0aXZhdGUJAMwIAgUCYlgJAMwIAgUCYlkFA25pbAUDbmlsAwkAAAIFAmROBQJkTgMJAQIhPQIFAmROAgdzdWNjZXNzCQEBSwECI1Bvb2wgaW5pdGlhbGlzYXRpb24gZXJyb3IgaGFwcGVuZWQuBAJkcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAmFaAQkBAVgABAJkTwkA/AcEBQJkcwIOY3JlYXRlT3JVcGRhdGUJAMwIAgUCZE0JAMwIAgUCZHgJAMwIAgcFA25pbAUDbmlsAwkAAAIFAmRPBQJkTwQCZFAJAPwHBAUCZHMCCGFkZExhYmVsCQDMCAIFAmRNCQDMCAIFAWgFA25pbAUDbmlsAwkAAAIFAmRQBQJkUAQCZFEJAPwHBAUCZHMCB3NldExvZ28JAMwIAgUCZE0JAMwIAgUCZEEFA25pbAUDbmlsAwkAAAIFAmRRBQJkUQQCZFIJAPwHBAUCZHMCDWFkZEFzc2V0c0xpbmsJAMwIAgUCYlgJAMwIAgUCYlkJAMwIAgUCZE0FA25pbAUDbmlsAwkAAAIFAmRSBQJkUgQCZFMJAPwHBAUCZHMCGGluY3JlYXNlQXNzZXRQb29sc051bWJlcgkAzAgCBQJiWAUDbmlsBQNuaWwDCQAAAgUCZFMFAmRTCQCUCgIJAM4IAgkAzggCCAUCZEICXzIIBQJkRAJfMgkAzAgCBQJkTAkAzAgCCQEEQnVybgIFAmJXAAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFtAgkApAMBBQJkQwkApAMBBQJkRQkBAmJVCwUCYWYJAKQDAQUBbwUCZE0FAmJYBQJiWQUCZEoFAmRLBQJkQwUCZEUFAWwFAmNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhdAEFAmRNCQECY2YCBQJkQwUCZEUJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF2AgkApAMBBQJkQwkApAMBBQJkRQkArAICAgQlc19fBQJkTQkAzAgCCQELU3RyaW5nRW50cnkCCQECYXoBBQJhZgkBAmNmAgUCZEMFAmRFCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhQgIFAmRDBQJkRQUCYWYJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFEAQUCZE0FAmFmCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhQwEFAmFmBQJkTQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFlAQUCYWYFAmR6CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYXkBBQJhZgUBaQUDbmlsBQJkTQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiRQEKbWFuYWdlUG9vbAICYWYCZFQEAmRuCQECYkYBBQJiRQMJAAACBQJkbgUCZG4EAmRVCQECY2kBBQJhZgQCYlYJAJEDAgUCZFUFAXcEAmRNCQCRAwIFAmRVBQF4BAJiWAkAkQMCBQJkVQUBeQQCYlkJAJEDAgUCZFUFAXoEAmRKCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFUFAUEEAmRLCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFUFAUIEAmRDCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFUFAUMEAmRFCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFUFAUQEAmRWCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFUFAUUEAmNlCQCRAwIFAmRVBQFGCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhbQIJAKQDAQUCZEMJAKQDAQUCZEUJAQJiVQsFAmFmCQCkAwEFAmRUBQJkTQUCYlgFAmJZBQJkSgUCZEsFAmRDBQJkRQUCZFYFAmNlBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkUBBGVtaXQBAmRXBAJkWAgFAmJFBmNhbGxlcgQCZFkIBQJiRQxvcmlnaW5DYWxsZXIEAmRaCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKIIAQkBAmFDAQkApQgBBQJkWAIdSW52YWxpZCBMUCBhZGRyZXNzIGNhbGxlZCBtZS4EAmVhCQDZBAEFAmRaBAJkcgkAtQkCCQELdmFsdWVPckVsc2UCCQCiCAEJAQFUAAUBbgUBbQQCZHEJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAoggBCQEBUwACKExlZ2FjeSBmYWN0b3J5IGNvbnRyYWN0IGRvZXMgbm90IGV4aXN0cy4DCQBnAgAABQJkVwUDbmlsAwkBD2NvbnRhaW5zRWxlbWVudAIFAmRyCQClCAEFAmRYCQCUCgIFA25pbAUCZHEJAJQKAgkAzAgCCQEHUmVpc3N1ZQMFAmVhBQJkVwYJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAmJFBmNhbGxlcgUCZFcFAmVhBQNuaWwCB3N1Y2Nlc3MCYkUBBGJ1cm4BAmViBAJkWAgFAmJFBmNhbGxlcgQCZFkIBQJiRQxvcmlnaW5DYWxsZXIEAmVjCQEFdmFsdWUBCQCRAwIIBQJiRQhwYXltZW50cwAABAJlZAkBBXZhbHVlAQgFAmVjBmFtb3VudAQCZWUJANgEAQkBBXZhbHVlAQgFAmVjB2Fzc2V0SWQEAmVmCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKIIAQkBAmFDAQkApQgBBQJkWAIdSW52YWxpZCBMUCBhZGRyZXNzIGNhbGxlZCBtZS4DCQECIT0CBQJlZQUCZWYJAQFLAQIVSW52YWxpZCBhc3NldCBwYXNzZWQuAwkBAiE9AgUCZWIFAmVkCQEBSwECFkludmFsaWQgYW1vdW50IHBhc3NlZC4EAmVhCQDZBAEFAmVmCQCUCgIJAMwIAgkBBEJ1cm4CBQJlYQUCZWIFA25pbAIHc3VjY2VzcwJiRQEMbW9kaWZ5V2VpZ2h0AgJiVwJlZwQCZG4DCQAAAgkA2AQBCAgFAmJFBmNhbGxlcgVieXRlcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEBWQACAAYJAQJiRgEFAmJFAwkAAAIFAmRuBQJkbgQCYUEJAQJhWgEJAQJhRAEFAmJXBAJlaAkBAmFlAQUCYUEEAmVpCQECYWUBBQFnBAJlagkBC3ZhbHVlT3JFbHNlAgkAnwgBBQJlaQAABAJkegkBC3ZhbHVlT3JFbHNlAgkAnwgBBQJlaAAABAJlawUCZWcEAmJ1CQC1CQIJAQJhWgEJAQFPAAUBbQQCZGoJAQJidwEFAmJ1BAJlbAkA/AcEBQJkagIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCYlcJAMwIAgUCYUEFA25pbAUDbmlsAwkAAAIFAmVsBQJlbAQCZW0DCQAAAgUCZWoAAAUDbmlsCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJlaQAABQNuaWwEAmVuCQECYWcCBQJhQQAABAJlbwkAnwgBBQJlbgQCZXADCQAAAgUCZW8FBHVuaXQFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBBQJlbgUDbmlsCQDOCAIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZWgFAmVrBQNuaWwFAmVtBQJlcAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiRQENbW9kaWZ5V2VpZ2h0cwQCZXECZXICZXMCZXQEAmRuCQECYkYBBQJiRQMJAAACBQJkbgUCZG4EAmV1CQBpAgkAaAIABQUBZgBkBAJldgkAaQIJAGgCAAUFAWYAZAQCZXcJAGkCCQBoAgAFBQFmAGQEAmJ1CQC1CQIJAQJhWgEJAQFPAAUBbQQCZXgJAQJidwEFAmJ1BAJleQkBAmJ4AQUCYnUEAmV6CQECYWUBBQJlcQQCZUEJAQJhZQEFAmVyBAJlQgkBAmFlAQUCZXMEAmVDCQECYWUBBQJldAQCZUQJAQJiYwEFAmV6BAJlRQkBAmJjAQUCZUEEAmVGCQBlAgUCZUQFAmV3BAJlRwkAZQIFAmVFBQJldwMJAGcCAAAFAmVGCQEBSwEJAKwCAgIWaW52YWxpZCBidGNXZWlnaHROZXc6IAkApAMBBQJlRgMJAGcCAAAFAmVHCQEBSwEJAKwCAgIWaW52YWxpZCBldGhXZWlnaHROZXc6IAkApAMBBQJlRwQCZUgJAQJhWgEJAQJhQwEFAmVxBAJlSQkBAmFaAQkBAmFDAQUCZXIEAmVKCQECYVoBCQECYUMBBQJlcwQCZUsJAQJhWgEJAQJhQwEFAmV0BAJlTAkA/AcEBQJleAIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCZUgJAMwIAgUCZXEFA25pbAUDbmlsAwkAAAIFAmVMBQJlTAQCZU0JAPwHBAUCZXgCDm9uTW9kaWZ5V2VpZ2h0CQDMCAIFAmVJCQDMCAIFAmVyBQNuaWwFA25pbAMJAAACBQJlTQUCZU0EAmVOCQD8BwQFAmV4Ag5vbk1vZGlmeVdlaWdodAkAzAgCBQJlSgkAzAgCBQJlcwUDbmlsBQNuaWwDCQAAAgUCZU4FAmVOBAJlTwkA/AcEBQJleAIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCZUsJAMwIAgUCZXQFA25pbAUDbmlsAwkAAAIFAmVPBQJlTwkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZXoFAmVGCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJlQQUCZUcJAMwIAgkBDEludGVnZXJFbnRyeQIFAmVCBQJldQkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZUMFAmV2CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWcCBQJlcQAABQJlRAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFnAgUCZXIAAAUCZUUJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhZwIFAmVzAAAFAmV1CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWcCBQJldAAABQJldgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJFARhjaGVja1d4RW1pc3Npb25Qb29sTGFiZWwCAmFGAmFHBAJlUAQCYmcJAKAIAQkBAmFFAgUCYUYFAmFHAwkAAQIFAmJnAgdCb29sZWFuBAJjVgUCYmcFAmNWBwkAlAoCBQNuaWwFAmVQAmJFARZzZXRXeEVtaXNzaW9uUG9vbExhYmVsAgJhRgJhRwQCZG4JAQJjcgEFAmJFAwkAAAIFAmRuBQJkbgkAlAoCCQDMCAIJAQxCb29sZWFuRW50cnkCCQECYUUCBQJhRgUCYUcGBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkUBGWRlbGV0ZVd4RW1pc3Npb25Qb29sTGFiZWwCAmFGAmFHBAJkbgMJAAACCAUCYkUGY2FsbGVyBQR0aGlzBgkBAmNyAQUCYkUDCQAAAgUCZG4FAmRuCQCUCgIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFFAgUCYUYFAmFHBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkUBEm9uVmVyaWZpY2F0aW9uTG9zcwECYVUEAmRuAwkAAAIJANgEAQgIBQJiRQZjYWxsZXIFYnl0ZXMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBAVgAAgAGCQECYkYBBQJiRQMJAAACBQJkbgUCZG4EAmR1CQECYnkABAJlUQMJAGYCCQCQAwEFAmR1AAAGCQEBSwECFGludmFsaWQgcHJpY2UgYXNzZXRzAwkAAAIFAmVRBQJlUQoBAmVSAgJlUwJlVAQCY1AJAPwHBAUEdGhpcwIZZGVsZXRlV3hFbWlzc2lvblBvb2xMYWJlbAkAzAgCBQJhVQkAzAgCBQJlVAUDbmlsBQNuaWwDCQAAAgUCY1AFAmNQBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAJlVQoAAmVWBQJkdQoAAmVXCQCQAwEFAmVWCgACZVgFBHVuaXQKAQJlWQICZVoCZmEDCQBnAgUCZmEFAmVXBQJlWgkBAmVSAgUCZVoJAJEDAgUCZVYFAmZhCgECZmICAmVaAmZhAwkAZwIFAmZhBQJlVwUCZVoJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMwkBAmZiAgkBAmVZAgkBAmVZAgkBAmVZAgkBAmVZAgkBAmVZAgkBAmVZAgkBAmVZAgkBAmVZAgkBAmVZAgkBAmVZAgkBAmVZAgkBAmVZAgkBAmVZAgUCZVgAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAwkAAAIFAmVVBQJlVQkAlAoCBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkUBKGlzUG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkUkVBRE9OTFkBAmFmBAJkVQkBAmNpAQUCYWYEAmFxCQCUCgIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkVQUBQwkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRVBQFEBAJmYwkBC3ZhbHVlT3JFbHNlAgkAoAgBCQECYXABBQJhcQcEAmZkCQELdmFsdWVPckVsc2UCCQCgCAEJAQJhcwAHCQCUCgIFA25pbAMFAmZkBgUCZmMCYkUBEGdldEluRmVlUkVBRE9OTFkBAmFmBAJmZQkBAmN1AwkBAmFIAQUCYWYJAQJhSQAAAAkAlAoCBQNuaWwFAmZlAmJFARFnZXRPdXRGZWVSRUFET05MWQECYWYEAmZlCQECY3UDCQECYUsBBQJhZgkBAmFMAAkAawMACgUBYgCQTgkAlAoCBQNuaWwFAmZlAmJFARJnZXRTd2FwRmVlUkVBRE9OTFkBAmZmBAJmZwQCYmcJAJ0IAgUEdGhpcwkBAmFKAQUCZmYDCQABAgUCYmcCBlN0cmluZwQCYmgFAmJnBAJmaAkAtQkCBQJiaAUBbQQCZmkJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJmaAABBAJmagkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmZoAAIJAJQKAgUCZmkFAmZqAwkAAQIFAmJnAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IJAJQKAgUDbmlsBQJmZwJiRQEQcG9vbEluZm9SRUFET05MWQICZmsCZmwEAmZtCQCaCAIFBHRoaXMJAQJhawEFAmZrBAJmbgkAmggCBQR0aGlzCQECYWsBBQJmbAQCZm8JAJ0IAgUEdGhpcwkBAmFCAgkBBXZhbHVlAQUCZm0JAQV2YWx1ZQEFAmZuBAJmcAkAnQgCBQR0aGlzCQECYUMBCQEFdmFsdWUBBQJmbwQCZEgDAwkBCWlzRGVmaW5lZAEFAmZtCQEJaXNEZWZpbmVkAQUCZm4HCQEJaXNEZWZpbmVkAQUCZm8HBAJmcQMFAmRICQCUCgIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEFAmZvCQECYmQBCQEFdmFsdWUBBQJmcAUEdW5pdAkAlAoCBQNuaWwFAmZxAmJFARVnZXRQb29sU3RhdHVzUkVBRE9OTFkBAmFmBAJjagkAtQkCCQECYVoBCQECYXoBBQJhZgUBbQQCYW4JAJEDAgUCY2oAAQQCYW8JAJEDAgUCY2oAAgQCY0EJALUJAgkBAmFaAQkBAmFtAgUCYW4FAmFvBQFtCQCUCgIFA25pbAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmNBBQF3AmJFARVnZXRQb29sQ29uZmlnUkVBRE9OTFkBAmFmBAJjagkAtQkCCQECYVoBCQECYXoBBQJhZgUBbQQCYW4JAJEDAgUCY2oAAQQCYW8JAJEDAgUCY2oAAgQCY0EJALUJAgkBAmFaAQkBAmFtAgUCYW4FAmFvBQFtCQCUCgIFA25pbAUCY0ECYkUBIGdldFBvb2xDb25maWdCeUxwQXNzZXRJZFJFQURPTkxZAQJkTQQCY2oJALUJAgkBAmFaAQkBAmF0AQUCZE0FAW0EAmFuCQCRAwIFAmNqAAEEAmFvCQCRAwIFAmNqAAIEAmNBCQC1CQIJAQJhWgEJAQJhbQIFAmFuBQJhbwUBbQkAlAoCBQNuaWwFAmNBAmJFARJwb29sRXhpc3RzUkVBRE9OTFkCAmFGAmFHCQCUCgIFA25pbAkBAmN4AgUCYUYFAmFHAmJFARtza2lwT3JkZXJWYWxpZGF0aW9uUkVBRE9OTFkBAmFmCQCUCgIFA25pbAkBC3ZhbHVlT3JFbHNlAgkAoAgBCQECYU0BBQJhZgcCYkUBGmdldENoYW5nZUFtcENvbmZpZ1JFQURPTkxZAQJhZgQCZnIJARFAZXh0ck5hdGl2ZSgxMDU1KQEJAQJhTgEFAmFmBAJmcwkBEUBleHRyTmF0aXZlKDEwNTUpAQkBAmFPAQUCYWYEAmZ0CQERQGV4dHJOYXRpdmUoMTA1NSkBCQECYVABBQJhZgkAlAoCBQNuaWwJAMwIAgUCZnIJAMwIAgUCZnMJAMwIAgUCZnQFA25pbAJiRQEVZ2V0UG9vbFdlaWdodFJFQURPTkxZAQJiVwQCYWYJAQJhWgEJAQJhRAEFAmJXBAJmdQkBC3ZhbHVlT3JFbHNlAgkAnwgBCQECYWUBBQJhZgAACQCUCgIFA25pbAUCZnUCYkUBCmRlbGV0ZVBvb2wBAmFBBAJkVQkBAmNpAQUCYUEEAmRuAwkAAAIJAKUIAQgFAmJFBmNhbGxlcgkBAmNFAQUCYUEDCQECY00BBQJhQQYJAQFLAQIRUG9vbCBpcyBub3QgZW1wdHkJAQJiRgEFAmJFAwkAAAIFAmRuBQJkbgQCZnYDCQAAAgkBC3ZhbHVlT3JFbHNlAgkAnwgBCQECYWUBBQJhQQAAAAAGCQEBSwECF1Bvb2wgd2VpZ2h0IGlzIG5vdCBaZXJvAwkAAAIFAmZ2BQJmdgQCZncDCQAAAgkAkQMCBQJkVQUBdwkApAMBBQFyBgkBAUsBAhlQb29sIG11c3QgYmUgU0hVVERPV04gKDQpAwkAAAIFAmZ3BQJmdwQCZngJAQJjRAEFAmFBBAJhRggFAmZ4Al8xBAJhRwgFAmZ4Al8yBAJiVwgFAmZ4Al8zBAJhbggFAmZ4Al80BAJhbwgFAmZ4Al81BAJjRwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTgpAQkBAVoABAJmeQkA/AcEBQJjRwIKZGVsZXRlUG9vbAkAzAgCBQJhRgkAzAgCBQJhRwUDbmlsBQNuaWwDCQAAAgUCZnkFAmZ5BAJkdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTgpAQkBAVkABAJmegkA/AcEBQJkdAIKZGVsZXRlUG9vbAkAzAgCBQJhRgkAzAgCBQJhRwUDbmlsBQNuaWwDCQAAAgUCZnoFAmZ6BAJkcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTgpAQkBAVgABAJmQQkA/AcEBQJkcwIKZGVsZXRlUG9vbAkAzAgCBQJhRgkAzAgCBQJhRwUDbmlsBQNuaWwDCQAAAgUCZkEFAmZBCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhQwEFAmFBCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhegEFAmFBCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhdgIJAKQDAQUCYW4JAKQDAQUCYW8JAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFCAgUCYW4FAmFvCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhbQIJAKQDAQUCYW4JAKQDAQUCYW8JAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF0AQUCYlcJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFEAQUCYlcJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFFAgUCYUYFAmFHCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhZQEFAmFBCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJheQEFAmFBCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhSAEFAmFBCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhSwEFAmFBCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhTQEFAmFBCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhTgEFAmFBCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhTwEFAmFBCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhUAEFAmFBBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAmZCAQJmQwAEAmZEBAJiZwkBAmJ6AAMJAAECBQJiZwIKQnl0ZVZlY3RvcgQCYkcFAmJnBQJiRwMJAAECBQJiZwIEVW5pdAgFAmZCD3NlbmRlclB1YmxpY0tleQkAAgECC01hdGNoIGVycm9yCQD0AwMIBQJmQglib2R5Qnl0ZXMJAJEDAggFAmZCBnByb29mcwAABQJmRIROJg4=", "height": 2714656, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FsMwn7j7hKG8RYngfkw1ytMpHno4E3TrQRyWHAGniveX Next: 3Zf7THF2Usw3xNwhyvEWz8j8TXSLVyuqSWr359g8LLg5 Diff:
OldNewDifferences
158158 func as () = makeString(["%s", "oneTokenOperationsDisabled"], m)
159159
160160
161-func at (aq) = {
162- let au = aq
163- let an = au._1
164- let ao = au._2
165- makeString(["%d%d%s", toString(an), toString(ao), "swapDisabled"], m)
166- }
161+func at (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2Pool")
167162
168163
169-func av () = makeString(["%s", "swapDisabled"], m)
164+func av (aw,ax) = (((("%d%d%s%s__" + aw) + "__") + ax) + "__mappings__PoolAssets2LpAsset")
170165
171166
172-func aw (ax) = (("%s%s%s__" + ax) + "__mappings__lpAsset2Pool")
167+func ay (af) = ("%s%s__spread__" + af)
173168
174169
175-func ay (az,aA) = (((("%d%d%s%s__" + az) + "__") + aA) + "__mappings__PoolAssets2LpAsset")
170+func az (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2PoolAssets")
176171
177172
178-func aB (af) = ("%s%s__spread__" + af)
173+func aB (aw,ax) = (((("%d%d%s%s__" + toString(aw)) + "__") + toString(ax)) + "__mappings__poolAssets2PoolContract")
179174
180175
181-func aC (aD) = (("%s%s%s__" + aD) + "__mappings__poolContract2PoolAssets")
176+func aC (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2LpAsset")
182177
183178
184-func aE (az,aA) = (((("%d%d%s%s__" + toString(az)) + "__") + toString(aA)) + "__mappings__poolAssets2PoolContract")
179+func aD (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2PoolContract")
185180
186181
187-func aF (aD) = (("%s%s%s__" + aD) + "__mappings__poolContract2LpAsset")
182+func aE (aF,aG) = ((("%s%s%s__wxEmission__" + aF) + "__") + aG)
188183
189184
190-func aG (ax) = (("%s%s%s__" + ax) + "__mappings__lpAsset2PoolContract")
185+func aH (af) = ("%s%s__inFee__" + af)
191186
192187
193-func aH (aI,aJ) = ((("%s%s%s__wxEmission__" + aI) + "__") + aJ)
188+func aI () = "%s__inFeeDefault"
194189
195190
196-func aK (af) = ("%s%s__inFee__" + af)
191+func aJ (af) = ("%s%s__swapFee__" + af)
197192
198193
199-func aL () = "%s__inFeeDefault"
194+func aK (af) = ("%s%s__outFee__" + af)
200195
201196
202-func aM (af) = ("%s%s__swapFee__" + af)
197+func aL () = "%s__outFeeDefault"
203198
204199
205-func aN (af) = ("%s%s__outFee__" + af)
200+func aM (af) = ("%s%s__skipOrderValidation__" + af)
206201
207202
208-func aO () = "%s__outFeeDefault"
203+func aN (af) = ("%s%s__changeAmpDelay__" + af)
209204
210205
211-func aP (af) = ("%s%s__skipOrderValidation__" + af)
206+func aO (af) = ("%s%s__changeAmpDelta__" + af)
212207
213208
214-func aQ (af) = ("%s%s__changeAmpDelay__" + af)
209+func aP (af) = ("%s%s__changeAmpTarget__" + af)
215210
216211
217-func aR (af) = ("%s%s__changeAmpDelta__" + af)
212+func aQ () = "%s__sWavesProxyAddress"
218213
219214
220-func aS (af) = ("%s%s__changeAmpTarget__" + af)
215+func aR () = "%s__sWavesAssetId"
221216
222217
223-func aT () = "%s__sWavesProxyAddress"
218+func aS () = "%s__stakingProfitAddress"
224219
225220
226-func aU () = "%s__sWavesAssetId"
221+func aT (af,aU) = makeString(["%s%s%s", "leasedRatio", af, aU], m)
227222
228223
229-func aV () = "%s__stakingProfitAddress"
224+func aV (aU) = makeString(["%s%s", "leasedRatioDefault", aU], m)
230225
231226
232-func aW (af,aX) = makeString(["%s%s%s", "leasedRatio", af, aX], m)
227+func aW (af,aU) = makeString(["%s%s%s", "leasedRatioTolerance", af, aU], m)
233228
234229
235-func aY (aX) = makeString(["%s%s", "leasedRatioDefault", aX], m)
230+func aX (af,aU) = makeString(["%s%s%s", "minBalance", af, aU], m)
236231
237232
238-func aZ (af,aX) = makeString(["%s%s%s", "leasedRatioTolerance", af, aX], m)
233+func aY (aU) = makeString(["%s%s", "minBalanceDefault", aU], m)
239234
240235
241-func ba (af,aX) = makeString(["%s%s%s", "minBalance", af, aX], m)
236+func aZ (ba) = valueOrErrorMessage(getString(this, ba), ("No data for this.key=" + ba))
242237
243238
244-func bb (aX) = makeString(["%s%s", "minBalanceDefault", aX], m)
239+func bb (ba) = valueOrErrorMessage(getBoolean(this, ba), ("No data for this.key=" + ba))
245240
246241
247-func bc (bd) = valueOrErrorMessage(getString(this, bd), ("No data for this.key=" + bd))
242+func bc (ba) = valueOrErrorMessage(getInteger(this, ba), ("No data for this.key=" + ba))
248243
249244
250-func be (bd) = valueOrErrorMessage(getBoolean(this, bd), ("No data for this.key=" + bd))
245+func bd (be) = if ((be == j))
246+ then unit
247+ else fromBase58String(be)
251248
252249
253-func bf (bd) = valueOrErrorMessage(getInteger(this, bd), ("No data for this.key=" + bd))
254-
255-
256-func bg (bh) = if ((bh == j))
257- then unit
258- else fromBase58String(bh)
259-
260-
261-func bi () = {
262- let bj = getString(V())
263- if ($isInstanceOf(bj, "String"))
250+func bf () = {
251+ let bg = getString(V())
252+ if ($isInstanceOf(bg, "String"))
264253 then {
265- let bk = bj
266- addressFromStringValue(bk)
254+ let bh = bg
255+ addressFromStringValue(bh)
267256 }
268257 else this
269258 }
270259
271260
272-let bl = 1
261+let bi = 1
273262
274-let bm = 2
263+let bj = 2
275264
276-let bn = 3
265+let bk = 3
277266
278-let bo = 4
267+let bl = 4
279268
280-let bp = 5
269+let bm = 5
281270
282-let bq = 6
271+let bn = 6
283272
284-let br = 7
273+let bo = 7
285274
286-let bs = 8
275+let bp = 8
287276
288-let bt = 9
277+let bq = 9
289278
290-let bu = 10
279+let br = 10
291280
292-let bv = 11
281+let bs = 11
293282
294-func bw (bx) = addressFromStringValue(bx[bm])
283+func bt (bu) = addressFromStringValue(bu[bj])
295284
296285
297-func by (bx) = addressFromStringValue(bx[bp])
286+func bv (bu) = addressFromStringValue(bu[bm])
298287
299288
300-func bz (bx) = addressFromStringValue(bx[bl])
289+func bw (bu) = addressFromStringValue(bu[bi])
301290
302291
303-func bA (bx) = addressFromStringValue(bx[bu])
292+func bx (bu) = addressFromStringValue(bu[br])
304293
305294
306-func bB () = {
307- let bj = getString(aa())
308- if ($isInstanceOf(bj, "String"))
295+func by () = {
296+ let bg = getString(aa())
297+ if ($isInstanceOf(bg, "String"))
309298 then {
310- let bk = bj
311- if ((size(bk) == 0))
299+ let bh = bg
300+ if ((size(bh) == 0))
312301 then nil
313- else split_4C(bk, m)
302+ else split_4C(bh, m)
314303 }
315304 else nil
316305 }
317306
318307
319-func bC () = {
320- let bD = bi()
321- let bj = getString(bD, U())
322- if ($isInstanceOf(bj, "String"))
308+func bz () = {
309+ let bA = bf()
310+ let bg = getString(bA, U())
311+ if ($isInstanceOf(bg, "String"))
323312 then {
324- let bk = bj
325- fromBase58String(bk)
313+ let bh = bg
314+ fromBase58String(bh)
326315 }
327- else if ($isInstanceOf(bj, "Unit"))
316+ else if ($isInstanceOf(bg, "Unit"))
328317 then unit
329318 else throw("Match error")
330319 }
331320
332321
333-let bE = K("Permission denied")
322+let bB = K("Permission denied")
334323
335-let bF = K("Test error here")
324+let bC = K("Test error here")
336325
337-func bG (bH) = if ((bH.caller == this))
326+func bD (bE) = if ((bE.caller == this))
338327 then true
339- else bE
328+ else bB
340329
341330
342-func bI (bH) = {
343- let bj = bC()
344- if ($isInstanceOf(bj, "ByteVector"))
331+func bF (bE) = {
332+ let bg = bz()
333+ if ($isInstanceOf(bg, "ByteVector"))
345334 then {
346- let bJ = bj
347- if ((bH.callerPublicKey == bJ))
335+ let bG = bg
336+ if ((bE.callerPublicKey == bG))
348337 then true
349- else bE
338+ else bB
350339 }
351- else if ($isInstanceOf(bj, "Unit"))
352- then bG(bH)
340+ else if ($isInstanceOf(bg, "Unit"))
341+ then bD(bE)
353342 else throw("Match error")
354343 }
355344
356345
357-func bK (bL,bM,bN,bO,bP,bQ,bR,bS,bT,bU,bV) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bL, bM, bN, bO, bP, bQ, bR, bS, bT, bU, bV], m)
346+func bH (bI,bJ,bK,bL,bM,bN,bO,bP,bQ,bR,bS) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bI, bJ, bK, bL, bM, bN, bO, bP, bQ, bR, bS], m)
358347
359348
360-func bW (bL,bM,bN,bO,bP,bQ,bR) = makeString(["%s%s%s%s%s%s", bL, bM, bN, bO, bP, bQ, bR], m)
349+func bT (bI,bJ,bK,bL,bM,bN,bO) = makeString(["%s%s%s%s%s%s", bI, bJ, bK, bL, bM, bN, bO], m)
361350
362351
363-func bX (af,bY,bZ,ca,cb,cc,cd,ce,cf,cg,ch) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", af, bY, bZ, ca, cb, toString(cc), toString(cd), toString(ce), toString(cf), toString(cg), ch], m)
352+func bU (af,bV,bW,bX,bY,bZ,ca,cb,cc,cd,ce) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", af, bV, bW, bX, bY, toString(bZ), toString(ca), toString(cb), toString(cc), toString(cd), ce], m)
364353
365354
366-func ci (cj,ck) = makeString(["%d%d", toString(cj), toString(ck)], m)
355+func cf (cg,ch) = makeString(["%d%d", toString(cg), toString(ch)], m)
367356
368357
369-func cl (af) = {
370- let cm = split(bc(aC(af)), m)
371- let an = cm[1]
372- let ao = cm[2]
373- split(bc(am(an, ao)), m)
358+func ci (af) = {
359+ let cj = split(aZ(az(af)), m)
360+ let an = cj[1]
361+ let ao = cj[2]
362+ split(aZ(am(an, ao)), m)
374363 }
375364
376365
377-func cn (co,cp) = {
378- let cq = valueOrElse(getInteger(this, ak(co)), 0)
379- let cr = valueOrElse(getInteger(this, ad()), 0)
380- let cs = if ((cq == 0))
366+func ck (cl,cm) = {
367+ let cn = valueOrElse(getInteger(this, ak(cl)), 0)
368+ let co = valueOrElse(getInteger(this, ad()), 0)
369+ let cp = if ((cn == 0))
381370 then {
382- let ct = (cr + cp)
383- $Tuple3(ct, [IntegerEntry(ad(), ct), IntegerEntry(ak(co), ct), StringEntry(ai(ct), co)], true)
371+ let cq = (co + cm)
372+ $Tuple3(cq, [IntegerEntry(ad(), cq), IntegerEntry(ak(cl), cq), StringEntry(ai(cq), cl)], true)
384373 }
385- else $Tuple3(cq, nil, false)
386- cs
374+ else $Tuple3(cn, nil, false)
375+ cp
387376 }
388377
389378
390-func cu (bH) = {
391- let cv = split(valueOrElse(getString(W()), n), m)
392- if (containsElement(cv, toBase58String(bH.callerPublicKey)))
379+func cr (bE) = {
380+ let cs = split(valueOrElse(getString(W()), n), m)
381+ if (containsElement(cs, toBase58String(bE.callerPublicKey)))
393382 then true
394383 else {
395- let cw = bI(bH)
396- if ((cw == cw))
384+ let ct = bF(bE)
385+ if ((ct == ct))
397386 then true
398387 else throw("Strict value is not equal to itself.")
399388 }
400389 }
401390
402391
403-func cx (bd,cy,cz) = valueOrElse(getInteger(this, bd), valueOrElse(getInteger(this, cy), cz))
392+func cu (ba,cv,cw) = valueOrElse(getInteger(this, ba), valueOrElse(getInteger(this, cv), cw))
404393
405394
406-func cA (aI,aJ) = {
407- let an = getInteger(ak(aI))
408- let ao = getInteger(ak(aJ))
395+func cx (aF,aG) = {
396+ let an = getInteger(ak(aF))
397+ let ao = getInteger(ak(aG))
409398 if (if ((an == unit))
410399 then true
411400 else (ao == unit))
412401 then false
413402 else {
414- let cB = toString(value(an))
415- let cC = toString(value(ao))
416- let cD = getString(am(cB, cC))
417- let cE = getString(am(cC, cB))
418- let cF = if ((cD != unit))
403+ let cy = toString(value(an))
404+ let cz = toString(value(ao))
405+ let cA = getString(am(cy, cz))
406+ let cB = getString(am(cz, cy))
407+ let cC = if ((cA != unit))
419408 then true
420- else (cE != unit)
421- cF
409+ else (cB != unit)
410+ cC
422411 }
423412 }
424413
425414
426-func cG (aD) = {
427- let cm = {
428- let bj = getString(aC(aD))
429- if ($isInstanceOf(bj, "String"))
415+func cD (aA) = {
416+ let cj = {
417+ let bg = getString(az(aA))
418+ if ($isInstanceOf(bg, "String"))
430419 then {
431- let bk = bj
432- split(bk, m)
420+ let bh = bg
421+ split(bh, m)
433422 }
434- else K(makeString([aD, "pool is not found"], " "))
423+ else K(makeString([aA, "pool is not found"], " "))
435424 }
436- let an = parseIntValue(cm[1])
437- let ao = parseIntValue(cm[2])
438- let aI = getStringValue(ai(an))
439- let aJ = getStringValue(ai(ao))
440- let bZ = getStringValue(aF(aD))
441- $Tuple5(aI, aJ, bZ, an, ao)
425+ let an = parseIntValue(cj[1])
426+ let ao = parseIntValue(cj[2])
427+ let aF = getStringValue(ai(an))
428+ let aG = getStringValue(ai(ao))
429+ let bW = getStringValue(aC(aA))
430+ $Tuple5(aF, aG, bW, an, ao)
442431 }
443432
444433
445-func cH (aD) = {
446- let cI = cG(aD)
447- let aI = cI._1
448- let aJ = cI._2
449- let bZ = cI._3
450- let an = cI._4
451- let ao = cI._5
452- let cJ = addressFromStringValue(getStringValue(Z()))
453- let cK = invoke(cJ, "getPoolCreatorREADONLY", [aI, aJ], nil)
454- cK
434+func cE (aA) = {
435+ let cF = cD(aA)
436+ let aF = cF._1
437+ let aG = cF._2
438+ let bW = cF._3
439+ let an = cF._4
440+ let ao = cF._5
441+ let cG = addressFromStringValue(getStringValue(Z()))
442+ let cH = invoke(cG, "getPoolCreatorREADONLY", [aF, aG], nil)
443+ cH
455444 }
456445
457446
458-func cL (cM,cN) = {
459- let cO = addressFromStringValue(cM)
460- if ((cN == "WAVES"))
461- then wavesBalance(cO).regular
447+func cI (cJ,cK) = {
448+ let cL = addressFromStringValue(cJ)
449+ if ((cK == "WAVES"))
450+ then wavesBalance(cL).regular
462451 else {
463- let aX = fromBase58String(cN)
464- assetBalance(cO, aX)
452+ let aU = fromBase58String(cK)
453+ assetBalance(cL, aU)
465454 }
466455 }
467456
468457
469-func cP (aD) = {
470- let cQ = cG(aD)
471- let aI = cQ._1
472- let aJ = cQ._2
473- let bZ = cQ._3
474- let an = cQ._4
475- let ao = cQ._5
476- if ((cL(aD, aI) == 0))
477- then (cL(aD, aJ) == 0)
458+func cM (aA) = {
459+ let cN = cD(aA)
460+ let aF = cN._1
461+ let aG = cN._2
462+ let bW = cN._3
463+ let an = cN._4
464+ let ao = cN._5
465+ if ((cI(aA, aF) == 0))
466+ then (cI(aA, aG) == 0)
478467 else false
479468 }
480469
481470
482-@Callable(bH)
483-func getSwapContractREADONLY () = $Tuple2(nil, bc(N()))
471+@Callable(bE)
472+func getSwapContractREADONLY () = $Tuple2(nil, aZ(N()))
484473
485474
486475
487-@Callable(bH)
488-func getPoolLeaseConfigREADONLY (af,aX) = {
489- let cR = {
490- let bj = getInteger(this, aW(af, aX))
491- if ($isInstanceOf(bj, "Int"))
476+@Callable(bE)
477+func getPoolLeaseConfigREADONLY (af,aU) = {
478+ let cO = {
479+ let bg = getInteger(this, aT(af, aU))
480+ if ($isInstanceOf(bg, "Int"))
492481 then {
493- let cS = bj
494- $Tuple2(true, min([100, max([0, cS])]))
482+ let cP = bg
483+ $Tuple2(true, min([100, max([0, cP])]))
495484 }
496485 else {
497- let cT = getInteger(this, aY(aX))
498- if ($isInstanceOf(cT, "Int"))
486+ let cQ = getInteger(this, aV(aU))
487+ if ($isInstanceOf(cQ, "Int"))
499488 then {
500- let cU = cT
501- $Tuple2(true, min([100, max([0, cU])]))
489+ let cR = cQ
490+ $Tuple2(true, min([100, max([0, cR])]))
502491 }
503492 else $Tuple2(false, 0)
504493 }
505494 }
506- let cV = cR._1
507- let cW = cR._2
508- let cX = {
509- let bj = getInteger(this, ba(af, aX))
510- if ($isInstanceOf(bj, "Int"))
495+ let cS = cO._1
496+ let cT = cO._2
497+ let cU = {
498+ let bg = getInteger(this, aX(af, aU))
499+ if ($isInstanceOf(bg, "Int"))
511500 then {
512- let cY = bj
513- max([0, cY])
501+ let cV = bg
502+ max([0, cV])
514503 }
515504 else {
516- let cT = getInteger(this, bb(aX))
517- if ($isInstanceOf(cT, "Int"))
505+ let cQ = getInteger(this, aY(aU))
506+ if ($isInstanceOf(cQ, "Int"))
518507 then {
519- let cZ = cT
520- max([0, cZ])
508+ let cW = cQ
509+ max([0, cW])
521510 }
522511 else 0
523512 }
524513 }
525- let da = if ((aX == "WAVES"))
526- then $Tuple3(valueOrElse(getString(this, aT()), ""), getString(this, valueOrElse(aU(), "")), c)
514+ let cX = if ((aU == "WAVES"))
515+ then $Tuple3(valueOrElse(getString(this, aQ()), ""), getString(this, valueOrElse(aR(), "")), c)
527516 else $Tuple3("", "", 0)
528- let db = da._1
529- let dc = da._2
530- let dd = da._3
531- let de = valueOrElse(getString(this, aV()), "")
532- $Tuple2(nil, $Tuple7(cV, cW, cX, db, dc, dd, de))
517+ let cY = cX._1
518+ let cZ = cX._2
519+ let da = cX._3
520+ let db = valueOrElse(getString(this, aS()), "")
521+ $Tuple2(nil, $Tuple7(cS, cT, cU, cY, cZ, da, db))
533522 }
534523
535524
536525
537-@Callable(bH)
538-func getLpAssetFromPoolAssetsREADONLY (df,dg) = if (if ((df == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
539- then (dg == "WAVES")
526+@Callable(bE)
527+func getLpAssetFromPoolAssetsREADONLY (dc,dd) = if (if ((dc == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
528+ then (dd == "WAVES")
540529 else false)
541530 then $Tuple2(nil, unit)
542531 else {
543- let dh = value(getInteger(this, ak(df)))
544- let di = value(getInteger(this, ak(dg)))
545- let dj = getString(this, ay(toString(dh), toString(di)))
546- let dk = if ((dj == unit))
532+ let de = value(getInteger(this, ak(dc)))
533+ let df = value(getInteger(this, ak(dd)))
534+ let dg = getString(this, av(toString(de), toString(df)))
535+ let dh = if ((dg == unit))
547536 then unit
548- else drop(value(dj), 4)
549- $Tuple2(nil, dk)
537+ else drop(value(dg), 4)
538+ $Tuple2(nil, dh)
550539 }
551540
552541
553542
554-@Callable(bH)
555-func getPoolAddressFromLpAssetREADONLY (dl) = $Tuple2(nil, valueOrElse(getString(this, aG(dl)), ""))
543+@Callable(bE)
544+func getPoolAddressFromLpAssetREADONLY (di) = $Tuple2(nil, valueOrElse(getString(this, aD(di)), ""))
556545
557546
558547
559-@Callable(bH)
560-func constructor (dm,dn,bN,bO,bP,bQ,do,dp) = {
561- let dq = bI(bH)
562- if ((dq == dq))
563- then [StringEntry(O(), bW(dm, dn, bN, bO, bP, bQ, do)), IntegerEntry(ab(), dp)]
548+@Callable(bE)
549+func constructor (dj,dk,bK,bL,bM,bN,dl,dm) = {
550+ let dn = bF(bE)
551+ if ((dn == dn))
552+ then [StringEntry(O(), bT(dj, dk, bK, bL, bM, bN, dl)), IntegerEntry(ab(), dm)]
564553 else throw("Strict value is not equal to itself.")
565554 }
566555
567556
568557
569-@Callable(bH)
570-func constructorV2 (dr) = {
571- let dq = bI(bH)
572- if ((dq == dq))
558+@Callable(bE)
559+func constructorV2 (do) = {
560+ let dn = bF(bE)
561+ if ((dn == dn))
573562 then {
574- let ds = addressFromPublicKey(fromBase58String(dr))
575- if ((ds == ds))
576- then [StringEntry(R(), dr)]
563+ let dp = addressFromPublicKey(fromBase58String(do))
564+ if ((dp == dp))
565+ then [StringEntry(R(), do)]
577566 else throw("Strict value is not equal to itself.")
578567 }
579568 else throw("Strict value is not equal to itself.")
581570
582571
583572
584-@Callable(bH)
585-func constructorV3 (bS,bT,bU,bV) = {
586- let dq = bI(bH)
587- if ((dq == dq))
573+@Callable(bE)
574+func constructorV3 (bP,bQ,bR,bS) = {
575+ let dn = bF(bE)
576+ if ((dn == dn))
588577 then {
589- let bx = split(bc(O()), m)
590-[StringEntry(O(), bK(bx[1], bx[2], bx[3], bx[4], bx[5], bx[6], bx[7], bS, bT, bU, bV))]
578+ let bu = split(aZ(O()), m)
579+[StringEntry(O(), bH(bu[1], bu[2], bu[3], bu[4], bu[5], bu[6], bu[7], bP, bQ, bR, bS))]
591580 }
592581 else throw("Strict value is not equal to itself.")
593582 }
594583
595584
596585
597-@Callable(bH)
598-func constructorV4 (dt,du) = {
599- let dq = bI(bH)
600- if ((dq == dq))
601- then [StringEntry(S(), dt), StringEntry(T(), makeString(du, m))]
586+@Callable(bE)
587+func constructorV4 (dq,dr) = {
588+ let dn = bF(bE)
589+ if ((dn == dn))
590+ then [StringEntry(S(), dq), StringEntry(T(), makeString(dr, m))]
602591 else throw("Strict value is not equal to itself.")
603592 }
604593
605594
606595
607-@Callable(bH)
608-func constructorV5 (dv) = {
609- let dq = bI(bH)
610- if ((dq == dq))
611- then [StringEntry(X(), dv)]
596+@Callable(bE)
597+func constructorV5 (ds) = {
598+ let dn = bF(bE)
599+ if ((dn == dn))
600+ then [StringEntry(X(), ds)]
612601 else throw("Strict value is not equal to itself.")
613602 }
614603
615604
616605
617-@Callable(bH)
618-func constructorV6 (dw,dx) = {
619- let dy = [bI(bH), if ((addressFromString(dw) != unit))
606+@Callable(bE)
607+func constructorV6 (dt,du) = {
608+ let dv = [bF(bE), if ((addressFromString(dt) != unit))
620609 then true
621610 else "invalid voting emission contract address"]
622- if ((dy == dy))
623- then [StringEntry(Y(), dw), StringEntry(aa(), makeString(dx, m))]
611+ if ((dv == dv))
612+ then [StringEntry(Y(), dt), StringEntry(aa(), makeString(du, m))]
624613 else throw("Strict value is not equal to itself.")
625614 }
626615
627616
628617
629-@Callable(bH)
630-func setAdmins (dz) = {
631- let dq = bI(bH)
632- if ((dq == dq))
633- then [StringEntry(W(), makeString(dz, m))]
618+@Callable(bE)
619+func setAdmins (dw) = {
620+ let dn = bF(bE)
621+ if ((dn == dn))
622+ then [StringEntry(W(), makeString(dw, m))]
634623 else throw("Strict value is not equal to itself.")
635624 }
636625
637626
638627
639-@Callable(bH)
640-func activateNewPool (af,ca,cb,dA,dB,dC,ch,dD) = {
641- let dq = cu(bH)
642- if ((dq == dq))
643- then if (isDefined(getString(aC(af))))
628+@Callable(bE)
629+func activateNewPool (af,bX,bY,dx,dy,dz,ce,dA) = {
630+ let dn = cr(bE)
631+ if ((dn == dn))
632+ then if (isDefined(getString(az(af))))
644633 then K((("Pool address " + af) + " already registered."))
645634 else {
646- let dE = cn(ca, 1)
647- let dF = dE._1
648- let dG = cn(cb, if (dE._3)
635+ let dB = ck(bX, 1)
636+ let dC = dB._1
637+ let dD = ck(bY, if (dB._3)
649638 then 2
650639 else 1)
651- let dH = dG._1
652- let dI = valueOrErrorMessage(scriptHash(addressFromStringValue(af)), ("No script has been found on pool account " + af))
653- let dJ = getBinaryValue(Q())
654- let dK = cA(ca, cb)
655- if (dK)
656- then K((((("Pool " + ca) + "/") + cb) + " has already been activated."))
640+ let dE = dD._1
641+ let dF = valueOrErrorMessage(scriptHash(addressFromStringValue(af)), ("No script has been found on pool account " + af))
642+ let dG = getBinaryValue(Q())
643+ let dH = cx(bX, bY)
644+ if (dH)
645+ then K((((("Pool " + bX) + "/") + bY) + " has already been activated."))
657646 else {
658- let dL = value(getString(this, am(toString(dF), toString(dH))))
659- let dM = if ((ca == "WAVES"))
647+ let dI = value(getString(this, am(toString(dC), toString(dE))))
648+ let dJ = if ((bX == "WAVES"))
660649 then l
661- else pow(10, 0, value(assetInfo(fromBase58String(ca))).decimals, 0, 0, DOWN)
662- let dN = if ((cb == "WAVES"))
650+ else pow(10, 0, value(assetInfo(fromBase58String(bX))).decimals, 0, 0, DOWN)
651+ let dK = if ((bY == "WAVES"))
663652 then l
664- else pow(10, 0, value(assetInfo(fromBase58String(cb))).decimals, 0, 0, DOWN)
665- let dO = Issue(dA, dB, 1, 8, true)
666- let bZ = calculateAssetId(dO)
667- let dP = toBase58String(bZ)
668- let dQ = invoke(addressFromStringValue(af), "activate", [ca, cb], nil)
669- if ((dQ == dQ))
670- then if ((dQ != "success"))
653+ else pow(10, 0, value(assetInfo(fromBase58String(bY))).decimals, 0, 0, DOWN)
654+ let dL = Issue(dx, dy, 1, 8, true)
655+ let bW = calculateAssetId(dL)
656+ let dM = toBase58String(bW)
657+ let dN = invoke(addressFromStringValue(af), "activate", [bX, bY], nil)
658+ if ((dN == dN))
659+ then if ((dN != "success"))
671660 then K("Pool initialisation error happened.")
672661 else {
673- let dv = addressFromStringValue(bc(X()))
674- let dR = invoke(dv, "createOrUpdate", [dP, dA, false], nil)
675- if ((dR == dR))
662+ let ds = addressFromStringValue(aZ(X()))
663+ let dO = invoke(ds, "createOrUpdate", [dM, dx, false], nil)
664+ if ((dO == dO))
676665 then {
677- let dS = invoke(dv, "addLabel", [dP, h], nil)
678- if ((dS == dS))
666+ let dP = invoke(ds, "addLabel", [dM, h], nil)
667+ if ((dP == dP))
679668 then {
680- let dT = invoke(dv, "setLogo", [dP, dD], nil)
681- if ((dT == dT))
669+ let dQ = invoke(ds, "setLogo", [dM, dA], nil)
670+ if ((dQ == dQ))
682671 then {
683- let dU = invoke(dv, "addAssetsLink", [ca, cb, dP], nil)
684- if ((dU == dU))
672+ let dR = invoke(ds, "addAssetsLink", [bX, bY, dM], nil)
673+ if ((dR == dR))
685674 then {
686- let dV = invoke(dv, "increaseAssetPoolsNumber", [ca], nil)
687- if ((dV == dV))
688- then $Tuple2(((dE._2 ++ dG._2) ++ [dO, Burn(bZ, 1), StringEntry(am(toString(dF), toString(dH)), bX(af, toString(o), dP, ca, cb, dM, dN, dF, dH, l, ch)), StringEntry(aw(dP), ci(dF, dH)), StringEntry(ay(toString(dF), toString(dH)), ("%s__" + dP)), StringEntry(aC(af), ci(dF, dH)), StringEntry(aE(dF, dH), af), StringEntry(aG(dP), af), StringEntry(aF(af), dP), IntegerEntry(ae(af), dC), IntegerEntry(aB(af), i)]), dP)
675+ let dS = invoke(ds, "increaseAssetPoolsNumber", [bX], nil)
676+ if ((dS == dS))
677+ then $Tuple2(((dB._2 ++ dD._2) ++ [dL, Burn(bW, 1), StringEntry(am(toString(dC), toString(dE)), bU(af, toString(o), dM, bX, bY, dJ, dK, dC, dE, l, ce)), StringEntry(at(dM), cf(dC, dE)), StringEntry(av(toString(dC), toString(dE)), ("%s__" + dM)), StringEntry(az(af), cf(dC, dE)), StringEntry(aB(dC, dE), af), StringEntry(aD(dM), af), StringEntry(aC(af), dM), IntegerEntry(ae(af), dz), IntegerEntry(ay(af), i)]), dM)
689678 else throw("Strict value is not equal to itself.")
690679 }
691680 else throw("Strict value is not equal to itself.")
704693
705694
706695
707-@Callable(bH)
708-func managePool (af,dW) = {
709- let dq = bI(bH)
710- if ((dq == dq))
696+@Callable(bE)
697+func managePool (af,dT) = {
698+ let dn = bF(bE)
699+ if ((dn == dn))
711700 then {
712- let dX = cl(af)
713- let bY = dX[w]
714- let dP = dX[x]
715- let ca = dX[y]
716- let cb = dX[z]
717- let dM = parseIntValue(dX[A])
718- let dN = parseIntValue(dX[B])
719- let dF = parseIntValue(dX[C])
720- let dH = parseIntValue(dX[D])
721- let dY = parseIntValue(dX[E])
722- let ch = dX[F]
723-[StringEntry(am(toString(dF), toString(dH)), bX(af, toString(dW), dP, ca, cb, dM, dN, dF, dH, dY, ch))]
701+ let dU = ci(af)
702+ let bV = dU[w]
703+ let dM = dU[x]
704+ let bX = dU[y]
705+ let bY = dU[z]
706+ let dJ = parseIntValue(dU[A])
707+ let dK = parseIntValue(dU[B])
708+ let dC = parseIntValue(dU[C])
709+ let dE = parseIntValue(dU[D])
710+ let dV = parseIntValue(dU[E])
711+ let ce = dU[F]
712+[StringEntry(am(toString(dC), toString(dE)), bU(af, toString(dT), dM, bX, bY, dJ, dK, dC, dE, dV, ce))]
724713 }
725714 else throw("Strict value is not equal to itself.")
726715 }
727716
728717
729718
730-@Callable(bH)
731-func emit (dZ) = {
732- let ea = bH.caller
733- let eb = bH.originCaller
734- let ec = valueOrErrorMessage(getString(aF(toString(ea))), "Invalid LP address called me.")
735- let ed = fromBase58String(ec)
736- let du = split(valueOrElse(getString(T()), n), m)
737- let dt = addressFromStringValue(valueOrErrorMessage(getString(S()), "Legacy factory contract does not exists."))
738- if ((0 >= dZ))
719+@Callable(bE)
720+func emit (dW) = {
721+ let dX = bE.caller
722+ let dY = bE.originCaller
723+ let dZ = valueOrErrorMessage(getString(aC(toString(dX))), "Invalid LP address called me.")
724+ let ea = fromBase58String(dZ)
725+ let dr = split(valueOrElse(getString(T()), n), m)
726+ let dq = addressFromStringValue(valueOrErrorMessage(getString(S()), "Legacy factory contract does not exists."))
727+ if ((0 >= dW))
739728 then nil
740- else if (containsElement(du, toString(ea)))
741- then $Tuple2(nil, dt)
742- else $Tuple2([Reissue(ed, dZ, true), ScriptTransfer(bH.caller, dZ, ed)], "success")
729+ else if (containsElement(dr, toString(dX)))
730+ then $Tuple2(nil, dq)
731+ else $Tuple2([Reissue(ea, dW, true), ScriptTransfer(bE.caller, dW, ea)], "success")
743732 }
744733
745734
746735
747-@Callable(bH)
748-func burn (ee) = {
749- let ea = bH.caller
750- let eb = bH.originCaller
751- let ef = value(bH.payments[0])
752- let eg = value(ef.amount)
753- let eh = toBase58String(value(ef.assetId))
754- let ei = valueOrErrorMessage(getString(aF(toString(ea))), "Invalid LP address called me.")
755- if ((eh != ei))
736+@Callable(bE)
737+func burn (eb) = {
738+ let dX = bE.caller
739+ let dY = bE.originCaller
740+ let ec = value(bE.payments[0])
741+ let ed = value(ec.amount)
742+ let ee = toBase58String(value(ec.assetId))
743+ let ef = valueOrErrorMessage(getString(aC(toString(dX))), "Invalid LP address called me.")
744+ if ((ee != ef))
756745 then K("Invalid asset passed.")
757- else if ((ee != eg))
746+ else if ((eb != ed))
758747 then K("Invalid amount passed.")
759748 else {
760- let ed = fromBase58String(ei)
761- $Tuple2([Burn(ed, ee)], "success")
749+ let ea = fromBase58String(ef)
750+ $Tuple2([Burn(ea, eb)], "success")
762751 }
763752 }
764753
765754
766755
767-@Callable(bH)
768-func modifyWeight (bZ,ej) = {
769- let dq = if ((toBase58String(bH.caller.bytes) == valueOrElse(getString(this, Y()), "")))
756+@Callable(bE)
757+func modifyWeight (bW,eg) = {
758+ let dn = if ((toBase58String(bE.caller.bytes) == valueOrElse(getString(this, Y()), "")))
770759 then true
771- else bI(bH)
772- if ((dq == dq))
760+ else bF(bE)
761+ if ((dn == dn))
773762 then {
774- let aD = bc(aG(bZ))
775- let ek = ae(aD)
776- let el = ae(g)
777- let em = valueOrElse(getInteger(el), 0)
778- let dC = valueOrElse(getInteger(ek), 0)
779- let en = ej
780- let bx = split(bc(O()), m)
781- let dm = bz(bx)
782- let eo = invoke(dm, "onModifyWeight", [bZ, aD], nil)
783- if ((eo == eo))
763+ let aA = aZ(aD(bW))
764+ let eh = ae(aA)
765+ let ei = ae(g)
766+ let ej = valueOrElse(getInteger(ei), 0)
767+ let dz = valueOrElse(getInteger(eh), 0)
768+ let ek = eg
769+ let bu = split(aZ(O()), m)
770+ let dj = bw(bu)
771+ let el = invoke(dj, "onModifyWeight", [bW, aA], nil)
772+ if ((el == el))
784773 then {
785- let ep = if ((em == 0))
774+ let em = if ((ej == 0))
786775 then nil
787- else [IntegerEntry(el, 0)]
788- let eq = ag(aD, 0)
789- let er = getInteger(eq)
790- let es = if ((er == unit))
776+ else [IntegerEntry(ei, 0)]
777+ let en = ag(aA, 0)
778+ let eo = getInteger(en)
779+ let ep = if ((eo == unit))
791780 then nil
792- else [DeleteEntry(eq)]
793- (([IntegerEntry(ek, en)] ++ ep) ++ es)
781+ else [DeleteEntry(en)]
782+ (([IntegerEntry(eh, ek)] ++ em) ++ ep)
794783 }
795784 else throw("Strict value is not equal to itself.")
796785 }
799788
800789
801790
802-@Callable(bH)
803-func modifyWeights (et,eu,ev,ew) = {
804- let dq = bI(bH)
805- if ((dq == dq))
791+@Callable(bE)
792+func modifyWeights (eq,er,es,et) = {
793+ let dn = bF(bE)
794+ if ((dn == dn))
806795 then {
807- let ex = ((5 * f) / 100)
808- let ey = ((5 * f) / 100)
809- let ez = ((5 * f) / 100)
810- let bx = split(bc(O()), m)
811- let eA = bz(bx)
812- let eB = bA(bx)
796+ let eu = ((5 * f) / 100)
797+ let ev = ((5 * f) / 100)
798+ let ew = ((5 * f) / 100)
799+ let bu = split(aZ(O()), m)
800+ let ex = bw(bu)
801+ let ey = bx(bu)
802+ let ez = ae(eq)
803+ let eA = ae(er)
804+ let eB = ae(es)
813805 let eC = ae(et)
814- let eD = ae(eu)
815- let eE = ae(ev)
816- let eF = ae(ew)
817- let eG = bf(eC)
818- let eH = bf(eD)
819- let eI = (eG - ez)
820- let eJ = (eH - ez)
821- if ((0 >= eI))
822- then K(("invalid btcWeightNew: " + toString(eI)))
823- else if ((0 >= eJ))
824- then K(("invalid ethWeightNew: " + toString(eJ)))
806+ let eD = bc(ez)
807+ let eE = bc(eA)
808+ let eF = (eD - ew)
809+ let eG = (eE - ew)
810+ if ((0 >= eF))
811+ then K(("invalid btcWeightNew: " + toString(eF)))
812+ else if ((0 >= eG))
813+ then K(("invalid ethWeightNew: " + toString(eG)))
825814 else {
826- let eK = bc(aF(et))
827- let eL = bc(aF(eu))
828- let eM = bc(aF(ev))
829- let eN = bc(aF(ew))
830- let eO = invoke(eA, "onModifyWeight", [eK, et], nil)
831- if ((eO == eO))
815+ let eH = aZ(aC(eq))
816+ let eI = aZ(aC(er))
817+ let eJ = aZ(aC(es))
818+ let eK = aZ(aC(et))
819+ let eL = invoke(ex, "onModifyWeight", [eH, eq], nil)
820+ if ((eL == eL))
832821 then {
833- let eP = invoke(eA, "onModifyWeight", [eL, eu], nil)
834- if ((eP == eP))
822+ let eM = invoke(ex, "onModifyWeight", [eI, er], nil)
823+ if ((eM == eM))
835824 then {
836- let eQ = invoke(eA, "onModifyWeight", [eM, ev], nil)
837- if ((eQ == eQ))
825+ let eN = invoke(ex, "onModifyWeight", [eJ, es], nil)
826+ if ((eN == eN))
838827 then {
839- let eR = invoke(eA, "onModifyWeight", [eN, ew], nil)
840- if ((eR == eR))
841- then [IntegerEntry(eC, eI), IntegerEntry(eD, eJ), IntegerEntry(eE, ex), IntegerEntry(eF, ey), IntegerEntry(ag(et, 0), eG), IntegerEntry(ag(eu, 0), eH), IntegerEntry(ag(ev, 0), ex), IntegerEntry(ag(ew, 0), ey)]
828+ let eO = invoke(ex, "onModifyWeight", [eK, et], nil)
829+ if ((eO == eO))
830+ then [IntegerEntry(ez, eF), IntegerEntry(eA, eG), IntegerEntry(eB, eu), IntegerEntry(eC, ev), IntegerEntry(ag(eq, 0), eD), IntegerEntry(ag(er, 0), eE), IntegerEntry(ag(es, 0), eu), IntegerEntry(ag(et, 0), ev)]
842831 else throw("Strict value is not equal to itself.")
843832 }
844833 else throw("Strict value is not equal to itself.")
853842
854843
855844
856-@Callable(bH)
857-func checkWxEmissionPoolLabel (aI,aJ) = {
858- let eS = {
859- let bj = getBoolean(aH(aI, aJ))
860- if ($isInstanceOf(bj, "Boolean"))
845+@Callable(bE)
846+func checkWxEmissionPoolLabel (aF,aG) = {
847+ let eP = {
848+ let bg = getBoolean(aE(aF, aG))
849+ if ($isInstanceOf(bg, "Boolean"))
861850 then {
862- let cY = bj
863- cY
851+ let cV = bg
852+ cV
864853 }
865854 else false
866855 }
867- $Tuple2(nil, eS)
856+ $Tuple2(nil, eP)
868857 }
869858
870859
871860
872-@Callable(bH)
873-func setWxEmissionPoolLabel (aI,aJ) = {
874- let dq = cu(bH)
875- if ((dq == dq))
876- then $Tuple2([BooleanEntry(aH(aI, aJ), true)], unit)
861+@Callable(bE)
862+func setWxEmissionPoolLabel (aF,aG) = {
863+ let dn = cr(bE)
864+ if ((dn == dn))
865+ then $Tuple2([BooleanEntry(aE(aF, aG), true)], unit)
877866 else throw("Strict value is not equal to itself.")
878867 }
879868
880869
881870
882-@Callable(bH)
883-func deleteWxEmissionPoolLabel (aI,aJ) = {
884- let dq = if ((bH.caller == this))
871+@Callable(bE)
872+func deleteWxEmissionPoolLabel (aF,aG) = {
873+ let dn = if ((bE.caller == this))
885874 then true
886- else cu(bH)
887- if ((dq == dq))
888- then $Tuple2([DeleteEntry(aH(aI, aJ))], unit)
875+ else cr(bE)
876+ if ((dn == dn))
877+ then $Tuple2([DeleteEntry(aE(aF, aG))], unit)
889878 else throw("Strict value is not equal to itself.")
890879 }
891880
892881
893882
894-@Callable(bH)
895-func onVerificationLoss (aX) = {
896- let dq = if ((toBase58String(bH.caller.bytes) == valueOrElse(getString(this, X()), "")))
883+@Callable(bE)
884+func onVerificationLoss (aU) = {
885+ let dn = if ((toBase58String(bE.caller.bytes) == valueOrElse(getString(this, X()), "")))
897886 then true
898- else bI(bH)
899- if ((dq == dq))
887+ else bF(bE)
888+ if ((dn == dn))
900889 then {
901- let dx = bB()
902- let eT = if ((size(dx) > 0))
890+ let du = by()
891+ let eQ = if ((size(du) > 0))
903892 then true
904893 else K("invalid price assets")
905- if ((eT == eT))
894+ if ((eQ == eQ))
906895 then {
907- func eU (eV,eW) = {
908- let cS = invoke(this, "deleteWxEmissionPoolLabel", [aX, eW], nil)
909- if ((cS == cS))
896+ func eR (eS,eT) = {
897+ let cP = invoke(this, "deleteWxEmissionPoolLabel", [aU, eT], nil)
898+ if ((cP == cP))
910899 then unit
911900 else throw("Strict value is not equal to itself.")
912901 }
913902
914- let eX = {
915- let eY = dx
916- let eZ = size(eY)
917- let fa = unit
918- func fb (fc,fd) = if ((fd >= eZ))
919- then fc
920- else eU(fc, eY[fd])
903+ let eU = {
904+ let eV = du
905+ let eW = size(eV)
906+ let eX = unit
907+ func eY (eZ,fa) = if ((fa >= eW))
908+ then eZ
909+ else eR(eZ, eV[fa])
921910
922- func fe (fc,fd) = if ((fd >= eZ))
923- then fc
911+ func fb (eZ,fa) = if ((fa >= eW))
912+ then eZ
924913 else throw("List size exceeds 13")
925914
926- fe(fb(fb(fb(fb(fb(fb(fb(fb(fb(fb(fb(fb(fb(fa, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13)
915+ fb(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eX, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13)
927916 }
928- if ((eX == eX))
917+ if ((eU == eU))
929918 then $Tuple2(nil, unit)
930919 else throw("Strict value is not equal to itself.")
931920 }
936925
937926
938927
939-@Callable(bH)
928+@Callable(bE)
940929 func isPoolOneTokenOperationsDisabledREADONLY (af) = {
941- let dX = cl(af)
942- let aq = $Tuple2(parseIntValue(dX[C]), parseIntValue(dX[D]))
943- let ff = valueOrElse(getBoolean(ap(aq)), false)
944- let fg = valueOrElse(getBoolean(as()), false)
945- $Tuple2(nil, if (fg)
930+ let dU = ci(af)
931+ let aq = $Tuple2(parseIntValue(dU[C]), parseIntValue(dU[D]))
932+ let fc = valueOrElse(getBoolean(ap(aq)), false)
933+ let fd = valueOrElse(getBoolean(as()), false)
934+ $Tuple2(nil, if (fd)
946935 then true
947- else ff)
936+ else fc)
948937 }
949938
950939
951940
952-@Callable(bH)
953-func isPoolSwapDisabledREADONLY (af) = {
954- let dX = cl(af)
955- let aq = $Tuple2(parseIntValue(dX[C]), parseIntValue(dX[D]))
956- let fh = valueOrElse(getBoolean(at(aq)), false)
957- let fi = valueOrElse(getBoolean(av()), false)
958- $Tuple2(nil, if (fi)
959- then true
960- else fh)
941+@Callable(bE)
942+func getInFeeREADONLY (af) = {
943+ let fe = cu(aH(af), aI(), 0)
944+ $Tuple2(nil, fe)
961945 }
962946
963947
964948
965-@Callable(bH)
966-func getInFeeREADONLY (af) = {
967- let fj = cx(aK(af), aL(), 0)
968- $Tuple2(nil, fj)
949+@Callable(bE)
950+func getOutFeeREADONLY (af) = {
951+ let fe = cu(aK(af), aL(), fraction(10, b, 10000))
952+ $Tuple2(nil, fe)
969953 }
970954
971955
972956
973-@Callable(bH)
974-func getOutFeeREADONLY (af) = {
975- let fj = cx(aN(af), aO(), fraction(10, b, 10000))
976- $Tuple2(nil, fj)
957+@Callable(bE)
958+func getSwapFeeREADONLY (ff) = {
959+ let fg = {
960+ let bg = getString(this, aJ(ff))
961+ if ($isInstanceOf(bg, "String"))
962+ then {
963+ let bh = bg
964+ let fh = split(bh, m)
965+ let fi = parseIntValue(fh[1])
966+ let fj = parseIntValue(fh[2])
967+ $Tuple2(fi, fj)
968+ }
969+ else if ($isInstanceOf(bg, "Unit"))
970+ then unit
971+ else throw("Match error")
972+ }
973+ $Tuple2(nil, fg)
977974 }
978975
979976
980977
981-@Callable(bH)
982-func getSwapFeeREADONLY (fk) = {
983- let fl = {
984- let bj = getString(this, aM(fk))
985- if ($isInstanceOf(bj, "String"))
986- then {
987- let bk = bj
988- let fm = split(bk, m)
989- let fn = parseIntValue(fm[1])
990- let fo = parseIntValue(fm[2])
991- $Tuple2(fn, fo)
992- }
993- else if ($isInstanceOf(bj, "Unit"))
994- then unit
995- else throw("Match error")
996- }
997- $Tuple2(nil, fl)
978+@Callable(bE)
979+func poolInfoREADONLY (fk,fl) = {
980+ let fm = getInteger(this, ak(fk))
981+ let fn = getInteger(this, ak(fl))
982+ let fo = getString(this, aB(value(fm), value(fn)))
983+ let fp = getString(this, aC(value(fo)))
984+ let dH = if (if (isDefined(fm))
985+ then isDefined(fn)
986+ else false)
987+ then isDefined(fo)
988+ else false
989+ let fq = if (dH)
990+ then $Tuple2(addressFromStringValue(value(fo)), bd(value(fp)))
991+ else unit
992+ $Tuple2(nil, fq)
998993 }
999994
1000995
1001996
1002-@Callable(bH)
1003-func poolInfoREADONLY (fp,fq) = {
1004- let fr = getInteger(this, ak(fp))
1005- let fs = getInteger(this, ak(fq))
1006- let ft = getString(this, aE(value(fr), value(fs)))
1007- let fu = getString(this, aF(value(ft)))
1008- let dK = if (if (isDefined(fr))
1009- then isDefined(fs)
1010- else false)
1011- then isDefined(ft)
1012- else false
1013- let fv = if (dK)
1014- then $Tuple2(addressFromStringValue(value(ft)), bg(value(fu)))
1015- else unit
1016- $Tuple2(nil, fv)
997+@Callable(bE)
998+func getPoolStatusREADONLY (af) = {
999+ let cj = split(aZ(az(af)), m)
1000+ let an = cj[1]
1001+ let ao = cj[2]
1002+ let cA = split(aZ(am(an, ao)), m)
1003+ $Tuple2(nil, parseIntValue(cA[w]))
10171004 }
10181005
10191006
10201007
1021-@Callable(bH)
1022-func getPoolStatusREADONLY (af) = {
1023- let cm = split(bc(aC(af)), m)
1024- let an = cm[1]
1025- let ao = cm[2]
1026- let cD = split(bc(am(an, ao)), m)
1027- $Tuple2(nil, parseIntValue(cD[w]))
1008+@Callable(bE)
1009+func getPoolConfigREADONLY (af) = {
1010+ let cj = split(aZ(az(af)), m)
1011+ let an = cj[1]
1012+ let ao = cj[2]
1013+ let cA = split(aZ(am(an, ao)), m)
1014+ $Tuple2(nil, cA)
10281015 }
10291016
10301017
10311018
1032-@Callable(bH)
1033-func getPoolConfigREADONLY (af) = {
1034- let cm = split(bc(aC(af)), m)
1035- let an = cm[1]
1036- let ao = cm[2]
1037- let cD = split(bc(am(an, ao)), m)
1038- $Tuple2(nil, cD)
1019+@Callable(bE)
1020+func getPoolConfigByLpAssetIdREADONLY (dM) = {
1021+ let cj = split(aZ(at(dM)), m)
1022+ let an = cj[1]
1023+ let ao = cj[2]
1024+ let cA = split(aZ(am(an, ao)), m)
1025+ $Tuple2(nil, cA)
10391026 }
10401027
10411028
10421029
1043-@Callable(bH)
1044-func getPoolConfigByLpAssetIdREADONLY (dP) = {
1045- let cm = split(bc(aw(dP)), m)
1046- let an = cm[1]
1047- let ao = cm[2]
1048- let cD = split(bc(am(an, ao)), m)
1049- $Tuple2(nil, cD)
1030+@Callable(bE)
1031+func poolExistsREADONLY (aF,aG) = $Tuple2(nil, cx(aF, aG))
1032+
1033+
1034+
1035+@Callable(bE)
1036+func skipOrderValidationREADONLY (af) = $Tuple2(nil, valueOrElse(getBoolean(aM(af)), false))
1037+
1038+
1039+
1040+@Callable(bE)
1041+func getChangeAmpConfigREADONLY (af) = {
1042+ let fr = getIntegerValue(aN(af))
1043+ let fs = getIntegerValue(aO(af))
1044+ let ft = getIntegerValue(aP(af))
1045+ $Tuple2(nil, [fr, fs, ft])
10501046 }
10511047
10521048
10531049
1054-@Callable(bH)
1055-func poolExistsREADONLY (aI,aJ) = $Tuple2(nil, cA(aI, aJ))
1056-
1057-
1058-
1059-@Callable(bH)
1060-func skipOrderValidationREADONLY (af) = $Tuple2(nil, valueOrElse(getBoolean(aP(af)), false))
1061-
1062-
1063-
1064-@Callable(bH)
1065-func getChangeAmpConfigREADONLY (af) = {
1066- let fw = getIntegerValue(aQ(af))
1067- let fx = getIntegerValue(aR(af))
1068- let fy = getIntegerValue(aS(af))
1069- $Tuple2(nil, [fw, fx, fy])
1050+@Callable(bE)
1051+func getPoolWeightREADONLY (bW) = {
1052+ let af = aZ(aD(bW))
1053+ let fu = valueOrElse(getInteger(ae(af)), 0)
1054+ $Tuple2(nil, fu)
10701055 }
10711056
10721057
10731058
1074-@Callable(bH)
1075-func getPoolWeightREADONLY (bZ) = {
1076- let af = bc(aG(bZ))
1077- let fz = valueOrElse(getInteger(ae(af)), 0)
1078- $Tuple2(nil, fz)
1079- }
1080-
1081-
1082-
1083-@Callable(bH)
1084-func deletePool (aD) = {
1085- let dX = cl(aD)
1086- let dq = if ((toString(bH.caller) == cH(aD)))
1087- then if (cP(aD))
1059+@Callable(bE)
1060+func deletePool (aA) = {
1061+ let dU = ci(aA)
1062+ let dn = if ((toString(bE.caller) == cE(aA)))
1063+ then if (cM(aA))
10881064 then true
10891065 else K("Pool is not empty")
1090- else bI(bH)
1091- if ((dq == dq))
1066+ else bF(bE)
1067+ if ((dn == dn))
10921068 then {
1093- let fA = if ((valueOrElse(getInteger(ae(aD)), 0) == 0))
1069+ let fv = if ((valueOrElse(getInteger(ae(aA)), 0) == 0))
10941070 then true
10951071 else K("Pool weight is not Zero")
1096- if ((fA == fA))
1072+ if ((fv == fv))
10971073 then {
1098- let fB = if ((dX[w] == toString(r)))
1074+ let fw = if ((dU[w] == toString(r)))
10991075 then true
11001076 else K("Pool must be SHUTDOWN (4)")
1101- if ((fB == fB))
1077+ if ((fw == fw))
11021078 then {
1103- let fC = cG(aD)
1104- let aI = fC._1
1105- let aJ = fC._2
1106- let bZ = fC._3
1107- let an = fC._4
1108- let ao = fC._5
1109- let cJ = addressFromStringValue(getStringValue(Z()))
1110- let fD = invoke(cJ, "deletePool", [aI, aJ], nil)
1111- if ((fD == fD))
1079+ let fx = cD(aA)
1080+ let aF = fx._1
1081+ let aG = fx._2
1082+ let bW = fx._3
1083+ let an = fx._4
1084+ let ao = fx._5
1085+ let cG = addressFromStringValue(getStringValue(Z()))
1086+ let fy = invoke(cG, "deletePool", [aF, aG], nil)
1087+ if ((fy == fy))
11121088 then {
1113- let dw = addressFromStringValue(getStringValue(Y()))
1114- let fE = invoke(dw, "deletePool", [aI, aJ], nil)
1115- if ((fE == fE))
1089+ let dt = addressFromStringValue(getStringValue(Y()))
1090+ let fz = invoke(dt, "deletePool", [aF, aG], nil)
1091+ if ((fz == fz))
11161092 then {
1117- let dv = addressFromStringValue(getStringValue(X()))
1118- let fF = invoke(dv, "deletePool", [aI, aJ], nil)
1119- if ((fF == fF))
1120- then [DeleteEntry(aF(aD)), DeleteEntry(aC(aD)), DeleteEntry(ay(toString(an), toString(ao))), DeleteEntry(aE(an, ao)), DeleteEntry(am(toString(an), toString(ao))), DeleteEntry(aw(bZ)), DeleteEntry(aG(bZ)), DeleteEntry(aH(aI, aJ)), DeleteEntry(ae(aD)), DeleteEntry(aB(aD)), DeleteEntry(aK(aD)), DeleteEntry(aN(aD)), DeleteEntry(aP(aD)), DeleteEntry(aQ(aD)), DeleteEntry(aR(aD)), DeleteEntry(aS(aD))]
1093+ let ds = addressFromStringValue(getStringValue(X()))
1094+ let fA = invoke(ds, "deletePool", [aF, aG], nil)
1095+ if ((fA == fA))
1096+ then [DeleteEntry(aC(aA)), DeleteEntry(az(aA)), DeleteEntry(av(toString(an), toString(ao))), DeleteEntry(aB(an, ao)), DeleteEntry(am(toString(an), toString(ao))), DeleteEntry(at(bW)), DeleteEntry(aD(bW)), DeleteEntry(aE(aF, aG)), DeleteEntry(ae(aA)), DeleteEntry(ay(aA)), DeleteEntry(aH(aA)), DeleteEntry(aK(aA)), DeleteEntry(aM(aA)), DeleteEntry(aN(aA)), DeleteEntry(aO(aA)), DeleteEntry(aP(aA))]
11211097 else throw("Strict value is not equal to itself.")
11221098 }
11231099 else throw("Strict value is not equal to itself.")
11321108 }
11331109
11341110
1135-@Verifier(fG)
1136-func fH () = {
1137- let fI = {
1138- let bj = bC()
1139- if ($isInstanceOf(bj, "ByteVector"))
1111+@Verifier(fB)
1112+func fC () = {
1113+ let fD = {
1114+ let bg = bz()
1115+ if ($isInstanceOf(bg, "ByteVector"))
11401116 then {
1141- let bJ = bj
1142- bJ
1117+ let bG = bg
1118+ bG
11431119 }
1144- else if ($isInstanceOf(bj, "Unit"))
1145- then fG.senderPublicKey
1120+ else if ($isInstanceOf(bg, "Unit"))
1121+ then fB.senderPublicKey
11461122 else throw("Match error")
11471123 }
1148- sigVerify(fG.bodyBytes, fG.proofs[0], fI)
1124+ sigVerify(fB.bodyBytes, fB.proofs[0], fD)
11491125 }
11501126
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 8
55
66 let b = 100000000
77
88 let c = 1000000000000
99
1010 let d = 18
1111
1212 let e = toBigInt(1000000000000000000)
1313
1414 let f = b
1515
1616 let g = "GWXvirtualPOOL"
1717
1818 let h = "POOLS_LP"
1919
2020 let i = 2000000
2121
2222 let j = "WAVES"
2323
2424 let k = "factory_v2.ride"
2525
2626 let l = ((100 * 1000) * 1000)
2727
2828 let m = "__"
2929
3030 let n = ""
3131
3232 let o = 1
3333
3434 let p = 2
3535
3636 let q = 3
3737
3838 let r = 4
3939
4040 let s = 1
4141
4242 let t = 2
4343
4444 let u = 3
4545
4646 let v = 1
4747
4848 let w = 2
4949
5050 let x = 3
5151
5252 let y = 4
5353
5454 let z = 5
5555
5656 let A = 6
5757
5858 let B = 7
5959
6060 let C = 8
6161
6262 let D = 9
6363
6464 let E = 10
6565
6666 let F = 11
6767
6868 let G = "WX_EMISSION"
6969
7070 let H = [G]
7171
7272 func I (J) = makeString([k, ": ", J], "")
7373
7474
7575 func K (J) = throw(I(J))
7676
7777
7878 func L () = "%s__allowedLpScriptHash"
7979
8080
8181 func M () = "%s__allowedLpStableScriptHash"
8282
8383
8484 func N () = "%s__swapContract"
8585
8686
8787 func O () = "%s__factoryConfig"
8888
8989
9090 func P () = "%s__lpTokensList"
9191
9292
9393 func Q () = "%s%s__pool__scriptHash"
9494
9595
9696 func R () = "%s%s__matcher__publicKey"
9797
9898
9999 func S () = "%s__legacyFactoryContract"
100100
101101
102102 func T () = "%s__legacyPools"
103103
104104
105105 func U () = "%s__managerPublicKey"
106106
107107
108108 func V () = "%s__managerVaultAddress"
109109
110110
111111 func W () = "%s__adminPubKeys"
112112
113113
114114 func X () = "%s__assetsStoreContract"
115115
116116
117117 func Y () = "%s__votingEmissionContract"
118118
119119
120120 func Z () = "%s__userPoolsContract"
121121
122122
123123 func aa () = makeString(["%s", "priceAssets"], m)
124124
125125
126126 func ab () = "%s__priceDecimals"
127127
128128
129129 func ac () = "%s__shutdown"
130130
131131
132132 func ad () = "%s__nextInternalAssetId"
133133
134134
135135 func ae (af) = ("%s%s__poolWeight__" + af)
136136
137137
138138 func ag (af,ah) = ((("%s%s__poolWeight__" + af) + "__") + toString(ah))
139139
140140
141141 func ai (aj) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(aj))
142142
143143
144144 func ak (al) = ("%s%s%s__mappings__baseAsset2internalId__" + al)
145145
146146
147147 func am (an,ao) = (((("%d%d%s__" + an) + "__") + ao) + "__config")
148148
149149
150150 func ap (aq) = {
151151 let ar = aq
152152 let an = ar._1
153153 let ao = ar._2
154154 makeString(["%d%d%s", toString(an), toString(ao), "oneTokenOperationsDisabled"], m)
155155 }
156156
157157
158158 func as () = makeString(["%s", "oneTokenOperationsDisabled"], m)
159159
160160
161-func at (aq) = {
162- let au = aq
163- let an = au._1
164- let ao = au._2
165- makeString(["%d%d%s", toString(an), toString(ao), "swapDisabled"], m)
166- }
161+func at (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2Pool")
167162
168163
169-func av () = makeString(["%s", "swapDisabled"], m)
164+func av (aw,ax) = (((("%d%d%s%s__" + aw) + "__") + ax) + "__mappings__PoolAssets2LpAsset")
170165
171166
172-func aw (ax) = (("%s%s%s__" + ax) + "__mappings__lpAsset2Pool")
167+func ay (af) = ("%s%s__spread__" + af)
173168
174169
175-func ay (az,aA) = (((("%d%d%s%s__" + az) + "__") + aA) + "__mappings__PoolAssets2LpAsset")
170+func az (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2PoolAssets")
176171
177172
178-func aB (af) = ("%s%s__spread__" + af)
173+func aB (aw,ax) = (((("%d%d%s%s__" + toString(aw)) + "__") + toString(ax)) + "__mappings__poolAssets2PoolContract")
179174
180175
181-func aC (aD) = (("%s%s%s__" + aD) + "__mappings__poolContract2PoolAssets")
176+func aC (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2LpAsset")
182177
183178
184-func aE (az,aA) = (((("%d%d%s%s__" + toString(az)) + "__") + toString(aA)) + "__mappings__poolAssets2PoolContract")
179+func aD (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2PoolContract")
185180
186181
187-func aF (aD) = (("%s%s%s__" + aD) + "__mappings__poolContract2LpAsset")
182+func aE (aF,aG) = ((("%s%s%s__wxEmission__" + aF) + "__") + aG)
188183
189184
190-func aG (ax) = (("%s%s%s__" + ax) + "__mappings__lpAsset2PoolContract")
185+func aH (af) = ("%s%s__inFee__" + af)
191186
192187
193-func aH (aI,aJ) = ((("%s%s%s__wxEmission__" + aI) + "__") + aJ)
188+func aI () = "%s__inFeeDefault"
194189
195190
196-func aK (af) = ("%s%s__inFee__" + af)
191+func aJ (af) = ("%s%s__swapFee__" + af)
197192
198193
199-func aL () = "%s__inFeeDefault"
194+func aK (af) = ("%s%s__outFee__" + af)
200195
201196
202-func aM (af) = ("%s%s__swapFee__" + af)
197+func aL () = "%s__outFeeDefault"
203198
204199
205-func aN (af) = ("%s%s__outFee__" + af)
200+func aM (af) = ("%s%s__skipOrderValidation__" + af)
206201
207202
208-func aO () = "%s__outFeeDefault"
203+func aN (af) = ("%s%s__changeAmpDelay__" + af)
209204
210205
211-func aP (af) = ("%s%s__skipOrderValidation__" + af)
206+func aO (af) = ("%s%s__changeAmpDelta__" + af)
212207
213208
214-func aQ (af) = ("%s%s__changeAmpDelay__" + af)
209+func aP (af) = ("%s%s__changeAmpTarget__" + af)
215210
216211
217-func aR (af) = ("%s%s__changeAmpDelta__" + af)
212+func aQ () = "%s__sWavesProxyAddress"
218213
219214
220-func aS (af) = ("%s%s__changeAmpTarget__" + af)
215+func aR () = "%s__sWavesAssetId"
221216
222217
223-func aT () = "%s__sWavesProxyAddress"
218+func aS () = "%s__stakingProfitAddress"
224219
225220
226-func aU () = "%s__sWavesAssetId"
221+func aT (af,aU) = makeString(["%s%s%s", "leasedRatio", af, aU], m)
227222
228223
229-func aV () = "%s__stakingProfitAddress"
224+func aV (aU) = makeString(["%s%s", "leasedRatioDefault", aU], m)
230225
231226
232-func aW (af,aX) = makeString(["%s%s%s", "leasedRatio", af, aX], m)
227+func aW (af,aU) = makeString(["%s%s%s", "leasedRatioTolerance", af, aU], m)
233228
234229
235-func aY (aX) = makeString(["%s%s", "leasedRatioDefault", aX], m)
230+func aX (af,aU) = makeString(["%s%s%s", "minBalance", af, aU], m)
236231
237232
238-func aZ (af,aX) = makeString(["%s%s%s", "leasedRatioTolerance", af, aX], m)
233+func aY (aU) = makeString(["%s%s", "minBalanceDefault", aU], m)
239234
240235
241-func ba (af,aX) = makeString(["%s%s%s", "minBalance", af, aX], m)
236+func aZ (ba) = valueOrErrorMessage(getString(this, ba), ("No data for this.key=" + ba))
242237
243238
244-func bb (aX) = makeString(["%s%s", "minBalanceDefault", aX], m)
239+func bb (ba) = valueOrErrorMessage(getBoolean(this, ba), ("No data for this.key=" + ba))
245240
246241
247-func bc (bd) = valueOrErrorMessage(getString(this, bd), ("No data for this.key=" + bd))
242+func bc (ba) = valueOrErrorMessage(getInteger(this, ba), ("No data for this.key=" + ba))
248243
249244
250-func be (bd) = valueOrErrorMessage(getBoolean(this, bd), ("No data for this.key=" + bd))
245+func bd (be) = if ((be == j))
246+ then unit
247+ else fromBase58String(be)
251248
252249
253-func bf (bd) = valueOrErrorMessage(getInteger(this, bd), ("No data for this.key=" + bd))
254-
255-
256-func bg (bh) = if ((bh == j))
257- then unit
258- else fromBase58String(bh)
259-
260-
261-func bi () = {
262- let bj = getString(V())
263- if ($isInstanceOf(bj, "String"))
250+func bf () = {
251+ let bg = getString(V())
252+ if ($isInstanceOf(bg, "String"))
264253 then {
265- let bk = bj
266- addressFromStringValue(bk)
254+ let bh = bg
255+ addressFromStringValue(bh)
267256 }
268257 else this
269258 }
270259
271260
272-let bl = 1
261+let bi = 1
273262
274-let bm = 2
263+let bj = 2
275264
276-let bn = 3
265+let bk = 3
277266
278-let bo = 4
267+let bl = 4
279268
280-let bp = 5
269+let bm = 5
281270
282-let bq = 6
271+let bn = 6
283272
284-let br = 7
273+let bo = 7
285274
286-let bs = 8
275+let bp = 8
287276
288-let bt = 9
277+let bq = 9
289278
290-let bu = 10
279+let br = 10
291280
292-let bv = 11
281+let bs = 11
293282
294-func bw (bx) = addressFromStringValue(bx[bm])
283+func bt (bu) = addressFromStringValue(bu[bj])
295284
296285
297-func by (bx) = addressFromStringValue(bx[bp])
286+func bv (bu) = addressFromStringValue(bu[bm])
298287
299288
300-func bz (bx) = addressFromStringValue(bx[bl])
289+func bw (bu) = addressFromStringValue(bu[bi])
301290
302291
303-func bA (bx) = addressFromStringValue(bx[bu])
292+func bx (bu) = addressFromStringValue(bu[br])
304293
305294
306-func bB () = {
307- let bj = getString(aa())
308- if ($isInstanceOf(bj, "String"))
295+func by () = {
296+ let bg = getString(aa())
297+ if ($isInstanceOf(bg, "String"))
309298 then {
310- let bk = bj
311- if ((size(bk) == 0))
299+ let bh = bg
300+ if ((size(bh) == 0))
312301 then nil
313- else split_4C(bk, m)
302+ else split_4C(bh, m)
314303 }
315304 else nil
316305 }
317306
318307
319-func bC () = {
320- let bD = bi()
321- let bj = getString(bD, U())
322- if ($isInstanceOf(bj, "String"))
308+func bz () = {
309+ let bA = bf()
310+ let bg = getString(bA, U())
311+ if ($isInstanceOf(bg, "String"))
323312 then {
324- let bk = bj
325- fromBase58String(bk)
313+ let bh = bg
314+ fromBase58String(bh)
326315 }
327- else if ($isInstanceOf(bj, "Unit"))
316+ else if ($isInstanceOf(bg, "Unit"))
328317 then unit
329318 else throw("Match error")
330319 }
331320
332321
333-let bE = K("Permission denied")
322+let bB = K("Permission denied")
334323
335-let bF = K("Test error here")
324+let bC = K("Test error here")
336325
337-func bG (bH) = if ((bH.caller == this))
326+func bD (bE) = if ((bE.caller == this))
338327 then true
339- else bE
328+ else bB
340329
341330
342-func bI (bH) = {
343- let bj = bC()
344- if ($isInstanceOf(bj, "ByteVector"))
331+func bF (bE) = {
332+ let bg = bz()
333+ if ($isInstanceOf(bg, "ByteVector"))
345334 then {
346- let bJ = bj
347- if ((bH.callerPublicKey == bJ))
335+ let bG = bg
336+ if ((bE.callerPublicKey == bG))
348337 then true
349- else bE
338+ else bB
350339 }
351- else if ($isInstanceOf(bj, "Unit"))
352- then bG(bH)
340+ else if ($isInstanceOf(bg, "Unit"))
341+ then bD(bE)
353342 else throw("Match error")
354343 }
355344
356345
357-func bK (bL,bM,bN,bO,bP,bQ,bR,bS,bT,bU,bV) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bL, bM, bN, bO, bP, bQ, bR, bS, bT, bU, bV], m)
346+func bH (bI,bJ,bK,bL,bM,bN,bO,bP,bQ,bR,bS) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bI, bJ, bK, bL, bM, bN, bO, bP, bQ, bR, bS], m)
358347
359348
360-func bW (bL,bM,bN,bO,bP,bQ,bR) = makeString(["%s%s%s%s%s%s", bL, bM, bN, bO, bP, bQ, bR], m)
349+func bT (bI,bJ,bK,bL,bM,bN,bO) = makeString(["%s%s%s%s%s%s", bI, bJ, bK, bL, bM, bN, bO], m)
361350
362351
363-func bX (af,bY,bZ,ca,cb,cc,cd,ce,cf,cg,ch) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", af, bY, bZ, ca, cb, toString(cc), toString(cd), toString(ce), toString(cf), toString(cg), ch], m)
352+func bU (af,bV,bW,bX,bY,bZ,ca,cb,cc,cd,ce) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", af, bV, bW, bX, bY, toString(bZ), toString(ca), toString(cb), toString(cc), toString(cd), ce], m)
364353
365354
366-func ci (cj,ck) = makeString(["%d%d", toString(cj), toString(ck)], m)
355+func cf (cg,ch) = makeString(["%d%d", toString(cg), toString(ch)], m)
367356
368357
369-func cl (af) = {
370- let cm = split(bc(aC(af)), m)
371- let an = cm[1]
372- let ao = cm[2]
373- split(bc(am(an, ao)), m)
358+func ci (af) = {
359+ let cj = split(aZ(az(af)), m)
360+ let an = cj[1]
361+ let ao = cj[2]
362+ split(aZ(am(an, ao)), m)
374363 }
375364
376365
377-func cn (co,cp) = {
378- let cq = valueOrElse(getInteger(this, ak(co)), 0)
379- let cr = valueOrElse(getInteger(this, ad()), 0)
380- let cs = if ((cq == 0))
366+func ck (cl,cm) = {
367+ let cn = valueOrElse(getInteger(this, ak(cl)), 0)
368+ let co = valueOrElse(getInteger(this, ad()), 0)
369+ let cp = if ((cn == 0))
381370 then {
382- let ct = (cr + cp)
383- $Tuple3(ct, [IntegerEntry(ad(), ct), IntegerEntry(ak(co), ct), StringEntry(ai(ct), co)], true)
371+ let cq = (co + cm)
372+ $Tuple3(cq, [IntegerEntry(ad(), cq), IntegerEntry(ak(cl), cq), StringEntry(ai(cq), cl)], true)
384373 }
385- else $Tuple3(cq, nil, false)
386- cs
374+ else $Tuple3(cn, nil, false)
375+ cp
387376 }
388377
389378
390-func cu (bH) = {
391- let cv = split(valueOrElse(getString(W()), n), m)
392- if (containsElement(cv, toBase58String(bH.callerPublicKey)))
379+func cr (bE) = {
380+ let cs = split(valueOrElse(getString(W()), n), m)
381+ if (containsElement(cs, toBase58String(bE.callerPublicKey)))
393382 then true
394383 else {
395- let cw = bI(bH)
396- if ((cw == cw))
384+ let ct = bF(bE)
385+ if ((ct == ct))
397386 then true
398387 else throw("Strict value is not equal to itself.")
399388 }
400389 }
401390
402391
403-func cx (bd,cy,cz) = valueOrElse(getInteger(this, bd), valueOrElse(getInteger(this, cy), cz))
392+func cu (ba,cv,cw) = valueOrElse(getInteger(this, ba), valueOrElse(getInteger(this, cv), cw))
404393
405394
406-func cA (aI,aJ) = {
407- let an = getInteger(ak(aI))
408- let ao = getInteger(ak(aJ))
395+func cx (aF,aG) = {
396+ let an = getInteger(ak(aF))
397+ let ao = getInteger(ak(aG))
409398 if (if ((an == unit))
410399 then true
411400 else (ao == unit))
412401 then false
413402 else {
414- let cB = toString(value(an))
415- let cC = toString(value(ao))
416- let cD = getString(am(cB, cC))
417- let cE = getString(am(cC, cB))
418- let cF = if ((cD != unit))
403+ let cy = toString(value(an))
404+ let cz = toString(value(ao))
405+ let cA = getString(am(cy, cz))
406+ let cB = getString(am(cz, cy))
407+ let cC = if ((cA != unit))
419408 then true
420- else (cE != unit)
421- cF
409+ else (cB != unit)
410+ cC
422411 }
423412 }
424413
425414
426-func cG (aD) = {
427- let cm = {
428- let bj = getString(aC(aD))
429- if ($isInstanceOf(bj, "String"))
415+func cD (aA) = {
416+ let cj = {
417+ let bg = getString(az(aA))
418+ if ($isInstanceOf(bg, "String"))
430419 then {
431- let bk = bj
432- split(bk, m)
420+ let bh = bg
421+ split(bh, m)
433422 }
434- else K(makeString([aD, "pool is not found"], " "))
423+ else K(makeString([aA, "pool is not found"], " "))
435424 }
436- let an = parseIntValue(cm[1])
437- let ao = parseIntValue(cm[2])
438- let aI = getStringValue(ai(an))
439- let aJ = getStringValue(ai(ao))
440- let bZ = getStringValue(aF(aD))
441- $Tuple5(aI, aJ, bZ, an, ao)
425+ let an = parseIntValue(cj[1])
426+ let ao = parseIntValue(cj[2])
427+ let aF = getStringValue(ai(an))
428+ let aG = getStringValue(ai(ao))
429+ let bW = getStringValue(aC(aA))
430+ $Tuple5(aF, aG, bW, an, ao)
442431 }
443432
444433
445-func cH (aD) = {
446- let cI = cG(aD)
447- let aI = cI._1
448- let aJ = cI._2
449- let bZ = cI._3
450- let an = cI._4
451- let ao = cI._5
452- let cJ = addressFromStringValue(getStringValue(Z()))
453- let cK = invoke(cJ, "getPoolCreatorREADONLY", [aI, aJ], nil)
454- cK
434+func cE (aA) = {
435+ let cF = cD(aA)
436+ let aF = cF._1
437+ let aG = cF._2
438+ let bW = cF._3
439+ let an = cF._4
440+ let ao = cF._5
441+ let cG = addressFromStringValue(getStringValue(Z()))
442+ let cH = invoke(cG, "getPoolCreatorREADONLY", [aF, aG], nil)
443+ cH
455444 }
456445
457446
458-func cL (cM,cN) = {
459- let cO = addressFromStringValue(cM)
460- if ((cN == "WAVES"))
461- then wavesBalance(cO).regular
447+func cI (cJ,cK) = {
448+ let cL = addressFromStringValue(cJ)
449+ if ((cK == "WAVES"))
450+ then wavesBalance(cL).regular
462451 else {
463- let aX = fromBase58String(cN)
464- assetBalance(cO, aX)
452+ let aU = fromBase58String(cK)
453+ assetBalance(cL, aU)
465454 }
466455 }
467456
468457
469-func cP (aD) = {
470- let cQ = cG(aD)
471- let aI = cQ._1
472- let aJ = cQ._2
473- let bZ = cQ._3
474- let an = cQ._4
475- let ao = cQ._5
476- if ((cL(aD, aI) == 0))
477- then (cL(aD, aJ) == 0)
458+func cM (aA) = {
459+ let cN = cD(aA)
460+ let aF = cN._1
461+ let aG = cN._2
462+ let bW = cN._3
463+ let an = cN._4
464+ let ao = cN._5
465+ if ((cI(aA, aF) == 0))
466+ then (cI(aA, aG) == 0)
478467 else false
479468 }
480469
481470
482-@Callable(bH)
483-func getSwapContractREADONLY () = $Tuple2(nil, bc(N()))
471+@Callable(bE)
472+func getSwapContractREADONLY () = $Tuple2(nil, aZ(N()))
484473
485474
486475
487-@Callable(bH)
488-func getPoolLeaseConfigREADONLY (af,aX) = {
489- let cR = {
490- let bj = getInteger(this, aW(af, aX))
491- if ($isInstanceOf(bj, "Int"))
476+@Callable(bE)
477+func getPoolLeaseConfigREADONLY (af,aU) = {
478+ let cO = {
479+ let bg = getInteger(this, aT(af, aU))
480+ if ($isInstanceOf(bg, "Int"))
492481 then {
493- let cS = bj
494- $Tuple2(true, min([100, max([0, cS])]))
482+ let cP = bg
483+ $Tuple2(true, min([100, max([0, cP])]))
495484 }
496485 else {
497- let cT = getInteger(this, aY(aX))
498- if ($isInstanceOf(cT, "Int"))
486+ let cQ = getInteger(this, aV(aU))
487+ if ($isInstanceOf(cQ, "Int"))
499488 then {
500- let cU = cT
501- $Tuple2(true, min([100, max([0, cU])]))
489+ let cR = cQ
490+ $Tuple2(true, min([100, max([0, cR])]))
502491 }
503492 else $Tuple2(false, 0)
504493 }
505494 }
506- let cV = cR._1
507- let cW = cR._2
508- let cX = {
509- let bj = getInteger(this, ba(af, aX))
510- if ($isInstanceOf(bj, "Int"))
495+ let cS = cO._1
496+ let cT = cO._2
497+ let cU = {
498+ let bg = getInteger(this, aX(af, aU))
499+ if ($isInstanceOf(bg, "Int"))
511500 then {
512- let cY = bj
513- max([0, cY])
501+ let cV = bg
502+ max([0, cV])
514503 }
515504 else {
516- let cT = getInteger(this, bb(aX))
517- if ($isInstanceOf(cT, "Int"))
505+ let cQ = getInteger(this, aY(aU))
506+ if ($isInstanceOf(cQ, "Int"))
518507 then {
519- let cZ = cT
520- max([0, cZ])
508+ let cW = cQ
509+ max([0, cW])
521510 }
522511 else 0
523512 }
524513 }
525- let da = if ((aX == "WAVES"))
526- then $Tuple3(valueOrElse(getString(this, aT()), ""), getString(this, valueOrElse(aU(), "")), c)
514+ let cX = if ((aU == "WAVES"))
515+ then $Tuple3(valueOrElse(getString(this, aQ()), ""), getString(this, valueOrElse(aR(), "")), c)
527516 else $Tuple3("", "", 0)
528- let db = da._1
529- let dc = da._2
530- let dd = da._3
531- let de = valueOrElse(getString(this, aV()), "")
532- $Tuple2(nil, $Tuple7(cV, cW, cX, db, dc, dd, de))
517+ let cY = cX._1
518+ let cZ = cX._2
519+ let da = cX._3
520+ let db = valueOrElse(getString(this, aS()), "")
521+ $Tuple2(nil, $Tuple7(cS, cT, cU, cY, cZ, da, db))
533522 }
534523
535524
536525
537-@Callable(bH)
538-func getLpAssetFromPoolAssetsREADONLY (df,dg) = if (if ((df == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
539- then (dg == "WAVES")
526+@Callable(bE)
527+func getLpAssetFromPoolAssetsREADONLY (dc,dd) = if (if ((dc == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
528+ then (dd == "WAVES")
540529 else false)
541530 then $Tuple2(nil, unit)
542531 else {
543- let dh = value(getInteger(this, ak(df)))
544- let di = value(getInteger(this, ak(dg)))
545- let dj = getString(this, ay(toString(dh), toString(di)))
546- let dk = if ((dj == unit))
532+ let de = value(getInteger(this, ak(dc)))
533+ let df = value(getInteger(this, ak(dd)))
534+ let dg = getString(this, av(toString(de), toString(df)))
535+ let dh = if ((dg == unit))
547536 then unit
548- else drop(value(dj), 4)
549- $Tuple2(nil, dk)
537+ else drop(value(dg), 4)
538+ $Tuple2(nil, dh)
550539 }
551540
552541
553542
554-@Callable(bH)
555-func getPoolAddressFromLpAssetREADONLY (dl) = $Tuple2(nil, valueOrElse(getString(this, aG(dl)), ""))
543+@Callable(bE)
544+func getPoolAddressFromLpAssetREADONLY (di) = $Tuple2(nil, valueOrElse(getString(this, aD(di)), ""))
556545
557546
558547
559-@Callable(bH)
560-func constructor (dm,dn,bN,bO,bP,bQ,do,dp) = {
561- let dq = bI(bH)
562- if ((dq == dq))
563- then [StringEntry(O(), bW(dm, dn, bN, bO, bP, bQ, do)), IntegerEntry(ab(), dp)]
548+@Callable(bE)
549+func constructor (dj,dk,bK,bL,bM,bN,dl,dm) = {
550+ let dn = bF(bE)
551+ if ((dn == dn))
552+ then [StringEntry(O(), bT(dj, dk, bK, bL, bM, bN, dl)), IntegerEntry(ab(), dm)]
564553 else throw("Strict value is not equal to itself.")
565554 }
566555
567556
568557
569-@Callable(bH)
570-func constructorV2 (dr) = {
571- let dq = bI(bH)
572- if ((dq == dq))
558+@Callable(bE)
559+func constructorV2 (do) = {
560+ let dn = bF(bE)
561+ if ((dn == dn))
573562 then {
574- let ds = addressFromPublicKey(fromBase58String(dr))
575- if ((ds == ds))
576- then [StringEntry(R(), dr)]
563+ let dp = addressFromPublicKey(fromBase58String(do))
564+ if ((dp == dp))
565+ then [StringEntry(R(), do)]
577566 else throw("Strict value is not equal to itself.")
578567 }
579568 else throw("Strict value is not equal to itself.")
580569 }
581570
582571
583572
584-@Callable(bH)
585-func constructorV3 (bS,bT,bU,bV) = {
586- let dq = bI(bH)
587- if ((dq == dq))
573+@Callable(bE)
574+func constructorV3 (bP,bQ,bR,bS) = {
575+ let dn = bF(bE)
576+ if ((dn == dn))
588577 then {
589- let bx = split(bc(O()), m)
590-[StringEntry(O(), bK(bx[1], bx[2], bx[3], bx[4], bx[5], bx[6], bx[7], bS, bT, bU, bV))]
578+ let bu = split(aZ(O()), m)
579+[StringEntry(O(), bH(bu[1], bu[2], bu[3], bu[4], bu[5], bu[6], bu[7], bP, bQ, bR, bS))]
591580 }
592581 else throw("Strict value is not equal to itself.")
593582 }
594583
595584
596585
597-@Callable(bH)
598-func constructorV4 (dt,du) = {
599- let dq = bI(bH)
600- if ((dq == dq))
601- then [StringEntry(S(), dt), StringEntry(T(), makeString(du, m))]
586+@Callable(bE)
587+func constructorV4 (dq,dr) = {
588+ let dn = bF(bE)
589+ if ((dn == dn))
590+ then [StringEntry(S(), dq), StringEntry(T(), makeString(dr, m))]
602591 else throw("Strict value is not equal to itself.")
603592 }
604593
605594
606595
607-@Callable(bH)
608-func constructorV5 (dv) = {
609- let dq = bI(bH)
610- if ((dq == dq))
611- then [StringEntry(X(), dv)]
596+@Callable(bE)
597+func constructorV5 (ds) = {
598+ let dn = bF(bE)
599+ if ((dn == dn))
600+ then [StringEntry(X(), ds)]
612601 else throw("Strict value is not equal to itself.")
613602 }
614603
615604
616605
617-@Callable(bH)
618-func constructorV6 (dw,dx) = {
619- let dy = [bI(bH), if ((addressFromString(dw) != unit))
606+@Callable(bE)
607+func constructorV6 (dt,du) = {
608+ let dv = [bF(bE), if ((addressFromString(dt) != unit))
620609 then true
621610 else "invalid voting emission contract address"]
622- if ((dy == dy))
623- then [StringEntry(Y(), dw), StringEntry(aa(), makeString(dx, m))]
611+ if ((dv == dv))
612+ then [StringEntry(Y(), dt), StringEntry(aa(), makeString(du, m))]
624613 else throw("Strict value is not equal to itself.")
625614 }
626615
627616
628617
629-@Callable(bH)
630-func setAdmins (dz) = {
631- let dq = bI(bH)
632- if ((dq == dq))
633- then [StringEntry(W(), makeString(dz, m))]
618+@Callable(bE)
619+func setAdmins (dw) = {
620+ let dn = bF(bE)
621+ if ((dn == dn))
622+ then [StringEntry(W(), makeString(dw, m))]
634623 else throw("Strict value is not equal to itself.")
635624 }
636625
637626
638627
639-@Callable(bH)
640-func activateNewPool (af,ca,cb,dA,dB,dC,ch,dD) = {
641- let dq = cu(bH)
642- if ((dq == dq))
643- then if (isDefined(getString(aC(af))))
628+@Callable(bE)
629+func activateNewPool (af,bX,bY,dx,dy,dz,ce,dA) = {
630+ let dn = cr(bE)
631+ if ((dn == dn))
632+ then if (isDefined(getString(az(af))))
644633 then K((("Pool address " + af) + " already registered."))
645634 else {
646- let dE = cn(ca, 1)
647- let dF = dE._1
648- let dG = cn(cb, if (dE._3)
635+ let dB = ck(bX, 1)
636+ let dC = dB._1
637+ let dD = ck(bY, if (dB._3)
649638 then 2
650639 else 1)
651- let dH = dG._1
652- let dI = valueOrErrorMessage(scriptHash(addressFromStringValue(af)), ("No script has been found on pool account " + af))
653- let dJ = getBinaryValue(Q())
654- let dK = cA(ca, cb)
655- if (dK)
656- then K((((("Pool " + ca) + "/") + cb) + " has already been activated."))
640+ let dE = dD._1
641+ let dF = valueOrErrorMessage(scriptHash(addressFromStringValue(af)), ("No script has been found on pool account " + af))
642+ let dG = getBinaryValue(Q())
643+ let dH = cx(bX, bY)
644+ if (dH)
645+ then K((((("Pool " + bX) + "/") + bY) + " has already been activated."))
657646 else {
658- let dL = value(getString(this, am(toString(dF), toString(dH))))
659- let dM = if ((ca == "WAVES"))
647+ let dI = value(getString(this, am(toString(dC), toString(dE))))
648+ let dJ = if ((bX == "WAVES"))
660649 then l
661- else pow(10, 0, value(assetInfo(fromBase58String(ca))).decimals, 0, 0, DOWN)
662- let dN = if ((cb == "WAVES"))
650+ else pow(10, 0, value(assetInfo(fromBase58String(bX))).decimals, 0, 0, DOWN)
651+ let dK = if ((bY == "WAVES"))
663652 then l
664- else pow(10, 0, value(assetInfo(fromBase58String(cb))).decimals, 0, 0, DOWN)
665- let dO = Issue(dA, dB, 1, 8, true)
666- let bZ = calculateAssetId(dO)
667- let dP = toBase58String(bZ)
668- let dQ = invoke(addressFromStringValue(af), "activate", [ca, cb], nil)
669- if ((dQ == dQ))
670- then if ((dQ != "success"))
653+ else pow(10, 0, value(assetInfo(fromBase58String(bY))).decimals, 0, 0, DOWN)
654+ let dL = Issue(dx, dy, 1, 8, true)
655+ let bW = calculateAssetId(dL)
656+ let dM = toBase58String(bW)
657+ let dN = invoke(addressFromStringValue(af), "activate", [bX, bY], nil)
658+ if ((dN == dN))
659+ then if ((dN != "success"))
671660 then K("Pool initialisation error happened.")
672661 else {
673- let dv = addressFromStringValue(bc(X()))
674- let dR = invoke(dv, "createOrUpdate", [dP, dA, false], nil)
675- if ((dR == dR))
662+ let ds = addressFromStringValue(aZ(X()))
663+ let dO = invoke(ds, "createOrUpdate", [dM, dx, false], nil)
664+ if ((dO == dO))
676665 then {
677- let dS = invoke(dv, "addLabel", [dP, h], nil)
678- if ((dS == dS))
666+ let dP = invoke(ds, "addLabel", [dM, h], nil)
667+ if ((dP == dP))
679668 then {
680- let dT = invoke(dv, "setLogo", [dP, dD], nil)
681- if ((dT == dT))
669+ let dQ = invoke(ds, "setLogo", [dM, dA], nil)
670+ if ((dQ == dQ))
682671 then {
683- let dU = invoke(dv, "addAssetsLink", [ca, cb, dP], nil)
684- if ((dU == dU))
672+ let dR = invoke(ds, "addAssetsLink", [bX, bY, dM], nil)
673+ if ((dR == dR))
685674 then {
686- let dV = invoke(dv, "increaseAssetPoolsNumber", [ca], nil)
687- if ((dV == dV))
688- then $Tuple2(((dE._2 ++ dG._2) ++ [dO, Burn(bZ, 1), StringEntry(am(toString(dF), toString(dH)), bX(af, toString(o), dP, ca, cb, dM, dN, dF, dH, l, ch)), StringEntry(aw(dP), ci(dF, dH)), StringEntry(ay(toString(dF), toString(dH)), ("%s__" + dP)), StringEntry(aC(af), ci(dF, dH)), StringEntry(aE(dF, dH), af), StringEntry(aG(dP), af), StringEntry(aF(af), dP), IntegerEntry(ae(af), dC), IntegerEntry(aB(af), i)]), dP)
675+ let dS = invoke(ds, "increaseAssetPoolsNumber", [bX], nil)
676+ if ((dS == dS))
677+ then $Tuple2(((dB._2 ++ dD._2) ++ [dL, Burn(bW, 1), StringEntry(am(toString(dC), toString(dE)), bU(af, toString(o), dM, bX, bY, dJ, dK, dC, dE, l, ce)), StringEntry(at(dM), cf(dC, dE)), StringEntry(av(toString(dC), toString(dE)), ("%s__" + dM)), StringEntry(az(af), cf(dC, dE)), StringEntry(aB(dC, dE), af), StringEntry(aD(dM), af), StringEntry(aC(af), dM), IntegerEntry(ae(af), dz), IntegerEntry(ay(af), i)]), dM)
689678 else throw("Strict value is not equal to itself.")
690679 }
691680 else throw("Strict value is not equal to itself.")
692681 }
693682 else throw("Strict value is not equal to itself.")
694683 }
695684 else throw("Strict value is not equal to itself.")
696685 }
697686 else throw("Strict value is not equal to itself.")
698687 }
699688 else throw("Strict value is not equal to itself.")
700689 }
701690 }
702691 else throw("Strict value is not equal to itself.")
703692 }
704693
705694
706695
707-@Callable(bH)
708-func managePool (af,dW) = {
709- let dq = bI(bH)
710- if ((dq == dq))
696+@Callable(bE)
697+func managePool (af,dT) = {
698+ let dn = bF(bE)
699+ if ((dn == dn))
711700 then {
712- let dX = cl(af)
713- let bY = dX[w]
714- let dP = dX[x]
715- let ca = dX[y]
716- let cb = dX[z]
717- let dM = parseIntValue(dX[A])
718- let dN = parseIntValue(dX[B])
719- let dF = parseIntValue(dX[C])
720- let dH = parseIntValue(dX[D])
721- let dY = parseIntValue(dX[E])
722- let ch = dX[F]
723-[StringEntry(am(toString(dF), toString(dH)), bX(af, toString(dW), dP, ca, cb, dM, dN, dF, dH, dY, ch))]
701+ let dU = ci(af)
702+ let bV = dU[w]
703+ let dM = dU[x]
704+ let bX = dU[y]
705+ let bY = dU[z]
706+ let dJ = parseIntValue(dU[A])
707+ let dK = parseIntValue(dU[B])
708+ let dC = parseIntValue(dU[C])
709+ let dE = parseIntValue(dU[D])
710+ let dV = parseIntValue(dU[E])
711+ let ce = dU[F]
712+[StringEntry(am(toString(dC), toString(dE)), bU(af, toString(dT), dM, bX, bY, dJ, dK, dC, dE, dV, ce))]
724713 }
725714 else throw("Strict value is not equal to itself.")
726715 }
727716
728717
729718
730-@Callable(bH)
731-func emit (dZ) = {
732- let ea = bH.caller
733- let eb = bH.originCaller
734- let ec = valueOrErrorMessage(getString(aF(toString(ea))), "Invalid LP address called me.")
735- let ed = fromBase58String(ec)
736- let du = split(valueOrElse(getString(T()), n), m)
737- let dt = addressFromStringValue(valueOrErrorMessage(getString(S()), "Legacy factory contract does not exists."))
738- if ((0 >= dZ))
719+@Callable(bE)
720+func emit (dW) = {
721+ let dX = bE.caller
722+ let dY = bE.originCaller
723+ let dZ = valueOrErrorMessage(getString(aC(toString(dX))), "Invalid LP address called me.")
724+ let ea = fromBase58String(dZ)
725+ let dr = split(valueOrElse(getString(T()), n), m)
726+ let dq = addressFromStringValue(valueOrErrorMessage(getString(S()), "Legacy factory contract does not exists."))
727+ if ((0 >= dW))
739728 then nil
740- else if (containsElement(du, toString(ea)))
741- then $Tuple2(nil, dt)
742- else $Tuple2([Reissue(ed, dZ, true), ScriptTransfer(bH.caller, dZ, ed)], "success")
729+ else if (containsElement(dr, toString(dX)))
730+ then $Tuple2(nil, dq)
731+ else $Tuple2([Reissue(ea, dW, true), ScriptTransfer(bE.caller, dW, ea)], "success")
743732 }
744733
745734
746735
747-@Callable(bH)
748-func burn (ee) = {
749- let ea = bH.caller
750- let eb = bH.originCaller
751- let ef = value(bH.payments[0])
752- let eg = value(ef.amount)
753- let eh = toBase58String(value(ef.assetId))
754- let ei = valueOrErrorMessage(getString(aF(toString(ea))), "Invalid LP address called me.")
755- if ((eh != ei))
736+@Callable(bE)
737+func burn (eb) = {
738+ let dX = bE.caller
739+ let dY = bE.originCaller
740+ let ec = value(bE.payments[0])
741+ let ed = value(ec.amount)
742+ let ee = toBase58String(value(ec.assetId))
743+ let ef = valueOrErrorMessage(getString(aC(toString(dX))), "Invalid LP address called me.")
744+ if ((ee != ef))
756745 then K("Invalid asset passed.")
757- else if ((ee != eg))
746+ else if ((eb != ed))
758747 then K("Invalid amount passed.")
759748 else {
760- let ed = fromBase58String(ei)
761- $Tuple2([Burn(ed, ee)], "success")
749+ let ea = fromBase58String(ef)
750+ $Tuple2([Burn(ea, eb)], "success")
762751 }
763752 }
764753
765754
766755
767-@Callable(bH)
768-func modifyWeight (bZ,ej) = {
769- let dq = if ((toBase58String(bH.caller.bytes) == valueOrElse(getString(this, Y()), "")))
756+@Callable(bE)
757+func modifyWeight (bW,eg) = {
758+ let dn = if ((toBase58String(bE.caller.bytes) == valueOrElse(getString(this, Y()), "")))
770759 then true
771- else bI(bH)
772- if ((dq == dq))
760+ else bF(bE)
761+ if ((dn == dn))
773762 then {
774- let aD = bc(aG(bZ))
775- let ek = ae(aD)
776- let el = ae(g)
777- let em = valueOrElse(getInteger(el), 0)
778- let dC = valueOrElse(getInteger(ek), 0)
779- let en = ej
780- let bx = split(bc(O()), m)
781- let dm = bz(bx)
782- let eo = invoke(dm, "onModifyWeight", [bZ, aD], nil)
783- if ((eo == eo))
763+ let aA = aZ(aD(bW))
764+ let eh = ae(aA)
765+ let ei = ae(g)
766+ let ej = valueOrElse(getInteger(ei), 0)
767+ let dz = valueOrElse(getInteger(eh), 0)
768+ let ek = eg
769+ let bu = split(aZ(O()), m)
770+ let dj = bw(bu)
771+ let el = invoke(dj, "onModifyWeight", [bW, aA], nil)
772+ if ((el == el))
784773 then {
785- let ep = if ((em == 0))
774+ let em = if ((ej == 0))
786775 then nil
787- else [IntegerEntry(el, 0)]
788- let eq = ag(aD, 0)
789- let er = getInteger(eq)
790- let es = if ((er == unit))
776+ else [IntegerEntry(ei, 0)]
777+ let en = ag(aA, 0)
778+ let eo = getInteger(en)
779+ let ep = if ((eo == unit))
791780 then nil
792- else [DeleteEntry(eq)]
793- (([IntegerEntry(ek, en)] ++ ep) ++ es)
781+ else [DeleteEntry(en)]
782+ (([IntegerEntry(eh, ek)] ++ em) ++ ep)
794783 }
795784 else throw("Strict value is not equal to itself.")
796785 }
797786 else throw("Strict value is not equal to itself.")
798787 }
799788
800789
801790
802-@Callable(bH)
803-func modifyWeights (et,eu,ev,ew) = {
804- let dq = bI(bH)
805- if ((dq == dq))
791+@Callable(bE)
792+func modifyWeights (eq,er,es,et) = {
793+ let dn = bF(bE)
794+ if ((dn == dn))
806795 then {
807- let ex = ((5 * f) / 100)
808- let ey = ((5 * f) / 100)
809- let ez = ((5 * f) / 100)
810- let bx = split(bc(O()), m)
811- let eA = bz(bx)
812- let eB = bA(bx)
796+ let eu = ((5 * f) / 100)
797+ let ev = ((5 * f) / 100)
798+ let ew = ((5 * f) / 100)
799+ let bu = split(aZ(O()), m)
800+ let ex = bw(bu)
801+ let ey = bx(bu)
802+ let ez = ae(eq)
803+ let eA = ae(er)
804+ let eB = ae(es)
813805 let eC = ae(et)
814- let eD = ae(eu)
815- let eE = ae(ev)
816- let eF = ae(ew)
817- let eG = bf(eC)
818- let eH = bf(eD)
819- let eI = (eG - ez)
820- let eJ = (eH - ez)
821- if ((0 >= eI))
822- then K(("invalid btcWeightNew: " + toString(eI)))
823- else if ((0 >= eJ))
824- then K(("invalid ethWeightNew: " + toString(eJ)))
806+ let eD = bc(ez)
807+ let eE = bc(eA)
808+ let eF = (eD - ew)
809+ let eG = (eE - ew)
810+ if ((0 >= eF))
811+ then K(("invalid btcWeightNew: " + toString(eF)))
812+ else if ((0 >= eG))
813+ then K(("invalid ethWeightNew: " + toString(eG)))
825814 else {
826- let eK = bc(aF(et))
827- let eL = bc(aF(eu))
828- let eM = bc(aF(ev))
829- let eN = bc(aF(ew))
830- let eO = invoke(eA, "onModifyWeight", [eK, et], nil)
831- if ((eO == eO))
815+ let eH = aZ(aC(eq))
816+ let eI = aZ(aC(er))
817+ let eJ = aZ(aC(es))
818+ let eK = aZ(aC(et))
819+ let eL = invoke(ex, "onModifyWeight", [eH, eq], nil)
820+ if ((eL == eL))
832821 then {
833- let eP = invoke(eA, "onModifyWeight", [eL, eu], nil)
834- if ((eP == eP))
822+ let eM = invoke(ex, "onModifyWeight", [eI, er], nil)
823+ if ((eM == eM))
835824 then {
836- let eQ = invoke(eA, "onModifyWeight", [eM, ev], nil)
837- if ((eQ == eQ))
825+ let eN = invoke(ex, "onModifyWeight", [eJ, es], nil)
826+ if ((eN == eN))
838827 then {
839- let eR = invoke(eA, "onModifyWeight", [eN, ew], nil)
840- if ((eR == eR))
841- then [IntegerEntry(eC, eI), IntegerEntry(eD, eJ), IntegerEntry(eE, ex), IntegerEntry(eF, ey), IntegerEntry(ag(et, 0), eG), IntegerEntry(ag(eu, 0), eH), IntegerEntry(ag(ev, 0), ex), IntegerEntry(ag(ew, 0), ey)]
828+ let eO = invoke(ex, "onModifyWeight", [eK, et], nil)
829+ if ((eO == eO))
830+ then [IntegerEntry(ez, eF), IntegerEntry(eA, eG), IntegerEntry(eB, eu), IntegerEntry(eC, ev), IntegerEntry(ag(eq, 0), eD), IntegerEntry(ag(er, 0), eE), IntegerEntry(ag(es, 0), eu), IntegerEntry(ag(et, 0), ev)]
842831 else throw("Strict value is not equal to itself.")
843832 }
844833 else throw("Strict value is not equal to itself.")
845834 }
846835 else throw("Strict value is not equal to itself.")
847836 }
848837 else throw("Strict value is not equal to itself.")
849838 }
850839 }
851840 else throw("Strict value is not equal to itself.")
852841 }
853842
854843
855844
856-@Callable(bH)
857-func checkWxEmissionPoolLabel (aI,aJ) = {
858- let eS = {
859- let bj = getBoolean(aH(aI, aJ))
860- if ($isInstanceOf(bj, "Boolean"))
845+@Callable(bE)
846+func checkWxEmissionPoolLabel (aF,aG) = {
847+ let eP = {
848+ let bg = getBoolean(aE(aF, aG))
849+ if ($isInstanceOf(bg, "Boolean"))
861850 then {
862- let cY = bj
863- cY
851+ let cV = bg
852+ cV
864853 }
865854 else false
866855 }
867- $Tuple2(nil, eS)
856+ $Tuple2(nil, eP)
868857 }
869858
870859
871860
872-@Callable(bH)
873-func setWxEmissionPoolLabel (aI,aJ) = {
874- let dq = cu(bH)
875- if ((dq == dq))
876- then $Tuple2([BooleanEntry(aH(aI, aJ), true)], unit)
861+@Callable(bE)
862+func setWxEmissionPoolLabel (aF,aG) = {
863+ let dn = cr(bE)
864+ if ((dn == dn))
865+ then $Tuple2([BooleanEntry(aE(aF, aG), true)], unit)
877866 else throw("Strict value is not equal to itself.")
878867 }
879868
880869
881870
882-@Callable(bH)
883-func deleteWxEmissionPoolLabel (aI,aJ) = {
884- let dq = if ((bH.caller == this))
871+@Callable(bE)
872+func deleteWxEmissionPoolLabel (aF,aG) = {
873+ let dn = if ((bE.caller == this))
885874 then true
886- else cu(bH)
887- if ((dq == dq))
888- then $Tuple2([DeleteEntry(aH(aI, aJ))], unit)
875+ else cr(bE)
876+ if ((dn == dn))
877+ then $Tuple2([DeleteEntry(aE(aF, aG))], unit)
889878 else throw("Strict value is not equal to itself.")
890879 }
891880
892881
893882
894-@Callable(bH)
895-func onVerificationLoss (aX) = {
896- let dq = if ((toBase58String(bH.caller.bytes) == valueOrElse(getString(this, X()), "")))
883+@Callable(bE)
884+func onVerificationLoss (aU) = {
885+ let dn = if ((toBase58String(bE.caller.bytes) == valueOrElse(getString(this, X()), "")))
897886 then true
898- else bI(bH)
899- if ((dq == dq))
887+ else bF(bE)
888+ if ((dn == dn))
900889 then {
901- let dx = bB()
902- let eT = if ((size(dx) > 0))
890+ let du = by()
891+ let eQ = if ((size(du) > 0))
903892 then true
904893 else K("invalid price assets")
905- if ((eT == eT))
894+ if ((eQ == eQ))
906895 then {
907- func eU (eV,eW) = {
908- let cS = invoke(this, "deleteWxEmissionPoolLabel", [aX, eW], nil)
909- if ((cS == cS))
896+ func eR (eS,eT) = {
897+ let cP = invoke(this, "deleteWxEmissionPoolLabel", [aU, eT], nil)
898+ if ((cP == cP))
910899 then unit
911900 else throw("Strict value is not equal to itself.")
912901 }
913902
914- let eX = {
915- let eY = dx
916- let eZ = size(eY)
917- let fa = unit
918- func fb (fc,fd) = if ((fd >= eZ))
919- then fc
920- else eU(fc, eY[fd])
903+ let eU = {
904+ let eV = du
905+ let eW = size(eV)
906+ let eX = unit
907+ func eY (eZ,fa) = if ((fa >= eW))
908+ then eZ
909+ else eR(eZ, eV[fa])
921910
922- func fe (fc,fd) = if ((fd >= eZ))
923- then fc
911+ func fb (eZ,fa) = if ((fa >= eW))
912+ then eZ
924913 else throw("List size exceeds 13")
925914
926- fe(fb(fb(fb(fb(fb(fb(fb(fb(fb(fb(fb(fb(fb(fa, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13)
915+ fb(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eX, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13)
927916 }
928- if ((eX == eX))
917+ if ((eU == eU))
929918 then $Tuple2(nil, unit)
930919 else throw("Strict value is not equal to itself.")
931920 }
932921 else throw("Strict value is not equal to itself.")
933922 }
934923 else throw("Strict value is not equal to itself.")
935924 }
936925
937926
938927
939-@Callable(bH)
928+@Callable(bE)
940929 func isPoolOneTokenOperationsDisabledREADONLY (af) = {
941- let dX = cl(af)
942- let aq = $Tuple2(parseIntValue(dX[C]), parseIntValue(dX[D]))
943- let ff = valueOrElse(getBoolean(ap(aq)), false)
944- let fg = valueOrElse(getBoolean(as()), false)
945- $Tuple2(nil, if (fg)
930+ let dU = ci(af)
931+ let aq = $Tuple2(parseIntValue(dU[C]), parseIntValue(dU[D]))
932+ let fc = valueOrElse(getBoolean(ap(aq)), false)
933+ let fd = valueOrElse(getBoolean(as()), false)
934+ $Tuple2(nil, if (fd)
946935 then true
947- else ff)
936+ else fc)
948937 }
949938
950939
951940
952-@Callable(bH)
953-func isPoolSwapDisabledREADONLY (af) = {
954- let dX = cl(af)
955- let aq = $Tuple2(parseIntValue(dX[C]), parseIntValue(dX[D]))
956- let fh = valueOrElse(getBoolean(at(aq)), false)
957- let fi = valueOrElse(getBoolean(av()), false)
958- $Tuple2(nil, if (fi)
959- then true
960- else fh)
941+@Callable(bE)
942+func getInFeeREADONLY (af) = {
943+ let fe = cu(aH(af), aI(), 0)
944+ $Tuple2(nil, fe)
961945 }
962946
963947
964948
965-@Callable(bH)
966-func getInFeeREADONLY (af) = {
967- let fj = cx(aK(af), aL(), 0)
968- $Tuple2(nil, fj)
949+@Callable(bE)
950+func getOutFeeREADONLY (af) = {
951+ let fe = cu(aK(af), aL(), fraction(10, b, 10000))
952+ $Tuple2(nil, fe)
969953 }
970954
971955
972956
973-@Callable(bH)
974-func getOutFeeREADONLY (af) = {
975- let fj = cx(aN(af), aO(), fraction(10, b, 10000))
976- $Tuple2(nil, fj)
957+@Callable(bE)
958+func getSwapFeeREADONLY (ff) = {
959+ let fg = {
960+ let bg = getString(this, aJ(ff))
961+ if ($isInstanceOf(bg, "String"))
962+ then {
963+ let bh = bg
964+ let fh = split(bh, m)
965+ let fi = parseIntValue(fh[1])
966+ let fj = parseIntValue(fh[2])
967+ $Tuple2(fi, fj)
968+ }
969+ else if ($isInstanceOf(bg, "Unit"))
970+ then unit
971+ else throw("Match error")
972+ }
973+ $Tuple2(nil, fg)
977974 }
978975
979976
980977
981-@Callable(bH)
982-func getSwapFeeREADONLY (fk) = {
983- let fl = {
984- let bj = getString(this, aM(fk))
985- if ($isInstanceOf(bj, "String"))
986- then {
987- let bk = bj
988- let fm = split(bk, m)
989- let fn = parseIntValue(fm[1])
990- let fo = parseIntValue(fm[2])
991- $Tuple2(fn, fo)
992- }
993- else if ($isInstanceOf(bj, "Unit"))
994- then unit
995- else throw("Match error")
996- }
997- $Tuple2(nil, fl)
978+@Callable(bE)
979+func poolInfoREADONLY (fk,fl) = {
980+ let fm = getInteger(this, ak(fk))
981+ let fn = getInteger(this, ak(fl))
982+ let fo = getString(this, aB(value(fm), value(fn)))
983+ let fp = getString(this, aC(value(fo)))
984+ let dH = if (if (isDefined(fm))
985+ then isDefined(fn)
986+ else false)
987+ then isDefined(fo)
988+ else false
989+ let fq = if (dH)
990+ then $Tuple2(addressFromStringValue(value(fo)), bd(value(fp)))
991+ else unit
992+ $Tuple2(nil, fq)
998993 }
999994
1000995
1001996
1002-@Callable(bH)
1003-func poolInfoREADONLY (fp,fq) = {
1004- let fr = getInteger(this, ak(fp))
1005- let fs = getInteger(this, ak(fq))
1006- let ft = getString(this, aE(value(fr), value(fs)))
1007- let fu = getString(this, aF(value(ft)))
1008- let dK = if (if (isDefined(fr))
1009- then isDefined(fs)
1010- else false)
1011- then isDefined(ft)
1012- else false
1013- let fv = if (dK)
1014- then $Tuple2(addressFromStringValue(value(ft)), bg(value(fu)))
1015- else unit
1016- $Tuple2(nil, fv)
997+@Callable(bE)
998+func getPoolStatusREADONLY (af) = {
999+ let cj = split(aZ(az(af)), m)
1000+ let an = cj[1]
1001+ let ao = cj[2]
1002+ let cA = split(aZ(am(an, ao)), m)
1003+ $Tuple2(nil, parseIntValue(cA[w]))
10171004 }
10181005
10191006
10201007
1021-@Callable(bH)
1022-func getPoolStatusREADONLY (af) = {
1023- let cm = split(bc(aC(af)), m)
1024- let an = cm[1]
1025- let ao = cm[2]
1026- let cD = split(bc(am(an, ao)), m)
1027- $Tuple2(nil, parseIntValue(cD[w]))
1008+@Callable(bE)
1009+func getPoolConfigREADONLY (af) = {
1010+ let cj = split(aZ(az(af)), m)
1011+ let an = cj[1]
1012+ let ao = cj[2]
1013+ let cA = split(aZ(am(an, ao)), m)
1014+ $Tuple2(nil, cA)
10281015 }
10291016
10301017
10311018
1032-@Callable(bH)
1033-func getPoolConfigREADONLY (af) = {
1034- let cm = split(bc(aC(af)), m)
1035- let an = cm[1]
1036- let ao = cm[2]
1037- let cD = split(bc(am(an, ao)), m)
1038- $Tuple2(nil, cD)
1019+@Callable(bE)
1020+func getPoolConfigByLpAssetIdREADONLY (dM) = {
1021+ let cj = split(aZ(at(dM)), m)
1022+ let an = cj[1]
1023+ let ao = cj[2]
1024+ let cA = split(aZ(am(an, ao)), m)
1025+ $Tuple2(nil, cA)
10391026 }
10401027
10411028
10421029
1043-@Callable(bH)
1044-func getPoolConfigByLpAssetIdREADONLY (dP) = {
1045- let cm = split(bc(aw(dP)), m)
1046- let an = cm[1]
1047- let ao = cm[2]
1048- let cD = split(bc(am(an, ao)), m)
1049- $Tuple2(nil, cD)
1030+@Callable(bE)
1031+func poolExistsREADONLY (aF,aG) = $Tuple2(nil, cx(aF, aG))
1032+
1033+
1034+
1035+@Callable(bE)
1036+func skipOrderValidationREADONLY (af) = $Tuple2(nil, valueOrElse(getBoolean(aM(af)), false))
1037+
1038+
1039+
1040+@Callable(bE)
1041+func getChangeAmpConfigREADONLY (af) = {
1042+ let fr = getIntegerValue(aN(af))
1043+ let fs = getIntegerValue(aO(af))
1044+ let ft = getIntegerValue(aP(af))
1045+ $Tuple2(nil, [fr, fs, ft])
10501046 }
10511047
10521048
10531049
1054-@Callable(bH)
1055-func poolExistsREADONLY (aI,aJ) = $Tuple2(nil, cA(aI, aJ))
1056-
1057-
1058-
1059-@Callable(bH)
1060-func skipOrderValidationREADONLY (af) = $Tuple2(nil, valueOrElse(getBoolean(aP(af)), false))
1061-
1062-
1063-
1064-@Callable(bH)
1065-func getChangeAmpConfigREADONLY (af) = {
1066- let fw = getIntegerValue(aQ(af))
1067- let fx = getIntegerValue(aR(af))
1068- let fy = getIntegerValue(aS(af))
1069- $Tuple2(nil, [fw, fx, fy])
1050+@Callable(bE)
1051+func getPoolWeightREADONLY (bW) = {
1052+ let af = aZ(aD(bW))
1053+ let fu = valueOrElse(getInteger(ae(af)), 0)
1054+ $Tuple2(nil, fu)
10701055 }
10711056
10721057
10731058
1074-@Callable(bH)
1075-func getPoolWeightREADONLY (bZ) = {
1076- let af = bc(aG(bZ))
1077- let fz = valueOrElse(getInteger(ae(af)), 0)
1078- $Tuple2(nil, fz)
1079- }
1080-
1081-
1082-
1083-@Callable(bH)
1084-func deletePool (aD) = {
1085- let dX = cl(aD)
1086- let dq = if ((toString(bH.caller) == cH(aD)))
1087- then if (cP(aD))
1059+@Callable(bE)
1060+func deletePool (aA) = {
1061+ let dU = ci(aA)
1062+ let dn = if ((toString(bE.caller) == cE(aA)))
1063+ then if (cM(aA))
10881064 then true
10891065 else K("Pool is not empty")
1090- else bI(bH)
1091- if ((dq == dq))
1066+ else bF(bE)
1067+ if ((dn == dn))
10921068 then {
1093- let fA = if ((valueOrElse(getInteger(ae(aD)), 0) == 0))
1069+ let fv = if ((valueOrElse(getInteger(ae(aA)), 0) == 0))
10941070 then true
10951071 else K("Pool weight is not Zero")
1096- if ((fA == fA))
1072+ if ((fv == fv))
10971073 then {
1098- let fB = if ((dX[w] == toString(r)))
1074+ let fw = if ((dU[w] == toString(r)))
10991075 then true
11001076 else K("Pool must be SHUTDOWN (4)")
1101- if ((fB == fB))
1077+ if ((fw == fw))
11021078 then {
1103- let fC = cG(aD)
1104- let aI = fC._1
1105- let aJ = fC._2
1106- let bZ = fC._3
1107- let an = fC._4
1108- let ao = fC._5
1109- let cJ = addressFromStringValue(getStringValue(Z()))
1110- let fD = invoke(cJ, "deletePool", [aI, aJ], nil)
1111- if ((fD == fD))
1079+ let fx = cD(aA)
1080+ let aF = fx._1
1081+ let aG = fx._2
1082+ let bW = fx._3
1083+ let an = fx._4
1084+ let ao = fx._5
1085+ let cG = addressFromStringValue(getStringValue(Z()))
1086+ let fy = invoke(cG, "deletePool", [aF, aG], nil)
1087+ if ((fy == fy))
11121088 then {
1113- let dw = addressFromStringValue(getStringValue(Y()))
1114- let fE = invoke(dw, "deletePool", [aI, aJ], nil)
1115- if ((fE == fE))
1089+ let dt = addressFromStringValue(getStringValue(Y()))
1090+ let fz = invoke(dt, "deletePool", [aF, aG], nil)
1091+ if ((fz == fz))
11161092 then {
1117- let dv = addressFromStringValue(getStringValue(X()))
1118- let fF = invoke(dv, "deletePool", [aI, aJ], nil)
1119- if ((fF == fF))
1120- then [DeleteEntry(aF(aD)), DeleteEntry(aC(aD)), DeleteEntry(ay(toString(an), toString(ao))), DeleteEntry(aE(an, ao)), DeleteEntry(am(toString(an), toString(ao))), DeleteEntry(aw(bZ)), DeleteEntry(aG(bZ)), DeleteEntry(aH(aI, aJ)), DeleteEntry(ae(aD)), DeleteEntry(aB(aD)), DeleteEntry(aK(aD)), DeleteEntry(aN(aD)), DeleteEntry(aP(aD)), DeleteEntry(aQ(aD)), DeleteEntry(aR(aD)), DeleteEntry(aS(aD))]
1093+ let ds = addressFromStringValue(getStringValue(X()))
1094+ let fA = invoke(ds, "deletePool", [aF, aG], nil)
1095+ if ((fA == fA))
1096+ then [DeleteEntry(aC(aA)), DeleteEntry(az(aA)), DeleteEntry(av(toString(an), toString(ao))), DeleteEntry(aB(an, ao)), DeleteEntry(am(toString(an), toString(ao))), DeleteEntry(at(bW)), DeleteEntry(aD(bW)), DeleteEntry(aE(aF, aG)), DeleteEntry(ae(aA)), DeleteEntry(ay(aA)), DeleteEntry(aH(aA)), DeleteEntry(aK(aA)), DeleteEntry(aM(aA)), DeleteEntry(aN(aA)), DeleteEntry(aO(aA)), DeleteEntry(aP(aA))]
11211097 else throw("Strict value is not equal to itself.")
11221098 }
11231099 else throw("Strict value is not equal to itself.")
11241100 }
11251101 else throw("Strict value is not equal to itself.")
11261102 }
11271103 else throw("Strict value is not equal to itself.")
11281104 }
11291105 else throw("Strict value is not equal to itself.")
11301106 }
11311107 else throw("Strict value is not equal to itself.")
11321108 }
11331109
11341110
1135-@Verifier(fG)
1136-func fH () = {
1137- let fI = {
1138- let bj = bC()
1139- if ($isInstanceOf(bj, "ByteVector"))
1111+@Verifier(fB)
1112+func fC () = {
1113+ let fD = {
1114+ let bg = bz()
1115+ if ($isInstanceOf(bg, "ByteVector"))
11401116 then {
1141- let bJ = bj
1142- bJ
1117+ let bG = bg
1118+ bG
11431119 }
1144- else if ($isInstanceOf(bj, "Unit"))
1145- then fG.senderPublicKey
1120+ else if ($isInstanceOf(bg, "Unit"))
1121+ then fB.senderPublicKey
11461122 else throw("Match error")
11471123 }
1148- sigVerify(fG.bodyBytes, fG.proofs[0], fI)
1124+ sigVerify(fB.bodyBytes, fB.proofs[0], fD)
11491125 }
11501126

github/deemru/w8io/026f985 
347.57 ms