@alphauspkgs/blue-sdk-ts 1.0.49 → 1.0.51
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/api/ripple/invoicelayout_pb.js +1 -1
- package/api/ripple/invoicelayout_pb.ts +15 -1
- package/billing/v1/billing_pb.js +214 -118
- package/billing/v1/billing_pb.ts +1245 -275
- package/cost/v1/cost_pb.js +66 -56
- package/cost/v1/cost_pb.ts +148 -68
- package/gc/v1/gc_pb.js +224 -135
- package/gc/v1/gc_pb.ts +521 -132
- package/iam/v1/iam_pb.js +1 -1
- package/iam/v1/iam_pb.ts +9 -1
- package/package.json +1 -1
package/billing/v1/billing_pb.ts
CHANGED
|
@@ -53,7 +53,7 @@ import type { Message } from "@bufbuild/protobuf";
|
|
|
53
53
|
* Describes the file billing/v1/billing.proto.
|
|
54
54
|
*/
|
|
55
55
|
export const file_billing_v1_billing: GenFile = /*@__PURE__*/
|
|
56
|
-
fileDesc("ChhiaWxsaW5nL3YxL2JpbGxpbmcucHJvdG8SEmJsdWVhcGkuYmlsbGluZy52MSKgBAoMQmlsbGluZ0dyb3VwEhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkSEwoLY29tcGFueU5hbWUYByABKAkSDAoEdHlwZRgMIAEoCRIQCghoYXNDaGlsZBgNIAEoCBI+ChBiaWxsaW5nR3JvdXBJbmZvGAogASgLMiQuYmx1ZWFwaS5hcGkucmlwcGxlLkJpbGxpbmdHcm91cEluZm8SOgoOYWNjb3VudE9wdGlvbnMYCCABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnMSJgoIYWNjb3VudHMYBCADKAsyFC5ibHVlYXBpLmFwaS5BY2NvdW50EiIKBHRhZ3MYBiADKAsyFC5ibHVlYXBpLmFwaS5Db3N0VGFnEkgKD2ludm9pY2VTZXR0aW5ncxgFIAEoCzIvLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSSAoPYWRkaXRpb25hbEl0ZW1zGAsgASgLMi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cEFkZGl0aW9uYWxJdGVtcxIyCgphd3NPcHRpb25zGAkgASgLMh4uYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c09wdGlvbnMioAEKG0JpbGxpbmdHcm91cEFkZGl0aW9uYWxJdGVtcxIpCgNhd3MYASADKAsyHC5ibHVlYXBpLmFwaS5BZGRpdGlvbmFsSXRlbXMSKwoFYXp1cmUYAiADKAsyHC5ibHVlYXBpLmFwaS5BZGRpdGlvbmFsSXRlbXMSKQoDZ2NwGAMgAygLMhwuYmx1ZWFwaS5hcGkuQWRkaXRpb25hbEl0ZW1zIu4BChtCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSQwoDYXdzGAEgASgLMjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cFZlbmRvcmVkSW52b2ljZVNldHRpbmcSRQoFYXp1cmUYAiABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZxJDCgNnY3AYAyABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZyLxAwoiQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZxIQCghjYWxjVHlwZRgBIAEoCRIUCgxkaXNjb3VudFJhdGUYAiABKAESFwoPc3Vic3RpdHV0aW9uRmVlGAMgASgJEhcKD3N1YnN0aXR1dGlvbkZpeBgEIAEoARIYChBzdWJzdGl0dXRpb25SYXRlGAUgASgBEhIKCnN1cHBvcnRGZWUYBiABKAkSEwoLc3VwcG9ydFJhdGUYByABKAESEgoKc3VwcG9ydEZpeBgIIAEoARIPCgd0YXhSYXRlGAkgASgBEhAKCGN1cnJlbmN5GAogASgJEhsKE2Rpc2NvdW50VGFyZ2V0VXNhZ2UYCyABKAkSIgoac3Vic3RpdHV0aW9uRmVlVGFyZ2V0VXNhZ2UYDCABKAkSGQoRZGlzY291bnRDYWxjTG9naWMYDSABKAkSIQoZc3Vic3RpdHV0aW9uRmVlQ2FsY1RhcmdldBgOIAEoCRIfChdzdWJzdGl0dXRpb25GZWVDYWxjVHlwZRgPIAEoCRIbChNzdXBwb3J0QW1vdW50VGFyZ2V0GBAgASgJEhwKFHN1cHBvcnRGZWVDYWxjVGFyZ2V0GBEgASgJEhwKFHN1cHBvcnRGZWVBZGp1c3RtZW50GBIgASgBIpIBChhMaXN0QmlsbGluZ0dyb3Vwc1JlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sSDwoHdmVuZG9ycxgCIAEoCRIQCghjYWxjVHlwZRgDIAEoCRITCgtkaXNwbGF5Q29zdBgEIAEoCRIOCgZiZ1R5cGUYBSABKAkiswQKGUNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgCIAEoCRITCgtjb21wYW55TmFtZRgDIAEoCRIUCgxiaWxsaW5nVGl0bGUYBCABKAkSEwoLcGhvbmVOdW1iZXIYBSABKAkSEgoKcG9zdGFsQ29kZRgGIAEoCRIPCgdhZGRyZXNzGAcgASgJEhAKCHBlcnNvbmFsGAggASgJEg8KB3JlbWFya3MYCSABKAkSEQoJcHJvamVjdElkGAogASgJEhAKCGxhbmd1YWdlGAsgASgJEhMKC2Rpc3BsYXlDb3N0GAwgASgJEhgKEGV4Y2hhbmdlUmF0ZVR5cGUYDSABKAkSOgoOYWNjb3VudE9wdGlvbnMYDyABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnMSRgoIaW52b2ljZXMYDiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2USMgoKYXdzT3B0aW9ucxgQIAEoCzIeLmJsdWVhcGkuYmlsbGluZy52MS5Bd3NPcHRpb25zEgwKBGNpdHkYESABKAkSEgoKcHJlZmVjdHVyZRgSIAEoCRIPCgdjb3VudHJ5GBMgASgJEh0KFWludm9pY2VMYXlvdXRDb25maWdJZBgUIAEoCSI1CgpBd3NPcHRpb25zEhYKDnVzZVByb0Zvcm1hQ3VyGAEgASgIEg8KB3BheWVySWQYAiABKAkiqwEKDkFjY291bnRPcHRpb25zEjEKA2F3cxgBIAEoCzIkLmJsdWVhcGkuYmlsbGluZy52MS5SZWdpc3RlckFjY291bnRzEjEKA2djcBgCIAEoCzIkLmJsdWVhcGkuYmlsbGluZy52MS5SZWdpc3RlckFjY291bnRzEjMKBWF6dXJlGAMgASgLMiQuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlZ2lzdGVyQWNjb3VudHMiTgoQUmVnaXN0ZXJBY2NvdW50cxIPCgdlbmFibGVkGAEgASgIEhEKCWFjY291bnRJZBgCIAEoCRIWCg51bkxpbmtPblJlbW92ZRgDIAEoCCJUCg5WZW5kb3JBY2NvdW50cxIOCgZ2ZW5kb3IYASABKAkSMgoIYWNjb3VudHMYAiADKAsyIC5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFRvQWRkImAKDEF6dXJlT3B0aW9ucxIVCg1yZXNvdXJjZUdyb3VwGAEgASgIEhsKE2FwcGx5UGNFYXJuZWRDcmVkaXQYAiABKAgSHAoUYXBwbHlDYW1wYWlnblByaWNpbmcYAyABKAgiqgcKH0NyZWF0ZUJpbGxpbmdHcm91cE1lcmdlZFJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgCIAEoCRITCgtjb21wYW55TmFtZRgDIAEoCRIUCgxiaWxsaW5nVGl0bGUYBCABKAkSEwoLcGhvbmVOdW1iZXIYBSABKAkSEgoKcG9zdGFsQ29kZRgGIAEoCRIPCgdhZGRyZXNzGAcgASgJEhAKCHBlcnNvbmFsGAggASgJEg8KB3JlbWFya3MYCSABKAkSEQoJcHJvamVjdElkGAogASgJEhAKCGxhbmd1YWdlGAsgASgJEhMKC2Rpc3BsYXlDb3N0GAwgASgJEhgKEGV4Y2hhbmdlUmF0ZVR5cGUYDSABKAkSOgoOYWNjb3VudE9wdGlvbnMYDyABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnMSRgoIaW52b2ljZXMYDiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2USMgoKYXdzT3B0aW9ucxgQIAEoCzIeLmJsdWVhcGkuYmlsbGluZy52MS5Bd3NPcHRpb25zEgwKBGNpdHkYESABKAkSEgoKcHJlZmVjdHVyZRgSIAEoCRIPCgdjb3VudHJ5GBMgASgJEhkKEWludm9pY2VUZW1wbGF0ZUlkGBQgASgJEjMKC3RhZ1NldHRpbmdzGBUgAygLMh4uYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZ1NldHRpbmcSOAoNbm9uVGFnU2V0dGluZxgWIAEoCzIhLmJsdWVhcGkuYmlsbGluZy52MS5Ob25UYWdTZXR0aW5nEjoKDnZlbmRvckFjY291bnRzGBcgAygLMiIuYmx1ZWFwaS5iaWxsaW5nLnYxLlZlbmRvckFjY291bnRzElsKDGN1c3RvbUZpZWxkcxgYIAMoCzJFLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBNZXJnZWRSZXF1ZXN0LkN1c3RvbUZpZWxkc0VudHJ5EjYKDGF6dXJlT3B0aW9ucxgZIAEoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5BenVyZU9wdGlvbnMaMwoRQ3VzdG9tRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL/AQogQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2USRwoDYXdzGAEgASgLMjouYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3RJbnZvaWNlVmVuZG9yEkkKBWF6dXJlGAIgASgLMjouYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3RJbnZvaWNlVmVuZG9yEkcKA2djcBgDIAEoCzI6LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0SW52b2ljZVZlbmRvciL1AwomQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2VWZW5kb3ISEAoIY2FsY1R5cGUYASABKAkSFAoMZGlzY291bnRSYXRlGAIgASgBEhcKD3N1YnN0aXR1dGlvbkZlZRgDIAEoCRIXCg9zdWJzdGl0dXRpb25GaXgYBCABKAESGAoQc3Vic3RpdHV0aW9uUmF0ZRgFIAEoARISCgpzdXBwb3J0RmVlGAYgASgJEhMKC3N1cHBvcnRSYXRlGAcgASgBEhIKCnN1cHBvcnRGaXgYCCABKAESDwoHdGF4UmF0ZRgJIAEoARIQCghjdXJyZW5jeRgKIAEoCRIbChNkaXNjb3VudFRhcmdldFVzYWdlGAsgASgJEiIKGnN1YnN0aXR1dGlvbkZlZVRhcmdldFVzYWdlGAwgASgJEhkKEWRpc2NvdW50Q2FsY0xvZ2ljGA0gASgJEiEKGXN1YnN0aXR1dGlvbkZlZUNhbGNUYXJnZXQYDiABKAkSHwoXc3Vic3RpdHV0aW9uRmVlQ2FsY1R5cGUYDyABKAkSGwoTc3VwcG9ydEFtb3VudFRhcmdldBgQIAEoCRIcChRzdXBwb3J0RmVlQ2FsY1RhcmdldBgRIAEoCRIcChRzdXBwb3J0RmVlQWRqdXN0bWVudBgSIAEoASJjChZHZXRCaWxsaW5nR3JvdXBSZXF1ZXN0EhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEi4KCmZpZWxkX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIlEKF0dldEJpbGxpbmdHcm91cFJlc3BvbnNlEjYKDGJpbGxpbmdHcm91cBgBIAEoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXAilgEKC0FjY2Vzc0dyb3VwEhUKDWFjY2Vzc0dyb3VwSWQYASABKAkSFwoPYWNjZXNzR3JvdXBOYW1lGAIgASgJEh4KFmFjY2Vzc0dyb3VwRGVzY3JpcHRpb24YAyABKAkSNwoNYmlsbGluZ0dyb3VwcxgEIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXAiXgoVR2V0QWNjZXNzR3JvdXBSZXF1ZXN0EhUKDWFjY2Vzc0dyb3VwSWQYASABKAkSLgoKZmllbGRfbWFzaxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2siTgoWR2V0QWNjZXNzR3JvdXBSZXNwb25zZRI0CgthY2Nlc3NHcm91cBgBIAEoCzIfLmJsdWVhcGkuYmlsbGluZy52MS5BY2Nlc3NHcm91cCKvAgoSQXdzRGFpbHlSdW5IaXN0b3J5EhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEg0KBW1vbnRoGAMgASgJEkAKCGFjY291bnRzGAQgAygLMi4uYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c0RhaWx5UnVuSGlzdG9yeS5BY2NvdW50GpQBCgdBY2NvdW50EhEKCWFjY291bnRJZBgBIAEoCRJHCgdoaXN0b3J5GAIgAygLMjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c0RhaWx5UnVuSGlzdG9yeS5BY2NvdW50Lkhpc3RvcnkaLQoHSGlzdG9yeRIRCgl0aW1lc3RhbXAYASABKAkSDwoHdHJpZ2dlchgCIAEoCSI/Ch1MaXN0QXdzRGFpbHlSdW5IaXN0b3J5UmVxdWVzdBINCgVtb250aBgBIAEoCRIPCgdncm91cElkGAIgASgJIlYKGkxpc3RVc2FnZUNvc3RzRHJpZnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgCIAEoCRINCgVtb250aBgDIAEoCSKGAQoPVXNhZ2VDb3N0c0RyaWZ0EhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEg8KB2FjY291bnQYAyABKAkSEAoIc25hcHNob3QYBCABKAESDwoHY3VycmVudBgFIAEoARIMCgRkaWZmGAYgASgBIjIKEUdldEludm9pY2VSZXF1ZXN0EgwKBGRhdGUYASABKAkSDwoHZ3JvdXBJZBgCIAEoCSI5ChhFeHBvcnRJbnZvaWNlRmlsZVJlcXVlc3QSDAoEZGF0ZRgBIAEoCRIPCgdncm91cElkGAIgASgJIigKGUV4cG9ydEludm9pY2VGaWxlUmVzcG9uc2USCwoDdXJsGAEgASgJIjUKI1JlYWRTZXJ2aWNlRGlzY291bnRzU2VydmljZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCSIkCiJMaXN0SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Il4KIUdldEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIKCgJpZBgBIAEoCRItCglmaWVsZE1hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrImoKF0ludm9pY2VTZXJ2aWNlRGlzY291bnRzEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHY3JlYXRlZBgEIAEoCRIPCgd1cGRhdGVkGAUgASgJIhwKGkxpc3RJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0Il0KKFVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VUZW1wbGF0ZVJlcXVlc3QSEAoCaWQYASABKAlCBOJBAQISHwoRaW52b2ljZVRlbXBsYXRlSWQYAiABKAlCBOJBAQIingIKG0xpc3RJbnZvaWNlVGVtcGxhdGVSZXNwb25zZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg8KB2NyZWF0ZWQYBCABKAkSDwoHdXBkYXRlZBgFIAEoCRIZChFudW1iZXJPZkNvbm5lY3RlZBgGIAEoBRJQChVjb25uZWN0ZWRCaWxsaW5nR3JvdXAYByADKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuSW52b2ljZUNvbm5lY3RlZEJpbGxpbmdHcm91cHMSQQoIaW52b2ljZXMYCCABKAsyLy5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzIiIKIEdldEludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXF1ZXN0IkgKIUdldEludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXNwb25zZRIjChtzaG93UklTUFVwZnJvbnRUaW1lSW50ZXJ2YWwYASABKAgirAEKI1VwZGF0ZUludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXF1ZXN0ElUKB3NldHRpbmcYASADKAsyRC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlSW52b2ljZURpc3BsYXlTZXR0aW5nc1JlcXVlc3QuU2V0dGluZ0VudHJ5Gi4KDFNldHRpbmdFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBImwKHUludm9pY2VDb25uZWN0ZWRCaWxsaW5nR3JvdXBzEhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkiPAopTGlzdEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCSKHAQoeQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEgoKAmlkGAEgASgJEg8KB2FjY291bnQYAiABKAkSSAoQc2VydmljZURpc2NvdW50cxgDIAEoCzIuLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5JbnZvaWNlU2VydmljZURpc2NvdW50cyI4ChdBY2NvdW50U2VydmljZURpc2NvdW50cxIKCgJpZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkifQorQ3JlYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJEj0KCGFjY291bnRzGAQgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzIm0KLENyZWF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlEj0KCGFjY291bnRzGAQgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzIn0KK1VwZGF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRI9CghhY2NvdW50cxgEIAMoCzIrLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50U2VydmljZURpc2NvdW50cyJtCixVcGRhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZRI9CghhY2NvdW50cxgEIAMoCzIrLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50U2VydmljZURpc2NvdW50cyI+CitEZWxldGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkifQorUmVtb3ZlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJEj0KCGFjY291bnRzGAQgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzIk8KMENyZWF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJEgoKAmlkGAIgASgJIj8KMUNyZWF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2USCgoCaWQYASABKAkiTwowVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSCgoCaWQYAiABKAkiPwoxVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZRIKCgJpZBgBIAEoCSJDCjBEZWxldGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCSJXChRDcmVhdGVJbnZvaWNlUmVxdWVzdBIMCgRkYXRlGAQgASgJEg4KBnZlbmRvchgBIAEoCRIRCglhbGxHcm91cHMYAiABKAgSDgoGZ3JvdXBzGAMgAygJIiUKF0dldEludm9pY2VTdGF0dXNSZXF1ZXN0EgoKAmlkGAEgASgJIigKGExpc3RJbnZvaWNlU3RhdHVzUmVxdWVzdBIMCgRkYXRlGAEgASgJImAKHFVwZGF0ZUludm9pY2VQcmV2aWV3c1JlcXVlc3QSDAoEZGF0ZRgBIAEoCRIRCglhbGxHcm91cHMYAiABKAgSDgoGZ3JvdXBzGAMgAygJEg8KB2VuYWJsZWQYBCABKAgizwEKFUNyZWF0ZVJlc2VsbGVyUmVxdWVzdBIPCgdncm91cElkGAEgASgJEg0KBWVtYWlsGAIgASgJEhAKCHBhc3N3b3JkGAMgASgJEhQKDG5vdGlmaWNhdGlvbhgEIAEoCBI2Cgp3YXZlQ29uZmlnGAUgAygLMiIuYmx1ZWFwaS5hcGkucmlwcGxlLlJlc2VsbGVyQ29uZmlnEjYKCmFxdWFDb25maWcYBiADKAsyIi5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXJDb25maWciRgoUTGlzdFJlc2VsbGVyc1JlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2siUAoSR2V0UmVzZWxsZXJSZXF1ZXN0EgoKAmlkGAEgASgJEi4KCmZpZWxkX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIqYCChVVcGRhdGVSZXNlbGxlclJlcXVlc3QSEAoCaWQYASABKAlCBOJBAQISEwoFZW1haWwYAiABKAlCBOJBAQESFwoIcGFzc3dvcmQYAyABKAlCBeJBAgQBEjwKCndhdmVDb25maWcYBCADKAsyIi5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXJDb25maWdCBOJBAQESPAoKYXF1YUNvbmZpZxgFIAMoCzIiLmJsdWVhcGkuYXBpLnJpcHBsZS5SZXNlbGxlckNvbmZpZ0IE4kEBARIbCgxub3RpZmljYXRpb24YBiABKAhCBeJBAgQBEjQKCnVwZGF0ZU1hc2sYByABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgTiQQECIiMKFURlbGV0ZVJlc2VsbGVyUmVxdWVzdBIKCgJpZBgBIAEoCSJKChhHZXRCaWxsaW5nU2V0dGluZ1JlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sixwIKGUdldEJpbGxpbmdTZXR0aW5nUmVzcG9uc2USMAoJeWVhck1vbnRoGAEgAygLMh0uYmx1ZWFwaS5hcGkucmlwcGxlLlllYXJNb250aBI0Cg5yb3VuZGluZ01ldGhvZBgCIAEoCzIcLmJsdWVhcGkuYXBpLnJpcHBsZS5Sb3VuZGluZxI6ChRleHBvcnRSb3VuZGluZ01ldGhvZBgDIAEoCzIcLmJsdWVhcGkuYXBpLnJpcHBsZS5Sb3VuZGluZxI4Cg1pbnZvaWNlTGF5b3V0GAQgASgLMiEuYmx1ZWFwaS5hcGkucmlwcGxlLkludm9pY2VMYXlvdXQSMwoOaW52b2ljZUR1ZURhdGUYBSABKAsyGy5ibHVlYXBpLmFwaS5yaXBwbGUuRHVlRGF0ZRIXCg9zdXBwb3J0Q3VycmVuY3kYBiADKAkiOQoYTGlzdEV4Y2hhbmdlUmF0ZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCSJlChxTZXRHbG9iYWxFeGNoYW5nZVJhdGVSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCRIQCghjdXJyZW5jeRgDIAEoCRIUCgxleGNoYW5nZVJhdGUYBCABKAEidwobU2V0UGF5ZXJFeGNoYW5nZVJhdGVSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSDQoFbW9udGgYAyABKAkSEAoIY3VycmVuY3kYBCABKAkSFAoMZXhjaGFuZ2VSYXRlGAUgASgBImwKIlNldEJpbGxpbmdHcm91cEV4Y2hhbmdlUmF0ZVJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRINCgVtb250aBgCIAEoCRIQCghjdXJyZW5jeRgDIAEoCRIUCgxleGNoYW5nZVJhdGUYBCABKAEi4gEKGUxpc3RFeGNoYW5nZVJhdGVzUmVzcG9uc2USDQoFbW9udGgYASABKAkSNgoGY29tbW9uGAIgASgLMiYuYmx1ZWFwaS5hcGkucmlwcGxlLkNvbW1vbkV4Y2hhbmdlUmF0ZRJCCgxiaWxsaW5nR3JvdXAYAyADKAsyLC5ibHVlYXBpLmFwaS5yaXBwbGUuQmlsbGluZ0dyb3VwRXhjaGFuZ2VSYXRlEjoKBXBheWVyGAQgASgLMisuYmx1ZWFwaS5hcGkucmlwcGxlLlZlbmRvclBheWVyRXhjaGFuZ2VSYXRlIkkKF0xpc3RBY2Nlc3NHcm91cHNSZXF1ZXN0Ei4KCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIlQKGENyZWF0ZUFjY2Vzc0dyb3VwUmVxdWVzdBIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhUKDWJpbGxpbmdHcm91cHMYAyADKAkiYAoYVXBkYXRlQWNjZXNzR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSFQoNYmlsbGluZ0dyb3VwcxgEIAMoCSImChhEZWxldGVBY2Nlc3NHcm91cFJlcXVlc3QSCgoCaWQYASABKAkifQoSTGlzdEludm9pY2VSZXF1ZXN0EgwKBGRhdGUYASABKAkSDgoGdmVuZG9yGAIgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAMgASgJEi4KCmZpZWxkX21hc2sYBCABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIoQJChNMaXN0SW52b2ljZVJlc3BvbnNlEhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkSEwoLY29tcGFueU5hbWUYBCABKAkSGgoSZmluYWxpemF0aW9uU3RhdHVzGAUgASgJEhEKCWlzQ3JlYXRlZBgGIAEoCBIZChFpc1NldHRpbmdNb2RpZmllZBgHIAEoCBITCgtjcmVhdGVkRGF0ZRgIIAEoCRITCgt1cGRhdGVkRGF0ZRgJIAEoCRIWCg5jcmVhdGVkVmVuZG9ycxgKIAMoCRITCgtpc1B1Ymxpc2hlZBgLIAEoCBJdChN2ZW5kb3JCaWxsaW5nQW1vdW50GAwgAygLMkAuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlUmVzcG9uc2UuVmVuZG9yQmlsbGluZ0Ftb3VudEVudHJ5EhoKEmJpbGxpbmdBbW91bnRUb3RhbBgNIAEoCRIQCghjdXJyZW5jeRgOIAEoCRINCgV1cmxJZBgPIAEoCRJtChtjcmVhdGVkVmVuZG9ySW52b2ljZVNldHRpbmcYECADKAsySC5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VSZXNwb25zZS5DcmVhdGVkVmVuZG9ySW52b2ljZVNldHRpbmdFbnRyeRJpChlzYXZlZFZlbmRvckludm9pY2VTZXR0aW5nGBEgAygLMkYuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlUmVzcG9uc2UuU2F2ZWRWZW5kb3JJbnZvaWNlU2V0dGluZ0VudHJ5Em0KG2RlZmF1bHRWZW5kb3JJbnZvaWNlU2V0dGluZxgSIAMoCzJILmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVJlc3BvbnNlLkRlZmF1bHRWZW5kb3JJbnZvaWNlU2V0dGluZ0VudHJ5EhAKCGhhc0NoaWxkGBMgASgIGjoKGFZlbmRvckJpbGxpbmdBbW91bnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGmcKIENyZWF0ZWRWZW5kb3JJbnZvaWNlU2V0dGluZ0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLmJsdWVhcGkuYmlsbGluZy52MS5JbnZvaWNlU2V0dGluZ3M6AjgBGmUKHlNhdmVkVmVuZG9ySW52b2ljZVNldHRpbmdFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5ibHVlYXBpLmJpbGxpbmcudjEuSW52b2ljZVNldHRpbmdzOgI4ARpnCiBEZWZhdWx0VmVuZG9ySW52b2ljZVNldHRpbmdFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5ibHVlYXBpLmJpbGxpbmcudjEuSW52b2ljZVNldHRpbmdzOgI4ASIpChtMaXN0QWJjQmlsbGluZ0dyb3Vwc1JlcXVlc3QSCgoCaWQYASABKAkiTgoiTGlzdEFiY0JpbGxpbmdHcm91cEFjY291bnRzUmVxdWVzdBIPCgdwYXllcklkGAEgASgJEhcKD2JpbGxpbmdHcm91cEFybhgCIAEoCSKPAQoPQWJjQmlsbGluZ0dyb3VwEgsKA2FybhgBIAEoCRIMCgRuYW1lGAIgASgJEhQKDGNyZWF0aW9uVGltZRgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIYChBwcmltYXJ5QWNjb3VudElkGAUgASgJEgwKBHNpemUYBiABKAkSDgoGc3RhdHVzGAcgASgJIjQKCkFiY0FjY291bnQSEQoJYWNjb3VudElkGAEgASgJEhMKC2FjY291bnROYW1lGAIgASgJImIKHVJlYWRJbnZvaWNlQWRqdXN0bWVudHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSDQoFbW9udGgYAyABKAkSDwoHZmVlVHlwZRgEIAEoCSKZAQocUmVhZEFkanVzdG1lbnRFbnRyaWVzUmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEwoFbW9udGgYAiABKAlCBOJBAQEaTgoiQWRqdXN0bWVudEVudHJpZXNSZXF1ZXN0QXdzT3B0aW9ucxITCgtzcHBEaXNjb3VudBgBIAEoCBITCgtlZHBEaXNjb3VudBgCIAEoCCJDChlHZXRBZGp1c3RtZW50RW50cnlSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhIQCgJpZBgCIAEoCUIE4kEBAiKeAwobQXBwbHlBZGp1c3RtZW50RW50cnlSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhJTCgdzZXR0aW5nGAIgASgLMjwuYmx1ZWFwaS5iaWxsaW5nLnYxLkFwcGx5QWRqdXN0bWVudEVudHJ5UmVxdWVzdC5BcHBseVNldHRpbmdCBOJBAQISFQoHZW50cmllcxgDIAMoCUIE4kEBAhr8AQoMQXBwbHlTZXR0aW5nEhMKBW1vbnRoGAEgASgJQgTiQQEBEhUKB3RheEZyZWUYAiABKAhCBOJBAQESagoMZXhjaGFuZ2VSYXRlGAMgAygLMk4uYmx1ZWFwaS5iaWxsaW5nLnYxLkFwcGx5QWRqdXN0bWVudEVudHJ5UmVxdWVzdC5BcHBseVNldHRpbmcuRXhjaGFuZ2VSYXRlRW50cnlCBOJBAQESHwoRYmlsbGluZ0ludGVybmFsSWQYBCABKAlCBOJBAQEaMwoRRXhjaGFuZ2VSYXRlRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgBOgI4ASJMCh1SZXN0b3JlQWRqdXN0bWVudEVudHJ5UmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISFQoHZW50cmllcxgDIAMoCUIE4kEBAiJfChtTcGxpdEFkanVzdG1lbnRFbnRyeVJlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECEhAKAmlkGAIgASgJQgTiQQECEhgKCnN0YXJ0TW9udGgYAyABKAlCBOJBAQIi/AEKHkFsbG9jYXRlQWRqdXN0bWVudEVudHJ5UmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEAoCaWQYAiABKAlCBOJBAQISVgoGY29uZmlnGAMgAygLMkAuYmx1ZWFwaS5iaWxsaW5nLnYxLkFsbG9jYXRlQWRqdXN0bWVudEVudHJ5UmVxdWVzdC5BY2NvdW50Q29uZmlnQgTiQQECEiEKE2FjY291bnRGb3JSZW1haW5pbmcYBCABKAlCBOJBAQIaNwoNQWNjb3VudENvbmZpZxIQCgJpZBgBIAEoCUIE4kEBAhIUCgZhbW91bnQYAiABKAFCBOJBAQIiTAoiUmVzdG9yZVNwbGl0QWRqdXN0bWVudEVudHJ5UmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEAoCaWQYAiABKAlCBOJBAQIiTwolUmVzdG9yZUFsbG9jYXRlQWRqdXN0bWVudEVudHJ5UmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEAoCaWQYAiABKAlCBOJBAQIifgoWQ3JlYXRlQ3VzdG9tRmVlUmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEwoFbW9udGgYAiABKAlCBOJBAQISOQoHZW50cmllcxgDIAMoCzIiLmJsdWVhcGkuYmlsbGluZy52MS5DdXN0b21GZWVFbnRyeUIE4kEBAiKhAwoOQ3VzdG9tRmVlRW50cnkSFwoJYWNjb3VudElkGAEgASgJQgTiQQECEhwKDnBheWVyQWNjb3VudElkGAIgASgJQgTiQQECEhUKB2ZlZVR5cGUYAyABKAlCBOJBAQISGQoLbW9iaW5naVR5cGUYBCABKAlCBOJBAQISFAoGYW1vdW50GAUgASgBQgTiQQECEhoKDGN1cnJlbmN5Q29kZRgGIAEoCUIE4kEBAhIZCgtkZXNjcmlwdGlvbhgHIAEoCUIE4kEBAhIZCgtwcm9kdWN0Q29kZRgIIAEoCUIE4kEBARIZCgtwcm9kdWN0TmFtZRgJIAEoCUIE4kEBARIYCgp1c2FnZVN0YXJ0GAogASgJQgTiQQEBEhoKDHRpbWVJbnRlcnZhbBgLIAEoCUIE4kEBARJACgRtZXRhGAwgAygLMiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkN1c3RvbUZlZUVudHJ5Lk1ldGFFbnRyeUIE4kEBARorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIqChdDcmVhdGVDdXN0b21GZWVSZXNwb25zZRIPCgdjcmVhdGVkGAEgASgFIn0KH0xpc3RBZGp1c3RtZW50RW50cnlJdGVtc1JlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECEhMKBW1vbnRoGAIgASgJQgTiQQECEhkKC21vYmluZ2lUeXBlGAMgASgJQgTiQQEBEhQKBnN0YXR1cxgEIAEoCUIE4kEBASK6AQoTQWRqdXN0bWVudEVudHJ5SXRlbRI1CgVlbnRyeRgBIAEoCzImLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5BZGp1c3RtZW50RW50cnkSPwoEbWV0YRgCIAMoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5BZGp1c3RtZW50RW50cnlJdGVtLk1ldGFFbnRyeRorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI8ChtMaXN0QWNjb3VudFJlc291cmNlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJIkoKD1Jlc291cmNlQWNjb3VudBIPCgdwYXllcklkGAEgASgJEhIKCmN1c3RvbWVySWQYAiABKAkSEgoKcmVnaXN0ZXJlZBgDIAEoCCJIChpHZXRBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSGgoSaW5jbHVkZVNQUERpc2NvdW50GAIgASgIIo0BCh1DcmVhdGVBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSKgoGY29uZmlnGAIgAygLMhouYmx1ZWFwaS5hcGkuQ29uZmlnRmlsdGVycxIwCghhY2NvdW50cxgDIAMoCzIeLmJsdWVhcGkuYXBpLk1hbmFnZW1lbnRBY2NvdW50Io0BCh1VcGRhdGVBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSKgoGY29uZmlnGAIgAygLMhouYmx1ZWFwaS5hcGkuQ29uZmlnRmlsdGVycxIwCghhY2NvdW50cxgDIAMoCzIeLmJsdWVhcGkuYXBpLk1hbmFnZW1lbnRBY2NvdW50Ii8KHURlbGV0ZUFkanVzdG1lbnRDb25maWdSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCSJnChlSZWFkVW50YWdnZWRHcm91cHNSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhI0CgpmaWVsZF9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IE4kEBASJcCiRSZWFkQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlc1JlcXVlc3QSNAoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCBOJBAQEiZgoiR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBIKCgJpZBgBIAEoCRI0CgpmaWVsZF9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IE4kEBASJ8CiVDcmVhdGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSMAoGY29uZmlnGAMgASgLMiAuYmx1ZWFwaS5hcGkucmlwcGxlLk1ldGhvZENvbmZpZyLFAQolVXBkYXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBIQCgJpZBgBIAEoCUIE4kEBAhJUChhjdXN0b21pemVkQmlsbGluZ1NlcnZpY2UYAiABKAsyLC5ibHVlYXBpLmFwaS5yaXBwbGUuQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQgTiQQECEjQKCnVwZGF0ZU1hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgTiQQECIjMKJURlbGV0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QSCgoCaWQYASABKAkiXQouR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVxdWVzdBIVCgdncm91cElkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAiLJAQovR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVzcG9uc2USEAoCaWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECEkAKDmNoYXJnaW5nVGFyZ2V0GAMgASgOMiIuYmx1ZWFwaS5hcGkucmlwcGxlLkNoYXJnaW5nVGFyZ2V0QgTiQQECEiwKCGFjY291bnRzGAQgAygLMhQuYmx1ZWFwaS5hcGkuQWNjb3VudEIE4kEBASL3AgouU2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVxdWVzdBIVCgdncm91cElkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAhKAAQoHc2V0dGluZxgDIAMoCzJpLmJsdWVhcGkuYmlsbGluZy52MS5TZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0LkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdTZXR0aW5nQgTiQQECGpQBCiZDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZxIQCgJpZBgBIAEoCUIE4kEBAhJACg5jaGFyZ2luZ1RhcmdldBgCIAEoDjIiLmJsdWVhcGkuYXBpLnJpcHBsZS5DaGFyZ2luZ1RhcmdldEIE4kEBAhIWCghhY2NvdW50cxgDIAMoCUIE4kEBASJgCjFEZWxldGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0EhUKB2dyb3VwSWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECIpEBCiRDcmVhdGVJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRJGCgdzZXR0aW5nGAMgASgLMjUuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzU2V0dGluZyLFAQokVXBkYXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EhAKAmlkGAEgASgJQgTiQQECElUKF2ludm9pY2VTZXJ2aWNlRGlzY291bnRzGAIgASgLMi4uYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzQgTiQQECEjQKCnVwZGF0ZU1hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgTiQQECIjIKJERlbGV0ZUludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIKCgJpZBgBIAEoCSJuCgdUYWdEYXRhEhIKCmN1c3RvbWVySWQYASABKAkSEQoJYWNjb3VudElkGAIgASgJEhQKDGN1c3RvbWVyTmFtZRgDIAEoCRImCgR0YWdzGAQgAygLMhguYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZ3MiIwoEVGFncxILCgNrZXkYASABKAkSDgoGdmFsdWVzGAIgAygJIi4KDkdldFRhZ3NSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIMCgR0eXBlGAIgASgJIjsKC0N1c3RvbUZpZWxkEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCSJeChdCaWxsaW5nR3JvdXBDdXN0b21GaWVsZBINCgV2YWx1ZRgBIAEoCRI0CgtjdXN0b21GaWVsZBgCIAEoCzIfLmJsdWVhcGkuYmlsbGluZy52MS5DdXN0b21GaWVsZCI1CiJMaXN0QmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkihQEKI0xpc3RCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlc3BvbnNlEg8KB2dyb3VwSWQYASABKAkSTQoYYmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRzGAIgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cEN1c3RvbUZpZWxkIjwKGENyZWF0ZUN1c3RvbUZpZWxkUmVxdWVzdBILCgNrZXkYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkiSAoYVXBkYXRlQ3VzdG9tRmllbGRSZXF1ZXN0EgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCSImChhEZWxldGVDdXN0b21GaWVsZFJlcXVlc3QSCgoCaWQYASABKAkiGAoWTGlzdEN1c3RvbUZpZWxkUmVxdWVzdCJrChdDcmVhdGVGcmVlRm9ybWF0UmVxdWVzdBIPCgdncm91cElkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIvCgVpdGVtcxgDIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5GcmVlRm9ybUl0ZW0iYQoMRnJlZUZvcm1JdGVtEg0KBWxhYmVsGAEgASgJEhAKCHVuaXRDb3N0GAIgASgDEg0KBXRvdGFsGAUgASgDEhAKCHF1YW50aXR5GAMgASgNEg8KB2VuYWJsZWQYBCABKAgiOgoXRGVsZXRlRnJlZUZvcm1hdFJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkiPQoUR2V0RnJlZUZvcm1hdFJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRIUCgxpc0Fzc29jaWF0ZWQYAiABKAgibgoVR2V0RnJlZUZvcm1hdFJlc3BvbnNlEg8KB2dyb3VwSWQYAyABKAkSDgoGdmVuZG9yGAEgASgJEjQKCmZyZWVGb3JtYXQYAiADKAsyIC5ibHVlYXBpLmJpbGxpbmcudjEuRnJlZUZvcm1JdGVtIncKHlVwZGF0ZVRhZ3NBZGRpbmdTZXR0aW5nUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDwoHZ3JvdXBJZBgCIAEoCRI0CgVpdGVtcxgDIAMoCzIlLmJsdWVhcGkuYmlsbGluZy52MS5UYWdzQWRkaW5nU2V0dGluZyI+ChtHZXRUYWdzQWRkaW5nU2V0dGluZ1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkiSQoRVGFnc0FkZGluZ1NldHRpbmcSDwoHZ3JvdXBJZBgBIAEoCRISCgpjdXN0b21lcklkGAIgASgJEg8KB3RhZ0tleXMYAyADKAkiTQodRXhwb3J0U2VydmljZURpc2NvdW50c1JlcXVlc3QSFAoGZm9ybWF0GAEgASgJQgTiQQECEhYKCGxhbmd1YWdlGAIgASgJQgTiQQEBIm8KK0V4cG9ydEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSFAoGZm9ybWF0GAEgASgJQgTiQQECEhYKCGxhbmd1YWdlGAIgASgJQgTiQQEBEhIKCmRpcmVjdExpbmsYAyABKAgidAowRXhwb3J0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EhQKBmZvcm1hdBgBIAEoCUIE4kEBAhIWCghsYW5ndWFnZRgCIAEoCUIE4kEBARISCgpkaXJlY3RMaW5rGAMgASgIIjYKHEV4cG9ydEJpbGxpbmdHcm91cENzdlJlcXVlc3QSFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQEiNQodRXhwb3J0QmlsbGluZ0dyb3VwQ3N2UmVzcG9uc2USFAoMZG93bmxvYWRMaW5rGAEgASgJIlwKHkV4cG9ydEludm9pY2VTZXR0aW5nQ3N2UmVxdWVzdBIWCghsYW5ndWFnZRgCIAEoCUIE4kEBARIiChRpbmNsdWRlTWlzY2VsbGFuZW91cxgDIAEoCEIE4kEBASI3Ch9FeHBvcnRJbnZvaWNlU2V0dGluZ0NzdlJlc3BvbnNlEhQKDGRvd25sb2FkTGluaxgBIAEoCSJACi1HZXRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCSI8Ci5HZXRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlEgoKAmlkGAEgASgJIrkBCiFBZGRCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRJTCgdpZFRvS2V5GAIgAygLMkIuYmx1ZWFwaS5iaWxsaW5nLnYxLkFkZEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVxdWVzdC5JZFRvS2V5RW50cnkaLgoMSWRUb0tleUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiTgokRGVsZXRlQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSFQoNY3VzdG9tRmllbGRJZBgCIAEoCSJ2Ch9BZGRBY2NvdW50VG9CaWxsaW5nR3JvdXBSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSDgoGdmVuZG9yGAIgASgJEjIKCGFjY291bnRzGAMgAygLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRUb0FkZCJRCgxBY2NvdW50VG9BZGQSEgoKY3VzdG9tZXJJZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSDAoEbmFtZRgDIAEoCRIMCgRub3RlGAQgASgJIqsBChxBZGRUYWdzVG9CaWxsaW5nR3JvdXBSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSDgoGdmVuZG9yGAIgASgJEjAKCHNldHRpbmdzGAMgAygLMh4uYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZ1NldHRpbmcSOAoNbm9uVGFnU2V0dGluZxgEIAEoCzIhLmJsdWVhcGkuYmlsbGluZy52MS5Ob25UYWdTZXR0aW5nIkcKClRhZ1NldHRpbmcSEgoKY3VzdG9tZXJJZBgBIAEoCRIlCgR0YWdzGAIgAygLMhcuYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZyIxCgNUYWcSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJEg4KBmFzc2lnbhgDIAEoBSI+Cg1Ob25UYWdTZXR0aW5nEg8KB2luY2x1ZGUYASABKAgSDAoEdHlwZRgCIAEoCRIOCgZhbW91bnQYAyABKAEiPgodU2F2ZVRhZ0ludm9pY2VTZXR0aW5nUmVzcG9uc2USDgoGc3RhdHVzGAEgASgJEg0KBWVycm9yGAIgASgJIn4KJlVwZGF0ZU5vblRhZ0dyb3VwVG9CaWxsaW5nR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEg4KBnZlbmRvchgCIAEoCRI4CghzZXR0aW5ncxgDIAMoCzImLmJsdWVhcGkuYmlsbGluZy52MS5Ob25UYWdHcm91cFNldHRpbmciPgoSTm9uVGFnR3JvdXBTZXR0aW5nEgoKAmlkGAEgASgJEgwKBHR5cGUYAiABKAkSDgoGYW1vdW50GAMgASgBIpoBChpTYXZlSW52b2ljZVNldHRpbmdzUmVxdWVzdBIMCgRkYXRlGAEgASgJEg4KBnZlbmRvchgCIAEoCRIRCglhbGxHcm91cHMYAyABKAgSDgoGZ3JvdXBzGAQgAygJEjsKDmludm9pY2VTZXR0aW5nGAUgASgLMiMuYmx1ZWFwaS5iaWxsaW5nLnYxLkludm9pY2VTZXR0aW5ncyKzBAoPSW52b2ljZVNldHRpbmdzEhEKCWludm9pY2VObxgCIAEoCRIUCgxkaXNjb3VudFJhdGUYBCABKAESGwoTZGlzY291bnRUYXJnZXRVc2FnZRgFIAEoCRIZChFkaXNjb3VudENhbGNMb2dpYxgGIAEoCRIPCgd0YXhSYXRlGAcgASgBEhIKCnN1cHBvcnRGZWUYCCABKAkSEwoLc3VwcG9ydFJhdGUYCSABKAESHAoUc3VwcG9ydEZlZUNhbGNUYXJnZXQYCiABKAkSEgoKc3VwcG9ydEZpeBgLIAEoARIXCg9zdWJzdGl0dXRpb25GZWUYDCABKAkSGAoQc3Vic3RpdHV0aW9uUmF0ZRgNIAEoARIXCg9zdWJzdGl0dXRpb25GaXgYDiABKAESIQoZc3Vic3RpdHV0aW9uRmVlQ2FsY1RhcmdldBgPIAEoCRIiChpzdWJzdGl0dXRpb25GZWVUYXJnZXRVc2FnZRgQIAEoCRIfChdzdWJzdGl0dXRpb25GZWVDYWxjVHlwZRgRIAEoCRIQCghjdXJyZW5jeRgDIAEoCRIUCgxleGNoYW5nZVJhdGUYEiABKAESDAoEbWVtbxgTIAEoCRIQCghjYWxjVHlwZRgUIAEoCRI5Cg9hZGRpdGlvbmFsSXRlbXMYFSADKAsyIC5ibHVlYXBpLmJpbGxpbmcudjEuRnJlZUZvcm1JdGVtEhwKFHN1cHBvcnRGZWVBZGp1c3RtZW50GBYgASgBIq0DChBCYXNpY0luZm9ybWF0aW9uEhgKEGJpbGxpbmdHcm91cE5hbWUYAiABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAyABKAkSEwoLY29tcGFueU5hbWUYBCABKAkSFgoJYWRkcmVzc2VlGAUgASgJSACIAQESFAoHY291bnRyeRgGIAEoCUgBiAEBEhcKCnBvc3RhbENvZGUYByABKAlIAogBARIRCgRjaXR5GAggASgJSAOIAQESGAoLcGhvbmVOdW1iZXIYCSABKAlIBIgBARIZCgxhZGRyZXNzTGluZTEYCiABKAlIBYgBARIZCgxhZGRyZXNzTGluZTIYCyABKAlIBogBARISCgVzdGF0ZRgMIAEoCUgHiAEBEhcKCnByZWZlY3R1cmUYDSABKAlICIgBAUIMCgpfYWRkcmVzc2VlQgoKCF9jb3VudHJ5Qg0KC19wb3N0YWxDb2RlQgcKBV9jaXR5Qg4KDF9waG9uZU51bWJlckIPCg1fYWRkcmVzc0xpbmUxQg8KDV9hZGRyZXNzTGluZTJCCAoGX3N0YXRlQg0KC19wcmVmZWN0dXJlIncKKVVwZGF0ZUJpbGxpbmdHcm91cEJhc2ljSW5mb3JtYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEj4KEGJhc2ljSW5mb3JtYXRpb24YAiABKAsyJC5ibHVlYXBpLmJpbGxpbmcudjEuQmFzaWNJbmZvcm1hdGlvbiK8AQolVXBkYXRlQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRzUmVxdWVzdBIKCgJpZBgBIAEoCRJXCgdpZFRvS2V5GAIgAygLMkYuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEN1c3RvbUZpZWxkc1JlcXVlc3QuSWRUb0tleUVudHJ5Gi4KDElkVG9LZXlFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBInIKI1VwZGF0ZUJpbGxpbmdHcm91cEZyZWVGb3JtYXRSZXF1ZXN0EgoKAmlkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIvCgVpdGVtcxgDIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5GcmVlRm9ybUl0ZW0i6gIKKFVwZGF0ZUJpbGxpbmdHcm91cExpbmtlZFJlc291cmNlc1JlcXVlc3QSCgoCaWQYASABKAkSDgoGdmVuZG9yGAIgASgJEhcKD3NlbGVjdGlvbk1ldGhvZBgDIAEoCRIyCghhY2NvdW50cxgEIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50VG9BZGQSMAoIc2V0dGluZ3MYBSADKAsyHi5ibHVlYXBpLmJpbGxpbmcudjEuVGFnU2V0dGluZxI9Cg1ub25UYWdTZXR0aW5nGAYgASgLMiEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vblRhZ1NldHRpbmdIAIgBARI/Cg5hY2NvdW50T3B0aW9ucxgHIAEoCzIiLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50T3B0aW9uc0gBiAEBQhAKDl9ub25UYWdTZXR0aW5nQhEKD19hY2NvdW50T3B0aW9ucyL2AQooVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzUmVxdWVzdBIKCgJpZBgBIAEoCRIZCgxiaWxsaW5nVGl0bGUYAiABKAlIAIgBARIcCg9jYWxjdWxhdGlvblR5cGUYAyABKAlIAYgBARIVCghsYW5ndWFnZRgEIAEoCUgCiAEBEiIKFWludm9pY2VMYXlvdXRDb25maWdJZBgFIAEoCUgDiAEBQg8KDV9iaWxsaW5nVGl0bGVCEgoQX2NhbGN1bGF0aW9uVHlwZUILCglfbGFuZ3VhZ2VCGAoWX2ludm9pY2VMYXlvdXRDb25maWdJZCKvAQooVXBkYXRlQmlsbGluZ0dyb3VwUmVzZWxsZXJDaGFyZ2VzUmVxdWVzdBIKCgJpZBgBIAEoCRIcCg9pbnZvaWNlVGVtcGxhdGUYAiABKAlIAIgBARJFCgdpbnZvaWNlGAMgASgLMjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3RJbnZvaWNlQhIKEF9pbnZvaWNlVGVtcGxhdGUivwQKKlVwZGF0ZUJpbGxpbmdHcm91cEFkZGl0aW9uYWxDaGFyZ2VzUmVxdWVzdBIKCgJpZBgBIAEoCRJ4CgNhd3MYAiADKAsyZS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQWRkaXRpb25hbENoYXJnZXNSZXF1ZXN0LkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdTZXR0aW5nQgTiQQECEnoKBWF6dXJlGAMgAygLMmUuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEFkZGl0aW9uYWxDaGFyZ2VzUmVxdWVzdC5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZ0IE4kEBAhJ4CgNnY3AYBCADKAsyZS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQWRkaXRpb25hbENoYXJnZXNSZXF1ZXN0LkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdTZXR0aW5nQgTiQQECGpQBCiZDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZxIQCgJpZBgBIAEoCUIE4kEBAhJACg5jaGFyZ2luZ1RhcmdldBgCIAEoDjIiLmJsdWVhcGkuYXBpLnJpcHBsZS5DaGFyZ2luZ1RhcmdldEIE4kEBAhIWCghhY2NvdW50cxgDIAMoCUIE4kEBASInChlEZWxldGVCaWxsaW5nR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJIlIKKEdldEJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhblJlcXVlc3QSEAoCaWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECIqABCilHZXRCaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW5SZXNwb25zZRIKCgJpZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSDwoHZW5hYmxlZBgDIAEoCBJGCgdzZXR0aW5nGAQgAygLMjUuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhbiLwAQorVXBkYXRlQmlsbGluZ0dyb3VwQWNjb3VudFN1cHBvcnRQbGFuUmVxdWVzdBIQCgJpZBgBIAEoCUIE4kEBAhIUCgZ2ZW5kb3IYAiABKAlCBOJBAQISFQoHZW5hYmxlZBgDIAEoCEIE4kEBARJMCgdzZXR0aW5nGAQgAygLMjUuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhbkIE4kEBARI0Cgp1cGRhdGVNYXNrGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IE4kEBAiIxChdHZXRBbm5vdW5jZW1lbnRzUmVxdWVzdBIWCg5hbm5vdW5jZW1lbnRJZBgBIAEoCSKnAQoZQ3JlYXRlQW5ub3VuY2VtZW50UmVxdWVzdBINCgVsYWJlbBgBIAEoCRIMCgR0eXBlGAIgASgJEhAKCGNvbnRlbnRzGAMgASgJEhUKDWJpbGxpbmdHcm91cHMYBCADKAkSGAoQYWxsQmlsbGluZ0dyb3VwcxgFIAEoCBINCgVzdGFydBgGIAEoAxILCgNlbmQYByABKAMSDgoGc3RhdHVzGAggASgJIngKGVVwZGF0ZUFubm91bmNlbWVudFJlcXVlc3QSFgoOYW5ub3VuY2VtZW50SWQYASABKAkSQwoMYW5ub3VuY2VtZW50GAIgASgLMi0uYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUFubm91bmNlbWVudFJlcXVlc3QiSgogVXBkYXRlQW5ub3VuY2VtZW50c1N0YXR1c1JlcXVlc3QSFgoOYW5ub3VuY2VtZW50SWQYASADKAkSDgoGc3RhdHVzGAIgASgJIkUKHVVwZGF0ZUFubm91bmNlbWVudERhdGVSZXF1ZXN0EhYKDmFubm91bmNlbWVudElkGAEgAygJEgwKBGRhdGUYAiABKAMiMwoZRGVsZXRlQW5ub3VuY2VtZW50UmVxdWVzdBIWCg5hbm5vdW5jZW1lbnRJZBgBIAEoCSLpAQoMQW5ub3VuY2VtZW50EgoKAmlkGAEgASgJEg0KBWxhYmVsGAIgASgJEgwKBHR5cGUYAyABKAkSDwoHbWVzc2FnZRgEIAEoCRIVCg1iaWxsaW5nR3JvdXBzGAUgAygJEhgKEGFsbEJpbGxpbmdHcm91cHMYDSABKAgSDQoFc3RhcnQYBiABKAkSCwoDZW5kGAcgASgJEgwKBGRhdGUYCCABKAkSDgoGc3RhdHVzGAkgASgJEhIKCnVzZXJTdGF0dXMYCiABKAkSDwoHY3JlYXRlZBgLIAEoCRIPCgd1cGRhdGVkGAwgASgJIjYKI0dldEJpbGxpbmdHcm91cEFubm91bmNlbWVudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkilgEKJEdldEJpbGxpbmdHcm91cEFubm91bmNlbWVudHNSZXNwb25zZRIPCgdncm91cElkGAEgASgJEhEKCWdyb3VwTmFtZRgCIAEoCRIRCgljb21wYW55SWQYAyABKAkSNwoNYW5ub3VuY2VtZW50cxgEIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5Bbm5vdW5jZW1lbnQiEwoRR2V0Q3JlZGl0c1JlcXVlc3QixAEKBkNyZWRpdBIKCgJpZBgBIAEoCRISCgpjdXN0b21lcklkGAIgASgJEhQKDGN1c3RvbWVyTmFtZRgDIAEoCRIUCgxjcmVkaXRBbW91bnQYBCABKAESDAoEdGVybRgFIAEoCRITCgtkZXNjcmlwdGlvbhgGIAEoCRIPCgdjcmVhdGVkGAcgASgJEhIKCmluaXRpYWxGZWUYCCABKAESFQoNY3JlZGl0QmFsYW5jZRgJIAEoARIPCgdhcHBsaWVkGAogASgIIhcKFUdldENzdlNldHRpbmdzUmVxdWVzdCKkAQoKQ3N2U2V0dGluZxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEjIKA2NvbBgDIAMoCzIlLmJsdWVhcGkuYmlsbGluZy52MS5Dc3ZTZXR0aW5nLkNvbHVtbhpICgZDb2x1bW4SDAoEbmFtZRgBIAEoCRIKCgJpZBgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIPCgdlbmFibGVkGAQgASgIIuYBCiBVcGRhdGVJbnZvaWNlRXhjaGFuZ2VSYXRlUmVxdWVzdBINCgVtb250aBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSXAoMZXhjaGFuZ2VSYXRlGAMgAygLMkYuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUludm9pY2VFeGNoYW5nZVJhdGVSZXF1ZXN0LkV4Y2hhbmdlUmF0ZUVudHJ5EhAKCGdyb3VwSWRzGAQgAygJGjMKEUV4Y2hhbmdlUmF0ZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAToCOAEiWwoaQ29udmVydEludm9pY2VUb1BkZlJlcXVlc3QSDAoEZGF0ZRgBIAEoCRIVCg1iaWxsaW5nZ3JvdXBzGAIgAygJEhgKEGFsbEJpbGxpbmdHcm91cHMYAyABKAgiRAobQ29udmVydEludm9pY2VUb1BkZlJlc3BvbnNlEhAKCHByb2dyZXNzGAEgASgJEhMKC2Rvd25sb2FkVXJsGAIgASgJIogCCiFMaXN0QmlsbGluZ0dyb3Vwc1BhZ2luYXRlZFJlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sSDwoHdmVuZG9ycxgCIAEoCRIQCghjYWxjVHlwZRgDIAEoCRITCgtkaXNwbGF5Q29zdBgEIAEoCRIOCgZiZ1R5cGUYBSABKAkSEwoLY29tcGFueU5hbWUYBiABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgHIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgIIAEoCRIQCghwYWdlU2l6ZRgJIAEoBRISCgpwYWdlTnVtYmVyGAogASgFIpcCChRCaWxsaW5nR3JvdXBMaXN0SXRlbRIYChBiaWxsaW5nR3JvdXBOYW1lGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhMKC2NvbXBhbnlOYW1lGAMgASgJEhgKEGJpbGxpbmdHcm91cFR5cGUYBCABKAkSTAoHdmVuZG9ycxgFIAMoCzI7LmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXBMaXN0SXRlbS5CaWxsaW5nR3JvdXBWZW5kb3ISGQoRYmlsbGluZ0ludGVybmFsSWQYBiABKAkaNQoSQmlsbGluZ0dyb3VwVmVuZG9yEg4KBnZlbmRvchgBIAEoCRIPCgdlbmFibGVkGAIgASgIIrQBCiJMaXN0QmlsbGluZ0dyb3Vwc1BhZ2luYXRlZFJlc3BvbnNlEj8KDWJpbGxpbmdHcm91cHMYASADKAsyKC5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwTGlzdEl0ZW0SEgoKdG90YWxDb3VudBgCIAEoBRITCgtjdXJyZW50UGFnZRgDIAEoBRIQCghwYWdlU2l6ZRgEIAEoBRISCgp0b3RhbFBhZ2VzGAUgASgFIo4BCiFDaGlsZEJpbGxpbmdHcm91cEJhc2ljSW5mb3JtYXRpb24SCgoCaWQYASABKAkSEgoKaW50ZXJuYWxJZBgGIAEoCRIQCghwYXJlbnRJZBgCIAEoCRIUCgxyb290UGFyZW50SWQYBSABKAkSDAoEbmFtZRgDIAEoCRITCgtjb21wYW55TmFtZRgEIAEoCSK+AQokQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwEhAKAmlkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAhJACg5jaGFyZ2luZ1RhcmdldBgDIAEoDjIiLmJsdWVhcGkuYXBpLnJpcHBsZS5DaGFyZ2luZ1RhcmdldEIE4kEBAhIsCghhY2NvdW50cxgEIAMoCzIULmJsdWVhcGkuYXBpLkFjY291bnRCBOJBAQEigAIKEUNoaWxkQmlsbGluZ0dyb3VwEk8KEGJhc2ljSW5mb3JtYXRpb24YASABKAsyNS5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uEk0KD2ludm9pY2VTZXR0aW5ncxgCIAEoCzI0LmJsdWVhcGkuYmlsbGluZy52MS5DaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5ncxI5CgtiaWxsaW5nSW5mbxgDIAEoCzIkLmJsdWVhcGkuYXBpLnJpcHBsZS5CaWxsaW5nR3JvdXBJbmZvEhAKCGhhc0NoaWxkGAQgASgIIuUBCiBDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5ncxJDCgNhd3MYASABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZxIhChlhY2NvdW50U3VwcG9ydFBsYW5FbmFibGVkGAIgASgIElkKGmFjY291bnRTdXBwb3J0UGxhblNldHRpbmdzGAMgAygLMjUuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhbiKaAgoeQ3JlYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXF1ZXN0Ek8KEGJhc2ljSW5mb3JtYXRpb24YASABKAsyNS5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uEjkKC2JpbGxpbmdJbmZvGAMgASgLMiQuYmx1ZWFwaS5hcGkucmlwcGxlLkJpbGxpbmdHcm91cEluZm8STQoPaW52b2ljZVNldHRpbmdzGAIgASgLMjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkNoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzEh0KFWludm9pY2VMYXlvdXRDb25maWdJZBgEIAEoCSIhCh9DcmVhdGVDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlIjEKG0dldENoaWxkQmlsbGluZ0dyb3VwUmVxdWVzdBISCgppbnRlcm5hbElkGAEgASgJIlYKHEdldENoaWxkQmlsbGluZ0dyb3VwUmVzcG9uc2USNgoHZGV0YWlscxgBIAEoCzIlLmJsdWVhcGkuYmlsbGluZy52MS5DaGlsZEJpbGxpbmdHcm91cCJBCh1SZWFkQ2hpbGRCaWxsaW5nR3JvdXBzUmVxdWVzdBIOCgZyb290SWQYASABKAkSEAoIcGFyZW50SWQYAiABKAkiwAEKHlVwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwUmVxdWVzdBISCgppbnRlcm5hbElkGAEgASgJEk8KEGJhc2ljSW5mb3JtYXRpb24YAiABKAsyNS5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uEjkKC2JpbGxpbmdJbmZvGAMgASgLMiQuYmx1ZWFwaS5hcGkucmlwcGxlLkJpbGxpbmdHcm91cEluZm8iIQofVXBkYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXNwb25zZSI0Ch5EZWxldGVDaGlsZEJpbGxpbmdHcm91cFJlcXVlc3QSEgoKaW50ZXJuYWxJZBgBIAEoCSIhCh9EZWxldGVDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlItABCi1VcGRhdGVDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5nc1JlcXVlc3QSEgoKaW50ZXJuYWxJZBgBIAEoCRJNCg9pbnZvaWNlU2V0dGluZ3MYAiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSIgoVaW52b2ljZUxheW91dENvbmZpZ0lkGAMgASgJSACIAQFCGAoWX2ludm9pY2VMYXlvdXRDb25maWdJZCIwCi5VcGRhdGVDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5nc1Jlc3BvbnNlIpoDCjNTZXRDaGlsZEJpbGxpbmdHcm91cEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QSGAoKaW50ZXJuYWxJZBgBIAEoCUIE4kEBAhIUCgZ2ZW5kb3IYAiABKAlCBOJBAQISFAoGcm9vdElkGAMgASgJQgTiQQECEoUBCgdzZXR0aW5nGAQgAygLMm4uYmx1ZWFwaS5iaWxsaW5nLnYxLlNldENoaWxkQmlsbGluZ0dyb3VwQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdC5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZ0IE4kEBAhqUAQomQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ1NldHRpbmcSEAoCaWQYASABKAlCBOJBAQISQAoOY2hhcmdpbmdUYXJnZXQYAiABKA4yIi5ibHVlYXBpLmFwaS5yaXBwbGUuQ2hhcmdpbmdUYXJnZXRCBOJBAQISFgoIYWNjb3VudHMYAyADKAlCBOJBAQEiVAoyU2V0Q2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSEgoKaW50ZXJuYWxJZBgBIAEoCRIKCgJpZBgCIAEoCSKOAQo5U2V0Q2hpbGRCaWxsaW5nR3JvdXBBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EhIKCmludGVybmFsSWQYASABKAkSPQoIYWNjb3VudHMYAiADKAsyKy5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFNlcnZpY2VEaXNjb3VudHMiWQozR2V0Q2hpbGRCaWxsaW5nR3JvdXBDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0EhIKCmludGVybmFsSWQYASABKAkSDgoGdmVuZG9yGAIgASgJIs4BCjRHZXRDaGlsZEJpbGxpbmdHcm91cEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlc3BvbnNlEhAKAmlkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAhJACg5jaGFyZ2luZ1RhcmdldBgDIAEoDjIiLmJsdWVhcGkuYXBpLnJpcHBsZS5DaGFyZ2luZ1RhcmdldEIE4kEBAhIsCghhY2NvdW50cxgEIAMoCzIULmJsdWVhcGkuYXBpLkFjY291bnRCBOJBAQEiSAoyR2V0Q2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSEgoKaW50ZXJuYWxJZBgBIAEoCSJBCjNHZXRDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2USCgoCaWQYASABKAkiUAo6UmVhZENoaWxkQmlsbGluZ0dyb3VwQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBISCgppbnRlcm5hbElkGAEgASgJInkKHUJ1bGtDcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0Eg4KBnZlbmRvchgFIAEoCRISCgpjc3ZDb250ZW50GAEgASgMEhEKCWRlbGltaXRlchgCIAEoCRIRCgloYXNIZWFkZXIYAyABKAgSDgoGZHJ5UnVuGAQgASgIIlUKG0J1bGtDcmVhdGVCaWxsaW5nR3JvdXBFcnJvchINCgVpbmRleBgBIAEoBRIWCg5iaWxsaW5nR3JvdXBJZBgCIAEoCRIPCgdtZXNzYWdlGAMgASgJIu0BCh5CdWxrQ3JlYXRlQmlsbGluZ0dyb3VwTWV0YWRhdGESDgoGc3RhdHVzGAEgASgJEhIKCnRvdGFsQ291bnQYAiABKAUSFgoOcHJvY2Vzc2VkQ291bnQYAyABKAUSFAoMc3VjY2Vzc0NvdW50GAQgASgFEhQKDGZhaWx1cmVDb3VudBgFIAEoBRI/CgZlcnJvcnMYBiADKAsyLy5ibHVlYXBpLmJpbGxpbmcudjEuQnVsa0NyZWF0ZUJpbGxpbmdHcm91cEVycm9yEhEKCXN0YXJ0VGltZRgHIAEoCRIPCgdlbmRUaW1lGAggASgJIrkBChNFeGNsdWRlU2VydmljZUVudHJ5Eg4KBm1zcF9pZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEAoIcGF5ZXJfaWQYAyABKAkSDwoHc2VydmljZRgEIAEoCRIPCgdwcm9kdWN0GAUgASgJEhcKD2V4Y2VwdF9wYXllcl9pZBgGIAMoCRIOCgZhY3Rpb24YByABKAkSDgoGc3RhdHVzGAggASgJEhUKDWVycm9yX21lc3NhZ2UYCSABKAkijwEKIENyZWF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXF1ZXN0Eg4KBm1zcF9pZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEAoIcGF5ZXJfaWQYAyABKAkSDwoHc2VydmljZRgEIAEoCRIPCgdwcm9kdWN0GAUgASgJEhcKD2V4Y2VwdF9wYXllcl9pZBgGIAMoCSJbCiFDcmVhdGVFeGNsdWRlU2VydmljZUVudHJ5UmVzcG9uc2USNgoFZW50cnkYASABKAsyJy5ibHVlYXBpLmJpbGxpbmcudjEuRXhjbHVkZVNlcnZpY2VFbnRyeSKPAQogVXBkYXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlcXVlc3QSDgoGbXNwX2lkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIQCghwYXllcl9pZBgDIAEoCRIPCgdzZXJ2aWNlGAQgASgJEg8KB3Byb2R1Y3QYBSABKAkSFwoPZXhjZXB0X3BheWVyX2lkGAYgAygJIlsKIVVwZGF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXNwb25zZRI2CgVlbnRyeRgBIAEoCzInLmJsdWVhcGkuYmlsbGluZy52MS5FeGNsdWRlU2VydmljZUVudHJ5InYKIERlbGV0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXF1ZXN0Eg4KBm1zcF9pZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEAoIcGF5ZXJfaWQYAyABKAkSDwoHc2VydmljZRgEIAEoCRIPCgdwcm9kdWN0GAUgASgJIlsKIURlbGV0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXNwb25zZRI2CgVlbnRyeRgBIAEoCzInLmJsdWVhcGkuYmlsbGluZy52MS5FeGNsdWRlU2VydmljZUVudHJ5IjwKGkxpc3RFeGNsdWRlU2VydmljZXNSZXF1ZXN0Eg4KBm1zcF9pZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkiVwobTGlzdEV4Y2x1ZGVTZXJ2aWNlc1Jlc3BvbnNlEjgKB2VudHJpZXMYASADKAsyJy5ibHVlYXBpLmJpbGxpbmcudjEuRXhjbHVkZVNlcnZpY2VFbnRyeSJECgtTZXJ2aWNlSXRlbRIKCgJpZBgBIAEoCRIMCgRjb2RlGAIgASgJEg0KBW5hbWVzGAMgAygJEgwKBHNrdXMYBCADKAkiMwoTTGlzdFNlcnZpY2VzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDAoEY29kZRgCIAEoCSJFChRMaXN0U2VydmljZXNSZXNwb25zZRItCgRkYXRhGAEgAygLMh8uYmx1ZWFwaS5iaWxsaW5nLnYxLlNlcnZpY2VJdGVtInIKFkJ1bGtMaW5rQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAUgASgJEhIKCmNzdkNvbnRlbnQYASABKAwSEQoJZGVsaW1pdGVyGAIgASgJEhEKCWhhc0hlYWRlchgDIAEoCBIOCgZkcnlSdW4YBCABKAgiYQoUQnVsa0xpbmtBY2NvdW50RXJyb3ISDQoFaW5kZXgYASABKAUSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSEQoJYWNjb3VudElkGAMgASgJEg8KB21lc3NhZ2UYBCABKAki3wEKF0J1bGtMaW5rQWNjb3VudE1ldGFkYXRhEg4KBnN0YXR1cxgBIAEoCRISCgp0b3RhbENvdW50GAIgASgFEhYKDnByb2Nlc3NlZENvdW50GAMgASgFEhQKDHN1Y2Nlc3NDb3VudBgEIAEoBRIUCgxmYWlsdXJlQ291bnQYBSABKAUSOAoGZXJyb3JzGAYgAygLMiguYmx1ZWFwaS5iaWxsaW5nLnYxLkJ1bGtMaW5rQWNjb3VudEVycm9yEhEKCXN0YXJ0VGltZRgHIAEoCRIPCgdlbmRUaW1lGAggASgJIj4KGkJ1bGtUYWdCaWxsaW5nR3JvdXBSZXF1ZXN0EhIKCmNzdkNvbnRlbnQYASABKAwSDAoEbW9kZRgCIAEoCSKCAQoYQnVsa1RhZ0JpbGxpbmdHcm91cEVycm9yEg0KBWluZGV4GAEgASgFEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhIKCmN1c3RvbWVySWQYAyABKAkSCwoDa2V5GAQgASgJEg0KBXZhbHVlGAUgASgJEg8KB21lc3NhZ2UYBiABKAki5wEKG0J1bGtUYWdCaWxsaW5nR3JvdXBNZXRhZGF0YRIOCgZzdGF0dXMYASABKAkSEgoKdG90YWxDb3VudBgCIAEoBRIWCg5wcm9jZXNzZWRDb3VudBgDIAEoBRIUCgxzdWNjZXNzQ291bnQYBCABKAUSFAoMZmFpbHVyZUNvdW50GAUgASgFEjwKBmVycm9ycxgGIAMoCzIsLmJsdWVhcGkuYmlsbGluZy52MS5CdWxrVGFnQmlsbGluZ0dyb3VwRXJyb3ISEQoJc3RhcnRUaW1lGAcgASgJEg8KB2VuZFRpbWUYCCABKAkiNwopR2V0QmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QSCgoCaWQYASABKAkieQoqR2V0QmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1Jlc3BvbnNlEjEKBmxheW91dBgBIAEoCzIhLmJsdWVhcGkuYXBpLnJpcHBsZS5JbnZvaWNlTGF5b3V0EgoKAmlkGAIgASgJEgwKBG5hbWUYAyABKAkiSgopU2V0QmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QSCgoCaWQYASABKAkSEQoJbGF5b3V0X2lkGAIgASgJImMKIENyZWF0ZUludm9pY2VMYXlvdXRDb25maWdSZXF1ZXN0EgwKBG5hbWUYASABKAkSMQoGbGF5b3V0GAIgASgLMiEuYmx1ZWFwaS5hcGkucmlwcGxlLkludm9pY2VMYXlvdXQiNgohQ3JlYXRlSW52b2ljZUxheW91dENvbmZpZ1Jlc3BvbnNlEhEKCWxheW91dF9pZBgBIAEoCSJvCiBVcGRhdGVJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdBIKCgJpZBgBIAEoCRIxCgZsYXlvdXQYAiABKAsyIS5ibHVlYXBpLmFwaS5yaXBwbGUuSW52b2ljZUxheW91dBIMCgRuYW1lGAMgASgJIiAKHlJlYWRJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdCJuCh9SZWFkSW52b2ljZUxheW91dENvbmZpZ1Jlc3BvbnNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSMQoGbGF5b3V0GAMgASgLMiEuYmx1ZWFwaS5hcGkucmlwcGxlLkludm9pY2VMYXlvdXQiOgosRGVsZXRlQmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QSCgoCaWQYASABKAkiLgogRGVsZXRlSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QSCgoCaWQYASABKAkyw74BCgdCaWxsaW5nEoABChFMaXN0QmlsbGluZ0dyb3VwcxIsLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QmlsbGluZ0dyb3Vwc1JlcXVlc3QaIC5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwIhmC0+STAhMSES92MS9iaWxsaW5nZ3JvdXBzMAESsAEKGkxpc3RCaWxsaW5nR3JvdXBzUGFnaW5hdGVkEjUuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RCaWxsaW5nR3JvdXBzUGFnaW5hdGVkUmVxdWVzdBo2LmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QmlsbGluZ0dyb3Vwc1BhZ2luYXRlZFJlc3BvbnNlIiOC0+STAh0SGy92MS9iaWxsaW5nZ3JvdXBzOnBhZ2luYXRlZBKDAQoSQ3JlYXRlQmlsbGluZ0dyb3VwEi0uYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3QaIC5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwIhyC0+STAhY6ASoiES92MS9iaWxsaW5nZ3JvdXBzEpYBChhDcmVhdGVCaWxsaW5nR3JvdXBNZXJnZWQSMy5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwTWVyZ2VkUmVxdWVzdBogLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXAiI4LT5JMCHToBKiIYL3YxL2JpbGxpbmdncm91cHMvbWVyZ2VkEnkKEURlbGV0ZUJpbGxpbkdyb3VwEi0uYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUJpbGxpbmdHcm91cFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiHYLT5JMCFyoVL3YxL2JpbGxpbmdncm91cC97aWR9EowBChhBZGRBY2NvdW50VG9CaWxsaW5nR3JvdXASMy5ibHVlYXBpLmJpbGxpbmcudjEuQWRkQWNjb3VudFRvQmlsbGluZ0dyb3VwUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIjgtPkkwIdOgEqIhgvdjEvYmlsbGluZ2dyb3VwL2FjY291bnQSmQEKD0dldEJpbGxpbmdHcm91cBIqLmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBSZXF1ZXN0GisuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cFJlc3BvbnNlIi2C0+STAicSJS92MS9iaWxsaW5nZ3JvdXBzL3tiaWxsaW5nSW50ZXJuYWxJZH0SkQEKDkdldEFjY2Vzc0dyb3VwEikuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEFjY2Vzc0dyb3VwUmVxdWVzdBoqLmJsdWVhcGkuYmlsbGluZy52MS5HZXRBY2Nlc3NHcm91cFJlc3BvbnNlIiiC0+STAiISIC92MS9hY2Nlc3Nncm91cHMve2FjY2Vzc0dyb3VwSWR9Ep4BChZMaXN0QXdzRGFpbHlSdW5IaXN0b3J5EjEuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RBd3NEYWlseVJ1bkhpc3RvcnlSZXF1ZXN0GiYuYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c0RhaWx5UnVuSGlzdG9yeSIngtPkkwIhOgEqIhwvdjEvYXdzL2RhaWx5cnVuaGlzdG9yeTpyZWFkMAESmgEKE0xpc3RVc2FnZUNvc3RzRHJpZnQSLi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdFVzYWdlQ29zdHNEcmlmdFJlcXVlc3QaIy5ibHVlYXBpLmJpbGxpbmcudjEuVXNhZ2VDb3N0c0RyaWZ0IiyC0+STAiY6ASoiIS92MS97dmVuZG9yfS91c2FnZWNvc3RzZHJpZnQ6cmVhZDABEnwKDUNyZWF0ZUludm9pY2USKC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlSW52b2ljZVJlcXVlc3QaGy5ibHVlYXBpLmFwaS5JbnZvaWNlTWVzc2FnZSIkgtPkkwIeOgEqIhkvdjEvaW52b2ljZS97ZGF0ZX06Y3JlYXRlEpsBChlDcmVhdGVJbnZvaWNlV2l0aFNldHRpbmdzEi4uYmx1ZWFwaS5iaWxsaW5nLnYxLlNhdmVJbnZvaWNlU2V0dGluZ3NSZXF1ZXN0GhsuYmx1ZWFwaS5hcGkuSW52b2ljZU1lc3NhZ2UiMYLT5JMCKzoBKiImL3YxL2ludm9pY2Uve2RhdGV9OmNyZWF0ZSZzYXZlc2V0dGluZ3MSiQEKE1NhdmVJbnZvaWNlU2V0dGluZ3MSLi5ibHVlYXBpLmJpbGxpbmcudjEuU2F2ZUludm9pY2VTZXR0aW5nc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKoLT5JMCJDoBKiIfL3YxL2ludm9pY2Uve2RhdGV9OnNhdmVzZXR0aW5ncxKiAQoTQ29udmVydEludm9pY2VUb1BkZhIuLmJsdWVhcGkuYmlsbGluZy52MS5Db252ZXJ0SW52b2ljZVRvUGRmUmVxdWVzdBovLmJsdWVhcGkuYmlsbGluZy52MS5Db252ZXJ0SW52b2ljZVRvUGRmUmVzcG9uc2UiKoLT5JMCJDoBKiIfL3YxL2ludm9pY2Uve2RhdGV9OmNvbnZlcnR0b3BkZhJ9ChBHZXRJbnZvaWNlU3RhdHVzEisuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEludm9pY2VTdGF0dXNSZXF1ZXN0GhsuYmx1ZWFwaS5hcGkuSW52b2ljZU1lc3NhZ2UiH4LT5JMCGRIXL3YxL2ludm9pY2Uvc3RhdHVzL3tpZH0SiwEKEUxpc3RJbnZvaWNlU3RhdHVzEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlU3RhdHVzUmVxdWVzdBobLmJsdWVhcGkuYXBpLkludm9pY2VNZXNzYWdlIimC0+STAiM6ASoiHi92MS9pbnZvaWNlL3N0YXR1cy97ZGF0ZX06cmVhZDABEm0KCkdldEludm9pY2USJS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0SW52b2ljZVJlcXVlc3QaFC5ibHVlYXBpLmFwaS5JbnZvaWNlIiKC0+STAhw6ASoiFy92MS9pbnZvaWNlL3tkYXRlfTpyZWFkEn0KC0xpc3RJbnZvaWNlEiYuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlUmVxdWVzdBonLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVJlc3BvbnNlIhuC0+STAhU6ASoiEC92MS9pbnZvaWNlOnJlYWQwARKIAQoVVXBkYXRlSW52b2ljZVByZXZpZXdzEjAuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUludm9pY2VQcmV2aWV3c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJYLT5JMCHzoBKhoaL3YxL2ludm9pY2Uve2RhdGV9OnByZXZpZXcSlgEKEUV4cG9ydEludm9pY2VGaWxlEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydEludm9pY2VGaWxlUmVxdWVzdBotLmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRJbnZvaWNlRmlsZVJlc3BvbnNlIiSC0+STAh46ASoiGS92MS9pbnZvaWNlL3tkYXRlfTpleHBvcnQSlgEKE0xpc3RJbnZvaWNlVGVtcGxhdGUSLi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VUZW1wbGF0ZVJlcXVlc3QaLy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VUZW1wbGF0ZVJlc3BvbnNlIhyC0+STAhYSFC92MS9pbnZvaWNlL3RlbXBsYXRlMAESrQEKGUdldEludm9pY2VEaXNwbGF5U2V0dGluZ3MSNC5ibHVlYXBpLmJpbGxpbmcudjEuR2V0SW52b2ljZURpc3BsYXlTZXR0aW5nc1JlcXVlc3QaNS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0SW52b2ljZURpc3BsYXlTZXR0aW5nc1Jlc3BvbnNlIiOC0+STAh0SGy92MS9pbnZvaWNlL2Rpc3BsYXlzZXR0aW5ncxKXAQocVXBkYXRlSW52b2ljZURpc3BsYXlTZXR0aW5ncxI3LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVJbnZvaWNlRGlzcGxheVNldHRpbmdzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSImgtPkkwIgOgEqIhsvdjEvaW52b2ljZS9kaXNwbGF5c2V0dGluZ3MSlgEKGVVwZGF0ZUludm9pY2VFeGNoYW5nZVJhdGUSNC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlSW52b2ljZUV4Y2hhbmdlUmF0ZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiK4LT5JMCJToBKhogL3YxL2ludm9pY2UvZXhjaGFuZ2VyYXRlL3ttb250aH0SrAEKIVVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VUZW1wbGF0ZRI8LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjGC0+STAis6ASoiJi92MS9iaWxsaW5nZ3JvdXBzL3tpZH0vaW52b2ljZXRlbXBsYXRlErEBChxSZWFkU2VydmljZURpc2NvdW50c1NlcnZpY2VzEjcuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlYWRTZXJ2aWNlRGlzY291bnRzU2VydmljZXNSZXF1ZXN0Gh4uYmx1ZWFwaS5hcGkucmlwcGxlLnYxLlNlcnZpY2UiNoLT5JMCMDoBKiIrL3YxL3NlcnZpY2VkaXNjb3VudHMve3ZlbmRvcn0vc2VydmljZXM6cmVhZDABEqoBCh1DcmVhdGVJbnZvaWNlU2VydmljZURpc2NvdW50cxI4LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaLi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuSW52b2ljZVNlcnZpY2VEaXNjb3VudHMiH4LT5JMCGToBKiIUL3YxL3NlcnZpY2VkaXNjb3VudHMSrwEKHVVwZGF0ZUludm9pY2VTZXJ2aWNlRGlzY291bnRzEjguYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBouLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5JbnZvaWNlU2VydmljZURpc2NvdW50cyIkgtPkkwIeOgEqGhkvdjEvc2VydmljZWRpc2NvdW50cy97aWR9EpQBCh1EZWxldGVJbnZvaWNlU2VydmljZURpc2NvdW50cxI4LmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiIYLT5JMCGyoZL3YxL3NlcnZpY2VkaXNjb3VudHMve2lkfRKqAQobTGlzdEludm9pY2VTZXJ2aWNlRGlzY291bnRzEjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaKy5ibHVlYXBpLmJpbGxpbmcudjEuSW52b2ljZVNlcnZpY2VEaXNjb3VudHMiJILT5JMCHjoBKiIZL3YxL3NlcnZpY2VkaXNjb3VudHM6cmVhZDABEqYBChpHZXRJbnZvaWNlU2VydmljZURpc2NvdW50cxI1LmJsdWVhcGkuYmlsbGluZy52MS5HZXRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaLi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuSW52b2ljZVNlcnZpY2VEaXNjb3VudHMiIYLT5JMCGxIZL3YxL3NlcnZpY2VkaXNjb3VudHMve2lkfRKiAQoWRXhwb3J0U2VydmljZURpc2NvdW50cxIxLmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBotLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5TZXJ2aWNlRGlzY291bnRzRXhwb3J0IiaC0+STAiA6ASoiGy92MS9zZXJ2aWNlZGlzY291bnRzOmV4cG9ydBLwAQopQ3JlYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSRC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GkUuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2UiNoLT5JMCMDoBKiIrL3YxL3NlcnZpY2VkaXNjb3VudHMve2dyb3VwSWR9L2JpbGxpbmdncm91cBLwAQopVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSRC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GkUuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2UiNoLT5JMCMDoBKhorL3YxL3NlcnZpY2VkaXNjb3VudHMve2dyb3VwSWR9L2JpbGxpbmdncm91cBK+AQopRGVsZXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSRC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjOC0+STAi0qKy92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9iaWxsaW5nZ3JvdXAS0QEKIkxpc3RBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSPS5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaMi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzIjaC0+STAjA6ASoiKy92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9hY2NvdW50OnJlYWQwARLcAQokQ3JlYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEj8uYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaQC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2UiMYLT5JMCKzoBKiImL3YxL3NlcnZpY2VkaXNjb3VudHMve2dyb3VwSWR9L2FjY291bnQS3AEKJFVwZGF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cxI/LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GkAuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlIjGC0+STAis6ASoaJi92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9hY2NvdW50ErkBCiRSZW1vdmVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSPy5ibHVlYXBpLmJpbGxpbmcudjEuUmVtb3ZlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI4gtPkkwIyOgEqGi0vdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYWNjb3VudDpyZW1vdmUSrwEKJERlbGV0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cxI/LmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ii6C0+STAigqJi92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9hY2NvdW50Es0BCiRFeHBvcnRBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSPy5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0QWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBo0LmJsdWVhcGkuYXBpLnJpcHBsZS52MS5BY2NvdW50U2VydmljZURpc2NvdW50c0V4cG9ydCIugtPkkwIoOgEqIiMvdjEvc2VydmljZWRpc2NvdW50cy9hY2NvdW50OmV4cG9ydBLaAQopRXhwb3J0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSRC5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GjIuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkdyb3VwU2VydmljZURpc2NvdW50c0V4cG9ydCIzgtPkkwItOgEqIigvdjEvc2VydmljZWRpc2NvdW50cy9iaWxsaW5nZ3JvdXA6ZXhwb3J0EuQBCiZHZXRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50cxJBLmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaQi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZSIzgtPkkwItEisvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYmlsbGluZ2dyb3VwEnMKDkNyZWF0ZVJlc2VsbGVyEikuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZVJlc2VsbGVyUmVxdWVzdBocLmJsdWVhcGkuYXBpLnJpcHBsZS5SZXNlbGxlciIYgtPkkwISOgEqIg0vdjEvcmVzZWxsZXJzEnAKDUxpc3RSZXNlbGxlcnMSKC5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdFJlc2VsbGVyc1JlcXVlc3QaHC5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXIiFYLT5JMCDxINL3YxL3Jlc2VsbGVyczABEm8KC0dldFJlc2VsbGVyEiYuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldFJlc2VsbGVyUmVxdWVzdBocLmJsdWVhcGkuYXBpLnJpcHBsZS5SZXNlbGxlciIagtPkkwIUEhIvdjEvcmVzZWxsZXJzL3tpZH0SeAoOVXBkYXRlUmVzZWxsZXISKS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlUmVzZWxsZXJSZXF1ZXN0GhwuYmx1ZWFwaS5hcGkucmlwcGxlLlJlc2VsbGVyIh2C0+STAhc6ASoaEi92MS9yZXNlbGxlcnMve2lkfRJvCg5EZWxldGVSZXNlbGxlchIpLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVSZXNlbGxlclJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiGoLT5JMCFCoSL3YxL3Jlc2VsbGVycy97aWR9EoYBChFHZXRCaWxsaW5nU2V0dGluZxIsLmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nU2V0dGluZ1JlcXVlc3QaLS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ1NldHRpbmdSZXNwb25zZSIUgtPkkwIOEgwvdjEvc2V0dGluZ3MSmwEKEUxpc3RFeGNoYW5nZVJhdGVzEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RFeGNoYW5nZVJhdGVzUmVxdWVzdBotLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0RXhjaGFuZ2VSYXRlc1Jlc3BvbnNlIimC0+STAiMSIS92MS97dmVuZG9yfS9leGNoYW5nZXJhdGUve21vbnRofRKWAQoVU2V0R2xvYmFsRXhjaGFuZ2VSYXRlEjAuYmx1ZWFwaS5iaWxsaW5nLnYxLlNldEdsb2JhbEV4Y2hhbmdlUmF0ZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiM4LT5JMCLToBKiIoL3YxL2V4Y2hhbmdlcmF0ZS9nbG9iYWwve3ZlbmRvcn0ve21vbnRofRKKAQoUU2V0UGF5ZXJFeGNoYW5nZVJhdGUSLy5ibHVlYXBpLmJpbGxpbmcudjEuU2V0UGF5ZXJFeGNoYW5nZVJhdGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IimC0+STAiM6ASoiHi92MS9leGNoYW5nZXJhdGUvcGF5ZXIve21vbnRofRKfAQobU2V0QmlsbGluZ0dyb3VwRXhjaGFuZ2VSYXRlEjYuYmx1ZWFwaS5iaWxsaW5nLnYxLlNldEJpbGxpbmdHcm91cEV4Y2hhbmdlUmF0ZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMILT5JMCKjoBKiIlL3YxL2V4Y2hhbmdlcmF0ZS9iaWxsaW5nZ3JvdXAve21vbnRofRJ8ChBMaXN0QWNjZXNzR3JvdXBzEisuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RBY2Nlc3NHcm91cHNSZXF1ZXN0Gh8uYmx1ZWFwaS5hcGkucmlwcGxlLkFjY2Vzc0dyb3VwIhiC0+STAhISEC92MS9hY2Nlc3Nncm91cHMwARJ/ChFDcmVhdGVBY2Nlc3NHcm91cBIsLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVBY2Nlc3NHcm91cFJlcXVlc3QaHy5ibHVlYXBpLmFwaS5yaXBwbGUuQWNjZXNzR3JvdXAiG4LT5JMCFToBKiIQL3YxL2FjY2Vzc2dyb3VwcxKEAQoRVXBkYXRlQWNjZXNzR3JvdXASLC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQWNjZXNzR3JvdXBSZXF1ZXN0Gh8uYmx1ZWFwaS5hcGkucmlwcGxlLkFjY2Vzc0dyb3VwIiCC0+STAho6ASoaFS92MS9hY2Nlc3Nncm91cHMve2lkfRJ4ChFEZWxldGVBY2Nlc3NHcm91cBIsLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVBY2Nlc3NHcm91cFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiHYLT5JMCFyoVL3YxL2FjY2Vzc2dyb3Vwcy97aWR9Ep8BChRMaXN0QWJjQmlsbGluZ0dyb3VwcxIvLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QWJjQmlsbGluZ0dyb3Vwc1JlcXVlc3QaIy5ibHVlYXBpLmJpbGxpbmcudjEuQWJjQmlsbGluZ0dyb3VwIi+C0+STAikSJy92MS9iaWxsaW5nZ3JvdXBzL2JpbGxpbmdjb25kdWN0b3Ive2lkfTABErYBChtMaXN0QWJjQmlsbGluZ0dyb3VwQWNjb3VudHMSNi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEFiY0JpbGxpbmdHcm91cEFjY291bnRzUmVxdWVzdBoeLmJsdWVhcGkuYmlsbGluZy52MS5BYmNBY2NvdW50Ij2C0+STAjcSNS92MS9iaWxsaW5nZ3JvdXBzL2JpbGxpbmdjb25kdWN0b3Ive3BheWVySWR9L2FjY291bnRzMAESnAEKFlJlYWRJbnZvaWNlQWRqdXN0bWVudHMSMS5ibHVlYXBpLmJpbGxpbmcudjEuUmVhZEludm9pY2VBZGp1c3RtZW50c1JlcXVlc3QaHC5ibHVlYXBpLmFwaS53YXZlLkFkanVzdG1lbnQiL4LT5JMCKToBKiIkL3YxL3t2ZW5kb3J9L2ludm9pY2VhZGp1c3RtZW50czpyZWFkMAESowEKFVJlYWRBZGp1c3RtZW50RW50cmllcxIwLmJsdWVhcGkuYmlsbGluZy52MS5SZWFkQWRqdXN0bWVudEVudHJpZXNSZXF1ZXN0GiYuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkFkanVzdG1lbnRFbnRyeSIugtPkkwIoOgEqIiMvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXM6cmVhZDABEpgBChJHZXRBZGp1c3RtZW50RW50cnkSLS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QWRqdXN0bWVudEVudHJ5UmVxdWVzdBomLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5BZGp1c3RtZW50RW50cnkiK4LT5JMCJRIjL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzL3tpZH0SkAEKFEFwcGx5QWRqdXN0bWVudEVudHJ5Ei8uYmx1ZWFwaS5iaWxsaW5nLnYxLkFwcGx5QWRqdXN0bWVudEVudHJ5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIvgtPkkwIpOgEqIiQvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXM6YXBwbHkSlgEKFlJlc3RvcmVBZGp1c3RtZW50RW50cnkSMS5ibHVlYXBpLmJpbGxpbmcudjEuUmVzdG9yZUFkanVzdG1lbnRFbnRyeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMYLT5JMCKzoBKiImL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzOnJlc3RvcmUSlQEKFFNwbGl0QWRqdXN0bWVudEVudHJ5Ei8uYmx1ZWFwaS5iaWxsaW5nLnYxLlNwbGl0QWRqdXN0bWVudEVudHJ5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI0gtPkkwIuOgEqIikvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXMve2lkfS9zcGxpdBKeAQoXQWxsb2NhdGVBZGp1c3RtZW50RW50cnkSMi5ibHVlYXBpLmJpbGxpbmcudjEuQWxsb2NhdGVBZGp1c3RtZW50RW50cnlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjeC0+STAjE6ASoiLC92MS97dmVuZG9yfS9hZGp1c3RtZW50ZW50cmllcy97aWR9L2FsbG9jYXRlEqsBChtSZXN0b3JlU3BsaXRBZGp1c3RtZW50RW50cnkSNi5ibHVlYXBpLmJpbGxpbmcudjEuUmVzdG9yZVNwbGl0QWRqdXN0bWVudEVudHJ5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI8gtPkkwI2OgEqIjEvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXMve2lkfS9zcGxpdDpyZXN0b3JlErQBCh5SZXN0b3JlQWxsb2NhdGVBZGp1c3RtZW50RW50cnkSOS5ibHVlYXBpLmJpbGxpbmcudjEuUmVzdG9yZUFsbG9jYXRlQWRqdXN0bWVudEVudHJ5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI/gtPkkwI5OgEqIjQvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXMve2lkfS9hbGxvY2F0ZTpyZXN0b3JlEqABCg9DcmVhdGVDdXN0b21GZWUSKi5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQ3VzdG9tRmVlUmVxdWVzdBorLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVDdXN0b21GZWVSZXNwb25zZSI0gtPkkwIuOgEqIikvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXMvY3VzdG9tZmVlcxKtAQoYTGlzdEFkanVzdG1lbnRFbnRyeUl0ZW1zEjMuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RBZGp1c3RtZW50RW50cnlJdGVtc1JlcXVlc3QaJy5ibHVlYXBpLmJpbGxpbmcudjEuQWRqdXN0bWVudEVudHJ5SXRlbSIxgtPkkwIrOgEqIiYvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJ5aXRlbXM6cmVhZDABEpcBChRMaXN0QWNjb3VudFJlc291cmNlcxIvLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QWNjb3VudFJlc291cmNlc1JlcXVlc3QaIy5ibHVlYXBpLmJpbGxpbmcudjEuUmVzb3VyY2VBY2NvdW50IieC0+STAiESHy92MS9yZXNvdXJjZXMvYWNjb3VudHMve3ZlbmRvcn0wARKLAQoTR2V0QWRqdXN0bWVudENvbmZpZxIuLmJsdWVhcGkuYmlsbGluZy52MS5HZXRBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBodLmJsdWVhcGkuYXBpLkFkanVzdG1lbnRDb25maWciJYLT5JMCHxIdL3YxL2FkanVzdG1lbnRjb25maWcve3ZlbmRvcn0SlAEKFkNyZWF0ZUFkanVzdG1lbnRDb25maWcSMS5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQWRqdXN0bWVudENvbmZpZ1JlcXVlc3QaHS5ibHVlYXBpLmFwaS5BZGp1c3RtZW50Q29uZmlnIiiC0+STAiI6ASoiHS92MS9hZGp1c3RtZW50Y29uZmlnL3t2ZW5kb3J9EpQBChZVcGRhdGVBZGp1c3RtZW50Q29uZmlnEjEuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUFkanVzdG1lbnRDb25maWdSZXF1ZXN0Gh0uYmx1ZWFwaS5hcGkuQWRqdXN0bWVudENvbmZpZyIogtPkkwIiOgEqGh0vdjEvYWRqdXN0bWVudGNvbmZpZy97dmVuZG9yfRKKAQoWRGVsZXRlQWRqdXN0bWVudENvbmZpZxIxLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIlgtPkkwIfKh0vdjEvYWRqdXN0bWVudGNvbmZpZy97dmVuZG9yfRKVAQoSUmVhZFVudGFnZ2VkR3JvdXBzEi0uYmx1ZWFwaS5iaWxsaW5nLnYxLlJlYWRVbnRhZ2dlZEdyb3Vwc1JlcXVlc3QaIS5ibHVlYXBpLmFwaS5yaXBwbGUuVW50YWdnZWRHcm91cCIrgtPkkwIlOgEqIiAvdjEve3ZlbmRvcn0vdW50YWdnZWRncm91cHM6cmVhZDABErgBCh1SZWFkQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlcxI4LmJsdWVhcGkuYmlsbGluZy52MS5SZWFkQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlc1JlcXVlc3QaLC5ibHVlYXBpLmFwaS5yaXBwbGUuQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlIi2C0+STAic6ASoiIi92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzOnJlYWQwARKvAQobR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlEjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QaLC5ibHVlYXBpLmFwaS5yaXBwbGUuQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlIiqC0+STAiQSIi92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzL3tpZH0SswEKHkNyZWF0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRI5LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0GiwuYmx1ZWFwaS5hcGkucmlwcGxlLkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZSIogtPkkwIiOgEqIh0vdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlcxK4AQoeVXBkYXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlEjkuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QaLC5ibHVlYXBpLmFwaS5yaXBwbGUuQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlIi2C0+STAic6ASoaIi92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzL3tpZH0SnwEKHkRlbGV0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRI5LmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiqC0+STAiQqIi92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzL3tpZH0S+wEKJ0dldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cBJCLmJsdWVhcGkuYmlsbGluZy52MS5HZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0GkMuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cFJlc3BvbnNlIkWC0+STAj8SPS92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzL2JpbGxpbmdncm91cC97Z3JvdXBJZH0ve3ZlbmRvcn0wARLPAQonU2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwEkIuYmx1ZWFwaS5iaWxsaW5nLnYxLlNldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiSILT5JMCQjoBKiI9L3YxL2N1c3RvbWl6ZWRiaWxsaW5nc2VydmljZXMvYmlsbGluZ2dyb3VwL3tncm91cElkfS97dmVuZG9yfRLSAQoqRGVsZXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwEkUuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiRYLT5JMCPyo9L3YxL2N1c3RvbWl6ZWRiaWxsaW5nc2VydmljZXMvYmlsbGluZ2dyb3VwL3tncm91cElkfS97dmVuZG9yfRJeCgdHZXRUYWdzEiIuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldFRhZ3NSZXF1ZXN0GhsuYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZ0RhdGEiEILT5JMCChIIL3YxL3RhZ3MwARJ+ChFDcmVhdGVDdXN0b21GaWVsZBIsLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVDdXN0b21GaWVsZFJlcXVlc3QaHy5ibHVlYXBpLmJpbGxpbmcudjEuQ3VzdG9tRmllbGQiGoLT5JMCFDoBKiIPL3YxL2N1c3RvbWZpZWxkEoEBCg9MaXN0Q3VzdG9tRmllbGQSKi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEN1c3RvbUZpZWxkUmVxdWVzdBofLmJsdWVhcGkuYmlsbGluZy52MS5DdXN0b21GaWVsZCIfgtPkkwIZOgEqIhQvdjEvY3VzdG9tZmllbGQ6cmVhZDABEpQBChpBZGRCaWxsaW5nR3JvdXBDdXN0b21GaWVsZBI1LmJsdWVhcGkuYmlsbGluZy52MS5BZGRCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJ4LT5JMCIToBKiIcL3YxL2JpbGxpbmdncm91cC9jdXN0b21maWVsZBK+AQobTGlzdEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkEjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlcXVlc3QaNy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVzcG9uc2UiLILT5JMCJjoBKiIhL3YxL2JpbGxpbmdncm91cC9jdXN0b21maWVsZDpyZWFkMAESgwEKFUFkZFRhZ3NUb0JpbGxpbmdHcm91cBIwLmJsdWVhcGkuYmlsbGluZy52MS5BZGRUYWdzVG9CaWxsaW5nR3JvdXBSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiCC0+STAho6ASoiFS92MS9iaWxsaW5nZ3JvdXAvdGFncxKvAQofVXBkYXRlTm9uVGFnR3JvdXBUb0JpbGxpbmdHcm91cBI6LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVOb25UYWdHcm91cFRvQmlsbGluZ0dyb3VwUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI4gtPkkwIyOgEqIi0vdjEvYmlsbGluZ2dyb3VwL3tpZH0ve3ZlbmRvcn0vdW50YWdnZWRncm91cHMSsQEKHURlbGV0ZUJpbGxpbmdHcm91cEN1c3RvbUZpZWxkEjguYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI+gtPkkwI4KjYvdjEvYmlsbGluZ2dyb3VwL2N1c3RvbWZpZWxkL3tncm91cElkfS97Y3VzdG9tRmllbGRJZH0SgwEKEVVwZGF0ZUN1c3RvbUZpZWxkEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUN1c3RvbUZpZWxkUmVxdWVzdBofLmJsdWVhcGkuYmlsbGluZy52MS5DdXN0b21GaWVsZCIfgtPkkwIZOgEqGhQvdjEvY3VzdG9tZmllbGQve2lkfRJ3ChFEZWxldGVDdXN0b21GaWVsZBIsLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVDdXN0b21GaWVsZFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiHILT5JMCFioUL3YxL2N1c3RvbWZpZWxkL3tpZH0ScgoQQ3JlYXRlRnJlZUZvcm1hdBIrLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVGcmVlRm9ybWF0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIZgtPkkwITOgEqIg4vdjEvZnJlZWZvcm1hdBJ5ChBEZWxldGVGcmVlRm9ybWF0EisuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUZyZWVGb3JtYXRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiCC0+STAhoqGC92MS9mcmVlZm9ybWF0L3tncm91cElkfRKIAQoNR2V0RnJlZUZvcm1hdBIoLmJsdWVhcGkuYmlsbGluZy52MS5HZXRGcmVlRm9ybWF0UmVxdWVzdBopLmJsdWVhcGkuYmlsbGluZy52MS5HZXRGcmVlRm9ybWF0UmVzcG9uc2UiIILT5JMCGhIYL3YxL2ZyZWVmb3JtYXQve2dyb3VwSWR9MAESogEKFEdldFRhZ3NBZGRpbmdTZXR0aW5nEi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldFRhZ3NBZGRpbmdTZXR0aW5nUmVxdWVzdBolLmJsdWVhcGkuYmlsbGluZy52MS5UYWdzQWRkaW5nU2V0dGluZyIwgtPkkwIqEigvdjEve3ZlbmRvcn0vdGFnc2FkZGluZ3NldHRpbmcve2dyb3VwSWR9MAESmgEKF1VwZGF0ZVRhZ3NBZGRpbmdTZXR0aW5nEjIuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZVRhZ3NBZGRpbmdTZXR0aW5nUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIzgtPkkwItOgEqGigvdjEve3ZlbmRvcn0vdGFnc2FkZGluZ3NldHRpbmcve2dyb3VwSWR9EqEBChVFeHBvcnRCaWxsaW5nR3JvdXBDc3YSMC5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0QmlsbGluZ0dyb3VwQ3N2UmVxdWVzdBoxLmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRCaWxsaW5nR3JvdXBDc3ZSZXNwb25zZSIjgtPkkwIdEhsvdjEvZXhwb3J0Y3N2L2JpbGxpbmctZ3JvdXASqQEKF0V4cG9ydEludm9pY2VTZXR0aW5nQ3N2EjIuYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydEludm9pY2VTZXR0aW5nQ3N2UmVxdWVzdBozLmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRJbnZvaWNlU2V0dGluZ0NzdlJlc3BvbnNlIiWC0+STAh8SHS92MS9leHBvcnRjc3YvaW52b2ljZS1zZXR0aW5nEqcBCiJVcGRhdGVCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uEj0uYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEJhc2ljSW5mb3JtYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiqC0+STAiQ6ASoaHy92MS9iaWxsaW5nZ3JvdXAve2lkfTpiYXNpY0luZm8SogEKHlVwZGF0ZUJpbGxpbmdHcm91cEN1c3RvbUZpZWxkcxI5LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBDdXN0b21GaWVsZHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ii2C0+STAic6ASoaIi92MS9iaWxsaW5nZ3JvdXAve2lkfTpjdXN0b21GaWVsZHMSnAEKHFVwZGF0ZUJpbGxpbmdHcm91cEZyZWVGb3JtYXQSNy5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwRnJlZUZvcm1hdFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiK4LT5JMCJToBKhogL3YxL2JpbGxpbmdncm91cC97aWR9OmZyZWVGb3JtYXQSpQEKIVVwZGF0ZUJpbGxpbmdHcm91cExpbmtlZFJlc291cmNlcxI8LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBMaW5rZWRSZXNvdXJjZXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiqC0+STAiQ6ASoaHy92MS9iaWxsaW5nZ3JvdXAve2lkfTpyZXNvdXJjZXMSqwEKIVVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5ncxI8LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjCC0+STAio6ASoaJS92MS9iaWxsaW5nZ3JvdXAve2lkfTppbnZvaWNlU2V0dGluZ3MSqwEKIVVwZGF0ZUJpbGxpbmdHcm91cFJlc2VsbGVyQ2hhcmdlcxI8LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBSZXNlbGxlckNoYXJnZXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjCC0+STAio6ASoaJS92MS9iaWxsaW5nZ3JvdXAve2lkfTpyZXNlbGxlckNoYXJnZXMSsQEKI1VwZGF0ZUJpbGxpbmdHcm91cEFkZGl0aW9uYWxDaGFyZ2VzEj4uYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEFkZGl0aW9uYWxDaGFyZ2VzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIygtPkkwIsOgEqGicvdjEvYmlsbGluZ2dyb3VwL3tpZH06YWRkaXRpb25hbENoYXJnZXMS1AEKIUdldEJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhbhI8LmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW5SZXF1ZXN0Gj0uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhblJlc3BvbnNlIjKC0+STAiwSKi92MS9iaWxsaW5nZ3JvdXAve2lkfS97dmVuZG9yfS9zdXBwb3J0cGxhbhK2AQokVXBkYXRlQmlsbGluZ0dyb3VwQWNjb3VudFN1cHBvcnRQbGFuEj8uYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiNYLT5JMCLzoBKhoqL3YxL2JpbGxpbmdncm91cC97aWR9L3t2ZW5kb3J9L3N1cHBvcnRwbGFuEoEBChJDcmVhdGVBbm5vdW5jZW1lbnQSLS5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQW5ub3VuY2VtZW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIkgtPkkwIeOgEqIhkvdjEvcmVzZWxsZXIvYW5ub3VuY2VtZW50EpIBChJVcGRhdGVBbm5vdW5jZW1lbnQSLS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQW5ub3VuY2VtZW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI1gtPkkwIvOgEqGiovdjEvcmVzZWxsZXIvYW5ub3VuY2VtZW50L3thbm5vdW5jZW1lbnRJZH0SnAEKGVVwZGF0ZUFubm91bmNlbWVudHNTdGF0dXMSNC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQW5ub3VuY2VtZW50c1N0YXR1c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMYLT5JMCKzoBKjImL3YxL3Jlc2VsbGVyL2Fubm91bmNlbWVudHMvYnVsay9zdGF0dXMSoAEKFlVwZGF0ZUFubm91bmNlbWVudERhdGUSMS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQW5ub3VuY2VtZW50RGF0ZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiO4LT5JMCNToBKjIwL3YxL3Jlc2VsbGVyL2Fubm91bmNlbWVudHMve2Fubm91bmNlbWVudElkfS9kYXRlEo8BChJEZWxldGVBbm5vdW5jZW1lbnQSLS5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQW5ub3VuY2VtZW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIygtPkkwIsKiovdjEvcmVzZWxsZXIvYW5ub3VuY2VtZW50L3thbm5vdW5jZW1lbnRJZH0SoAEKEEdldEFubm91bmNlbWVudHMSKy5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QW5ub3VuY2VtZW50c1JlcXVlc3QaIC5ibHVlYXBpLmJpbGxpbmcudjEuQW5ub3VuY2VtZW50IjuC0+STAjUSMy9iaWxsaW5nL3YxL3Jlc2VsbGVyL2Fubm91bmNlbWVudHMve2Fubm91bmNlbWVudElkfTABEs4BChxHZXRCaWxsaW5nR3JvdXBBbm5vdW5jZW1lbnRzEjcuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cEFubm91bmNlbWVudHNSZXF1ZXN0GjguYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cEFubm91bmNlbWVudHNSZXNwb25zZSI5gtPkkwIzEjEvdjEvYmlsbGluZ2dyb3VwL3Jlc2VsbGVyL2Fubm91bmNlbWVudHMve2dyb3VwSWR9MAESZgoKR2V0Q3JlZGl0cxIlLmJsdWVhcGkuYmlsbGluZy52MS5HZXRDcmVkaXRzUmVxdWVzdBoaLmJsdWVhcGkuYmlsbGluZy52MS5DcmVkaXQiE4LT5JMCDRILL3YxL2NyZWRpdHMwARJ2Cg5HZXRDc3ZTZXR0aW5ncxIpLmJsdWVhcGkuYmlsbGluZy52MS5HZXRDc3ZTZXR0aW5nc1JlcXVlc3QaHi5ibHVlYXBpLmJpbGxpbmcudjEuQ3N2U2V0dGluZyIXgtPkkwIREg8vdjEvY3N2c2V0dGluZ3MwARKpAQoXQ3JlYXRlQ2hpbGRCaWxsaW5nR3JvdXASMi5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXF1ZXN0GjMuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUNoaWxkQmlsbGluZ0dyb3VwUmVzcG9uc2UiJYLT5JMCHzoBKiIaL3YxL2JpbGxpbmdncm91cHMvY2hpbGRyZW4SqgEKFEdldENoaWxkQmlsbGluZ0dyb3VwEi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldENoaWxkQmlsbGluZ0dyb3VwUmVxdWVzdBowLmJsdWVhcGkuYmlsbGluZy52MS5HZXRDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlIi+C0+STAikSJy92MS9iaWxsaW5nZ3JvdXBzL2NoaWxkcmVuL3tpbnRlcm5hbElkfRKgAQoWUmVhZENoaWxkQmlsbGluZ0dyb3VwcxIxLmJsdWVhcGkuYmlsbGluZy52MS5SZWFkQ2hpbGRCaWxsaW5nR3JvdXBzUmVxdWVzdBolLmJsdWVhcGkuYmlsbGluZy52MS5DaGlsZEJpbGxpbmdHcm91cCIqgtPkkwIkOgEqIh8vdjEvYmlsbGluZ2dyb3Vwcy9jaGlsZHJlbjpyZWFkMAEStgEKF1VwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwEjIuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwUmVxdWVzdBozLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlIjKC0+STAiw6ASoaJy92MS9iaWxsaW5nZ3JvdXBzL2NoaWxkcmVuL3tpbnRlcm5hbElkfRKzAQoXRGVsZXRlQ2hpbGRCaWxsaW5nR3JvdXASMi5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXF1ZXN0GjMuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUNoaWxkQmlsbGluZ0dyb3VwUmVzcG9uc2UiL4LT5JMCKSonL3YxL2JpbGxpbmdncm91cHMvY2hpbGRyZW4ve2ludGVybmFsSWR9EvMBCiZVcGRhdGVDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5ncxJBLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5nc1JlcXVlc3QaQi5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQ2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3NSZXNwb25zZSJCgtPkkwI8OgEqGjcvdjEvYmlsbGluZ2dyb3Vwcy9jaGlsZHJlbi97aW50ZXJuYWxJZH0vaW52b2ljZVNldHRpbmdzEtIBCitTZXRDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkYuYmx1ZWFwaS5iaWxsaW5nLnYxLlNldENoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkOC0+STAj06ASoiOC92MS9iaWxsaW5nZ3JvdXBzL2NoaWxkcmVuL3tpbnRlcm5hbElkfS9zZXJ2aWNlRGlzY291bnRzEu0BCjJTZXRDaGlsZEJpbGxpbmdHcm91cEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cxJNLmJsdWVhcGkuYmlsbGluZy52MS5TZXRDaGlsZEJpbGxpbmdHcm91cEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiUILT5JMCSjoBKiJFL3YxL2JpbGxpbmdncm91cHMvY2hpbGRyZW4ve2ludGVybmFsSWR9L3NlcnZpY2VEaXNjb3VudHMvYWNjb3VudHM6c2V0EuUBCixTZXRDaGlsZEJpbGxpbmdHcm91cEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRJHLmJsdWVhcGkuYmlsbGluZy52MS5TZXRDaGlsZEJpbGxpbmdHcm91cEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiVILT5JMCTjoBKiJJL3YxL3t2ZW5kb3J9L2JpbGxpbmdncm91cHMvY2hpbGRyZW4ve2ludGVybmFsSWR9L2N1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRKWAgosR2V0Q2hpbGRCaWxsaW5nR3JvdXBDdXN0b21pemVkQmlsbGluZ1NlcnZpY2USRy5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q2hpbGRCaWxsaW5nR3JvdXBDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0GkguYmx1ZWFwaS5iaWxsaW5nLnYxLkdldENoaWxkQmlsbGluZ0dyb3VwQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVzcG9uc2UiUYLT5JMCSxJJL3YxL3t2ZW5kb3J9L2JpbGxpbmdncm91cHMvY2hpbGRyZW4ve2ludGVybmFsSWR9L2N1c3RvbWl6ZWRCaWxsaW5nU2VydmljZTABEoACCitHZXRDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkYuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldENoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GkcuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldENoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZSJAgtPkkwI6EjgvdjEvYmlsbGluZ2dyb3Vwcy9jaGlsZHJlbi97aW50ZXJuYWxJZH0vc2VydmljZURpc2NvdW50cxKLAgozUmVhZENoaWxkQmlsbGluZ0dyb3VwQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEk4uYmx1ZWFwaS5iaWxsaW5nLnYxLlJlYWRDaGlsZEJpbGxpbmdHcm91cEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaMi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzIk6C0+STAkgSRi92MS9iaWxsaW5nZ3JvdXBzL2NoaWxkcmVuL3tpbnRlcm5hbElkfS9zZXJ2aWNlRGlzY291bnRzL2FjY291bnRzOnJlYWQwARKHAQoWQnVsa0NyZWF0ZUJpbGxpbmdHcm91cBIxLmJsdWVhcGkuYmlsbGluZy52MS5CdWxrQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdBoRLnByb3Rvcy5PcGVyYXRpb24iJ4LT5JMCIToBKiIcL3YxL2JpbGxpbmdncm91cHM6YnVsa0NyZWF0ZRK/AQoZQ3JlYXRlRXhjbHVkZVNlcnZpY2VFbnRyeRI0LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVFeGNsdWRlU2VydmljZUVudHJ5UmVxdWVzdBo1LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVFeGNsdWRlU2VydmljZUVudHJ5UmVzcG9uc2UiNYLT5JMCLzoBKiIqL3YxL2JpbGxpbmdncm91cHMvZXhjbHVkZS1zZXJ2aWNlLXNldHRpbmdzEr8BChlVcGRhdGVFeGNsdWRlU2VydmljZUVudHJ5EjQuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXF1ZXN0GjUuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXNwb25zZSI1gtPkkwIvOgEqGiovdjEvYmlsbGluZ2dyb3Vwcy9leGNsdWRlLXNlcnZpY2Utc2V0dGluZ3MSvAEKGURlbGV0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnkSNC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlcXVlc3QaNS5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlc3BvbnNlIjKC0+STAiwqKi92MS9iaWxsaW5nZ3JvdXBzL2V4Y2x1ZGUtc2VydmljZS1zZXR0aW5ncxKqAQoTTGlzdEV4Y2x1ZGVTZXJ2aWNlcxIuLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0RXhjbHVkZVNlcnZpY2VzUmVxdWVzdBovLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0RXhjbHVkZVNlcnZpY2VzUmVzcG9uc2UiMoLT5JMCLBIqL3YxL2JpbGxpbmdncm91cHMvZXhjbHVkZS1zZXJ2aWNlLXNldHRpbmdzEoABCgxMaXN0U2VydmljZXMSJy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdFNlcnZpY2VzUmVxdWVzdBooLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0U2VydmljZXNSZXNwb25zZSIdgtPkkwIXEhUvdjEve3ZlbmRvcn0vc2VydmljZXMSfgoPQnVsa0xpbmtBY2NvdW50EiouYmx1ZWFwaS5iaWxsaW5nLnYxLkJ1bGtMaW5rQWNjb3VudFJlcXVlc3QaES5wcm90b3MuT3BlcmF0aW9uIiyC0+STAiY6ASoiIS92MS9iaWxsaW5nZ3JvdXBzOmJ1bGtMaW5rQWNjb3VudBJ+ChNCdWxrVGFnQmlsbGluZ0dyb3VwEi4uYmx1ZWFwaS5iaWxsaW5nLnYxLkJ1bGtUYWdCaWxsaW5nR3JvdXBSZXF1ZXN0GhEucHJvdG9zLk9wZXJhdGlvbiIkgtPkkwIeOgEqIhkvdjEvYmlsbGluZ2dyb3VwczpidWxrVGFnEtcBCiJHZXRCaWxsaW5nR3JvdXBJbnZvaWNlTGF5b3V0Q29uZmlnEj0uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cEludm9pY2VMYXlvdXRDb25maWdSZXF1ZXN0Gj4uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cEludm9pY2VMYXlvdXRDb25maWdSZXNwb25zZSIygtPkkwIsEiovdjEvYmlsbGluZ2dyb3Vwcy97aWR9L2ludm9pY2VsYXlvdXRjb25maWcSsgEKIlNldEJpbGxpbmdHcm91cEludm9pY2VMYXlvdXRDb25maWcSPS5ibHVlYXBpLmJpbGxpbmcudjEuU2V0QmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiNYLT5JMCLzoBKiIqL3YxL2JpbGxpbmdncm91cHMve2lkfS9pbnZvaWNlbGF5b3V0Y29uZmlnEqwBChlDcmVhdGVJbnZvaWNlTGF5b3V0Q29uZmlnEjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUludm9pY2VMYXlvdXRDb25maWdSZXF1ZXN0GjUuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUludm9pY2VMYXlvdXRDb25maWdSZXNwb25zZSIigtPkkwIcOgEqIhcvdjEvaW52b2ljZWxheW91dGNvbmZpZxKSAQoZVXBkYXRlSW52b2ljZUxheW91dENvbmZpZxI0LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIngtPkkwIhOgEqGhwvdjEvaW52b2ljZWxheW91dGNvbmZpZy97aWR9Eq0BChdSZWFkSW52b2ljZUxheW91dENvbmZpZxIyLmJsdWVhcGkuYmlsbGluZy52MS5SZWFkSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QaMy5ibHVlYXBpLmJpbGxpbmcudjEuUmVhZEludm9pY2VMYXlvdXRDb25maWdSZXNwb25zZSIngtPkkwIhOgEqIhwvdjEvaW52b2ljZWxheW91dGNvbmZpZzpyZWFkMAEStQEKJURlbGV0ZUJpbGxpbmdHcm91cEludm9pY2VMYXlvdXRDb25maWcSQC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMoLT5JMCLCoqL3YxL2JpbGxpbmdncm91cHMve2lkfS9pbnZvaWNlbGF5b3V0Y29uZmlnEo8BChlEZWxldGVJbnZvaWNlTGF5b3V0Q29uZmlnEjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUludm9pY2VMYXlvdXRDb25maWdSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiSC0+STAh4qHC92MS9pbnZvaWNlbGF5b3V0Y29uZmlnL3tpZH0anQGSQZkBEkYoQkVUQSkgQmlsbGluZyBBUEkuIEJhc2UgVVJMOiBodHRwczovL2FwaS5hbHBoYXVzLmNsb3VkL20vYmx1ZS9iaWxsaW5nGk8KElNlcnZpY2UgZGVmaW5pdGlvbhI5aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2JpbGxpbmcvQlEKGWNsb3VkLmFscGhhdXMuYXBpLmJpbGxpbmdCDEJpbGxpbmdQcm90b1omZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlYXBpL2JpbGxpbmdiBnByb3RvMw", [file_api_account, file_api_invoice, file_api_costtag, file_api_ripple_accessgroup, file_api_ripple_billinggroup, file_api_ripple_reseller, file_api_ripple_yearmonth, file_api_ripple_rounding, file_api_ripple_invoicelayout, file_api_ripple_duedate, file_api_ripple_exchangerate, file_api_ripple_untaggedgroup, file_api_ripple_customizedbillingservice, file_api_ripple_v1_invoiceservicediscounts, file_api_ripple_v1_accountsupportplan, file_api_ripple_v1_adjustmententry, file_api_adjustment, file_api_wave_adjustment, 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]);
|
|
56
|
+
fileDesc("ChhiaWxsaW5nL3YxL2JpbGxpbmcucHJvdG8SEmJsdWVhcGkuYmlsbGluZy52MSKgBAoMQmlsbGluZ0dyb3VwEhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkSEwoLY29tcGFueU5hbWUYByABKAkSDAoEdHlwZRgMIAEoCRIQCghoYXNDaGlsZBgNIAEoCBI+ChBiaWxsaW5nR3JvdXBJbmZvGAogASgLMiQuYmx1ZWFwaS5hcGkucmlwcGxlLkJpbGxpbmdHcm91cEluZm8SOgoOYWNjb3VudE9wdGlvbnMYCCABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnMSJgoIYWNjb3VudHMYBCADKAsyFC5ibHVlYXBpLmFwaS5BY2NvdW50EiIKBHRhZ3MYBiADKAsyFC5ibHVlYXBpLmFwaS5Db3N0VGFnEkgKD2ludm9pY2VTZXR0aW5ncxgFIAEoCzIvLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSSAoPYWRkaXRpb25hbEl0ZW1zGAsgASgLMi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cEFkZGl0aW9uYWxJdGVtcxIyCgphd3NPcHRpb25zGAkgASgLMh4uYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c09wdGlvbnMioAEKG0JpbGxpbmdHcm91cEFkZGl0aW9uYWxJdGVtcxIpCgNhd3MYASADKAsyHC5ibHVlYXBpLmFwaS5BZGRpdGlvbmFsSXRlbXMSKwoFYXp1cmUYAiADKAsyHC5ibHVlYXBpLmFwaS5BZGRpdGlvbmFsSXRlbXMSKQoDZ2NwGAMgAygLMhwuYmx1ZWFwaS5hcGkuQWRkaXRpb25hbEl0ZW1zIu4BChtCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSQwoDYXdzGAEgASgLMjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cFZlbmRvcmVkSW52b2ljZVNldHRpbmcSRQoFYXp1cmUYAiABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZxJDCgNnY3AYAyABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZyLxAwoiQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZxIQCghjYWxjVHlwZRgBIAEoCRIUCgxkaXNjb3VudFJhdGUYAiABKAESFwoPc3Vic3RpdHV0aW9uRmVlGAMgASgJEhcKD3N1YnN0aXR1dGlvbkZpeBgEIAEoARIYChBzdWJzdGl0dXRpb25SYXRlGAUgASgBEhIKCnN1cHBvcnRGZWUYBiABKAkSEwoLc3VwcG9ydFJhdGUYByABKAESEgoKc3VwcG9ydEZpeBgIIAEoARIPCgd0YXhSYXRlGAkgASgBEhAKCGN1cnJlbmN5GAogASgJEhsKE2Rpc2NvdW50VGFyZ2V0VXNhZ2UYCyABKAkSIgoac3Vic3RpdHV0aW9uRmVlVGFyZ2V0VXNhZ2UYDCABKAkSGQoRZGlzY291bnRDYWxjTG9naWMYDSABKAkSIQoZc3Vic3RpdHV0aW9uRmVlQ2FsY1RhcmdldBgOIAEoCRIfChdzdWJzdGl0dXRpb25GZWVDYWxjVHlwZRgPIAEoCRIbChNzdXBwb3J0QW1vdW50VGFyZ2V0GBAgASgJEhwKFHN1cHBvcnRGZWVDYWxjVGFyZ2V0GBEgASgJEhwKFHN1cHBvcnRGZWVBZGp1c3RtZW50GBIgASgBIpIBChhMaXN0QmlsbGluZ0dyb3Vwc1JlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sSDwoHdmVuZG9ycxgCIAEoCRIQCghjYWxjVHlwZRgDIAEoCRITCgtkaXNwbGF5Q29zdBgEIAEoCRIOCgZiZ1R5cGUYBSABKAkiswQKGUNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgCIAEoCRITCgtjb21wYW55TmFtZRgDIAEoCRIUCgxiaWxsaW5nVGl0bGUYBCABKAkSEwoLcGhvbmVOdW1iZXIYBSABKAkSEgoKcG9zdGFsQ29kZRgGIAEoCRIPCgdhZGRyZXNzGAcgASgJEhAKCHBlcnNvbmFsGAggASgJEg8KB3JlbWFya3MYCSABKAkSEQoJcHJvamVjdElkGAogASgJEhAKCGxhbmd1YWdlGAsgASgJEhMKC2Rpc3BsYXlDb3N0GAwgASgJEhgKEGV4Y2hhbmdlUmF0ZVR5cGUYDSABKAkSOgoOYWNjb3VudE9wdGlvbnMYDyABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnMSRgoIaW52b2ljZXMYDiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2USMgoKYXdzT3B0aW9ucxgQIAEoCzIeLmJsdWVhcGkuYmlsbGluZy52MS5Bd3NPcHRpb25zEgwKBGNpdHkYESABKAkSEgoKcHJlZmVjdHVyZRgSIAEoCRIPCgdjb3VudHJ5GBMgASgJEh0KFWludm9pY2VMYXlvdXRDb25maWdJZBgUIAEoCSI1CgpBd3NPcHRpb25zEhYKDnVzZVByb0Zvcm1hQ3VyGAEgASgIEg8KB3BheWVySWQYAiABKAkiqwEKDkFjY291bnRPcHRpb25zEjEKA2F3cxgBIAEoCzIkLmJsdWVhcGkuYmlsbGluZy52MS5SZWdpc3RlckFjY291bnRzEjEKA2djcBgCIAEoCzIkLmJsdWVhcGkuYmlsbGluZy52MS5SZWdpc3RlckFjY291bnRzEjMKBWF6dXJlGAMgASgLMiQuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlZ2lzdGVyQWNjb3VudHMiTgoQUmVnaXN0ZXJBY2NvdW50cxIPCgdlbmFibGVkGAEgASgIEhEKCWFjY291bnRJZBgCIAEoCRIWCg51bkxpbmtPblJlbW92ZRgDIAEoCCJUCg5WZW5kb3JBY2NvdW50cxIOCgZ2ZW5kb3IYASABKAkSMgoIYWNjb3VudHMYAiADKAsyIC5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFRvQWRkImAKDEF6dXJlT3B0aW9ucxIVCg1yZXNvdXJjZUdyb3VwGAEgASgIEhsKE2FwcGx5UGNFYXJuZWRDcmVkaXQYAiABKAgSHAoUYXBwbHlDYW1wYWlnblByaWNpbmcYAyABKAgiqgcKH0NyZWF0ZUJpbGxpbmdHcm91cE1lcmdlZFJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgCIAEoCRITCgtjb21wYW55TmFtZRgDIAEoCRIUCgxiaWxsaW5nVGl0bGUYBCABKAkSEwoLcGhvbmVOdW1iZXIYBSABKAkSEgoKcG9zdGFsQ29kZRgGIAEoCRIPCgdhZGRyZXNzGAcgASgJEhAKCHBlcnNvbmFsGAggASgJEg8KB3JlbWFya3MYCSABKAkSEQoJcHJvamVjdElkGAogASgJEhAKCGxhbmd1YWdlGAsgASgJEhMKC2Rpc3BsYXlDb3N0GAwgASgJEhgKEGV4Y2hhbmdlUmF0ZVR5cGUYDSABKAkSOgoOYWNjb3VudE9wdGlvbnMYDyABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnMSRgoIaW52b2ljZXMYDiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2USMgoKYXdzT3B0aW9ucxgQIAEoCzIeLmJsdWVhcGkuYmlsbGluZy52MS5Bd3NPcHRpb25zEgwKBGNpdHkYESABKAkSEgoKcHJlZmVjdHVyZRgSIAEoCRIPCgdjb3VudHJ5GBMgASgJEhkKEWludm9pY2VUZW1wbGF0ZUlkGBQgASgJEjMKC3RhZ1NldHRpbmdzGBUgAygLMh4uYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZ1NldHRpbmcSOAoNbm9uVGFnU2V0dGluZxgWIAEoCzIhLmJsdWVhcGkuYmlsbGluZy52MS5Ob25UYWdTZXR0aW5nEjoKDnZlbmRvckFjY291bnRzGBcgAygLMiIuYmx1ZWFwaS5iaWxsaW5nLnYxLlZlbmRvckFjY291bnRzElsKDGN1c3RvbUZpZWxkcxgYIAMoCzJFLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBNZXJnZWRSZXF1ZXN0LkN1c3RvbUZpZWxkc0VudHJ5EjYKDGF6dXJlT3B0aW9ucxgZIAEoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5BenVyZU9wdGlvbnMaMwoRQ3VzdG9tRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL/AQogQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2USRwoDYXdzGAEgASgLMjouYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3RJbnZvaWNlVmVuZG9yEkkKBWF6dXJlGAIgASgLMjouYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3RJbnZvaWNlVmVuZG9yEkcKA2djcBgDIAEoCzI6LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0SW52b2ljZVZlbmRvciL1AwomQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2VWZW5kb3ISEAoIY2FsY1R5cGUYASABKAkSFAoMZGlzY291bnRSYXRlGAIgASgBEhcKD3N1YnN0aXR1dGlvbkZlZRgDIAEoCRIXCg9zdWJzdGl0dXRpb25GaXgYBCABKAESGAoQc3Vic3RpdHV0aW9uUmF0ZRgFIAEoARISCgpzdXBwb3J0RmVlGAYgASgJEhMKC3N1cHBvcnRSYXRlGAcgASgBEhIKCnN1cHBvcnRGaXgYCCABKAESDwoHdGF4UmF0ZRgJIAEoARIQCghjdXJyZW5jeRgKIAEoCRIbChNkaXNjb3VudFRhcmdldFVzYWdlGAsgASgJEiIKGnN1YnN0aXR1dGlvbkZlZVRhcmdldFVzYWdlGAwgASgJEhkKEWRpc2NvdW50Q2FsY0xvZ2ljGA0gASgJEiEKGXN1YnN0aXR1dGlvbkZlZUNhbGNUYXJnZXQYDiABKAkSHwoXc3Vic3RpdHV0aW9uRmVlQ2FsY1R5cGUYDyABKAkSGwoTc3VwcG9ydEFtb3VudFRhcmdldBgQIAEoCRIcChRzdXBwb3J0RmVlQ2FsY1RhcmdldBgRIAEoCRIcChRzdXBwb3J0RmVlQWRqdXN0bWVudBgSIAEoASJjChZHZXRCaWxsaW5nR3JvdXBSZXF1ZXN0EhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEi4KCmZpZWxkX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIlEKF0dldEJpbGxpbmdHcm91cFJlc3BvbnNlEjYKDGJpbGxpbmdHcm91cBgBIAEoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXAilgEKC0FjY2Vzc0dyb3VwEhUKDWFjY2Vzc0dyb3VwSWQYASABKAkSFwoPYWNjZXNzR3JvdXBOYW1lGAIgASgJEh4KFmFjY2Vzc0dyb3VwRGVzY3JpcHRpb24YAyABKAkSNwoNYmlsbGluZ0dyb3VwcxgEIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXAiXgoVR2V0QWNjZXNzR3JvdXBSZXF1ZXN0EhUKDWFjY2Vzc0dyb3VwSWQYASABKAkSLgoKZmllbGRfbWFzaxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2siTgoWR2V0QWNjZXNzR3JvdXBSZXNwb25zZRI0CgthY2Nlc3NHcm91cBgBIAEoCzIfLmJsdWVhcGkuYmlsbGluZy52MS5BY2Nlc3NHcm91cCKvAgoSQXdzRGFpbHlSdW5IaXN0b3J5EhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEg0KBW1vbnRoGAMgASgJEkAKCGFjY291bnRzGAQgAygLMi4uYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c0RhaWx5UnVuSGlzdG9yeS5BY2NvdW50GpQBCgdBY2NvdW50EhEKCWFjY291bnRJZBgBIAEoCRJHCgdoaXN0b3J5GAIgAygLMjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c0RhaWx5UnVuSGlzdG9yeS5BY2NvdW50Lkhpc3RvcnkaLQoHSGlzdG9yeRIRCgl0aW1lc3RhbXAYASABKAkSDwoHdHJpZ2dlchgCIAEoCSI/Ch1MaXN0QXdzRGFpbHlSdW5IaXN0b3J5UmVxdWVzdBINCgVtb250aBgBIAEoCRIPCgdncm91cElkGAIgASgJIlYKGkxpc3RVc2FnZUNvc3RzRHJpZnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgCIAEoCRINCgVtb250aBgDIAEoCSKGAQoPVXNhZ2VDb3N0c0RyaWZ0EhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEg8KB2FjY291bnQYAyABKAkSEAoIc25hcHNob3QYBCABKAESDwoHY3VycmVudBgFIAEoARIMCgRkaWZmGAYgASgBIjIKEUdldEludm9pY2VSZXF1ZXN0EgwKBGRhdGUYASABKAkSDwoHZ3JvdXBJZBgCIAEoCSI5ChhFeHBvcnRJbnZvaWNlRmlsZVJlcXVlc3QSDAoEZGF0ZRgBIAEoCRIPCgdncm91cElkGAIgASgJIigKGUV4cG9ydEludm9pY2VGaWxlUmVzcG9uc2USCwoDdXJsGAEgASgJIjUKI1JlYWRTZXJ2aWNlRGlzY291bnRzU2VydmljZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCSIkCiJMaXN0SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Il4KIUdldEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIKCgJpZBgBIAEoCRItCglmaWVsZE1hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrImoKF0ludm9pY2VTZXJ2aWNlRGlzY291bnRzEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHY3JlYXRlZBgEIAEoCRIPCgd1cGRhdGVkGAUgASgJIhwKGkxpc3RJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0Il0KKFVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VUZW1wbGF0ZVJlcXVlc3QSEAoCaWQYASABKAlCBOJBAQISHwoRaW52b2ljZVRlbXBsYXRlSWQYAiABKAlCBOJBAQIingIKG0xpc3RJbnZvaWNlVGVtcGxhdGVSZXNwb25zZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg8KB2NyZWF0ZWQYBCABKAkSDwoHdXBkYXRlZBgFIAEoCRIZChFudW1iZXJPZkNvbm5lY3RlZBgGIAEoBRJQChVjb25uZWN0ZWRCaWxsaW5nR3JvdXAYByADKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuSW52b2ljZUNvbm5lY3RlZEJpbGxpbmdHcm91cHMSQQoIaW52b2ljZXMYCCABKAsyLy5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzIiIKIEdldEludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXF1ZXN0IkgKIUdldEludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXNwb25zZRIjChtzaG93UklTUFVwZnJvbnRUaW1lSW50ZXJ2YWwYASABKAgirAEKI1VwZGF0ZUludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXF1ZXN0ElUKB3NldHRpbmcYASADKAsyRC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlSW52b2ljZURpc3BsYXlTZXR0aW5nc1JlcXVlc3QuU2V0dGluZ0VudHJ5Gi4KDFNldHRpbmdFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBImwKHUludm9pY2VDb25uZWN0ZWRCaWxsaW5nR3JvdXBzEhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkiPAopTGlzdEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCSKHAQoeQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEgoKAmlkGAEgASgJEg8KB2FjY291bnQYAiABKAkSSAoQc2VydmljZURpc2NvdW50cxgDIAEoCzIuLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5JbnZvaWNlU2VydmljZURpc2NvdW50cyI4ChdBY2NvdW50U2VydmljZURpc2NvdW50cxIKCgJpZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkifQorQ3JlYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJEj0KCGFjY291bnRzGAQgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzIm0KLENyZWF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlEj0KCGFjY291bnRzGAQgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzIn0KK1VwZGF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRI9CghhY2NvdW50cxgEIAMoCzIrLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50U2VydmljZURpc2NvdW50cyJtCixVcGRhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZRI9CghhY2NvdW50cxgEIAMoCzIrLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50U2VydmljZURpc2NvdW50cyI+CitEZWxldGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkifQorUmVtb3ZlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJEj0KCGFjY291bnRzGAQgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzIk8KMENyZWF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJEgoKAmlkGAIgASgJIj8KMUNyZWF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2USCgoCaWQYASABKAkiTwowVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSCgoCaWQYAiABKAkiPwoxVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZRIKCgJpZBgBIAEoCSJDCjBEZWxldGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCSJXChRDcmVhdGVJbnZvaWNlUmVxdWVzdBIMCgRkYXRlGAQgASgJEg4KBnZlbmRvchgBIAEoCRIRCglhbGxHcm91cHMYAiABKAgSDgoGZ3JvdXBzGAMgAygJIiUKF0dldEludm9pY2VTdGF0dXNSZXF1ZXN0EgoKAmlkGAEgASgJIigKGExpc3RJbnZvaWNlU3RhdHVzUmVxdWVzdBIMCgRkYXRlGAEgASgJImAKHFVwZGF0ZUludm9pY2VQcmV2aWV3c1JlcXVlc3QSDAoEZGF0ZRgBIAEoCRIRCglhbGxHcm91cHMYAiABKAgSDgoGZ3JvdXBzGAMgAygJEg8KB2VuYWJsZWQYBCABKAgizwEKFUNyZWF0ZVJlc2VsbGVyUmVxdWVzdBIPCgdncm91cElkGAEgASgJEg0KBWVtYWlsGAIgASgJEhAKCHBhc3N3b3JkGAMgASgJEhQKDG5vdGlmaWNhdGlvbhgEIAEoCBI2Cgp3YXZlQ29uZmlnGAUgAygLMiIuYmx1ZWFwaS5hcGkucmlwcGxlLlJlc2VsbGVyQ29uZmlnEjYKCmFxdWFDb25maWcYBiADKAsyIi5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXJDb25maWciRgoUTGlzdFJlc2VsbGVyc1JlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2siUAoSR2V0UmVzZWxsZXJSZXF1ZXN0EgoKAmlkGAEgASgJEi4KCmZpZWxkX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIqYCChVVcGRhdGVSZXNlbGxlclJlcXVlc3QSEAoCaWQYASABKAlCBOJBAQISEwoFZW1haWwYAiABKAlCBOJBAQESFwoIcGFzc3dvcmQYAyABKAlCBeJBAgQBEjwKCndhdmVDb25maWcYBCADKAsyIi5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXJDb25maWdCBOJBAQESPAoKYXF1YUNvbmZpZxgFIAMoCzIiLmJsdWVhcGkuYXBpLnJpcHBsZS5SZXNlbGxlckNvbmZpZ0IE4kEBARIbCgxub3RpZmljYXRpb24YBiABKAhCBeJBAgQBEjQKCnVwZGF0ZU1hc2sYByABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgTiQQECIiMKFURlbGV0ZVJlc2VsbGVyUmVxdWVzdBIKCgJpZBgBIAEoCSJKChhHZXRCaWxsaW5nU2V0dGluZ1JlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sixwIKGUdldEJpbGxpbmdTZXR0aW5nUmVzcG9uc2USMAoJeWVhck1vbnRoGAEgAygLMh0uYmx1ZWFwaS5hcGkucmlwcGxlLlllYXJNb250aBI0Cg5yb3VuZGluZ01ldGhvZBgCIAEoCzIcLmJsdWVhcGkuYXBpLnJpcHBsZS5Sb3VuZGluZxI6ChRleHBvcnRSb3VuZGluZ01ldGhvZBgDIAEoCzIcLmJsdWVhcGkuYXBpLnJpcHBsZS5Sb3VuZGluZxI4Cg1pbnZvaWNlTGF5b3V0GAQgASgLMiEuYmx1ZWFwaS5hcGkucmlwcGxlLkludm9pY2VMYXlvdXQSMwoOaW52b2ljZUR1ZURhdGUYBSABKAsyGy5ibHVlYXBpLmFwaS5yaXBwbGUuRHVlRGF0ZRIXCg9zdXBwb3J0Q3VycmVuY3kYBiADKAkiOQoYTGlzdEV4Y2hhbmdlUmF0ZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCSJlChxTZXRHbG9iYWxFeGNoYW5nZVJhdGVSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCRIQCghjdXJyZW5jeRgDIAEoCRIUCgxleGNoYW5nZVJhdGUYBCABKAEidwobU2V0UGF5ZXJFeGNoYW5nZVJhdGVSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSDQoFbW9udGgYAyABKAkSEAoIY3VycmVuY3kYBCABKAkSFAoMZXhjaGFuZ2VSYXRlGAUgASgBImwKIlNldEJpbGxpbmdHcm91cEV4Y2hhbmdlUmF0ZVJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRINCgVtb250aBgCIAEoCRIQCghjdXJyZW5jeRgDIAEoCRIUCgxleGNoYW5nZVJhdGUYBCABKAEi4gEKGUxpc3RFeGNoYW5nZVJhdGVzUmVzcG9uc2USDQoFbW9udGgYASABKAkSNgoGY29tbW9uGAIgASgLMiYuYmx1ZWFwaS5hcGkucmlwcGxlLkNvbW1vbkV4Y2hhbmdlUmF0ZRJCCgxiaWxsaW5nR3JvdXAYAyADKAsyLC5ibHVlYXBpLmFwaS5yaXBwbGUuQmlsbGluZ0dyb3VwRXhjaGFuZ2VSYXRlEjoKBXBheWVyGAQgASgLMisuYmx1ZWFwaS5hcGkucmlwcGxlLlZlbmRvclBheWVyRXhjaGFuZ2VSYXRlIkkKF0xpc3RBY2Nlc3NHcm91cHNSZXF1ZXN0Ei4KCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIlQKGENyZWF0ZUFjY2Vzc0dyb3VwUmVxdWVzdBIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhUKDWJpbGxpbmdHcm91cHMYAyADKAkiYAoYVXBkYXRlQWNjZXNzR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSFQoNYmlsbGluZ0dyb3VwcxgEIAMoCSImChhEZWxldGVBY2Nlc3NHcm91cFJlcXVlc3QSCgoCaWQYASABKAkifQoSTGlzdEludm9pY2VSZXF1ZXN0EgwKBGRhdGUYASABKAkSDgoGdmVuZG9yGAIgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAMgASgJEi4KCmZpZWxkX21hc2sYBCABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIp0JChNMaXN0SW52b2ljZVJlc3BvbnNlEhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkSEwoLY29tcGFueU5hbWUYBCABKAkSGgoSZmluYWxpemF0aW9uU3RhdHVzGAUgASgJEhEKCWlzQ3JlYXRlZBgGIAEoCBIZChFpc1NldHRpbmdNb2RpZmllZBgHIAEoCBITCgtjcmVhdGVkRGF0ZRgIIAEoCRITCgt1cGRhdGVkRGF0ZRgJIAEoCRIWCg5jcmVhdGVkVmVuZG9ycxgKIAMoCRITCgtpc1B1Ymxpc2hlZBgLIAEoCBJdChN2ZW5kb3JCaWxsaW5nQW1vdW50GAwgAygLMkAuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlUmVzcG9uc2UuVmVuZG9yQmlsbGluZ0Ftb3VudEVudHJ5EhoKEmJpbGxpbmdBbW91bnRUb3RhbBgNIAEoCRIQCghjdXJyZW5jeRgOIAEoCRINCgV1cmxJZBgPIAEoCRJtChtjcmVhdGVkVmVuZG9ySW52b2ljZVNldHRpbmcYECADKAsySC5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VSZXNwb25zZS5DcmVhdGVkVmVuZG9ySW52b2ljZVNldHRpbmdFbnRyeRJpChlzYXZlZFZlbmRvckludm9pY2VTZXR0aW5nGBEgAygLMkYuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlUmVzcG9uc2UuU2F2ZWRWZW5kb3JJbnZvaWNlU2V0dGluZ0VudHJ5Em0KG2RlZmF1bHRWZW5kb3JJbnZvaWNlU2V0dGluZxgSIAMoCzJILmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVJlc3BvbnNlLkRlZmF1bHRWZW5kb3JJbnZvaWNlU2V0dGluZ0VudHJ5EhAKCGhhc0NoaWxkGBMgASgIEhcKD2F0dGFjaGVkVmVuZG9ycxgUIAMoCRo6ChhWZW5kb3JCaWxsaW5nQW1vdW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARpnCiBDcmVhdGVkVmVuZG9ySW52b2ljZVNldHRpbmdFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5ibHVlYXBpLmJpbGxpbmcudjEuSW52b2ljZVNldHRpbmdzOgI4ARplCh5TYXZlZFZlbmRvckludm9pY2VTZXR0aW5nRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMuYmx1ZWFwaS5iaWxsaW5nLnYxLkludm9pY2VTZXR0aW5nczoCOAEaZwogRGVmYXVsdFZlbmRvckludm9pY2VTZXR0aW5nRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMuYmx1ZWFwaS5iaWxsaW5nLnYxLkludm9pY2VTZXR0aW5nczoCOAEiKQobTGlzdEFiY0JpbGxpbmdHcm91cHNSZXF1ZXN0EgoKAmlkGAEgASgJIk4KIkxpc3RBYmNCaWxsaW5nR3JvdXBBY2NvdW50c1JlcXVlc3QSDwoHcGF5ZXJJZBgBIAEoCRIXCg9iaWxsaW5nR3JvdXBBcm4YAiABKAkijwEKD0FiY0JpbGxpbmdHcm91cBILCgNhcm4YASABKAkSDAoEbmFtZRgCIAEoCRIUCgxjcmVhdGlvblRpbWUYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSGAoQcHJpbWFyeUFjY291bnRJZBgFIAEoCRIMCgRzaXplGAYgASgJEg4KBnN0YXR1cxgHIAEoCSI0CgpBYmNBY2NvdW50EhEKCWFjY291bnRJZBgBIAEoCRITCgthY2NvdW50TmFtZRgCIAEoCSJiCh1SZWFkSW52b2ljZUFkanVzdG1lbnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEQoJYWNjb3VudElkGAIgASgJEg0KBW1vbnRoGAMgASgJEg8KB2ZlZVR5cGUYBCABKAkimQEKHFJlYWRBZGp1c3RtZW50RW50cmllc1JlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECEhMKBW1vbnRoGAIgASgJQgTiQQEBGk4KIkFkanVzdG1lbnRFbnRyaWVzUmVxdWVzdEF3c09wdGlvbnMSEwoLc3BwRGlzY291bnQYASABKAgSEwoLZWRwRGlzY291bnQYAiABKAgiQwoZR2V0QWRqdXN0bWVudEVudHJ5UmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEAoCaWQYAiABKAlCBOJBAQIingMKG0FwcGx5QWRqdXN0bWVudEVudHJ5UmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISUwoHc2V0dGluZxgCIAEoCzI8LmJsdWVhcGkuYmlsbGluZy52MS5BcHBseUFkanVzdG1lbnRFbnRyeVJlcXVlc3QuQXBwbHlTZXR0aW5nQgTiQQECEhUKB2VudHJpZXMYAyADKAlCBOJBAQIa/AEKDEFwcGx5U2V0dGluZxITCgVtb250aBgBIAEoCUIE4kEBARIVCgd0YXhGcmVlGAIgASgIQgTiQQEBEmoKDGV4Y2hhbmdlUmF0ZRgDIAMoCzJOLmJsdWVhcGkuYmlsbGluZy52MS5BcHBseUFkanVzdG1lbnRFbnRyeVJlcXVlc3QuQXBwbHlTZXR0aW5nLkV4Y2hhbmdlUmF0ZUVudHJ5QgTiQQEBEh8KEWJpbGxpbmdJbnRlcm5hbElkGAQgASgJQgTiQQEBGjMKEUV4Y2hhbmdlUmF0ZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAToCOAEiTAodUmVzdG9yZUFkanVzdG1lbnRFbnRyeVJlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECEhUKB2VudHJpZXMYAyADKAlCBOJBAQIiXwobU3BsaXRBZGp1c3RtZW50RW50cnlSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhIQCgJpZBgCIAEoCUIE4kEBAhIYCgpzdGFydE1vbnRoGAMgASgJQgTiQQECIvwBCh5BbGxvY2F0ZUFkanVzdG1lbnRFbnRyeVJlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECEhAKAmlkGAIgASgJQgTiQQECElYKBmNvbmZpZxgDIAMoCzJALmJsdWVhcGkuYmlsbGluZy52MS5BbGxvY2F0ZUFkanVzdG1lbnRFbnRyeVJlcXVlc3QuQWNjb3VudENvbmZpZ0IE4kEBAhIhChNhY2NvdW50Rm9yUmVtYWluaW5nGAQgASgJQgTiQQECGjcKDUFjY291bnRDb25maWcSEAoCaWQYASABKAlCBOJBAQISFAoGYW1vdW50GAIgASgBQgTiQQECIkwKIlJlc3RvcmVTcGxpdEFkanVzdG1lbnRFbnRyeVJlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECEhAKAmlkGAIgASgJQgTiQQECIk8KJVJlc3RvcmVBbGxvY2F0ZUFkanVzdG1lbnRFbnRyeVJlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECEhAKAmlkGAIgASgJQgTiQQECIn4KFkNyZWF0ZUN1c3RvbUZlZVJlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECEhMKBW1vbnRoGAIgASgJQgTiQQECEjkKB2VudHJpZXMYAyADKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQ3VzdG9tRmVlRW50cnlCBOJBAQIioQMKDkN1c3RvbUZlZUVudHJ5EhcKCWFjY291bnRJZBgBIAEoCUIE4kEBAhIcCg5wYXllckFjY291bnRJZBgCIAEoCUIE4kEBAhIVCgdmZWVUeXBlGAMgASgJQgTiQQECEhkKC21vYmluZ2lUeXBlGAQgASgJQgTiQQECEhQKBmFtb3VudBgFIAEoAUIE4kEBAhIaCgxjdXJyZW5jeUNvZGUYBiABKAlCBOJBAQISGQoLZGVzY3JpcHRpb24YByABKAlCBOJBAQISGQoLcHJvZHVjdENvZGUYCCABKAlCBOJBAQESGQoLcHJvZHVjdE5hbWUYCSABKAlCBOJBAQESGAoKdXNhZ2VTdGFydBgKIAEoCUIE4kEBARIaCgx0aW1lSW50ZXJ2YWwYCyABKAlCBOJBAQESQAoEbWV0YRgMIAMoCzIsLmJsdWVhcGkuYmlsbGluZy52MS5DdXN0b21GZWVFbnRyeS5NZXRhRW50cnlCBOJBAQEaKwoJTWV0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiKgoXQ3JlYXRlQ3VzdG9tRmVlUmVzcG9uc2USDwoHY3JlYXRlZBgBIAEoBSJ9Ch9MaXN0QWRqdXN0bWVudEVudHJ5SXRlbXNSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhITCgVtb250aBgCIAEoCUIE4kEBAhIZCgttb2JpbmdpVHlwZRgDIAEoCUIE4kEBARIUCgZzdGF0dXMYBCABKAlCBOJBAQEiugEKE0FkanVzdG1lbnRFbnRyeUl0ZW0SNQoFZW50cnkYASABKAsyJi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuQWRqdXN0bWVudEVudHJ5Ej8KBG1ldGEYAiADKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuQWRqdXN0bWVudEVudHJ5SXRlbS5NZXRhRW50cnkaKwoJTWV0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiPAobTGlzdEFjY291bnRSZXNvdXJjZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCSJKCg9SZXNvdXJjZUFjY291bnQSDwoHcGF5ZXJJZBgBIAEoCRISCgpjdXN0b21lcklkGAIgASgJEhIKCnJlZ2lzdGVyZWQYAyABKAgiSAoaR2V0QWRqdXN0bWVudENvbmZpZ1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhoKEmluY2x1ZGVTUFBEaXNjb3VudBgCIAEoCCKNAQodQ3JlYXRlQWRqdXN0bWVudENvbmZpZ1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEioKBmNvbmZpZxgCIAMoCzIaLmJsdWVhcGkuYXBpLkNvbmZpZ0ZpbHRlcnMSMAoIYWNjb3VudHMYAyADKAsyHi5ibHVlYXBpLmFwaS5NYW5hZ2VtZW50QWNjb3VudCKNAQodVXBkYXRlQWRqdXN0bWVudENvbmZpZ1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEioKBmNvbmZpZxgCIAMoCzIaLmJsdWVhcGkuYXBpLkNvbmZpZ0ZpbHRlcnMSMAoIYWNjb3VudHMYAyADKAsyHi5ibHVlYXBpLmFwaS5NYW5hZ2VtZW50QWNjb3VudCIvCh1EZWxldGVBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkiZwoZUmVhZFVudGFnZ2VkR3JvdXBzUmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISNAoKZmllbGRfbWFzaxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCBOJBAQEiXAokUmVhZEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZXNSZXF1ZXN0EjQKCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgTiQQEBImYKIkdldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QSCgoCaWQYASABKAkSNAoKZmllbGRfbWFzaxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCBOJBAQEifAolQ3JlYXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEjAKBmNvbmZpZxgDIAEoCzIgLmJsdWVhcGkuYXBpLnJpcHBsZS5NZXRob2RDb25maWcixQEKJVVwZGF0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QSEAoCaWQYASABKAlCBOJBAQISVAoYY3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlGAIgASgLMiwuYmx1ZWFwaS5hcGkucmlwcGxlLkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUIE4kEBAhI0Cgp1cGRhdGVNYXNrGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IE4kEBAiIzCiVEZWxldGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0EgoKAmlkGAEgASgJIl0KLkdldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cFJlcXVlc3QSFQoHZ3JvdXBJZBgBIAEoCUIE4kEBAhIUCgZ2ZW5kb3IYAiABKAlCBOJBAQIiyQEKL0dldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cFJlc3BvbnNlEhAKAmlkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAhJACg5jaGFyZ2luZ1RhcmdldBgDIAEoDjIiLmJsdWVhcGkuYXBpLnJpcHBsZS5DaGFyZ2luZ1RhcmdldEIE4kEBAhIsCghhY2NvdW50cxgEIAMoCzIULmJsdWVhcGkuYXBpLkFjY291bnRCBOJBAQEi9wIKLlNldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cFJlcXVlc3QSFQoHZ3JvdXBJZBgBIAEoCUIE4kEBAhIUCgZ2ZW5kb3IYAiABKAlCBOJBAQISgAEKB3NldHRpbmcYAyADKAsyaS5ibHVlYXBpLmJpbGxpbmcudjEuU2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVxdWVzdC5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZ0IE4kEBAhqUAQomQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ1NldHRpbmcSEAoCaWQYASABKAlCBOJBAQISQAoOY2hhcmdpbmdUYXJnZXQYAiABKA4yIi5ibHVlYXBpLmFwaS5yaXBwbGUuQ2hhcmdpbmdUYXJnZXRCBOJBAQISFgoIYWNjb3VudHMYAyADKAlCBOJBAQEiYAoxRGVsZXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVxdWVzdBIVCgdncm91cElkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAiKRAQokQ3JlYXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSRgoHc2V0dGluZxgDIAEoCzI1LmJsdWVhcGkuYXBpLnJpcHBsZS52MS5JbnZvaWNlU2VydmljZURpc2NvdW50c1NldHRpbmcixQEKJFVwZGF0ZUludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIQCgJpZBgBIAEoCUIE4kEBAhJVChdpbnZvaWNlU2VydmljZURpc2NvdW50cxgCIAEoCzIuLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5JbnZvaWNlU2VydmljZURpc2NvdW50c0IE4kEBAhI0Cgp1cGRhdGVNYXNrGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IE4kEBAiIyCiREZWxldGVJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSCgoCaWQYASABKAkibgoHVGFnRGF0YRISCgpjdXN0b21lcklkGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRIUCgxjdXN0b21lck5hbWUYAyABKAkSJgoEdGFncxgEIAMoCzIYLmJsdWVhcGkuYmlsbGluZy52MS5UYWdzIiMKBFRhZ3MSCwoDa2V5GAEgASgJEg4KBnZhbHVlcxgCIAMoCSIuCg5HZXRUYWdzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDAoEdHlwZRgCIAEoCSI7CgtDdXN0b21GaWVsZBIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkiXgoXQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGQSDQoFdmFsdWUYASABKAkSNAoLY3VzdG9tRmllbGQYAiABKAsyHy5ibHVlYXBpLmJpbGxpbmcudjEuQ3VzdG9tRmllbGQiNQoiTGlzdEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVxdWVzdBIPCgdncm91cElkGAEgASgJIoUBCiNMaXN0QmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXNwb25zZRIPCgdncm91cElkGAEgASgJEk0KGGJpbGxpbmdHcm91cEN1c3RvbUZpZWxkcxgCIAMoCzIrLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXBDdXN0b21GaWVsZCI8ChhDcmVhdGVDdXN0b21GaWVsZFJlcXVlc3QSCwoDa2V5GAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJIkgKGFVwZGF0ZUN1c3RvbUZpZWxkUmVxdWVzdBIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkiJgoYRGVsZXRlQ3VzdG9tRmllbGRSZXF1ZXN0EgoKAmlkGAEgASgJIhgKFkxpc3RDdXN0b21GaWVsZFJlcXVlc3QiawoXQ3JlYXRlRnJlZUZvcm1hdFJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSLwoFaXRlbXMYAyADKAsyIC5ibHVlYXBpLmJpbGxpbmcudjEuRnJlZUZvcm1JdGVtImEKDEZyZWVGb3JtSXRlbRINCgVsYWJlbBgBIAEoCRIQCgh1bml0Q29zdBgCIAEoAxINCgV0b3RhbBgFIAEoAxIQCghxdWFudGl0eRgDIAEoDRIPCgdlbmFibGVkGAQgASgIIjoKF0RlbGV0ZUZyZWVGb3JtYXRSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSDgoGdmVuZG9yGAIgASgJIj0KFEdldEZyZWVGb3JtYXRSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSFAoMaXNBc3NvY2lhdGVkGAIgASgIIm4KFUdldEZyZWVGb3JtYXRSZXNwb25zZRIPCgdncm91cElkGAMgASgJEg4KBnZlbmRvchgBIAEoCRI0CgpmcmVlRm9ybWF0GAIgAygLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkZyZWVGb3JtSXRlbSI6CiZHZXRNb250aGx5TWlzY0ZlZUltcG9ydFRlbXBsYXRlUmVxdWVzdBIQCghsYW5ndWFnZRgBIAEoCSL5AQocTW9udGhseU1pc2NGZWVJbXBvcnRUZW1wbGF0ZRIOCgZmb3JtYXQYASABKAkSFgoOZm9ybWF0X3ZlcnNpb24YAiABKAkSDwoHaGVhZGVycxgDIAMoCRISCgpzYW1wbGVfcm93GAQgAygJEhUKDWFsbG93ZWRfbW9kZXMYBSADKAkSGwoTbWF4X2ZpbGVfc2l6ZV9ieXRlcxgGIAEoAxIQCghtYXhfcm93cxgHIAEoBRJGCgtmaWVsZF9ydWxlcxgIIAMoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Nb250aGx5TWlzY0ZlZUltcG9ydEZpZWxkUnVsZSJlCh1Nb250aGx5TWlzY0ZlZUltcG9ydEZpZWxkUnVsZRINCgVmaWVsZBgBIAEoCRIQCghyZXF1aXJlZBgCIAEoCBIOCgZmb3JtYXQYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkizgEKIEJ1bGtJbXBvcnRNb250aGx5TWlzY0ZlZXNSZXF1ZXN0EhsKDWJpbGxpbmdfbW9udGgYASABKAlCBOJBAQISGQoLY3N2X2NvbnRlbnQYAiABKAlCBOJBAQISFwoJZmlsZV9uYW1lGAMgASgJQgTiQQECEgwKBG1vZGUYBCABKAkSFAoGZm9ybWF0GAUgASgJQgTiQQECEhwKDmZvcm1hdF92ZXJzaW9uGAYgASgJQgTiQQECEhcKD2lkZW1wb3RlbmN5X2tleRgHIAEoCSKRAgoaTGlzdE1vbnRobHlNaXNjRmVlc1JlcXVlc3QSGwoNYmlsbGluZ19tb250aBgBIAEoCUIE4kEBAhIYChBiaWxsaW5nX2dyb3VwX2lkGAIgASgJEiAKGGJpbGxpbmdfZ3JvdXBfbmFtZV9xdWVyeRgDIAEoCRISCgppdGVtX3F1ZXJ5GAQgASgJEg4KBnNvdXJjZRgFIAEoCRISCgp1cGRhdGVkX2J5GAYgASgJEhUKDXVwZGF0ZWRfYWZ0ZXIYByABKAkSFgoOdXBkYXRlZF9iZWZvcmUYCCABKAkSEQoJcGFnZV9zaXplGAkgASgFEhIKCnBhZ2VfdG9rZW4YCiABKAkSDAoEc29ydBgLIAEoCSJ9ChtMaXN0TW9udGhseU1pc2NGZWVzUmVzcG9uc2USMAoEcm93cxgBIAMoCzIiLmJsdWVhcGkuYmlsbGluZy52MS5Nb250aGx5TWlzY0ZlZRIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkSEwoLdG90YWxfY291bnQYAyABKAUiTQoYR2V0TW9udGhseU1pc2NGZWVSZXF1ZXN0EhQKBnJvd19pZBgBIAEoCUIE4kEBAhIbCg1iaWxsaW5nX21vbnRoGAIgASgJQgTiQQECIuwBChxFeHBvcnRNb250aGx5TWlzY0ZlZXNSZXF1ZXN0EhsKDWJpbGxpbmdfbW9udGgYASABKAlCBOJBAQISGAoQYmlsbGluZ19ncm91cF9pZBgCIAEoCRIgChhiaWxsaW5nX2dyb3VwX25hbWVfcXVlcnkYAyABKAkSEgoKaXRlbV9xdWVyeRgEIAEoCRIOCgZzb3VyY2UYBSABKAkSEgoKdXBkYXRlZF9ieRgGIAEoCRIVCg11cGRhdGVkX2FmdGVyGAcgASgJEhYKDnVwZGF0ZWRfYmVmb3JlGAggASgJEgwKBHNvcnQYCSABKAkiWwodRXhwb3J0TW9udGhseU1pc2NGZWVzUmVzcG9uc2USEwoLY3N2X2NvbnRlbnQYASABKAwSEgoKZXhwb3J0X3JlZhgCIAEoCRIRCglmaWxlX25hbWUYAyABKAkiPQoeR2V0TW9udGhseU1pc2NGZWVJbXBvcnRSZXF1ZXN0EhsKDWltcG9ydF9qb2JfaWQYASABKAlCBOJBAQIifQobVXBzZXJ0TW9udGhseU1pc2NGZWVSZXF1ZXN0Eg4KBnJvd19pZBgBIAEoCRI1CgNyb3cYAiABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuTW9udGhseU1pc2NGZWVCBOJBAQISFwoPaWRlbXBvdGVuY3lfa2V5GAMgASgJIlAKG0RlbGV0ZU1vbnRobHlNaXNjRmVlUmVxdWVzdBIUCgZyb3dfaWQYASABKAlCBOJBAQISGwoNYmlsbGluZ19tb250aBgCIAEoCUIE4kEBAiKsAgoOTW9udGhseU1pc2NGZWUSDgoGcm93X2lkGAEgASgJEhUKDWJpbGxpbmdfbW9udGgYAiABKAkSGAoQYmlsbGluZ19ncm91cF9pZBgDIAEoCRIaChJiaWxsaW5nX2dyb3VwX25hbWUYBCABKAkSEQoJaXRlbV9uYW1lGAUgASgJEhAKCHF1YW50aXR5GAYgASgJEhEKCXVuaXRfY29zdBgHIAEoCRIOCgZhbW91bnQYCCABKAkSDgoGc291cmNlGAkgASgJEhUKDWltcG9ydF9qb2JfaWQYCiABKAkSEgoKY3JlYXRlZF9ieRgLIAEoCRISCgpjcmVhdGVkX2F0GAwgASgJEhIKCnVwZGF0ZWRfYnkYDSABKAkSEgoKdXBkYXRlZF9hdBgOIAEoCSLjAwoaTW9udGhseU1pc2NGZWVJbXBvcnRSZXN1bHQSFQoNaW1wb3J0X2pvYl9pZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSDAoEbW9kZRgDIAEoCRIVCg1iaWxsaW5nX21vbnRoGAQgASgJEhEKCWZpbGVfbmFtZRgFIAEoCRIRCglmaWxlX2hhc2gYBiABKAkSEgoKdG90YWxfcm93cxgHIAEoBRISCgp2YWxpZF9yb3dzGAggASgFEhUKDWluc2VydGVkX3Jvd3MYCSABKAUSFAoMdXBkYXRlZF9yb3dzGAogASgFEhYKDnVuY2hhbmdlZF9yb3dzGAsgASgFEhQKDGRlbGV0ZWRfcm93cxgMIAEoBRITCgtmYWlsZWRfcm93cxgNIAEoBRIjChtyZXBsYWNlX21vbnRoX2V4aXN0aW5nX3Jvd3MYDiABKAUSEgoKZXhwb3J0X3JlZhgPIAEoCRJGCgtyb3dfcmVzdWx0cxgQIAMoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Nb250aGx5TWlzY0ZlZUltcG9ydFJvd1Jlc3VsdBISCgpjcmVhdGVkX2J5GBEgASgJEhIKCmNyZWF0ZWRfYXQYEiABKAkSEgoKdXBkYXRlZF9hdBgTIAEoCSKXAwodTW9udGhseU1pc2NGZWVJbXBvcnRSb3dSZXN1bHQSFgoOY3N2X3Jvd19udW1iZXIYASABKAUSDgoGYWN0aW9uGAIgASgJEg4KBnJvd19pZBgDIAEoCRIVCg1iaWxsaW5nX21vbnRoGAQgASgJEhgKEGJpbGxpbmdfZ3JvdXBfaWQYBSABKAkSGgoSYmlsbGluZ19ncm91cF9uYW1lGAYgASgJEhEKCWl0ZW1fbmFtZRgHIAEoCRIQCghxdWFudGl0eRgIIAEoCRIRCgl1bml0X2Nvc3QYCSABKAkSDgoGYW1vdW50GAogASgJEk0KDnByZXZpb3VzX3ZhbHVlGAsgASgLMjUuYmx1ZWFwaS5iaWxsaW5nLnYxLk1vbnRobHlNaXNjRmVlSW1wb3J0UHJldmlvdXNWYWx1ZRJMChF2YWxpZGF0aW9uX2Vycm9ycxgMIAMoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Nb250aGx5TWlzY0ZlZVZhbGlkYXRpb25FcnJvchIMCgRub3RlGA0gASgJIlgKIU1vbnRobHlNaXNjRmVlSW1wb3J0UHJldmlvdXNWYWx1ZRIQCghxdWFudGl0eRgBIAEoCRIRCgl1bml0X2Nvc3QYAiABKAkSDgoGYW1vdW50GAMgASgJIk0KHU1vbnRobHlNaXNjRmVlVmFsaWRhdGlvbkVycm9yEg0KBWZpZWxkGAEgASgJEgwKBGNvZGUYAiABKAkSDwoHbWVzc2FnZRgDIAEoCSJ3Ch5VcGRhdGVUYWdzQWRkaW5nU2V0dGluZ1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSNAoFaXRlbXMYAyADKAsyJS5ibHVlYXBpLmJpbGxpbmcudjEuVGFnc0FkZGluZ1NldHRpbmciPgobR2V0VGFnc0FkZGluZ1NldHRpbmdSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIPCgdncm91cElkGAIgASgJIkkKEVRhZ3NBZGRpbmdTZXR0aW5nEg8KB2dyb3VwSWQYASABKAkSEgoKY3VzdG9tZXJJZBgCIAEoCRIPCgd0YWdLZXlzGAMgAygJIk0KHUV4cG9ydFNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EhQKBmZvcm1hdBgBIAEoCUIE4kEBAhIWCghsYW5ndWFnZRgCIAEoCUIE4kEBASJvCitFeHBvcnRBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EhQKBmZvcm1hdBgBIAEoCUIE4kEBAhIWCghsYW5ndWFnZRgCIAEoCUIE4kEBARISCgpkaXJlY3RMaW5rGAMgASgIInQKMEV4cG9ydEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIUCgZmb3JtYXQYASABKAlCBOJBAQISFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQESEgoKZGlyZWN0TGluaxgDIAEoCCI2ChxFeHBvcnRCaWxsaW5nR3JvdXBDc3ZSZXF1ZXN0EhYKCGxhbmd1YWdlGAIgASgJQgTiQQEBIjUKHUV4cG9ydEJpbGxpbmdHcm91cENzdlJlc3BvbnNlEhQKDGRvd25sb2FkTGluaxgBIAEoCSJcCh5FeHBvcnRJbnZvaWNlU2V0dGluZ0NzdlJlcXVlc3QSFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQESIgoUaW5jbHVkZU1pc2NlbGxhbmVvdXMYAyABKAhCBOJBAQEiNwofRXhwb3J0SW52b2ljZVNldHRpbmdDc3ZSZXNwb25zZRIUCgxkb3dubG9hZExpbmsYASABKAkiQAotR2V0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkiPAouR2V0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZRIKCgJpZBgBIAEoCSK5AQohQWRkQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSUwoHaWRUb0tleRgCIAMoCzJCLmJsdWVhcGkuYmlsbGluZy52MS5BZGRCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlcXVlc3QuSWRUb0tleUVudHJ5Gi4KDElkVG9LZXlFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIk4KJERlbGV0ZUJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVxdWVzdBIPCgdncm91cElkGAEgASgJEhUKDWN1c3RvbUZpZWxkSWQYAiABKAkidgofQWRkQWNjb3VudFRvQmlsbGluZ0dyb3VwUmVxdWVzdBIPCgdncm91cElkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIyCghhY2NvdW50cxgDIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50VG9BZGQiUQoMQWNjb3VudFRvQWRkEhIKCmN1c3RvbWVySWQYASABKAkSEQoJYWNjb3VudElkGAIgASgJEgwKBG5hbWUYAyABKAkSDAoEbm90ZRgEIAEoCSKrAQocQWRkVGFnc1RvQmlsbGluZ0dyb3VwUmVxdWVzdBIPCgdncm91cElkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIwCghzZXR0aW5ncxgDIAMoCzIeLmJsdWVhcGkuYmlsbGluZy52MS5UYWdTZXR0aW5nEjgKDW5vblRhZ1NldHRpbmcYBCABKAsyIS5ibHVlYXBpLmJpbGxpbmcudjEuTm9uVGFnU2V0dGluZyJHCgpUYWdTZXR0aW5nEhIKCmN1c3RvbWVySWQYASABKAkSJQoEdGFncxgCIAMoCzIXLmJsdWVhcGkuYmlsbGluZy52MS5UYWciMQoDVGFnEgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCRIOCgZhc3NpZ24YAyABKAUiPgoNTm9uVGFnU2V0dGluZxIPCgdpbmNsdWRlGAEgASgIEgwKBHR5cGUYAiABKAkSDgoGYW1vdW50GAMgASgBIj4KHVNhdmVUYWdJbnZvaWNlU2V0dGluZ1Jlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCRINCgVlcnJvchgCIAEoCSJ+CiZVcGRhdGVOb25UYWdHcm91cFRvQmlsbGluZ0dyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSOAoIc2V0dGluZ3MYAyADKAsyJi5ibHVlYXBpLmJpbGxpbmcudjEuTm9uVGFnR3JvdXBTZXR0aW5nIj4KEk5vblRhZ0dyb3VwU2V0dGluZxIKCgJpZBgBIAEoCRIMCgR0eXBlGAIgASgJEg4KBmFtb3VudBgDIAEoASKaAQoaU2F2ZUludm9pY2VTZXR0aW5nc1JlcXVlc3QSDAoEZGF0ZRgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEQoJYWxsR3JvdXBzGAMgASgIEg4KBmdyb3VwcxgEIAMoCRI7Cg5pbnZvaWNlU2V0dGluZxgFIAEoCzIjLmJsdWVhcGkuYmlsbGluZy52MS5JbnZvaWNlU2V0dGluZ3MiswQKD0ludm9pY2VTZXR0aW5ncxIRCglpbnZvaWNlTm8YAiABKAkSFAoMZGlzY291bnRSYXRlGAQgASgBEhsKE2Rpc2NvdW50VGFyZ2V0VXNhZ2UYBSABKAkSGQoRZGlzY291bnRDYWxjTG9naWMYBiABKAkSDwoHdGF4UmF0ZRgHIAEoARISCgpzdXBwb3J0RmVlGAggASgJEhMKC3N1cHBvcnRSYXRlGAkgASgBEhwKFHN1cHBvcnRGZWVDYWxjVGFyZ2V0GAogASgJEhIKCnN1cHBvcnRGaXgYCyABKAESFwoPc3Vic3RpdHV0aW9uRmVlGAwgASgJEhgKEHN1YnN0aXR1dGlvblJhdGUYDSABKAESFwoPc3Vic3RpdHV0aW9uRml4GA4gASgBEiEKGXN1YnN0aXR1dGlvbkZlZUNhbGNUYXJnZXQYDyABKAkSIgoac3Vic3RpdHV0aW9uRmVlVGFyZ2V0VXNhZ2UYECABKAkSHwoXc3Vic3RpdHV0aW9uRmVlQ2FsY1R5cGUYESABKAkSEAoIY3VycmVuY3kYAyABKAkSFAoMZXhjaGFuZ2VSYXRlGBIgASgBEgwKBG1lbW8YEyABKAkSEAoIY2FsY1R5cGUYFCABKAkSOQoPYWRkaXRpb25hbEl0ZW1zGBUgAygLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkZyZWVGb3JtSXRlbRIcChRzdXBwb3J0RmVlQWRqdXN0bWVudBgWIAEoASKtAwoQQmFzaWNJbmZvcm1hdGlvbhIYChBiaWxsaW5nR3JvdXBOYW1lGAIgASgJEhYKDmJpbGxpbmdHcm91cElkGAMgASgJEhMKC2NvbXBhbnlOYW1lGAQgASgJEhYKCWFkZHJlc3NlZRgFIAEoCUgAiAEBEhQKB2NvdW50cnkYBiABKAlIAYgBARIXCgpwb3N0YWxDb2RlGAcgASgJSAKIAQESEQoEY2l0eRgIIAEoCUgDiAEBEhgKC3Bob25lTnVtYmVyGAkgASgJSASIAQESGQoMYWRkcmVzc0xpbmUxGAogASgJSAWIAQESGQoMYWRkcmVzc0xpbmUyGAsgASgJSAaIAQESEgoFc3RhdGUYDCABKAlIB4gBARIXCgpwcmVmZWN0dXJlGA0gASgJSAiIAQFCDAoKX2FkZHJlc3NlZUIKCghfY291bnRyeUINCgtfcG9zdGFsQ29kZUIHCgVfY2l0eUIOCgxfcGhvbmVOdW1iZXJCDwoNX2FkZHJlc3NMaW5lMUIPCg1fYWRkcmVzc0xpbmUyQggKBl9zdGF0ZUINCgtfcHJlZmVjdHVyZSJ3CilVcGRhdGVCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRI+ChBiYXNpY0luZm9ybWF0aW9uGAIgASgLMiQuYmx1ZWFwaS5iaWxsaW5nLnYxLkJhc2ljSW5mb3JtYXRpb24ivAEKJVVwZGF0ZUJpbGxpbmdHcm91cEN1c3RvbUZpZWxkc1JlcXVlc3QSCgoCaWQYASABKAkSVwoHaWRUb0tleRgCIAMoCzJGLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBDdXN0b21GaWVsZHNSZXF1ZXN0LklkVG9LZXlFbnRyeRouCgxJZFRvS2V5RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJyCiNVcGRhdGVCaWxsaW5nR3JvdXBGcmVlRm9ybWF0UmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSLwoFaXRlbXMYAyADKAsyIC5ibHVlYXBpLmJpbGxpbmcudjEuRnJlZUZvcm1JdGVtIuoCCihVcGRhdGVCaWxsaW5nR3JvdXBMaW5rZWRSZXNvdXJjZXNSZXF1ZXN0EgoKAmlkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIXCg9zZWxlY3Rpb25NZXRob2QYAyABKAkSMgoIYWNjb3VudHMYBCADKAsyIC5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFRvQWRkEjAKCHNldHRpbmdzGAUgAygLMh4uYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZ1NldHRpbmcSPQoNbm9uVGFnU2V0dGluZxgGIAEoCzIhLmJsdWVhcGkuYmlsbGluZy52MS5Ob25UYWdTZXR0aW5nSACIAQESPwoOYWNjb3VudE9wdGlvbnMYByABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnNIAYgBAUIQCg5fbm9uVGFnU2V0dGluZ0IRCg9fYWNjb3VudE9wdGlvbnMi9gEKKFVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5nc1JlcXVlc3QSCgoCaWQYASABKAkSGQoMYmlsbGluZ1RpdGxlGAIgASgJSACIAQESHAoPY2FsY3VsYXRpb25UeXBlGAMgASgJSAGIAQESFQoIbGFuZ3VhZ2UYBCABKAlIAogBARIiChVpbnZvaWNlTGF5b3V0Q29uZmlnSWQYBSABKAlIA4gBAUIPCg1fYmlsbGluZ1RpdGxlQhIKEF9jYWxjdWxhdGlvblR5cGVCCwoJX2xhbmd1YWdlQhgKFl9pbnZvaWNlTGF5b3V0Q29uZmlnSWQirwEKKFVwZGF0ZUJpbGxpbmdHcm91cFJlc2VsbGVyQ2hhcmdlc1JlcXVlc3QSCgoCaWQYASABKAkSHAoPaW52b2ljZVRlbXBsYXRlGAIgASgJSACIAQESRQoHaW52b2ljZRgDIAEoCzI0LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0SW52b2ljZUISChBfaW52b2ljZVRlbXBsYXRlIr8ECipVcGRhdGVCaWxsaW5nR3JvdXBBZGRpdGlvbmFsQ2hhcmdlc1JlcXVlc3QSCgoCaWQYASABKAkSeAoDYXdzGAIgAygLMmUuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEFkZGl0aW9uYWxDaGFyZ2VzUmVxdWVzdC5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZ0IE4kEBAhJ6CgVhenVyZRgDIAMoCzJlLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBBZGRpdGlvbmFsQ2hhcmdlc1JlcXVlc3QuQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ1NldHRpbmdCBOJBAQISeAoDZ2NwGAQgAygLMmUuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEFkZGl0aW9uYWxDaGFyZ2VzUmVxdWVzdC5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZ0IE4kEBAhqUAQomQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ1NldHRpbmcSEAoCaWQYASABKAlCBOJBAQISQAoOY2hhcmdpbmdUYXJnZXQYAiABKA4yIi5ibHVlYXBpLmFwaS5yaXBwbGUuQ2hhcmdpbmdUYXJnZXRCBOJBAQISFgoIYWNjb3VudHMYAyADKAlCBOJBAQEiJwoZRGVsZXRlQmlsbGluZ0dyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCSJSCihHZXRCaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW5SZXF1ZXN0EhAKAmlkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAiKgAQopR2V0QmlsbGluZ0dyb3VwQWNjb3VudFN1cHBvcnRQbGFuUmVzcG9uc2USCgoCaWQYASABKAkSDgoGdmVuZG9yGAIgASgJEg8KB2VuYWJsZWQYAyABKAgSRgoHc2V0dGluZxgEIAMoCzI1LmJsdWVhcGkuYXBpLnJpcHBsZS52MS5CaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW4i8AEKK1VwZGF0ZUJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhblJlcXVlc3QSEAoCaWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECEhUKB2VuYWJsZWQYAyABKAhCBOJBAQESTAoHc2V0dGluZxgEIAMoCzI1LmJsdWVhcGkuYXBpLnJpcHBsZS52MS5CaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW5CBOJBAQESNAoKdXBkYXRlTWFzaxgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCBOJBAQIiMQoXR2V0QW5ub3VuY2VtZW50c1JlcXVlc3QSFgoOYW5ub3VuY2VtZW50SWQYASABKAkipwEKGUNyZWF0ZUFubm91bmNlbWVudFJlcXVlc3QSDQoFbGFiZWwYASABKAkSDAoEdHlwZRgCIAEoCRIQCghjb250ZW50cxgDIAEoCRIVCg1iaWxsaW5nR3JvdXBzGAQgAygJEhgKEGFsbEJpbGxpbmdHcm91cHMYBSABKAgSDQoFc3RhcnQYBiABKAMSCwoDZW5kGAcgASgDEg4KBnN0YXR1cxgIIAEoCSJ4ChlVcGRhdGVBbm5vdW5jZW1lbnRSZXF1ZXN0EhYKDmFubm91bmNlbWVudElkGAEgASgJEkMKDGFubm91bmNlbWVudBgCIAEoCzItLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVBbm5vdW5jZW1lbnRSZXF1ZXN0IkoKIFVwZGF0ZUFubm91bmNlbWVudHNTdGF0dXNSZXF1ZXN0EhYKDmFubm91bmNlbWVudElkGAEgAygJEg4KBnN0YXR1cxgCIAEoCSJFCh1VcGRhdGVBbm5vdW5jZW1lbnREYXRlUmVxdWVzdBIWCg5hbm5vdW5jZW1lbnRJZBgBIAMoCRIMCgRkYXRlGAIgASgDIjMKGURlbGV0ZUFubm91bmNlbWVudFJlcXVlc3QSFgoOYW5ub3VuY2VtZW50SWQYASABKAki6QEKDEFubm91bmNlbWVudBIKCgJpZBgBIAEoCRINCgVsYWJlbBgCIAEoCRIMCgR0eXBlGAMgASgJEg8KB21lc3NhZ2UYBCABKAkSFQoNYmlsbGluZ0dyb3VwcxgFIAMoCRIYChBhbGxCaWxsaW5nR3JvdXBzGA0gASgIEg0KBXN0YXJ0GAYgASgJEgsKA2VuZBgHIAEoCRIMCgRkYXRlGAggASgJEg4KBnN0YXR1cxgJIAEoCRISCgp1c2VyU3RhdHVzGAogASgJEg8KB2NyZWF0ZWQYCyABKAkSDwoHdXBkYXRlZBgMIAEoCSI2CiNHZXRCaWxsaW5nR3JvdXBBbm5vdW5jZW1lbnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJIpYBCiRHZXRCaWxsaW5nR3JvdXBBbm5vdW5jZW1lbnRzUmVzcG9uc2USDwoHZ3JvdXBJZBgBIAEoCRIRCglncm91cE5hbWUYAiABKAkSEQoJY29tcGFueUlkGAMgASgJEjcKDWFubm91bmNlbWVudHMYBCADKAsyIC5ibHVlYXBpLmJpbGxpbmcudjEuQW5ub3VuY2VtZW50IhMKEUdldENyZWRpdHNSZXF1ZXN0IsQBCgZDcmVkaXQSCgoCaWQYASABKAkSEgoKY3VzdG9tZXJJZBgCIAEoCRIUCgxjdXN0b21lck5hbWUYAyABKAkSFAoMY3JlZGl0QW1vdW50GAQgASgBEgwKBHRlcm0YBSABKAkSEwoLZGVzY3JpcHRpb24YBiABKAkSDwoHY3JlYXRlZBgHIAEoCRISCgppbml0aWFsRmVlGAggASgBEhUKDWNyZWRpdEJhbGFuY2UYCSABKAESDwoHYXBwbGllZBgKIAEoCCIXChVHZXRDc3ZTZXR0aW5nc1JlcXVlc3QipAEKCkNzdlNldHRpbmcSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIyCgNjb2wYAyADKAsyJS5ibHVlYXBpLmJpbGxpbmcudjEuQ3N2U2V0dGluZy5Db2x1bW4aSAoGQ29sdW1uEgwKBG5hbWUYASABKAkSCgoCaWQYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHZW5hYmxlZBgEIAEoCCLmAQogVXBkYXRlSW52b2ljZUV4Y2hhbmdlUmF0ZVJlcXVlc3QSDQoFbW9udGgYASABKAkSDgoGdmVuZG9yGAIgASgJElwKDGV4Y2hhbmdlUmF0ZRgDIAMoCzJGLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVJbnZvaWNlRXhjaGFuZ2VSYXRlUmVxdWVzdC5FeGNoYW5nZVJhdGVFbnRyeRIQCghncm91cElkcxgEIAMoCRozChFFeGNoYW5nZVJhdGVFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAE6AjgBIlsKGkNvbnZlcnRJbnZvaWNlVG9QZGZSZXF1ZXN0EgwKBGRhdGUYASABKAkSFQoNYmlsbGluZ2dyb3VwcxgCIAMoCRIYChBhbGxCaWxsaW5nR3JvdXBzGAMgASgIIkQKG0NvbnZlcnRJbnZvaWNlVG9QZGZSZXNwb25zZRIQCghwcm9ncmVzcxgBIAEoCRITCgtkb3dubG9hZFVybBgCIAEoCSKIAgohTGlzdEJpbGxpbmdHcm91cHNQYWdpbmF0ZWRSZXF1ZXN0Ei4KCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrEg8KB3ZlbmRvcnMYAiABKAkSEAoIY2FsY1R5cGUYAyABKAkSEwoLZGlzcGxheUNvc3QYBCABKAkSDgoGYmdUeXBlGAUgASgJEhMKC2NvbXBhbnlOYW1lGAYgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYByABKAkSFgoOYmlsbGluZ0dyb3VwSWQYCCABKAkSEAoIcGFnZVNpemUYCSABKAUSEgoKcGFnZU51bWJlchgKIAEoBSKXAgoUQmlsbGluZ0dyb3VwTGlzdEl0ZW0SGAoQYmlsbGluZ0dyb3VwTmFtZRgBIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgCIAEoCRITCgtjb21wYW55TmFtZRgDIAEoCRIYChBiaWxsaW5nR3JvdXBUeXBlGAQgASgJEkwKB3ZlbmRvcnMYBSADKAsyOy5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwTGlzdEl0ZW0uQmlsbGluZ0dyb3VwVmVuZG9yEhkKEWJpbGxpbmdJbnRlcm5hbElkGAYgASgJGjUKEkJpbGxpbmdHcm91cFZlbmRvchIOCgZ2ZW5kb3IYASABKAkSDwoHZW5hYmxlZBgCIAEoCCK0AQoiTGlzdEJpbGxpbmdHcm91cHNQYWdpbmF0ZWRSZXNwb25zZRI/Cg1iaWxsaW5nR3JvdXBzGAEgAygLMiguYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cExpc3RJdGVtEhIKCnRvdGFsQ291bnQYAiABKAUSEwoLY3VycmVudFBhZ2UYAyABKAUSEAoIcGFnZVNpemUYBCABKAUSEgoKdG90YWxQYWdlcxgFIAEoBSKOAQohQ2hpbGRCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uEgoKAmlkGAEgASgJEhIKCmludGVybmFsSWQYBiABKAkSEAoIcGFyZW50SWQYAiABKAkSFAoMcm9vdFBhcmVudElkGAUgASgJEgwKBG5hbWUYAyABKAkSEwoLY29tcGFueU5hbWUYBCABKAkivgEKJEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cBIQCgJpZBgBIAEoCUIE4kEBAhIUCgZ2ZW5kb3IYAiABKAlCBOJBAQISQAoOY2hhcmdpbmdUYXJnZXQYAyABKA4yIi5ibHVlYXBpLmFwaS5yaXBwbGUuQ2hhcmdpbmdUYXJnZXRCBOJBAQISLAoIYWNjb3VudHMYBCADKAsyFC5ibHVlYXBpLmFwaS5BY2NvdW50QgTiQQEBIoACChFDaGlsZEJpbGxpbmdHcm91cBJPChBiYXNpY0luZm9ybWF0aW9uGAEgASgLMjUuYmx1ZWFwaS5iaWxsaW5nLnYxLkNoaWxkQmlsbGluZ0dyb3VwQmFzaWNJbmZvcm1hdGlvbhJNCg9pbnZvaWNlU2V0dGluZ3MYAiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSOQoLYmlsbGluZ0luZm8YAyABKAsyJC5ibHVlYXBpLmFwaS5yaXBwbGUuQmlsbGluZ0dyb3VwSW5mbxIQCghoYXNDaGlsZBgEIAEoCCKsAgogQ2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSQwoDYXdzGAEgASgLMjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cFZlbmRvcmVkSW52b2ljZVNldHRpbmcSIQoZYWNjb3VudFN1cHBvcnRQbGFuRW5hYmxlZBgCIAEoCBJZChphY2NvdW50U3VwcG9ydFBsYW5TZXR0aW5ncxgDIAMoCzI1LmJsdWVhcGkuYXBpLnJpcHBsZS52MS5CaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW4SRQoFYXp1cmUYBCABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZyKaAgoeQ3JlYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXF1ZXN0Ek8KEGJhc2ljSW5mb3JtYXRpb24YASABKAsyNS5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uEjkKC2JpbGxpbmdJbmZvGAMgASgLMiQuYmx1ZWFwaS5hcGkucmlwcGxlLkJpbGxpbmdHcm91cEluZm8STQoPaW52b2ljZVNldHRpbmdzGAIgASgLMjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkNoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzEh0KFWludm9pY2VMYXlvdXRDb25maWdJZBgEIAEoCSIhCh9DcmVhdGVDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlIjEKG0dldENoaWxkQmlsbGluZ0dyb3VwUmVxdWVzdBISCgppbnRlcm5hbElkGAEgASgJIlYKHEdldENoaWxkQmlsbGluZ0dyb3VwUmVzcG9uc2USNgoHZGV0YWlscxgBIAEoCzIlLmJsdWVhcGkuYmlsbGluZy52MS5DaGlsZEJpbGxpbmdHcm91cCJBCh1SZWFkQ2hpbGRCaWxsaW5nR3JvdXBzUmVxdWVzdBIOCgZyb290SWQYASABKAkSEAoIcGFyZW50SWQYAiABKAkiwAEKHlVwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwUmVxdWVzdBISCgppbnRlcm5hbElkGAEgASgJEk8KEGJhc2ljSW5mb3JtYXRpb24YAiABKAsyNS5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uEjkKC2JpbGxpbmdJbmZvGAMgASgLMiQuYmx1ZWFwaS5hcGkucmlwcGxlLkJpbGxpbmdHcm91cEluZm8iIQofVXBkYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXNwb25zZSI0Ch5EZWxldGVDaGlsZEJpbGxpbmdHcm91cFJlcXVlc3QSEgoKaW50ZXJuYWxJZBgBIAEoCSIhCh9EZWxldGVDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlItABCi1VcGRhdGVDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5nc1JlcXVlc3QSEgoKaW50ZXJuYWxJZBgBIAEoCRJNCg9pbnZvaWNlU2V0dGluZ3MYAiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSIgoVaW52b2ljZUxheW91dENvbmZpZ0lkGAMgASgJSACIAQFCGAoWX2ludm9pY2VMYXlvdXRDb25maWdJZCIwCi5VcGRhdGVDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5nc1Jlc3BvbnNlIpoDCjNTZXRDaGlsZEJpbGxpbmdHcm91cEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QSGAoKaW50ZXJuYWxJZBgBIAEoCUIE4kEBAhIUCgZ2ZW5kb3IYAiABKAlCBOJBAQISFAoGcm9vdElkGAMgASgJQgTiQQECEoUBCgdzZXR0aW5nGAQgAygLMm4uYmx1ZWFwaS5iaWxsaW5nLnYxLlNldENoaWxkQmlsbGluZ0dyb3VwQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdC5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZ0IE4kEBAhqUAQomQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ1NldHRpbmcSEAoCaWQYASABKAlCBOJBAQISQAoOY2hhcmdpbmdUYXJnZXQYAiABKA4yIi5ibHVlYXBpLmFwaS5yaXBwbGUuQ2hhcmdpbmdUYXJnZXRCBOJBAQISFgoIYWNjb3VudHMYAyADKAlCBOJBAQEiVAoyU2V0Q2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSEgoKaW50ZXJuYWxJZBgBIAEoCRIKCgJpZBgCIAEoCSKOAQo5U2V0Q2hpbGRCaWxsaW5nR3JvdXBBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EhIKCmludGVybmFsSWQYASABKAkSPQoIYWNjb3VudHMYAiADKAsyKy5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFNlcnZpY2VEaXNjb3VudHMiWQozR2V0Q2hpbGRCaWxsaW5nR3JvdXBDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0EhIKCmludGVybmFsSWQYASABKAkSDgoGdmVuZG9yGAIgASgJIs4BCjRHZXRDaGlsZEJpbGxpbmdHcm91cEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlc3BvbnNlEhAKAmlkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAhJACg5jaGFyZ2luZ1RhcmdldBgDIAEoDjIiLmJsdWVhcGkuYXBpLnJpcHBsZS5DaGFyZ2luZ1RhcmdldEIE4kEBAhIsCghhY2NvdW50cxgEIAMoCzIULmJsdWVhcGkuYXBpLkFjY291bnRCBOJBAQEiSAoyR2V0Q2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSEgoKaW50ZXJuYWxJZBgBIAEoCSJBCjNHZXRDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2USCgoCaWQYASABKAkiUAo6UmVhZENoaWxkQmlsbGluZ0dyb3VwQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBISCgppbnRlcm5hbElkGAEgASgJInkKHUJ1bGtDcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0Eg4KBnZlbmRvchgFIAEoCRISCgpjc3ZDb250ZW50GAEgASgMEhEKCWRlbGltaXRlchgCIAEoCRIRCgloYXNIZWFkZXIYAyABKAgSDgoGZHJ5UnVuGAQgASgIIlUKG0J1bGtDcmVhdGVCaWxsaW5nR3JvdXBFcnJvchINCgVpbmRleBgBIAEoBRIWCg5iaWxsaW5nR3JvdXBJZBgCIAEoCRIPCgdtZXNzYWdlGAMgASgJIu0BCh5CdWxrQ3JlYXRlQmlsbGluZ0dyb3VwTWV0YWRhdGESDgoGc3RhdHVzGAEgASgJEhIKCnRvdGFsQ291bnQYAiABKAUSFgoOcHJvY2Vzc2VkQ291bnQYAyABKAUSFAoMc3VjY2Vzc0NvdW50GAQgASgFEhQKDGZhaWx1cmVDb3VudBgFIAEoBRI/CgZlcnJvcnMYBiADKAsyLy5ibHVlYXBpLmJpbGxpbmcudjEuQnVsa0NyZWF0ZUJpbGxpbmdHcm91cEVycm9yEhEKCXN0YXJ0VGltZRgHIAEoCRIPCgdlbmRUaW1lGAggASgJIrkBChNFeGNsdWRlU2VydmljZUVudHJ5Eg4KBm1zcF9pZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEAoIcGF5ZXJfaWQYAyABKAkSDwoHc2VydmljZRgEIAEoCRIPCgdwcm9kdWN0GAUgASgJEhcKD2V4Y2VwdF9wYXllcl9pZBgGIAMoCRIOCgZhY3Rpb24YByABKAkSDgoGc3RhdHVzGAggASgJEhUKDWVycm9yX21lc3NhZ2UYCSABKAkijwEKIENyZWF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXF1ZXN0Eg4KBm1zcF9pZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEAoIcGF5ZXJfaWQYAyABKAkSDwoHc2VydmljZRgEIAEoCRIPCgdwcm9kdWN0GAUgASgJEhcKD2V4Y2VwdF9wYXllcl9pZBgGIAMoCSJbCiFDcmVhdGVFeGNsdWRlU2VydmljZUVudHJ5UmVzcG9uc2USNgoFZW50cnkYASABKAsyJy5ibHVlYXBpLmJpbGxpbmcudjEuRXhjbHVkZVNlcnZpY2VFbnRyeSKPAQogVXBkYXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlcXVlc3QSDgoGbXNwX2lkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIQCghwYXllcl9pZBgDIAEoCRIPCgdzZXJ2aWNlGAQgASgJEg8KB3Byb2R1Y3QYBSABKAkSFwoPZXhjZXB0X3BheWVyX2lkGAYgAygJIlsKIVVwZGF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXNwb25zZRI2CgVlbnRyeRgBIAEoCzInLmJsdWVhcGkuYmlsbGluZy52MS5FeGNsdWRlU2VydmljZUVudHJ5InYKIERlbGV0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXF1ZXN0Eg4KBm1zcF9pZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEAoIcGF5ZXJfaWQYAyABKAkSDwoHc2VydmljZRgEIAEoCRIPCgdwcm9kdWN0GAUgASgJIlsKIURlbGV0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXNwb25zZRI2CgVlbnRyeRgBIAEoCzInLmJsdWVhcGkuYmlsbGluZy52MS5FeGNsdWRlU2VydmljZUVudHJ5IjwKGkxpc3RFeGNsdWRlU2VydmljZXNSZXF1ZXN0Eg4KBm1zcF9pZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkiVwobTGlzdEV4Y2x1ZGVTZXJ2aWNlc1Jlc3BvbnNlEjgKB2VudHJpZXMYASADKAsyJy5ibHVlYXBpLmJpbGxpbmcudjEuRXhjbHVkZVNlcnZpY2VFbnRyeSJECgtTZXJ2aWNlSXRlbRIKCgJpZBgBIAEoCRIMCgRjb2RlGAIgASgJEg0KBW5hbWVzGAMgAygJEgwKBHNrdXMYBCADKAkiMwoTTGlzdFNlcnZpY2VzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDAoEY29kZRgCIAEoCSJFChRMaXN0U2VydmljZXNSZXNwb25zZRItCgRkYXRhGAEgAygLMh8uYmx1ZWFwaS5iaWxsaW5nLnYxLlNlcnZpY2VJdGVtInIKFkJ1bGtMaW5rQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAUgASgJEhIKCmNzdkNvbnRlbnQYASABKAwSEQoJZGVsaW1pdGVyGAIgASgJEhEKCWhhc0hlYWRlchgDIAEoCBIOCgZkcnlSdW4YBCABKAgiYQoUQnVsa0xpbmtBY2NvdW50RXJyb3ISDQoFaW5kZXgYASABKAUSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSEQoJYWNjb3VudElkGAMgASgJEg8KB21lc3NhZ2UYBCABKAki3wEKF0J1bGtMaW5rQWNjb3VudE1ldGFkYXRhEg4KBnN0YXR1cxgBIAEoCRISCgp0b3RhbENvdW50GAIgASgFEhYKDnByb2Nlc3NlZENvdW50GAMgASgFEhQKDHN1Y2Nlc3NDb3VudBgEIAEoBRIUCgxmYWlsdXJlQ291bnQYBSABKAUSOAoGZXJyb3JzGAYgAygLMiguYmx1ZWFwaS5iaWxsaW5nLnYxLkJ1bGtMaW5rQWNjb3VudEVycm9yEhEKCXN0YXJ0VGltZRgHIAEoCRIPCgdlbmRUaW1lGAggASgJIj4KGkJ1bGtUYWdCaWxsaW5nR3JvdXBSZXF1ZXN0EhIKCmNzdkNvbnRlbnQYASABKAwSDAoEbW9kZRgCIAEoCSKCAQoYQnVsa1RhZ0JpbGxpbmdHcm91cEVycm9yEg0KBWluZGV4GAEgASgFEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhIKCmN1c3RvbWVySWQYAyABKAkSCwoDa2V5GAQgASgJEg0KBXZhbHVlGAUgASgJEg8KB21lc3NhZ2UYBiABKAki5wEKG0J1bGtUYWdCaWxsaW5nR3JvdXBNZXRhZGF0YRIOCgZzdGF0dXMYASABKAkSEgoKdG90YWxDb3VudBgCIAEoBRIWCg5wcm9jZXNzZWRDb3VudBgDIAEoBRIUCgxzdWNjZXNzQ291bnQYBCABKAUSFAoMZmFpbHVyZUNvdW50GAUgASgFEjwKBmVycm9ycxgGIAMoCzIsLmJsdWVhcGkuYmlsbGluZy52MS5CdWxrVGFnQmlsbGluZ0dyb3VwRXJyb3ISEQoJc3RhcnRUaW1lGAcgASgJEg8KB2VuZFRpbWUYCCABKAkiNwopR2V0QmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QSCgoCaWQYASABKAkieQoqR2V0QmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1Jlc3BvbnNlEjEKBmxheW91dBgBIAEoCzIhLmJsdWVhcGkuYXBpLnJpcHBsZS5JbnZvaWNlTGF5b3V0EgoKAmlkGAIgASgJEgwKBG5hbWUYAyABKAkiSgopU2V0QmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QSCgoCaWQYASABKAkSEQoJbGF5b3V0X2lkGAIgASgJImMKIENyZWF0ZUludm9pY2VMYXlvdXRDb25maWdSZXF1ZXN0EgwKBG5hbWUYASABKAkSMQoGbGF5b3V0GAIgASgLMiEuYmx1ZWFwaS5hcGkucmlwcGxlLkludm9pY2VMYXlvdXQiNgohQ3JlYXRlSW52b2ljZUxheW91dENvbmZpZ1Jlc3BvbnNlEhEKCWxheW91dF9pZBgBIAEoCSJvCiBVcGRhdGVJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdBIKCgJpZBgBIAEoCRIxCgZsYXlvdXQYAiABKAsyIS5ibHVlYXBpLmFwaS5yaXBwbGUuSW52b2ljZUxheW91dBIMCgRuYW1lGAMgASgJIiAKHlJlYWRJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdCJuCh9SZWFkSW52b2ljZUxheW91dENvbmZpZ1Jlc3BvbnNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSMQoGbGF5b3V0GAMgASgLMiEuYmx1ZWFwaS5hcGkucmlwcGxlLkludm9pY2VMYXlvdXQiOgosRGVsZXRlQmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QSCgoCaWQYASABKAkiLgogRGVsZXRlSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QSCgoCaWQYASABKAkiOQorTGlzdEludm9pY2VMYXlvdXRDb25maWdCaWxsaW5nR3JvdXBzUmVxdWVzdBIKCgJpZBgBIAEoCSJICixMaXN0SW52b2ljZUxheW91dENvbmZpZ0JpbGxpbmdHcm91cHNSZXNwb25zZRIYChBiaWxsaW5nZ3JvdXBfaWRzGAEgAygJMrnKAQoHQmlsbGluZxKAAQoRTGlzdEJpbGxpbmdHcm91cHMSLC5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEJpbGxpbmdHcm91cHNSZXF1ZXN0GiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cCIZgtPkkwITEhEvdjEvYmlsbGluZ2dyb3VwczABErABChpMaXN0QmlsbGluZ0dyb3Vwc1BhZ2luYXRlZBI1LmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QmlsbGluZ0dyb3Vwc1BhZ2luYXRlZFJlcXVlc3QaNi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEJpbGxpbmdHcm91cHNQYWdpbmF0ZWRSZXNwb25zZSIjgtPkkwIdEhsvdjEvYmlsbGluZ2dyb3VwczpwYWdpbmF0ZWQSgwEKEkNyZWF0ZUJpbGxpbmdHcm91cBItLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0GiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cCIcgtPkkwIWOgEqIhEvdjEvYmlsbGluZ2dyb3VwcxKWAQoYQ3JlYXRlQmlsbGluZ0dyb3VwTWVyZ2VkEjMuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cE1lcmdlZFJlcXVlc3QaIC5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwIiOC0+STAh06ASoiGC92MS9iaWxsaW5nZ3JvdXBzL21lcmdlZBJ5ChFEZWxldGVCaWxsaW5Hcm91cBItLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVCaWxsaW5nR3JvdXBSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ih2C0+STAhcqFS92MS9iaWxsaW5nZ3JvdXAve2lkfRKMAQoYQWRkQWNjb3VudFRvQmlsbGluZ0dyb3VwEjMuYmx1ZWFwaS5iaWxsaW5nLnYxLkFkZEFjY291bnRUb0JpbGxpbmdHcm91cFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiI4LT5JMCHToBKiIYL3YxL2JpbGxpbmdncm91cC9hY2NvdW50EpkBCg9HZXRCaWxsaW5nR3JvdXASKi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwUmVxdWVzdBorLmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBSZXNwb25zZSItgtPkkwInEiUvdjEvYmlsbGluZ2dyb3Vwcy97YmlsbGluZ0ludGVybmFsSWR9EpEBCg5HZXRBY2Nlc3NHcm91cBIpLmJsdWVhcGkuYmlsbGluZy52MS5HZXRBY2Nlc3NHcm91cFJlcXVlc3QaKi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QWNjZXNzR3JvdXBSZXNwb25zZSIogtPkkwIiEiAvdjEvYWNjZXNzZ3JvdXBzL3thY2Nlc3NHcm91cElkfRKeAQoWTGlzdEF3c0RhaWx5UnVuSGlzdG9yeRIxLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QXdzRGFpbHlSdW5IaXN0b3J5UmVxdWVzdBomLmJsdWVhcGkuYmlsbGluZy52MS5Bd3NEYWlseVJ1bkhpc3RvcnkiJ4LT5JMCIToBKiIcL3YxL2F3cy9kYWlseXJ1bmhpc3Rvcnk6cmVhZDABEpoBChNMaXN0VXNhZ2VDb3N0c0RyaWZ0Ei4uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RVc2FnZUNvc3RzRHJpZnRSZXF1ZXN0GiMuYmx1ZWFwaS5iaWxsaW5nLnYxLlVzYWdlQ29zdHNEcmlmdCIsgtPkkwImOgEqIiEvdjEve3ZlbmRvcn0vdXNhZ2Vjb3N0c2RyaWZ0OnJlYWQwARJ8Cg1DcmVhdGVJbnZvaWNlEiguYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUludm9pY2VSZXF1ZXN0GhsuYmx1ZWFwaS5hcGkuSW52b2ljZU1lc3NhZ2UiJILT5JMCHjoBKiIZL3YxL2ludm9pY2Uve2RhdGV9OmNyZWF0ZRKbAQoZQ3JlYXRlSW52b2ljZVdpdGhTZXR0aW5ncxIuLmJsdWVhcGkuYmlsbGluZy52MS5TYXZlSW52b2ljZVNldHRpbmdzUmVxdWVzdBobLmJsdWVhcGkuYXBpLkludm9pY2VNZXNzYWdlIjGC0+STAis6ASoiJi92MS9pbnZvaWNlL3tkYXRlfTpjcmVhdGUmc2F2ZXNldHRpbmdzEokBChNTYXZlSW52b2ljZVNldHRpbmdzEi4uYmx1ZWFwaS5iaWxsaW5nLnYxLlNhdmVJbnZvaWNlU2V0dGluZ3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiqC0+STAiQ6ASoiHy92MS9pbnZvaWNlL3tkYXRlfTpzYXZlc2V0dGluZ3MSogEKE0NvbnZlcnRJbnZvaWNlVG9QZGYSLi5ibHVlYXBpLmJpbGxpbmcudjEuQ29udmVydEludm9pY2VUb1BkZlJlcXVlc3QaLy5ibHVlYXBpLmJpbGxpbmcudjEuQ29udmVydEludm9pY2VUb1BkZlJlc3BvbnNlIiqC0+STAiQ6ASoiHy92MS9pbnZvaWNlL3tkYXRlfTpjb252ZXJ0dG9wZGYSfQoQR2V0SW52b2ljZVN0YXR1cxIrLmJsdWVhcGkuYmlsbGluZy52MS5HZXRJbnZvaWNlU3RhdHVzUmVxdWVzdBobLmJsdWVhcGkuYXBpLkludm9pY2VNZXNzYWdlIh+C0+STAhkSFy92MS9pbnZvaWNlL3N0YXR1cy97aWR9EosBChFMaXN0SW52b2ljZVN0YXR1cxIsLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVN0YXR1c1JlcXVlc3QaGy5ibHVlYXBpLmFwaS5JbnZvaWNlTWVzc2FnZSIpgtPkkwIjOgEqIh4vdjEvaW52b2ljZS9zdGF0dXMve2RhdGV9OnJlYWQwARJtCgpHZXRJbnZvaWNlEiUuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEludm9pY2VSZXF1ZXN0GhQuYmx1ZWFwaS5hcGkuSW52b2ljZSIigtPkkwIcOgEqIhcvdjEvaW52b2ljZS97ZGF0ZX06cmVhZBJ9CgtMaXN0SW52b2ljZRImLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVJlcXVlc3QaJy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VSZXNwb25zZSIbgtPkkwIVOgEqIhAvdjEvaW52b2ljZTpyZWFkMAESiAEKFVVwZGF0ZUludm9pY2VQcmV2aWV3cxIwLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVJbnZvaWNlUHJldmlld3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiWC0+STAh86ASoaGi92MS9pbnZvaWNlL3tkYXRlfTpwcmV2aWV3EpYBChFFeHBvcnRJbnZvaWNlRmlsZRIsLmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRJbnZvaWNlRmlsZVJlcXVlc3QaLS5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0SW52b2ljZUZpbGVSZXNwb25zZSIkgtPkkwIeOgEqIhkvdjEvaW52b2ljZS97ZGF0ZX06ZXhwb3J0EpYBChNMaXN0SW52b2ljZVRlbXBsYXRlEi4uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0Gi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlVGVtcGxhdGVSZXNwb25zZSIcgtPkkwIWEhQvdjEvaW52b2ljZS90ZW1wbGF0ZTABEq0BChlHZXRJbnZvaWNlRGlzcGxheVNldHRpbmdzEjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXF1ZXN0GjUuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXNwb25zZSIjgtPkkwIdEhsvdjEvaW52b2ljZS9kaXNwbGF5c2V0dGluZ3MSlwEKHFVwZGF0ZUludm9pY2VEaXNwbGF5U2V0dGluZ3MSNy5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlSW52b2ljZURpc3BsYXlTZXR0aW5nc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJoLT5JMCIDoBKiIbL3YxL2ludm9pY2UvZGlzcGxheXNldHRpbmdzEpYBChlVcGRhdGVJbnZvaWNlRXhjaGFuZ2VSYXRlEjQuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUludm9pY2VFeGNoYW5nZVJhdGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiuC0+STAiU6ASoaIC92MS9pbnZvaWNlL2V4Y2hhbmdlcmF0ZS97bW9udGh9EqwBCiFVcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlVGVtcGxhdGUSPC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVRlbXBsYXRlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIxgtPkkwIrOgEqIiYvdjEvYmlsbGluZ2dyb3Vwcy97aWR9L2ludm9pY2V0ZW1wbGF0ZRKxAQocUmVhZFNlcnZpY2VEaXNjb3VudHNTZXJ2aWNlcxI3LmJsdWVhcGkuYmlsbGluZy52MS5SZWFkU2VydmljZURpc2NvdW50c1NlcnZpY2VzUmVxdWVzdBoeLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5TZXJ2aWNlIjaC0+STAjA6ASoiKy92MS9zZXJ2aWNlZGlzY291bnRzL3t2ZW5kb3J9L3NlcnZpY2VzOnJlYWQwARKqAQodQ3JlYXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSOC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Gi4uYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzIh+C0+STAhk6ASoiFC92MS9zZXJ2aWNlZGlzY291bnRzEq8BCh1VcGRhdGVJbnZvaWNlU2VydmljZURpc2NvdW50cxI4LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaLi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuSW52b2ljZVNlcnZpY2VEaXNjb3VudHMiJILT5JMCHjoBKhoZL3YxL3NlcnZpY2VkaXNjb3VudHMve2lkfRKUAQodRGVsZXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSOC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiGC0+STAhsqGS92MS9zZXJ2aWNlZGlzY291bnRzL3tpZH0SqgEKG0xpc3RJbnZvaWNlU2VydmljZURpc2NvdW50cxI2LmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GisuYmx1ZWFwaS5iaWxsaW5nLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzIiSC0+STAh46ASoiGS92MS9zZXJ2aWNlZGlzY291bnRzOnJlYWQwARKmAQoaR2V0SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSNS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Gi4uYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzIiGC0+STAhsSGS92MS9zZXJ2aWNlZGlzY291bnRzL3tpZH0SogEKFkV4cG9ydFNlcnZpY2VEaXNjb3VudHMSMS5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0U2VydmljZURpc2NvdW50c1JlcXVlc3QaLS5ibHVlYXBpLmFwaS5yaXBwbGUudjEuU2VydmljZURpc2NvdW50c0V4cG9ydCImgtPkkwIgOgEqIhsvdjEvc2VydmljZWRpc2NvdW50czpleHBvcnQS8AEKKUNyZWF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkQuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBpFLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlIjaC0+STAjA6ASoiKy92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9iaWxsaW5nZ3JvdXAS8AEKKVVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkQuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBpFLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlIjaC0+STAjA6ASoaKy92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9iaWxsaW5nZ3JvdXASvgEKKURlbGV0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkQuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIzgtPkkwItKisvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYmlsbGluZ2dyb3VwEtEBCiJMaXN0QWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEj0uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GjIuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cyI2gtPkkwIwOgEqIisvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYWNjb3VudDpyZWFkMAES3AEKJENyZWF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cxI/LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GkAuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlIjGC0+STAis6ASoiJi92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9hY2NvdW50EtwBCiRVcGRhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSPy5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBpALmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZSIxgtPkkwIrOgEqGiYvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYWNjb3VudBK5AQokUmVtb3ZlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEj8uYmx1ZWFwaS5iaWxsaW5nLnYxLlJlbW92ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiOILT5JMCMjoBKhotL3YxL3NlcnZpY2VkaXNjb3VudHMve2dyb3VwSWR9L2FjY291bnQ6cmVtb3ZlEq8BCiREZWxldGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSPy5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIugtPkkwIoKiYvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYWNjb3VudBLNAQokRXhwb3J0QWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEj8uYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaNC5ibHVlYXBpLmFwaS5yaXBwbGUudjEuQWNjb3VudFNlcnZpY2VEaXNjb3VudHNFeHBvcnQiLoLT5JMCKDoBKiIjL3YxL3NlcnZpY2VkaXNjb3VudHMvYWNjb3VudDpleHBvcnQS2gEKKUV4cG9ydEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkQuYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBoyLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5Hcm91cFNlcnZpY2VEaXNjb3VudHNFeHBvcnQiM4LT5JMCLToBKiIoL3YxL3NlcnZpY2VkaXNjb3VudHMvYmlsbGluZ2dyb3VwOmV4cG9ydBLkAQomR2V0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSQS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GkIuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2UiM4LT5JMCLRIrL3YxL3NlcnZpY2VkaXNjb3VudHMve2dyb3VwSWR9L2JpbGxpbmdncm91cBJzCg5DcmVhdGVSZXNlbGxlchIpLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVSZXNlbGxlclJlcXVlc3QaHC5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXIiGILT5JMCEjoBKiINL3YxL3Jlc2VsbGVycxJwCg1MaXN0UmVzZWxsZXJzEiguYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RSZXNlbGxlcnNSZXF1ZXN0GhwuYmx1ZWFwaS5hcGkucmlwcGxlLlJlc2VsbGVyIhWC0+STAg8SDS92MS9yZXNlbGxlcnMwARJvCgtHZXRSZXNlbGxlchImLmJsdWVhcGkuYmlsbGluZy52MS5HZXRSZXNlbGxlclJlcXVlc3QaHC5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXIiGoLT5JMCFBISL3YxL3Jlc2VsbGVycy97aWR9EngKDlVwZGF0ZVJlc2VsbGVyEikuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZVJlc2VsbGVyUmVxdWVzdBocLmJsdWVhcGkuYXBpLnJpcHBsZS5SZXNlbGxlciIdgtPkkwIXOgEqGhIvdjEvcmVzZWxsZXJzL3tpZH0SbwoORGVsZXRlUmVzZWxsZXISKS5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlUmVzZWxsZXJSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhqC0+STAhQqEi92MS9yZXNlbGxlcnMve2lkfRKGAQoRR2V0QmlsbGluZ1NldHRpbmcSLC5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ1NldHRpbmdSZXF1ZXN0Gi0uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdTZXR0aW5nUmVzcG9uc2UiFILT5JMCDhIML3YxL3NldHRpbmdzEpsBChFMaXN0RXhjaGFuZ2VSYXRlcxIsLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0RXhjaGFuZ2VSYXRlc1JlcXVlc3QaLS5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEV4Y2hhbmdlUmF0ZXNSZXNwb25zZSIpgtPkkwIjEiEvdjEve3ZlbmRvcn0vZXhjaGFuZ2VyYXRlL3ttb250aH0SlgEKFVNldEdsb2JhbEV4Y2hhbmdlUmF0ZRIwLmJsdWVhcGkuYmlsbGluZy52MS5TZXRHbG9iYWxFeGNoYW5nZVJhdGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjOC0+STAi06ASoiKC92MS9leGNoYW5nZXJhdGUvZ2xvYmFsL3t2ZW5kb3J9L3ttb250aH0SigEKFFNldFBheWVyRXhjaGFuZ2VSYXRlEi8uYmx1ZWFwaS5iaWxsaW5nLnYxLlNldFBheWVyRXhjaGFuZ2VSYXRlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIpgtPkkwIjOgEqIh4vdjEvZXhjaGFuZ2VyYXRlL3BheWVyL3ttb250aH0SnwEKG1NldEJpbGxpbmdHcm91cEV4Y2hhbmdlUmF0ZRI2LmJsdWVhcGkuYmlsbGluZy52MS5TZXRCaWxsaW5nR3JvdXBFeGNoYW5nZVJhdGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjCC0+STAio6ASoiJS92MS9leGNoYW5nZXJhdGUvYmlsbGluZ2dyb3VwL3ttb250aH0SfAoQTGlzdEFjY2Vzc0dyb3VwcxIrLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QWNjZXNzR3JvdXBzUmVxdWVzdBofLmJsdWVhcGkuYXBpLnJpcHBsZS5BY2Nlc3NHcm91cCIYgtPkkwISEhAvdjEvYWNjZXNzZ3JvdXBzMAESfwoRQ3JlYXRlQWNjZXNzR3JvdXASLC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQWNjZXNzR3JvdXBSZXF1ZXN0Gh8uYmx1ZWFwaS5hcGkucmlwcGxlLkFjY2Vzc0dyb3VwIhuC0+STAhU6ASoiEC92MS9hY2Nlc3Nncm91cHMShAEKEVVwZGF0ZUFjY2Vzc0dyb3VwEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUFjY2Vzc0dyb3VwUmVxdWVzdBofLmJsdWVhcGkuYXBpLnJpcHBsZS5BY2Nlc3NHcm91cCIggtPkkwIaOgEqGhUvdjEvYWNjZXNzZ3JvdXBzL3tpZH0SeAoRRGVsZXRlQWNjZXNzR3JvdXASLC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQWNjZXNzR3JvdXBSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ih2C0+STAhcqFS92MS9hY2Nlc3Nncm91cHMve2lkfRKfAQoUTGlzdEFiY0JpbGxpbmdHcm91cHMSLy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEFiY0JpbGxpbmdHcm91cHNSZXF1ZXN0GiMuYmx1ZWFwaS5iaWxsaW5nLnYxLkFiY0JpbGxpbmdHcm91cCIvgtPkkwIpEicvdjEvYmlsbGluZ2dyb3Vwcy9iaWxsaW5nY29uZHVjdG9yL3tpZH0wARK2AQobTGlzdEFiY0JpbGxpbmdHcm91cEFjY291bnRzEjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RBYmNCaWxsaW5nR3JvdXBBY2NvdW50c1JlcXVlc3QaHi5ibHVlYXBpLmJpbGxpbmcudjEuQWJjQWNjb3VudCI9gtPkkwI3EjUvdjEvYmlsbGluZ2dyb3Vwcy9iaWxsaW5nY29uZHVjdG9yL3twYXllcklkfS9hY2NvdW50czABEpwBChZSZWFkSW52b2ljZUFkanVzdG1lbnRzEjEuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlYWRJbnZvaWNlQWRqdXN0bWVudHNSZXF1ZXN0GhwuYmx1ZWFwaS5hcGkud2F2ZS5BZGp1c3RtZW50Ii+C0+STAik6ASoiJC92MS97dmVuZG9yfS9pbnZvaWNlYWRqdXN0bWVudHM6cmVhZDABEqMBChVSZWFkQWRqdXN0bWVudEVudHJpZXMSMC5ibHVlYXBpLmJpbGxpbmcudjEuUmVhZEFkanVzdG1lbnRFbnRyaWVzUmVxdWVzdBomLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5BZGp1c3RtZW50RW50cnkiLoLT5JMCKDoBKiIjL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzOnJlYWQwARKYAQoSR2V0QWRqdXN0bWVudEVudHJ5Ei0uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEFkanVzdG1lbnRFbnRyeVJlcXVlc3QaJi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuQWRqdXN0bWVudEVudHJ5IiuC0+STAiUSIy92MS97dmVuZG9yfS9hZGp1c3RtZW50ZW50cmllcy97aWR9EpABChRBcHBseUFkanVzdG1lbnRFbnRyeRIvLmJsdWVhcGkuYmlsbGluZy52MS5BcHBseUFkanVzdG1lbnRFbnRyeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiL4LT5JMCKToBKiIkL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzOmFwcGx5EpYBChZSZXN0b3JlQWRqdXN0bWVudEVudHJ5EjEuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlc3RvcmVBZGp1c3RtZW50RW50cnlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjGC0+STAis6ASoiJi92MS97dmVuZG9yfS9hZGp1c3RtZW50ZW50cmllczpyZXN0b3JlEpUBChRTcGxpdEFkanVzdG1lbnRFbnRyeRIvLmJsdWVhcGkuYmlsbGluZy52MS5TcGxpdEFkanVzdG1lbnRFbnRyeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiNILT5JMCLjoBKiIpL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzL3tpZH0vc3BsaXQSngEKF0FsbG9jYXRlQWRqdXN0bWVudEVudHJ5EjIuYmx1ZWFwaS5iaWxsaW5nLnYxLkFsbG9jYXRlQWRqdXN0bWVudEVudHJ5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI3gtPkkwIxOgEqIiwvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXMve2lkfS9hbGxvY2F0ZRKrAQobUmVzdG9yZVNwbGl0QWRqdXN0bWVudEVudHJ5EjYuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlc3RvcmVTcGxpdEFkanVzdG1lbnRFbnRyeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiPILT5JMCNjoBKiIxL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzL3tpZH0vc3BsaXQ6cmVzdG9yZRK0AQoeUmVzdG9yZUFsbG9jYXRlQWRqdXN0bWVudEVudHJ5EjkuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlc3RvcmVBbGxvY2F0ZUFkanVzdG1lbnRFbnRyeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiP4LT5JMCOToBKiI0L3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzL3tpZH0vYWxsb2NhdGU6cmVzdG9yZRKgAQoPQ3JlYXRlQ3VzdG9tRmVlEiouYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUN1c3RvbUZlZVJlcXVlc3QaKy5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQ3VzdG9tRmVlUmVzcG9uc2UiNILT5JMCLjoBKiIpL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzL2N1c3RvbWZlZXMSrQEKGExpc3RBZGp1c3RtZW50RW50cnlJdGVtcxIzLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QWRqdXN0bWVudEVudHJ5SXRlbXNSZXF1ZXN0GicuYmx1ZWFwaS5iaWxsaW5nLnYxLkFkanVzdG1lbnRFbnRyeUl0ZW0iMYLT5JMCKzoBKiImL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyeWl0ZW1zOnJlYWQwARKXAQoUTGlzdEFjY291bnRSZXNvdXJjZXMSLy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEFjY291bnRSZXNvdXJjZXNSZXF1ZXN0GiMuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlc291cmNlQWNjb3VudCIngtPkkwIhEh8vdjEvcmVzb3VyY2VzL2FjY291bnRzL3t2ZW5kb3J9MAESiwEKE0dldEFkanVzdG1lbnRDb25maWcSLi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QWRqdXN0bWVudENvbmZpZ1JlcXVlc3QaHS5ibHVlYXBpLmFwaS5BZGp1c3RtZW50Q29uZmlnIiWC0+STAh8SHS92MS9hZGp1c3RtZW50Y29uZmlnL3t2ZW5kb3J9EpQBChZDcmVhdGVBZGp1c3RtZW50Q29uZmlnEjEuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUFkanVzdG1lbnRDb25maWdSZXF1ZXN0Gh0uYmx1ZWFwaS5hcGkuQWRqdXN0bWVudENvbmZpZyIogtPkkwIiOgEqIh0vdjEvYWRqdXN0bWVudGNvbmZpZy97dmVuZG9yfRKUAQoWVXBkYXRlQWRqdXN0bWVudENvbmZpZxIxLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBodLmJsdWVhcGkuYXBpLkFkanVzdG1lbnRDb25maWciKILT5JMCIjoBKhodL3YxL2FkanVzdG1lbnRjb25maWcve3ZlbmRvcn0SigEKFkRlbGV0ZUFkanVzdG1lbnRDb25maWcSMS5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQWRqdXN0bWVudENvbmZpZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJYLT5JMCHyodL3YxL2FkanVzdG1lbnRjb25maWcve3ZlbmRvcn0SlQEKElJlYWRVbnRhZ2dlZEdyb3VwcxItLmJsdWVhcGkuYmlsbGluZy52MS5SZWFkVW50YWdnZWRHcm91cHNSZXF1ZXN0GiEuYmx1ZWFwaS5hcGkucmlwcGxlLlVudGFnZ2VkR3JvdXAiK4LT5JMCJToBKiIgL3YxL3t2ZW5kb3J9L3VudGFnZ2VkZ3JvdXBzOnJlYWQwARK4AQodUmVhZEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZXMSOC5ibHVlYXBpLmJpbGxpbmcudjEuUmVhZEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZXNSZXF1ZXN0GiwuYmx1ZWFwaS5hcGkucmlwcGxlLkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZSItgtPkkwInOgEqIiIvdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlczpyZWFkMAESrwEKG0dldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRI2LmJsdWVhcGkuYmlsbGluZy52MS5HZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0GiwuYmx1ZWFwaS5hcGkucmlwcGxlLkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZSIqgtPkkwIkEiIvdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlcy97aWR9ErMBCh5DcmVhdGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2USOS5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBosLmJsdWVhcGkuYXBpLnJpcHBsZS5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2UiKILT5JMCIjoBKiIdL3YxL2N1c3RvbWl6ZWRiaWxsaW5nc2VydmljZXMSuAEKHlVwZGF0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRI5LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0GiwuYmx1ZWFwaS5hcGkucmlwcGxlLkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZSItgtPkkwInOgEqGiIvdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlcy97aWR9Ep8BCh5EZWxldGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2USOS5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIqgtPkkwIkKiIvdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlcy97aWR9EvsBCidHZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXASQi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVxdWVzdBpDLmJsdWVhcGkuYmlsbGluZy52MS5HZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXNwb25zZSJFgtPkkwI/Ej0vdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlcy9iaWxsaW5nZ3JvdXAve2dyb3VwSWR9L3t2ZW5kb3J9MAESzwEKJ1NldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cBJCLmJsdWVhcGkuYmlsbGluZy52MS5TZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkiC0+STAkI6ASoiPS92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzL2JpbGxpbmdncm91cC97Z3JvdXBJZH0ve3ZlbmRvcn0S0gEKKkRlbGV0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cBJFLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkWC0+STAj8qPS92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzL2JpbGxpbmdncm91cC97Z3JvdXBJZH0ve3ZlbmRvcn0SXgoHR2V0VGFncxIiLmJsdWVhcGkuYmlsbGluZy52MS5HZXRUYWdzUmVxdWVzdBobLmJsdWVhcGkuYmlsbGluZy52MS5UYWdEYXRhIhCC0+STAgoSCC92MS90YWdzMAESfgoRQ3JlYXRlQ3VzdG9tRmllbGQSLC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQ3VzdG9tRmllbGRSZXF1ZXN0Gh8uYmx1ZWFwaS5iaWxsaW5nLnYxLkN1c3RvbUZpZWxkIhqC0+STAhQ6ASoiDy92MS9jdXN0b21maWVsZBKBAQoPTGlzdEN1c3RvbUZpZWxkEiouYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RDdXN0b21GaWVsZFJlcXVlc3QaHy5ibHVlYXBpLmJpbGxpbmcudjEuQ3VzdG9tRmllbGQiH4LT5JMCGToBKiIUL3YxL2N1c3RvbWZpZWxkOnJlYWQwARKUAQoaQWRkQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGQSNS5ibHVlYXBpLmJpbGxpbmcudjEuQWRkQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IieC0+STAiE6ASoiHC92MS9iaWxsaW5nZ3JvdXAvY3VzdG9tZmllbGQSvgEKG0xpc3RCaWxsaW5nR3JvdXBDdXN0b21GaWVsZBI2LmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXF1ZXN0GjcuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlc3BvbnNlIiyC0+STAiY6ASoiIS92MS9iaWxsaW5nZ3JvdXAvY3VzdG9tZmllbGQ6cmVhZDABEoMBChVBZGRUYWdzVG9CaWxsaW5nR3JvdXASMC5ibHVlYXBpLmJpbGxpbmcudjEuQWRkVGFnc1RvQmlsbGluZ0dyb3VwUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIggtPkkwIaOgEqIhUvdjEvYmlsbGluZ2dyb3VwL3RhZ3MSrwEKH1VwZGF0ZU5vblRhZ0dyb3VwVG9CaWxsaW5nR3JvdXASOi5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlTm9uVGFnR3JvdXBUb0JpbGxpbmdHcm91cFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiOILT5JMCMjoBKiItL3YxL2JpbGxpbmdncm91cC97aWR9L3t2ZW5kb3J9L3VudGFnZ2VkZ3JvdXBzErEBCh1EZWxldGVCaWxsaW5nR3JvdXBDdXN0b21GaWVsZBI4LmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiPoLT5JMCOCo2L3YxL2JpbGxpbmdncm91cC9jdXN0b21maWVsZC97Z3JvdXBJZH0ve2N1c3RvbUZpZWxkSWR9EoMBChFVcGRhdGVDdXN0b21GaWVsZBIsLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVDdXN0b21GaWVsZFJlcXVlc3QaHy5ibHVlYXBpLmJpbGxpbmcudjEuQ3VzdG9tRmllbGQiH4LT5JMCGToBKhoUL3YxL2N1c3RvbWZpZWxkL3tpZH0SdwoRRGVsZXRlQ3VzdG9tRmllbGQSLC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQ3VzdG9tRmllbGRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhyC0+STAhYqFC92MS9jdXN0b21maWVsZC97aWR9EnIKEENyZWF0ZUZyZWVGb3JtYXQSKy5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlRnJlZUZvcm1hdFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiGYLT5JMCEzoBKiIOL3YxL2ZyZWVmb3JtYXQSeQoQRGVsZXRlRnJlZUZvcm1hdBIrLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVGcmVlRm9ybWF0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIggtPkkwIaKhgvdjEvZnJlZWZvcm1hdC97Z3JvdXBJZH0SiAEKDUdldEZyZWVGb3JtYXQSKC5ibHVlYXBpLmJpbGxpbmcudjEuR2V0RnJlZUZvcm1hdFJlcXVlc3QaKS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0RnJlZUZvcm1hdFJlc3BvbnNlIiCC0+STAhoSGC92MS9mcmVlZm9ybWF0L3tncm91cElkfTABEr0BCh9HZXRNb250aGx5TWlzY0ZlZUltcG9ydFRlbXBsYXRlEjouYmx1ZWFwaS5iaWxsaW5nLnYxLkdldE1vbnRobHlNaXNjRmVlSW1wb3J0VGVtcGxhdGVSZXF1ZXN0GjAuYmx1ZWFwaS5iaWxsaW5nLnYxLk1vbnRobHlNaXNjRmVlSW1wb3J0VGVtcGxhdGUiLILT5JMCJhIkL3YxL21vbnRobHktbWlzYy1mZWVzOmltcG9ydFRlbXBsYXRlEpEBChlCdWxrSW1wb3J0TW9udGhseU1pc2NGZWVzEjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkJ1bGtJbXBvcnRNb250aGx5TWlzY0ZlZXNSZXF1ZXN0GhEucHJvdG9zLk9wZXJhdGlvbiIrgtPkkwIlOgEqIiAvdjEvbW9udGhseS1taXNjLWZlZXM6YnVsa0ltcG9ydBKVAQoTTGlzdE1vbnRobHlNaXNjRmVlcxIuLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0TW9udGhseU1pc2NGZWVzUmVxdWVzdBovLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0TW9udGhseU1pc2NGZWVzUmVzcG9uc2UiHYLT5JMCFxIVL3YxL21vbnRobHktbWlzYy1mZWVzEo0BChFHZXRNb250aGx5TWlzY0ZlZRIsLmJsdWVhcGkuYmlsbGluZy52MS5HZXRNb250aGx5TWlzY0ZlZVJlcXVlc3QaIi5ibHVlYXBpLmJpbGxpbmcudjEuTW9udGhseU1pc2NGZWUiJoLT5JMCIBIeL3YxL21vbnRobHktbWlzYy1mZWVzL3tyb3dfaWR9EqIBChVFeHBvcnRNb250aGx5TWlzY0ZlZXMSMC5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0TW9udGhseU1pc2NGZWVzUmVxdWVzdBoxLmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRNb250aGx5TWlzY0ZlZXNSZXNwb25zZSIkgtPkkwIeEhwvdjEvbW9udGhseS1taXNjLWZlZXM6ZXhwb3J0ErMBChdHZXRNb250aGx5TWlzY0ZlZUltcG9ydBIyLmJsdWVhcGkuYmlsbGluZy52MS5HZXRNb250aGx5TWlzY0ZlZUltcG9ydFJlcXVlc3QaLi5ibHVlYXBpLmJpbGxpbmcudjEuTW9udGhseU1pc2NGZWVJbXBvcnRSZXN1bHQiNILT5JMCLhIsL3YxL21vbnRobHktbWlzYy1mZWUtaW1wb3J0cy97aW1wb3J0X2pvYl9pZH0SsgEKFFVwc2VydE1vbnRobHlNaXNjRmVlEi8uYmx1ZWFwaS5iaWxsaW5nLnYxLlVwc2VydE1vbnRobHlNaXNjRmVlUmVxdWVzdBoiLmJsdWVhcGkuYmlsbGluZy52MS5Nb250aGx5TWlzY0ZlZSJFgtPkkwI/OgEqWho6ASoaFS92MS9tb250aGx5LW1pc2MtZmVlcxoeL3YxL21vbnRobHktbWlzYy1mZWVzL3tyb3dfaWR9EocBChREZWxldGVNb250aGx5TWlzY0ZlZRIvLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVNb250aGx5TWlzY0ZlZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJoLT5JMCICoeL3YxL21vbnRobHktbWlzYy1mZWVzL3tyb3dfaWR9EqIBChRHZXRUYWdzQWRkaW5nU2V0dGluZxIvLmJsdWVhcGkuYmlsbGluZy52MS5HZXRUYWdzQWRkaW5nU2V0dGluZ1JlcXVlc3QaJS5ibHVlYXBpLmJpbGxpbmcudjEuVGFnc0FkZGluZ1NldHRpbmciMILT5JMCKhIoL3YxL3t2ZW5kb3J9L3RhZ3NhZGRpbmdzZXR0aW5nL3tncm91cElkfTABEpoBChdVcGRhdGVUYWdzQWRkaW5nU2V0dGluZxIyLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVUYWdzQWRkaW5nU2V0dGluZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiM4LT5JMCLToBKhooL3YxL3t2ZW5kb3J9L3RhZ3NhZGRpbmdzZXR0aW5nL3tncm91cElkfRKhAQoVRXhwb3J0QmlsbGluZ0dyb3VwQ3N2EjAuYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydEJpbGxpbmdHcm91cENzdlJlcXVlc3QaMS5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0QmlsbGluZ0dyb3VwQ3N2UmVzcG9uc2UiI4LT5JMCHRIbL3YxL2V4cG9ydGNzdi9iaWxsaW5nLWdyb3VwEqkBChdFeHBvcnRJbnZvaWNlU2V0dGluZ0NzdhIyLmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRJbnZvaWNlU2V0dGluZ0NzdlJlcXVlc3QaMy5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0SW52b2ljZVNldHRpbmdDc3ZSZXNwb25zZSIlgtPkkwIfEh0vdjEvZXhwb3J0Y3N2L2ludm9pY2Utc2V0dGluZxKnAQoiVXBkYXRlQmlsbGluZ0dyb3VwQmFzaWNJbmZvcm1hdGlvbhI9LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIqgtPkkwIkOgEqGh8vdjEvYmlsbGluZ2dyb3VwL3tpZH06YmFzaWNJbmZvEqIBCh5VcGRhdGVCaWxsaW5nR3JvdXBDdXN0b21GaWVsZHMSOS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSItgtPkkwInOgEqGiIvdjEvYmlsbGluZ2dyb3VwL3tpZH06Y3VzdG9tRmllbGRzEpwBChxVcGRhdGVCaWxsaW5nR3JvdXBGcmVlRm9ybWF0EjcuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEZyZWVGb3JtYXRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiuC0+STAiU6ASoaIC92MS9iaWxsaW5nZ3JvdXAve2lkfTpmcmVlRm9ybWF0EqUBCiFVcGRhdGVCaWxsaW5nR3JvdXBMaW5rZWRSZXNvdXJjZXMSPC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwTGlua2VkUmVzb3VyY2VzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIqgtPkkwIkOgEqGh8vdjEvYmlsbGluZ2dyb3VwL3tpZH06cmVzb3VyY2VzEqsBCiFVcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSPC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIwgtPkkwIqOgEqGiUvdjEvYmlsbGluZ2dyb3VwL3tpZH06aW52b2ljZVNldHRpbmdzEqsBCiFVcGRhdGVCaWxsaW5nR3JvdXBSZXNlbGxlckNoYXJnZXMSPC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwUmVzZWxsZXJDaGFyZ2VzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIwgtPkkwIqOgEqGiUvdjEvYmlsbGluZ2dyb3VwL3tpZH06cmVzZWxsZXJDaGFyZ2VzErEBCiNVcGRhdGVCaWxsaW5nR3JvdXBBZGRpdGlvbmFsQ2hhcmdlcxI+LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBBZGRpdGlvbmFsQ2hhcmdlc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMoLT5JMCLDoBKhonL3YxL2JpbGxpbmdncm91cC97aWR9OmFkZGl0aW9uYWxDaGFyZ2VzEtQBCiFHZXRCaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW4SPC5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwQWNjb3VudFN1cHBvcnRQbGFuUmVxdWVzdBo9LmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW5SZXNwb25zZSIygtPkkwIsEiovdjEvYmlsbGluZ2dyb3VwL3tpZH0ve3ZlbmRvcn0vc3VwcG9ydHBsYW4StgEKJFVwZGF0ZUJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhbhI/LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW5SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjWC0+STAi86ASoaKi92MS9iaWxsaW5nZ3JvdXAve2lkfS97dmVuZG9yfS9zdXBwb3J0cGxhbhKBAQoSQ3JlYXRlQW5ub3VuY2VtZW50Ei0uYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUFubm91bmNlbWVudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJILT5JMCHjoBKiIZL3YxL3Jlc2VsbGVyL2Fubm91bmNlbWVudBKSAQoSVXBkYXRlQW5ub3VuY2VtZW50Ei0uYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUFubm91bmNlbWVudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiNYLT5JMCLzoBKhoqL3YxL3Jlc2VsbGVyL2Fubm91bmNlbWVudC97YW5ub3VuY2VtZW50SWR9EpwBChlVcGRhdGVBbm5vdW5jZW1lbnRzU3RhdHVzEjQuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUFubm91bmNlbWVudHNTdGF0dXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjGC0+STAis6ASoyJi92MS9yZXNlbGxlci9hbm5vdW5jZW1lbnRzL2J1bGsvc3RhdHVzEqABChZVcGRhdGVBbm5vdW5jZW1lbnREYXRlEjEuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUFubm91bmNlbWVudERhdGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjuC0+STAjU6ASoyMC92MS9yZXNlbGxlci9hbm5vdW5jZW1lbnRzL3thbm5vdW5jZW1lbnRJZH0vZGF0ZRKPAQoSRGVsZXRlQW5ub3VuY2VtZW50Ei0uYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUFubm91bmNlbWVudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMoLT5JMCLCoqL3YxL3Jlc2VsbGVyL2Fubm91bmNlbWVudC97YW5ub3VuY2VtZW50SWR9EqABChBHZXRBbm5vdW5jZW1lbnRzEisuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEFubm91bmNlbWVudHNSZXF1ZXN0GiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkFubm91bmNlbWVudCI7gtPkkwI1EjMvYmlsbGluZy92MS9yZXNlbGxlci9hbm5vdW5jZW1lbnRzL3thbm5vdW5jZW1lbnRJZH0wARLOAQocR2V0QmlsbGluZ0dyb3VwQW5ub3VuY2VtZW50cxI3LmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBBbm5vdW5jZW1lbnRzUmVxdWVzdBo4LmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBBbm5vdW5jZW1lbnRzUmVzcG9uc2UiOYLT5JMCMxIxL3YxL2JpbGxpbmdncm91cC9yZXNlbGxlci9hbm5vdW5jZW1lbnRzL3tncm91cElkfTABEmYKCkdldENyZWRpdHMSJS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q3JlZGl0c1JlcXVlc3QaGi5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlZGl0IhOC0+STAg0SCy92MS9jcmVkaXRzMAESdgoOR2V0Q3N2U2V0dGluZ3MSKS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q3N2U2V0dGluZ3NSZXF1ZXN0Gh4uYmx1ZWFwaS5iaWxsaW5nLnYxLkNzdlNldHRpbmciF4LT5JMCERIPL3YxL2NzdnNldHRpbmdzMAESqQEKF0NyZWF0ZUNoaWxkQmlsbGluZ0dyb3VwEjIuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUNoaWxkQmlsbGluZ0dyb3VwUmVxdWVzdBozLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlIiWC0+STAh86ASoiGi92MS9iaWxsaW5nZ3JvdXBzL2NoaWxkcmVuEqoBChRHZXRDaGlsZEJpbGxpbmdHcm91cBIvLmJsdWVhcGkuYmlsbGluZy52MS5HZXRDaGlsZEJpbGxpbmdHcm91cFJlcXVlc3QaMC5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q2hpbGRCaWxsaW5nR3JvdXBSZXNwb25zZSIvgtPkkwIpEicvdjEvYmlsbGluZ2dyb3Vwcy9jaGlsZHJlbi97aW50ZXJuYWxJZH0SoAEKFlJlYWRDaGlsZEJpbGxpbmdHcm91cHMSMS5ibHVlYXBpLmJpbGxpbmcudjEuUmVhZENoaWxkQmlsbGluZ0dyb3Vwc1JlcXVlc3QaJS5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXAiKoLT5JMCJDoBKiIfL3YxL2JpbGxpbmdncm91cHMvY2hpbGRyZW46cmVhZDABErYBChdVcGRhdGVDaGlsZEJpbGxpbmdHcm91cBIyLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVDaGlsZEJpbGxpbmdHcm91cFJlcXVlc3QaMy5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXNwb25zZSIygtPkkwIsOgEqGicvdjEvYmlsbGluZ2dyb3Vwcy9jaGlsZHJlbi97aW50ZXJuYWxJZH0SswEKF0RlbGV0ZUNoaWxkQmlsbGluZ0dyb3VwEjIuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUNoaWxkQmlsbGluZ0dyb3VwUmVxdWVzdBozLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlIi+C0+STAikqJy92MS9iaWxsaW5nZ3JvdXBzL2NoaWxkcmVuL3tpbnRlcm5hbElkfRLzAQomVXBkYXRlQ2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSQS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQ2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3NSZXF1ZXN0GkIuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzUmVzcG9uc2UiQoLT5JMCPDoBKho3L3YxL2JpbGxpbmdncm91cHMvY2hpbGRyZW4ve2ludGVybmFsSWR9L2ludm9pY2VTZXR0aW5ncxLSAQorU2V0Q2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50cxJGLmJsdWVhcGkuYmlsbGluZy52MS5TZXRDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJDgtPkkwI9OgEqIjgvdjEvYmlsbGluZ2dyb3Vwcy9jaGlsZHJlbi97aW50ZXJuYWxJZH0vc2VydmljZURpc2NvdW50cxLtAQoyU2V0Q2hpbGRCaWxsaW5nR3JvdXBBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSTS5ibHVlYXBpLmJpbGxpbmcudjEuU2V0Q2hpbGRCaWxsaW5nR3JvdXBBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IlCC0+STAko6ASoiRS92MS9iaWxsaW5nZ3JvdXBzL2NoaWxkcmVuL3tpbnRlcm5hbElkfS9zZXJ2aWNlRGlzY291bnRzL2FjY291bnRzOnNldBLlAQosU2V0Q2hpbGRCaWxsaW5nR3JvdXBDdXN0b21pemVkQmlsbGluZ1NlcnZpY2USRy5ibHVlYXBpLmJpbGxpbmcudjEuU2V0Q2hpbGRCaWxsaW5nR3JvdXBDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IlSC0+STAk46ASoiSS92MS97dmVuZG9yfS9iaWxsaW5nZ3JvdXBzL2NoaWxkcmVuL3tpbnRlcm5hbElkfS9jdXN0b21pemVkQmlsbGluZ1NlcnZpY2USlgIKLEdldENoaWxkQmlsbGluZ0dyb3VwQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlEkcuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldENoaWxkQmlsbGluZ0dyb3VwQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBpILmJsdWVhcGkuYmlsbGluZy52MS5HZXRDaGlsZEJpbGxpbmdHcm91cEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlc3BvbnNlIlGC0+STAksSSS92MS97dmVuZG9yfS9iaWxsaW5nZ3JvdXBzL2NoaWxkcmVuL3tpbnRlcm5hbElkfS9jdXN0b21pemVkQmlsbGluZ1NlcnZpY2UwARKAAgorR2V0Q2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50cxJGLmJsdWVhcGkuYmlsbGluZy52MS5HZXRDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBpHLmJsdWVhcGkuYmlsbGluZy52MS5HZXRDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2UiQILT5JMCOhI4L3YxL2JpbGxpbmdncm91cHMvY2hpbGRyZW4ve2ludGVybmFsSWR9L3NlcnZpY2VEaXNjb3VudHMSiwIKM1JlYWRDaGlsZEJpbGxpbmdHcm91cEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cxJOLmJsdWVhcGkuYmlsbGluZy52MS5SZWFkQ2hpbGRCaWxsaW5nR3JvdXBBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GjIuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cyJOgtPkkwJIEkYvdjEvYmlsbGluZ2dyb3Vwcy9jaGlsZHJlbi97aW50ZXJuYWxJZH0vc2VydmljZURpc2NvdW50cy9hY2NvdW50czpyZWFkMAEShwEKFkJ1bGtDcmVhdGVCaWxsaW5nR3JvdXASMS5ibHVlYXBpLmJpbGxpbmcudjEuQnVsa0NyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3QaES5wcm90b3MuT3BlcmF0aW9uIieC0+STAiE6ASoiHC92MS9iaWxsaW5nZ3JvdXBzOmJ1bGtDcmVhdGUSvwEKGUNyZWF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnkSNC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlcXVlc3QaNS5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlc3BvbnNlIjWC0+STAi86ASoiKi92MS9iaWxsaW5nZ3JvdXBzL2V4Y2x1ZGUtc2VydmljZS1zZXR0aW5ncxK/AQoZVXBkYXRlRXhjbHVkZVNlcnZpY2VFbnRyeRI0LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVFeGNsdWRlU2VydmljZUVudHJ5UmVxdWVzdBo1LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVFeGNsdWRlU2VydmljZUVudHJ5UmVzcG9uc2UiNYLT5JMCLzoBKhoqL3YxL2JpbGxpbmdncm91cHMvZXhjbHVkZS1zZXJ2aWNlLXNldHRpbmdzErwBChlEZWxldGVFeGNsdWRlU2VydmljZUVudHJ5EjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXF1ZXN0GjUuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXNwb25zZSIygtPkkwIsKiovdjEvYmlsbGluZ2dyb3Vwcy9leGNsdWRlLXNlcnZpY2Utc2V0dGluZ3MSqgEKE0xpc3RFeGNsdWRlU2VydmljZXMSLi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEV4Y2x1ZGVTZXJ2aWNlc1JlcXVlc3QaLy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEV4Y2x1ZGVTZXJ2aWNlc1Jlc3BvbnNlIjKC0+STAiwSKi92MS9iaWxsaW5nZ3JvdXBzL2V4Y2x1ZGUtc2VydmljZS1zZXR0aW5ncxKAAQoMTGlzdFNlcnZpY2VzEicuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RTZXJ2aWNlc1JlcXVlc3QaKC5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdFNlcnZpY2VzUmVzcG9uc2UiHYLT5JMCFxIVL3YxL3t2ZW5kb3J9L3NlcnZpY2VzEn4KD0J1bGtMaW5rQWNjb3VudBIqLmJsdWVhcGkuYmlsbGluZy52MS5CdWxrTGlua0FjY291bnRSZXF1ZXN0GhEucHJvdG9zLk9wZXJhdGlvbiIsgtPkkwImOgEqIiEvdjEvYmlsbGluZ2dyb3VwczpidWxrTGlua0FjY291bnQSfgoTQnVsa1RhZ0JpbGxpbmdHcm91cBIuLmJsdWVhcGkuYmlsbGluZy52MS5CdWxrVGFnQmlsbGluZ0dyb3VwUmVxdWVzdBoRLnByb3Rvcy5PcGVyYXRpb24iJILT5JMCHjoBKiIZL3YxL2JpbGxpbmdncm91cHM6YnVsa1RhZxLXAQoiR2V0QmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZxI9LmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdBo+LmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBJbnZvaWNlTGF5b3V0Q29uZmlnUmVzcG9uc2UiMoLT5JMCLBIqL3YxL2JpbGxpbmdncm91cHMve2lkfS9pbnZvaWNlbGF5b3V0Y29uZmlnErIBCiJTZXRCaWxsaW5nR3JvdXBJbnZvaWNlTGF5b3V0Q29uZmlnEj0uYmx1ZWFwaS5iaWxsaW5nLnYxLlNldEJpbGxpbmdHcm91cEludm9pY2VMYXlvdXRDb25maWdSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjWC0+STAi86ASoiKi92MS9iaWxsaW5nZ3JvdXBzL3tpZH0vaW52b2ljZWxheW91dGNvbmZpZxKsAQoZQ3JlYXRlSW52b2ljZUxheW91dENvbmZpZxI0LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdBo1LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVJbnZvaWNlTGF5b3V0Q29uZmlnUmVzcG9uc2UiIoLT5JMCHDoBKiIXL3YxL2ludm9pY2VsYXlvdXRjb25maWcSkgEKGVVwZGF0ZUludm9pY2VMYXlvdXRDb25maWcSNC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJ4LT5JMCIToBKhocL3YxL2ludm9pY2VsYXlvdXRjb25maWcve2lkfRKtAQoXUmVhZEludm9pY2VMYXlvdXRDb25maWcSMi5ibHVlYXBpLmJpbGxpbmcudjEuUmVhZEludm9pY2VMYXlvdXRDb25maWdSZXF1ZXN0GjMuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlYWRJbnZvaWNlTGF5b3V0Q29uZmlnUmVzcG9uc2UiJ4LT5JMCIToBKiIcL3YxL2ludm9pY2VsYXlvdXRjb25maWc6cmVhZDABErUBCiVEZWxldGVCaWxsaW5nR3JvdXBJbnZvaWNlTGF5b3V0Q29uZmlnEkAuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUJpbGxpbmdHcm91cEludm9pY2VMYXlvdXRDb25maWdSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjKC0+STAiwqKi92MS9iaWxsaW5nZ3JvdXBzL3tpZH0vaW52b2ljZWxheW91dGNvbmZpZxKPAQoZRGVsZXRlSW52b2ljZUxheW91dENvbmZpZxI0LmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIkgtPkkwIeKhwvdjEvaW52b2ljZWxheW91dGNvbmZpZy97aWR9Et0BCiRMaXN0SW52b2ljZUxheW91dENvbmZpZ0JpbGxpbmdHcm91cHMSPy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VMYXlvdXRDb25maWdCaWxsaW5nR3JvdXBzUmVxdWVzdBpALmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZUxheW91dENvbmZpZ0JpbGxpbmdHcm91cHNSZXNwb25zZSIygtPkkwIsEiovdjEvaW52b2ljZWxheW91dGNvbmZpZy97aWR9L2JpbGxpbmdncm91cHManQGSQZkBEkYoQkVUQSkgQmlsbGluZyBBUEkuIEJhc2UgVVJMOiBodHRwczovL2FwaS5hbHBoYXVzLmNsb3VkL20vYmx1ZS9iaWxsaW5nGk8KElNlcnZpY2UgZGVmaW5pdGlvbhI5aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2JpbGxpbmcvQlEKGWNsb3VkLmFscGhhdXMuYXBpLmJpbGxpbmdCDEJpbGxpbmdQcm90b1omZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlYXBpL2JpbGxpbmdiBnByb3RvMw", [file_api_account, file_api_invoice, file_api_costtag, file_api_ripple_accessgroup, file_api_ripple_billinggroup, file_api_ripple_reseller, file_api_ripple_yearmonth, file_api_ripple_rounding, file_api_ripple_invoicelayout, file_api_ripple_duedate, file_api_ripple_exchangerate, file_api_ripple_untaggedgroup, file_api_ripple_customizedbillingservice, file_api_ripple_v1_invoiceservicediscounts, file_api_ripple_v1_accountsupportplan, file_api_ripple_v1_adjustmententry, file_api_adjustment, file_api_wave_adjustment, 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]);
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
59
|
* @generated from message blueapi.billing.v1.BillingGroup
|
|
@@ -3044,6 +3044,13 @@ export type ListInvoiceResponse = Message<"blueapi.billing.v1.ListInvoiceRespons
|
|
|
3044
3044
|
* @generated from field: bool hasChild = 19;
|
|
3045
3045
|
*/
|
|
3046
3046
|
hasChild: boolean;
|
|
3047
|
+
|
|
3048
|
+
/**
|
|
3049
|
+
* Vendors with a cloud account attached to this billing group, independent of invoice status or usage.
|
|
3050
|
+
*
|
|
3051
|
+
* @generated from field: repeated string attachedVendors = 20;
|
|
3052
|
+
*/
|
|
3053
|
+
attachedVendors: string[];
|
|
3047
3054
|
};
|
|
3048
3055
|
|
|
3049
3056
|
/**
|
|
@@ -4817,307 +4824,1135 @@ export const GetFreeFormatResponseSchema: GenMessage<GetFreeFormatResponse> = /*
|
|
|
4817
4824
|
messageDesc(file_billing_v1_billing, 125);
|
|
4818
4825
|
|
|
4819
4826
|
/**
|
|
4820
|
-
*
|
|
4821
|
-
*
|
|
4822
|
-
* @generated from message blueapi.billing.v1.UpdateTagsAddingSettingRequest
|
|
4827
|
+
* @generated from message blueapi.billing.v1.GetMonthlyMiscFeeImportTemplateRequest
|
|
4823
4828
|
*/
|
|
4824
|
-
export type
|
|
4825
|
-
/**
|
|
4826
|
-
* @generated from field: string vendor = 1;
|
|
4827
|
-
*/
|
|
4828
|
-
vendor: string;
|
|
4829
|
-
|
|
4830
|
-
/**
|
|
4831
|
-
* @generated from field: string groupId = 2;
|
|
4832
|
-
*/
|
|
4833
|
-
groupId: string;
|
|
4834
|
-
|
|
4829
|
+
export type GetMonthlyMiscFeeImportTemplateRequest = Message<"blueapi.billing.v1.GetMonthlyMiscFeeImportTemplateRequest"> & {
|
|
4835
4830
|
/**
|
|
4836
|
-
*
|
|
4831
|
+
* Optional. Template language. Supported values are "en" and "ja". Empty uses the caller's language or server default.
|
|
4832
|
+
*
|
|
4833
|
+
* @generated from field: string language = 1;
|
|
4837
4834
|
*/
|
|
4838
|
-
|
|
4835
|
+
language: string;
|
|
4839
4836
|
};
|
|
4840
4837
|
|
|
4841
4838
|
/**
|
|
4842
|
-
* Describes the message blueapi.billing.v1.
|
|
4843
|
-
* Use `create(
|
|
4839
|
+
* Describes the message blueapi.billing.v1.GetMonthlyMiscFeeImportTemplateRequest.
|
|
4840
|
+
* Use `create(GetMonthlyMiscFeeImportTemplateRequestSchema)` to create a new message.
|
|
4844
4841
|
*/
|
|
4845
|
-
export const
|
|
4842
|
+
export const GetMonthlyMiscFeeImportTemplateRequestSchema: GenMessage<GetMonthlyMiscFeeImportTemplateRequest> = /*@__PURE__*/
|
|
4846
4843
|
messageDesc(file_billing_v1_billing, 126);
|
|
4847
4844
|
|
|
4848
4845
|
/**
|
|
4849
|
-
* @generated from message blueapi.billing.v1.
|
|
4846
|
+
* @generated from message blueapi.billing.v1.MonthlyMiscFeeImportTemplate
|
|
4850
4847
|
*/
|
|
4851
|
-
export type
|
|
4848
|
+
export type MonthlyMiscFeeImportTemplate = Message<"blueapi.billing.v1.MonthlyMiscFeeImportTemplate"> & {
|
|
4852
4849
|
/**
|
|
4853
|
-
*
|
|
4850
|
+
* Supported import format. Currently "csv".
|
|
4851
|
+
*
|
|
4852
|
+
* @generated from field: string format = 1;
|
|
4854
4853
|
*/
|
|
4855
|
-
|
|
4854
|
+
format: string;
|
|
4856
4855
|
|
|
4857
4856
|
/**
|
|
4858
|
-
*
|
|
4857
|
+
* Supported format version. Currently "misc_fee_import_v1".
|
|
4858
|
+
*
|
|
4859
|
+
* @generated from field: string format_version = 2;
|
|
4859
4860
|
*/
|
|
4860
|
-
|
|
4861
|
+
formatVersion: string;
|
|
4862
|
+
|
|
4863
|
+
/**
|
|
4864
|
+
* CSV header columns in required order.
|
|
4865
|
+
*
|
|
4866
|
+
* @generated from field: repeated string headers = 3;
|
|
4867
|
+
*/
|
|
4868
|
+
headers: string[];
|
|
4869
|
+
|
|
4870
|
+
/**
|
|
4871
|
+
* Example CSV row matching the current format version.
|
|
4872
|
+
*
|
|
4873
|
+
* @generated from field: repeated string sample_row = 4;
|
|
4874
|
+
*/
|
|
4875
|
+
sampleRow: string[];
|
|
4876
|
+
|
|
4877
|
+
/**
|
|
4878
|
+
* Supported modes: "dry-run", "replace-month", and "merge".
|
|
4879
|
+
*
|
|
4880
|
+
* @generated from field: repeated string allowed_modes = 5;
|
|
4881
|
+
*/
|
|
4882
|
+
allowedModes: string[];
|
|
4883
|
+
|
|
4884
|
+
/**
|
|
4885
|
+
* Maximum upload size in bytes.
|
|
4886
|
+
*
|
|
4887
|
+
* @generated from field: int64 max_file_size_bytes = 6;
|
|
4888
|
+
*/
|
|
4889
|
+
maxFileSizeBytes: bigint;
|
|
4890
|
+
|
|
4891
|
+
/**
|
|
4892
|
+
* Maximum data rows accepted per CSV file.
|
|
4893
|
+
*
|
|
4894
|
+
* @generated from field: int32 max_rows = 7;
|
|
4895
|
+
*/
|
|
4896
|
+
maxRows: number;
|
|
4897
|
+
|
|
4898
|
+
/**
|
|
4899
|
+
* Field-level validation rules for UI guidance.
|
|
4900
|
+
*
|
|
4901
|
+
* @generated from field: repeated blueapi.billing.v1.MonthlyMiscFeeImportFieldRule field_rules = 8;
|
|
4902
|
+
*/
|
|
4903
|
+
fieldRules: MonthlyMiscFeeImportFieldRule[];
|
|
4861
4904
|
};
|
|
4862
4905
|
|
|
4863
4906
|
/**
|
|
4864
|
-
* Describes the message blueapi.billing.v1.
|
|
4865
|
-
* Use `create(
|
|
4907
|
+
* Describes the message blueapi.billing.v1.MonthlyMiscFeeImportTemplate.
|
|
4908
|
+
* Use `create(MonthlyMiscFeeImportTemplateSchema)` to create a new message.
|
|
4866
4909
|
*/
|
|
4867
|
-
export const
|
|
4910
|
+
export const MonthlyMiscFeeImportTemplateSchema: GenMessage<MonthlyMiscFeeImportTemplate> = /*@__PURE__*/
|
|
4868
4911
|
messageDesc(file_billing_v1_billing, 127);
|
|
4869
4912
|
|
|
4870
4913
|
/**
|
|
4871
|
-
* @generated from message blueapi.billing.v1.
|
|
4914
|
+
* @generated from message blueapi.billing.v1.MonthlyMiscFeeImportFieldRule
|
|
4872
4915
|
*/
|
|
4873
|
-
export type
|
|
4916
|
+
export type MonthlyMiscFeeImportFieldRule = Message<"blueapi.billing.v1.MonthlyMiscFeeImportFieldRule"> & {
|
|
4874
4917
|
/**
|
|
4875
|
-
* @generated from field: string
|
|
4918
|
+
* @generated from field: string field = 1;
|
|
4876
4919
|
*/
|
|
4877
|
-
|
|
4920
|
+
field: string;
|
|
4878
4921
|
|
|
4879
4922
|
/**
|
|
4880
|
-
* @generated from field:
|
|
4923
|
+
* @generated from field: bool required = 2;
|
|
4881
4924
|
*/
|
|
4882
|
-
|
|
4925
|
+
required: boolean;
|
|
4883
4926
|
|
|
4884
4927
|
/**
|
|
4885
|
-
* @generated from field:
|
|
4928
|
+
* @generated from field: string format = 3;
|
|
4886
4929
|
*/
|
|
4887
|
-
|
|
4930
|
+
format: string;
|
|
4931
|
+
|
|
4932
|
+
/**
|
|
4933
|
+
* @generated from field: string description = 4;
|
|
4934
|
+
*/
|
|
4935
|
+
description: string;
|
|
4888
4936
|
};
|
|
4889
4937
|
|
|
4890
4938
|
/**
|
|
4891
|
-
* Describes the message blueapi.billing.v1.
|
|
4892
|
-
* Use `create(
|
|
4939
|
+
* Describes the message blueapi.billing.v1.MonthlyMiscFeeImportFieldRule.
|
|
4940
|
+
* Use `create(MonthlyMiscFeeImportFieldRuleSchema)` to create a new message.
|
|
4893
4941
|
*/
|
|
4894
|
-
export const
|
|
4942
|
+
export const MonthlyMiscFeeImportFieldRuleSchema: GenMessage<MonthlyMiscFeeImportFieldRule> = /*@__PURE__*/
|
|
4895
4943
|
messageDesc(file_billing_v1_billing, 128);
|
|
4896
4944
|
|
|
4897
4945
|
/**
|
|
4898
|
-
*
|
|
4899
|
-
*
|
|
4900
|
-
* @generated from message blueapi.billing.v1.ExportServiceDiscountsRequest
|
|
4946
|
+
* @generated from message blueapi.billing.v1.BulkImportMonthlyMiscFeesRequest
|
|
4901
4947
|
*/
|
|
4902
|
-
export type
|
|
4948
|
+
export type BulkImportMonthlyMiscFeesRequest = Message<"blueapi.billing.v1.BulkImportMonthlyMiscFeesRequest"> & {
|
|
4903
4949
|
/**
|
|
4904
|
-
* Required.
|
|
4950
|
+
* Required. Selected billing cycle in YYYY-MM form; YYYYMM is accepted and normalized by the server.
|
|
4905
4951
|
*
|
|
4906
|
-
* @generated from field: string
|
|
4952
|
+
* @generated from field: string billing_month = 1;
|
|
4953
|
+
*/
|
|
4954
|
+
billingMonth: string;
|
|
4955
|
+
|
|
4956
|
+
/**
|
|
4957
|
+
* Required. Uploaded CSV content as normalized UTF-8 text.
|
|
4958
|
+
*
|
|
4959
|
+
* @generated from field: string csv_content = 2;
|
|
4960
|
+
*/
|
|
4961
|
+
csvContent: string;
|
|
4962
|
+
|
|
4963
|
+
/**
|
|
4964
|
+
* Required. Original upload file name for audit metadata.
|
|
4965
|
+
*
|
|
4966
|
+
* @generated from field: string file_name = 3;
|
|
4967
|
+
*/
|
|
4968
|
+
fileName: string;
|
|
4969
|
+
|
|
4970
|
+
/**
|
|
4971
|
+
* Required. One of "dry-run", "replace-month", or "merge". Empty defaults to "dry-run".
|
|
4972
|
+
*
|
|
4973
|
+
* @generated from field: string mode = 4;
|
|
4974
|
+
*/
|
|
4975
|
+
mode: string;
|
|
4976
|
+
|
|
4977
|
+
/**
|
|
4978
|
+
* Required. Import format. Currently "csv".
|
|
4979
|
+
*
|
|
4980
|
+
* @generated from field: string format = 5;
|
|
4907
4981
|
*/
|
|
4908
4982
|
format: string;
|
|
4909
4983
|
|
|
4910
4984
|
/**
|
|
4911
|
-
*
|
|
4985
|
+
* Required. Import format version. Currently "misc_fee_import_v1".
|
|
4912
4986
|
*
|
|
4913
|
-
*
|
|
4914
|
-
|
|
4915
|
-
|
|
4987
|
+
* @generated from field: string format_version = 6;
|
|
4988
|
+
*/
|
|
4989
|
+
formatVersion: string;
|
|
4990
|
+
|
|
4991
|
+
/**
|
|
4992
|
+
* Optional. Idempotency key for write-mode imports.
|
|
4916
4993
|
*
|
|
4917
|
-
* @generated from field: string
|
|
4994
|
+
* @generated from field: string idempotency_key = 7;
|
|
4918
4995
|
*/
|
|
4919
|
-
|
|
4996
|
+
idempotencyKey: string;
|
|
4920
4997
|
};
|
|
4921
4998
|
|
|
4922
4999
|
/**
|
|
4923
|
-
* Describes the message blueapi.billing.v1.
|
|
4924
|
-
* Use `create(
|
|
5000
|
+
* Describes the message blueapi.billing.v1.BulkImportMonthlyMiscFeesRequest.
|
|
5001
|
+
* Use `create(BulkImportMonthlyMiscFeesRequestSchema)` to create a new message.
|
|
4925
5002
|
*/
|
|
4926
|
-
export const
|
|
5003
|
+
export const BulkImportMonthlyMiscFeesRequestSchema: GenMessage<BulkImportMonthlyMiscFeesRequest> = /*@__PURE__*/
|
|
4927
5004
|
messageDesc(file_billing_v1_billing, 129);
|
|
4928
5005
|
|
|
4929
5006
|
/**
|
|
4930
|
-
*
|
|
4931
|
-
*
|
|
4932
|
-
* @generated from message blueapi.billing.v1.ExportAccountInvoiceServiceDiscountsRequest
|
|
5007
|
+
* @generated from message blueapi.billing.v1.ListMonthlyMiscFeesRequest
|
|
4933
5008
|
*/
|
|
4934
|
-
export type
|
|
5009
|
+
export type ListMonthlyMiscFeesRequest = Message<"blueapi.billing.v1.ListMonthlyMiscFeesRequest"> & {
|
|
4935
5010
|
/**
|
|
4936
|
-
* Required.
|
|
5011
|
+
* Required. Billing cycle in YYYY-MM form; YYYYMM is accepted and normalized by the server.
|
|
4937
5012
|
*
|
|
4938
|
-
* @generated from field: string
|
|
5013
|
+
* @generated from field: string billing_month = 1;
|
|
4939
5014
|
*/
|
|
4940
|
-
|
|
5015
|
+
billingMonth: string;
|
|
4941
5016
|
|
|
4942
5017
|
/**
|
|
4943
|
-
* Optional.
|
|
5018
|
+
* Optional. Exact billing group ID filter.
|
|
4944
5019
|
*
|
|
4945
|
-
*
|
|
4946
|
-
|
|
4947
|
-
|
|
5020
|
+
* @generated from field: string billing_group_id = 2;
|
|
5021
|
+
*/
|
|
5022
|
+
billingGroupId: string;
|
|
5023
|
+
|
|
5024
|
+
/**
|
|
5025
|
+
* Optional. Case-insensitive billing group name query.
|
|
4948
5026
|
*
|
|
4949
|
-
* @generated from field: string
|
|
5027
|
+
* @generated from field: string billing_group_name_query = 3;
|
|
4950
5028
|
*/
|
|
4951
|
-
|
|
5029
|
+
billingGroupNameQuery: string;
|
|
4952
5030
|
|
|
4953
5031
|
/**
|
|
4954
|
-
*
|
|
5032
|
+
* Optional. Case-insensitive item or fee tag query.
|
|
4955
5033
|
*
|
|
4956
|
-
* @generated from field:
|
|
5034
|
+
* @generated from field: string item_query = 4;
|
|
4957
5035
|
*/
|
|
4958
|
-
|
|
4959
|
-
};
|
|
5036
|
+
itemQuery: string;
|
|
4960
5037
|
|
|
4961
|
-
/**
|
|
4962
|
-
|
|
4963
|
-
|
|
4964
|
-
|
|
4965
|
-
|
|
4966
|
-
|
|
5038
|
+
/**
|
|
5039
|
+
* Optional. Source filter, e.g. "csv", "ui", or "migration".
|
|
5040
|
+
*
|
|
5041
|
+
* @generated from field: string source = 5;
|
|
5042
|
+
*/
|
|
5043
|
+
source: string;
|
|
4967
5044
|
|
|
4968
|
-
/**
|
|
4969
|
-
* Request message for the ExportBillingGroupInvoiceServiceDiscounts rpc.
|
|
4970
|
-
*
|
|
4971
|
-
* @generated from message blueapi.billing.v1.ExportBillingGroupInvoiceServiceDiscountsRequest
|
|
4972
|
-
*/
|
|
4973
|
-
export type ExportBillingGroupInvoiceServiceDiscountsRequest = Message<"blueapi.billing.v1.ExportBillingGroupInvoiceServiceDiscountsRequest"> & {
|
|
4974
5045
|
/**
|
|
4975
|
-
*
|
|
5046
|
+
* Optional. User identifier that last updated the row.
|
|
4976
5047
|
*
|
|
4977
|
-
* @generated from field: string
|
|
5048
|
+
* @generated from field: string updated_by = 6;
|
|
4978
5049
|
*/
|
|
4979
|
-
|
|
5050
|
+
updatedBy: string;
|
|
4980
5051
|
|
|
4981
5052
|
/**
|
|
4982
|
-
* Optional.
|
|
5053
|
+
* Optional. RFC3339 lower bound for updated_at.
|
|
4983
5054
|
*
|
|
4984
|
-
*
|
|
4985
|
-
|
|
4986
|
-
|
|
5055
|
+
* @generated from field: string updated_after = 7;
|
|
5056
|
+
*/
|
|
5057
|
+
updatedAfter: string;
|
|
5058
|
+
|
|
5059
|
+
/**
|
|
5060
|
+
* Optional. RFC3339 upper bound for updated_at.
|
|
4987
5061
|
*
|
|
4988
|
-
* @generated from field: string
|
|
5062
|
+
* @generated from field: string updated_before = 8;
|
|
4989
5063
|
*/
|
|
4990
|
-
|
|
5064
|
+
updatedBefore: string;
|
|
4991
5065
|
|
|
4992
5066
|
/**
|
|
4993
|
-
*
|
|
5067
|
+
* Optional. Page size for pagination. Default and maximum are server-defined.
|
|
4994
5068
|
*
|
|
4995
|
-
* @generated from field:
|
|
5069
|
+
* @generated from field: int32 page_size = 9;
|
|
4996
5070
|
*/
|
|
4997
|
-
|
|
4998
|
-
};
|
|
5071
|
+
pageSize: number;
|
|
4999
5072
|
|
|
5000
|
-
/**
|
|
5001
|
-
|
|
5002
|
-
|
|
5003
|
-
|
|
5004
|
-
|
|
5005
|
-
|
|
5073
|
+
/**
|
|
5074
|
+
* Optional. Opaque page token from a previous response.
|
|
5075
|
+
*
|
|
5076
|
+
* @generated from field: string page_token = 10;
|
|
5077
|
+
*/
|
|
5078
|
+
pageToken: string;
|
|
5006
5079
|
|
|
5007
|
-
/**
|
|
5008
|
-
* Request message for the ExportBillingGroupCsv rpc.
|
|
5009
|
-
* port from m/ripple/exportcsv/billing-group
|
|
5010
|
-
*
|
|
5011
|
-
* @generated from message blueapi.billing.v1.ExportBillingGroupCsvRequest
|
|
5012
|
-
*/
|
|
5013
|
-
export type ExportBillingGroupCsvRequest = Message<"blueapi.billing.v1.ExportBillingGroupCsvRequest"> & {
|
|
5014
5080
|
/**
|
|
5015
|
-
*
|
|
5016
|
-
* but it may be a different language due to cahce.
|
|
5017
|
-
* In that case, you can use this option to change the language of CSV.
|
|
5081
|
+
* Optional. Stable sort expression. Defaults to billing_group_name, item_name, row_id.
|
|
5018
5082
|
*
|
|
5019
|
-
* @generated from field: string
|
|
5083
|
+
* @generated from field: string sort = 11;
|
|
5020
5084
|
*/
|
|
5021
|
-
|
|
5085
|
+
sort: string;
|
|
5022
5086
|
};
|
|
5023
5087
|
|
|
5024
5088
|
/**
|
|
5025
|
-
* Describes the message blueapi.billing.v1.
|
|
5026
|
-
* Use `create(
|
|
5089
|
+
* Describes the message blueapi.billing.v1.ListMonthlyMiscFeesRequest.
|
|
5090
|
+
* Use `create(ListMonthlyMiscFeesRequestSchema)` to create a new message.
|
|
5027
5091
|
*/
|
|
5028
|
-
export const
|
|
5029
|
-
messageDesc(file_billing_v1_billing,
|
|
5092
|
+
export const ListMonthlyMiscFeesRequestSchema: GenMessage<ListMonthlyMiscFeesRequest> = /*@__PURE__*/
|
|
5093
|
+
messageDesc(file_billing_v1_billing, 130);
|
|
5030
5094
|
|
|
5031
5095
|
/**
|
|
5032
|
-
*
|
|
5033
|
-
*
|
|
5034
|
-
* @generated from message blueapi.billing.v1.ExportBillingGroupCsvResponse
|
|
5096
|
+
* @generated from message blueapi.billing.v1.ListMonthlyMiscFeesResponse
|
|
5035
5097
|
*/
|
|
5036
|
-
export type
|
|
5098
|
+
export type ListMonthlyMiscFeesResponse = Message<"blueapi.billing.v1.ListMonthlyMiscFeesResponse"> & {
|
|
5037
5099
|
/**
|
|
5038
|
-
*
|
|
5039
|
-
* expires in 10 minutes
|
|
5040
|
-
*
|
|
5041
|
-
* @generated from field: string downloadLink = 1;
|
|
5100
|
+
* @generated from field: repeated blueapi.billing.v1.MonthlyMiscFee rows = 1;
|
|
5042
5101
|
*/
|
|
5043
|
-
|
|
5102
|
+
rows: MonthlyMiscFee[];
|
|
5103
|
+
|
|
5104
|
+
/**
|
|
5105
|
+
* @generated from field: string next_page_token = 2;
|
|
5106
|
+
*/
|
|
5107
|
+
nextPageToken: string;
|
|
5108
|
+
|
|
5109
|
+
/**
|
|
5110
|
+
* @generated from field: int32 total_count = 3;
|
|
5111
|
+
*/
|
|
5112
|
+
totalCount: number;
|
|
5044
5113
|
};
|
|
5045
5114
|
|
|
5046
5115
|
/**
|
|
5047
|
-
* Describes the message blueapi.billing.v1.
|
|
5048
|
-
* Use `create(
|
|
5116
|
+
* Describes the message blueapi.billing.v1.ListMonthlyMiscFeesResponse.
|
|
5117
|
+
* Use `create(ListMonthlyMiscFeesResponseSchema)` to create a new message.
|
|
5049
5118
|
*/
|
|
5050
|
-
export const
|
|
5051
|
-
messageDesc(file_billing_v1_billing,
|
|
5119
|
+
export const ListMonthlyMiscFeesResponseSchema: GenMessage<ListMonthlyMiscFeesResponse> = /*@__PURE__*/
|
|
5120
|
+
messageDesc(file_billing_v1_billing, 131);
|
|
5052
5121
|
|
|
5053
5122
|
/**
|
|
5054
|
-
*
|
|
5055
|
-
*
|
|
5056
|
-
* @generated from message blueapi.billing.v1.ExportInvoiceSettingCsvRequest
|
|
5123
|
+
* @generated from message blueapi.billing.v1.GetMonthlyMiscFeeRequest
|
|
5057
5124
|
*/
|
|
5058
|
-
export type
|
|
5125
|
+
export type GetMonthlyMiscFeeRequest = Message<"blueapi.billing.v1.GetMonthlyMiscFeeRequest"> & {
|
|
5059
5126
|
/**
|
|
5060
|
-
*
|
|
5061
|
-
* but it may be a different language due to cahce.
|
|
5062
|
-
* In that case, you can use this option to change the language of CSV.
|
|
5127
|
+
* Required. Server-owned row ID.
|
|
5063
5128
|
*
|
|
5064
|
-
* @generated from field: string
|
|
5129
|
+
* @generated from field: string row_id = 1;
|
|
5065
5130
|
*/
|
|
5066
|
-
|
|
5131
|
+
rowId: string;
|
|
5067
5132
|
|
|
5068
5133
|
/**
|
|
5069
|
-
*
|
|
5134
|
+
* Required. Billing month used to reject cross-month access or mutation mistakes.
|
|
5070
5135
|
*
|
|
5071
|
-
* @generated from field:
|
|
5136
|
+
* @generated from field: string billing_month = 2;
|
|
5072
5137
|
*/
|
|
5073
|
-
|
|
5138
|
+
billingMonth: string;
|
|
5074
5139
|
};
|
|
5075
5140
|
|
|
5076
5141
|
/**
|
|
5077
|
-
* Describes the message blueapi.billing.v1.
|
|
5078
|
-
* Use `create(
|
|
5142
|
+
* Describes the message blueapi.billing.v1.GetMonthlyMiscFeeRequest.
|
|
5143
|
+
* Use `create(GetMonthlyMiscFeeRequestSchema)` to create a new message.
|
|
5079
5144
|
*/
|
|
5080
|
-
export const
|
|
5081
|
-
messageDesc(file_billing_v1_billing,
|
|
5145
|
+
export const GetMonthlyMiscFeeRequestSchema: GenMessage<GetMonthlyMiscFeeRequest> = /*@__PURE__*/
|
|
5146
|
+
messageDesc(file_billing_v1_billing, 132);
|
|
5082
5147
|
|
|
5083
5148
|
/**
|
|
5084
|
-
*
|
|
5085
|
-
*
|
|
5086
|
-
* @generated from message blueapi.billing.v1.ExportInvoiceSettingCsvResponse
|
|
5149
|
+
* @generated from message blueapi.billing.v1.ExportMonthlyMiscFeesRequest
|
|
5087
5150
|
*/
|
|
5088
|
-
export type
|
|
5151
|
+
export type ExportMonthlyMiscFeesRequest = Message<"blueapi.billing.v1.ExportMonthlyMiscFeesRequest"> & {
|
|
5089
5152
|
/**
|
|
5090
|
-
*
|
|
5091
|
-
* expires in 10 minutes
|
|
5153
|
+
* Required. Billing cycle in YYYY-MM form; YYYYMM is accepted and normalized by the server.
|
|
5092
5154
|
*
|
|
5093
|
-
* @generated from field: string
|
|
5155
|
+
* @generated from field: string billing_month = 1;
|
|
5094
5156
|
*/
|
|
5095
|
-
|
|
5096
|
-
};
|
|
5157
|
+
billingMonth: string;
|
|
5097
5158
|
|
|
5098
|
-
/**
|
|
5099
|
-
* Describes the message blueapi.billing.v1.ExportInvoiceSettingCsvResponse.
|
|
5100
|
-
* Use `create(ExportInvoiceSettingCsvResponseSchema)` to create a new message.
|
|
5101
|
-
*/
|
|
5102
|
-
export const ExportInvoiceSettingCsvResponseSchema: GenMessage<ExportInvoiceSettingCsvResponse> = /*@__PURE__*/
|
|
5103
|
-
messageDesc(file_billing_v1_billing, 135);
|
|
5104
|
-
|
|
5105
|
-
/**
|
|
5106
|
-
* @generated from message blueapi.billing.v1.GetBillingGroupInvoiceServiceDiscountsRequest
|
|
5107
|
-
*/
|
|
5108
|
-
export type GetBillingGroupInvoiceServiceDiscountsRequest = Message<"blueapi.billing.v1.GetBillingGroupInvoiceServiceDiscountsRequest"> & {
|
|
5109
5159
|
/**
|
|
5110
|
-
*
|
|
5160
|
+
* Optional. Exact billing group ID filter.
|
|
5161
|
+
*
|
|
5162
|
+
* @generated from field: string billing_group_id = 2;
|
|
5111
5163
|
*/
|
|
5112
|
-
|
|
5113
|
-
|
|
5164
|
+
billingGroupId: string;
|
|
5165
|
+
|
|
5166
|
+
/**
|
|
5167
|
+
* Optional. Case-insensitive billing group name query.
|
|
5168
|
+
*
|
|
5169
|
+
* @generated from field: string billing_group_name_query = 3;
|
|
5170
|
+
*/
|
|
5171
|
+
billingGroupNameQuery: string;
|
|
5172
|
+
|
|
5173
|
+
/**
|
|
5174
|
+
* Optional. Case-insensitive item or fee tag query.
|
|
5175
|
+
*
|
|
5176
|
+
* @generated from field: string item_query = 4;
|
|
5177
|
+
*/
|
|
5178
|
+
itemQuery: string;
|
|
5179
|
+
|
|
5180
|
+
/**
|
|
5181
|
+
* Optional. Source filter, e.g. "csv", "ui", or "migration".
|
|
5182
|
+
*
|
|
5183
|
+
* @generated from field: string source = 5;
|
|
5184
|
+
*/
|
|
5185
|
+
source: string;
|
|
5186
|
+
|
|
5187
|
+
/**
|
|
5188
|
+
* Optional. User identifier that last updated the row.
|
|
5189
|
+
*
|
|
5190
|
+
* @generated from field: string updated_by = 6;
|
|
5191
|
+
*/
|
|
5192
|
+
updatedBy: string;
|
|
5193
|
+
|
|
5194
|
+
/**
|
|
5195
|
+
* Optional. RFC3339 lower bound for updated_at.
|
|
5196
|
+
*
|
|
5197
|
+
* @generated from field: string updated_after = 7;
|
|
5198
|
+
*/
|
|
5199
|
+
updatedAfter: string;
|
|
5200
|
+
|
|
5201
|
+
/**
|
|
5202
|
+
* Optional. RFC3339 upper bound for updated_at.
|
|
5203
|
+
*
|
|
5204
|
+
* @generated from field: string updated_before = 8;
|
|
5205
|
+
*/
|
|
5206
|
+
updatedBefore: string;
|
|
5207
|
+
|
|
5208
|
+
/**
|
|
5209
|
+
* Optional. Stable sort expression. Defaults to billing_group_name, item_name, row_id.
|
|
5210
|
+
*
|
|
5211
|
+
* @generated from field: string sort = 9;
|
|
5212
|
+
*/
|
|
5213
|
+
sort: string;
|
|
5214
|
+
};
|
|
5215
|
+
|
|
5216
|
+
/**
|
|
5217
|
+
* Describes the message blueapi.billing.v1.ExportMonthlyMiscFeesRequest.
|
|
5218
|
+
* Use `create(ExportMonthlyMiscFeesRequestSchema)` to create a new message.
|
|
5219
|
+
*/
|
|
5220
|
+
export const ExportMonthlyMiscFeesRequestSchema: GenMessage<ExportMonthlyMiscFeesRequest> = /*@__PURE__*/
|
|
5221
|
+
messageDesc(file_billing_v1_billing, 133);
|
|
5222
|
+
|
|
5223
|
+
/**
|
|
5224
|
+
* @generated from message blueapi.billing.v1.ExportMonthlyMiscFeesResponse
|
|
5225
|
+
*/
|
|
5226
|
+
export type ExportMonthlyMiscFeesResponse = Message<"blueapi.billing.v1.ExportMonthlyMiscFeesResponse"> & {
|
|
5227
|
+
/**
|
|
5228
|
+
* CSV file bytes when the export is returned inline.
|
|
5229
|
+
*
|
|
5230
|
+
* @generated from field: bytes csv_content = 1;
|
|
5231
|
+
*/
|
|
5232
|
+
csvContent: Uint8Array;
|
|
5233
|
+
|
|
5234
|
+
/**
|
|
5235
|
+
* Optional staged export reference or direct download URL.
|
|
5236
|
+
*
|
|
5237
|
+
* @generated from field: string export_ref = 2;
|
|
5238
|
+
*/
|
|
5239
|
+
exportRef: string;
|
|
5240
|
+
|
|
5241
|
+
/**
|
|
5242
|
+
* Export file name suggested to clients.
|
|
5243
|
+
*
|
|
5244
|
+
* @generated from field: string file_name = 3;
|
|
5245
|
+
*/
|
|
5246
|
+
fileName: string;
|
|
5247
|
+
};
|
|
5248
|
+
|
|
5249
|
+
/**
|
|
5250
|
+
* Describes the message blueapi.billing.v1.ExportMonthlyMiscFeesResponse.
|
|
5251
|
+
* Use `create(ExportMonthlyMiscFeesResponseSchema)` to create a new message.
|
|
5252
|
+
*/
|
|
5253
|
+
export const ExportMonthlyMiscFeesResponseSchema: GenMessage<ExportMonthlyMiscFeesResponse> = /*@__PURE__*/
|
|
5254
|
+
messageDesc(file_billing_v1_billing, 134);
|
|
5255
|
+
|
|
5256
|
+
/**
|
|
5257
|
+
* @generated from message blueapi.billing.v1.GetMonthlyMiscFeeImportRequest
|
|
5258
|
+
*/
|
|
5259
|
+
export type GetMonthlyMiscFeeImportRequest = Message<"blueapi.billing.v1.GetMonthlyMiscFeeImportRequest"> & {
|
|
5260
|
+
/**
|
|
5261
|
+
* Required. Import job ID returned by BulkImportMonthlyMiscFees.
|
|
5262
|
+
*
|
|
5263
|
+
* @generated from field: string import_job_id = 1;
|
|
5264
|
+
*/
|
|
5265
|
+
importJobId: string;
|
|
5266
|
+
};
|
|
5267
|
+
|
|
5268
|
+
/**
|
|
5269
|
+
* Describes the message blueapi.billing.v1.GetMonthlyMiscFeeImportRequest.
|
|
5270
|
+
* Use `create(GetMonthlyMiscFeeImportRequestSchema)` to create a new message.
|
|
5271
|
+
*/
|
|
5272
|
+
export const GetMonthlyMiscFeeImportRequestSchema: GenMessage<GetMonthlyMiscFeeImportRequest> = /*@__PURE__*/
|
|
5273
|
+
messageDesc(file_billing_v1_billing, 135);
|
|
5274
|
+
|
|
5275
|
+
/**
|
|
5276
|
+
* @generated from message blueapi.billing.v1.UpsertMonthlyMiscFeeRequest
|
|
5277
|
+
*/
|
|
5278
|
+
export type UpsertMonthlyMiscFeeRequest = Message<"blueapi.billing.v1.UpsertMonthlyMiscFeeRequest"> & {
|
|
5279
|
+
/**
|
|
5280
|
+
* Optional for create, required for updating an existing server-owned row.
|
|
5281
|
+
*
|
|
5282
|
+
* @generated from field: string row_id = 1;
|
|
5283
|
+
*/
|
|
5284
|
+
rowId: string;
|
|
5285
|
+
|
|
5286
|
+
/**
|
|
5287
|
+
* Required. Full row value to create or update.
|
|
5288
|
+
*
|
|
5289
|
+
* @generated from field: blueapi.billing.v1.MonthlyMiscFee row = 2;
|
|
5290
|
+
*/
|
|
5291
|
+
row?: MonthlyMiscFee;
|
|
5292
|
+
|
|
5293
|
+
/**
|
|
5294
|
+
* Optional. Idempotency key for UI retry safety.
|
|
5295
|
+
*
|
|
5296
|
+
* @generated from field: string idempotency_key = 3;
|
|
5297
|
+
*/
|
|
5298
|
+
idempotencyKey: string;
|
|
5299
|
+
};
|
|
5300
|
+
|
|
5301
|
+
/**
|
|
5302
|
+
* Describes the message blueapi.billing.v1.UpsertMonthlyMiscFeeRequest.
|
|
5303
|
+
* Use `create(UpsertMonthlyMiscFeeRequestSchema)` to create a new message.
|
|
5304
|
+
*/
|
|
5305
|
+
export const UpsertMonthlyMiscFeeRequestSchema: GenMessage<UpsertMonthlyMiscFeeRequest> = /*@__PURE__*/
|
|
5306
|
+
messageDesc(file_billing_v1_billing, 136);
|
|
5307
|
+
|
|
5308
|
+
/**
|
|
5309
|
+
* @generated from message blueapi.billing.v1.DeleteMonthlyMiscFeeRequest
|
|
5310
|
+
*/
|
|
5311
|
+
export type DeleteMonthlyMiscFeeRequest = Message<"blueapi.billing.v1.DeleteMonthlyMiscFeeRequest"> & {
|
|
5312
|
+
/**
|
|
5313
|
+
* Required. Server-owned row ID.
|
|
5314
|
+
*
|
|
5315
|
+
* @generated from field: string row_id = 1;
|
|
5316
|
+
*/
|
|
5317
|
+
rowId: string;
|
|
5318
|
+
|
|
5319
|
+
/**
|
|
5320
|
+
* Required. Billing month used to reject cross-month deletion mistakes.
|
|
5321
|
+
*
|
|
5322
|
+
* @generated from field: string billing_month = 2;
|
|
5323
|
+
*/
|
|
5324
|
+
billingMonth: string;
|
|
5325
|
+
};
|
|
5326
|
+
|
|
5327
|
+
/**
|
|
5328
|
+
* Describes the message blueapi.billing.v1.DeleteMonthlyMiscFeeRequest.
|
|
5329
|
+
* Use `create(DeleteMonthlyMiscFeeRequestSchema)` to create a new message.
|
|
5330
|
+
*/
|
|
5331
|
+
export const DeleteMonthlyMiscFeeRequestSchema: GenMessage<DeleteMonthlyMiscFeeRequest> = /*@__PURE__*/
|
|
5332
|
+
messageDesc(file_billing_v1_billing, 137);
|
|
5333
|
+
|
|
5334
|
+
/**
|
|
5335
|
+
* @generated from message blueapi.billing.v1.MonthlyMiscFee
|
|
5336
|
+
*/
|
|
5337
|
+
export type MonthlyMiscFee = Message<"blueapi.billing.v1.MonthlyMiscFee"> & {
|
|
5338
|
+
/**
|
|
5339
|
+
* @generated from field: string row_id = 1;
|
|
5340
|
+
*/
|
|
5341
|
+
rowId: string;
|
|
5342
|
+
|
|
5343
|
+
/**
|
|
5344
|
+
* @generated from field: string billing_month = 2;
|
|
5345
|
+
*/
|
|
5346
|
+
billingMonth: string;
|
|
5347
|
+
|
|
5348
|
+
/**
|
|
5349
|
+
* @generated from field: string billing_group_id = 3;
|
|
5350
|
+
*/
|
|
5351
|
+
billingGroupId: string;
|
|
5352
|
+
|
|
5353
|
+
/**
|
|
5354
|
+
* @generated from field: string billing_group_name = 4;
|
|
5355
|
+
*/
|
|
5356
|
+
billingGroupName: string;
|
|
5357
|
+
|
|
5358
|
+
/**
|
|
5359
|
+
* @generated from field: string item_name = 5;
|
|
5360
|
+
*/
|
|
5361
|
+
itemName: string;
|
|
5362
|
+
|
|
5363
|
+
/**
|
|
5364
|
+
* @generated from field: string quantity = 6;
|
|
5365
|
+
*/
|
|
5366
|
+
quantity: string;
|
|
5367
|
+
|
|
5368
|
+
/**
|
|
5369
|
+
* @generated from field: string unit_cost = 7;
|
|
5370
|
+
*/
|
|
5371
|
+
unitCost: string;
|
|
5372
|
+
|
|
5373
|
+
/**
|
|
5374
|
+
* @generated from field: string amount = 8;
|
|
5375
|
+
*/
|
|
5376
|
+
amount: string;
|
|
5377
|
+
|
|
5378
|
+
/**
|
|
5379
|
+
* @generated from field: string source = 9;
|
|
5380
|
+
*/
|
|
5381
|
+
source: string;
|
|
5382
|
+
|
|
5383
|
+
/**
|
|
5384
|
+
* @generated from field: string import_job_id = 10;
|
|
5385
|
+
*/
|
|
5386
|
+
importJobId: string;
|
|
5387
|
+
|
|
5388
|
+
/**
|
|
5389
|
+
* @generated from field: string created_by = 11;
|
|
5390
|
+
*/
|
|
5391
|
+
createdBy: string;
|
|
5392
|
+
|
|
5393
|
+
/**
|
|
5394
|
+
* @generated from field: string created_at = 12;
|
|
5395
|
+
*/
|
|
5396
|
+
createdAt: string;
|
|
5397
|
+
|
|
5398
|
+
/**
|
|
5399
|
+
* @generated from field: string updated_by = 13;
|
|
5400
|
+
*/
|
|
5401
|
+
updatedBy: string;
|
|
5402
|
+
|
|
5403
|
+
/**
|
|
5404
|
+
* @generated from field: string updated_at = 14;
|
|
5405
|
+
*/
|
|
5406
|
+
updatedAt: string;
|
|
5407
|
+
};
|
|
5408
|
+
|
|
5409
|
+
/**
|
|
5410
|
+
* Describes the message blueapi.billing.v1.MonthlyMiscFee.
|
|
5411
|
+
* Use `create(MonthlyMiscFeeSchema)` to create a new message.
|
|
5412
|
+
*/
|
|
5413
|
+
export const MonthlyMiscFeeSchema: GenMessage<MonthlyMiscFee> = /*@__PURE__*/
|
|
5414
|
+
messageDesc(file_billing_v1_billing, 138);
|
|
5415
|
+
|
|
5416
|
+
/**
|
|
5417
|
+
* @generated from message blueapi.billing.v1.MonthlyMiscFeeImportResult
|
|
5418
|
+
*/
|
|
5419
|
+
export type MonthlyMiscFeeImportResult = Message<"blueapi.billing.v1.MonthlyMiscFeeImportResult"> & {
|
|
5420
|
+
/**
|
|
5421
|
+
* @generated from field: string import_job_id = 1;
|
|
5422
|
+
*/
|
|
5423
|
+
importJobId: string;
|
|
5424
|
+
|
|
5425
|
+
/**
|
|
5426
|
+
* @generated from field: string status = 2;
|
|
5427
|
+
*/
|
|
5428
|
+
status: string;
|
|
5429
|
+
|
|
5430
|
+
/**
|
|
5431
|
+
* @generated from field: string mode = 3;
|
|
5432
|
+
*/
|
|
5433
|
+
mode: string;
|
|
5434
|
+
|
|
5435
|
+
/**
|
|
5436
|
+
* @generated from field: string billing_month = 4;
|
|
5437
|
+
*/
|
|
5438
|
+
billingMonth: string;
|
|
5439
|
+
|
|
5440
|
+
/**
|
|
5441
|
+
* @generated from field: string file_name = 5;
|
|
5442
|
+
*/
|
|
5443
|
+
fileName: string;
|
|
5444
|
+
|
|
5445
|
+
/**
|
|
5446
|
+
* @generated from field: string file_hash = 6;
|
|
5447
|
+
*/
|
|
5448
|
+
fileHash: string;
|
|
5449
|
+
|
|
5450
|
+
/**
|
|
5451
|
+
* @generated from field: int32 total_rows = 7;
|
|
5452
|
+
*/
|
|
5453
|
+
totalRows: number;
|
|
5454
|
+
|
|
5455
|
+
/**
|
|
5456
|
+
* @generated from field: int32 valid_rows = 8;
|
|
5457
|
+
*/
|
|
5458
|
+
validRows: number;
|
|
5459
|
+
|
|
5460
|
+
/**
|
|
5461
|
+
* @generated from field: int32 inserted_rows = 9;
|
|
5462
|
+
*/
|
|
5463
|
+
insertedRows: number;
|
|
5464
|
+
|
|
5465
|
+
/**
|
|
5466
|
+
* @generated from field: int32 updated_rows = 10;
|
|
5467
|
+
*/
|
|
5468
|
+
updatedRows: number;
|
|
5469
|
+
|
|
5470
|
+
/**
|
|
5471
|
+
* @generated from field: int32 unchanged_rows = 11;
|
|
5472
|
+
*/
|
|
5473
|
+
unchangedRows: number;
|
|
5474
|
+
|
|
5475
|
+
/**
|
|
5476
|
+
* @generated from field: int32 deleted_rows = 12;
|
|
5477
|
+
*/
|
|
5478
|
+
deletedRows: number;
|
|
5479
|
+
|
|
5480
|
+
/**
|
|
5481
|
+
* @generated from field: int32 failed_rows = 13;
|
|
5482
|
+
*/
|
|
5483
|
+
failedRows: number;
|
|
5484
|
+
|
|
5485
|
+
/**
|
|
5486
|
+
* @generated from field: int32 replace_month_existing_rows = 14;
|
|
5487
|
+
*/
|
|
5488
|
+
replaceMonthExistingRows: number;
|
|
5489
|
+
|
|
5490
|
+
/**
|
|
5491
|
+
* @generated from field: string export_ref = 15;
|
|
5492
|
+
*/
|
|
5493
|
+
exportRef: string;
|
|
5494
|
+
|
|
5495
|
+
/**
|
|
5496
|
+
* @generated from field: repeated blueapi.billing.v1.MonthlyMiscFeeImportRowResult row_results = 16;
|
|
5497
|
+
*/
|
|
5498
|
+
rowResults: MonthlyMiscFeeImportRowResult[];
|
|
5499
|
+
|
|
5500
|
+
/**
|
|
5501
|
+
* @generated from field: string created_by = 17;
|
|
5502
|
+
*/
|
|
5503
|
+
createdBy: string;
|
|
5504
|
+
|
|
5505
|
+
/**
|
|
5506
|
+
* @generated from field: string created_at = 18;
|
|
5507
|
+
*/
|
|
5508
|
+
createdAt: string;
|
|
5509
|
+
|
|
5510
|
+
/**
|
|
5511
|
+
* @generated from field: string updated_at = 19;
|
|
5512
|
+
*/
|
|
5513
|
+
updatedAt: string;
|
|
5514
|
+
};
|
|
5515
|
+
|
|
5516
|
+
/**
|
|
5517
|
+
* Describes the message blueapi.billing.v1.MonthlyMiscFeeImportResult.
|
|
5518
|
+
* Use `create(MonthlyMiscFeeImportResultSchema)` to create a new message.
|
|
5519
|
+
*/
|
|
5520
|
+
export const MonthlyMiscFeeImportResultSchema: GenMessage<MonthlyMiscFeeImportResult> = /*@__PURE__*/
|
|
5521
|
+
messageDesc(file_billing_v1_billing, 139);
|
|
5522
|
+
|
|
5523
|
+
/**
|
|
5524
|
+
* @generated from message blueapi.billing.v1.MonthlyMiscFeeImportRowResult
|
|
5525
|
+
*/
|
|
5526
|
+
export type MonthlyMiscFeeImportRowResult = Message<"blueapi.billing.v1.MonthlyMiscFeeImportRowResult"> & {
|
|
5527
|
+
/**
|
|
5528
|
+
* @generated from field: int32 csv_row_number = 1;
|
|
5529
|
+
*/
|
|
5530
|
+
csvRowNumber: number;
|
|
5531
|
+
|
|
5532
|
+
/**
|
|
5533
|
+
* @generated from field: string action = 2;
|
|
5534
|
+
*/
|
|
5535
|
+
action: string;
|
|
5536
|
+
|
|
5537
|
+
/**
|
|
5538
|
+
* @generated from field: string row_id = 3;
|
|
5539
|
+
*/
|
|
5540
|
+
rowId: string;
|
|
5541
|
+
|
|
5542
|
+
/**
|
|
5543
|
+
* @generated from field: string billing_month = 4;
|
|
5544
|
+
*/
|
|
5545
|
+
billingMonth: string;
|
|
5546
|
+
|
|
5547
|
+
/**
|
|
5548
|
+
* @generated from field: string billing_group_id = 5;
|
|
5549
|
+
*/
|
|
5550
|
+
billingGroupId: string;
|
|
5551
|
+
|
|
5552
|
+
/**
|
|
5553
|
+
* @generated from field: string billing_group_name = 6;
|
|
5554
|
+
*/
|
|
5555
|
+
billingGroupName: string;
|
|
5556
|
+
|
|
5557
|
+
/**
|
|
5558
|
+
* @generated from field: string item_name = 7;
|
|
5559
|
+
*/
|
|
5560
|
+
itemName: string;
|
|
5561
|
+
|
|
5562
|
+
/**
|
|
5563
|
+
* @generated from field: string quantity = 8;
|
|
5564
|
+
*/
|
|
5565
|
+
quantity: string;
|
|
5566
|
+
|
|
5567
|
+
/**
|
|
5568
|
+
* @generated from field: string unit_cost = 9;
|
|
5569
|
+
*/
|
|
5570
|
+
unitCost: string;
|
|
5571
|
+
|
|
5572
|
+
/**
|
|
5573
|
+
* @generated from field: string amount = 10;
|
|
5574
|
+
*/
|
|
5575
|
+
amount: string;
|
|
5576
|
+
|
|
5577
|
+
/**
|
|
5578
|
+
* @generated from field: blueapi.billing.v1.MonthlyMiscFeeImportPreviousValue previous_value = 11;
|
|
5579
|
+
*/
|
|
5580
|
+
previousValue?: MonthlyMiscFeeImportPreviousValue;
|
|
5581
|
+
|
|
5582
|
+
/**
|
|
5583
|
+
* @generated from field: repeated blueapi.billing.v1.MonthlyMiscFeeValidationError validation_errors = 12;
|
|
5584
|
+
*/
|
|
5585
|
+
validationErrors: MonthlyMiscFeeValidationError[];
|
|
5586
|
+
|
|
5587
|
+
/**
|
|
5588
|
+
* @generated from field: string note = 13;
|
|
5589
|
+
*/
|
|
5590
|
+
note: string;
|
|
5591
|
+
};
|
|
5592
|
+
|
|
5593
|
+
/**
|
|
5594
|
+
* Describes the message blueapi.billing.v1.MonthlyMiscFeeImportRowResult.
|
|
5595
|
+
* Use `create(MonthlyMiscFeeImportRowResultSchema)` to create a new message.
|
|
5596
|
+
*/
|
|
5597
|
+
export const MonthlyMiscFeeImportRowResultSchema: GenMessage<MonthlyMiscFeeImportRowResult> = /*@__PURE__*/
|
|
5598
|
+
messageDesc(file_billing_v1_billing, 140);
|
|
5599
|
+
|
|
5600
|
+
/**
|
|
5601
|
+
* @generated from message blueapi.billing.v1.MonthlyMiscFeeImportPreviousValue
|
|
5602
|
+
*/
|
|
5603
|
+
export type MonthlyMiscFeeImportPreviousValue = Message<"blueapi.billing.v1.MonthlyMiscFeeImportPreviousValue"> & {
|
|
5604
|
+
/**
|
|
5605
|
+
* @generated from field: string quantity = 1;
|
|
5606
|
+
*/
|
|
5607
|
+
quantity: string;
|
|
5608
|
+
|
|
5609
|
+
/**
|
|
5610
|
+
* @generated from field: string unit_cost = 2;
|
|
5611
|
+
*/
|
|
5612
|
+
unitCost: string;
|
|
5613
|
+
|
|
5614
|
+
/**
|
|
5615
|
+
* @generated from field: string amount = 3;
|
|
5616
|
+
*/
|
|
5617
|
+
amount: string;
|
|
5618
|
+
};
|
|
5619
|
+
|
|
5620
|
+
/**
|
|
5621
|
+
* Describes the message blueapi.billing.v1.MonthlyMiscFeeImportPreviousValue.
|
|
5622
|
+
* Use `create(MonthlyMiscFeeImportPreviousValueSchema)` to create a new message.
|
|
5623
|
+
*/
|
|
5624
|
+
export const MonthlyMiscFeeImportPreviousValueSchema: GenMessage<MonthlyMiscFeeImportPreviousValue> = /*@__PURE__*/
|
|
5625
|
+
messageDesc(file_billing_v1_billing, 141);
|
|
5626
|
+
|
|
5627
|
+
/**
|
|
5628
|
+
* @generated from message blueapi.billing.v1.MonthlyMiscFeeValidationError
|
|
5629
|
+
*/
|
|
5630
|
+
export type MonthlyMiscFeeValidationError = Message<"blueapi.billing.v1.MonthlyMiscFeeValidationError"> & {
|
|
5631
|
+
/**
|
|
5632
|
+
* @generated from field: string field = 1;
|
|
5633
|
+
*/
|
|
5634
|
+
field: string;
|
|
5635
|
+
|
|
5636
|
+
/**
|
|
5637
|
+
* @generated from field: string code = 2;
|
|
5638
|
+
*/
|
|
5639
|
+
code: string;
|
|
5640
|
+
|
|
5641
|
+
/**
|
|
5642
|
+
* @generated from field: string message = 3;
|
|
5643
|
+
*/
|
|
5644
|
+
message: string;
|
|
5645
|
+
};
|
|
5646
|
+
|
|
5647
|
+
/**
|
|
5648
|
+
* Describes the message blueapi.billing.v1.MonthlyMiscFeeValidationError.
|
|
5649
|
+
* Use `create(MonthlyMiscFeeValidationErrorSchema)` to create a new message.
|
|
5650
|
+
*/
|
|
5651
|
+
export const MonthlyMiscFeeValidationErrorSchema: GenMessage<MonthlyMiscFeeValidationError> = /*@__PURE__*/
|
|
5652
|
+
messageDesc(file_billing_v1_billing, 142);
|
|
5653
|
+
|
|
5654
|
+
/**
|
|
5655
|
+
* BillingGroup tags adding setting
|
|
5656
|
+
*
|
|
5657
|
+
* @generated from message blueapi.billing.v1.UpdateTagsAddingSettingRequest
|
|
5658
|
+
*/
|
|
5659
|
+
export type UpdateTagsAddingSettingRequest = Message<"blueapi.billing.v1.UpdateTagsAddingSettingRequest"> & {
|
|
5660
|
+
/**
|
|
5661
|
+
* @generated from field: string vendor = 1;
|
|
5662
|
+
*/
|
|
5663
|
+
vendor: string;
|
|
5664
|
+
|
|
5665
|
+
/**
|
|
5666
|
+
* @generated from field: string groupId = 2;
|
|
5667
|
+
*/
|
|
5668
|
+
groupId: string;
|
|
5669
|
+
|
|
5670
|
+
/**
|
|
5671
|
+
* @generated from field: repeated blueapi.billing.v1.TagsAddingSetting items = 3;
|
|
5672
|
+
*/
|
|
5673
|
+
items: TagsAddingSetting[];
|
|
5674
|
+
};
|
|
5675
|
+
|
|
5676
|
+
/**
|
|
5677
|
+
* Describes the message blueapi.billing.v1.UpdateTagsAddingSettingRequest.
|
|
5678
|
+
* Use `create(UpdateTagsAddingSettingRequestSchema)` to create a new message.
|
|
5679
|
+
*/
|
|
5680
|
+
export const UpdateTagsAddingSettingRequestSchema: GenMessage<UpdateTagsAddingSettingRequest> = /*@__PURE__*/
|
|
5681
|
+
messageDesc(file_billing_v1_billing, 143);
|
|
5682
|
+
|
|
5683
|
+
/**
|
|
5684
|
+
* @generated from message blueapi.billing.v1.GetTagsAddingSettingRequest
|
|
5685
|
+
*/
|
|
5686
|
+
export type GetTagsAddingSettingRequest = Message<"blueapi.billing.v1.GetTagsAddingSettingRequest"> & {
|
|
5687
|
+
/**
|
|
5688
|
+
* @generated from field: string vendor = 1;
|
|
5689
|
+
*/
|
|
5690
|
+
vendor: string;
|
|
5691
|
+
|
|
5692
|
+
/**
|
|
5693
|
+
* @generated from field: string groupId = 2;
|
|
5694
|
+
*/
|
|
5695
|
+
groupId: string;
|
|
5696
|
+
};
|
|
5697
|
+
|
|
5698
|
+
/**
|
|
5699
|
+
* Describes the message blueapi.billing.v1.GetTagsAddingSettingRequest.
|
|
5700
|
+
* Use `create(GetTagsAddingSettingRequestSchema)` to create a new message.
|
|
5701
|
+
*/
|
|
5702
|
+
export const GetTagsAddingSettingRequestSchema: GenMessage<GetTagsAddingSettingRequest> = /*@__PURE__*/
|
|
5703
|
+
messageDesc(file_billing_v1_billing, 144);
|
|
5704
|
+
|
|
5705
|
+
/**
|
|
5706
|
+
* @generated from message blueapi.billing.v1.TagsAddingSetting
|
|
5707
|
+
*/
|
|
5708
|
+
export type TagsAddingSetting = Message<"blueapi.billing.v1.TagsAddingSetting"> & {
|
|
5709
|
+
/**
|
|
5710
|
+
* @generated from field: string groupId = 1;
|
|
5711
|
+
*/
|
|
5712
|
+
groupId: string;
|
|
5713
|
+
|
|
5714
|
+
/**
|
|
5715
|
+
* @generated from field: string customerId = 2;
|
|
5716
|
+
*/
|
|
5717
|
+
customerId: string;
|
|
5718
|
+
|
|
5719
|
+
/**
|
|
5720
|
+
* @generated from field: repeated string tagKeys = 3;
|
|
5721
|
+
*/
|
|
5722
|
+
tagKeys: string[];
|
|
5723
|
+
};
|
|
5724
|
+
|
|
5725
|
+
/**
|
|
5726
|
+
* Describes the message blueapi.billing.v1.TagsAddingSetting.
|
|
5727
|
+
* Use `create(TagsAddingSettingSchema)` to create a new message.
|
|
5728
|
+
*/
|
|
5729
|
+
export const TagsAddingSettingSchema: GenMessage<TagsAddingSetting> = /*@__PURE__*/
|
|
5730
|
+
messageDesc(file_billing_v1_billing, 145);
|
|
5731
|
+
|
|
5732
|
+
/**
|
|
5733
|
+
* Request message for the ExportServiceDiscounts rpc.
|
|
5734
|
+
*
|
|
5735
|
+
* @generated from message blueapi.billing.v1.ExportServiceDiscountsRequest
|
|
5736
|
+
*/
|
|
5737
|
+
export type ExportServiceDiscountsRequest = Message<"blueapi.billing.v1.ExportServiceDiscountsRequest"> & {
|
|
5738
|
+
/**
|
|
5739
|
+
* Required. At the moment, `CSV` is supported.
|
|
5740
|
+
*
|
|
5741
|
+
* @generated from field: string format = 1;
|
|
5742
|
+
*/
|
|
5743
|
+
format: string;
|
|
5744
|
+
|
|
5745
|
+
/**
|
|
5746
|
+
* Optional. At the moment, `ja`,`en` is supported.
|
|
5747
|
+
*
|
|
5748
|
+
* Usually the language of the user information is used,
|
|
5749
|
+
* but it may be a different language due to cahce.
|
|
5750
|
+
* In that case, you can use this option to change the language of CSV.
|
|
5751
|
+
*
|
|
5752
|
+
* @generated from field: string language = 2;
|
|
5753
|
+
*/
|
|
5754
|
+
language: string;
|
|
5755
|
+
};
|
|
5756
|
+
|
|
5757
|
+
/**
|
|
5758
|
+
* Describes the message blueapi.billing.v1.ExportServiceDiscountsRequest.
|
|
5759
|
+
* Use `create(ExportServiceDiscountsRequestSchema)` to create a new message.
|
|
5760
|
+
*/
|
|
5761
|
+
export const ExportServiceDiscountsRequestSchema: GenMessage<ExportServiceDiscountsRequest> = /*@__PURE__*/
|
|
5762
|
+
messageDesc(file_billing_v1_billing, 146);
|
|
5763
|
+
|
|
5764
|
+
/**
|
|
5765
|
+
* Request message for the ExportAccountInvoiceServiceDiscounts rpc.
|
|
5766
|
+
*
|
|
5767
|
+
* @generated from message blueapi.billing.v1.ExportAccountInvoiceServiceDiscountsRequest
|
|
5768
|
+
*/
|
|
5769
|
+
export type ExportAccountInvoiceServiceDiscountsRequest = Message<"blueapi.billing.v1.ExportAccountInvoiceServiceDiscountsRequest"> & {
|
|
5770
|
+
/**
|
|
5771
|
+
* Required. At the moment, `CSV` is supported.
|
|
5772
|
+
*
|
|
5773
|
+
* @generated from field: string format = 1;
|
|
5774
|
+
*/
|
|
5775
|
+
format: string;
|
|
5776
|
+
|
|
5777
|
+
/**
|
|
5778
|
+
* Optional. At the moment, `ja`,`en` is supported.
|
|
5779
|
+
*
|
|
5780
|
+
* Usually the language of the user information is used,
|
|
5781
|
+
* but it may be a different language due to cahce.
|
|
5782
|
+
* In that case, you can use this option to change the language of CSV.
|
|
5783
|
+
*
|
|
5784
|
+
* @generated from field: string language = 2;
|
|
5785
|
+
*/
|
|
5786
|
+
language: string;
|
|
5787
|
+
|
|
5788
|
+
/**
|
|
5789
|
+
* Returns a directLink if set to true
|
|
5790
|
+
*
|
|
5791
|
+
* @generated from field: bool directLink = 3;
|
|
5792
|
+
*/
|
|
5793
|
+
directLink: boolean;
|
|
5794
|
+
};
|
|
5795
|
+
|
|
5796
|
+
/**
|
|
5797
|
+
* Describes the message blueapi.billing.v1.ExportAccountInvoiceServiceDiscountsRequest.
|
|
5798
|
+
* Use `create(ExportAccountInvoiceServiceDiscountsRequestSchema)` to create a new message.
|
|
5799
|
+
*/
|
|
5800
|
+
export const ExportAccountInvoiceServiceDiscountsRequestSchema: GenMessage<ExportAccountInvoiceServiceDiscountsRequest> = /*@__PURE__*/
|
|
5801
|
+
messageDesc(file_billing_v1_billing, 147);
|
|
5802
|
+
|
|
5803
|
+
/**
|
|
5804
|
+
* Request message for the ExportBillingGroupInvoiceServiceDiscounts rpc.
|
|
5805
|
+
*
|
|
5806
|
+
* @generated from message blueapi.billing.v1.ExportBillingGroupInvoiceServiceDiscountsRequest
|
|
5807
|
+
*/
|
|
5808
|
+
export type ExportBillingGroupInvoiceServiceDiscountsRequest = Message<"blueapi.billing.v1.ExportBillingGroupInvoiceServiceDiscountsRequest"> & {
|
|
5809
|
+
/**
|
|
5810
|
+
* Required. At the moment, `CSV` is supported.
|
|
5811
|
+
*
|
|
5812
|
+
* @generated from field: string format = 1;
|
|
5813
|
+
*/
|
|
5814
|
+
format: string;
|
|
5815
|
+
|
|
5816
|
+
/**
|
|
5817
|
+
* Optional. At the moment, `ja`,`en` is supported.
|
|
5818
|
+
*
|
|
5819
|
+
* Usually the language of the user information is used,
|
|
5820
|
+
* but it may be a different language due to cahce.
|
|
5821
|
+
* In that case, you can use this option to change the language of CSV.
|
|
5822
|
+
*
|
|
5823
|
+
* @generated from field: string language = 2;
|
|
5824
|
+
*/
|
|
5825
|
+
language: string;
|
|
5826
|
+
|
|
5827
|
+
/**
|
|
5828
|
+
* Returns a directLink if set to true
|
|
5829
|
+
*
|
|
5830
|
+
* @generated from field: bool directLink = 3;
|
|
5831
|
+
*/
|
|
5832
|
+
directLink: boolean;
|
|
5833
|
+
};
|
|
5834
|
+
|
|
5835
|
+
/**
|
|
5836
|
+
* Describes the message blueapi.billing.v1.ExportBillingGroupInvoiceServiceDiscountsRequest.
|
|
5837
|
+
* Use `create(ExportBillingGroupInvoiceServiceDiscountsRequestSchema)` to create a new message.
|
|
5838
|
+
*/
|
|
5839
|
+
export const ExportBillingGroupInvoiceServiceDiscountsRequestSchema: GenMessage<ExportBillingGroupInvoiceServiceDiscountsRequest> = /*@__PURE__*/
|
|
5840
|
+
messageDesc(file_billing_v1_billing, 148);
|
|
5841
|
+
|
|
5842
|
+
/**
|
|
5843
|
+
* Request message for the ExportBillingGroupCsv rpc.
|
|
5844
|
+
* port from m/ripple/exportcsv/billing-group
|
|
5845
|
+
*
|
|
5846
|
+
* @generated from message blueapi.billing.v1.ExportBillingGroupCsvRequest
|
|
5847
|
+
*/
|
|
5848
|
+
export type ExportBillingGroupCsvRequest = Message<"blueapi.billing.v1.ExportBillingGroupCsvRequest"> & {
|
|
5849
|
+
/**
|
|
5850
|
+
* Usually the language of the user information is used,
|
|
5851
|
+
* but it may be a different language due to cahce.
|
|
5852
|
+
* In that case, you can use this option to change the language of CSV.
|
|
5853
|
+
*
|
|
5854
|
+
* @generated from field: string language = 2;
|
|
5855
|
+
*/
|
|
5856
|
+
language: string;
|
|
5857
|
+
};
|
|
5858
|
+
|
|
5859
|
+
/**
|
|
5860
|
+
* Describes the message blueapi.billing.v1.ExportBillingGroupCsvRequest.
|
|
5861
|
+
* Use `create(ExportBillingGroupCsvRequestSchema)` to create a new message.
|
|
5862
|
+
*/
|
|
5863
|
+
export const ExportBillingGroupCsvRequestSchema: GenMessage<ExportBillingGroupCsvRequest> = /*@__PURE__*/
|
|
5864
|
+
messageDesc(file_billing_v1_billing, 149);
|
|
5865
|
+
|
|
5866
|
+
/**
|
|
5867
|
+
* Response message for the ExportBillingGroupCsv rpc.
|
|
5868
|
+
*
|
|
5869
|
+
* @generated from message blueapi.billing.v1.ExportBillingGroupCsvResponse
|
|
5870
|
+
*/
|
|
5871
|
+
export type ExportBillingGroupCsvResponse = Message<"blueapi.billing.v1.ExportBillingGroupCsvResponse"> & {
|
|
5872
|
+
/**
|
|
5873
|
+
* csv direct download link
|
|
5874
|
+
* expires in 10 minutes
|
|
5875
|
+
*
|
|
5876
|
+
* @generated from field: string downloadLink = 1;
|
|
5877
|
+
*/
|
|
5878
|
+
downloadLink: string;
|
|
5879
|
+
};
|
|
5880
|
+
|
|
5881
|
+
/**
|
|
5882
|
+
* Describes the message blueapi.billing.v1.ExportBillingGroupCsvResponse.
|
|
5883
|
+
* Use `create(ExportBillingGroupCsvResponseSchema)` to create a new message.
|
|
5884
|
+
*/
|
|
5885
|
+
export const ExportBillingGroupCsvResponseSchema: GenMessage<ExportBillingGroupCsvResponse> = /*@__PURE__*/
|
|
5886
|
+
messageDesc(file_billing_v1_billing, 150);
|
|
5887
|
+
|
|
5888
|
+
/**
|
|
5889
|
+
* port from m/ripple/exportcsv/billing-group-setting
|
|
5890
|
+
*
|
|
5891
|
+
* @generated from message blueapi.billing.v1.ExportInvoiceSettingCsvRequest
|
|
5892
|
+
*/
|
|
5893
|
+
export type ExportInvoiceSettingCsvRequest = Message<"blueapi.billing.v1.ExportInvoiceSettingCsvRequest"> & {
|
|
5894
|
+
/**
|
|
5895
|
+
* Usually the language of the user information is used,
|
|
5896
|
+
* but it may be a different language due to cahce.
|
|
5897
|
+
* In that case, you can use this option to change the language of CSV.
|
|
5898
|
+
*
|
|
5899
|
+
* @generated from field: string language = 2;
|
|
5900
|
+
*/
|
|
5901
|
+
language: string;
|
|
5902
|
+
|
|
5903
|
+
/**
|
|
5904
|
+
* Optional. If true, include miscellaneous items in the settings export.
|
|
5905
|
+
*
|
|
5906
|
+
* @generated from field: bool includeMiscellaneous = 3;
|
|
5907
|
+
*/
|
|
5908
|
+
includeMiscellaneous: boolean;
|
|
5909
|
+
};
|
|
5910
|
+
|
|
5911
|
+
/**
|
|
5912
|
+
* Describes the message blueapi.billing.v1.ExportInvoiceSettingCsvRequest.
|
|
5913
|
+
* Use `create(ExportInvoiceSettingCsvRequestSchema)` to create a new message.
|
|
5914
|
+
*/
|
|
5915
|
+
export const ExportInvoiceSettingCsvRequestSchema: GenMessage<ExportInvoiceSettingCsvRequest> = /*@__PURE__*/
|
|
5916
|
+
messageDesc(file_billing_v1_billing, 151);
|
|
5917
|
+
|
|
5918
|
+
/**
|
|
5919
|
+
* Response message for the ExportBillingGroupCsv rpc.
|
|
5920
|
+
*
|
|
5921
|
+
* @generated from message blueapi.billing.v1.ExportInvoiceSettingCsvResponse
|
|
5922
|
+
*/
|
|
5923
|
+
export type ExportInvoiceSettingCsvResponse = Message<"blueapi.billing.v1.ExportInvoiceSettingCsvResponse"> & {
|
|
5924
|
+
/**
|
|
5925
|
+
* csv direct download link
|
|
5926
|
+
* expires in 10 minutes
|
|
5927
|
+
*
|
|
5928
|
+
* @generated from field: string downloadLink = 1;
|
|
5929
|
+
*/
|
|
5930
|
+
downloadLink: string;
|
|
5931
|
+
};
|
|
5932
|
+
|
|
5933
|
+
/**
|
|
5934
|
+
* Describes the message blueapi.billing.v1.ExportInvoiceSettingCsvResponse.
|
|
5935
|
+
* Use `create(ExportInvoiceSettingCsvResponseSchema)` to create a new message.
|
|
5936
|
+
*/
|
|
5937
|
+
export const ExportInvoiceSettingCsvResponseSchema: GenMessage<ExportInvoiceSettingCsvResponse> = /*@__PURE__*/
|
|
5938
|
+
messageDesc(file_billing_v1_billing, 152);
|
|
5939
|
+
|
|
5940
|
+
/**
|
|
5941
|
+
* @generated from message blueapi.billing.v1.GetBillingGroupInvoiceServiceDiscountsRequest
|
|
5942
|
+
*/
|
|
5943
|
+
export type GetBillingGroupInvoiceServiceDiscountsRequest = Message<"blueapi.billing.v1.GetBillingGroupInvoiceServiceDiscountsRequest"> & {
|
|
5944
|
+
/**
|
|
5945
|
+
* @generated from field: string groupId = 1;
|
|
5946
|
+
*/
|
|
5947
|
+
groupId: string;
|
|
5948
|
+
};
|
|
5114
5949
|
|
|
5115
5950
|
/**
|
|
5116
5951
|
* Describes the message blueapi.billing.v1.GetBillingGroupInvoiceServiceDiscountsRequest.
|
|
5117
5952
|
* Use `create(GetBillingGroupInvoiceServiceDiscountsRequestSchema)` to create a new message.
|
|
5118
5953
|
*/
|
|
5119
5954
|
export const GetBillingGroupInvoiceServiceDiscountsRequestSchema: GenMessage<GetBillingGroupInvoiceServiceDiscountsRequest> = /*@__PURE__*/
|
|
5120
|
-
messageDesc(file_billing_v1_billing,
|
|
5955
|
+
messageDesc(file_billing_v1_billing, 153);
|
|
5121
5956
|
|
|
5122
5957
|
/**
|
|
5123
5958
|
* @generated from message blueapi.billing.v1.GetBillingGroupInvoiceServiceDiscountsResponse
|
|
@@ -5136,7 +5971,7 @@ export type GetBillingGroupInvoiceServiceDiscountsResponse = Message<"blueapi.bi
|
|
|
5136
5971
|
* Use `create(GetBillingGroupInvoiceServiceDiscountsResponseSchema)` to create a new message.
|
|
5137
5972
|
*/
|
|
5138
5973
|
export const GetBillingGroupInvoiceServiceDiscountsResponseSchema: GenMessage<GetBillingGroupInvoiceServiceDiscountsResponse> = /*@__PURE__*/
|
|
5139
|
-
messageDesc(file_billing_v1_billing,
|
|
5974
|
+
messageDesc(file_billing_v1_billing, 154);
|
|
5140
5975
|
|
|
5141
5976
|
/**
|
|
5142
5977
|
* @generated from message blueapi.billing.v1.AddBillingGroupCustomFieldRequest
|
|
@@ -5162,7 +5997,7 @@ export type AddBillingGroupCustomFieldRequest = Message<"blueapi.billing.v1.AddB
|
|
|
5162
5997
|
* Use `create(AddBillingGroupCustomFieldRequestSchema)` to create a new message.
|
|
5163
5998
|
*/
|
|
5164
5999
|
export const AddBillingGroupCustomFieldRequestSchema: GenMessage<AddBillingGroupCustomFieldRequest> = /*@__PURE__*/
|
|
5165
|
-
messageDesc(file_billing_v1_billing,
|
|
6000
|
+
messageDesc(file_billing_v1_billing, 155);
|
|
5166
6001
|
|
|
5167
6002
|
/**
|
|
5168
6003
|
* @generated from message blueapi.billing.v1.DeleteBillingGroupCustomFieldRequest
|
|
@@ -5188,7 +6023,7 @@ export type DeleteBillingGroupCustomFieldRequest = Message<"blueapi.billing.v1.D
|
|
|
5188
6023
|
* Use `create(DeleteBillingGroupCustomFieldRequestSchema)` to create a new message.
|
|
5189
6024
|
*/
|
|
5190
6025
|
export const DeleteBillingGroupCustomFieldRequestSchema: GenMessage<DeleteBillingGroupCustomFieldRequest> = /*@__PURE__*/
|
|
5191
|
-
messageDesc(file_billing_v1_billing,
|
|
6026
|
+
messageDesc(file_billing_v1_billing, 156);
|
|
5192
6027
|
|
|
5193
6028
|
/**
|
|
5194
6029
|
* @generated from message blueapi.billing.v1.AddAccountToBillingGroupRequest
|
|
@@ -5221,7 +6056,7 @@ export type AddAccountToBillingGroupRequest = Message<"blueapi.billing.v1.AddAcc
|
|
|
5221
6056
|
* Use `create(AddAccountToBillingGroupRequestSchema)` to create a new message.
|
|
5222
6057
|
*/
|
|
5223
6058
|
export const AddAccountToBillingGroupRequestSchema: GenMessage<AddAccountToBillingGroupRequest> = /*@__PURE__*/
|
|
5224
|
-
messageDesc(file_billing_v1_billing,
|
|
6059
|
+
messageDesc(file_billing_v1_billing, 157);
|
|
5225
6060
|
|
|
5226
6061
|
/**
|
|
5227
6062
|
* New message for account details
|
|
@@ -5263,7 +6098,7 @@ export type AccountToAdd = Message<"blueapi.billing.v1.AccountToAdd"> & {
|
|
|
5263
6098
|
* Use `create(AccountToAddSchema)` to create a new message.
|
|
5264
6099
|
*/
|
|
5265
6100
|
export const AccountToAddSchema: GenMessage<AccountToAdd> = /*@__PURE__*/
|
|
5266
|
-
messageDesc(file_billing_v1_billing,
|
|
6101
|
+
messageDesc(file_billing_v1_billing, 158);
|
|
5267
6102
|
|
|
5268
6103
|
/**
|
|
5269
6104
|
* @generated from message blueapi.billing.v1.AddTagsToBillingGroupRequest
|
|
@@ -5303,7 +6138,7 @@ export type AddTagsToBillingGroupRequest = Message<"blueapi.billing.v1.AddTagsTo
|
|
|
5303
6138
|
* Use `create(AddTagsToBillingGroupRequestSchema)` to create a new message.
|
|
5304
6139
|
*/
|
|
5305
6140
|
export const AddTagsToBillingGroupRequestSchema: GenMessage<AddTagsToBillingGroupRequest> = /*@__PURE__*/
|
|
5306
|
-
messageDesc(file_billing_v1_billing,
|
|
6141
|
+
messageDesc(file_billing_v1_billing, 159);
|
|
5307
6142
|
|
|
5308
6143
|
/**
|
|
5309
6144
|
* Settings for a specific customer account for AddTagsToBillingGroup
|
|
@@ -5331,7 +6166,7 @@ export type TagSetting = Message<"blueapi.billing.v1.TagSetting"> & {
|
|
|
5331
6166
|
* Use `create(TagSettingSchema)` to create a new message.
|
|
5332
6167
|
*/
|
|
5333
6168
|
export const TagSettingSchema: GenMessage<TagSetting> = /*@__PURE__*/
|
|
5334
|
-
messageDesc(file_billing_v1_billing,
|
|
6169
|
+
messageDesc(file_billing_v1_billing, 160);
|
|
5335
6170
|
|
|
5336
6171
|
/**
|
|
5337
6172
|
* Individual tag definition for AddTagsToBillingGroup
|
|
@@ -5366,7 +6201,7 @@ export type Tag = Message<"blueapi.billing.v1.Tag"> & {
|
|
|
5366
6201
|
* Use `create(TagSchema)` to create a new message.
|
|
5367
6202
|
*/
|
|
5368
6203
|
export const TagSchema: GenMessage<Tag> = /*@__PURE__*/
|
|
5369
|
-
messageDesc(file_billing_v1_billing,
|
|
6204
|
+
messageDesc(file_billing_v1_billing, 161);
|
|
5370
6205
|
|
|
5371
6206
|
/**
|
|
5372
6207
|
* Non-tag settings for a billing group for AddTagsToBillingGroup
|
|
@@ -5401,7 +6236,7 @@ export type NonTagSetting = Message<"blueapi.billing.v1.NonTagSetting"> & {
|
|
|
5401
6236
|
* Use `create(NonTagSettingSchema)` to create a new message.
|
|
5402
6237
|
*/
|
|
5403
6238
|
export const NonTagSettingSchema: GenMessage<NonTagSetting> = /*@__PURE__*/
|
|
5404
|
-
messageDesc(file_billing_v1_billing,
|
|
6239
|
+
messageDesc(file_billing_v1_billing, 162);
|
|
5405
6240
|
|
|
5406
6241
|
/**
|
|
5407
6242
|
* Response message for tag invoice setting operation for AddTagsToBillingGroup
|
|
@@ -5429,7 +6264,7 @@ export type SaveTagInvoiceSettingResponse = Message<"blueapi.billing.v1.SaveTagI
|
|
|
5429
6264
|
* Use `create(SaveTagInvoiceSettingResponseSchema)` to create a new message.
|
|
5430
6265
|
*/
|
|
5431
6266
|
export const SaveTagInvoiceSettingResponseSchema: GenMessage<SaveTagInvoiceSettingResponse> = /*@__PURE__*/
|
|
5432
|
-
messageDesc(file_billing_v1_billing,
|
|
6267
|
+
messageDesc(file_billing_v1_billing, 163);
|
|
5433
6268
|
|
|
5434
6269
|
/**
|
|
5435
6270
|
* Request message for updating non-tag group settings for a billing group for UpdateNonTagGroupToBillingGroup
|
|
@@ -5464,7 +6299,7 @@ export type UpdateNonTagGroupToBillingGroupRequest = Message<"blueapi.billing.v1
|
|
|
5464
6299
|
* Use `create(UpdateNonTagGroupToBillingGroupRequestSchema)` to create a new message.
|
|
5465
6300
|
*/
|
|
5466
6301
|
export const UpdateNonTagGroupToBillingGroupRequestSchema: GenMessage<UpdateNonTagGroupToBillingGroupRequest> = /*@__PURE__*/
|
|
5467
|
-
messageDesc(file_billing_v1_billing,
|
|
6302
|
+
messageDesc(file_billing_v1_billing, 164);
|
|
5468
6303
|
|
|
5469
6304
|
/**
|
|
5470
6305
|
* Individual non-tag group setting for UpdateNonTagGroupToBillingGroup
|
|
@@ -5499,7 +6334,7 @@ export type NonTagGroupSetting = Message<"blueapi.billing.v1.NonTagGroupSetting"
|
|
|
5499
6334
|
* Use `create(NonTagGroupSettingSchema)` to create a new message.
|
|
5500
6335
|
*/
|
|
5501
6336
|
export const NonTagGroupSettingSchema: GenMessage<NonTagGroupSetting> = /*@__PURE__*/
|
|
5502
|
-
messageDesc(file_billing_v1_billing,
|
|
6337
|
+
messageDesc(file_billing_v1_billing, 165);
|
|
5503
6338
|
|
|
5504
6339
|
/**
|
|
5505
6340
|
* @generated from message blueapi.billing.v1.SaveInvoiceSettingsRequest
|
|
@@ -5549,7 +6384,7 @@ export type SaveInvoiceSettingsRequest = Message<"blueapi.billing.v1.SaveInvoice
|
|
|
5549
6384
|
* Use `create(SaveInvoiceSettingsRequestSchema)` to create a new message.
|
|
5550
6385
|
*/
|
|
5551
6386
|
export const SaveInvoiceSettingsRequestSchema: GenMessage<SaveInvoiceSettingsRequest> = /*@__PURE__*/
|
|
5552
|
-
messageDesc(file_billing_v1_billing,
|
|
6387
|
+
messageDesc(file_billing_v1_billing, 166);
|
|
5553
6388
|
|
|
5554
6389
|
/**
|
|
5555
6390
|
* @generated from message blueapi.billing.v1.InvoiceSettings
|
|
@@ -5689,7 +6524,7 @@ export type InvoiceSettings = Message<"blueapi.billing.v1.InvoiceSettings"> & {
|
|
|
5689
6524
|
* Use `create(InvoiceSettingsSchema)` to create a new message.
|
|
5690
6525
|
*/
|
|
5691
6526
|
export const InvoiceSettingsSchema: GenMessage<InvoiceSettings> = /*@__PURE__*/
|
|
5692
|
-
messageDesc(file_billing_v1_billing,
|
|
6527
|
+
messageDesc(file_billing_v1_billing, 167);
|
|
5693
6528
|
|
|
5694
6529
|
/**
|
|
5695
6530
|
* @generated from message blueapi.billing.v1.BasicInformation
|
|
@@ -5761,7 +6596,7 @@ export type BasicInformation = Message<"blueapi.billing.v1.BasicInformation"> &
|
|
|
5761
6596
|
* Use `create(BasicInformationSchema)` to create a new message.
|
|
5762
6597
|
*/
|
|
5763
6598
|
export const BasicInformationSchema: GenMessage<BasicInformation> = /*@__PURE__*/
|
|
5764
|
-
messageDesc(file_billing_v1_billing,
|
|
6599
|
+
messageDesc(file_billing_v1_billing, 168);
|
|
5765
6600
|
|
|
5766
6601
|
/**
|
|
5767
6602
|
* @generated from message blueapi.billing.v1.UpdateBillingGroupBasicInformationRequest
|
|
@@ -5783,7 +6618,7 @@ export type UpdateBillingGroupBasicInformationRequest = Message<"blueapi.billing
|
|
|
5783
6618
|
* Use `create(UpdateBillingGroupBasicInformationRequestSchema)` to create a new message.
|
|
5784
6619
|
*/
|
|
5785
6620
|
export const UpdateBillingGroupBasicInformationRequestSchema: GenMessage<UpdateBillingGroupBasicInformationRequest> = /*@__PURE__*/
|
|
5786
|
-
messageDesc(file_billing_v1_billing,
|
|
6621
|
+
messageDesc(file_billing_v1_billing, 169);
|
|
5787
6622
|
|
|
5788
6623
|
/**
|
|
5789
6624
|
* @generated from message blueapi.billing.v1.UpdateBillingGroupCustomFieldsRequest
|
|
@@ -5805,7 +6640,7 @@ export type UpdateBillingGroupCustomFieldsRequest = Message<"blueapi.billing.v1.
|
|
|
5805
6640
|
* Use `create(UpdateBillingGroupCustomFieldsRequestSchema)` to create a new message.
|
|
5806
6641
|
*/
|
|
5807
6642
|
export const UpdateBillingGroupCustomFieldsRequestSchema: GenMessage<UpdateBillingGroupCustomFieldsRequest> = /*@__PURE__*/
|
|
5808
|
-
messageDesc(file_billing_v1_billing,
|
|
6643
|
+
messageDesc(file_billing_v1_billing, 170);
|
|
5809
6644
|
|
|
5810
6645
|
/**
|
|
5811
6646
|
* @generated from message blueapi.billing.v1.UpdateBillingGroupFreeFormatRequest
|
|
@@ -5832,7 +6667,7 @@ export type UpdateBillingGroupFreeFormatRequest = Message<"blueapi.billing.v1.Up
|
|
|
5832
6667
|
* Use `create(UpdateBillingGroupFreeFormatRequestSchema)` to create a new message.
|
|
5833
6668
|
*/
|
|
5834
6669
|
export const UpdateBillingGroupFreeFormatRequestSchema: GenMessage<UpdateBillingGroupFreeFormatRequest> = /*@__PURE__*/
|
|
5835
|
-
messageDesc(file_billing_v1_billing,
|
|
6670
|
+
messageDesc(file_billing_v1_billing, 171);
|
|
5836
6671
|
|
|
5837
6672
|
/**
|
|
5838
6673
|
* @generated from message blueapi.billing.v1.UpdateBillingGroupLinkedResourcesRequest
|
|
@@ -5885,7 +6720,7 @@ export type UpdateBillingGroupLinkedResourcesRequest = Message<"blueapi.billing.
|
|
|
5885
6720
|
* Use `create(UpdateBillingGroupLinkedResourcesRequestSchema)` to create a new message.
|
|
5886
6721
|
*/
|
|
5887
6722
|
export const UpdateBillingGroupLinkedResourcesRequestSchema: GenMessage<UpdateBillingGroupLinkedResourcesRequest> = /*@__PURE__*/
|
|
5888
|
-
messageDesc(file_billing_v1_billing,
|
|
6723
|
+
messageDesc(file_billing_v1_billing, 172);
|
|
5889
6724
|
|
|
5890
6725
|
/**
|
|
5891
6726
|
* @generated from message blueapi.billing.v1.UpdateBillingGroupInvoiceSettingsRequest
|
|
@@ -5924,7 +6759,7 @@ export type UpdateBillingGroupInvoiceSettingsRequest = Message<"blueapi.billing.
|
|
|
5924
6759
|
* Use `create(UpdateBillingGroupInvoiceSettingsRequestSchema)` to create a new message.
|
|
5925
6760
|
*/
|
|
5926
6761
|
export const UpdateBillingGroupInvoiceSettingsRequestSchema: GenMessage<UpdateBillingGroupInvoiceSettingsRequest> = /*@__PURE__*/
|
|
5927
|
-
messageDesc(file_billing_v1_billing,
|
|
6762
|
+
messageDesc(file_billing_v1_billing, 173);
|
|
5928
6763
|
|
|
5929
6764
|
/**
|
|
5930
6765
|
* @generated from message blueapi.billing.v1.UpdateBillingGroupResellerChargesRequest
|
|
@@ -5951,7 +6786,7 @@ export type UpdateBillingGroupResellerChargesRequest = Message<"blueapi.billing.
|
|
|
5951
6786
|
* Use `create(UpdateBillingGroupResellerChargesRequestSchema)` to create a new message.
|
|
5952
6787
|
*/
|
|
5953
6788
|
export const UpdateBillingGroupResellerChargesRequestSchema: GenMessage<UpdateBillingGroupResellerChargesRequest> = /*@__PURE__*/
|
|
5954
|
-
messageDesc(file_billing_v1_billing,
|
|
6789
|
+
messageDesc(file_billing_v1_billing, 174);
|
|
5955
6790
|
|
|
5956
6791
|
/**
|
|
5957
6792
|
* @generated from message blueapi.billing.v1.UpdateBillingGroupAdditionalChargesRequest
|
|
@@ -5985,7 +6820,7 @@ export type UpdateBillingGroupAdditionalChargesRequest = Message<"blueapi.billin
|
|
|
5985
6820
|
* Use `create(UpdateBillingGroupAdditionalChargesRequestSchema)` to create a new message.
|
|
5986
6821
|
*/
|
|
5987
6822
|
export const UpdateBillingGroupAdditionalChargesRequestSchema: GenMessage<UpdateBillingGroupAdditionalChargesRequest> = /*@__PURE__*/
|
|
5988
|
-
messageDesc(file_billing_v1_billing,
|
|
6823
|
+
messageDesc(file_billing_v1_billing, 175);
|
|
5989
6824
|
|
|
5990
6825
|
/**
|
|
5991
6826
|
* CustomizedBillingServiceBillingSetting
|
|
@@ -6022,7 +6857,7 @@ export type UpdateBillingGroupAdditionalChargesRequest_CustomizedBillingServiceB
|
|
|
6022
6857
|
* Use `create(UpdateBillingGroupAdditionalChargesRequest_CustomizedBillingServiceBillingSettingSchema)` to create a new message.
|
|
6023
6858
|
*/
|
|
6024
6859
|
export const UpdateBillingGroupAdditionalChargesRequest_CustomizedBillingServiceBillingSettingSchema: GenMessage<UpdateBillingGroupAdditionalChargesRequest_CustomizedBillingServiceBillingSetting> = /*@__PURE__*/
|
|
6025
|
-
messageDesc(file_billing_v1_billing,
|
|
6860
|
+
messageDesc(file_billing_v1_billing, 175, 0);
|
|
6026
6861
|
|
|
6027
6862
|
/**
|
|
6028
6863
|
* @generated from message blueapi.billing.v1.DeleteBillingGroupRequest
|
|
@@ -6039,7 +6874,7 @@ export type DeleteBillingGroupRequest = Message<"blueapi.billing.v1.DeleteBillin
|
|
|
6039
6874
|
* Use `create(DeleteBillingGroupRequestSchema)` to create a new message.
|
|
6040
6875
|
*/
|
|
6041
6876
|
export const DeleteBillingGroupRequestSchema: GenMessage<DeleteBillingGroupRequest> = /*@__PURE__*/
|
|
6042
|
-
messageDesc(file_billing_v1_billing,
|
|
6877
|
+
messageDesc(file_billing_v1_billing, 176);
|
|
6043
6878
|
|
|
6044
6879
|
/**
|
|
6045
6880
|
* Request message for the GetBillingGroupAccountSupportPlan rpc.
|
|
@@ -6067,7 +6902,7 @@ export type GetBillingGroupAccountSupportPlanRequest = Message<"blueapi.billing.
|
|
|
6067
6902
|
* Use `create(GetBillingGroupAccountSupportPlanRequestSchema)` to create a new message.
|
|
6068
6903
|
*/
|
|
6069
6904
|
export const GetBillingGroupAccountSupportPlanRequestSchema: GenMessage<GetBillingGroupAccountSupportPlanRequest> = /*@__PURE__*/
|
|
6070
|
-
messageDesc(file_billing_v1_billing,
|
|
6905
|
+
messageDesc(file_billing_v1_billing, 177);
|
|
6071
6906
|
|
|
6072
6907
|
/**
|
|
6073
6908
|
* Response message for the GetBillingGroupAccountSupportPlan rpc.
|
|
@@ -6109,7 +6944,7 @@ export type GetBillingGroupAccountSupportPlanResponse = Message<"blueapi.billing
|
|
|
6109
6944
|
* Use `create(GetBillingGroupAccountSupportPlanResponseSchema)` to create a new message.
|
|
6110
6945
|
*/
|
|
6111
6946
|
export const GetBillingGroupAccountSupportPlanResponseSchema: GenMessage<GetBillingGroupAccountSupportPlanResponse> = /*@__PURE__*/
|
|
6112
|
-
messageDesc(file_billing_v1_billing,
|
|
6947
|
+
messageDesc(file_billing_v1_billing, 178);
|
|
6113
6948
|
|
|
6114
6949
|
/**
|
|
6115
6950
|
* Request message for the UpdateBillingGroupAccountSupportPlan rpc.
|
|
@@ -6159,7 +6994,7 @@ export type UpdateBillingGroupAccountSupportPlanRequest = Message<"blueapi.billi
|
|
|
6159
6994
|
* Use `create(UpdateBillingGroupAccountSupportPlanRequestSchema)` to create a new message.
|
|
6160
6995
|
*/
|
|
6161
6996
|
export const UpdateBillingGroupAccountSupportPlanRequestSchema: GenMessage<UpdateBillingGroupAccountSupportPlanRequest> = /*@__PURE__*/
|
|
6162
|
-
messageDesc(file_billing_v1_billing,
|
|
6997
|
+
messageDesc(file_billing_v1_billing, 179);
|
|
6163
6998
|
|
|
6164
6999
|
/**
|
|
6165
7000
|
* @generated from message blueapi.billing.v1.GetAnnouncementsRequest
|
|
@@ -6178,7 +7013,7 @@ export type GetAnnouncementsRequest = Message<"blueapi.billing.v1.GetAnnouncemen
|
|
|
6178
7013
|
* Use `create(GetAnnouncementsRequestSchema)` to create a new message.
|
|
6179
7014
|
*/
|
|
6180
7015
|
export const GetAnnouncementsRequestSchema: GenMessage<GetAnnouncementsRequest> = /*@__PURE__*/
|
|
6181
|
-
messageDesc(file_billing_v1_billing,
|
|
7016
|
+
messageDesc(file_billing_v1_billing, 180);
|
|
6182
7017
|
|
|
6183
7018
|
/**
|
|
6184
7019
|
* @generated from message blueapi.billing.v1.CreateAnnouncementRequest
|
|
@@ -6246,7 +7081,7 @@ export type CreateAnnouncementRequest = Message<"blueapi.billing.v1.CreateAnnoun
|
|
|
6246
7081
|
* Use `create(CreateAnnouncementRequestSchema)` to create a new message.
|
|
6247
7082
|
*/
|
|
6248
7083
|
export const CreateAnnouncementRequestSchema: GenMessage<CreateAnnouncementRequest> = /*@__PURE__*/
|
|
6249
|
-
messageDesc(file_billing_v1_billing,
|
|
7084
|
+
messageDesc(file_billing_v1_billing, 181);
|
|
6250
7085
|
|
|
6251
7086
|
/**
|
|
6252
7087
|
* @generated from message blueapi.billing.v1.UpdateAnnouncementRequest
|
|
@@ -6270,7 +7105,7 @@ export type UpdateAnnouncementRequest = Message<"blueapi.billing.v1.UpdateAnnoun
|
|
|
6270
7105
|
* Use `create(UpdateAnnouncementRequestSchema)` to create a new message.
|
|
6271
7106
|
*/
|
|
6272
7107
|
export const UpdateAnnouncementRequestSchema: GenMessage<UpdateAnnouncementRequest> = /*@__PURE__*/
|
|
6273
|
-
messageDesc(file_billing_v1_billing,
|
|
7108
|
+
messageDesc(file_billing_v1_billing, 182);
|
|
6274
7109
|
|
|
6275
7110
|
/**
|
|
6276
7111
|
* @generated from message blueapi.billing.v1.UpdateAnnouncementsStatusRequest
|
|
@@ -6292,7 +7127,7 @@ export type UpdateAnnouncementsStatusRequest = Message<"blueapi.billing.v1.Updat
|
|
|
6292
7127
|
* Use `create(UpdateAnnouncementsStatusRequestSchema)` to create a new message.
|
|
6293
7128
|
*/
|
|
6294
7129
|
export const UpdateAnnouncementsStatusRequestSchema: GenMessage<UpdateAnnouncementsStatusRequest> = /*@__PURE__*/
|
|
6295
|
-
messageDesc(file_billing_v1_billing,
|
|
7130
|
+
messageDesc(file_billing_v1_billing, 183);
|
|
6296
7131
|
|
|
6297
7132
|
/**
|
|
6298
7133
|
* @generated from message blueapi.billing.v1.UpdateAnnouncementDateRequest
|
|
@@ -6316,7 +7151,7 @@ export type UpdateAnnouncementDateRequest = Message<"blueapi.billing.v1.UpdateAn
|
|
|
6316
7151
|
* Use `create(UpdateAnnouncementDateRequestSchema)` to create a new message.
|
|
6317
7152
|
*/
|
|
6318
7153
|
export const UpdateAnnouncementDateRequestSchema: GenMessage<UpdateAnnouncementDateRequest> = /*@__PURE__*/
|
|
6319
|
-
messageDesc(file_billing_v1_billing,
|
|
7154
|
+
messageDesc(file_billing_v1_billing, 184);
|
|
6320
7155
|
|
|
6321
7156
|
/**
|
|
6322
7157
|
* @generated from message blueapi.billing.v1.DeleteAnnouncementRequest
|
|
@@ -6335,7 +7170,7 @@ export type DeleteAnnouncementRequest = Message<"blueapi.billing.v1.DeleteAnnoun
|
|
|
6335
7170
|
* Use `create(DeleteAnnouncementRequestSchema)` to create a new message.
|
|
6336
7171
|
*/
|
|
6337
7172
|
export const DeleteAnnouncementRequestSchema: GenMessage<DeleteAnnouncementRequest> = /*@__PURE__*/
|
|
6338
|
-
messageDesc(file_billing_v1_billing,
|
|
7173
|
+
messageDesc(file_billing_v1_billing, 185);
|
|
6339
7174
|
|
|
6340
7175
|
/**
|
|
6341
7176
|
* @generated from message blueapi.billing.v1.Announcement
|
|
@@ -6412,7 +7247,7 @@ export type Announcement = Message<"blueapi.billing.v1.Announcement"> & {
|
|
|
6412
7247
|
* Use `create(AnnouncementSchema)` to create a new message.
|
|
6413
7248
|
*/
|
|
6414
7249
|
export const AnnouncementSchema: GenMessage<Announcement> = /*@__PURE__*/
|
|
6415
|
-
messageDesc(file_billing_v1_billing,
|
|
7250
|
+
messageDesc(file_billing_v1_billing, 186);
|
|
6416
7251
|
|
|
6417
7252
|
/**
|
|
6418
7253
|
* @generated from message blueapi.billing.v1.GetBillingGroupAnnouncementsRequest
|
|
@@ -6431,7 +7266,7 @@ export type GetBillingGroupAnnouncementsRequest = Message<"blueapi.billing.v1.Ge
|
|
|
6431
7266
|
* Use `create(GetBillingGroupAnnouncementsRequestSchema)` to create a new message.
|
|
6432
7267
|
*/
|
|
6433
7268
|
export const GetBillingGroupAnnouncementsRequestSchema: GenMessage<GetBillingGroupAnnouncementsRequest> = /*@__PURE__*/
|
|
6434
|
-
messageDesc(file_billing_v1_billing,
|
|
7269
|
+
messageDesc(file_billing_v1_billing, 187);
|
|
6435
7270
|
|
|
6436
7271
|
/**
|
|
6437
7272
|
* @generated from message blueapi.billing.v1.GetBillingGroupAnnouncementsResponse
|
|
@@ -6463,7 +7298,7 @@ export type GetBillingGroupAnnouncementsResponse = Message<"blueapi.billing.v1.G
|
|
|
6463
7298
|
* Use `create(GetBillingGroupAnnouncementsResponseSchema)` to create a new message.
|
|
6464
7299
|
*/
|
|
6465
7300
|
export const GetBillingGroupAnnouncementsResponseSchema: GenMessage<GetBillingGroupAnnouncementsResponse> = /*@__PURE__*/
|
|
6466
|
-
messageDesc(file_billing_v1_billing,
|
|
7301
|
+
messageDesc(file_billing_v1_billing, 188);
|
|
6467
7302
|
|
|
6468
7303
|
/**
|
|
6469
7304
|
* @generated from message blueapi.billing.v1.GetCreditsRequest
|
|
@@ -6476,7 +7311,7 @@ export type GetCreditsRequest = Message<"blueapi.billing.v1.GetCreditsRequest">
|
|
|
6476
7311
|
* Use `create(GetCreditsRequestSchema)` to create a new message.
|
|
6477
7312
|
*/
|
|
6478
7313
|
export const GetCreditsRequestSchema: GenMessage<GetCreditsRequest> = /*@__PURE__*/
|
|
6479
|
-
messageDesc(file_billing_v1_billing,
|
|
7314
|
+
messageDesc(file_billing_v1_billing, 189);
|
|
6480
7315
|
|
|
6481
7316
|
/**
|
|
6482
7317
|
* @generated from message blueapi.billing.v1.Credit
|
|
@@ -6538,7 +7373,7 @@ export type Credit = Message<"blueapi.billing.v1.Credit"> & {
|
|
|
6538
7373
|
* Use `create(CreditSchema)` to create a new message.
|
|
6539
7374
|
*/
|
|
6540
7375
|
export const CreditSchema: GenMessage<Credit> = /*@__PURE__*/
|
|
6541
|
-
messageDesc(file_billing_v1_billing,
|
|
7376
|
+
messageDesc(file_billing_v1_billing, 190);
|
|
6542
7377
|
|
|
6543
7378
|
/**
|
|
6544
7379
|
* @generated from message blueapi.billing.v1.GetCsvSettingsRequest
|
|
@@ -6551,7 +7386,7 @@ export type GetCsvSettingsRequest = Message<"blueapi.billing.v1.GetCsvSettingsRe
|
|
|
6551
7386
|
* Use `create(GetCsvSettingsRequestSchema)` to create a new message.
|
|
6552
7387
|
*/
|
|
6553
7388
|
export const GetCsvSettingsRequestSchema: GenMessage<GetCsvSettingsRequest> = /*@__PURE__*/
|
|
6554
|
-
messageDesc(file_billing_v1_billing,
|
|
7389
|
+
messageDesc(file_billing_v1_billing, 191);
|
|
6555
7390
|
|
|
6556
7391
|
/**
|
|
6557
7392
|
* @generated from message blueapi.billing.v1.CsvSetting
|
|
@@ -6578,7 +7413,7 @@ export type CsvSetting = Message<"blueapi.billing.v1.CsvSetting"> & {
|
|
|
6578
7413
|
* Use `create(CsvSettingSchema)` to create a new message.
|
|
6579
7414
|
*/
|
|
6580
7415
|
export const CsvSettingSchema: GenMessage<CsvSetting> = /*@__PURE__*/
|
|
6581
|
-
messageDesc(file_billing_v1_billing,
|
|
7416
|
+
messageDesc(file_billing_v1_billing, 192);
|
|
6582
7417
|
|
|
6583
7418
|
/**
|
|
6584
7419
|
* @generated from message blueapi.billing.v1.CsvSetting.Column
|
|
@@ -6610,7 +7445,7 @@ export type CsvSetting_Column = Message<"blueapi.billing.v1.CsvSetting.Column">
|
|
|
6610
7445
|
* Use `create(CsvSetting_ColumnSchema)` to create a new message.
|
|
6611
7446
|
*/
|
|
6612
7447
|
export const CsvSetting_ColumnSchema: GenMessage<CsvSetting_Column> = /*@__PURE__*/
|
|
6613
|
-
messageDesc(file_billing_v1_billing,
|
|
7448
|
+
messageDesc(file_billing_v1_billing, 192, 0);
|
|
6614
7449
|
|
|
6615
7450
|
/**
|
|
6616
7451
|
* @generated from message blueapi.billing.v1.UpdateInvoiceExchangeRateRequest
|
|
@@ -6651,7 +7486,7 @@ export type UpdateInvoiceExchangeRateRequest = Message<"blueapi.billing.v1.Updat
|
|
|
6651
7486
|
* Use `create(UpdateInvoiceExchangeRateRequestSchema)` to create a new message.
|
|
6652
7487
|
*/
|
|
6653
7488
|
export const UpdateInvoiceExchangeRateRequestSchema: GenMessage<UpdateInvoiceExchangeRateRequest> = /*@__PURE__*/
|
|
6654
|
-
messageDesc(file_billing_v1_billing,
|
|
7489
|
+
messageDesc(file_billing_v1_billing, 193);
|
|
6655
7490
|
|
|
6656
7491
|
/**
|
|
6657
7492
|
* @generated from message blueapi.billing.v1.ConvertInvoiceToPdfRequest
|
|
@@ -6685,7 +7520,7 @@ export type ConvertInvoiceToPdfRequest = Message<"blueapi.billing.v1.ConvertInvo
|
|
|
6685
7520
|
* Use `create(ConvertInvoiceToPdfRequestSchema)` to create a new message.
|
|
6686
7521
|
*/
|
|
6687
7522
|
export const ConvertInvoiceToPdfRequestSchema: GenMessage<ConvertInvoiceToPdfRequest> = /*@__PURE__*/
|
|
6688
|
-
messageDesc(file_billing_v1_billing,
|
|
7523
|
+
messageDesc(file_billing_v1_billing, 194);
|
|
6689
7524
|
|
|
6690
7525
|
/**
|
|
6691
7526
|
* @generated from message blueapi.billing.v1.ConvertInvoiceToPdfResponse
|
|
@@ -6710,7 +7545,7 @@ export type ConvertInvoiceToPdfResponse = Message<"blueapi.billing.v1.ConvertInv
|
|
|
6710
7545
|
* Use `create(ConvertInvoiceToPdfResponseSchema)` to create a new message.
|
|
6711
7546
|
*/
|
|
6712
7547
|
export const ConvertInvoiceToPdfResponseSchema: GenMessage<ConvertInvoiceToPdfResponse> = /*@__PURE__*/
|
|
6713
|
-
messageDesc(file_billing_v1_billing,
|
|
7548
|
+
messageDesc(file_billing_v1_billing, 195);
|
|
6714
7549
|
|
|
6715
7550
|
/**
|
|
6716
7551
|
* Request message for the Billing.ListBillingGroupsPaginated rpc.
|
|
@@ -6801,7 +7636,7 @@ export type ListBillingGroupsPaginatedRequest = Message<"blueapi.billing.v1.List
|
|
|
6801
7636
|
* Use `create(ListBillingGroupsPaginatedRequestSchema)` to create a new message.
|
|
6802
7637
|
*/
|
|
6803
7638
|
export const ListBillingGroupsPaginatedRequestSchema: GenMessage<ListBillingGroupsPaginatedRequest> = /*@__PURE__*/
|
|
6804
|
-
messageDesc(file_billing_v1_billing,
|
|
7639
|
+
messageDesc(file_billing_v1_billing, 196);
|
|
6805
7640
|
|
|
6806
7641
|
/**
|
|
6807
7642
|
* Response row for paginated billing groups table.
|
|
@@ -6857,7 +7692,7 @@ export type BillingGroupListItem = Message<"blueapi.billing.v1.BillingGroupListI
|
|
|
6857
7692
|
* Use `create(BillingGroupListItemSchema)` to create a new message.
|
|
6858
7693
|
*/
|
|
6859
7694
|
export const BillingGroupListItemSchema: GenMessage<BillingGroupListItem> = /*@__PURE__*/
|
|
6860
|
-
messageDesc(file_billing_v1_billing,
|
|
7695
|
+
messageDesc(file_billing_v1_billing, 197);
|
|
6861
7696
|
|
|
6862
7697
|
/**
|
|
6863
7698
|
* Vendor availability entries.
|
|
@@ -6885,7 +7720,7 @@ export type BillingGroupListItem_BillingGroupVendor = Message<"blueapi.billing.v
|
|
|
6885
7720
|
* Use `create(BillingGroupListItem_BillingGroupVendorSchema)` to create a new message.
|
|
6886
7721
|
*/
|
|
6887
7722
|
export const BillingGroupListItem_BillingGroupVendorSchema: GenMessage<BillingGroupListItem_BillingGroupVendor> = /*@__PURE__*/
|
|
6888
|
-
messageDesc(file_billing_v1_billing,
|
|
7723
|
+
messageDesc(file_billing_v1_billing, 197, 0);
|
|
6889
7724
|
|
|
6890
7725
|
/**
|
|
6891
7726
|
* Response message for the Billing.ListBillingGroupsPaginated rpc.
|
|
@@ -6934,7 +7769,7 @@ export type ListBillingGroupsPaginatedResponse = Message<"blueapi.billing.v1.Lis
|
|
|
6934
7769
|
* Use `create(ListBillingGroupsPaginatedResponseSchema)` to create a new message.
|
|
6935
7770
|
*/
|
|
6936
7771
|
export const ListBillingGroupsPaginatedResponseSchema: GenMessage<ListBillingGroupsPaginatedResponse> = /*@__PURE__*/
|
|
6937
|
-
messageDesc(file_billing_v1_billing,
|
|
7772
|
+
messageDesc(file_billing_v1_billing, 198);
|
|
6938
7773
|
|
|
6939
7774
|
/**
|
|
6940
7775
|
* @generated from message blueapi.billing.v1.ChildBillingGroupBasicInformation
|
|
@@ -6988,7 +7823,7 @@ export type ChildBillingGroupBasicInformation = Message<"blueapi.billing.v1.Chil
|
|
|
6988
7823
|
* Use `create(ChildBillingGroupBasicInformationSchema)` to create a new message.
|
|
6989
7824
|
*/
|
|
6990
7825
|
export const ChildBillingGroupBasicInformationSchema: GenMessage<ChildBillingGroupBasicInformation> = /*@__PURE__*/
|
|
6991
|
-
messageDesc(file_billing_v1_billing,
|
|
7826
|
+
messageDesc(file_billing_v1_billing, 199);
|
|
6992
7827
|
|
|
6993
7828
|
/**
|
|
6994
7829
|
* @generated from message blueapi.billing.v1.CustomizedBillingServiceBillingGroup
|
|
@@ -7028,7 +7863,7 @@ export type CustomizedBillingServiceBillingGroup = Message<"blueapi.billing.v1.C
|
|
|
7028
7863
|
* Use `create(CustomizedBillingServiceBillingGroupSchema)` to create a new message.
|
|
7029
7864
|
*/
|
|
7030
7865
|
export const CustomizedBillingServiceBillingGroupSchema: GenMessage<CustomizedBillingServiceBillingGroup> = /*@__PURE__*/
|
|
7031
|
-
messageDesc(file_billing_v1_billing,
|
|
7866
|
+
messageDesc(file_billing_v1_billing, 200);
|
|
7032
7867
|
|
|
7033
7868
|
/**
|
|
7034
7869
|
* Contains basic information and invoice settings related data.
|
|
@@ -7072,7 +7907,7 @@ export type ChildBillingGroup = Message<"blueapi.billing.v1.ChildBillingGroup">
|
|
|
7072
7907
|
* Use `create(ChildBillingGroupSchema)` to create a new message.
|
|
7073
7908
|
*/
|
|
7074
7909
|
export const ChildBillingGroupSchema: GenMessage<ChildBillingGroup> = /*@__PURE__*/
|
|
7075
|
-
messageDesc(file_billing_v1_billing,
|
|
7910
|
+
messageDesc(file_billing_v1_billing, 201);
|
|
7076
7911
|
|
|
7077
7912
|
/**
|
|
7078
7913
|
* @generated from message blueapi.billing.v1.ChildBillingGroupInvoiceSettings
|
|
@@ -7096,6 +7931,13 @@ export type ChildBillingGroupInvoiceSettings = Message<"blueapi.billing.v1.Child
|
|
|
7096
7931
|
* @generated from field: repeated blueapi.api.ripple.v1.BillingGroupAccountSupportPlan accountSupportPlanSettings = 3;
|
|
7097
7932
|
*/
|
|
7098
7933
|
accountSupportPlanSettings: BillingGroupAccountSupportPlan[];
|
|
7934
|
+
|
|
7935
|
+
/**
|
|
7936
|
+
* Azure invoice settings
|
|
7937
|
+
*
|
|
7938
|
+
* @generated from field: blueapi.billing.v1.BillingGroupVendoredInvoiceSetting azure = 4;
|
|
7939
|
+
*/
|
|
7940
|
+
azure?: BillingGroupVendoredInvoiceSetting;
|
|
7099
7941
|
};
|
|
7100
7942
|
|
|
7101
7943
|
/**
|
|
@@ -7103,7 +7945,7 @@ export type ChildBillingGroupInvoiceSettings = Message<"blueapi.billing.v1.Child
|
|
|
7103
7945
|
* Use `create(ChildBillingGroupInvoiceSettingsSchema)` to create a new message.
|
|
7104
7946
|
*/
|
|
7105
7947
|
export const ChildBillingGroupInvoiceSettingsSchema: GenMessage<ChildBillingGroupInvoiceSettings> = /*@__PURE__*/
|
|
7106
|
-
messageDesc(file_billing_v1_billing,
|
|
7948
|
+
messageDesc(file_billing_v1_billing, 202);
|
|
7107
7949
|
|
|
7108
7950
|
/**
|
|
7109
7951
|
* @generated from message blueapi.billing.v1.CreateChildBillingGroupRequest
|
|
@@ -7143,7 +7985,7 @@ export type CreateChildBillingGroupRequest = Message<"blueapi.billing.v1.CreateC
|
|
|
7143
7985
|
* Use `create(CreateChildBillingGroupRequestSchema)` to create a new message.
|
|
7144
7986
|
*/
|
|
7145
7987
|
export const CreateChildBillingGroupRequestSchema: GenMessage<CreateChildBillingGroupRequest> = /*@__PURE__*/
|
|
7146
|
-
messageDesc(file_billing_v1_billing,
|
|
7988
|
+
messageDesc(file_billing_v1_billing, 203);
|
|
7147
7989
|
|
|
7148
7990
|
/**
|
|
7149
7991
|
* @generated from message blueapi.billing.v1.CreateChildBillingGroupResponse
|
|
@@ -7156,7 +7998,7 @@ export type CreateChildBillingGroupResponse = Message<"blueapi.billing.v1.Create
|
|
|
7156
7998
|
* Use `create(CreateChildBillingGroupResponseSchema)` to create a new message.
|
|
7157
7999
|
*/
|
|
7158
8000
|
export const CreateChildBillingGroupResponseSchema: GenMessage<CreateChildBillingGroupResponse> = /*@__PURE__*/
|
|
7159
|
-
messageDesc(file_billing_v1_billing,
|
|
8001
|
+
messageDesc(file_billing_v1_billing, 204);
|
|
7160
8002
|
|
|
7161
8003
|
/**
|
|
7162
8004
|
* @generated from message blueapi.billing.v1.GetChildBillingGroupRequest
|
|
@@ -7175,7 +8017,7 @@ export type GetChildBillingGroupRequest = Message<"blueapi.billing.v1.GetChildBi
|
|
|
7175
8017
|
* Use `create(GetChildBillingGroupRequestSchema)` to create a new message.
|
|
7176
8018
|
*/
|
|
7177
8019
|
export const GetChildBillingGroupRequestSchema: GenMessage<GetChildBillingGroupRequest> = /*@__PURE__*/
|
|
7178
|
-
messageDesc(file_billing_v1_billing,
|
|
8020
|
+
messageDesc(file_billing_v1_billing, 205);
|
|
7179
8021
|
|
|
7180
8022
|
/**
|
|
7181
8023
|
* @generated from message blueapi.billing.v1.GetChildBillingGroupResponse
|
|
@@ -7192,7 +8034,7 @@ export type GetChildBillingGroupResponse = Message<"blueapi.billing.v1.GetChildB
|
|
|
7192
8034
|
* Use `create(GetChildBillingGroupResponseSchema)` to create a new message.
|
|
7193
8035
|
*/
|
|
7194
8036
|
export const GetChildBillingGroupResponseSchema: GenMessage<GetChildBillingGroupResponse> = /*@__PURE__*/
|
|
7195
|
-
messageDesc(file_billing_v1_billing,
|
|
8037
|
+
messageDesc(file_billing_v1_billing, 206);
|
|
7196
8038
|
|
|
7197
8039
|
/**
|
|
7198
8040
|
* @generated from message blueapi.billing.v1.ReadChildBillingGroupsRequest
|
|
@@ -7220,7 +8062,7 @@ export type ReadChildBillingGroupsRequest = Message<"blueapi.billing.v1.ReadChil
|
|
|
7220
8062
|
* Use `create(ReadChildBillingGroupsRequestSchema)` to create a new message.
|
|
7221
8063
|
*/
|
|
7222
8064
|
export const ReadChildBillingGroupsRequestSchema: GenMessage<ReadChildBillingGroupsRequest> = /*@__PURE__*/
|
|
7223
|
-
messageDesc(file_billing_v1_billing,
|
|
8065
|
+
messageDesc(file_billing_v1_billing, 207);
|
|
7224
8066
|
|
|
7225
8067
|
/**
|
|
7226
8068
|
* @generated from message blueapi.billing.v1.UpdateChildBillingGroupRequest
|
|
@@ -7253,7 +8095,7 @@ export type UpdateChildBillingGroupRequest = Message<"blueapi.billing.v1.UpdateC
|
|
|
7253
8095
|
* Use `create(UpdateChildBillingGroupRequestSchema)` to create a new message.
|
|
7254
8096
|
*/
|
|
7255
8097
|
export const UpdateChildBillingGroupRequestSchema: GenMessage<UpdateChildBillingGroupRequest> = /*@__PURE__*/
|
|
7256
|
-
messageDesc(file_billing_v1_billing,
|
|
8098
|
+
messageDesc(file_billing_v1_billing, 208);
|
|
7257
8099
|
|
|
7258
8100
|
/**
|
|
7259
8101
|
* @generated from message blueapi.billing.v1.UpdateChildBillingGroupResponse
|
|
@@ -7266,7 +8108,7 @@ export type UpdateChildBillingGroupResponse = Message<"blueapi.billing.v1.Update
|
|
|
7266
8108
|
* Use `create(UpdateChildBillingGroupResponseSchema)` to create a new message.
|
|
7267
8109
|
*/
|
|
7268
8110
|
export const UpdateChildBillingGroupResponseSchema: GenMessage<UpdateChildBillingGroupResponse> = /*@__PURE__*/
|
|
7269
|
-
messageDesc(file_billing_v1_billing,
|
|
8111
|
+
messageDesc(file_billing_v1_billing, 209);
|
|
7270
8112
|
|
|
7271
8113
|
/**
|
|
7272
8114
|
* @generated from message blueapi.billing.v1.DeleteChildBillingGroupRequest
|
|
@@ -7285,7 +8127,7 @@ export type DeleteChildBillingGroupRequest = Message<"blueapi.billing.v1.DeleteC
|
|
|
7285
8127
|
* Use `create(DeleteChildBillingGroupRequestSchema)` to create a new message.
|
|
7286
8128
|
*/
|
|
7287
8129
|
export const DeleteChildBillingGroupRequestSchema: GenMessage<DeleteChildBillingGroupRequest> = /*@__PURE__*/
|
|
7288
|
-
messageDesc(file_billing_v1_billing,
|
|
8130
|
+
messageDesc(file_billing_v1_billing, 210);
|
|
7289
8131
|
|
|
7290
8132
|
/**
|
|
7291
8133
|
* @generated from message blueapi.billing.v1.DeleteChildBillingGroupResponse
|
|
@@ -7298,7 +8140,7 @@ export type DeleteChildBillingGroupResponse = Message<"blueapi.billing.v1.Delete
|
|
|
7298
8140
|
* Use `create(DeleteChildBillingGroupResponseSchema)` to create a new message.
|
|
7299
8141
|
*/
|
|
7300
8142
|
export const DeleteChildBillingGroupResponseSchema: GenMessage<DeleteChildBillingGroupResponse> = /*@__PURE__*/
|
|
7301
|
-
messageDesc(file_billing_v1_billing,
|
|
8143
|
+
messageDesc(file_billing_v1_billing, 211);
|
|
7302
8144
|
|
|
7303
8145
|
/**
|
|
7304
8146
|
* @generated from message blueapi.billing.v1.UpdateChildBillingGroupInvoiceSettingsRequest
|
|
@@ -7331,7 +8173,7 @@ export type UpdateChildBillingGroupInvoiceSettingsRequest = Message<"blueapi.bil
|
|
|
7331
8173
|
* Use `create(UpdateChildBillingGroupInvoiceSettingsRequestSchema)` to create a new message.
|
|
7332
8174
|
*/
|
|
7333
8175
|
export const UpdateChildBillingGroupInvoiceSettingsRequestSchema: GenMessage<UpdateChildBillingGroupInvoiceSettingsRequest> = /*@__PURE__*/
|
|
7334
|
-
messageDesc(file_billing_v1_billing,
|
|
8176
|
+
messageDesc(file_billing_v1_billing, 212);
|
|
7335
8177
|
|
|
7336
8178
|
/**
|
|
7337
8179
|
* @generated from message blueapi.billing.v1.UpdateChildBillingGroupInvoiceSettingsResponse
|
|
@@ -7344,7 +8186,7 @@ export type UpdateChildBillingGroupInvoiceSettingsResponse = Message<"blueapi.bi
|
|
|
7344
8186
|
* Use `create(UpdateChildBillingGroupInvoiceSettingsResponseSchema)` to create a new message.
|
|
7345
8187
|
*/
|
|
7346
8188
|
export const UpdateChildBillingGroupInvoiceSettingsResponseSchema: GenMessage<UpdateChildBillingGroupInvoiceSettingsResponse> = /*@__PURE__*/
|
|
7347
|
-
messageDesc(file_billing_v1_billing,
|
|
8189
|
+
messageDesc(file_billing_v1_billing, 213);
|
|
7348
8190
|
|
|
7349
8191
|
/**
|
|
7350
8192
|
* @generated from message blueapi.billing.v1.SetChildBillingGroupCustomizedBillingServiceRequest
|
|
@@ -7384,7 +8226,7 @@ export type SetChildBillingGroupCustomizedBillingServiceRequest = Message<"bluea
|
|
|
7384
8226
|
* Use `create(SetChildBillingGroupCustomizedBillingServiceRequestSchema)` to create a new message.
|
|
7385
8227
|
*/
|
|
7386
8228
|
export const SetChildBillingGroupCustomizedBillingServiceRequestSchema: GenMessage<SetChildBillingGroupCustomizedBillingServiceRequest> = /*@__PURE__*/
|
|
7387
|
-
messageDesc(file_billing_v1_billing,
|
|
8229
|
+
messageDesc(file_billing_v1_billing, 214);
|
|
7388
8230
|
|
|
7389
8231
|
/**
|
|
7390
8232
|
* CustomizedBillingServiceBillingSetting
|
|
@@ -7421,7 +8263,7 @@ export type SetChildBillingGroupCustomizedBillingServiceRequest_CustomizedBillin
|
|
|
7421
8263
|
* Use `create(SetChildBillingGroupCustomizedBillingServiceRequest_CustomizedBillingServiceBillingSettingSchema)` to create a new message.
|
|
7422
8264
|
*/
|
|
7423
8265
|
export const SetChildBillingGroupCustomizedBillingServiceRequest_CustomizedBillingServiceBillingSettingSchema: GenMessage<SetChildBillingGroupCustomizedBillingServiceRequest_CustomizedBillingServiceBillingSetting> = /*@__PURE__*/
|
|
7424
|
-
messageDesc(file_billing_v1_billing,
|
|
8266
|
+
messageDesc(file_billing_v1_billing, 214, 0);
|
|
7425
8267
|
|
|
7426
8268
|
/**
|
|
7427
8269
|
* @generated from message blueapi.billing.v1.SetChildBillingGroupInvoiceServiceDiscountsRequest
|
|
@@ -7449,7 +8291,7 @@ export type SetChildBillingGroupInvoiceServiceDiscountsRequest = Message<"blueap
|
|
|
7449
8291
|
* Use `create(SetChildBillingGroupInvoiceServiceDiscountsRequestSchema)` to create a new message.
|
|
7450
8292
|
*/
|
|
7451
8293
|
export const SetChildBillingGroupInvoiceServiceDiscountsRequestSchema: GenMessage<SetChildBillingGroupInvoiceServiceDiscountsRequest> = /*@__PURE__*/
|
|
7452
|
-
messageDesc(file_billing_v1_billing,
|
|
8294
|
+
messageDesc(file_billing_v1_billing, 215);
|
|
7453
8295
|
|
|
7454
8296
|
/**
|
|
7455
8297
|
* @generated from message blueapi.billing.v1.SetChildBillingGroupAccountInvoiceServiceDiscountsRequest
|
|
@@ -7475,7 +8317,7 @@ export type SetChildBillingGroupAccountInvoiceServiceDiscountsRequest = Message<
|
|
|
7475
8317
|
* Use `create(SetChildBillingGroupAccountInvoiceServiceDiscountsRequestSchema)` to create a new message.
|
|
7476
8318
|
*/
|
|
7477
8319
|
export const SetChildBillingGroupAccountInvoiceServiceDiscountsRequestSchema: GenMessage<SetChildBillingGroupAccountInvoiceServiceDiscountsRequest> = /*@__PURE__*/
|
|
7478
|
-
messageDesc(file_billing_v1_billing,
|
|
8320
|
+
messageDesc(file_billing_v1_billing, 216);
|
|
7479
8321
|
|
|
7480
8322
|
/**
|
|
7481
8323
|
* @generated from message blueapi.billing.v1.GetChildBillingGroupCustomizedBillingServiceRequest
|
|
@@ -7501,7 +8343,7 @@ export type GetChildBillingGroupCustomizedBillingServiceRequest = Message<"bluea
|
|
|
7501
8343
|
* Use `create(GetChildBillingGroupCustomizedBillingServiceRequestSchema)` to create a new message.
|
|
7502
8344
|
*/
|
|
7503
8345
|
export const GetChildBillingGroupCustomizedBillingServiceRequestSchema: GenMessage<GetChildBillingGroupCustomizedBillingServiceRequest> = /*@__PURE__*/
|
|
7504
|
-
messageDesc(file_billing_v1_billing,
|
|
8346
|
+
messageDesc(file_billing_v1_billing, 217);
|
|
7505
8347
|
|
|
7506
8348
|
/**
|
|
7507
8349
|
* @generated from message blueapi.billing.v1.GetChildBillingGroupCustomizedBillingServiceResponse
|
|
@@ -7541,7 +8383,7 @@ export type GetChildBillingGroupCustomizedBillingServiceResponse = Message<"blue
|
|
|
7541
8383
|
* Use `create(GetChildBillingGroupCustomizedBillingServiceResponseSchema)` to create a new message.
|
|
7542
8384
|
*/
|
|
7543
8385
|
export const GetChildBillingGroupCustomizedBillingServiceResponseSchema: GenMessage<GetChildBillingGroupCustomizedBillingServiceResponse> = /*@__PURE__*/
|
|
7544
|
-
messageDesc(file_billing_v1_billing,
|
|
8386
|
+
messageDesc(file_billing_v1_billing, 218);
|
|
7545
8387
|
|
|
7546
8388
|
/**
|
|
7547
8389
|
* @generated from message blueapi.billing.v1.GetChildBillingGroupInvoiceServiceDiscountsRequest
|
|
@@ -7560,7 +8402,7 @@ export type GetChildBillingGroupInvoiceServiceDiscountsRequest = Message<"blueap
|
|
|
7560
8402
|
* Use `create(GetChildBillingGroupInvoiceServiceDiscountsRequestSchema)` to create a new message.
|
|
7561
8403
|
*/
|
|
7562
8404
|
export const GetChildBillingGroupInvoiceServiceDiscountsRequestSchema: GenMessage<GetChildBillingGroupInvoiceServiceDiscountsRequest> = /*@__PURE__*/
|
|
7563
|
-
messageDesc(file_billing_v1_billing,
|
|
8405
|
+
messageDesc(file_billing_v1_billing, 219);
|
|
7564
8406
|
|
|
7565
8407
|
/**
|
|
7566
8408
|
* @generated from message blueapi.billing.v1.GetChildBillingGroupInvoiceServiceDiscountsResponse
|
|
@@ -7579,7 +8421,7 @@ export type GetChildBillingGroupInvoiceServiceDiscountsResponse = Message<"bluea
|
|
|
7579
8421
|
* Use `create(GetChildBillingGroupInvoiceServiceDiscountsResponseSchema)` to create a new message.
|
|
7580
8422
|
*/
|
|
7581
8423
|
export const GetChildBillingGroupInvoiceServiceDiscountsResponseSchema: GenMessage<GetChildBillingGroupInvoiceServiceDiscountsResponse> = /*@__PURE__*/
|
|
7582
|
-
messageDesc(file_billing_v1_billing,
|
|
8424
|
+
messageDesc(file_billing_v1_billing, 220);
|
|
7583
8425
|
|
|
7584
8426
|
/**
|
|
7585
8427
|
* @generated from message blueapi.billing.v1.ReadChildBillingGroupAccountInvoiceServiceDiscountsRequest
|
|
@@ -7598,7 +8440,7 @@ export type ReadChildBillingGroupAccountInvoiceServiceDiscountsRequest = Message
|
|
|
7598
8440
|
* Use `create(ReadChildBillingGroupAccountInvoiceServiceDiscountsRequestSchema)` to create a new message.
|
|
7599
8441
|
*/
|
|
7600
8442
|
export const ReadChildBillingGroupAccountInvoiceServiceDiscountsRequestSchema: GenMessage<ReadChildBillingGroupAccountInvoiceServiceDiscountsRequest> = /*@__PURE__*/
|
|
7601
|
-
messageDesc(file_billing_v1_billing,
|
|
8443
|
+
messageDesc(file_billing_v1_billing, 221);
|
|
7602
8444
|
|
|
7603
8445
|
/**
|
|
7604
8446
|
* @generated from message blueapi.billing.v1.BulkCreateBillingGroupRequest
|
|
@@ -7647,7 +8489,7 @@ export type BulkCreateBillingGroupRequest = Message<"blueapi.billing.v1.BulkCrea
|
|
|
7647
8489
|
* Use `create(BulkCreateBillingGroupRequestSchema)` to create a new message.
|
|
7648
8490
|
*/
|
|
7649
8491
|
export const BulkCreateBillingGroupRequestSchema: GenMessage<BulkCreateBillingGroupRequest> = /*@__PURE__*/
|
|
7650
|
-
messageDesc(file_billing_v1_billing,
|
|
8492
|
+
messageDesc(file_billing_v1_billing, 222);
|
|
7651
8493
|
|
|
7652
8494
|
/**
|
|
7653
8495
|
* @generated from message blueapi.billing.v1.BulkCreateBillingGroupError
|
|
@@ -7680,7 +8522,7 @@ export type BulkCreateBillingGroupError = Message<"blueapi.billing.v1.BulkCreate
|
|
|
7680
8522
|
* Use `create(BulkCreateBillingGroupErrorSchema)` to create a new message.
|
|
7681
8523
|
*/
|
|
7682
8524
|
export const BulkCreateBillingGroupErrorSchema: GenMessage<BulkCreateBillingGroupError> = /*@__PURE__*/
|
|
7683
|
-
messageDesc(file_billing_v1_billing,
|
|
8525
|
+
messageDesc(file_billing_v1_billing, 223);
|
|
7684
8526
|
|
|
7685
8527
|
/**
|
|
7686
8528
|
* Metadata for the BulkCreateBillingGroup long-running operation.
|
|
@@ -7751,7 +8593,7 @@ export type BulkCreateBillingGroupMetadata = Message<"blueapi.billing.v1.BulkCre
|
|
|
7751
8593
|
* Use `create(BulkCreateBillingGroupMetadataSchema)` to create a new message.
|
|
7752
8594
|
*/
|
|
7753
8595
|
export const BulkCreateBillingGroupMetadataSchema: GenMessage<BulkCreateBillingGroupMetadata> = /*@__PURE__*/
|
|
7754
|
-
messageDesc(file_billing_v1_billing,
|
|
8596
|
+
messageDesc(file_billing_v1_billing, 224);
|
|
7755
8597
|
|
|
7756
8598
|
/**
|
|
7757
8599
|
* @generated from message blueapi.billing.v1.ExcludeServiceEntry
|
|
@@ -7826,7 +8668,7 @@ export type ExcludeServiceEntry = Message<"blueapi.billing.v1.ExcludeServiceEntr
|
|
|
7826
8668
|
* Use `create(ExcludeServiceEntrySchema)` to create a new message.
|
|
7827
8669
|
*/
|
|
7828
8670
|
export const ExcludeServiceEntrySchema: GenMessage<ExcludeServiceEntry> = /*@__PURE__*/
|
|
7829
|
-
messageDesc(file_billing_v1_billing,
|
|
8671
|
+
messageDesc(file_billing_v1_billing, 225);
|
|
7830
8672
|
|
|
7831
8673
|
/**
|
|
7832
8674
|
* @generated from message blueapi.billing.v1.CreateExcludeServiceEntryRequest
|
|
@@ -7880,7 +8722,7 @@ export type CreateExcludeServiceEntryRequest = Message<"blueapi.billing.v1.Creat
|
|
|
7880
8722
|
* Use `create(CreateExcludeServiceEntryRequestSchema)` to create a new message.
|
|
7881
8723
|
*/
|
|
7882
8724
|
export const CreateExcludeServiceEntryRequestSchema: GenMessage<CreateExcludeServiceEntryRequest> = /*@__PURE__*/
|
|
7883
|
-
messageDesc(file_billing_v1_billing,
|
|
8725
|
+
messageDesc(file_billing_v1_billing, 226);
|
|
7884
8726
|
|
|
7885
8727
|
/**
|
|
7886
8728
|
* @generated from message blueapi.billing.v1.CreateExcludeServiceEntryResponse
|
|
@@ -7899,7 +8741,7 @@ export type CreateExcludeServiceEntryResponse = Message<"blueapi.billing.v1.Crea
|
|
|
7899
8741
|
* Use `create(CreateExcludeServiceEntryResponseSchema)` to create a new message.
|
|
7900
8742
|
*/
|
|
7901
8743
|
export const CreateExcludeServiceEntryResponseSchema: GenMessage<CreateExcludeServiceEntryResponse> = /*@__PURE__*/
|
|
7902
|
-
messageDesc(file_billing_v1_billing,
|
|
8744
|
+
messageDesc(file_billing_v1_billing, 227);
|
|
7903
8745
|
|
|
7904
8746
|
/**
|
|
7905
8747
|
* @generated from message blueapi.billing.v1.UpdateExcludeServiceEntryRequest
|
|
@@ -7953,7 +8795,7 @@ export type UpdateExcludeServiceEntryRequest = Message<"blueapi.billing.v1.Updat
|
|
|
7953
8795
|
* Use `create(UpdateExcludeServiceEntryRequestSchema)` to create a new message.
|
|
7954
8796
|
*/
|
|
7955
8797
|
export const UpdateExcludeServiceEntryRequestSchema: GenMessage<UpdateExcludeServiceEntryRequest> = /*@__PURE__*/
|
|
7956
|
-
messageDesc(file_billing_v1_billing,
|
|
8798
|
+
messageDesc(file_billing_v1_billing, 228);
|
|
7957
8799
|
|
|
7958
8800
|
/**
|
|
7959
8801
|
* @generated from message blueapi.billing.v1.UpdateExcludeServiceEntryResponse
|
|
@@ -7972,7 +8814,7 @@ export type UpdateExcludeServiceEntryResponse = Message<"blueapi.billing.v1.Upda
|
|
|
7972
8814
|
* Use `create(UpdateExcludeServiceEntryResponseSchema)` to create a new message.
|
|
7973
8815
|
*/
|
|
7974
8816
|
export const UpdateExcludeServiceEntryResponseSchema: GenMessage<UpdateExcludeServiceEntryResponse> = /*@__PURE__*/
|
|
7975
|
-
messageDesc(file_billing_v1_billing,
|
|
8817
|
+
messageDesc(file_billing_v1_billing, 229);
|
|
7976
8818
|
|
|
7977
8819
|
/**
|
|
7978
8820
|
* @generated from message blueapi.billing.v1.DeleteExcludeServiceEntryRequest
|
|
@@ -8019,7 +8861,7 @@ export type DeleteExcludeServiceEntryRequest = Message<"blueapi.billing.v1.Delet
|
|
|
8019
8861
|
* Use `create(DeleteExcludeServiceEntryRequestSchema)` to create a new message.
|
|
8020
8862
|
*/
|
|
8021
8863
|
export const DeleteExcludeServiceEntryRequestSchema: GenMessage<DeleteExcludeServiceEntryRequest> = /*@__PURE__*/
|
|
8022
|
-
messageDesc(file_billing_v1_billing,
|
|
8864
|
+
messageDesc(file_billing_v1_billing, 230);
|
|
8023
8865
|
|
|
8024
8866
|
/**
|
|
8025
8867
|
* @generated from message blueapi.billing.v1.DeleteExcludeServiceEntryResponse
|
|
@@ -8038,7 +8880,7 @@ export type DeleteExcludeServiceEntryResponse = Message<"blueapi.billing.v1.Dele
|
|
|
8038
8880
|
* Use `create(DeleteExcludeServiceEntryResponseSchema)` to create a new message.
|
|
8039
8881
|
*/
|
|
8040
8882
|
export const DeleteExcludeServiceEntryResponseSchema: GenMessage<DeleteExcludeServiceEntryResponse> = /*@__PURE__*/
|
|
8041
|
-
messageDesc(file_billing_v1_billing,
|
|
8883
|
+
messageDesc(file_billing_v1_billing, 231);
|
|
8042
8884
|
|
|
8043
8885
|
/**
|
|
8044
8886
|
* @generated from message blueapi.billing.v1.ListExcludeServicesRequest
|
|
@@ -8064,7 +8906,7 @@ export type ListExcludeServicesRequest = Message<"blueapi.billing.v1.ListExclude
|
|
|
8064
8906
|
* Use `create(ListExcludeServicesRequestSchema)` to create a new message.
|
|
8065
8907
|
*/
|
|
8066
8908
|
export const ListExcludeServicesRequestSchema: GenMessage<ListExcludeServicesRequest> = /*@__PURE__*/
|
|
8067
|
-
messageDesc(file_billing_v1_billing,
|
|
8909
|
+
messageDesc(file_billing_v1_billing, 232);
|
|
8068
8910
|
|
|
8069
8911
|
/**
|
|
8070
8912
|
* @generated from message blueapi.billing.v1.ListExcludeServicesResponse
|
|
@@ -8083,7 +8925,7 @@ export type ListExcludeServicesResponse = Message<"blueapi.billing.v1.ListExclud
|
|
|
8083
8925
|
* Use `create(ListExcludeServicesResponseSchema)` to create a new message.
|
|
8084
8926
|
*/
|
|
8085
8927
|
export const ListExcludeServicesResponseSchema: GenMessage<ListExcludeServicesResponse> = /*@__PURE__*/
|
|
8086
|
-
messageDesc(file_billing_v1_billing,
|
|
8928
|
+
messageDesc(file_billing_v1_billing, 233);
|
|
8087
8929
|
|
|
8088
8930
|
/**
|
|
8089
8931
|
* Represents a single service with its associated names and SKUs.
|
|
@@ -8125,7 +8967,7 @@ export type ServiceItem = Message<"blueapi.billing.v1.ServiceItem"> & {
|
|
|
8125
8967
|
* Use `create(ServiceItemSchema)` to create a new message.
|
|
8126
8968
|
*/
|
|
8127
8969
|
export const ServiceItemSchema: GenMessage<ServiceItem> = /*@__PURE__*/
|
|
8128
|
-
messageDesc(file_billing_v1_billing,
|
|
8970
|
+
messageDesc(file_billing_v1_billing, 234);
|
|
8129
8971
|
|
|
8130
8972
|
/**
|
|
8131
8973
|
* @generated from message blueapi.billing.v1.ListServicesRequest
|
|
@@ -8154,7 +8996,7 @@ export type ListServicesRequest = Message<"blueapi.billing.v1.ListServicesReques
|
|
|
8154
8996
|
* Use `create(ListServicesRequestSchema)` to create a new message.
|
|
8155
8997
|
*/
|
|
8156
8998
|
export const ListServicesRequestSchema: GenMessage<ListServicesRequest> = /*@__PURE__*/
|
|
8157
|
-
messageDesc(file_billing_v1_billing,
|
|
8999
|
+
messageDesc(file_billing_v1_billing, 235);
|
|
8158
9000
|
|
|
8159
9001
|
/**
|
|
8160
9002
|
* @generated from message blueapi.billing.v1.ListServicesResponse
|
|
@@ -8173,7 +9015,7 @@ export type ListServicesResponse = Message<"blueapi.billing.v1.ListServicesRespo
|
|
|
8173
9015
|
* Use `create(ListServicesResponseSchema)` to create a new message.
|
|
8174
9016
|
*/
|
|
8175
9017
|
export const ListServicesResponseSchema: GenMessage<ListServicesResponse> = /*@__PURE__*/
|
|
8176
|
-
messageDesc(file_billing_v1_billing,
|
|
9018
|
+
messageDesc(file_billing_v1_billing, 236);
|
|
8177
9019
|
|
|
8178
9020
|
/**
|
|
8179
9021
|
* @generated from message blueapi.billing.v1.BulkLinkAccountRequest
|
|
@@ -8222,7 +9064,7 @@ export type BulkLinkAccountRequest = Message<"blueapi.billing.v1.BulkLinkAccount
|
|
|
8222
9064
|
* Use `create(BulkLinkAccountRequestSchema)` to create a new message.
|
|
8223
9065
|
*/
|
|
8224
9066
|
export const BulkLinkAccountRequestSchema: GenMessage<BulkLinkAccountRequest> = /*@__PURE__*/
|
|
8225
|
-
messageDesc(file_billing_v1_billing,
|
|
9067
|
+
messageDesc(file_billing_v1_billing, 237);
|
|
8226
9068
|
|
|
8227
9069
|
/**
|
|
8228
9070
|
* @generated from message blueapi.billing.v1.BulkLinkAccountError
|
|
@@ -8262,7 +9104,7 @@ export type BulkLinkAccountError = Message<"blueapi.billing.v1.BulkLinkAccountEr
|
|
|
8262
9104
|
* Use `create(BulkLinkAccountErrorSchema)` to create a new message.
|
|
8263
9105
|
*/
|
|
8264
9106
|
export const BulkLinkAccountErrorSchema: GenMessage<BulkLinkAccountError> = /*@__PURE__*/
|
|
8265
|
-
messageDesc(file_billing_v1_billing,
|
|
9107
|
+
messageDesc(file_billing_v1_billing, 238);
|
|
8266
9108
|
|
|
8267
9109
|
/**
|
|
8268
9110
|
* Metadata for the BulkLinkAccount long-running operation.
|
|
@@ -8333,7 +9175,7 @@ export type BulkLinkAccountMetadata = Message<"blueapi.billing.v1.BulkLinkAccoun
|
|
|
8333
9175
|
* Use `create(BulkLinkAccountMetadataSchema)` to create a new message.
|
|
8334
9176
|
*/
|
|
8335
9177
|
export const BulkLinkAccountMetadataSchema: GenMessage<BulkLinkAccountMetadata> = /*@__PURE__*/
|
|
8336
|
-
messageDesc(file_billing_v1_billing,
|
|
9178
|
+
messageDesc(file_billing_v1_billing, 239);
|
|
8337
9179
|
|
|
8338
9180
|
/**
|
|
8339
9181
|
* Request for BulkTagBillingGroup.
|
|
@@ -8363,7 +9205,7 @@ export type BulkTagBillingGroupRequest = Message<"blueapi.billing.v1.BulkTagBill
|
|
|
8363
9205
|
* Use `create(BulkTagBillingGroupRequestSchema)` to create a new message.
|
|
8364
9206
|
*/
|
|
8365
9207
|
export const BulkTagBillingGroupRequestSchema: GenMessage<BulkTagBillingGroupRequest> = /*@__PURE__*/
|
|
8366
|
-
messageDesc(file_billing_v1_billing,
|
|
9208
|
+
messageDesc(file_billing_v1_billing, 240);
|
|
8367
9209
|
|
|
8368
9210
|
/**
|
|
8369
9211
|
* Describes a single failed row in a BulkTagBillingGroup operation.
|
|
@@ -8419,7 +9261,7 @@ export type BulkTagBillingGroupError = Message<"blueapi.billing.v1.BulkTagBillin
|
|
|
8419
9261
|
* Use `create(BulkTagBillingGroupErrorSchema)` to create a new message.
|
|
8420
9262
|
*/
|
|
8421
9263
|
export const BulkTagBillingGroupErrorSchema: GenMessage<BulkTagBillingGroupError> = /*@__PURE__*/
|
|
8422
|
-
messageDesc(file_billing_v1_billing,
|
|
9264
|
+
messageDesc(file_billing_v1_billing, 241);
|
|
8423
9265
|
|
|
8424
9266
|
/**
|
|
8425
9267
|
* Metadata for the BulkTagBillingGroup long-running operation.
|
|
@@ -8490,7 +9332,7 @@ export type BulkTagBillingGroupMetadata = Message<"blueapi.billing.v1.BulkTagBil
|
|
|
8490
9332
|
* Use `create(BulkTagBillingGroupMetadataSchema)` to create a new message.
|
|
8491
9333
|
*/
|
|
8492
9334
|
export const BulkTagBillingGroupMetadataSchema: GenMessage<BulkTagBillingGroupMetadata> = /*@__PURE__*/
|
|
8493
|
-
messageDesc(file_billing_v1_billing,
|
|
9335
|
+
messageDesc(file_billing_v1_billing, 242);
|
|
8494
9336
|
|
|
8495
9337
|
/**
|
|
8496
9338
|
* @generated from message blueapi.billing.v1.GetBillingGroupInvoiceLayoutConfigRequest
|
|
@@ -8509,7 +9351,7 @@ export type GetBillingGroupInvoiceLayoutConfigRequest = Message<"blueapi.billing
|
|
|
8509
9351
|
* Use `create(GetBillingGroupInvoiceLayoutConfigRequestSchema)` to create a new message.
|
|
8510
9352
|
*/
|
|
8511
9353
|
export const GetBillingGroupInvoiceLayoutConfigRequestSchema: GenMessage<GetBillingGroupInvoiceLayoutConfigRequest> = /*@__PURE__*/
|
|
8512
|
-
messageDesc(file_billing_v1_billing,
|
|
9354
|
+
messageDesc(file_billing_v1_billing, 243);
|
|
8513
9355
|
|
|
8514
9356
|
/**
|
|
8515
9357
|
* @generated from message blueapi.billing.v1.GetBillingGroupInvoiceLayoutConfigResponse
|
|
@@ -8540,7 +9382,7 @@ export type GetBillingGroupInvoiceLayoutConfigResponse = Message<"blueapi.billin
|
|
|
8540
9382
|
* Use `create(GetBillingGroupInvoiceLayoutConfigResponseSchema)` to create a new message.
|
|
8541
9383
|
*/
|
|
8542
9384
|
export const GetBillingGroupInvoiceLayoutConfigResponseSchema: GenMessage<GetBillingGroupInvoiceLayoutConfigResponse> = /*@__PURE__*/
|
|
8543
|
-
messageDesc(file_billing_v1_billing,
|
|
9385
|
+
messageDesc(file_billing_v1_billing, 244);
|
|
8544
9386
|
|
|
8545
9387
|
/**
|
|
8546
9388
|
* @generated from message blueapi.billing.v1.SetBillingGroupInvoiceLayoutConfigRequest
|
|
@@ -8566,7 +9408,7 @@ export type SetBillingGroupInvoiceLayoutConfigRequest = Message<"blueapi.billing
|
|
|
8566
9408
|
* Use `create(SetBillingGroupInvoiceLayoutConfigRequestSchema)` to create a new message.
|
|
8567
9409
|
*/
|
|
8568
9410
|
export const SetBillingGroupInvoiceLayoutConfigRequestSchema: GenMessage<SetBillingGroupInvoiceLayoutConfigRequest> = /*@__PURE__*/
|
|
8569
|
-
messageDesc(file_billing_v1_billing,
|
|
9411
|
+
messageDesc(file_billing_v1_billing, 245);
|
|
8570
9412
|
|
|
8571
9413
|
/**
|
|
8572
9414
|
* @generated from message blueapi.billing.v1.CreateInvoiceLayoutConfigRequest
|
|
@@ -8592,7 +9434,7 @@ export type CreateInvoiceLayoutConfigRequest = Message<"blueapi.billing.v1.Creat
|
|
|
8592
9434
|
* Use `create(CreateInvoiceLayoutConfigRequestSchema)` to create a new message.
|
|
8593
9435
|
*/
|
|
8594
9436
|
export const CreateInvoiceLayoutConfigRequestSchema: GenMessage<CreateInvoiceLayoutConfigRequest> = /*@__PURE__*/
|
|
8595
|
-
messageDesc(file_billing_v1_billing,
|
|
9437
|
+
messageDesc(file_billing_v1_billing, 246);
|
|
8596
9438
|
|
|
8597
9439
|
/**
|
|
8598
9440
|
* @generated from message blueapi.billing.v1.CreateInvoiceLayoutConfigResponse
|
|
@@ -8611,7 +9453,7 @@ export type CreateInvoiceLayoutConfigResponse = Message<"blueapi.billing.v1.Crea
|
|
|
8611
9453
|
* Use `create(CreateInvoiceLayoutConfigResponseSchema)` to create a new message.
|
|
8612
9454
|
*/
|
|
8613
9455
|
export const CreateInvoiceLayoutConfigResponseSchema: GenMessage<CreateInvoiceLayoutConfigResponse> = /*@__PURE__*/
|
|
8614
|
-
messageDesc(file_billing_v1_billing,
|
|
9456
|
+
messageDesc(file_billing_v1_billing, 247);
|
|
8615
9457
|
|
|
8616
9458
|
/**
|
|
8617
9459
|
* @generated from message blueapi.billing.v1.UpdateInvoiceLayoutConfigRequest
|
|
@@ -8644,7 +9486,7 @@ export type UpdateInvoiceLayoutConfigRequest = Message<"blueapi.billing.v1.Updat
|
|
|
8644
9486
|
* Use `create(UpdateInvoiceLayoutConfigRequestSchema)` to create a new message.
|
|
8645
9487
|
*/
|
|
8646
9488
|
export const UpdateInvoiceLayoutConfigRequestSchema: GenMessage<UpdateInvoiceLayoutConfigRequest> = /*@__PURE__*/
|
|
8647
|
-
messageDesc(file_billing_v1_billing,
|
|
9489
|
+
messageDesc(file_billing_v1_billing, 248);
|
|
8648
9490
|
|
|
8649
9491
|
/**
|
|
8650
9492
|
* @generated from message blueapi.billing.v1.ReadInvoiceLayoutConfigRequest
|
|
@@ -8657,7 +9499,7 @@ export type ReadInvoiceLayoutConfigRequest = Message<"blueapi.billing.v1.ReadInv
|
|
|
8657
9499
|
* Use `create(ReadInvoiceLayoutConfigRequestSchema)` to create a new message.
|
|
8658
9500
|
*/
|
|
8659
9501
|
export const ReadInvoiceLayoutConfigRequestSchema: GenMessage<ReadInvoiceLayoutConfigRequest> = /*@__PURE__*/
|
|
8660
|
-
messageDesc(file_billing_v1_billing,
|
|
9502
|
+
messageDesc(file_billing_v1_billing, 249);
|
|
8661
9503
|
|
|
8662
9504
|
/**
|
|
8663
9505
|
* @generated from message blueapi.billing.v1.ReadInvoiceLayoutConfigResponse
|
|
@@ -8688,7 +9530,7 @@ export type ReadInvoiceLayoutConfigResponse = Message<"blueapi.billing.v1.ReadIn
|
|
|
8688
9530
|
* Use `create(ReadInvoiceLayoutConfigResponseSchema)` to create a new message.
|
|
8689
9531
|
*/
|
|
8690
9532
|
export const ReadInvoiceLayoutConfigResponseSchema: GenMessage<ReadInvoiceLayoutConfigResponse> = /*@__PURE__*/
|
|
8691
|
-
messageDesc(file_billing_v1_billing,
|
|
9533
|
+
messageDesc(file_billing_v1_billing, 250);
|
|
8692
9534
|
|
|
8693
9535
|
/**
|
|
8694
9536
|
* @generated from message blueapi.billing.v1.DeleteBillingGroupInvoiceLayoutConfigRequest
|
|
@@ -8707,7 +9549,7 @@ export type DeleteBillingGroupInvoiceLayoutConfigRequest = Message<"blueapi.bill
|
|
|
8707
9549
|
* Use `create(DeleteBillingGroupInvoiceLayoutConfigRequestSchema)` to create a new message.
|
|
8708
9550
|
*/
|
|
8709
9551
|
export const DeleteBillingGroupInvoiceLayoutConfigRequestSchema: GenMessage<DeleteBillingGroupInvoiceLayoutConfigRequest> = /*@__PURE__*/
|
|
8710
|
-
messageDesc(file_billing_v1_billing,
|
|
9552
|
+
messageDesc(file_billing_v1_billing, 251);
|
|
8711
9553
|
|
|
8712
9554
|
/**
|
|
8713
9555
|
* @generated from message blueapi.billing.v1.DeleteInvoiceLayoutConfigRequest
|
|
@@ -8726,7 +9568,45 @@ export type DeleteInvoiceLayoutConfigRequest = Message<"blueapi.billing.v1.Delet
|
|
|
8726
9568
|
* Use `create(DeleteInvoiceLayoutConfigRequestSchema)` to create a new message.
|
|
8727
9569
|
*/
|
|
8728
9570
|
export const DeleteInvoiceLayoutConfigRequestSchema: GenMessage<DeleteInvoiceLayoutConfigRequest> = /*@__PURE__*/
|
|
8729
|
-
messageDesc(file_billing_v1_billing,
|
|
9571
|
+
messageDesc(file_billing_v1_billing, 252);
|
|
9572
|
+
|
|
9573
|
+
/**
|
|
9574
|
+
* @generated from message blueapi.billing.v1.ListInvoiceLayoutConfigBillingGroupsRequest
|
|
9575
|
+
*/
|
|
9576
|
+
export type ListInvoiceLayoutConfigBillingGroupsRequest = Message<"blueapi.billing.v1.ListInvoiceLayoutConfigBillingGroupsRequest"> & {
|
|
9577
|
+
/**
|
|
9578
|
+
* Required. The invoice layout config id.
|
|
9579
|
+
*
|
|
9580
|
+
* @generated from field: string id = 1;
|
|
9581
|
+
*/
|
|
9582
|
+
id: string;
|
|
9583
|
+
};
|
|
9584
|
+
|
|
9585
|
+
/**
|
|
9586
|
+
* Describes the message blueapi.billing.v1.ListInvoiceLayoutConfigBillingGroupsRequest.
|
|
9587
|
+
* Use `create(ListInvoiceLayoutConfigBillingGroupsRequestSchema)` to create a new message.
|
|
9588
|
+
*/
|
|
9589
|
+
export const ListInvoiceLayoutConfigBillingGroupsRequestSchema: GenMessage<ListInvoiceLayoutConfigBillingGroupsRequest> = /*@__PURE__*/
|
|
9590
|
+
messageDesc(file_billing_v1_billing, 253);
|
|
9591
|
+
|
|
9592
|
+
/**
|
|
9593
|
+
* @generated from message blueapi.billing.v1.ListInvoiceLayoutConfigBillingGroupsResponse
|
|
9594
|
+
*/
|
|
9595
|
+
export type ListInvoiceLayoutConfigBillingGroupsResponse = Message<"blueapi.billing.v1.ListInvoiceLayoutConfigBillingGroupsResponse"> & {
|
|
9596
|
+
/**
|
|
9597
|
+
* The internal ids of the billing groups attached to this layout config.
|
|
9598
|
+
*
|
|
9599
|
+
* @generated from field: repeated string billinggroup_ids = 1;
|
|
9600
|
+
*/
|
|
9601
|
+
billinggroupIds: string[];
|
|
9602
|
+
};
|
|
9603
|
+
|
|
9604
|
+
/**
|
|
9605
|
+
* Describes the message blueapi.billing.v1.ListInvoiceLayoutConfigBillingGroupsResponse.
|
|
9606
|
+
* Use `create(ListInvoiceLayoutConfigBillingGroupsResponseSchema)` to create a new message.
|
|
9607
|
+
*/
|
|
9608
|
+
export const ListInvoiceLayoutConfigBillingGroupsResponseSchema: GenMessage<ListInvoiceLayoutConfigBillingGroupsResponse> = /*@__PURE__*/
|
|
9609
|
+
messageDesc(file_billing_v1_billing, 254);
|
|
8730
9610
|
|
|
8731
9611
|
/**
|
|
8732
9612
|
* Billing service definition.
|
|
@@ -9720,6 +10600,86 @@ export const Billing: GenService<{
|
|
|
9720
10600
|
input: typeof GetFreeFormatRequestSchema;
|
|
9721
10601
|
output: typeof GetFreeFormatResponseSchema;
|
|
9722
10602
|
},
|
|
10603
|
+
/**
|
|
10604
|
+
* Gets the CSV template metadata for monthly miscellaneous fees.
|
|
10605
|
+
*
|
|
10606
|
+
* @generated from rpc blueapi.billing.v1.Billing.GetMonthlyMiscFeeImportTemplate
|
|
10607
|
+
*/
|
|
10608
|
+
getMonthlyMiscFeeImportTemplate: {
|
|
10609
|
+
methodKind: "unary";
|
|
10610
|
+
input: typeof GetMonthlyMiscFeeImportTemplateRequestSchema;
|
|
10611
|
+
output: typeof MonthlyMiscFeeImportTemplateSchema;
|
|
10612
|
+
},
|
|
10613
|
+
/**
|
|
10614
|
+
* Validates or imports monthly miscellaneous fees from CSV.
|
|
10615
|
+
*
|
|
10616
|
+
* @generated from rpc blueapi.billing.v1.Billing.BulkImportMonthlyMiscFees
|
|
10617
|
+
*/
|
|
10618
|
+
bulkImportMonthlyMiscFees: {
|
|
10619
|
+
methodKind: "unary";
|
|
10620
|
+
input: typeof BulkImportMonthlyMiscFeesRequestSchema;
|
|
10621
|
+
output: typeof OperationSchema;
|
|
10622
|
+
},
|
|
10623
|
+
/**
|
|
10624
|
+
* Lists monthly miscellaneous fee rows.
|
|
10625
|
+
*
|
|
10626
|
+
* @generated from rpc blueapi.billing.v1.Billing.ListMonthlyMiscFees
|
|
10627
|
+
*/
|
|
10628
|
+
listMonthlyMiscFees: {
|
|
10629
|
+
methodKind: "unary";
|
|
10630
|
+
input: typeof ListMonthlyMiscFeesRequestSchema;
|
|
10631
|
+
output: typeof ListMonthlyMiscFeesResponseSchema;
|
|
10632
|
+
},
|
|
10633
|
+
/**
|
|
10634
|
+
* Gets a monthly miscellaneous fee row.
|
|
10635
|
+
*
|
|
10636
|
+
* @generated from rpc blueapi.billing.v1.Billing.GetMonthlyMiscFee
|
|
10637
|
+
*/
|
|
10638
|
+
getMonthlyMiscFee: {
|
|
10639
|
+
methodKind: "unary";
|
|
10640
|
+
input: typeof GetMonthlyMiscFeeRequestSchema;
|
|
10641
|
+
output: typeof MonthlyMiscFeeSchema;
|
|
10642
|
+
},
|
|
10643
|
+
/**
|
|
10644
|
+
* Exports monthly miscellaneous fee rows using the list filters.
|
|
10645
|
+
*
|
|
10646
|
+
* @generated from rpc blueapi.billing.v1.Billing.ExportMonthlyMiscFees
|
|
10647
|
+
*/
|
|
10648
|
+
exportMonthlyMiscFees: {
|
|
10649
|
+
methodKind: "unary";
|
|
10650
|
+
input: typeof ExportMonthlyMiscFeesRequestSchema;
|
|
10651
|
+
output: typeof ExportMonthlyMiscFeesResponseSchema;
|
|
10652
|
+
},
|
|
10653
|
+
/**
|
|
10654
|
+
* Gets a completed monthly miscellaneous fee import result.
|
|
10655
|
+
*
|
|
10656
|
+
* @generated from rpc blueapi.billing.v1.Billing.GetMonthlyMiscFeeImport
|
|
10657
|
+
*/
|
|
10658
|
+
getMonthlyMiscFeeImport: {
|
|
10659
|
+
methodKind: "unary";
|
|
10660
|
+
input: typeof GetMonthlyMiscFeeImportRequestSchema;
|
|
10661
|
+
output: typeof MonthlyMiscFeeImportResultSchema;
|
|
10662
|
+
},
|
|
10663
|
+
/**
|
|
10664
|
+
* Creates or updates a monthly miscellaneous fee row.
|
|
10665
|
+
*
|
|
10666
|
+
* @generated from rpc blueapi.billing.v1.Billing.UpsertMonthlyMiscFee
|
|
10667
|
+
*/
|
|
10668
|
+
upsertMonthlyMiscFee: {
|
|
10669
|
+
methodKind: "unary";
|
|
10670
|
+
input: typeof UpsertMonthlyMiscFeeRequestSchema;
|
|
10671
|
+
output: typeof MonthlyMiscFeeSchema;
|
|
10672
|
+
},
|
|
10673
|
+
/**
|
|
10674
|
+
* Deletes a monthly miscellaneous fee row.
|
|
10675
|
+
*
|
|
10676
|
+
* @generated from rpc blueapi.billing.v1.Billing.DeleteMonthlyMiscFee
|
|
10677
|
+
*/
|
|
10678
|
+
deleteMonthlyMiscFee: {
|
|
10679
|
+
methodKind: "unary";
|
|
10680
|
+
input: typeof DeleteMonthlyMiscFeeRequestSchema;
|
|
10681
|
+
output: typeof EmptySchema;
|
|
10682
|
+
},
|
|
9723
10683
|
/**
|
|
9724
10684
|
* @generated from rpc blueapi.billing.v1.Billing.GetTagsAddingSetting
|
|
9725
10685
|
*/
|
|
@@ -10209,6 +11169,16 @@ export const Billing: GenService<{
|
|
|
10209
11169
|
input: typeof DeleteInvoiceLayoutConfigRequestSchema;
|
|
10210
11170
|
output: typeof EmptySchema;
|
|
10211
11171
|
},
|
|
11172
|
+
/**
|
|
11173
|
+
* WORK-IN-PROGRESS. Lists the billing groups attached to an invoice layout config.
|
|
11174
|
+
*
|
|
11175
|
+
* @generated from rpc blueapi.billing.v1.Billing.ListInvoiceLayoutConfigBillingGroups
|
|
11176
|
+
*/
|
|
11177
|
+
listInvoiceLayoutConfigBillingGroups: {
|
|
11178
|
+
methodKind: "unary";
|
|
11179
|
+
input: typeof ListInvoiceLayoutConfigBillingGroupsRequestSchema;
|
|
11180
|
+
output: typeof ListInvoiceLayoutConfigBillingGroupsResponseSchema;
|
|
11181
|
+
},
|
|
10212
11182
|
}> = /*@__PURE__*/
|
|
10213
11183
|
serviceDesc(file_billing_v1_billing, 0);
|
|
10214
11184
|
|