tx · GKTCPDLEkzRwwP9yaFfsYtUQtnFzqMseywjNoBpjRBj5

3MzSNsJLeYj6Eh6u2QzJrbByPCySgFoCbWC:  -0.05000000 Waves

2020.01.02 17:15 [836309] smart account 3MzSNsJLeYj6Eh6u2QzJrbByPCySgFoCbWC > SELF 0.00000000 Waves

{ "type": 13, "id": "GKTCPDLEkzRwwP9yaFfsYtUQtnFzqMseywjNoBpjRBj5", "fee": 5000000, "feeAssetId": null, "timestamp": 1577974482811, "version": 1, "sender": "3MzSNsJLeYj6Eh6u2QzJrbByPCySgFoCbWC", "senderPublicKey": "99sSPZk2SumsopYRh2PAvWL8BHjDhYsY5NspsFGXLnAm", "proofs": [ "35tnVuQCA35LVXEToZDrHCvE8MZCzgWXFFW61vBTYXS1obvDmik9rNUAvXTcApEerWNA3v1UerXT1CM5VRj8Sznz" ], "script": "base64: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AQkBAAAAEGdldEtleVRhc2tBdXRob3IAAAABBQAAAAR0YXNrAQAAAA9nZXRLZXlUYXNrQmxvY2sAAAABAAAABHRhc2sJAAEsAAAAAgIAAAAGYmxvY2tfBQAAAAR0YXNrAQAAABFnZXRWYWx1ZVRhc2tCbG9jawAAAAEAAAAEdGFzawkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAD2dldEtleVRhc2tCbG9jawAAAAEFAAAABHRhc2sBAAAADmdldEtleVRhc2tCYW5rAAAAAQAAAAR0YXNrCQABLAAAAAICAAAABWJhbmtfBQAAAAR0YXNrAQAAABBnZXRWYWx1ZVRhc2tCYW5rAAAAAQAAAAR0YXNrCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAOZ2V0S2V5VGFza0JhbmsAAAABBQAAAAR0YXNrAQAAABRnZXRLZXlUYXNrRnJlZWxhbmNlcgAAAAEAAAAEdGFzawkAASwAAAACAgAAAAtmcmVlbGFuY2VyXwUAAAAEdGFzawEAAAAWZ2V0VmFsdWVUYXNrRnJlZWxhbmNlcgAAAAEAAAAEdGFzawkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAFGdldEtleVRhc2tGcmVlbGFuY2VyAAAAAQUAAAAEdGFzawEAAAAQZ2V0S2V5VGFza1N0YXR1cwAAAAEAAAAEdGFzawkAASwAAAACAgAAAAdzdGF0dXNfBQAAAAR0YXNrAQAAABJnZXRWYWx1ZVRhc2tTdGF0dXMAAAABAAAABHRhc2sJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABBnZXRLZXlUYXNrU3RhdHVzAAAAAQUAAAAEdGFzawEAAAAUZ2V0S2V5VGFza0V4cGlyYXRpb24AAAABAAAABHRhc2sJAAEsAAAAAgIAAAARZXhwaXJhdGlvbl9ibG9ja18FAAAABHRhc2sBAAAAFmdldFZhbHVlVGFza0V4cGlyYXRpb24AAAABAAAABHRhc2sJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABRnZXRLZXlUYXNrRXhwaXJhdGlvbgAAAAEFAAAABHRhc2sBAAAADWdldEtleVVzZXJCaW8AAAABAAAAB2FjY291bnQJAAEsAAAAAgIAAAAJdXNlcl9iaW9fBQAAAAdhY2NvdW50AQAAAA9nZXRWYWx1ZVVzZXJCaW8AAAABAAAAB2FjY291bnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAAA1nZXRLZXlVc2VyQmlvAAAAAQUAAAAHYWNjb3VudAEAAAAQZ2V0S2V5VXNlclN0YXR1cwAAAAEAAAAHYWNjb3VudAkAASwAAAACAgAAAAl1c2VyX3N0c18FAAAAB2FjY291bnQBAAAAEmdldFZhbHVlVXNlclN0YXR1cwAAAAEAAAAHYWNjb3VudAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEGdldEtleVVzZXJTdGF0dXMAAAABBQAAAAdhY2NvdW50AQAAAA9nZXRLZXlVc2VyQmxvY2sAAAABAAAAB2FjY291bnQJAAEsAAAAAgIAAAAJdXNlcl9ibGtfBQAAAAdhY2NvdW50AQAAABhnZXRLZXlUYXNrUmVwb3J0Q29tcGxldGUAAAADAAAACmZyZWVsYW5jZXIAAAAEdGFzawAAAAVzdGFnZQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAA3JjXwUAAAAEdGFzawIAAAABXwUAAAAKZnJlZWxhbmNlcgIAAAAHX3N0YWdlOgUAAAAFc3RhZ2UBAAAAGmdldFZhbHVlVGFza1JlcG9ydENvbXBsZXRlAAAAAwAAAApmcmVlbGFuY2VyAAAABHRhc2sAAAAFc3RhZ2UJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABhnZXRLZXlUYXNrUmVwb3J0Q29tcGxldGUAAAADBQAAAApmcmVlbGFuY2VyBQAAAAR0YXNrBQAAAAVzdGFnZQEAAAAbZ2V0S2V5VGFza1JlcG9ydENvbXBsZXRlQ250AAAAAgAAAAR0YXNrAAAACmZyZWVsYW5jZXIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAB3JjX2NudF8FAAAABHRhc2sCAAAAAV8FAAAACmZyZWVsYW5jZXIBAAAAHWdldFZhbHVlVGFza1JlcG9ydENvbXBsZXRlQ250AAAAAgAAAAR0YXNrAAAACmZyZWVsYW5jZXIJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABtnZXRLZXlUYXNrUmVwb3J0Q29tcGxldGVDbnQAAAACBQAAAAR0YXNrBQAAAApmcmVlbGFuY2VyAQAAABRnZXRLZXlEZWNyeWJlQmFsYW5jZQAAAAACAAAAD2RlY3J5YmVfYmFsYW5jZQEAAAAWZ2V0VmFsdWVEZWNyeWJlQmFsYW5jZQAAAAAJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABRnZXRLZXlEZWNyeWJlQmFsYW5jZQAAAAABAAAAEGdldEtleVRhc2tSYXRpbmcAAAABAAAABHRhc2sJAAEsAAAAAgIAAAAMdGFza19yYXRpbmdfBQAAAAR0YXNrAQAAABJnZXRWYWx1ZVRhc2tSYXRpbmcAAAABAAAABHRhc2sJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABBnZXRLZXlUYXNrUmF0aW5nAAAAAQUAAAAEdGFzawEAAAAYZ2V0S2V5VGFza1VzZXJWb3RlUmF0aW5nAAAAAgAAAAR0YXNrAAAABHVzZXIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACnRhc2tfdm90ZV8FAAAABHRhc2sCAAAAAV8FAAAABHVzZXIBAAAAGmdldFZhbHVlVGFza1VzZXJWb3RlUmF0aW5nAAAAAgAAAAR0YXNrAAAABHVzZXIJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABhnZXRLZXlUYXNrVXNlclZvdGVSYXRpbmcAAAACBQAAAAR0YXNrBQAAAAR1c2VyAQAAABBnZXRLZXlVc2VyUmF0aW5nAAAAAQAAAAR1c2VyCQABLAAAAAICAAAADHVzZXJfcmF0aW5nXwUAAAAEdXNlcgEAAAASZ2V0VmFsdWVVc2VyUmF0aW5nAAAAAQAAAAR1c2VyCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAQZ2V0S2V5VXNlclJhdGluZwAAAAEFAAAABHVzZXIBAAAAFGdldEtleVVzZXJSYXRpbmdWb3RlAAAAAgAAAAR1c2VyAAAABnZvdGluZwkAASwAAAACCQABLAAAAAICAAAACnVzZXJfdm90ZV8FAAAABHVzZXIFAAAABnZvdGluZwEAAAAWZ2V0VmFsdWVVc2VyUmF0aW5nVm90ZQAAAAIAAAAEdXNlcgAAAAZ2b3RpbmcJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABRnZXRLZXlVc2VyUmF0aW5nVm90ZQAAAAIFAAAABHVzZXIFAAAABnZvdGluZwEAAAARZ2V0S2V5VGFza0Rpc3B1dGUAAAABAAAABHRhc2sJAAEsAAAAAgIAAAANdGFza19kaXNwdXRlXwUAAAAEdGFzawEAAAATZ2V0VmFsdWVUYXNrRGlzcHV0ZQAAAAEAAAAEdGFzawkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEWdldEtleVRhc2tEaXNwdXRlAAAAAQUAAAAEdGFzawEAAAAdZ2V0S2V5VGFza0Rpc3B1dGVWb3RlQ3VzdG9tZXIAAAABAAAABHRhc2sJAAEsAAAAAgIAAAASdGFza19kaXNwdm90ZV9jc3RfBQAAAAR0YXNrAQAAAB9nZXRWYWx1ZVRhc2tEaXNwdXRlVm90ZUN1c3RvbWVyAAAAAQAAAAR0YXNrCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAdZ2V0S2V5VGFza0Rpc3B1dGVWb3RlQ3VzdG9tZXIAAAABBQAAAAR0YXNrAQAAAB9nZXRLZXlUYXNrRGlzcHV0ZVZvdGVGcmVlbGFuY2VyAAAAAQAAAAR0YXNrCQABLAAAAAICAAAAEnRhc2tfZGlzcHZvdGVfZmxyXwUAAAAEdGFzawEAAAAhZ2V0VmFsdWVUYXNrRGlzcHV0ZVZvdGVGcmVlbGFuY2VyAAAAAQAAAAR0YXNrCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAfZ2V0S2V5VGFza0Rpc3B1dGVWb3RlRnJlZWxhbmNlcgAAAAEFAAAABHRhc2sBAAAAGGdldEtleVRhc2tEaXNwdXRlTWVzc2FnZQAAAAMAAAAEdGFzawAAAAZzZW5kZXIAAAACaWQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA10YXNrX2Rpc3Btc2dfBQAAAAR0YXNrAgAAAAFfBQAAAAZzZW5kZXICAAAABF9pZDoFAAAAAmlkAQAAABpnZXRWYWx1ZVRhc2tEaXNwdXRlTWVzc2FnZQAAAAMAAAAEdGFzawAAAAZzZW5kZXIAAAACaWQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABhnZXRLZXlUYXNrRGlzcHV0ZU1lc3NhZ2UAAAADBQAAAAR0YXNrBQAAAAZzZW5kZXIFAAAAAmlkAQAAAB1nZXRLZXlUYXNrRGlzcHV0ZU1lc3NhZ2VCbG9jawAAAAMAAAAEdGFzawAAAAZzZW5kZXIAAAACaWQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABF0YXNrX2Rpc3Btc2dfYmxrXwUAAAAEdGFzawIAAAABXwUAAAAGc2VuZGVyAgAAAARfaWQ6BQAAAAJpZAEAAAAfZ2V0VmFsdWVUYXNrRGlzcHV0ZU1lc3NhZ2VCbG9jawAAAAMAAAAEdGFzawAAAAZzZW5kZXIAAAACaWQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAAB1nZXRLZXlUYXNrRGlzcHV0ZU1lc3NhZ2VCbG9jawAAAAMFAAAABHRhc2sFAAAABnNlbmRlcgUAAAACaWQBAAAAHGdldEtleVRhc2tEaXNwdXRlTWVzc2FnZXNDbnQAAAACAAAABHRhc2sAAAAEdXNlcgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAARdGFza19kaXNwbXNnX2NudF8FAAAABHRhc2sCAAAAAV8FAAAABHVzZXIBAAAAHmdldFZhbHVlVGFza0Rpc3B1dGVNZXNzYWdlc0NudAAAAAIAAAAEdGFzawAAAAR1c2VyCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAcZ2V0S2V5VGFza0Rpc3B1dGVNZXNzYWdlc0NudAAAAAIFAAAABHRhc2sFAAAABHVzZXIBAAAAGGdldEtleVRhc2tEaXNwdXRlQ29tbWVudAAAAAIAAAAEdGFzawAAAAZzZW5kZXIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADXRhc2tfZGlzcGNvbV8FAAAABHRhc2sCAAAAAV8FAAAABnNlbmRlcgEAAAAaZ2V0VmFsdWVUYXNrRGlzcHV0ZUNvbW1lbnQAAAACAAAABHRhc2sAAAAGc2VuZGVyCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAYZ2V0S2V5VGFza0Rpc3B1dGVDb21tZW50AAAAAgUAAAAEdGFzawUAAAAGc2VuZGVyAQAAAB1nZXRLZXlUYXNrRGlzcHV0ZUNvbW1lbnRCbG9jawAAAAIAAAAEdGFzawAAAAZzZW5kZXIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAEXRhc2tfZGlzcGNvbV9ibGtfBQAAAAR0YXNrAgAAAAFfBQAAAAZzZW5kZXIBAAAAH2dldFZhbHVlVGFza0Rpc3B1dGVDb21tZW50QmxvY2sAAAACAAAABHRhc2sAAAAGc2VuZGVyCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAdZ2V0S2V5VGFza0Rpc3B1dGVDb21tZW50QmxvY2sAAAACBQAAAAR0YXNrBQAAAAZzZW5kZXIBAAAAHGdldEtleVRhc2tEaXNwdXRlVm90ZVZhcmlhbnQAAAACAAAABHRhc2sAAAAEdXNlcgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAANdGFza19kaXNwdmFyXwUAAAAEdGFzawIAAAABXwUAAAAEdXNlcgEAAAAeZ2V0VmFsdWVUYXNrRGlzcHV0ZVZvdGVWYXJpYW50AAAAAgAAAAR0YXNrAAAABHVzZXIJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABxnZXRLZXlUYXNrRGlzcHV0ZVZvdGVWYXJpYW50AAAAAgUAAAAEdGFzawUAAAAEdXNlcgAAABAAAAABaQEAAAAWd2l0aGRyYXdEZWNyeWJlQmFsYW5jZQAAAAEAAAAGYW1vdW50BAAAAAdhY2NvdW50CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAB2JhbGFuY2UJAQAAABZnZXRWYWx1ZURlY3J5YmVCYWxhbmNlAAAAAAMJAAAAAAAAAgUAAAAHYWNjb3VudAUAAAAHQ1JFQVRPUgMJAABnAAAAAgUAAAAHYmFsYW5jZQUAAAAGYW1vdW50CQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAAHYWNjb3VudAUAAAAGYW1vdW50BQAAAAR1bml0BQAAAANuaWwJAAACAAAAAQkAASwAAAACAgAAACtZb3UgY2Fubm90IHdpdGhkcmF3IGFuIGFtb3VudCBncmVhdGVyIHRoYW4gCQABpAAAAAEFAAAAB2JhbGFuY2UJAAACAAAAAQIAAAARWW91IGNhbid0IGRvIHRoYXQAAAABaQEAAAAKY3JlYXRlVGFzawAAAAMAAAAEdGFzawAAAApleHBpcmF0aW9uAAAABGRhdGEEAAAAB2FjY291bnQJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQEAAAACXBtdEFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQEAAAAB3BheW1lbnQJAABoAAAAAgkAAGkAAAACBQAAAAlwbXRBbW91bnQJAABkAAAAAgkAAGgAAAACAAAAAAAAAAABBQAAAAhXQVZFU0xFVAUAAAAKREVDUllCRUZFRQUAAAAIV0FWRVNMRVQEAAAACmNvbW1pc3Npb24JAABlAAAAAgUAAAAJcG10QW1vdW50BQAAAAdwYXltZW50AwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAACBDYW4gdXNlIHdhdmVzIG9ubHkgYXQgdGhlIG1vbWVudAMJAAAAAAAAAgUAAAAJcG10QW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAHEFtb3VudCBtdXN0IGJlIGhpZ2hlciB0aGVuIDADCQEAAAACIT0AAAACCQEAAAASZ2V0VmFsdWVUYXNrQXV0aG9yAAAAAQUAAAAEdGFzawUAAAAETk9ORQkAAAIAAAABAgAAABJUYXNrIGFscmVhZHkgZXhpc3QDCQAAAAAAAAIJAQAAAA9nZXRWYWx1ZVVzZXJCaW8AAAABBQAAAAdhY2NvdW50BQAAAAROT05FCQAAAgAAAAECAAAAD1VzZXIgbm90IHNpZ251cAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldEtleVRhc2tBdXRob3IAAAABBQAAAAR0YXNrBQAAAAdhY2NvdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAPZ2V0S2V5VGFza0Jsb2NrAAAAAQUAAAAEdGFzawUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAUZ2V0S2V5VGFza0V4cGlyYXRpb24AAAABBQAAAAR0YXNrCQAAZAAAAAIFAAAABmhlaWdodAUAAAAKZXhwaXJhdGlvbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAADmdldEtleVRhc2tCYW5rAAAAAQUAAAAEdGFzawUAAAAHcGF5bWVudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldEtleVRhc2tTdGF0dXMAAAABBQAAAAR0YXNrBQAAAAhGRUFUVVJFRAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAADmdldEtleVRhc2tEYXRhAAAAAQUAAAAEdGFzawUAAAAEZGF0YQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFGdldEtleURlY3J5YmVCYWxhbmNlAAAAAAkAAGQAAAACCQEAAAAWZ2V0VmFsdWVEZWNyeWJlQmFsYW5jZQAAAAAFAAAACmNvbW1pc3Npb24JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABBnZXRLZXlUYXNrUmF0aW5nAAAAAQUAAAAEdGFzawAAAAAAAAAAAAUAAAADbmlsAAAAAWkBAAAABnNpZ25VcAAAAAEAAAAEZGF0YQQAAAAHYWNjb3VudAkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAwkBAAAAAiE9AAAAAgkBAAAAD2dldFZhbHVlVXNlckJpbwAAAAEFAAAAB2FjY291bnQFAAAABE5PTkUJAAACAAAAAQIAAAASVXNlciBhbHJlYWR5IGV4aXN0CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAANZ2V0S2V5VXNlckJpbwAAAAEFAAAAB2FjY291bnQFAAAABGRhdGEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRLZXlVc2VyQmxvY2sAAAABBQAAAAdhY2NvdW50BQAAAAZoZWlnaHQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABBnZXRLZXlVc2VyU3RhdHVzAAAAAQUAAAAHYWNjb3VudAUAAAAKUkVHSVNURVJFRAUAAAADbmlsAAAAAWkBAAAADmhpcmVGcmVlbGFuY2VyAAAAAgAAAAR0YXNrAAAACmZyZWVsYW5jZXIEAAAAB2FjY291bnQJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwMJAAAAAAAAAgkBAAAAEGdldFZhbHVlVGFza0RhdGEAAAABBQAAAAR0YXNrBQAAAAROT05FCQAAAgAAAAECAAAAEVRhc2sgZG9lc250IGV4aXN0AwkAAAAAAAACCQEAAAAPZ2V0VmFsdWVVc2VyQmlvAAAAAQUAAAAHYWNjb3VudAUAAAAETk9ORQkAAAIAAAABAgAAABNDdXN0b21lciBub3Qgc2lnbnVwAwkAAAAAAAACCQEAAAAPZ2V0VmFsdWVVc2VyQmlvAAAAAQUAAAAKZnJlZWxhbmNlcgUAAAAETk9ORQkAAAIAAAABAgAAABVGcmVlbGFuY2VyIG5vdCBzaWdudXADCQEAAAACIT0AAAACCQEAAAASZ2V0VmFsdWVUYXNrQXV0aG9yAAAAAQUAAAAEdGFzawUAAAAHYWNjb3VudAkAAAIAAAABAgAAABFZb3UncmUgbm90IGF1dGhvcgMJAAAAAAAAAgkBAAAAEmdldFZhbHVlVGFza1N0YXR1cwAAAAEFAAAABHRhc2sFAAAACklOUFJPR1JFU1MJAAACAAAAAQIAAABCRnJlZWxhbmNlciBpcyBubyBsb25nZXIgcmVxdWlyZWQgKHRoZSB0YXNrIGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MpAwkAAAAAAAACBQAAAApmcmVlbGFuY2VyBQAAAAdhY2NvdW50CQAAAgAAAAECAAAAF1lvdSBjYW4ndCBoaXJlIHlvdXJzZWxmCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAUZ2V0S2V5VGFza0ZyZWVsYW5jZXIAAAABBQAAAAR0YXNrBQAAAApmcmVlbGFuY2VyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAQZ2V0S2V5VGFza1N0YXR1cwAAAAEFAAAABHRhc2sFAAAACklOUFJPR1JFU1MFAAAAA25pbAAAAAFpAQAAAAtzZW5kTWVzc2FnZQAAAAMAAAAEdGFzawAAAAJ0bwAAAAdtZXNzYWdlBAAAAAdhY2NvdW50CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAA2NudAkAAGQAAAACCQEAAAAXZ2V0VmFsdWVVc2VyTWVzc2FnZXNDbnQAAAACBQAAAAdhY2NvdW50BQAAAAJ0bwAAAAAAAAAAAQMJAAAAAAAAAgkBAAAAEGdldFZhbHVlVGFza0RhdGEAAAABBQAAAAR0YXNrBQAAAAROT05FCQAAAgAAAAECAAAAEVRhc2sgZG9lc250IGV4aXN0AwkAAAAAAAACBQAAAAdhY2NvdW50BQAAAAJ0bwkAAAIAAAABAgAAACNZb3UgY2FuJ3Qgc2VuZCBtZXNzYWdlcyB0byB5b3Vyc2VsZgMJAAAAAAAAAgkBAAAAD2dldFZhbHVlVXNlckJpbwAAAAEFAAAAB2FjY291bnQFAAAABE5PTkUJAAACAAAAAQIAAAARU2VuZGVyIG5vdCBzaWdudXADCQAAAAAAAAIJAQAAAA9nZXRWYWx1ZVVzZXJCaW8AAAABBQAAAAJ0bwUAAAAETk9ORQkAAAIAAAABAgAAABRSZWNpcGllbnQgbm90IHNpbmd1cAMDCQEAAAACIT0AAAACCQEAAAAWZ2V0VmFsdWVUYXNrRnJlZWxhbmNlcgAAAAEFAAAABHRhc2sFAAAAB2FjY291bnQJAAAAAAAAAgkBAAAAEmdldFZhbHVlVGFza1N0YXR1cwAAAAEFAAAABHRhc2sFAAAACklOUFJPR1JFU1MHCQAAAgAAAAECAAAAIEZyZWVsYW5jZXIgaXMgbm8gbG9uZ2VyIHJlcXVpcmVkCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0S2V5VXNlck1lc3NhZ2VzQ250AAAAAgUAAAAHYWNjb3VudAUAAAACdG8FAAAAA2NudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldEtleVVzZXJNZXNzYWdlAAAAAwUAAAAHYWNjb3VudAUAAAACdG8JAAGkAAAAAQUAAAADY250BQAAAAdtZXNzYWdlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAWZ2V0S2V5VXNlck1lc3NhZ2VCbG9jawAAAAMFAAAAB2FjY291bnQFAAAAAnRvCQABpAAAAAEFAAAAA2NudAUAAAAGaGVpZ2h0BQAAAANuaWwAAAABaQEAAAAKdGFza1VwZGF0ZQAAAAIAAAAEdGFzawAAAARkYXRhBAAAAAdhY2NvdW50CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMDCQAAAAAAAAIJAQAAAA9nZXRWYWx1ZVVzZXJCaW8AAAABBQAAAAdhY2NvdW50BQAAAAROT05FCQAAAgAAAAECAAAAD1VzZXIgbm90IHNpZ251cAMJAAAAAAAAAgkBAAAAEGdldFZhbHVlVGFza0RhdGEAAAABBQAAAAR0YXNrBQAAAAROT05FCQAAAgAAAAECAAAAEVRhc2sgZG9lc250IGV4aXN0AwkBAAAAAiE9AAAAAgkBAAAAEmdldFZhbHVlVGFza0F1dGhvcgAAAAEFAAAABHRhc2sFAAAAB2FjY291bnQJAAACAAAAAQIAAAARWW91J3JlIG5vdCBhdXRob3IDCQEAAAACIT0AAAACCQEAAAASZ2V0VmFsdWVUYXNrU3RhdHVzAAAAAQUAAAAEdGFzawUAAAAIRkVBVFVSRUQJAAACAAAAAQIAAAA4RWRpdGluZyB0YXNrcyBpcyBub3QgYXZhaWxhYmxlIGFmdGVyIGhpcmluZyBhIGZyZWVsYW5jZXIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA5nZXRLZXlUYXNrRGF0YQAAAAEFAAAABHRhc2sFAAAABGRhdGEFAAAAA25pbAAAAAFpAQAAAAp1c2VyVXBkYXRlAAAAAQAAAARkYXRhBAAAAAdhY2NvdW50CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMDCQAAAAAAAAIJAQAAAA9nZXRWYWx1ZVVzZXJCaW8AAAABBQAAAAdhY2NvdW50BQAAAAROT05FCQAAAgAAAAECAAAAD1VzZXIgbm90IHNpZ251cAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAADWdldEtleVVzZXJCaW8AAAABBQAAAAdhY2NvdW50BQAAAARkYXRhBQAAAANuaWwAAAABaQEAAAAScmVwb3J0Q29tcGxldGVUYXNrAAAAAQAAAAR0YXNrBAAAAAdhY2NvdW50CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABXN0YWdlCQAAZAAAAAIJAQAAAB1nZXRWYWx1ZVRhc2tSZXBvcnRDb21wbGV0ZUNudAAAAAIFAAAABHRhc2sFAAAAB2FjY291bnQAAAAAAAAAAAEEAAAAC3Rhc2tDcmVhdG9yCQEAAAASZ2V0VmFsdWVUYXNrQXV0aG9yAAAAAQUAAAAEdGFzawQAAAAGc3RhdHVzCQEAAAASZ2V0VmFsdWVUYXNrU3RhdHVzAAAAAQUAAAAEdGFzawQAAAAVZnJlZWxhbmNlck1lc3NhZ2VzQ250CQEAAAAXZ2V0VmFsdWVVc2VyTWVzc2FnZXNDbnQAAAACBQAAAAdhY2NvdW50BQAAAAt0YXNrQ3JlYXRvcgQAAAAVbGFzdEZyZWVsYW5jZXJNZXNzYWdlCQEAAAATZ2V0VmFsdWVVc2VyTWVzc2FnZQAAAAMFAAAAB2FjY291bnQFAAAAC3Rhc2tDcmVhdG9yCQABpAAAAAEFAAAAFWZyZWVsYW5jZXJNZXNzYWdlc0NudAMJAAAAAAAAAgkBAAAAFmdldFZhbHVlVGFza0ZyZWVsYW5jZXIAAAABBQAAAAR0YXNrBQAAAAdhY2NvdW50AwkAAAAAAAACBQAAAAZzdGF0dXMFAAAACklOUFJPR1JFU1MJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABhnZXRLZXlUYXNrUmVwb3J0Q29tcGxldGUAAAADBQAAAAdhY2NvdW50BQAAAAR0YXNrCQABpAAAAAEFAAAABXN0YWdlBQAAABVmcmVlbGFuY2VyTWVzc2FnZXNDbnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABBnZXRLZXlUYXNrU3RhdHVzAAAAAQUAAAAEdGFzawUAAAAHUEVORElORwUAAAADbmlsAwkAAAAAAAACBQAAAAZzdGF0dXMFAAAACUNPTVBMRVRFRAkAAAIAAAABAgAAACZZb3UndmUgYWxyZWFkeSBiZWVuIHBhaWQgZm9yIHlvdXIgd29yawkAAAIAAAABAgAAAB1UaGUgd29yayBpcyBhd2FpdGluZyBhcHByb3ZhbAMJAAAAAAAAAgkBAAAAFmdldFZhbHVlVGFza0ZyZWVsYW5jZXIAAAABBQAAAAR0YXNrBQAAAAROT05FCQAAAgAAAAECAAAAHFRhc2sgZnJlZWxhbmNlciBkb2VzbnQgZXhpc3QDCQAAAAAAAAIJAQAAABJnZXRWYWx1ZVRhc2tBdXRob3IAAAABBQAAAAR0YXNrBQAAAAdhY2NvdW50CQAAAgAAAAECAAAADllvdSBhcmUgYXV0aG9yCQAAAgAAAAECAAAACEVycm9yICMxAAAAAWkBAAAACmFjY2VwdFdvcmsAAAACAAAABHRhc2sAAAAIY29tcGxldGUEAAAAB2FjY291bnQJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAHY3JlYXRvcgkBAAAAEmdldFZhbHVlVGFza0F1dGhvcgAAAAEFAAAABHRhc2sEAAAACmZyZWVsYW5jZXIJAQAAABZnZXRWYWx1ZVRhc2tGcmVlbGFuY2VyAAAAAQUAAAAEdGFzawQAAAAFc3RhZ2UJAQAAAB1nZXRWYWx1ZVRhc2tSZXBvcnRDb21wbGV0ZUNudAAAAAIFAAAABHRhc2sFAAAACmZyZWVsYW5jZXIEAAAABnN0YXR1cwkBAAAAEmdldFZhbHVlVGFza1N0YXR1cwAAAAEFAAAABHRhc2sEAAAABGJhbmsJAQAAABBnZXRWYWx1ZVRhc2tCYW5rAAAAAQUAAAAEdGFzawMJAAAAAAAAAgUAAAAHYWNjb3VudAUAAAAHY3JlYXRvcgMJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAAdQRU5ESU5HAwUAAAAIY29tcGxldGUJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAQZ2V0S2V5VGFza1N0YXR1cwAAAAEFAAAABHRhc2sFAAAACUNPTVBMRVRFRAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldEtleVVzZXJSYXRpbmcAAAABBQAAAApmcmVlbGFuY2VyCQAAZAAAAAIJAQAAABJnZXRWYWx1ZVVzZXJSYXRpbmcAAAABBQAAAApmcmVlbGFuY2VyAAAAAAAAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAUZ2V0S2V5VXNlclJhdGluZ1ZvdGUAAAACBQAAAAdh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c3RvbWVyIG9mIHRoaXMgdGFzawMJAAAAAAAAAgkBAAAAEmdldFZhbHVlVGFza1N0YXR1cwAAAAEFAAAABHRhc2sFAAAACUlORElTUFVURQkAAAIAAAABAgAAABREaXNwdXRlIGFscmVhZHkgb3BlbgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldEtleVRhc2tEaXNwdXRlAAAAAQUAAAAEdGFzawUAAAAHYWNjb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAGGdldEtleVRhc2tEaXNwdXRlTWVzc2FnZQAAAAMFAAAABHRhc2sFAAAAB2FjY291bnQCAAAAATAFAAAAB21lc3NhZ2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAB1nZXRLZXlUYXNrRGlzcHV0ZU1lc3NhZ2VCbG9jawAAAAMFAAAABHRhc2sFAAAAB2FjY291bnQCAAAAATAFAAAABmhlaWdodAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldEtleVRhc2tTdGF0dXMAAAABBQAAAAR0YXNrBQAAAAlJTkRJU1BVVEUFAAAAA25pbAAAAAFpAQAAAA92b3RlVGFza0Rpc3B1dGUAAAADAAAABHRhc2sAAAAHdmFyaWFudAAAAAdtZXNzYWdlBAAAAAdhY2NvdW50CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAB2NyZWF0b3IJAQAAABJnZXRWYWx1ZVRhc2tBdXRob3IAAAABBQAAAAR0YXNrBAAAAApmcmVlbGFuY2VyCQEAAAAWZ2V0VmFsdWVUYXNrRnJlZWxhbmNlcgAAAAEFAAAABHRhc2sDCQAAAAAAAAIJAQAAAA9nZXRWYWx1ZVVzZXJCaW8AAAABBQAAAAdhY2NvdW50BQAAAAROT05FCQAAAgAAAAECAAAADllvdSBub3Qgc2lnbnVwAwkAAAAAAAACCQEAAAAQZ2V0VmFsdWVUYXNrRGF0YQAAAAEFAAAABHRhc2sFAAAABE5PTkUJAAACAAAAAQIAAAARVGFzayBkb2VzbnQgZXhpc3QDCQAAAAAAAAIJAQAAABNnZXRWYWx1ZVRhc2tEaXNwdXRlAAAAAQUAAAAEdGFzawUAAAAETk9ORQkAAAIAAAABAgAAABREaXNwdXRlIGRvZXNudCBleGlzdAMJAAAAAAAAAgUAAAAHYWNjb3VudAUAAAAHY3JlYXRvcgkAAAIAAAABAgAAACRUaGUgY3JlYXRvciBvZiB0aGUgdGFzayBjYW4gbm90IHZvdGUDCQAAAAAAAAIFAAAAB2FjY291bnQFAAAACmZyZWVsYW5jZXIJAAACAAAAAQIAAAAnVGhlIGZyZWVsYW5jZXIgb2YgdGhlIHRhc2sgY2FuIG5vdCB2b3RlAwkBAAAAAiE9AAAAAgkBAAAAHmdldFZhbHVlVGFza0Rpc3B1dGVWb3RlVmFyaWFudAAAAAIFAAAABHRhc2sFAAAAB2FjY291bnQFAAAABE5PTkUJAAACAAAAAQIAAAAWWW91IGhhdmUgYWxyZWFkeSB2b3RlZAMJAAAAAAAAAgUAAAAHdmFyaWFudAIAAAAIY3VzdG9tZXIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAB1nZXRLZXlUYXNrRGlzcHV0ZVZvdGVDdXN0b21lcgAAAAEFAAAABHRhc2sJAABkAAAAAgkBAAAAH2dldFZhbHVlVGFza0Rpc3B1dGVWb3RlQ3VzdG9tZXIAAAABBQAAAAR0YXNrAAAAAAAAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAcZ2V0S2V5VGFza0Rpc3B1dGVWb3RlVmFyaWFudAAAAAIFAAAABHRhc2sFAAAAB2FjY291bnQCAAAACGN1c3RvbWVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAYZ2V0S2V5VGFza0Rpc3B1dGVDb21tZW50AAAAAgUAAAAEdGFzawUAAAAHYWNjb3VudAUAAAAHbWVzc2FnZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAHWdldEtleVRhc2tEaXNwdXRlQ29tbWVudEJsb2NrAAAAAgUAAAAEdGFzawUAAAAHYWNjb3VudAUAAAAGaGVpZ2h0BQAAAANuaWwDCQAAAAAAAAIFAAAAB3ZhcmlhbnQCAAAACmZyZWVsYW5jZXIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAB9nZXRLZXlUYXNrRGlzcHV0ZVZvdGVGcmVlbGFuY2VyAAAAAQUAAAAEdGFzawkAAGQAAAACCQEAAAAhZ2V0VmFsdWVUYXNrRGlzcHV0ZVZvdGVGcmVlbGFuY2VyAAAAAQUAAAAEdGFzawAAAAAAAAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAHGdldEtleVRhc2tEaXNwdXRlVm90ZVZhcmlhbnQAAAACBQAAAAR0YXNrBQAAAAdhY2NvdW50AgAAAApmcmVlbGFuY2VyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAYZ2V0S2V5VGFza0Rpc3B1dGVDb21tZW50AAAAAgUAAAAEdGFzawUAAAAHYWNjb3VudAUAAAAHbWVzc2FnZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAHWdldEtleVRhc2tEaXNwdXRlQ29tbWVudEJsb2NrAAAAAgUAAAAEdGFzawUAAAAHYWNjb3VudAUAAAAGaGVpZ2h0BQAAAANuaWwJAAACAAAAAQIAAAAXU2VsZWN0IG9uZSBvZiB0aGUgc2lkZXMAAAABaQEAAAASdGFza0Rpc3B1dGVNZXNzYWdlAAAAAgAAAAR0YXNrAAAAB21lc3NhZ2UEAAAAB2FjY291bnQJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAHY3JlYXRvcgkBAAAAEmdldFZhbHVlVGFza0F1dGhvcgAAAAEFAAAABHRhc2sEAAAACmZyZWVsYW5jZXIJAQAAABZnZXRWYWx1ZVRhc2tGcmVlbGFuY2VyAAAAAQUAAAAEdGFzawQAAAADY250CQAAZAAAAAIJAQAAAB5nZXRWYWx1ZVRhc2tEaXNwdXRlTWVzc2FnZXNDbnQAAAACBQAAAAR0YXNrBQAAAAdhY2NvdW50AAAAAAAAAAABAwkAAAAAAAACCQEAAAAPZ2V0VmFsdWVVc2VyQmlvAAAAAQUAAAAHYWNjb3VudAUAAAAETk9ORQkAAAIAAAABAgAAAA5Zb3Ugbm90IHNpZ251cAMJAAAAAAAAAgkBAAAAEGdldFZhbHVlVGFza0RhdGEAAAABBQAAAAR0YXNrBQAAAAROT05FCQAAAgAAAAECAAAAEVRhc2sgZG9lc250IGV4aXN0AwkAAAAAAAACCQEAAAATZ2V0VmFsdWVUYXNrRGlzcHV0ZQAAAAEFAAAABHRhc2sFAAAABE5PTkUJAAACAAAAAQIAAAAURGlzcHV0ZSBkb2VzbnQgZXhpc3QDAwkBAAAAAiE9AAAAAgUAAAAHYWNjb3VudAUAAAAHY3JlYXRvcgYJAQAAAAIhPQAAAAIFAAAAB2FjY291bnQFAAAACmZyZWVsYW5jZXIJAAACAAAAAQIAAAAzWW91IG11c3QgYmUgYSBmcmVlbGFuY2VyIG9yIGEgY3VzdG9tZXIgb2YgdGhpcyB0YXNrAwkBAAAAAiE9AAAAAgkBAAAAEmdldFZhbHVlVGFza1N0YXR1cwAAAAEFAAAABHRhc2sFAAAACUlORElTUFVURQkAAAIAAAABAgAAACVZb3UgY2Fubm90IHNlbmQgbWVzc2FnZXMgYXQgdGhpcyB0aW1lCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAYZ2V0S2V5VGFza0Rpc3B1dGVNZXNzYWdlAAAAAwUAAAAEdGFzawUAAAAHYWNjb3VudAkAAaQAAAABBQAAAANjbnQFAAAAB21lc3NhZ2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAB1nZXRLZXlUYXNrRGlzcHV0ZU1lc3NhZ2VCbG9jawAAAAMFAAAABHRhc2sFAAAAB2FjY291bnQJAAGkAAAAAQUAAAADY250BQAAAAZoZWlnaHQFAAAAA25pbAAAAAFpAQAAAApjYW5jZWxUYXNrAAAAAQAAAAR0YXNrBAAAAAdhY2NvdW50CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAB2NyZWF0b3IJAQAAABJnZXRWYWx1ZVRhc2tBdXRob3IAAAABBQAAAAR0YXNrBAAAAARiYW5rCQEAAAAQZ2V0VmFsdWVUYXNrQmFuawAAAAEFAAAABHRhc2sDCQAAAAAAAAIJAQAAAA9nZXRWYWx1ZVVzZXJCaW8AAAABBQAAAAdhY2NvdW50BQAAAAROT05FCQAAAgAAAAECAAAADllvdSBub3Qgc2lnbnVwAwkAAAAAAAACCQEAAAAQZ2V0VmFsdWVUYXNrRGF0YQAAAAEFAAAABHRhc2sFAAAABE5PTkUJAAACAAAAAQIAAAARVGFzayBkb2VzbnQgZXhpc3QDCQEAAAACIT0AAAACCQEAAAASZ2V0VmFsdWVUYXNrU3RhdHVzAAAAAQUAAAAEdGFzawUAAAAIRkVBVFVSRUQJAAACAAAAAQIAAAAdWW91IGNhbid0IGNhbmNlbCB0aGUgdGFzayBub3cDCQEAAAACIT0AAAACBQAAAAdhY2NvdW50BQAAAAdjcmVhdG9yCQAAAgAAAAECAAAAHllvdSBhcmUgbm90IGF1dGhvciBvZiB0aGUgdGFzawkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABBnZXRLZXlUYXNrU3RhdHVzAAAAAQUAAAAEdGFzawUAAAAIQ0FOQ0VMRUQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAAB2NyZWF0b3IFAAAABGJhbmsFAAAABHVuaXQFAAAAA25pbAAAAABj/7IQ", "chainId": 84, "height": 836309, "spentComplexity": 0 } View: original | compacted Prev: CwSf7DCF1EQwasytWJas4K2ZHsosaqdCpqhsLo5GXVm3 Next: GYoem2tATd1zuB7oxuNK1osZkyuVR3uisPYKPYdovH1 Diff:
OldNewDifferences
2323
2424 let k = "revision"
2525
26-let l = (2 / 100)
26+let l = "canceled"
2727
28-let m = 100000000
28+let m = (2 / 100)
2929
30-func n (o) = {
31- let p = {
32- let q = getString(this, o)
33- if ($isInstanceOf(q, "String"))
30+let n = 100000000
31+
32+func o (p) = {
33+ let q = {
34+ let r = getString(this, p)
35+ if ($isInstanceOf(r, "String"))
3436 then {
35- let r = q
36- r
37+ let s = r
38+ s
3739 }
3840 else a
3941 }
40- p
42+ q
4143 }
4244
4345
44-func s (o) = {
45- let t = {
46- let q = getInteger(this, o)
47- if ($isInstanceOf(q, "Int"))
46+func t (p) = {
47+ let u = {
48+ let r = getInteger(this, p)
49+ if ($isInstanceOf(r, "Int"))
4850 then {
49- let r = q
50- r
51+ let s = r
52+ s
5153 }
5254 else 0
5355 }
54- t
56+ u
5557 }
5658
5759
58-func u (v,w) = ((("msg_cnt_" + v) + "_") + w)
60+func v (w,x) = ((("msg_cnt_" + w) + "_") + x)
5961
6062
61-func x (v,w) = s(u(v, w))
63+func y (w,x) = t(v(w, x))
6264
6365
64-func y (v,w,z) = ((((("msg_" + v) + "_") + w) + "_id:") + z)
66+func z (w,x,A) = ((((("msg_" + w) + "_") + x) + "_id:") + A)
6567
6668
67-func A (v,w,B) = n(y(v, w, B))
69+func B (w,x,C) = o(z(w, x, C))
6870
6971
70-func C (v,w,B) = ((((("block_msg_" + v) + "_") + w) + "_id:") + B)
72+func D (w,x,C) = ((((("block_msg_" + w) + "_") + x) + "_id:") + C)
7173
7274
73-func D (v,w,B) = n(C(v, w, B))
75+func E (w,x,C) = o(D(w, x, C))
7476
7577
76-func E (F) = ("datajson_" + F)
78+func F (G) = ("datajson_" + G)
7779
7880
79-func G (F) = n(E(F))
81+func H (G) = o(F(G))
8082
8183
82-func H (F) = ("author_" + F)
84+func I (G) = ("author_" + G)
8385
8486
85-func I (F) = n(H(F))
87+func J (G) = o(I(G))
8688
8789
88-func J (F) = ("block_" + F)
90+func K (G) = ("block_" + G)
8991
9092
91-func K (F) = s(J(F))
93+func L (G) = t(K(G))
9294
9395
94-func L (F) = ("bank_" + F)
96+func M (G) = ("bank_" + G)
9597
9698
97-func M (F) = s(L(F))
99+func N (G) = t(M(G))
98100
99101
100-func N (F) = ("freelancer_" + F)
102+func O (G) = ("freelancer_" + G)
101103
102104
103-func O (F) = n(N(F))
105+func P (G) = o(O(G))
104106
105107
106-func P (F) = ("status_" + F)
108+func Q (G) = ("status_" + G)
107109
108110
109-func Q (F) = n(P(F))
111+func R (G) = o(Q(G))
110112
111113
112-func R (F) = ("expiration_block_" + F)
114+func S (G) = ("expiration_block_" + G)
113115
114116
115-func S (F) = s(R(F))
117+func T (G) = t(S(G))
116118
117119
118-func T (U) = ("user_bio_" + U)
120+func U (V) = ("user_bio_" + V)
119121
120122
121-func V (U) = n(T(U))
123+func W (V) = o(U(V))
122124
123125
124-func W (U) = ("user_sts_" + U)
126+func X (V) = ("user_sts_" + V)
125127
126128
127-func X (U) = n(W(U))
129+func Y (V) = o(X(V))
128130
129131
130-func Y (U) = ("user_blk_" + U)
132+func Z (V) = ("user_blk_" + V)
131133
132134
133-func Z (aa,F,ab) = ((((("rc_" + F) + "_") + aa) + "_stage:") + ab)
135+func aa (ab,G,ac) = ((((("rc_" + G) + "_") + ab) + "_stage:") + ac)
134136
135137
136-func ac (aa,F,ab) = n(Z(aa, F, ab))
138+func ad (ab,G,ac) = o(aa(ab, G, ac))
137139
138140
139-func ad (F,aa) = ((("rc_cnt_" + F) + "_") + aa)
141+func ae (G,ab) = ((("rc_cnt_" + G) + "_") + ab)
140142
141143
142-func ae (F,aa) = s(ad(F, aa))
144+func af (G,ab) = t(ae(G, ab))
143145
144146
145-func af () = "decrybe_balance"
147+func ag () = "decrybe_balance"
146148
147149
148-func ag () = s(af())
150+func ah () = t(ag())
149151
150152
151-@Callable(ah)
152-func withdrawDecrybeBalance (ai) = {
153- let U = toBase58String(ah.caller.bytes)
154- let aj = ag()
155- if ((U == f))
156- then if ((aj >= ai))
157- then TransferSet([ScriptTransfer(addressFromStringValue(U), ai, unit)])
158- else throw(("You cannot withdraw an amount greater than " + toString(aj)))
153+func ai (G) = ("task_rating_" + G)
154+
155+
156+func aj (G) = t(ai(G))
157+
158+
159+func ak (G,al) = ((("task_vote_" + G) + "_") + al)
160+
161+
162+func am (G,al) = o(ak(G, al))
163+
164+
165+func an (al) = ("user_rating_" + al)
166+
167+
168+func ao (al) = t(an(al))
169+
170+
171+func ap (al,aq) = (("user_vote_" + al) + aq)
172+
173+
174+func ar (al,aq) = o(ap(al, aq))
175+
176+
177+func as (G) = ("task_dispute_" + G)
178+
179+
180+func at (G) = o(as(G))
181+
182+
183+func au (G) = ("task_dispvote_cst_" + G)
184+
185+
186+func av (G) = t(au(G))
187+
188+
189+func aw (G) = ("task_dispvote_flr_" + G)
190+
191+
192+func ax (G) = t(aw(G))
193+
194+
195+func ay (G,az,A) = ((((("task_dispmsg_" + G) + "_") + az) + "_id:") + A)
196+
197+
198+func aA (G,az,A) = o(ay(G, az, A))
199+
200+
201+func aB (G,az,A) = ((((("task_dispmsg_blk_" + G) + "_") + az) + "_id:") + A)
202+
203+
204+func aC (G,az,A) = o(aB(G, az, A))
205+
206+
207+func aD (G,al) = ((("task_dispmsg_cnt_" + G) + "_") + al)
208+
209+
210+func aE (G,al) = t(aD(G, al))
211+
212+
213+func aF (G,az) = ((("task_dispcom_" + G) + "_") + az)
214+
215+
216+func aG (G,az) = o(aF(G, az))
217+
218+
219+func aH (G,az) = ((("task_dispcom_blk_" + G) + "_") + az)
220+
221+
222+func aI (G,az) = o(aH(G, az))
223+
224+
225+func aJ (G,al) = ((("task_dispvar_" + G) + "_") + al)
226+
227+
228+func aK (G,al) = o(aJ(G, al))
229+
230+
231+@Callable(aL)
232+func withdrawDecrybeBalance (aM) = {
233+ let V = toBase58String(aL.caller.bytes)
234+ let aN = ah()
235+ if ((V == f))
236+ then if ((aN >= aM))
237+ then TransferSet([ScriptTransfer(addressFromStringValue(V), aM, unit)])
238+ else throw(("You cannot withdraw an amount greater than " + toString(aN)))
159239 else throw("You can't do that")
160240 }
161241
162242
163243
164-@Callable(ah)
165-func createTask (F,ak,al) = {
166- let U = toBase58String(ah.caller.bytes)
167- let am = extract(ah.payment)
168- let an = am.amount
169- let ao = ((an / ((1 * m) + l)) * m)
170- let ap = (an - ao)
171- if (isDefined(am.assetId))
244+@Callable(aL)
245+func createTask (G,aO,aP) = {
246+ let V = toBase58String(aL.caller.bytes)
247+ let aQ = extract(aL.payment)
248+ let aR = aQ.amount
249+ let aS = ((aR / ((1 * n) + m)) * n)
250+ let aT = (aR - aS)
251+ if (isDefined(aQ.assetId))
172252 then throw("Can use waves only at the moment")
173- else if ((an == 0))
253+ else if ((aR == 0))
174254 then throw("Amount must be higher then 0")
175- else if ((I(F) != a))
255+ else if ((J(G) != a))
176256 then throw("Task already exist")
177- else if ((V(U) == a))
257+ else if ((W(V) == a))
178258 then throw("User not signup")
179- else WriteSet([DataEntry(H(F), U), DataEntry(J(F), height), DataEntry(R(F), (height + ak)), DataEntry(L(F), ao), DataEntry(P(F), b), DataEntry(E(F), al), DataEntry(af(), (ag() + ap))])
259+ else WriteSet([DataEntry(I(G), V), DataEntry(K(G), height), DataEntry(S(G), (height + aO)), DataEntry(M(G), aS), DataEntry(Q(G), b), DataEntry(F(G), aP), DataEntry(ag(), (ah() + aT)), DataEntry(ai(G), 0)])
180260 }
181261
182262
183263
184-@Callable(ah)
185-func signUp (al) = {
186- let U = toBase58String(ah.caller.bytes)
187- if ((V(U) != a))
264+@Callable(aL)
265+func signUp (aP) = {
266+ let V = toBase58String(aL.caller.bytes)
267+ if ((W(V) != a))
188268 then throw("User already exist")
189- else WriteSet([DataEntry(T(U), al), DataEntry(Y(U), height), DataEntry(W(U), e)])
269+ else WriteSet([DataEntry(U(V), aP), DataEntry(Z(V), height), DataEntry(X(V), e)])
190270 }
191271
192272
193273
194-@Callable(ah)
195-func hireFreelancer (F,aa) = {
196- let U = toBase58String(ah.caller.bytes)
197- if ((G(F) == a))
274+@Callable(aL)
275+func hireFreelancer (G,ab) = {
276+ let V = toBase58String(aL.caller.bytes)
277+ if ((H(G) == a))
198278 then throw("Task doesnt exist")
199- else if ((V(U) == a))
279+ else if ((W(V) == a))
200280 then throw("Customer not signup")
201- else if ((V(aa) == a))
281+ else if ((W(ab) == a))
202282 then throw("Freelancer not signup")
203- else if ((I(F) != U))
283+ else if ((J(G) != V))
204284 then throw("You're not author")
205- else if ((Q(F) == g))
285+ else if ((R(G) == g))
206286 then throw("Freelancer is no longer required (the task is already in progress)")
207- else if ((aa == U))
287+ else if ((ab == V))
208288 then throw("You can't hire yourself")
209- else WriteSet([DataEntry(N(F), aa), DataEntry(P(F), g)])
289+ else WriteSet([DataEntry(O(G), ab), DataEntry(Q(G), g)])
210290 }
211291
212292
213293
214-@Callable(ah)
215-func sendMessage (F,w,aq) = {
216- let U = toBase58String(ah.caller.bytes)
217- let B = (x(U, w) + 1)
218- if ((G(F) == a))
294+@Callable(aL)
295+func sendMessage (G,x,aU) = {
296+ let V = toBase58String(aL.caller.bytes)
297+ let C = (y(V, x) + 1)
298+ if ((H(G) == a))
219299 then throw("Task doesnt exist")
220- else if ((U == w))
300+ else if ((V == x))
221301 then throw("You can't send messages to yourself")
222- else if ((V(U) == a))
302+ else if ((W(V) == a))
223303 then throw("Sender not signup")
224- else if ((V(w) == a))
304+ else if ((W(x) == a))
225305 then throw("Recipient not singup")
226- else WriteSet([DataEntry(u(U, w), B), DataEntry(y(U, w, toString(B)), aq), DataEntry(C(U, w, toString(B)), height)])
306+ else if (if ((P(G) != V))
307+ then (R(G) == g)
308+ else false)
309+ then throw("Freelancer is no longer required")
310+ else WriteSet([DataEntry(v(V, x), C), DataEntry(z(V, x, toString(C)), aU), DataEntry(D(V, x, toString(C)), height)])
227311 }
228312
229313
230314
231-@Callable(ah)
232-func taskUpdate (F,al) = {
233- let U = toBase58String(ah.caller.bytes)
234- if ((G(F) == a))
235- then throw("Task doesnt exist")
236- else if ((I(F) != U))
237- then throw("You're not author")
238- else if ((Q(F) == g))
239- then throw("Editing tasks is not available after hiring a freelancer")
240- else WriteSet([DataEntry(E(F), al)])
315+@Callable(aL)
316+func taskUpdate (G,aP) = {
317+ let V = toBase58String(aL.caller.bytes)
318+ if ((W(V) == a))
319+ then throw("User not signup")
320+ else if ((H(G) == a))
321+ then throw("Task doesnt exist")
322+ else if ((J(G) != V))
323+ then throw("You're not author")
324+ else if ((R(G) != b))
325+ then throw("Editing tasks is not available after hiring a freelancer")
326+ else WriteSet([DataEntry(F(G), aP)])
241327 }
242328
243329
244330
245-@Callable(ah)
246-func userUpdate (al) = {
247- let U = toBase58String(ah.caller.bytes)
248- if ((V(U) == a))
331+@Callable(aL)
332+func userUpdate (aP) = {
333+ let V = toBase58String(aL.caller.bytes)
334+ if ((W(V) == a))
249335 then throw("User not signup")
250- else WriteSet([DataEntry(T(U), al)])
336+ else WriteSet([DataEntry(U(V), aP)])
251337 }
252338
253339
254340
255-@Callable(ah)
256-func reportCompleteTask (F) = {
257- let U = toBase58String(ah.caller.bytes)
258- let ab = (ae(F, U) + 1)
259- let ar = I(F)
260- let as = Q(F)
261- let at = x(U, ar)
262- let au = A(U, ar, toString(at))
263- if ((O(F) == U))
264- then if ((as == g))
265- then WriteSet([DataEntry(Z(U, F, toString(ab)), at), DataEntry(P(F), i)])
266- else if ((as == h))
341+@Callable(aL)
342+func reportCompleteTask (G) = {
343+ let V = toBase58String(aL.caller.bytes)
344+ let ac = (af(G, V) + 1)
345+ let aV = J(G)
346+ let aW = R(G)
347+ let aX = y(V, aV)
348+ let aY = B(V, aV, toString(aX))
349+ if ((P(G) == V))
350+ then if ((aW == g))
351+ then WriteSet([DataEntry(aa(V, G, toString(ac)), aX), DataEntry(Q(G), i)])
352+ else if ((aW == h))
267353 then throw("You've already been paid for your work")
268354 else throw("The work is awaiting approval")
269- else if ((O(F) == a))
355+ else if ((P(G) == a))
270356 then throw("Task freelancer doesnt exist")
271- else if ((I(F) == U))
357+ else if ((J(G) == V))
272358 then throw("You are author")
273359 else throw("Error #1")
274360 }
275361
276362
277363
278-@Callable(ah)
279-func acceptWork (F,av) = {
280- let U = toBase58String(ah.caller.bytes)
281- let aw = I(F)
282- let aa = O(F)
283- let ab = ae(F, aa)
284- let as = Q(F)
285- let ax = M(F)
286- if ((U == aw))
287- then if ((as == i))
288- then if (av)
289- then ScriptResult(WriteSet([DataEntry(P(F), h)]), TransferSet([ScriptTransfer(addressFromStringValue(aa), ax, unit)]))
290- else WriteSet([DataEntry(P(F), g)])
364+@Callable(aL)
365+func acceptWork (G,aZ) = {
366+ let V = toBase58String(aL.caller.bytes)
367+ let ba = J(G)
368+ let ab = P(G)
369+ let ac = af(G, ab)
370+ let aW = R(G)
371+ let bb = N(G)
372+ if ((V == ba))
373+ then if ((aW == i))
374+ then if (aZ)
375+ then ScriptResult(WriteSet([DataEntry(Q(G), h), DataEntry(an(ab), (ao(ab) + 1)), DataEntry(ap(V, ab), "positive")]), TransferSet([ScriptTransfer(addressFromStringValue(ab), bb, unit)]))
376+ else WriteSet([DataEntry(Q(G), g)])
291377 else throw("Freelancer doesnt complete the task")
292- else if ((G(F) == a))
378+ else if ((H(G) == a))
293379 then throw("Task doesnt exist")
294- else if ((V(U) == a))
380+ else if ((W(V) == a))
295381 then throw("Sender not signup")
296382 else throw("You are not author")
297383 }
298384
299385
300386
301-@Callable(ah)
302-func moveDeadline (F,ay) = {
303- let U = toBase58String(ah.caller.bytes)
304- let aw = I(F)
305- let ak = S(F)
306- let as = Q(F)
307- if ((as != h))
387+@Callable(aL)
388+func moveDeadline (G,bc) = {
389+ let V = toBase58String(aL.caller.bytes)
390+ let ba = J(G)
391+ let aO = T(G)
392+ let aW = R(G)
393+ if ((aW != h))
308394 then throw("The task is completed")
309- else if ((as == j))
395+ else if ((aW == j))
310396 then throw("You can't change the deadline at this time")
311- else if ((U != aw))
397+ else if ((V != ba))
312398 then throw("You are not author of the task")
313- else if ((height > ay))
399+ else if ((height > bc))
314400 then throw("The deadline must be > the current block")
315- else if ((ak > ay))
401+ else if ((aO > bc))
316402 then throw("The deadline can only be moved forward")
317- else WriteSet([DataEntry(R(F), ay)])
403+ else WriteSet([DataEntry(S(G), bc)])
404+ }
405+
406+
407+
408+@Callable(aL)
409+func voteTask (G,bd) = {
410+ let V = toBase58String(aL.caller.bytes)
411+ if ((W(V) == a))
412+ then throw("User not signup")
413+ else if ((J(G) == V))
414+ then throw("You cannot change the rating of a task")
415+ else if ((H(G) == a))
416+ then throw("Task doesnt exist")
417+ else if ((R(G) != b))
418+ then throw("Now you can’t lower the task rating")
419+ else if ((am(G, V) != a))
420+ then throw("You have already voted")
421+ else if ((bd == "positive"))
422+ then WriteSet([DataEntry(ai(G), (aj(G) + 1)), DataEntry(ak(G, V), "positive")])
423+ else if ((bd == "negative"))
424+ then WriteSet([DataEntry(ai(G), (aj(G) - 1)), DataEntry(ak(G, V), "negative")])
425+ else throw("Use positive/negative only")
426+ }
427+
428+
429+
430+@Callable(aL)
431+func reportUser (al) = {
432+ let V = toBase58String(aL.caller.bytes)
433+ if ((W(V) == a))
434+ then throw("You not signup")
435+ else if ((W(al) == a))
436+ then throw("User not signup")
437+ else if ((al == V))
438+ then throw("You can't complain about yourself")
439+ else if ((ar(V, al) != a))
440+ then throw("You have already voted")
441+ else WriteSet([DataEntry(an(al), (ao(al) - 1)), DataEntry(ap(V, al), "negative")])
442+ }
443+
444+
445+
446+@Callable(aL)
447+func openTaskDispute (G,aU) = {
448+ let V = toBase58String(aL.caller.bytes)
449+ let ba = J(G)
450+ let ab = P(G)
451+ if ((W(V) == a))
452+ then throw("You not signup")
453+ else if ((H(G) == a))
454+ then throw("Task doesnt exist")
455+ else if (if ((V != ba))
456+ then true
457+ else (V != ab))
458+ then throw("You must be a freelancer or a customer of this task")
459+ else if ((R(G) == j))
460+ then throw("Dispute already open")
461+ else WriteSet([DataEntry(as(G), V), DataEntry(ay(G, V, "0"), aU), DataEntry(aB(G, V, "0"), height), DataEntry(Q(G), j)])
462+ }
463+
464+
465+
466+@Callable(aL)
467+func voteTaskDispute (G,be,aU) = {
468+ let V = toBase58String(aL.caller.bytes)
469+ let ba = J(G)
470+ let ab = P(G)
471+ if ((W(V) == a))
472+ then throw("You not signup")
473+ else if ((H(G) == a))
474+ then throw("Task doesnt exist")
475+ else if ((at(G) == a))
476+ then throw("Dispute doesnt exist")
477+ else if ((V == ba))
478+ then throw("The creator of the task can not vote")
479+ else if ((V == ab))
480+ then throw("The freelancer of the task can not vote")
481+ else if ((aK(G, V) != a))
482+ then throw("You have already voted")
483+ else if ((be == "customer"))
484+ then WriteSet([DataEntry(au(G), (av(G) + 1)), DataEntry(aJ(G, V), "customer"), DataEntry(aF(G, V), aU), DataEntry(aH(G, V), height)])
485+ else if ((be == "freelancer"))
486+ then WriteSet([DataEntry(aw(G), (ax(G) + 1)), DataEntry(aJ(G, V), "freelancer"), DataEntry(aF(G, V), aU), DataEntry(aH(G, V), height)])
487+ else throw("Select one of the sides")
488+ }
489+
490+
491+
492+@Callable(aL)
493+func taskDisputeMessage (G,aU) = {
494+ let V = toBase58String(aL.caller.bytes)
495+ let ba = J(G)
496+ let ab = P(G)
497+ let C = (aE(G, V) + 1)
498+ if ((W(V) == a))
499+ then throw("You not signup")
500+ else if ((H(G) == a))
501+ then throw("Task doesnt exist")
502+ else if ((at(G) == a))
503+ then throw("Dispute doesnt exist")
504+ else if (if ((V != ba))
505+ then true
506+ else (V != ab))
507+ then throw("You must be a freelancer or a customer of this task")
508+ else if ((R(G) != j))
509+ then throw("You cannot send messages at this time")
510+ else WriteSet([DataEntry(ay(G, V, toString(C)), aU), DataEntry(aB(G, V, toString(C)), height)])
511+ }
512+
513+
514+
515+@Callable(aL)
516+func cancelTask (G) = {
517+ let V = toBase58String(aL.caller.bytes)
518+ let ba = J(G)
519+ let bb = N(G)
520+ if ((W(V) == a))
521+ then throw("You not signup")
522+ else if ((H(G) == a))
523+ then throw("Task doesnt exist")
524+ else if ((R(G) != b))
525+ then throw("You can't cancel the task now")
526+ else if ((V != ba))
527+ then throw("You are not author of the task")
528+ else ScriptResult(WriteSet([DataEntry(Q(G), l)]), TransferSet([ScriptTransfer(addressFromStringValue(ba), bb, unit)]))
318529 }
319530
320531
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "none"
55
66 let b = "featured"
77
88 let c = ""
99
1010 let d = "mod"
1111
1212 let e = "registered"
1313
1414 let f = "3MsTLizEg4vqNgD7ZVjhkPaZgsrN11JqzLJ"
1515
1616 let g = "in progress"
1717
1818 let h = "completed"
1919
2020 let i = "pending"
2121
2222 let j = "in dispute"
2323
2424 let k = "revision"
2525
26-let l = (2 / 100)
26+let l = "canceled"
2727
28-let m = 100000000
28+let m = (2 / 100)
2929
30-func n (o) = {
31- let p = {
32- let q = getString(this, o)
33- if ($isInstanceOf(q, "String"))
30+let n = 100000000
31+
32+func o (p) = {
33+ let q = {
34+ let r = getString(this, p)
35+ if ($isInstanceOf(r, "String"))
3436 then {
35- let r = q
36- r
37+ let s = r
38+ s
3739 }
3840 else a
3941 }
40- p
42+ q
4143 }
4244
4345
44-func s (o) = {
45- let t = {
46- let q = getInteger(this, o)
47- if ($isInstanceOf(q, "Int"))
46+func t (p) = {
47+ let u = {
48+ let r = getInteger(this, p)
49+ if ($isInstanceOf(r, "Int"))
4850 then {
49- let r = q
50- r
51+ let s = r
52+ s
5153 }
5254 else 0
5355 }
54- t
56+ u
5557 }
5658
5759
58-func u (v,w) = ((("msg_cnt_" + v) + "_") + w)
60+func v (w,x) = ((("msg_cnt_" + w) + "_") + x)
5961
6062
61-func x (v,w) = s(u(v, w))
63+func y (w,x) = t(v(w, x))
6264
6365
64-func y (v,w,z) = ((((("msg_" + v) + "_") + w) + "_id:") + z)
66+func z (w,x,A) = ((((("msg_" + w) + "_") + x) + "_id:") + A)
6567
6668
67-func A (v,w,B) = n(y(v, w, B))
69+func B (w,x,C) = o(z(w, x, C))
6870
6971
70-func C (v,w,B) = ((((("block_msg_" + v) + "_") + w) + "_id:") + B)
72+func D (w,x,C) = ((((("block_msg_" + w) + "_") + x) + "_id:") + C)
7173
7274
73-func D (v,w,B) = n(C(v, w, B))
75+func E (w,x,C) = o(D(w, x, C))
7476
7577
76-func E (F) = ("datajson_" + F)
78+func F (G) = ("datajson_" + G)
7779
7880
79-func G (F) = n(E(F))
81+func H (G) = o(F(G))
8082
8183
82-func H (F) = ("author_" + F)
84+func I (G) = ("author_" + G)
8385
8486
85-func I (F) = n(H(F))
87+func J (G) = o(I(G))
8688
8789
88-func J (F) = ("block_" + F)
90+func K (G) = ("block_" + G)
8991
9092
91-func K (F) = s(J(F))
93+func L (G) = t(K(G))
9294
9395
94-func L (F) = ("bank_" + F)
96+func M (G) = ("bank_" + G)
9597
9698
97-func M (F) = s(L(F))
99+func N (G) = t(M(G))
98100
99101
100-func N (F) = ("freelancer_" + F)
102+func O (G) = ("freelancer_" + G)
101103
102104
103-func O (F) = n(N(F))
105+func P (G) = o(O(G))
104106
105107
106-func P (F) = ("status_" + F)
108+func Q (G) = ("status_" + G)
107109
108110
109-func Q (F) = n(P(F))
111+func R (G) = o(Q(G))
110112
111113
112-func R (F) = ("expiration_block_" + F)
114+func S (G) = ("expiration_block_" + G)
113115
114116
115-func S (F) = s(R(F))
117+func T (G) = t(S(G))
116118
117119
118-func T (U) = ("user_bio_" + U)
120+func U (V) = ("user_bio_" + V)
119121
120122
121-func V (U) = n(T(U))
123+func W (V) = o(U(V))
122124
123125
124-func W (U) = ("user_sts_" + U)
126+func X (V) = ("user_sts_" + V)
125127
126128
127-func X (U) = n(W(U))
129+func Y (V) = o(X(V))
128130
129131
130-func Y (U) = ("user_blk_" + U)
132+func Z (V) = ("user_blk_" + V)
131133
132134
133-func Z (aa,F,ab) = ((((("rc_" + F) + "_") + aa) + "_stage:") + ab)
135+func aa (ab,G,ac) = ((((("rc_" + G) + "_") + ab) + "_stage:") + ac)
134136
135137
136-func ac (aa,F,ab) = n(Z(aa, F, ab))
138+func ad (ab,G,ac) = o(aa(ab, G, ac))
137139
138140
139-func ad (F,aa) = ((("rc_cnt_" + F) + "_") + aa)
141+func ae (G,ab) = ((("rc_cnt_" + G) + "_") + ab)
140142
141143
142-func ae (F,aa) = s(ad(F, aa))
144+func af (G,ab) = t(ae(G, ab))
143145
144146
145-func af () = "decrybe_balance"
147+func ag () = "decrybe_balance"
146148
147149
148-func ag () = s(af())
150+func ah () = t(ag())
149151
150152
151-@Callable(ah)
152-func withdrawDecrybeBalance (ai) = {
153- let U = toBase58String(ah.caller.bytes)
154- let aj = ag()
155- if ((U == f))
156- then if ((aj >= ai))
157- then TransferSet([ScriptTransfer(addressFromStringValue(U), ai, unit)])
158- else throw(("You cannot withdraw an amount greater than " + toString(aj)))
153+func ai (G) = ("task_rating_" + G)
154+
155+
156+func aj (G) = t(ai(G))
157+
158+
159+func ak (G,al) = ((("task_vote_" + G) + "_") + al)
160+
161+
162+func am (G,al) = o(ak(G, al))
163+
164+
165+func an (al) = ("user_rating_" + al)
166+
167+
168+func ao (al) = t(an(al))
169+
170+
171+func ap (al,aq) = (("user_vote_" + al) + aq)
172+
173+
174+func ar (al,aq) = o(ap(al, aq))
175+
176+
177+func as (G) = ("task_dispute_" + G)
178+
179+
180+func at (G) = o(as(G))
181+
182+
183+func au (G) = ("task_dispvote_cst_" + G)
184+
185+
186+func av (G) = t(au(G))
187+
188+
189+func aw (G) = ("task_dispvote_flr_" + G)
190+
191+
192+func ax (G) = t(aw(G))
193+
194+
195+func ay (G,az,A) = ((((("task_dispmsg_" + G) + "_") + az) + "_id:") + A)
196+
197+
198+func aA (G,az,A) = o(ay(G, az, A))
199+
200+
201+func aB (G,az,A) = ((((("task_dispmsg_blk_" + G) + "_") + az) + "_id:") + A)
202+
203+
204+func aC (G,az,A) = o(aB(G, az, A))
205+
206+
207+func aD (G,al) = ((("task_dispmsg_cnt_" + G) + "_") + al)
208+
209+
210+func aE (G,al) = t(aD(G, al))
211+
212+
213+func aF (G,az) = ((("task_dispcom_" + G) + "_") + az)
214+
215+
216+func aG (G,az) = o(aF(G, az))
217+
218+
219+func aH (G,az) = ((("task_dispcom_blk_" + G) + "_") + az)
220+
221+
222+func aI (G,az) = o(aH(G, az))
223+
224+
225+func aJ (G,al) = ((("task_dispvar_" + G) + "_") + al)
226+
227+
228+func aK (G,al) = o(aJ(G, al))
229+
230+
231+@Callable(aL)
232+func withdrawDecrybeBalance (aM) = {
233+ let V = toBase58String(aL.caller.bytes)
234+ let aN = ah()
235+ if ((V == f))
236+ then if ((aN >= aM))
237+ then TransferSet([ScriptTransfer(addressFromStringValue(V), aM, unit)])
238+ else throw(("You cannot withdraw an amount greater than " + toString(aN)))
159239 else throw("You can't do that")
160240 }
161241
162242
163243
164-@Callable(ah)
165-func createTask (F,ak,al) = {
166- let U = toBase58String(ah.caller.bytes)
167- let am = extract(ah.payment)
168- let an = am.amount
169- let ao = ((an / ((1 * m) + l)) * m)
170- let ap = (an - ao)
171- if (isDefined(am.assetId))
244+@Callable(aL)
245+func createTask (G,aO,aP) = {
246+ let V = toBase58String(aL.caller.bytes)
247+ let aQ = extract(aL.payment)
248+ let aR = aQ.amount
249+ let aS = ((aR / ((1 * n) + m)) * n)
250+ let aT = (aR - aS)
251+ if (isDefined(aQ.assetId))
172252 then throw("Can use waves only at the moment")
173- else if ((an == 0))
253+ else if ((aR == 0))
174254 then throw("Amount must be higher then 0")
175- else if ((I(F) != a))
255+ else if ((J(G) != a))
176256 then throw("Task already exist")
177- else if ((V(U) == a))
257+ else if ((W(V) == a))
178258 then throw("User not signup")
179- else WriteSet([DataEntry(H(F), U), DataEntry(J(F), height), DataEntry(R(F), (height + ak)), DataEntry(L(F), ao), DataEntry(P(F), b), DataEntry(E(F), al), DataEntry(af(), (ag() + ap))])
259+ else WriteSet([DataEntry(I(G), V), DataEntry(K(G), height), DataEntry(S(G), (height + aO)), DataEntry(M(G), aS), DataEntry(Q(G), b), DataEntry(F(G), aP), DataEntry(ag(), (ah() + aT)), DataEntry(ai(G), 0)])
180260 }
181261
182262
183263
184-@Callable(ah)
185-func signUp (al) = {
186- let U = toBase58String(ah.caller.bytes)
187- if ((V(U) != a))
264+@Callable(aL)
265+func signUp (aP) = {
266+ let V = toBase58String(aL.caller.bytes)
267+ if ((W(V) != a))
188268 then throw("User already exist")
189- else WriteSet([DataEntry(T(U), al), DataEntry(Y(U), height), DataEntry(W(U), e)])
269+ else WriteSet([DataEntry(U(V), aP), DataEntry(Z(V), height), DataEntry(X(V), e)])
190270 }
191271
192272
193273
194-@Callable(ah)
195-func hireFreelancer (F,aa) = {
196- let U = toBase58String(ah.caller.bytes)
197- if ((G(F) == a))
274+@Callable(aL)
275+func hireFreelancer (G,ab) = {
276+ let V = toBase58String(aL.caller.bytes)
277+ if ((H(G) == a))
198278 then throw("Task doesnt exist")
199- else if ((V(U) == a))
279+ else if ((W(V) == a))
200280 then throw("Customer not signup")
201- else if ((V(aa) == a))
281+ else if ((W(ab) == a))
202282 then throw("Freelancer not signup")
203- else if ((I(F) != U))
283+ else if ((J(G) != V))
204284 then throw("You're not author")
205- else if ((Q(F) == g))
285+ else if ((R(G) == g))
206286 then throw("Freelancer is no longer required (the task is already in progress)")
207- else if ((aa == U))
287+ else if ((ab == V))
208288 then throw("You can't hire yourself")
209- else WriteSet([DataEntry(N(F), aa), DataEntry(P(F), g)])
289+ else WriteSet([DataEntry(O(G), ab), DataEntry(Q(G), g)])
210290 }
211291
212292
213293
214-@Callable(ah)
215-func sendMessage (F,w,aq) = {
216- let U = toBase58String(ah.caller.bytes)
217- let B = (x(U, w) + 1)
218- if ((G(F) == a))
294+@Callable(aL)
295+func sendMessage (G,x,aU) = {
296+ let V = toBase58String(aL.caller.bytes)
297+ let C = (y(V, x) + 1)
298+ if ((H(G) == a))
219299 then throw("Task doesnt exist")
220- else if ((U == w))
300+ else if ((V == x))
221301 then throw("You can't send messages to yourself")
222- else if ((V(U) == a))
302+ else if ((W(V) == a))
223303 then throw("Sender not signup")
224- else if ((V(w) == a))
304+ else if ((W(x) == a))
225305 then throw("Recipient not singup")
226- else WriteSet([DataEntry(u(U, w), B), DataEntry(y(U, w, toString(B)), aq), DataEntry(C(U, w, toString(B)), height)])
306+ else if (if ((P(G) != V))
307+ then (R(G) == g)
308+ else false)
309+ then throw("Freelancer is no longer required")
310+ else WriteSet([DataEntry(v(V, x), C), DataEntry(z(V, x, toString(C)), aU), DataEntry(D(V, x, toString(C)), height)])
227311 }
228312
229313
230314
231-@Callable(ah)
232-func taskUpdate (F,al) = {
233- let U = toBase58String(ah.caller.bytes)
234- if ((G(F) == a))
235- then throw("Task doesnt exist")
236- else if ((I(F) != U))
237- then throw("You're not author")
238- else if ((Q(F) == g))
239- then throw("Editing tasks is not available after hiring a freelancer")
240- else WriteSet([DataEntry(E(F), al)])
315+@Callable(aL)
316+func taskUpdate (G,aP) = {
317+ let V = toBase58String(aL.caller.bytes)
318+ if ((W(V) == a))
319+ then throw("User not signup")
320+ else if ((H(G) == a))
321+ then throw("Task doesnt exist")
322+ else if ((J(G) != V))
323+ then throw("You're not author")
324+ else if ((R(G) != b))
325+ then throw("Editing tasks is not available after hiring a freelancer")
326+ else WriteSet([DataEntry(F(G), aP)])
241327 }
242328
243329
244330
245-@Callable(ah)
246-func userUpdate (al) = {
247- let U = toBase58String(ah.caller.bytes)
248- if ((V(U) == a))
331+@Callable(aL)
332+func userUpdate (aP) = {
333+ let V = toBase58String(aL.caller.bytes)
334+ if ((W(V) == a))
249335 then throw("User not signup")
250- else WriteSet([DataEntry(T(U), al)])
336+ else WriteSet([DataEntry(U(V), aP)])
251337 }
252338
253339
254340
255-@Callable(ah)
256-func reportCompleteTask (F) = {
257- let U = toBase58String(ah.caller.bytes)
258- let ab = (ae(F, U) + 1)
259- let ar = I(F)
260- let as = Q(F)
261- let at = x(U, ar)
262- let au = A(U, ar, toString(at))
263- if ((O(F) == U))
264- then if ((as == g))
265- then WriteSet([DataEntry(Z(U, F, toString(ab)), at), DataEntry(P(F), i)])
266- else if ((as == h))
341+@Callable(aL)
342+func reportCompleteTask (G) = {
343+ let V = toBase58String(aL.caller.bytes)
344+ let ac = (af(G, V) + 1)
345+ let aV = J(G)
346+ let aW = R(G)
347+ let aX = y(V, aV)
348+ let aY = B(V, aV, toString(aX))
349+ if ((P(G) == V))
350+ then if ((aW == g))
351+ then WriteSet([DataEntry(aa(V, G, toString(ac)), aX), DataEntry(Q(G), i)])
352+ else if ((aW == h))
267353 then throw("You've already been paid for your work")
268354 else throw("The work is awaiting approval")
269- else if ((O(F) == a))
355+ else if ((P(G) == a))
270356 then throw("Task freelancer doesnt exist")
271- else if ((I(F) == U))
357+ else if ((J(G) == V))
272358 then throw("You are author")
273359 else throw("Error #1")
274360 }
275361
276362
277363
278-@Callable(ah)
279-func acceptWork (F,av) = {
280- let U = toBase58String(ah.caller.bytes)
281- let aw = I(F)
282- let aa = O(F)
283- let ab = ae(F, aa)
284- let as = Q(F)
285- let ax = M(F)
286- if ((U == aw))
287- then if ((as == i))
288- then if (av)
289- then ScriptResult(WriteSet([DataEntry(P(F), h)]), TransferSet([ScriptTransfer(addressFromStringValue(aa), ax, unit)]))
290- else WriteSet([DataEntry(P(F), g)])
364+@Callable(aL)
365+func acceptWork (G,aZ) = {
366+ let V = toBase58String(aL.caller.bytes)
367+ let ba = J(G)
368+ let ab = P(G)
369+ let ac = af(G, ab)
370+ let aW = R(G)
371+ let bb = N(G)
372+ if ((V == ba))
373+ then if ((aW == i))
374+ then if (aZ)
375+ then ScriptResult(WriteSet([DataEntry(Q(G), h), DataEntry(an(ab), (ao(ab) + 1)), DataEntry(ap(V, ab), "positive")]), TransferSet([ScriptTransfer(addressFromStringValue(ab), bb, unit)]))
376+ else WriteSet([DataEntry(Q(G), g)])
291377 else throw("Freelancer doesnt complete the task")
292- else if ((G(F) == a))
378+ else if ((H(G) == a))
293379 then throw("Task doesnt exist")
294- else if ((V(U) == a))
380+ else if ((W(V) == a))
295381 then throw("Sender not signup")
296382 else throw("You are not author")
297383 }
298384
299385
300386
301-@Callable(ah)
302-func moveDeadline (F,ay) = {
303- let U = toBase58String(ah.caller.bytes)
304- let aw = I(F)
305- let ak = S(F)
306- let as = Q(F)
307- if ((as != h))
387+@Callable(aL)
388+func moveDeadline (G,bc) = {
389+ let V = toBase58String(aL.caller.bytes)
390+ let ba = J(G)
391+ let aO = T(G)
392+ let aW = R(G)
393+ if ((aW != h))
308394 then throw("The task is completed")
309- else if ((as == j))
395+ else if ((aW == j))
310396 then throw("You can't change the deadline at this time")
311- else if ((U != aw))
397+ else if ((V != ba))
312398 then throw("You are not author of the task")
313- else if ((height > ay))
399+ else if ((height > bc))
314400 then throw("The deadline must be > the current block")
315- else if ((ak > ay))
401+ else if ((aO > bc))
316402 then throw("The deadline can only be moved forward")
317- else WriteSet([DataEntry(R(F), ay)])
403+ else WriteSet([DataEntry(S(G), bc)])
404+ }
405+
406+
407+
408+@Callable(aL)
409+func voteTask (G,bd) = {
410+ let V = toBase58String(aL.caller.bytes)
411+ if ((W(V) == a))
412+ then throw("User not signup")
413+ else if ((J(G) == V))
414+ then throw("You cannot change the rating of a task")
415+ else if ((H(G) == a))
416+ then throw("Task doesnt exist")
417+ else if ((R(G) != b))
418+ then throw("Now you can’t lower the task rating")
419+ else if ((am(G, V) != a))
420+ then throw("You have already voted")
421+ else if ((bd == "positive"))
422+ then WriteSet([DataEntry(ai(G), (aj(G) + 1)), DataEntry(ak(G, V), "positive")])
423+ else if ((bd == "negative"))
424+ then WriteSet([DataEntry(ai(G), (aj(G) - 1)), DataEntry(ak(G, V), "negative")])
425+ else throw("Use positive/negative only")
426+ }
427+
428+
429+
430+@Callable(aL)
431+func reportUser (al) = {
432+ let V = toBase58String(aL.caller.bytes)
433+ if ((W(V) == a))
434+ then throw("You not signup")
435+ else if ((W(al) == a))
436+ then throw("User not signup")
437+ else if ((al == V))
438+ then throw("You can't complain about yourself")
439+ else if ((ar(V, al) != a))
440+ then throw("You have already voted")
441+ else WriteSet([DataEntry(an(al), (ao(al) - 1)), DataEntry(ap(V, al), "negative")])
442+ }
443+
444+
445+
446+@Callable(aL)
447+func openTaskDispute (G,aU) = {
448+ let V = toBase58String(aL.caller.bytes)
449+ let ba = J(G)
450+ let ab = P(G)
451+ if ((W(V) == a))
452+ then throw("You not signup")
453+ else if ((H(G) == a))
454+ then throw("Task doesnt exist")
455+ else if (if ((V != ba))
456+ then true
457+ else (V != ab))
458+ then throw("You must be a freelancer or a customer of this task")
459+ else if ((R(G) == j))
460+ then throw("Dispute already open")
461+ else WriteSet([DataEntry(as(G), V), DataEntry(ay(G, V, "0"), aU), DataEntry(aB(G, V, "0"), height), DataEntry(Q(G), j)])
462+ }
463+
464+
465+
466+@Callable(aL)
467+func voteTaskDispute (G,be,aU) = {
468+ let V = toBase58String(aL.caller.bytes)
469+ let ba = J(G)
470+ let ab = P(G)
471+ if ((W(V) == a))
472+ then throw("You not signup")
473+ else if ((H(G) == a))
474+ then throw("Task doesnt exist")
475+ else if ((at(G) == a))
476+ then throw("Dispute doesnt exist")
477+ else if ((V == ba))
478+ then throw("The creator of the task can not vote")
479+ else if ((V == ab))
480+ then throw("The freelancer of the task can not vote")
481+ else if ((aK(G, V) != a))
482+ then throw("You have already voted")
483+ else if ((be == "customer"))
484+ then WriteSet([DataEntry(au(G), (av(G) + 1)), DataEntry(aJ(G, V), "customer"), DataEntry(aF(G, V), aU), DataEntry(aH(G, V), height)])
485+ else if ((be == "freelancer"))
486+ then WriteSet([DataEntry(aw(G), (ax(G) + 1)), DataEntry(aJ(G, V), "freelancer"), DataEntry(aF(G, V), aU), DataEntry(aH(G, V), height)])
487+ else throw("Select one of the sides")
488+ }
489+
490+
491+
492+@Callable(aL)
493+func taskDisputeMessage (G,aU) = {
494+ let V = toBase58String(aL.caller.bytes)
495+ let ba = J(G)
496+ let ab = P(G)
497+ let C = (aE(G, V) + 1)
498+ if ((W(V) == a))
499+ then throw("You not signup")
500+ else if ((H(G) == a))
501+ then throw("Task doesnt exist")
502+ else if ((at(G) == a))
503+ then throw("Dispute doesnt exist")
504+ else if (if ((V != ba))
505+ then true
506+ else (V != ab))
507+ then throw("You must be a freelancer or a customer of this task")
508+ else if ((R(G) != j))
509+ then throw("You cannot send messages at this time")
510+ else WriteSet([DataEntry(ay(G, V, toString(C)), aU), DataEntry(aB(G, V, toString(C)), height)])
511+ }
512+
513+
514+
515+@Callable(aL)
516+func cancelTask (G) = {
517+ let V = toBase58String(aL.caller.bytes)
518+ let ba = J(G)
519+ let bb = N(G)
520+ if ((W(V) == a))
521+ then throw("You not signup")
522+ else if ((H(G) == a))
523+ then throw("Task doesnt exist")
524+ else if ((R(G) != b))
525+ then throw("You can't cancel the task now")
526+ else if ((V != ba))
527+ then throw("You are not author of the task")
528+ else ScriptResult(WriteSet([DataEntry(Q(G), l)]), TransferSet([ScriptTransfer(addressFromStringValue(ba), bb, unit)]))
318529 }
319530
320531

github/deemru/w8io/873ac7e 
151.39 ms