@silvana-one/orderbook 1.1.24 → 1.1.26

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.
@@ -12,7 +12,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
12
12
  * Describes the file proto/silvana/orderbook/v1/orderbook.proto.
13
13
  */
14
14
  export const file_proto_silvana_orderbook_v1_orderbook: GenFile = /*@__PURE__*/
15
- fileDesc("Cipwcm90by9zaWx2YW5hL29yZGVyYm9vay92MS9vcmRlcmJvb2sucHJvdG8SFHNpbHZhbmEub3JkZXJib29rLnYxIhgKB0pXVEF1dGgSDQoFdG9rZW4YASABKAkiQQoMRXh0ZXJuYWxBdXRoEgsKA2p3dBgBIAEoCRIQCghwYXJ0eV9pZBgCIAEoCRISCgpwdWJsaWNfa2V5GAMgASgJIvoCCgpJbnN0cnVtZW50EhUKDWluc3RydW1lbnRfaWQYASABKAkSFwoPaW5zdHJ1bWVudF90eXBlGAIgASgJEgwKBG5hbWUYAyABKAkSDgoGc3ltYm9sGAQgASgJEhgKC2Rlc2NyaXB0aW9uGAUgASgJSACIAQESEwoGaXNzdWVyGAYgASgJSAGIAQESFQoIcmVnaXN0cnkYByABKAlIAogBARIuCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBITCgtuZXdzX3N5bWJvbBgLIAEoCUIOCgxfZGVzY3JpcHRpb25CCQoHX2lzc3VlckILCglfcmVnaXN0cnlCCwoJX21ldGFkYXRhItwFCgZNYXJrZXQSEQoJbWFya2V0X2lkGAEgASgJEjUKC21hcmtldF90eXBlGAIgASgOMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0VHlwZRIXCg9iYXNlX2luc3RydW1lbnQYAyABKAkSGAoQcXVvdGVfaW5zdHJ1bWVudBgEIAEoCRITCgtwYWlyX3N5bWJvbBgFIAEoCRIRCglpc19hY3RpdmUYBiABKAgSFgoObWluX29yZGVyX3NpemUYByABKAkSGwoObWF4X29yZGVyX3NpemUYCCABKAlIAIgBARIRCgl0aWNrX3NpemUYCSABKAkSEQoJbWFrZXJfZmVlGAogASgJEhEKCXRha2VyX2ZlZRgLIAEoCRIuCghtZXRhZGF0YRgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIuCgpjcmVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCgtwcmljZV9mZWVkcxgPIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIaCg1jdXJyZW50X3ByaWNlGBAgASgBSAOIAQESFwoKY2hhbmdlXzI0aBgRIAEoAUgEiAEBEhcKCnZvbHVtZV8yNGgYEiABKAFIBYgBARI5ChBwcmljZV91cGRhdGVkX2F0GBMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgGiAEBQhEKD19tYXhfb3JkZXJfc2l6ZUILCglfbWV0YWRhdGFCDgoMX3ByaWNlX2ZlZWRzQhAKDl9jdXJyZW50X3ByaWNlQg0KC19jaGFuZ2VfMjRoQg0KC192b2x1bWVfMjRoQhMKEV9wcmljZV91cGRhdGVkX2F0IvcGCgVPcmRlchIQCghvcmRlcl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKAkSMwoKb3JkZXJfdHlwZRgDIAEoDjIfLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyVHlwZRIOCgZ0cmFkZXIYBCABKAkSHQoQdHJhZGVyX29yZGVyX3JlZhgFIAEoCUgAiAEBEhcKD2Jhc2VfaW5zdHJ1bWVudBgGIAEoCRIYChBxdW90ZV9pbnN0cnVtZW50GAcgASgJEg0KBXByaWNlGAggASgJEhAKCHF1YW50aXR5GAkgASgJEhcKD2ZpbGxlZF9xdWFudGl0eRgKIAEoCRIYChBwZW5kaW5nX3F1YW50aXR5GAsgASgJEhoKEnJlbWFpbmluZ19xdWFudGl0eRgMIAEoCRIxCgZzdGF0dXMYDSABKA4yIS5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclN0YXR1cxI4Cg10aW1lX2luX2ZvcmNlGA4gASgOMiEuc2lsdmFuYS5vcmRlcmJvb2sudjEuVGltZUluRm9yY2USMwoKZXhwaXJlc19hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIPCgd2ZXJzaW9uGBAgASgEEjEKC2NyZWRlbnRpYWxzGBEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEjIKDHJlcXVpcmVtZW50cxgSIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCghtZXRhZGF0YRgTIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIuCgpjcmVhdGVkX2F0GBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1CgxjYW5jZWxsZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQFCEwoRX3RyYWRlcl9vcmRlcl9yZWZCDQoLX2V4cGlyZXNfYXRCDgoMX2NyZWRlbnRpYWxzQg8KDV9yZXF1aXJlbWVudHNCCwoJX21ldGFkYXRhQg8KDV9jYW5jZWxsZWRfYXQiggEKDk9yZGVyYm9va0xldmVsEg0KBXByaWNlGAEgASgJEhYKDnRvdGFsX3F1YW50aXR5GAIgASgJEhMKC29yZGVyX2NvdW50GAMgASgNEjQKEGZpcnN0X29yZGVyX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wItUBCg5PcmRlcmJvb2tEZXB0aBIRCgltYXJrZXRfaWQYASABKAkSEwoLcGFpcl9zeW1ib2wYAiABKAkSMgoEYmlkcxgDIAMoCzIkLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyYm9va0xldmVsEjQKBm9mZmVycxgEIAMoCzIkLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyYm9va0xldmVsEjEKDXNuYXBzaG90X3RpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIuoSChJTZXR0bGVtZW50UHJvcG9zYWwSEwoLcHJvcG9zYWxfaWQYASABKAkSEQoJbWFya2V0X2lkGAIgASgJEg0KBWJ1eWVyGAMgASgJEg4KBnNlbGxlchgEIAEoCRIVCg1iYXNlX3F1YW50aXR5GAUgASgJEhYKDnF1b3RlX3F1YW50aXR5GAYgASgJEhgKEHNldHRsZW1lbnRfcHJpY2UYByABKAkSNgoGc3RhdHVzGAggASgOMiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFN0YXR1cxIPCgd2ZXJzaW9uGAkgASgEEj0KF3ByZWNvbmZpcm1hdGlvbl9yZXF1ZXN0GAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEkgKH3ByZWNvbmZpcm1hdGlvbl9yZXF1ZXN0X3NlbnRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESOwoVYnV5ZXJfcHJlY29uZmlybWF0aW9uGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEkoKIWJ1eWVyX3ByZWNvbmZpcm1hdGlvbl9yZWNlaXZlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARI8ChZzZWxsZXJfcHJlY29uZmlybWF0aW9uGA4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEksKInNlbGxlcl9wcmVjb25maXJtYXRpb25fcmVjZWl2ZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESHQoQZHZwX3Byb3Bvc2FsX2NpZBgQIAEoCUgGiAEBEiMKFmR2cF9wcm9wb3NhbF91cGRhdGVfaWQYESABKAlIB4gBARIUCgdkdnBfY2lkGBIgASgJSAiIAQESGgoNZHZwX3VwZGF0ZV9pZBgTIAEoCUgJiAEBEiEKFGFsbG9jYXRpb25fYnV5ZXJfY2lkGBUgASgJSAqIAQESJwoaYWxsb2NhdGlvbl9idXllcl91cGRhdGVfaWQYFiABKAlIC4gBARIiChVhbGxvY2F0aW9uX3NlbGxlcl9jaWQYFyABKAlIDIgBARIoChthbGxvY2F0aW9uX3NlbGxlcl91cGRhdGVfaWQYGCABKAlIDYgBARIcCg9zZXR0bGVkX2R2cF9jaWQYGSABKAlIDogBARIhChRzZXR0bGVtZW50X3VwZGF0ZV9pZBgaIAEoCUgPiAEBEikKHHNldHRsZW1lbnRfY29tcGxldGlvbl9vZmZzZXQYGyABKAlIEIgBARIuCgpjcmVhdGVkX2F0GBwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4Cg9wcmVjb25maXJtZWRfYXQYHSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBGIAQESNwoOZHZwX2NyZWF0ZWRfYXQYHiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBKIAQESOAoPZHZwX2FjY2VwdGVkX2F0GB8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgTiAEBEjUKDGFsbG9jYXRlZF9hdBggIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIFIgBARIzCgpzZXR0bGVkX2F0GCEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgViAEBEjUKDGNhbmNlbGxlZF9hdBgiIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIFogBARIyCglmYWlsZWRfYXQYIyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBeIAQESGgoNZXJyb3JfbWVzc2FnZRgkIAEoCUgYiAEBEi4KCG1ldGFkYXRhGCUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgZiAEBEhEKCWJ1eWVyX2ZlZRgmIAEoCRISCgpzZWxsZXJfZmVlGCcgASgJEhsKDmJ1eWVyX2ZlZV9zZW50GCggASgISBqIAQESHAoPc2VsbGVyX2ZlZV9zZW50GCkgASgISBuIAQESHwoSYnV5ZXJfZmVlX3JlY2VpdmVkGCogASgISByIAQESIAoTc2VsbGVyX2ZlZV9yZWNlaXZlZBgrIAEoCEgdiAEBQhoKGF9wcmVjb25maXJtYXRpb25fcmVxdWVzdEIiCiBfcHJlY29uZmlybWF0aW9uX3JlcXVlc3Rfc2VudF9hdEIYChZfYnV5ZXJfcHJlY29uZmlybWF0aW9uQiQKIl9idXllcl9wcmVjb25maXJtYXRpb25fcmVjZWl2ZWRfYXRCGQoXX3NlbGxlcl9wcmVjb25maXJtYXRpb25CJQojX3NlbGxlcl9wcmVjb25maXJtYXRpb25fcmVjZWl2ZWRfYXRCEwoRX2R2cF9wcm9wb3NhbF9jaWRCGQoXX2R2cF9wcm9wb3NhbF91cGRhdGVfaWRCCgoIX2R2cF9jaWRCEAoOX2R2cF91cGRhdGVfaWRCFwoVX2FsbG9jYXRpb25fYnV5ZXJfY2lkQh0KG19hbGxvY2F0aW9uX2J1eWVyX3VwZGF0ZV9pZEIYChZfYWxsb2NhdGlvbl9zZWxsZXJfY2lkQh4KHF9hbGxvY2F0aW9uX3NlbGxlcl91cGRhdGVfaWRCEgoQX3NldHRsZWRfZHZwX2NpZEIXChVfc2V0dGxlbWVudF91cGRhdGVfaWRCHwodX3NldHRsZW1lbnRfY29tcGxldGlvbl9vZmZzZXRCEgoQX3ByZWNvbmZpcm1lZF9hdEIRCg9fZHZwX2NyZWF0ZWRfYXRCEgoQX2R2cF9hY2NlcHRlZF9hdEIPCg1fYWxsb2NhdGVkX2F0Qg0KC19zZXR0bGVkX2F0Qg8KDV9jYW5jZWxsZWRfYXRCDAoKX2ZhaWxlZF9hdEIQCg5fZXJyb3JfbWVzc2FnZUILCglfbWV0YWRhdGFCEQoPX2J1eWVyX2ZlZV9zZW50QhIKEF9zZWxsZXJfZmVlX3NlbnRCFQoTX2J1eWVyX2ZlZV9yZWNlaXZlZEIWChRfc2VsbGVyX2ZlZV9yZWNlaXZlZCK7AQoKT3JkZXJNYXRjaBIeChZzZXR0bGVtZW50X3Byb3Bvc2FsX2lkGAEgASgJEhQKDGJpZF9vcmRlcl9pZBgCIAEoBBIWCg5vZmZlcl9vcmRlcl9pZBgDIAEoBBIYChBtYXRjaGVkX3F1YW50aXR5GAQgASgJEhUKDW1hdGNoZWRfcHJpY2UYBSABKAkSLgoKY3JlYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAihwMKClNldHRsZW1lbnQSFQoNc2V0dGxlbWVudF9pZBgBIAEoBBITCgtwcm9wb3NhbF9pZBgCIAEoCRIRCgltYXJrZXRfaWQYAyABKAkSDQoFYnV5ZXIYBCABKAkSDgoGc2VsbGVyGAUgASgJEhUKDWJhc2VfcXVhbnRpdHkYBiABKAkSFgoOcXVvdGVfcXVhbnRpdHkYByABKAkSGAoQc2V0dGxlbWVudF9wcmljZRgIIAEoCRIXCg9zZXR0bGVkX2R2cF9jaWQYCSABKAkSHAoUc2V0dGxlbWVudF91cGRhdGVfaWQYCiABKAkSLgoKc2V0dGxlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoIbWV0YWRhdGEYDSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQFCCwoJX21ldGFkYXRhIpUCCgpNYXJrZXREYXRhEhEKCW1hcmtldF9pZBgBIAEoCRITCgtwYWlyX3N5bWJvbBgCIAEoCRIVCghiZXN0X2JpZBgDIAEoCUgAiAEBEhcKCmJlc3Rfb2ZmZXIYBCABKAlIAYgBARIXCgpsYXN0X3ByaWNlGAUgASgJSAKIAQESEgoKdm9sdW1lXzI0aBgGIAEoCRISCgp0cmFkZXNfMjRoGAcgASgNEhMKC29wZW5fb3JkZXJzGAggASgNEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgsKCV9iZXN0X2JpZEINCgtfYmVzdF9vZmZlckINCgtfbGFzdF9wcmljZSL5AwoQR2V0T3JkZXJzUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIWCgltYXJrZXRfaWQYAiABKAlIAIgBARI2CgZzdGF0dXMYAyABKA4yIS5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclN0YXR1c0gBiAEBEjgKCm9yZGVyX3R5cGUYBCABKA4yHy5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclR5cGVIAogBARISCgVsaW1pdBgFIAEoDUgDiAEBEhMKBm9mZnNldBgGIAEoDUgEiAEBEj4KDWV4dGVybmFsX2F1dGgYCiABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIBYgBARIuCiFsaXF1aWRpdHlfcHJvdmlkZXJfYWN0aXZlX3NlY29uZHMYCyABKA1IBogBARIgChhsaXF1aWRpdHlfcHJvdmlkZXJfbmFtZXMYDCADKAlCDAoKX21hcmtldF9pZEIJCgdfc3RhdHVzQg0KC19vcmRlcl90eXBlQggKBl9saW1pdEIJCgdfb2Zmc2V0QhAKDl9leHRlcm5hbF9hdXRoQiQKIl9saXF1aWRpdHlfcHJvdmlkZXJfYWN0aXZlX3NlY29uZHMicQoRR2V0T3JkZXJzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEisKBm9yZGVycxgDIAMoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyEg0KBXRvdGFsGAQgASgNIsoBChhHZXRPcmRlcmJvb2tEZXB0aFJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEQoJbWFya2V0X2lkGAIgASgJEhIKBWRlcHRoGAMgASgNSACIAQESPgoNZXh0ZXJuYWxfYXV0aBgKIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLkV4dGVybmFsQXV0aEgBiAEBQggKBl9kZXB0aEIQCg5fZXh0ZXJuYWxfYXV0aCJ2ChlHZXRPcmRlcmJvb2tEZXB0aFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI3CglvcmRlcmJvb2sYAyABKAsyJC5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tEZXB0aCLKAgodR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1JlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSFgoJbWFya2V0X2lkGAIgASgJSACIAQESOwoGc3RhdHVzGAMgASgOMiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFN0YXR1c0gBiAEBEhIKBWxpbWl0GAQgASgNSAKIAQESEwoGb2Zmc2V0GAUgASgNSAOIAQESPgoNZXh0ZXJuYWxfYXV0aBgKIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLkV4dGVybmFsQXV0aEgEiAEBQgwKCl9tYXJrZXRfaWRCCQoHX3N0YXR1c0IICgZfbGltaXRCCQoHX29mZnNldEIQCg5fZXh0ZXJuYWxfYXV0aCKOAQoeR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI7Cglwcm9wb3NhbHMYAyADKAsyKC5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50UHJvcG9zYWwSDQoFdG90YWwYBCABKA0isgEKHEdldFNldHRsZW1lbnRQcm9wb3NhbFJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSPgoNZXh0ZXJuYWxfYXV0aBgKIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLkV4dGVybmFsQXV0aEgAiAEBQhAKDl9leHRlcm5hbF9hdXRoIo8BCh1HZXRTZXR0bGVtZW50UHJvcG9zYWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSPwoIcHJvcG9zYWwYAyABKAsyKC5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50UHJvcG9zYWxIAIgBAUILCglfcHJvcG9zYWwihgIKFUdldEluc3RydW1lbnRzUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIcCg9pbnN0cnVtZW50X3R5cGUYAiABKAlIAIgBARISCgVsaW1pdBgDIAEoDUgBiAEBEhMKBm9mZnNldBgEIAEoDUgCiAEBEj4KDWV4dGVybmFsX2F1dGgYCiABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIA4gBAUISChBfaW5zdHJ1bWVudF90eXBlQggKBl9saW1pdEIJCgdfb2Zmc2V0QhAKDl9leHRlcm5hbF9hdXRoIoABChZHZXRJbnN0cnVtZW50c1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI1CgtpbnN0cnVtZW50cxgDIAMoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLkluc3RydW1lbnQSDQoFdG90YWwYBCABKA0irAMKEUdldE1hcmtldHNSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEjoKC21hcmtldF90eXBlGAIgASgOMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0VHlwZUgAiAEBEhwKD2Jhc2VfaW5zdHJ1bWVudBgDIAEoCUgBiAEBEh0KEHF1b3RlX2luc3RydW1lbnQYBCABKAlIAogBARIYCgthY3RpdmVfb25seRgFIAEoCEgDiAEBEhIKBWxpbWl0GAYgASgNSASIAQESEwoGb2Zmc2V0GAcgASgNSAWIAQESPgoNZXh0ZXJuYWxfYXV0aBgKIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLkV4dGVybmFsQXV0aEgGiAEBQg4KDF9tYXJrZXRfdHlwZUISChBfYmFzZV9pbnN0cnVtZW50QhMKEV9xdW90ZV9pbnN0cnVtZW50Qg4KDF9hY3RpdmVfb25seUIICgZfbGltaXRCCQoHX29mZnNldEIQCg5fZXh0ZXJuYWxfYXV0aCJ0ChJHZXRNYXJrZXRzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEi0KB21hcmtldHMYAyADKAsyHC5zaWx2YW5hLm9yZGVyYm9vay52MS5NYXJrZXQSDQoFdG90YWwYBCABKA0i+wIKFkdldE9yZGVySGlzdG9yeVJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSFgoJbWFya2V0X2lkGAIgASgJSACIAQESMgoJZnJvbV90aW1lGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEjAKB3RvX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESEgoFbGltaXQYBSABKA1IA4gBARITCgZvZmZzZXQYBiABKA1IBIgBARI+Cg1leHRlcm5hbF9hdXRoGAogASgLMiIuc2lsdmFuYS5vcmRlcmJvb2sudjEuRXh0ZXJuYWxBdXRoSAWIAQFCDAoKX21hcmtldF9pZEIMCgpfZnJvbV90aW1lQgoKCF90b190aW1lQggKBl9saW1pdEIJCgdfb2Zmc2V0QhAKDl9leHRlcm5hbF9hdXRoIncKF0dldE9yZGVySGlzdG9yeVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIrCgZvcmRlcnMYAyADKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlchINCgV0b3RhbBgEIAEoDSKpAQoUR2V0TWFya2V0RGF0YVJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEgoKbWFya2V0X2lkcxgCIAMoCRI+Cg1leHRlcm5hbF9hdXRoGAogASgLMiIuc2lsdmFuYS5vcmRlcmJvb2sudjEuRXh0ZXJuYWxBdXRoSACIAQFCEAoOX2V4dGVybmFsX2F1dGgicAoVR2V0TWFya2V0RGF0YVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI1CgttYXJrZXRfZGF0YRgDIAMoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldERhdGEi+gIKFUdldFNldHRsZW1lbnRzUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIWCgltYXJrZXRfaWQYAiABKAlIAIgBARIyCglmcm9tX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESMAoHdG9fdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARISCgVsaW1pdBgFIAEoDUgDiAEBEhMKBm9mZnNldBgGIAEoDUgEiAEBEj4KDWV4dGVybmFsX2F1dGgYCiABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIBYgBAUIMCgpfbWFya2V0X2lkQgwKCl9mcm9tX3RpbWVCCgoIX3RvX3RpbWVCCAoGX2xpbWl0QgkKB19vZmZzZXRCEAoOX2V4dGVybmFsX2F1dGgigAEKFkdldFNldHRsZW1lbnRzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjUKC3NldHRsZW1lbnRzGAMgAygLMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudBINCgV0b3RhbBgEIAEoDSLLAQoZU3Vic2NyaWJlT3JkZXJib29rUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIRCgltYXJrZXRfaWQYAiABKAkSEgoFZGVwdGgYAyABKA1IAIgBARI+Cg1leHRlcm5hbF9hdXRoGAogASgLMiIuc2lsdmFuYS5vcmRlcmJvb2sudjEuRXh0ZXJuYWxBdXRoSAGIAQFCCAoGX2RlcHRoQhAKDl9leHRlcm5hbF9hdXRoIocDCg9PcmRlcmJvb2tVcGRhdGUSEQoJbWFya2V0X2lkGAEgASgJEkUKC3VwZGF0ZV90eXBlGAIgASgOMjAuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rVXBkYXRlLlVwZGF0ZVR5cGUSOQoLYmlkX3VwZGF0ZXMYAyADKAsyJC5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tMZXZlbBI7Cg1vZmZlcl91cGRhdGVzGAQgAygLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rTGV2ZWwSLQoJdGltZXN0YW1wGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9zZXF1ZW5jZV9udW1iZXIYBiABKAQiWgoKVXBkYXRlVHlwZRIbChdVUERBVEVfVFlQRV9VTlNQRUNJRklFRBAAEhgKFFVQREFURV9UWVBFX1NOQVBTSE9UEAESFQoRVVBEQVRFX1RZUEVfREVMVEEQAiK9AQoWU3Vic2NyaWJlT3JkZXJzUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIWCgltYXJrZXRfaWQYAiABKAlIAIgBARI+Cg1leHRlcm5hbF9hdXRoGAogASgLMiIuc2lsdmFuYS5vcmRlcmJvb2sudjEuRXh0ZXJuYWxBdXRoSAGIAQFCDAoKX21hcmtldF9pZEIQCg5fZXh0ZXJuYWxfYXV0aCKtAwoLT3JkZXJVcGRhdGUSPwoKZXZlbnRfdHlwZRgBIAEoDjIrLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyVXBkYXRlLkV2ZW50VHlwZRIqCgVvcmRlchgCIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyEjQKBW1hdGNoGAMgASgLMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJNYXRjaEgAiAEBEi0KCXRpbWVzdGFtcBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiwQEKCUV2ZW50VHlwZRIaChZFVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSRVZFTlRfVFlQRV9DUkVBVEVEEAESFgoSRVZFTlRfVFlQRV9VUERBVEVEEAISFQoRRVZFTlRfVFlQRV9GSUxMRUQQAxIfChtFVkVOVF9UWVBFX1BBUlRJQUxMWV9GSUxMRUQQBBIYChRFVkVOVF9UWVBFX0NBTkNFTExFRBAFEhYKEkVWRU5UX1RZUEVfRVhQSVJFRBAGQggKBl9tYXRjaCLCAQobU3Vic2NyaWJlU2V0dGxlbWVudHNSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhYKCW1hcmtldF9pZBgCIAEoCUgAiAEBEj4KDWV4dGVybmFsX2F1dGgYCiABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIAYgBAUIMCgpfbWFya2V0X2lkQhAKDl9leHRlcm5hbF9hdXRoIokEChBTZXR0bGVtZW50VXBkYXRlEkQKCmV2ZW50X3R5cGUYASABKA4yMC5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50VXBkYXRlLkV2ZW50VHlwZRI6Cghwcm9wb3NhbBgCIAEoCzIoLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRQcm9wb3NhbBItCgl0aW1lc3RhbXAYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIsMCCglFdmVudFR5cGUSGgoWRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEh8KG0VWRU5UX1RZUEVfUFJPUE9TQUxfQ1JFQVRFRBABEigKJEVWRU5UX1RZUEVfUFJFQ09ORklSTUFUSU9OX1JFUVVFU1RFRBACEhsKF0VWRU5UX1RZUEVfUFJFQ09ORklSTUVEEAMSGgoWRVZFTlRfVFlQRV9EVlBfQ1JFQVRFRBAEEhsKF0VWRU5UX1RZUEVfRFZQX0FDQ0VQVEVEEAUSGAoURVZFTlRfVFlQRV9BTExPQ0FURUQQBhIWChJFVkVOVF9UWVBFX1NFVFRMRUQQBxIVChFFVkVOVF9UWVBFX0ZBSUxFRBAIEhgKFEVWRU5UX1RZUEVfQ0FOQ0VMTEVEEAkSFgoSRVZFTlRfVFlQRV9VUERBVEVEEAoi8wQKElN1Ym1pdE9yZGVyUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIRCgltYXJrZXRfaWQYAiABKAkSMwoKb3JkZXJfdHlwZRgDIAEoDjIfLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyVHlwZRINCgVwcmljZRgEIAEoCRIQCghxdWFudGl0eRgFIAEoCRI4Cg10aW1lX2luX2ZvcmNlGAYgASgOMiEuc2lsdmFuYS5vcmRlcmJvb2sudjEuVGltZUluRm9yY2USMwoKZXhwaXJlc19hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIdChB0cmFkZXJfb3JkZXJfcmVmGAggASgJSAGIAQESMQoLY3JlZGVudGlhbHMYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESMgoMcmVxdWlyZW1lbnRzGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEj4KDWV4dGVybmFsX2F1dGgYDyABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIBYgBAUINCgtfZXhwaXJlc19hdEITChFfdHJhZGVyX29yZGVyX3JlZkIOCgxfY3JlZGVudGlhbHNCDwoNX3JlcXVpcmVtZW50c0ILCglfbWV0YWRhdGFCEAoOX2V4dGVybmFsX2F1dGgicgoTU3VibWl0T3JkZXJSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSLwoFb3JkZXIYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlckgAiAEBQggKBl9vcmRlciKlAQoSQ2FuY2VsT3JkZXJSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhAKCG9yZGVyX2lkGAIgASgEEj4KDWV4dGVybmFsX2F1dGgYCiABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIAIgBAUIQCg5fZXh0ZXJuYWxfYXV0aCJyChNDYW5jZWxPcmRlclJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIvCgVvcmRlchgDIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVySACIAQFCCAoGX29yZGVyIvoEChJDcmVhdGVQYXJ0eVJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEAoIcGFydHlfaWQYAiABKAkSEgoKcGFydHlfbmFtZRgDIAEoCRISCgpwYXJ0eV90eXBlGAQgASgJEh0KEHVzZXJfc2VydmljZV9jaWQYBSABKAlIAIgBARIgChNvcGVyYXRvcl9jb25maWdfY2lkGAYgASgJSAGIAQESLgoIbWV0YWRhdGEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESJQoYdXNlcl9zZXJ2aWNlX3JlcXVlc3RfY2lkGAggASgJSAOIAQESKgoJdXNlcl9kYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI+Cg1leHRlcm5hbF9hdXRoGA8gASgLMiIuc2lsdmFuYS5vcmRlcmJvb2sudjEuRXh0ZXJuYWxBdXRoSASIAQESJAoXbGlxdWlkaXR5X3Byb3ZpZGVyX25hbWUYECABKAlIBYgBARIrCh5saXF1aWRpdHlfcHJvdmlkZXJfZGVzY3JpcHRpb24YESABKAlIBogBAUITChFfdXNlcl9zZXJ2aWNlX2NpZEIWChRfb3BlcmF0b3JfY29uZmlnX2NpZEILCglfbWV0YWRhdGFCGwoZX3VzZXJfc2VydmljZV9yZXF1ZXN0X2NpZEIQCg5fZXh0ZXJuYWxfYXV0aEIaChhfbGlxdWlkaXR5X3Byb3ZpZGVyX25hbWVCIQofX2xpcXVpZGl0eV9wcm92aWRlcl9kZXNjcmlwdGlvbiJjChNDcmVhdGVQYXJ0eVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIqCgVwYXJ0eRgDIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLlBhcnR5IsMEChJVcGRhdGVQYXJ0eVJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEAoIcGFydHlfaWQYAiABKAkSGAoQZXhwZWN0ZWRfdmVyc2lvbhgDIAEoBBIXCgpwYXJ0eV9uYW1lGAQgASgJSACIAQESHQoQdXNlcl9zZXJ2aWNlX2NpZBgFIAEoCUgBiAEBEiAKE29wZXJhdG9yX2NvbmZpZ19jaWQYBiABKAlIAogBARIlChh1c2VyX3NlcnZpY2VfcmVxdWVzdF9jaWQYByABKAlIA4gBARIvCgl1c2VyX2RhdGEYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQESLgoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESGgoNY2hhbmdlX3JlYXNvbhgKIAEoCUgGiAEBEj4KDWV4dGVybmFsX2F1dGgYDyABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIB4gBAUINCgtfcGFydHlfbmFtZUITChFfdXNlcl9zZXJ2aWNlX2NpZEIWChRfb3BlcmF0b3JfY29uZmlnX2NpZEIbChlfdXNlcl9zZXJ2aWNlX3JlcXVlc3RfY2lkQgwKCl91c2VyX2RhdGFCCwoJX21ldGFkYXRhQhAKDl9jaGFuZ2VfcmVhc29uQhAKDl9leHRlcm5hbF9hdXRoImMKE1VwZGF0ZVBhcnR5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEioKBXBhcnR5GAMgASgLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuUGFydHki2gEKFkRlYWN0aXZhdGVQYXJ0eVJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEAoIcGFydHlfaWQYAiABKAkSGAoQZXhwZWN0ZWRfdmVyc2lvbhgDIAEoBBIVCg1jaGFuZ2VfcmVhc29uGAQgASgJEj4KDWV4dGVybmFsX2F1dGgYCiABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIAIgBAUIQCg5fZXh0ZXJuYWxfYXV0aCJnChdEZWFjdGl2YXRlUGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSLnAQoWR2V0UGFydHlIaXN0b3J5UmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIQCghwYXJ0eV9pZBgCIAEoCRISCgVsaW1pdBgDIAEoDUgAiAEBEhMKBm9mZnNldBgEIAEoDUgBiAEBEj4KDWV4dGVybmFsX2F1dGgYCiABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIAogBAUIICgZfbGltaXRCCQoHX29mZnNldEIQCg5fZXh0ZXJuYWxfYXV0aCKBAgoRUGFydHlIaXN0b3J5RW50cnkSEgoKaGlzdG9yeV9pZBgBIAEoBBIQCghwYXJ0eV9pZBgCIAEoCRIOCgZhY3Rpb24YAyABKAkSEgoKY2hhbmdlZF9ieRgEIAEoCRIaCg1jaGFuZ2VfcmVhc29uGAUgASgJSACIAQESDwoHdmVyc2lvbhgGIAEoBBIzCg5wYXJ0eV9zbmFwc2hvdBgHIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLlBhcnR5Ei4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhAKDl9jaGFuZ2VfcmVhc29uIoQBChdHZXRQYXJ0eUhpc3RvcnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSOAoHaGlzdG9yeRgDIAMoCzInLnNpbHZhbmEub3JkZXJib29rLnYxLlBhcnR5SGlzdG9yeUVudHJ5Eg0KBXRvdGFsGAQgASgNIqIBCg9HZXRQYXJ0eVJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEAoIcGFydHlfaWQYAiABKAkSPgoNZXh0ZXJuYWxfYXV0aBgKIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLkV4dGVybmFsQXV0aEgAiAEBQhAKDl9leHRlcm5hbF9hdXRoImAKEEdldFBhcnR5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEioKBXBhcnR5GAMgASgLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuUGFydHkiogIKEUdldFBhcnRpZXNSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhcKCnBhcnR5X3R5cGUYAiABKAlIAIgBARIYCgthY3RpdmVfb25seRgDIAEoCEgBiAEBEhIKBWxpbWl0GAQgASgNSAKIAQESEwoGb2Zmc2V0GAUgASgNSAOIAQESPgoNZXh0ZXJuYWxfYXV0aBgKIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLkV4dGVybmFsQXV0aEgEiAEBQg0KC19wYXJ0eV90eXBlQg4KDF9hY3RpdmVfb25seUIICgZfbGltaXRCCQoHX29mZnNldEIQCg5fZXh0ZXJuYWxfYXV0aCJzChJHZXRQYXJ0aWVzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEiwKB3BhcnRpZXMYAyADKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eRINCgV0b3RhbBgEIAEoDSLgAwoFUGFydHkSEAoIcGFydHlfaWQYASABKAkSEgoKcGFydHlfbmFtZRgCIAEoCRISCgpwYXJ0eV90eXBlGAMgASgJEh0KEHVzZXJfc2VydmljZV9jaWQYBCABKAlIAIgBARIgChNvcGVyYXRvcl9jb25maWdfY2lkGAUgASgJSAGIAQESEQoJaXNfYWN0aXZlGAYgASgIEi4KCG1ldGFkYXRhGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKGHVzZXJfc2VydmljZV9yZXF1ZXN0X2NpZBgKIAEoCUgDiAEBEioKCXVzZXJfZGF0YRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDwoHdmVyc2lvbhgMIAEoBEITChFfdXNlcl9zZXJ2aWNlX2NpZEIWChRfb3BlcmF0b3JfY29uZmlnX2NpZEILCglfbWV0YWRhdGFCGwoZX3VzZXJfc2VydmljZV9yZXF1ZXN0X2NpZCKNAgoRTGlxdWlkaXR5UHJvdmlkZXISDAoEbmFtZRgBIAEoCRIQCghwYXJ0eV9pZBgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEjkKEGxhc3RfYWN0aXZlX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2Rlc2NyaXB0aW9uQhMKEV9sYXN0X2FjdGl2ZV90aW1lIosCChxHZXRMaXF1aWRpdHlQcm92aWRlcnNSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhsKDmFjdGl2ZV9zZWNvbmRzGAIgASgNSACIAQESEgoFbGltaXQYAyABKA1IAYgBARITCgZvZmZzZXQYBCABKA1IAogBARI+Cg1leHRlcm5hbF9hdXRoGAogASgLMiIuc2lsdmFuYS5vcmRlcmJvb2sudjEuRXh0ZXJuYWxBdXRoSAOIAQFCEQoPX2FjdGl2ZV9zZWNvbmRzQggKBl9saW1pdEIJCgdfb2Zmc2V0QhAKDl9leHRlcm5hbF9hdXRoIpYBCh1HZXRMaXF1aWRpdHlQcm92aWRlcnNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSRAoTbGlxdWlkaXR5X3Byb3ZpZGVycxgDIAMoCzInLnNpbHZhbmEub3JkZXJib29rLnYxLkxpcXVpZGl0eVByb3ZpZGVyEg0KBXRvdGFsGAQgASgNIqYDChdDcmVhdGVJbnN0cnVtZW50UmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIVCg1pbnN0cnVtZW50X2lkGAIgASgJEhcKD2luc3RydW1lbnRfdHlwZRgDIAEoCRIMCgRuYW1lGAQgASgJEg4KBnN5bWJvbBgFIAEoCRIYCgtkZXNjcmlwdGlvbhgGIAEoCUgAiAEBEhMKBmlzc3VlchgHIAEoCUgBiAEBEhUKCHJlZ2lzdHJ5GAggASgJSAKIAQESLgoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESEwoLbmV3c19zeW1ib2wYCiABKAkSPgoNZXh0ZXJuYWxfYXV0aBgPIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLkV4dGVybmFsQXV0aEgEiAEBQg4KDF9kZXNjcmlwdGlvbkIJCgdfaXNzdWVyQgsKCV9yZWdpc3RyeUILCglfbWV0YWRhdGFCEAoOX2V4dGVybmFsX2F1dGgicgoYQ3JlYXRlSW5zdHJ1bWVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI0CgppbnN0cnVtZW50GAMgASgLMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuSW5zdHJ1bWVudCLFBAoTQ3JlYXRlTWFya2V0UmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIRCgltYXJrZXRfaWQYAiABKAkSNQoLbWFya2V0X3R5cGUYAyABKA4yIC5zaWx2YW5hLm9yZGVyYm9vay52MS5NYXJrZXRUeXBlEhwKD2Jhc2VfaW5zdHJ1bWVudBgEIAEoCUgAiAEBEh0KEHF1b3RlX2luc3RydW1lbnQYBSABKAlIAYgBARIWCg5taW5fb3JkZXJfc2l6ZRgGIAEoCRIbCg5tYXhfb3JkZXJfc2l6ZRgHIAEoCUgCiAEBEhEKCXRpY2tfc2l6ZRgIIAEoCRIRCgltYWtlcl9mZWUYCSABKAkSEQoJdGFrZXJfZmVlGAogASgJEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEjEKC3ByaWNlX2ZlZWRzGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEj4KDWV4dGVybmFsX2F1dGgYDyABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIBYgBAUISChBfYmFzZV9pbnN0cnVtZW50QhMKEV9xdW90ZV9pbnN0cnVtZW50QhEKD19tYXhfb3JkZXJfc2l6ZUILCglfbWV0YWRhdGFCDgoMX3ByaWNlX2ZlZWRzQhAKDl9leHRlcm5hbF9hdXRoImYKFENyZWF0ZU1hcmtldFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIsCgZtYXJrZXQYAyABKAsyHC5zaWx2YW5hLm9yZGVyYm9vay52MS5NYXJrZXQi3wEKHVVwZGF0ZU1hcmtldFByaWNlRmVlZHNSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhEKCW1hcmtldF9pZBgCIAEoCRIsCgtwcmljZV9mZWVkcxgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSPgoNZXh0ZXJuYWxfYXV0aBgKIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLkV4dGVybmFsQXV0aEgAiAEBQhAKDl9leHRlcm5hbF9hdXRoInAKHlVwZGF0ZU1hcmtldFByaWNlRmVlZHNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSLAoGbWFya2V0GAMgASgLMhwuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0KlEKCU9yZGVyVHlwZRIaChZPUkRFUl9UWVBFX1VOU1BFQ0lGSUVEEAASEgoOT1JERVJfVFlQRV9CSUQQARIUChBPUkRFUl9UWVBFX09GRkVSEAIqrQEKC09yZGVyU3RhdHVzEhwKGE9SREVSX1NUQVRVU19VTlNQRUNJRklFRBAAEhcKE09SREVSX1NUQVRVU19BQ1RJVkUQARIYChRPUkRFUl9TVEFUVVNfUEFSVElBTBACEhcKE09SREVSX1NUQVRVU19GSUxMRUQQAxIaChZPUkRFUl9TVEFUVVNfQ0FOQ0VMTEVEEAQSGAoUT1JERVJfU1RBVFVTX0VYUElSRUQQBSqIAQoLVGltZUluRm9yY2USHQoZVElNRV9JTl9GT1JDRV9VTlNQRUNJRklFRBAAEhUKEVRJTUVfSU5fRk9SQ0VfR1RDEAESFQoRVElNRV9JTl9GT1JDRV9JT0MQAhIVChFUSU1FX0lOX0ZPUkNFX0ZPSxADEhUKEVRJTUVfSU5fRk9SQ0VfR1REEAQq2gIKEFNldHRsZW1lbnRTdGF0dXMSIQodU0VUVExFTUVOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIdChlTRVRUTEVNRU5UX1NUQVRVU19DUkVBVEVEEAESIgoeU0VUVExFTUVOVF9TVEFUVVNfUFJFQ09ORklSTUVEEAISKQolU0VUVExFTUVOVF9TVEFUVVNfRFZQX1JFUVVFU1RfQ1JFQVRFRBADEioKJlNFVFRMRU1FTlRfU1RBVFVTX0RWUF9SRVFVRVNUX0FDQ0VQVEVEEAQSKwonU0VUVExFTUVOVF9TVEFUVVNfSU5TVFJVTUVOVFNfQUxMT0NBVEVEEAUSHQoZU0VUVExFTUVOVF9TVEFUVVNfU0VUVExFRBAGEh8KG1NFVFRMRU1FTlRfU1RBVFVTX0NBTkNFTExFRBAHEhwKGFNFVFRMRU1FTlRfU1RBVFVTX0ZBSUxFRBAIKnYKCk1hcmtldFR5cGUSGwoXTUFSS0VUX1RZUEVfVU5TUEVDSUZJRUQQABIXChNNQVJLRVRfVFlQRV9HRU5FUkFMEAESHQoZTUFSS0VUX1RZUEVfSU5TVElUVVRJT05BTBACEhMKD01BUktFVF9UWVBFX09UQxADMt4UChBPcmRlcmJvb2tTZXJ2aWNlElwKCUdldE9yZGVycxImLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE9yZGVyc1JlcXVlc3QaJy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlcnNSZXNwb25zZRJ0ChFHZXRPcmRlcmJvb2tEZXB0aBIuLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE9yZGVyYm9va0RlcHRoUmVxdWVzdBovLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE9yZGVyYm9va0RlcHRoUmVzcG9uc2USgwEKFkdldFNldHRsZW1lbnRQcm9wb3NhbHMSMy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50UHJvcG9zYWxzUmVxdWVzdBo0LnNpbHZhbmEub3JkZXJib29rLnYxLkdldFNldHRsZW1lbnRQcm9wb3NhbHNSZXNwb25zZRKAAQoVR2V0U2V0dGxlbWVudFByb3Bvc2FsEjIuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0U2V0dGxlbWVudFByb3Bvc2FsUmVxdWVzdBozLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFNldHRsZW1lbnRQcm9wb3NhbFJlc3BvbnNlEmsKDkdldEluc3RydW1lbnRzEisuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0SW5zdHJ1bWVudHNSZXF1ZXN0Giwuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0SW5zdHJ1bWVudHNSZXNwb25zZRJfCgpHZXRNYXJrZXRzEicuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TWFya2V0c1JlcXVlc3QaKC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRNYXJrZXRzUmVzcG9uc2USbgoPR2V0T3JkZXJIaXN0b3J5Eiwuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0T3JkZXJIaXN0b3J5UmVxdWVzdBotLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE9yZGVySGlzdG9yeVJlc3BvbnNlEmgKDUdldE1hcmtldERhdGESKi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRNYXJrZXREYXRhUmVxdWVzdBorLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE1hcmtldERhdGFSZXNwb25zZRJrCg5HZXRTZXR0bGVtZW50cxIrLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFNldHRsZW1lbnRzUmVxdWVzdBosLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFNldHRsZW1lbnRzUmVzcG9uc2USYgoLU3VibWl0T3JkZXISKC5zaWx2YW5hLm9yZGVyYm9vay52MS5TdWJtaXRPcmRlclJlcXVlc3QaKS5zaWx2YW5hLm9yZGVyYm9vay52MS5TdWJtaXRPcmRlclJlc3BvbnNlEmIKC0NhbmNlbE9yZGVyEiguc2lsdmFuYS5vcmRlcmJvb2sudjEuQ2FuY2VsT3JkZXJSZXF1ZXN0Gikuc2lsdmFuYS5vcmRlcmJvb2sudjEuQ2FuY2VsT3JkZXJSZXNwb25zZRJZCghHZXRQYXJ0eRIlLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFBhcnR5UmVxdWVzdBomLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFBhcnR5UmVzcG9uc2USXwoKR2V0UGFydGllcxInLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFBhcnRpZXNSZXF1ZXN0Giguc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0UGFydGllc1Jlc3BvbnNlEoABChVHZXRMaXF1aWRpdHlQcm92aWRlcnMSMi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRMaXF1aWRpdHlQcm92aWRlcnNSZXF1ZXN0GjMuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TGlxdWlkaXR5UHJvdmlkZXJzUmVzcG9uc2USYgoLQ3JlYXRlUGFydHkSKC5zaWx2YW5hLm9yZGVyYm9vay52MS5DcmVhdGVQYXJ0eVJlcXVlc3QaKS5zaWx2YW5hLm9yZGVyYm9vay52MS5DcmVhdGVQYXJ0eVJlc3BvbnNlEmIKC1VwZGF0ZVBhcnR5Eiguc2lsdmFuYS5vcmRlcmJvb2sudjEuVXBkYXRlUGFydHlSZXF1ZXN0Gikuc2lsdmFuYS5vcmRlcmJvb2sudjEuVXBkYXRlUGFydHlSZXNwb25zZRJuCg9EZWFjdGl2YXRlUGFydHkSLC5zaWx2YW5hLm9yZGVyYm9vay52MS5EZWFjdGl2YXRlUGFydHlSZXF1ZXN0Gi0uc2lsdmFuYS5vcmRlcmJvb2sudjEuRGVhY3RpdmF0ZVBhcnR5UmVzcG9uc2USbgoPR2V0UGFydHlIaXN0b3J5Eiwuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0UGFydHlIaXN0b3J5UmVxdWVzdBotLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFBhcnR5SGlzdG9yeVJlc3BvbnNlEnEKEENyZWF0ZUluc3RydW1lbnQSLS5zaWx2YW5hLm9yZGVyYm9vay52MS5DcmVhdGVJbnN0cnVtZW50UmVxdWVzdBouLnNpbHZhbmEub3JkZXJib29rLnYxLkNyZWF0ZUluc3RydW1lbnRSZXNwb25zZRJlCgxDcmVhdGVNYXJrZXQSKS5zaWx2YW5hLm9yZGVyYm9vay52MS5DcmVhdGVNYXJrZXRSZXF1ZXN0Giouc2lsdmFuYS5vcmRlcmJvb2sudjEuQ3JlYXRlTWFya2V0UmVzcG9uc2USgwEKFlVwZGF0ZU1hcmtldFByaWNlRmVlZHMSMy5zaWx2YW5hLm9yZGVyYm9vay52MS5VcGRhdGVNYXJrZXRQcmljZUZlZWRzUmVxdWVzdBo0LnNpbHZhbmEub3JkZXJib29rLnYxLlVwZGF0ZU1hcmtldFByaWNlRmVlZHNSZXNwb25zZRJuChJTdWJzY3JpYmVPcmRlcmJvb2sSLy5zaWx2YW5hLm9yZGVyYm9vay52MS5TdWJzY3JpYmVPcmRlcmJvb2tSZXF1ZXN0GiUuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rVXBkYXRlMAESZAoPU3Vic2NyaWJlT3JkZXJzEiwuc2lsdmFuYS5vcmRlcmJvb2sudjEuU3Vic2NyaWJlT3JkZXJzUmVxdWVzdBohLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyVXBkYXRlMAEScwoUU3Vic2NyaWJlU2V0dGxlbWVudHMSMS5zaWx2YW5hLm9yZGVyYm9vay52MS5TdWJzY3JpYmVTZXR0bGVtZW50c1JlcXVlc3QaJi5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50VXBkYXRlMAFCNFoyZ2l0aHViLmNvbS9TaWx2YW5hT25lL2NhbnRvbi1hZ2VudC9wcm90bztvcmRlcmJvb2tiBnByb3RvMw", [file_google_protobuf_timestamp, file_google_protobuf_empty, file_google_protobuf_struct]);
15
+ fileDesc("Cipwcm90by9zaWx2YW5hL29yZGVyYm9vay92MS9vcmRlcmJvb2sucHJvdG8SFHNpbHZhbmEub3JkZXJib29rLnYxIhgKB0pXVEF1dGgSDQoFdG9rZW4YASABKAkiQQoMRXh0ZXJuYWxBdXRoEgsKA2p3dBgBIAEoCRIQCghwYXJ0eV9pZBgCIAEoCRISCgpwdWJsaWNfa2V5GAMgASgJIvoCCgpJbnN0cnVtZW50EhUKDWluc3RydW1lbnRfaWQYASABKAkSFwoPaW5zdHJ1bWVudF90eXBlGAIgASgJEgwKBG5hbWUYAyABKAkSDgoGc3ltYm9sGAQgASgJEhgKC2Rlc2NyaXB0aW9uGAUgASgJSACIAQESEwoGaXNzdWVyGAYgASgJSAGIAQESFQoIcmVnaXN0cnkYByABKAlIAogBARIuCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBITCgtuZXdzX3N5bWJvbBgLIAEoCUIOCgxfZGVzY3JpcHRpb25CCQoHX2lzc3VlckILCglfcmVnaXN0cnlCCwoJX21ldGFkYXRhItwFCgZNYXJrZXQSEQoJbWFya2V0X2lkGAEgASgJEjUKC21hcmtldF90eXBlGAIgASgOMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0VHlwZRIXCg9iYXNlX2luc3RydW1lbnQYAyABKAkSGAoQcXVvdGVfaW5zdHJ1bWVudBgEIAEoCRITCgtwYWlyX3N5bWJvbBgFIAEoCRIRCglpc19hY3RpdmUYBiABKAgSFgoObWluX29yZGVyX3NpemUYByABKAkSGwoObWF4X29yZGVyX3NpemUYCCABKAlIAIgBARIRCgl0aWNrX3NpemUYCSABKAkSEQoJbWFrZXJfZmVlGAogASgJEhEKCXRha2VyX2ZlZRgLIAEoCRIuCghtZXRhZGF0YRgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIuCgpjcmVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCgtwcmljZV9mZWVkcxgPIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIaCg1jdXJyZW50X3ByaWNlGBAgASgBSAOIAQESFwoKY2hhbmdlXzI0aBgRIAEoAUgEiAEBEhcKCnZvbHVtZV8yNGgYEiABKAFIBYgBARI5ChBwcmljZV91cGRhdGVkX2F0GBMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgGiAEBQhEKD19tYXhfb3JkZXJfc2l6ZUILCglfbWV0YWRhdGFCDgoMX3ByaWNlX2ZlZWRzQhAKDl9jdXJyZW50X3ByaWNlQg0KC19jaGFuZ2VfMjRoQg0KC192b2x1bWVfMjRoQhMKEV9wcmljZV91cGRhdGVkX2F0IvcGCgVPcmRlchIQCghvcmRlcl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKAkSMwoKb3JkZXJfdHlwZRgDIAEoDjIfLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyVHlwZRIOCgZ0cmFkZXIYBCABKAkSHQoQdHJhZGVyX29yZGVyX3JlZhgFIAEoCUgAiAEBEhcKD2Jhc2VfaW5zdHJ1bWVudBgGIAEoCRIYChBxdW90ZV9pbnN0cnVtZW50GAcgASgJEg0KBXByaWNlGAggASgJEhAKCHF1YW50aXR5GAkgASgJEhcKD2ZpbGxlZF9xdWFudGl0eRgKIAEoCRIYChBwZW5kaW5nX3F1YW50aXR5GAsgASgJEhoKEnJlbWFpbmluZ19xdWFudGl0eRgMIAEoCRIxCgZzdGF0dXMYDSABKA4yIS5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclN0YXR1cxI4Cg10aW1lX2luX2ZvcmNlGA4gASgOMiEuc2lsdmFuYS5vcmRlcmJvb2sudjEuVGltZUluRm9yY2USMwoKZXhwaXJlc19hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIPCgd2ZXJzaW9uGBAgASgEEjEKC2NyZWRlbnRpYWxzGBEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEjIKDHJlcXVpcmVtZW50cxgSIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCghtZXRhZGF0YRgTIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIuCgpjcmVhdGVkX2F0GBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1CgxjYW5jZWxsZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQFCEwoRX3RyYWRlcl9vcmRlcl9yZWZCDQoLX2V4cGlyZXNfYXRCDgoMX2NyZWRlbnRpYWxzQg8KDV9yZXF1aXJlbWVudHNCCwoJX21ldGFkYXRhQg8KDV9jYW5jZWxsZWRfYXQiggEKDk9yZGVyYm9va0xldmVsEg0KBXByaWNlGAEgASgJEhYKDnRvdGFsX3F1YW50aXR5GAIgASgJEhMKC29yZGVyX2NvdW50GAMgASgNEjQKEGZpcnN0X29yZGVyX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wItUBCg5PcmRlcmJvb2tEZXB0aBIRCgltYXJrZXRfaWQYASABKAkSEwoLcGFpcl9zeW1ib2wYAiABKAkSMgoEYmlkcxgDIAMoCzIkLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyYm9va0xldmVsEjQKBm9mZmVycxgEIAMoCzIkLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyYm9va0xldmVsEjEKDXNuYXBzaG90X3RpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIuoSChJTZXR0bGVtZW50UHJvcG9zYWwSEwoLcHJvcG9zYWxfaWQYASABKAkSEQoJbWFya2V0X2lkGAIgASgJEg0KBWJ1eWVyGAMgASgJEg4KBnNlbGxlchgEIAEoCRIVCg1iYXNlX3F1YW50aXR5GAUgASgJEhYKDnF1b3RlX3F1YW50aXR5GAYgASgJEhgKEHNldHRsZW1lbnRfcHJpY2UYByABKAkSNgoGc3RhdHVzGAggASgOMiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFN0YXR1cxIPCgd2ZXJzaW9uGAkgASgEEj0KF3ByZWNvbmZpcm1hdGlvbl9yZXF1ZXN0GAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEkgKH3ByZWNvbmZpcm1hdGlvbl9yZXF1ZXN0X3NlbnRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESOwoVYnV5ZXJfcHJlY29uZmlybWF0aW9uGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEkoKIWJ1eWVyX3ByZWNvbmZpcm1hdGlvbl9yZWNlaXZlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARI8ChZzZWxsZXJfcHJlY29uZmlybWF0aW9uGA4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEksKInNlbGxlcl9wcmVjb25maXJtYXRpb25fcmVjZWl2ZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESHQoQZHZwX3Byb3Bvc2FsX2NpZBgQIAEoCUgGiAEBEiMKFmR2cF9wcm9wb3NhbF91cGRhdGVfaWQYESABKAlIB4gBARIUCgdkdnBfY2lkGBIgASgJSAiIAQESGgoNZHZwX3VwZGF0ZV9pZBgTIAEoCUgJiAEBEiEKFGFsbG9jYXRpb25fYnV5ZXJfY2lkGBUgASgJSAqIAQESJwoaYWxsb2NhdGlvbl9idXllcl91cGRhdGVfaWQYFiABKAlIC4gBARIiChVhbGxvY2F0aW9uX3NlbGxlcl9jaWQYFyABKAlIDIgBARIoChthbGxvY2F0aW9uX3NlbGxlcl91cGRhdGVfaWQYGCABKAlIDYgBARIcCg9zZXR0bGVkX2R2cF9jaWQYGSABKAlIDogBARIhChRzZXR0bGVtZW50X3VwZGF0ZV9pZBgaIAEoCUgPiAEBEikKHHNldHRsZW1lbnRfY29tcGxldGlvbl9vZmZzZXQYGyABKAlIEIgBARIuCgpjcmVhdGVkX2F0GBwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4Cg9wcmVjb25maXJtZWRfYXQYHSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBGIAQESNwoOZHZwX2NyZWF0ZWRfYXQYHiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBKIAQESOAoPZHZwX2FjY2VwdGVkX2F0GB8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgTiAEBEjUKDGFsbG9jYXRlZF9hdBggIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIFIgBARIzCgpzZXR0bGVkX2F0GCEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgViAEBEjUKDGNhbmNlbGxlZF9hdBgiIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIFogBARIyCglmYWlsZWRfYXQYIyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBeIAQESGgoNZXJyb3JfbWVzc2FnZRgkIAEoCUgYiAEBEi4KCG1ldGFkYXRhGCUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgZiAEBEhEKCWJ1eWVyX2ZlZRgmIAEoCRISCgpzZWxsZXJfZmVlGCcgASgJEhsKDmJ1eWVyX2ZlZV9zZW50GCggASgISBqIAQESHAoPc2VsbGVyX2ZlZV9zZW50GCkgASgISBuIAQESHwoSYnV5ZXJfZmVlX3JlY2VpdmVkGCogASgISByIAQESIAoTc2VsbGVyX2ZlZV9yZWNlaXZlZBgrIAEoCEgdiAEBQhoKGF9wcmVjb25maXJtYXRpb25fcmVxdWVzdEIiCiBfcHJlY29uZmlybWF0aW9uX3JlcXVlc3Rfc2VudF9hdEIYChZfYnV5ZXJfcHJlY29uZmlybWF0aW9uQiQKIl9idXllcl9wcmVjb25maXJtYXRpb25fcmVjZWl2ZWRfYXRCGQoXX3NlbGxlcl9wcmVjb25maXJtYXRpb25CJQojX3NlbGxlcl9wcmVjb25maXJtYXRpb25fcmVjZWl2ZWRfYXRCEwoRX2R2cF9wcm9wb3NhbF9jaWRCGQoXX2R2cF9wcm9wb3NhbF91cGRhdGVfaWRCCgoIX2R2cF9jaWRCEAoOX2R2cF91cGRhdGVfaWRCFwoVX2FsbG9jYXRpb25fYnV5ZXJfY2lkQh0KG19hbGxvY2F0aW9uX2J1eWVyX3VwZGF0ZV9pZEIYChZfYWxsb2NhdGlvbl9zZWxsZXJfY2lkQh4KHF9hbGxvY2F0aW9uX3NlbGxlcl91cGRhdGVfaWRCEgoQX3NldHRsZWRfZHZwX2NpZEIXChVfc2V0dGxlbWVudF91cGRhdGVfaWRCHwodX3NldHRsZW1lbnRfY29tcGxldGlvbl9vZmZzZXRCEgoQX3ByZWNvbmZpcm1lZF9hdEIRCg9fZHZwX2NyZWF0ZWRfYXRCEgoQX2R2cF9hY2NlcHRlZF9hdEIPCg1fYWxsb2NhdGVkX2F0Qg0KC19zZXR0bGVkX2F0Qg8KDV9jYW5jZWxsZWRfYXRCDAoKX2ZhaWxlZF9hdEIQCg5fZXJyb3JfbWVzc2FnZUILCglfbWV0YWRhdGFCEQoPX2J1eWVyX2ZlZV9zZW50QhIKEF9zZWxsZXJfZmVlX3NlbnRCFQoTX2J1eWVyX2ZlZV9yZWNlaXZlZEIWChRfc2VsbGVyX2ZlZV9yZWNlaXZlZCK7AQoKT3JkZXJNYXRjaBIeChZzZXR0bGVtZW50X3Byb3Bvc2FsX2lkGAEgASgJEhQKDGJpZF9vcmRlcl9pZBgCIAEoBBIWCg5vZmZlcl9vcmRlcl9pZBgDIAEoBBIYChBtYXRjaGVkX3F1YW50aXR5GAQgASgJEhUKDW1hdGNoZWRfcHJpY2UYBSABKAkSLgoKY3JlYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAihwMKClNldHRsZW1lbnQSFQoNc2V0dGxlbWVudF9pZBgBIAEoBBITCgtwcm9wb3NhbF9pZBgCIAEoCRIRCgltYXJrZXRfaWQYAyABKAkSDQoFYnV5ZXIYBCABKAkSDgoGc2VsbGVyGAUgASgJEhUKDWJhc2VfcXVhbnRpdHkYBiABKAkSFgoOcXVvdGVfcXVhbnRpdHkYByABKAkSGAoQc2V0dGxlbWVudF9wcmljZRgIIAEoCRIXCg9zZXR0bGVkX2R2cF9jaWQYCSABKAkSHAoUc2V0dGxlbWVudF91cGRhdGVfaWQYCiABKAkSLgoKc2V0dGxlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoIbWV0YWRhdGEYDSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQFCCwoJX21ldGFkYXRhIpUCCgpNYXJrZXREYXRhEhEKCW1hcmtldF9pZBgBIAEoCRITCgtwYWlyX3N5bWJvbBgCIAEoCRIVCghiZXN0X2JpZBgDIAEoCUgAiAEBEhcKCmJlc3Rfb2ZmZXIYBCABKAlIAYgBARIXCgpsYXN0X3ByaWNlGAUgASgJSAKIAQESEgoKdm9sdW1lXzI0aBgGIAEoCRISCgp0cmFkZXNfMjRoGAcgASgNEhMKC29wZW5fb3JkZXJzGAggASgNEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgsKCV9iZXN0X2JpZEINCgtfYmVzdF9vZmZlckINCgtfbGFzdF9wcmljZSL5AwoQR2V0T3JkZXJzUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIWCgltYXJrZXRfaWQYAiABKAlIAIgBARI2CgZzdGF0dXMYAyABKA4yIS5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclN0YXR1c0gBiAEBEjgKCm9yZGVyX3R5cGUYBCABKA4yHy5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclR5cGVIAogBARISCgVsaW1pdBgFIAEoDUgDiAEBEhMKBm9mZnNldBgGIAEoDUgEiAEBEj4KDWV4dGVybmFsX2F1dGgYCiABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIBYgBARIuCiFsaXF1aWRpdHlfcHJvdmlkZXJfYWN0aXZlX3NlY29uZHMYCyABKA1IBogBARIgChhsaXF1aWRpdHlfcHJvdmlkZXJfbmFtZXMYDCADKAlCDAoKX21hcmtldF9pZEIJCgdfc3RhdHVzQg0KC19vcmRlcl90eXBlQggKBl9saW1pdEIJCgdfb2Zmc2V0QhAKDl9leHRlcm5hbF9hdXRoQiQKIl9saXF1aWRpdHlfcHJvdmlkZXJfYWN0aXZlX3NlY29uZHMicQoRR2V0T3JkZXJzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEisKBm9yZGVycxgDIAMoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyEg0KBXRvdGFsGAQgASgNIsoBChhHZXRPcmRlcmJvb2tEZXB0aFJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEQoJbWFya2V0X2lkGAIgASgJEhIKBWRlcHRoGAMgASgNSACIAQESPgoNZXh0ZXJuYWxfYXV0aBgKIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLkV4dGVybmFsQXV0aEgBiAEBQggKBl9kZXB0aEIQCg5fZXh0ZXJuYWxfYXV0aCJ2ChlHZXRPcmRlcmJvb2tEZXB0aFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI3CglvcmRlcmJvb2sYAyABKAsyJC5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tEZXB0aCLKAgodR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1JlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSFgoJbWFya2V0X2lkGAIgASgJSACIAQESOwoGc3RhdHVzGAMgASgOMiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFN0YXR1c0gBiAEBEhIKBWxpbWl0GAQgASgNSAKIAQESEwoGb2Zmc2V0GAUgASgNSAOIAQESPgoNZXh0ZXJuYWxfYXV0aBgKIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLkV4dGVybmFsQXV0aEgEiAEBQgwKCl9tYXJrZXRfaWRCCQoHX3N0YXR1c0IICgZfbGltaXRCCQoHX29mZnNldEIQCg5fZXh0ZXJuYWxfYXV0aCKOAQoeR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI7Cglwcm9wb3NhbHMYAyADKAsyKC5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50UHJvcG9zYWwSDQoFdG90YWwYBCABKA0isgEKHEdldFNldHRsZW1lbnRQcm9wb3NhbFJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSPgoNZXh0ZXJuYWxfYXV0aBgKIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLkV4dGVybmFsQXV0aEgAiAEBQhAKDl9leHRlcm5hbF9hdXRoIo8BCh1HZXRTZXR0bGVtZW50UHJvcG9zYWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSPwoIcHJvcG9zYWwYAyABKAsyKC5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50UHJvcG9zYWxIAIgBAUILCglfcHJvcG9zYWwihgIKFUdldEluc3RydW1lbnRzUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIcCg9pbnN0cnVtZW50X3R5cGUYAiABKAlIAIgBARISCgVsaW1pdBgDIAEoDUgBiAEBEhMKBm9mZnNldBgEIAEoDUgCiAEBEj4KDWV4dGVybmFsX2F1dGgYCiABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIA4gBAUISChBfaW5zdHJ1bWVudF90eXBlQggKBl9saW1pdEIJCgdfb2Zmc2V0QhAKDl9leHRlcm5hbF9hdXRoIoABChZHZXRJbnN0cnVtZW50c1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI1CgtpbnN0cnVtZW50cxgDIAMoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLkluc3RydW1lbnQSDQoFdG90YWwYBCABKA0irAMKEUdldE1hcmtldHNSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEjoKC21hcmtldF90eXBlGAIgASgOMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0VHlwZUgAiAEBEhwKD2Jhc2VfaW5zdHJ1bWVudBgDIAEoCUgBiAEBEh0KEHF1b3RlX2luc3RydW1lbnQYBCABKAlIAogBARIYCgthY3RpdmVfb25seRgFIAEoCEgDiAEBEhIKBWxpbWl0GAYgASgNSASIAQESEwoGb2Zmc2V0GAcgASgNSAWIAQESPgoNZXh0ZXJuYWxfYXV0aBgKIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLkV4dGVybmFsQXV0aEgGiAEBQg4KDF9tYXJrZXRfdHlwZUISChBfYmFzZV9pbnN0cnVtZW50QhMKEV9xdW90ZV9pbnN0cnVtZW50Qg4KDF9hY3RpdmVfb25seUIICgZfbGltaXRCCQoHX29mZnNldEIQCg5fZXh0ZXJuYWxfYXV0aCJ0ChJHZXRNYXJrZXRzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEi0KB21hcmtldHMYAyADKAsyHC5zaWx2YW5hLm9yZGVyYm9vay52MS5NYXJrZXQSDQoFdG90YWwYBCABKA0i+wIKFkdldE9yZGVySGlzdG9yeVJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSFgoJbWFya2V0X2lkGAIgASgJSACIAQESMgoJZnJvbV90aW1lGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEjAKB3RvX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESEgoFbGltaXQYBSABKA1IA4gBARITCgZvZmZzZXQYBiABKA1IBIgBARI+Cg1leHRlcm5hbF9hdXRoGAogASgLMiIuc2lsdmFuYS5vcmRlcmJvb2sudjEuRXh0ZXJuYWxBdXRoSAWIAQFCDAoKX21hcmtldF9pZEIMCgpfZnJvbV90aW1lQgoKCF90b190aW1lQggKBl9saW1pdEIJCgdfb2Zmc2V0QhAKDl9leHRlcm5hbF9hdXRoIncKF0dldE9yZGVySGlzdG9yeVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIrCgZvcmRlcnMYAyADKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlchINCgV0b3RhbBgEIAEoDSKpAQoUR2V0TWFya2V0RGF0YVJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEgoKbWFya2V0X2lkcxgCIAMoCRI+Cg1leHRlcm5hbF9hdXRoGAogASgLMiIuc2lsdmFuYS5vcmRlcmJvb2sudjEuRXh0ZXJuYWxBdXRoSACIAQFCEAoOX2V4dGVybmFsX2F1dGgicAoVR2V0TWFya2V0RGF0YVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI1CgttYXJrZXRfZGF0YRgDIAMoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldERhdGEi+gIKFUdldFNldHRsZW1lbnRzUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIWCgltYXJrZXRfaWQYAiABKAlIAIgBARIyCglmcm9tX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESMAoHdG9fdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARISCgVsaW1pdBgFIAEoDUgDiAEBEhMKBm9mZnNldBgGIAEoDUgEiAEBEj4KDWV4dGVybmFsX2F1dGgYCiABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIBYgBAUIMCgpfbWFya2V0X2lkQgwKCl9mcm9tX3RpbWVCCgoIX3RvX3RpbWVCCAoGX2xpbWl0QgkKB19vZmZzZXRCEAoOX2V4dGVybmFsX2F1dGgigAEKFkdldFNldHRsZW1lbnRzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjUKC3NldHRsZW1lbnRzGAMgAygLMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudBINCgV0b3RhbBgEIAEoDSLLAQoZU3Vic2NyaWJlT3JkZXJib29rUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIRCgltYXJrZXRfaWQYAiABKAkSEgoFZGVwdGgYAyABKA1IAIgBARI+Cg1leHRlcm5hbF9hdXRoGAogASgLMiIuc2lsdmFuYS5vcmRlcmJvb2sudjEuRXh0ZXJuYWxBdXRoSAGIAQFCCAoGX2RlcHRoQhAKDl9leHRlcm5hbF9hdXRoIocDCg9PcmRlcmJvb2tVcGRhdGUSEQoJbWFya2V0X2lkGAEgASgJEkUKC3VwZGF0ZV90eXBlGAIgASgOMjAuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rVXBkYXRlLlVwZGF0ZVR5cGUSOQoLYmlkX3VwZGF0ZXMYAyADKAsyJC5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tMZXZlbBI7Cg1vZmZlcl91cGRhdGVzGAQgAygLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rTGV2ZWwSLQoJdGltZXN0YW1wGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9zZXF1ZW5jZV9udW1iZXIYBiABKAQiWgoKVXBkYXRlVHlwZRIbChdVUERBVEVfVFlQRV9VTlNQRUNJRklFRBAAEhgKFFVQREFURV9UWVBFX1NOQVBTSE9UEAESFQoRVVBEQVRFX1RZUEVfREVMVEEQAiK9AQoWU3Vic2NyaWJlT3JkZXJzUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIWCgltYXJrZXRfaWQYAiABKAlIAIgBARI+Cg1leHRlcm5hbF9hdXRoGAogASgLMiIuc2lsdmFuYS5vcmRlcmJvb2sudjEuRXh0ZXJuYWxBdXRoSAGIAQFCDAoKX21hcmtldF9pZEIQCg5fZXh0ZXJuYWxfYXV0aCKtAwoLT3JkZXJVcGRhdGUSPwoKZXZlbnRfdHlwZRgBIAEoDjIrLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyVXBkYXRlLkV2ZW50VHlwZRIqCgVvcmRlchgCIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyEjQKBW1hdGNoGAMgASgLMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJNYXRjaEgAiAEBEi0KCXRpbWVzdGFtcBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiwQEKCUV2ZW50VHlwZRIaChZFVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSRVZFTlRfVFlQRV9DUkVBVEVEEAESFgoSRVZFTlRfVFlQRV9VUERBVEVEEAISFQoRRVZFTlRfVFlQRV9GSUxMRUQQAxIfChtFVkVOVF9UWVBFX1BBUlRJQUxMWV9GSUxMRUQQBBIYChRFVkVOVF9UWVBFX0NBTkNFTExFRBAFEhYKEkVWRU5UX1RZUEVfRVhQSVJFRBAGQggKBl9tYXRjaCLCAQobU3Vic2NyaWJlU2V0dGxlbWVudHNSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhYKCW1hcmtldF9pZBgCIAEoCUgAiAEBEj4KDWV4dGVybmFsX2F1dGgYCiABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIAYgBAUIMCgpfbWFya2V0X2lkQhAKDl9leHRlcm5hbF9hdXRoIokEChBTZXR0bGVtZW50VXBkYXRlEkQKCmV2ZW50X3R5cGUYASABKA4yMC5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50VXBkYXRlLkV2ZW50VHlwZRI6Cghwcm9wb3NhbBgCIAEoCzIoLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRQcm9wb3NhbBItCgl0aW1lc3RhbXAYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIsMCCglFdmVudFR5cGUSGgoWRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEh8KG0VWRU5UX1RZUEVfUFJPUE9TQUxfQ1JFQVRFRBABEigKJEVWRU5UX1RZUEVfUFJFQ09ORklSTUFUSU9OX1JFUVVFU1RFRBACEhsKF0VWRU5UX1RZUEVfUFJFQ09ORklSTUVEEAMSGgoWRVZFTlRfVFlQRV9EVlBfQ1JFQVRFRBAEEhsKF0VWRU5UX1RZUEVfRFZQX0FDQ0VQVEVEEAUSGAoURVZFTlRfVFlQRV9BTExPQ0FURUQQBhIWChJFVkVOVF9UWVBFX1NFVFRMRUQQBxIVChFFVkVOVF9UWVBFX0ZBSUxFRBAIEhgKFEVWRU5UX1RZUEVfQ0FOQ0VMTEVEEAkSFgoSRVZFTlRfVFlQRV9VUERBVEVEEAoi8wQKElN1Ym1pdE9yZGVyUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIRCgltYXJrZXRfaWQYAiABKAkSMwoKb3JkZXJfdHlwZRgDIAEoDjIfLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyVHlwZRINCgVwcmljZRgEIAEoCRIQCghxdWFudGl0eRgFIAEoCRI4Cg10aW1lX2luX2ZvcmNlGAYgASgOMiEuc2lsdmFuYS5vcmRlcmJvb2sudjEuVGltZUluRm9yY2USMwoKZXhwaXJlc19hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIdChB0cmFkZXJfb3JkZXJfcmVmGAggASgJSAGIAQESMQoLY3JlZGVudGlhbHMYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESMgoMcmVxdWlyZW1lbnRzGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEj4KDWV4dGVybmFsX2F1dGgYDyABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIBYgBAUINCgtfZXhwaXJlc19hdEITChFfdHJhZGVyX29yZGVyX3JlZkIOCgxfY3JlZGVudGlhbHNCDwoNX3JlcXVpcmVtZW50c0ILCglfbWV0YWRhdGFCEAoOX2V4dGVybmFsX2F1dGgicgoTU3VibWl0T3JkZXJSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSLwoFb3JkZXIYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlckgAiAEBQggKBl9vcmRlciKlAQoSQ2FuY2VsT3JkZXJSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhAKCG9yZGVyX2lkGAIgASgEEj4KDWV4dGVybmFsX2F1dGgYCiABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIAIgBAUIQCg5fZXh0ZXJuYWxfYXV0aCJyChNDYW5jZWxPcmRlclJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIvCgVvcmRlchgDIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVySACIAQFCCAoGX29yZGVyIooGChJDcmVhdGVQYXJ0eVJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEAoIcGFydHlfaWQYAiABKAkSEgoKcGFydHlfbmFtZRgDIAEoCRISCgpwYXJ0eV90eXBlGAQgASgJEh0KEHVzZXJfc2VydmljZV9jaWQYBSABKAlIAIgBARIgChNvcGVyYXRvcl9jb25maWdfY2lkGAYgASgJSAGIAQESLgoIbWV0YWRhdGEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESJQoYdXNlcl9zZXJ2aWNlX3JlcXVlc3RfY2lkGAggASgJSAOIAQESKgoJdXNlcl9kYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBISCgVlbWFpbBgKIAEoCUgEiAEBEhcKCnB1YmxpY19rZXkYCyABKAlIBYgBARIYCgtpbnZpdGVfY29kZRgMIAEoCUgGiAEBEhMKBnNvdXJjZRgNIAEoCUgHiAEBEj4KDWV4dGVybmFsX2F1dGgYDyABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhICIgBARIkChdsaXF1aWRpdHlfcHJvdmlkZXJfbmFtZRgQIAEoCUgJiAEBEisKHmxpcXVpZGl0eV9wcm92aWRlcl9kZXNjcmlwdGlvbhgRIAEoCUgKiAEBQhMKEV91c2VyX3NlcnZpY2VfY2lkQhYKFF9vcGVyYXRvcl9jb25maWdfY2lkQgsKCV9tZXRhZGF0YUIbChlfdXNlcl9zZXJ2aWNlX3JlcXVlc3RfY2lkQggKBl9lbWFpbEINCgtfcHVibGljX2tleUIOCgxfaW52aXRlX2NvZGVCCQoHX3NvdXJjZUIQCg5fZXh0ZXJuYWxfYXV0aEIaChhfbGlxdWlkaXR5X3Byb3ZpZGVyX25hbWVCIQofX2xpcXVpZGl0eV9wcm92aWRlcl9kZXNjcmlwdGlvbiJjChNDcmVhdGVQYXJ0eVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIqCgVwYXJ0eRgDIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLlBhcnR5ItMFChJVcGRhdGVQYXJ0eVJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEAoIcGFydHlfaWQYAiABKAkSGAoQZXhwZWN0ZWRfdmVyc2lvbhgDIAEoBBIXCgpwYXJ0eV9uYW1lGAQgASgJSACIAQESHQoQdXNlcl9zZXJ2aWNlX2NpZBgFIAEoCUgBiAEBEiAKE29wZXJhdG9yX2NvbmZpZ19jaWQYBiABKAlIAogBARIlChh1c2VyX3NlcnZpY2VfcmVxdWVzdF9jaWQYByABKAlIA4gBARIvCgl1c2VyX2RhdGEYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQESLgoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESGgoNY2hhbmdlX3JlYXNvbhgKIAEoCUgGiAEBEhIKBWVtYWlsGAsgASgJSAeIAQESFwoKcHVibGljX2tleRgMIAEoCUgIiAEBEhgKC2ludml0ZV9jb2RlGA0gASgJSAmIAQESEwoGc291cmNlGA4gASgJSAqIAQESPgoNZXh0ZXJuYWxfYXV0aBgPIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLkV4dGVybmFsQXV0aEgLiAEBQg0KC19wYXJ0eV9uYW1lQhMKEV91c2VyX3NlcnZpY2VfY2lkQhYKFF9vcGVyYXRvcl9jb25maWdfY2lkQhsKGV91c2VyX3NlcnZpY2VfcmVxdWVzdF9jaWRCDAoKX3VzZXJfZGF0YUILCglfbWV0YWRhdGFCEAoOX2NoYW5nZV9yZWFzb25CCAoGX2VtYWlsQg0KC19wdWJsaWNfa2V5Qg4KDF9pbnZpdGVfY29kZUIJCgdfc291cmNlQhAKDl9leHRlcm5hbF9hdXRoImMKE1VwZGF0ZVBhcnR5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEioKBXBhcnR5GAMgASgLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuUGFydHki2gEKFkRlYWN0aXZhdGVQYXJ0eVJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEAoIcGFydHlfaWQYAiABKAkSGAoQZXhwZWN0ZWRfdmVyc2lvbhgDIAEoBBIVCg1jaGFuZ2VfcmVhc29uGAQgASgJEj4KDWV4dGVybmFsX2F1dGgYCiABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIAIgBAUIQCg5fZXh0ZXJuYWxfYXV0aCJnChdEZWFjdGl2YXRlUGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSLnAQoWR2V0UGFydHlIaXN0b3J5UmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIQCghwYXJ0eV9pZBgCIAEoCRISCgVsaW1pdBgDIAEoDUgAiAEBEhMKBm9mZnNldBgEIAEoDUgBiAEBEj4KDWV4dGVybmFsX2F1dGgYCiABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIAogBAUIICgZfbGltaXRCCQoHX29mZnNldEIQCg5fZXh0ZXJuYWxfYXV0aCKBAgoRUGFydHlIaXN0b3J5RW50cnkSEgoKaGlzdG9yeV9pZBgBIAEoBBIQCghwYXJ0eV9pZBgCIAEoCRIOCgZhY3Rpb24YAyABKAkSEgoKY2hhbmdlZF9ieRgEIAEoCRIaCg1jaGFuZ2VfcmVhc29uGAUgASgJSACIAQESDwoHdmVyc2lvbhgGIAEoBBIzCg5wYXJ0eV9zbmFwc2hvdBgHIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLlBhcnR5Ei4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhAKDl9jaGFuZ2VfcmVhc29uIoQBChdHZXRQYXJ0eUhpc3RvcnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSOAoHaGlzdG9yeRgDIAMoCzInLnNpbHZhbmEub3JkZXJib29rLnYxLlBhcnR5SGlzdG9yeUVudHJ5Eg0KBXRvdGFsGAQgASgNIqIBCg9HZXRQYXJ0eVJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEAoIcGFydHlfaWQYAiABKAkSPgoNZXh0ZXJuYWxfYXV0aBgKIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLkV4dGVybmFsQXV0aEgAiAEBQhAKDl9leHRlcm5hbF9hdXRoImAKEEdldFBhcnR5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEioKBXBhcnR5GAMgASgLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuUGFydHkiogIKEUdldFBhcnRpZXNSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhcKCnBhcnR5X3R5cGUYAiABKAlIAIgBARIYCgthY3RpdmVfb25seRgDIAEoCEgBiAEBEhIKBWxpbWl0GAQgASgNSAKIAQESEwoGb2Zmc2V0GAUgASgNSAOIAQESPgoNZXh0ZXJuYWxfYXV0aBgKIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLkV4dGVybmFsQXV0aEgEiAEBQg0KC19wYXJ0eV90eXBlQg4KDF9hY3RpdmVfb25seUIICgZfbGltaXRCCQoHX29mZnNldEIQCg5fZXh0ZXJuYWxfYXV0aCJzChJHZXRQYXJ0aWVzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEiwKB3BhcnRpZXMYAyADKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eRINCgV0b3RhbBgEIAEoDSLgBAoFUGFydHkSEAoIcGFydHlfaWQYASABKAkSEgoKcGFydHlfbmFtZRgCIAEoCRISCgpwYXJ0eV90eXBlGAMgASgJEh0KEHVzZXJfc2VydmljZV9jaWQYBCABKAlIAIgBARIgChNvcGVyYXRvcl9jb25maWdfY2lkGAUgASgJSAGIAQESEQoJaXNfYWN0aXZlGAYgASgIEi4KCG1ldGFkYXRhGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKGHVzZXJfc2VydmljZV9yZXF1ZXN0X2NpZBgKIAEoCUgDiAEBEioKCXVzZXJfZGF0YRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDwoHdmVyc2lvbhgMIAEoBBISCgVlbWFpbBgNIAEoCUgEiAEBEhcKCnB1YmxpY19rZXkYDiABKAlIBYgBARIYCgtpbnZpdGVfY29kZRgPIAEoCUgGiAEBEg4KBnNvdXJjZRgQIAEoCUITChFfdXNlcl9zZXJ2aWNlX2NpZEIWChRfb3BlcmF0b3JfY29uZmlnX2NpZEILCglfbWV0YWRhdGFCGwoZX3VzZXJfc2VydmljZV9yZXF1ZXN0X2NpZEIICgZfZW1haWxCDQoLX3B1YmxpY19rZXlCDgoMX2ludml0ZV9jb2RlIo0CChFMaXF1aWRpdHlQcm92aWRlchIMCgRuYW1lGAEgASgJEhAKCHBhcnR5X2lkGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESOQoQbGFzdF9hY3RpdmVfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb25CEwoRX2xhc3RfYWN0aXZlX3RpbWUiiwIKHEdldExpcXVpZGl0eVByb3ZpZGVyc1JlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSGwoOYWN0aXZlX3NlY29uZHMYAiABKA1IAIgBARISCgVsaW1pdBgDIAEoDUgBiAEBEhMKBm9mZnNldBgEIAEoDUgCiAEBEj4KDWV4dGVybmFsX2F1dGgYCiABKAsyIi5zaWx2YW5hLm9yZGVyYm9vay52MS5FeHRlcm5hbEF1dGhIA4gBAUIRCg9fYWN0aXZlX3NlY29uZHNCCAoGX2xpbWl0QgkKB19vZmZzZXRCEAoOX2V4dGVybmFsX2F1dGgilgEKHUdldExpcXVpZGl0eVByb3ZpZGVyc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRJEChNsaXF1aWRpdHlfcHJvdmlkZXJzGAMgAygLMicuc2lsdmFuYS5vcmRlcmJvb2sudjEuTGlxdWlkaXR5UHJvdmlkZXISDQoFdG90YWwYBCABKA0iiAMKEFdhaXRpbmdMaXN0RW50cnkSCgoCaWQYASABKAQSFQoIcGFydHlfaWQYAiABKAlIAIgBARIqCgl1c2VyX2RhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg4KBnNvdXJjZRgEIAEoCRISCgVlbWFpbBgFIAEoCUgBiAEBEhcKCnB1YmxpY19rZXkYBiABKAlIAogBARIUCgxpc19vbmJvYXJkZWQYByABKAgSDwoHdmVyc2lvbhgIIAEoBBIuCghtZXRhZGF0YRgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCgpjcmVhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEILCglfcGFydHlfaWRCCAoGX2VtYWlsQg0KC19wdWJsaWNfa2V5QgsKCV9tZXRhZGF0YSKIAgoaQWRkV2FpdGluZ0xpc3RFbnRyeVJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSKgoJdXNlcl9kYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIOCgZzb3VyY2UYAyABKAkSEgoFZW1haWwYBCABKAlIAIgBARIXCgpwdWJsaWNfa2V5GAUgASgJSAGIAQESLgoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQFCCAoGX2VtYWlsQg0KC19wdWJsaWNfa2V5QgsKCV9tZXRhZGF0YSJLChtBZGRXYWl0aW5nTGlzdEVudHJ5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEgoKAmlkGAMgASgEIrEDCgVSb3VuZBIUCgxyb3VuZF9udW1iZXIYASABKAQSNAonaXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uGAIgASgJSACIAQESNgopaXNzdWFuY2VfcGVyX3VuZmVhdHVyZWRfYXBwX3Jld2FyZF9jb3Vwb24YAyABKAlIAYgBARIYCgtjY191c2RfcmF0ZRgEIAEoCUgCiAEBEiQKF3RyYWZmaWNfY29zdF91c2RfcGVyX21iGAUgASgJSAOIAQESLgoKY3JlYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCKgooX2lzc3VhbmNlX3Blcl9mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbkIsCipfaXNzdWFuY2VfcGVyX3VuZmVhdHVyZWRfYXBwX3Jld2FyZF9jb3Vwb25CDgoMX2NjX3VzZF9yYXRlQhoKGF90cmFmZmljX2Nvc3RfdXNkX3Blcl9tYiLvAgoGSW52aXRlEhMKC2ludml0ZV9jb2RlGAEgASgJEg8KB2NoYW5uZWwYAiABKAkSFAoHcmV3YXJkcxgDIAEoCUgAiAEBEi4KCG1ldGFkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEjIKBnN0YXR1cxgFIAEoDjIiLnNpbHZhbmEub3JkZXJib29rLnYxLkludml0ZVN0YXR1cxISCgpjb3VudF91c2VkGAYgASgNEhYKCW1heF9jb3VudBgHIAEoDUgCiAEBEhIKCmNyZWF0ZWRfYnkYCCABKAkSLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX3Jld2FyZHNCCwoJX21ldGFkYXRhQgwKCl9tYXhfY291bnQiJwoQR2V0SW52aXRlUmVxdWVzdBITCgtpbnZpdGVfY29kZRgBIAEoCSJgChFHZXRJbnZpdGVSZXNwb25zZRINCgVmb3VuZBgBIAEoCBIxCgZpbnZpdGUYAiABKAsyHC5zaWx2YW5hLm9yZGVyYm9vay52MS5JbnZpdGVIAIgBAUIJCgdfaW52aXRlIksKEFVzZUludml0ZVJlcXVlc3QSEwoLaW52aXRlX2NvZGUYASABKAkSFQoIcGFydHlfaWQYAiABKAlIAIgBAUILCglfcGFydHlfaWQicwoRVXNlSW52aXRlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjEKBmludml0ZRgDIAEoCzIcLnNpbHZhbmEub3JkZXJib29rLnYxLkludml0ZUgAiAEBQgkKB19pbnZpdGUipgMKF0NyZWF0ZUluc3RydW1lbnRSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhUKDWluc3RydW1lbnRfaWQYAiABKAkSFwoPaW5zdHJ1bWVudF90eXBlGAMgASgJEgwKBG5hbWUYBCABKAkSDgoGc3ltYm9sGAUgASgJEhgKC2Rlc2NyaXB0aW9uGAYgASgJSACIAQESEwoGaXNzdWVyGAcgASgJSAGIAQESFQoIcmVnaXN0cnkYCCABKAlIAogBARIuCghtZXRhZGF0YRgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARITCgtuZXdzX3N5bWJvbBgKIAEoCRI+Cg1leHRlcm5hbF9hdXRoGA8gASgLMiIuc2lsdmFuYS5vcmRlcmJvb2sudjEuRXh0ZXJuYWxBdXRoSASIAQFCDgoMX2Rlc2NyaXB0aW9uQgkKB19pc3N1ZXJCCwoJX3JlZ2lzdHJ5QgsKCV9tZXRhZGF0YUIQCg5fZXh0ZXJuYWxfYXV0aCJyChhDcmVhdGVJbnN0cnVtZW50UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjQKCmluc3RydW1lbnQYAyABKAsyIC5zaWx2YW5hLm9yZGVyYm9vay52MS5JbnN0cnVtZW50IsUEChNDcmVhdGVNYXJrZXRSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhEKCW1hcmtldF9pZBgCIAEoCRI1CgttYXJrZXRfdHlwZRgDIAEoDjIgLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldFR5cGUSHAoPYmFzZV9pbnN0cnVtZW50GAQgASgJSACIAQESHQoQcXVvdGVfaW5zdHJ1bWVudBgFIAEoCUgBiAEBEhYKDm1pbl9vcmRlcl9zaXplGAYgASgJEhsKDm1heF9vcmRlcl9zaXplGAcgASgJSAKIAQESEQoJdGlja19zaXplGAggASgJEhEKCW1ha2VyX2ZlZRgJIAEoCRIRCgl0YWtlcl9mZWUYCiABKAkSLgoIbWV0YWRhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESMQoLcHJpY2VfZmVlZHMYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQESPgoNZXh0ZXJuYWxfYXV0aBgPIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLkV4dGVybmFsQXV0aEgFiAEBQhIKEF9iYXNlX2luc3RydW1lbnRCEwoRX3F1b3RlX2luc3RydW1lbnRCEQoPX21heF9vcmRlcl9zaXplQgsKCV9tZXRhZGF0YUIOCgxfcHJpY2VfZmVlZHNCEAoOX2V4dGVybmFsX2F1dGgiZgoUQ3JlYXRlTWFya2V0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEiwKBm1hcmtldBgDIAEoCzIcLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldCLfAQodVXBkYXRlTWFya2V0UHJpY2VGZWVkc1JlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEQoJbWFya2V0X2lkGAIgASgJEiwKC3ByaWNlX2ZlZWRzGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI+Cg1leHRlcm5hbF9hdXRoGAogASgLMiIuc2lsdmFuYS5vcmRlcmJvb2sudjEuRXh0ZXJuYWxBdXRoSACIAQFCEAoOX2V4dGVybmFsX2F1dGgicAoeVXBkYXRlTWFya2V0UHJpY2VGZWVkc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIsCgZtYXJrZXQYAyABKAsyHC5zaWx2YW5hLm9yZGVyYm9vay52MS5NYXJrZXQqUQoJT3JkZXJUeXBlEhoKFk9SREVSX1RZUEVfVU5TUEVDSUZJRUQQABISCg5PUkRFUl9UWVBFX0JJRBABEhQKEE9SREVSX1RZUEVfT0ZGRVIQAiqtAQoLT3JkZXJTdGF0dXMSHAoYT1JERVJfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFwoTT1JERVJfU1RBVFVTX0FDVElWRRABEhgKFE9SREVSX1NUQVRVU19QQVJUSUFMEAISFwoTT1JERVJfU1RBVFVTX0ZJTExFRBADEhoKFk9SREVSX1NUQVRVU19DQU5DRUxMRUQQBBIYChRPUkRFUl9TVEFUVVNfRVhQSVJFRBAFKogBCgtUaW1lSW5Gb3JjZRIdChlUSU1FX0lOX0ZPUkNFX1VOU1BFQ0lGSUVEEAASFQoRVElNRV9JTl9GT1JDRV9HVEMQARIVChFUSU1FX0lOX0ZPUkNFX0lPQxACEhUKEVRJTUVfSU5fRk9SQ0VfRk9LEAMSFQoRVElNRV9JTl9GT1JDRV9HVEQQBCraAgoQU2V0dGxlbWVudFN0YXR1cxIhCh1TRVRUTEVNRU5UX1NUQVRVU19VTlNQRUNJRklFRBAAEh0KGVNFVFRMRU1FTlRfU1RBVFVTX0NSRUFURUQQARIiCh5TRVRUTEVNRU5UX1NUQVRVU19QUkVDT05GSVJNRUQQAhIpCiVTRVRUTEVNRU5UX1NUQVRVU19EVlBfUkVRVUVTVF9DUkVBVEVEEAMSKgomU0VUVExFTUVOVF9TVEFUVVNfRFZQX1JFUVVFU1RfQUNDRVBURUQQBBIrCidTRVRUTEVNRU5UX1NUQVRVU19JTlNUUlVNRU5UU19BTExPQ0FURUQQBRIdChlTRVRUTEVNRU5UX1NUQVRVU19TRVRUTEVEEAYSHwobU0VUVExFTUVOVF9TVEFUVVNfQ0FOQ0VMTEVEEAcSHAoYU0VUVExFTUVOVF9TVEFUVVNfRkFJTEVEEAgqdgoKTWFya2V0VHlwZRIbChdNQVJLRVRfVFlQRV9VTlNQRUNJRklFRBAAEhcKE01BUktFVF9UWVBFX0dFTkVSQUwQARIdChlNQVJLRVRfVFlQRV9JTlNUSVRVVElPTkFMEAISEwoPTUFSS0VUX1RZUEVfT1RDEAMqlgEKDEludml0ZVN0YXR1cxIdChlJTlZJVEVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFwoTSU5WSVRFX1NUQVRVU19WQUxJRBABEhkKFUlOVklURV9TVEFUVVNfRVhQSVJFRBACEhYKEklOVklURV9TVEFUVVNfVVNFRBADEhsKF0lOVklURV9TVEFUVVNfQ0FOQ0VMTEVEEAQylhcKEE9yZGVyYm9va1NlcnZpY2USXAoJR2V0T3JkZXJzEiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0T3JkZXJzUmVxdWVzdBonLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE9yZGVyc1Jlc3BvbnNlEnQKEUdldE9yZGVyYm9va0RlcHRoEi4uc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0T3JkZXJib29rRGVwdGhSZXF1ZXN0Gi8uc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0T3JkZXJib29rRGVwdGhSZXNwb25zZRKDAQoWR2V0U2V0dGxlbWVudFByb3Bvc2FscxIzLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFNldHRsZW1lbnRQcm9wb3NhbHNSZXF1ZXN0GjQuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1Jlc3BvbnNlEoABChVHZXRTZXR0bGVtZW50UHJvcG9zYWwSMi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50UHJvcG9zYWxSZXF1ZXN0GjMuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0U2V0dGxlbWVudFByb3Bvc2FsUmVzcG9uc2USawoOR2V0SW5zdHJ1bWVudHMSKy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRJbnN0cnVtZW50c1JlcXVlc3QaLC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRJbnN0cnVtZW50c1Jlc3BvbnNlEl8KCkdldE1hcmtldHMSJy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRNYXJrZXRzUmVxdWVzdBooLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE1hcmtldHNSZXNwb25zZRJuCg9HZXRPcmRlckhpc3RvcnkSLC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlckhpc3RvcnlSZXF1ZXN0Gi0uc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0T3JkZXJIaXN0b3J5UmVzcG9uc2USaAoNR2V0TWFya2V0RGF0YRIqLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE1hcmtldERhdGFSZXF1ZXN0Gisuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TWFya2V0RGF0YVJlc3BvbnNlEmsKDkdldFNldHRsZW1lbnRzEisuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0U2V0dGxlbWVudHNSZXF1ZXN0Giwuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0U2V0dGxlbWVudHNSZXNwb25zZRJiCgtTdWJtaXRPcmRlchIoLnNpbHZhbmEub3JkZXJib29rLnYxLlN1Ym1pdE9yZGVyUmVxdWVzdBopLnNpbHZhbmEub3JkZXJib29rLnYxLlN1Ym1pdE9yZGVyUmVzcG9uc2USYgoLQ2FuY2VsT3JkZXISKC5zaWx2YW5hLm9yZGVyYm9vay52MS5DYW5jZWxPcmRlclJlcXVlc3QaKS5zaWx2YW5hLm9yZGVyYm9vay52MS5DYW5jZWxPcmRlclJlc3BvbnNlElkKCEdldFBhcnR5EiUuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0UGFydHlSZXF1ZXN0GiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0UGFydHlSZXNwb25zZRJfCgpHZXRQYXJ0aWVzEicuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0UGFydGllc1JlcXVlc3QaKC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRQYXJ0aWVzUmVzcG9uc2USgAEKFUdldExpcXVpZGl0eVByb3ZpZGVycxIyLnNpbHZhbmEub3JkZXJib29rLnYxLkdldExpcXVpZGl0eVByb3ZpZGVyc1JlcXVlc3QaMy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRMaXF1aWRpdHlQcm92aWRlcnNSZXNwb25zZRJ6ChNBZGRXYWl0aW5nTGlzdEVudHJ5EjAuc2lsdmFuYS5vcmRlcmJvb2sudjEuQWRkV2FpdGluZ0xpc3RFbnRyeVJlcXVlc3QaMS5zaWx2YW5hLm9yZGVyYm9vay52MS5BZGRXYWl0aW5nTGlzdEVudHJ5UmVzcG9uc2USXAoJR2V0SW52aXRlEiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0SW52aXRlUmVxdWVzdBonLnNpbHZhbmEub3JkZXJib29rLnYxLkdldEludml0ZVJlc3BvbnNlElwKCVVzZUludml0ZRImLnNpbHZhbmEub3JkZXJib29rLnYxLlVzZUludml0ZVJlcXVlc3QaJy5zaWx2YW5hLm9yZGVyYm9vay52MS5Vc2VJbnZpdGVSZXNwb25zZRJiCgtDcmVhdGVQYXJ0eRIoLnNpbHZhbmEub3JkZXJib29rLnYxLkNyZWF0ZVBhcnR5UmVxdWVzdBopLnNpbHZhbmEub3JkZXJib29rLnYxLkNyZWF0ZVBhcnR5UmVzcG9uc2USYgoLVXBkYXRlUGFydHkSKC5zaWx2YW5hLm9yZGVyYm9vay52MS5VcGRhdGVQYXJ0eVJlcXVlc3QaKS5zaWx2YW5hLm9yZGVyYm9vay52MS5VcGRhdGVQYXJ0eVJlc3BvbnNlEm4KD0RlYWN0aXZhdGVQYXJ0eRIsLnNpbHZhbmEub3JkZXJib29rLnYxLkRlYWN0aXZhdGVQYXJ0eVJlcXVlc3QaLS5zaWx2YW5hLm9yZGVyYm9vay52MS5EZWFjdGl2YXRlUGFydHlSZXNwb25zZRJuCg9HZXRQYXJ0eUhpc3RvcnkSLC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRQYXJ0eUhpc3RvcnlSZXF1ZXN0Gi0uc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0UGFydHlIaXN0b3J5UmVzcG9uc2UScQoQQ3JlYXRlSW5zdHJ1bWVudBItLnNpbHZhbmEub3JkZXJib29rLnYxLkNyZWF0ZUluc3RydW1lbnRSZXF1ZXN0Gi4uc2lsdmFuYS5vcmRlcmJvb2sudjEuQ3JlYXRlSW5zdHJ1bWVudFJlc3BvbnNlEmUKDENyZWF0ZU1hcmtldBIpLnNpbHZhbmEub3JkZXJib29rLnYxLkNyZWF0ZU1hcmtldFJlcXVlc3QaKi5zaWx2YW5hLm9yZGVyYm9vay52MS5DcmVhdGVNYXJrZXRSZXNwb25zZRKDAQoWVXBkYXRlTWFya2V0UHJpY2VGZWVkcxIzLnNpbHZhbmEub3JkZXJib29rLnYxLlVwZGF0ZU1hcmtldFByaWNlRmVlZHNSZXF1ZXN0GjQuc2lsdmFuYS5vcmRlcmJvb2sudjEuVXBkYXRlTWFya2V0UHJpY2VGZWVkc1Jlc3BvbnNlEm4KElN1YnNjcmliZU9yZGVyYm9vaxIvLnNpbHZhbmEub3JkZXJib29rLnYxLlN1YnNjcmliZU9yZGVyYm9va1JlcXVlc3QaJS5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tVcGRhdGUwARJkCg9TdWJzY3JpYmVPcmRlcnMSLC5zaWx2YW5hLm9yZGVyYm9vay52MS5TdWJzY3JpYmVPcmRlcnNSZXF1ZXN0GiEuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJVcGRhdGUwARJzChRTdWJzY3JpYmVTZXR0bGVtZW50cxIxLnNpbHZhbmEub3JkZXJib29rLnYxLlN1YnNjcmliZVNldHRsZW1lbnRzUmVxdWVzdBomLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRVcGRhdGUwAUI0WjJnaXRodWIuY29tL1NpbHZhbmFPbmUvY2FudG9uLWFnZW50L3Byb3RvO29yZGVyYm9va2IGcHJvdG8z", [file_google_protobuf_timestamp, file_google_protobuf_empty, file_google_protobuf_struct]);
16
16
 
