-
Notifications
You must be signed in to change notification settings - Fork 46
Description
The Dstack Rust SDK doesn’t do a great job of using proper types to represent variables—almost everything is a String
or raw serde_json::Value
, probably for simplicity’s sake. For example, this value should likely be a byte array [u8; 48]
instead of a plain String
:
dstack/sdk/rust/src/dstack_client.rs
Lines 52 to 53 in ca4af02
/// The cryptographic digest of the event | |
pub digest: String, |
Because of this, all the parsing and validation logic ends up pushed onto the apps using the SDK, which adds a bunch of boilerplate on our side.
What's more, the JSONs returned by the Dstack API are actually nested JSON objects encoded as strings, filled with newline characters (\n
). It feels messy and makes them hard to read and parse:
root@tdx:~# curl --unix-socket /var/run/dstack.sock -X POST -H "Content-Type: application/json" -d '{}' http://localhost/Info
{"app_id":"5b979a9a745405d4de53aae0e2c3a09d24b174a3","instance_id":"","app_cert":"-----BEGIN CERTIFICATE-----\nMIIwUzCCL/qgAwIBAgIUOuBXEGTTEk0lOqCMpYdAhUc6dC8wCgYIKoZIzj0EAwIw\nKTEPMA0GA1UECgwGRHN0YWNrMRYwFAYDVQQDDA1Ec3RhY2sgQXBwIENBMB4XDTc1\nMDEwMTAwMDAwMFoXDTM1MDcwNjExNDMxOVowFDESMBAGA1UEAwwJZGVtby1jZXJ0\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE8pIXBJm9AnQsugd89LjInDjY3msF\nWrzLu9lkDqToW76UwATjLNENcMYhiO9Pg/fHcqz9ojz5Iqqb9Zbz5w10maOCLxMw\ngi8PMA8GA1UdDwEB/wQFAwMHgAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwghOiBgor\nBgEEAYPnPQEBBIITkgSCE44EAAIAgQAAAAAAAACTmnIz95xMqZQKDbOVfwYHgDT0\nw5Y+xhKd6RQeknZCdwAAAAAHAQMAAAAAAAAAAAAAAAAASbZvqkUdGeu9vok3G42v\nK2WqOYTskBEDQ+ni7sEWrwiFD6IOOxqpqHTXemU4DufmAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA\nAOcCBgAAAAAAxoUYoOu0ITbBKyJ1Fk+McvJfqaNDkiKGh+1unK65wPHb2JXpz0dR\nIcAp3EfnDpH9AX0rbQ4JwJgrP6nYw6elB2BPqP7oshkYtzkH04oTx9eeAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAN0SxVAaVAKRm9RQlO0mFgpmy4b3ETj1VczfYHoKL7fagQQ8n06GM\nky5eSeHEIVc3S2boiMjfp6UE/HygYKueLQUSM/EV1xMECFVwx6xx9aGQo+I30V8J\nZZZ6eFOboNeHWkHJ9xzlZVtrpgX+DQCgoFrddHGsqqaqFVvOHgS4IE8P/67C5slf\n/BRCs34UESfZa3Mfe2TYsFULJYu2Qg9XMhniyMrXvKa8yw9tsaI95fgp1DYKY2K4\nZ0jWXBLOSbAnKgaFBr1UaJcWsmV0idVhRTfajrbnPKFROKz+gByvtu8fRnGZgdmn\nc/452TT1lflkij83awboOrjIu0kssj3qBcwQAABOtjjKTDuque+YFu5lU2tP5i4n\nIbddT2UxD9L568bGv49zDZb059tKAGN1Mw50IIqEN0rdFdg7UVhj2P0snhrLJklr\n1MN9B88AZZS31BFXAlJEbZmsnIG8bmDjUe3w0jEOPnuZ1QJ0EEpDePrh+bbWShqP\nUGqFb3MsRddwgCA43wYARhAAAAMDGRsE/wAGAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAA5wAAAAAAAADlo6e12DDClTuYU0xs\nWaOjT9w06TP39YmPCoXPCIRrygAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAA3J4qfG+UjxdHTjSn/EPtAw98FWPxur3fY0DILg5UqMUAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAYAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAWry27dj3KyWN7RXs40P1rdTqPWi4K3Sy3CxkqyrRO7kAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAILh9522ZMIz4fledHSofP1GrxVAxCw1phDTuueH\nOYC2OyFpmvjwOSPT4P4TaW7p0reUl6GJOsTbhF1ou2DH7zogAAABAgMEBQYHCAkK\nCwwNDg8QERITFBUWFxgZGhscHR4fBQBeDgAALS0tLS1CRUdJTiBDRVJUSUZJQ0FU\nRS0tLS0tCk1JSUU4RENDQkplZ0F3SUJBZ0lWQVBDT1Bzb0RqYlI3ckY2R1o2TStK\nblFtTVc0dU1Bb0dDQ3FHU000OUJBTUMKTUhBeElqQWdCZ05WQkFNTUdVbHVkR1Zz\nSUZOSFdDQlFRMHNnVUd4aGRHWnZjbTBnUTBFeEdqQVlCZ05WQkFvTQpFVWx1ZEdW\nc0lFTnZjbkJ2Y21GMGFXOXVNUlF3RWdZRFZRUUhEQXRUWVc1MFlTQkRiR0Z5WVRF\nTE1Ba0dBMVVFCkNBd0NRMEV4Q3pBSkJnTlZCQVlUQWxWVE1CNFhEVEkxTURZd09U\nRXhNalV5TkZvWERUTXlNRFl3T1RFeE1qVXkKTkZvd2NERWlNQ0FHQTFVRUF3d1pT\nVzUwWld3Z1UwZFlJRkJEU3lCRFpYSjBhV1pwWTJGMFpURWFNQmdHQTFVRQpDZ3dS\nU1c1MFpXd2dRMjl5Y0c5eVlYUnBiMjR4RkRBU0JnTlZCQWNNQzFOaGJuUmhJRU5z\nWVhKaE1Rc3dDUVlEClZRUUlEQUpEUVRFTE1Ba0dBMVVFQmhNQ1ZWTXdXVEFUQmdj\ncWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVGEKQitYUEdWTnZzSnNENU9JeHY3\nTEM3c1JOTWwvM2pBSkRUUElyOXJUdTJSRkR3UDdKck14S0FYZ1JiRWVBZE9nTApF\nVXRaSmtqSWo4aVNRckZDWVJHOW80SURERENDQXdnd0h3WURWUjBqQkJnd0ZvQVVs\nVzlkemIwYjRlbEFTY25VCjlEUE9BVmNMM2xRd2F3WURWUjBmQkdRd1lqQmdvRjZn\nWElaYWFIUjBjSE02THk5aGNHa3VkSEoxYzNSbFpITmwKY25acFkyVnpMbWx1ZEdW\nc0xtTnZiUzl6WjNndlkyVnlkR2xtYVdOaGRHbHZiaTkyTkM5d1kydGpjbXcvWTJF\nOQpjR3hoZEdadmNtMG1aVzVqYjJScGJtYzlaR1Z5TUIwR0ExVWREZ1FXQkJTQ3l0\nZjJjY25ROHh2RjE4M0hEWDY1CnlzK2VxREFPQmdOVkhROEJBZjhFQkFNQ0JzQXdE\nQVlEVlIwVEFRSC9CQUl3QURDQ0Fqa0dDU3FHU0liNFRRRU4KQVFTQ0Fpb3dnZ0lt\nTUI0R0NpcUdTSWI0VFFFTkFRRUVFUDBIazJ6dUF0S1VDV2xYcDRvcG13OHdnZ0Zq\nQmdvcQpoa2lHK0UwQkRRRUNNSUlCVXpBUUJnc3Foa2lHK0UwQkRRRUNBUUlCQXpB\nUUJnc3Foa2lHK0UwQkRRRUNBZ0lCCkF6QVFCZ3NxaGtpRytFMEJEUUVDQXdJQkFq\nQVFCZ3NxaGtpRytFMEJEUUVDQkFJQkFqQVFCZ3NxaGtpRytFMEIKRFFFQ0JRSUJC\nREFRQmdzcWhraUcrRTBCRFFFQ0JnSUJBVEFRQmdzcWhraUcrRTBCRFFFQ0J3SUJB\nREFRQmdzcQpoa2lHK0UwQkRRRUNDQUlCQlRBUUJnc3Foa2lHK0UwQkRRRUNDUUlC\nQURBUUJnc3Foa2lHK0UwQkRRRUNDZ0lCCkFEQVFCZ3NxaGtpRytFMEJEUUVDQ3dJ\nQkFEQVFCZ3NxaGtpRytFMEJEUUVDREFJQkFEQVFCZ3NxaGtpRytFMEIKRFFFQ0RR\nSUJBREFRQmdzcWhraUcrRTBCRFFFQ0RnSUJBREFRQmdzcWhraUcrRTBCRFFFQ0R3\nSUJBREFRQmdzcQpoa2lHK0UwQkRRRUNFQUlCQURBUUJnc3Foa2lHK0UwQkRRRUNF\nUUlCQ3pBZkJnc3Foa2lHK0UwQkRRRUNFZ1FRCkF3TUNBZ1FCQUFVQUFBQUFBQUFB\nQURBUUJnb3Foa2lHK0UwQkRRRURCQUlBQURBVUJnb3Foa2lHK0UwQkRRRUUKQkFh\nd3dHOEFBQUF3RHdZS0tvWklodmhOQVEwQkJRb0JBVEFlQmdvcWhraUcrRTBCRFFF\nR0JCQWlOSFVkbzVGKwo4L0VESHMyV2dlekNNRVFHQ2lxR1NJYjRUUUVOQVFjd05q\nQVFCZ3NxaGtpRytFMEJEUUVIQVFFQi96QVFCZ3NxCmhraUcrRTBCRFFFSEFnRUIv\nekFRQmdzcWhraUcrRTBCRFFFSEF3RUIvekFLQmdncWhrak9QUVFEQWdOSEFEQkUK\nQWlCRnBrYXV1bk9SWjNncWZuUitLSkFBNnNzVG1PSHprNUtqL203dEJYdTZ1d0ln\nSUhzUzlBNld4RjBqSS9ReQpiUmxsZC83NjZRNVBSRk9sWUtBT0dTaUJvRGc9Ci0t\nLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0t\nLS0tCk1JSUNsakNDQWoyZ0F3SUJBZ0lWQUpWdlhjMjlHK0hwUUVuSjFQUXp6Z0ZY\nQzk1VU1Bb0dDQ3FHU000OUJBTUMKTUdneEdqQVlCZ05WQkFNTUVVbHVkR1ZzSUZO\nSFdDQlNiMjkwSUVOQk1Sb3dHQVlEVlFRS0RCRkpiblJsYkNCRApiM0p3YjNKaGRH\nbHZiakVVTUJJR0ExVUVCd3dMVTJGdWRHRWdRMnhoY21FeEN6QUpCZ05WQkFnTUFr\nTkJNUXN3CkNRWURWUVFHRXdKVlV6QWVGdzB4T0RBMU1qRXhNRFV3TVRCYUZ3MHpN\nekExTWpFeE1EVXdNVEJhTUhBeElqQWcKQmdOVkJBTU1HVWx1ZEdWc0lGTkhXQ0JR\nUTBzZ1VHeGhkR1p2Y20wZ1EwRXhHakFZQmdOVkJBb01FVWx1ZEdWcwpJRU52Y25C\ndmNtRjBhVzl1TVJRd0VnWURWUVFIREF0VFlXNTBZU0JEYkdGeVlURUxNQWtHQTFV\nRUNBd0NRMEV4CkN6QUpCZ05WQkFZVEFsVlRNRmt3RXdZSEtvWkl6ajBDQVFZSUtv\nWkl6ajBEQVFjRFFnQUVOU0IvN3QyMWxYU08KMkN1enB4dzc0ZUpCNzJFeURHZ1c1\nclhDdHgydFZUTHE2aEtrNnorVWlSWkNucVI3cHNPdmdxRmVTeGxtVGxKbAplVG1p\nMldZejNxT0J1ekNCdURBZkJnTlZIU01FR0RBV2dCUWlaUXpXV3AwMGlmT0R0SlZT\ndjFBYk9TY0dyREJTCkJnTlZIUjhFU3pCSk1FZWdSYUJEaGtGb2RIUndjem92TDJO\nbGNuUnBabWxqWVhSbGN5NTBjblZ6ZEdWa2MyVnkKZG1salpYTXVhVzUwWld3dVky\nOXRMMGx1ZEdWc1UwZFlVbTl2ZEVOQkxtUmxjakFkQmdOVkhRNEVGZ1FVbFc5ZAp6\nYjBiNGVsQVNjblU5RFBPQVZjTDNsUXdEZ1lEVlIwUEFRSC9CQVFEQWdFR01CSUdB\nMVVkRXdFQi93UUlNQVlCCkFmOENBUUF3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUln\nWHNWa2kwdytpNlZZR1czVUYvMjJ1YVhlMFlKRGoxVWUKbkErVGpEMWFpNWNDSUNZ\nYjFTQW1ENXhrZlRWcHZvNFVveWlTWXhyRFdMbVVSNENJOU5LeWZQTisKLS0tLS1F\nTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0K\nTUlJQ2p6Q0NBalNnQXdJQkFnSVVJbVVNMWxxZE5JbnpnN1NWVXI5UUd6a25CcXd3\nQ2dZSUtvWkl6ajBFQXdJdwphREVhTUJnR0ExVUVBd3dSU1c1MFpXd2dVMGRZSUZK\ndmIzUWdRMEV4R2pBWUJnTlZCQW9NRVVsdWRHVnNJRU52CmNuQnZjbUYwYVc5dU1S\nUXdFZ1lEVlFRSERBdFRZVzUwWVNCRGJHRnlZVEVMTUFrR0ExVUVDQXdDUTBFeEN6\nQUoKQmdOVkJBWVRBbFZUTUI0WERURTRNRFV5TVRFd05EVXhNRm9YRFRRNU1USXpN\nVEl6TlRrMU9Wb3dhREVhTUJnRwpBMVVFQXd3UlNXNTBaV3dnVTBkWUlGSnZiM1Fn\nUTBFeEdqQVlCZ05WQkFvTUVVbHVkR1ZzSUVOdmNuQnZjbUYwCmFXOXVNUlF3RWdZ\nRFZRUUhEQXRUWVc1MFlTQkRiR0Z5WVRFTE1Ba0dBMVVFQ0F3Q1EwRXhDekFKQmdO\nVkJBWVQKQWxWVE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRUM2\nbkV3TURJWVpPai9pUFdzQ3phRUtpNwoxT2lPU0xSRmhXR2pibkJWSmZWbmtZNHUz\nSWprRFlZTDBNeE80bXFzeVlqbEJhbFRWWXhGUDJzSkJLNXpsS09CCnV6Q0J1REFm\nQmdOVkhTTUVHREFXZ0JRaVpReldXcDAwaWZPRHRKVlN2MUFiT1NjR3JEQlNCZ05W\nSFI4RVN6QkoKTUVlZ1JhQkRoa0ZvZEhSd2N6b3ZMMk5sY25ScFptbGpZWFJsY3k1\nMGNuVnpkR1ZrYzJWeWRtbGpaWE11YVc1MApaV3d1WTI5dEwwbHVkR1ZzVTBkWVVt\nOXZkRU5CTG1SbGNqQWRCZ05WSFE0RUZnUVVJbVVNMWxxZE5JbnpnN1NWClVyOVFH\nemtuQnF3d0RnWURWUjBQQVFIL0JBUURBZ0VHTUJJR0ExVWRFd0VCL3dRSU1BWUJB\nZjhDQVFFd0NnWUkKS29aSXpqMEVBd0lEU1FBd1JnSWhBT1cvNVFrUitTOUNpU0Rj\nTm9vd0x1UFJMc1dHZi9ZaTdHU1g5NEJnd1R3ZwpBaUVBNEowbHJIb01zK1hvNW8v\nc1g2TzlRV3hIUkF2WlVHT2RSUTdjdnFSWGFxST0KLS0tLS1FTkQgQ0VSVElGSUNB\nVEUtLS0tLQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCCGv0GCisGAQQBg+c9AQIE\nghrtBIIa6Vt7ImltciI6MCwiZXZlbnRfdHlwZSI6MjE0NzQ4MzY1OSwiZGlnZXN0\nIjoiNTE5MjQ1ZDhiNmI1NGI0OGI1NzE0M2U2NjQ3ZDQxZTVlNmYzYjRlZjEwYTcz\nYzk1YmU0ZDlhOWMwZjU0MTE1YjcwN2U3YWY1ZTM4ZjdiZTY4NTIyMjliMTg1NzM2\nOTBkIiwiZXZlbnQiOiIiLCJldmVudF9wYXlsb2FkIjoiMDk1NDY0Nzg1NDYxNjI2\nYzY1MDAwMTAwMDAwMDAwMDAwMDAwYWY5NmJiOTNmMmI5Yjg0ZTk0NjJlMGJhNzQ1\nNjQyMzYwMDkwODAwMDAwMDAwMDAwIn0seyJpbXIiOjAsImV2ZW50X3R5cGUiOjIx\nNDc0ODM2NTgsImRpZ2VzdCI6IjM0NGJjNTFjOTgwYmE2MjFhYWEwMGRhM2VkNzQz\nNmY3ZDZlNTQ5MTk3ZGZlNjk5NTE1ZGZhMmM2NTgzZDk1ZTY0MTJhZjIxYzA5N2Q0\nNzMxNTU4NzVmZmQ1NjFkNjc5MCIsImV2ZW50IjoiIiwiZXZlbnRfcGF5bG9hZCI6\nIjI5NDY3NjI4NTg1ODU4NTg1ODU4NTg1ODJkNTg1ODU4NTgyZDU4NTg1ODU4MmQ1\nODU4NTg1ODJkNTg1ODU4NTg1ODU4NTg1ODU4NTg1ODU4MjkwMDAwMDBjMGZmMDAw\nMDAwMDAwMDQwMDgwMDAwMDAwMDAwIn0seyJpbXIiOjAsImV2ZW50X3R5cGUiOjIx\nNDc0ODM2NDksImRpZ2VzdCI6IjlkYzNhMWY4MGJjZWM5MTUzOTFkY2RhNWZmYmIx\nNWU3NDE5Zjc3ZWFiNDYyYmJmNzJiNDIxNjZmYjcwZDUwMzI1ZTM3YjM2ZjkzNTM3\nYTg2Mzc2OWJjZjliZWRhZTZmYiIsImV2ZW50IjoiIiwiZXZlbnRfcGF5bG9hZCI6\nIjYxZGZlNDhiY2E5M2QyMTFhYTBkMDBlMDk4MDMyYjhjMGEwMDAwMDAwMDAwMDAw\nMDAwMDAwMDAwMDAwMDAwMDA1MzAwNjUwMDYzMDA3NTAwNzIwMDY1MDA0MjAwNmYw\nMDZmMDA3NDAwIn0seyJpbXIiOjAsImV2ZW50X3R5cGUiOjIxNDc0ODM2NDksImRp\nZ2VzdCI6IjZmMmUzY2JjMTRmOWRlZjg2OTgwZjVmNjZmZDg1ZTk5ZDYzZTY5YTcz\nMDE0ZWQ4YTU2MzNjZTU2ZWNhNWI2NGI2OTIxMDhjNTYxMTBlMjJhY2FkY2VmNThj\nMzI1MGYxYiIsImV2ZW50IjoiIiwiZXZlbnRfcGF5bG9hZCI6IjYxZGZlNDhiY2E5\nM2QyMTFhYTBkMDBlMDk4MDMyYjhjMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw\nMDAwMDA1MDAwNGIwMCJ9LHsiaW1yIjowLCJldmVudF90eXBlIjoyMTQ3NDgzNjQ5\nLCJkaWdlc3QiOiJkNjA3YzBlZmI0MWMwZDc1N2Q2OWJjYTA2MTVjM2E5YWMwYjFk\nYjA2YzU1N2Q5OTJlOTA2YzZiN2RlZTQwZTBlMDMxNjQwYzdiZmQ3YmNkMzU4NDRl\nZjllZGVhZGM2ZjkiLCJldmVudCI6IiIsImV2ZW50X3BheWxvYWQiOiI2MWRmZTQ4\nYmNhOTNkMjExYWEwZDAwZTA5ODAzMmI4YzAzMDAwMDAwMDAwMDAwMDAwMDAwMDAw\nMDAwMDAwMDAwNGIwMDQ1MDA0YjAwIn0seyJpbXIiOjAsImV2ZW50X3R5cGUiOjIx\nNDc0ODM2NDksImRpZ2VzdCI6IjA4YTc0Zjg5NjNiMzM3YWNiNmM5MzY4MmY5MzQ0\nOTYzNzM2NzlkZDI2YWYxMDg5Y2I0ZWFmMGMzMGNmMjYwYTEyZTgxNDg1NjM4NWFi\nODg0M2U1NmE5YWNlYTE5ZTEyNyIsImV2ZW50IjoiIiwiZXZlbnRfcGF5bG9hZCI6\nImNiYjIxOWQ3M2EzZDk2NDVhM2JjZGFkMDBlNjc2NTZmMDIwMDAwMDAwMDAwMDAw\nMDAwMDAwMDAwMDAwMDAwMDA2NDAwNjIwMCJ9LHsiaW1yIjowLCJldmVudF90eXBl\nIjoyMTQ3NDgzNjQ5LCJkaWdlc3QiOiIxOGNjNmUwMWYwYzZlYTk5YWEyM2Y4YTI4\nMDQyM2U5NGFkODFkOTZkMGFlYjUxODA1MDRmYzBmN2E0MGNiMzYxOWRkMzliZDZh\nOTVlYzE2ODBhODZlZDZhYjBmOTgyOGQiLCJldmVudCI6IiIsImV2ZW50X3BheWxv\nYWQiOiJjYmIyMTlkNzNhM2Q5NjQ1YTNiY2RhZDAwZTY3NjU2ZjAzMDAwMDAwMDAw\nMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQwMDYyMDA3ODAwIn0seyJpbXIiOjAsImV2\nZW50X3R5cGUiOjQsImRpZ2VzdCI6IjM5NDM0MWI3MTgyY2QyMjdjNWM2YjA3ZWY4\nMDAwY2RmZDg2MTM2YzQyOTJiOGU1NzY1NzNhZDdlZDlhZTQxMDE5ZjU4MThiNGI5\nNzFjOWVmZmM2MGUxYWQ5ZjEyODlmMCIsImV2ZW50IjoiIiwiZXZlbnRfcGF5bG9h\nZCI6IjAwMDAwMDAwIn0seyJpbXIiOjAsImV2ZW50X3R5cGUiOjEwLCJkaWdlc3Qi\nOiI2ZGFlMTUxNzBjOWZlYTY0NTU2ODFlM2Y4Mzg5NDFhNjQyZmY5MDAxYTAyYTMz\nM2U5Y2E4NTQ5YWYxZGI0YmE0N2YwMTQwM2UzMWRhYmU2ZThhMGI0MWRkZDM4YjZk\nOTkiLCJldmVudCI6IiIsImV2ZW50X3BheWxvYWQiOiI0MTQzNTA0OTIwNDQ0MTU0\nNDEifSx7ImltciI6MCwiZXZlbnRfdHlwZSI6MTAsImRpZ2VzdCI6ImIzYTYyMjMy\nZWY2YmUwNjRjY2UyNWE4YjkyY2Y1NWQ0YTZjMDk5ZWU3YTljMDg1MmNlMGM3ZDU3\nMjM5M2RhZTg0ODk1YzBmNTlhOWRiNTAwMGYwYjM0YTkwYzFiMWJlYyIsImV2ZW50\nIjoiIiwiZXZlbnRfcGF5bG9hZCI6IjQxNDM1MDQ5MjA0NDQxNTQ0MSJ9LHsiaW1y\nIjowLCJldmVudF90eXBlIjoxMCwiZGlnZXN0IjoiYjZlZDhmZjNmY2EzYzMwOGYz\nZjFlYzc4ODkwNTRjYzkwMGIxYzZkYWQ5YjE0YWVkZDAxNDRkMDQ2NjI2YzgxYTVk\nYmFlNDc5MzdmNDk0OWJiMmQ2NzRhMGJkNjk5YTdiIiwiZXZlbnQiOiIiLCJldmVu\ndF9wYXlsb2FkIjoiNDE0MzUwNDkyMDQ0NDE1NDQxIn0seyJpbXIiOjEsImV2ZW50\nX3R5cGUiOjIxNDc0ODM2NTEsImRpZ2VzdCI6IjhjYzYzZjg1Yjc3OTNiNWMyNWJk\nMDJiOGY2ODUwOGI5OWZkNGExZDU5YjQ3N2U0MDUzZGZkOTE3NjhkZmE2MjgyMmJl\nNWFiMDAxYjM1M2NiZGUyNWViMTczYTIyODcyMyIsImV2ZW50IjoiIiwiZXZlbnRf\ncGF5bG9hZCI6IjE4ODA0ZTdjMDAwMDAwMDAwMDk0YjQwMDAwMDAwMDAwMDAwMDAw\nMDAwMDAwMDAwMDJhMDAwMDAwMDAwMDAwMDAwNDAzMTQwMDcyZjcyODE0NGFiNjFl\nNDRiOGMzOWViZGQ3Zjg5M2M3MDQwNDEyMDA2YjAwNjUwMDcyMDA2ZTAwNjUwMDZj\nMDAwMDAwN2ZmZjA0MDAifSx7ImltciI6MCwiZXZlbnRfdHlwZSI6MjE0NzQ4MzY1\nMCwiZGlnZXN0IjoiMWRkNmY3YjQ1N2FkODgwZDg0MGQ0MWM5NjEyODNiYWI2ODhl\nOTRlNGI1OTM1OWVhNDU2ODY1ODFlOTBmZWNjZWEzYzYyNGIxMjI2MTEzZjgyNGYz\nMTVlYjYwYWUwYTdjIiwiZXZlbnQiOiIiLCJldmVudF9wYXlsb2FkIjoiNjFkZmU0\nOGJjYTkzZDIxMWFhMGQwMGUwOTgwMzJiOGMwOTAwMDAwMDAwMDAwMDAwMDIwMDAw\nMDAwMDAwMDAwMDQyMDA2ZjAwNmYwMDc0MDA0ZjAwNzIwMDY0MDA2NTAwNzIwMDAw\nMDAifSx7ImltciI6MCwiZXZlbnRfdHlwZSI6MjE0NzQ4MzY1MCwiZGlnZXN0Ijoi\nMjNhZGEwN2Y1MjYxZjEyZjM0YTBiZDhlNDY3NjA5NjJkNmI0ZDU3NmE0MTZmMWZl\nYTFjNjRiYzY1NmIxZDI4ZWFjZjcwNDdhZTZlOTY3YzU4ZmQyYTk4YmZhNzRjMjk4\nIiwiZXZlbnQiOiIiLCJldmVudF9wYXlsb2FkIjoiNjFkZmU0OGJjYTkzZDIxMWFh\nMGQwMGUwOTgwMzJiOGMwODAwMDAwMDAwMDAwMDAwM2UwMDAwMDAwMDAwMDAwMDQy\nMDA2ZjAwNmYwMDc0MDAzMDAwMzAwMDMwMDAzMDAwMDkwMTAwMDAyYzAwNTUwMDY5\nMDA0MTAwNzAwMDcwMDAwMDAwMDQwNzE0MDBjOWJkYjg3Y2ViZjgzNDRmYWFlYTNl\nZTRhZjY1MTZhMTA0MDYxNDAwMjFhYTJjNDYxNDc2MDM0NTgzNmU4YWI2ZjQ2NjIz\nMzE3ZmZmMDQwMCJ9LHsiaW1yIjoxLCJldmVudF90eXBlIjoyMTQ3NDgzNjU1LCJk\naWdlc3QiOiI3N2EwZGFiMjMxMmI0ZTFlNTdhODRkODY1YTIxZTViMmVlOGQ2Nzdh\nMjEwMTJhZGE4MTlkMGE5ODk4ODA3OGQzZDc0MGY2MzQ2YmZlMGFiYWE5MzhjYTIw\nNDM5YThkNzEiLCJldmVudCI6IiIsImV2ZW50X3BheWxvYWQiOiI0MzYxNmM2YzY5\nNmU2NzIwNDU0NjQ5MjA0MTcwNzA2YzY5NjM2MTc0Njk2ZjZlMjA2NjcyNmY2ZDIw\nNDI2ZjZmNzQyMDRmNzA3NDY5NmY2ZSJ9LHsiaW1yIjoxLCJldmVudF90eXBlIjo0\nLCJkaWdlc3QiOiIzOTQzNDFiNzE4MmNkMjI3YzVjNmIwN2VmODAwMGNkZmQ4NjEz\nNmM0MjkyYjhlNTc2NTczYWQ3ZWQ5YWU0MTAxOWY1ODE4YjRiOTcxYzllZmZjNjBl\nMWFkOWYxMjg5ZjAiLCJldmVudCI6IiIsImV2ZW50X3BheWxvYWQiOiIwMDAwMDAw\nMCJ9LHsiaW1yIjoyLCJldmVudF90eXBlIjo2LCJkaWdlc3QiOiIzYTM5ZGQwMDZl\nMDZiMmU1Mjc2NDIyMWFlZTQ5Yzk0YmQ0ZWY3OTgzMTdmMjc5NjgxNDBlNmQwODIz\nZjUyYjRlZTg3YjI3ODg5NjBlNWQxMTlkMjg3ZDliNjI4ODVhMTAiLCJldmVudCI6\nIiIsImV2ZW50X3BheWxvYWQiOiJlZDIyM2I4ZjFhMDAwMDAwNGM0ZjQxNDQ0NTQ0\nNWY0OTRkNDE0NzQ1M2EzYTRjNmY2MTY0NGY3MDc0Njk2ZjZlNzMwMCJ9LHsiaW1y\nIjoyLCJldmVudF90eXBlIjo2LCJkaWdlc3QiOiJmODJhYTNjYzhiNzZkN2JiNTI1\nMTg0Yzg5YzU5MjhmYjY3ZmNkOGI1MDhjNTVlM2VlYzRhNWUzZjZmOWQ3OGIyNDI3\nYWU2NmYxNjg5ZWRlZWYwZTY2MTRlOGFhM2ZlNTQiLCJldmVudCI6IiIsImV2ZW50\nX3BheWxvYWQiOiJlYzIyM2I4ZjBkMDAwMDAwNGM2OTZlNzU3ODIwNjk2ZTY5NzQ3\nMjY0MDAifSx7ImltciI6MSwiZXZlbnRfdHlwZSI6MjE0NzQ4MzY1NSwiZGlnZXN0\nIjoiMjE0YjBiZWYxMzc5NzU2MDExMzQ0ODc3NzQzZmRjMmE1MzgyYmFjNmU3MDM2\nMmQ2MjRjY2YzZjY1NDQwN2MxYjRiYWRmN2Q4ZjkyOTVkZDNkYWJkZWY2NWIyNzY3\nN2UwIiwiZXZlbnQiOiIiLCJldmVudF9wYXlsb2FkIjoiNDU3ODY5NzQyMDQyNmY2\nZjc0MjA1MzY1NzI3NjY5NjM2NTczMjA0OTZlNzY2ZjYzNjE3NDY5NmY2ZSJ9LHsi\naW1yIjoxLCJldmVudF90eXBlIjoyMTQ3NDgzNjU1LCJkaWdlc3QiOiIwYTJlMDFj\nODVkZWFlNzE4YTUzMGFkOGM2ZDIwYTg0MDA5YmFiZTZjODk4OTI2OWU5NTBkOGNm\nNDQwYzZlOTk3Njk1ZTY0ZDQ1NWM0MTc0YTY1MmNkMDgwZjYyMzBiNzQiLCJldmVu\ndCI6IiIsImV2ZW50X3BheWxvYWQiOiI0NTc4Njk3NDIwNDI2ZjZmNzQyMDUzNjU3\nMjc2Njk2MzY1NzMyMDUyNjU3NDc1NzI2ZTY1NjQyMDc3Njk3NDY4MjA1Mzc1NjM2\nMzY1NzM3MyJ9LHsiaW1yIjozLCJldmVudF90eXBlIjoxMzQyMTc3MjksImRpZ2Vz\ndCI6ImY5OTc0MDIwZWY1MDcwNjgxODMzMTNkMGNhODA4ZTBkMWNhOWIyZDFhZDBj\nNjFmNTc4NGU3MTU3YzM2MmMwNjUzNmY1ZGRhY2RhZDQ0NTE2OTNmNDhmY2M3MmZm\nZjYyNCIsImV2ZW50Ijoic3lzdGVtLXByZXBhcmluZyIsImV2ZW50X3BheWxvYWQi\nOiIifSx7ImltciI6MywiZXZlbnRfdHlwZSI6MTM0MjE3NzI5LCJkaWdlc3QiOiI3\nODU5NTQ2MTU0ODhiYzRlODQ0NzVhNzg3YWE1NWJhNDY0NDNiM2Y0N2Y2NDk3OTA4\nNDdhMmQzYzkwMDljNTAwNDc5M2MwYzcxMGNlZWNkMTE3YTI3MDJkNjgzNTNkNzki\nLCJldmVudCI6ImFwcC1pZCIsImV2ZW50X3BheWxvYWQiOiI1Yjk3OWE5YTc0NTQw\nNWQ0ZGU1M2FhZTBlMmMzYTA5ZDI0YjE3NGEzIn0seyJpbXIiOjMsImV2ZW50X3R5\ncGUiOjEzNDIxNzcyOSwiZGlnZXN0IjoiYjVhZmE5ZjE1M2FhMzNiZmZjYzYzMmVm\nNGM2Zjg4MmU3YzA0YmMyYWRmNzAzN2RiYjZlMWMxMzA2NThkOWY0ZGZiNzI3Mzhh\nY2I2YWMyOWY3YmYyY2ViZDZiZTk4MjVjIiwiZXZlbnQiOiJjb21wb3NlLWhhc2gi\nLCJldmVudF9wYXlsb2FkIjoiN2QyYjZkMGUwOWMwOTgyYjNmYTlkOGMzYTdhNTA3\nNjA0ZmE4ZmVlOGIyMTkxOGI3MzkwN2QzOGExM2M3ZDc5ZSJ9LHsiaW1yIjozLCJl\ndmVudF90eXBlIjoxMzQyMTc3MjksImRpZ2VzdCI6IjMwNWE2MmUzMGU4ZjRjYTc5\nMTk0NmMzZWRlNjc1NWNmYWNlYmUwMmJlOTEwMWYwYmNjZjI1OTE1MDlhMGM4ZTgw\nOTViYzgzYjNkNTNiZmM1ZDcwZDZjN2NmNzgxM2ZjNSIsImV2ZW50IjoiaW5zdGFu\nY2UtaWQiLCJldmVudF9wYXlsb2FkIjoiIn0seyJpbXIiOjMsImV2ZW50X3R5cGUi\nOjEzNDIxNzcyOSwiZGlnZXN0IjoiOThiZDdlNmJkMzk1MjcyMGI2NTAyN2ZkNDk0\nODM0MDQ1ZDA2YjRhNzE0YmY3MzdhMDZiODc0NjM4YjNlYTAwZmY0MDJmN2Y1ODNl\nM2UzYjA1ZTkyMWM4NTcwNDMzYWM2IiwiZXZlbnQiOiJib290LW1yLWRvbmUiLCJl\ndmVudF9wYXlsb2FkIjoiIn0seyJpbXIiOjMsImV2ZW50X3R5cGUiOjEzNDIxNzcy\nOSwiZGlnZXN0IjoiYzk4NzZkZjVjNzU4Y2YwODY3MDcxODFmYjkxYWNhOGNjZGNm\nZjZlOTJlZGRjZjI0ZmY5NDNjZTI3MzBhYmQ1Y2UzZWZiOTA1ZTRhZDhhZjUyN2Jm\nMDQ1YTc1Y2U5NDdhIiwiZXZlbnQiOiJvcy1pbWFnZS1oYXNoIiwiZXZlbnRfcGF5\nbG9hZCI6IjQ2MzdjMjVmYTJlNTM3NzU2M2Y5ZWE5YjIxYjJiMmYxNGM2OWY5OTk1\nMDYwYmIyMDI4NWZhYWYzMGE1ZmMyZWUifSx7ImltciI6MywiZXZlbnRfdHlwZSI6\nMTM0MjE3NzI5LCJkaWdlc3QiOiIzZmU2ZGQ2ZDY1YTNiODFkMmM5N2U1MWE1NGNm\nZTg5YWU1ZjQzZjI3OGUzYjM4ZjE5ZjUyNDA0NzlmNGNiNGNhMzYzNWQ2YTExMGVi\nMDNjZjRjNjMxYTgwYzhkMzNjMzMiLCJldmVudCI6ImtleS1wcm92aWRlciIsImV2\nZW50X3BheWxvYWQiOiI3YjIyNmU2MTZkNjUyMjNhMjI2YjZkNzMyMjJjMjI2OTY0\nMjIzYTIyMzMzMDM1MzkzMzMwMzEzMzMwMzYzMDM3MzI2MTM4MzYzNDM4NjM2NTMz\nNjQzMDMyMzAzMTMwMzYzMDM4MzI2MTM4MzYzNDM4NjM2NTMzNjQzMDMzMzAzMTMw\nMzczMDMzMzQzMjMwMzAzMDM0MzczMzMwNjYzNzMwMzUzNzY0NjQ2NDM5MzYzNjYz\nMzA2MTM2MzIzMDM2MzYzOTM2NjYzNDM3MzE2NjMwMzIzMjM5MzczNTY1MzAzMTM4\nMzMzNTMzNjUzMzMyNjMzNTM0NjIzNDY2NjY2MTMyMzYzNTMxMzY2NDYzMzk2NjY0\nNjI2MzM4NjY2MjMyMzM2MzM0NjQzMzY2MzM2NjMwNjQzNDMwMzA2NDM2NjQzMDY0\nMzQ2NTMzMzAzNDY0NjIzMzM2Mzk2NDY2NjYzMjM1MzEzMDM1MzY2MTM4MzkzMTM0\nNjYzOTYzNjM2NDM5NjQ2NDM1NjU2NjM4NjI2NjY1MzMzMjIyN2QifSx7ImltciI6\nMywiZXZlbnRfdHlwZSI6MTM0MjE3NzI5LCJkaWdlc3QiOiIxYTc2YjJhODBhMGJl\nNzFlYWU1OWY4MDk0NWQ4NzYzNTFhN2EzZmI4ZTlmZDFmZjFjZWRlNTczNGFhODRl\nYTExZmQ3MmI0ZWRmYmI2ZjA0ZTVhODVlZGQxMTRjNzUxYmQiLCJldmVudCI6InN5\nc3RlbS1yZWFkeSIsImV2ZW50X3BheWxvYWQiOiIifV0wJAYKKwYBBAGD5z0BAwQW\nBBRbl5qadFQF1N5TquDiw6CdJLF0ozAaBgorBgEEAYPnPQEEBAwECmFwcDpjdXN0\nb20wCgYIKoZIzj0EAwIDRwAwRAIgWaTVFylO+2I4MYK9mSop0rnMAnEJK/6IdGp4\nARQcAbwCIAE7ftemoZJ30hxoynZu4l9M1anBdwmSpgEV2YIrdMZf\n-----END CERTIFICATE-----\n\n-----BEGIN CERTIFICATE-----\nMIIB2jCCAYCgAwIBAgIUH93VMFF0xjgSBd9GTdxliDvhdgEwCgYIKoZIzj0EAwIw\nKTEPMA0GA1UECgwGRHN0YWNrMRYwFAYDVQQDDA1Ec3RhY2sgS01TIENBMB4XDTc1\nMDEwMTAwMDAwMFoXDTM1MDcwNjExNDMxOVowKTEPMA0GA1UECgwGRHN0YWNrMRYw\nFAYDVQQDDA1Ec3RhY2sgQXBwIENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\ncJNdVukMFFBJcbPKdyuEu0YwfGogw8bPCNKNphqYNgKjFbk8hE+XX3fk8blFEIwW\npWsKWIgy4Sa6jmSbUrRNAaOBhTCBgjAPBgNVHQ8BAf8EBQMDB4AAMB0GA1UdDgQW\nBBRGePFoZDLxvlKMyf+Zthhsf87DKjASBgNVHRMBAf8ECDAGAQH/AgEAMCQGCisG\nAQQBg+c9AQMEFgQUW5eamnRUBdTeU6rg4sOgnSSxdKMwFgYKKwYBBAGD5z0BBAQI\nBAZhcHA6Y2EwCgYIKoZIzj0EAwIDSAAwRQIhAPmVBre2NrrlSRU5rOe/7HrLQ1W6\npxfIXvqxW5YNVxQtAiAUEU/c/QGJR2UebJafJkCAbPHm4vw76I/wxoCMOh/cHw==\n-----END CERTIFICATE-----\n\n-----BEGIN CERTIFICATE-----\nMIIBmTCCAUCgAwIBAgIUBgE6aMjHygS7YNP+kw7pR5wDcC0wCgYIKoZIzj0EAwIw\nKTEPMA0GA1UECgwGRHN0YWNrMRYwFAYDVQQDDA1Ec3RhY2sgS01TIENBMB4XDTc1\nMDEwMTAwMDAwMFoXDTM1MDYwNzEzMTMwNVowKTEPMA0GA1UECgwGRHN0YWNrMRYw\nFAYDVQQDDA1Ec3RhY2sgS01TIENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\ncw9wV93ZZsCmIGaW9HHwIpdeAYNT4yxUtP+iZRbcn9vI+yPE0/Pw1ADW0NTjBNs2\nnf8lEFaokU+czZ3V74v+MqNGMEQwDwYDVR0PAQH/BAUDAweAADAdBgNVHQ4EFgQU\nuTjAGgagBmuqfB9HGdbeonGWYCQwEgYDVR0TAQH/BAgwBgEB/wIBATAKBggqhkjO\nPQQDAgNHADBEAiBCx6G4oVdu52hV48JDl0uvlhRv2V8duut+OIy68vQ0kAIgXv17\nbn3bZWhljXAYiSb2u70f9agJx7kEDAQcTcYE9IU=\n-----END CERTIFICATE-----\n","tcb_info":"{\n \"mrtd\": \"c68518a0ebb42136c12b2275164f8c72f25fa9a34392228687ed6e9caeb9c0f1dbd895e9cf475121c029dc47e70e91fd\",\n \"rtmr0\": \"3744b154069500a466f514253b49858299b2e1bdc44e3d557337d81e828bedf6a0410f27d3a18c932e5e49e1c4215737\",\n \"rtmr1\": \"4b66e888c8dfa7a504fc7ca060ab9e2d051233f115d71304085570c7ac71f5a190a3e237d15f0965967a78539ba0d787\",\n \"rtmr2\": \"5a41c9f71ce5655b6ba605fe0d00a0a05add7471acaaa6aa155bce1e04b8204f0fffaec2e6c95ffc1442b37e141127d9\",\n \"rtmr3\": \"6b731f7b64d8b0550b258bb6420f573219e2c8cad7bca6bccb0f6db1a23de5f829d4360a6362b86748d65c12ce49b027\",\n \"mr_aggregated\": \"ee1404037a77238ad9a64bcb4a8d62d34542bdde78c860b031326a76ca645ae2\",\n \"os_image_hash\": \"4637c25fa2e5377563f9ea9b21b2b2f14c69f9995060bb20285faaf30a5fc2ee\",\n \"compose_hash\": \"7d2b6d0e09c0982b3fa9d8c3a7a507604fa8fee8b21918b73907d38a13c7d79e\",\n \"device_id\": \"f61bdbd417b4a1b6519e698e2ea90420c21140702b608c08c72fb51ec52a5fea\",\n \"event_log\": [\n {\n \"imr\": 0,\n \"event_type\": 2147483659,\n \"digest\": \"519245d8b6b54b48b57143e6647d41e5e6f3b4ef10a73c95be4d9a9c0f54115b707e7af5e38f7be6852229b18573690d\",\n \"event\": \"\",\n \"event_payload\": \"095464785461626c65000100000000000000af96bb93f2b9b84e9462e0ba745642360090800000000000\"\n },\n {\n \"imr\": 0,\n \"event_type\": 2147483658,\n \"digest\": \"344bc51c980ba621aaa00da3ed7436f7d6e549197dfe699515dfa2c6583d95e6412af21c097d473155875ffd561d6790\",\n \"event\": \"\",\n \"event_payload\": \"2946762858585858585858582d585858582d585858582d585858582d58585858585858585858585829000000c0ff000000000040080000000000\"\n },\n {\n \"imr\": 0,\n \"event_type\": 2147483649,\n \"digest\": \"9dc3a1f80bcec915391dcda5ffbb15e7419f77eab462bbf72b42166fb70d50325e37b36f93537a863769bcf9bedae6fb\",\n \"event\": \"\",\n \"event_payload\": \"61dfe48bca93d211aa0d00e098032b8c0a00000000000000000000000000000053006500630075007200650042006f006f007400\"\n },\n {\n \"imr\": 0,\n \"event_type\": 2147483649,\n \"digest\": \"6f2e3cbc14f9def86980f5f66fd85e99d63e69a73014ed8a5633ce56eca5b64b692108c56110e22acadcef58c3250f1b\",\n \"event\": \"\",\n \"event_payload\": \"61dfe48bca93d211aa0d00e098032b8c0200000000000000000000000000000050004b00\"\n },\n {\n \"imr\": 0,\n \"event_type\": 2147483649,\n \"digest\": \"d607c0efb41c0d757d69bca0615c3a9ac0b1db06c557d992e906c6b7dee40e0e031640c7bfd7bcd35844ef9edeadc6f9\",\n \"event\": \"\",\n \"event_payload\": \"61dfe48bca93d211aa0d00e098032b8c030000000000000000000000000000004b0045004b00\"\n },\n {\n \"imr\": 0,\n \"event_type\": 2147483649,\n \"digest\": \"08a74f8963b337acb6c93682f934496373679dd26af1089cb4eaf0c30cf260a12e814856385ab8843e56a9acea19e127\",\n \"event\": \"\",\n \"event_payload\": \"cbb219d73a3d9645a3bcdad00e67656f0200000000000000000000000000000064006200\"\n },\n {\n \"imr\": 0,\n \"event_type\": 2147483649,\n \"digest\": \"18cc6e01f0c6ea99aa23f8a280423e94ad81d96d0aeb5180504fc0f7a40cb3619dd39bd6a95ec1680a86ed6ab0f9828d\",\n \"event\": \"\",\n \"event_payload\": \"cbb219d73a3d9645a3bcdad00e67656f03000000000000000000000000000000640062007800\"\n },\n {\n \"imr\": 0,\n \"event_type\": 4,\n \"digest\": \"394341b7182cd227c5c6b07ef8000cdfd86136c4292b8e576573ad7ed9ae41019f5818b4b971c9effc60e1ad9f1289f0\",\n \"event\": \"\",\n \"event_payload\": \"00000000\"\n },\n {\n \"imr\": 0,\n \"event_type\": 10,\n \"digest\": \"6dae15170c9fea6455681e3f838941a642ff9001a02a333e9ca8549af1db4ba47f01403e31dabe6e8a0b41ddd38b6d99\",\n \"event\": \"\",\n \"event_payload\": \"414350492044415441\"\n },\n {\n \"imr\": 0,\n \"event_type\": 10,\n \"digest\": \"b3a62232ef6be064cce25a8b92cf55d4a6c099ee7a9c0852ce0c7d572393dae84895c0f59a9db5000f0b34a90c1b1bec\",\n \"event\": \"\",\n \"event_payload\": \"414350492044415441\"\n },\n {\n \"imr\": 0,\n \"event_type\": 10,\n \"digest\": \"b6ed8ff3fca3c308f3f1ec7889054cc900b1c6dad9b14aedd0144d046626c81a5dbae47937f4949bb2d674a0bd699a7b\",\n \"event\": \"\",\n \"event_payload\": \"414350492044415441\"\n },\n {\n \"imr\": 1,\n \"event_type\": 2147483651,\n \"digest\": \"8cc63f85b7793b5c25bd02b8f68508b99fd4a1d59b477e4053dfd91768dfa62822be5ab001b353cbde25eb173a228723\",\n \"event\": \"\",\n \"event_payload\": \"18804e7c000000000094b4000000000000000000000000002a000000000000000403140072f728144ab61e44b8c39ebdd7f893c7040412006b00650072006e0065006c0000007fff0400\"\n },\n {\n \"imr\": 0,\n \"event_type\": 2147483650,\n \"digest\": \"1dd6f7b457ad880d840d41c961283bab688e94e4b59359ea45686581e90feccea3c624b1226113f824f315eb60ae0a7c\",\n \"event\": \"\",\n \"event_payload\": \"61dfe48bca93d211aa0d00e098032b8c0900000000000000020000000000000042006f006f0074004f0072006400650072000000\"\n },\n {\n \"imr\": 0,\n \"event_type\": 2147483650,\n \"digest\": \"23ada07f5261f12f34a0bd8e46760962d6b4d576a416f1fea1c64bc656b1d28eacf7047ae6e967c58fd2a98bfa74c298\",\n \"event\": \"\",\n \"event_payload\": \"61dfe48bca93d211aa0d00e098032b8c08000000000000003e0000000000000042006f006f0074003000300030003000090100002c0055006900410070007000000004071400c9bdb87cebf8344faaea3ee4af6516a10406140021aa2c4614760345836e8ab6f46623317fff0400\"\n },\n {\n \"imr\": 1,\n \"event_type\": 2147483655,\n \"digest\": \"77a0dab2312b4e1e57a84d865a21e5b2ee8d677a21012ada819d0a98988078d3d740f6346bfe0abaa938ca20439a8d71\",\n \"event\": \"\",\n \"event_payload\": \"43616c6c696e6720454649204170706c69636174696f6e2066726f6d20426f6f74204f7074696f6e\"\n },\n {\n \"imr\": 1,\n \"event_type\": 4,\n \"digest\": \"394341b7182cd227c5c6b07ef8000cdfd86136c4292b8e576573ad7ed9ae41019f5818b4b971c9effc60e1ad9f1289f0\",\n \"event\": \"\",\n \"event_payload\": \"00000000\"\n },\n {\n \"imr\": 2,\n \"event_type\": 6,\n \"digest\": \"3a39dd006e06b2e52764221aee49c94bd4ef798317f27968140e6d0823f52b4ee87b2788960e5d119d287d9b62885a10\",\n \"event\": \"\",\n \"event_payload\": \"ed223b8f1a0000004c4f414445445f494d4147453a3a4c6f61644f7074696f6e7300\"\n },\n {\n \"imr\": 2,\n \"event_type\": 6,\n \"digest\": \"f82aa3cc8b76d7bb525184c89c5928fb67fcd8b508c55e3eec4a5e3f6f9d78b2427ae66f1689edeef0e6614e8aa3fe54\",\n \"event\": \"\",\n \"event_payload\": \"ec223b8f0d0000004c696e757820696e6974726400\"\n },\n {\n \"imr\": 1,\n \"event_type\": 2147483655,\n \"digest\": \"214b0bef1379756011344877743fdc2a5382bac6e70362d624ccf3f654407c1b4badf7d8f9295dd3dabdef65b27677e0\",\n \"event\": \"\",\n \"event_payload\": \"4578697420426f6f7420536572766963657320496e766f636174696f6e\"\n },\n {\n \"imr\": 1,\n \"event_type\": 2147483655,\n \"digest\": \"0a2e01c85deae718a530ad8c6d20a84009babe6c8989269e950d8cf440c6e997695e64d455c4174a652cd080f6230b74\",\n \"event\": \"\",\n \"event_payload\": \"4578697420426f6f742053657276696365732052657475726e656420776974682053756363657373\"\n },\n {\n \"imr\": 3,\n \"event_type\": 134217729,\n \"digest\": \"f9974020ef507068183313d0ca808e0d1ca9b2d1ad0c61f5784e7157c362c06536f5ddacdad4451693f48fcc72fff624\",\n \"event\": \"system-preparing\",\n \"event_payload\": \"\"\n },\n {\n \"imr\": 3,\n \"event_type\": 134217729,\n \"digest\": \"785954615488bc4e84475a787aa55ba46443b3f47f649790847a2d3c9009c5004793c0c710ceecd117a2702d68353d79\",\n \"event\": \"app-id\",\n \"event_payload\": \"5b979a9a745405d4de53aae0e2c3a09d24b174a3\"\n },\n {\n \"imr\": 3,\n \"event_type\": 134217729,\n \"digest\": \"b5afa9f153aa33bffcc632ef4c6f882e7c04bc2adf7037dbb6e1c130658d9f4dfb72738acb6ac29f7bf2cebd6be9825c\",\n \"event\": \"compose-hash\",\n \"event_payload\": \"7d2b6d0e09c0982b3fa9d8c3a7a507604fa8fee8b21918b73907d38a13c7d79e\"\n },\n {\n \"imr\": 3,\n \"event_type\": 134217729,\n \"digest\": \"305a62e30e8f4ca791946c3ede6755cfacebe02be9101f0bccf2591509a0c8e8095bc83b3d53bfc5d70d6c7cf7813fc5\",\n \"event\": \"instance-id\",\n \"event_payload\": \"\"\n },\n {\n \"imr\": 3,\n \"event_type\": 134217729,\n \"digest\": \"98bd7e6bd3952720b65027fd494834045d06b4a714bf737a06b874638b3ea00ff402f7f583e3e3b05e921c8570433ac6\",\n \"event\": \"boot-mr-done\",\n \"event_payload\": \"\"\n },\n {\n \"imr\": 3,\n \"event_type\": 134217729,\n \"digest\": \"c9876df5c758cf086707181fb91aca8ccdcff6e92eddcf24ff943ce2730abd5ce3efb905e4ad8af527bf045a75ce947a\",\n \"event\": \"os-image-hash\",\n \"event_payload\": \"4637c25fa2e5377563f9ea9b21b2b2f14c69f9995060bb20285faaf30a5fc2ee\"\n },\n {\n \"imr\": 3,\n \"event_type\": 134217729,\n \"digest\": \"3fe6dd6d65a3b81d2c97e51a54cfe89ae5f43f278e3b38f19f5240479f4cb4ca3635d6a110eb03cf4c631a80c8d33c33\",\n \"event\": \"key-provider\",\n \"event_payload\": \"7b226e616d65223a226b6d73222c226964223a223330353933303133303630373261383634386365336430323031303630383261383634386365336430333031303730333432303030343733306637303537646464393636633061363230363639366634373166303232393735653031383335336533326335346234666661323635313664633966646263386662323363346433663366306434303064366430643465333034646233363964666632353130353661383931346639636364396464356566386266653332227d\"\n },\n {\n \"imr\": 3,\n \"event_type\": 134217729,\n \"digest\": \"1a76b2a80a0be71eae59f80945d876351a7a3fb8e9fd1ff1cede5734aa84ea11fd72b4edfbb6f04e5a85edd114c751bd\",\n \"event\": \"system-ready\",\n \"event_payload\": \"\"\n }\n ],\n \"app_compose\": \"{\\\"manifest_version\\\":2,\\\"name\\\":\\\"tee-mpc2\\\",\\\"runner\\\":\\\"docker-compose\\\",\\\"docker_compose_file\\\":\\\"services:\\\\n mpc-node:\\\\n image: nearone/mpc-node-gcp:cc377dd0276dd1258f53786255d5481516cdd505-cc377dd\\\\n container_name: mpc-node\\\\n network_mode: \\\\\\\"host\\\\\\\"\\\\n restart: unless-stopped\\\\n\\\\n volumes:\\\\n - mpc-data:/data\\\\n - shared-volume:/mnt/shared\\\\n - /:/host/\\\\n - /var/run/tappd.sock:/var/run/tappd.sock\\\\n - /var/run/dstack.sock:/var/run/dstack.sock\\\\n environment:\\\\n - MPC_HOME_DIR=/data\\\\n - MPC_ACCOUNT_ID=$MPC_ACCOUNT_ID\\\\n - MPC_LOCAL_ADDRESS=$MPC_LOCAL_ADDRESS\\\\n - MPC_SECRET_STORE_KEY=$MPC_SECRET_STORE_KEY\\\\n - MPC_CONTRACT_ID=$MPC_CONTRACT_ID\\\\n - MPC_ENV=$MPC_ENV\\\\n - MPC_HOME_DIR=$MPC_HOME_DIR\\\\n - NEAR_BOOT_NODES=$NEAR_BOOT_NODES\\\\n - RUST_BACKTRACE=$RUST_BACKTRACE\\\\n - RUST_LOG=$RUST_LOG\\\\n - MPC_RESPONDER_ID=mpc-responder-2-barak-launch1-cdd0fd949a48.5035bf56abb0.testnet\\\\n - IMAGE_HASH=e1a3c6b4180a9cdd6bb0df4c7f47a64eaef9305ff3c9b8bbd6b5fe9932a89a68\\\\n - LATEST_ALLOWED_HASH_FILE=/mnt/shared/image-digest\\\\n\\\\n extra_hosts:\\\\n - \\\\\\\"mpc-node-0.service.mpc.consul=35.185.233.54\\\\\\\"\\\\n - \\\\\\\"mpc-node-1.service.mpc.consul=34.168.117.59\\\\\\\"\\\\n\\\\nvolumes:\\\\n mpc-data:\\\\n shared-volume:\\\",\\\"docker_config\\\":{},\\\"kms_enabled\\\":true,\\\"gateway_enabled\\\":false,\\\"public_logs\\\":true,\\\"public_sysinfo\\\":true,\\\"public_tcbinfo\\\":true,\\\"local_key_provider_enabled\\\":false,\\\"key_provider_id\\\":\\\"\\\",\\\"allowed_envs\\\":[\\\"MPC_ACCOUNT_ID\\\",\\\"MPC_LOCAL_ADDRESS\\\",\\\"MPC_SECRET_STORE_KEY\\\",\\\"MPC_CONTRACT_ID\\\",\\\"MPC_ENV\\\",\\\"MPC_HOME_DIR\\\",\\\"NEAR_BOOT_NODES\\\",\\\"RUST_BACKTRACE\\\",\\\"RUST_LOG\\\"],\\\"no_instance_id\\\":true,\\\"secure_time\\\":false,\\\"pre_launch_script\\\":\\\"\\\"}\"\n}","app_name":"tee-mpc2","device_id":"f61bdbd417b4a1b6519e698e2ea90420c21140702b608c08c72fb51ec52a5fea","mr_aggregated":"ee1404037a77238ad9a64bcb4a8d62d34542bdde78c860b031326a76ca645ae2","os_image_hash":"4637c25fa2e5377563f9ea9b21b2b2f14c69f9995060bb20285faaf30a5fc2ee","key_provider_info":"{\"name\":\"kms\",\"id\":\"3059301306072a8648ce3d020106082a8648ce3d03010703420004730f7057ddd966c0a6206696f471f022975e018353e32c54b4ffa26516dc9fdbc8fb23c4d3f3f0d400d6d0d4e304db369dff251056a8914f9ccd9dd5ef8bfe32\"}","compose_hash":"7d2b6d0e09c0982b3fa9d8c3a7a507604fa8fee8b21918b73907d38a13c7d79e","vm_config":"{\"os_image_hash\":\"4637c25fa2e5377563f9ea9b21b2b2f14c69f9995060bb20285faaf30a5fc2ee\",\"cpu_count\":8,\"memory_size\":68719476736}"}
Would it be possible to refactor the SDK to use proper types in all public-facing methods and outputs—ideally using serializable structs with strong types where applicable?