@eide/foir-proto-ts 0.77.0 → 0.78.0

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.
Files changed (33) hide show
  1. package/package.json +2 -1
  2. package/src/analytics/v1/analytics_pb.d.ts +109 -8
  3. package/src/analytics/v1/analytics_pb.js +2 -1
  4. package/src/apps/v1/apps_service_pb.d.ts +28 -2
  5. package/src/apps/v1/apps_service_pb.js +2 -1
  6. package/src/billing/v1/billing_pb.d.ts +25 -4
  7. package/src/billing/v1/billing_pb.js +2 -1
  8. package/src/common/v1/pagination_pb.d.ts +57 -0
  9. package/src/common/v1/pagination_pb.js +19 -0
  10. package/src/configs/v1/configs_pb.d.ts +49 -8
  11. package/src/configs/v1/configs_pb.js +2 -1
  12. package/src/email/v1/email_pb.d.ts +25 -4
  13. package/src/email/v1/email_pb.js +2 -1
  14. package/src/hooks/v1/hooks_pb.d.ts +49 -8
  15. package/src/hooks/v1/hooks_pb.js +2 -1
  16. package/src/identity/v1/identity_pb.d.ts +193 -32
  17. package/src/identity/v1/identity_pb.js +2 -1
  18. package/src/models/v1/models_pb.d.ts +49 -8
  19. package/src/models/v1/models_pb.js +2 -1
  20. package/src/notifications/v1/notifications_pb.d.ts +97 -16
  21. package/src/notifications/v1/notifications_pb.js +2 -1
  22. package/src/operations/v1/operations_pb.d.ts +124 -18
  23. package/src/operations/v1/operations_pb.js +2 -1
  24. package/src/records/v1/records_pb.d.ts +179 -59
  25. package/src/records/v1/records_pb.js +86 -92
  26. package/src/schedules/v1/schedules_pb.d.ts +49 -8
  27. package/src/schedules/v1/schedules_pb.js +2 -1
  28. package/src/segments/v1/segments_pb.d.ts +25 -4
  29. package/src/segments/v1/segments_pb.js +2 -1
  30. package/src/settings/v1/settings_pb.d.ts +268 -42
  31. package/src/settings/v1/settings_pb.js +2 -1
  32. package/src/storage/v1/storage_pb.d.ts +30 -4
  33. package/src/storage/v1/storage_pb.js +2 -1
