@alphauspkgs/blue-sdk-ts 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -16
- package/api/cover/budget_pb.js +1 -1
- package/api/cover/budget_pb.ts +8 -1
- package/billing/v1/billing_pb.js +22 -2
- package/billing/v1/billing_pb.ts +243 -2
- package/conn/conn.js +9 -9
- package/conn/conn.ts +9 -9
- package/cost/v1/cost_pb.js +139 -134
- package/cost/v1/cost_pb.ts +272 -146
- package/cover/v1/cover_pb.ts +692 -391
- package/package.json +1 -1
package/cost/v1/cost_pb.ts
CHANGED
|
@@ -28,7 +28,7 @@ import type { Cost as Cost$2 } from "../../api/gcp/cost_pb";
|
|
|
28
28
|
import { file_api_gcp_cost } from "../../api/gcp/cost_pb";
|
|
29
29
|
import type { Cost as Cost$3, CostAttribute as CostAttribute$2 } from "../../api/azure/cost_pb";
|
|
30
30
|
import { file_api_azure_cost } from "../../api/azure/cost_pb";
|
|
31
|
-
import type { PayerSchema } from "../../api/ripple/payer_pb";
|
|
31
|
+
import type { Payer, PayerSchema } from "../../api/ripple/payer_pb";
|
|
32
32
|
import { file_api_ripple_payer } from "../../api/ripple/payer_pb";
|
|
33
33
|
import type { BillingGroupSectionSchema, OverViewSectionSchema, TotalSectionSchema } from "../../api/ripple/v1/dashboard_pb";
|
|
34
34
|
import { file_api_ripple_v1_dashboard } from "../../api/ripple/v1/dashboard_pb";
|
|
@@ -49,7 +49,7 @@ import type { Message } from "@bufbuild/protobuf";
|
|
|
49
49
|
* Describes the file cost/v1/cost.proto.
|
|
50
50
|
*/
|
|
51
51
|
export const file_cost_v1_cost: GenFile = /*@__PURE__*/
|
|
52
|
-
fileDesc("ChJjb3N0L3YxL2Nvc3QucHJvdG8SD2JsdWVhcGkuY29zdC52MSJaChhMaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEi4KCmZpZWxkX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIjQKFkdldFBheWVyQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJIlAKI0dldFBheWVyQWNjb3VudEltcG9ydEhpc3RvcnlSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCRINCgVtb250aBgDIAEoCSJVCiRHZXRQYXllckFjY291bnRJbXBvcnRIaXN0b3J5UmVzcG9uc2USCgoCaWQYASABKAkSDQoFbW9udGgYAiABKAkSEgoKdGltZXN0YW1wcxgDIAMoCSI8Ch5HZXRQYXllclByb2Zvcm1hUmVwb3J0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJIlQKH0dldFBheWVyUHJvZm9ybWFSZXBvcnRzUmVzcG9uc2USMQoHcmVwb3J0cxgBIAMoCzIgLmJsdWVhcGkuY29zdC52MS5Qcm9mb3JtYVJlcG9ydHMimwEKD1Byb2Zvcm1hUmVwb3J0cxIKCgJpZBgBIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgCIAEoCRIYChBiaWxsaW5nR3JvdXBOYW1lGAMgASgJEhIKCmJ1Y2tldE5hbWUYBCABKAkSDgoGcHJlZml4GAUgASgJEhIKCnJlcG9ydE5hbWUYBiABKAkSDwoHcm9sZUFybhgHIAEoCSKIAQojQ3JlYXRlUGF5ZXJBY2NvdW50UmVxdWVzdEF3c09wdGlvbnMSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRISCgpidWNrZXROYW1lGAMgASgJEg4KBnByZWZpeBgEIAEoCRISCgpyZXBvcnROYW1lGAUgASgJEg8KB3JvbGVBcm4YBiABKAkidQoZQ3JlYXRlUGF5ZXJBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSSAoKYXdzT3B0aW9ucxgCIAEoCzI0LmJsdWVhcGkuY29zdC52MS5DcmVhdGVQYXllckFjY291bnRSZXF1ZXN0QXdzT3B0aW9ucyI3ChlEZWxldGVQYXllckFjY291bnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCSJmChNMaXN0QWNjb3VudHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIPCgdncm91cElkGAIgASgJEi4KCmZpZWxkX21hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIl8KEUdldEFjY291bnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCRIuCgpmaWVsZF9tYXNrGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayI9Ch5DcmVhdGVBY2NvdW50UmVxdWVzdEF3c09wdGlvbnMSGwoTbWFuYWdlbWVudEFjY291bnRJZBgBIAEoCSJaCh5DcmVhdGVBY2NvdW50UmVxdWVzdEdjcE9wdGlvbnMSGwoTbWFuYWdlbWVudEFjY291bnRJZBgBIAEoCRIbChNtYW5hZ2VtZW50QmlsbGluZ0lkGAIgASgJItoBChRDcmVhdGVBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkSDAoEbmFtZRgDIAEoCRIOCgZwYXJlbnQYBCABKAkSQwoKYXdzT3B0aW9ucxgFIAEoCzIvLmJsdWVhcGkuY29zdC52MS5DcmVhdGVBY2NvdW50UmVxdWVzdEF3c09wdGlvbnMSQwoKZ2NwT3B0aW9ucxgGIAEoCzIvLmJsdWVhcGkuY29zdC52MS5DcmVhdGVBY2NvdW50UmVxdWVzdEdjcE9wdGlvbnMiQAoUVXBkYXRlQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEgwKBG5hbWUYAyABKAkiMgoURGVsZXRlQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJImIKD0xpc3RUYWdzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDwoHZ3JvdXBJZBgCIAEoCRIuCgpmaWVsZF9tYXNrGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayJFCiRMaXN0Q2FsY3VsYXRvclJ1bm5pbmdBY2NvdW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJItIBCiVMaXN0Q2FsY3VsYXRvclJ1bm5pbmdBY2NvdW50c1Jlc3BvbnNlElUKA2F3cxgBIAEoCzJILmJsdWVhcGkuY29zdC52MS5MaXN0Q2FsY3VsYXRvclJ1bm5pbmdBY2NvdW50c1Jlc3BvbnNlLkF3c1J1bm5pbmdBY2NvdW50GlIKEUF3c1J1bm5pbmdBY2NvdW50Eg0KBW1vbnRoGAEgASgJEg8KB2FjY291bnQYAiABKAkSDAoEZGF0ZRgDIAEoCRIPCgdzdGFydGVkGAQgASgJIiwKGkdldENhbGN1bGF0b3JDb25maWdSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCSJNChtHZXRDYWxjdWxhdG9yQ29uZmlnUmVzcG9uc2USLgoDYXdzGAEgASgLMiEuYmx1ZWFwaS5hcGkuYXdzLkNhbGN1bGF0b3JDb25maWciqQYKIENhbGN1bGF0b3JDb3N0TW9kaWZpZXJBd3NPcHRpb25zEhEKCWFjY291bnRJZBgBIAEoCRIPCgdncm91cElkGAIgASgJEg8KB3BheWVySWQYAyABKAkSTwoKcXVhbGlmaWVycxgEIAMoCzI7LmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXdzT3B0aW9ucy5RdWFsaWZpZXISTAoIbW9kaWZpZXIYBSABKAsyOi5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF3c09wdGlvbnMuTW9kaWZpZXISDQoFYWZ0ZXIYBiABKAkSFAoMY3JlYXRlTmV3Um93GAcgASgIGooBCglRdWFsaWZpZXISUQoDYW5kGAEgAygLMkQuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBd3NPcHRpb25zLlF1YWxpZmllci5BbmRFbnRyeRoqCghBbmRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGv4CCghNb2RpZmllchIPCgdmb3JtdWxhGAEgASgJEmsKE2Rlc2NyaXB0aW9uTW9kaWZpZXIYAiABKAsyTi5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF3c09wdGlvbnMuTW9kaWZpZXIuRGVzY3JpcHRpb25Nb2RpZmllchrzAQoTRGVzY3JpcHRpb25Nb2RpZmllchIOCgZwcmVmaXgYASABKAkSDgoGc3VmZml4GAIgASgJEg8KB3JlcGxhY2UYAyABKAkSdgoMcmVwbGFjZU1hdGNoGAQgAygLMmAuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBd3NPcHRpb25zLk1vZGlmaWVyLkRlc2NyaXB0aW9uTW9kaWZpZXIuUmVwbGFjZU1hdGNoRW50cnkaMwoRUmVwbGFjZU1hdGNoRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKfBQoiQ2FsY3VsYXRvckNvc3RNb2RpZmllckF6dXJlT3B0aW9ucxIPCgdncm91cElkGAEgASgJEg8KB3BheWVySWQYAiABKAkSEgoKY3VzdG9tZXJJZBgDIAEoCRIWCg5zdWJzY3JpcHRpb25JZBgEIAEoCRIVCg1lbnRpdGxlbWVudElkGAUgASgJElEKCnF1YWxpZmllcnMYBiADKAsyPS5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF6dXJlT3B0aW9ucy5RdWFsaWZpZXISTgoIbW9kaWZpZXIYByABKAsyPC5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF6dXJlT3B0aW9ucy5Nb2RpZmllchINCgVhZnRlchgIIAEoCRqMAQoJUXVhbGlmaWVyElMKA2FuZBgBIAMoCzJGLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zLlF1YWxpZmllci5BbmRFbnRyeRoqCghBbmRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGtIBCghNb2RpZmllchIPCgdmb3JtdWxhGAEgASgJEm0KE2Rlc2NyaXB0aW9uTW9kaWZpZXIYAiABKAsyUC5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF6dXJlT3B0aW9ucy5Nb2RpZmllci5EZXNjcmlwdGlvbk1vZGlmaWVyGkYKE0Rlc2NyaXB0aW9uTW9kaWZpZXISDgoGcHJlZml4GAEgASgJEg4KBnN1ZmZpeBgCIAEoCRIPCgdyZXBsYWNlGAMgASgJIt4BChZDYWxjdWxhdG9yQ29zdE1vZGlmaWVyEgoKAmlkGAEgASgJEhIKCmNyZWF0ZVRpbWUYAiABKAkSEgoKdXBkYXRlVGltZRgDIAEoCRJFCgphd3NPcHRpb25zGAQgASgLMjEuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBd3NPcHRpb25zEkkKDGF6dXJlT3B0aW9ucxgFIAEoCzIzLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zIjQKIkxpc3RDYWxjdWxhdG9yQ29zdE1vZGlmaWVyc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJIscBCiNDcmVhdGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSRQoKYXdzT3B0aW9ucxgCIAEoCzIxLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXdzT3B0aW9ucxJJCgxhenVyZU9wdGlvbnMYAyABKAsyMy5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF6dXJlT3B0aW9ucyKUAQokQ3JlYXRlQ2FsY3VsYXRvckNvc3RNb2RpZmllclJlc3BvbnNlEjQKA2F3cxgBIAMoCzInLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyEjYKBWF6dXJlGAIgAygLMicuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXIiQQojRGVsZXRlQ2FsY3VsYXRvckNvc3RNb2RpZmllclJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJIjYKFUltcG9ydEN1ckZpbGVzUmVxdWVzdBINCgVtb250aBgBIAEoCRIOCgZmaWx0ZXIYAiABKAkiegoIQ29zdEl0ZW0SIgoDYXdzGAEgASgLMhUuYmx1ZWFwaS5hcGkuYXdzLkNvc3QSIgoDZ2NwGAIgASgLMhUuYmx1ZWFwaS5hcGkuZ2NwLkNvc3QSJgoFYXp1cmUYAyABKAsyFy5ibHVlYXBpLmFwaS5henVyZS5Db3N0IlgKH0NhbGN1bGF0ZUNvc3RzUmVxdWVzdEF3c09wdGlvbnMSDQoFZm9yY2UYASABKAgSFAoMYWNjb3VudHNPbmx5GAIgASgIEhAKCHRhZ3NPbmx5GAMgASgIIo0BChVDYWxjdWxhdGVDb3N0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSDQoFbW9udGgYAyABKAkSRAoKYXdzT3B0aW9ucxgEIAEoCzIwLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdGVDb3N0c1JlcXVlc3RBd3NPcHRpb25zIlMKHkxpc3RDYWxjdWxhdGlvbnNIaXN0b3J5UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDAoEYXNPZhgCIAEoCRITCgtleGNsdWRlRG9uZRgDIAEoCCJLCiJMaXN0Q2FsY3VsYXRpb25zSGlzdG9yeUF3c1Jlc3BvbnNlEiUKCm9wZXJhdGlvbnMYASADKAsyES5wcm90b3MuT3BlcmF0aW9uImMKH0xpc3RDYWxjdWxhdGlvbnNIaXN0b3J5UmVzcG9uc2USQAoDYXdzGAEgASgLMjMuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvbnNIaXN0b3J5QXdzUmVzcG9uc2UivQEKFENhbGN1bGF0aW9uc1NjaGVkdWxlEgoKAmlkGAEgASgJEhAKCHNjaGVkdWxlGAIgASgJEhUKDXNjaGVkdWxlTWFjcm8YCCABKAkSEwoLdGFyZ2V0TW9udGgYCSABKAkSDwoHbmV4dFJ1bhgDIAEoCRIbChNub3RpZmljYXRpb25DaGFubmVsGAQgASgJEg0KBWZvcmNlGAUgASgIEg4KBmRyeVJ1bhgGIAEoCBIOCgZzdGF0dXMYByABKAkiMgogTGlzdENhbGN1bGF0aW9uc1NjaGVkdWxlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJIl0KIUxpc3RDYWxjdWxhdGlvbnNTY2hlZHVsZXNSZXNwb25zZRI4CglzY2hlZHVsZXMYASADKAsyJS5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRpb25zU2NoZWR1bGUirQEKIUNyZWF0ZUNhbGN1bGF0aW9uc1NjaGVkdWxlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEAoIc2NoZWR1bGUYAiABKAkSFQoNc2NoZWR1bGVNYWNybxgGIAEoCRITCgt0YXJnZXRNb250aBgHIAEoCRIbChNub3RpZmljYXRpb25DaGFubmVsGAMgASgJEg0KBWZvcmNlGAQgASgIEg4KBmRyeVJ1bhgFIAEoCCI/CiFEZWxldGVDYWxjdWxhdGlvbnNTY2hlZHVsZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJIoIDChlSZWFkQ29zdEF0dHJpYnV0ZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIPCgdncm91cElkGAIgASgJEhEKCWFjY291bnRJZBgDIAEoCRIRCglzdGFydFRpbWUYBCABKAkSDwoHZW5kVGltZRgFIAEoCRJJCgphd3NPcHRpb25zGAYgASgLMjUuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0QXR0cmlidXRlc1JlcXVlc3QuQXdzT3B0aW9ucxJNCgxhenVyZU9wdGlvbnMYByABKAsyNy5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RBdHRyaWJ1dGVzUmVxdWVzdC5BenVyZU9wdGlvbnMaIAoKQXdzT3B0aW9ucxISCgpkaW1lbnNpb25zGAEgASgJGlEKDEF6dXJlT3B0aW9ucxISCgpjdXN0b21lcklkGAEgASgJEhYKDnN1YnNjcmlwdGlvbklkGAIgASgJEhUKDWVudGl0bGVtZW50SWQYAyABKAkicQoRQ29zdEF0dHJpYnV0ZUl0ZW0SKwoDYXdzGAEgASgLMh4uYmx1ZWFwaS5hcGkuYXdzLkNvc3RBdHRyaWJ1dGUSLwoFYXp1cmUYAiABKAsyIC5ibHVlYXBpLmFwaS5henVyZS5Db3N0QXR0cmlidXRlIm8KGEdldENvc3RBdHRyaWJ1dGVzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbW9udGgYAiABKAkSDwoHZ3JvdXBJZBgDIAEoCRIRCglhY2NvdW50SWQYBCABKAkSEAoIY2F0ZWdvcnkYBSABKAkiSgoZR2V0Q29zdEF0dHJpYnV0ZXNSZXNwb25zZRItCgVpdGVtcxgBIAMoCzIeLmJsdWVhcGkuY29zdC52MS5Db3N0QXR0cmlidXRlIj8KDUNvc3RBdHRyaWJ1dGUSDgoGdmVuZG9yGAEgASgJEhAKCGNhdGVnb3J5GAIgASgJEgwKBGRhdGEYAyADKAkirgEKIVJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zRmlsdGVycxJWCgphbmRGaWx0ZXJzGAEgAygLMkIuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zRmlsdGVycy5BbmRGaWx0ZXJzRW50cnkaMQoPQW5kRmlsdGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEisQQKGlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhQKDGdyb3VwQnlNb250aBgCIAEoCBIVCg1ncm91cEFjY291bnRzGAggASgIEhUKDWdyb3VwQnlUYWdLZXkYDCABKAkSQwoHZmlsdGVycxgDIAMoCzIyLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9uc0ZpbHRlcnMSSgoKdGFnRmlsdGVycxgJIAMoCzI2LmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucy5UYWdGaWx0ZXJzEhMKC2luY2x1ZGVUYWdzGAQgASgIEh0KFWluY2x1ZGVDb3N0Q2F0ZWdvcmllcxgFIAEoCBISCgp0b0N1cnJlbmN5GAYgASgJEhMKC2ZvcmNlTGF0ZXN0GAcgASgIEg8KB25vQ2FjaGUYCiABKAgSGgoSaW5jbHVkZUFkanVzdG1lbnRzGAsgASgIGpsBCgpUYWdGaWx0ZXJzEloKCmFuZEZpbHRlcnMYASADKAsyRi5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnMuVGFnRmlsdGVycy5BbmRGaWx0ZXJzRW50cnkaMQoPQW5kRmlsdGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEisQIKEFJlYWRDb3N0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSEQoJYWNjb3VudElkGAMgASgJEhEKCXN0YXJ0VGltZRgEIAEoCRIPCgdlbmRUaW1lGAUgASgJEj8KCmF3c09wdGlvbnMYBiABKAsyKy5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnMSPwoKZ2NwT3B0aW9ucxgHIAEoCzIrLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0R2NwT3B0aW9ucxJDCgxhenVyZU9wdGlvbnMYCCABKAsyLS5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF6dXJlT3B0aW9ucyI2CiBSZWFkQWRqdXN0bWVudHNSZXF1ZXN0QXdzT3B0aW9ucxISCgp0b0N1cnJlbmN5GAEgASgJIrcBChZSZWFkQWRqdXN0bWVudHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIPCgdncm91cElkGAIgASgJEhEKCWFjY291bnRJZBgDIAEoCRIRCglzdGFydFRpbWUYBCABKAkSDwoHZW5kVGltZRgFIAEoCRJFCgphd3NPcHRpb25zGAYgASgLMjEuYmx1ZWFwaS5jb3N0LnYxLlJlYWRBZGp1c3RtZW50c1JlcXVlc3RBd3NPcHRpb25zIo8ECh1SZWFkVGFnQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucxINCgV0YWdJZBgBIAEoCRIWCg5ncm91cEJ5Q29sdW1ucxgCIAEoCRIUCgxncm91cEJ5TW9udGgYAyABKAgSQwoHZmlsdGVycxgEIAMoCzIyLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9uc0ZpbHRlcnMSTQoKdGFnRmlsdGVycxgFIAMoCzI5LmJsdWVhcGkuY29zdC52MS5SZWFkVGFnQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucy5UYWdGaWx0ZXJzEhMKC2luY2x1ZGVUYWdzGAYgASgIEh0KFWluY2x1ZGVDb3N0Q2F0ZWdvcmllcxgHIAEoCBISCgp0b0N1cnJlbmN5GAggASgJEhMKC2ZvcmNlTGF0ZXN0GAkgASgIEg8KB25vQ2FjaGUYCiABKAgSDgoGdGFnSWRzGAsgAygJGp4BCgpUYWdGaWx0ZXJzEl0KCmFuZEZpbHRlcnMYASADKAsySS5ibHVlYXBpLmNvc3QudjEuUmVhZFRhZ0Nvc3RzUmVxdWVzdEF3c09wdGlvbnMuVGFnRmlsdGVycy5BbmRGaWx0ZXJzRW50cnkaMQoPQW5kRmlsdGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEivwEKE1JlYWRUYWdDb3N0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAIgASgJEhEKCXN0YXJ0VGltZRgDIAEoCRIPCgdlbmRUaW1lGAQgASgJEhUKDWdyb3VwQnlNb250aHMYBSABKAgSQgoKYXdzT3B0aW9ucxgGIAEoCzIuLmJsdWVhcGkuY29zdC52MS5SZWFkVGFnQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucyJ+ChZSZWFkTm9uVGFnQ29zdHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgCIAEoCRIRCglzdGFydFRpbWUYAyABKAkSDwoHZW5kVGltZRgEIAEoCRIVCg1ncm91cEJ5TW9udGhzGAUgASgIIoQBChNHZXRGb3JlY2FzdHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgCIAEoCRIRCglmcmVxdWVuY3kYAyABKAkSDQoFbGV2ZWwYBCABKAkSEAoIZnJvbURhdGUYBSABKAkSDgoGdG9EYXRlGAYgASgJIkcKFEdldEZvcmVjYXN0c1Jlc3BvbnNlEi8KBGRhdGEYASABKAsyIS5ibHVlYXBpLmFwaS5CaWxsaW5nR3JvdXBGb3JlY2FzdCJsCh1HZXRNb250aGx5Q29zdEZvcmVjYXN0UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbGV2ZWwYAiABKAkSCgoCaWQYAyABKAkSEAoIZnJvbURhdGUYBCABKAkSDgoGdG9EYXRlGAUgASgJIm8KHkdldE1vbnRobHlDb3N0Rm9yZWNhc3RSZXNwb25zZRIKCgJpZBgBIAEoCRIuCgRkYXRhGAIgAygLMiAuYmx1ZWFwaS5hcGkuTW9udGhseUNvc3RGb3JlY2FzdBIRCgl0aW1lc3RhbXAYAyABKAkiXQoiR2V0TW9udGhPbk1vbnRoQ29zdEZvcmVjYXN0UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbGV2ZWwYAiABKAkSCgoCaWQYAyABKAkSDAoEZGF0ZRgEIAEoCSJ5CiNHZXRNb250aE9uTW9udGhDb3N0Rm9yZWNhc3RSZXNwb25zZRIKCgJpZBgBIAEoCRIzCgRkYXRhGAIgAygLMiUuYmx1ZWFwaS5hcGkuTW9udGhPbk1vbnRoQ29zdEZvcmVjYXN0EhEKCXRpbWVzdGFtcBgDIAEoCSJcCiFHZXRNb250aFRvRGF0ZUNvc3RGb3JlY2FzdFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBWxldmVsGAIgASgJEgoKAmlkGAMgASgJEgwKBGRhdGUYBCABKAkihwEKIkdldE1vbnRoVG9EYXRlQ29zdEZvcmVjYXN0UmVzcG9uc2USCgoCaWQYASABKAkSDgoGYnVkZ2V0GAIgASgBEjIKBGRhdGEYAyADKAsyJC5ibHVlYXBpLmFwaS5Nb250aFRvRGF0ZUNvc3RGb3JlY2FzdBIRCgl0aW1lc3RhbXAYBCABKAkiUgoXR2V0QWNjb3VudEJ1ZGdldFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBWxldmVsGAIgASgJEgoKAmlkGAMgASgJEgwKBHllYXIYBCABKAkiPQoYR2V0QWNjb3VudEJ1ZGdldFJlc3BvbnNlEiEKBGRhdGEYASABKAsyEy5ibHVlYXBpLmFwaS5CdWRnZXQiagoaQ3JlYXRlQWNjb3VudEJ1ZGdldFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBWxldmVsGAIgASgJEgoKAmlkGAMgASgJEiEKBGRhdGEYBCABKAsyEy5ibHVlYXBpLmFwaS5CdWRnZXQiLwobQ3JlYXRlQWNjb3VudEJ1ZGdldFJlc3BvbnNlEhAKCGJ1ZGdldElkGAEgASgJImEKGlVwZGF0ZUFjY291bnRCdWRnZXRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghidWRnZXRJZBgCIAEoCRIhCgRkYXRhGAMgASgLMhMuYmx1ZWFwaS5hcGkuQnVkZ2V0Ij4KGkRlbGV0ZUFjY291bnRCdWRnZXRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghidWRnZXRJZBgCIAEoCSKLAgojR2V0UmVjb21tZW5kYXRpb25zUmVxdWVzdEF3c09wdGlvbnMSGgoScmVjb21tZW5kYXRpb25UeXBlGAEgASgJEgwKBHR5cGUYAiABKAkSEgoKcmlTZXJ2aWNlcxgDIAMoCRISCgpzcFNlcnZpY2VzGAQgAygJEh4KFnB1cmNoYXNlRUMyU2F2aW5nc1BsYW4YBSABKAgSGgoSZWMyU3BQcm9kdWN0RmFtaWx5GAYgASgJEgwKBHRlcm0YByABKAkSFQoNb2ZmZXJpbmdDbGFzcxgIIAEoCRIVCg1wYXltZW50T3B0aW9uGAkgASgJEhoKEmNvdmVyYWdlUGVyY2VudGFnZRgKIAEoASKrAQoZR2V0UmVjb21tZW5kYXRpb25zUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFb3JnSWQYAiABKAkSEAoIYWNjb3VudHMYAyADKAkSEwoLY29zdEdyb3VwSWQYBCABKAkSSAoKYXdzT3B0aW9ucxgFIAEoCzI0LmJsdWVhcGkuY29zdC52MS5HZXRSZWNvbW1lbmRhdGlvbnNSZXF1ZXN0QXdzT3B0aW9ucyJsChpHZXRSZWNvbW1lbmRhdGlvbnNSZXNwb25zZRINCgVvcmdJZBgBIAEoCRI/ChJhd3NSZWNvbW1lbmRhdGlvbnMYAiABKAsyIy5ibHVlYXBpLmFwaS5hd3MuQXdzUmVjb21tZW5kYXRpb25zIoICChdHZXRDb3N0UmVkdWN0aW9uUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFb3JnSWQYAiABKAkSGAoQcmVkdWN0aW9uRGlzcGxheRgDIAEoCRIWCg5pbmNsdWRlRGV0YWlscxgEIAEoCBIQCghmcm9tRGF0ZRgFIAEoCRIOCgZ0b0RhdGUYBiABKAkSDwoHcGF5ZXJJZBgHIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgIIAEoCRIPCgdncm91cElkGAkgASgJEhMKC2Nvc3RHcm91cElkGAogASgJEhAKCGFjY291bnRzGAsgAygJEhAKCHNlcnZpY2VzGAwgAygJImgKGEdldENvc3RSZWR1Y3Rpb25SZXNwb25zZRINCgVvcmdJZBgBIAEoCRI9ChFhd3NDb3N0UmVkdWN0aW9ucxgCIAEoCzIiLmJsdWVhcGkuYXBpLmF3cy5Bd3NDb3N0UmVkdWN0aW9ucyJUChRHZXRFeHBvcnRSSVNQUmVxdWVzdBIMCgR0eXBlGAEgASgJEhYKCGxhbmd1YWdlGAIgASgJQgTiQQEBEhYKDmluY2x1ZGVFeHBpcmVkGAMgASgIIi0KFUdldEV4cG9ydFJJU1BSZXNwb25zZRIUCgxkb3dubG9hZExpbmsYASABKAkiuAEKFUdldFV0aWxpemF0aW9uUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFb3JnSWQYAiABKAkSDAoEdHlwZRgDIAEoCRIQCghmcm9tRGF0ZRgEIAEoCRIOCgZ0b0RhdGUYBSABKAkSDwoHcGF5ZXJJZBgGIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgHIAEoCRIPCgdncm91cElkGAggASgJEhMKC2Nvc3RHcm91cElkGAkgASgJIl4KFkdldFV0aWxpemF0aW9uUmVzcG9uc2USDQoFb3JnSWQYASABKAkSNQoPdXRpbGl6YXRpb25EYXRhGAIgAygLMhwuYmx1ZWFwaS5hcGkuVXRpbGl6YXRpb25EYXRhIvQBChlHZXRDb3ZlcmFnZU9wdGlvbnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIOCgZwZXJpb2QYAyABKAkSEAoIZnJvbURhdGUYBCABKAkSDgoGdG9EYXRlGAUgASgJEg8KB3BheWVySWQYBiABKAkSGQoRYmlsbGluZ0ludGVybmFsSWQYByABKAkSDwoHZ3JvdXBJZBgIIAEoCRITCgtjb3N0R3JvdXBJZBgJIAEoCRIQCghhY2NvdW50cxgKIAMoCRIQCghzZXJ2aWNlcxgLIAMoCRIQCghjdXJyZW5jeRgMIAEoCSJaChpHZXRDb3ZlcmFnZU9wdGlvbnNSZXNwb25zZRINCgVvcmdJZBgBIAEoCRItCgtvcHRpb25zRGF0YRgCIAMoCzIYLmJsdWVhcGkuYXBpLk9wdGlvbnNEYXRhIuMBChpHZXRDb3ZlcmFnZU9uZGVtYW5kUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFb3JnSWQYAiABKAkSDgoGcGVyaW9kGAMgASgJEhAKCGZyb21EYXRlGAQgASgJEg4KBnRvRGF0ZRgFIAEoCRIPCgdwYXllcklkGAYgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAcgASgJEg8KB2dyb3VwSWQYCCABKAkSEwoLY29zdEdyb3VwSWQYCSABKAkSEAoIYWNjb3VudHMYCiADKAkSEAoIc2VydmljZXMYCyADKAkiXQobR2V0Q292ZXJhZ2VPbmRlbWFuZFJlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEi8KDG9uZGVtYW5kRGF0YRgCIAMoCzIZLmJsdWVhcGkuYXBpLk9uZGVtYW5kRGF0YSJUChhHZXRCcmVha2V2ZW5Qb2ludFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW9yZ0lkGAIgASgJEgwKBHR5cGUYAyABKAkSCwoDYXJuGAQgASgJImcKGUdldEJyZWFrZXZlblBvaW50UmVzcG9uc2USDQoFb3JnSWQYASABKAkSOwoQYXdzQ29zdEJyZWFrZXZlbhgCIAEoCzIhLmJsdWVhcGkuYXBpLmF3cy5Bd3NDb3N0QnJlYWtldmVuIigKFkxpc3RDb3N0RmlsdGVyc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJIlAKF0xpc3RDb3N0RmlsdGVyc1Jlc3BvbnNlEjUKC2Nvc3RGaWx0ZXJzGAEgAygLMiAuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDb3N0RmlsdGVycyKsAQoPTGlzdENvc3RGaWx0ZXJzEhAKCGZpbHRlcklkGAEgASgJEhIKCmZpbHRlck5hbWUYAiABKAkSDgoGdmVuZG9yGAMgASgJEg8KB2dyb3VwSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEj8KCmF3c09wdGlvbnMYBiABKAsyKy5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnMiowEKGENyZWF0ZUNvc3RGaWx0ZXJzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEgoKZmlsdGVyTmFtZRgCIAEoCRIPCgdncm91cElkGAMgASgJEhEKCWFjY291bnRJZBgEIAEoCRI/Cgphd3NPcHRpb25zGAUgASgLMisuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zIi0KGUNyZWF0ZUNvc3RGaWx0ZXJzUmVzcG9uc2USEAoIZmlsdGVySWQYASABKAkitQEKGFVwZGF0ZUNvc3RGaWx0ZXJzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEAoIZmlsdGVySWQYAiABKAkSEgoKZmlsdGVyTmFtZRgDIAEoCRIPCgdncm91cElkGAQgASgJEhEKCWFjY291bnRJZBgFIAEoCRI/Cgphd3NPcHRpb25zGAYgASgLMisuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zIi0KGVVwZGF0ZUNvc3RGaWx0ZXJzUmVzcG9uc2USEAoIZmlsdGVySWQYASABKAkiPAoYRGVsZXRlQ29zdEZpbHRlcnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghmaWx0ZXJJZBgCIAEoCSKnAQocRXhwb3J0Q29zdEZpbHRlcnNGaWxlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEAoIZmlsdGVySWQYAiABKAkSEQoJc3RhcnRUaW1lGAMgASgJEg8KB2VuZFRpbWUYBCABKAkSFAoMZ3JvdXBCeU1vbnRoGAUgASgIEhYKDmdyb3VwQnlDb2x1bW5zGAYgASgJEhMKC2luY2x1ZGVUYWdzGAcgASgIIiwKHUV4cG9ydENvc3RGaWx0ZXJzRmlsZVJlc3BvbnNlEgsKA3VybBgBIAEoCSKSAgoaUmVhZENvc3RzUmVxdWVzdEdjcE9wdGlvbnMSFgoOZ3JvdXBCeUNvbHVtbnMYASABKAkSFAoMZ3JvdXBCeU1vbnRoGAIgASgIEhUKDWdyb3VwQWNjb3VudHMYAyABKAgSQwoHZmlsdGVycxgEIAMoCzIyLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0R2NwT3B0aW9uc0ZpbHRlcnMSGwoTaW5jbHVkZUludm9pY2VNb250aBgGIAEoCBIWCg5pbmNsdWRlQ3JlZGl0cxgHIAEoCBIQCghyb3VuZGluZxgIIAEoCBIPCgdub0NhY2hlGAUgASgIEhIKCnRvQ3VycmVuY3kYCSABKAkirgEKIVJlYWRDb3N0c1JlcXVlc3RHY3BPcHRpb25zRmlsdGVycxJWCgphbmRGaWx0ZXJzGAEgAygLMkIuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RHY3BPcHRpb25zRmlsdGVycy5BbmRGaWx0ZXJzRW50cnkaMQoPQW5kRmlsdGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiOwodR2V0QWNjb3VudEJ1ZGdldEFsZXJ0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJInIKIENyZWF0ZUFjY291bnRCdWRnZXRBbGVydHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCRIyCgtidWRnZXRBbGVydBgDIAEoCzIdLmJsdWVhcGkuYXBpLndhdmUuQnVkZ2V0QWxlcnQicgogVXBkYXRlQWNjb3VudEJ1ZGdldEFsZXJ0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEjIKC2J1ZGdldEFsZXJ0GAMgASgLMh0uYmx1ZWFwaS5hcGkud2F2ZS5CdWRnZXRBbGVydCI+CiBEZWxldGVBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkicQocUmVhZENvc3RzUmVxdWVzdEF6dXJlT3B0aW9ucxIWCg5ncm91cEJ5Q29sdW1ucxgBIAEoCRIUCgxncm91cEJ5TW9udGgYAiABKAgSDwoHbm9DYWNoZRgDIAEoCBISCgp0b0N1cnJlbmN5GAQgASgJIqgDCgxCdWRnZXRBbGVydHMSCgoCaWQYASABKAkSDgoGdmVuZG9yGAIgASgJEiYKCGFjY291bnRzGAMgAygLMhQuYmx1ZWFwaS5hcGkuQWNjb3VudBJACgxub3RpZmljYXRpb24YBCABKAsyKi5ibHVlYXBpLmFwaS5CdWRnZXRBbGVydE5vdGlmaWNhdGlvbkRldGFpbBIsCgVkYWlseRgFIAEoCzIdLmJsdWVhcGkuYXBpLkRhaWx5QnVkZ2V0QWxlcnQSPAoJZGFpbHlSYXRlGAcgASgLMikuYmx1ZWFwaS5hcGkuRGFpbHlSYXRlSW5jcmVhc2VCdWRnZXRBbGVydBIwCgdtb250aGx5GAYgASgLMh8uYmx1ZWFwaS5hcGkuTW9udGhseUJ1ZGdldEFsZXJ0EjoKDGN1c3RvbVBlcmlvZBgIIAEoCzIkLmJsdWVhcGkuYXBpLkN1c3RvbVBlcmlvZEJ1ZGdldEFsZXJ0EjgKC2N1c3RvbU1vbnRoGAkgASgLMiMuYmx1ZWFwaS5hcGkuQ3VzdG9tTW9udGhCdWRnZXRBbGVydCJJChdSZWFkQnVkZ2V0QWxlcnRzUmVxdWVzdBIuCgpmaWVsZF9tYXNrGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayIkChZHZXRCdWRnZXRBbGVydHNSZXF1ZXN0EgoKAmlkGAEgASgJIo0DChlDcmVhdGVCdWRnZXRBbGVydHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghhY2NvdW50cxgCIAMoCRI6Cgxub3RpZmljYXRpb24YAyABKAsyJC5ibHVlYXBpLmFwaS5CdWRnZXRBbGVydE5vdGlmaWNhdGlvbhIsCgVkYWlseRgEIAEoCzIdLmJsdWVhcGkuYXBpLkRhaWx5QnVkZ2V0QWxlcnQSPAoJZGFpbHlSYXRlGAYgASgLMikuYmx1ZWFwaS5hcGkuRGFpbHlSYXRlSW5jcmVhc2VCdWRnZXRBbGVydBIwCgdtb250aGx5GAUgASgLMh8uYmx1ZWFwaS5hcGkuTW9udGhseUJ1ZGdldEFsZXJ0EjoKDGN1c3RvbVBlcmlvZBgHIAEoCzIkLmJsdWVhcGkuYXBpLkN1c3RvbVBlcmlvZEJ1ZGdldEFsZXJ0EjgKC2N1c3RvbU1vbnRoGAggASgLMiMuYmx1ZWFwaS5hcGkuQ3VzdG9tTW9udGhCdWRnZXRBbGVydCKZAwoZVXBkYXRlQnVkZ2V0QWxlcnRzUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEAoIYWNjb3VudHMYAyADKAkSOgoMbm90aWZpY2F0aW9uGAQgASgLMiQuYmx1ZWFwaS5hcGkuQnVkZ2V0QWxlcnROb3RpZmljYXRpb24SLAoFZGFpbHkYBSABKAsyHS5ibHVlYXBpLmFwaS5EYWlseUJ1ZGdldEFsZXJ0EjwKCWRhaWx5UmF0ZRgHIAEoCzIpLmJsdWVhcGkuYXBpLkRhaWx5UmF0ZUluY3JlYXNlQnVkZ2V0QWxlcnQSMAoHbW9udGhseRgGIAEoCzIfLmJsdWVhcGkuYXBpLk1vbnRobHlCdWRnZXRBbGVydBI6CgxjdXN0b21QZXJpb2QYCCABKAsyJC5ibHVlYXBpLmFwaS5DdXN0b21QZXJpb2RCdWRnZXRBbGVydBI4CgtjdXN0b21Nb250aBgJIAEoCzIjLmJsdWVhcGkuYXBpLkN1c3RvbU1vbnRoQnVkZ2V0QWxlcnQiJwoZRGVsZXRlQnVkZ2V0QWxlcnRzUmVxdWVzdBIKCgJpZBgBIAEoCSI6ChRDaGVja0FjY291bnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEgoKYWNjb3VudElkcxgCIAMoCSKKAQoVQ2hlY2tBY2NvdW50c1Jlc3BvbnNlEkIKBmV4aXN0cxgBIAMoCzIyLmJsdWVhcGkuY29zdC52MS5DaGVja0FjY291bnRzUmVzcG9uc2UuRXhpc3RzRW50cnkaLQoLRXhpc3RzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgIOgI4ASI2ChVSZWFkSW52b2ljZUlkc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJIiQKFlJlYWRJbnZvaWNlSWRzUmVzcG9uc2USCgoCaWQYASABKAkisAEKC1BlcmlvZFJhbmdlEi8KBHVuaXQYASABKA4yIS5ibHVlYXBpLmNvc3QudjEuUGVyaW9kUmFuZ2UuVW5pdBIMCgR5ZWFyGAIgASgNEhAKCHN0YXJ0aW5nGAMgASgNEhAKCGR1cmF0aW9uGAQgASgNIj4KBFVuaXQSFAoQVU5JVF9VTlNQRUNJRklFRBAAEgkKBU1PTlRIEAESCwoHUVVBUlRFUhACEggKBFlFQVIQAyKgAQobUmVhZEludm9pY2VPdmVydmlld3NSZXF1ZXN0EhEKCXN0YXJ0VGltZRgBIAEoCRIPCgdlbmRUaW1lGAIgASgJEhYKDnVzZVBlcmlvZFJhbmdlGAQgASgIEjEKC3BlcmlvZFJhbmdlGAUgASgLMhwuYmx1ZWFwaS5jb3N0LnYxLlBlcmlvZFJhbmdlEhIKCnRvQ3VycmVuY3kYAyABKAkiUQoXUmVhZEludm9pY2VDb3N0c1JlcXVlc3QSEQoJc3RhcnRUaW1lGAEgASgJEg8KB2VuZFRpbWUYAiABKAkSEgoKdG9DdXJyZW5jeRgDIAEoCSJlChxSZWFkSW52b2ljZUdyb3VwQ29zdHNSZXF1ZXN0EhEKCXN0YXJ0VGltZRgBIAEoCRIPCgdlbmRUaW1lGAIgASgJEhIKCnRvQ3VycmVuY3kYAyABKAkSDQoFbGltaXQYBCABKAUiNQojUmVhZEFjY291bnRPcmlnaW5hbFJlc291cmNlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJInMKG1JlZ2lzdGVyUGF5ZXJBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkSDAoEbmFtZRgDIAEoCRIPCgdjdXJUeXBlGAQgASgJEhkKEWNhbGN1bGF0ZVRVUHJvZml0GAUgASgIInEKGVVwZGF0ZVBheWVyQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEgwKBG5hbWUYAyABKAkSDwoHY3VyVHlwZRgEIAEoCRIZChFjYWxjdWxhdGVUVVByb2ZpdBgFIAEoCCJECiNMaXN0Q2FsY3VsYXRpb25QcmVyZXF1aXNpdGVzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbW9udGgYAiABKAkilQEKF0NhbGN1bGF0aW9uUHJlcmVxdWlzaXRlEhIKCmludm9pY2VfaWQYASABKAkSEAoIcGF5ZXJfaWQYAiABKAkSFQoNZXhjaGFuZ2VfcmF0ZRgDIAEoARIdChV1bmJsZW5kZWRfY29zdF9pbl9jdXIYBCABKAESDAoEbmFtZRgFIAEoCRIQCghjdXJfdHlwZRgGIAEoCSJnCiRMaXN0Q2FsY3VsYXRpb25QcmVyZXF1aXNpdGVzUmVzcG9uc2USPwoNcHJlcmVxdWlzaXRlcxgBIAMoCzIoLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdGlvblByZXJlcXVpc2l0ZTL/TQoEQ29zdBJzChFMaXN0UGF5ZXJBY2NvdW50cxIpLmJsdWVhcGkuY29zdC52MS5MaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QaFC5ibHVlYXBpLmFwaS5BY2NvdW50IhuC0+STAhUSEy92MS97dmVuZG9yfS9wYXllcnMwARJ3Cg9HZXRQYXllckFjY291bnQSJy5ibHVlYXBpLmNvc3QudjEuR2V0UGF5ZXJBY2NvdW50UmVxdWVzdBoZLmJsdWVhcGkuYXBpLnJpcHBsZS5QYXllciIggtPkkwIaEhgvdjEve3ZlbmRvcn0vcGF5ZXJzL3tpZH0SvQEKHEdldFBheWVyQWNjb3VudEltcG9ydEhpc3RvcnkSNC5ibHVlYXBpLmNvc3QudjEuR2V0UGF5ZXJBY2NvdW50SW1wb3J0SGlzdG9yeVJlcXVlc3QaNS5ibHVlYXBpLmNvc3QudjEuR2V0UGF5ZXJBY2NvdW50SW1wb3J0SGlzdG9yeVJlc3BvbnNlIi6C0+STAigSJi92MS97dmVuZG9yfS9wYXllcnMve2lkfS9pbXBvcnRoaXN0b3J5MAESpwEKF0dldFBheWVyUHJvZm9ybWFSZXBvcnRzEi8uYmx1ZWFwaS5jb3N0LnYxLkdldFBheWVyUHJvZm9ybWFSZXBvcnRzUmVxdWVzdBowLmJsdWVhcGkuY29zdC52MS5HZXRQYXllclByb2Zvcm1hUmVwb3J0c1Jlc3BvbnNlIimC0+STAiMSIS92MS97dmVuZG9yfS9wYXllcnMve2lkfS9wcm9mb3JtYRJ2ChJDcmVhdGVQYXllckFjY291bnQSKi5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlUGF5ZXJBY2NvdW50UmVxdWVzdBoULmJsdWVhcGkuYXBpLkFjY291bnQiHoLT5JMCGDoBKiITL3YxL3t2ZW5kb3J9L3BheWVycxKJAQoUUmVnaXN0ZXJQYXllckFjY291bnQSLC5ibHVlYXBpLmNvc3QudjEuUmVnaXN0ZXJQYXllckFjY291bnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiuC0+STAiU6ASoiIC92MS97dmVuZG9yfS9wYXllcnMvYmFzaWNkZXRhaWxzEooBChJVcGRhdGVQYXllckFjY291bnQSKi5ibHVlYXBpLmNvc3QudjEuVXBkYXRlUGF5ZXJBY2NvdW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIwgtPkkwIqOgEqGiUvdjEve3ZlbmRvcn0vcGF5ZXJzL2Jhc2ljZGV0YWlscy97aWR9EnoKEkRlbGV0ZVBheWVyQWNjb3VudBIqLmJsdWVhcGkuY29zdC52MS5EZWxldGVQYXllckFjY291bnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiCC0+STAhoqGC92MS97dmVuZG9yfS9wYXllcnMve2lkfRKVAQoMTGlzdEFjY291bnRzEiQuYmx1ZWFwaS5jb3N0LnYxLkxpc3RBY2NvdW50c1JlcXVlc3QaFC5ibHVlYXBpLmFwaS5BY2NvdW50IkeC0+STAkFaKBImL3YxL3t2ZW5kb3J9L2FjY291bnRzL2dyb3Vwcy97Z3JvdXBJZH0SFS92MS97dmVuZG9yfS9hY2NvdW50czABEmoKCkdldEFjY291bnQSIi5ibHVlYXBpLmNvc3QudjEuR2V0QWNjb3VudFJlcXVlc3QaFC5ibHVlYXBpLmFwaS5BY2NvdW50IiKC0+STAhwSGi92MS97dmVuZG9yfS9hY2NvdW50cy97aWR9Em4KDUNyZWF0ZUFjY291bnQSJS5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQWNjb3VudFJlcXVlc3QaFC5ibHVlYXBpLmFwaS5BY2NvdW50IiCC0+STAho6ASoiFS92MS97dmVuZG9yfS9hY2NvdW50cxJzCg1VcGRhdGVBY2NvdW50EiUuYmx1ZWFwaS5jb3N0LnYxLlVwZGF0ZUFjY291bnRSZXF1ZXN0GhQuYmx1ZWFwaS5hcGkuQWNjb3VudCIlgtPkkwIfOgEqGhovdjEve3ZlbmRvcn0vYWNjb3VudHMve2lkfRJyCg1EZWxldGVBY2NvdW50EiUuYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUFjY291bnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiKC0+STAhwqGi92MS97dmVuZG9yfS9hY2NvdW50cy97aWR9Ep8BChxSZWFkQWNjb3VudE9yaWdpbmFsUmVzb3VyY2VzEjQuYmx1ZWFwaS5jb3N0LnYxLlJlYWRBY2NvdW50T3JpZ2luYWxSZXNvdXJjZXNSZXF1ZXN0GiQuYmx1ZWFwaS5hcGkuQWNjb3VudE9yaWdpbmFsUmVzb3VyY2UiIYLT5JMCGzoBKiIWL3YxL3t2ZW5kb3J9L2FvcnM6cmVhZDABEoUBCghMaXN0VGFncxIgLmJsdWVhcGkuY29zdC52MS5MaXN0VGFnc1JlcXVlc3QaFC5ibHVlYXBpLmFwaS5Db3N0VGFnIj+C0+STAjlaJBIiL3YxL3t2ZW5kb3J9L3RhZ3MvZ3JvdXBzL3tncm91cElkfRIRL3YxL3t2ZW5kb3J9L3RhZ3MwARLBAQodTGlzdENhbGN1bGF0b3JSdW5uaW5nQWNjb3VudHMSNS5ibHVlYXBpLmNvc3QudjEuTGlzdENhbGN1bGF0b3JSdW5uaW5nQWNjb3VudHNSZXF1ZXN0GjYuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdG9yUnVubmluZ0FjY291bnRzUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL3t2ZW5kb3J9L2NhbGN1bGF0b3IvcnVubmluZzpyZWFkMAESmAEKE0dldENhbGN1bGF0b3JDb25maWcSKy5ibHVlYXBpLmNvc3QudjEuR2V0Q2FsY3VsYXRvckNvbmZpZ1JlcXVlc3QaLC5ibHVlYXBpLmNvc3QudjEuR2V0Q2FsY3VsYXRvckNvbmZpZ1Jlc3BvbnNlIiaC0+STAiASHi92MS97dmVuZG9yfS9jYWxjdWxhdG9yL2NvbmZpZxKuAQobTGlzdENhbGN1bGF0b3JDb3N0TW9kaWZpZXJzEjMuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdG9yQ29zdE1vZGlmaWVyc1JlcXVlc3QaJy5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllciIvgtPkkwIpEicvdjEve3ZlbmRvcn0vY2FsY3VsYXRvci9jb25maWcvY29zdG1vZHMwARK/AQocQ3JlYXRlQ2FsY3VsYXRvckNvc3RNb2RpZmllchI0LmJsdWVhcGkuY29zdC52MS5DcmVhdGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyUmVxdWVzdBo1LmJsdWVhcGkuY29zdC52MS5DcmVhdGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyUmVzcG9uc2UiMoLT5JMCLDoBKiInL3YxL3t2ZW5kb3J9L2NhbGN1bGF0b3IvY29uZmlnL2Nvc3Rtb2RzEqIBChxEZWxldGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyEjQuYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUNhbGN1bGF0b3JDb3N0TW9kaWZpZXJSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjSC0+STAi4qLC92MS97dmVuZG9yfS9jYWxjdWxhdG9yL2NvbmZpZy9jb3N0bW9kcy97aWR9EmoKDkltcG9ydEN1ckZpbGVzEiYuYmx1ZWFwaS5jb3N0LnYxLkltcG9ydEN1ckZpbGVzUmVxdWVzdBoRLnByb3Rvcy5PcGVyYXRpb24iHYLT5JMCFzoBKiISL3YxL2F3cy9jdXI6aW1wb3J0EnQKDkNhbGN1bGF0ZUNvc3RzEiYuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0ZUNvc3RzUmVxdWVzdBoRLnByb3Rvcy5PcGVyYXRpb24iJ4LT5JMCIToBKiIcL3YxL3t2ZW5kb3J9L2Nvc3RzOmNhbGN1bGF0ZRKnAQoXTGlzdENhbGN1bGF0aW9uc0hpc3RvcnkSLy5ibHVlYXBpLmNvc3QudjEuTGlzdENhbGN1bGF0aW9uc0hpc3RvcnlSZXF1ZXN0GjAuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvbnNIaXN0b3J5UmVzcG9uc2UiKYLT5JMCIxIhL3YxL3t2ZW5kb3J9L2NhbGN1bGF0aW9ucy9oaXN0b3J5Eq8BChlMaXN0Q2FsY3VsYXRpb25zU2NoZWR1bGVzEjEuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvbnNTY2hlZHVsZXNSZXF1ZXN0GjIuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvbnNTY2hlZHVsZXNSZXNwb25zZSIrgtPkkwIlEiMvdjEve3ZlbmRvcn0vY2FsY3VsYXRpb25zL3NjaGVkdWxlcxKnAQoaQ3JlYXRlQ2FsY3VsYXRpb25zU2NoZWR1bGUSMi5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQ2FsY3VsYXRpb25zU2NoZWR1bGVSZXF1ZXN0GiUuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0aW9uc1NjaGVkdWxlIi6C0+STAig6ASoiIy92MS97dmVuZG9yfS9jYWxjdWxhdGlvbnMvc2NoZWR1bGVzEpoBChpEZWxldGVDYWxjdWxhdGlvbnNTY2hlZHVsZRIyLmJsdWVhcGkuY29zdC52MS5EZWxldGVDYWxjdWxhdGlvbnNTY2hlZHVsZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMILT5JMCKiooL3YxL3t2ZW5kb3J9L2NhbGN1bGF0aW9ucy9zY2hlZHVsZXMve2lkfRKGAQoPTGlzdENvc3RGaWx0ZXJzEicuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDb3N0RmlsdGVyc1JlcXVlc3QaKC5ibHVlYXBpLmNvc3QudjEuTGlzdENvc3RGaWx0ZXJzUmVzcG9uc2UiIILT5JMCGhIYL3YxL3t2ZW5kb3J9L2Nvc3RmaWx0ZXJzEo8BChFDcmVhdGVDb3N0RmlsdGVycxIpLmJsdWVhcGkuY29zdC52MS5DcmVhdGVDb3N0RmlsdGVyc1JlcXVlc3QaKi5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQ29zdEZpbHRlcnNSZXNwb25zZSIjgtPkkwIdOgEqIhgvdjEve3ZlbmRvcn0vY29zdGZpbHRlcnMSmgEKEVVwZGF0ZUNvc3RGaWx0ZXJzEikuYmx1ZWFwaS5jb3N0LnYxLlVwZGF0ZUNvc3RGaWx0ZXJzUmVxdWVzdBoqLmJsdWVhcGkuY29zdC52MS5VcGRhdGVDb3N0RmlsdGVyc1Jlc3BvbnNlIi6C0+STAig6ASoaIy92MS97dmVuZG9yfS9jb3N0ZmlsdGVycy97ZmlsdGVySWR9EoMBChFEZWxldGVDb3N0RmlsdGVycxIpLmJsdWVhcGkuY29zdC52MS5EZWxldGVDb3N0RmlsdGVyc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiK4LT5JMCJSojL3YxL3t2ZW5kb3J9L2Nvc3RmaWx0ZXJzL3tmaWx0ZXJJZH0SrQEKFUV4cG9ydENvc3RGaWx0ZXJzRmlsZRItLmJsdWVhcGkuY29zdC52MS5FeHBvcnRDb3N0RmlsdGVyc0ZpbGVSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3N0LnYxLkV4cG9ydENvc3RGaWx0ZXJzRmlsZVJlc3BvbnNlIjWC0+STAi86ASoiKi92MS97dmVuZG9yfS9jb3N0ZmlsdGVycy97ZmlsdGVySWR9OmV4cG9ydBKOAQoSUmVhZENvc3RBdHRyaWJ1dGVzEiouYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0QXR0cmlidXRlc1JlcXVlc3QaIi5ibHVlYXBpLmNvc3QudjEuQ29zdEF0dHJpYnV0ZUl0ZW0iJoLT5JMCIDoBKiIbL3YxL3t2ZW5kb3J9L2Nvc3RhdHRyczpyZWFkMAESigEKEUdldENvc3RBdHRyaWJ1dGVzEikuYmx1ZWFwaS5jb3N0LnYxLkdldENvc3RBdHRyaWJ1dGVzUmVxdWVzdBoqLmJsdWVhcGkuY29zdC52MS5HZXRDb3N0QXR0cmlidXRlc1Jlc3BvbnNlIh6C0+STAhgSFi92MS97dmVuZG9yfS9jb3N0YXR0cnMSbwoJUmVhZENvc3RzEiEuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3QaGS5ibHVlYXBpLmNvc3QudjEuQ29zdEl0ZW0iIoLT5JMCHDoBKiIXL3YxL3t2ZW5kb3J9L2Nvc3RzOnJlYWQwARKBAQoPUmVhZEFkanVzdG1lbnRzEicuYmx1ZWFwaS5jb3N0LnYxLlJlYWRBZGp1c3RtZW50c1JlcXVlc3QaGS5ibHVlYXBpLmNvc3QudjEuQ29zdEl0ZW0iKILT5JMCIjoBKiIdL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRzOnJlYWQwARJ4CgxSZWFkVGFnQ29zdHMSJC5ibHVlYXBpLmNvc3QudjEuUmVhZFRhZ0Nvc3RzUmVxdWVzdBoZLmJsdWVhcGkuY29zdC52MS5Db3N0SXRlbSIlgtPkkwIfOgEqIhovdjEve3ZlbmRvcn0vdGFnY29zdHM6cmVhZDABEoEBCg9SZWFkTm9uVGFnQ29zdHMSJy5ibHVlYXBpLmNvc3QudjEuUmVhZE5vblRhZ0Nvc3RzUmVxdWVzdBoZLmJsdWVhcGkuY29zdC52MS5Db3N0SXRlbSIogtPkkwIiOgEqIh0vdjEve3ZlbmRvcn0vbm9udGFnY29zdHM6cmVhZDABEnsKDEdldEZvcmVjYXN0cxIkLmJsdWVhcGkuY29zdC52MS5HZXRGb3JlY2FzdHNSZXF1ZXN0GiUuYmx1ZWFwaS5jb3N0LnYxLkdldEZvcmVjYXN0c1Jlc3BvbnNlIh6C0+STAhgSFi92MS97dmVuZG9yfS9mb3JlY2FzdHMSrgEKFkdldE1vbnRobHlDb3N0Rm9yZWNhc3QSLi5ibHVlYXBpLmNvc3QudjEuR2V0TW9udGhseUNvc3RGb3JlY2FzdFJlcXVlc3QaLy5ibHVlYXBpLmNvc3QudjEuR2V0TW9udGhseUNvc3RGb3JlY2FzdFJlc3BvbnNlIjOC0+STAi0SKy92MS97dmVuZG9yfS9mb3JlY2FzdHMvbW9udGhseS97bGV2ZWx9L3tpZH0SxAEKG0dldE1vbnRoT25Nb250aENvc3RGb3JlY2FzdBIzLmJsdWVhcGkuY29zdC52MS5HZXRNb250aE9uTW9udGhDb3N0Rm9yZWNhc3RSZXF1ZXN0GjQuYmx1ZWFwaS5jb3N0LnYxLkdldE1vbnRoT25Nb250aENvc3RGb3JlY2FzdFJlc3BvbnNlIjqC0+STAjQSMi92MS97dmVuZG9yfS9mb3JlY2FzdHMvbW9udGgtb24tbW9udGgve2xldmVsfS97aWR9EsABChpHZXRNb250aFRvRGF0ZUNvc3RGb3JlY2FzdBIyLmJsdWVhcGkuY29zdC52MS5HZXRNb250aFRvRGF0ZUNvc3RGb3JlY2FzdFJlcXVlc3QaMy5ibHVlYXBpLmNvc3QudjEuR2V0TW9udGhUb0RhdGVDb3N0Rm9yZWNhc3RSZXNwb25zZSI5gtPkkwIzEjEvdjEve3ZlbmRvcn0vZm9yZWNhc3RzL21vbnRoLXRvLWRhdGUve2xldmVsfS97aWR9EpEBChBHZXRBY2NvdW50QnVkZ2V0EiguYmx1ZWFwaS5jb3N0LnYxLkdldEFjY291bnRCdWRnZXRSZXF1ZXN0GikuYmx1ZWFwaS5jb3N0LnYxLkdldEFjY291bnRCdWRnZXRSZXNwb25zZSIogtPkkwIiEiAvdjEve3ZlbmRvcn0vYnVkZ2V0L3tsZXZlbH0ve2lkfRKdAQoTQ3JlYXRlQWNjb3VudEJ1ZGdldBIrLmJsdWVhcGkuY29zdC52MS5DcmVhdGVBY2NvdW50QnVkZ2V0UmVxdWVzdBosLmJsdWVhcGkuY29zdC52MS5DcmVhdGVBY2NvdW50QnVkZ2V0UmVzcG9uc2UiK4LT5JMCJToBKiIgL3YxL3t2ZW5kb3J9L2J1ZGdldC97bGV2ZWx9L3tpZH0ShQEKE1VwZGF0ZUFjY291bnRCdWRnZXQSKy5ibHVlYXBpLmNvc3QudjEuVXBkYXRlQWNjb3VudEJ1ZGdldFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKYLT5JMCIzoBKhoeL3YxL3t2ZW5kb3J9L2J1ZGdldC97YnVkZ2V0SWR9EoIBChNEZWxldGVBY2NvdW50QnVkZ2V0EisuYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUFjY291bnRCdWRnZXRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiaC0+STAiAqHi92MS97dmVuZG9yfS9idWRnZXQve2J1ZGdldElkfRKJAQoWR2V0QWNjb3VudEJ1ZGdldEFsZXJ0cxIuLmJsdWVhcGkuY29zdC52MS5HZXRBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuYXBpLndhdmUuQnVkZ2V0QWxlcnQiIILT5JMCGhIYL3YxL3t2ZW5kb3J9L2FsZXJ0cy97aWR9EpIBChlDcmVhdGVBY2NvdW50QnVkZ2V0QWxlcnRzEjEuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRCdWRnZXRBbGVydHNSZXF1ZXN0Gh0uYmx1ZWFwaS5hcGkud2F2ZS5CdWRnZXRBbGVydCIjgtPkkwIdOgEqIhgvdjEve3ZlbmRvcn0vYWxlcnRzL3tpZH0SkgEKGVVwZGF0ZUFjY291bnRCdWRnZXRBbGVydHMSMS5ibHVlYXBpLmNvc3QudjEuVXBkYXRlQWNjb3VudEJ1ZGdldEFsZXJ0c1JlcXVlc3QaHS5ibHVlYXBpLmFwaS53YXZlLkJ1ZGdldEFsZXJ0IiOC0+STAh06ASoaGC92MS97dmVuZG9yfS9hbGVydHMve2lkfRKIAQoZRGVsZXRlQWNjb3VudEJ1ZGdldEFsZXJ0cxIxLmJsdWVhcGkuY29zdC52MS5EZWxldGVBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIggtPkkwIaKhgvdjEve3ZlbmRvcn0vYWxlcnRzL3tpZH0SeQoQUmVhZEJ1ZGdldEFsZXJ0cxIoLmJsdWVhcGkuY29zdC52MS5SZWFkQnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuY29zdC52MS5CdWRnZXRBbGVydHMiGoLT5JMCFDoBKiIPL3YxL2FsZXJ0czpyZWFkMAEScgoPR2V0QnVkZ2V0QWxlcnRzEicuYmx1ZWFwaS5jb3N0LnYxLkdldEJ1ZGdldEFsZXJ0c1JlcXVlc3QaHS5ibHVlYXBpLmNvc3QudjEuQnVkZ2V0QWxlcnRzIheC0+STAhESDy92MS9hbGVydHMve2lkfRJ2ChJDcmVhdGVCdWRnZXRBbGVydHMSKi5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuY29zdC52MS5CdWRnZXRBbGVydHMiFYLT5JMCDzoBKiIKL3YxL2FsZXJ0cxJ7ChJVcGRhdGVCdWRnZXRBbGVydHMSKi5ibHVlYXBpLmNvc3QudjEuVXBkYXRlQnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuY29zdC52MS5CdWRnZXRBbGVydHMiGoLT5JMCFDoBKhoPL3YxL2FsZXJ0cy97aWR9EnEKEkRlbGV0ZUJ1ZGdldEFsZXJ0cxIqLmJsdWVhcGkuY29zdC52MS5EZWxldGVCdWRnZXRBbGVydHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IheC0+STAhEqDy92MS9hbGVydHMve2lkfRKjAQoSR2V0UmVjb21tZW5kYXRpb25zEiouYmx1ZWFwaS5jb3N0LnYxLkdldFJlY29tbWVuZGF0aW9uc1JlcXVlc3QaKy5ibHVlYXBpLmNvc3QudjEuR2V0UmVjb21tZW5kYXRpb25zUmVzcG9uc2UiNILT5JMCLjoBKiIpL3YxL3t2ZW5kb3J9L3JlY29tbWVuZGF0aW9ucy97b3JnSWR9OnJlYWQSlwEKEEdldENvc3RSZWR1Y3Rpb24SKC5ibHVlYXBpLmNvc3QudjEuR2V0Q29zdFJlZHVjdGlvblJlcXVlc3QaKS5ibHVlYXBpLmNvc3QudjEuR2V0Q29zdFJlZHVjdGlvblJlc3BvbnNlIi6C0+STAig6ASoiIy92MS97dmVuZG9yfS9yZWR1Y3Rpb24ve29yZ0lkfTpyZWFkEoYBCg1HZXRFeHBvcnRSSVNQEiUuYmx1ZWFwaS5jb3N0LnYxLkdldEV4cG9ydFJJU1BSZXF1ZXN0GiYuYmx1ZWFwaS5jb3N0LnYxLkdldEV4cG9ydFJJU1BSZXNwb25zZSImgtPkkwIgOgEqIhsvdjEvZXhwb3J0Y3N2L3BheWVyczpleHBvcnQSiwEKDkdldFV0aWxpemF0aW9uEiYuYmx1ZWFwaS5jb3N0LnYxLkdldFV0aWxpemF0aW9uUmVxdWVzdBonLmJsdWVhcGkuY29zdC52MS5HZXRVdGlsaXphdGlvblJlc3BvbnNlIiiC0+STAiISIC92MS97dmVuZG9yfS91dGlsaXphdGlvbi97b3JnSWR9EqQBChJHZXRDb3ZlcmFnZU9wdGlvbnMSKi5ibHVlYXBpLmNvc3QudjEuR2V0Q292ZXJhZ2VPcHRpb25zUmVxdWVzdBorLmJsdWVhcGkuY29zdC52MS5HZXRDb3ZlcmFnZU9wdGlvbnNSZXNwb25zZSI1gtPkkwIvOgEqIiovdjEve3ZlbmRvcn0vY292ZXJhZ2Uvb3B0aW9ucy97b3JnSWR9OnJlYWQSqAEKE0dldENvdmVyYWdlT25kZW1hbmQSKy5ibHVlYXBpLmNvc3QudjEuR2V0Q292ZXJhZ2VPbmRlbWFuZFJlcXVlc3QaLC5ibHVlYXBpLmNvc3QudjEuR2V0Q292ZXJhZ2VPbmRlbWFuZFJlc3BvbnNlIjaC0+STAjA6ASoiKy92MS97dmVuZG9yfS9jb3ZlcmFnZS9vbmRlbWFuZC97b3JnSWR9OnJlYWQSjAEKEUdldEJyZWFrZXZlblBvaW50EikuYmx1ZWFwaS5jb3N0LnYxLkdldEJyZWFrZXZlblBvaW50UmVxdWVzdBoqLmJsdWVhcGkuY29zdC52MS5HZXRCcmVha2V2ZW5Qb2ludFJlc3BvbnNlIiCC0+STAhoSGC92MS97dmVuZG9yfS9iZXAve29yZ0lkfRKkAQoYQ2hlY2tBY2NvdW50c0JlbG9uZ1RvTXNwEiUuYmx1ZWFwaS5jb3N0LnYxLkNoZWNrQWNjb3VudHNSZXF1ZXN0GiYuYmx1ZWFwaS5jb3N0LnYxLkNoZWNrQWNjb3VudHNSZXNwb25zZSI5gtPkkwIzOgEqIi4vdjEve3ZlbmRvcn0vYWNjb3VudHMvY3VzdG9tZXJzL2FjY291bnRzOmNoZWNrEowBCg5SZWFkSW52b2ljZUlkcxImLmJsdWVhcGkuY29zdC52MS5SZWFkSW52b2ljZUlkc1JlcXVlc3QaJy5ibHVlYXBpLmNvc3QudjEuUmVhZEludm9pY2VJZHNSZXNwb25zZSIngtPkkwIhOgEqIhwvdjEve3ZlbmRvcn0vaW52b2ljZWlkczpyZWFkMAESlAEKFFJlYWRJbnZvaWNlT3ZlclZpZXdzEiwuYmx1ZWFwaS5jb3N0LnYxLlJlYWRJbnZvaWNlT3ZlcnZpZXdzUmVxdWVzdBomLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5PdmVyVmlld1NlY3Rpb24iJILT5JMCHjoBKiIZL3YxL2ludm9pY2VvdmVydmlld3M6cmVhZDABEoUBChBSZWFkSW52b2ljZUNvc3RzEiguYmx1ZWFwaS5jb3N0LnYxLlJlYWRJbnZvaWNlQ29zdHNSZXF1ZXN0GiMuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLlRvdGFsU2VjdGlvbiIggtPkkwIaOgEqIhUvdjEvaW52b2ljZWNvc3RzOnJlYWQwARKbAQoVUmVhZEludm9pY2VHcm91cENvc3RzEi0uYmx1ZWFwaS5jb3N0LnYxLlJlYWRJbnZvaWNlR3JvdXBDb3N0c1JlcXVlc3QaKi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuQmlsbGluZ0dyb3VwU2VjdGlvbiIlgtPkkwIfOgEqIhovdjEvaW52b2ljZWdyb3VwY29zdHM6cmVhZDABEsMBChxMaXN0Q2FsY3VsYXRpb25QcmVyZXF1aXNpdGVzEjQuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvblByZXJlcXVpc2l0ZXNSZXF1ZXN0GjUuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvblByZXJlcXVpc2l0ZXNSZXNwb25zZSI2gtPkkwIwEi4vdjEve3ZlbmRvcn0vY2FsY3VsYXRpb24vcHJlcmVxdWlzaXRlcy97bW9udGh9Go0BkkGJARI5Q29zdCBBUEkuIEJhc2UgVVJMOiBodHRwczovL2FwaS5hbHBoYXVzLmNsb3VkL20vYmx1ZS9jb3N0GkwKElNlcnZpY2UgZGVmaW5pdGlvbhI2aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2Nvc3QvQvwCChZjbG91ZC5hbHBoYXVzLmFwaS5jb3N0QglDb3N0UHJvdG9aI2dpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS9jb3N0kkGwAhLOAQoaQWxwaGF1cyBCbHVlOiBDb3N0IFNlcnZpY2UiUgoaQWxwaGF1cyBCbHVlOiBDb3N0IFNlcnZpY2USNGh0dHBzOi8vYWxwaGF1c2xhYnMuZ2l0aHViLmlvL2JsdWVhcGkvYXBpcy9jb3N0Lmh0bWwqVwobTGljZW5zZTogQXBhY2hlIExpY2Vuc2UgMi4wEjhodHRwczovL2dpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS9ibG9iL21haW4vTElDRU5TRTIDMS4wcl0KJU1vcmUgYWJvdXQgQWxwaGF1cyBCbHVlOiBDb3N0IFNlcnZpY2USNGh0dHBzOi8vYWxwaGF1c2xhYnMuZ2l0aHViLmlvL2JsdWVhcGkvYXBpcy9jb3N0Lmh0bWxiBnByb3RvMw", [file_api_account, file_api_coverage, file_api_budget, file_api_forecast, file_api_utilization, file_api_aws_breakeven, file_api_aws_cost, file_api_aws_calculator, file_api_aws_recommendation, file_api_aws_reduction, file_api_gcp_cost, file_api_azure_cost, file_api_ripple_payer, file_api_ripple_v1_dashboard, file_api_wave_budget, file_api_costtag, file_protos_operation, file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_empty, file_protoc_gen_openapiv2_options_annotations, file_google_protobuf_field_mask]);
|
|
52
|
+
fileDesc("ChJjb3N0L3YxL2Nvc3QucHJvdG8SD2JsdWVhcGkuY29zdC52MSJaChhMaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEi4KCmZpZWxkX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIjQKFkdldFBheWVyQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJIsACChRQYXllckFjY291bnRFeHRlbmRlZBIoCgVwYXllchgBIAEoCzIZLmJsdWVhcGkuYXBpLnJpcHBsZS5QYXllchIOCgZ0YXJnZXQYAiABKAkSDwoHcm9sZUFybhgDIAEoCRISCgpleHRlcm5hbElkGAQgASgJEg8KB3N0YWNrSWQYBSABKAkSEwoLc3RhY2tSZWdpb24YBiABKAkSEwoLdGVtcGxhdGVVcmwYByABKAkSDgoGc3RhdHVzGAggASgJEhMKC2xhc3RVcGRhdGVkGAkgASgJEhIKCmJ1Y2tldE5hbWUYCiABKAkSDgoGcHJlZml4GAsgASgJEhIKCnJlcG9ydE5hbWUYDCABKAkSIAoYZGVmYXVsdENvc3RBY2Nlc3NSb2xlQXJuGA0gASgJEg8KB2N1clR5cGUYDiABKAkiUAojR2V0UGF5ZXJBY2NvdW50SW1wb3J0SGlzdG9yeVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEg0KBW1vbnRoGAMgASgJIlUKJEdldFBheWVyQWNjb3VudEltcG9ydEhpc3RvcnlSZXNwb25zZRIKCgJpZBgBIAEoCRINCgVtb250aBgCIAEoCRISCgp0aW1lc3RhbXBzGAMgAygJIjwKHkdldFBheWVyUHJvZm9ybWFSZXBvcnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkiVAofR2V0UGF5ZXJQcm9mb3JtYVJlcG9ydHNSZXNwb25zZRIxCgdyZXBvcnRzGAEgAygLMiAuYmx1ZWFwaS5jb3N0LnYxLlByb2Zvcm1hUmVwb3J0cyKbAQoPUHJvZm9ybWFSZXBvcnRzEgoKAmlkGAEgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkSEgoKYnVja2V0TmFtZRgEIAEoCRIOCgZwcmVmaXgYBSABKAkSEgoKcmVwb3J0TmFtZRgGIAEoCRIPCgdyb2xlQXJuGAcgASgJIogBCiNDcmVhdGVQYXllckFjY291bnRSZXF1ZXN0QXdzT3B0aW9ucxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhIKCmJ1Y2tldE5hbWUYAyABKAkSDgoGcHJlZml4GAQgASgJEhIKCnJlcG9ydE5hbWUYBSABKAkSDwoHcm9sZUFybhgGIAEoCSJ1ChlDcmVhdGVQYXllckFjY291bnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRJICgphd3NPcHRpb25zGAIgASgLMjQuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZVBheWVyQWNjb3VudFJlcXVlc3RBd3NPcHRpb25zIjcKGURlbGV0ZVBheWVyQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJImYKE0xpc3RBY2NvdW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSLgoKZmllbGRfbWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2siXwoRR2V0QWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEi4KCmZpZWxkX21hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIj0KHkNyZWF0ZUFjY291bnRSZXF1ZXN0QXdzT3B0aW9ucxIbChNtYW5hZ2VtZW50QWNjb3VudElkGAEgASgJIloKHkNyZWF0ZUFjY291bnRSZXF1ZXN0R2NwT3B0aW9ucxIbChNtYW5hZ2VtZW50QWNjb3VudElkGAEgASgJEhsKE21hbmFnZW1lbnRCaWxsaW5nSWQYAiABKAki2gEKFENyZWF0ZUFjY291bnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCRIMCgRuYW1lGAMgASgJEg4KBnBhcmVudBgEIAEoCRJDCgphd3NPcHRpb25zGAUgASgLMi8uYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRSZXF1ZXN0QXdzT3B0aW9ucxJDCgpnY3BPcHRpb25zGAYgASgLMi8uYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRSZXF1ZXN0R2NwT3B0aW9ucyJAChRVcGRhdGVBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkSDAoEbmFtZRgDIAEoCSIyChREZWxldGVBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkiYgoPTGlzdFRhZ3NSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIPCgdncm91cElkGAIgASgJEi4KCmZpZWxkX21hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIkUKJExpc3RDYWxjdWxhdG9yUnVubmluZ0FjY291bnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbW9udGgYAiABKAki0gEKJUxpc3RDYWxjdWxhdG9yUnVubmluZ0FjY291bnRzUmVzcG9uc2USVQoDYXdzGAEgASgLMkguYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdG9yUnVubmluZ0FjY291bnRzUmVzcG9uc2UuQXdzUnVubmluZ0FjY291bnQaUgoRQXdzUnVubmluZ0FjY291bnQSDQoFbW9udGgYASABKAkSDwoHYWNjb3VudBgCIAEoCRIMCgRkYXRlGAMgASgJEg8KB3N0YXJ0ZWQYBCABKAkiLAoaR2V0Q2FsY3VsYXRvckNvbmZpZ1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJIk0KG0dldENhbGN1bGF0b3JDb25maWdSZXNwb25zZRIuCgNhd3MYASABKAsyIS5ibHVlYXBpLmFwaS5hd3MuQ2FsY3VsYXRvckNvbmZpZyKpBgogQ2FsY3VsYXRvckNvc3RNb2RpZmllckF3c09wdGlvbnMSEQoJYWNjb3VudElkGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSDwoHcGF5ZXJJZBgDIAEoCRJPCgpxdWFsaWZpZXJzGAQgAygLMjsuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBd3NPcHRpb25zLlF1YWxpZmllchJMCghtb2RpZmllchgFIAEoCzI6LmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXdzT3B0aW9ucy5Nb2RpZmllchINCgVhZnRlchgGIAEoCRIUCgxjcmVhdGVOZXdSb3cYByABKAgaigEKCVF1YWxpZmllchJRCgNhbmQYASADKAsyRC5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF3c09wdGlvbnMuUXVhbGlmaWVyLkFuZEVudHJ5GioKCEFuZEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEa/gIKCE1vZGlmaWVyEg8KB2Zvcm11bGEYASABKAkSawoTZGVzY3JpcHRpb25Nb2RpZmllchgCIAEoCzJOLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXdzT3B0aW9ucy5Nb2RpZmllci5EZXNjcmlwdGlvbk1vZGlmaWVyGvMBChNEZXNjcmlwdGlvbk1vZGlmaWVyEg4KBnByZWZpeBgBIAEoCRIOCgZzdWZmaXgYAiABKAkSDwoHcmVwbGFjZRgDIAEoCRJ2CgxyZXBsYWNlTWF0Y2gYBCADKAsyYC5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF3c09wdGlvbnMuTW9kaWZpZXIuRGVzY3JpcHRpb25Nb2RpZmllci5SZXBsYWNlTWF0Y2hFbnRyeRozChFSZXBsYWNlTWF0Y2hFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIp8FCiJDYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zEg8KB2dyb3VwSWQYASABKAkSDwoHcGF5ZXJJZBgCIAEoCRISCgpjdXN0b21lcklkGAMgASgJEhYKDnN1YnNjcmlwdGlvbklkGAQgASgJEhUKDWVudGl0bGVtZW50SWQYBSABKAkSUQoKcXVhbGlmaWVycxgGIAMoCzI9LmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zLlF1YWxpZmllchJOCghtb2RpZmllchgHIAEoCzI8LmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zLk1vZGlmaWVyEg0KBWFmdGVyGAggASgJGowBCglRdWFsaWZpZXISUwoDYW5kGAEgAygLMkYuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBenVyZU9wdGlvbnMuUXVhbGlmaWVyLkFuZEVudHJ5GioKCEFuZEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEa0gEKCE1vZGlmaWVyEg8KB2Zvcm11bGEYASABKAkSbQoTZGVzY3JpcHRpb25Nb2RpZmllchgCIAEoCzJQLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zLk1vZGlmaWVyLkRlc2NyaXB0aW9uTW9kaWZpZXIaRgoTRGVzY3JpcHRpb25Nb2RpZmllchIOCgZwcmVmaXgYASABKAkSDgoGc3VmZml4GAIgASgJEg8KB3JlcGxhY2UYAyABKAki3gEKFkNhbGN1bGF0b3JDb3N0TW9kaWZpZXISCgoCaWQYASABKAkSEgoKY3JlYXRlVGltZRgCIAEoCRISCgp1cGRhdGVUaW1lGAMgASgJEkUKCmF3c09wdGlvbnMYBCABKAsyMS5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF3c09wdGlvbnMSSQoMYXp1cmVPcHRpb25zGAUgASgLMjMuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBenVyZU9wdGlvbnMiNAoiTGlzdENhbGN1bGF0b3JDb3N0TW9kaWZpZXJzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkixwEKI0NyZWF0ZUNhbGN1bGF0b3JDb3N0TW9kaWZpZXJSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRJFCgphd3NPcHRpb25zGAIgASgLMjEuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBd3NPcHRpb25zEkkKDGF6dXJlT3B0aW9ucxgDIAEoCzIzLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zIpQBCiRDcmVhdGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyUmVzcG9uc2USNAoDYXdzGAEgAygLMicuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXISNgoFYXp1cmUYAiADKAsyJy5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllciJBCiNEZWxldGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkiNgoVSW1wb3J0Q3VyRmlsZXNSZXF1ZXN0Eg0KBW1vbnRoGAEgASgJEg4KBmZpbHRlchgCIAEoCSJ6CghDb3N0SXRlbRIiCgNhd3MYASABKAsyFS5ibHVlYXBpLmFwaS5hd3MuQ29zdBIiCgNnY3AYAiABKAsyFS5ibHVlYXBpLmFwaS5nY3AuQ29zdBImCgVhenVyZRgDIAEoCzIXLmJsdWVhcGkuYXBpLmF6dXJlLkNvc3QiWAofQ2FsY3VsYXRlQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucxINCgVmb3JjZRgBIAEoCBIUCgxhY2NvdW50c09ubHkYAiABKAgSEAoIdGFnc09ubHkYAyABKAgijQEKFUNhbGN1bGF0ZUNvc3RzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDwoHZ3JvdXBJZBgCIAEoCRINCgVtb250aBgDIAEoCRJECgphd3NPcHRpb25zGAQgASgLMjAuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0ZUNvc3RzUmVxdWVzdEF3c09wdGlvbnMiUwoeTGlzdENhbGN1bGF0aW9uc0hpc3RvcnlSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIMCgRhc09mGAIgASgJEhMKC2V4Y2x1ZGVEb25lGAMgASgIIksKIkxpc3RDYWxjdWxhdGlvbnNIaXN0b3J5QXdzUmVzcG9uc2USJQoKb3BlcmF0aW9ucxgBIAMoCzIRLnByb3Rvcy5PcGVyYXRpb24iYwofTGlzdENhbGN1bGF0aW9uc0hpc3RvcnlSZXNwb25zZRJACgNhd3MYASABKAsyMy5ibHVlYXBpLmNvc3QudjEuTGlzdENhbGN1bGF0aW9uc0hpc3RvcnlBd3NSZXNwb25zZSK9AQoUQ2FsY3VsYXRpb25zU2NoZWR1bGUSCgoCaWQYASABKAkSEAoIc2NoZWR1bGUYAiABKAkSFQoNc2NoZWR1bGVNYWNybxgIIAEoCRITCgt0YXJnZXRNb250aBgJIAEoCRIPCgduZXh0UnVuGAMgASgJEhsKE25vdGlmaWNhdGlvbkNoYW5uZWwYBCABKAkSDQoFZm9yY2UYBSABKAgSDgoGZHJ5UnVuGAYgASgIEg4KBnN0YXR1cxgHIAEoCSIyCiBMaXN0Q2FsY3VsYXRpb25zU2NoZWR1bGVzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkiXQohTGlzdENhbGN1bGF0aW9uc1NjaGVkdWxlc1Jlc3BvbnNlEjgKCXNjaGVkdWxlcxgBIAMoCzIlLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdGlvbnNTY2hlZHVsZSKtAQohQ3JlYXRlQ2FsY3VsYXRpb25zU2NoZWR1bGVSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghzY2hlZHVsZRgCIAEoCRIVCg1zY2hlZHVsZU1hY3JvGAYgASgJEhMKC3RhcmdldE1vbnRoGAcgASgJEhsKE25vdGlmaWNhdGlvbkNoYW5uZWwYAyABKAkSDQoFZm9yY2UYBCABKAgSDgoGZHJ5UnVuGAUgASgIIj8KIURlbGV0ZUNhbGN1bGF0aW9uc1NjaGVkdWxlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkiggMKGVJlYWRDb3N0QXR0cmlidXRlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSEQoJYWNjb3VudElkGAMgASgJEhEKCXN0YXJ0VGltZRgEIAEoCRIPCgdlbmRUaW1lGAUgASgJEkkKCmF3c09wdGlvbnMYBiABKAsyNS5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RBdHRyaWJ1dGVzUmVxdWVzdC5Bd3NPcHRpb25zEk0KDGF6dXJlT3B0aW9ucxgHIAEoCzI3LmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdEF0dHJpYnV0ZXNSZXF1ZXN0LkF6dXJlT3B0aW9ucxogCgpBd3NPcHRpb25zEhIKCmRpbWVuc2lvbnMYASABKAkaUQoMQXp1cmVPcHRpb25zEhIKCmN1c3RvbWVySWQYASABKAkSFgoOc3Vic2NyaXB0aW9uSWQYAiABKAkSFQoNZW50aXRsZW1lbnRJZBgDIAEoCSJxChFDb3N0QXR0cmlidXRlSXRlbRIrCgNhd3MYASABKAsyHi5ibHVlYXBpLmFwaS5hd3MuQ29zdEF0dHJpYnV0ZRIvCgVhenVyZRgCIAEoCzIgLmJsdWVhcGkuYXBpLmF6dXJlLkNvc3RBdHRyaWJ1dGUibwoYR2V0Q29zdEF0dHJpYnV0ZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCRIPCgdncm91cElkGAMgASgJEhEKCWFjY291bnRJZBgEIAEoCRIQCghjYXRlZ29yeRgFIAEoCSJKChlHZXRDb3N0QXR0cmlidXRlc1Jlc3BvbnNlEi0KBWl0ZW1zGAEgAygLMh4uYmx1ZWFwaS5jb3N0LnYxLkNvc3RBdHRyaWJ1dGUiPwoNQ29zdEF0dHJpYnV0ZRIOCgZ2ZW5kb3IYASABKAkSEAoIY2F0ZWdvcnkYAiABKAkSDAoEZGF0YRgDIAMoCSKuAQohUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnNGaWx0ZXJzElYKCmFuZEZpbHRlcnMYASADKAsyQi5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnNGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKxBAoaUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnMSFgoOZ3JvdXBCeUNvbHVtbnMYASABKAkSFAoMZ3JvdXBCeU1vbnRoGAIgASgIEhUKDWdyb3VwQWNjb3VudHMYCCABKAgSFQoNZ3JvdXBCeVRhZ0tleRgMIAEoCRJDCgdmaWx0ZXJzGAMgAygLMjIuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zRmlsdGVycxJKCgp0YWdGaWx0ZXJzGAkgAygLMjYuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zLlRhZ0ZpbHRlcnMSEwoLaW5jbHVkZVRhZ3MYBCABKAgSHQoVaW5jbHVkZUNvc3RDYXRlZ29yaWVzGAUgASgIEhIKCnRvQ3VycmVuY3kYBiABKAkSEwoLZm9yY2VMYXRlc3QYByABKAgSDwoHbm9DYWNoZRgKIAEoCBIaChJpbmNsdWRlQWRqdXN0bWVudHMYCyABKAgamwEKClRhZ0ZpbHRlcnMSWgoKYW5kRmlsdGVycxgBIAMoCzJGLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucy5UYWdGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKxAgoQUmVhZENvc3RzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDwoHZ3JvdXBJZBgCIAEoCRIRCglhY2NvdW50SWQYAyABKAkSEQoJc3RhcnRUaW1lGAQgASgJEg8KB2VuZFRpbWUYBSABKAkSPwoKYXdzT3B0aW9ucxgGIAEoCzIrLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucxI/CgpnY3BPcHRpb25zGAcgASgLMisuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RHY3BPcHRpb25zEkMKDGF6dXJlT3B0aW9ucxgIIAEoCzItLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXp1cmVPcHRpb25zIjYKIFJlYWRBZGp1c3RtZW50c1JlcXVlc3RBd3NPcHRpb25zEhIKCnRvQ3VycmVuY3kYASABKAkitwEKFlJlYWRBZGp1c3RtZW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSEQoJYWNjb3VudElkGAMgASgJEhEKCXN0YXJ0VGltZRgEIAEoCRIPCgdlbmRUaW1lGAUgASgJEkUKCmF3c09wdGlvbnMYBiABKAsyMS5ibHVlYXBpLmNvc3QudjEuUmVhZEFkanVzdG1lbnRzUmVxdWVzdEF3c09wdGlvbnMijwQKHVJlYWRUYWdDb3N0c1JlcXVlc3RBd3NPcHRpb25zEg0KBXRhZ0lkGAEgASgJEhYKDmdyb3VwQnlDb2x1bW5zGAIgASgJEhQKDGdyb3VwQnlNb250aBgDIAEoCBJDCgdmaWx0ZXJzGAQgAygLMjIuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zRmlsdGVycxJNCgp0YWdGaWx0ZXJzGAUgAygLMjkuYmx1ZWFwaS5jb3N0LnYxLlJlYWRUYWdDb3N0c1JlcXVlc3RBd3NPcHRpb25zLlRhZ0ZpbHRlcnMSEwoLaW5jbHVkZVRhZ3MYBiABKAgSHQoVaW5jbHVkZUNvc3RDYXRlZ29yaWVzGAcgASgIEhIKCnRvQ3VycmVuY3kYCCABKAkSEwoLZm9yY2VMYXRlc3QYCSABKAgSDwoHbm9DYWNoZRgKIAEoCBIOCgZ0YWdJZHMYCyADKAkangEKClRhZ0ZpbHRlcnMSXQoKYW5kRmlsdGVycxgBIAMoCzJJLmJsdWVhcGkuY29zdC52MS5SZWFkVGFnQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucy5UYWdGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASK/AQoTUmVhZFRhZ0Nvc3RzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSGQoRYmlsbGluZ0ludGVybmFsSWQYAiABKAkSEQoJc3RhcnRUaW1lGAMgASgJEg8KB2VuZFRpbWUYBCABKAkSFQoNZ3JvdXBCeU1vbnRocxgFIAEoCBJCCgphd3NPcHRpb25zGAYgASgLMi4uYmx1ZWFwaS5jb3N0LnYxLlJlYWRUYWdDb3N0c1JlcXVlc3RBd3NPcHRpb25zIn4KFlJlYWROb25UYWdDb3N0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAIgASgJEhEKCXN0YXJ0VGltZRgDIAEoCRIPCgdlbmRUaW1lGAQgASgJEhUKDWdyb3VwQnlNb250aHMYBSABKAgihAEKE0dldEZvcmVjYXN0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAIgASgJEhEKCWZyZXF1ZW5jeRgDIAEoCRINCgVsZXZlbBgEIAEoCRIQCghmcm9tRGF0ZRgFIAEoCRIOCgZ0b0RhdGUYBiABKAkiRwoUR2V0Rm9yZWNhc3RzUmVzcG9uc2USLwoEZGF0YRgBIAEoCzIhLmJsdWVhcGkuYXBpLkJpbGxpbmdHcm91cEZvcmVjYXN0ImwKHUdldE1vbnRobHlDb3N0Rm9yZWNhc3RSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVsZXZlbBgCIAEoCRIKCgJpZBgDIAEoCRIQCghmcm9tRGF0ZRgEIAEoCRIOCgZ0b0RhdGUYBSABKAkibwoeR2V0TW9udGhseUNvc3RGb3JlY2FzdFJlc3BvbnNlEgoKAmlkGAEgASgJEi4KBGRhdGEYAiADKAsyIC5ibHVlYXBpLmFwaS5Nb250aGx5Q29zdEZvcmVjYXN0EhEKCXRpbWVzdGFtcBgDIAEoCSJdCiJHZXRNb250aE9uTW9udGhDb3N0Rm9yZWNhc3RSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVsZXZlbBgCIAEoCRIKCgJpZBgDIAEoCRIMCgRkYXRlGAQgASgJInkKI0dldE1vbnRoT25Nb250aENvc3RGb3JlY2FzdFJlc3BvbnNlEgoKAmlkGAEgASgJEjMKBGRhdGEYAiADKAsyJS5ibHVlYXBpLmFwaS5Nb250aE9uTW9udGhDb3N0Rm9yZWNhc3QSEQoJdGltZXN0YW1wGAMgASgJIlwKIUdldE1vbnRoVG9EYXRlQ29zdEZvcmVjYXN0UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbGV2ZWwYAiABKAkSCgoCaWQYAyABKAkSDAoEZGF0ZRgEIAEoCSKHAQoiR2V0TW9udGhUb0RhdGVDb3N0Rm9yZWNhc3RSZXNwb25zZRIKCgJpZBgBIAEoCRIOCgZidWRnZXQYAiABKAESMgoEZGF0YRgDIAMoCzIkLmJsdWVhcGkuYXBpLk1vbnRoVG9EYXRlQ29zdEZvcmVjYXN0EhEKCXRpbWVzdGFtcBgEIAEoCSJSChdHZXRBY2NvdW50QnVkZ2V0UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbGV2ZWwYAiABKAkSCgoCaWQYAyABKAkSDAoEeWVhchgEIAEoCSI9ChhHZXRBY2NvdW50QnVkZ2V0UmVzcG9uc2USIQoEZGF0YRgBIAEoCzITLmJsdWVhcGkuYXBpLkJ1ZGdldCJqChpDcmVhdGVBY2NvdW50QnVkZ2V0UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbGV2ZWwYAiABKAkSCgoCaWQYAyABKAkSIQoEZGF0YRgEIAEoCzITLmJsdWVhcGkuYXBpLkJ1ZGdldCIvChtDcmVhdGVBY2NvdW50QnVkZ2V0UmVzcG9uc2USEAoIYnVkZ2V0SWQYASABKAkiYQoaVXBkYXRlQWNjb3VudEJ1ZGdldFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhAKCGJ1ZGdldElkGAIgASgJEiEKBGRhdGEYAyABKAsyEy5ibHVlYXBpLmFwaS5CdWRnZXQiPgoaRGVsZXRlQWNjb3VudEJ1ZGdldFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhAKCGJ1ZGdldElkGAIgASgJIosCCiNHZXRSZWNvbW1lbmRhdGlvbnNSZXF1ZXN0QXdzT3B0aW9ucxIaChJyZWNvbW1lbmRhdGlvblR5cGUYASABKAkSDAoEdHlwZRgCIAEoCRISCgpyaVNlcnZpY2VzGAMgAygJEhIKCnNwU2VydmljZXMYBCADKAkSHgoWcHVyY2hhc2VFQzJTYXZpbmdzUGxhbhgFIAEoCBIaChJlYzJTcFByb2R1Y3RGYW1pbHkYBiABKAkSDAoEdGVybRgHIAEoCRIVCg1vZmZlcmluZ0NsYXNzGAggASgJEhUKDXBheW1lbnRPcHRpb24YCSABKAkSGgoSY292ZXJhZ2VQZXJjZW50YWdlGAogASgBIqsBChlHZXRSZWNvbW1lbmRhdGlvbnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIQCghhY2NvdW50cxgDIAMoCRITCgtjb3N0R3JvdXBJZBgEIAEoCRJICgphd3NPcHRpb25zGAUgASgLMjQuYmx1ZWFwaS5jb3N0LnYxLkdldFJlY29tbWVuZGF0aW9uc1JlcXVlc3RBd3NPcHRpb25zImwKGkdldFJlY29tbWVuZGF0aW9uc1Jlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEj8KEmF3c1JlY29tbWVuZGF0aW9ucxgCIAEoCzIjLmJsdWVhcGkuYXBpLmF3cy5Bd3NSZWNvbW1lbmRhdGlvbnMiggIKF0dldENvc3RSZWR1Y3Rpb25SZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIYChByZWR1Y3Rpb25EaXNwbGF5GAMgASgJEhYKDmluY2x1ZGVEZXRhaWxzGAQgASgIEhAKCGZyb21EYXRlGAUgASgJEg4KBnRvRGF0ZRgGIAEoCRIPCgdwYXllcklkGAcgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAggASgJEg8KB2dyb3VwSWQYCSABKAkSEwoLY29zdEdyb3VwSWQYCiABKAkSEAoIYWNjb3VudHMYCyADKAkSEAoIc2VydmljZXMYDCADKAkiaAoYR2V0Q29zdFJlZHVjdGlvblJlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEj0KEWF3c0Nvc3RSZWR1Y3Rpb25zGAIgASgLMiIuYmx1ZWFwaS5hcGkuYXdzLkF3c0Nvc3RSZWR1Y3Rpb25zIlQKFEdldEV4cG9ydFJJU1BSZXF1ZXN0EgwKBHR5cGUYASABKAkSFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQESFgoOaW5jbHVkZUV4cGlyZWQYAyABKAgiLQoVR2V0RXhwb3J0UklTUFJlc3BvbnNlEhQKDGRvd25sb2FkTGluaxgBIAEoCSK4AQoVR2V0VXRpbGl6YXRpb25SZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIMCgR0eXBlGAMgASgJEhAKCGZyb21EYXRlGAQgASgJEg4KBnRvRGF0ZRgFIAEoCRIPCgdwYXllcklkGAYgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAcgASgJEg8KB2dyb3VwSWQYCCABKAkSEwoLY29zdEdyb3VwSWQYCSABKAkiXgoWR2V0VXRpbGl6YXRpb25SZXNwb25zZRINCgVvcmdJZBgBIAEoCRI1Cg91dGlsaXphdGlvbkRhdGEYAiADKAsyHC5ibHVlYXBpLmFwaS5VdGlsaXphdGlvbkRhdGEi9AEKGUdldENvdmVyYWdlT3B0aW9uc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW9yZ0lkGAIgASgJEg4KBnBlcmlvZBgDIAEoCRIQCghmcm9tRGF0ZRgEIAEoCRIOCgZ0b0RhdGUYBSABKAkSDwoHcGF5ZXJJZBgGIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgHIAEoCRIPCgdncm91cElkGAggASgJEhMKC2Nvc3RHcm91cElkGAkgASgJEhAKCGFjY291bnRzGAogAygJEhAKCHNlcnZpY2VzGAsgAygJEhAKCGN1cnJlbmN5GAwgASgJIloKGkdldENvdmVyYWdlT3B0aW9uc1Jlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEi0KC29wdGlvbnNEYXRhGAIgAygLMhguYmx1ZWFwaS5hcGkuT3B0aW9uc0RhdGEi4wEKGkdldENvdmVyYWdlT25kZW1hbmRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIOCgZwZXJpb2QYAyABKAkSEAoIZnJvbURhdGUYBCABKAkSDgoGdG9EYXRlGAUgASgJEg8KB3BheWVySWQYBiABKAkSGQoRYmlsbGluZ0ludGVybmFsSWQYByABKAkSDwoHZ3JvdXBJZBgIIAEoCRITCgtjb3N0R3JvdXBJZBgJIAEoCRIQCghhY2NvdW50cxgKIAMoCRIQCghzZXJ2aWNlcxgLIAMoCSJdChtHZXRDb3ZlcmFnZU9uZGVtYW5kUmVzcG9uc2USDQoFb3JnSWQYASABKAkSLwoMb25kZW1hbmREYXRhGAIgAygLMhkuYmx1ZWFwaS5hcGkuT25kZW1hbmREYXRhIlQKGEdldEJyZWFrZXZlblBvaW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFb3JnSWQYAiABKAkSDAoEdHlwZRgDIAEoCRILCgNhcm4YBCABKAkiZwoZR2V0QnJlYWtldmVuUG9pbnRSZXNwb25zZRINCgVvcmdJZBgBIAEoCRI7ChBhd3NDb3N0QnJlYWtldmVuGAIgASgLMiEuYmx1ZWFwaS5hcGkuYXdzLkF3c0Nvc3RCcmVha2V2ZW4iKAoWTGlzdENvc3RGaWx0ZXJzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkiUAoXTGlzdENvc3RGaWx0ZXJzUmVzcG9uc2USNQoLY29zdEZpbHRlcnMYASADKAsyIC5ibHVlYXBpLmNvc3QudjEuTGlzdENvc3RGaWx0ZXJzIqwBCg9MaXN0Q29zdEZpbHRlcnMSEAoIZmlsdGVySWQYASABKAkSEgoKZmlsdGVyTmFtZRgCIAEoCRIOCgZ2ZW5kb3IYAyABKAkSDwoHZ3JvdXBJZBgEIAEoCRIRCglhY2NvdW50SWQYBSABKAkSPwoKYXdzT3B0aW9ucxgGIAEoCzIrLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucyKjAQoYQ3JlYXRlQ29zdEZpbHRlcnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRISCgpmaWx0ZXJOYW1lGAIgASgJEg8KB2dyb3VwSWQYAyABKAkSEQoJYWNjb3VudElkGAQgASgJEj8KCmF3c09wdGlvbnMYBSABKAsyKy5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnMiLQoZQ3JlYXRlQ29zdEZpbHRlcnNSZXNwb25zZRIQCghmaWx0ZXJJZBgBIAEoCSK1AQoYVXBkYXRlQ29zdEZpbHRlcnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghmaWx0ZXJJZBgCIAEoCRISCgpmaWx0ZXJOYW1lGAMgASgJEg8KB2dyb3VwSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEj8KCmF3c09wdGlvbnMYBiABKAsyKy5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnMiLQoZVXBkYXRlQ29zdEZpbHRlcnNSZXNwb25zZRIQCghmaWx0ZXJJZBgBIAEoCSI8ChhEZWxldGVDb3N0RmlsdGVyc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhAKCGZpbHRlcklkGAIgASgJIqcBChxFeHBvcnRDb3N0RmlsdGVyc0ZpbGVSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghmaWx0ZXJJZBgCIAEoCRIRCglzdGFydFRpbWUYAyABKAkSDwoHZW5kVGltZRgEIAEoCRIUCgxncm91cEJ5TW9udGgYBSABKAgSFgoOZ3JvdXBCeUNvbHVtbnMYBiABKAkSEwoLaW5jbHVkZVRhZ3MYByABKAgiLAodRXhwb3J0Q29zdEZpbHRlcnNGaWxlUmVzcG9uc2USCwoDdXJsGAEgASgJIpICChpSZWFkQ29zdHNSZXF1ZXN0R2NwT3B0aW9ucxIWCg5ncm91cEJ5Q29sdW1ucxgBIAEoCRIUCgxncm91cEJ5TW9udGgYAiABKAgSFQoNZ3JvdXBBY2NvdW50cxgDIAEoCBJDCgdmaWx0ZXJzGAQgAygLMjIuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RHY3BPcHRpb25zRmlsdGVycxIbChNpbmNsdWRlSW52b2ljZU1vbnRoGAYgASgIEhYKDmluY2x1ZGVDcmVkaXRzGAcgASgIEhAKCHJvdW5kaW5nGAggASgIEg8KB25vQ2FjaGUYBSABKAgSEgoKdG9DdXJyZW5jeRgJIAEoCSKuAQohUmVhZENvc3RzUmVxdWVzdEdjcE9wdGlvbnNGaWx0ZXJzElYKCmFuZEZpbHRlcnMYASADKAsyQi5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEdjcE9wdGlvbnNGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI7Ch1HZXRBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkicgogQ3JlYXRlQWNjb3VudEJ1ZGdldEFsZXJ0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEjIKC2J1ZGdldEFsZXJ0GAMgASgLMh0uYmx1ZWFwaS5hcGkud2F2ZS5CdWRnZXRBbGVydCJyCiBVcGRhdGVBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkSMgoLYnVkZ2V0QWxlcnQYAyABKAsyHS5ibHVlYXBpLmFwaS53YXZlLkJ1ZGdldEFsZXJ0Ij4KIERlbGV0ZUFjY291bnRCdWRnZXRBbGVydHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCSJxChxSZWFkQ29zdHNSZXF1ZXN0QXp1cmVPcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhQKDGdyb3VwQnlNb250aBgCIAEoCBIPCgdub0NhY2hlGAMgASgIEhIKCnRvQ3VycmVuY3kYBCABKAkiqAMKDEJ1ZGdldEFsZXJ0cxIKCgJpZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSJgoIYWNjb3VudHMYAyADKAsyFC5ibHVlYXBpLmFwaS5BY2NvdW50EkAKDG5vdGlmaWNhdGlvbhgEIAEoCzIqLmJsdWVhcGkuYXBpLkJ1ZGdldEFsZXJ0Tm90aWZpY2F0aW9uRGV0YWlsEiwKBWRhaWx5GAUgASgLMh0uYmx1ZWFwaS5hcGkuRGFpbHlCdWRnZXRBbGVydBI8CglkYWlseVJhdGUYByABKAsyKS5ibHVlYXBpLmFwaS5EYWlseVJhdGVJbmNyZWFzZUJ1ZGdldEFsZXJ0EjAKB21vbnRobHkYBiABKAsyHy5ibHVlYXBpLmFwaS5Nb250aGx5QnVkZ2V0QWxlcnQSOgoMY3VzdG9tUGVyaW9kGAggASgLMiQuYmx1ZWFwaS5hcGkuQ3VzdG9tUGVyaW9kQnVkZ2V0QWxlcnQSOAoLY3VzdG9tTW9udGgYCSABKAsyIy5ibHVlYXBpLmFwaS5DdXN0b21Nb250aEJ1ZGdldEFsZXJ0IkkKF1JlYWRCdWRnZXRBbGVydHNSZXF1ZXN0Ei4KCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIiQKFkdldEJ1ZGdldEFsZXJ0c1JlcXVlc3QSCgoCaWQYASABKAkijQMKGUNyZWF0ZUJ1ZGdldEFsZXJ0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhAKCGFjY291bnRzGAIgAygJEjoKDG5vdGlmaWNhdGlvbhgDIAEoCzIkLmJsdWVhcGkuYXBpLkJ1ZGdldEFsZXJ0Tm90aWZpY2F0aW9uEiwKBWRhaWx5GAQgASgLMh0uYmx1ZWFwaS5hcGkuRGFpbHlCdWRnZXRBbGVydBI8CglkYWlseVJhdGUYBiABKAsyKS5ibHVlYXBpLmFwaS5EYWlseVJhdGVJbmNyZWFzZUJ1ZGdldEFsZXJ0EjAKB21vbnRobHkYBSABKAsyHy5ibHVlYXBpLmFwaS5Nb250aGx5QnVkZ2V0QWxlcnQSOgoMY3VzdG9tUGVyaW9kGAcgASgLMiQuYmx1ZWFwaS5hcGkuQ3VzdG9tUGVyaW9kQnVkZ2V0QWxlcnQSOAoLY3VzdG9tTW9udGgYCCABKAsyIy5ibHVlYXBpLmFwaS5DdXN0b21Nb250aEJ1ZGdldEFsZXJ0IpkDChlVcGRhdGVCdWRnZXRBbGVydHNSZXF1ZXN0EgoKAmlkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIQCghhY2NvdW50cxgDIAMoCRI6Cgxub3RpZmljYXRpb24YBCABKAsyJC5ibHVlYXBpLmFwaS5CdWRnZXRBbGVydE5vdGlmaWNhdGlvbhIsCgVkYWlseRgFIAEoCzIdLmJsdWVhcGkuYXBpLkRhaWx5QnVkZ2V0QWxlcnQSPAoJZGFpbHlSYXRlGAcgASgLMikuYmx1ZWFwaS5hcGkuRGFpbHlSYXRlSW5jcmVhc2VCdWRnZXRBbGVydBIwCgdtb250aGx5GAYgASgLMh8uYmx1ZWFwaS5hcGkuTW9udGhseUJ1ZGdldEFsZXJ0EjoKDGN1c3RvbVBlcmlvZBgIIAEoCzIkLmJsdWVhcGkuYXBpLkN1c3RvbVBlcmlvZEJ1ZGdldEFsZXJ0EjgKC2N1c3RvbU1vbnRoGAkgASgLMiMuYmx1ZWFwaS5hcGkuQ3VzdG9tTW9udGhCdWRnZXRBbGVydCInChlEZWxldGVCdWRnZXRBbGVydHNSZXF1ZXN0EgoKAmlkGAEgASgJIjoKFENoZWNrQWNjb3VudHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRISCgphY2NvdW50SWRzGAIgAygJIooBChVDaGVja0FjY291bnRzUmVzcG9uc2USQgoGZXhpc3RzGAEgAygLMjIuYmx1ZWFwaS5jb3N0LnYxLkNoZWNrQWNjb3VudHNSZXNwb25zZS5FeGlzdHNFbnRyeRotCgtFeGlzdHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBIjYKFVJlYWRJbnZvaWNlSWRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbW9udGgYAiABKAkiJAoWUmVhZEludm9pY2VJZHNSZXNwb25zZRIKCgJpZBgBIAEoCSKwAQoLUGVyaW9kUmFuZ2USLwoEdW5pdBgBIAEoDjIhLmJsdWVhcGkuY29zdC52MS5QZXJpb2RSYW5nZS5Vbml0EgwKBHllYXIYAiABKA0SEAoIc3RhcnRpbmcYAyABKA0SEAoIZHVyYXRpb24YBCABKA0iPgoEVW5pdBIUChBVTklUX1VOU1BFQ0lGSUVEEAASCQoFTU9OVEgQARILCgdRVUFSVEVSEAISCAoEWUVBUhADIqABChtSZWFkSW52b2ljZU92ZXJ2aWV3c1JlcXVlc3QSEQoJc3RhcnRUaW1lGAEgASgJEg8KB2VuZFRpbWUYAiABKAkSFgoOdXNlUGVyaW9kUmFuZ2UYBCABKAgSMQoLcGVyaW9kUmFuZ2UYBSABKAsyHC5ibHVlYXBpLmNvc3QudjEuUGVyaW9kUmFuZ2USEgoKdG9DdXJyZW5jeRgDIAEoCSJRChdSZWFkSW52b2ljZUNvc3RzUmVxdWVzdBIRCglzdGFydFRpbWUYASABKAkSDwoHZW5kVGltZRgCIAEoCRISCgp0b0N1cnJlbmN5GAMgASgJImUKHFJlYWRJbnZvaWNlR3JvdXBDb3N0c1JlcXVlc3QSEQoJc3RhcnRUaW1lGAEgASgJEg8KB2VuZFRpbWUYAiABKAkSEgoKdG9DdXJyZW5jeRgDIAEoCRINCgVsaW1pdBgEIAEoBSI1CiNSZWFkQWNjb3VudE9yaWdpbmFsUmVzb3VyY2VzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkiWAobUmVnaXN0ZXJQYXllckFjY291bnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCRIMCgRuYW1lGAMgASgJEg8KB2N1clR5cGUYBCABKAkiVgoZVXBkYXRlUGF5ZXJBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkSDAoEbmFtZRgDIAEoCRIPCgdjdXJUeXBlGAQgASgJIkQKI0xpc3RDYWxjdWxhdGlvblByZXJlcXVpc2l0ZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCSKVAQoXQ2FsY3VsYXRpb25QcmVyZXF1aXNpdGUSEgoKaW52b2ljZV9pZBgBIAEoCRIQCghwYXllcl9pZBgCIAEoCRIVCg1leGNoYW5nZV9yYXRlGAMgASgBEh0KFXVuYmxlbmRlZF9jb3N0X2luX2N1chgEIAEoARIMCgRuYW1lGAUgASgJEhAKCGN1cl90eXBlGAYgASgJImcKJExpc3RDYWxjdWxhdGlvblByZXJlcXVpc2l0ZXNSZXNwb25zZRI/Cg1wcmVyZXF1aXNpdGVzGAEgAygLMiguYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0aW9uUHJlcmVxdWlzaXRlMqxQCgRDb3N0EnMKEUxpc3RQYXllckFjY291bnRzEikuYmx1ZWFwaS5jb3N0LnYxLkxpc3RQYXllckFjY291bnRzUmVxdWVzdBoULmJsdWVhcGkuYXBpLkFjY291bnQiG4LT5JMCFRITL3YxL3t2ZW5kb3J9L3BheWVyczABEncKD0dldFBheWVyQWNjb3VudBInLmJsdWVhcGkuY29zdC52MS5HZXRQYXllckFjY291bnRSZXF1ZXN0GhkuYmx1ZWFwaS5hcGkucmlwcGxlLlBheWVyIiCC0+STAhoSGC92MS97dmVuZG9yfS9wYXllcnMve2lkfRKUAQoZTGlzdFBheWVyQWNjb3VudHNFeHRlbmRlZBIpLmJsdWVhcGkuY29zdC52MS5MaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QaJS5ibHVlYXBpLmNvc3QudjEuUGF5ZXJBY2NvdW50RXh0ZW5kZWQiI4LT5JMCHRIbL3YxL3t2ZW5kb3J9L3BheWVyc2V4dGVuZGVkMAESkwEKF0dldFBheWVyQWNjb3VudEV4dGVuZGVkEicuYmx1ZWFwaS5jb3N0LnYxLkdldFBheWVyQWNjb3VudFJlcXVlc3QaJS5ibHVlYXBpLmNvc3QudjEuUGF5ZXJBY2NvdW50RXh0ZW5kZWQiKILT5JMCIhIgL3YxL3t2ZW5kb3J9L3BheWVyc2V4dGVuZGVkL3tpZH0SvQEKHEdldFBheWVyQWNjb3VudEltcG9ydEhpc3RvcnkSNC5ibHVlYXBpLmNvc3QudjEuR2V0UGF5ZXJBY2NvdW50SW1wb3J0SGlzdG9yeVJlcXVlc3QaNS5ibHVlYXBpLmNvc3QudjEuR2V0UGF5ZXJBY2NvdW50SW1wb3J0SGlzdG9yeVJlc3BvbnNlIi6C0+STAigSJi92MS97dmVuZG9yfS9wYXllcnMve2lkfS9pbXBvcnRoaXN0b3J5MAESpwEKF0dldFBheWVyUHJvZm9ybWFSZXBvcnRzEi8uYmx1ZWFwaS5jb3N0LnYxLkdldFBheWVyUHJvZm9ybWFSZXBvcnRzUmVxdWVzdBowLmJsdWVhcGkuY29zdC52MS5HZXRQYXllclByb2Zvcm1hUmVwb3J0c1Jlc3BvbnNlIimC0+STAiMSIS92MS97dmVuZG9yfS9wYXllcnMve2lkfS9wcm9mb3JtYRJ2ChJDcmVhdGVQYXllckFjY291bnQSKi5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlUGF5ZXJBY2NvdW50UmVxdWVzdBoULmJsdWVhcGkuYXBpLkFjY291bnQiHoLT5JMCGDoBKiITL3YxL3t2ZW5kb3J9L3BheWVycxKJAQoUUmVnaXN0ZXJQYXllckFjY291bnQSLC5ibHVlYXBpLmNvc3QudjEuUmVnaXN0ZXJQYXllckFjY291bnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiuC0+STAiU6ASoiIC92MS97dmVuZG9yfS9wYXllcnMvYmFzaWNkZXRhaWxzEooBChJVcGRhdGVQYXllckFjY291bnQSKi5ibHVlYXBpLmNvc3QudjEuVXBkYXRlUGF5ZXJBY2NvdW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIwgtPkkwIqOgEqGiUvdjEve3ZlbmRvcn0vcGF5ZXJzL2Jhc2ljZGV0YWlscy97aWR9EnoKEkRlbGV0ZVBheWVyQWNjb3VudBIqLmJsdWVhcGkuY29zdC52MS5EZWxldGVQYXllckFjY291bnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiCC0+STAhoqGC92MS97dmVuZG9yfS9wYXllcnMve2lkfRKVAQoMTGlzdEFjY291bnRzEiQuYmx1ZWFwaS5jb3N0LnYxLkxpc3RBY2NvdW50c1JlcXVlc3QaFC5ibHVlYXBpLmFwaS5BY2NvdW50IkeC0+STAkFaKBImL3YxL3t2ZW5kb3J9L2FjY291bnRzL2dyb3Vwcy97Z3JvdXBJZH0SFS92MS97dmVuZG9yfS9hY2NvdW50czABEmoKCkdldEFjY291bnQSIi5ibHVlYXBpLmNvc3QudjEuR2V0QWNjb3VudFJlcXVlc3QaFC5ibHVlYXBpLmFwaS5BY2NvdW50IiKC0+STAhwSGi92MS97dmVuZG9yfS9hY2NvdW50cy97aWR9Em4KDUNyZWF0ZUFjY291bnQSJS5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQWNjb3VudFJlcXVlc3QaFC5ibHVlYXBpLmFwaS5BY2NvdW50IiCC0+STAho6ASoiFS92MS97dmVuZG9yfS9hY2NvdW50cxJzCg1VcGRhdGVBY2NvdW50EiUuYmx1ZWFwaS5jb3N0LnYxLlVwZGF0ZUFjY291bnRSZXF1ZXN0GhQuYmx1ZWFwaS5hcGkuQWNjb3VudCIlgtPkkwIfOgEqGhovdjEve3ZlbmRvcn0vYWNjb3VudHMve2lkfRJyCg1EZWxldGVBY2NvdW50EiUuYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUFjY291bnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiKC0+STAhwqGi92MS97dmVuZG9yfS9hY2NvdW50cy97aWR9Ep8BChxSZWFkQWNjb3VudE9yaWdpbmFsUmVzb3VyY2VzEjQuYmx1ZWFwaS5jb3N0LnYxLlJlYWRBY2NvdW50T3JpZ2luYWxSZXNvdXJjZXNSZXF1ZXN0GiQuYmx1ZWFwaS5hcGkuQWNjb3VudE9yaWdpbmFsUmVzb3VyY2UiIYLT5JMCGzoBKiIWL3YxL3t2ZW5kb3J9L2FvcnM6cmVhZDABEoUBCghMaXN0VGFncxIgLmJsdWVhcGkuY29zdC52MS5MaXN0VGFnc1JlcXVlc3QaFC5ibHVlYXBpLmFwaS5Db3N0VGFnIj+C0+STAjlaJBIiL3YxL3t2ZW5kb3J9L3RhZ3MvZ3JvdXBzL3tncm91cElkfRIRL3YxL3t2ZW5kb3J9L3RhZ3MwARLBAQodTGlzdENhbGN1bGF0b3JSdW5uaW5nQWNjb3VudHMSNS5ibHVlYXBpLmNvc3QudjEuTGlzdENhbGN1bGF0b3JSdW5uaW5nQWNjb3VudHNSZXF1ZXN0GjYuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdG9yUnVubmluZ0FjY291bnRzUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL3t2ZW5kb3J9L2NhbGN1bGF0b3IvcnVubmluZzpyZWFkMAESmAEKE0dldENhbGN1bGF0b3JDb25maWcSKy5ibHVlYXBpLmNvc3QudjEuR2V0Q2FsY3VsYXRvckNvbmZpZ1JlcXVlc3QaLC5ibHVlYXBpLmNvc3QudjEuR2V0Q2FsY3VsYXRvckNvbmZpZ1Jlc3BvbnNlIiaC0+STAiASHi92MS97dmVuZG9yfS9jYWxjdWxhdG9yL2NvbmZpZxKuAQobTGlzdENhbGN1bGF0b3JDb3N0TW9kaWZpZXJzEjMuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdG9yQ29zdE1vZGlmaWVyc1JlcXVlc3QaJy5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllciIvgtPkkwIpEicvdjEve3ZlbmRvcn0vY2FsY3VsYXRvci9jb25maWcvY29zdG1vZHMwARK/AQocQ3JlYXRlQ2FsY3VsYXRvckNvc3RNb2RpZmllchI0LmJsdWVhcGkuY29zdC52MS5DcmVhdGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyUmVxdWVzdBo1LmJsdWVhcGkuY29zdC52MS5DcmVhdGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyUmVzcG9uc2UiMoLT5JMCLDoBKiInL3YxL3t2ZW5kb3J9L2NhbGN1bGF0b3IvY29uZmlnL2Nvc3Rtb2RzEqIBChxEZWxldGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyEjQuYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUNhbGN1bGF0b3JDb3N0TW9kaWZpZXJSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjSC0+STAi4qLC92MS97dmVuZG9yfS9jYWxjdWxhdG9yL2NvbmZpZy9jb3N0bW9kcy97aWR9EmoKDkltcG9ydEN1ckZpbGVzEiYuYmx1ZWFwaS5jb3N0LnYxLkltcG9ydEN1ckZpbGVzUmVxdWVzdBoRLnByb3Rvcy5PcGVyYXRpb24iHYLT5JMCFzoBKiISL3YxL2F3cy9jdXI6aW1wb3J0EnQKDkNhbGN1bGF0ZUNvc3RzEiYuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0ZUNvc3RzUmVxdWVzdBoRLnByb3Rvcy5PcGVyYXRpb24iJ4LT5JMCIToBKiIcL3YxL3t2ZW5kb3J9L2Nvc3RzOmNhbGN1bGF0ZRKnAQoXTGlzdENhbGN1bGF0aW9uc0hpc3RvcnkSLy5ibHVlYXBpLmNvc3QudjEuTGlzdENhbGN1bGF0aW9uc0hpc3RvcnlSZXF1ZXN0GjAuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvbnNIaXN0b3J5UmVzcG9uc2UiKYLT5JMCIxIhL3YxL3t2ZW5kb3J9L2NhbGN1bGF0aW9ucy9oaXN0b3J5Eq8BChlMaXN0Q2FsY3VsYXRpb25zU2NoZWR1bGVzEjEuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvbnNTY2hlZHVsZXNSZXF1ZXN0GjIuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvbnNTY2hlZHVsZXNSZXNwb25zZSIrgtPkkwIlEiMvdjEve3ZlbmRvcn0vY2FsY3VsYXRpb25zL3NjaGVkdWxlcxKnAQoaQ3JlYXRlQ2FsY3VsYXRpb25zU2NoZWR1bGUSMi5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQ2FsY3VsYXRpb25zU2NoZWR1bGVSZXF1ZXN0GiUuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0aW9uc1NjaGVkdWxlIi6C0+STAig6ASoiIy92MS97dmVuZG9yfS9jYWxjdWxhdGlvbnMvc2NoZWR1bGVzEpoBChpEZWxldGVDYWxjdWxhdGlvbnNTY2hlZHVsZRIyLmJsdWVhcGkuY29zdC52MS5EZWxldGVDYWxjdWxhdGlvbnNTY2hlZHVsZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMILT5JMCKiooL3YxL3t2ZW5kb3J9L2NhbGN1bGF0aW9ucy9zY2hlZHVsZXMve2lkfRKGAQoPTGlzdENvc3RGaWx0ZXJzEicuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDb3N0RmlsdGVyc1JlcXVlc3QaKC5ibHVlYXBpLmNvc3QudjEuTGlzdENvc3RGaWx0ZXJzUmVzcG9uc2UiIILT5JMCGhIYL3YxL3t2ZW5kb3J9L2Nvc3RmaWx0ZXJzEo8BChFDcmVhdGVDb3N0RmlsdGVycxIpLmJsdWVhcGkuY29zdC52MS5DcmVhdGVDb3N0RmlsdGVyc1JlcXVlc3QaKi5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQ29zdEZpbHRlcnNSZXNwb25zZSIjgtPkkwIdOgEqIhgvdjEve3ZlbmRvcn0vY29zdGZpbHRlcnMSmgEKEVVwZGF0ZUNvc3RGaWx0ZXJzEikuYmx1ZWFwaS5jb3N0LnYxLlVwZGF0ZUNvc3RGaWx0ZXJzUmVxdWVzdBoqLmJsdWVhcGkuY29zdC52MS5VcGRhdGVDb3N0RmlsdGVyc1Jlc3BvbnNlIi6C0+STAig6ASoaIy92MS97dmVuZG9yfS9jb3N0ZmlsdGVycy97ZmlsdGVySWR9EoMBChFEZWxldGVDb3N0RmlsdGVycxIpLmJsdWVhcGkuY29zdC52MS5EZWxldGVDb3N0RmlsdGVyc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiK4LT5JMCJSojL3YxL3t2ZW5kb3J9L2Nvc3RmaWx0ZXJzL3tmaWx0ZXJJZH0SrQEKFUV4cG9ydENvc3RGaWx0ZXJzRmlsZRItLmJsdWVhcGkuY29zdC52MS5FeHBvcnRDb3N0RmlsdGVyc0ZpbGVSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3N0LnYxLkV4cG9ydENvc3RGaWx0ZXJzRmlsZVJlc3BvbnNlIjWC0+STAi86ASoiKi92MS97dmVuZG9yfS9jb3N0ZmlsdGVycy97ZmlsdGVySWR9OmV4cG9ydBKOAQoSUmVhZENvc3RBdHRyaWJ1dGVzEiouYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0QXR0cmlidXRlc1JlcXVlc3QaIi5ibHVlYXBpLmNvc3QudjEuQ29zdEF0dHJpYnV0ZUl0ZW0iJoLT5JMCIDoBKiIbL3YxL3t2ZW5kb3J9L2Nvc3RhdHRyczpyZWFkMAESigEKEUdldENvc3RBdHRyaWJ1dGVzEikuYmx1ZWFwaS5jb3N0LnYxLkdldENvc3RBdHRyaWJ1dGVzUmVxdWVzdBoqLmJsdWVhcGkuY29zdC52MS5HZXRDb3N0QXR0cmlidXRlc1Jlc3BvbnNlIh6C0+STAhgSFi92MS97dmVuZG9yfS9jb3N0YXR0cnMSbwoJUmVhZENvc3RzEiEuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3QaGS5ibHVlYXBpLmNvc3QudjEuQ29zdEl0ZW0iIoLT5JMCHDoBKiIXL3YxL3t2ZW5kb3J9L2Nvc3RzOnJlYWQwARKBAQoPUmVhZEFkanVzdG1lbnRzEicuYmx1ZWFwaS5jb3N0LnYxLlJlYWRBZGp1c3RtZW50c1JlcXVlc3QaGS5ibHVlYXBpLmNvc3QudjEuQ29zdEl0ZW0iKILT5JMCIjoBKiIdL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRzOnJlYWQwARJ4CgxSZWFkVGFnQ29zdHMSJC5ibHVlYXBpLmNvc3QudjEuUmVhZFRhZ0Nvc3RzUmVxdWVzdBoZLmJsdWVhcGkuY29zdC52MS5Db3N0SXRlbSIlgtPkkwIfOgEqIhovdjEve3ZlbmRvcn0vdGFnY29zdHM6cmVhZDABEoEBCg9SZWFkTm9uVGFnQ29zdHMSJy5ibHVlYXBpLmNvc3QudjEuUmVhZE5vblRhZ0Nvc3RzUmVxdWVzdBoZLmJsdWVhcGkuY29zdC52MS5Db3N0SXRlbSIogtPkkwIiOgEqIh0vdjEve3ZlbmRvcn0vbm9udGFnY29zdHM6cmVhZDABEnsKDEdldEZvcmVjYXN0cxIkLmJsdWVhcGkuY29zdC52MS5HZXRGb3JlY2FzdHNSZXF1ZXN0GiUuYmx1ZWFwaS5jb3N0LnYxLkdldEZvcmVjYXN0c1Jlc3BvbnNlIh6C0+STAhgSFi92MS97dmVuZG9yfS9mb3JlY2FzdHMSrgEKFkdldE1vbnRobHlDb3N0Rm9yZWNhc3QSLi5ibHVlYXBpLmNvc3QudjEuR2V0TW9udGhseUNvc3RGb3JlY2FzdFJlcXVlc3QaLy5ibHVlYXBpLmNvc3QudjEuR2V0TW9udGhseUNvc3RGb3JlY2FzdFJlc3BvbnNlIjOC0+STAi0SKy92MS97dmVuZG9yfS9mb3JlY2FzdHMvbW9udGhseS97bGV2ZWx9L3tpZH0SxAEKG0dldE1vbnRoT25Nb250aENvc3RGb3JlY2FzdBIzLmJsdWVhcGkuY29zdC52MS5HZXRNb250aE9uTW9udGhDb3N0Rm9yZWNhc3RSZXF1ZXN0GjQuYmx1ZWFwaS5jb3N0LnYxLkdldE1vbnRoT25Nb250aENvc3RGb3JlY2FzdFJlc3BvbnNlIjqC0+STAjQSMi92MS97dmVuZG9yfS9mb3JlY2FzdHMvbW9udGgtb24tbW9udGgve2xldmVsfS97aWR9EsABChpHZXRNb250aFRvRGF0ZUNvc3RGb3JlY2FzdBIyLmJsdWVhcGkuY29zdC52MS5HZXRNb250aFRvRGF0ZUNvc3RGb3JlY2FzdFJlcXVlc3QaMy5ibHVlYXBpLmNvc3QudjEuR2V0TW9udGhUb0RhdGVDb3N0Rm9yZWNhc3RSZXNwb25zZSI5gtPkkwIzEjEvdjEve3ZlbmRvcn0vZm9yZWNhc3RzL21vbnRoLXRvLWRhdGUve2xldmVsfS97aWR9EpEBChBHZXRBY2NvdW50QnVkZ2V0EiguYmx1ZWFwaS5jb3N0LnYxLkdldEFjY291bnRCdWRnZXRSZXF1ZXN0GikuYmx1ZWFwaS5jb3N0LnYxLkdldEFjY291bnRCdWRnZXRSZXNwb25zZSIogtPkkwIiEiAvdjEve3ZlbmRvcn0vYnVkZ2V0L3tsZXZlbH0ve2lkfRKdAQoTQ3JlYXRlQWNjb3VudEJ1ZGdldBIrLmJsdWVhcGkuY29zdC52MS5DcmVhdGVBY2NvdW50QnVkZ2V0UmVxdWVzdBosLmJsdWVhcGkuY29zdC52MS5DcmVhdGVBY2NvdW50QnVkZ2V0UmVzcG9uc2UiK4LT5JMCJToBKiIgL3YxL3t2ZW5kb3J9L2J1ZGdldC97bGV2ZWx9L3tpZH0ShQEKE1VwZGF0ZUFjY291bnRCdWRnZXQSKy5ibHVlYXBpLmNvc3QudjEuVXBkYXRlQWNjb3VudEJ1ZGdldFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKYLT5JMCIzoBKhoeL3YxL3t2ZW5kb3J9L2J1ZGdldC97YnVkZ2V0SWR9EoIBChNEZWxldGVBY2NvdW50QnVkZ2V0EisuYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUFjY291bnRCdWRnZXRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiaC0+STAiAqHi92MS97dmVuZG9yfS9idWRnZXQve2J1ZGdldElkfRKJAQoWR2V0QWNjb3VudEJ1ZGdldEFsZXJ0cxIuLmJsdWVhcGkuY29zdC52MS5HZXRBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuYXBpLndhdmUuQnVkZ2V0QWxlcnQiIILT5JMCGhIYL3YxL3t2ZW5kb3J9L2FsZXJ0cy97aWR9EpIBChlDcmVhdGVBY2NvdW50QnVkZ2V0QWxlcnRzEjEuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRCdWRnZXRBbGVydHNSZXF1ZXN0Gh0uYmx1ZWFwaS5hcGkud2F2ZS5CdWRnZXRBbGVydCIjgtPkkwIdOgEqIhgvdjEve3ZlbmRvcn0vYWxlcnRzL3tpZH0SkgEKGVVwZGF0ZUFjY291bnRCdWRnZXRBbGVydHMSMS5ibHVlYXBpLmNvc3QudjEuVXBkYXRlQWNjb3VudEJ1ZGdldEFsZXJ0c1JlcXVlc3QaHS5ibHVlYXBpLmFwaS53YXZlLkJ1ZGdldEFsZXJ0IiOC0+STAh06ASoaGC92MS97dmVuZG9yfS9hbGVydHMve2lkfRKIAQoZRGVsZXRlQWNjb3VudEJ1ZGdldEFsZXJ0cxIxLmJsdWVhcGkuY29zdC52MS5EZWxldGVBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIggtPkkwIaKhgvdjEve3ZlbmRvcn0vYWxlcnRzL3tpZH0SeQoQUmVhZEJ1ZGdldEFsZXJ0cxIoLmJsdWVhcGkuY29zdC52MS5SZWFkQnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuY29zdC52MS5CdWRnZXRBbGVydHMiGoLT5JMCFDoBKiIPL3YxL2FsZXJ0czpyZWFkMAEScgoPR2V0QnVkZ2V0QWxlcnRzEicuYmx1ZWFwaS5jb3N0LnYxLkdldEJ1ZGdldEFsZXJ0c1JlcXVlc3QaHS5ibHVlYXBpLmNvc3QudjEuQnVkZ2V0QWxlcnRzIheC0+STAhESDy92MS9hbGVydHMve2lkfRJ2ChJDcmVhdGVCdWRnZXRBbGVydHMSKi5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuY29zdC52MS5CdWRnZXRBbGVydHMiFYLT5JMCDzoBKiIKL3YxL2FsZXJ0cxJ7ChJVcGRhdGVCdWRnZXRBbGVydHMSKi5ibHVlYXBpLmNvc3QudjEuVXBkYXRlQnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuY29zdC52MS5CdWRnZXRBbGVydHMiGoLT5JMCFDoBKhoPL3YxL2FsZXJ0cy97aWR9EnEKEkRlbGV0ZUJ1ZGdldEFsZXJ0cxIqLmJsdWVhcGkuY29zdC52MS5EZWxldGVCdWRnZXRBbGVydHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IheC0+STAhEqDy92MS9hbGVydHMve2lkfRKjAQoSR2V0UmVjb21tZW5kYXRpb25zEiouYmx1ZWFwaS5jb3N0LnYxLkdldFJlY29tbWVuZGF0aW9uc1JlcXVlc3QaKy5ibHVlYXBpLmNvc3QudjEuR2V0UmVjb21tZW5kYXRpb25zUmVzcG9uc2UiNILT5JMCLjoBKiIpL3YxL3t2ZW5kb3J9L3JlY29tbWVuZGF0aW9ucy97b3JnSWR9OnJlYWQSlwEKEEdldENvc3RSZWR1Y3Rpb24SKC5ibHVlYXBpLmNvc3QudjEuR2V0Q29zdFJlZHVjdGlvblJlcXVlc3QaKS5ibHVlYXBpLmNvc3QudjEuR2V0Q29zdFJlZHVjdGlvblJlc3BvbnNlIi6C0+STAig6ASoiIy92MS97dmVuZG9yfS9yZWR1Y3Rpb24ve29yZ0lkfTpyZWFkEoYBCg1HZXRFeHBvcnRSSVNQEiUuYmx1ZWFwaS5jb3N0LnYxLkdldEV4cG9ydFJJU1BSZXF1ZXN0GiYuYmx1ZWFwaS5jb3N0LnYxLkdldEV4cG9ydFJJU1BSZXNwb25zZSImgtPkkwIgOgEqIhsvdjEvZXhwb3J0Y3N2L3BheWVyczpleHBvcnQSiwEKDkdldFV0aWxpemF0aW9uEiYuYmx1ZWFwaS5jb3N0LnYxLkdldFV0aWxpemF0aW9uUmVxdWVzdBonLmJsdWVhcGkuY29zdC52MS5HZXRVdGlsaXphdGlvblJlc3BvbnNlIiiC0+STAiISIC92MS97dmVuZG9yfS91dGlsaXphdGlvbi97b3JnSWR9EqQBChJHZXRDb3ZlcmFnZU9wdGlvbnMSKi5ibHVlYXBpLmNvc3QudjEuR2V0Q292ZXJhZ2VPcHRpb25zUmVxdWVzdBorLmJsdWVhcGkuY29zdC52MS5HZXRDb3ZlcmFnZU9wdGlvbnNSZXNwb25zZSI1gtPkkwIvOgEqIiovdjEve3ZlbmRvcn0vY292ZXJhZ2Uvb3B0aW9ucy97b3JnSWR9OnJlYWQSqAEKE0dldENvdmVyYWdlT25kZW1hbmQSKy5ibHVlYXBpLmNvc3QudjEuR2V0Q292ZXJhZ2VPbmRlbWFuZFJlcXVlc3QaLC5ibHVlYXBpLmNvc3QudjEuR2V0Q292ZXJhZ2VPbmRlbWFuZFJlc3BvbnNlIjaC0+STAjA6ASoiKy92MS97dmVuZG9yfS9jb3ZlcmFnZS9vbmRlbWFuZC97b3JnSWR9OnJlYWQSjAEKEUdldEJyZWFrZXZlblBvaW50EikuYmx1ZWFwaS5jb3N0LnYxLkdldEJyZWFrZXZlblBvaW50UmVxdWVzdBoqLmJsdWVhcGkuY29zdC52MS5HZXRCcmVha2V2ZW5Qb2ludFJlc3BvbnNlIiCC0+STAhoSGC92MS97dmVuZG9yfS9iZXAve29yZ0lkfRKkAQoYQ2hlY2tBY2NvdW50c0JlbG9uZ1RvTXNwEiUuYmx1ZWFwaS5jb3N0LnYxLkNoZWNrQWNjb3VudHNSZXF1ZXN0GiYuYmx1ZWFwaS5jb3N0LnYxLkNoZWNrQWNjb3VudHNSZXNwb25zZSI5gtPkkwIzOgEqIi4vdjEve3ZlbmRvcn0vYWNjb3VudHMvY3VzdG9tZXJzL2FjY291bnRzOmNoZWNrEowBCg5SZWFkSW52b2ljZUlkcxImLmJsdWVhcGkuY29zdC52MS5SZWFkSW52b2ljZUlkc1JlcXVlc3QaJy5ibHVlYXBpLmNvc3QudjEuUmVhZEludm9pY2VJZHNSZXNwb25zZSIngtPkkwIhOgEqIhwvdjEve3ZlbmRvcn0vaW52b2ljZWlkczpyZWFkMAESlAEKFFJlYWRJbnZvaWNlT3ZlclZpZXdzEiwuYmx1ZWFwaS5jb3N0LnYxLlJlYWRJbnZvaWNlT3ZlcnZpZXdzUmVxdWVzdBomLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5PdmVyVmlld1NlY3Rpb24iJILT5JMCHjoBKiIZL3YxL2ludm9pY2VvdmVydmlld3M6cmVhZDABEoUBChBSZWFkSW52b2ljZUNvc3RzEiguYmx1ZWFwaS5jb3N0LnYxLlJlYWRJbnZvaWNlQ29zdHNSZXF1ZXN0GiMuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLlRvdGFsU2VjdGlvbiIggtPkkwIaOgEqIhUvdjEvaW52b2ljZWNvc3RzOnJlYWQwARKbAQoVUmVhZEludm9pY2VHcm91cENvc3RzEi0uYmx1ZWFwaS5jb3N0LnYxLlJlYWRJbnZvaWNlR3JvdXBDb3N0c1JlcXVlc3QaKi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuQmlsbGluZ0dyb3VwU2VjdGlvbiIlgtPkkwIfOgEqIhovdjEvaW52b2ljZWdyb3VwY29zdHM6cmVhZDABEsMBChxMaXN0Q2FsY3VsYXRpb25QcmVyZXF1aXNpdGVzEjQuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvblByZXJlcXVpc2l0ZXNSZXF1ZXN0GjUuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvblByZXJlcXVpc2l0ZXNSZXNwb25zZSI2gtPkkwIwEi4vdjEve3ZlbmRvcn0vY2FsY3VsYXRpb24vcHJlcmVxdWlzaXRlcy97bW9udGh9Go0BkkGJARI5Q29zdCBBUEkuIEJhc2UgVVJMOiBodHRwczovL2FwaS5hbHBoYXVzLmNsb3VkL20vYmx1ZS9jb3N0GkwKElNlcnZpY2UgZGVmaW5pdGlvbhI2aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2Nvc3QvQvwCChZjbG91ZC5hbHBoYXVzLmFwaS5jb3N0QglDb3N0UHJvdG9aI2dpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS9jb3N0kkGwAhLOAQoaQWxwaGF1cyBCbHVlOiBDb3N0IFNlcnZpY2UiUgoaQWxwaGF1cyBCbHVlOiBDb3N0IFNlcnZpY2USNGh0dHBzOi8vYWxwaGF1c2xhYnMuZ2l0aHViLmlvL2JsdWVhcGkvYXBpcy9jb3N0Lmh0bWwqVwobTGljZW5zZTogQXBhY2hlIExpY2Vuc2UgMi4wEjhodHRwczovL2dpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS9ibG9iL21haW4vTElDRU5TRTIDMS4wcl0KJU1vcmUgYWJvdXQgQWxwaGF1cyBCbHVlOiBDb3N0IFNlcnZpY2USNGh0dHBzOi8vYWxwaGF1c2xhYnMuZ2l0aHViLmlvL2JsdWVhcGkvYXBpcy9jb3N0Lmh0bWxiBnByb3RvMw", [file_api_account, file_api_coverage, file_api_budget, file_api_forecast, file_api_utilization, file_api_aws_breakeven, file_api_aws_cost, file_api_aws_calculator, file_api_aws_recommendation, file_api_aws_reduction, file_api_gcp_cost, file_api_azure_cost, file_api_ripple_payer, file_api_ripple_v1_dashboard, file_api_wave_budget, file_api_costtag, file_protos_operation, file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_empty, file_protoc_gen_openapiv2_options_annotations, file_google_protobuf_field_mask]);
|
|
53
53
|
|
|
54
54
|
/**
|
|
55
55
|
* Request message for the Cost.ListPayerAccounts rpc.
|
|
@@ -109,6 +109,118 @@ export type GetPayerAccountRequest = Message<"blueapi.cost.v1.GetPayerAccountReq
|
|
|
109
109
|
export const GetPayerAccountRequestSchema: GenMessage<GetPayerAccountRequest> = /*@__PURE__*/
|
|
110
110
|
messageDesc(file_cost_v1_cost, 1);
|
|
111
111
|
|
|
112
|
+
/**
|
|
113
|
+
* Extended payer account information with additional metadata.
|
|
114
|
+
*
|
|
115
|
+
* @generated from message blueapi.cost.v1.PayerAccountExtended
|
|
116
|
+
*/
|
|
117
|
+
export type PayerAccountExtended = Message<"blueapi.cost.v1.PayerAccountExtended"> & {
|
|
118
|
+
/**
|
|
119
|
+
* Standard payer account information includes: vendor, id, name, orgId, billingInternalId, and metadata array
|
|
120
|
+
*
|
|
121
|
+
* @generated from field: blueapi.api.ripple.Payer payer = 1;
|
|
122
|
+
*/
|
|
123
|
+
payer?: Payer;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* The target payer account ID (from extended response).
|
|
127
|
+
*
|
|
128
|
+
* @generated from field: string target = 2;
|
|
129
|
+
*/
|
|
130
|
+
target: string;
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* The IAM role ARN for cost access (from payer.metadata or extended response).
|
|
134
|
+
*
|
|
135
|
+
* @generated from field: string roleArn = 3;
|
|
136
|
+
*/
|
|
137
|
+
roleArn: string;
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* The external ID used for assuming the role (if applicable).
|
|
141
|
+
*
|
|
142
|
+
* @generated from field: string externalId = 4;
|
|
143
|
+
*/
|
|
144
|
+
externalId: string;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* The CloudFormation stack ID (if using stack-based deployment).
|
|
148
|
+
*
|
|
149
|
+
* @generated from field: string stackId = 5;
|
|
150
|
+
*/
|
|
151
|
+
stackId: string;
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* The AWS region where the CloudFormation stack is deployed.
|
|
155
|
+
*
|
|
156
|
+
* @generated from field: string stackRegion = 6;
|
|
157
|
+
*/
|
|
158
|
+
stackRegion: string;
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* The CloudFormation template URL used for deployment.
|
|
162
|
+
*
|
|
163
|
+
* @generated from field: string templateUrl = 7;
|
|
164
|
+
*/
|
|
165
|
+
templateUrl: string;
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* The current status of the payer setup. Comma-separated values such as 'curOnly,manualExport', etc.
|
|
169
|
+
*
|
|
170
|
+
* @generated from field: string status = 8;
|
|
171
|
+
*/
|
|
172
|
+
status: string;
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* The timestamp when the payer configuration was last updated in RFC3339 format.
|
|
176
|
+
*
|
|
177
|
+
* @generated from field: string lastUpdated = 9;
|
|
178
|
+
*/
|
|
179
|
+
lastUpdated: string;
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* S3 bucket name (from payer.metadata).
|
|
183
|
+
*
|
|
184
|
+
* @generated from field: string bucketName = 10;
|
|
185
|
+
*/
|
|
186
|
+
bucketName: string;
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* S3 prefix (from payer.metadata).
|
|
190
|
+
*
|
|
191
|
+
* @generated from field: string prefix = 11;
|
|
192
|
+
*/
|
|
193
|
+
prefix: string;
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* CUR report name (from payer.metadata).
|
|
197
|
+
*
|
|
198
|
+
* @generated from field: string reportName = 12;
|
|
199
|
+
*/
|
|
200
|
+
reportName: string;
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Default cost access role ARN (from payer.metadata).
|
|
204
|
+
*
|
|
205
|
+
* @generated from field: string defaultCostAccessRoleArn = 13;
|
|
206
|
+
*/
|
|
207
|
+
defaultCostAccessRoleArn: string;
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* The CUR type for AWS payers. Valid values are `legacy` and `2.0` (from payer.metadata).
|
|
211
|
+
*
|
|
212
|
+
* @generated from field: string curType = 14;
|
|
213
|
+
*/
|
|
214
|
+
curType: string;
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Describes the message blueapi.cost.v1.PayerAccountExtended.
|
|
219
|
+
* Use `create(PayerAccountExtendedSchema)` to create a new message.
|
|
220
|
+
*/
|
|
221
|
+
export const PayerAccountExtendedSchema: GenMessage<PayerAccountExtended> = /*@__PURE__*/
|
|
222
|
+
messageDesc(file_cost_v1_cost, 2);
|
|
223
|
+
|
|
112
224
|
/**
|
|
113
225
|
* Request message for the Cost.GetPayerAccountImportHistory rpc.
|
|
114
226
|
*
|
|
@@ -142,7 +254,7 @@ export type GetPayerAccountImportHistoryRequest = Message<"blueapi.cost.v1.GetPa
|
|
|
142
254
|
* Use `create(GetPayerAccountImportHistoryRequestSchema)` to create a new message.
|
|
143
255
|
*/
|
|
144
256
|
export const GetPayerAccountImportHistoryRequestSchema: GenMessage<GetPayerAccountImportHistoryRequest> = /*@__PURE__*/
|
|
145
|
-
messageDesc(file_cost_v1_cost,
|
|
257
|
+
messageDesc(file_cost_v1_cost, 3);
|
|
146
258
|
|
|
147
259
|
/**
|
|
148
260
|
* Response message for the Cost.GetPayerAccountImportHistory rpc.
|
|
@@ -177,7 +289,7 @@ export type GetPayerAccountImportHistoryResponse = Message<"blueapi.cost.v1.GetP
|
|
|
177
289
|
* Use `create(GetPayerAccountImportHistoryResponseSchema)` to create a new message.
|
|
178
290
|
*/
|
|
179
291
|
export const GetPayerAccountImportHistoryResponseSchema: GenMessage<GetPayerAccountImportHistoryResponse> = /*@__PURE__*/
|
|
180
|
-
messageDesc(file_cost_v1_cost,
|
|
292
|
+
messageDesc(file_cost_v1_cost, 4);
|
|
181
293
|
|
|
182
294
|
/**
|
|
183
295
|
* Request message for Cost.GetPayerProformaReports rpc.
|
|
@@ -205,7 +317,7 @@ export type GetPayerProformaReportsRequest = Message<"blueapi.cost.v1.GetPayerPr
|
|
|
205
317
|
* Use `create(GetPayerProformaReportsRequestSchema)` to create a new message.
|
|
206
318
|
*/
|
|
207
319
|
export const GetPayerProformaReportsRequestSchema: GenMessage<GetPayerProformaReportsRequest> = /*@__PURE__*/
|
|
208
|
-
messageDesc(file_cost_v1_cost,
|
|
320
|
+
messageDesc(file_cost_v1_cost, 5);
|
|
209
321
|
|
|
210
322
|
/**
|
|
211
323
|
* Response message for Cost.GetPayerProformaReports rpc.
|
|
@@ -224,7 +336,7 @@ export type GetPayerProformaReportsResponse = Message<"blueapi.cost.v1.GetPayerP
|
|
|
224
336
|
* Use `create(GetPayerProformaReportsResponseSchema)` to create a new message.
|
|
225
337
|
*/
|
|
226
338
|
export const GetPayerProformaReportsResponseSchema: GenMessage<GetPayerProformaReportsResponse> = /*@__PURE__*/
|
|
227
|
-
messageDesc(file_cost_v1_cost,
|
|
339
|
+
messageDesc(file_cost_v1_cost, 6);
|
|
228
340
|
|
|
229
341
|
/**
|
|
230
342
|
* @generated from message blueapi.cost.v1.ProformaReports
|
|
@@ -285,7 +397,7 @@ export type ProformaReports = Message<"blueapi.cost.v1.ProformaReports"> & {
|
|
|
285
397
|
* Use `create(ProformaReportsSchema)` to create a new message.
|
|
286
398
|
*/
|
|
287
399
|
export const ProformaReportsSchema: GenMessage<ProformaReports> = /*@__PURE__*/
|
|
288
|
-
messageDesc(file_cost_v1_cost,
|
|
400
|
+
messageDesc(file_cost_v1_cost, 7);
|
|
289
401
|
|
|
290
402
|
/**
|
|
291
403
|
* See [https://help.alphaus.cloud/en/articles/3612555-ripple-aws-things-you-need-to-prepare-before-starting] for more information.
|
|
@@ -343,7 +455,7 @@ export type CreatePayerAccountRequestAwsOptions = Message<"blueapi.cost.v1.Creat
|
|
|
343
455
|
* Use `create(CreatePayerAccountRequestAwsOptionsSchema)` to create a new message.
|
|
344
456
|
*/
|
|
345
457
|
export const CreatePayerAccountRequestAwsOptionsSchema: GenMessage<CreatePayerAccountRequestAwsOptions> = /*@__PURE__*/
|
|
346
|
-
messageDesc(file_cost_v1_cost,
|
|
458
|
+
messageDesc(file_cost_v1_cost, 8);
|
|
347
459
|
|
|
348
460
|
/**
|
|
349
461
|
* Request message for the Cost.CreatePayerAccount rpc.
|
|
@@ -371,7 +483,7 @@ export type CreatePayerAccountRequest = Message<"blueapi.cost.v1.CreatePayerAcco
|
|
|
371
483
|
* Use `create(CreatePayerAccountRequestSchema)` to create a new message.
|
|
372
484
|
*/
|
|
373
485
|
export const CreatePayerAccountRequestSchema: GenMessage<CreatePayerAccountRequest> = /*@__PURE__*/
|
|
374
|
-
messageDesc(file_cost_v1_cost,
|
|
486
|
+
messageDesc(file_cost_v1_cost, 9);
|
|
375
487
|
|
|
376
488
|
/**
|
|
377
489
|
* Request message for the Cost.DeletePayerAccount rpc.
|
|
@@ -399,7 +511,7 @@ export type DeletePayerAccountRequest = Message<"blueapi.cost.v1.DeletePayerAcco
|
|
|
399
511
|
* Use `create(DeletePayerAccountRequestSchema)` to create a new message.
|
|
400
512
|
*/
|
|
401
513
|
export const DeletePayerAccountRequestSchema: GenMessage<DeletePayerAccountRequest> = /*@__PURE__*/
|
|
402
|
-
messageDesc(file_cost_v1_cost,
|
|
514
|
+
messageDesc(file_cost_v1_cost, 10);
|
|
403
515
|
|
|
404
516
|
/**
|
|
405
517
|
* Request message for the Cost.ListAccounts rpc.
|
|
@@ -434,7 +546,7 @@ export type ListAccountsRequest = Message<"blueapi.cost.v1.ListAccountsRequest">
|
|
|
434
546
|
* Use `create(ListAccountsRequestSchema)` to create a new message.
|
|
435
547
|
*/
|
|
436
548
|
export const ListAccountsRequestSchema: GenMessage<ListAccountsRequest> = /*@__PURE__*/
|
|
437
|
-
messageDesc(file_cost_v1_cost,
|
|
549
|
+
messageDesc(file_cost_v1_cost, 11);
|
|
438
550
|
|
|
439
551
|
/**
|
|
440
552
|
* Request message for the Cost.GetAccount rpc.
|
|
@@ -469,7 +581,7 @@ export type GetAccountRequest = Message<"blueapi.cost.v1.GetAccountRequest"> & {
|
|
|
469
581
|
* Use `create(GetAccountRequestSchema)` to create a new message.
|
|
470
582
|
*/
|
|
471
583
|
export const GetAccountRequestSchema: GenMessage<GetAccountRequest> = /*@__PURE__*/
|
|
472
|
-
messageDesc(file_cost_v1_cost,
|
|
584
|
+
messageDesc(file_cost_v1_cost, 12);
|
|
473
585
|
|
|
474
586
|
/**
|
|
475
587
|
* AWS-specific options for registering an account.
|
|
@@ -490,7 +602,7 @@ export type CreateAccountRequestAwsOptions = Message<"blueapi.cost.v1.CreateAcco
|
|
|
490
602
|
* Use `create(CreateAccountRequestAwsOptionsSchema)` to create a new message.
|
|
491
603
|
*/
|
|
492
604
|
export const CreateAccountRequestAwsOptionsSchema: GenMessage<CreateAccountRequestAwsOptions> = /*@__PURE__*/
|
|
493
|
-
messageDesc(file_cost_v1_cost,
|
|
605
|
+
messageDesc(file_cost_v1_cost, 13);
|
|
494
606
|
|
|
495
607
|
/**
|
|
496
608
|
* GCP-specific options for registering an account.
|
|
@@ -518,7 +630,7 @@ export type CreateAccountRequestGcpOptions = Message<"blueapi.cost.v1.CreateAcco
|
|
|
518
630
|
* Use `create(CreateAccountRequestGcpOptionsSchema)` to create a new message.
|
|
519
631
|
*/
|
|
520
632
|
export const CreateAccountRequestGcpOptionsSchema: GenMessage<CreateAccountRequestGcpOptions> = /*@__PURE__*/
|
|
521
|
-
messageDesc(file_cost_v1_cost,
|
|
633
|
+
messageDesc(file_cost_v1_cost, 14);
|
|
522
634
|
|
|
523
635
|
/**
|
|
524
636
|
* Request message for the Cost.CreateAccount rpc.
|
|
@@ -574,7 +686,7 @@ export type CreateAccountRequest = Message<"blueapi.cost.v1.CreateAccountRequest
|
|
|
574
686
|
* Use `create(CreateAccountRequestSchema)` to create a new message.
|
|
575
687
|
*/
|
|
576
688
|
export const CreateAccountRequestSchema: GenMessage<CreateAccountRequest> = /*@__PURE__*/
|
|
577
|
-
messageDesc(file_cost_v1_cost,
|
|
689
|
+
messageDesc(file_cost_v1_cost, 15);
|
|
578
690
|
|
|
579
691
|
/**
|
|
580
692
|
* Request message for the Cost.UpdateAccount rpc.
|
|
@@ -609,7 +721,7 @@ export type UpdateAccountRequest = Message<"blueapi.cost.v1.UpdateAccountRequest
|
|
|
609
721
|
* Use `create(UpdateAccountRequestSchema)` to create a new message.
|
|
610
722
|
*/
|
|
611
723
|
export const UpdateAccountRequestSchema: GenMessage<UpdateAccountRequest> = /*@__PURE__*/
|
|
612
|
-
messageDesc(file_cost_v1_cost,
|
|
724
|
+
messageDesc(file_cost_v1_cost, 16);
|
|
613
725
|
|
|
614
726
|
/**
|
|
615
727
|
* Request message for the Cost.DeleteAccount rpc.
|
|
@@ -637,7 +749,7 @@ export type DeleteAccountRequest = Message<"blueapi.cost.v1.DeleteAccountRequest
|
|
|
637
749
|
* Use `create(DeleteAccountRequestSchema)` to create a new message.
|
|
638
750
|
*/
|
|
639
751
|
export const DeleteAccountRequestSchema: GenMessage<DeleteAccountRequest> = /*@__PURE__*/
|
|
640
|
-
messageDesc(file_cost_v1_cost,
|
|
752
|
+
messageDesc(file_cost_v1_cost, 17);
|
|
641
753
|
|
|
642
754
|
/**
|
|
643
755
|
* Request message for the Cost.ListTags rpc.
|
|
@@ -672,7 +784,7 @@ export type ListTagsRequest = Message<"blueapi.cost.v1.ListTagsRequest"> & {
|
|
|
672
784
|
* Use `create(ListTagsRequestSchema)` to create a new message.
|
|
673
785
|
*/
|
|
674
786
|
export const ListTagsRequestSchema: GenMessage<ListTagsRequest> = /*@__PURE__*/
|
|
675
|
-
messageDesc(file_cost_v1_cost,
|
|
787
|
+
messageDesc(file_cost_v1_cost, 18);
|
|
676
788
|
|
|
677
789
|
/**
|
|
678
790
|
* Request message for the Cost.ListCalculatorRunningAccounts rpc.
|
|
@@ -700,7 +812,7 @@ export type ListCalculatorRunningAccountsRequest = Message<"blueapi.cost.v1.List
|
|
|
700
812
|
* Use `create(ListCalculatorRunningAccountsRequestSchema)` to create a new message.
|
|
701
813
|
*/
|
|
702
814
|
export const ListCalculatorRunningAccountsRequestSchema: GenMessage<ListCalculatorRunningAccountsRequest> = /*@__PURE__*/
|
|
703
|
-
messageDesc(file_cost_v1_cost,
|
|
815
|
+
messageDesc(file_cost_v1_cost, 19);
|
|
704
816
|
|
|
705
817
|
/**
|
|
706
818
|
* Response message for the Cost.ListCalculatorRunningAccounts rpc.
|
|
@@ -721,7 +833,7 @@ export type ListCalculatorRunningAccountsResponse = Message<"blueapi.cost.v1.Lis
|
|
|
721
833
|
* Use `create(ListCalculatorRunningAccountsResponseSchema)` to create a new message.
|
|
722
834
|
*/
|
|
723
835
|
export const ListCalculatorRunningAccountsResponseSchema: GenMessage<ListCalculatorRunningAccountsResponse> = /*@__PURE__*/
|
|
724
|
-
messageDesc(file_cost_v1_cost,
|
|
836
|
+
messageDesc(file_cost_v1_cost, 20);
|
|
725
837
|
|
|
726
838
|
/**
|
|
727
839
|
* @generated from message blueapi.cost.v1.ListCalculatorRunningAccountsResponse.AwsRunningAccount
|
|
@@ -761,7 +873,7 @@ export type ListCalculatorRunningAccountsResponse_AwsRunningAccount = Message<"b
|
|
|
761
873
|
* Use `create(ListCalculatorRunningAccountsResponse_AwsRunningAccountSchema)` to create a new message.
|
|
762
874
|
*/
|
|
763
875
|
export const ListCalculatorRunningAccountsResponse_AwsRunningAccountSchema: GenMessage<ListCalculatorRunningAccountsResponse_AwsRunningAccount> = /*@__PURE__*/
|
|
764
|
-
messageDesc(file_cost_v1_cost,
|
|
876
|
+
messageDesc(file_cost_v1_cost, 20, 0);
|
|
765
877
|
|
|
766
878
|
/**
|
|
767
879
|
* Request message for the Cost.GetCalculatorConfig rpc.
|
|
@@ -782,7 +894,7 @@ export type GetCalculatorConfigRequest = Message<"blueapi.cost.v1.GetCalculatorC
|
|
|
782
894
|
* Use `create(GetCalculatorConfigRequestSchema)` to create a new message.
|
|
783
895
|
*/
|
|
784
896
|
export const GetCalculatorConfigRequestSchema: GenMessage<GetCalculatorConfigRequest> = /*@__PURE__*/
|
|
785
|
-
messageDesc(file_cost_v1_cost,
|
|
897
|
+
messageDesc(file_cost_v1_cost, 21);
|
|
786
898
|
|
|
787
899
|
/**
|
|
788
900
|
* Response message for the Cost.GetCalculatorConfig rpc.
|
|
@@ -801,7 +913,7 @@ export type GetCalculatorConfigResponse = Message<"blueapi.cost.v1.GetCalculator
|
|
|
801
913
|
* Use `create(GetCalculatorConfigResponseSchema)` to create a new message.
|
|
802
914
|
*/
|
|
803
915
|
export const GetCalculatorConfigResponseSchema: GenMessage<GetCalculatorConfigResponse> = /*@__PURE__*/
|
|
804
|
-
messageDesc(file_cost_v1_cost,
|
|
916
|
+
messageDesc(file_cost_v1_cost, 22);
|
|
805
917
|
|
|
806
918
|
/**
|
|
807
919
|
* AWS-specific options definition.
|
|
@@ -862,7 +974,7 @@ export type CalculatorCostModifierAwsOptions = Message<"blueapi.cost.v1.Calculat
|
|
|
862
974
|
* Use `create(CalculatorCostModifierAwsOptionsSchema)` to create a new message.
|
|
863
975
|
*/
|
|
864
976
|
export const CalculatorCostModifierAwsOptionsSchema: GenMessage<CalculatorCostModifierAwsOptions> = /*@__PURE__*/
|
|
865
|
-
messageDesc(file_cost_v1_cost,
|
|
977
|
+
messageDesc(file_cost_v1_cost, 23);
|
|
866
978
|
|
|
867
979
|
/**
|
|
868
980
|
* A map of "key:value" attribute filters. The key indicates the column name while the value is the filter value prefixed by either "eq:" (equal), "re:" (regular expressions based on https://github.com/google/re2), or "!re:" (reverse "re:"). No prefix is the same as "eq:". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 && mapfilter2 && mapfilter3, etc.
|
|
@@ -883,7 +995,7 @@ export type CalculatorCostModifierAwsOptions_Qualifier = Message<"blueapi.cost.v
|
|
|
883
995
|
* Use `create(CalculatorCostModifierAwsOptions_QualifierSchema)` to create a new message.
|
|
884
996
|
*/
|
|
885
997
|
export const CalculatorCostModifierAwsOptions_QualifierSchema: GenMessage<CalculatorCostModifierAwsOptions_Qualifier> = /*@__PURE__*/
|
|
886
|
-
messageDesc(file_cost_v1_cost,
|
|
998
|
+
messageDesc(file_cost_v1_cost, 23, 0);
|
|
887
999
|
|
|
888
1000
|
/**
|
|
889
1001
|
* @generated from message blueapi.cost.v1.CalculatorCostModifierAwsOptions.Modifier
|
|
@@ -927,7 +1039,7 @@ export type CalculatorCostModifierAwsOptions_Modifier = Message<"blueapi.cost.v1
|
|
|
927
1039
|
* Use `create(CalculatorCostModifierAwsOptions_ModifierSchema)` to create a new message.
|
|
928
1040
|
*/
|
|
929
1041
|
export const CalculatorCostModifierAwsOptions_ModifierSchema: GenMessage<CalculatorCostModifierAwsOptions_Modifier> = /*@__PURE__*/
|
|
930
|
-
messageDesc(file_cost_v1_cost,
|
|
1042
|
+
messageDesc(file_cost_v1_cost, 23, 1);
|
|
931
1043
|
|
|
932
1044
|
/**
|
|
933
1045
|
* @generated from message blueapi.cost.v1.CalculatorCostModifierAwsOptions.Modifier.DescriptionModifier
|
|
@@ -969,7 +1081,7 @@ export type CalculatorCostModifierAwsOptions_Modifier_DescriptionModifier = Mess
|
|
|
969
1081
|
* Use `create(CalculatorCostModifierAwsOptions_Modifier_DescriptionModifierSchema)` to create a new message.
|
|
970
1082
|
*/
|
|
971
1083
|
export const CalculatorCostModifierAwsOptions_Modifier_DescriptionModifierSchema: GenMessage<CalculatorCostModifierAwsOptions_Modifier_DescriptionModifier> = /*@__PURE__*/
|
|
972
|
-
messageDesc(file_cost_v1_cost,
|
|
1084
|
+
messageDesc(file_cost_v1_cost, 23, 1, 0);
|
|
973
1085
|
|
|
974
1086
|
/**
|
|
975
1087
|
* Azure-specific options definition.
|
|
@@ -1037,7 +1149,7 @@ export type CalculatorCostModifierAzureOptions = Message<"blueapi.cost.v1.Calcul
|
|
|
1037
1149
|
* Use `create(CalculatorCostModifierAzureOptionsSchema)` to create a new message.
|
|
1038
1150
|
*/
|
|
1039
1151
|
export const CalculatorCostModifierAzureOptionsSchema: GenMessage<CalculatorCostModifierAzureOptions> = /*@__PURE__*/
|
|
1040
|
-
messageDesc(file_cost_v1_cost,
|
|
1152
|
+
messageDesc(file_cost_v1_cost, 24);
|
|
1041
1153
|
|
|
1042
1154
|
/**
|
|
1043
1155
|
* A map of "key:value" attribute filters. The key indicates the column name while the value is the filter value prefixed by either "eq:" (equal), "re:" (regular expressions based on https://github.com/google/re2), or "!re:" (reverse "re:"). No prefix is the same as "eq:". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 && mapfilter2 && mapfilter3, etc.
|
|
@@ -1058,7 +1170,7 @@ export type CalculatorCostModifierAzureOptions_Qualifier = Message<"blueapi.cost
|
|
|
1058
1170
|
* Use `create(CalculatorCostModifierAzureOptions_QualifierSchema)` to create a new message.
|
|
1059
1171
|
*/
|
|
1060
1172
|
export const CalculatorCostModifierAzureOptions_QualifierSchema: GenMessage<CalculatorCostModifierAzureOptions_Qualifier> = /*@__PURE__*/
|
|
1061
|
-
messageDesc(file_cost_v1_cost,
|
|
1173
|
+
messageDesc(file_cost_v1_cost, 24, 0);
|
|
1062
1174
|
|
|
1063
1175
|
/**
|
|
1064
1176
|
* @generated from message blueapi.cost.v1.CalculatorCostModifierAzureOptions.Modifier
|
|
@@ -1100,7 +1212,7 @@ export type CalculatorCostModifierAzureOptions_Modifier = Message<"blueapi.cost.
|
|
|
1100
1212
|
* Use `create(CalculatorCostModifierAzureOptions_ModifierSchema)` to create a new message.
|
|
1101
1213
|
*/
|
|
1102
1214
|
export const CalculatorCostModifierAzureOptions_ModifierSchema: GenMessage<CalculatorCostModifierAzureOptions_Modifier> = /*@__PURE__*/
|
|
1103
|
-
messageDesc(file_cost_v1_cost,
|
|
1215
|
+
messageDesc(file_cost_v1_cost, 24, 1);
|
|
1104
1216
|
|
|
1105
1217
|
/**
|
|
1106
1218
|
* @generated from message blueapi.cost.v1.CalculatorCostModifierAzureOptions.Modifier.DescriptionModifier
|
|
@@ -1133,7 +1245,7 @@ export type CalculatorCostModifierAzureOptions_Modifier_DescriptionModifier = Me
|
|
|
1133
1245
|
* Use `create(CalculatorCostModifierAzureOptions_Modifier_DescriptionModifierSchema)` to create a new message.
|
|
1134
1246
|
*/
|
|
1135
1247
|
export const CalculatorCostModifierAzureOptions_Modifier_DescriptionModifierSchema: GenMessage<CalculatorCostModifierAzureOptions_Modifier_DescriptionModifier> = /*@__PURE__*/
|
|
1136
|
-
messageDesc(file_cost_v1_cost,
|
|
1248
|
+
messageDesc(file_cost_v1_cost, 24, 1, 0);
|
|
1137
1249
|
|
|
1138
1250
|
/**
|
|
1139
1251
|
* @generated from message blueapi.cost.v1.CalculatorCostModifier
|
|
@@ -1170,7 +1282,7 @@ export type CalculatorCostModifier = Message<"blueapi.cost.v1.CalculatorCostModi
|
|
|
1170
1282
|
* Use `create(CalculatorCostModifierSchema)` to create a new message.
|
|
1171
1283
|
*/
|
|
1172
1284
|
export const CalculatorCostModifierSchema: GenMessage<CalculatorCostModifier> = /*@__PURE__*/
|
|
1173
|
-
messageDesc(file_cost_v1_cost,
|
|
1285
|
+
messageDesc(file_cost_v1_cost, 25);
|
|
1174
1286
|
|
|
1175
1287
|
/**
|
|
1176
1288
|
* Request message for the Cost.ListCalculatorCostModifiers rpc.
|
|
@@ -1191,7 +1303,7 @@ export type ListCalculatorCostModifiersRequest = Message<"blueapi.cost.v1.ListCa
|
|
|
1191
1303
|
* Use `create(ListCalculatorCostModifiersRequestSchema)` to create a new message.
|
|
1192
1304
|
*/
|
|
1193
1305
|
export const ListCalculatorCostModifiersRequestSchema: GenMessage<ListCalculatorCostModifiersRequest> = /*@__PURE__*/
|
|
1194
|
-
messageDesc(file_cost_v1_cost,
|
|
1306
|
+
messageDesc(file_cost_v1_cost, 26);
|
|
1195
1307
|
|
|
1196
1308
|
/**
|
|
1197
1309
|
* Request message for the Cost.CreateCalculatorCostModifier rpc.
|
|
@@ -1226,7 +1338,7 @@ export type CreateCalculatorCostModifierRequest = Message<"blueapi.cost.v1.Creat
|
|
|
1226
1338
|
* Use `create(CreateCalculatorCostModifierRequestSchema)` to create a new message.
|
|
1227
1339
|
*/
|
|
1228
1340
|
export const CreateCalculatorCostModifierRequestSchema: GenMessage<CreateCalculatorCostModifierRequest> = /*@__PURE__*/
|
|
1229
|
-
messageDesc(file_cost_v1_cost,
|
|
1341
|
+
messageDesc(file_cost_v1_cost, 27);
|
|
1230
1342
|
|
|
1231
1343
|
/**
|
|
1232
1344
|
* Response message for the Cost.CreateCalculatorCostModifier rpc.
|
|
@@ -1250,7 +1362,7 @@ export type CreateCalculatorCostModifierResponse = Message<"blueapi.cost.v1.Crea
|
|
|
1250
1362
|
* Use `create(CreateCalculatorCostModifierResponseSchema)` to create a new message.
|
|
1251
1363
|
*/
|
|
1252
1364
|
export const CreateCalculatorCostModifierResponseSchema: GenMessage<CreateCalculatorCostModifierResponse> = /*@__PURE__*/
|
|
1253
|
-
messageDesc(file_cost_v1_cost,
|
|
1365
|
+
messageDesc(file_cost_v1_cost, 28);
|
|
1254
1366
|
|
|
1255
1367
|
/**
|
|
1256
1368
|
* Request message for the Cost.DeleteCalculatorCostModifier rpc.
|
|
@@ -1278,7 +1390,7 @@ export type DeleteCalculatorCostModifierRequest = Message<"blueapi.cost.v1.Delet
|
|
|
1278
1390
|
* Use `create(DeleteCalculatorCostModifierRequestSchema)` to create a new message.
|
|
1279
1391
|
*/
|
|
1280
1392
|
export const DeleteCalculatorCostModifierRequestSchema: GenMessage<DeleteCalculatorCostModifierRequest> = /*@__PURE__*/
|
|
1281
|
-
messageDesc(file_cost_v1_cost,
|
|
1393
|
+
messageDesc(file_cost_v1_cost, 29);
|
|
1282
1394
|
|
|
1283
1395
|
/**
|
|
1284
1396
|
* Request message for the Cost.ImportCurFiles rpc.
|
|
@@ -1306,7 +1418,7 @@ export type ImportCurFilesRequest = Message<"blueapi.cost.v1.ImportCurFilesReque
|
|
|
1306
1418
|
* Use `create(ImportCurFilesRequestSchema)` to create a new message.
|
|
1307
1419
|
*/
|
|
1308
1420
|
export const ImportCurFilesRequestSchema: GenMessage<ImportCurFilesRequest> = /*@__PURE__*/
|
|
1309
|
-
messageDesc(file_cost_v1_cost,
|
|
1421
|
+
messageDesc(file_cost_v1_cost, 30);
|
|
1310
1422
|
|
|
1311
1423
|
/**
|
|
1312
1424
|
* Response message wrapper for cloud costs.
|
|
@@ -1335,7 +1447,7 @@ export type CostItem = Message<"blueapi.cost.v1.CostItem"> & {
|
|
|
1335
1447
|
* Use `create(CostItemSchema)` to create a new message.
|
|
1336
1448
|
*/
|
|
1337
1449
|
export const CostItemSchema: GenMessage<CostItem> = /*@__PURE__*/
|
|
1338
|
-
messageDesc(file_cost_v1_cost,
|
|
1450
|
+
messageDesc(file_cost_v1_cost, 31);
|
|
1339
1451
|
|
|
1340
1452
|
/**
|
|
1341
1453
|
* @generated from message blueapi.cost.v1.CalculateCostsRequestAwsOptions
|
|
@@ -1368,7 +1480,7 @@ export type CalculateCostsRequestAwsOptions = Message<"blueapi.cost.v1.Calculate
|
|
|
1368
1480
|
* Use `create(CalculateCostsRequestAwsOptionsSchema)` to create a new message.
|
|
1369
1481
|
*/
|
|
1370
1482
|
export const CalculateCostsRequestAwsOptionsSchema: GenMessage<CalculateCostsRequestAwsOptions> = /*@__PURE__*/
|
|
1371
|
-
messageDesc(file_cost_v1_cost,
|
|
1483
|
+
messageDesc(file_cost_v1_cost, 32);
|
|
1372
1484
|
|
|
1373
1485
|
/**
|
|
1374
1486
|
* Request message for the Cost.CalculateCosts rpc.
|
|
@@ -1412,7 +1524,7 @@ export type CalculateCostsRequest = Message<"blueapi.cost.v1.CalculateCostsReque
|
|
|
1412
1524
|
* Use `create(CalculateCostsRequestSchema)` to create a new message.
|
|
1413
1525
|
*/
|
|
1414
1526
|
export const CalculateCostsRequestSchema: GenMessage<CalculateCostsRequest> = /*@__PURE__*/
|
|
1415
|
-
messageDesc(file_cost_v1_cost,
|
|
1527
|
+
messageDesc(file_cost_v1_cost, 33);
|
|
1416
1528
|
|
|
1417
1529
|
/**
|
|
1418
1530
|
* Request message for the Cost.ListCalculationsHistory rpc.
|
|
@@ -1447,7 +1559,7 @@ export type ListCalculationsHistoryRequest = Message<"blueapi.cost.v1.ListCalcul
|
|
|
1447
1559
|
* Use `create(ListCalculationsHistoryRequestSchema)` to create a new message.
|
|
1448
1560
|
*/
|
|
1449
1561
|
export const ListCalculationsHistoryRequestSchema: GenMessage<ListCalculationsHistoryRequest> = /*@__PURE__*/
|
|
1450
|
-
messageDesc(file_cost_v1_cost,
|
|
1562
|
+
messageDesc(file_cost_v1_cost, 34);
|
|
1451
1563
|
|
|
1452
1564
|
/**
|
|
1453
1565
|
* AWS-specific response message for the Cost.ListCalculationsHistory rpc. Should be compatible with the Operations API.
|
|
@@ -1466,7 +1578,7 @@ export type ListCalculationsHistoryAwsResponse = Message<"blueapi.cost.v1.ListCa
|
|
|
1466
1578
|
* Use `create(ListCalculationsHistoryAwsResponseSchema)` to create a new message.
|
|
1467
1579
|
*/
|
|
1468
1580
|
export const ListCalculationsHistoryAwsResponseSchema: GenMessage<ListCalculationsHistoryAwsResponse> = /*@__PURE__*/
|
|
1469
|
-
messageDesc(file_cost_v1_cost,
|
|
1581
|
+
messageDesc(file_cost_v1_cost, 35);
|
|
1470
1582
|
|
|
1471
1583
|
/**
|
|
1472
1584
|
* Response message for the Cost.ListCalculationsHistory rpc.
|
|
@@ -1485,7 +1597,7 @@ export type ListCalculationsHistoryResponse = Message<"blueapi.cost.v1.ListCalcu
|
|
|
1485
1597
|
* Use `create(ListCalculationsHistoryResponseSchema)` to create a new message.
|
|
1486
1598
|
*/
|
|
1487
1599
|
export const ListCalculationsHistoryResponseSchema: GenMessage<ListCalculationsHistoryResponse> = /*@__PURE__*/
|
|
1488
|
-
messageDesc(file_cost_v1_cost,
|
|
1600
|
+
messageDesc(file_cost_v1_cost, 36);
|
|
1489
1601
|
|
|
1490
1602
|
/**
|
|
1491
1603
|
* @generated from message blueapi.cost.v1.CalculationsSchedule
|
|
@@ -1560,7 +1672,7 @@ export type CalculationsSchedule = Message<"blueapi.cost.v1.CalculationsSchedule
|
|
|
1560
1672
|
* Use `create(CalculationsScheduleSchema)` to create a new message.
|
|
1561
1673
|
*/
|
|
1562
1674
|
export const CalculationsScheduleSchema: GenMessage<CalculationsSchedule> = /*@__PURE__*/
|
|
1563
|
-
messageDesc(file_cost_v1_cost,
|
|
1675
|
+
messageDesc(file_cost_v1_cost, 37);
|
|
1564
1676
|
|
|
1565
1677
|
/**
|
|
1566
1678
|
* Request message for the Cost.ListCalculationsSchedules rpc.
|
|
@@ -1581,7 +1693,7 @@ export type ListCalculationsSchedulesRequest = Message<"blueapi.cost.v1.ListCalc
|
|
|
1581
1693
|
* Use `create(ListCalculationsSchedulesRequestSchema)` to create a new message.
|
|
1582
1694
|
*/
|
|
1583
1695
|
export const ListCalculationsSchedulesRequestSchema: GenMessage<ListCalculationsSchedulesRequest> = /*@__PURE__*/
|
|
1584
|
-
messageDesc(file_cost_v1_cost,
|
|
1696
|
+
messageDesc(file_cost_v1_cost, 38);
|
|
1585
1697
|
|
|
1586
1698
|
/**
|
|
1587
1699
|
* Response message for the Cost.ListCalculationsSchedules rpc.
|
|
@@ -1600,7 +1712,7 @@ export type ListCalculationsSchedulesResponse = Message<"blueapi.cost.v1.ListCal
|
|
|
1600
1712
|
* Use `create(ListCalculationsSchedulesResponseSchema)` to create a new message.
|
|
1601
1713
|
*/
|
|
1602
1714
|
export const ListCalculationsSchedulesResponseSchema: GenMessage<ListCalculationsSchedulesResponse> = /*@__PURE__*/
|
|
1603
|
-
messageDesc(file_cost_v1_cost,
|
|
1715
|
+
messageDesc(file_cost_v1_cost, 39);
|
|
1604
1716
|
|
|
1605
1717
|
/**
|
|
1606
1718
|
* Request message for the Cost.CreateCalculationsSchedule rpc.
|
|
@@ -1679,7 +1791,7 @@ export type CreateCalculationsScheduleRequest = Message<"blueapi.cost.v1.CreateC
|
|
|
1679
1791
|
* Use `create(CreateCalculationsScheduleRequestSchema)` to create a new message.
|
|
1680
1792
|
*/
|
|
1681
1793
|
export const CreateCalculationsScheduleRequestSchema: GenMessage<CreateCalculationsScheduleRequest> = /*@__PURE__*/
|
|
1682
|
-
messageDesc(file_cost_v1_cost,
|
|
1794
|
+
messageDesc(file_cost_v1_cost, 40);
|
|
1683
1795
|
|
|
1684
1796
|
/**
|
|
1685
1797
|
* Request message for the Cost.DeleteCalculationsSchedule rpc.
|
|
@@ -1707,7 +1819,7 @@ export type DeleteCalculationsScheduleRequest = Message<"blueapi.cost.v1.DeleteC
|
|
|
1707
1819
|
* Use `create(DeleteCalculationsScheduleRequestSchema)` to create a new message.
|
|
1708
1820
|
*/
|
|
1709
1821
|
export const DeleteCalculationsScheduleRequestSchema: GenMessage<DeleteCalculationsScheduleRequest> = /*@__PURE__*/
|
|
1710
|
-
messageDesc(file_cost_v1_cost,
|
|
1822
|
+
messageDesc(file_cost_v1_cost, 41);
|
|
1711
1823
|
|
|
1712
1824
|
/**
|
|
1713
1825
|
* Request message for the Cost.ReadCostAttributes rpc.
|
|
@@ -1772,7 +1884,7 @@ export type ReadCostAttributesRequest = Message<"blueapi.cost.v1.ReadCostAttribu
|
|
|
1772
1884
|
* Use `create(ReadCostAttributesRequestSchema)` to create a new message.
|
|
1773
1885
|
*/
|
|
1774
1886
|
export const ReadCostAttributesRequestSchema: GenMessage<ReadCostAttributesRequest> = /*@__PURE__*/
|
|
1775
|
-
messageDesc(file_cost_v1_cost,
|
|
1887
|
+
messageDesc(file_cost_v1_cost, 42);
|
|
1776
1888
|
|
|
1777
1889
|
/**
|
|
1778
1890
|
* @generated from message blueapi.cost.v1.ReadCostAttributesRequest.AwsOptions
|
|
@@ -1791,7 +1903,7 @@ export type ReadCostAttributesRequest_AwsOptions = Message<"blueapi.cost.v1.Read
|
|
|
1791
1903
|
* Use `create(ReadCostAttributesRequest_AwsOptionsSchema)` to create a new message.
|
|
1792
1904
|
*/
|
|
1793
1905
|
export const ReadCostAttributesRequest_AwsOptionsSchema: GenMessage<ReadCostAttributesRequest_AwsOptions> = /*@__PURE__*/
|
|
1794
|
-
messageDesc(file_cost_v1_cost,
|
|
1906
|
+
messageDesc(file_cost_v1_cost, 42, 0);
|
|
1795
1907
|
|
|
1796
1908
|
/**
|
|
1797
1909
|
* @generated from message blueapi.cost.v1.ReadCostAttributesRequest.AzureOptions
|
|
@@ -1824,7 +1936,7 @@ export type ReadCostAttributesRequest_AzureOptions = Message<"blueapi.cost.v1.Re
|
|
|
1824
1936
|
* Use `create(ReadCostAttributesRequest_AzureOptionsSchema)` to create a new message.
|
|
1825
1937
|
*/
|
|
1826
1938
|
export const ReadCostAttributesRequest_AzureOptionsSchema: GenMessage<ReadCostAttributesRequest_AzureOptions> = /*@__PURE__*/
|
|
1827
|
-
messageDesc(file_cost_v1_cost,
|
|
1939
|
+
messageDesc(file_cost_v1_cost, 42, 1);
|
|
1828
1940
|
|
|
1829
1941
|
/**
|
|
1830
1942
|
* Response message for the Cost.ReadCostAttributes rpc.
|
|
@@ -1848,7 +1960,7 @@ export type CostAttributeItem = Message<"blueapi.cost.v1.CostAttributeItem"> & {
|
|
|
1848
1960
|
* Use `create(CostAttributeItemSchema)` to create a new message.
|
|
1849
1961
|
*/
|
|
1850
1962
|
export const CostAttributeItemSchema: GenMessage<CostAttributeItem> = /*@__PURE__*/
|
|
1851
|
-
messageDesc(file_cost_v1_cost,
|
|
1963
|
+
messageDesc(file_cost_v1_cost, 43);
|
|
1852
1964
|
|
|
1853
1965
|
/**
|
|
1854
1966
|
* Request message for the Cost.GetCostAttributes rpc.
|
|
@@ -1897,7 +2009,7 @@ export type GetCostAttributesRequest = Message<"blueapi.cost.v1.GetCostAttribute
|
|
|
1897
2009
|
* Use `create(GetCostAttributesRequestSchema)` to create a new message.
|
|
1898
2010
|
*/
|
|
1899
2011
|
export const GetCostAttributesRequestSchema: GenMessage<GetCostAttributesRequest> = /*@__PURE__*/
|
|
1900
|
-
messageDesc(file_cost_v1_cost,
|
|
2012
|
+
messageDesc(file_cost_v1_cost, 44);
|
|
1901
2013
|
|
|
1902
2014
|
/**
|
|
1903
2015
|
* Response message for the Cost.GetCostAttributes rpc.
|
|
@@ -1918,7 +2030,7 @@ export type GetCostAttributesResponse = Message<"blueapi.cost.v1.GetCostAttribut
|
|
|
1918
2030
|
* Use `create(GetCostAttributesResponseSchema)` to create a new message.
|
|
1919
2031
|
*/
|
|
1920
2032
|
export const GetCostAttributesResponseSchema: GenMessage<GetCostAttributesResponse> = /*@__PURE__*/
|
|
1921
|
-
messageDesc(file_cost_v1_cost,
|
|
2033
|
+
messageDesc(file_cost_v1_cost, 45);
|
|
1922
2034
|
|
|
1923
2035
|
/**
|
|
1924
2036
|
* @generated from message blueapi.cost.v1.CostAttribute
|
|
@@ -1945,7 +2057,7 @@ export type CostAttribute = Message<"blueapi.cost.v1.CostAttribute"> & {
|
|
|
1945
2057
|
* Use `create(CostAttributeSchema)` to create a new message.
|
|
1946
2058
|
*/
|
|
1947
2059
|
export const CostAttributeSchema: GenMessage<CostAttribute> = /*@__PURE__*/
|
|
1948
|
-
messageDesc(file_cost_v1_cost,
|
|
2060
|
+
messageDesc(file_cost_v1_cost, 46);
|
|
1949
2061
|
|
|
1950
2062
|
/**
|
|
1951
2063
|
* A map of "key:value" column filters. Dependent on `groupByColumns` and/or `groupByMonth`. The key indicates the column name while the value is the filter value prefixed by either "eq:" (equal), "re:" (regular expressions based on https://github.com/google/re2), or "!re:" (reverse "re:"). No prefix is the same as "eq:". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 && mapfilter2 && mapfilter3, etc.
|
|
@@ -1966,7 +2078,7 @@ export type ReadCostsRequestAwsOptionsFilters = Message<"blueapi.cost.v1.ReadCos
|
|
|
1966
2078
|
* Use `create(ReadCostsRequestAwsOptionsFiltersSchema)` to create a new message.
|
|
1967
2079
|
*/
|
|
1968
2080
|
export const ReadCostsRequestAwsOptionsFiltersSchema: GenMessage<ReadCostsRequestAwsOptionsFilters> = /*@__PURE__*/
|
|
1969
|
-
messageDesc(file_cost_v1_cost,
|
|
2081
|
+
messageDesc(file_cost_v1_cost, 47);
|
|
1970
2082
|
|
|
1971
2083
|
/**
|
|
1972
2084
|
* AWS-specific options for ReadCostsRequest.
|
|
@@ -2068,7 +2180,7 @@ export type ReadCostsRequestAwsOptions = Message<"blueapi.cost.v1.ReadCostsReque
|
|
|
2068
2180
|
* Use `create(ReadCostsRequestAwsOptionsSchema)` to create a new message.
|
|
2069
2181
|
*/
|
|
2070
2182
|
export const ReadCostsRequestAwsOptionsSchema: GenMessage<ReadCostsRequestAwsOptions> = /*@__PURE__*/
|
|
2071
|
-
messageDesc(file_cost_v1_cost,
|
|
2183
|
+
messageDesc(file_cost_v1_cost, 48);
|
|
2072
2184
|
|
|
2073
2185
|
/**
|
|
2074
2186
|
* A map of "key:value" tag filters. The key indicates the tag key while the value is the filter tag value which can be prefixed by either "eq:" (equal), "re:" (regular expressions based on https://github.com/google/re2), or "!re:" (reverse "re:"). No prefix is the same as "eq:". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 && mapfilter2 && mapfilter3, etc.
|
|
@@ -2089,7 +2201,7 @@ export type ReadCostsRequestAwsOptions_TagFilters = Message<"blueapi.cost.v1.Rea
|
|
|
2089
2201
|
* Use `create(ReadCostsRequestAwsOptions_TagFiltersSchema)` to create a new message.
|
|
2090
2202
|
*/
|
|
2091
2203
|
export const ReadCostsRequestAwsOptions_TagFiltersSchema: GenMessage<ReadCostsRequestAwsOptions_TagFilters> = /*@__PURE__*/
|
|
2092
|
-
messageDesc(file_cost_v1_cost,
|
|
2204
|
+
messageDesc(file_cost_v1_cost, 48, 0);
|
|
2093
2205
|
|
|
2094
2206
|
/**
|
|
2095
2207
|
* Request message for the Cost.ReadCosts rpc.
|
|
@@ -2163,7 +2275,7 @@ export type ReadCostsRequest = Message<"blueapi.cost.v1.ReadCostsRequest"> & {
|
|
|
2163
2275
|
* Use `create(ReadCostsRequestSchema)` to create a new message.
|
|
2164
2276
|
*/
|
|
2165
2277
|
export const ReadCostsRequestSchema: GenMessage<ReadCostsRequest> = /*@__PURE__*/
|
|
2166
|
-
messageDesc(file_cost_v1_cost,
|
|
2278
|
+
messageDesc(file_cost_v1_cost, 49);
|
|
2167
2279
|
|
|
2168
2280
|
/**
|
|
2169
2281
|
* @generated from message blueapi.cost.v1.ReadAdjustmentsRequestAwsOptions
|
|
@@ -2182,7 +2294,7 @@ export type ReadAdjustmentsRequestAwsOptions = Message<"blueapi.cost.v1.ReadAdju
|
|
|
2182
2294
|
* Use `create(ReadAdjustmentsRequestAwsOptionsSchema)` to create a new message.
|
|
2183
2295
|
*/
|
|
2184
2296
|
export const ReadAdjustmentsRequestAwsOptionsSchema: GenMessage<ReadAdjustmentsRequestAwsOptions> = /*@__PURE__*/
|
|
2185
|
-
messageDesc(file_cost_v1_cost,
|
|
2297
|
+
messageDesc(file_cost_v1_cost, 50);
|
|
2186
2298
|
|
|
2187
2299
|
/**
|
|
2188
2300
|
* Request message for the Cost.ReadAdjustments rpc.
|
|
@@ -2238,7 +2350,7 @@ export type ReadAdjustmentsRequest = Message<"blueapi.cost.v1.ReadAdjustmentsReq
|
|
|
2238
2350
|
* Use `create(ReadAdjustmentsRequestSchema)` to create a new message.
|
|
2239
2351
|
*/
|
|
2240
2352
|
export const ReadAdjustmentsRequestSchema: GenMessage<ReadAdjustmentsRequest> = /*@__PURE__*/
|
|
2241
|
-
messageDesc(file_cost_v1_cost,
|
|
2353
|
+
messageDesc(file_cost_v1_cost, 51);
|
|
2242
2354
|
|
|
2243
2355
|
/**
|
|
2244
2356
|
* @generated from message blueapi.cost.v1.ReadTagCostsRequestAwsOptions
|
|
@@ -2331,7 +2443,7 @@ export type ReadTagCostsRequestAwsOptions = Message<"blueapi.cost.v1.ReadTagCost
|
|
|
2331
2443
|
* Use `create(ReadTagCostsRequestAwsOptionsSchema)` to create a new message.
|
|
2332
2444
|
*/
|
|
2333
2445
|
export const ReadTagCostsRequestAwsOptionsSchema: GenMessage<ReadTagCostsRequestAwsOptions> = /*@__PURE__*/
|
|
2334
|
-
messageDesc(file_cost_v1_cost,
|
|
2446
|
+
messageDesc(file_cost_v1_cost, 52);
|
|
2335
2447
|
|
|
2336
2448
|
/**
|
|
2337
2449
|
* A map of "key:value" tag filters. The key indicates the tag key while the value is the filter tag value which can be prefixed by either "eq:" (equal), "re:" (regular expressions based on https://github.com/google/re2), or "!re:" (reverse "re:"). No prefix is the same as "eq:". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 && mapfilter2 && mapfilter3, etc.
|
|
@@ -2352,7 +2464,7 @@ export type ReadTagCostsRequestAwsOptions_TagFilters = Message<"blueapi.cost.v1.
|
|
|
2352
2464
|
* Use `create(ReadTagCostsRequestAwsOptions_TagFiltersSchema)` to create a new message.
|
|
2353
2465
|
*/
|
|
2354
2466
|
export const ReadTagCostsRequestAwsOptions_TagFiltersSchema: GenMessage<ReadTagCostsRequestAwsOptions_TagFilters> = /*@__PURE__*/
|
|
2355
|
-
messageDesc(file_cost_v1_cost,
|
|
2467
|
+
messageDesc(file_cost_v1_cost, 52, 0);
|
|
2356
2468
|
|
|
2357
2469
|
/**
|
|
2358
2470
|
* Request message for the Cost.ReadTagCosts rpc.
|
|
@@ -2408,7 +2520,7 @@ export type ReadTagCostsRequest = Message<"blueapi.cost.v1.ReadTagCostsRequest">
|
|
|
2408
2520
|
* Use `create(ReadTagCostsRequestSchema)` to create a new message.
|
|
2409
2521
|
*/
|
|
2410
2522
|
export const ReadTagCostsRequestSchema: GenMessage<ReadTagCostsRequest> = /*@__PURE__*/
|
|
2411
|
-
messageDesc(file_cost_v1_cost,
|
|
2523
|
+
messageDesc(file_cost_v1_cost, 53);
|
|
2412
2524
|
|
|
2413
2525
|
/**
|
|
2414
2526
|
* Request message for the Cost.ReadNonTagCosts rpc.
|
|
@@ -2457,7 +2569,7 @@ export type ReadNonTagCostsRequest = Message<"blueapi.cost.v1.ReadNonTagCostsReq
|
|
|
2457
2569
|
* Use `create(ReadNonTagCostsRequestSchema)` to create a new message.
|
|
2458
2570
|
*/
|
|
2459
2571
|
export const ReadNonTagCostsRequestSchema: GenMessage<ReadNonTagCostsRequest> = /*@__PURE__*/
|
|
2460
|
-
messageDesc(file_cost_v1_cost,
|
|
2572
|
+
messageDesc(file_cost_v1_cost, 54);
|
|
2461
2573
|
|
|
2462
2574
|
/**
|
|
2463
2575
|
* Request message for GetForecasts per billing group.
|
|
@@ -2514,7 +2626,7 @@ export type GetForecastsRequest = Message<"blueapi.cost.v1.GetForecastsRequest">
|
|
|
2514
2626
|
* Use `create(GetForecastsRequestSchema)` to create a new message.
|
|
2515
2627
|
*/
|
|
2516
2628
|
export const GetForecastsRequestSchema: GenMessage<GetForecastsRequest> = /*@__PURE__*/
|
|
2517
|
-
messageDesc(file_cost_v1_cost,
|
|
2629
|
+
messageDesc(file_cost_v1_cost, 55);
|
|
2518
2630
|
|
|
2519
2631
|
/**
|
|
2520
2632
|
* Response message for GetForecasts per billing group.
|
|
@@ -2533,7 +2645,7 @@ export type GetForecastsResponse = Message<"blueapi.cost.v1.GetForecastsResponse
|
|
|
2533
2645
|
* Use `create(GetForecastsResponseSchema)` to create a new message.
|
|
2534
2646
|
*/
|
|
2535
2647
|
export const GetForecastsResponseSchema: GenMessage<GetForecastsResponse> = /*@__PURE__*/
|
|
2536
|
-
messageDesc(file_cost_v1_cost,
|
|
2648
|
+
messageDesc(file_cost_v1_cost, 56);
|
|
2537
2649
|
|
|
2538
2650
|
/**
|
|
2539
2651
|
* Request message for GetMonthlyCostForecast
|
|
@@ -2582,7 +2694,7 @@ export type GetMonthlyCostForecastRequest = Message<"blueapi.cost.v1.GetMonthlyC
|
|
|
2582
2694
|
* Use `create(GetMonthlyCostForecastRequestSchema)` to create a new message.
|
|
2583
2695
|
*/
|
|
2584
2696
|
export const GetMonthlyCostForecastRequestSchema: GenMessage<GetMonthlyCostForecastRequest> = /*@__PURE__*/
|
|
2585
|
-
messageDesc(file_cost_v1_cost,
|
|
2697
|
+
messageDesc(file_cost_v1_cost, 57);
|
|
2586
2698
|
|
|
2587
2699
|
/**
|
|
2588
2700
|
* Response message for GetMonthlyCostForecast
|
|
@@ -2611,7 +2723,7 @@ export type GetMonthlyCostForecastResponse = Message<"blueapi.cost.v1.GetMonthly
|
|
|
2611
2723
|
* Use `create(GetMonthlyCostForecastResponseSchema)` to create a new message.
|
|
2612
2724
|
*/
|
|
2613
2725
|
export const GetMonthlyCostForecastResponseSchema: GenMessage<GetMonthlyCostForecastResponse> = /*@__PURE__*/
|
|
2614
|
-
messageDesc(file_cost_v1_cost,
|
|
2726
|
+
messageDesc(file_cost_v1_cost, 58);
|
|
2615
2727
|
|
|
2616
2728
|
/**
|
|
2617
2729
|
* Request message for GetMonthOnMonthCostForecast
|
|
@@ -2653,7 +2765,7 @@ export type GetMonthOnMonthCostForecastRequest = Message<"blueapi.cost.v1.GetMon
|
|
|
2653
2765
|
* Use `create(GetMonthOnMonthCostForecastRequestSchema)` to create a new message.
|
|
2654
2766
|
*/
|
|
2655
2767
|
export const GetMonthOnMonthCostForecastRequestSchema: GenMessage<GetMonthOnMonthCostForecastRequest> = /*@__PURE__*/
|
|
2656
|
-
messageDesc(file_cost_v1_cost,
|
|
2768
|
+
messageDesc(file_cost_v1_cost, 59);
|
|
2657
2769
|
|
|
2658
2770
|
/**
|
|
2659
2771
|
* Response message for GetMonthOnMonthCostForecast
|
|
@@ -2682,7 +2794,7 @@ export type GetMonthOnMonthCostForecastResponse = Message<"blueapi.cost.v1.GetMo
|
|
|
2682
2794
|
* Use `create(GetMonthOnMonthCostForecastResponseSchema)` to create a new message.
|
|
2683
2795
|
*/
|
|
2684
2796
|
export const GetMonthOnMonthCostForecastResponseSchema: GenMessage<GetMonthOnMonthCostForecastResponse> = /*@__PURE__*/
|
|
2685
|
-
messageDesc(file_cost_v1_cost,
|
|
2797
|
+
messageDesc(file_cost_v1_cost, 60);
|
|
2686
2798
|
|
|
2687
2799
|
/**
|
|
2688
2800
|
* Request message for GetMonthToDateCostForecast
|
|
@@ -2724,7 +2836,7 @@ export type GetMonthToDateCostForecastRequest = Message<"blueapi.cost.v1.GetMont
|
|
|
2724
2836
|
* Use `create(GetMonthToDateCostForecastRequestSchema)` to create a new message.
|
|
2725
2837
|
*/
|
|
2726
2838
|
export const GetMonthToDateCostForecastRequestSchema: GenMessage<GetMonthToDateCostForecastRequest> = /*@__PURE__*/
|
|
2727
|
-
messageDesc(file_cost_v1_cost,
|
|
2839
|
+
messageDesc(file_cost_v1_cost, 61);
|
|
2728
2840
|
|
|
2729
2841
|
/**
|
|
2730
2842
|
* Response message for GetMonthToDateCostForecast
|
|
@@ -2758,7 +2870,7 @@ export type GetMonthToDateCostForecastResponse = Message<"blueapi.cost.v1.GetMon
|
|
|
2758
2870
|
* Use `create(GetMonthToDateCostForecastResponseSchema)` to create a new message.
|
|
2759
2871
|
*/
|
|
2760
2872
|
export const GetMonthToDateCostForecastResponseSchema: GenMessage<GetMonthToDateCostForecastResponse> = /*@__PURE__*/
|
|
2761
|
-
messageDesc(file_cost_v1_cost,
|
|
2873
|
+
messageDesc(file_cost_v1_cost, 62);
|
|
2762
2874
|
|
|
2763
2875
|
/**
|
|
2764
2876
|
* Request message for GetAccountBudget
|
|
@@ -2800,7 +2912,7 @@ export type GetAccountBudgetRequest = Message<"blueapi.cost.v1.GetAccountBudgetR
|
|
|
2800
2912
|
* Use `create(GetAccountBudgetRequestSchema)` to create a new message.
|
|
2801
2913
|
*/
|
|
2802
2914
|
export const GetAccountBudgetRequestSchema: GenMessage<GetAccountBudgetRequest> = /*@__PURE__*/
|
|
2803
|
-
messageDesc(file_cost_v1_cost,
|
|
2915
|
+
messageDesc(file_cost_v1_cost, 63);
|
|
2804
2916
|
|
|
2805
2917
|
/**
|
|
2806
2918
|
* Response message for GetAccountBudget
|
|
@@ -2819,7 +2931,7 @@ export type GetAccountBudgetResponse = Message<"blueapi.cost.v1.GetAccountBudget
|
|
|
2819
2931
|
* Use `create(GetAccountBudgetResponseSchema)` to create a new message.
|
|
2820
2932
|
*/
|
|
2821
2933
|
export const GetAccountBudgetResponseSchema: GenMessage<GetAccountBudgetResponse> = /*@__PURE__*/
|
|
2822
|
-
messageDesc(file_cost_v1_cost,
|
|
2934
|
+
messageDesc(file_cost_v1_cost, 64);
|
|
2823
2935
|
|
|
2824
2936
|
/**
|
|
2825
2937
|
* Request message for CreateAccountBudget
|
|
@@ -2859,7 +2971,7 @@ export type CreateAccountBudgetRequest = Message<"blueapi.cost.v1.CreateAccountB
|
|
|
2859
2971
|
* Use `create(CreateAccountBudgetRequestSchema)` to create a new message.
|
|
2860
2972
|
*/
|
|
2861
2973
|
export const CreateAccountBudgetRequestSchema: GenMessage<CreateAccountBudgetRequest> = /*@__PURE__*/
|
|
2862
|
-
messageDesc(file_cost_v1_cost,
|
|
2974
|
+
messageDesc(file_cost_v1_cost, 65);
|
|
2863
2975
|
|
|
2864
2976
|
/**
|
|
2865
2977
|
* Response message for CreateAccountBudget
|
|
@@ -2880,7 +2992,7 @@ export type CreateAccountBudgetResponse = Message<"blueapi.cost.v1.CreateAccount
|
|
|
2880
2992
|
* Use `create(CreateAccountBudgetResponseSchema)` to create a new message.
|
|
2881
2993
|
*/
|
|
2882
2994
|
export const CreateAccountBudgetResponseSchema: GenMessage<CreateAccountBudgetResponse> = /*@__PURE__*/
|
|
2883
|
-
messageDesc(file_cost_v1_cost,
|
|
2995
|
+
messageDesc(file_cost_v1_cost, 66);
|
|
2884
2996
|
|
|
2885
2997
|
/**
|
|
2886
2998
|
* Request message for UpdateAccountBudget
|
|
@@ -2913,7 +3025,7 @@ export type UpdateAccountBudgetRequest = Message<"blueapi.cost.v1.UpdateAccountB
|
|
|
2913
3025
|
* Use `create(UpdateAccountBudgetRequestSchema)` to create a new message.
|
|
2914
3026
|
*/
|
|
2915
3027
|
export const UpdateAccountBudgetRequestSchema: GenMessage<UpdateAccountBudgetRequest> = /*@__PURE__*/
|
|
2916
|
-
messageDesc(file_cost_v1_cost,
|
|
3028
|
+
messageDesc(file_cost_v1_cost, 67);
|
|
2917
3029
|
|
|
2918
3030
|
/**
|
|
2919
3031
|
* Request message for DeleteAccountBudget
|
|
@@ -2941,7 +3053,7 @@ export type DeleteAccountBudgetRequest = Message<"blueapi.cost.v1.DeleteAccountB
|
|
|
2941
3053
|
* Use `create(DeleteAccountBudgetRequestSchema)` to create a new message.
|
|
2942
3054
|
*/
|
|
2943
3055
|
export const DeleteAccountBudgetRequestSchema: GenMessage<DeleteAccountBudgetRequest> = /*@__PURE__*/
|
|
2944
|
-
messageDesc(file_cost_v1_cost,
|
|
3056
|
+
messageDesc(file_cost_v1_cost, 68);
|
|
2945
3057
|
|
|
2946
3058
|
/**
|
|
2947
3059
|
* @generated from message blueapi.cost.v1.GetRecommendationsRequestAwsOptions
|
|
@@ -3024,7 +3136,7 @@ export type GetRecommendationsRequestAwsOptions = Message<"blueapi.cost.v1.GetRe
|
|
|
3024
3136
|
* Use `create(GetRecommendationsRequestAwsOptionsSchema)` to create a new message.
|
|
3025
3137
|
*/
|
|
3026
3138
|
export const GetRecommendationsRequestAwsOptionsSchema: GenMessage<GetRecommendationsRequestAwsOptions> = /*@__PURE__*/
|
|
3027
|
-
messageDesc(file_cost_v1_cost,
|
|
3139
|
+
messageDesc(file_cost_v1_cost, 69);
|
|
3028
3140
|
|
|
3029
3141
|
/**
|
|
3030
3142
|
* Request message for GetRecommendations
|
|
@@ -3073,7 +3185,7 @@ export type GetRecommendationsRequest = Message<"blueapi.cost.v1.GetRecommendati
|
|
|
3073
3185
|
* Use `create(GetRecommendationsRequestSchema)` to create a new message.
|
|
3074
3186
|
*/
|
|
3075
3187
|
export const GetRecommendationsRequestSchema: GenMessage<GetRecommendationsRequest> = /*@__PURE__*/
|
|
3076
|
-
messageDesc(file_cost_v1_cost,
|
|
3188
|
+
messageDesc(file_cost_v1_cost, 70);
|
|
3077
3189
|
|
|
3078
3190
|
/**
|
|
3079
3191
|
* Request message for GetRecommendations
|
|
@@ -3097,7 +3209,7 @@ export type GetRecommendationsResponse = Message<"blueapi.cost.v1.GetRecommendat
|
|
|
3097
3209
|
* Use `create(GetRecommendationsResponseSchema)` to create a new message.
|
|
3098
3210
|
*/
|
|
3099
3211
|
export const GetRecommendationsResponseSchema: GenMessage<GetRecommendationsResponse> = /*@__PURE__*/
|
|
3100
|
-
messageDesc(file_cost_v1_cost,
|
|
3212
|
+
messageDesc(file_cost_v1_cost, 71);
|
|
3101
3213
|
|
|
3102
3214
|
/**
|
|
3103
3215
|
* Request message for GetCostReduction
|
|
@@ -3195,7 +3307,7 @@ export type GetCostReductionRequest = Message<"blueapi.cost.v1.GetCostReductionR
|
|
|
3195
3307
|
* Use `create(GetCostReductionRequestSchema)` to create a new message.
|
|
3196
3308
|
*/
|
|
3197
3309
|
export const GetCostReductionRequestSchema: GenMessage<GetCostReductionRequest> = /*@__PURE__*/
|
|
3198
|
-
messageDesc(file_cost_v1_cost,
|
|
3310
|
+
messageDesc(file_cost_v1_cost, 72);
|
|
3199
3311
|
|
|
3200
3312
|
/**
|
|
3201
3313
|
* Response message for GetCostReduction
|
|
@@ -3219,7 +3331,7 @@ export type GetCostReductionResponse = Message<"blueapi.cost.v1.GetCostReduction
|
|
|
3219
3331
|
* Use `create(GetCostReductionResponseSchema)` to create a new message.
|
|
3220
3332
|
*/
|
|
3221
3333
|
export const GetCostReductionResponseSchema: GenMessage<GetCostReductionResponse> = /*@__PURE__*/
|
|
3222
|
-
messageDesc(file_cost_v1_cost,
|
|
3334
|
+
messageDesc(file_cost_v1_cost, 73);
|
|
3223
3335
|
|
|
3224
3336
|
/**
|
|
3225
3337
|
* @generated from message blueapi.cost.v1.GetExportRISPRequest
|
|
@@ -3254,7 +3366,7 @@ export type GetExportRISPRequest = Message<"blueapi.cost.v1.GetExportRISPRequest
|
|
|
3254
3366
|
* Use `create(GetExportRISPRequestSchema)` to create a new message.
|
|
3255
3367
|
*/
|
|
3256
3368
|
export const GetExportRISPRequestSchema: GenMessage<GetExportRISPRequest> = /*@__PURE__*/
|
|
3257
|
-
messageDesc(file_cost_v1_cost,
|
|
3369
|
+
messageDesc(file_cost_v1_cost, 74);
|
|
3258
3370
|
|
|
3259
3371
|
/**
|
|
3260
3372
|
* Request message for the ExportBillingGroupInvoiceServiceDiscounts rpc.
|
|
@@ -3276,7 +3388,7 @@ export type GetExportRISPResponse = Message<"blueapi.cost.v1.GetExportRISPRespon
|
|
|
3276
3388
|
* Use `create(GetExportRISPResponseSchema)` to create a new message.
|
|
3277
3389
|
*/
|
|
3278
3390
|
export const GetExportRISPResponseSchema: GenMessage<GetExportRISPResponse> = /*@__PURE__*/
|
|
3279
|
-
messageDesc(file_cost_v1_cost,
|
|
3391
|
+
messageDesc(file_cost_v1_cost, 75);
|
|
3280
3392
|
|
|
3281
3393
|
/**
|
|
3282
3394
|
* Request message for GetUtilization
|
|
@@ -3353,7 +3465,7 @@ export type GetUtilizationRequest = Message<"blueapi.cost.v1.GetUtilizationReque
|
|
|
3353
3465
|
* Use `create(GetUtilizationRequestSchema)` to create a new message.
|
|
3354
3466
|
*/
|
|
3355
3467
|
export const GetUtilizationRequestSchema: GenMessage<GetUtilizationRequest> = /*@__PURE__*/
|
|
3356
|
-
messageDesc(file_cost_v1_cost,
|
|
3468
|
+
messageDesc(file_cost_v1_cost, 76);
|
|
3357
3469
|
|
|
3358
3470
|
/**
|
|
3359
3471
|
* Response message for GetUtilization
|
|
@@ -3377,7 +3489,7 @@ export type GetUtilizationResponse = Message<"blueapi.cost.v1.GetUtilizationResp
|
|
|
3377
3489
|
* Use `create(GetUtilizationResponseSchema)` to create a new message.
|
|
3378
3490
|
*/
|
|
3379
3491
|
export const GetUtilizationResponseSchema: GenMessage<GetUtilizationResponse> = /*@__PURE__*/
|
|
3380
|
-
messageDesc(file_cost_v1_cost,
|
|
3492
|
+
messageDesc(file_cost_v1_cost, 77);
|
|
3381
3493
|
|
|
3382
3494
|
/**
|
|
3383
3495
|
* Request message for GetCoverageOptions
|
|
@@ -3475,7 +3587,7 @@ export type GetCoverageOptionsRequest = Message<"blueapi.cost.v1.GetCoverageOpti
|
|
|
3475
3587
|
* Use `create(GetCoverageOptionsRequestSchema)` to create a new message.
|
|
3476
3588
|
*/
|
|
3477
3589
|
export const GetCoverageOptionsRequestSchema: GenMessage<GetCoverageOptionsRequest> = /*@__PURE__*/
|
|
3478
|
-
messageDesc(file_cost_v1_cost,
|
|
3590
|
+
messageDesc(file_cost_v1_cost, 78);
|
|
3479
3591
|
|
|
3480
3592
|
/**
|
|
3481
3593
|
* Response message for GetCoverageOptions
|
|
@@ -3499,7 +3611,7 @@ export type GetCoverageOptionsResponse = Message<"blueapi.cost.v1.GetCoverageOpt
|
|
|
3499
3611
|
* Use `create(GetCoverageOptionsResponseSchema)` to create a new message.
|
|
3500
3612
|
*/
|
|
3501
3613
|
export const GetCoverageOptionsResponseSchema: GenMessage<GetCoverageOptionsResponse> = /*@__PURE__*/
|
|
3502
|
-
messageDesc(file_cost_v1_cost,
|
|
3614
|
+
messageDesc(file_cost_v1_cost, 79);
|
|
3503
3615
|
|
|
3504
3616
|
/**
|
|
3505
3617
|
* Request message for GetCoverageOndemand
|
|
@@ -3590,7 +3702,7 @@ export type GetCoverageOndemandRequest = Message<"blueapi.cost.v1.GetCoverageOnd
|
|
|
3590
3702
|
* Use `create(GetCoverageOndemandRequestSchema)` to create a new message.
|
|
3591
3703
|
*/
|
|
3592
3704
|
export const GetCoverageOndemandRequestSchema: GenMessage<GetCoverageOndemandRequest> = /*@__PURE__*/
|
|
3593
|
-
messageDesc(file_cost_v1_cost,
|
|
3705
|
+
messageDesc(file_cost_v1_cost, 80);
|
|
3594
3706
|
|
|
3595
3707
|
/**
|
|
3596
3708
|
* Response message for GetCoverageOndemand
|
|
@@ -3614,7 +3726,7 @@ export type GetCoverageOndemandResponse = Message<"blueapi.cost.v1.GetCoverageOn
|
|
|
3614
3726
|
* Use `create(GetCoverageOndemandResponseSchema)` to create a new message.
|
|
3615
3727
|
*/
|
|
3616
3728
|
export const GetCoverageOndemandResponseSchema: GenMessage<GetCoverageOndemandResponse> = /*@__PURE__*/
|
|
3617
|
-
messageDesc(file_cost_v1_cost,
|
|
3729
|
+
messageDesc(file_cost_v1_cost, 81);
|
|
3618
3730
|
|
|
3619
3731
|
/**
|
|
3620
3732
|
* Request message for GetBreakevenPoint
|
|
@@ -3656,7 +3768,7 @@ export type GetBreakevenPointRequest = Message<"blueapi.cost.v1.GetBreakevenPoin
|
|
|
3656
3768
|
* Use `create(GetBreakevenPointRequestSchema)` to create a new message.
|
|
3657
3769
|
*/
|
|
3658
3770
|
export const GetBreakevenPointRequestSchema: GenMessage<GetBreakevenPointRequest> = /*@__PURE__*/
|
|
3659
|
-
messageDesc(file_cost_v1_cost,
|
|
3771
|
+
messageDesc(file_cost_v1_cost, 82);
|
|
3660
3772
|
|
|
3661
3773
|
/**
|
|
3662
3774
|
* Response message for GetBreakevenPoint
|
|
@@ -3680,7 +3792,7 @@ export type GetBreakevenPointResponse = Message<"blueapi.cost.v1.GetBreakevenPoi
|
|
|
3680
3792
|
* Use `create(GetBreakevenPointResponseSchema)` to create a new message.
|
|
3681
3793
|
*/
|
|
3682
3794
|
export const GetBreakevenPointResponseSchema: GenMessage<GetBreakevenPointResponse> = /*@__PURE__*/
|
|
3683
|
-
messageDesc(file_cost_v1_cost,
|
|
3795
|
+
messageDesc(file_cost_v1_cost, 83);
|
|
3684
3796
|
|
|
3685
3797
|
/**
|
|
3686
3798
|
* Request message for the ListCostFilters rpc.
|
|
@@ -3701,7 +3813,7 @@ export type ListCostFiltersRequest = Message<"blueapi.cost.v1.ListCostFiltersReq
|
|
|
3701
3813
|
* Use `create(ListCostFiltersRequestSchema)` to create a new message.
|
|
3702
3814
|
*/
|
|
3703
3815
|
export const ListCostFiltersRequestSchema: GenMessage<ListCostFiltersRequest> = /*@__PURE__*/
|
|
3704
|
-
messageDesc(file_cost_v1_cost,
|
|
3816
|
+
messageDesc(file_cost_v1_cost, 84);
|
|
3705
3817
|
|
|
3706
3818
|
/**
|
|
3707
3819
|
* Response message for the ListCostFilters rpc.
|
|
@@ -3720,7 +3832,7 @@ export type ListCostFiltersResponse = Message<"blueapi.cost.v1.ListCostFiltersRe
|
|
|
3720
3832
|
* Use `create(ListCostFiltersResponseSchema)` to create a new message.
|
|
3721
3833
|
*/
|
|
3722
3834
|
export const ListCostFiltersResponseSchema: GenMessage<ListCostFiltersResponse> = /*@__PURE__*/
|
|
3723
|
-
messageDesc(file_cost_v1_cost,
|
|
3835
|
+
messageDesc(file_cost_v1_cost, 85);
|
|
3724
3836
|
|
|
3725
3837
|
/**
|
|
3726
3838
|
* Response message for the ListCostFilters rpc.
|
|
@@ -3780,7 +3892,7 @@ export type ListCostFilters = Message<"blueapi.cost.v1.ListCostFilters"> & {
|
|
|
3780
3892
|
* Use `create(ListCostFiltersSchema)` to create a new message.
|
|
3781
3893
|
*/
|
|
3782
3894
|
export const ListCostFiltersSchema: GenMessage<ListCostFilters> = /*@__PURE__*/
|
|
3783
|
-
messageDesc(file_cost_v1_cost,
|
|
3895
|
+
messageDesc(file_cost_v1_cost, 86);
|
|
3784
3896
|
|
|
3785
3897
|
/**
|
|
3786
3898
|
* Request message for the CreateCostFilters rpc.
|
|
@@ -3833,7 +3945,7 @@ export type CreateCostFiltersRequest = Message<"blueapi.cost.v1.CreateCostFilter
|
|
|
3833
3945
|
* Use `create(CreateCostFiltersRequestSchema)` to create a new message.
|
|
3834
3946
|
*/
|
|
3835
3947
|
export const CreateCostFiltersRequestSchema: GenMessage<CreateCostFiltersRequest> = /*@__PURE__*/
|
|
3836
|
-
messageDesc(file_cost_v1_cost,
|
|
3948
|
+
messageDesc(file_cost_v1_cost, 87);
|
|
3837
3949
|
|
|
3838
3950
|
/**
|
|
3839
3951
|
* Response message for the CreateCostFilters rpc.
|
|
@@ -3854,7 +3966,7 @@ export type CreateCostFiltersResponse = Message<"blueapi.cost.v1.CreateCostFilte
|
|
|
3854
3966
|
* Use `create(CreateCostFiltersResponseSchema)` to create a new message.
|
|
3855
3967
|
*/
|
|
3856
3968
|
export const CreateCostFiltersResponseSchema: GenMessage<CreateCostFiltersResponse> = /*@__PURE__*/
|
|
3857
|
-
messageDesc(file_cost_v1_cost,
|
|
3969
|
+
messageDesc(file_cost_v1_cost, 88);
|
|
3858
3970
|
|
|
3859
3971
|
/**
|
|
3860
3972
|
* Request message for the UpdateCostFilters rpc.
|
|
@@ -3914,7 +4026,7 @@ export type UpdateCostFiltersRequest = Message<"blueapi.cost.v1.UpdateCostFilter
|
|
|
3914
4026
|
* Use `create(UpdateCostFiltersRequestSchema)` to create a new message.
|
|
3915
4027
|
*/
|
|
3916
4028
|
export const UpdateCostFiltersRequestSchema: GenMessage<UpdateCostFiltersRequest> = /*@__PURE__*/
|
|
3917
|
-
messageDesc(file_cost_v1_cost,
|
|
4029
|
+
messageDesc(file_cost_v1_cost, 89);
|
|
3918
4030
|
|
|
3919
4031
|
/**
|
|
3920
4032
|
* Response message for the UpdateCostFilters rpc.
|
|
@@ -3935,7 +4047,7 @@ export type UpdateCostFiltersResponse = Message<"blueapi.cost.v1.UpdateCostFilte
|
|
|
3935
4047
|
* Use `create(UpdateCostFiltersResponseSchema)` to create a new message.
|
|
3936
4048
|
*/
|
|
3937
4049
|
export const UpdateCostFiltersResponseSchema: GenMessage<UpdateCostFiltersResponse> = /*@__PURE__*/
|
|
3938
|
-
messageDesc(file_cost_v1_cost,
|
|
4050
|
+
messageDesc(file_cost_v1_cost, 90);
|
|
3939
4051
|
|
|
3940
4052
|
/**
|
|
3941
4053
|
* Request message for the DeleteCostFilters rpc.
|
|
@@ -3963,7 +4075,7 @@ export type DeleteCostFiltersRequest = Message<"blueapi.cost.v1.DeleteCostFilter
|
|
|
3963
4075
|
* Use `create(DeleteCostFiltersRequestSchema)` to create a new message.
|
|
3964
4076
|
*/
|
|
3965
4077
|
export const DeleteCostFiltersRequestSchema: GenMessage<DeleteCostFiltersRequest> = /*@__PURE__*/
|
|
3966
|
-
messageDesc(file_cost_v1_cost,
|
|
4078
|
+
messageDesc(file_cost_v1_cost, 91);
|
|
3967
4079
|
|
|
3968
4080
|
/**
|
|
3969
4081
|
* Request message for the ExportCostFiltersFile rpc.
|
|
@@ -4028,7 +4140,7 @@ export type ExportCostFiltersFileRequest = Message<"blueapi.cost.v1.ExportCostFi
|
|
|
4028
4140
|
* Use `create(ExportCostFiltersFileRequestSchema)` to create a new message.
|
|
4029
4141
|
*/
|
|
4030
4142
|
export const ExportCostFiltersFileRequestSchema: GenMessage<ExportCostFiltersFileRequest> = /*@__PURE__*/
|
|
4031
|
-
messageDesc(file_cost_v1_cost,
|
|
4143
|
+
messageDesc(file_cost_v1_cost, 92);
|
|
4032
4144
|
|
|
4033
4145
|
/**
|
|
4034
4146
|
* Response message for the ExportCostFiltersFile rpc.
|
|
@@ -4049,7 +4161,7 @@ export type ExportCostFiltersFileResponse = Message<"blueapi.cost.v1.ExportCostF
|
|
|
4049
4161
|
* Use `create(ExportCostFiltersFileResponseSchema)` to create a new message.
|
|
4050
4162
|
*/
|
|
4051
4163
|
export const ExportCostFiltersFileResponseSchema: GenMessage<ExportCostFiltersFileResponse> = /*@__PURE__*/
|
|
4052
|
-
messageDesc(file_cost_v1_cost,
|
|
4164
|
+
messageDesc(file_cost_v1_cost, 93);
|
|
4053
4165
|
|
|
4054
4166
|
/**
|
|
4055
4167
|
* GCP-specific options for ReadCostsRequest.
|
|
@@ -4130,7 +4242,7 @@ export type ReadCostsRequestGcpOptions = Message<"blueapi.cost.v1.ReadCostsReque
|
|
|
4130
4242
|
* Use `create(ReadCostsRequestGcpOptionsSchema)` to create a new message.
|
|
4131
4243
|
*/
|
|
4132
4244
|
export const ReadCostsRequestGcpOptionsSchema: GenMessage<ReadCostsRequestGcpOptions> = /*@__PURE__*/
|
|
4133
|
-
messageDesc(file_cost_v1_cost,
|
|
4245
|
+
messageDesc(file_cost_v1_cost, 94);
|
|
4134
4246
|
|
|
4135
4247
|
/**
|
|
4136
4248
|
* A map of "key:value" column filters. Dependent on `groupByColumns` and/or `groupByMonth`. The key indicates the column name while the value is the filter value prefixed by either "eq:" (equal), "re:" (regular expressions based on https://github.com/google/re2), or "!re:" (reverse "re:"). No prefix is the same as "eq:". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 && mapfilter2 && mapfilter3, etc.
|
|
@@ -4151,7 +4263,7 @@ export type ReadCostsRequestGcpOptionsFilters = Message<"blueapi.cost.v1.ReadCos
|
|
|
4151
4263
|
* Use `create(ReadCostsRequestGcpOptionsFiltersSchema)` to create a new message.
|
|
4152
4264
|
*/
|
|
4153
4265
|
export const ReadCostsRequestGcpOptionsFiltersSchema: GenMessage<ReadCostsRequestGcpOptionsFilters> = /*@__PURE__*/
|
|
4154
|
-
messageDesc(file_cost_v1_cost,
|
|
4266
|
+
messageDesc(file_cost_v1_cost, 95);
|
|
4155
4267
|
|
|
4156
4268
|
/**
|
|
4157
4269
|
* Request message for GetAccountBudgetAlerts
|
|
@@ -4179,7 +4291,7 @@ export type GetAccountBudgetAlertsRequest = Message<"blueapi.cost.v1.GetAccountB
|
|
|
4179
4291
|
* Use `create(GetAccountBudgetAlertsRequestSchema)` to create a new message.
|
|
4180
4292
|
*/
|
|
4181
4293
|
export const GetAccountBudgetAlertsRequestSchema: GenMessage<GetAccountBudgetAlertsRequest> = /*@__PURE__*/
|
|
4182
|
-
messageDesc(file_cost_v1_cost,
|
|
4294
|
+
messageDesc(file_cost_v1_cost, 96);
|
|
4183
4295
|
|
|
4184
4296
|
/**
|
|
4185
4297
|
* Request message for CreateAccountBudgetAlerts
|
|
@@ -4214,7 +4326,7 @@ export type CreateAccountBudgetAlertsRequest = Message<"blueapi.cost.v1.CreateAc
|
|
|
4214
4326
|
* Use `create(CreateAccountBudgetAlertsRequestSchema)` to create a new message.
|
|
4215
4327
|
*/
|
|
4216
4328
|
export const CreateAccountBudgetAlertsRequestSchema: GenMessage<CreateAccountBudgetAlertsRequest> = /*@__PURE__*/
|
|
4217
|
-
messageDesc(file_cost_v1_cost,
|
|
4329
|
+
messageDesc(file_cost_v1_cost, 97);
|
|
4218
4330
|
|
|
4219
4331
|
/**
|
|
4220
4332
|
* Request message for UpdateAccountBudgetAlerts
|
|
@@ -4253,7 +4365,7 @@ export type UpdateAccountBudgetAlertsRequest = Message<"blueapi.cost.v1.UpdateAc
|
|
|
4253
4365
|
* Use `create(UpdateAccountBudgetAlertsRequestSchema)` to create a new message.
|
|
4254
4366
|
*/
|
|
4255
4367
|
export const UpdateAccountBudgetAlertsRequestSchema: GenMessage<UpdateAccountBudgetAlertsRequest> = /*@__PURE__*/
|
|
4256
|
-
messageDesc(file_cost_v1_cost,
|
|
4368
|
+
messageDesc(file_cost_v1_cost, 98);
|
|
4257
4369
|
|
|
4258
4370
|
/**
|
|
4259
4371
|
* Request message for DeleteAccountBudgetAlerts
|
|
@@ -4281,7 +4393,7 @@ export type DeleteAccountBudgetAlertsRequest = Message<"blueapi.cost.v1.DeleteAc
|
|
|
4281
4393
|
* Use `create(DeleteAccountBudgetAlertsRequestSchema)` to create a new message.
|
|
4282
4394
|
*/
|
|
4283
4395
|
export const DeleteAccountBudgetAlertsRequestSchema: GenMessage<DeleteAccountBudgetAlertsRequest> = /*@__PURE__*/
|
|
4284
|
-
messageDesc(file_cost_v1_cost,
|
|
4396
|
+
messageDesc(file_cost_v1_cost, 99);
|
|
4285
4397
|
|
|
4286
4398
|
/**
|
|
4287
4399
|
* Azure-specific options for ReadCostsRequest.
|
|
@@ -4325,7 +4437,7 @@ export type ReadCostsRequestAzureOptions = Message<"blueapi.cost.v1.ReadCostsReq
|
|
|
4325
4437
|
* Use `create(ReadCostsRequestAzureOptionsSchema)` to create a new message.
|
|
4326
4438
|
*/
|
|
4327
4439
|
export const ReadCostsRequestAzureOptionsSchema: GenMessage<ReadCostsRequestAzureOptions> = /*@__PURE__*/
|
|
4328
|
-
messageDesc(file_cost_v1_cost,
|
|
4440
|
+
messageDesc(file_cost_v1_cost, 100);
|
|
4329
4441
|
|
|
4330
4442
|
/**
|
|
4331
4443
|
* Request message for the BudgetAlerts rpc.
|
|
@@ -4402,7 +4514,7 @@ export type BudgetAlerts = Message<"blueapi.cost.v1.BudgetAlerts"> & {
|
|
|
4402
4514
|
* Use `create(BudgetAlertsSchema)` to create a new message.
|
|
4403
4515
|
*/
|
|
4404
4516
|
export const BudgetAlertsSchema: GenMessage<BudgetAlerts> = /*@__PURE__*/
|
|
4405
|
-
messageDesc(file_cost_v1_cost,
|
|
4517
|
+
messageDesc(file_cost_v1_cost, 101);
|
|
4406
4518
|
|
|
4407
4519
|
/**
|
|
4408
4520
|
* Request message for the ReadBudgetAlerts rpc.
|
|
@@ -4423,7 +4535,7 @@ export type ReadBudgetAlertsRequest = Message<"blueapi.cost.v1.ReadBudgetAlertsR
|
|
|
4423
4535
|
* Use `create(ReadBudgetAlertsRequestSchema)` to create a new message.
|
|
4424
4536
|
*/
|
|
4425
4537
|
export const ReadBudgetAlertsRequestSchema: GenMessage<ReadBudgetAlertsRequest> = /*@__PURE__*/
|
|
4426
|
-
messageDesc(file_cost_v1_cost,
|
|
4538
|
+
messageDesc(file_cost_v1_cost, 102);
|
|
4427
4539
|
|
|
4428
4540
|
/**
|
|
4429
4541
|
* Request message for the GetBudgetAlerts rpc.
|
|
@@ -4444,7 +4556,7 @@ export type GetBudgetAlertsRequest = Message<"blueapi.cost.v1.GetBudgetAlertsReq
|
|
|
4444
4556
|
* Use `create(GetBudgetAlertsRequestSchema)` to create a new message.
|
|
4445
4557
|
*/
|
|
4446
4558
|
export const GetBudgetAlertsRequestSchema: GenMessage<GetBudgetAlertsRequest> = /*@__PURE__*/
|
|
4447
|
-
messageDesc(file_cost_v1_cost,
|
|
4559
|
+
messageDesc(file_cost_v1_cost, 103);
|
|
4448
4560
|
|
|
4449
4561
|
/**
|
|
4450
4562
|
* Request message for the CreateBudgetAlerts rpc.
|
|
@@ -4514,7 +4626,7 @@ export type CreateBudgetAlertsRequest = Message<"blueapi.cost.v1.CreateBudgetAle
|
|
|
4514
4626
|
* Use `create(CreateBudgetAlertsRequestSchema)` to create a new message.
|
|
4515
4627
|
*/
|
|
4516
4628
|
export const CreateBudgetAlertsRequestSchema: GenMessage<CreateBudgetAlertsRequest> = /*@__PURE__*/
|
|
4517
|
-
messageDesc(file_cost_v1_cost,
|
|
4629
|
+
messageDesc(file_cost_v1_cost, 104);
|
|
4518
4630
|
|
|
4519
4631
|
/**
|
|
4520
4632
|
* Request message for the UpdateBudgetAlerts rpc.
|
|
@@ -4591,7 +4703,7 @@ export type UpdateBudgetAlertsRequest = Message<"blueapi.cost.v1.UpdateBudgetAle
|
|
|
4591
4703
|
* Use `create(UpdateBudgetAlertsRequestSchema)` to create a new message.
|
|
4592
4704
|
*/
|
|
4593
4705
|
export const UpdateBudgetAlertsRequestSchema: GenMessage<UpdateBudgetAlertsRequest> = /*@__PURE__*/
|
|
4594
|
-
messageDesc(file_cost_v1_cost,
|
|
4706
|
+
messageDesc(file_cost_v1_cost, 105);
|
|
4595
4707
|
|
|
4596
4708
|
/**
|
|
4597
4709
|
* Request message for the DeleteBudgetAlerts rpc.
|
|
@@ -4612,7 +4724,7 @@ export type DeleteBudgetAlertsRequest = Message<"blueapi.cost.v1.DeleteBudgetAle
|
|
|
4612
4724
|
* Use `create(DeleteBudgetAlertsRequestSchema)` to create a new message.
|
|
4613
4725
|
*/
|
|
4614
4726
|
export const DeleteBudgetAlertsRequestSchema: GenMessage<DeleteBudgetAlertsRequest> = /*@__PURE__*/
|
|
4615
|
-
messageDesc(file_cost_v1_cost,
|
|
4727
|
+
messageDesc(file_cost_v1_cost, 106);
|
|
4616
4728
|
|
|
4617
4729
|
/**
|
|
4618
4730
|
* @generated from message blueapi.cost.v1.CheckAccountsRequest
|
|
@@ -4638,7 +4750,7 @@ export type CheckAccountsRequest = Message<"blueapi.cost.v1.CheckAccountsRequest
|
|
|
4638
4750
|
* Use `create(CheckAccountsRequestSchema)` to create a new message.
|
|
4639
4751
|
*/
|
|
4640
4752
|
export const CheckAccountsRequestSchema: GenMessage<CheckAccountsRequest> = /*@__PURE__*/
|
|
4641
|
-
messageDesc(file_cost_v1_cost,
|
|
4753
|
+
messageDesc(file_cost_v1_cost, 107);
|
|
4642
4754
|
|
|
4643
4755
|
/**
|
|
4644
4756
|
* @generated from message blueapi.cost.v1.CheckAccountsResponse
|
|
@@ -4657,7 +4769,7 @@ export type CheckAccountsResponse = Message<"blueapi.cost.v1.CheckAccountsRespon
|
|
|
4657
4769
|
* Use `create(CheckAccountsResponseSchema)` to create a new message.
|
|
4658
4770
|
*/
|
|
4659
4771
|
export const CheckAccountsResponseSchema: GenMessage<CheckAccountsResponse> = /*@__PURE__*/
|
|
4660
|
-
messageDesc(file_cost_v1_cost,
|
|
4772
|
+
messageDesc(file_cost_v1_cost, 108);
|
|
4661
4773
|
|
|
4662
4774
|
/**
|
|
4663
4775
|
* Request message for the ReadInvoiceIds rpc.
|
|
@@ -4685,7 +4797,7 @@ export type ReadInvoiceIdsRequest = Message<"blueapi.cost.v1.ReadInvoiceIdsReque
|
|
|
4685
4797
|
* Use `create(ReadInvoiceIdsRequestSchema)` to create a new message.
|
|
4686
4798
|
*/
|
|
4687
4799
|
export const ReadInvoiceIdsRequestSchema: GenMessage<ReadInvoiceIdsRequest> = /*@__PURE__*/
|
|
4688
|
-
messageDesc(file_cost_v1_cost,
|
|
4800
|
+
messageDesc(file_cost_v1_cost, 109);
|
|
4689
4801
|
|
|
4690
4802
|
/**
|
|
4691
4803
|
* Response message for the ReadInvoiceIds rpc.
|
|
@@ -4706,7 +4818,7 @@ export type ReadInvoiceIdsResponse = Message<"blueapi.cost.v1.ReadInvoiceIdsResp
|
|
|
4706
4818
|
* Use `create(ReadInvoiceIdsResponseSchema)` to create a new message.
|
|
4707
4819
|
*/
|
|
4708
4820
|
export const ReadInvoiceIdsResponseSchema: GenMessage<ReadInvoiceIdsResponse> = /*@__PURE__*/
|
|
4709
|
-
messageDesc(file_cost_v1_cost,
|
|
4821
|
+
messageDesc(file_cost_v1_cost, 110);
|
|
4710
4822
|
|
|
4711
4823
|
/**
|
|
4712
4824
|
* @generated from message blueapi.cost.v1.PeriodRange
|
|
@@ -4746,7 +4858,7 @@ export type PeriodRange = Message<"blueapi.cost.v1.PeriodRange"> & {
|
|
|
4746
4858
|
* Use `create(PeriodRangeSchema)` to create a new message.
|
|
4747
4859
|
*/
|
|
4748
4860
|
export const PeriodRangeSchema: GenMessage<PeriodRange> = /*@__PURE__*/
|
|
4749
|
-
messageDesc(file_cost_v1_cost,
|
|
4861
|
+
messageDesc(file_cost_v1_cost, 111);
|
|
4750
4862
|
|
|
4751
4863
|
/**
|
|
4752
4864
|
* @generated from enum blueapi.cost.v1.PeriodRange.Unit
|
|
@@ -4777,7 +4889,7 @@ export enum PeriodRange_Unit {
|
|
|
4777
4889
|
* Describes the enum blueapi.cost.v1.PeriodRange.Unit.
|
|
4778
4890
|
*/
|
|
4779
4891
|
export const PeriodRange_UnitSchema: GenEnum<PeriodRange_Unit> = /*@__PURE__*/
|
|
4780
|
-
enumDesc(file_cost_v1_cost,
|
|
4892
|
+
enumDesc(file_cost_v1_cost, 111, 0);
|
|
4781
4893
|
|
|
4782
4894
|
/**
|
|
4783
4895
|
* Request message for the ReadInvoiceOverviews rpc.
|
|
@@ -4826,7 +4938,7 @@ export type ReadInvoiceOverviewsRequest = Message<"blueapi.cost.v1.ReadInvoiceOv
|
|
|
4826
4938
|
* Use `create(ReadInvoiceOverviewsRequestSchema)` to create a new message.
|
|
4827
4939
|
*/
|
|
4828
4940
|
export const ReadInvoiceOverviewsRequestSchema: GenMessage<ReadInvoiceOverviewsRequest> = /*@__PURE__*/
|
|
4829
|
-
messageDesc(file_cost_v1_cost,
|
|
4941
|
+
messageDesc(file_cost_v1_cost, 112);
|
|
4830
4942
|
|
|
4831
4943
|
/**
|
|
4832
4944
|
* Request message for the ReadInvoiceCosts rpc.
|
|
@@ -4861,7 +4973,7 @@ export type ReadInvoiceCostsRequest = Message<"blueapi.cost.v1.ReadInvoiceCostsR
|
|
|
4861
4973
|
* Use `create(ReadInvoiceCostsRequestSchema)` to create a new message.
|
|
4862
4974
|
*/
|
|
4863
4975
|
export const ReadInvoiceCostsRequestSchema: GenMessage<ReadInvoiceCostsRequest> = /*@__PURE__*/
|
|
4864
|
-
messageDesc(file_cost_v1_cost,
|
|
4976
|
+
messageDesc(file_cost_v1_cost, 113);
|
|
4865
4977
|
|
|
4866
4978
|
/**
|
|
4867
4979
|
* Request message for the ReadInvoiceGroupCosts rpc.
|
|
@@ -4903,7 +5015,7 @@ export type ReadInvoiceGroupCostsRequest = Message<"blueapi.cost.v1.ReadInvoiceG
|
|
|
4903
5015
|
* Use `create(ReadInvoiceGroupCostsRequestSchema)` to create a new message.
|
|
4904
5016
|
*/
|
|
4905
5017
|
export const ReadInvoiceGroupCostsRequestSchema: GenMessage<ReadInvoiceGroupCostsRequest> = /*@__PURE__*/
|
|
4906
|
-
messageDesc(file_cost_v1_cost,
|
|
5018
|
+
messageDesc(file_cost_v1_cost, 114);
|
|
4907
5019
|
|
|
4908
5020
|
/**
|
|
4909
5021
|
* Request message for the ReadAccountOriginalResources rpc.
|
|
@@ -4924,7 +5036,7 @@ export type ReadAccountOriginalResourcesRequest = Message<"blueapi.cost.v1.ReadA
|
|
|
4924
5036
|
* Use `create(ReadAccountOriginalResourcesRequestSchema)` to create a new message.
|
|
4925
5037
|
*/
|
|
4926
5038
|
export const ReadAccountOriginalResourcesRequestSchema: GenMessage<ReadAccountOriginalResourcesRequest> = /*@__PURE__*/
|
|
4927
|
-
messageDesc(file_cost_v1_cost,
|
|
5039
|
+
messageDesc(file_cost_v1_cost, 115);
|
|
4928
5040
|
|
|
4929
5041
|
/**
|
|
4930
5042
|
* Request message for the RegisterPayerAccountRequest rpc.
|
|
@@ -4960,13 +5072,6 @@ export type RegisterPayerAccountRequest = Message<"blueapi.cost.v1.RegisterPayer
|
|
|
4960
5072
|
* @generated from field: string curType = 4;
|
|
4961
5073
|
*/
|
|
4962
5074
|
curType: string;
|
|
4963
|
-
|
|
4964
|
-
/**
|
|
4965
|
-
* Optional. If set to true, TU profit from this payer will be calculated. Default is false.
|
|
4966
|
-
*
|
|
4967
|
-
* @generated from field: bool calculateTUProfit = 5;
|
|
4968
|
-
*/
|
|
4969
|
-
calculateTUProfit: boolean;
|
|
4970
5075
|
};
|
|
4971
5076
|
|
|
4972
5077
|
/**
|
|
@@ -4974,7 +5079,7 @@ export type RegisterPayerAccountRequest = Message<"blueapi.cost.v1.RegisterPayer
|
|
|
4974
5079
|
* Use `create(RegisterPayerAccountRequestSchema)` to create a new message.
|
|
4975
5080
|
*/
|
|
4976
5081
|
export const RegisterPayerAccountRequestSchema: GenMessage<RegisterPayerAccountRequest> = /*@__PURE__*/
|
|
4977
|
-
messageDesc(file_cost_v1_cost,
|
|
5082
|
+
messageDesc(file_cost_v1_cost, 116);
|
|
4978
5083
|
|
|
4979
5084
|
/**
|
|
4980
5085
|
* @generated from message blueapi.cost.v1.UpdatePayerAccountRequest
|
|
@@ -5008,13 +5113,6 @@ export type UpdatePayerAccountRequest = Message<"blueapi.cost.v1.UpdatePayerAcco
|
|
|
5008
5113
|
* @generated from field: string curType = 4;
|
|
5009
5114
|
*/
|
|
5010
5115
|
curType: string;
|
|
5011
|
-
|
|
5012
|
-
/**
|
|
5013
|
-
* Optional. If set to true, TU profit from this payer will be calculated. Default is false.
|
|
5014
|
-
*
|
|
5015
|
-
* @generated from field: bool calculateTUProfit = 5;
|
|
5016
|
-
*/
|
|
5017
|
-
calculateTUProfit: boolean;
|
|
5018
5116
|
};
|
|
5019
5117
|
|
|
5020
5118
|
/**
|
|
@@ -5022,7 +5120,7 @@ export type UpdatePayerAccountRequest = Message<"blueapi.cost.v1.UpdatePayerAcco
|
|
|
5022
5120
|
* Use `create(UpdatePayerAccountRequestSchema)` to create a new message.
|
|
5023
5121
|
*/
|
|
5024
5122
|
export const UpdatePayerAccountRequestSchema: GenMessage<UpdatePayerAccountRequest> = /*@__PURE__*/
|
|
5025
|
-
messageDesc(file_cost_v1_cost,
|
|
5123
|
+
messageDesc(file_cost_v1_cost, 117);
|
|
5026
5124
|
|
|
5027
5125
|
/**
|
|
5028
5126
|
* WORK-IN-PROGRESS: List the prerequisites for cost calculations.
|
|
@@ -5050,7 +5148,7 @@ export type ListCalculationPrerequisitesRequest = Message<"blueapi.cost.v1.ListC
|
|
|
5050
5148
|
* Use `create(ListCalculationPrerequisitesRequestSchema)` to create a new message.
|
|
5051
5149
|
*/
|
|
5052
5150
|
export const ListCalculationPrerequisitesRequestSchema: GenMessage<ListCalculationPrerequisitesRequest> = /*@__PURE__*/
|
|
5053
|
-
messageDesc(file_cost_v1_cost,
|
|
5151
|
+
messageDesc(file_cost_v1_cost, 118);
|
|
5054
5152
|
|
|
5055
5153
|
/**
|
|
5056
5154
|
* @generated from message blueapi.cost.v1.CalculationPrerequisite
|
|
@@ -5104,9 +5202,11 @@ export type CalculationPrerequisite = Message<"blueapi.cost.v1.CalculationPrereq
|
|
|
5104
5202
|
* Use `create(CalculationPrerequisiteSchema)` to create a new message.
|
|
5105
5203
|
*/
|
|
5106
5204
|
export const CalculationPrerequisiteSchema: GenMessage<CalculationPrerequisite> = /*@__PURE__*/
|
|
5107
|
-
messageDesc(file_cost_v1_cost,
|
|
5205
|
+
messageDesc(file_cost_v1_cost, 119);
|
|
5108
5206
|
|
|
5109
5207
|
/**
|
|
5208
|
+
* Response message for the ListCalculationPrerequisites rpc.
|
|
5209
|
+
*
|
|
5110
5210
|
* @generated from message blueapi.cost.v1.ListCalculationPrerequisitesResponse
|
|
5111
5211
|
*/
|
|
5112
5212
|
export type ListCalculationPrerequisitesResponse = Message<"blueapi.cost.v1.ListCalculationPrerequisitesResponse"> & {
|
|
@@ -5123,7 +5223,7 @@ export type ListCalculationPrerequisitesResponse = Message<"blueapi.cost.v1.List
|
|
|
5123
5223
|
* Use `create(ListCalculationPrerequisitesResponseSchema)` to create a new message.
|
|
5124
5224
|
*/
|
|
5125
5225
|
export const ListCalculationPrerequisitesResponseSchema: GenMessage<ListCalculationPrerequisitesResponse> = /*@__PURE__*/
|
|
5126
|
-
messageDesc(file_cost_v1_cost,
|
|
5226
|
+
messageDesc(file_cost_v1_cost, 120);
|
|
5127
5227
|
|
|
5128
5228
|
/**
|
|
5129
5229
|
* Service for reading aggregated costs for your cloud costs and usages.
|
|
@@ -5155,6 +5255,32 @@ export const Cost: GenService<{
|
|
|
5155
5255
|
input: typeof GetPayerAccountRequestSchema;
|
|
5156
5256
|
output: typeof PayerSchema;
|
|
5157
5257
|
},
|
|
5258
|
+
/**
|
|
5259
|
+
* Lists vendor payer accounts with extended information. WORK IN PROGRESS
|
|
5260
|
+
*
|
|
5261
|
+
* This endpoint returns additional fields beyond the standard ListPayerAccounts response.
|
|
5262
|
+
* For AWS, these are management accounts (formerly known as master or payer accounts); for Azure, these are subscriptions, for GCP, these are projects.
|
|
5263
|
+
*
|
|
5264
|
+
* @generated from rpc blueapi.cost.v1.Cost.ListPayerAccountsExtended
|
|
5265
|
+
*/
|
|
5266
|
+
listPayerAccountsExtended: {
|
|
5267
|
+
methodKind: "server_streaming";
|
|
5268
|
+
input: typeof ListPayerAccountsRequestSchema;
|
|
5269
|
+
output: typeof PayerAccountExtendedSchema;
|
|
5270
|
+
},
|
|
5271
|
+
/**
|
|
5272
|
+
* Gets a vendor payer account with extended information. WORK IN PROGRESS
|
|
5273
|
+
*
|
|
5274
|
+
* This endpoint returns additional fields beyond the standard GetPayerAccount response.
|
|
5275
|
+
* For AWS, this means a management account (formerly known as master or payer account); for Azure, this means a subscription, for GCP, this means a project.
|
|
5276
|
+
*
|
|
5277
|
+
* @generated from rpc blueapi.cost.v1.Cost.GetPayerAccountExtended
|
|
5278
|
+
*/
|
|
5279
|
+
getPayerAccountExtended: {
|
|
5280
|
+
methodKind: "unary";
|
|
5281
|
+
input: typeof GetPayerAccountRequestSchema;
|
|
5282
|
+
output: typeof PayerAccountExtendedSchema;
|
|
5283
|
+
},
|
|
5158
5284
|
/**
|
|
5159
5285
|
* Gets a payer account's import history.
|
|
5160
5286
|
*
|