17
17
  /**
18
18
  * JWT authentication token (for server-signed tokens using JWT_PRIVATE_KEY)
@@ -2211,6 +2211,34 @@ export type CreatePartyRequest = Message<"silvana.orderbook.v1.CreatePartyReques
2211
2211
  */
2212
2212
  userData?: JsonObject;
2213
2213
 
2214
+ /**
2215
+ * Party email address
2216
+ *
2217
+ * @generated from field: optional string email = 10;
2218
+ */
2219
+ email?: string;
2220
+
2221
+ /**
2222
+ * Base58 public key
2223
+ *
2224
+ * @generated from field: optional string public_key = 11;
2225
+ */
2226
+ publicKey?: string;
2227
+
2228
+ /**
2229
+ * Invite code used during registration
2230
+ *
2231
+ * @generated from field: optional string invite_code = 12;
2232
+ */
2233
+ inviteCode?: string;
2234
+
2235
+ /**
2236
+ * Source: loop_wallet, form, supa_wallet, admin
2237
+ *
2238
+ * @generated from field: optional string source = 13;
2239
+ */
2240
+ source?: string;
2241
+
2214
2242
  /**
2215
2243
  * Alternative auth for external accounts
2216
2244
  *
@@ -2331,6 +2359,34 @@ export type UpdatePartyRequest = Message<"silvana.orderbook.v1.UpdatePartyReques
2331
2359
  */