@@ -5,12 +5,13 @@
5
5
  import { enumDesc, fileDesc, messageDesc, serviceDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
6
6
  import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
7
7
  import { file_publish_v1_publish } from "../../publish/v1/publish_pb.js";
8
+ import { file_common_v1_pagination } from "../../common/v1/pagination_pb.js";
8
9
 
9
10
  /**
10
11
  * Describes the file operations/v1/operations.proto.
11
12
  */
12
13
  export const file_operations_v1_operations = /*@__PURE__*/
13
- fileDesc("Ch5vcGVyYXRpb25zL3YxL29wZXJhdGlvbnMucHJvdG8SDW9wZXJhdGlvbnMudjEilAsKCU9wZXJhdGlvbhIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhEKBGljb24YBSABKAlIAYgBARIVCghjYXRlZ29yeRgGIAEoCUgCiAEBEhAKCGVuZHBvaW50GAcgASgJEhoKDWVuZHBvaW50X2F1dGgYCCABKAlIA4gBARISCgp0aW1lb3V0X21zGAkgASgFEjIKDHJldHJ5X3BvbGljeRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIyCgxpbnB1dF9zY2hlbWEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESMwoNb3V0cHV0X3NjaGVtYRgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBogBARIoCgJ1aRgNIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIRCglpc19hY3RpdmUYDiABKAgSFQoNYWxsb3dlZF9yb2xlcxgPIAMoCRIsCgZxdW90YXMYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAiIAQESFgoJY29uZmlnX2lkGBIgASgJSAmIAQESMgoMcHJlY29uZGl0aW9uGBMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgKiAEBEhEKCXRlbmFudF9pZBgUIAEoCRIXCgpwcm9qZWN0X2lkGBUgASgJSAuIAQESGwoOc3VwcG9ydHNfYXN5bmMYFiABKAhIDIgBARIhChRjYWxsYmFja190dGxfc2Vjb25kcxgXIAEoBUgNiAEBEkMKHWNhbGxiYWNrX3RpbWVvdXRfcmV0cnlfcG9saWN5GBggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgOiAEBEhQKDGNhcGFiaWxpdGllcxgZIAMoCRIXCgpjcmVhdGVkX2J5GB4gASgJSA+IAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHwoSY3VycmVudF92ZXJzaW9uX2lkGDwgASgJSBCIAQESIQoUcHVibGlzaGVkX3ZlcnNpb25faWQYPSABKAlIEYgBARI9ChRzY2hlZHVsZWRfcHVibGlzaF9hdBg+IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIEogBARI/ChZzY2hlZHVsZWRfdW5wdWJsaXNoX2F0GD8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgTiAEBQg4KDF9kZXNjcmlwdGlvbkIHCgVfaWNvbkILCglfY2F0ZWdvcnlCEAoOX2VuZHBvaW50X2F1dGhCDwoNX3JldHJ5X3BvbGljeUIPCg1faW5wdXRfc2NoZW1hQhAKDl9vdXRwdXRfc2NoZW1hQgUKA191aUIJCgdfcXVvdGFzQgwKCl9jb25maWdfaWRCDwoNX3ByZWNvbmRpdGlvbkINCgtfcHJvamVjdF9pZEIRCg9fc3VwcG9ydHNfYXN5bmNCFwoVX2NhbGxiYWNrX3R0bF9zZWNvbmRzQiAKHl9jYWxsYmFja190aW1lb3V0X3JldHJ5X3BvbGljeUINCgtfY3JlYXRlZF9ieUIVChNfY3VycmVudF92ZXJzaW9uX2lkQhcKFV9wdWJsaXNoZWRfdmVyc2lvbl9pZEIXChVfc2NoZWR1bGVkX3B1Ymxpc2hfYXRCGQoXX3NjaGVkdWxlZF91bnB1Ymxpc2hfYXQi0wIKEE9wZXJhdGlvblZlcnNpb24SCgoCaWQYASABKAkSFAoMb3BlcmF0aW9uX2lkGAIgASgJEhYKDnZlcnNpb25fbnVtYmVyGAMgASgFEikKCHNuYXBzaG90GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIUCgxjb250ZW50X2hhc2gYBSABKAkSHgoRc291cmNlX3ZlcnNpb25faWQYBiABKAlIAIgBARIfChJjaGFuZ2VfZGVzY3JpcHRpb24YByABKAlIAYgBARIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpjcmVhdGVkX2J5GAkgASgJSAKIAQFCFAoSX3NvdXJjZV92ZXJzaW9uX2lkQhUKE19jaGFuZ2VfZGVzY3JpcHRpb25CDQoLX2NyZWF0ZWRfYnki2ggKEk9wZXJhdGlvbkV4ZWN1dGlvbhIKCgJpZBgBIAEoCRIVCg1vcGVyYXRpb25fa2V5GAIgASgJEg4KBnN0YXR1cxgDIAEoCRIZCgx0cmlnZ2VyX3R5cGUYBCABKAlIAIgBARI1Cg90cmlnZ2VyX2NvbnRleHQYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESKwoFaW5wdXQYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESGAoLcmVzdWx0X2pzb24YByABKAxIA4gBARIXCgplcnJvcl9qc29uGAggASgMSASIAQESMwoKc3RhcnRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARI1Cgxjb21wbGV0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAaIAQESGAoLZHVyYXRpb25fbXMYCyABKAVIB4gBARITCgtyZXRyeV9jb3VudBgMIAEoBRIZCgxwcm9ncmVzc19wY3QYDSABKAVICIgBARIdChBwcm9ncmVzc19tZXNzYWdlGA4gASgJSAmIAQESNwoRcHJvZ3Jlc3NfbWV0YWRhdGEYDyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAqIAQESPAoTcHJvZ3Jlc3NfdXBkYXRlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIC4gBARI8ChNjYWxsYmFja19leHBpcmVzX2F0GBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgMiAEBEiAKE3BhcmVudF9leGVjdXRpb25faWQYEiABKAlIDYgBARI1CgxjYW5jZWxsZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSA6IAQESEQoJdGVuYW50X2lkGBQgASgJEhcKCnByb2plY3RfaWQYFSABKAlID4gBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIPCg1fdHJpZ2dlcl90eXBlQhIKEF90cmlnZ2VyX2NvbnRleHRCCAoGX2lucHV0Qg4KDF9yZXN1bHRfanNvbkINCgtfZXJyb3JfanNvbkINCgtfc3RhcnRlZF9hdEIPCg1fY29tcGxldGVkX2F0Qg4KDF9kdXJhdGlvbl9tc0IPCg1fcHJvZ3Jlc3NfcGN0QhMKEV9wcm9ncmVzc19tZXNzYWdlQhQKEl9wcm9ncmVzc19tZXRhZGF0YUIWChRfcHJvZ3Jlc3NfdXBkYXRlZF9hdEIWChRfY2FsbGJhY2tfZXhwaXJlc19hdEIWChRfcGFyZW50X2V4ZWN1dGlvbl9pZEIPCg1fY2FuY2VsbGVkX2F0Qg0KC19wcm9qZWN0X2lkIvsFCg9EZWFkTGV0dGVyRW50cnkSCgoCaWQYASABKAkSFQoNb3BlcmF0aW9uX2tleRgCIAEoCRIZCgxleGVjdXRpb25faWQYAyABKAlIAIgBARIrCgVpbnB1dBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIZCgx0cmlnZ2VyX3R5cGUYBSABKAlIAogBARIQCghhdHRlbXB0cxgGIAEoBRISCgpsYXN0X2Vycm9yGAcgASgJEhcKCmVycm9yX2NvZGUYCCABKAlIA4gBARIOCgZzdGF0dXMYCSABKAkSLQoJZmFpbGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCgpyZXRyaWVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEjUKDGRpc21pc3NlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARIZCgxkaXNtaXNzZWRfYnkYDSABKAlIBogBARI2Cg1uZXh0X3JldHJ5X2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgHiAEBEjoKEWxhc3RfYXR0ZW1wdGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgIiAEBEhEKCXRlbmFudF9pZBgUIAEoCRISCgpwcm9qZWN0X2lkGBUgASgJEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg8KDV9leGVjdXRpb25faWRCCAoGX2lucHV0Qg8KDV90cmlnZ2VyX3R5cGVCDQoLX2Vycm9yX2NvZGVCDQoLX3JldHJpZWRfYXRCDwoNX2Rpc21pc3NlZF9hdEIPCg1fZGlzbWlzc2VkX2J5QhAKDl9uZXh0X3JldHJ5X2F0QhQKEl9sYXN0X2F0dGVtcHRlZF9hdCK1AgoMQ2lyY3VpdFN0YXRlEhUKDW9wZXJhdGlvbl9rZXkYASABKAkSEAoIZW5kcG9pbnQYAiABKAkSDQoFc3RhdGUYAyABKAkSFQoNZmFpbHVyZV9jb3VudBgEIAEoBRI4Cg9sYXN0X2ZhaWx1cmVfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESMgoJb3BlbmVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEjUKDGhhbGZfb3Blbl9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBAUISChBfbGFzdF9mYWlsdXJlX2F0QgwKCl9vcGVuZWRfYXRCDwoNX2hhbGZfb3Blbl9hdCKBAQoORXhlY3V0aW9uU3RhdHMSFQoNb3BlcmF0aW9uX2tleRgBIAEoCRINCgV0b3RhbBgCIAEoBRIPCgdzdWNjZXNzGAMgASgFEg4KBmZhaWxlZBgEIAEoBRIPCgdwZW5kaW5nGAUgASgFEhcKD2F2Z19kdXJhdGlvbl9tcxgGIAEoASJVCg9EZWFkTGV0dGVyU3RhdHMSDwoHcGVuZGluZxgBIAEoBRIPCgdyZXRyaWVkGAIgASgFEhEKCWRpc21pc3NlZBgDIAEoBRINCgV0b3RhbBgEIAEoBSLGAQoVTGlzdE9wZXJhdGlvbnNSZXF1ZXN0EhUKCGNhdGVnb3J5GAEgASgJSACIAQESFgoJaXNfYWN0aXZlGAIgASgISAGIAQESEwoGc2VhcmNoGAMgASgJSAKIAQESFgoJY29uZmlnX2lkGAQgASgJSAOIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQgsKCV9jYXRlZ29yeUIMCgpfaXNfYWN0aXZlQgkKB19zZWFyY2hCDAoKX2NvbmZpZ19pZCJVChZMaXN0T3BlcmF0aW9uc1Jlc3BvbnNlEiwKCm9wZXJhdGlvbnMYASADKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbhINCgV0b3RhbBgCIAEoBSI7ChNHZXRPcGVyYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEhAKA2tleRgCIAEoCUgAiAEBQgYKBF9rZXkiQwoUR2V0T3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24i0QcKFkNyZWF0ZU9wZXJhdGlvblJlcXVlc3QSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARIRCgRpY29uGAQgASgJSAGIAQESFQoIY2F0ZWdvcnkYBSABKAlIAogBARIQCghlbmRwb2ludBgGIAEoCRIaCg1lbmRwb2ludF9hdXRoGAcgASgJSAOIAQESFwoKdGltZW91dF9tcxgIIAEoBUgEiAEBEjIKDGlucHV0X3NjaGVtYRgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBARIzCg1vdXRwdXRfc2NoZW1hGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEigKAnVpGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBEhYKCWNvbmZpZ19pZBgMIAEoCUgIiAEBEiwKBnF1b3RhcxgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICYgBARIVCg1hbGxvd2VkX3JvbGVzGA8gAygJEjIKDHJldHJ5X3BvbGljeRgQIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICogBARIyCgxwcmVjb25kaXRpb24YESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAuIAQESFgoJaXNfYWN0aXZlGBIgASgISAyIAQESGwoOc3VwcG9ydHNfYXN5bmMYEyABKAhIDYgBARIhChRjYWxsYmFja190dGxfc2Vjb25kcxgUIAEoBUgOiAEBEkMKHWNhbGxiYWNrX3RpbWVvdXRfcmV0cnlfcG9saWN5GBUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgPiAEBEhQKDGNhcGFiaWxpdGllcxgWIAMoCUIOCgxfZGVzY3JpcHRpb25CBwoFX2ljb25CCwoJX2NhdGVnb3J5QhAKDl9lbmRwb2ludF9hdXRoQg0KC190aW1lb3V0X21zQg8KDV9pbnB1dF9zY2hlbWFCEAoOX291dHB1dF9zY2hlbWFCBQoDX3VpQgwKCl9jb25maWdfaWRCCQoHX3F1b3Rhc0IPCg1fcmV0cnlfcG9saWN5Qg8KDV9wcmVjb25kaXRpb25CDAoKX2lzX2FjdGl2ZUIRCg9fc3VwcG9ydHNfYXN5bmNCFwoVX2NhbGxiYWNrX3R0bF9zZWNvbmRzQiAKHl9jYWxsYmFja190aW1lb3V0X3JldHJ5X3BvbGljeSJGChdDcmVhdGVPcGVyYXRpb25SZXNwb25zZRIrCglvcGVyYXRpb24YASABKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbiKKBwoWVXBkYXRlT3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESGAoLZGVzY3JpcHRpb24YAyABKAlIAYgBARIVCghlbmRwb2ludBgEIAEoCUgCiAEBEhoKDWVuZHBvaW50X2F1dGgYBSABKAlIA4gBARIXCgp0aW1lb3V0X21zGAYgASgFSASIAQESMgoMaW5wdXRfc2NoZW1hGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBEjMKDW91dHB1dF9zY2hlbWEYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAaIAQESKAoCdWkYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAeIAQESFgoJaXNfYWN0aXZlGAogASgISAiIAQESLAoGcXVvdGFzGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgJiAEBEjIKDHJldHJ5X3BvbGljeRgNIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICogBARIyCgxwcmVjb25kaXRpb24YDiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAuIAQESFQoNYWxsb3dlZF9yb2xlcxgPIAMoCRIbCg5zdXBwb3J0c19hc3luYxgQIAEoCEgMiAEBEiEKFGNhbGxiYWNrX3R0bF9zZWNvbmRzGBEgASgFSA2IAQESQwodY2FsbGJhY2tfdGltZW91dF9yZXRyeV9wb2xpY3kYEiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SA6IAQESFAoMY2FwYWJpbGl0aWVzGBMgAygJQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkILCglfZW5kcG9pbnRCEAoOX2VuZHBvaW50X2F1dGhCDQoLX3RpbWVvdXRfbXNCDwoNX2lucHV0X3NjaGVtYUIQCg5fb3V0cHV0X3NjaGVtYUIFCgNfdWlCDAoKX2lzX2FjdGl2ZUIJCgdfcXVvdGFzQg8KDV9yZXRyeV9wb2xpY3lCDwoNX3ByZWNvbmRpdGlvbkIRCg9fc3VwcG9ydHNfYXN5bmNCFwoVX2NhbGxiYWNrX3R0bF9zZWNvbmRzQiAKHl9jYWxsYmFja190aW1lb3V0X3JldHJ5X3BvbGljeSJGChdVcGRhdGVPcGVyYXRpb25SZXNwb25zZRIrCglvcGVyYXRpb24YASABKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbiIkChZEZWxldGVPcGVyYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIioKF0RlbGV0ZU9wZXJhdGlvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiqAMKF0V4ZWN1dGVPcGVyYXRpb25SZXF1ZXN0EhUKDW9wZXJhdGlvbl9rZXkYASABKAkSKwoFaW5wdXQYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESGQoMdHJpZ2dlcl90eXBlGAMgASgJSAGIAQESNQoPdHJpZ2dlcl9jb250ZXh0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEioKBG1vZGUYBSABKA4yHC5vcGVyYXRpb25zLnYxLkV4ZWN1dGlvbk1vZGUSGAoLY3VzdG9tZXJfaWQYBiABKAlIA4gBARIsCgZyZWNvcmQYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQESLQoHY29udGVudBgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBAUIICgZfaW5wdXRCDwoNX3RyaWdnZXJfdHlwZUISChBfdHJpZ2dlcl9jb250ZXh0Qg4KDF9jdXN0b21lcl9pZEIJCgdfcmVjb3JkQgoKCF9jb250ZW50IqkCChhFeGVjdXRlT3BlcmF0aW9uUmVzcG9uc2USNAoJZXhlY3V0aW9uGAEgASgLMiEub3BlcmF0aW9ucy52MS5PcGVyYXRpb25FeGVjdXRpb24SGAoLcmVzdWx0X2pzb24YAiABKAxIAIgBARIaCg1lcnJvcl9tZXNzYWdlGAMgASgJSAGIAQESEQoJY29tcGxldGVkGAQgASgIEhUKCHBvbGxfdXJsGAogASgJSAKIAQESFwoKY2FuY2VsX3VybBgLIAEoCUgDiAEBEhQKB21lc3NhZ2UYDCABKAlIBIgBAUIOCgxfcmVzdWx0X2pzb25CEAoOX2Vycm9yX21lc3NhZ2VCCwoJX3BvbGxfdXJsQg0KC19jYW5jZWxfdXJsQgoKCF9tZXNzYWdlInYKHkxpc3RPcGVyYXRpb25FeGVjdXRpb25zUmVxdWVzdBIVCg1vcGVyYXRpb25fa2V5GAEgASgJEhMKBnN0YXR1cxgCIAEoCUgAiAEBEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBUIJCgdfc3RhdHVzImcKH0xpc3RPcGVyYXRpb25FeGVjdXRpb25zUmVzcG9uc2USNQoKZXhlY3V0aW9ucxgBIAMoCzIhLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uRXhlY3V0aW9uEg0KBXRvdGFsGAIgASgFIlEKIUdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzUmVxdWVzdBIaCg1vcGVyYXRpb25fa2V5GAEgASgJSACIAQFCEAoOX29wZXJhdGlvbl9rZXkiUgoiR2V0T3BlcmF0aW9uRXhlY3V0aW9uU3RhdHNSZXNwb25zZRIsCgVzdGF0cxgBIAMoCzIdLm9wZXJhdGlvbnMudjEuRXhlY3V0aW9uU3RhdHMiiwEKHExpc3REZWFkTGV0dGVyRW50cmllc1JlcXVlc3QSGgoNb3BlcmF0aW9uX2tleRgBIAEoCUgAiAEBEhMKBnN0YXR1cxgCIAEoCUgBiAEBEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBUIQCg5fb3BlcmF0aW9uX2tleUIJCgdfc3RhdHVzIl8KHUxpc3REZWFkTGV0dGVyRW50cmllc1Jlc3BvbnNlEi8KB2VudHJpZXMYASADKAsyHi5vcGVyYXRpb25zLnYxLkRlYWRMZXR0ZXJFbnRyeRINCgV0b3RhbBgCIAEoBSIpChtSZXRyeURlYWRMZXR0ZXJFbnRyeVJlcXVlc3QSCgoCaWQYASABKAkiLwocUmV0cnlEZWFkTGV0dGVyRW50cnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIisKHURpc21pc3NEZWFkTGV0dGVyRW50cnlSZXF1ZXN0EgoKAmlkGAEgASgJIjEKHkRpc21pc3NEZWFkTGV0dGVyRW50cnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiwKHUJ1bGtEaXNtaXNzRGVhZExldHRlcnNSZXF1ZXN0EgsKA2lkcxgBIAMoCSI5Ch5CdWxrRGlzbWlzc0RlYWRMZXR0ZXJzUmVzcG9uc2USFwoPZGlzbWlzc2VkX2NvdW50GAEgASgFIlMKI0Rpc21pc3NBbGxQZW5kaW5nRGVhZExldHRlcnNSZXF1ZXN0EhoKDW9wZXJhdGlvbl9rZXkYASABKAlIAIgBAUIQCg5fb3BlcmF0aW9uX2tleSI/CiREaXNtaXNzQWxsUGVuZGluZ0RlYWRMZXR0ZXJzUmVzcG9uc2USFwoPZGlzbWlzc2VkX2NvdW50GAEgASgFIioKG0J1bGtSZXRyeURlYWRMZXR0ZXJzUmVxdWVzdBILCgNpZHMYASADKAkiNQocQnVsa1JldHJ5RGVhZExldHRlcnNSZXNwb25zZRIVCg1yZXRyaWVkX2NvdW50GAEgASgFIiQKIkxpc3REZWFkTGV0dGVyT3BlcmF0aW9uS2V5c1JlcXVlc3QiPQojTGlzdERlYWRMZXR0ZXJPcGVyYXRpb25LZXlzUmVzcG9uc2USFgoOb3BlcmF0aW9uX2tleXMYASADKAkiGwoZR2V0RGVhZExldHRlclN0YXRzUmVxdWVzdCJLChpHZXREZWFkTGV0dGVyU3RhdHNSZXNwb25zZRItCgVzdGF0cxgBIAEoCzIeLm9wZXJhdGlvbnMudjEuRGVhZExldHRlclN0YXRzIhoKGExpc3RDaXJjdWl0U3RhdGVzUmVxdWVzdCJIChlMaXN0Q2lyY3VpdFN0YXRlc1Jlc3BvbnNlEisKBnN0YXRlcxgBIAMoCzIbLm9wZXJhdGlvbnMudjEuQ2lyY3VpdFN0YXRlIiwKE1Jlc2V0Q2lyY3VpdFJlcXVlc3QSFQoNb3BlcmF0aW9uX2tleRgBIAEoCSInChRSZXNldENpcmN1aXRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIhkKF0dldFNpZ25pbmdTZWNyZXRSZXF1ZXN0IjoKGEdldFNpZ25pbmdTZWNyZXRSZXNwb25zZRIOCgZzZWNyZXQYASABKAkSDgoGcHJlZml4GAIgASgJIiAKHlJlZ2VuZXJhdGVTaWduaW5nU2VjcmV0UmVxdWVzdCIxCh9SZWdlbmVyYXRlU2lnbmluZ1NlY3JldFJlc3BvbnNlEg4KBnNlY3JldBgBIAEoCSJCCh5HZXRBcHBsaWNhYmxlT3BlcmF0aW9uc1JlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEg0KBWxpbWl0GAogASgFIk8KH0dldEFwcGxpY2FibGVPcGVyYXRpb25zUmVzcG9uc2USLAoKb3BlcmF0aW9ucxgBIAMoCzIYLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uIioKHEdldE9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QSCgoCaWQYASABKAkiVQodR2V0T3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USNAoJZXhlY3V0aW9uGAEgASgLMiEub3BlcmF0aW9ucy52MS5PcGVyYXRpb25FeGVjdXRpb24iLQofQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJTCiBDYW5jZWxPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhMKBnN0YXR1cxgCIAEoCUgAiAEBQgkKB19zdGF0dXMiSwogQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uc1JlcXVlc3QSFQoNb3BlcmF0aW9uX2tleRgBIAEoCRIQCghzdGF0dXNlcxgCIAMoCSJTCiFDYW5jZWxPcGVyYXRpb25FeGVjdXRpb25zUmVzcG9uc2USFwoPY2FuY2VsbGVkX2NvdW50GAEgASgFEhUKDWNhbmNlbGxlZF9pZHMYAiADKAkiRAohQ29tcGxldGVPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEhMKC3Jlc3VsdF9qc29uGAIgASgMIkcKIkNvbXBsZXRlT3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USDgoGc3RhdHVzGAEgASgJEhEKCWNhbmNlbGxlZBgCIAEoCCKrAQodRmFpbE9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QSCgoCaWQYASABKAkSDAoEY29kZRgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEhYKCXJldHJ5YWJsZRgEIAEoCEgAiAEBEi0KB2RldGFpbHMYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQFCDAoKX3JldHJ5YWJsZUIKCghfZGV0YWlscyJDCh5GYWlsT3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USDgoGc3RhdHVzGAEgASgJEhEKCWNhbmNlbGxlZBgCIAEoCCLbAQoeUmVwb3J0T3BlcmF0aW9uUHJvZ3Jlc3NSZXF1ZXN0EgoKAmlkGAEgASgJEhkKDHByb2dyZXNzX3BjdBgCIAEoBUgAiAEBEh0KEHByb2dyZXNzX21lc3NhZ2UYAyABKAlIAYgBARI3ChFwcm9ncmVzc19tZXRhZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBAUIPCg1fcHJvZ3Jlc3NfcGN0QhMKEV9wcm9ncmVzc19tZXNzYWdlQhQKEl9wcm9ncmVzc19tZXRhZGF0YSJECh9SZXBvcnRPcGVyYXRpb25Qcm9ncmVzc1Jlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCRIRCgljYW5jZWxsZWQYAiABKAgiggEKHUdldE9wZXJhdGlvblF1b3RhVXNhZ2VSZXF1ZXN0EhUKDW9wZXJhdGlvbl9rZXkYASABKAkSGAoLY3VzdG9tZXJfaWQYAiABKAlIAIgBARIUCgd1c2VyX2lkGAMgASgJSAGIAQFCDgoMX2N1c3RvbWVyX2lkQgoKCF91c2VyX2lkIrIBCg5RdW90YVJ1bGVVc2FnZRISCgpydWxlX2luZGV4GAEgASgFEhMKC3NlZ21lbnRfa2V5GAIgASgJEg0KBWxpbWl0GAMgASgFEgwKBHVzZWQYBCABKAUSEQoJcmVtYWluaW5nGAUgASgFEhUKDXJlc2V0X2F0X3VuaXgYBiABKAMSDQoFc2NvcGUYByABKAkSEAoIZHVyYXRpb24YCCABKAUSDwoHbWVzc2FnZRgJIAEoCSKtAQoeR2V0T3BlcmF0aW9uUXVvdGFVc2FnZVJlc3BvbnNlEhgKEHRvdGFsX2V4ZWN1dGlvbnMYASABKAMSGQoRcGVyaW9kX2V4ZWN1dGlvbnMYAiABKAMSGAoLcXVvdGFfbGltaXQYAyABKANIAIgBARIsCgVydWxlcxgEIAMoCzIdLm9wZXJhdGlvbnMudjEuUXVvdGFSdWxlVXNhZ2VCDgoMX3F1b3RhX2xpbWl0IhwKGkdldFNpZ25pbmdTZWNyZXRSYXdSZXF1ZXN0Ii0KG0dldFNpZ25pbmdTZWNyZXRSYXdSZXNwb25zZRIOCgZzZWNyZXQYASABKAkiKAoaR2V0T3BlcmF0aW9uVmVyc2lvblJlcXVlc3QSCgoCaWQYASABKAkiTwobR2V0T3BlcmF0aW9uVmVyc2lvblJlc3BvbnNlEjAKB3ZlcnNpb24YASABKAsyHy5vcGVyYXRpb25zLnYxLk9wZXJhdGlvblZlcnNpb24iUwocTGlzdE9wZXJhdGlvblZlcnNpb25zUmVxdWVzdBIUCgxvcGVyYXRpb25faWQYASABKAkSDQoFbGltaXQYAiABKAUSDgoGb2Zmc2V0GAMgASgFImEKHUxpc3RPcGVyYXRpb25WZXJzaW9uc1Jlc3BvbnNlEjEKCHZlcnNpb25zGAEgAygLMh8ub3BlcmF0aW9ucy52MS5PcGVyYXRpb25WZXJzaW9uEg0KBXRvdGFsGAIgASgFImwKHlJlc3RvcmVPcGVyYXRpb25WZXJzaW9uUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgCIAEoCUgAiAEBQhUKE19jaGFuZ2VfZGVzY3JpcHRpb24ihAEKH1Jlc3RvcmVPcGVyYXRpb25WZXJzaW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24SNAoLbmV3X3ZlcnNpb24YAiABKAsyHy5vcGVyYXRpb25zLnYxLk9wZXJhdGlvblZlcnNpb24iJQoXUHVibGlzaE9wZXJhdGlvblJlcXVlc3QSCgoCaWQYASABKAkifQoYUHVibGlzaE9wZXJhdGlvblJlc3BvbnNlEisKCW9wZXJhdGlvbhgBIAEoCzIYLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uEjQKEGJyZWFraW5nX2NoYW5nZXMYAiADKAsyGi5wdWJsaXNoLnYxLkJyZWFraW5nQ2hhbmdlIicKGVVucHVibGlzaE9wZXJhdGlvblJlcXVlc3QSCgoCaWQYASABKAkiSQoaVW5wdWJsaXNoT3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24iLgogR2V0T3BlcmF0aW9uUHVibGlzaFN0YXR1c1JlcXVlc3QSCgoCaWQYASABKAkiTgohR2V0T3BlcmF0aW9uUHVibGlzaFN0YXR1c1Jlc3BvbnNlEikKBnN0YXR1cxgBIAEoCzIZLnB1Ymxpc2gudjEuUHVibGlzaFN0YXR1cyKlAQofU2NoZWR1bGVPcGVyYXRpb25QdWJsaXNoUmVxdWVzdBIKCgJpZBgBIAEoCRIuCgpwdWJsaXNoX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1Cgx1bnB1Ymxpc2hfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCDwoNX3VucHVibGlzaF9hdCJPCiBTY2hlZHVsZU9wZXJhdGlvblB1Ymxpc2hSZXNwb25zZRIrCglvcGVyYXRpb24YASABKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbiI0CiZDYW5jZWxTY2hlZHVsZWRPcGVyYXRpb25QdWJsaXNoUmVxdWVzdBIKCgJpZBgBIAEoCSJWCidDYW5jZWxTY2hlZHVsZWRPcGVyYXRpb25QdWJsaXNoUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24qYgoNRXhlY3V0aW9uTW9kZRIeChpFWEVDVVRJT05fTU9ERV9VTlNQRUNJRklFRBAAEhcKE0VYRUNVVElPTl9NT0RFX1NZTkMQARIYChRFWEVDVVRJT05fTU9ERV9BU1lOQxACMrUhChFPcGVyYXRpb25zU2VydmljZRJdCg5MaXN0T3BlcmF0aW9ucxIkLm9wZXJhdGlvbnMudjEuTGlzdE9wZXJhdGlvbnNSZXF1ZXN0GiUub3BlcmF0aW9ucy52MS5MaXN0T3BlcmF0aW9uc1Jlc3BvbnNlElcKDEdldE9wZXJhdGlvbhIiLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uUmVxdWVzdBojLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uUmVzcG9uc2USYAoPQ3JlYXRlT3BlcmF0aW9uEiUub3BlcmF0aW9ucy52MS5DcmVhdGVPcGVyYXRpb25SZXF1ZXN0GiYub3BlcmF0aW9ucy52MS5DcmVhdGVPcGVyYXRpb25SZXNwb25zZRJgCg9VcGRhdGVPcGVyYXRpb24SJS5vcGVyYXRpb25zLnYxLlVwZGF0ZU9wZXJhdGlvblJlcXVlc3QaJi5vcGVyYXRpb25zLnYxLlVwZGF0ZU9wZXJhdGlvblJlc3BvbnNlEmAKD0RlbGV0ZU9wZXJhdGlvbhIlLm9wZXJhdGlvbnMudjEuRGVsZXRlT3BlcmF0aW9uUmVxdWVzdBomLm9wZXJhdGlvbnMudjEuRGVsZXRlT3BlcmF0aW9uUmVzcG9uc2USYwoQRXhlY3V0ZU9wZXJhdGlvbhImLm9wZXJhdGlvbnMudjEuRXhlY3V0ZU9wZXJhdGlvblJlcXVlc3QaJy5vcGVyYXRpb25zLnYxLkV4ZWN1dGVPcGVyYXRpb25SZXNwb25zZRJ4ChdMaXN0T3BlcmF0aW9uRXhlY3V0aW9ucxItLm9wZXJhdGlvbnMudjEuTGlzdE9wZXJhdGlvbkV4ZWN1dGlvbnNSZXF1ZXN0Gi4ub3BlcmF0aW9ucy52MS5MaXN0T3BlcmF0aW9uRXhlY3V0aW9uc1Jlc3BvbnNlEoEBChpHZXRPcGVyYXRpb25FeGVjdXRpb25TdGF0cxIwLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uRXhlY3V0aW9uU3RhdHNSZXF1ZXN0GjEub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25FeGVjdXRpb25TdGF0c1Jlc3BvbnNlEnIKFUxpc3REZWFkTGV0dGVyRW50cmllcxIrLm9wZXJhdGlvbnMudjEuTGlzdERlYWRMZXR0ZXJFbnRyaWVzUmVxdWVzdBosLm9wZXJhdGlvbnMudjEuTGlzdERlYWRMZXR0ZXJFbnRyaWVzUmVzcG9uc2USbwoUUmV0cnlEZWFkTGV0dGVyRW50cnkSKi5vcGVyYXRpb25zLnYxLlJldHJ5RGVhZExldHRlckVudHJ5UmVxdWVzdBorLm9wZXJhdGlvbnMudjEuUmV0cnlEZWFkTGV0dGVyRW50cnlSZXNwb25zZRJ1ChZEaXNtaXNzRGVhZExldHRlckVudHJ5Eiwub3BlcmF0aW9ucy52MS5EaXNtaXNzRGVhZExldHRlckVudHJ5UmVxdWVzdBotLm9wZXJhdGlvbnMudjEuRGlzbWlzc0RlYWRMZXR0ZXJFbnRyeVJlc3BvbnNlEnUKFkJ1bGtEaXNtaXNzRGVhZExldHRlcnMSLC5vcGVyYXRpb25zLnYxLkJ1bGtEaXNtaXNzRGVhZExldHRlcnNSZXF1ZXN0Gi0ub3BlcmF0aW9ucy52MS5CdWxrRGlzbWlzc0RlYWRMZXR0ZXJzUmVzcG9uc2UShwEKHERpc21pc3NBbGxQZW5kaW5nRGVhZExldHRlcnMSMi5vcGVyYXRpb25zLnYxLkRpc21pc3NBbGxQZW5kaW5nRGVhZExldHRlcnNSZXF1ZXN0GjMub3BlcmF0aW9ucy52MS5EaXNtaXNzQWxsUGVuZGluZ0RlYWRMZXR0ZXJzUmVzcG9uc2USbwoUQnVsa1JldHJ5RGVhZExldHRlcnMSKi5vcGVyYXRpb25zLnYxLkJ1bGtSZXRyeURlYWRMZXR0ZXJzUmVxdWVzdBorLm9wZXJhdGlvbnMudjEuQnVsa1JldHJ5RGVhZExldHRlcnNSZXNwb25zZRKEAQobTGlzdERlYWRMZXR0ZXJPcGVyYXRpb25LZXlzEjEub3BlcmF0aW9ucy52MS5MaXN0RGVhZExldHRlck9wZXJhdGlvbktleXNSZXF1ZXN0GjIub3BlcmF0aW9ucy52MS5MaXN0RGVhZExldHRlck9wZXJhdGlvbktleXNSZXNwb25zZRJpChJHZXREZWFkTGV0dGVyU3RhdHMSKC5vcGVyYXRpb25zLnYxLkdldERlYWRMZXR0ZXJTdGF0c1JlcXVlc3QaKS5vcGVyYXRpb25zLnYxLkdldERlYWRMZXR0ZXJTdGF0c1Jlc3BvbnNlEmYKEUxpc3RDaXJjdWl0U3RhdGVzEicub3BlcmF0aW9ucy52MS5MaXN0Q2lyY3VpdFN0YXRlc1JlcXVlc3QaKC5vcGVyYXRpb25zLnYxLkxpc3RDaXJjdWl0U3RhdGVzUmVzcG9uc2USVwoMUmVzZXRDaXJjdWl0EiIub3BlcmF0aW9ucy52MS5SZXNldENpcmN1aXRSZXF1ZXN0GiMub3BlcmF0aW9ucy52MS5SZXNldENpcmN1aXRSZXNwb25zZRJ4ChdHZXRBcHBsaWNhYmxlT3BlcmF0aW9ucxItLm9wZXJhdGlvbnMudjEuR2V0QXBwbGljYWJsZU9wZXJhdGlvbnNSZXF1ZXN0Gi4ub3BlcmF0aW9ucy52MS5HZXRBcHBsaWNhYmxlT3BlcmF0aW9uc1Jlc3BvbnNlEnIKFUdldE9wZXJhdGlvbkV4ZWN1dGlvbhIrLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBosLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USewoYQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uEi4ub3BlcmF0aW9ucy52MS5DYW5jZWxPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0Gi8ub3BlcmF0aW9ucy52MS5DYW5jZWxPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRJ+ChlDYW5jZWxPcGVyYXRpb25FeGVjdXRpb25zEi8ub3BlcmF0aW9ucy52MS5DYW5jZWxPcGVyYXRpb25FeGVjdXRpb25zUmVxdWVzdBowLm9wZXJhdGlvbnMudjEuQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uc1Jlc3BvbnNlEoEBChpDb21wbGV0ZU9wZXJhdGlvbkV4ZWN1dGlvbhIwLm9wZXJhdGlvbnMudjEuQ29tcGxldGVPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0GjEub3BlcmF0aW9ucy52MS5Db21wbGV0ZU9wZXJhdGlvbkV4ZWN1dGlvblJlc3BvbnNlEnUKFkZhaWxPcGVyYXRpb25FeGVjdXRpb24SLC5vcGVyYXRpb25zLnYxLkZhaWxPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0Gi0ub3BlcmF0aW9ucy52MS5GYWlsT3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USeAoXUmVwb3J0T3BlcmF0aW9uUHJvZ3Jlc3MSLS5vcGVyYXRpb25zLnYxLlJlcG9ydE9wZXJhdGlvblByb2dyZXNzUmVxdWVzdBouLm9wZXJhdGlvbnMudjEuUmVwb3J0T3BlcmF0aW9uUHJvZ3Jlc3NSZXNwb25zZRJ1ChZHZXRPcGVyYXRpb25RdW90YVVzYWdlEiwub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25RdW90YVVzYWdlUmVxdWVzdBotLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uUXVvdGFVc2FnZVJlc3BvbnNlEmMKEEdldFNpZ25pbmdTZWNyZXQSJi5vcGVyYXRpb25zLnYxLkdldFNpZ25pbmdTZWNyZXRSZXF1ZXN0Gicub3BlcmF0aW9ucy52MS5HZXRTaWduaW5nU2VjcmV0UmVzcG9uc2USbAoTR2V0U2lnbmluZ1NlY3JldFJhdxIpLm9wZXJhdGlvbnMudjEuR2V0U2lnbmluZ1NlY3JldFJhd1JlcXVlc3QaKi5vcGVyYXRpb25zLnYxLkdldFNpZ25pbmdTZWNyZXRSYXdSZXNwb25zZRJ4ChdSZWdlbmVyYXRlU2lnbmluZ1NlY3JldBItLm9wZXJhdGlvbnMudjEuUmVnZW5lcmF0ZVNpZ25pbmdTZWNyZXRSZXF1ZXN0Gi4ub3BlcmF0aW9ucy52MS5SZWdlbmVyYXRlU2lnbmluZ1NlY3JldFJlc3BvbnNlEmwKE0dldE9wZXJhdGlvblZlcnNpb24SKS5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblZlcnNpb25SZXF1ZXN0Gioub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25WZXJzaW9uUmVzcG9uc2UScgoVTGlzdE9wZXJhdGlvblZlcnNpb25zEisub3BlcmF0aW9ucy52MS5MaXN0T3BlcmF0aW9uVmVyc2lvbnNSZXF1ZXN0Giwub3BlcmF0aW9ucy52MS5MaXN0T3BlcmF0aW9uVmVyc2lvbnNSZXNwb25zZRJ4ChdSZXN0b3JlT3BlcmF0aW9uVmVyc2lvbhItLm9wZXJhdGlvbnMudjEuUmVzdG9yZU9wZXJhdGlvblZlcnNpb25SZXF1ZXN0Gi4ub3BlcmF0aW9ucy52MS5SZXN0b3JlT3BlcmF0aW9uVmVyc2lvblJlc3BvbnNlEmMKEFB1Ymxpc2hPcGVyYXRpb24SJi5vcGVyYXRpb25zLnYxLlB1Ymxpc2hPcGVyYXRpb25SZXF1ZXN0Gicub3BlcmF0aW9ucy52MS5QdWJsaXNoT3BlcmF0aW9uUmVzcG9uc2USaQoSVW5wdWJsaXNoT3BlcmF0aW9uEigub3BlcmF0aW9ucy52MS5VbnB1Ymxpc2hPcGVyYXRpb25SZXF1ZXN0Gikub3BlcmF0aW9ucy52MS5VbnB1Ymxpc2hPcGVyYXRpb25SZXNwb25zZRJ+ChlHZXRPcGVyYXRpb25QdWJsaXNoU3RhdHVzEi8ub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25QdWJsaXNoU3RhdHVzUmVxdWVzdBowLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uUHVibGlzaFN0YXR1c1Jlc3BvbnNlEnsKGFNjaGVkdWxlT3BlcmF0aW9uUHVibGlzaBIuLm9wZXJhdGlvbnMudjEuU2NoZWR1bGVPcGVyYXRpb25QdWJsaXNoUmVxdWVzdBovLm9wZXJhdGlvbnMudjEuU2NoZWR1bGVPcGVyYXRpb25QdWJsaXNoUmVzcG9uc2USkAEKH0NhbmNlbFNjaGVkdWxlZE9wZXJhdGlvblB1Ymxpc2gSNS5vcGVyYXRpb25zLnYxLkNhbmNlbFNjaGVkdWxlZE9wZXJhdGlvblB1Ymxpc2hSZXF1ZXN0GjYub3BlcmF0aW9ucy52MS5DYW5jZWxTY2hlZHVsZWRPcGVyYXRpb25QdWJsaXNoUmVzcG9uc2VCQVo/Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL29wZXJhdGlvbnMvdjE7b3BlcmF0aW9uc3YxYgZwcm90bzM", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_publish_v1_publish]);
14
+ fileDesc("Ch5vcGVyYXRpb25zL3YxL29wZXJhdGlvbnMucHJvdG8SDW9wZXJhdGlvbnMudjEilAsKCU9wZXJhdGlvbhIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhEKBGljb24YBSABKAlIAYgBARIVCghjYXRlZ29yeRgGIAEoCUgCiAEBEhAKCGVuZHBvaW50GAcgASgJEhoKDWVuZHBvaW50X2F1dGgYCCABKAlIA4gBARISCgp0aW1lb3V0X21zGAkgASgFEjIKDHJldHJ5X3BvbGljeRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIyCgxpbnB1dF9zY2hlbWEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESMwoNb3V0cHV0X3NjaGVtYRgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBogBARIoCgJ1aRgNIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIRCglpc19hY3RpdmUYDiABKAgSFQoNYWxsb3dlZF9yb2xlcxgPIAMoCRIsCgZxdW90YXMYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAiIAQESFgoJY29uZmlnX2lkGBIgASgJSAmIAQESMgoMcHJlY29uZGl0aW9uGBMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgKiAEBEhEKCXRlbmFudF9pZBgUIAEoCRIXCgpwcm9qZWN0X2lkGBUgASgJSAuIAQESGwoOc3VwcG9ydHNfYXN5bmMYFiABKAhIDIgBARIhChRjYWxsYmFja190dGxfc2Vjb25kcxgXIAEoBUgNiAEBEkMKHWNhbGxiYWNrX3RpbWVvdXRfcmV0cnlfcG9saWN5GBggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgOiAEBEhQKDGNhcGFiaWxpdGllcxgZIAMoCRIXCgpjcmVhdGVkX2J5GB4gASgJSA+IAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHwoSY3VycmVudF92ZXJzaW9uX2lkGDwgASgJSBCIAQESIQoUcHVibGlzaGVkX3ZlcnNpb25faWQYPSABKAlIEYgBARI9ChRzY2hlZHVsZWRfcHVibGlzaF9hdBg+IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIEogBARI/ChZzY2hlZHVsZWRfdW5wdWJsaXNoX2F0GD8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgTiAEBQg4KDF9kZXNjcmlwdGlvbkIHCgVfaWNvbkILCglfY2F0ZWdvcnlCEAoOX2VuZHBvaW50X2F1dGhCDwoNX3JldHJ5X3BvbGljeUIPCg1faW5wdXRfc2NoZW1hQhAKDl9vdXRwdXRfc2NoZW1hQgUKA191aUIJCgdfcXVvdGFzQgwKCl9jb25maWdfaWRCDwoNX3ByZWNvbmRpdGlvbkINCgtfcHJvamVjdF9pZEIRCg9fc3VwcG9ydHNfYXN5bmNCFwoVX2NhbGxiYWNrX3R0bF9zZWNvbmRzQiAKHl9jYWxsYmFja190aW1lb3V0X3JldHJ5X3BvbGljeUINCgtfY3JlYXRlZF9ieUIVChNfY3VycmVudF92ZXJzaW9uX2lkQhcKFV9wdWJsaXNoZWRfdmVyc2lvbl9pZEIXChVfc2NoZWR1bGVkX3B1Ymxpc2hfYXRCGQoXX3NjaGVkdWxlZF91bnB1Ymxpc2hfYXQi0wIKEE9wZXJhdGlvblZlcnNpb24SCgoCaWQYASABKAkSFAoMb3BlcmF0aW9uX2lkGAIgASgJEhYKDnZlcnNpb25fbnVtYmVyGAMgASgFEikKCHNuYXBzaG90GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIUCgxjb250ZW50X2hhc2gYBSABKAkSHgoRc291cmNlX3ZlcnNpb25faWQYBiABKAlIAIgBARIfChJjaGFuZ2VfZGVzY3JpcHRpb24YByABKAlIAYgBARIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpjcmVhdGVkX2J5GAkgASgJSAKIAQFCFAoSX3NvdXJjZV92ZXJzaW9uX2lkQhUKE19jaGFuZ2VfZGVzY3JpcHRpb25CDQoLX2NyZWF0ZWRfYnki2ggKEk9wZXJhdGlvbkV4ZWN1dGlvbhIKCgJpZBgBIAEoCRIVCg1vcGVyYXRpb25fa2V5GAIgASgJEg4KBnN0YXR1cxgDIAEoCRIZCgx0cmlnZ2VyX3R5cGUYBCABKAlIAIgBARI1Cg90cmlnZ2VyX2NvbnRleHQYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESKwoFaW5wdXQYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESGAoLcmVzdWx0X2pzb24YByABKAxIA4gBARIXCgplcnJvcl9qc29uGAggASgMSASIAQESMwoKc3RhcnRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARI1Cgxjb21wbGV0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAaIAQESGAoLZHVyYXRpb25fbXMYCyABKAVIB4gBARITCgtyZXRyeV9jb3VudBgMIAEoBRIZCgxwcm9ncmVzc19wY3QYDSABKAVICIgBARIdChBwcm9ncmVzc19tZXNzYWdlGA4gASgJSAmIAQESNwoRcHJvZ3Jlc3NfbWV0YWRhdGEYDyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAqIAQESPAoTcHJvZ3Jlc3NfdXBkYXRlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIC4gBARI8ChNjYWxsYmFja19leHBpcmVzX2F0GBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgMiAEBEiAKE3BhcmVudF9leGVjdXRpb25faWQYEiABKAlIDYgBARI1CgxjYW5jZWxsZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSA6IAQESEQoJdGVuYW50X2lkGBQgASgJEhcKCnByb2plY3RfaWQYFSABKAlID4gBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIPCg1fdHJpZ2dlcl90eXBlQhIKEF90cmlnZ2VyX2NvbnRleHRCCAoGX2lucHV0Qg4KDF9yZXN1bHRfanNvbkINCgtfZXJyb3JfanNvbkINCgtfc3RhcnRlZF9hdEIPCg1fY29tcGxldGVkX2F0Qg4KDF9kdXJhdGlvbl9tc0IPCg1fcHJvZ3Jlc3NfcGN0QhMKEV9wcm9ncmVzc19tZXNzYWdlQhQKEl9wcm9ncmVzc19tZXRhZGF0YUIWChRfcHJvZ3Jlc3NfdXBkYXRlZF9hdEIWChRfY2FsbGJhY2tfZXhwaXJlc19hdEIWChRfcGFyZW50X2V4ZWN1dGlvbl9pZEIPCg1fY2FuY2VsbGVkX2F0Qg0KC19wcm9qZWN0X2lkIvsFCg9EZWFkTGV0dGVyRW50cnkSCgoCaWQYASABKAkSFQoNb3BlcmF0aW9uX2tleRgCIAEoCRIZCgxleGVjdXRpb25faWQYAyABKAlIAIgBARIrCgVpbnB1dBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIZCgx0cmlnZ2VyX3R5cGUYBSABKAlIAogBARIQCghhdHRlbXB0cxgGIAEoBRISCgpsYXN0X2Vycm9yGAcgASgJEhcKCmVycm9yX2NvZGUYCCABKAlIA4gBARIOCgZzdGF0dXMYCSABKAkSLQoJZmFpbGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCgpyZXRyaWVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEjUKDGRpc21pc3NlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARIZCgxkaXNtaXNzZWRfYnkYDSABKAlIBogBARI2Cg1uZXh0X3JldHJ5X2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgHiAEBEjoKEWxhc3RfYXR0ZW1wdGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgIiAEBEhEKCXRlbmFudF9pZBgUIAEoCRISCgpwcm9qZWN0X2lkGBUgASgJEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg8KDV9leGVjdXRpb25faWRCCAoGX2lucHV0Qg8KDV90cmlnZ2VyX3R5cGVCDQoLX2Vycm9yX2NvZGVCDQoLX3JldHJpZWRfYXRCDwoNX2Rpc21pc3NlZF9hdEIPCg1fZGlzbWlzc2VkX2J5QhAKDl9uZXh0X3JldHJ5X2F0QhQKEl9sYXN0X2F0dGVtcHRlZF9hdCK1AgoMQ2lyY3VpdFN0YXRlEhUKDW9wZXJhdGlvbl9rZXkYASABKAkSEAoIZW5kcG9pbnQYAiABKAkSDQoFc3RhdGUYAyABKAkSFQoNZmFpbHVyZV9jb3VudBgEIAEoBRI4Cg9sYXN0X2ZhaWx1cmVfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESMgoJb3BlbmVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEjUKDGhhbGZfb3Blbl9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBAUISChBfbGFzdF9mYWlsdXJlX2F0QgwKCl9vcGVuZWRfYXRCDwoNX2hhbGZfb3Blbl9hdCKBAQoORXhlY3V0aW9uU3RhdHMSFQoNb3BlcmF0aW9uX2tleRgBIAEoCRINCgV0b3RhbBgCIAEoBRIPCgdzdWNjZXNzGAMgASgFEg4KBmZhaWxlZBgEIAEoBRIPCgdwZW5kaW5nGAUgASgFEhcKD2F2Z19kdXJhdGlvbl9tcxgGIAEoASJVCg9EZWFkTGV0dGVyU3RhdHMSDwoHcGVuZGluZxgBIAEoBRIPCgdyZXRyaWVkGAIgASgFEhEKCWRpc21pc3NlZBgDIAEoBRINCgV0b3RhbBgEIAEoBSKfAgoVTGlzdE9wZXJhdGlvbnNSZXF1ZXN0EhUKCGNhdGVnb3J5GAEgASgJSACIAQESFgoJaXNfYWN0aXZlGAIgASgISAGIAQESEwoGc2VhcmNoGAMgASgJSAKIAQESFgoJY29uZmlnX2lkGAQgASgJSAOIAQESEgoFYWZ0ZXIYBSABKAlIBIgBARITCgZiZWZvcmUYBiABKAlIBYgBARISCgVmaXJzdBgHIAEoBUgGiAEBEhEKBGxhc3QYCCABKAVIB4gBAUILCglfY2F0ZWdvcnlCDAoKX2lzX2FjdGl2ZUIJCgdfc2VhcmNoQgwKCl9jb25maWdfaWRCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IqEBChZMaXN0T3BlcmF0aW9uc1Jlc3BvbnNlEiwKCm9wZXJhdGlvbnMYASADKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbhINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iOwoTR2V0T3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRIQCgNrZXkYAiABKAlIAIgBAUIGCgRfa2V5IkMKFEdldE9wZXJhdGlvblJlc3BvbnNlEisKCW9wZXJhdGlvbhgBIAEoCzIYLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uItEHChZDcmVhdGVPcGVyYXRpb25SZXF1ZXN0EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESEQoEaWNvbhgEIAEoCUgBiAEBEhUKCGNhdGVnb3J5GAUgASgJSAKIAQESEAoIZW5kcG9pbnQYBiABKAkSGgoNZW5kcG9pbnRfYXV0aBgHIAEoCUgDiAEBEhcKCnRpbWVvdXRfbXMYCCABKAVIBIgBARIyCgxpbnB1dF9zY2hlbWEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESMwoNb3V0cHV0X3NjaGVtYRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBogBARIoCgJ1aRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIWCgljb25maWdfaWQYDCABKAlICIgBARIsCgZxdW90YXMYDiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAmIAQESFQoNYWxsb3dlZF9yb2xlcxgPIAMoCRIyCgxyZXRyeV9wb2xpY3kYECABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAqIAQESMgoMcHJlY29uZGl0aW9uGBEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgLiAEBEhYKCWlzX2FjdGl2ZRgSIAEoCEgMiAEBEhsKDnN1cHBvcnRzX2FzeW5jGBMgASgISA2IAQESIQoUY2FsbGJhY2tfdHRsX3NlY29uZHMYFCABKAVIDogBARJDCh1jYWxsYmFja190aW1lb3V0X3JldHJ5X3BvbGljeRgVIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RID4gBARIUCgxjYXBhYmlsaXRpZXMYFiADKAlCDgoMX2Rlc2NyaXB0aW9uQgcKBV9pY29uQgsKCV9jYXRlZ29yeUIQCg5fZW5kcG9pbnRfYXV0aEINCgtfdGltZW91dF9tc0IPCg1faW5wdXRfc2NoZW1hQhAKDl9vdXRwdXRfc2NoZW1hQgUKA191aUIMCgpfY29uZmlnX2lkQgkKB19xdW90YXNCDwoNX3JldHJ5X3BvbGljeUIPCg1fcHJlY29uZGl0aW9uQgwKCl9pc19hY3RpdmVCEQoPX3N1cHBvcnRzX2FzeW5jQhcKFV9jYWxsYmFja190dGxfc2Vjb25kc0IgCh5fY2FsbGJhY2tfdGltZW91dF9yZXRyeV9wb2xpY3kiRgoXQ3JlYXRlT3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24iigcKFlVwZGF0ZU9wZXJhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESFQoIZW5kcG9pbnQYBCABKAlIAogBARIaCg1lbmRwb2ludF9hdXRoGAUgASgJSAOIAQESFwoKdGltZW91dF9tcxgGIAEoBUgEiAEBEjIKDGlucHV0X3NjaGVtYRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBARIzCg1vdXRwdXRfc2NoZW1hGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEigKAnVpGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBEhYKCWlzX2FjdGl2ZRgKIAEoCEgIiAEBEiwKBnF1b3RhcxgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICYgBARIyCgxyZXRyeV9wb2xpY3kYDSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAqIAQESMgoMcHJlY29uZGl0aW9uGA4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgLiAEBEhUKDWFsbG93ZWRfcm9sZXMYDyADKAkSGwoOc3VwcG9ydHNfYXN5bmMYECABKAhIDIgBARIhChRjYWxsYmFja190dGxfc2Vjb25kcxgRIAEoBUgNiAEBEkMKHWNhbGxiYWNrX3RpbWVvdXRfcmV0cnlfcG9saWN5GBIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgOiAEBEhQKDGNhcGFiaWxpdGllcxgTIAMoCUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CCwoJX2VuZHBvaW50QhAKDl9lbmRwb2ludF9hdXRoQg0KC190aW1lb3V0X21zQg8KDV9pbnB1dF9zY2hlbWFCEAoOX291dHB1dF9zY2hlbWFCBQoDX3VpQgwKCl9pc19hY3RpdmVCCQoHX3F1b3Rhc0IPCg1fcmV0cnlfcG9saWN5Qg8KDV9wcmVjb25kaXRpb25CEQoPX3N1cHBvcnRzX2FzeW5jQhcKFV9jYWxsYmFja190dGxfc2Vjb25kc0IgCh5fY2FsbGJhY2tfdGltZW91dF9yZXRyeV9wb2xpY3kiRgoXVXBkYXRlT3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24iJAoWRGVsZXRlT3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIqChdEZWxldGVPcGVyYXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIqgDChdFeGVjdXRlT3BlcmF0aW9uUmVxdWVzdBIVCg1vcGVyYXRpb25fa2V5GAEgASgJEisKBWlucHV0GAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhkKDHRyaWdnZXJfdHlwZRgDIAEoCUgBiAEBEjUKD3RyaWdnZXJfY29udGV4dBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIqCgRtb2RlGAUgASgOMhwub3BlcmF0aW9ucy52MS5FeGVjdXRpb25Nb2RlEhgKC2N1c3RvbWVyX2lkGAYgASgJSAOIAQESLAoGcmVjb3JkGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEi0KB2NvbnRlbnQYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQFCCAoGX2lucHV0Qg8KDV90cmlnZ2VyX3R5cGVCEgoQX3RyaWdnZXJfY29udGV4dEIOCgxfY3VzdG9tZXJfaWRCCQoHX3JlY29yZEIKCghfY29udGVudCKpAgoYRXhlY3V0ZU9wZXJhdGlvblJlc3BvbnNlEjQKCWV4ZWN1dGlvbhgBIAEoCzIhLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uRXhlY3V0aW9uEhgKC3Jlc3VsdF9qc29uGAIgASgMSACIAQESGgoNZXJyb3JfbWVzc2FnZRgDIAEoCUgBiAEBEhEKCWNvbXBsZXRlZBgEIAEoCBIVCghwb2xsX3VybBgKIAEoCUgCiAEBEhcKCmNhbmNlbF91cmwYCyABKAlIA4gBARIUCgdtZXNzYWdlGAwgASgJSASIAQFCDgoMX3Jlc3VsdF9qc29uQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9wb2xsX3VybEINCgtfY2FuY2VsX3VybEIKCghfbWVzc2FnZSLPAQoeTGlzdE9wZXJhdGlvbkV4ZWN1dGlvbnNSZXF1ZXN0EhUKDW9wZXJhdGlvbl9rZXkYASABKAkSEwoGc3RhdHVzGAIgASgJSACIAQESEgoFYWZ0ZXIYAyABKAlIAYgBARITCgZiZWZvcmUYBCABKAlIAogBARISCgVmaXJzdBgFIAEoBUgDiAEBEhEKBGxhc3QYBiABKAVIBIgBAUIJCgdfc3RhdHVzQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKzAQofTGlzdE9wZXJhdGlvbkV4ZWN1dGlvbnNSZXNwb25zZRI1CgpleGVjdXRpb25zGAEgAygLMiEub3BlcmF0aW9ucy52MS5PcGVyYXRpb25FeGVjdXRpb24SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIlEKIUdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzUmVxdWVzdBIaCg1vcGVyYXRpb25fa2V5GAEgASgJSACIAQFCEAoOX29wZXJhdGlvbl9rZXkiUgoiR2V0T3BlcmF0aW9uRXhlY3V0aW9uU3RhdHNSZXNwb25zZRIsCgVzdGF0cxgBIAMoCzIdLm9wZXJhdGlvbnMudjEuRXhlY3V0aW9uU3RhdHMi5AEKHExpc3REZWFkTGV0dGVyRW50cmllc1JlcXVlc3QSGgoNb3BlcmF0aW9uX2tleRgBIAEoCUgAiAEBEhMKBnN0YXR1cxgCIAEoCUgBiAEBEhIKBWFmdGVyGAMgASgJSAKIAQESEwoGYmVmb3JlGAQgASgJSAOIAQESEgoFZmlyc3QYBSABKAVIBIgBARIRCgRsYXN0GAYgASgFSAWIAQFCEAoOX29wZXJhdGlvbl9rZXlCCQoHX3N0YXR1c0IICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QiqwEKHUxpc3REZWFkTGV0dGVyRW50cmllc1Jlc3BvbnNlEi8KB2VudHJpZXMYASADKAsyHi5vcGVyYXRpb25zLnYxLkRlYWRMZXR0ZXJFbnRyeRINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iKQobUmV0cnlEZWFkTGV0dGVyRW50cnlSZXF1ZXN0EgoKAmlkGAEgASgJIi8KHFJldHJ5RGVhZExldHRlckVudHJ5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIrCh1EaXNtaXNzRGVhZExldHRlckVudHJ5UmVxdWVzdBIKCgJpZBgBIAEoCSIxCh5EaXNtaXNzRGVhZExldHRlckVudHJ5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIsCh1CdWxrRGlzbWlzc0RlYWRMZXR0ZXJzUmVxdWVzdBILCgNpZHMYASADKAkiOQoeQnVsa0Rpc21pc3NEZWFkTGV0dGVyc1Jlc3BvbnNlEhcKD2Rpc21pc3NlZF9jb3VudBgBIAEoBSJTCiNEaXNtaXNzQWxsUGVuZGluZ0RlYWRMZXR0ZXJzUmVxdWVzdBIaCg1vcGVyYXRpb25fa2V5GAEgASgJSACIAQFCEAoOX29wZXJhdGlvbl9rZXkiPwokRGlzbWlzc0FsbFBlbmRpbmdEZWFkTGV0dGVyc1Jlc3BvbnNlEhcKD2Rpc21pc3NlZF9jb3VudBgBIAEoBSIqChtCdWxrUmV0cnlEZWFkTGV0dGVyc1JlcXVlc3QSCwoDaWRzGAEgAygJIjUKHEJ1bGtSZXRyeURlYWRMZXR0ZXJzUmVzcG9uc2USFQoNcmV0cmllZF9jb3VudBgBIAEoBSIkCiJMaXN0RGVhZExldHRlck9wZXJhdGlvbktleXNSZXF1ZXN0Ij0KI0xpc3REZWFkTGV0dGVyT3BlcmF0aW9uS2V5c1Jlc3BvbnNlEhYKDm9wZXJhdGlvbl9rZXlzGAEgAygJIhsKGUdldERlYWRMZXR0ZXJTdGF0c1JlcXVlc3QiSwoaR2V0RGVhZExldHRlclN0YXRzUmVzcG9uc2USLQoFc3RhdHMYASABKAsyHi5vcGVyYXRpb25zLnYxLkRlYWRMZXR0ZXJTdGF0cyIaChhMaXN0Q2lyY3VpdFN0YXRlc1JlcXVlc3QiSAoZTGlzdENpcmN1aXRTdGF0ZXNSZXNwb25zZRIrCgZzdGF0ZXMYASADKAsyGy5vcGVyYXRpb25zLnYxLkNpcmN1aXRTdGF0ZSIsChNSZXNldENpcmN1aXRSZXF1ZXN0EhUKDW9wZXJhdGlvbl9rZXkYASABKAkiJwoUUmVzZXRDaXJjdWl0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIZChdHZXRTaWduaW5nU2VjcmV0UmVxdWVzdCI6ChhHZXRTaWduaW5nU2VjcmV0UmVzcG9uc2USDgoGc2VjcmV0GAEgASgJEg4KBnByZWZpeBgCIAEoCSIgCh5SZWdlbmVyYXRlU2lnbmluZ1NlY3JldFJlcXVlc3QiMQofUmVnZW5lcmF0ZVNpZ25pbmdTZWNyZXRSZXNwb25zZRIOCgZzZWNyZXQYASABKAkiqwEKHkdldEFwcGxpY2FibGVPcGVyYXRpb25zUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSEgoFYWZ0ZXIYAiABKAlIAIgBARITCgZiZWZvcmUYAyABKAlIAYgBARISCgVmaXJzdBgEIAEoBUgCiAEBEhEKBGxhc3QYBSABKAVIA4gBAUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QimwEKH0dldEFwcGxpY2FibGVPcGVyYXRpb25zUmVzcG9uc2USLAoKb3BlcmF0aW9ucxgBIAMoCzIYLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uEisKCXBhZ2VfaW5mbxgCIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYAyADKAlCDAoKX3BhZ2VfaW5mbyIqChxHZXRPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIlUKHUdldE9wZXJhdGlvbkV4ZWN1dGlvblJlc3BvbnNlEjQKCWV4ZWN1dGlvbhgBIAEoCzIhLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uRXhlY3V0aW9uIi0KH0NhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QSCgoCaWQYASABKAkiUwogQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBITCgZzdGF0dXMYAiABKAlIAIgBAUIJCgdfc3RhdHVzIksKIENhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvbnNSZXF1ZXN0EhUKDW9wZXJhdGlvbl9rZXkYASABKAkSEAoIc3RhdHVzZXMYAiADKAkiUwohQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uc1Jlc3BvbnNlEhcKD2NhbmNlbGxlZF9jb3VudBgBIAEoBRIVCg1jYW5jZWxsZWRfaWRzGAIgAygJIkQKIUNvbXBsZXRlT3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRITCgtyZXN1bHRfanNvbhgCIAEoDCJHCiJDb21wbGV0ZU9wZXJhdGlvbkV4ZWN1dGlvblJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCRIRCgljYW5jZWxsZWQYAiABKAgiqwEKHUZhaWxPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEgwKBGNvZGUYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIWCglyZXRyeWFibGUYBCABKAhIAIgBARItCgdkZXRhaWxzGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBQgwKCl9yZXRyeWFibGVCCgoIX2RldGFpbHMiQwoeRmFpbE9wZXJhdGlvbkV4ZWN1dGlvblJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCRIRCgljYW5jZWxsZWQYAiABKAgi2wEKHlJlcG9ydE9wZXJhdGlvblByb2dyZXNzUmVxdWVzdBIKCgJpZBgBIAEoCRIZCgxwcm9ncmVzc19wY3QYAiABKAVIAIgBARIdChBwcm9ncmVzc19tZXNzYWdlGAMgASgJSAGIAQESNwoRcHJvZ3Jlc3NfbWV0YWRhdGEYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQFCDwoNX3Byb2dyZXNzX3BjdEITChFfcHJvZ3Jlc3NfbWVzc2FnZUIUChJfcHJvZ3Jlc3NfbWV0YWRhdGEiRAofUmVwb3J0T3BlcmF0aW9uUHJvZ3Jlc3NSZXNwb25zZRIOCgZzdGF0dXMYASABKAkSEQoJY2FuY2VsbGVkGAIgASgIIoIBCh1HZXRPcGVyYXRpb25RdW90YVVzYWdlUmVxdWVzdBIVCg1vcGVyYXRpb25fa2V5GAEgASgJEhgKC2N1c3RvbWVyX2lkGAIgASgJSACIAQESFAoHdXNlcl9pZBgDIAEoCUgBiAEBQg4KDF9jdXN0b21lcl9pZEIKCghfdXNlcl9pZCKyAQoOUXVvdGFSdWxlVXNhZ2USEgoKcnVsZV9pbmRleBgBIAEoBRITCgtzZWdtZW50X2tleRgCIAEoCRINCgVsaW1pdBgDIAEoBRIMCgR1c2VkGAQgASgFEhEKCXJlbWFpbmluZxgFIAEoBRIVCg1yZXNldF9hdF91bml4GAYgASgDEg0KBXNjb3BlGAcgASgJEhAKCGR1cmF0aW9uGAggASgFEg8KB21lc3NhZ2UYCSABKAkirQEKHkdldE9wZXJhdGlvblF1b3RhVXNhZ2VSZXNwb25zZRIYChB0b3RhbF9leGVjdXRpb25zGAEgASgDEhkKEXBlcmlvZF9leGVjdXRpb25zGAIgASgDEhgKC3F1b3RhX2xpbWl0GAMgASgDSACIAQESLAoFcnVsZXMYBCADKAsyHS5vcGVyYXRpb25zLnYxLlF1b3RhUnVsZVVzYWdlQg4KDF9xdW90YV9saW1pdCIcChpHZXRTaWduaW5nU2VjcmV0UmF3UmVxdWVzdCItChtHZXRTaWduaW5nU2VjcmV0UmF3UmVzcG9uc2USDgoGc2VjcmV0GAEgASgJIigKGkdldE9wZXJhdGlvblZlcnNpb25SZXF1ZXN0EgoKAmlkGAEgASgJIk8KG0dldE9wZXJhdGlvblZlcnNpb25SZXNwb25zZRIwCgd2ZXJzaW9uGAEgASgLMh8ub3BlcmF0aW9ucy52MS5PcGVyYXRpb25WZXJzaW9uIqwBChxMaXN0T3BlcmF0aW9uVmVyc2lvbnNSZXF1ZXN0EhQKDG9wZXJhdGlvbl9pZBgBIAEoCRISCgVhZnRlchgCIAEoCUgAiAEBEhMKBmJlZm9yZRgDIAEoCUgBiAEBEhIKBWZpcnN0GAQgASgFSAKIAQESEQoEbGFzdBgFIAEoBUgDiAEBQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKtAQodTGlzdE9wZXJhdGlvblZlcnNpb25zUmVzcG9uc2USMQoIdmVyc2lvbnMYASADKAsyHy5vcGVyYXRpb25zLnYxLk9wZXJhdGlvblZlcnNpb24SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvImwKHlJlc3RvcmVPcGVyYXRpb25WZXJzaW9uUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgCIAEoCUgAiAEBQhUKE19jaGFuZ2VfZGVzY3JpcHRpb24ihAEKH1Jlc3RvcmVPcGVyYXRpb25WZXJzaW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24SNAoLbmV3X3ZlcnNpb24YAiABKAsyHy5vcGVyYXRpb25zLnYxLk9wZXJhdGlvblZlcnNpb24iJQoXUHVibGlzaE9wZXJhdGlvblJlcXVlc3QSCgoCaWQYASABKAkifQoYUHVibGlzaE9wZXJhdGlvblJlc3BvbnNlEisKCW9wZXJhdGlvbhgBIAEoCzIYLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uEjQKEGJyZWFraW5nX2NoYW5nZXMYAiADKAsyGi5wdWJsaXNoLnYxLkJyZWFraW5nQ2hhbmdlIicKGVVucHVibGlzaE9wZXJhdGlvblJlcXVlc3QSCgoCaWQYASABKAkiSQoaVW5wdWJsaXNoT3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24iLgogR2V0T3BlcmF0aW9uUHVibGlzaFN0YXR1c1JlcXVlc3QSCgoCaWQYASABKAkiTgohR2V0T3BlcmF0aW9uUHVibGlzaFN0YXR1c1Jlc3BvbnNlEikKBnN0YXR1cxgBIAEoCzIZLnB1Ymxpc2gudjEuUHVibGlzaFN0YXR1cyKlAQofU2NoZWR1bGVPcGVyYXRpb25QdWJsaXNoUmVxdWVzdBIKCgJpZBgBIAEoCRIuCgpwdWJsaXNoX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1Cgx1bnB1Ymxpc2hfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCDwoNX3VucHVibGlzaF9hdCJPCiBTY2hlZHVsZU9wZXJhdGlvblB1Ymxpc2hSZXNwb25zZRIrCglvcGVyYXRpb24YASABKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbiI0CiZDYW5jZWxTY2hlZHVsZWRPcGVyYXRpb25QdWJsaXNoUmVxdWVzdBIKCgJpZBgBIAEoCSJWCidDYW5jZWxTY2hlZHVsZWRPcGVyYXRpb25QdWJsaXNoUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24qYgoNRXhlY3V0aW9uTW9kZRIeChpFWEVDVVRJT05fTU9ERV9VTlNQRUNJRklFRBAAEhcKE0VYRUNVVElPTl9NT0RFX1NZTkMQARIYChRFWEVDVVRJT05fTU9ERV9BU1lOQxACMrUhChFPcGVyYXRpb25zU2VydmljZRJdCg5MaXN0T3BlcmF0aW9ucxIkLm9wZXJhdGlvbnMudjEuTGlzdE9wZXJhdGlvbnNSZXF1ZXN0GiUub3BlcmF0aW9ucy52MS5MaXN0T3BlcmF0aW9uc1Jlc3BvbnNlElcKDEdldE9wZXJhdGlvbhIiLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uUmVxdWVzdBojLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uUmVzcG9uc2USYAoPQ3JlYXRlT3BlcmF0aW9uEiUub3BlcmF0aW9ucy52MS5DcmVhdGVPcGVyYXRpb25SZXF1ZXN0GiYub3BlcmF0aW9ucy52MS5DcmVhdGVPcGVyYXRpb25SZXNwb25zZRJgCg9VcGRhdGVPcGVyYXRpb24SJS5vcGVyYXRpb25zLnYxLlVwZGF0ZU9wZXJhdGlvblJlcXVlc3QaJi5vcGVyYXRpb25zLnYxLlVwZGF0ZU9wZXJhdGlvblJlc3BvbnNlEmAKD0RlbGV0ZU9wZXJhdGlvbhIlLm9wZXJhdGlvbnMudjEuRGVsZXRlT3BlcmF0aW9uUmVxdWVzdBomLm9wZXJhdGlvbnMudjEuRGVsZXRlT3BlcmF0aW9uUmVzcG9uc2USYwoQRXhlY3V0ZU9wZXJhdGlvbhImLm9wZXJhdGlvbnMudjEuRXhlY3V0ZU9wZXJhdGlvblJlcXVlc3QaJy5vcGVyYXRpb25zLnYxLkV4ZWN1dGVPcGVyYXRpb25SZXNwb25zZRJ4ChdMaXN0T3BlcmF0aW9uRXhlY3V0aW9ucxItLm9wZXJhdGlvbnMudjEuTGlzdE9wZXJhdGlvbkV4ZWN1dGlvbnNSZXF1ZXN0Gi4ub3BlcmF0aW9ucy52MS5MaXN0T3BlcmF0aW9uRXhlY3V0aW9uc1Jlc3BvbnNlEoEBChpHZXRPcGVyYXRpb25FeGVjdXRpb25TdGF0cxIwLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uRXhlY3V0aW9uU3RhdHNSZXF1ZXN0GjEub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25FeGVjdXRpb25TdGF0c1Jlc3BvbnNlEnIKFUxpc3REZWFkTGV0dGVyRW50cmllcxIrLm9wZXJhdGlvbnMudjEuTGlzdERlYWRMZXR0ZXJFbnRyaWVzUmVxdWVzdBosLm9wZXJhdGlvbnMudjEuTGlzdERlYWRMZXR0ZXJFbnRyaWVzUmVzcG9uc2USbwoUUmV0cnlEZWFkTGV0dGVyRW50cnkSKi5vcGVyYXRpb25zLnYxLlJldHJ5RGVhZExldHRlckVudHJ5UmVxdWVzdBorLm9wZXJhdGlvbnMudjEuUmV0cnlEZWFkTGV0dGVyRW50cnlSZXNwb25zZRJ1ChZEaXNtaXNzRGVhZExldHRlckVudHJ5Eiwub3BlcmF0aW9ucy52MS5EaXNtaXNzRGVhZExldHRlckVudHJ5UmVxdWVzdBotLm9wZXJhdGlvbnMudjEuRGlzbWlzc0RlYWRMZXR0ZXJFbnRyeVJlc3BvbnNlEnUKFkJ1bGtEaXNtaXNzRGVhZExldHRlcnMSLC5vcGVyYXRpb25zLnYxLkJ1bGtEaXNtaXNzRGVhZExldHRlcnNSZXF1ZXN0Gi0ub3BlcmF0aW9ucy52MS5CdWxrRGlzbWlzc0RlYWRMZXR0ZXJzUmVzcG9uc2UShwEKHERpc21pc3NBbGxQZW5kaW5nRGVhZExldHRlcnMSMi5vcGVyYXRpb25zLnYxLkRpc21pc3NBbGxQZW5kaW5nRGVhZExldHRlcnNSZXF1ZXN0GjMub3BlcmF0aW9ucy52MS5EaXNtaXNzQWxsUGVuZGluZ0RlYWRMZXR0ZXJzUmVzcG9uc2USbwoUQnVsa1JldHJ5RGVhZExldHRlcnMSKi5vcGVyYXRpb25zLnYxLkJ1bGtSZXRyeURlYWRMZXR0ZXJzUmVxdWVzdBorLm9wZXJhdGlvbnMudjEuQnVsa1JldHJ5RGVhZExldHRlcnNSZXNwb25zZRKEAQobTGlzdERlYWRMZXR0ZXJPcGVyYXRpb25LZXlzEjEub3BlcmF0aW9ucy52MS5MaXN0RGVhZExldHRlck9wZXJhdGlvbktleXNSZXF1ZXN0GjIub3BlcmF0aW9ucy52MS5MaXN0RGVhZExldHRlck9wZXJhdGlvbktleXNSZXNwb25zZRJpChJHZXREZWFkTGV0dGVyU3RhdHMSKC5vcGVyYXRpb25zLnYxLkdldERlYWRMZXR0ZXJTdGF0c1JlcXVlc3QaKS5vcGVyYXRpb25zLnYxLkdldERlYWRMZXR0ZXJTdGF0c1Jlc3BvbnNlEmYKEUxpc3RDaXJjdWl0U3RhdGVzEicub3BlcmF0aW9ucy52MS5MaXN0Q2lyY3VpdFN0YXRlc1JlcXVlc3QaKC5vcGVyYXRpb25zLnYxLkxpc3RDaXJjdWl0U3RhdGVzUmVzcG9uc2USVwoMUmVzZXRDaXJjdWl0EiIub3BlcmF0aW9ucy52MS5SZXNldENpcmN1aXRSZXF1ZXN0GiMub3BlcmF0aW9ucy52MS5SZXNldENpcmN1aXRSZXNwb25zZRJ4ChdHZXRBcHBsaWNhYmxlT3BlcmF0aW9ucxItLm9wZXJhdGlvbnMudjEuR2V0QXBwbGljYWJsZU9wZXJhdGlvbnNSZXF1ZXN0Gi4ub3BlcmF0aW9ucy52MS5HZXRBcHBsaWNhYmxlT3BlcmF0aW9uc1Jlc3BvbnNlEnIKFUdldE9wZXJhdGlvbkV4ZWN1dGlvbhIrLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBosLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USewoYQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uEi4ub3BlcmF0aW9ucy52MS5DYW5jZWxPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0Gi8ub3BlcmF0aW9ucy52MS5DYW5jZWxPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRJ+ChlDYW5jZWxPcGVyYXRpb25FeGVjdXRpb25zEi8ub3BlcmF0aW9ucy52MS5DYW5jZWxPcGVyYXRpb25FeGVjdXRpb25zUmVxdWVzdBowLm9wZXJhdGlvbnMudjEuQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uc1Jlc3BvbnNlEoEBChpDb21wbGV0ZU9wZXJhdGlvbkV4ZWN1dGlvbhIwLm9wZXJhdGlvbnMudjEuQ29tcGxldGVPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0GjEub3BlcmF0aW9ucy52MS5Db21wbGV0ZU9wZXJhdGlvbkV4ZWN1dGlvblJlc3BvbnNlEnUKFkZhaWxPcGVyYXRpb25FeGVjdXRpb24SLC5vcGVyYXRpb25zLnYxLkZhaWxPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0Gi0ub3BlcmF0aW9ucy52MS5GYWlsT3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USeAoXUmVwb3J0T3BlcmF0aW9uUHJvZ3Jlc3MSLS5vcGVyYXRpb25zLnYxLlJlcG9ydE9wZXJhdGlvblByb2dyZXNzUmVxdWVzdBouLm9wZXJhdGlvbnMudjEuUmVwb3J0T3BlcmF0aW9uUHJvZ3Jlc3NSZXNwb25zZRJ1ChZHZXRPcGVyYXRpb25RdW90YVVzYWdlEiwub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25RdW90YVVzYWdlUmVxdWVzdBotLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uUXVvdGFVc2FnZVJlc3BvbnNlEmMKEEdldFNpZ25pbmdTZWNyZXQSJi5vcGVyYXRpb25zLnYxLkdldFNpZ25pbmdTZWNyZXRSZXF1ZXN0Gicub3BlcmF0aW9ucy52MS5HZXRTaWduaW5nU2VjcmV0UmVzcG9uc2USbAoTR2V0U2lnbmluZ1NlY3JldFJhdxIpLm9wZXJhdGlvbnMudjEuR2V0U2lnbmluZ1NlY3JldFJhd1JlcXVlc3QaKi5vcGVyYXRpb25zLnYxLkdldFNpZ25pbmdTZWNyZXRSYXdSZXNwb25zZRJ4ChdSZWdlbmVyYXRlU2lnbmluZ1NlY3JldBItLm9wZXJhdGlvbnMudjEuUmVnZW5lcmF0ZVNpZ25pbmdTZWNyZXRSZXF1ZXN0Gi4ub3BlcmF0aW9ucy52MS5SZWdlbmVyYXRlU2lnbmluZ1NlY3JldFJlc3BvbnNlEmwKE0dldE9wZXJhdGlvblZlcnNpb24SKS5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblZlcnNpb25SZXF1ZXN0Gioub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25WZXJzaW9uUmVzcG9uc2UScgoVTGlzdE9wZXJhdGlvblZlcnNpb25zEisub3BlcmF0aW9ucy52MS5MaXN0T3BlcmF0aW9uVmVyc2lvbnNSZXF1ZXN0Giwub3BlcmF0aW9ucy52MS5MaXN0T3BlcmF0aW9uVmVyc2lvbnNSZXNwb25zZRJ4ChdSZXN0b3JlT3BlcmF0aW9uVmVyc2lvbhItLm9wZXJhdGlvbnMudjEuUmVzdG9yZU9wZXJhdGlvblZlcnNpb25SZXF1ZXN0Gi4ub3BlcmF0aW9ucy52MS5SZXN0b3JlT3BlcmF0aW9uVmVyc2lvblJlc3BvbnNlEmMKEFB1Ymxpc2hPcGVyYXRpb24SJi5vcGVyYXRpb25zLnYxLlB1Ymxpc2hPcGVyYXRpb25SZXF1ZXN0Gicub3BlcmF0aW9ucy52MS5QdWJsaXNoT3BlcmF0aW9uUmVzcG9uc2USaQoSVW5wdWJsaXNoT3BlcmF0aW9uEigub3BlcmF0aW9ucy52MS5VbnB1Ymxpc2hPcGVyYXRpb25SZXF1ZXN0Gikub3BlcmF0aW9ucy52MS5VbnB1Ymxpc2hPcGVyYXRpb25SZXNwb25zZRJ+ChlHZXRPcGVyYXRpb25QdWJsaXNoU3RhdHVzEi8ub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25QdWJsaXNoU3RhdHVzUmVxdWVzdBowLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uUHVibGlzaFN0YXR1c1Jlc3BvbnNlEnsKGFNjaGVkdWxlT3BlcmF0aW9uUHVibGlzaBIuLm9wZXJhdGlvbnMudjEuU2NoZWR1bGVPcGVyYXRpb25QdWJsaXNoUmVxdWVzdBovLm9wZXJhdGlvbnMudjEuU2NoZWR1bGVPcGVyYXRpb25QdWJsaXNoUmVzcG9uc2USkAEKH0NhbmNlbFNjaGVkdWxlZE9wZXJhdGlvblB1Ymxpc2gSNS5vcGVyYXRpb25zLnYxLkNhbmNlbFNjaGVkdWxlZE9wZXJhdGlvblB1Ymxpc2hSZXF1ZXN0GjYub3BlcmF0aW9ucy52MS5DYW5jZWxTY2hlZHVsZWRPcGVyYXRpb25QdWJsaXNoUmVzcG9uc2VCQVo/Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL29wZXJhdGlvbnMvdjE7b3BlcmF0aW9uc3YxYgZwcm90bzM", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_publish_v1_publish, file_common_v1_pagination]);
14
15
 
