@cobotar/protocol 0.20.3 → 0.20.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # CobotAR-Protocol
2
2
  A collection of protobuf messages for the CobotAR-project
3
3
 
4
- Current version: 0.20.3
4
+ Current version: 0.20.4
5
5
 
6
6
  ## Documentation
7
7
  Find it here: [documentation/README.md](documentation/README.md)
@@ -14,7 +14,7 @@ import type { Message } from "@bufbuild/protobuf";
14
14
  * Describes the file resources/v1/model.proto.
15
15
  */
16
16
  export const file_resources_v1_model: GenFile = /*@__PURE__*/
17
- fileDesc("ChhyZXNvdXJjZXMvdjEvbW9kZWwucHJvdG8SDHJlc291cmNlcy52MSK6AwoOU3RvcmVkQXNzZXRSZWYSPwoHYmFja2VuZBgBIAEoDjIhLnJlc291cmNlcy52MS5Nb2RlbFN0b3JhZ2VCYWNrZW5kQgu6SAjIAQGCAQIQARI2CgZmb3JtYXQYAiABKA4yGS5yZXNvdXJjZXMudjEuQXNzZXRGb3JtYXRCC7pICMgBAYIBAhABEg4KBmJ1Y2tldBgDIAEoCRISCgpvYmplY3Rfa2V5GAQgASgJEhgKA3VyaRgFIAEoCUILukgI2AEBcgOIAQESEAoIZmlsZW5hbWUYBiABKAkSFAoMY29udGVudF90eXBlGAcgASgJEhIKCnNpemVfYnl0ZXMYCCABKAQSDgoGc2hhMjU2GAkgASgJEjIKBHVuaXQYCiABKA4yFy5yZXNvdXJjZXMudjEuTW9kZWxVbml0Qgu6SAjIAQGCAQIQARI1Cgd1cF9heGlzGAsgASgOMhcucmVzb3VyY2VzLnYxLk1vZGVsQXhpc0ILukgIyAEBggECEAESOgoMZm9yd2FyZF9heGlzGAwgASgOMhcucmVzb3VyY2VzLnYxLk1vZGVsQXhpc0ILukgIyAEBggECEAEi8AIKDU1vZGVsQXJ0aWZhY3QSCgoCaWQYASABKAkSFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSMQoFZ3JvdXAYBSABKA4yGC5yZXNvdXJjZXMudjEuTW9kZWxHcm91cEIIukgFggECEAESMwoFYXNzZXQYBiABKAsyHC5yZXNvdXJjZXMudjEuU3RvcmVkQXNzZXRSZWZCBrpIA8gBARIvCgl0aHVtYm5haWwYByABKAsyHC5yZXNvdXJjZXMudjEuU3RvcmVkQXNzZXRSZWYSMgoMYWx0ZXJuYXRpdmVzGAggAygLMhwucmVzb3VyY2VzLnYxLlN0b3JlZEFzc2V0UmVmEg8KB3ZlcnNpb24YCSABKAkSOQoTZXh0ZXJuYWxfcmVmZXJlbmNlcxgKIAMoCzIcLmNvbW1vbi52MS5FeHRlcm5hbFJlZmVyZW5jZSI8Cg5Nb2RlbEFydGlmYWN0cxIqCgVpdGVtcxgBIAMoCzIbLnJlc291cmNlcy52MS5Nb2RlbEFydGlmYWN0KrcBCgpNb2RlbEdyb3VwEhsKF01PREVMX0dST1VQX1VOU1BFQ0lGSUVEEAASFAoQTU9ERUxfR1JPVVBfUEFSVBABEhcKE01PREVMX0dST1VQX1BST0RVQ1QQAhIUChBNT0RFTF9HUk9VUF9UT09MEAMSFQoRTU9ERUxfR1JPVVBfUk9CT1QQBBIZChVNT0RFTF9HUk9VUF9DT05UQUlORVIQBRIVChFNT0RFTF9HUk9VUF9BU1NFVBAGKqoDCgtBc3NldEZvcm1hdBIcChhBU1NFVF9GT1JNQVRfVU5TUEVDSUZJRUQQABIUChBBU1NFVF9GT1JNQVRfR0xCEAESFQoRQVNTRVRfRk9STUFUX0dMVEYQAhIUChBBU1NFVF9GT1JNQVRfT0JKEAMSFAoQQVNTRVRfRk9STUFUX0ZCWBAEEhQKEEFTU0VUX0ZPUk1BVF9TVEwQBRIVChFBU1NFVF9GT1JNQVRfU1RFUBAGEhUKEUFTU0VUX0ZPUk1BVF9JR0VTEAcSFAoQQVNTRVRfRk9STUFUX1VTRBAIEhUKEUFTU0VUX0ZPUk1BVF9VU0RaEAkSFAoQQVNTRVRfRk9STUFUX1BORxAeEhUKEUFTU0VUX0ZPUk1BVF9KUEVHEB8SFQoRQVNTRVRfRk9STUFUX1dFQlAQIBIUChBBU1NFVF9GT1JNQVRfU1ZHECESFAoQQVNTRVRfRk9STUFUX01UTBAyEhYKEkFTU0VUX0ZPUk1BVF9CQVNJUxAzEhUKEUFTU0VUX0ZPUk1BVF9LVFgyEDQSFAoQQVNTRVRfRk9STUFUX1pJUBBGKucBCglNb2RlbFVuaXQSGgoWTU9ERUxfVU5JVF9VTlNQRUNJRklFRBAAEhkKFU1PREVMX1VOSVRfTUlMTElNRVRFUhABEhkKFU1PREVMX1VOSVRfQ0VOVElNRVRFUhACEhQKEE1PREVMX1VOSVRfTUVURVIQAxIYChRNT0RFTF9VTklUX0tJTE9NRVRFUhAEEhMKD01PREVMX1VOSVRfSU5DSBAKEhMKD01PREVMX1VOSVRfRk9PVBALEhMKD01PREVMX1VOSVRfWUFSRBAMEhkKFU1PREVMX1VOSVRfTUlDUk9NRVRFUhAUKskBCglNb2RlbEF4aXMSGgoWTU9ERUxfQVhJU19VTlNQRUNJRklFRBAAEhkKFU1PREVMX0FYSVNfUE9TSVRJVkVfWBABEhkKFU1PREVMX0FYSVNfTkVHQVRJVkVfWBACEhkKFU1PREVMX0FYSVNfUE9TSVRJVkVfWRADEhkKFU1PREVMX0FYSVNfTkVHQVRJVkVfWRAEEhkKFU1PREVMX0FYSVNfUE9TSVRJVkVfWhAFEhkKFU1PREVMX0FYSVNfTkVHQVRJVkVfWhAGKpoCChNNb2RlbFN0b3JhZ2VCYWNrZW5kEiUKIU1PREVMX1NUT1JBR0VfQkFDS0VORF9VTlNQRUNJRklFRBAAEiIKHk1PREVMX1NUT1JBR0VfQkFDS0VORF9CVUlMVF9JThABEisKJ01PREVMX1NUT1JBR0VfQkFDS0VORF9OQVRTX09CSkVDVF9TVE9SRRACEhwKGE1PREVMX1NUT1JBR0VfQkFDS0VORF9TMxADEh8KG01PREVMX1NUT1JBR0VfQkFDS0VORF9NSU5JTxAEEiQKIE1PREVMX1NUT1JBR0VfQkFDS0VORF9MT0NBTF9GSUxFEAUSJgoiTU9ERUxfU1RPUkFHRV9CQUNLRU5EX0VYVEVSTkFMX1VSTBAGQrcBChBjb20ucmVzb3VyY2VzLnYxQgpNb2RlbFByb3RvUAFaPWdpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9yZXNvdXJjZXMvdjE7cmVzb3VyY2VzdjGiAgNSWFiqAhVNZXNzYWdlcy5SZXNvdXJjZXMuVjHKAgxSZXNvdXJjZXNcVjHiAhhSZXNvdXJjZXNcVjFcR1BCTWV0YWRhdGHqAg1SZXNvdXJjZXM6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_external_references, file_validation_v1_predefined_string_rules]);
17
+ fileDesc("ChhyZXNvdXJjZXMvdjEvbW9kZWwucHJvdG8SDHJlc291cmNlcy52MSKeBAoNQXNzZXRMb2NhdGlvbhI/CgdiYWNrZW5kGAEgASgOMiEucmVzb3VyY2VzLnYxLk1vZGVsU3RvcmFnZUJhY2tlbmRCC7pICMgBAYIBAhABEg4KBmJ1Y2tldBgCIAEoCRISCgpvYmplY3Rfa2V5GAMgASgJEhgKA3VyaRgEIAEoCUILukgI2AEBcgOIAQESEAoIZmlsZW5hbWUYBSABKAkSFAoMY29udGVudF90eXBlGAYgASgJEhIKCnNpemVfYnl0ZXMYByABKAQSKwoGc2hhMjU2GAggASgJQhu6SBjYAQFyEzIRXlthLWZBLUYwLTldezY0fSQ6pAK6SKACGp0CCh9hc3NldF9sb2NhdGlvbi5iYWNrZW5kX2xvY2F0aW9uEilhc3NldCBsb2NhdGlvbiBtdXN0IG1hdGNoIHN0b3JhZ2UgYmFja2VuZBrOASh0aGlzLmJhY2tlbmQgPT0gMSAmJiB0aGlzLmZpbGVuYW1lICE9ICcnKSB8fCAodGhpcy5iYWNrZW5kIGluIFsyLCAzLCA0XSAmJiB0aGlzLmJ1Y2tldCAhPSAnJyAmJiB0aGlzLm9iamVjdF9rZXkgIT0gJycpIHx8ICh0aGlzLmJhY2tlbmQgPT0gNSAmJiB0aGlzLmZpbGVuYW1lICE9ICcnKSB8fCAodGhpcy5iYWNrZW5kID09IDYgJiYgdGhpcy51cmkgIT0gJycpIt8GCg1Nb2RlbEFzc2V0UmVmEhgKAmlkGAEgASgJQgy6SAnIAQFyBIDsMAESNQoIbG9jYXRpb24YAiABKAsyGy5yZXNvdXJjZXMudjEuQXNzZXRMb2NhdGlvbkIGukgDyAEBEjsKBmZvcm1hdBgDIAEoDjIeLnJlc291cmNlcy52MS5Nb2RlbEFzc2V0Rm9ybWF0Qgu6SAjIAQGCAQIQARIyCgR1bml0GAQgASgOMhcucmVzb3VyY2VzLnYxLk1vZGVsVW5pdEILukgIyAEBggECEAESNQoHdXBfYXhpcxgFIAEoDjIXLnJlc291cmNlcy52MS5Nb2RlbEF4aXNCC7pICMgBAYIBAhABEjoKDGZvcndhcmRfYXhpcxgGIAEoDjIXLnJlc291cmNlcy52MS5Nb2RlbEF4aXNCC7pICMgBAYIBAhABEjcKBHJvbGUYByABKA4yHC5yZXNvdXJjZXMudjEuTW9kZWxBc3NldFJvbGVCC7pICMgBAYIBAhABEigKFWRlcml2ZWRfZnJvbV9hc3NldF9pZBgIIAEoCUIJukgGcgSA7DABOrUDukixAxpvCh5tb2RlbF9hc3NldF9yZWYuYXhlc19kaWZmZXJlbnQSKnVwX2F4aXMgYW5kIGZvcndhcmRfYXhpcyBtdXN0IGJlIGRpZmZlcmVudBohdGhpcy51cF9heGlzICE9IHRoaXMuZm9yd2FyZF9heGlzGpABCiJtb2RlbF9hc3NldF9yZWYuZGVyaXZlZF9oYXNfc291cmNlEjZkZXJpdmVkIG1vZGVsIGFzc2V0cyBtdXN0IGRlZmluZSBkZXJpdmVkX2Zyb21fYXNzZXRfaWQaMnRoaXMucm9sZSAhPSAzIHx8IHRoaXMuZGVyaXZlZF9mcm9tX2Fzc2V0X2lkICE9ICcnGqoBCiJtb2RlbF9hc3NldF9yZWYubm9fc2VsZl9kZXJpdmF0aW9uEjlkZXJpdmVkX2Zyb21fYXNzZXRfaWQgbXVzdCBub3QgcmVmZXJlbmNlIHRoZSBhc3NldCBpdHNlbGYaSXRoaXMuZGVyaXZlZF9mcm9tX2Fzc2V0X2lkID09ICcnIHx8IHRoaXMuZGVyaXZlZF9mcm9tX2Fzc2V0X2lkICE9IHRoaXMuaWQi+gIKDUltYWdlQXNzZXRSZWYSGAoCaWQYASABKAlCDLpICcgBAXIEgOwwARI1Cghsb2NhdGlvbhgCIAEoCzIbLnJlc291cmNlcy52MS5Bc3NldExvY2F0aW9uQga6SAPIAQESOwoGZm9ybWF0GAMgASgOMh4ucmVzb3VyY2VzLnYxLkltYWdlQXNzZXRGb3JtYXRCC7pICMgBAYIBAhABEigKFWRlcml2ZWRfZnJvbV9hc3NldF9pZBgEIAEoCUIJukgGcgSA7DABOrABukisARqpAQohaW1hZ2VfYXNzZXRfcmVmLm5vX3NlbGZfcmVmZXJlbmNlEjlkZXJpdmVkX2Zyb21fYXNzZXRfaWQgbXVzdCBub3QgcmVmZXJlbmNlIHRoZSBhc3NldCBpdHNlbGYaSXRoaXMuZGVyaXZlZF9mcm9tX2Fzc2V0X2lkID09ICcnIHx8IHRoaXMuZGVyaXZlZF9mcm9tX2Fzc2V0X2lkICE9IHRoaXMuaWQi+QIKD1NpZGVjYXJBc3NldFJlZhIYCgJpZBgBIAEoCUIMukgJyAEBcgSA7DABEjUKCGxvY2F0aW9uGAIgASgLMhsucmVzb3VyY2VzLnYxLkFzc2V0TG9jYXRpb25CBrpIA8gBARI9CgZmb3JtYXQYAyABKA4yIC5yZXNvdXJjZXMudjEuU2lkZWNhckFzc2V0Rm9ybWF0Qgu6SAjIAQGCAQIQARImChNhc3NvY2lhdGVkX2Fzc2V0X2lkGAQgASgJQgm6SAZyBIDsMAE6rQG6SKkBGqYBCiRzaWRlY2FyX2Fzc2V0X3JlZi5ub19zZWxmX2Rlcml2YXRpb24SN2Fzc29jaWF0ZWRfYXNzZXRfaWQgbXVzdCBub3QgcmVmZXJlbmNlIHRoZSBhc3NldCBpdHNlbGYaRXRoaXMuYXNzb2NpYXRlZF9hc3NldF9pZCA9PSAnJyB8fCB0aGlzLmFzc29jaWF0ZWRfYXNzZXRfaWQgIT0gdGhpcy5pZCKXBAoNTW9kZWxBcnRpZmFjdBIVCgJpZBgBIAEoCUIJukgGcgSI8QQBEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEjQKBWdyb3VwGAUgASgOMhgucmVzb3VyY2VzLnYxLk1vZGVsR3JvdXBCC7pICMgBAYIBAhABEjIKBWFzc2V0GAYgASgLMhsucmVzb3VyY2VzLnYxLk1vZGVsQXNzZXRSZWZCBrpIA8gBARIuCgl0aHVtYm5haWwYByABKAsyGy5yZXNvdXJjZXMudjEuSW1hZ2VBc3NldFJlZhIxCgxhbHRlcm5hdGl2ZXMYCCADKAsyGy5yZXNvdXJjZXMudjEuTW9kZWxBc3NldFJlZhIvCghzaWRlY2FycxgJIAMoCzIdLnJlc291cmNlcy52MS5TaWRlY2FyQXNzZXRSZWYSDwoHdmVyc2lvbhgKIAEoCRI5ChNleHRlcm5hbF9yZWZlcmVuY2VzGAsgAygLMhwuY29tbW9uLnYxLkV4dGVybmFsUmVmZXJlbmNlOmm6SGYaZAohbW9kZWxfYXJ0aWZhY3QucHJpbWFyeV9hc3NldF9yb2xlEiRwcmltYXJ5IGFzc2V0IG11c3QgaGF2ZSBydW50aW1lIHJvbGUaGXRoaXMuYXNzZXQucm9sZSBpbiBbMSwgMl0iPAoOTW9kZWxBcnRpZmFjdHMSKgoFaXRlbXMYASADKAsyGy5yZXNvdXJjZXMudjEuTW9kZWxBcnRpZmFjdCrVAQoKTW9kZWxHcm91cBIbChdNT0RFTF9HUk9VUF9VTlNQRUNJRklFRBAAEhcKE01PREVMX0dST1VQX1BST0RVQ1QQChIcChhNT0RFTF9HUk9VUF9TVUJfQVNTRU1CTFkQCxIUChBNT0RFTF9HUk9VUF9QQVJUEAwSFAoQTU9ERUxfR1JPVVBfVE9PTBAUEhUKEU1PREVMX0dST1VQX1JPQk9UEB4SGQoVTU9ERUxfR1JPVVBfQ09OVEFJTkVSECgSFQoRTU9ERUxfR1JPVVBfQVNTRVQQMirJAQoOTW9kZWxBc3NldFJvbGUSIAocTU9ERUxfQVNTRVRfUk9MRV9VTlNQRUNJRklFRBAAEhwKGE1PREVMX0FTU0VUX1JPTEVfUlVOVElNRRABEhsKF01PREVMX0FTU0VUX1JPTEVfU09VUkNFEAISHAoYTU9ERUxfQVNTRVRfUk9MRV9ERVJJVkVEEAMSHAoYTU9ERUxfQVNTRVRfUk9MRV9QUkVWSUVXEAQSHgoaTU9ERUxfQVNTRVRfUk9MRV9DT0xMSVNJT04QBSq2AgoQTW9kZWxBc3NldEZvcm1hdBIiCh5NT0RFTF9BU1NFVF9GT1JNQVRfVU5TUEVDSUZJRUQQABIaChZNT0RFTF9BU1NFVF9GT1JNQVRfR0xCEAESGwoXTU9ERUxfQVNTRVRfRk9STUFUX0dMVEYQAhIaChZNT0RFTF9BU1NFVF9GT1JNQVRfT0JKEAMSGgoWTU9ERUxfQVNTRVRfRk9STUFUX0ZCWBAEEhoKFk1PREVMX0FTU0VUX0ZPUk1BVF9TVEwQBRIbChdNT0RFTF9BU1NFVF9GT1JNQVRfU1RFUBAGEhsKF01PREVMX0FTU0VUX0ZPUk1BVF9JR0VTEAcSGgoWTU9ERUxfQVNTRVRfRk9STUFUX1VTRBAIEhsKF01PREVMX0FTU0VUX0ZPUk1BVF9VU0RaEAkqtQEKElNpZGVjYXJBc3NldEZvcm1hdBIkCiBTSURFQ0FSX0FTU0VUX0ZPUk1BVF9VTlNQRUNJRklFRBAAEhwKGFNJREVDQVJfQVNTRVRfRk9STUFUX01UTBBREh4KGlNJREVDQVJfQVNTRVRfRk9STUFUX0JBU0lTEFISHQoZU0lERUNBUl9BU1NFVF9GT1JNQVRfS1RYMhBTEhwKGFNJREVDQVJfQVNTRVRfRk9STUFUX1pJUBBUKqgBChBJbWFnZUFzc2V0Rm9ybWF0EiIKHklNQUdFX0FTU0VUX0ZPUk1BVF9VTlNQRUNJRklFRBAAEhoKFklNQUdFX0FTU0VUX0ZPUk1BVF9QTkcQZBIbChdJTUFHRV9BU1NFVF9GT1JNQVRfSlBFRxBlEhsKF0lNQUdFX0FTU0VUX0ZPUk1BVF9XRUJQEGYSGgoWSU1BR0VfQVNTRVRfRk9STUFUX1NWRxBnKucBCglNb2RlbFVuaXQSGgoWTU9ERUxfVU5JVF9VTlNQRUNJRklFRBAAEhkKFU1PREVMX1VOSVRfTUlMTElNRVRFUhABEhkKFU1PREVMX1VOSVRfQ0VOVElNRVRFUhACEhQKEE1PREVMX1VOSVRfTUVURVIQAxIYChRNT0RFTF9VTklUX0tJTE9NRVRFUhAEEhMKD01PREVMX1VOSVRfSU5DSBAKEhMKD01PREVMX1VOSVRfRk9PVBALEhMKD01PREVMX1VOSVRfWUFSRBAMEhkKFU1PREVMX1VOSVRfTUlDUk9NRVRFUhAUKskBCglNb2RlbEF4aXMSGgoWTU9ERUxfQVhJU19VTlNQRUNJRklFRBAAEhkKFU1PREVMX0FYSVNfUE9TSVRJVkVfWBABEhkKFU1PREVMX0FYSVNfTkVHQVRJVkVfWBACEhkKFU1PREVMX0FYSVNfUE9TSVRJVkVfWRADEhkKFU1PREVMX0FYSVNfTkVHQVRJVkVfWRAEEhkKFU1PREVMX0FYSVNfUE9TSVRJVkVfWhAFEhkKFU1PREVMX0FYSVNfTkVHQVRJVkVfWhAGKpoCChNNb2RlbFN0b3JhZ2VCYWNrZW5kEiUKIU1PREVMX1NUT1JBR0VfQkFDS0VORF9VTlNQRUNJRklFRBAAEiIKHk1PREVMX1NUT1JBR0VfQkFDS0VORF9CVUlMVF9JThABEisKJ01PREVMX1NUT1JBR0VfQkFDS0VORF9OQVRTX09CSkVDVF9TVE9SRRACEhwKGE1PREVMX1NUT1JBR0VfQkFDS0VORF9TMxADEh8KG01PREVMX1NUT1JBR0VfQkFDS0VORF9NSU5JTxAEEiQKIE1PREVMX1NUT1JBR0VfQkFDS0VORF9MT0NBTF9GSUxFEAUSJgoiTU9ERUxfU1RPUkFHRV9CQUNLRU5EX0VYVEVSTkFMX1VSTBAGQrcBChBjb20ucmVzb3VyY2VzLnYxQgpNb2RlbFByb3RvUAFaPWdpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9yZXNvdXJjZXMvdjE7cmVzb3VyY2VzdjGiAgNSWFiqAhVNZXNzYWdlcy5SZXNvdXJjZXMuVjHKAgxSZXNvdXJjZXNcVjHiAhhSZXNvdXJjZXNcVjFcR1BCTWV0YWRhdGHqAg1SZXNvdXJjZXM6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_external_references, file_validation_v1_predefined_string_rules]);
18
18
 
19
19
  /**
20
20
  *
@@ -42,62 +42,88 @@ export const file_resources_v1_model: GenFile = /*@__PURE__*/
42
42
  * content_type: "model/gltf-binary"
43
43
  * }
44
44
  *
45
- * @generated from message resources.v1.StoredAssetRef
45
+ * @generated from message resources.v1.AssetLocation
46
46
  */
47
- export type StoredAssetRef = Message<"resources.v1.StoredAssetRef"> & {
47
+ export type AssetLocation = Message<"resources.v1.AssetLocation"> & {
48
48
  /**
49
49
  * @generated from field: resources.v1.ModelStorageBackend backend = 1;
50
50
  */
51
51
  backend: ModelStorageBackend;
52
52
 
53
53
  /**
54
- * @generated from field: resources.v1.AssetFormat format = 2;
55
- */
56
- format: AssetFormat;
57
-
58
- /**
59
- * @generated from field: string bucket = 3;
54
+ * @generated from field: string bucket = 2;
60
55
  */
61
56
  bucket: string;
62
57
 
63
58
  /**
64
- * @generated from field: string object_key = 4;
59
+ * storage identifier
60
+ *
61
+ * @generated from field: string object_key = 3;
65
62
  */
66
63
  objectKey: string;
67
64
 
68
65
  /**
69
- * @generated from field: string uri = 5;
66
+ * @generated from field: string uri = 4;
70
67
  */
71
68
  uri: string;
72
69
 
73
70
  /**
74
- * @generated from field: string filename = 6;
71
+ * original/display/download filename
72
+ *
73
+ * @generated from field: string filename = 5;
75
74
  */
76
75
  filename: string;
77
76
 
78
77
  /**
79
- * Examples: ASSET_FORMAT_GLB → model/gltf-binary, ASSET_FORMAT_GLTF → model/gltf+json, ASSET_FORMAT_OBJ → model/obj or text/plain, ASSET_FORMAT_STL → model/stl, ASSET_FORMAT_STEP → model/step, ASSET_FORMAT_PNG → image/png, ASSET_FORMAT_JPEG → image/jpeg, ASSET_FORMAT_WEBP → image/webp, ASSET_FORMAT_ZIP → application/zip,
78
+ * Examples: MODEL_ASSET_FORMAT_GLB → model/gltf-binary, MODEL_ASSET_FORMAT_GLTF → model/gltf+json, MODEL_ASSET_FORMAT_OBJ → model/obj or text/plain, MODEL_ASSET_FORMAT_STL → model/stl, MODEL_ASSET_FORMAT_STEP → model/step, IMAGE_ASSET_FORMAT_PNG → image/png, IMAGE_ASSET_FORMAT_JPEG → image/jpeg, IMAGE_ASSET_FORMAT_WEBP → image/webp, ASSET_FORMAT_ZIP → application/zip,
80
79
  *
81
- * @generated from field: string content_type = 7;
80
+ * @generated from field: string content_type = 6;
82
81
  */
83
82
  contentType: string;
84
83
 
85
84
  /**
86
- * @generated from field: uint64 size_bytes = 8;
85
+ * @generated from field: uint64 size_bytes = 7;
87
86
  */
88
87
  sizeBytes: bigint;
89
88
 
90
89
  /**
91
- * @generated from field: string sha256 = 9;
90
+ * @generated from field: string sha256 = 8;
92
91
  */
93
92
  sha256: string;
93
+ };
94
+
95
+ /**
96
+ * Describes the message resources.v1.AssetLocation.
97
+ * Use `create(AssetLocationSchema)` to create a new message.
98
+ */
99
+ export const AssetLocationSchema: GenMessage<AssetLocation> = /*@__PURE__*/
100
+ messageDesc(file_resources_v1_model, 0);
101
+
102
+ /**
103
+ * @generated from message resources.v1.ModelAssetRef
104
+ */
105
+ export type ModelAssetRef = Message<"resources.v1.ModelAssetRef"> & {
106
+ /**
107
+ * @generated from field: string id = 1;
108
+ */
109
+ id: string;
110
+
111
+ /**
112
+ * @generated from field: resources.v1.AssetLocation location = 2;
113
+ */
114
+ location?: AssetLocation;
115
+
116
+ /**
117
+ * @generated from field: resources.v1.ModelAssetFormat format = 3;
118
+ */
119
+ format: ModelAssetFormat;
94
120
 
95
121
  /**
96
122
  * Unit used for the model geometry coordinates.
97
123
  * Typically "mm", "cm", "m", "in", etc.
98
124
  * Used to scale the model correctly when loading.
99
125
  *
100
- * @generated from field: resources.v1.ModelUnit unit = 10;
126
+ * @generated from field: resources.v1.ModelUnit unit = 4;
101
127
  */
102
128
  unit: ModelUnit;
103
129
 
@@ -105,7 +131,7 @@ export type StoredAssetRef = Message<"resources.v1.StoredAssetRef"> & {
105
131
  * Defines which axis is "up" in the source asset coordinate system.
106
132
  * Examples: Unity: Y, Blender: Z, many CAD systems: Z
107
133
  *
108
- * @generated from field: resources.v1.ModelAxis up_axis = 11;
134
+ * @generated from field: resources.v1.ModelAxis up_axis = 5;
109
135
  */
110
136
  upAxis: ModelAxis;
111
137
 
@@ -113,17 +139,100 @@ export type StoredAssetRef = Message<"resources.v1.StoredAssetRef"> & {
113
139
  * Defines which axis is "forward" in the source asset coordinate system.
114
140
  * Examples: Unity: Z, Blender: -Y, many CAD systems: X/Y
115
141
  *
116
- * @generated from field: resources.v1.ModelAxis forward_axis = 12;
142
+ * @generated from field: resources.v1.ModelAxis forward_axis = 6;
117
143
  */
118
144
  forwardAxis: ModelAxis;
145
+
146
+ /**
147
+ * @generated from field: resources.v1.ModelAssetRole role = 7;
148
+ */
149
+ role: ModelAssetRole;
150
+
151
+ /**
152
+ * Optional link to the source asset this asset was generated from.
153
+ * Example: a runtime GLB can point to the original imported OBJ/STEP asset.
154
+ *
155
+ * @generated from field: string derived_from_asset_id = 8;
156
+ */
157
+ derivedFromAssetId: string;
119
158
  };
120
159
 
121
160
  /**
122
- * Describes the message resources.v1.StoredAssetRef.
123
- * Use `create(StoredAssetRefSchema)` to create a new message.
161
+ * Describes the message resources.v1.ModelAssetRef.
162
+ * Use `create(ModelAssetRefSchema)` to create a new message.
124
163
  */
125
- export const StoredAssetRefSchema: GenMessage<StoredAssetRef> = /*@__PURE__*/
126
- messageDesc(file_resources_v1_model, 0);
164
+ export const ModelAssetRefSchema: GenMessage<ModelAssetRef> = /*@__PURE__*/
165
+ messageDesc(file_resources_v1_model, 1);
166
+
167
+ /**
168
+ * @generated from message resources.v1.ImageAssetRef
169
+ */
170
+ export type ImageAssetRef = Message<"resources.v1.ImageAssetRef"> & {
171
+ /**
172
+ * @generated from field: string id = 1;
173
+ */
174
+ id: string;
175
+
176
+ /**
177
+ * @generated from field: resources.v1.AssetLocation location = 2;
178
+ */
179
+ location?: AssetLocation;
180
+
181
+ /**
182
+ * @generated from field: resources.v1.ImageAssetFormat format = 3;
183
+ */
184
+ format: ImageAssetFormat;
185
+
186
+ /**
187
+ * Optional link to the model asset this image was generated from.
188
+ * Example: a PNG thumbnail can point to the GLB/OBJ it previews.
189
+ *
190
+ * @generated from field: string derived_from_asset_id = 4;
191
+ */
192
+ derivedFromAssetId: string;
193
+ };
194
+
195
+ /**
196
+ * Describes the message resources.v1.ImageAssetRef.
197
+ * Use `create(ImageAssetRefSchema)` to create a new message.
198
+ */
199
+ export const ImageAssetRefSchema: GenMessage<ImageAssetRef> = /*@__PURE__*/
200
+ messageDesc(file_resources_v1_model, 2);
201
+
202
+ /**
203
+ * @generated from message resources.v1.SidecarAssetRef
204
+ */
205
+ export type SidecarAssetRef = Message<"resources.v1.SidecarAssetRef"> & {
206
+ /**
207
+ * @generated from field: string id = 1;
208
+ */
209
+ id: string;
210
+
211
+ /**
212
+ * @generated from field: resources.v1.AssetLocation location = 2;
213
+ */
214
+ location?: AssetLocation;
215
+
216
+ /**
217
+ * @generated from field: resources.v1.SidecarAssetFormat format = 3;
218
+ */
219
+ format: SidecarAssetFormat;
220
+
221
+ /**
222
+ * Optional link to the model asset this sidecar belongs to or was generated from.
223
+ * Example: an MTL can point to the OBJ it describes; a KTX2 texture can point to a GLB.
224
+ *
225
+ * @generated from field: string associated_asset_id = 4;
226
+ */
227
+ associatedAssetId: string;
228
+ };
229
+
230
+ /**
231
+ * Describes the message resources.v1.SidecarAssetRef.
232
+ * Use `create(SidecarAssetRefSchema)` to create a new message.
233
+ */
234
+ export const SidecarAssetRefSchema: GenMessage<SidecarAssetRef> = /*@__PURE__*/
235
+ messageDesc(file_resources_v1_model, 3);
127
236
 
128
237
  /**
129
238
  * @generated from message resources.v1.ModelArtifact
@@ -157,31 +266,36 @@ export type ModelArtifact = Message<"resources.v1.ModelArtifact"> & {
157
266
  /**
158
267
  * Primary loadable model asset.
159
268
  *
160
- * @generated from field: resources.v1.StoredAssetRef asset = 6;
269
+ * @generated from field: resources.v1.ModelAssetRef asset = 6;
161
270
  */
162
- asset?: StoredAssetRef;
271
+ asset?: ModelAssetRef;
163
272
 
164
273
  /**
165
274
  * Optional preview image.
166
275
  *
167
- * @generated from field: resources.v1.StoredAssetRef thumbnail = 7;
276
+ * @generated from field: resources.v1.ImageAssetRef thumbnail = 7;
168
277
  */
169
- thumbnail?: StoredAssetRef;
278
+ thumbnail?: ImageAssetRef;
170
279
 
171
280
  /**
172
- * OBJ source, GLB runtime, STEP CAD, etc.
281
+ * Source, derived, preview, or collision model assets.
173
282
  *
174
- * @generated from field: repeated resources.v1.StoredAssetRef alternatives = 8;
283
+ * @generated from field: repeated resources.v1.ModelAssetRef alternatives = 8;
175
284
  */
176
- alternatives: StoredAssetRef[];
285
+ alternatives: ModelAssetRef[];
177
286
 
178
287
  /**
179
- * @generated from field: string version = 9;
288
+ * @generated from field: repeated resources.v1.SidecarAssetRef sidecars = 9;
289
+ */
290
+ sidecars: SidecarAssetRef[];
291
+
292
+ /**
293
+ * @generated from field: string version = 10;
180
294
  */
181
295
  version: string;
182
296
 
183
297
  /**
184
- * @generated from field: repeated common.v1.ExternalReference external_references = 10;
298
+ * @generated from field: repeated common.v1.ExternalReference external_references = 11;
185
299
  */
186
300
  externalReferences: ExternalReference[];
187
301
  };
@@ -191,7 +305,7 @@ export type ModelArtifact = Message<"resources.v1.ModelArtifact"> & {
191
305
  * Use `create(ModelArtifactSchema)` to create a new message.
192
306
  */
193
307
  export const ModelArtifactSchema: GenMessage<ModelArtifact> = /*@__PURE__*/
194
- messageDesc(file_resources_v1_model, 1);
308
+ messageDesc(file_resources_v1_model, 4);
195
309
 
196
310
  /**
197
311
  * @generated from message resources.v1.ModelArtifacts
@@ -208,7 +322,7 @@ export type ModelArtifacts = Message<"resources.v1.ModelArtifacts"> & {
208
322
  * Use `create(ModelArtifactsSchema)` to create a new message.
209
323
  */
210
324
  export const ModelArtifactsSchema: GenMessage<ModelArtifacts> = /*@__PURE__*/
211
- messageDesc(file_resources_v1_model, 2);
325
+ messageDesc(file_resources_v1_model, 5);
212
326
 
213
327
  /**
214
328
  * @generated from enum resources.v1.ModelGroup
@@ -220,34 +334,39 @@ export enum ModelGroup {
220
334
  UNSPECIFIED = 0,
221
335
 
222
336
  /**
223
- * @generated from enum value: MODEL_GROUP_PART = 1;
337
+ * @generated from enum value: MODEL_GROUP_PRODUCT = 10;
338
+ */
339
+ PRODUCT = 10,
340
+
341
+ /**
342
+ * @generated from enum value: MODEL_GROUP_SUB_ASSEMBLY = 11;
224
343
  */
225
- PART = 1,
344
+ SUB_ASSEMBLY = 11,
226
345
 
227
346
  /**
228
- * @generated from enum value: MODEL_GROUP_PRODUCT = 2;
347
+ * @generated from enum value: MODEL_GROUP_PART = 12;
229
348
  */
230
- PRODUCT = 2,
349
+ PART = 12,
231
350
 
232
351
  /**
233
- * @generated from enum value: MODEL_GROUP_TOOL = 3;
352
+ * @generated from enum value: MODEL_GROUP_TOOL = 20;
234
353
  */
235
- TOOL = 3,
354
+ TOOL = 20,
236
355
 
237
356
  /**
238
- * @generated from enum value: MODEL_GROUP_ROBOT = 4;
357
+ * @generated from enum value: MODEL_GROUP_ROBOT = 30;
239
358
  */
240
- ROBOT = 4,
359
+ ROBOT = 30,
241
360
 
242
361
  /**
243
- * @generated from enum value: MODEL_GROUP_CONTAINER = 5;
362
+ * @generated from enum value: MODEL_GROUP_CONTAINER = 40;
244
363
  */
245
- CONTAINER = 5,
364
+ CONTAINER = 40,
246
365
 
247
366
  /**
248
- * @generated from enum value: MODEL_GROUP_ASSET = 6;
367
+ * @generated from enum value: MODEL_GROUP_ASSET = 50;
249
368
  */
250
- ASSET = 6,
369
+ ASSET = 50,
251
370
  }
252
371
 
253
372
  /**
@@ -257,113 +376,188 @@ export const ModelGroupSchema: GenEnum<ModelGroup> = /*@__PURE__*/
257
376
  enumDesc(file_resources_v1_model, 0);
258
377
 
259
378
  /**
260
- * @generated from enum resources.v1.AssetFormat
379
+ * @generated from enum resources.v1.ModelAssetRole
261
380
  */
262
- export enum AssetFormat {
381
+ export enum ModelAssetRole {
263
382
  /**
264
- * @generated from enum value: ASSET_FORMAT_UNSPECIFIED = 0;
383
+ * @generated from enum value: MODEL_ASSET_ROLE_UNSPECIFIED = 0;
265
384
  */
266
385
  UNSPECIFIED = 0,
267
386
 
268
387
  /**
269
- * 3D runtime / interchange formats
388
+ * Preferred asset for runtime loading in clients such as Unity.
389
+ *
390
+ * @generated from enum value: MODEL_ASSET_ROLE_RUNTIME = 1;
391
+ */
392
+ RUNTIME = 1,
393
+
394
+ /**
395
+ * Original/source CAD or mesh asset imported into the system.
396
+ *
397
+ * @generated from enum value: MODEL_ASSET_ROLE_SOURCE = 2;
398
+ */
399
+ SOURCE = 2,
400
+
401
+ /**
402
+ * Converted representation derived from another asset.
403
+ *
404
+ * @generated from enum value: MODEL_ASSET_ROLE_DERIVED = 3;
405
+ */
406
+ DERIVED = 3,
407
+
408
+ /**
409
+ * Lower-detail representation used for preview, web viewers, or performance.
410
+ *
411
+ * @generated from enum value: MODEL_ASSET_ROLE_PREVIEW = 4;
412
+ */
413
+ PREVIEW = 4,
414
+
415
+ /**
416
+ * Collision/physics proxy representation.
270
417
  *
271
- * @generated from enum value: ASSET_FORMAT_GLB = 1;
418
+ * @generated from enum value: MODEL_ASSET_ROLE_COLLISION = 5;
419
+ */
420
+ COLLISION = 5,
421
+ }
422
+
423
+ /**
424
+ * Describes the enum resources.v1.ModelAssetRole.
425
+ */
426
+ export const ModelAssetRoleSchema: GenEnum<ModelAssetRole> = /*@__PURE__*/
427
+ enumDesc(file_resources_v1_model, 1);
428
+
429
+ /**
430
+ * @generated from enum resources.v1.ModelAssetFormat
431
+ */
432
+ export enum ModelAssetFormat {
433
+ /**
434
+ * @generated from enum value: MODEL_ASSET_FORMAT_UNSPECIFIED = 0;
435
+ */
436
+ UNSPECIFIED = 0,
437
+
438
+ /**
439
+ * @generated from enum value: MODEL_ASSET_FORMAT_GLB = 1;
272
440
  */
273
441
  GLB = 1,
274
442
 
275
443
  /**
276
- * @generated from enum value: ASSET_FORMAT_GLTF = 2;
444
+ * @generated from enum value: MODEL_ASSET_FORMAT_GLTF = 2;
277
445
  */
278
446
  GLTF = 2,
279
447
 
280
448
  /**
281
- * @generated from enum value: ASSET_FORMAT_OBJ = 3;
449
+ * @generated from enum value: MODEL_ASSET_FORMAT_OBJ = 3;
282
450
  */
283
451
  OBJ = 3,
284
452
 
285
453
  /**
286
- * @generated from enum value: ASSET_FORMAT_FBX = 4;
454
+ * @generated from enum value: MODEL_ASSET_FORMAT_FBX = 4;
287
455
  */
288
456
  FBX = 4,
289
457
 
290
458
  /**
291
- * @generated from enum value: ASSET_FORMAT_STL = 5;
459
+ * @generated from enum value: MODEL_ASSET_FORMAT_STL = 5;
292
460
  */
293
461
  STL = 5,
294
462
 
295
463
  /**
296
- * @generated from enum value: ASSET_FORMAT_STEP = 6;
464
+ * @generated from enum value: MODEL_ASSET_FORMAT_STEP = 6;
297
465
  */
298
466
  STEP = 6,
299
467
 
300
468
  /**
301
- * @generated from enum value: ASSET_FORMAT_IGES = 7;
469
+ * @generated from enum value: MODEL_ASSET_FORMAT_IGES = 7;
302
470
  */
303
471
  IGES = 7,
304
472
 
305
473
  /**
306
- * @generated from enum value: ASSET_FORMAT_USD = 8;
474
+ * @generated from enum value: MODEL_ASSET_FORMAT_USD = 8;
307
475
  */
308
476
  USD = 8,
309
477
 
310
478
  /**
311
- * @generated from enum value: ASSET_FORMAT_USDZ = 9;
479
+ * @generated from enum value: MODEL_ASSET_FORMAT_USDZ = 9;
312
480
  */
313
481
  USDZ = 9,
482
+ }
483
+
484
+ /**
485
+ * Describes the enum resources.v1.ModelAssetFormat.
486
+ */
487
+ export const ModelAssetFormatSchema: GenEnum<ModelAssetFormat> = /*@__PURE__*/
488
+ enumDesc(file_resources_v1_model, 2);
314
489
 
490
+ /**
491
+ * @generated from enum resources.v1.SidecarAssetFormat
492
+ */
493
+ export enum SidecarAssetFormat {
315
494
  /**
316
- * Images / previews / thumbnails
317
- *
318
- * @generated from enum value: ASSET_FORMAT_PNG = 30;
495
+ * @generated from enum value: SIDECAR_ASSET_FORMAT_UNSPECIFIED = 0;
319
496
  */
320
- PNG = 30,
497
+ UNSPECIFIED = 0,
321
498
 
322
499
  /**
323
- * @generated from enum value: ASSET_FORMAT_JPEG = 31;
500
+ * @generated from enum value: SIDECAR_ASSET_FORMAT_MTL = 81;
324
501
  */
325
- JPEG = 31,
502
+ MTL = 81,
326
503
 
327
504
  /**
328
- * @generated from enum value: ASSET_FORMAT_WEBP = 32;
505
+ * @generated from enum value: SIDECAR_ASSET_FORMAT_BASIS = 82;
329
506
  */
330
- WEBP = 32,
507
+ BASIS = 82,
331
508
 
332
509
  /**
333
- * @generated from enum value: ASSET_FORMAT_SVG = 33;
510
+ * @generated from enum value: SIDECAR_ASSET_FORMAT_KTX2 = 83;
334
511
  */
335
- SVG = 33,
512
+ KTX2 = 83,
336
513
 
337
514
  /**
338
- * Material / texture sidecars
339
- *
340
- * @generated from enum value: ASSET_FORMAT_MTL = 50;
515
+ * @generated from enum value: SIDECAR_ASSET_FORMAT_ZIP = 84;
341
516
  */
342
- MTL = 50,
517
+ ZIP = 84,
518
+ }
343
519
 
520
+ /**
521
+ * Describes the enum resources.v1.SidecarAssetFormat.
522
+ */
523
+ export const SidecarAssetFormatSchema: GenEnum<SidecarAssetFormat> = /*@__PURE__*/
524
+ enumDesc(file_resources_v1_model, 3);
525
+
526
+ /**
527
+ * @generated from enum resources.v1.ImageAssetFormat
528
+ */
529
+ export enum ImageAssetFormat {
344
530
  /**
345
- * @generated from enum value: ASSET_FORMAT_BASIS = 51;
531
+ * @generated from enum value: IMAGE_ASSET_FORMAT_UNSPECIFIED = 0;
346
532
  */
347
- BASIS = 51,
533
+ UNSPECIFIED = 0,
348
534
 
349
535
  /**
350
- * @generated from enum value: ASSET_FORMAT_KTX2 = 52;
536
+ * @generated from enum value: IMAGE_ASSET_FORMAT_PNG = 100;
351
537
  */
352
- KTX2 = 52,
538
+ PNG = 100,
353
539
 
354
540
  /**
355
- * Archives / bundles
356
- *
357
- * @generated from enum value: ASSET_FORMAT_ZIP = 70;
541
+ * @generated from enum value: IMAGE_ASSET_FORMAT_JPEG = 101;
542
+ */
543
+ JPEG = 101,
544
+
545
+ /**
546
+ * @generated from enum value: IMAGE_ASSET_FORMAT_WEBP = 102;
358
547
  */
359
- ZIP = 70,
548
+ WEBP = 102,
549
+
550
+ /**
551
+ * @generated from enum value: IMAGE_ASSET_FORMAT_SVG = 103;
552
+ */
553
+ SVG = 103,
360
554
  }
361
555
 
362
556
  /**
363
- * Describes the enum resources.v1.AssetFormat.
557
+ * Describes the enum resources.v1.ImageAssetFormat.
364
558
  */
365
- export const AssetFormatSchema: GenEnum<AssetFormat> = /*@__PURE__*/
366
- enumDesc(file_resources_v1_model, 1);
559
+ export const ImageAssetFormatSchema: GenEnum<ImageAssetFormat> = /*@__PURE__*/
560
+ enumDesc(file_resources_v1_model, 4);
367
561
 
368
562
  /**
369
563
  * @generated from enum resources.v1.ModelUnit
@@ -425,7 +619,7 @@ export enum ModelUnit {
425
619
  * Describes the enum resources.v1.ModelUnit.
426
620
  */
427
621
  export const ModelUnitSchema: GenEnum<ModelUnit> = /*@__PURE__*/
428
- enumDesc(file_resources_v1_model, 2);
622
+ enumDesc(file_resources_v1_model, 5);
429
623
 
430
624
  /**
431
625
  * @generated from enum resources.v1.ModelAxis
@@ -471,7 +665,7 @@ export enum ModelAxis {
471
665
  * Describes the enum resources.v1.ModelAxis.
472
666
  */
473
667
  export const ModelAxisSchema: GenEnum<ModelAxis> = /*@__PURE__*/
474
- enumDesc(file_resources_v1_model, 3);
668
+ enumDesc(file_resources_v1_model, 6);
475
669
 
476
670
  /**
477
671
  * @generated from enum resources.v1.ModelStorageBackend
@@ -517,5 +711,5 @@ export enum ModelStorageBackend {
517
711
  * Describes the enum resources.v1.ModelStorageBackend.
518
712
  */
519
713
  export const ModelStorageBackendSchema: GenEnum<ModelStorageBackend> = /*@__PURE__*/
520
- enumDesc(file_resources_v1_model, 4);
714
+ enumDesc(file_resources_v1_model, 7);
521
715
 
@@ -11,7 +11,7 @@ import { file_buf_validate_validate } from "../../buf/validate/validate_pb.ts";
11
11
  * Describes the file validation/v1/predefined_string_rules.proto.
12
12
  */
13
13
  export const file_validation_v1_predefined_string_rules: GenFile = /*@__PURE__*/
14
- fileDesc("Cit2YWxpZGF0aW9uL3YxL3ByZWRlZmluZWRfc3RyaW5nX3J1bGVzLnByb3RvEg12YWxpZGF0aW9uLnYxOrEBCg5uYW1lX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiQTiABKAhCbsJIawppChVzdHJpbmcubmFtZV9jb21wb25lbnQSKk5hbWUgbXVzdCBoYXZlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycxokdGhpcy5zaXplKCkgPiAwICYmIHRoaXMuc2l6ZSgpIDw9IDY0Ug1uYW1lQ29tcG9uZW50OroBChJtb2RlbF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYkU4gASgIQnDCSG0KawoZc3RyaW5nLm1vZGVsX2lkX2NvbXBvbmVudBIjdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgbW9kZWwgaWQaKSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnbW9kZWwtJykpUhBtb2RlbElkQ29tcG9uZW50OswBChZhcl9jb25maWdfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJJOIAEoCEJ7wkh4CnYKHXN0cmluZy5hcl9jb25maWdfaWRfY29tcG9uZW50EiZ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBBUkNvbmZpZyBpZBotKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhcl9jb25maWctJykpUhNhckNvbmZpZ0lkQ29tcG9uZW50OskBChVwcm9wZXJ0eV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYk04gASgIQnnCSHYKdAocc3RyaW5nLnByb3BlcnR5X2lkX2NvbXBvbmVudBImdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvcGVydHkgaWQaLCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJvcGVydHktJykpUhNwcm9wZXJ0eUlkQ29tcG9uZW50OvMBCh1yb2JvdF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiUTiABKAhCkwHCSI8BCowBCiRzdHJpbmcucm9ib3RfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSLnRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHJvYm90IGRlZmluaXRpb24gaWQaNCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncm9ib3RfZGVmaW5pdGlvbi0nKSlSGnJvYm90RGVmaW5pdGlvbklkQ29tcG9uZW50OukBChtyb2JvdF9pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYlU4gASgIQo0BwkiJAQqGAQoic3RyaW5nLnJvYm90X2luc3RhbmNlX2lkX2NvbXBvbmVudBIsdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcm9ib3QgaW5zdGFuY2UgaWQaMih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncm9ib3RfaW5zdGFuY2UtJykpUhhyb2JvdEluc3RhbmNlSWRDb21wb25lbnQ68wEKHWFzc2V0X2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJZOIAEoCEKTAcJIjwEKjAEKJHN0cmluZy5hc3NldF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIudGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgYXNzZXQgZGVmaW5pdGlvbiBpZBo0KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhc3NldF9kZWZpbml0aW9uLScpKVIaYXNzZXREZWZpbml0aW9uSWRDb21wb25lbnQ66QEKG2Fzc2V0X2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiXTiABKAhCjQHCSIkBCoYBCiJzdHJpbmcuYXNzZXRfaW5zdGFuY2VfaWRfY29tcG9uZW50Eix0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBhc3NldCBpbnN0YW5jZSBpZBoyKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhc3NldF9pbnN0YW5jZS0nKSlSGGFzc2V0SW5zdGFuY2VJZENvbXBvbmVudDrZAQoYZW52aXJvbm1lbnRfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJhOIAEoCEKCAcJIfwp9Ch9zdHJpbmcuZW52aXJvbm1lbnRfaWRfY29tcG9uZW50Eil0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBlbnZpcm9ubWVudCBpZBovKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdlbnZpcm9ubWVudC0nKSlSFmVudmlyb25tZW50SWRDb21wb25lbnQ67gEKHHBhcnRfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYmU4gASgIQpABwkiMAQqJAQojc3RyaW5nLnBhcnRfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSLXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHBhcnQgZGVmaW5pdGlvbiBpZBozKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwYXJ0X2RlZmluaXRpb24tJykpUhlwYXJ0RGVmaW5pdGlvbklkQ29tcG9uZW50OuQBChpwYXJ0X2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiaTiABKAhCigHCSIYBCoMBCiFzdHJpbmcucGFydF9pbnN0YW5jZV9pZF9jb21wb25lbnQSK3RoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHBhcnQgaW5zdGFuY2UgaWQaMSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncGFydF9pbnN0YW5jZS0nKSlSF3BhcnRJbnN0YW5jZUlkQ29tcG9uZW50Ou4BChx0b29sX2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJtOIAEoCEKQAcJIjAEKiQEKI3N0cmluZy50b29sX2RlZmluaXRpb25faWRfY29tcG9uZW50Ei10aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB0b29sIGRlZmluaXRpb24gaWQaMyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgndG9vbF9kZWZpbml0aW9uLScpKVIZdG9vbERlZmluaXRpb25JZENvbXBvbmVudDrPAQoadG9vbF9pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYnE4gASgIQnbCSHMKcQoYc3RyaW5nLnRvb2xfaWRfY29tcG9uZW50EiJ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB0b29sIGlkGjEodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3Rvb2xfaW5zdGFuY2UtJykpUhd0b29sSW5zdGFuY2VJZENvbXBvbmVudDq/AQoTbWFya2VyX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxidTiABKAhCc8JIcApuChpzdHJpbmcubWFya2VyX2lkX2NvbXBvbmVudBIkdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgbWFya2VyIGlkGioodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ21hcmtlci0nKSlSEW1hcmtlcklkQ29tcG9uZW50OsQBChRmaXh0dXJlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxieTiABKAhCdsJIcwpxChtzdHJpbmcuZml4dHVyZV9pZF9jb21wb25lbnQSJXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGZpeHR1cmUgaWQaKyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnZml4dHVyZS0nKSlSEmZpeHR1cmVJZENvbXBvbmVudDrEAQoUc3RhdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYn04gASgIQnbCSHMKcQobc3RyaW5nLnN0YXRpb25faWRfY29tcG9uZW50EiV0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBzdGF0aW9uIGlkGisodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3N0YXRpb24tJykpUhJzdGF0aW9uSWRDb21wb25lbnQ6ugEKEnNraWxsX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxigTiABKAhCcMJIbQprChlzdHJpbmcuc2tpbGxfaWRfY29tcG9uZW50EiN0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBza2lsbCBpZBopKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdza2lsbC0nKSlSEHNraWxsSWRDb21wb25lbnQ62AEKGHByb2Nlc3NfcnVuX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxihTiABKAhCggHCSH8KfQofc3RyaW5nLnByb2Nlc3NfcnVuX2lkX2NvbXBvbmVudBIpdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvY2VzcyBydW4gaWQaLyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJvY2Vzc19ydW4tJykpUhVwcm9jZXNzUnVuSWRDb21wb25lbnQ63wEKGXNlcXVlbmNlX3J1bl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYok4gASgIQocBwkiDAQqAAQogc3RyaW5nLnNlcXVlbmNlX3J1bl9pZF9jb21wb25lbnQSKnRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHNlcXVlbmNlIHJ1biBpZBowKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdzZXF1ZW5jZV9ydW4tJykpUhZzZXF1ZW5jZVJ1bklkQ29tcG9uZW50OsgBChV0YXNrX3J1bl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYo04gASgIQnnCSHYKdAocc3RyaW5nLnRhc2tfcnVuX2lkX2NvbXBvbmVudBImdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgdGFzayBydW4gaWQaLCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgndGFza19ydW4tJykpUhJ0YXNrUnVuSWRDb21wb25lbnQ66QEKG3Byb2Nlc3NfcmVjaXBlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxikTiABKAhCjQHCSIkBCoYBCiJzdHJpbmcucHJvY2Vzc19yZWNpcGVfaWRfY29tcG9uZW50Eix0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBwcm9jZXNzIHJlY2lwZSBpZBoyKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwcm9jZXNzX3JlY2lwZS0nKSlSGHByb2Nlc3NSZWNpcGVJZENvbXBvbmVudDqCAgogc2VxdWVuY2VfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYpU4gASgIQpwBwkiYAQqVAQonc3RyaW5nLnNlcXVlbmNlX2RlZmluaXRpb25faWRfY29tcG9uZW50EjF0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBzZXF1ZW5jZSBkZWZpbml0aW9uIGlkGjcodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3NlcXVlbmNlX2RlZmluaXRpb24tJykpUh1zZXF1ZW5jZURlZmluaXRpb25JZENvbXBvbmVudDruAQocdGFza19kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcximTiABKAhCkAHCSIwBCokBCiNzdHJpbmcudGFza19kZWZpbml0aW9uX2lkX2NvbXBvbmVudBItdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgdGFzayBkZWZpbml0aW9uIGlkGjModGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3Rhc2tfZGVmaW5pdGlvbi0nKSlSGXRhc2tEZWZpbml0aW9uSWRDb21wb25lbnQ6tQEKEWNlbGxfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKdOIAEoCEJtwkhqCmgKGHN0cmluZy5jZWxsX2lkX2NvbXBvbmVudBIidGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgY2VsbCBpZBooKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdjZWxsLScpKVIPY2VsbElkQ29tcG9uZW50OrUBChFsaW5lX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxioTiABKAhCbcJIagpoChhzdHJpbmcubGluZV9pZF9jb21wb25lbnQSInRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGxpbmUgaWQaKCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnbGluZS0nKSlSD2xpbmVJZENvbXBvbmVudDqHAgohY29udGFpbmVyX2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKlOIAEoCEKfAcJImwEKmAEKKHN0cmluZy5jb250YWluZXJfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSMnRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGNvbnRhaW5lciBkZWZpbml0aW9uIGlkGjgodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2NvbnRhaW5lcl9kZWZpbml0aW9uLScpKVIeY29udGFpbmVyRGVmaW5pdGlvbklkQ29tcG9uZW50OvoBCh9jb250YWluZXJfaW5zdGFuY2VfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLqNBiABKAhClQHCSJEBCo4BCiJzdHJpbmcucm9ib3RfaW5zdGFuY2VfaWRfY29tcG9uZW50EjB0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBjb250YWluZXIgaW5zdGFuY2UgaWQaNih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnY29udGFpbmVyX2luc3RhbmNlLScpKVIcY29udGFpbmVySW5zdGFuY2VJZENvbXBvbmVudDrAAQoTd29ya2VyX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi7jQYgASgIQnPCSHAKbgoac3RyaW5nLndvcmtlcl9pZF9jb21wb25lbnQSJHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHdvcmtlciBpZBoqKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCd3b3JrZXItJykpUhF3b3JrZXJJZENvbXBvbmVudDrFAQoUcHJvZHVjdF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvI0GIAEoCEJ2wkhzCnEKG3N0cmluZy5wcm9kdWN0X2lkX2NvbXBvbmVudBIldGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvZHVjdCBpZBorKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwcm9kdWN0LScpKVIScHJvZHVjdElkQ29tcG9uZW50OvgBCh5hcl9jb25maWdfYmluZGluZ19pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvY0GIAEoCEKWAcJIkgEKjwEKJXN0cmluZy5hcl9jb25maWdfYmluZGluZ19pZF9jb21wb25lbnQSL3RoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIEFSIGNvbmZpZyBiaW5kaW5nIGlkGjUodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2FyX2NvbmZpZ19iaW5kaW5nLScpKVIaYXJDb25maWdCaW5kaW5nSWRDb21wb25lbnQ6/QEKH2FyX2NvbmZpZ19pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvo0GIAEoCEKZAcJIlQEKkgEKJnN0cmluZy5hcl9jb25maWdfaW5zdGFuY2VfaWRfY29tcG9uZW50EjB0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBBUiBjb25maWcgaW5zdGFuY2UgaWQaNih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnYXJfY29uZmlnX2luc3RhbmNlLScpKVIbYXJDb25maWdJbnN0YW5jZUlkQ29tcG9uZW50OuQBChphcl9pbnB1dF9zbG90X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi/jQYgASgIQooBwkiGAQqDAQohc3RyaW5nLmFyX2lucHV0X3Nsb3RfaWRfY29tcG9uZW50Eit0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBBUiBpbnB1dCBzbG90IGlkGjEodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2FyX2lucHV0X3Nsb3QtJykpUhZhcklucHV0U2xvdElkQ29tcG9uZW50QrUBChFjb20udmFsaWRhdGlvbi52MUIaUHJlZGVmaW5lZFN0cmluZ1J1bGVzUHJvdG9QAVo/Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3ZhbGlkYXRpb24vdjE7dmFsaWRhdGlvbnYxogIDVlhYygINVmFsaWRhdGlvblxWMeICGVZhbGlkYXRpb25cVjFcR1BCTWV0YWRhdGHqAg5WYWxpZGF0aW9uOjpWMQ", [file_buf_validate_validate]);
14
+ fileDesc("Cit2YWxpZGF0aW9uL3YxL3ByZWRlZmluZWRfc3RyaW5nX3J1bGVzLnByb3RvEg12YWxpZGF0aW9uLnYxOrEBCg5uYW1lX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiQTiABKAhCbsJIawppChVzdHJpbmcubmFtZV9jb21wb25lbnQSKk5hbWUgbXVzdCBoYXZlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycxokdGhpcy5zaXplKCkgPiAwICYmIHRoaXMuc2l6ZSgpIDw9IDY0Ug1uYW1lQ29tcG9uZW50OroBChJtb2RlbF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYkU4gASgIQnDCSG0KawoZc3RyaW5nLm1vZGVsX2lkX2NvbXBvbmVudBIjdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgbW9kZWwgaWQaKSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnbW9kZWwtJykpUhBtb2RlbElkQ29tcG9uZW50OswBChZhcl9jb25maWdfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJJOIAEoCEJ7wkh4CnYKHXN0cmluZy5hcl9jb25maWdfaWRfY29tcG9uZW50EiZ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBBUkNvbmZpZyBpZBotKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhcl9jb25maWctJykpUhNhckNvbmZpZ0lkQ29tcG9uZW50OskBChVwcm9wZXJ0eV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYk04gASgIQnnCSHYKdAocc3RyaW5nLnByb3BlcnR5X2lkX2NvbXBvbmVudBImdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvcGVydHkgaWQaLCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJvcGVydHktJykpUhNwcm9wZXJ0eUlkQ29tcG9uZW50OvMBCh1yb2JvdF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiUTiABKAhCkwHCSI8BCowBCiRzdHJpbmcucm9ib3RfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSLnRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHJvYm90IGRlZmluaXRpb24gaWQaNCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncm9ib3RfZGVmaW5pdGlvbi0nKSlSGnJvYm90RGVmaW5pdGlvbklkQ29tcG9uZW50OukBChtyb2JvdF9pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYlU4gASgIQo0BwkiJAQqGAQoic3RyaW5nLnJvYm90X2luc3RhbmNlX2lkX2NvbXBvbmVudBIsdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcm9ib3QgaW5zdGFuY2UgaWQaMih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncm9ib3RfaW5zdGFuY2UtJykpUhhyb2JvdEluc3RhbmNlSWRDb21wb25lbnQ68wEKHWFzc2V0X2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJZOIAEoCEKTAcJIjwEKjAEKJHN0cmluZy5hc3NldF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIudGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgYXNzZXQgZGVmaW5pdGlvbiBpZBo0KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhc3NldF9kZWZpbml0aW9uLScpKVIaYXNzZXREZWZpbml0aW9uSWRDb21wb25lbnQ66QEKG2Fzc2V0X2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiXTiABKAhCjQHCSIkBCoYBCiJzdHJpbmcuYXNzZXRfaW5zdGFuY2VfaWRfY29tcG9uZW50Eix0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBhc3NldCBpbnN0YW5jZSBpZBoyKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhc3NldF9pbnN0YW5jZS0nKSlSGGFzc2V0SW5zdGFuY2VJZENvbXBvbmVudDrZAQoYZW52aXJvbm1lbnRfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJhOIAEoCEKCAcJIfwp9Ch9zdHJpbmcuZW52aXJvbm1lbnRfaWRfY29tcG9uZW50Eil0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBlbnZpcm9ubWVudCBpZBovKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdlbnZpcm9ubWVudC0nKSlSFmVudmlyb25tZW50SWRDb21wb25lbnQ67gEKHHBhcnRfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYmU4gASgIQpABwkiMAQqJAQojc3RyaW5nLnBhcnRfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSLXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHBhcnQgZGVmaW5pdGlvbiBpZBozKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwYXJ0X2RlZmluaXRpb24tJykpUhlwYXJ0RGVmaW5pdGlvbklkQ29tcG9uZW50OuQBChpwYXJ0X2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiaTiABKAhCigHCSIYBCoMBCiFzdHJpbmcucGFydF9pbnN0YW5jZV9pZF9jb21wb25lbnQSK3RoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHBhcnQgaW5zdGFuY2UgaWQaMSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncGFydF9pbnN0YW5jZS0nKSlSF3BhcnRJbnN0YW5jZUlkQ29tcG9uZW50Ou4BChx0b29sX2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJtOIAEoCEKQAcJIjAEKiQEKI3N0cmluZy50b29sX2RlZmluaXRpb25faWRfY29tcG9uZW50Ei10aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB0b29sIGRlZmluaXRpb24gaWQaMyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgndG9vbF9kZWZpbml0aW9uLScpKVIZdG9vbERlZmluaXRpb25JZENvbXBvbmVudDrPAQoadG9vbF9pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYnE4gASgIQnbCSHMKcQoYc3RyaW5nLnRvb2xfaWRfY29tcG9uZW50EiJ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB0b29sIGlkGjEodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3Rvb2xfaW5zdGFuY2UtJykpUhd0b29sSW5zdGFuY2VJZENvbXBvbmVudDq/AQoTbWFya2VyX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxidTiABKAhCc8JIcApuChpzdHJpbmcubWFya2VyX2lkX2NvbXBvbmVudBIkdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgbWFya2VyIGlkGioodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ21hcmtlci0nKSlSEW1hcmtlcklkQ29tcG9uZW50OsQBChRmaXh0dXJlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxieTiABKAhCdsJIcwpxChtzdHJpbmcuZml4dHVyZV9pZF9jb21wb25lbnQSJXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGZpeHR1cmUgaWQaKyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnZml4dHVyZS0nKSlSEmZpeHR1cmVJZENvbXBvbmVudDrEAQoUc3RhdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYn04gASgIQnbCSHMKcQobc3RyaW5nLnN0YXRpb25faWRfY29tcG9uZW50EiV0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBzdGF0aW9uIGlkGisodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3N0YXRpb24tJykpUhJzdGF0aW9uSWRDb21wb25lbnQ6ugEKEnNraWxsX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxigTiABKAhCcMJIbQprChlzdHJpbmcuc2tpbGxfaWRfY29tcG9uZW50EiN0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBza2lsbCBpZBopKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdza2lsbC0nKSlSEHNraWxsSWRDb21wb25lbnQ62AEKGHByb2Nlc3NfcnVuX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxihTiABKAhCggHCSH8KfQofc3RyaW5nLnByb2Nlc3NfcnVuX2lkX2NvbXBvbmVudBIpdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvY2VzcyBydW4gaWQaLyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJvY2Vzc19ydW4tJykpUhVwcm9jZXNzUnVuSWRDb21wb25lbnQ63wEKGXNlcXVlbmNlX3J1bl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYok4gASgIQocBwkiDAQqAAQogc3RyaW5nLnNlcXVlbmNlX3J1bl9pZF9jb21wb25lbnQSKnRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHNlcXVlbmNlIHJ1biBpZBowKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdzZXF1ZW5jZV9ydW4tJykpUhZzZXF1ZW5jZVJ1bklkQ29tcG9uZW50OsgBChV0YXNrX3J1bl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYo04gASgIQnnCSHYKdAocc3RyaW5nLnRhc2tfcnVuX2lkX2NvbXBvbmVudBImdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgdGFzayBydW4gaWQaLCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgndGFza19ydW4tJykpUhJ0YXNrUnVuSWRDb21wb25lbnQ66QEKG3Byb2Nlc3NfcmVjaXBlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxikTiABKAhCjQHCSIkBCoYBCiJzdHJpbmcucHJvY2Vzc19yZWNpcGVfaWRfY29tcG9uZW50Eix0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBwcm9jZXNzIHJlY2lwZSBpZBoyKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwcm9jZXNzX3JlY2lwZS0nKSlSGHByb2Nlc3NSZWNpcGVJZENvbXBvbmVudDqCAgogc2VxdWVuY2VfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYpU4gASgIQpwBwkiYAQqVAQonc3RyaW5nLnNlcXVlbmNlX2RlZmluaXRpb25faWRfY29tcG9uZW50EjF0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBzZXF1ZW5jZSBkZWZpbml0aW9uIGlkGjcodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3NlcXVlbmNlX2RlZmluaXRpb24tJykpUh1zZXF1ZW5jZURlZmluaXRpb25JZENvbXBvbmVudDruAQocdGFza19kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcximTiABKAhCkAHCSIwBCokBCiNzdHJpbmcudGFza19kZWZpbml0aW9uX2lkX2NvbXBvbmVudBItdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgdGFzayBkZWZpbml0aW9uIGlkGjModGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3Rhc2tfZGVmaW5pdGlvbi0nKSlSGXRhc2tEZWZpbml0aW9uSWRDb21wb25lbnQ6tQEKEWNlbGxfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKdOIAEoCEJtwkhqCmgKGHN0cmluZy5jZWxsX2lkX2NvbXBvbmVudBIidGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgY2VsbCBpZBooKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdjZWxsLScpKVIPY2VsbElkQ29tcG9uZW50OrUBChFsaW5lX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxioTiABKAhCbcJIagpoChhzdHJpbmcubGluZV9pZF9jb21wb25lbnQSInRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGxpbmUgaWQaKCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnbGluZS0nKSlSD2xpbmVJZENvbXBvbmVudDqHAgohY29udGFpbmVyX2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKlOIAEoCEKfAcJImwEKmAEKKHN0cmluZy5jb250YWluZXJfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSMnRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGNvbnRhaW5lciBkZWZpbml0aW9uIGlkGjgodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2NvbnRhaW5lcl9kZWZpbml0aW9uLScpKVIeY29udGFpbmVyRGVmaW5pdGlvbklkQ29tcG9uZW50OvoBCh9jb250YWluZXJfaW5zdGFuY2VfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLqNBiABKAhClQHCSJEBCo4BCiJzdHJpbmcucm9ib3RfaW5zdGFuY2VfaWRfY29tcG9uZW50EjB0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBjb250YWluZXIgaW5zdGFuY2UgaWQaNih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnY29udGFpbmVyX2luc3RhbmNlLScpKVIcY29udGFpbmVySW5zdGFuY2VJZENvbXBvbmVudDrAAQoTd29ya2VyX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi7jQYgASgIQnPCSHAKbgoac3RyaW5nLndvcmtlcl9pZF9jb21wb25lbnQSJHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHdvcmtlciBpZBoqKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCd3b3JrZXItJykpUhF3b3JrZXJJZENvbXBvbmVudDrFAQoUcHJvZHVjdF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvI0GIAEoCEJ2wkhzCnEKG3N0cmluZy5wcm9kdWN0X2lkX2NvbXBvbmVudBIldGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvZHVjdCBpZBorKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwcm9kdWN0LScpKVIScHJvZHVjdElkQ29tcG9uZW50OvgBCh5hcl9jb25maWdfYmluZGluZ19pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvY0GIAEoCEKWAcJIkgEKjwEKJXN0cmluZy5hcl9jb25maWdfYmluZGluZ19pZF9jb21wb25lbnQSL3RoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIEFSIGNvbmZpZyBiaW5kaW5nIGlkGjUodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2FyX2NvbmZpZ19iaW5kaW5nLScpKVIaYXJDb25maWdCaW5kaW5nSWRDb21wb25lbnQ6/QEKH2FyX2NvbmZpZ19pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvo0GIAEoCEKZAcJIlQEKkgEKJnN0cmluZy5hcl9jb25maWdfaW5zdGFuY2VfaWRfY29tcG9uZW50EjB0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBBUiBjb25maWcgaW5zdGFuY2UgaWQaNih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnYXJfY29uZmlnX2luc3RhbmNlLScpKVIbYXJDb25maWdJbnN0YW5jZUlkQ29tcG9uZW50OuQBChphcl9pbnB1dF9zbG90X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi/jQYgASgIQooBwkiGAQqDAQohc3RyaW5nLmFyX2lucHV0X3Nsb3RfaWRfY29tcG9uZW50Eit0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBBUiBpbnB1dCBzbG90IGlkGjEodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2FyX2lucHV0X3Nsb3QtJykpUhZhcklucHV0U2xvdElkQ29tcG9uZW50OtkBChhtb2RlbF9hc3NldF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYwI0GIAEoCEKCAcJIfwp9Ch9zdHJpbmcubW9kZWxfYXNzZXRfaWRfY29tcG9uZW50Eil0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBtb2RlbCBhc3NldCBpZBovKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdtb2RlbF9hc3NldC0nKSlSFW1vZGVsQXNzZXRJZENvbXBvbmVudEK1AQoRY29tLnZhbGlkYXRpb24udjFCGlByZWRlZmluZWRTdHJpbmdSdWxlc1Byb3RvUAFaP2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy92YWxpZGF0aW9uL3YxO3ZhbGlkYXRpb252MaICA1ZYWMoCDVZhbGlkYXRpb25cVjHiAhlWYWxpZGF0aW9uXFYxXEdQQk1ldGFkYXRh6gIOVmFsaWRhdGlvbjo6VjE", [file_buf_validate_validate]);
15
15
 
16
16
  /**
17
17
  * @generated from extension: optional bool name_component = 10000;
@@ -205,3 +205,9 @@ export const ar_config_instance_id_component: GenExtension<StringRules, boolean>
205
205
  export const ar_input_slot_id_component: GenExtension<StringRules, boolean> = /*@__PURE__*/
206
206
  extDesc(file_validation_v1_predefined_string_rules, 31);
207
207
 
208
+ /**
209
+ * @generated from extension: optional bool model_asset_id_component = 100032;
210
+ */
211
+ export const model_asset_id_component: GenExtension<StringRules, boolean> = /*@__PURE__*/
212
+ extDesc(file_validation_v1_predefined_string_rules, 32);
213
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cobotar/protocol",
3
- "version": "0.20.3",
3
+ "version": "0.20.4",
4
4
  "description": "A collection of protobuf messages for the CobotAR-project",
5
5
  "homepage": "https://github.com/cobotar/protocol#readme",
6
6
  "files": [