2332
2360
  changeReason?: string;
2333
2361
 
2362
+ /**
2363
+ * Party email address
2364
+ *
2365
+ * @generated from field: optional string email = 11;
2366
+ */
2367
+ email?: string;
2368
+
2369
+ /**
2370
+ * Base58 public key
2371
+ *
2372
+ * @generated from field: optional string public_key = 12;
2373
+ */
2374
+ publicKey?: string;
2375
+
2376
+ /**
2377
+ * Invite code used during registration
2378
+ *
2379
+ * @generated from field: optional string invite_code = 13;
2380
+ */
2381
+ inviteCode?: string;
2382
+
2383
+ /**
2384
+ * Source: loop_wallet, form, supa_wallet, admin
2385
+ *
2386
+ * @generated from field: optional string source = 14;
2387
+ */
2388
+ source?: string;
2389
+
2334
2390
  /**
2335
2391
  * Alternative auth for external accounts
2336
2392
  *
@@ -2789,6 +2845,34 @@ export type Party = Message<"silvana.orderbook.v1.Party"> & {
2789
2845
  * @generated from field: uint64 version = 12;
2790
2846
  */
2791
2847
  version: bigint;
2848
+
2849
+ /**
2850
+ * Party email address
2851
+ *
2852
+ * @generated from field: optional string email = 13;
2853
+ */
2854
+ email?: string;
2855
+
2856
+ /**
2857
+ * Base58 public key
2858
+ *
2859
+ * @generated from field: optional string public_key = 14;
2860
+ */
2861
+ publicKey?: string;
2862
+
2863
+ /**
2864
+ * Invite code used during registration
2865
+ *
2866
+ * @generated from field: optional string invite_code = 15;
2867
+ */
2868
+ inviteCode?: string;
2869
+
2870
+ /**
2871
+ * Source: loop_wallet, form, supa_wallet, admin
2872
+ *
2873
+ * @generated from field: string source = 16;
2874
+ */
2875
+ source: string;
2792
2876
  };