15
16
  /**
16
17
  * Describes the message operations.v1.Operation.
@@ -6,6 +6,7 @@ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobu
6
6
  import type { JsonObject, Message } from "@bufbuild/protobuf";
7
7
  import type { Timestamp } from "@bufbuild/protobuf/wkt";
8
8
  import type { RuleExpression } from "../../expressions/v1/expressions_pb.js";
9
+ import type { PageInfo } from "../../common/v1/pagination_pb.js";
9
10
 
10
11
  /**
11
12
  * Describes the file records/v1/records.proto.
@@ -644,7 +645,7 @@ export declare type ListRecordsResponse = Message<"records.v1.ListRecordsRespons
644
645
  * after/before; empty for legacy limit/offset callers (Stage 6 removes
645
646
  * the legacy path so this becomes always-populated).
646
647
  *
647
- * @generated from field: optional records.v1.PageInfo page_info = 3;
648
+ * @generated from field: optional common.v1.PageInfo page_info = 3;
648
649
  */
649
650
  pageInfo?: PageInfo | undefined;
650
651
 
@@ -666,42 +667,6 @@ export declare type ListRecordsResponse = Message<"records.v1.ListRecordsRespons
666
667
  */
667
668
  export declare const ListRecordsResponseSchema: GenMessage<ListRecordsResponse>;
