{ "name": "DiffRegistry", "structs": {}, "methods": [ { "name": "register_diff", "args": [ { "type": "byte[]", "name": "diff_id" }, { "type": "string", "name": "repo_id" }, { "type": "string", "name": "from_commit" }, { "type": "string", "name": "to_commit" }, { "type": "string", "name": "diff_hash" } ], "returns": { "type": "string" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "desc": "Registers a cryptographic contribution proof on Algorand Box Storage.", "events": [], "recommendations": {} }, { "name": "get_diff", "args": [ { "type": "byte[]", "name": "diff_id" } ], "returns": { "type": "string" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": true, "desc": "Retrieves the registered contribution proof record for a given diff_id.", "events": [], "recommendations": {} }, { "name": "verify_diff", "args": [ { "type": "byte[]", "name": "diff_id" }, { "type": "string", "name": "diff_hash" } ], "returns": { "type": "bool" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": true, "desc": "Verifies if the stored on-chain hash for diff_id matches the provided diff_hash.", "events": [], "recommendations": {} } ], "arcs": [ 22, 28 ], "desc": "\n AlgoDiff \u2014 Verifiable Git Contributions Smart Contract\n Records and verifies cryptographic diff fingerprints on Algorand TestNet using Box Storage.\n ", "networks": {}, "state": { "schema": { "global": { "ints": 0, "bytes": 0 }, "local": { "ints": 0, "bytes": 0 } }, "keys": { "global": {}, "local": {}, "box": {} }, "maps": { "global": {}, "local": {}, "box": {} } }, "bareActions": { "create": [ "NoOp" ], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "pc": [ 150 ], "errorMessage": "Contribution proof already registered" }, { "pc": [ 225 ], "errorMessage": "Proof not found" }, { "pc": [ 69, 85, 101, 117, 133, 213, 245, 261 ], "errorMessage": "invalid array length header" }, { "pc": [ 76, 92, 108, 124, 140, 220, 252, 268 ], "errorMessage": "invalid number of bytes for arc4.dynamic_array" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuYXBwcm92YWxfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIGludGNibG9jayAwIDIgMQogICAgYnl0ZWNibG9jayAweDdjIDB4MTUxZjdjNzUKICAgIC8vIGNvbnRyYWN0cy9kaWZmX3JlZ2lzdHJ5L2NvbnRyYWN0LnB5OjE0CiAgICAvLyBjbGFzcyBEaWZmUmVnaXN0cnkoQVJDNENvbnRyYWN0KToKICAgIHR4biBOdW1BcHBBcmdzCiAgICBieiBtYWluX19fYWxnb3B5X2RlZmF1bHRfY3JlYXRlQDEyCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQKICAgIHB1c2hieXRlc3MgMHgzY2Y3MDA2YyAweDMyYTk5ZmY3IDB4ZTQ4YmRhZDMgLy8gbWV0aG9kICJyZWdpc3Rlcl9kaWZmKGJ5dGVbXSxzdHJpbmcsc3RyaW5nLHN0cmluZyxzdHJpbmcpc3RyaW5nIiwgbWV0aG9kICJnZXRfZGlmZihieXRlW10pc3RyaW5nIiwgbWV0aG9kICJ2ZXJpZnlfZGlmZihieXRlW10sc3RyaW5nKWJvb2wiCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAwCiAgICBtYXRjaCByZWdpc3Rlcl9kaWZmIGdldF9kaWZmIHZlcmlmeV9kaWZmCiAgICBlcnIKCm1haW5fX19hbGdvcHlfZGVmYXVsdF9jcmVhdGVAMTI6CiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgIQogICAgJiYKICAgIHJldHVybgoKCi8vIGNvbnRyYWN0LkRpZmZSZWdpc3RyeS5yZWdpc3Rlcl9kaWZmW3JvdXRpbmddKCkgLT4gdm9pZDoKcmVnaXN0ZXJfZGlmZjoKICAgIC8vIGNvbnRyYWN0cy9kaWZmX3JlZ2lzdHJ5L2NvbnRyYWN0LnB5OjIzCiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGR1cAogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2IC8vIG9uIGVycm9yOiBpbnZhbGlkIGFycmF5IGxlbmd0aCBoZWFkZXIKICAgIGludGNfMSAvLyAyCiAgICArCiAgICBkaWcgMQogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmR5bmFtaWNfYXJyYXk8YXJjNC51aW50OD4KICAgIGV4dHJhY3QgMiAwCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBkdXAKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNiAvLyBvbiBlcnJvcjogaW52YWxpZCBhcnJheSBsZW5ndGggaGVhZGVyCiAgICBpbnRjXzEgLy8gMgogICAgKwogICAgZGlnIDEKICAgIGxlbgogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC5keW5hbWljX2FycmF5PGFyYzQudWludDg+CiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgaW50Y18xIC8vIDIKICAgICsKICAgIGRpZyAxCiAgICBsZW4KICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQuZHluYW1pY19hcnJheTxhcmM0LnVpbnQ4PgogICAgZXh0cmFjdCAyIDAKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDQKICAgIGR1cAogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2IC8vIG9uIGVycm9yOiBpbnZhbGlkIGFycmF5IGxlbmd0aCBoZWFkZXIKICAgIGludGNfMSAvLyAyCiAgICArCiAgICBkaWcgMQogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmR5bmFtaWNfYXJyYXk8YXJjNC51aW50OD4KICAgIGV4dHJhY3QgMiAwCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyA1CiAgICBkdXAKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNiAvLyBvbiBlcnJvcjogaW52YWxpZCBhcnJheSBsZW5ndGggaGVhZGVyCiAgICBpbnRjXzEgLy8gMgogICAgKwogICAgZGlnIDEKICAgIGxlbgogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC5keW5hbWljX2FycmF5PGFyYzQudWludDg+CiAgICBleHRyYWN0IDIgMAogICAgLy8gY29udHJhY3RzL2RpZmZfcmVnaXN0cnkvY29udHJhY3QucHk6MzUtMzYKICAgIC8vICMgQ2hlY2sgaWYgYm94IGFscmVhZHkgZXhpc3RzCiAgICAvLyBib3hfZGF0YSwgZXhpc3RzID0gb3AuQm94LmdldChkaWZmX2lkKQogICAgZGlnIDQKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gY29udHJhY3RzL2RpZmZfcmVnaXN0cnkvY29udHJhY3QucHk6MzcKICAgIC8vIGlmIGV4aXN0czoKICAgICEKICAgIGFzc2VydCAvLyBDb250cmlidXRpb24gcHJvb2YgYWxyZWFkeSByZWdpc3RlcmVkCiAgICAvLyBjb250cmFjdHMvZGlmZl9yZWdpc3RyeS9jb250cmFjdC5weTo0MC00MgogICAgLy8gIyBDb25zdHJ1Y3Qgc2VyaWFsaXplZCByZWNvcmQgc3RyaW5nOgogICAgLy8gIyByZXBvX2lkfGZyb21fY29tbWl0fHRvX2NvbW1pdHxkaWZmX2hhc2h8c3VibWl0dGVyfHRpbWVzdGFtcAogICAgLy8gc2VuZGVyX3N0ciA9IFR4bi5zZW5kZXIuYnl0ZXMKICAgIHR4biBTZW5kZXIKICAgIC8vIGNvbnRyYWN0cy9kaWZmX3JlZ2lzdHJ5L2NvbnRyYWN0LnB5OjQ0LTQ1CiAgICAvLyByZXBvX2lkLmJ5dGVzCiAgICAvLyArIEJ5dGVzKGIifCIpCiAgICB1bmNvdmVyIDQKICAgIC8vIGNvbnRyYWN0cy9kaWZmX3JlZ2lzdHJ5L2NvbnRyYWN0LnB5OjQ1CiAgICAvLyArIEJ5dGVzKGIifCIpCiAgICBieXRlY18wIC8vIDB4N2MKICAgIC8vIGNvbnRyYWN0cy9kaWZmX3JlZ2lzdHJ5L2NvbnRyYWN0LnB5OjQ0LTQ1CiAgICAvLyByZXBvX2lkLmJ5dGVzCiAgICAvLyArIEJ5dGVzKGIifCIpCiAgICBjb25jYXQKICAgIC8vIGNvbnRyYWN0cy9kaWZmX3JlZ2lzdHJ5L2NvbnRyYWN0LnB5OjQ0LTQ2CiAgICAvLyByZXBvX2lkLmJ5dGVzCiAgICAvLyArIEJ5dGVzKGIifCIpCiAgICAvLyArIGZyb21fY29tbWl0LmJ5dGVzCiAgICB1bmNvdmVyIDQKICAgIGNvbmNhdAogICAgLy8gY29udHJhY3RzL2RpZmZfcmVnaXN0cnkvY29udHJhY3QucHk6NDcKICAgIC8vICsgQnl0ZXMoYiJ8IikKICAgIGJ5dGVjXzAgLy8gMHg3YwogICAgLy8gY29udHJhY3RzL2RpZmZfcmVnaXN0cnkvY29udHJhY3QucHk6NDQtNDcKICAgIC8vIHJlcG9faWQuYnl0ZXMKICAgIC8vICsgQnl0ZXMoYiJ8IikKICAgIC8vICsgZnJvbV9jb21taXQuYnl0ZXMKICAgIC8vICsgQnl0ZXMoYiJ8IikKICAgIGNvbmNhdAogICAgLy8gY29udHJhY3RzL2RpZmZfcmVnaXN0cnkvY29udHJhY3QucHk6NDQtNDgKICAgIC8vIHJlcG9faWQuYnl0ZXMKICAgIC8vICsgQnl0ZXMoYiJ8IikKICAgIC8vICsgZnJvbV9jb21taXQuYnl0ZXMKICAgIC8vICsgQnl0ZXMoYiJ8IikKICAgIC8vICsgdG9fY29tbWl0LmJ5dGVzCiAgICB1bmNvdmVyIDMKICAgIGNvbmNhdAogICAgLy8gY29udHJhY3RzL2RpZmZfcmVnaXN0cnkvY29udHJhY3QucHk6NDkKICAgIC8vICsgQnl0ZXMoYiJ8IikKICAgIGJ5dGVjXzAgLy8gMHg3YwogICAgLy8gY29udHJhY3RzL2RpZmZfcmVnaXN0cnkvY29udHJhY3QucHk6NDQtNDkKICAgIC8vIHJlcG9faWQuYnl0ZXMKICAgIC8vICsgQnl0ZXMoYiJ8IikKICAgIC8vICsgZnJvbV9jb21taXQuYnl0ZXMKICAgIC8vICsgQnl0ZXMoYiJ8IikKICAgIC8vICsgdG9fY29tbWl0LmJ5dGVzCiAgICAvLyArIEJ5dGVzKGIifCIpCiAgICBjb25jYXQKICAgIC8vIGNvbnRyYWN0cy9kaWZmX3JlZ2lzdHJ5L2NvbnRyYWN0LnB5OjQ0LTUwCiAgICAvLyByZXBvX2lkLmJ5dGVzCiAgICAvLyArIEJ5dGVzKGIifCIpCiAgICAvLyArIGZyb21fY29tbWl0LmJ5dGVzCiAgICAvLyArIEJ5dGVzKGIifCIpCiAgICAvLyArIHRvX2NvbW1pdC5ieXRlcwogICAgLy8gKyBCeXRlcyhiInwiKQogICAgLy8gKyBkaWZmX2hhc2guYnl0ZXMKICAgIHVuY292ZXIgMgogICAgY29uY2F0CiAgICAvLyBjb250cmFjdHMvZGlmZl9yZWdpc3RyeS9jb250cmFjdC5weTo1MQogICAgLy8gKyBCeXRlcyhiInwiKQogICAgYnl0ZWNfMCAvLyAweDdjCiAgICAvLyBjb250cmFjdHMvZGlmZl9yZWdpc3RyeS9jb250cmFjdC5weTo0NC01MQogICAgLy8gcmVwb19pZC5ieXRlcwogICAgLy8gKyBCeXRlcyhiInwiKQogICAgLy8gKyBmcm9tX2NvbW1pdC5ieXRlcwogICAgLy8gKyBCeXRlcyhiInwiKQogICAgLy8gKyB0b19jb21taXQuYnl0ZXMKICAgIC8vICsgQnl0ZXMoYiJ8IikKICAgIC8vICsgZGlmZl9oYXNoLmJ5dGVzCiAgICAvLyArIEJ5dGVzKGIifCIpCiAgICBjb25jYXQKICAgIC8vIGNvbnRyYWN0cy9kaWZmX3JlZ2lzdHJ5L2NvbnRyYWN0LnB5OjQ0LTUyCiAgICAvLyByZXBvX2lkLmJ5dGVzCiAgICAvLyArIEJ5dGVzKGIifCIpCiAgICAvLyArIGZyb21fY29tbWl0LmJ5dGVzCiAgICAvLyArIEJ5dGVzKGIifCIpCiAgICAvLyArIHRvX2NvbW1pdC5ieXRlcwogICAgLy8gKyBCeXRlcyhiInwiKQogICAgLy8gKyBkaWZmX2hhc2guYnl0ZXMKICAgIC8vICsgQnl0ZXMoYiJ8IikKICAgIC8vICsgc2VuZGVyX3N0cgogICAgc3dhcAogICAgY29uY2F0CiAgICAvLyBjb250cmFjdHMvZGlmZl9yZWdpc3RyeS9jb250cmFjdC5weTo1MwogICAgLy8gKyBCeXRlcyhiInwiKQogICAgYnl0ZWNfMCAvLyAweDdjCiAgICAvLyBjb250cmFjdHMvZGlmZl9yZWdpc3RyeS9jb250cmFjdC5weTo0NC01MwogICAgLy8gcmVwb19pZC5ieXRlcwogICAgLy8gKyBCeXRlcyhiInwiKQogICAgLy8gKyBmcm9tX2NvbW1pdC5ieXRlcwogICAgLy8gKyBCeXRlcyhiInwiKQogICAgLy8gKyB0b19jb21taXQuYnl0ZXMKICAgIC8vICsgQnl0ZXMoYiJ8IikKICAgIC8vICsgZGlmZl9oYXNoLmJ5dGVzCiAgICAvLyArIEJ5dGVzKGIifCIpCiAgICAvLyArIHNlbmRlcl9zdHIKICAgIC8vICsgQnl0ZXMoYiJ8IikKICAgIGNvbmNhdAogICAgLy8gY29udHJhY3RzL2RpZmZfcmVnaXN0cnkvY29udHJhY3QucHk6NTQKICAgIC8vICsgb3AuaXRvYihHbG9iYWwubGF0ZXN0X3RpbWVzdGFtcCkKICAgIGdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKICAgIGl0b2IKICAgIC8vIGNvbnRyYWN0cy9kaWZmX3JlZ2lzdHJ5L2NvbnRyYWN0LnB5OjQ0LTU0CiAgICAvLyByZXBvX2lkLmJ5dGVzCiAgICAvLyArIEJ5dGVzKGIifCIpCiAgICAvLyArIGZyb21fY29tbWl0LmJ5dGVzCiAgICAvLyArIEJ5dGVzKGIifCIpCiAgICAvLyArIHRvX2NvbW1pdC5ieXRlcwogICAgLy8gKyBCeXRlcyhiInwiKQogICAgLy8gKyBkaWZmX2hhc2guYnl0ZXMKICAgIC8vICsgQnl0ZXMoYiJ8IikKICAgIC8vICsgc2VuZGVyX3N0cgogICAgLy8gKyBCeXRlcyhiInwiKQogICAgLy8gKyBvcC5pdG9iKEdsb2JhbC5sYXRlc3RfdGltZXN0YW1wKQogICAgY29uY2F0CiAgICAvLyBjb250cmFjdHMvZGlmZl9yZWdpc3RyeS9jb250cmFjdC5weTo1Ny01OAogICAgLy8gIyBTdG9yZSBpbiBBbGdvcmFuZCBCb3ggU3RvcmFnZQogICAgLy8gb3AuQm94LnB1dChkaWZmX2lkLCByZWNvcmRfdmFsdWUpCiAgICBib3hfcHV0CiAgICAvLyBjb250cmFjdHMvZGlmZl9yZWdpc3RyeS9jb250cmFjdC5weToyMwogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICBwdXNoYnl0ZXMgMHgxNTFmN2M3NTAwMTA1MDUyNGY0ZjQ2NWY1MjQ1NDc0OTUzNTQ0NTUyNDU0NAogICAgbG9nCiAgICBpbnRjXzIgLy8gMQogICAgcmV0dXJuCgoKLy8gY29udHJhY3QuRGlmZlJlZ2lzdHJ5LmdldF9kaWZmW3JvdXRpbmddKCkgLT4gdm9pZDoKZ2V0X2RpZmY6CiAgICAvLyBjb250cmFjdHMvZGlmZl9yZWdpc3RyeS9jb250cmFjdC5weTo2MgogICAgLy8gQGFyYzQuYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBkdXAKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNiAvLyBvbiBlcnJvcjogaW52YWxpZCBhcnJheSBsZW5ndGggaGVhZGVyCiAgICBpbnRjXzEgLy8gMgogICAgKwogICAgZGlnIDEKICAgIGxlbgogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC5keW5hbWljX2FycmF5PGFyYzQudWludDg+CiAgICBleHRyYWN0IDIgMAogICAgLy8gY29udHJhY3RzL2RpZmZfcmVnaXN0cnkvY29udHJhY3QucHk6NjcKICAgIC8vIGJveF9kYXRhLCBleGlzdHMgPSBvcC5Cb3guZ2V0KGRpZmZfaWQpCiAgICBib3hfZ2V0CiAgICAvLyBjb250cmFjdHMvZGlmZl9yZWdpc3RyeS9jb250cmFjdC5weTo2OAogICAgLy8gYXNzZXJ0IGV4aXN0cywgIlByb29mIG5vdCBmb3VuZCIKICAgIGFzc2VydCAvLyBQcm9vZiBub3QgZm91bmQKICAgIC8vIGNvbnRyYWN0cy9kaWZmX3JlZ2lzdHJ5L2NvbnRyYWN0LnB5OjYyCiAgICAvLyBAYXJjNC5hYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGR1cAogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgc3dhcAogICAgY29uY2F0CiAgICBieXRlY18xIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzIgLy8gMQogICAgcmV0dXJuCgoKLy8gY29udHJhY3QuRGlmZlJlZ2lzdHJ5LnZlcmlmeV9kaWZmW3JvdXRpbmddKCkgLT4gdm9pZDoKdmVyaWZ5X2RpZmY6CiAgICAvLyBjb250cmFjdHMvZGlmZl9yZWdpc3RyeS9jb250cmFjdC5weTo3MQogICAgLy8gQGFyYzQuYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBkdXAKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNiAvLyBvbiBlcnJvcjogaW52YWxpZCBhcnJheSBsZW5ndGggaGVhZGVyCiAgICBpbnRjXzEgLy8gMgogICAgKwogICAgZGlnIDEKICAgIGxlbgogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC5keW5hbWljX2FycmF5PGFyYzQudWludDg+CiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgaW50Y18xIC8vIDIKICAgICsKICAgIGRpZyAxCiAgICBsZW4KICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQuZHluYW1pY19hcnJheTxhcmM0LnVpbnQ4PgogICAgZXh0cmFjdCAyIDAKICAgIHN3YXAKICAgIC8vIGNvbnRyYWN0cy9kaWZmX3JlZ2lzdHJ5L2NvbnRyYWN0LnB5Ojc2CiAgICAvLyBib3hfZGF0YSwgZXhpc3RzID0gb3AuQm94LmdldChkaWZmX2lkKQogICAgYm94X2dldAogICAgLy8gY29udHJhY3RzL2RpZmZfcmVnaXN0cnkvY29udHJhY3QucHk6NzcKICAgIC8vIGlmIG5vdCBleGlzdHM6CiAgICBibnogdmVyaWZ5X2RpZmZfYWZ0ZXJfaWZfZWxzZUAzCiAgICBwb3BuIDIKICAgIC8vIGNvbnRyYWN0cy9kaWZmX3JlZ2lzdHJ5L2NvbnRyYWN0LnB5Ojc4CiAgICAvLyByZXR1cm4gRmFsc2UKICAgIGludGNfMCAvLyAwCgp2ZXJpZnlfZGlmZl9hZnRlcl9pbmxpbmVkX2NvbnRyYWN0LkRpZmZSZWdpc3RyeS52ZXJpZnlfZGlmZkA0OgogICAgLy8gY29udHJhY3RzL2RpZmZfcmVnaXN0cnkvY29udHJhY3QucHk6NzEKICAgIC8vIEBhcmM0LmFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgcHVzaGJ5dGVzIDB4MDAKICAgIGludGNfMCAvLyAwCiAgICB1bmNvdmVyIDIKICAgIHNldGJpdAogICAgYnl0ZWNfMSAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18yIC8vIDEKICAgIHJldHVybgoKdmVyaWZ5X2RpZmZfYWZ0ZXJfaWZfZWxzZUAzOgogICAgaW50Y18wIC8vIDAKCnZlcmlmeV9kaWZmX3doaWxlX3RvcEA2OgogICAgZGlnIDIKICAgIGxlbgogICAgZGlnIDEKICAgICsKICAgIGR1cAogICAgZGlnIDMKICAgIGxlbgogICAgPD0KICAgIGJ6IHZlcmlmeV9kaWZmX2FmdGVyX3doaWxlQDEwCiAgICBkaWcgMgogICAgZGlnIDIKICAgIHVuY292ZXIgMgogICAgc3Vic3RyaW5nMwogICAgZGlnIDMKICAgID09CiAgICBieiB2ZXJpZnlfZGlmZl9hZnRlcl9pZl9lbHNlQDkKICAgIHBvcG4gMwogICAgaW50Y18yIC8vIDEKICAgIC8vIGNvbnRyYWN0cy9kaWZmX3JlZ2lzdHJ5L2NvbnRyYWN0LnB5OjcxCiAgICAvLyBAYXJjNC5hYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGIgdmVyaWZ5X2RpZmZfYWZ0ZXJfaW5saW5lZF9jb250cmFjdC5EaWZmUmVnaXN0cnkudmVyaWZ5X2RpZmZANAoKdmVyaWZ5X2RpZmZfYWZ0ZXJfaWZfZWxzZUA5OgogICAgaW50Y18yIC8vIDEKICAgICsKICAgIGIgdmVyaWZ5X2RpZmZfd2hpbGVfdG9wQDYKCnZlcmlmeV9kaWZmX2FmdGVyX3doaWxlQDEwOgogICAgcG9wbiA0CiAgICBpbnRjXzAgLy8gMAogICAgLy8gY29udHJhY3RzL2RpZmZfcmVnaXN0cnkvY29udHJhY3QucHk6NzEKICAgIC8vIEBhcmM0LmFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgYiB2ZXJpZnlfZGlmZl9hZnRlcl9pbmxpbmVkX2NvbnRyYWN0LkRpZmZSZWdpc3RyeS52ZXJpZnlfZGlmZkA0Cg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuY2xlYXJfc3RhdGVfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIHB1c2hpbnQgMQogICAgcmV0dXJuCg==" }, "byteCode": { "approval": "CyADAAIBJgIBfAQVH3x1MRtBACQxGRREMRhEggMEPPcAbAQyqZ/3BOSL2tM2GgCOAwAJAJkAuQAxGRQxGBQQQzYaAUkiWSMISwEVEkRXAgA2GgJJIlkjCEsBFRJEVwIANhoDSSJZIwhLARUSRFcCADYaBEkiWSMISwEVEkRXAgA2GgVJIlkjCEsBFRJEVwIASwS9RQEURDEATwQoUE8EUChQTwNQKFBPAlAoUExQKFAyBxZQv4AWFR98dQAQUFJPT0ZfUkVHSVNURVJFRLAkQzYaAUkiWSMISwEVEkRXAgC+REkVFlcGAkxQKUxQsCRDNhoBSSJZIwhLARUSRFcCADYaAkkiWSMISwEVEkRXAgBMvkAAEEYCIoABACJPAlQpTFCwJEMiSwIVSwEISUsDFQ5BABhLAksCTwJSSwMSQQAGRgMkQv/RJAhC/9pGBCJC/8Y=", "clear": "C4EBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 5, "minor": 9, "patch": 0 } }, "events": [], "templateVariables": {} }