2793
2877
 
2794
2878
  /**
@@ -2925,6 +3009,367 @@ export type GetLiquidityProvidersResponse = Message<"silvana.orderbook.v1.GetLiq
2925
3009
  export const GetLiquidityProvidersResponseSchema: GenMessage<GetLiquidityProvidersResponse> = /*@__PURE__*/
2926
3010
  messageDesc(file_proto_silvana_orderbook_v1_orderbook, 55);
2927
3011
 
3012
+ /**
3013
+ * Waiting list entry for users pending onboarding
3014
+ *
3015
+ * @generated from message silvana.orderbook.v1.WaitingListEntry
3016
+ */
3017
+ export type WaitingListEntry = Message<"silvana.orderbook.v1.WaitingListEntry"> & {
3018
+ /**
3019
+ * @generated from field: uint64 id = 1;
3020
+ */
3021
+ id: bigint;
3022
+
3023
+ /**
3024
+ * @generated from field: optional string party_id = 2;
3025
+ */
3026
+ partyId?: string;
3027
+
3028
+ /**
3029
+ * @generated from field: google.protobuf.Struct user_data = 3;
3030
+ */
3031
+ userData?: JsonObject;
3032
+
3033
+ /**
3034
+ * loop_wallet, form, supa_wallet
3035
+ *
3036
+ * @generated from field: string source = 4;
3037
+ */
3038
+ source: string;
3039
+
3040
+ /**
3041
+ * @generated from field: optional string email = 5;
3042
+ */
3043
+ email?: string;
3044
+
3045
+ /**
3046
+ * @generated from field: optional string public_key = 6;
3047
+ */
3048
+ publicKey?: string;
3049
+
3050
+ /**
3051
+ * @generated from field: bool is_onboarded = 7;
3052
+ */
3053
+ isOnboarded: boolean;
3054
+
3055
+ /**
3056
+ * @generated from field: uint64 version = 8;
3057
+ */
3058
+ version: bigint;
3059
+
3060
+ /**
3061
+ * @generated from field: optional google.protobuf.Struct metadata = 9;
3062
+ */
3063
+ metadata?: JsonObject;
3064
+
3065
+ /**
3066
+ * @generated from field: google.protobuf.Timestamp created_at = 10;
3067
+ */
3068
+ createdAt?: Timestamp;
3069
+
3070
+ /**
3071
+ * @generated from field: google.protobuf.Timestamp updated_at = 11;
3072
+ */
3073
+ updatedAt?: Timestamp;
3074
+ };
3075
+
3076
+ /**
3077
+ * Describes the message silvana.orderbook.v1.WaitingListEntry.
3078
+ * Use `create(WaitingListEntrySchema)` to create a new message.
3079
+ */
3080
+ export const WaitingListEntrySchema: GenMessage<WaitingListEntry> = /*@__PURE__*/
3081
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 56);
3082
+
3083
+ /**
3084
+ * Add entry to waiting list (JWT auth with user 'onboard')
3085
+ *
3086
+ * @generated from message silvana.orderbook.v1.AddWaitingListEntryRequest
3087
+ */
3088
+ export type AddWaitingListEntryRequest = Message<"silvana.orderbook.v1.AddWaitingListEntryRequest"> & {
3089
+ /**
3090
+ * @generated from field: silvana.orderbook.v1.JWTAuth auth = 1;
3091
+ */
3092
+ auth?: JWTAuth;
3093
+
3094
+ /**
3095
+ * @generated from field: google.protobuf.Struct user_data = 2;
3096
+ */
3097
+ userData?: JsonObject;
3098
+
3099
+ /**
3100
+ * @generated from field: string source = 3;
3101
+ */
3102
+ source: string;
3103
+
3104
+ /**
3105
+ * @generated from field: optional string email = 4;
3106
+ */
3107
+ email?: string;
3108
+
3109
+ /**
3110
+ * @generated from field: optional string public_key = 5;
3111
+ */
3112
+ publicKey?: string;
3113
+
3114
+ /**
3115
+ * @generated from field: optional google.protobuf.Struct metadata = 6;
3116
+ */
3117
+ metadata?: JsonObject;
3118
+ };
3119
+
3120
+ /**
3121
+ * Describes the message silvana.orderbook.v1.AddWaitingListEntryRequest.
3122
+ * Use `create(AddWaitingListEntryRequestSchema)` to create a new message.
3123
+ */
3124
+ export const AddWaitingListEntryRequestSchema: GenMessage<AddWaitingListEntryRequest> = /*@__PURE__*/
3125
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 57);
3126
+
3127
+ /**
3128
+ * @generated from message silvana.orderbook.v1.AddWaitingListEntryResponse
3129
+ */
3130
+ export type AddWaitingListEntryResponse = Message<"silvana.orderbook.v1.AddWaitingListEntryResponse"> & {
3131
+ /**
3132
+ * @generated from field: bool success = 1;
3133
+ */
3134
+ success: boolean;
3135
+
3136
+ /**
3137
+ * @generated from field: string message = 2;
3138
+ */
3139
+ message: string;
3140
+
3141
+ /**
3142
+ * @generated from field: uint64 id = 3;
3143
+ */
3144
+ id: bigint;
3145
+ };
3146
+
3147
+ /**
3148
+ * Describes the message silvana.orderbook.v1.AddWaitingListEntryResponse.
3149
+ * Use `create(AddWaitingListEntryResponseSchema)` to create a new message.
3150
+ */
3151
+ export const AddWaitingListEntryResponseSchema: GenMessage<AddWaitingListEntryResponse> = /*@__PURE__*/
3152
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 58);
3153
+
3154
+ /**
3155
+ * Canton round with conversion coefficients for reward calculations
3156
+ *
3157
+ * @generated from message silvana.orderbook.v1.Round
3158
+ */
3159
+ export type Round = Message<"silvana.orderbook.v1.Round"> & {
3160
+ /**
3161
+ * @generated from field: uint64 round_number = 1;
3162
+ */
3163
+ roundNumber: bigint;
3164
+
3165
+ /**
3166
+ * DECIMAL(38,10) as string
3167
+ *
3168
+ * @generated from field: optional string issuance_per_featured_app_reward_coupon = 2;
3169
+ */
3170
+ issuancePerFeaturedAppRewardCoupon?: string;
3171
+
3172
+ /**
3173
+ * DECIMAL(38,10) as string
3174
+ *
3175
+ * @generated from field: optional string issuance_per_unfeatured_app_reward_coupon = 3;
3176
+ */
3177
+ issuancePerUnfeaturedAppRewardCoupon?: string;
3178
+
3179
+ /**
3180
+ * DECIMAL(38,10) as string
3181
+ *
3182
+ * @generated from field: optional string cc_usd_rate = 4;
3183
+ */
3184
+ ccUsdRate?: string;
3185
+
3186
+ /**
3187
+ * DECIMAL(38,10) as string
3188
+ *
3189
+ * @generated from field: optional string traffic_cost_usd_per_mb = 5;
3190
+ */
3191
+ trafficCostUsdPerMb?: string;
3192
+
3193
+ /**
3194
+ * @generated from field: google.protobuf.Timestamp created_at = 6;
3195
+ */
3196
+ createdAt?: Timestamp;
3197
+
3198
+ /**
3199
+ * @generated from field: google.protobuf.Timestamp updated_at = 7;
3200
+ */
3201
+ updatedAt?: Timestamp;
3202
+ };
3203
+
3204
+ /**
3205
+ * Describes the message silvana.orderbook.v1.Round.
3206
+ * Use `create(RoundSchema)` to create a new message.
3207
+ */
3208
+ export const RoundSchema: GenMessage<Round> = /*@__PURE__*/
3209
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 59);
3210
+
3211
+ /**
3212
+ * Invite code for user onboarding
3213
+ *
3214
+ * @generated from message silvana.orderbook.v1.Invite
3215
+ */
3216
+ export type Invite = Message<"silvana.orderbook.v1.Invite"> & {
3217
+ /**
3218
+ * @generated from field: string invite_code = 1;
3219
+ */
3220
+ inviteCode: string;
3221
+
3222
+ /**
3223
+ * @generated from field: string channel = 2;
3224
+ */
3225
+ channel: string;
3226
+
3227
+ /**
3228
+ * DECIMAL(38,10) as string
3229
+ *
3230
+ * @generated from field: optional string rewards = 3;
3231
+ */
3232
+ rewards?: string;
3233
+
3234
+ /**
3235
+ * @generated from field: optional google.protobuf.Struct metadata = 4;
3236
+ */
3237
+ metadata?: JsonObject;
3238
+
3239
+ /**
3240
+ * @generated from field: silvana.orderbook.v1.InviteStatus status = 5;
3241
+ */
3242
+ status: InviteStatus;
3243
+
3244
+ /**
3245
+ * @generated from field: uint32 count_used = 6;
3246
+ */
3247
+ countUsed: number;
3248
+
3249
+ /**
3250
+ * @generated from field: optional uint32 max_count = 7;
3251
+ */
3252
+ maxCount?: number;
3253
+
3254
+ /**
3255
+ * @generated from field: string created_by = 8;
3256
+ */
3257
+ createdBy: string;
3258
+
3259
+ /**
3260
+ * @generated from field: google.protobuf.Timestamp created_at = 9;
3261
+ */
3262
+ createdAt?: Timestamp;
3263
+
3264
+ /**
3265
+ * @generated from field: google.protobuf.Timestamp updated_at = 10;
3266
+ */
3267
+ updatedAt?: Timestamp;
3268
+ };
3269
+
3270
+ /**
3271
+ * Describes the message silvana.orderbook.v1.Invite.
3272
+ * Use `create(InviteSchema)` to create a new message.
3273
+ */
3274
+ export const InviteSchema: GenMessage<Invite> = /*@__PURE__*/
3275
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 60);
3276
+
3277
+ /**
3278
+ * Get invite by code
3279
+ *
3280
+ * @generated from message silvana.orderbook.v1.GetInviteRequest
3281
+ */
3282
+ export type GetInviteRequest = Message<"silvana.orderbook.v1.GetInviteRequest"> & {
3283
+ /**
3284
+ * @generated from field: string invite_code = 1;
3285
+ */
3286
+ inviteCode: string;
3287
+ };
3288
+
3289
+ /**
3290
+ * Describes the message silvana.orderbook.v1.GetInviteRequest.
3291
+ * Use `create(GetInviteRequestSchema)` to create a new message.
3292
+ */
3293
+ export const GetInviteRequestSchema: GenMessage<GetInviteRequest> = /*@__PURE__*/
3294
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 61);
3295
+
3296
+ /**
3297
+ * @generated from message silvana.orderbook.v1.GetInviteResponse
3298
+ */
3299
+ export type GetInviteResponse = Message<"silvana.orderbook.v1.GetInviteResponse"> & {
3300
+ /**
3301
+ * @generated from field: bool found = 1;
3302
+ */
3303
+ found: boolean;
3304
+
3305
+ /**
3306
+ * @generated from field: optional silvana.orderbook.v1.Invite invite = 2;
3307
+ */
3308
+ invite?: Invite;
3309
+ };
3310
+
3311
+ /**
3312
+ * Describes the message silvana.orderbook.v1.GetInviteResponse.
3313
+ * Use `create(GetInviteResponseSchema)` to create a new message.
3314
+ */
3315
+ export const GetInviteResponseSchema: GenMessage<GetInviteResponse> = /*@__PURE__*/
3316
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 62);
3317
+
3318
+ /**
3319
+ * Use invite code (increments count, marks used if at max)
3320
+ *
3321
+ * @generated from message silvana.orderbook.v1.UseInviteRequest
3322
+ */
3323
+ export type UseInviteRequest = Message<"silvana.orderbook.v1.UseInviteRequest"> & {
3324
+ /**
3325
+ * @generated from field: string invite_code = 1;
3326
+ */
3327
+ inviteCode: string;
3328
+
3329
+ /**
3330
+ * Who is using the invite
3331
+ *
3332
+ * @generated from field: optional string party_id = 2;
3333
+ */
3334
+ partyId?: string;
3335
+ };
3336
+
3337
+ /**
3338
+ * Describes the message silvana.orderbook.v1.UseInviteRequest.
3339
+ * Use `create(UseInviteRequestSchema)` to create a new message.
3340
+ */
3341
+ export const UseInviteRequestSchema: GenMessage<UseInviteRequest> = /*@__PURE__*/
3342
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 63);
3343
+
3344
+ /**
3345
+ * @generated from message silvana.orderbook.v1.UseInviteResponse
3346
+ */
3347
+ export type UseInviteResponse = Message<"silvana.orderbook.v1.UseInviteResponse"> & {
3348
+ /**
3349
+ * @generated from field: bool success = 1;
3350
+ */
3351
+ success: boolean;
3352
+
3353
+ /**
3354
+ * @generated from field: string message = 2;
3355
+ */
3356
+ message: string;
3357
+
3358
+ /**
3359
+ * Updated invite after use
3360
+ *
3361
+ * @generated from field: optional silvana.orderbook.v1.Invite invite = 3;
3362
+ */
3363
+ invite?: Invite;
3364
+ };
3365
+
3366
+ /**
3367
+ * Describes the message silvana.orderbook.v1.UseInviteResponse.
3368
+ * Use `create(UseInviteResponseSchema)` to create a new message.
3369
+ */
3370
+ export const UseInviteResponseSchema: GenMessage<UseInviteResponse> = /*@__PURE__*/
3371
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 64);
3372
+
2928
3373
  /**
2929
3374
  * Create a new instrument
2930
3375
  *
@@ -3002,7 +3447,7 @@ export type CreateInstrumentRequest = Message<"silvana.orderbook.v1.CreateInstru
3002
3447
  * Use `create(CreateInstrumentRequestSchema)` to create a new message.
3003
3448
  */