668
669
 
669
- /**
670
- * PageInfo carries the cursor-page metadata for ListRecordsResponse.
671
- * has_next_page / has_previous_page are relative to the requested
672
- * direction; under forward pagination has_previous_page is true when
673
- * `after` was supplied, under backward it's the inverse.
674
- *
675
- * @generated from message records.v1.PageInfo
676
- */
677
- export declare type PageInfo = Message<"records.v1.PageInfo"> & {
678
- /**
679
- * @generated from field: bool has_next_page = 1;
680
- */
681
- hasNextPage: boolean;
682
-
683
- /**
684
- * @generated from field: bool has_previous_page = 2;
685
- */
686
- hasPreviousPage: boolean;
687
-
688
- /**
689
- * @generated from field: optional string start_cursor = 3;
690
- */
691
- startCursor?: string | undefined;
692
-
693
- /**
694
- * @generated from field: optional string end_cursor = 4;
695
- */
696
- endCursor?: string | undefined;
697
- };
698
-
699
- /**
700
- * Describes the message records.v1.PageInfo.
701
- * Use `create(PageInfoSchema)` to create a new message.
702
- */
703
- export declare const PageInfoSchema: GenMessage<PageInfo>;
704
-
705
670
  /**
706
671
  * @generated from message records.v1.UpdateRecordRequest
707
672
  */