3004
3449
  export const CreateInstrumentRequestSchema: GenMessage<CreateInstrumentRequest> = /*@__PURE__*/
3005
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 56);
3450
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 65);
3006
3451
 
3007
3452
  /**
3008
3453
  * @generated from message silvana.orderbook.v1.CreateInstrumentResponse
@@ -3029,7 +3474,7 @@ export type CreateInstrumentResponse = Message<"silvana.orderbook.v1.CreateInstr
3029
3474
  * Use `create(CreateInstrumentResponseSchema)` to create a new message.
3030
3475
  */
3031
3476
  export const CreateInstrumentResponseSchema: GenMessage<CreateInstrumentResponse> = /*@__PURE__*/
3032
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 57);
3477
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 66);
3033
3478
 
3034
3479
  /**
3035
3480
  * Create a new market
@@ -3126,7 +3571,7 @@ export type CreateMarketRequest = Message<"silvana.orderbook.v1.CreateMarketRequ
3126
3571
  * Use `create(CreateMarketRequestSchema)` to create a new message.
3127
3572
  */
3128
3573
  export const CreateMarketRequestSchema: GenMessage<CreateMarketRequest> = /*@__PURE__*/
3129
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 58);
3574
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 67);
3130
3575
 
3131
3576
  /**
3132
3577
  * @generated from message silvana.orderbook.v1.CreateMarketResponse
@@ -3153,7 +3598,7 @@ export type CreateMarketResponse = Message<"silvana.orderbook.v1.CreateMarketRes
3153
3598
  * Use `create(CreateMarketResponseSchema)` to create a new message.
3154
3599
  */