@@ -1246,14 +1211,24 @@ export declare type ListRecordVersionsRequest = Message<"records.v1.ListRecordVe
1246
1211
  parentId: string;
1247
1212
 
1248
1213
  /**
1249
- * @generated from field: int32 limit = 2;
1214
+ * @generated from field: optional string after = 2;
1215
+ */
1216
+ after?: string | undefined;
1217
+
1218
+ /**
1219
+ * @generated from field: optional string before = 3;
1220
+ */
1221
+ before?: string | undefined;
1222
+
1223
+ /**
1224
+ * @generated from field: optional int32 first = 4;
1250
1225
  */
1251
- limit: number;
1226
+ first?: number | undefined;
1252
1227
 
1253
1228
  /**
1254
- * @generated from field: int32 offset = 3;
1229
+ * @generated from field: optional int32 last = 5;
1255
1230
  */
1256
- offset: number;
1231
+ last?: number | undefined;
1257
1232
  };
1258
1233
 
1259
1234
  /**
@@ -1275,6 +1250,16 @@ export declare type ListRecordVersionsResponse = Message<"records.v1.ListRecordV
1275
1250
  * @generated from field: int32 total = 2;
1276
1251
  */
1277
1252
  total: number;
1253
+
1254
+ /**
1255
+ * @generated from field: optional common.v1.PageInfo page_info = 3;
1256
+ */
1257
+ pageInfo?: PageInfo | undefined;
1258
+
1259
+ /**
1260
+ * @generated from field: repeated string cursors = 4;
1261
+ */
1262
+ cursors: string[];
1278
1263
  };