3155
3600
  export const CreateMarketResponseSchema: GenMessage<CreateMarketResponse> = /*@__PURE__*/
3156
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 59);
3601
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 68);
3157
3602
 
3158
3603
  /**
3159
3604
  * Update price feeds for an existing market
@@ -3191,7 +3636,7 @@ export type UpdateMarketPriceFeedsRequest = Message<"silvana.orderbook.v1.Update
3191
3636
  * Use `create(UpdateMarketPriceFeedsRequestSchema)` to create a new message.
3192
3637
  */
3193
3638
  export const UpdateMarketPriceFeedsRequestSchema: GenMessage<UpdateMarketPriceFeedsRequest> = /*@__PURE__*/
3194
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 60);
3639
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 69);
3195
3640
 
3196
3641
  /**
3197
3642
  * @generated from message silvana.orderbook.v1.UpdateMarketPriceFeedsResponse
@@ -3220,7 +3665,7 @@ export type UpdateMarketPriceFeedsResponse = Message<"silvana.orderbook.v1.Updat
3220
3665
  * Use `create(UpdateMarketPriceFeedsResponseSchema)` to create a new message.
3221
3666
  */
3222
3667
  export const UpdateMarketPriceFeedsResponseSchema: GenMessage<UpdateMarketPriceFeedsResponse> = /*@__PURE__*/