1279
1264
 
1280
1265
  /**
@@ -1450,14 +1435,24 @@ export declare type ListRecordVariantsRequest = Message<"records.v1.ListRecordVa
1450
1435
  recordId: string;
1451
1436
 
1452
1437
  /**
1453
- * @generated from field: int32 limit = 2;
1438
+ * @generated from field: optional string after = 2;
1439
+ */
1440
+ after?: string | undefined;
1441
+
1442
+ /**
1443
+ * @generated from field: optional string before = 3;
1444
+ */
1445
+ before?: string | undefined;
1446
+
1447
+ /**
1448
+ * @generated from field: optional int32 first = 4;
1454
1449
  */
1455
- limit: number;
1450
+ first?: number | undefined;
1456
1451
 
1457
1452
  /**
1458
- * @generated from field: int32 offset = 3;
1453
+ * @generated from field: optional int32 last = 5;
1459
1454
  */
1460
- offset: number;
1455
+ last?: number | undefined;
1461
1456
  };
1462
1457
 
1463
1458
  /**
@@ -1479,6 +1474,16 @@ export declare type ListRecordVariantsResponse = Message<"records.v1.ListRecordV
1479
1474
  * @generated from field: int32 total = 2;
1480
1475
  */
1481
1476
  total: number;
1477
+
1478
+ /**
1479
+ * @generated from field: optional common.v1.PageInfo page_info = 3;
1480
+ */
1481
+ pageInfo?: PageInfo | undefined;
1482
+
1483
+ /**
1484
+ * @generated from field: repeated string cursors = 4;
1485
+ */
1486
+ cursors: string[];
1482
1487
  };
1483
1488
 
1484
1489
  /**
@@ -1581,14 +1586,24 @@ export declare type ListScheduledPublishesRequest = Message<"records.v1.ListSche
1581
1586
  modelKey?: string | undefined;
1582
1587
 
1583
1588
  /**
1584
- * @generated from field: int32 limit = 4;
1589
+ * @generated from field: optional string after = 4;
1590
+ */
1591
+ after?: string | undefined;
1592
+
1593
+ /**
1594
+ * @generated from field: optional string before = 5;
1595
+ */
1596
+ before?: string | undefined;
1597
+
1598
+ /**
1599
+ * @generated from field: optional int32 first = 6;
1585
1600
  */
1586
- limit: number;
1601
+ first?: number | undefined;
1587
1602
 
1588
1603
  /**
1589
- * @generated from field: int32 offset = 5;
1604
+ * @generated from field: optional int32 last = 7;
1590
1605
  */
1591
- offset: number;
1606
+ last?: number | undefined;
1592
1607
  };
1593
1608
 
1594
1609
  /**
@@ -1610,6 +1625,16 @@ export declare type ListScheduledPublishesResponse = Message<"records.v1.ListSch
1610
1625
  * @generated from field: int32 total = 2;
1611
1626
  */
1612
1627
  total: number;