3223
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 61);
3668
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 70);
3224
3669
 
3225
3670
  /**
3226
3671
  * Order type enumeration
@@ -3434,6 +3879,44 @@ export enum MarketType {
3434
3879
  export const MarketTypeSchema: GenEnum<MarketType> = /*@__PURE__*/
3435
3880
  enumDesc(file_proto_silvana_orderbook_v1_orderbook, 4);
3436
3881
 
3882
+ /**
3883
+ * Invite status enum
3884
+ *
3885
+ * @generated from enum silvana.orderbook.v1.InviteStatus
3886
+ */
3887
+ export enum InviteStatus {
3888
+ /**
3889
+ * @generated from enum value: INVITE_STATUS_UNSPECIFIED = 0;
3890
+ */
3891
+ UNSPECIFIED = 0,
3892
+
3893
+ /**
3894
+ * @generated from enum value: INVITE_STATUS_VALID = 1;
3895
+ */
3896
+ VALID = 1,
3897
+
3898
+ /**
3899
+ * @generated from enum value: INVITE_STATUS_EXPIRED = 2;
3900
+ */
3901
+ EXPIRED = 2,
3902
+
3903
+ /**
3904
+ * @generated from enum value: INVITE_STATUS_USED = 3;
3905
+ */
3906
+ USED = 3,
3907
+
3908
+ /**
3909
+ * @generated from enum value: INVITE_STATUS_CANCELLED = 4;
3910
+ */
3911
+ CANCELLED = 4,
3912
+ }
3913
+
3914
+ /**
3915
+ * Describes the enum silvana.orderbook.v1.InviteStatus.
3916
+ */
3917
+ export const InviteStatusSchema: GenEnum<InviteStatus> = /*@__PURE__*/
3918
+ enumDesc(file_proto_silvana_orderbook_v1_orderbook, 5);
3919
+
3437
3920
  /**
3438
3921
  * @generated from service silvana.orderbook.v1.OrderbookService
3439
3922
  */