1628
+
1629
+ /**
1630
+ * @generated from field: optional common.v1.PageInfo page_info = 3;
1631
+ */
1632
+ pageInfo?: PageInfo | undefined;
1633
+
1634
+ /**
1635
+ * @generated from field: repeated string cursors = 4;
1636
+ */
1637
+ cursors: string[];
1613
1638
  };
1614
1639
 
1615
1640
  /**
@@ -1665,14 +1690,24 @@ export declare type ListDraftVersionsRequest = Message<"records.v1.ListDraftVers
1665
1690
  search?: string | undefined;
1666
1691
 
1667
1692
  /**
1668
- * @generated from field: int32 limit = 3;
1693
+ * @generated from field: optional string after = 6;
1669
1694
  */
1670
- limit: number;
1695
+ after?: string | undefined;
1671
1696
 
1672
1697
  /**
1673
- * @generated from field: int32 offset = 4;
1698
+ * @generated from field: optional string before = 7;
1674
1699
  */
1675
- offset: number;
1700
+ before?: string | undefined;
1701
+
1702
+ /**
1703
+ * @generated from field: optional int32 first = 8;
1704
+ */
1705
+ first?: number | undefined;
1706
+
1707
+ /**
1708
+ * @generated from field: optional int32 last = 9;
1709
+ */
1710
+ last?: number | undefined;
1676
1711
 
1677
1712
  /**
1678
1713
  * When true the handler returns one row per owning record-or-variant
@@ -1706,6 +1741,16 @@ export declare type ListDraftVersionsResponse = Message<"records.v1.ListDraftVer
1706
1741
  * @generated from field: int32 total = 2;
1707
1742
  */
1708
1743
  total: number;
1744
+
1745
+ /**
1746
+ * @generated from field: optional common.v1.PageInfo page_info = 3;
1747
+ */
1748
+ pageInfo?: PageInfo | undefined;
1749
+
1750
+ /**
1751
+ * @generated from field: repeated string cursors = 4;
1752
+ */
1753
+ cursors: string[];
1709
1754
  };
1710
1755
 
1711
1756
  /**
@@ -1955,9 +2000,24 @@ export declare type GlobalSearchRequest = Message<"records.v1.GlobalSearchReques
1955
2000
  modelKeys: string[];
1956
2001
 
1957
2002
  /**
1958
- * @generated from field: int32 limit = 10;
2003
+ * @generated from field: optional string after = 3;
2004
+ */
2005
+ after?: string | undefined;
2006
+
2007
+ /**
2008
+ * @generated from field: optional string before = 4;
2009
+ */
2010
+ before?: string | undefined;
2011
+
2012
+ /**
2013
+ * @generated from field: optional int32 first = 5;
2014
+ */
2015
+ first?: number | undefined;
2016
+
2017
+ /**
2018
+ * @generated from field: optional int32 last = 6;
1959
2019
  */
1960
- limit: number;
2020
+ last?: number | undefined;
1961
2021
  };
1962
2022
 
1963
2023
  /**
@@ -2015,6 +2075,16 @@ export declare type GlobalSearchResponse = Message<"records.v1.GlobalSearchRespo
2015
2075
  * @generated from field: int32 total = 2;
2016
2076
  */
2017
2077
  total: number;
2078
+
2079
+ /**
2080
+ * @generated from field: optional common.v1.PageInfo page_info = 3;
2081
+ */
2082
+ pageInfo?: PageInfo | undefined;
2083
+
2084
+ /**
2085
+ * @generated from field: repeated string cursors = 4;
2086
+ */
2087
+ cursors: string[];
2018
2088
  };
2019
2089
 
2020
2090
  /**
@@ -2205,9 +2275,24 @@ export declare type FindSimilarRecordsRequest = Message<"records.v1.FindSimilarR
2205
2275
  modelKey?: string | undefined;
2206
2276
 
2207
2277
  /**
2208
- * @generated from field: int32 limit = 10;
2278
+ * @generated from field: optional string after = 3;
2209
2279
  */
2210
- limit: number;
2280
+ after?: string | undefined;
2281
+
2282
+ /**
2283
+ * @generated from field: optional string before = 4;
2284
+ */
2285
+ before?: string | undefined;
2286
+
2287
+ /**
2288
+ * @generated from field: optional int32 first = 5;
2289
+ */
2290
+ first?: number | undefined;
2291
+
2292
+ /**
2293
+ * @generated from field: optional int32 last = 6;
2294
+ */
2295
+ last?: number | undefined;
2211
2296
  };
2212
2297
 
2213
2298
  /**
@@ -2224,6 +2309,16 @@ export declare type FindSimilarRecordsResponse = Message<"records.v1.FindSimilar
2224
2309
  * @generated from field: repeated records.v1.SimilarRecord records = 1;
2225
2310
  */
2226
2311
  records: SimilarRecord[];
2312
+
2313
+ /**
2314
+ * @generated from field: optional common.v1.PageInfo page_info = 2;
2315
+ */
2316
+ pageInfo?: PageInfo | undefined;
2317
+
2318
+ /**
2319
+ * @generated from field: repeated string cursors = 3;
2320
+ */
2321
+ cursors: string[];
2227
2322
  };
2228
2323
 
2229
2324
  /**
@@ -2383,9 +2478,24 @@ export declare type SearchEmbeddingsRequest = Message<"records.v1.SearchEmbeddin
2383
2478
  modelKey?: string | undefined;
2384
2479
 
2385
2480
  /**
2386
- * @generated from field: int32 limit = 10;
2481
+ * @generated from field: optional string after = 3;
2387
2482
  */
2388
- limit: number;
2483
+ after?: string | undefined;
2484
+
2485
+ /**
2486
+ * @generated from field: optional string before = 4;
2487
+ */
2488
+ before?: string | undefined;
2489
+
2490
+ /**
2491
+ * @generated from field: optional int32 first = 5;
2492
+ */
2493
+ first?: number | undefined;
2494
+
2495
+ /**
2496
+ * @generated from field: optional int32 last = 6;
2497
+ */
2498
+ last?: number | undefined;
2389
2499
  };
2390
2500
 
2391
2501
  /**
@@ -2402,6 +2512,16 @@ export declare type SearchEmbeddingsResponse = Message<"records.v1.SearchEmbeddi
2402
2512
  * @generated from field: repeated records.v1.SimilarRecord results = 1;
2403
2513
  */
2404
2514
  results: SimilarRecord[];
2515
+
2516
+ /**
2517
+ * @generated from field: optional common.v1.PageInfo page_info = 2;
2518
+ */
2519
+ pageInfo?: PageInfo | undefined;
2520
+
2521
+ /**
2522
+ * @generated from field: repeated string cursors = 3;
2523
+ */
2524
+ cursors: string[];
2405
2525
  };
2406
2526
 
2407
2527
  /**