@@ -3558,6 +4041,34 @@ export const OrderbookService: GenService<{
3558
4041
  input: typeof GetLiquidityProvidersRequestSchema;
3559
4042
  output: typeof GetLiquidityProvidersResponseSchema;
3560
4043
  },
4044
+ /**
4045
+ * Waiting list operations (JWT auth with user 'onboard')
4046
+ *
4047
+ * @generated from rpc silvana.orderbook.v1.OrderbookService.AddWaitingListEntry
4048
+ */
4049
+ addWaitingListEntry: {
4050
+ methodKind: "unary";
4051
+ input: typeof AddWaitingListEntryRequestSchema;
4052
+ output: typeof AddWaitingListEntryResponseSchema;
4053
+ },
4054
+ /**
4055
+ * Invite operations
4056
+ *
4057
+ * @generated from rpc silvana.orderbook.v1.OrderbookService.GetInvite
4058
+ */
4059
+ getInvite: {
4060
+ methodKind: "unary";
4061
+ input: typeof GetInviteRequestSchema;
4062
+ output: typeof GetInviteResponseSchema;
4063
+ },
4064
+ /**
4065
+ * @generated from rpc silvana.orderbook.v1.OrderbookService.UseInvite
4066
+ */
4067
+ useInvite: {
4068
+ methodKind: "unary";
4069
+ input: typeof UseInviteRequestSchema;
4070
+ output: typeof UseInviteResponseSchema;
4071
+ },
3561
4072
  /**
3562
4073
  * Admin operations (require operator authentication)
3563
4074
  *