@eide/foir-proto-ts 0.20.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4115,6 +4115,149 @@ export declare type CustomerResetPasswordResponse = Message<"identity.v1.Custome
4115
4115
  */
4116
4116
  export declare const CustomerResetPasswordResponseSchema: GenMessage<CustomerResetPasswordResponse>;
4117
4117
 
4118
+ /**
4119
+ * @generated from message identity.v1.StoreProviderTokenRequest
4120
+ */
4121
+ export declare type StoreProviderTokenRequest = Message<"identity.v1.StoreProviderTokenRequest"> & {
4122
+ /**
4123
+ * @generated from field: string customer_id = 1;
4124
+ */
4125
+ customerId: string;
4126
+
4127
+ /**
4128
+ * @generated from field: string provider_key = 2;
4129
+ */
4130
+ providerKey: string;
4131
+
4132
+ /**
4133
+ * @generated from field: string access_token = 3;
4134
+ */
4135
+ accessToken: string;
4136
+
4137
+ /**
4138
+ * @generated from field: string refresh_token = 4;
4139
+ */
4140
+ refreshToken: string;
4141
+
4142
+ /**
4143
+ * @generated from field: string id_token = 5;
4144
+ */
4145
+ idToken: string;
4146
+
4147
+ /**
4148
+ * @generated from field: string scopes = 6;
4149
+ */
4150
+ scopes: string;
4151
+
4152
+ /**
4153
+ * @generated from field: optional google.protobuf.Timestamp expires_at = 7;
4154
+ */
4155
+ expiresAt?: Timestamp;
4156
+ };
4157
+
4158
+ /**
4159
+ * Describes the message identity.v1.StoreProviderTokenRequest.
4160
+ * Use `create(StoreProviderTokenRequestSchema)` to create a new message.
4161
+ */
4162
+ export declare const StoreProviderTokenRequestSchema: GenMessage<StoreProviderTokenRequest>;
4163
+
4164
+ /**
4165
+ * @generated from message identity.v1.StoreProviderTokenResponse
4166
+ */
4167
+ export declare type StoreProviderTokenResponse = Message<"identity.v1.StoreProviderTokenResponse"> & {
4168
+ };
4169
+
4170
+ /**
4171
+ * Describes the message identity.v1.StoreProviderTokenResponse.
4172
+ * Use `create(StoreProviderTokenResponseSchema)` to create a new message.
4173
+ */
4174
+ export declare const StoreProviderTokenResponseSchema: GenMessage<StoreProviderTokenResponse>;
4175
+
4176
+ /**
4177
+ * @generated from message identity.v1.GetProviderTokenRequest
4178
+ */
4179
+ export declare type GetProviderTokenRequest = Message<"identity.v1.GetProviderTokenRequest"> & {
4180
+ /**
4181
+ * @generated from field: string customer_id = 1;
4182
+ */
4183
+ customerId: string;
4184
+
4185
+ /**
4186
+ * @generated from field: string provider_key = 2;
4187
+ */
4188
+ providerKey: string;
4189
+ };
4190
+
4191
+ /**
4192
+ * Describes the message identity.v1.GetProviderTokenRequest.
4193
+ * Use `create(GetProviderTokenRequestSchema)` to create a new message.
4194
+ */
4195
+ export declare const GetProviderTokenRequestSchema: GenMessage<GetProviderTokenRequest>;
4196
+
4197
+ /**
4198
+ * @generated from message identity.v1.GetProviderTokenResponse
4199
+ */
4200
+ export declare type GetProviderTokenResponse = Message<"identity.v1.GetProviderTokenResponse"> & {
4201
+ /**
4202
+ * @generated from field: string access_token = 1;
4203
+ */
4204
+ accessToken: string;
4205
+
4206
+ /**
4207
+ * @generated from field: string refresh_token = 2;
4208
+ */
4209
+ refreshToken: string;
4210
+
4211
+ /**
4212
+ * @generated from field: string id_token = 3;
4213
+ */
4214
+ idToken: string;
4215
+
4216
+ /**
4217
+ * @generated from field: string scopes = 4;
4218
+ */
4219
+ scopes: string;
4220
+
4221
+ /**
4222
+ * @generated from field: optional google.protobuf.Timestamp expires_at = 5;
4223
+ */
4224
+ expiresAt?: Timestamp;
4225
+ };
4226
+
4227
+ /**
4228
+ * Describes the message identity.v1.GetProviderTokenResponse.
4229
+ * Use `create(GetProviderTokenResponseSchema)` to create a new message.
4230
+ */
4231
+ export declare const GetProviderTokenResponseSchema: GenMessage<GetProviderTokenResponse>;
4232
+
4233
+ /**
4234
+ * @generated from message identity.v1.DeleteProviderTokensRequest
4235
+ */
4236
+ export declare type DeleteProviderTokensRequest = Message<"identity.v1.DeleteProviderTokensRequest"> & {
4237
+ /**
4238
+ * @generated from field: string customer_id = 1;
4239
+ */
4240
+ customerId: string;
4241
+ };
4242
+
4243
+ /**
4244
+ * Describes the message identity.v1.DeleteProviderTokensRequest.
4245
+ * Use `create(DeleteProviderTokensRequestSchema)` to create a new message.
4246
+ */
4247
+ export declare const DeleteProviderTokensRequestSchema: GenMessage<DeleteProviderTokensRequest>;
4248
+
4249
+ /**
4250
+ * @generated from message identity.v1.DeleteProviderTokensResponse
4251
+ */
4252
+ export declare type DeleteProviderTokensResponse = Message<"identity.v1.DeleteProviderTokensResponse"> & {
4253
+ };
4254
+
4255
+ /**
4256
+ * Describes the message identity.v1.DeleteProviderTokensResponse.
4257
+ * Use `create(DeleteProviderTokensResponseSchema)` to create a new message.
4258
+ */
4259
+ export declare const DeleteProviderTokensResponseSchema: GenMessage<DeleteProviderTokensResponse>;
4260
+
4118
4261
  /**
4119
4262
  * @generated from enum identity.v1.AdminUserStatus
4120
4263
  */
@@ -5086,5 +5229,31 @@ export declare const IdentityService: GenService<{
5086
5229
  input: typeof CustomerResetPasswordRequestSchema;
5087
5230
  output: typeof CustomerResetPasswordResponseSchema;
5088
5231
  },
5232
+ /**
5233
+ * Provider Token Persistence.
5234
+ *
5235
+ * @generated from rpc identity.v1.IdentityService.StoreProviderToken
5236
+ */
5237
+ storeProviderToken: {
5238
+ methodKind: "unary";
5239
+ input: typeof StoreProviderTokenRequestSchema;
5240
+ output: typeof StoreProviderTokenResponseSchema;
5241
+ },
5242
+ /**
5243
+ * @generated from rpc identity.v1.IdentityService.GetProviderToken
5244
+ */
5245
+ getProviderToken: {
5246
+ methodKind: "unary";
5247
+ input: typeof GetProviderTokenRequestSchema;
5248
+ output: typeof GetProviderTokenResponseSchema;
5249
+ },
5250
+ /**
5251
+ * @generated from rpc identity.v1.IdentityService.DeleteProviderTokens
5252
+ */
5253
+ deleteProviderTokens: {
5254
+ methodKind: "unary";
5255
+ input: typeof DeleteProviderTokensRequestSchema;
5256
+ output: typeof DeleteProviderTokensResponseSchema;
5257
+ },
5089
5258
  }>;
5090
5259
 
@@ -9,7 +9,7 @@ import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bu
9
9
  * Describes the file identity/v1/identity.proto.
10
10
  */
11
11
  export const file_identity_v1_identity = /*@__PURE__*/
12
- fileDesc("ChppZGVudGl0eS92MS9pZGVudGl0eS5wcm90bxILaWRlbnRpdHkudjEijwQKCUFkbWluVXNlchIKCgJpZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIXCgpmaXJzdF9uYW1lGAMgASgJSACIAQESFgoJbGFzdF9uYW1lGAQgASgJSAGIAQESFwoKYXZhdGFyX3VybBgFIAEoCUgCiAEBEhkKEWlzX3BsYXRmb3JtX2FkbWluGAYgASgIEiwKBnN0YXR1cxgUIAEoDjIcLmlkZW50aXR5LnYxLkFkbWluVXNlclN0YXR1cxI6ChFlbWFpbF92ZXJpZmllZF9hdBgeIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARI2Cg1sYXN0X2xvZ2luX2F0GB8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEiwKBmFjY2VzcxgoIAMoCzIcLmlkZW50aXR5LnYxLkFkbWluVXNlckFjY2VzcxIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEINCgtfZmlyc3RfbmFtZUIMCgpfbGFzdF9uYW1lQg0KC19hdmF0YXJfdXJsQhQKEl9lbWFpbF92ZXJpZmllZF9hdEIQCg5fbGFzdF9sb2dpbl9hdCLuAQoPQWRtaW5Vc2VyQWNjZXNzEgoKAmlkGAEgASgJEhUKDWFkbWluX3VzZXJfaWQYAiABKAkSEQoJdGVuYW50X2lkGAMgASgJEhcKCnByb2plY3RfaWQYBCABKAlIAIgBARIlCgRyb2xlGAUgASgOMhcuaWRlbnRpdHkudjEuQWNjZXNzUm9sZRIuCgpncmFudGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpncmFudGVkX2J5GDMgASgJSAGIAQFCDQoLX3Byb2plY3RfaWRCDQoLX2dyYW50ZWRfYnki9QIKCEN1c3RvbWVyEgoKAmlkGAEgASgJEg0KBWVtYWlsGAIgASgJEhEKCXRlbmFudF9pZBgDIAEoCRISCgpwcm9qZWN0X2lkGAQgASgJEisKBnN0YXR1cxgUIAEoDjIbLmlkZW50aXR5LnYxLkN1c3RvbWVyU3RhdHVzEjoKEWVtYWlsX3ZlcmlmaWVkX2F0GB4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjYKDWxhc3RfbG9naW5fYXQYHyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCFAoSX2VtYWlsX3ZlcmlmaWVkX2F0QhAKDl9sYXN0X2xvZ2luX2F0IvQCCgZUZW5hbnQSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIpCgZzdGF0dXMYFCABKA4yGS5pZGVudGl0eS52MS5UZW5hbnRTdGF0dXMSNQoMc3VzcGVuZGVkX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEkIKGWNhbmNlbGxhdGlvbl9zY2hlZHVsZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESGwoTZGF0YV9yZXRlbnRpb25fZGF5cxgeIAEoBRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIPCg1fc3VzcGVuZGVkX2F0QhwKGl9jYW5jZWxsYXRpb25fc2NoZWR1bGVkX2F0IqoDCgdQcm9qZWN0EgoKAmlkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESEgoKaXNfZGVmYXVsdBgFIAEoCBIqCgZzdGF0dXMYFCABKA4yGi5pZGVudGl0eS52MS5Qcm9qZWN0U3RhdHVzEj4KFWRlbGV0aW9uX3NjaGVkdWxlZF9hdBgVIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIXCgpjcmVhdGVkX2J5GCggASgJSAKIAQESFwoKdXBkYXRlZF9ieRgpIAEoCUgDiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbkIYChZfZGVsZXRpb25fc2NoZWR1bGVkX2F0Qg0KC19jcmVhdGVkX2J5Qg0KC191cGRhdGVkX2J5Iq8DCgpJbnZpdGF0aW9uEgoKAmlkGAEgASgJEg0KBWVtYWlsGAIgASgJEhEKCXRlbmFudF9pZBgDIAEoCRITCgtwcm9qZWN0X2lkcxgEIAMoCRIlCgRyb2xlGAUgASgOMhcuaWRlbnRpdHkudjEuQWNjZXNzUm9sZRIsCgtpbnZpdGVfdHlwZRgGIAEoDjIXLmlkZW50aXR5LnYxLkludml0ZVR5cGUSEgoKaW52aXRlZF9ieRgHIAEoCRIUCgdtZXNzYWdlGAggASgJSACIAQESLQoGc3RhdHVzGBQgASgOMh0uaWRlbnRpdHkudjEuSW52aXRhdGlvblN0YXR1cxIuCgpleHBpcmVzX2F0GB4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0CgthY2NlcHRlZF9hdBgfIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfbWVzc2FnZUIOCgxfYWNjZXB0ZWRfYXQi2QQKBkFwaUtleRIKCgJpZBgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSEgoKcHJvamVjdF9pZBgDIAEoCRIMCgRuYW1lGAQgASgJEhIKCmtleV9wcmVmaXgYBSABKAkSKQoIa2V5X3R5cGUYBiABKA4yFy5pZGVudGl0eS52MS5BcGlLZXlUeXBlEhQKB3Jhd19rZXkYCiABKAlIAIgBARIRCglpc19hY3RpdmUYFCABKAgSIAoTcmF0ZV9saW1pdF9wZXJfaG91chgVIAEoBUgBiAEBEjMKCmV4cGlyZXNfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESDgoGc2NvcGVzGBcgAygJEi4KCG1ldGFkYXRhGBggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEjUKDGxhc3RfdXNlZF9hdBgeIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARITCgt1c2FnZV9jb3VudBgfIAEoBRISCgpjcmVhdGVkX2J5GCggASgJEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9yYXdfa2V5QhYKFF9yYXRlX2xpbWl0X3Blcl9ob3VyQg0KC19leHBpcmVzX2F0QgsKCV9tZXRhZGF0YUIPCg1fbGFzdF91c2VkX2F0IpYCCg5TZXNzaW9uQ29udGV4dBIWCgl0ZW5hbnRfaWQYASABKAlIAIgBARIXCgpwcm9qZWN0X2lkGAIgASgJSAGIAQESJAoEdXNlchgDIAEoCzIWLmlkZW50aXR5LnYxLkFkbWluVXNlchIbCg5lZmZlY3RpdmVfcm9sZRgEIAEoCUgCiAEBEi4KEWF2YWlsYWJsZV90ZW5hbnRzGAUgAygLMhMuaWRlbnRpdHkudjEuVGVuYW50EjAKEmF2YWlsYWJsZV9wcm9qZWN0cxgGIAMoCzIULmlkZW50aXR5LnYxLlByb2plY3RCDAoKX3RlbmFudF9pZEINCgtfcHJvamVjdF9pZEIRCg9fZWZmZWN0aXZlX3JvbGUifQoMTG9naW5SZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhAKCHBhc3N3b3JkGAIgASgJEhYKCXRlbmFudF9pZBgDIAEoCUgAiAEBEhcKCnByb2plY3RfaWQYBCABKAlIAYgBAUIMCgpfdGVuYW50X2lkQg0KC19wcm9qZWN0X2lkIl8KDUxvZ2luUmVzcG9uc2USEgoKc2Vzc2lvbl9pZBgBIAEoCRIUCgxhY2Nlc3NfdG9rZW4YAiABKAkSJAoEdXNlchgDIAEoCzIWLmlkZW50aXR5LnYxLkFkbWluVXNlciJ/ChNMb2dpbldpdGhPVFBSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEgsKA290cBgCIAEoCRIWCgl0ZW5hbnRfaWQYAyABKAlIAIgBARIXCgpwcm9qZWN0X2lkGAQgASgJSAGIAQFCDAoKX3RlbmFudF9pZEINCgtfcHJvamVjdF9pZCJmChRMb2dpbldpdGhPVFBSZXNwb25zZRISCgpzZXNzaW9uX2lkGAEgASgJEhQKDGFjY2Vzc190b2tlbhgCIAEoCRIkCgR1c2VyGAMgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyInAKEVJlcXVlc3RPVFBSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhYKCXRlbmFudF9pZBgCIAEoCUgAiAEBEhcKCnByb2plY3RfaWQYAyABKAlIAYgBAUIMCgpfdGVuYW50X2lkQg0KC19wcm9qZWN0X2lkIiUKElJlcXVlc3RPVFBSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIg8KDUxvZ291dFJlcXVlc3QiIQoOTG9nb3V0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCK1AQoPUmVnaXN0ZXJSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhAKCHBhc3N3b3JkGAIgASgJEhYKCXRlbmFudF9pZBgDIAEoCUgAiAEBEhcKCnByb2plY3RfaWQYBCABKAlIAYgBARIqCgRyb2xlGAUgASgOMhcuaWRlbnRpdHkudjEuQWNjZXNzUm9sZUgCiAEBQgwKCl90ZW5hbnRfaWRCDQoLX3Byb2plY3RfaWRCBwoFX3JvbGUiOAoQUmVnaXN0ZXJSZXNwb25zZRIkCgR1c2VyGAEgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyIiMKElZlcmlmeUVtYWlsUmVxdWVzdBINCgV0b2tlbhgBIAEoCSImChNWZXJpZnlFbWFpbFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiIAoeUmVzZW5kVmVyaWZpY2F0aW9uRW1haWxSZXF1ZXN0IjIKH1Jlc2VuZFZlcmlmaWNhdGlvbkVtYWlsUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIxCiBTZW5kRW1haWxWZXJpZmljYXRpb25Db2RlUmVxdWVzdBINCgVlbWFpbBgBIAEoCSI0CiFTZW5kRW1haWxWZXJpZmljYXRpb25Db2RlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCI1ChZWZXJpZnlFbWFpbENvZGVSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEgwKBGNvZGUYAiABKAkiPAoXVmVyaWZ5RW1haWxDb2RlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIQCgh2ZXJpZmllZBgCIAEoCCIsChtSZXF1ZXN0UGFzc3dvcmRSZXNldFJlcXVlc3QSDQoFZW1haWwYASABKAkiLwocUmVxdWVzdFBhc3N3b3JkUmVzZXRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIjsKFFJlc2V0UGFzc3dvcmRSZXF1ZXN0Eg0KBXRva2VuGAEgASgJEhQKDG5ld19wYXNzd29yZBgCIAEoCSIoChVSZXNldFBhc3N3b3JkUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJHChVVcGRhdGVQYXNzd29yZFJlcXVlc3QSGAoQY3VycmVudF9wYXNzd29yZBgBIAEoCRIUCgxuZXdfcGFzc3dvcmQYAiABKAkiKQoWVXBkYXRlUGFzc3dvcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiwKE1JlZnJlc2hUb2tlblJlcXVlc3QSFQoNcmVmcmVzaF90b2tlbhgBIAEoCSJDChRSZWZyZXNoVG9rZW5SZXNwb25zZRIUCgxhY2Nlc3NfdG9rZW4YASABKAkSFQoNcmVmcmVzaF90b2tlbhgCIAEoCSIaChhHZXRTZXNzaW9uQ29udGV4dFJlcXVlc3QiSQoZR2V0U2Vzc2lvbkNvbnRleHRSZXNwb25zZRIsCgdjb250ZXh0GAEgASgLMhsuaWRlbnRpdHkudjEuU2Vzc2lvbkNvbnRleHQiKAoTU3dpdGNoVGVuYW50UmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkiRAoUU3dpdGNoVGVuYW50UmVzcG9uc2USLAoHY29udGV4dBgBIAEoCzIbLmlkZW50aXR5LnYxLlNlc3Npb25Db250ZXh0IioKFFN3aXRjaFByb2plY3RSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkiRQoVU3dpdGNoUHJvamVjdFJlc3BvbnNlEiwKB2NvbnRleHQYASABKAsyGy5pZGVudGl0eS52MS5TZXNzaW9uQ29udGV4dCIcChpDbGVhclNlc3Npb25Db250ZXh0UmVxdWVzdCIuChtDbGVhclNlc3Npb25Db250ZXh0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIOCgxHZXRNZVJlcXVlc3QiNQoNR2V0TWVSZXNwb25zZRIkCgR1c2VyGAEgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyItcBChZDcmVhdGVBZG1pblVzZXJSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhcKCmZpcnN0X25hbWUYAiABKAlIAIgBARIWCglsYXN0X25hbWUYAyABKAlIAYgBARIRCgl0ZW5hbnRfaWQYBCABKAkSFwoKcHJvamVjdF9pZBgFIAEoCUgCiAEBEiUKBHJvbGUYBiABKA4yFy5pZGVudGl0eS52MS5BY2Nlc3NSb2xlQg0KC19maXJzdF9uYW1lQgwKCl9sYXN0X25hbWVCDQoLX3Byb2plY3RfaWQiPwoXQ3JlYXRlQWRtaW5Vc2VyUmVzcG9uc2USJAoEdXNlchgBIAEoCzIWLmlkZW50aXR5LnYxLkFkbWluVXNlciIhChNHZXRBZG1pblVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIjwKFEdldEFkbWluVXNlclJlc3BvbnNlEiQKBHVzZXIYASABKAsyFi5pZGVudGl0eS52MS5BZG1pblVzZXIi2AEKFlVwZGF0ZUFkbWluVXNlclJlcXVlc3QSCgoCaWQYASABKAkSFwoKZmlyc3RfbmFtZRgCIAEoCUgAiAEBEhYKCWxhc3RfbmFtZRgDIAEoCUgBiAEBEhcKCmF2YXRhcl91cmwYBCABKAlIAogBARIxCgZzdGF0dXMYBSABKA4yHC5pZGVudGl0eS52MS5BZG1pblVzZXJTdGF0dXNIA4gBAUINCgtfZmlyc3RfbmFtZUIMCgpfbGFzdF9uYW1lQg0KC19hdmF0YXJfdXJsQgkKB19zdGF0dXMiPwoXVXBkYXRlQWRtaW5Vc2VyUmVzcG9uc2USJAoEdXNlchgBIAEoCzIWLmlkZW50aXR5LnYxLkFkbWluVXNlciLJAQoVTGlzdEFkbWluVXNlcnNSZXF1ZXN0EhMKBnNlYXJjaBgBIAEoCUgAiAEBEioKBHJvbGUYAiABKA4yFy5pZGVudGl0eS52MS5BY2Nlc3NSb2xlSAGIAQESMQoGc3RhdHVzGAMgASgOMhwuaWRlbnRpdHkudjEuQWRtaW5Vc2VyU3RhdHVzSAKIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQgkKB19zZWFyY2hCBwoFX3JvbGVCCQoHX3N0YXR1cyJOChZMaXN0QWRtaW5Vc2Vyc1Jlc3BvbnNlEiUKBWl0ZW1zGAEgAygLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyEg0KBXRvdGFsGAIgASgFIo0BChJHcmFudEFjY2Vzc1JlcXVlc3QSFQoNYWRtaW5fdXNlcl9pZBgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSFwoKcHJvamVjdF9pZBgDIAEoCUgAiAEBEiUKBHJvbGUYBCABKA4yFy5pZGVudGl0eS52MS5BY2Nlc3NSb2xlQg0KC19wcm9qZWN0X2lkIkMKE0dyYW50QWNjZXNzUmVzcG9uc2USLAoGYWNjZXNzGAEgASgLMhwuaWRlbnRpdHkudjEuQWRtaW5Vc2VyQWNjZXNzIigKE1Jldm9rZUFjY2Vzc1JlcXVlc3QSEQoJYWNjZXNzX2lkGAEgASgJIicKFFJldm9rZUFjY2Vzc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiSgoVQ3JlYXRlQ3VzdG9tZXJSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhUKCHBhc3N3b3JkGAIgASgJSACIAQFCCwoJX3Bhc3N3b3JkIkEKFkNyZWF0ZUN1c3RvbWVyUmVzcG9uc2USJwoIY3VzdG9tZXIYASABKAsyFS5pZGVudGl0eS52MS5DdXN0b21lciIgChJHZXRDdXN0b21lclJlcXVlc3QSCgoCaWQYASABKAkiPgoTR2V0Q3VzdG9tZXJSZXNwb25zZRInCghjdXN0b21lchgBIAEoCzIVLmlkZW50aXR5LnYxLkN1c3RvbWVyIn4KFVVwZGF0ZUN1c3RvbWVyUmVxdWVzdBIKCgJpZBgBIAEoCRISCgVlbWFpbBgCIAEoCUgAiAEBEjAKBnN0YXR1cxgDIAEoDjIbLmlkZW50aXR5LnYxLkN1c3RvbWVyU3RhdHVzSAGIAQFCCAoGX2VtYWlsQgkKB19zdGF0dXMiQQoWVXBkYXRlQ3VzdG9tZXJSZXNwb25zZRInCghjdXN0b21lchgBIAEoCzIVLmlkZW50aXR5LnYxLkN1c3RvbWVyIiMKFURlbGV0ZUN1c3RvbWVyUmVxdWVzdBIKCgJpZBgBIAEoCSIpChZEZWxldGVDdXN0b21lclJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgikgEKFExpc3RDdXN0b21lcnNSZXF1ZXN0EhMKBnNlYXJjaBgBIAEoCUgAiAEBEjAKBnN0YXR1cxgCIAEoDjIbLmlkZW50aXR5LnYxLkN1c3RvbWVyU3RhdHVzSAGIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQgkKB19zZWFyY2hCCQoHX3N0YXR1cyJMChVMaXN0Q3VzdG9tZXJzUmVzcG9uc2USJAoFaXRlbXMYASADKAsyFS5pZGVudGl0eS52MS5DdXN0b21lchINCgV0b3RhbBgCIAEoBSIkChZTdXNwZW5kQ3VzdG9tZXJSZXF1ZXN0EgoKAmlkGAEgASgJIkIKF1N1c3BlbmRDdXN0b21lclJlc3BvbnNlEicKCGN1c3RvbWVyGAEgASgLMhUuaWRlbnRpdHkudjEuQ3VzdG9tZXIiIwoTQ3JlYXRlVGVuYW50UmVxdWVzdBIMCgRuYW1lGAEgASgJIjsKFENyZWF0ZVRlbmFudFJlc3BvbnNlEiMKBnRlbmFudBgBIAEoCzITLmlkZW50aXR5LnYxLlRlbmFudCIeChBHZXRUZW5hbnRSZXF1ZXN0EgoKAmlkGAEgASgJIjgKEUdldFRlbmFudFJlc3BvbnNlEiMKBnRlbmFudBgBIAEoCzITLmlkZW50aXR5LnYxLlRlbmFudCJ4ChNVcGRhdGVUZW5hbnRSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIuCgZzdGF0dXMYAyABKA4yGS5pZGVudGl0eS52MS5UZW5hbnRTdGF0dXNIAYgBAUIHCgVfbmFtZUIJCgdfc3RhdHVzIjsKFFVwZGF0ZVRlbmFudFJlc3BvbnNlEiMKBnRlbmFudBgBIAEoCzITLmlkZW50aXR5LnYxLlRlbmFudCJuChJMaXN0VGVuYW50c1JlcXVlc3QSLgoGc3RhdHVzGAEgASgOMhkuaWRlbnRpdHkudjEuVGVuYW50U3RhdHVzSACIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQgkKB19zdGF0dXMiSAoTTGlzdFRlbmFudHNSZXNwb25zZRIiCgVpdGVtcxgBIAMoCzITLmlkZW50aXR5LnYxLlRlbmFudBINCgV0b3RhbBgCIAEoBSIhChNEZWxldGVUZW5hbnRSZXF1ZXN0EgoKAmlkGAEgASgJIicKFERlbGV0ZVRlbmFudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgi6wIKFENyZWF0ZVByb2plY3RSZXF1ZXN0EgwKBG5hbWUYASABKAkSGAoLZGVzY3JpcHRpb24YAiABKAlIAIgBARIRCgl0ZW5hbnRfaWQYAyABKAkSIAoTZGVmYXVsdF9sb2NhbGVfY29kZRgEIAEoCUgBiAEBEigKG2RlZmF1bHRfbG9jYWxlX2Rpc3BsYXlfbmFtZRgFIAEoCUgCiAEBEicKGmRlZmF1bHRfbG9jYWxlX25hdGl2ZV9uYW1lGAYgASgJSAOIAQESIgoVZGVmYXVsdF9sb2NhbGVfaXNfcnRsGAcgASgISASIAQFCDgoMX2Rlc2NyaXB0aW9uQhYKFF9kZWZhdWx0X2xvY2FsZV9jb2RlQh4KHF9kZWZhdWx0X2xvY2FsZV9kaXNwbGF5X25hbWVCHQobX2RlZmF1bHRfbG9jYWxlX25hdGl2ZV9uYW1lQhgKFl9kZWZhdWx0X2xvY2FsZV9pc19ydGwiPgoVQ3JlYXRlUHJvamVjdFJlc3BvbnNlEiUKB3Byb2plY3QYASABKAsyFC5pZGVudGl0eS52MS5Qcm9qZWN0Ih8KEUdldFByb2plY3RSZXF1ZXN0EgoKAmlkGAEgASgJIjsKEkdldFByb2plY3RSZXNwb25zZRIlCgdwcm9qZWN0GAEgASgLMhQuaWRlbnRpdHkudjEuUHJvamVjdCKkAQoUVXBkYXRlUHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESLwoGc3RhdHVzGAQgASgOMhouaWRlbnRpdHkudjEuUHJvamVjdFN0YXR1c0gCiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIJCgdfc3RhdHVzIj4KFVVwZGF0ZVByb2plY3RSZXNwb25zZRIlCgdwcm9qZWN0GAEgASgLMhQuaWRlbnRpdHkudjEuUHJvamVjdCKDAQoTTGlzdFByb2plY3RzUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSLwoGc3RhdHVzGAIgASgOMhouaWRlbnRpdHkudjEuUHJvamVjdFN0YXR1c0gAiAEBEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBUIJCgdfc3RhdHVzIkoKFExpc3RQcm9qZWN0c1Jlc3BvbnNlEiMKBWl0ZW1zGAEgAygLMhQuaWRlbnRpdHkudjEuUHJvamVjdBINCgV0b3RhbBgCIAEoBSIiChREZWxldGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSIoChVEZWxldGVQcm9qZWN0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCItChhHZXREZWZhdWx0UHJvamVjdFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJIkIKGUdldERlZmF1bHRQcm9qZWN0UmVzcG9uc2USJQoHcHJvamVjdBgBIAEoCzIULmlkZW50aXR5LnYxLlByb2plY3QiLgoYU2V0RGVmYXVsdFByb2plY3RSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkiQgoZU2V0RGVmYXVsdFByb2plY3RSZXNwb25zZRIlCgdwcm9qZWN0GAEgASgLMhQuaWRlbnRpdHkudjEuUHJvamVjdCLHAQoXQ3JlYXRlSW52aXRhdGlvblJlcXVlc3QSDQoFZW1haWwYASABKAkSEQoJdGVuYW50X2lkGAIgASgJEhMKC3Byb2plY3RfaWRzGAMgAygJEiUKBHJvbGUYBCABKA4yFy5pZGVudGl0eS52MS5BY2Nlc3NSb2xlEiwKC2ludml0ZV90eXBlGAUgASgOMhcuaWRlbnRpdHkudjEuSW52aXRlVHlwZRIUCgdtZXNzYWdlGAYgASgJSACIAQFCCgoIX21lc3NhZ2UiRwoYQ3JlYXRlSW52aXRhdGlvblJlc3BvbnNlEisKCmludml0YXRpb24YASABKAsyFy5pZGVudGl0eS52MS5JbnZpdGF0aW9uIokBChZMaXN0SW52aXRhdGlvbnNSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRIyCgZzdGF0dXMYAiABKA4yHS5pZGVudGl0eS52MS5JbnZpdGF0aW9uU3RhdHVzSACIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQgkKB19zdGF0dXMiUAoXTGlzdEludml0YXRpb25zUmVzcG9uc2USJgoFaXRlbXMYASADKAsyFy5pZGVudGl0eS52MS5JbnZpdGF0aW9uEg0KBXRvdGFsGAIgASgFIjAKF1Jldm9rZUludml0YXRpb25SZXF1ZXN0EhUKDWludml0YXRpb25faWQYASABKAkiKwoYUmV2b2tlSW52aXRhdGlvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiTAoXQWNjZXB0SW52aXRhdGlvblJlcXVlc3QSDQoFdG9rZW4YASABKAkSFQoIcGFzc3dvcmQYAiABKAlIAIgBAUILCglfcGFzc3dvcmQiVAoYQWNjZXB0SW52aXRhdGlvblJlc3BvbnNlEiQKBHVzZXIYASABKAsyFi5pZGVudGl0eS52MS5BZG1pblVzZXISEgoKc2Vzc2lvbl9pZBgCIAEoCSIqChlWYWxpZGF0ZUludml0YXRpb25SZXF1ZXN0Eg0KBXRva2VuGAEgASgJIkkKGlZhbGlkYXRlSW52aXRhdGlvblJlc3BvbnNlEisKCmludml0YXRpb24YASABKAsyFy5pZGVudGl0eS52MS5JbnZpdGF0aW9uIpACChNDcmVhdGVBcGlLZXlSZXF1ZXN0EgwKBG5hbWUYASABKAkSKQoIa2V5X3R5cGUYAiABKA4yFy5pZGVudGl0eS52MS5BcGlLZXlUeXBlEg4KBnNjb3BlcxgDIAMoCRIgChNyYXRlX2xpbWl0X3Blcl9ob3VyGAQgASgFSACIAQESMwoKZXhwaXJlc19hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIWCg5hbGxvd2VkX21vZGVscxgGIAMoCRIaChJhbGxvd2VkX2ZpbGVfdHlwZXMYByADKAlCFgoUX3JhdGVfbGltaXRfcGVyX2hvdXJCDQoLX2V4cGlyZXNfYXQiPAoUQ3JlYXRlQXBpS2V5UmVzcG9uc2USJAoHYXBpX2tleRgBIAEoCzITLmlkZW50aXR5LnYxLkFwaUtleSIeChBHZXRBcGlLZXlSZXF1ZXN0EgoKAmlkGAEgASgJIjkKEUdldEFwaUtleVJlc3BvbnNlEiQKB2FwaV9rZXkYASABKAsyEy5pZGVudGl0eS52MS5BcGlLZXkiMwoSTGlzdEFwaUtleXNSZXF1ZXN0Eg0KBWxpbWl0GAEgASgFEg4KBm9mZnNldBgCIAEoBSJIChNMaXN0QXBpS2V5c1Jlc3BvbnNlEiIKBWl0ZW1zGAEgAygLMhMuaWRlbnRpdHkudjEuQXBpS2V5Eg0KBXRvdGFsGAIgASgFIsQBChNVcGRhdGVBcGlLZXlSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIWCglpc19hY3RpdmUYAyABKAhIAYgBARIOCgZzY29wZXMYBCADKAkSFQoNdXBkYXRlX3Njb3BlcxgGIAEoCBIgChNyYXRlX2xpbWl0X3Blcl9ob3VyGAUgASgFSAKIAQFCBwoFX25hbWVCDAoKX2lzX2FjdGl2ZUIWChRfcmF0ZV9saW1pdF9wZXJfaG91ciI8ChRVcGRhdGVBcGlLZXlSZXNwb25zZRIkCgdhcGlfa2V5GAEgASgLMhMuaWRlbnRpdHkudjEuQXBpS2V5IiEKE1JvdGF0ZUFwaUtleVJlcXVlc3QSCgoCaWQYASABKAkiPAoUUm90YXRlQXBpS2V5UmVzcG9uc2USJAoHYXBpX2tleRgBIAEoCzITLmlkZW50aXR5LnYxLkFwaUtleSIhChNSZXZva2VBcGlLZXlSZXF1ZXN0EgoKAmlkGAEgASgJIicKFFJldm9rZUFwaUtleVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgi+gIKDEF1dGhQcm92aWRlchIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIMCgR0eXBlGAQgASgJEicKBmNvbmZpZxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDwoHZW5hYmxlZBgGIAEoCBISCgppc19kZWZhdWx0GAcgASgIEhAKCHByaW9yaXR5GAggASgFEhEKCXRlbmFudF9pZBgUIAEoCRISCgpwcm9qZWN0X2lkGBUgASgJEhcKCmNyZWF0ZWRfYnkYHiABKAlIAIgBARIXCgp1cGRhdGVkX2J5GB8gASgJSAGIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDQoLX2NyZWF0ZWRfYnlCDQoLX3VwZGF0ZWRfYnkiWwoYTGlzdEF1dGhQcm92aWRlcnNSZXF1ZXN0EhQKB2VuYWJsZWQYASABKAhIAIgBARINCgVsaW1pdBgKIAEoBRIOCgZvZmZzZXQYCyABKAVCCgoIX2VuYWJsZWQiWAoZTGlzdEF1dGhQcm92aWRlcnNSZXNwb25zZRIsCglwcm92aWRlcnMYASADKAsyGS5pZGVudGl0eS52MS5BdXRoUHJvdmlkZXISDQoFdG90YWwYAiABKAUiJAoWR2V0QXV0aFByb3ZpZGVyUmVxdWVzdBIKCgJpZBgBIAEoCSJGChdHZXRBdXRoUHJvdmlkZXJSZXNwb25zZRIrCghwcm92aWRlchgBIAEoCzIZLmlkZW50aXR5LnYxLkF1dGhQcm92aWRlciLbAQoZQ3JlYXRlQXV0aFByb3ZpZGVyUmVxdWVzdBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIMCgR0eXBlGAMgASgJEicKBmNvbmZpZxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFAoHZW5hYmxlZBgFIAEoCEgAiAEBEhcKCmlzX2RlZmF1bHQYBiABKAhIAYgBARIVCghwcmlvcml0eRgHIAEoBUgCiAEBQgoKCF9lbmFibGVkQg0KC19pc19kZWZhdWx0QgsKCV9wcmlvcml0eSJJChpDcmVhdGVBdXRoUHJvdmlkZXJSZXNwb25zZRIrCghwcm92aWRlchgBIAEoCzIZLmlkZW50aXR5LnYxLkF1dGhQcm92aWRlciLqAQoZVXBkYXRlQXV0aFByb3ZpZGVyUmVxdWVzdBIKCgJpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESLAoGY29uZmlnGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEhQKB2VuYWJsZWQYBCABKAhIAogBARIXCgppc19kZWZhdWx0GAUgASgISAOIAQESFQoIcHJpb3JpdHkYBiABKAVIBIgBAUIHCgVfbmFtZUIJCgdfY29uZmlnQgoKCF9lbmFibGVkQg0KC19pc19kZWZhdWx0QgsKCV9wcmlvcml0eSJJChpVcGRhdGVBdXRoUHJvdmlkZXJSZXNwb25zZRIrCghwcm92aWRlchgBIAEoCzIZLmlkZW50aXR5LnYxLkF1dGhQcm92aWRlciInChlEZWxldGVBdXRoUHJvdmlkZXJSZXF1ZXN0EgoKAmlkGAEgASgJIi0KGkRlbGV0ZUF1dGhQcm92aWRlclJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiHgocRW5hYmxlZE9BdXRoUHJvdmlkZXJzUmVxdWVzdCIyCh1FbmFibGVkT0F1dGhQcm92aWRlcnNSZXNwb25zZRIRCglwcm92aWRlcnMYASADKAkiKgoXTWludFNlcnZpY2VUb2tlblJlcXVlc3QSDwoHcHVycG9zZRgBIAEoCSJOChhNaW50U2VydmljZVRva2VuUmVzcG9uc2USDQoFdG9rZW4YASABKAkSDwoHcHVycG9zZRgCIAEoCRISCgpleHBpcmVzX2F0GAMgASgJIo4BChZVcGRhdGVNeVByb2ZpbGVSZXF1ZXN0EhcKCmZpcnN0X25hbWUYASABKAlIAIgBARIWCglsYXN0X25hbWUYAiABKAlIAYgBARIXCgphdmF0YXJfdXJsGAMgASgJSAKIAQFCDQoLX2ZpcnN0X25hbWVCDAoKX2xhc3RfbmFtZUINCgtfYXZhdGFyX3VybCI/ChdVcGRhdGVNeVByb2ZpbGVSZXNwb25zZRIkCgR1c2VyGAEgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyIh8KHUxpc3RNeU9BdXRoQ29ubmVjdGlvbnNSZXF1ZXN0Io0BCg9PQXV0aENvbm5lY3Rpb24SEAoIcHJvdmlkZXIYASABKAkSGAoQcHJvdmlkZXJfdXNlcl9pZBgCIAEoCRISCgVlbWFpbBgDIAEoCUgAiAEBEjAKDGNvbm5lY3RlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCAoGX2VtYWlsIlMKHkxpc3RNeU9BdXRoQ29ubmVjdGlvbnNSZXNwb25zZRIxCgtjb25uZWN0aW9ucxgBIAMoCzIcLmlkZW50aXR5LnYxLk9BdXRoQ29ubmVjdGlvbiIuChpVbmxpbmtPQXV0aFByb3ZpZGVyUmVxdWVzdBIQCghwcm92aWRlchgBIAEoCSIuChtVbmxpbmtPQXV0aFByb3ZpZGVyUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIuCh1DaGVja0VtYWlsQXZhaWxhYmlsaXR5UmVxdWVzdBINCgVlbWFpbBgBIAEoCSIzCh5DaGVja0VtYWlsQXZhaWxhYmlsaXR5UmVzcG9uc2USEQoJYXZhaWxhYmxlGAEgASgIIo8BChtDb21wbGV0ZUFjY291bnRTZXR1cFJlcXVlc3QSFwoKZmlyc3RfbmFtZRgBIAEoCUgAiAEBEhYKCWxhc3RfbmFtZRgCIAEoCUgBiAEBEhUKCHBhc3N3b3JkGAMgASgJSAKIAQFCDQoLX2ZpcnN0X25hbWVCDAoKX2xhc3RfbmFtZUILCglfcGFzc3dvcmQiWwocQ29tcGxldGVBY2NvdW50U2V0dXBSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhkKDHJlZGlyZWN0X3VybBgCIAEoCUgAiAEBQg8KDV9yZWRpcmVjdF91cmwiLQoaQ3JlYXRlU2lnbnVwU2Vzc2lvblJlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCSIuChtDcmVhdGVTaWdudXBTZXNzaW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIwChdSZXNlbmRJbnZpdGF0aW9uUmVxdWVzdBIVCg1pbnZpdGF0aW9uX2lkGAEgASgJIisKGFJlc2VuZEludml0YXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiIKFEdldEludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIkQKFUdldEludml0YXRpb25SZXNwb25zZRIrCgppbnZpdGF0aW9uGAEgASgLMhcuaWRlbnRpdHkudjEuSW52aXRhdGlvbiIqChVBY3RpdmF0ZVRlbmFudFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJIj0KFkFjdGl2YXRlVGVuYW50UmVzcG9uc2USIwoGdGVuYW50GAEgASgLMhMuaWRlbnRpdHkudjEuVGVuYW50IjAKG1N1c3BlbmRUZW5hbnRBY2NvdW50UmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkiQwocU3VzcGVuZFRlbmFudEFjY291bnRSZXNwb25zZRIjCgZ0ZW5hbnQYASABKAsyEy5pZGVudGl0eS52MS5UZW5hbnQiKAoTQ2FuY2VsVGVuYW50UmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkiOwoUQ2FuY2VsVGVuYW50UmVzcG9uc2USIwoGdGVuYW50GAEgASgLMhMuaWRlbnRpdHkudjEuVGVuYW50IiwKF1JlYWN0aXZhdGVUZW5hbnRSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCSI/ChhSZWFjdGl2YXRlVGVuYW50UmVzcG9uc2USIwoGdGVuYW50GAEgASgLMhMuaWRlbnRpdHkudjEuVGVuYW50Ii0KGE1hcmtUZW5hbnRQYXN0RHVlUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkiQAoZTWFya1RlbmFudFBhc3REdWVSZXNwb25zZRIjCgZ0ZW5hbnQYASABKAsyEy5pZGVudGl0eS52MS5UZW5hbnQiJwoSQ2h1cm5UZW5hbnRSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCSI6ChNDaHVyblRlbmFudFJlc3BvbnNlEiMKBnRlbmFudBgBIAEoCzITLmlkZW50aXR5LnYxLlRlbmFudCIeChxHZXRDdXN0b21lckF1dGhDb25maWdSZXF1ZXN0IpoCChJDdXN0b21lckF1dGhDb25maWcSEQoJYWxnb3JpdGhtGAEgASgJEhMKBmlzc3VlchgCIAEoCUgAiAEBEhUKCGF1ZGllbmNlGAMgASgJSAGIAQESNwoOa2V5X3JvdGF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESGAoLc2lnbmluZ19rZXkYBSABKAlIA4gBARIsCgZjbGFpbXMYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQFCCQoHX2lzc3VlckILCglfYXVkaWVuY2VCEQoPX2tleV9yb3RhdGVkX2F0Qg4KDF9zaWduaW5nX2tleUIJCgdfY2xhaW1zIlAKHUdldEN1c3RvbWVyQXV0aENvbmZpZ1Jlc3BvbnNlEi8KBmNvbmZpZxgBIAEoCzIfLmlkZW50aXR5LnYxLkN1c3RvbWVyQXV0aENvbmZpZyIrChpWZXJpZnlDdXN0b21lclRva2VuUmVxdWVzdBINCgV0b2tlbhgBIAEoCSKzAgobVmVyaWZ5Q3VzdG9tZXJUb2tlblJlc3BvbnNlEg0KBXZhbGlkGAEgASgIEhIKBWVycm9yGAIgASgJSACIAQESGAoLY3VzdG9tZXJfaWQYAyABKAlIAYgBARISCgVlbWFpbBgEIAEoCUgCiAEBEhYKCXRlbmFudF9pZBgFIAEoCUgDiAEBEhcKCnByb2plY3RfaWQYBiABKAlIBIgBARINCgVyb2xlcxgHIAMoCRIzCgpleHBpcmVzX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBQggKBl9lcnJvckIOCgxfY3VzdG9tZXJfaWRCCAoGX2VtYWlsQgwKCl90ZW5hbnRfaWRCDQoLX3Byb2plY3RfaWRCDQoLX2V4cGlyZXNfYXQiJAoiR2V0Q3VzdG9tZXJNYW5hZ2VtZW50U3RhdHVzUmVxdWVzdCLbAQoYQ3VzdG9tZXJNYW5hZ2VtZW50U3RhdHVzEiEKGW5hdGl2ZV9tYW5hZ2VtZW50X2VuYWJsZWQYASABKAgSIgoVZXh0ZXJuYWxfcHJvdmlkZXJfdXJsGAIgASgJSACIAQESIwoWZXh0ZXJuYWxfcHJvdmlkZXJfbmFtZRgDIAEoCUgBiAEBEhMKBnJlYXNvbhgEIAEoCUgCiAEBQhgKFl9leHRlcm5hbF9wcm92aWRlcl91cmxCGQoXX2V4dGVybmFsX3Byb3ZpZGVyX25hbWVCCQoHX3JlYXNvbiJcCiNHZXRDdXN0b21lck1hbmFnZW1lbnRTdGF0dXNSZXNwb25zZRI1CgZzdGF0dXMYASABKAsyJS5pZGVudGl0eS52MS5DdXN0b21lck1hbmFnZW1lbnRTdGF0dXMiKAoVVmFsaWRhdGVBcGlLZXlSZXF1ZXN0Eg8KB2FwaV9rZXkYASABKAkizAEKFlZhbGlkYXRlQXBpS2V5UmVzcG9uc2USCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgl0ZW5hbnRfaWQYAyABKAkSEgoKcHJvamVjdF9pZBgEIAEoCRIQCghrZXlfdHlwZRgFIAEoCRIOCgZzY29wZXMYBiADKAkSFgoOYWxsb3dlZF9tb2RlbHMYByADKAkSGgoSYWxsb3dlZF9maWxlX3R5cGVzGAggAygJEhsKE3JhdGVfbGltaXRfcGVyX2hvdXIYCSABKAUiNwoUQ3VzdG9tZXJMb2dpblJlcXVlc3QSDQoFZW1haWwYASABKAkSEAoIcGFzc3dvcmQYAiABKAkibQoVQ3VzdG9tZXJMb2dpblJlc3BvbnNlEhQKDGFjY2Vzc190b2tlbhgBIAEoCRIVCg1yZWZyZXNoX3Rva2VuGAIgASgJEicKCGN1c3RvbWVyGAMgASgLMhUuaWRlbnRpdHkudjEuQ3VzdG9tZXIifwoXQ3VzdG9tZXJSZWdpc3RlclJlcXVlc3QSDQoFZW1haWwYASABKAkSEAoIcGFzc3dvcmQYAiABKAkSMgoMcHJvZmlsZV9kYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQg8KDV9wcm9maWxlX2RhdGEicAoYQ3VzdG9tZXJSZWdpc3RlclJlc3BvbnNlEhQKDGFjY2Vzc190b2tlbhgBIAEoCRIVCg1yZWZyZXNoX3Rva2VuGAIgASgJEicKCGN1c3RvbWVyGAMgASgLMhUuaWRlbnRpdHkudjEuQ3VzdG9tZXIiNAobQ3VzdG9tZXJSZWZyZXNoVG9rZW5SZXF1ZXN0EhUKDXJlZnJlc2hfdG9rZW4YASABKAkiSwocQ3VzdG9tZXJSZWZyZXNoVG9rZW5SZXNwb25zZRIUCgxhY2Nlc3NfdG9rZW4YASABKAkSFQoNcmVmcmVzaF90b2tlbhgCIAEoCSIqChlDdXN0b21lclJlcXVlc3RPVFBSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIioKGkN1c3RvbWVyUmVxdWVzdE9UUFJlc3BvbnNlEgwKBHNlbnQYASABKAgiOwoYQ3VzdG9tZXJWZXJpZnlPVFBSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhAKCG90cF9jb2RlGAIgASgJInEKGUN1c3RvbWVyVmVyaWZ5T1RQUmVzcG9uc2USFAoMYWNjZXNzX3Rva2VuGAEgASgJEhUKDXJlZnJlc2hfdG9rZW4YAiABKAkSJwoIY3VzdG9tZXIYAyABKAsyFS5pZGVudGl0eS52MS5DdXN0b21lciI0CiNDdXN0b21lclJlcXVlc3RQYXNzd29yZFJlc2V0UmVxdWVzdBINCgVlbWFpbBgBIAEoCSI0CiRDdXN0b21lclJlcXVlc3RQYXNzd29yZFJlc2V0UmVzcG9uc2USDAoEc2VudBgBIAEoCCJDChxDdXN0b21lclJlc2V0UGFzc3dvcmRSZXF1ZXN0Eg0KBXRva2VuGAEgASgJEhQKDG5ld19wYXNzd29yZBgCIAEoCSIwCh1DdXN0b21lclJlc2V0UGFzc3dvcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIKrEBCg9BZG1pblVzZXJTdGF0dXMSIQodQURNSU5fVVNFUl9TVEFUVVNfVU5TUEVDSUZJRUQQABIcChhBRE1JTl9VU0VSX1NUQVRVU19BQ1RJVkUQARIdChlBRE1JTl9VU0VSX1NUQVRVU19QRU5ESU5HEAISHwobQURNSU5fVVNFUl9TVEFUVVNfU1VTUEVOREVEEAMSHQoZQURNSU5fVVNFUl9TVEFUVVNfREVMRVRFRBAEKokBCg5DdXN0b21lclN0YXR1cxIfChtDVVNUT01FUl9TVEFUVVNfVU5TUEVDSUZJRUQQABIaChZDVVNUT01FUl9TVEFUVVNfQUNUSVZFEAESGwoXQ1VTVE9NRVJfU1RBVFVTX1BFTkRJTkcQAhIdChlDVVNUT01FUl9TVEFUVVNfU1VTUEVOREVEEAMq2QEKDFRlbmFudFN0YXR1cxIdChlURU5BTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHwobVEVOQU5UX1NUQVRVU19QRU5ESU5HX1NFVFVQEAESGAoUVEVOQU5UX1NUQVRVU19BQ1RJVkUQAhIaChZURU5BTlRfU1RBVFVTX1BBU1RfRFVFEAMSGwoXVEVOQU5UX1NUQVRVU19TVVNQRU5ERUQQBBIbChdURU5BTlRfU1RBVFVTX0NBTkNFTExFRBAFEhkKFVRFTkFOVF9TVEFUVVNfQ0hVUk5FRBAGKmYKDVByb2plY3RTdGF0dXMSHgoaUFJPSkVDVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIZChVQUk9KRUNUX1NUQVRVU19BQ1RJVkUQARIaChZQUk9KRUNUX1NUQVRVU19ERUxFVEVEEAIqpgEKCkFjY2Vzc1JvbGUSGwoXQUNDRVNTX1JPTEVfVU5TUEVDSUZJRUQQABIcChhBQ0NFU1NfUk9MRV9URU5BTlRfT1dORVIQARIdChlBQ0NFU1NfUk9MRV9QUk9KRUNUX0FETUlOEAISHgoaQUNDRVNTX1JPTEVfUFJPSkVDVF9FRElUT1IQAxIeChpBQ0NFU1NfUk9MRV9QUk9KRUNUX1ZJRVdFUhAEKmQKCkludml0ZVR5cGUSGwoXSU5WSVRFX1RZUEVfVU5TUEVDSUZJRUQQABIcChhJTlZJVEVfVFlQRV9URU5BTlRfT1dORVIQARIbChdJTlZJVEVfVFlQRV9URUFNX01FTUJFUhACKrIBChBJbnZpdGF0aW9uU3RhdHVzEiEKHUlOVklUQVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASHQoZSU5WSVRBVElPTl9TVEFUVVNfUEVORElORxABEh4KGklOVklUQVRJT05fU1RBVFVTX0FDQ0VQVEVEEAISHQoZSU5WSVRBVElPTl9TVEFUVVNfRVhQSVJFRBADEh0KGUlOVklUQVRJT05fU1RBVFVTX1JFVk9LRUQQBCpcCgpBcGlLZXlUeXBlEhwKGEFQSV9LRVlfVFlQRV9VTlNQRUNJRklFRBAAEhcKE0FQSV9LRVlfVFlQRV9QVUJMSUMQARIXChNBUElfS0VZX1RZUEVfU0VDUkVUEAIywz4KD0lkZW50aXR5U2VydmljZRI+CgVMb2dpbhIZLmlkZW50aXR5LnYxLkxvZ2luUmVxdWVzdBoaLmlkZW50aXR5LnYxLkxvZ2luUmVzcG9uc2USUwoMTG9naW5XaXRoT1RQEiAuaWRlbnRpdHkudjEuTG9naW5XaXRoT1RQUmVxdWVzdBohLmlkZW50aXR5LnYxLkxvZ2luV2l0aE9UUFJlc3BvbnNlEk0KClJlcXVlc3RPVFASHi5pZGVudGl0eS52MS5SZXF1ZXN0T1RQUmVxdWVzdBofLmlkZW50aXR5LnYxLlJlcXVlc3RPVFBSZXNwb25zZRJBCgZMb2dvdXQSGi5pZGVudGl0eS52MS5Mb2dvdXRSZXF1ZXN0GhsuaWRlbnRpdHkudjEuTG9nb3V0UmVzcG9uc2USRwoIUmVnaXN0ZXISHC5pZGVudGl0eS52MS5SZWdpc3RlclJlcXVlc3QaHS5pZGVudGl0eS52MS5SZWdpc3RlclJlc3BvbnNlElAKC1ZlcmlmeUVtYWlsEh8uaWRlbnRpdHkudjEuVmVyaWZ5RW1haWxSZXF1ZXN0GiAuaWRlbnRpdHkudjEuVmVyaWZ5RW1haWxSZXNwb25zZRJ0ChdSZXNlbmRWZXJpZmljYXRpb25FbWFpbBIrLmlkZW50aXR5LnYxLlJlc2VuZFZlcmlmaWNhdGlvbkVtYWlsUmVxdWVzdBosLmlkZW50aXR5LnYxLlJlc2VuZFZlcmlmaWNhdGlvbkVtYWlsUmVzcG9uc2USegoZU2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZRItLmlkZW50aXR5LnYxLlNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGVSZXF1ZXN0Gi4uaWRlbnRpdHkudjEuU2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZVJlc3BvbnNlElwKD1ZlcmlmeUVtYWlsQ29kZRIjLmlkZW50aXR5LnYxLlZlcmlmeUVtYWlsQ29kZVJlcXVlc3QaJC5pZGVudGl0eS52MS5WZXJpZnlFbWFpbENvZGVSZXNwb25zZRJrChRSZXF1ZXN0UGFzc3dvcmRSZXNldBIoLmlkZW50aXR5LnYxLlJlcXVlc3RQYXNzd29yZFJlc2V0UmVxdWVzdBopLmlkZW50aXR5LnYxLlJlcXVlc3RQYXNzd29yZFJlc2V0UmVzcG9uc2USVgoNUmVzZXRQYXNzd29yZBIhLmlkZW50aXR5LnYxLlJlc2V0UGFzc3dvcmRSZXF1ZXN0GiIuaWRlbnRpdHkudjEuUmVzZXRQYXNzd29yZFJlc3BvbnNlElkKDlVwZGF0ZVBhc3N3b3JkEiIuaWRlbnRpdHkudjEuVXBkYXRlUGFzc3dvcmRSZXF1ZXN0GiMuaWRlbnRpdHkudjEuVXBkYXRlUGFzc3dvcmRSZXNwb25zZRJTCgxSZWZyZXNoVG9rZW4SIC5pZGVudGl0eS52MS5SZWZyZXNoVG9rZW5SZXF1ZXN0GiEuaWRlbnRpdHkudjEuUmVmcmVzaFRva2VuUmVzcG9uc2USYgoRR2V0U2Vzc2lvbkNvbnRleHQSJS5pZGVudGl0eS52MS5HZXRTZXNzaW9uQ29udGV4dFJlcXVlc3QaJi5pZGVudGl0eS52MS5HZXRTZXNzaW9uQ29udGV4dFJlc3BvbnNlElMKDFN3aXRjaFRlbmFudBIgLmlkZW50aXR5LnYxLlN3aXRjaFRlbmFudFJlcXVlc3QaIS5pZGVudGl0eS52MS5Td2l0Y2hUZW5hbnRSZXNwb25zZRJWCg1Td2l0Y2hQcm9qZWN0EiEuaWRlbnRpdHkudjEuU3dpdGNoUHJvamVjdFJlcXVlc3QaIi5pZGVudGl0eS52MS5Td2l0Y2hQcm9qZWN0UmVzcG9uc2USaAoTQ2xlYXJTZXNzaW9uQ29udGV4dBInLmlkZW50aXR5LnYxLkNsZWFyU2Vzc2lvbkNvbnRleHRSZXF1ZXN0GiguaWRlbnRpdHkudjEuQ2xlYXJTZXNzaW9uQ29udGV4dFJlc3BvbnNlEj4KBUdldE1lEhkuaWRlbnRpdHkudjEuR2V0TWVSZXF1ZXN0GhouaWRlbnRpdHkudjEuR2V0TWVSZXNwb25zZRJcCg9DcmVhdGVBZG1pblVzZXISIy5pZGVudGl0eS52MS5DcmVhdGVBZG1pblVzZXJSZXF1ZXN0GiQuaWRlbnRpdHkudjEuQ3JlYXRlQWRtaW5Vc2VyUmVzcG9uc2USUwoMR2V0QWRtaW5Vc2VyEiAuaWRlbnRpdHkudjEuR2V0QWRtaW5Vc2VyUmVxdWVzdBohLmlkZW50aXR5LnYxLkdldEFkbWluVXNlclJlc3BvbnNlElwKD1VwZGF0ZUFkbWluVXNlchIjLmlkZW50aXR5LnYxLlVwZGF0ZUFkbWluVXNlclJlcXVlc3QaJC5pZGVudGl0eS52MS5VcGRhdGVBZG1pblVzZXJSZXNwb25zZRJZCg5MaXN0QWRtaW5Vc2VycxIiLmlkZW50aXR5LnYxLkxpc3RBZG1pblVzZXJzUmVxdWVzdBojLmlkZW50aXR5LnYxLkxpc3RBZG1pblVzZXJzUmVzcG9uc2USUAoLR3JhbnRBY2Nlc3MSHy5pZGVudGl0eS52MS5HcmFudEFjY2Vzc1JlcXVlc3QaIC5pZGVudGl0eS52MS5HcmFudEFjY2Vzc1Jlc3BvbnNlElMKDFJldm9rZUFjY2VzcxIgLmlkZW50aXR5LnYxLlJldm9rZUFjY2Vzc1JlcXVlc3QaIS5pZGVudGl0eS52MS5SZXZva2VBY2Nlc3NSZXNwb25zZRJZCg5DcmVhdGVDdXN0b21lchIiLmlkZW50aXR5LnYxLkNyZWF0ZUN1c3RvbWVyUmVxdWVzdBojLmlkZW50aXR5LnYxLkNyZWF0ZUN1c3RvbWVyUmVzcG9uc2USUAoLR2V0Q3VzdG9tZXISHy5pZGVudGl0eS52MS5HZXRDdXN0b21lclJlcXVlc3QaIC5pZGVudGl0eS52MS5HZXRDdXN0b21lclJlc3BvbnNlElkKDlVwZGF0ZUN1c3RvbWVyEiIuaWRlbnRpdHkudjEuVXBkYXRlQ3VzdG9tZXJSZXF1ZXN0GiMuaWRlbnRpdHkudjEuVXBkYXRlQ3VzdG9tZXJSZXNwb25zZRJZCg5EZWxldGVDdXN0b21lchIiLmlkZW50aXR5LnYxLkRlbGV0ZUN1c3RvbWVyUmVxdWVzdBojLmlkZW50aXR5LnYxLkRlbGV0ZUN1c3RvbWVyUmVzcG9uc2USVgoNTGlzdEN1c3RvbWVycxIhLmlkZW50aXR5LnYxLkxpc3RDdXN0b21lcnNSZXF1ZXN0GiIuaWRlbnRpdHkudjEuTGlzdEN1c3RvbWVyc1Jlc3BvbnNlElwKD1N1c3BlbmRDdXN0b21lchIjLmlkZW50aXR5LnYxLlN1c3BlbmRDdXN0b21lclJlcXVlc3QaJC5pZGVudGl0eS52MS5TdXNwZW5kQ3VzdG9tZXJSZXNwb25zZRJTCgxDcmVhdGVUZW5hbnQSIC5pZGVudGl0eS52MS5DcmVhdGVUZW5hbnRSZXF1ZXN0GiEuaWRlbnRpdHkudjEuQ3JlYXRlVGVuYW50UmVzcG9uc2USSgoJR2V0VGVuYW50Eh0uaWRlbnRpdHkudjEuR2V0VGVuYW50UmVxdWVzdBoeLmlkZW50aXR5LnYxLkdldFRlbmFudFJlc3BvbnNlElMKDFVwZGF0ZVRlbmFudBIgLmlkZW50aXR5LnYxLlVwZGF0ZVRlbmFudFJlcXVlc3QaIS5pZGVudGl0eS52MS5VcGRhdGVUZW5hbnRSZXNwb25zZRJQCgtMaXN0VGVuYW50cxIfLmlkZW50aXR5LnYxLkxpc3RUZW5hbnRzUmVxdWVzdBogLmlkZW50aXR5LnYxLkxpc3RUZW5hbnRzUmVzcG9uc2USUwoMRGVsZXRlVGVuYW50EiAuaWRlbnRpdHkudjEuRGVsZXRlVGVuYW50UmVxdWVzdBohLmlkZW50aXR5LnYxLkRlbGV0ZVRlbmFudFJlc3BvbnNlElYKDUNyZWF0ZVByb2plY3QSIS5pZGVudGl0eS52MS5DcmVhdGVQcm9qZWN0UmVxdWVzdBoiLmlkZW50aXR5LnYxLkNyZWF0ZVByb2plY3RSZXNwb25zZRJNCgpHZXRQcm9qZWN0Eh4uaWRlbnRpdHkudjEuR2V0UHJvamVjdFJlcXVlc3QaHy5pZGVudGl0eS52MS5HZXRQcm9qZWN0UmVzcG9uc2USVgoNVXBkYXRlUHJvamVjdBIhLmlkZW50aXR5LnYxLlVwZGF0ZVByb2plY3RSZXF1ZXN0GiIuaWRlbnRpdHkudjEuVXBkYXRlUHJvamVjdFJlc3BvbnNlElMKDExpc3RQcm9qZWN0cxIgLmlkZW50aXR5LnYxLkxpc3RQcm9qZWN0c1JlcXVlc3QaIS5pZGVudGl0eS52MS5MaXN0UHJvamVjdHNSZXNwb25zZRJWCg1EZWxldGVQcm9qZWN0EiEuaWRlbnRpdHkudjEuRGVsZXRlUHJvamVjdFJlcXVlc3QaIi5pZGVudGl0eS52MS5EZWxldGVQcm9qZWN0UmVzcG9uc2USYgoRR2V0RGVmYXVsdFByb2plY3QSJS5pZGVudGl0eS52MS5HZXREZWZhdWx0UHJvamVjdFJlcXVlc3QaJi5pZGVudGl0eS52MS5HZXREZWZhdWx0UHJvamVjdFJlc3BvbnNlEmIKEVNldERlZmF1bHRQcm9qZWN0EiUuaWRlbnRpdHkudjEuU2V0RGVmYXVsdFByb2plY3RSZXF1ZXN0GiYuaWRlbnRpdHkudjEuU2V0RGVmYXVsdFByb2plY3RSZXNwb25zZRJfChBDcmVhdGVJbnZpdGF0aW9uEiQuaWRlbnRpdHkudjEuQ3JlYXRlSW52aXRhdGlvblJlcXVlc3QaJS5pZGVudGl0eS52MS5DcmVhdGVJbnZpdGF0aW9uUmVzcG9uc2USXAoPTGlzdEludml0YXRpb25zEiMuaWRlbnRpdHkudjEuTGlzdEludml0YXRpb25zUmVxdWVzdBokLmlkZW50aXR5LnYxLkxpc3RJbnZpdGF0aW9uc1Jlc3BvbnNlEl8KEFJldm9rZUludml0YXRpb24SJC5pZGVudGl0eS52MS5SZXZva2VJbnZpdGF0aW9uUmVxdWVzdBolLmlkZW50aXR5LnYxLlJldm9rZUludml0YXRpb25SZXNwb25zZRJfChBBY2NlcHRJbnZpdGF0aW9uEiQuaWRlbnRpdHkudjEuQWNjZXB0SW52aXRhdGlvblJlcXVlc3QaJS5pZGVudGl0eS52MS5BY2NlcHRJbnZpdGF0aW9uUmVzcG9uc2USZQoSVmFsaWRhdGVJbnZpdGF0aW9uEiYuaWRlbnRpdHkudjEuVmFsaWRhdGVJbnZpdGF0aW9uUmVxdWVzdBonLmlkZW50aXR5LnYxLlZhbGlkYXRlSW52aXRhdGlvblJlc3BvbnNlElMKDENyZWF0ZUFwaUtleRIgLmlkZW50aXR5LnYxLkNyZWF0ZUFwaUtleVJlcXVlc3QaIS5pZGVudGl0eS52MS5DcmVhdGVBcGlLZXlSZXNwb25zZRJKCglHZXRBcGlLZXkSHS5pZGVudGl0eS52MS5HZXRBcGlLZXlSZXF1ZXN0Gh4uaWRlbnRpdHkudjEuR2V0QXBpS2V5UmVzcG9uc2USUAoLTGlzdEFwaUtleXMSHy5pZGVudGl0eS52MS5MaXN0QXBpS2V5c1JlcXVlc3QaIC5pZGVudGl0eS52MS5MaXN0QXBpS2V5c1Jlc3BvbnNlElMKDFVwZGF0ZUFwaUtleRIgLmlkZW50aXR5LnYxLlVwZGF0ZUFwaUtleVJlcXVlc3QaIS5pZGVudGl0eS52MS5VcGRhdGVBcGlLZXlSZXNwb25zZRJTCgxSb3RhdGVBcGlLZXkSIC5pZGVudGl0eS52MS5Sb3RhdGVBcGlLZXlSZXF1ZXN0GiEuaWRlbnRpdHkudjEuUm90YXRlQXBpS2V5UmVzcG9uc2USUwoMUmV2b2tlQXBpS2V5EiAuaWRlbnRpdHkudjEuUmV2b2tlQXBpS2V5UmVxdWVzdBohLmlkZW50aXR5LnYxLlJldm9rZUFwaUtleVJlc3BvbnNlEmIKEUxpc3RBdXRoUHJvdmlkZXJzEiUuaWRlbnRpdHkudjEuTGlzdEF1dGhQcm92aWRlcnNSZXF1ZXN0GiYuaWRlbnRpdHkudjEuTGlzdEF1dGhQcm92aWRlcnNSZXNwb25zZRJcCg9HZXRBdXRoUHJvdmlkZXISIy5pZGVudGl0eS52MS5HZXRBdXRoUHJvdmlkZXJSZXF1ZXN0GiQuaWRlbnRpdHkudjEuR2V0QXV0aFByb3ZpZGVyUmVzcG9uc2USZQoSQ3JlYXRlQXV0aFByb3ZpZGVyEiYuaWRlbnRpdHkudjEuQ3JlYXRlQXV0aFByb3ZpZGVyUmVxdWVzdBonLmlkZW50aXR5LnYxLkNyZWF0ZUF1dGhQcm92aWRlclJlc3BvbnNlEmUKElVwZGF0ZUF1dGhQcm92aWRlchImLmlkZW50aXR5LnYxLlVwZGF0ZUF1dGhQcm92aWRlclJlcXVlc3QaJy5pZGVudGl0eS52MS5VcGRhdGVBdXRoUHJvdmlkZXJSZXNwb25zZRJlChJEZWxldGVBdXRoUHJvdmlkZXISJi5pZGVudGl0eS52MS5EZWxldGVBdXRoUHJvdmlkZXJSZXF1ZXN0GicuaWRlbnRpdHkudjEuRGVsZXRlQXV0aFByb3ZpZGVyUmVzcG9uc2USbgoVRW5hYmxlZE9BdXRoUHJvdmlkZXJzEikuaWRlbnRpdHkudjEuRW5hYmxlZE9BdXRoUHJvdmlkZXJzUmVxdWVzdBoqLmlkZW50aXR5LnYxLkVuYWJsZWRPQXV0aFByb3ZpZGVyc1Jlc3BvbnNlEl8KEE1pbnRTZXJ2aWNlVG9rZW4SJC5pZGVudGl0eS52MS5NaW50U2VydmljZVRva2VuUmVxdWVzdBolLmlkZW50aXR5LnYxLk1pbnRTZXJ2aWNlVG9rZW5SZXNwb25zZRJcCg9VcGRhdGVNeVByb2ZpbGUSIy5pZGVudGl0eS52MS5VcGRhdGVNeVByb2ZpbGVSZXF1ZXN0GiQuaWRlbnRpdHkudjEuVXBkYXRlTXlQcm9maWxlUmVzcG9uc2UScQoWTGlzdE15T0F1dGhDb25uZWN0aW9ucxIqLmlkZW50aXR5LnYxLkxpc3RNeU9BdXRoQ29ubmVjdGlvbnNSZXF1ZXN0GisuaWRlbnRpdHkudjEuTGlzdE15T0F1dGhDb25uZWN0aW9uc1Jlc3BvbnNlEmgKE1VubGlua09BdXRoUHJvdmlkZXISJy5pZGVudGl0eS52MS5VbmxpbmtPQXV0aFByb3ZpZGVyUmVxdWVzdBooLmlkZW50aXR5LnYxLlVubGlua09BdXRoUHJvdmlkZXJSZXNwb25zZRJxChZDaGVja0VtYWlsQXZhaWxhYmlsaXR5EiouaWRlbnRpdHkudjEuQ2hlY2tFbWFpbEF2YWlsYWJpbGl0eVJlcXVlc3QaKy5pZGVudGl0eS52MS5DaGVja0VtYWlsQXZhaWxhYmlsaXR5UmVzcG9uc2USawoUQ29tcGxldGVBY2NvdW50U2V0dXASKC5pZGVudGl0eS52MS5Db21wbGV0ZUFjY291bnRTZXR1cFJlcXVlc3QaKS5pZGVudGl0eS52MS5Db21wbGV0ZUFjY291bnRTZXR1cFJlc3BvbnNlEmgKE0NyZWF0ZVNpZ251cFNlc3Npb24SJy5pZGVudGl0eS52MS5DcmVhdGVTaWdudXBTZXNzaW9uUmVxdWVzdBooLmlkZW50aXR5LnYxLkNyZWF0ZVNpZ251cFNlc3Npb25SZXNwb25zZRJfChBSZXNlbmRJbnZpdGF0aW9uEiQuaWRlbnRpdHkudjEuUmVzZW5kSW52aXRhdGlvblJlcXVlc3QaJS5pZGVudGl0eS52MS5SZXNlbmRJbnZpdGF0aW9uUmVzcG9uc2USVgoNR2V0SW52aXRhdGlvbhIhLmlkZW50aXR5LnYxLkdldEludml0YXRpb25SZXF1ZXN0GiIuaWRlbnRpdHkudjEuR2V0SW52aXRhdGlvblJlc3BvbnNlElkKDkFjdGl2YXRlVGVuYW50EiIuaWRlbnRpdHkudjEuQWN0aXZhdGVUZW5hbnRSZXF1ZXN0GiMuaWRlbnRpdHkudjEuQWN0aXZhdGVUZW5hbnRSZXNwb25zZRJrChRTdXNwZW5kVGVuYW50QWNjb3VudBIoLmlkZW50aXR5LnYxLlN1c3BlbmRUZW5hbnRBY2NvdW50UmVxdWVzdBopLmlkZW50aXR5LnYxLlN1c3BlbmRUZW5hbnRBY2NvdW50UmVzcG9uc2USUwoMQ2FuY2VsVGVuYW50EiAuaWRlbnRpdHkudjEuQ2FuY2VsVGVuYW50UmVxdWVzdBohLmlkZW50aXR5LnYxLkNhbmNlbFRlbmFudFJlc3BvbnNlEl8KEFJlYWN0aXZhdGVUZW5hbnQSJC5pZGVudGl0eS52MS5SZWFjdGl2YXRlVGVuYW50UmVxdWVzdBolLmlkZW50aXR5LnYxLlJlYWN0aXZhdGVUZW5hbnRSZXNwb25zZRJiChFNYXJrVGVuYW50UGFzdER1ZRIlLmlkZW50aXR5LnYxLk1hcmtUZW5hbnRQYXN0RHVlUmVxdWVzdBomLmlkZW50aXR5LnYxLk1hcmtUZW5hbnRQYXN0RHVlUmVzcG9uc2USUAoLQ2h1cm5UZW5hbnQSHy5pZGVudGl0eS52MS5DaHVyblRlbmFudFJlcXVlc3QaIC5pZGVudGl0eS52MS5DaHVyblRlbmFudFJlc3BvbnNlEm4KFUdldEN1c3RvbWVyQXV0aENvbmZpZxIpLmlkZW50aXR5LnYxLkdldEN1c3RvbWVyQXV0aENvbmZpZ1JlcXVlc3QaKi5pZGVudGl0eS52MS5HZXRDdXN0b21lckF1dGhDb25maWdSZXNwb25zZRJoChNWZXJpZnlDdXN0b21lclRva2VuEicuaWRlbnRpdHkudjEuVmVyaWZ5Q3VzdG9tZXJUb2tlblJlcXVlc3QaKC5pZGVudGl0eS52MS5WZXJpZnlDdXN0b21lclRva2VuUmVzcG9uc2USgAEKG0dldEN1c3RvbWVyTWFuYWdlbWVudFN0YXR1cxIvLmlkZW50aXR5LnYxLkdldEN1c3RvbWVyTWFuYWdlbWVudFN0YXR1c1JlcXVlc3QaMC5pZGVudGl0eS52MS5HZXRDdXN0b21lck1hbmFnZW1lbnRTdGF0dXNSZXNwb25zZRJZCg5WYWxpZGF0ZUFwaUtleRIiLmlkZW50aXR5LnYxLlZhbGlkYXRlQXBpS2V5UmVxdWVzdBojLmlkZW50aXR5LnYxLlZhbGlkYXRlQXBpS2V5UmVzcG9uc2USVgoNQ3VzdG9tZXJMb2dpbhIhLmlkZW50aXR5LnYxLkN1c3RvbWVyTG9naW5SZXF1ZXN0GiIuaWRlbnRpdHkudjEuQ3VzdG9tZXJMb2dpblJlc3BvbnNlEl8KEEN1c3RvbWVyUmVnaXN0ZXISJC5pZGVudGl0eS52MS5DdXN0b21lclJlZ2lzdGVyUmVxdWVzdBolLmlkZW50aXR5LnYxLkN1c3RvbWVyUmVnaXN0ZXJSZXNwb25zZRJrChRDdXN0b21lclJlZnJlc2hUb2tlbhIoLmlkZW50aXR5LnYxLkN1c3RvbWVyUmVmcmVzaFRva2VuUmVxdWVzdBopLmlkZW50aXR5LnYxLkN1c3RvbWVyUmVmcmVzaFRva2VuUmVzcG9uc2USZQoSQ3VzdG9tZXJSZXF1ZXN0T1RQEiYuaWRlbnRpdHkudjEuQ3VzdG9tZXJSZXF1ZXN0T1RQUmVxdWVzdBonLmlkZW50aXR5LnYxLkN1c3RvbWVyUmVxdWVzdE9UUFJlc3BvbnNlEmIKEUN1c3RvbWVyVmVyaWZ5T1RQEiUuaWRlbnRpdHkudjEuQ3VzdG9tZXJWZXJpZnlPVFBSZXF1ZXN0GiYuaWRlbnRpdHkudjEuQ3VzdG9tZXJWZXJpZnlPVFBSZXNwb25zZRKDAQocQ3VzdG9tZXJSZXF1ZXN0UGFzc3dvcmRSZXNldBIwLmlkZW50aXR5LnYxLkN1c3RvbWVyUmVxdWVzdFBhc3N3b3JkUmVzZXRSZXF1ZXN0GjEuaWRlbnRpdHkudjEuQ3VzdG9tZXJSZXF1ZXN0UGFzc3dvcmRSZXNldFJlc3BvbnNlEm4KFUN1c3RvbWVyUmVzZXRQYXNzd29yZBIpLmlkZW50aXR5LnYxLkN1c3RvbWVyUmVzZXRQYXNzd29yZFJlcXVlc3QaKi5pZGVudGl0eS52MS5DdXN0b21lclJlc2V0UGFzc3dvcmRSZXNwb25zZUI9WjtnaXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vaWRlbnRpdHkvdjE7aWRlbnRpdHl2MWIGcHJvdG8z", [file_google_protobuf_struct, file_google_protobuf_timestamp]);
12
+ fileDesc("ChppZGVudGl0eS92MS9pZGVudGl0eS5wcm90bxILaWRlbnRpdHkudjEijwQKCUFkbWluVXNlchIKCgJpZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIXCgpmaXJzdF9uYW1lGAMgASgJSACIAQESFgoJbGFzdF9uYW1lGAQgASgJSAGIAQESFwoKYXZhdGFyX3VybBgFIAEoCUgCiAEBEhkKEWlzX3BsYXRmb3JtX2FkbWluGAYgASgIEiwKBnN0YXR1cxgUIAEoDjIcLmlkZW50aXR5LnYxLkFkbWluVXNlclN0YXR1cxI6ChFlbWFpbF92ZXJpZmllZF9hdBgeIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARI2Cg1sYXN0X2xvZ2luX2F0GB8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEiwKBmFjY2VzcxgoIAMoCzIcLmlkZW50aXR5LnYxLkFkbWluVXNlckFjY2VzcxIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEINCgtfZmlyc3RfbmFtZUIMCgpfbGFzdF9uYW1lQg0KC19hdmF0YXJfdXJsQhQKEl9lbWFpbF92ZXJpZmllZF9hdEIQCg5fbGFzdF9sb2dpbl9hdCLuAQoPQWRtaW5Vc2VyQWNjZXNzEgoKAmlkGAEgASgJEhUKDWFkbWluX3VzZXJfaWQYAiABKAkSEQoJdGVuYW50X2lkGAMgASgJEhcKCnByb2plY3RfaWQYBCABKAlIAIgBARIlCgRyb2xlGAUgASgOMhcuaWRlbnRpdHkudjEuQWNjZXNzUm9sZRIuCgpncmFudGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpncmFudGVkX2J5GDMgASgJSAGIAQFCDQoLX3Byb2plY3RfaWRCDQoLX2dyYW50ZWRfYnki9QIKCEN1c3RvbWVyEgoKAmlkGAEgASgJEg0KBWVtYWlsGAIgASgJEhEKCXRlbmFudF9pZBgDIAEoCRISCgpwcm9qZWN0X2lkGAQgASgJEisKBnN0YXR1cxgUIAEoDjIbLmlkZW50aXR5LnYxLkN1c3RvbWVyU3RhdHVzEjoKEWVtYWlsX3ZlcmlmaWVkX2F0GB4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjYKDWxhc3RfbG9naW5fYXQYHyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCFAoSX2VtYWlsX3ZlcmlmaWVkX2F0QhAKDl9sYXN0X2xvZ2luX2F0IvQCCgZUZW5hbnQSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIpCgZzdGF0dXMYFCABKA4yGS5pZGVudGl0eS52MS5UZW5hbnRTdGF0dXMSNQoMc3VzcGVuZGVkX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEkIKGWNhbmNlbGxhdGlvbl9zY2hlZHVsZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESGwoTZGF0YV9yZXRlbnRpb25fZGF5cxgeIAEoBRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIPCg1fc3VzcGVuZGVkX2F0QhwKGl9jYW5jZWxsYXRpb25fc2NoZWR1bGVkX2F0IqoDCgdQcm9qZWN0EgoKAmlkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESEgoKaXNfZGVmYXVsdBgFIAEoCBIqCgZzdGF0dXMYFCABKA4yGi5pZGVudGl0eS52MS5Qcm9qZWN0U3RhdHVzEj4KFWRlbGV0aW9uX3NjaGVkdWxlZF9hdBgVIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIXCgpjcmVhdGVkX2J5GCggASgJSAKIAQESFwoKdXBkYXRlZF9ieRgpIAEoCUgDiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbkIYChZfZGVsZXRpb25fc2NoZWR1bGVkX2F0Qg0KC19jcmVhdGVkX2J5Qg0KC191cGRhdGVkX2J5Iq8DCgpJbnZpdGF0aW9uEgoKAmlkGAEgASgJEg0KBWVtYWlsGAIgASgJEhEKCXRlbmFudF9pZBgDIAEoCRITCgtwcm9qZWN0X2lkcxgEIAMoCRIlCgRyb2xlGAUgASgOMhcuaWRlbnRpdHkudjEuQWNjZXNzUm9sZRIsCgtpbnZpdGVfdHlwZRgGIAEoDjIXLmlkZW50aXR5LnYxLkludml0ZVR5cGUSEgoKaW52aXRlZF9ieRgHIAEoCRIUCgdtZXNzYWdlGAggASgJSACIAQESLQoGc3RhdHVzGBQgASgOMh0uaWRlbnRpdHkudjEuSW52aXRhdGlvblN0YXR1cxIuCgpleHBpcmVzX2F0GB4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0CgthY2NlcHRlZF9hdBgfIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfbWVzc2FnZUIOCgxfYWNjZXB0ZWRfYXQi2QQKBkFwaUtleRIKCgJpZBgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSEgoKcHJvamVjdF9pZBgDIAEoCRIMCgRuYW1lGAQgASgJEhIKCmtleV9wcmVmaXgYBSABKAkSKQoIa2V5X3R5cGUYBiABKA4yFy5pZGVudGl0eS52MS5BcGlLZXlUeXBlEhQKB3Jhd19rZXkYCiABKAlIAIgBARIRCglpc19hY3RpdmUYFCABKAgSIAoTcmF0ZV9saW1pdF9wZXJfaG91chgVIAEoBUgBiAEBEjMKCmV4cGlyZXNfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESDgoGc2NvcGVzGBcgAygJEi4KCG1ldGFkYXRhGBggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEjUKDGxhc3RfdXNlZF9hdBgeIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARITCgt1c2FnZV9jb3VudBgfIAEoBRISCgpjcmVhdGVkX2J5GCggASgJEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9yYXdfa2V5QhYKFF9yYXRlX2xpbWl0X3Blcl9ob3VyQg0KC19leHBpcmVzX2F0QgsKCV9tZXRhZGF0YUIPCg1fbGFzdF91c2VkX2F0IpYCCg5TZXNzaW9uQ29udGV4dBIWCgl0ZW5hbnRfaWQYASABKAlIAIgBARIXCgpwcm9qZWN0X2lkGAIgASgJSAGIAQESJAoEdXNlchgDIAEoCzIWLmlkZW50aXR5LnYxLkFkbWluVXNlchIbCg5lZmZlY3RpdmVfcm9sZRgEIAEoCUgCiAEBEi4KEWF2YWlsYWJsZV90ZW5hbnRzGAUgAygLMhMuaWRlbnRpdHkudjEuVGVuYW50EjAKEmF2YWlsYWJsZV9wcm9qZWN0cxgGIAMoCzIULmlkZW50aXR5LnYxLlByb2plY3RCDAoKX3RlbmFudF9pZEINCgtfcHJvamVjdF9pZEIRCg9fZWZmZWN0aXZlX3JvbGUifQoMTG9naW5SZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhAKCHBhc3N3b3JkGAIgASgJEhYKCXRlbmFudF9pZBgDIAEoCUgAiAEBEhcKCnByb2plY3RfaWQYBCABKAlIAYgBAUIMCgpfdGVuYW50X2lkQg0KC19wcm9qZWN0X2lkIl8KDUxvZ2luUmVzcG9uc2USEgoKc2Vzc2lvbl9pZBgBIAEoCRIUCgxhY2Nlc3NfdG9rZW4YAiABKAkSJAoEdXNlchgDIAEoCzIWLmlkZW50aXR5LnYxLkFkbWluVXNlciJ/ChNMb2dpbldpdGhPVFBSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEgsKA290cBgCIAEoCRIWCgl0ZW5hbnRfaWQYAyABKAlIAIgBARIXCgpwcm9qZWN0X2lkGAQgASgJSAGIAQFCDAoKX3RlbmFudF9pZEINCgtfcHJvamVjdF9pZCJmChRMb2dpbldpdGhPVFBSZXNwb25zZRISCgpzZXNzaW9uX2lkGAEgASgJEhQKDGFjY2Vzc190b2tlbhgCIAEoCRIkCgR1c2VyGAMgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyInAKEVJlcXVlc3RPVFBSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhYKCXRlbmFudF9pZBgCIAEoCUgAiAEBEhcKCnByb2plY3RfaWQYAyABKAlIAYgBAUIMCgpfdGVuYW50X2lkQg0KC19wcm9qZWN0X2lkIiUKElJlcXVlc3RPVFBSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIg8KDUxvZ291dFJlcXVlc3QiIQoOTG9nb3V0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCK1AQoPUmVnaXN0ZXJSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhAKCHBhc3N3b3JkGAIgASgJEhYKCXRlbmFudF9pZBgDIAEoCUgAiAEBEhcKCnByb2plY3RfaWQYBCABKAlIAYgBARIqCgRyb2xlGAUgASgOMhcuaWRlbnRpdHkudjEuQWNjZXNzUm9sZUgCiAEBQgwKCl90ZW5hbnRfaWRCDQoLX3Byb2plY3RfaWRCBwoFX3JvbGUiOAoQUmVnaXN0ZXJSZXNwb25zZRIkCgR1c2VyGAEgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyIiMKElZlcmlmeUVtYWlsUmVxdWVzdBINCgV0b2tlbhgBIAEoCSImChNWZXJpZnlFbWFpbFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiIAoeUmVzZW5kVmVyaWZpY2F0aW9uRW1haWxSZXF1ZXN0IjIKH1Jlc2VuZFZlcmlmaWNhdGlvbkVtYWlsUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIxCiBTZW5kRW1haWxWZXJpZmljYXRpb25Db2RlUmVxdWVzdBINCgVlbWFpbBgBIAEoCSI0CiFTZW5kRW1haWxWZXJpZmljYXRpb25Db2RlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCI1ChZWZXJpZnlFbWFpbENvZGVSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEgwKBGNvZGUYAiABKAkiPAoXVmVyaWZ5RW1haWxDb2RlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIQCgh2ZXJpZmllZBgCIAEoCCIsChtSZXF1ZXN0UGFzc3dvcmRSZXNldFJlcXVlc3QSDQoFZW1haWwYASABKAkiLwocUmVxdWVzdFBhc3N3b3JkUmVzZXRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIjsKFFJlc2V0UGFzc3dvcmRSZXF1ZXN0Eg0KBXRva2VuGAEgASgJEhQKDG5ld19wYXNzd29yZBgCIAEoCSIoChVSZXNldFBhc3N3b3JkUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJHChVVcGRhdGVQYXNzd29yZFJlcXVlc3QSGAoQY3VycmVudF9wYXNzd29yZBgBIAEoCRIUCgxuZXdfcGFzc3dvcmQYAiABKAkiKQoWVXBkYXRlUGFzc3dvcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiwKE1JlZnJlc2hUb2tlblJlcXVlc3QSFQoNcmVmcmVzaF90b2tlbhgBIAEoCSJDChRSZWZyZXNoVG9rZW5SZXNwb25zZRIUCgxhY2Nlc3NfdG9rZW4YASABKAkSFQoNcmVmcmVzaF90b2tlbhgCIAEoCSIaChhHZXRTZXNzaW9uQ29udGV4dFJlcXVlc3QiSQoZR2V0U2Vzc2lvbkNvbnRleHRSZXNwb25zZRIsCgdjb250ZXh0GAEgASgLMhsuaWRlbnRpdHkudjEuU2Vzc2lvbkNvbnRleHQiKAoTU3dpdGNoVGVuYW50UmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkiRAoUU3dpdGNoVGVuYW50UmVzcG9uc2USLAoHY29udGV4dBgBIAEoCzIbLmlkZW50aXR5LnYxLlNlc3Npb25Db250ZXh0IioKFFN3aXRjaFByb2plY3RSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkiRQoVU3dpdGNoUHJvamVjdFJlc3BvbnNlEiwKB2NvbnRleHQYASABKAsyGy5pZGVudGl0eS52MS5TZXNzaW9uQ29udGV4dCIcChpDbGVhclNlc3Npb25Db250ZXh0UmVxdWVzdCIuChtDbGVhclNlc3Npb25Db250ZXh0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIOCgxHZXRNZVJlcXVlc3QiNQoNR2V0TWVSZXNwb25zZRIkCgR1c2VyGAEgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyItcBChZDcmVhdGVBZG1pblVzZXJSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhcKCmZpcnN0X25hbWUYAiABKAlIAIgBARIWCglsYXN0X25hbWUYAyABKAlIAYgBARIRCgl0ZW5hbnRfaWQYBCABKAkSFwoKcHJvamVjdF9pZBgFIAEoCUgCiAEBEiUKBHJvbGUYBiABKA4yFy5pZGVudGl0eS52MS5BY2Nlc3NSb2xlQg0KC19maXJzdF9uYW1lQgwKCl9sYXN0X25hbWVCDQoLX3Byb2plY3RfaWQiPwoXQ3JlYXRlQWRtaW5Vc2VyUmVzcG9uc2USJAoEdXNlchgBIAEoCzIWLmlkZW50aXR5LnYxLkFkbWluVXNlciIhChNHZXRBZG1pblVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIjwKFEdldEFkbWluVXNlclJlc3BvbnNlEiQKBHVzZXIYASABKAsyFi5pZGVudGl0eS52MS5BZG1pblVzZXIi2AEKFlVwZGF0ZUFkbWluVXNlclJlcXVlc3QSCgoCaWQYASABKAkSFwoKZmlyc3RfbmFtZRgCIAEoCUgAiAEBEhYKCWxhc3RfbmFtZRgDIAEoCUgBiAEBEhcKCmF2YXRhcl91cmwYBCABKAlIAogBARIxCgZzdGF0dXMYBSABKA4yHC5pZGVudGl0eS52MS5BZG1pblVzZXJTdGF0dXNIA4gBAUINCgtfZmlyc3RfbmFtZUIMCgpfbGFzdF9uYW1lQg0KC19hdmF0YXJfdXJsQgkKB19zdGF0dXMiPwoXVXBkYXRlQWRtaW5Vc2VyUmVzcG9uc2USJAoEdXNlchgBIAEoCzIWLmlkZW50aXR5LnYxLkFkbWluVXNlciLJAQoVTGlzdEFkbWluVXNlcnNSZXF1ZXN0EhMKBnNlYXJjaBgBIAEoCUgAiAEBEioKBHJvbGUYAiABKA4yFy5pZGVudGl0eS52MS5BY2Nlc3NSb2xlSAGIAQESMQoGc3RhdHVzGAMgASgOMhwuaWRlbnRpdHkudjEuQWRtaW5Vc2VyU3RhdHVzSAKIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQgkKB19zZWFyY2hCBwoFX3JvbGVCCQoHX3N0YXR1cyJOChZMaXN0QWRtaW5Vc2Vyc1Jlc3BvbnNlEiUKBWl0ZW1zGAEgAygLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyEg0KBXRvdGFsGAIgASgFIo0BChJHcmFudEFjY2Vzc1JlcXVlc3QSFQoNYWRtaW5fdXNlcl9pZBgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSFwoKcHJvamVjdF9pZBgDIAEoCUgAiAEBEiUKBHJvbGUYBCABKA4yFy5pZGVudGl0eS52MS5BY2Nlc3NSb2xlQg0KC19wcm9qZWN0X2lkIkMKE0dyYW50QWNjZXNzUmVzcG9uc2USLAoGYWNjZXNzGAEgASgLMhwuaWRlbnRpdHkudjEuQWRtaW5Vc2VyQWNjZXNzIigKE1Jldm9rZUFjY2Vzc1JlcXVlc3QSEQoJYWNjZXNzX2lkGAEgASgJIicKFFJldm9rZUFjY2Vzc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiSgoVQ3JlYXRlQ3VzdG9tZXJSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhUKCHBhc3N3b3JkGAIgASgJSACIAQFCCwoJX3Bhc3N3b3JkIkEKFkNyZWF0ZUN1c3RvbWVyUmVzcG9uc2USJwoIY3VzdG9tZXIYASABKAsyFS5pZGVudGl0eS52MS5DdXN0b21lciIgChJHZXRDdXN0b21lclJlcXVlc3QSCgoCaWQYASABKAkiPgoTR2V0Q3VzdG9tZXJSZXNwb25zZRInCghjdXN0b21lchgBIAEoCzIVLmlkZW50aXR5LnYxLkN1c3RvbWVyIn4KFVVwZGF0ZUN1c3RvbWVyUmVxdWVzdBIKCgJpZBgBIAEoCRISCgVlbWFpbBgCIAEoCUgAiAEBEjAKBnN0YXR1cxgDIAEoDjIbLmlkZW50aXR5LnYxLkN1c3RvbWVyU3RhdHVzSAGIAQFCCAoGX2VtYWlsQgkKB19zdGF0dXMiQQoWVXBkYXRlQ3VzdG9tZXJSZXNwb25zZRInCghjdXN0b21lchgBIAEoCzIVLmlkZW50aXR5LnYxLkN1c3RvbWVyIiMKFURlbGV0ZUN1c3RvbWVyUmVxdWVzdBIKCgJpZBgBIAEoCSIpChZEZWxldGVDdXN0b21lclJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgikgEKFExpc3RDdXN0b21lcnNSZXF1ZXN0EhMKBnNlYXJjaBgBIAEoCUgAiAEBEjAKBnN0YXR1cxgCIAEoDjIbLmlkZW50aXR5LnYxLkN1c3RvbWVyU3RhdHVzSAGIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQgkKB19zZWFyY2hCCQoHX3N0YXR1cyJMChVMaXN0Q3VzdG9tZXJzUmVzcG9uc2USJAoFaXRlbXMYASADKAsyFS5pZGVudGl0eS52MS5DdXN0b21lchINCgV0b3RhbBgCIAEoBSIkChZTdXNwZW5kQ3VzdG9tZXJSZXF1ZXN0EgoKAmlkGAEgASgJIkIKF1N1c3BlbmRDdXN0b21lclJlc3BvbnNlEicKCGN1c3RvbWVyGAEgASgLMhUuaWRlbnRpdHkudjEuQ3VzdG9tZXIiIwoTQ3JlYXRlVGVuYW50UmVxdWVzdBIMCgRuYW1lGAEgASgJIjsKFENyZWF0ZVRlbmFudFJlc3BvbnNlEiMKBnRlbmFudBgBIAEoCzITLmlkZW50aXR5LnYxLlRlbmFudCIeChBHZXRUZW5hbnRSZXF1ZXN0EgoKAmlkGAEgASgJIjgKEUdldFRlbmFudFJlc3BvbnNlEiMKBnRlbmFudBgBIAEoCzITLmlkZW50aXR5LnYxLlRlbmFudCJ4ChNVcGRhdGVUZW5hbnRSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIuCgZzdGF0dXMYAyABKA4yGS5pZGVudGl0eS52MS5UZW5hbnRTdGF0dXNIAYgBAUIHCgVfbmFtZUIJCgdfc3RhdHVzIjsKFFVwZGF0ZVRlbmFudFJlc3BvbnNlEiMKBnRlbmFudBgBIAEoCzITLmlkZW50aXR5LnYxLlRlbmFudCJuChJMaXN0VGVuYW50c1JlcXVlc3QSLgoGc3RhdHVzGAEgASgOMhkuaWRlbnRpdHkudjEuVGVuYW50U3RhdHVzSACIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQgkKB19zdGF0dXMiSAoTTGlzdFRlbmFudHNSZXNwb25zZRIiCgVpdGVtcxgBIAMoCzITLmlkZW50aXR5LnYxLlRlbmFudBINCgV0b3RhbBgCIAEoBSIhChNEZWxldGVUZW5hbnRSZXF1ZXN0EgoKAmlkGAEgASgJIicKFERlbGV0ZVRlbmFudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgi6wIKFENyZWF0ZVByb2plY3RSZXF1ZXN0EgwKBG5hbWUYASABKAkSGAoLZGVzY3JpcHRpb24YAiABKAlIAIgBARIRCgl0ZW5hbnRfaWQYAyABKAkSIAoTZGVmYXVsdF9sb2NhbGVfY29kZRgEIAEoCUgBiAEBEigKG2RlZmF1bHRfbG9jYWxlX2Rpc3BsYXlfbmFtZRgFIAEoCUgCiAEBEicKGmRlZmF1bHRfbG9jYWxlX25hdGl2ZV9uYW1lGAYgASgJSAOIAQESIgoVZGVmYXVsdF9sb2NhbGVfaXNfcnRsGAcgASgISASIAQFCDgoMX2Rlc2NyaXB0aW9uQhYKFF9kZWZhdWx0X2xvY2FsZV9jb2RlQh4KHF9kZWZhdWx0X2xvY2FsZV9kaXNwbGF5X25hbWVCHQobX2RlZmF1bHRfbG9jYWxlX25hdGl2ZV9uYW1lQhgKFl9kZWZhdWx0X2xvY2FsZV9pc19ydGwiPgoVQ3JlYXRlUHJvamVjdFJlc3BvbnNlEiUKB3Byb2plY3QYASABKAsyFC5pZGVudGl0eS52MS5Qcm9qZWN0Ih8KEUdldFByb2plY3RSZXF1ZXN0EgoKAmlkGAEgASgJIjsKEkdldFByb2plY3RSZXNwb25zZRIlCgdwcm9qZWN0GAEgASgLMhQuaWRlbnRpdHkudjEuUHJvamVjdCKkAQoUVXBkYXRlUHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESLwoGc3RhdHVzGAQgASgOMhouaWRlbnRpdHkudjEuUHJvamVjdFN0YXR1c0gCiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIJCgdfc3RhdHVzIj4KFVVwZGF0ZVByb2plY3RSZXNwb25zZRIlCgdwcm9qZWN0GAEgASgLMhQuaWRlbnRpdHkudjEuUHJvamVjdCKDAQoTTGlzdFByb2plY3RzUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSLwoGc3RhdHVzGAIgASgOMhouaWRlbnRpdHkudjEuUHJvamVjdFN0YXR1c0gAiAEBEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBUIJCgdfc3RhdHVzIkoKFExpc3RQcm9qZWN0c1Jlc3BvbnNlEiMKBWl0ZW1zGAEgAygLMhQuaWRlbnRpdHkudjEuUHJvamVjdBINCgV0b3RhbBgCIAEoBSIiChREZWxldGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSIoChVEZWxldGVQcm9qZWN0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCItChhHZXREZWZhdWx0UHJvamVjdFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJIkIKGUdldERlZmF1bHRQcm9qZWN0UmVzcG9uc2USJQoHcHJvamVjdBgBIAEoCzIULmlkZW50aXR5LnYxLlByb2plY3QiLgoYU2V0RGVmYXVsdFByb2plY3RSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkiQgoZU2V0RGVmYXVsdFByb2plY3RSZXNwb25zZRIlCgdwcm9qZWN0GAEgASgLMhQuaWRlbnRpdHkudjEuUHJvamVjdCLHAQoXQ3JlYXRlSW52aXRhdGlvblJlcXVlc3QSDQoFZW1haWwYASABKAkSEQoJdGVuYW50X2lkGAIgASgJEhMKC3Byb2plY3RfaWRzGAMgAygJEiUKBHJvbGUYBCABKA4yFy5pZGVudGl0eS52MS5BY2Nlc3NSb2xlEiwKC2ludml0ZV90eXBlGAUgASgOMhcuaWRlbnRpdHkudjEuSW52aXRlVHlwZRIUCgdtZXNzYWdlGAYgASgJSACIAQFCCgoIX21lc3NhZ2UiRwoYQ3JlYXRlSW52aXRhdGlvblJlc3BvbnNlEisKCmludml0YXRpb24YASABKAsyFy5pZGVudGl0eS52MS5JbnZpdGF0aW9uIokBChZMaXN0SW52aXRhdGlvbnNSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRIyCgZzdGF0dXMYAiABKA4yHS5pZGVudGl0eS52MS5JbnZpdGF0aW9uU3RhdHVzSACIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQgkKB19zdGF0dXMiUAoXTGlzdEludml0YXRpb25zUmVzcG9uc2USJgoFaXRlbXMYASADKAsyFy5pZGVudGl0eS52MS5JbnZpdGF0aW9uEg0KBXRvdGFsGAIgASgFIjAKF1Jldm9rZUludml0YXRpb25SZXF1ZXN0EhUKDWludml0YXRpb25faWQYASABKAkiKwoYUmV2b2tlSW52aXRhdGlvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiTAoXQWNjZXB0SW52aXRhdGlvblJlcXVlc3QSDQoFdG9rZW4YASABKAkSFQoIcGFzc3dvcmQYAiABKAlIAIgBAUILCglfcGFzc3dvcmQiVAoYQWNjZXB0SW52aXRhdGlvblJlc3BvbnNlEiQKBHVzZXIYASABKAsyFi5pZGVudGl0eS52MS5BZG1pblVzZXISEgoKc2Vzc2lvbl9pZBgCIAEoCSIqChlWYWxpZGF0ZUludml0YXRpb25SZXF1ZXN0Eg0KBXRva2VuGAEgASgJIkkKGlZhbGlkYXRlSW52aXRhdGlvblJlc3BvbnNlEisKCmludml0YXRpb24YASABKAsyFy5pZGVudGl0eS52MS5JbnZpdGF0aW9uIpACChNDcmVhdGVBcGlLZXlSZXF1ZXN0EgwKBG5hbWUYASABKAkSKQoIa2V5X3R5cGUYAiABKA4yFy5pZGVudGl0eS52MS5BcGlLZXlUeXBlEg4KBnNjb3BlcxgDIAMoCRIgChNyYXRlX2xpbWl0X3Blcl9ob3VyGAQgASgFSACIAQESMwoKZXhwaXJlc19hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIWCg5hbGxvd2VkX21vZGVscxgGIAMoCRIaChJhbGxvd2VkX2ZpbGVfdHlwZXMYByADKAlCFgoUX3JhdGVfbGltaXRfcGVyX2hvdXJCDQoLX2V4cGlyZXNfYXQiPAoUQ3JlYXRlQXBpS2V5UmVzcG9uc2USJAoHYXBpX2tleRgBIAEoCzITLmlkZW50aXR5LnYxLkFwaUtleSIeChBHZXRBcGlLZXlSZXF1ZXN0EgoKAmlkGAEgASgJIjkKEUdldEFwaUtleVJlc3BvbnNlEiQKB2FwaV9rZXkYASABKAsyEy5pZGVudGl0eS52MS5BcGlLZXkiMwoSTGlzdEFwaUtleXNSZXF1ZXN0Eg0KBWxpbWl0GAEgASgFEg4KBm9mZnNldBgCIAEoBSJIChNMaXN0QXBpS2V5c1Jlc3BvbnNlEiIKBWl0ZW1zGAEgAygLMhMuaWRlbnRpdHkudjEuQXBpS2V5Eg0KBXRvdGFsGAIgASgFIsQBChNVcGRhdGVBcGlLZXlSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIWCglpc19hY3RpdmUYAyABKAhIAYgBARIOCgZzY29wZXMYBCADKAkSFQoNdXBkYXRlX3Njb3BlcxgGIAEoCBIgChNyYXRlX2xpbWl0X3Blcl9ob3VyGAUgASgFSAKIAQFCBwoFX25hbWVCDAoKX2lzX2FjdGl2ZUIWChRfcmF0ZV9saW1pdF9wZXJfaG91ciI8ChRVcGRhdGVBcGlLZXlSZXNwb25zZRIkCgdhcGlfa2V5GAEgASgLMhMuaWRlbnRpdHkudjEuQXBpS2V5IiEKE1JvdGF0ZUFwaUtleVJlcXVlc3QSCgoCaWQYASABKAkiPAoUUm90YXRlQXBpS2V5UmVzcG9uc2USJAoHYXBpX2tleRgBIAEoCzITLmlkZW50aXR5LnYxLkFwaUtleSIhChNSZXZva2VBcGlLZXlSZXF1ZXN0EgoKAmlkGAEgASgJIicKFFJldm9rZUFwaUtleVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgi+gIKDEF1dGhQcm92aWRlchIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIMCgR0eXBlGAQgASgJEicKBmNvbmZpZxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDwoHZW5hYmxlZBgGIAEoCBISCgppc19kZWZhdWx0GAcgASgIEhAKCHByaW9yaXR5GAggASgFEhEKCXRlbmFudF9pZBgUIAEoCRISCgpwcm9qZWN0X2lkGBUgASgJEhcKCmNyZWF0ZWRfYnkYHiABKAlIAIgBARIXCgp1cGRhdGVkX2J5GB8gASgJSAGIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDQoLX2NyZWF0ZWRfYnlCDQoLX3VwZGF0ZWRfYnkiWwoYTGlzdEF1dGhQcm92aWRlcnNSZXF1ZXN0EhQKB2VuYWJsZWQYASABKAhIAIgBARINCgVsaW1pdBgKIAEoBRIOCgZvZmZzZXQYCyABKAVCCgoIX2VuYWJsZWQiWAoZTGlzdEF1dGhQcm92aWRlcnNSZXNwb25zZRIsCglwcm92aWRlcnMYASADKAsyGS5pZGVudGl0eS52MS5BdXRoUHJvdmlkZXISDQoFdG90YWwYAiABKAUiJAoWR2V0QXV0aFByb3ZpZGVyUmVxdWVzdBIKCgJpZBgBIAEoCSJGChdHZXRBdXRoUHJvdmlkZXJSZXNwb25zZRIrCghwcm92aWRlchgBIAEoCzIZLmlkZW50aXR5LnYxLkF1dGhQcm92aWRlciLbAQoZQ3JlYXRlQXV0aFByb3ZpZGVyUmVxdWVzdBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIMCgR0eXBlGAMgASgJEicKBmNvbmZpZxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFAoHZW5hYmxlZBgFIAEoCEgAiAEBEhcKCmlzX2RlZmF1bHQYBiABKAhIAYgBARIVCghwcmlvcml0eRgHIAEoBUgCiAEBQgoKCF9lbmFibGVkQg0KC19pc19kZWZhdWx0QgsKCV9wcmlvcml0eSJJChpDcmVhdGVBdXRoUHJvdmlkZXJSZXNwb25zZRIrCghwcm92aWRlchgBIAEoCzIZLmlkZW50aXR5LnYxLkF1dGhQcm92aWRlciLqAQoZVXBkYXRlQXV0aFByb3ZpZGVyUmVxdWVzdBIKCgJpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESLAoGY29uZmlnGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEhQKB2VuYWJsZWQYBCABKAhIAogBARIXCgppc19kZWZhdWx0GAUgASgISAOIAQESFQoIcHJpb3JpdHkYBiABKAVIBIgBAUIHCgVfbmFtZUIJCgdfY29uZmlnQgoKCF9lbmFibGVkQg0KC19pc19kZWZhdWx0QgsKCV9wcmlvcml0eSJJChpVcGRhdGVBdXRoUHJvdmlkZXJSZXNwb25zZRIrCghwcm92aWRlchgBIAEoCzIZLmlkZW50aXR5LnYxLkF1dGhQcm92aWRlciInChlEZWxldGVBdXRoUHJvdmlkZXJSZXF1ZXN0EgoKAmlkGAEgASgJIi0KGkRlbGV0ZUF1dGhQcm92aWRlclJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiHgocRW5hYmxlZE9BdXRoUHJvdmlkZXJzUmVxdWVzdCIyCh1FbmFibGVkT0F1dGhQcm92aWRlcnNSZXNwb25zZRIRCglwcm92aWRlcnMYASADKAkiKgoXTWludFNlcnZpY2VUb2tlblJlcXVlc3QSDwoHcHVycG9zZRgBIAEoCSJOChhNaW50U2VydmljZVRva2VuUmVzcG9uc2USDQoFdG9rZW4YASABKAkSDwoHcHVycG9zZRgCIAEoCRISCgpleHBpcmVzX2F0GAMgASgJIo4BChZVcGRhdGVNeVByb2ZpbGVSZXF1ZXN0EhcKCmZpcnN0X25hbWUYASABKAlIAIgBARIWCglsYXN0X25hbWUYAiABKAlIAYgBARIXCgphdmF0YXJfdXJsGAMgASgJSAKIAQFCDQoLX2ZpcnN0X25hbWVCDAoKX2xhc3RfbmFtZUINCgtfYXZhdGFyX3VybCI/ChdVcGRhdGVNeVByb2ZpbGVSZXNwb25zZRIkCgR1c2VyGAEgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyIh8KHUxpc3RNeU9BdXRoQ29ubmVjdGlvbnNSZXF1ZXN0Io0BCg9PQXV0aENvbm5lY3Rpb24SEAoIcHJvdmlkZXIYASABKAkSGAoQcHJvdmlkZXJfdXNlcl9pZBgCIAEoCRISCgVlbWFpbBgDIAEoCUgAiAEBEjAKDGNvbm5lY3RlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCAoGX2VtYWlsIlMKHkxpc3RNeU9BdXRoQ29ubmVjdGlvbnNSZXNwb25zZRIxCgtjb25uZWN0aW9ucxgBIAMoCzIcLmlkZW50aXR5LnYxLk9BdXRoQ29ubmVjdGlvbiIuChpVbmxpbmtPQXV0aFByb3ZpZGVyUmVxdWVzdBIQCghwcm92aWRlchgBIAEoCSIuChtVbmxpbmtPQXV0aFByb3ZpZGVyUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIuCh1DaGVja0VtYWlsQXZhaWxhYmlsaXR5UmVxdWVzdBINCgVlbWFpbBgBIAEoCSIzCh5DaGVja0VtYWlsQXZhaWxhYmlsaXR5UmVzcG9uc2USEQoJYXZhaWxhYmxlGAEgASgIIo8BChtDb21wbGV0ZUFjY291bnRTZXR1cFJlcXVlc3QSFwoKZmlyc3RfbmFtZRgBIAEoCUgAiAEBEhYKCWxhc3RfbmFtZRgCIAEoCUgBiAEBEhUKCHBhc3N3b3JkGAMgASgJSAKIAQFCDQoLX2ZpcnN0X25hbWVCDAoKX2xhc3RfbmFtZUILCglfcGFzc3dvcmQiWwocQ29tcGxldGVBY2NvdW50U2V0dXBSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhkKDHJlZGlyZWN0X3VybBgCIAEoCUgAiAEBQg8KDV9yZWRpcmVjdF91cmwiLQoaQ3JlYXRlU2lnbnVwU2Vzc2lvblJlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCSIuChtDcmVhdGVTaWdudXBTZXNzaW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIwChdSZXNlbmRJbnZpdGF0aW9uUmVxdWVzdBIVCg1pbnZpdGF0aW9uX2lkGAEgASgJIisKGFJlc2VuZEludml0YXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiIKFEdldEludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIkQKFUdldEludml0YXRpb25SZXNwb25zZRIrCgppbnZpdGF0aW9uGAEgASgLMhcuaWRlbnRpdHkudjEuSW52aXRhdGlvbiIqChVBY3RpdmF0ZVRlbmFudFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJIj0KFkFjdGl2YXRlVGVuYW50UmVzcG9uc2USIwoGdGVuYW50GAEgASgLMhMuaWRlbnRpdHkudjEuVGVuYW50IjAKG1N1c3BlbmRUZW5hbnRBY2NvdW50UmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkiQwocU3VzcGVuZFRlbmFudEFjY291bnRSZXNwb25zZRIjCgZ0ZW5hbnQYASABKAsyEy5pZGVudGl0eS52MS5UZW5hbnQiKAoTQ2FuY2VsVGVuYW50UmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkiOwoUQ2FuY2VsVGVuYW50UmVzcG9uc2USIwoGdGVuYW50GAEgASgLMhMuaWRlbnRpdHkudjEuVGVuYW50IiwKF1JlYWN0aXZhdGVUZW5hbnRSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCSI/ChhSZWFjdGl2YXRlVGVuYW50UmVzcG9uc2USIwoGdGVuYW50GAEgASgLMhMuaWRlbnRpdHkudjEuVGVuYW50Ii0KGE1hcmtUZW5hbnRQYXN0RHVlUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkiQAoZTWFya1RlbmFudFBhc3REdWVSZXNwb25zZRIjCgZ0ZW5hbnQYASABKAsyEy5pZGVudGl0eS52MS5UZW5hbnQiJwoSQ2h1cm5UZW5hbnRSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCSI6ChNDaHVyblRlbmFudFJlc3BvbnNlEiMKBnRlbmFudBgBIAEoCzITLmlkZW50aXR5LnYxLlRlbmFudCIeChxHZXRDdXN0b21lckF1dGhDb25maWdSZXF1ZXN0IpoCChJDdXN0b21lckF1dGhDb25maWcSEQoJYWxnb3JpdGhtGAEgASgJEhMKBmlzc3VlchgCIAEoCUgAiAEBEhUKCGF1ZGllbmNlGAMgASgJSAGIAQESNwoOa2V5X3JvdGF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESGAoLc2lnbmluZ19rZXkYBSABKAlIA4gBARIsCgZjbGFpbXMYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQFCCQoHX2lzc3VlckILCglfYXVkaWVuY2VCEQoPX2tleV9yb3RhdGVkX2F0Qg4KDF9zaWduaW5nX2tleUIJCgdfY2xhaW1zIlAKHUdldEN1c3RvbWVyQXV0aENvbmZpZ1Jlc3BvbnNlEi8KBmNvbmZpZxgBIAEoCzIfLmlkZW50aXR5LnYxLkN1c3RvbWVyQXV0aENvbmZpZyIrChpWZXJpZnlDdXN0b21lclRva2VuUmVxdWVzdBINCgV0b2tlbhgBIAEoCSKzAgobVmVyaWZ5Q3VzdG9tZXJUb2tlblJlc3BvbnNlEg0KBXZhbGlkGAEgASgIEhIKBWVycm9yGAIgASgJSACIAQESGAoLY3VzdG9tZXJfaWQYAyABKAlIAYgBARISCgVlbWFpbBgEIAEoCUgCiAEBEhYKCXRlbmFudF9pZBgFIAEoCUgDiAEBEhcKCnByb2plY3RfaWQYBiABKAlIBIgBARINCgVyb2xlcxgHIAMoCRIzCgpleHBpcmVzX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBQggKBl9lcnJvckIOCgxfY3VzdG9tZXJfaWRCCAoGX2VtYWlsQgwKCl90ZW5hbnRfaWRCDQoLX3Byb2plY3RfaWRCDQoLX2V4cGlyZXNfYXQiJAoiR2V0Q3VzdG9tZXJNYW5hZ2VtZW50U3RhdHVzUmVxdWVzdCLbAQoYQ3VzdG9tZXJNYW5hZ2VtZW50U3RhdHVzEiEKGW5hdGl2ZV9tYW5hZ2VtZW50X2VuYWJsZWQYASABKAgSIgoVZXh0ZXJuYWxfcHJvdmlkZXJfdXJsGAIgASgJSACIAQESIwoWZXh0ZXJuYWxfcHJvdmlkZXJfbmFtZRgDIAEoCUgBiAEBEhMKBnJlYXNvbhgEIAEoCUgCiAEBQhgKFl9leHRlcm5hbF9wcm92aWRlcl91cmxCGQoXX2V4dGVybmFsX3Byb3ZpZGVyX25hbWVCCQoHX3JlYXNvbiJcCiNHZXRDdXN0b21lck1hbmFnZW1lbnRTdGF0dXNSZXNwb25zZRI1CgZzdGF0dXMYASABKAsyJS5pZGVudGl0eS52MS5DdXN0b21lck1hbmFnZW1lbnRTdGF0dXMiKAoVVmFsaWRhdGVBcGlLZXlSZXF1ZXN0Eg8KB2FwaV9rZXkYASABKAkizAEKFlZhbGlkYXRlQXBpS2V5UmVzcG9uc2USCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgl0ZW5hbnRfaWQYAyABKAkSEgoKcHJvamVjdF9pZBgEIAEoCRIQCghrZXlfdHlwZRgFIAEoCRIOCgZzY29wZXMYBiADKAkSFgoOYWxsb3dlZF9tb2RlbHMYByADKAkSGgoSYWxsb3dlZF9maWxlX3R5cGVzGAggAygJEhsKE3JhdGVfbGltaXRfcGVyX2hvdXIYCSABKAUiNwoUQ3VzdG9tZXJMb2dpblJlcXVlc3QSDQoFZW1haWwYASABKAkSEAoIcGFzc3dvcmQYAiABKAkibQoVQ3VzdG9tZXJMb2dpblJlc3BvbnNlEhQKDGFjY2Vzc190b2tlbhgBIAEoCRIVCg1yZWZyZXNoX3Rva2VuGAIgASgJEicKCGN1c3RvbWVyGAMgASgLMhUuaWRlbnRpdHkudjEuQ3VzdG9tZXIifwoXQ3VzdG9tZXJSZWdpc3RlclJlcXVlc3QSDQoFZW1haWwYASABKAkSEAoIcGFzc3dvcmQYAiABKAkSMgoMcHJvZmlsZV9kYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQg8KDV9wcm9maWxlX2RhdGEicAoYQ3VzdG9tZXJSZWdpc3RlclJlc3BvbnNlEhQKDGFjY2Vzc190b2tlbhgBIAEoCRIVCg1yZWZyZXNoX3Rva2VuGAIgASgJEicKCGN1c3RvbWVyGAMgASgLMhUuaWRlbnRpdHkudjEuQ3VzdG9tZXIiNAobQ3VzdG9tZXJSZWZyZXNoVG9rZW5SZXF1ZXN0EhUKDXJlZnJlc2hfdG9rZW4YASABKAkiSwocQ3VzdG9tZXJSZWZyZXNoVG9rZW5SZXNwb25zZRIUCgxhY2Nlc3NfdG9rZW4YASABKAkSFQoNcmVmcmVzaF90b2tlbhgCIAEoCSIqChlDdXN0b21lclJlcXVlc3RPVFBSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIioKGkN1c3RvbWVyUmVxdWVzdE9UUFJlc3BvbnNlEgwKBHNlbnQYASABKAgiOwoYQ3VzdG9tZXJWZXJpZnlPVFBSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhAKCG90cF9jb2RlGAIgASgJInEKGUN1c3RvbWVyVmVyaWZ5T1RQUmVzcG9uc2USFAoMYWNjZXNzX3Rva2VuGAEgASgJEhUKDXJlZnJlc2hfdG9rZW4YAiABKAkSJwoIY3VzdG9tZXIYAyABKAsyFS5pZGVudGl0eS52MS5DdXN0b21lciI0CiNDdXN0b21lclJlcXVlc3RQYXNzd29yZFJlc2V0UmVxdWVzdBINCgVlbWFpbBgBIAEoCSI0CiRDdXN0b21lclJlcXVlc3RQYXNzd29yZFJlc2V0UmVzcG9uc2USDAoEc2VudBgBIAEoCCJDChxDdXN0b21lclJlc2V0UGFzc3dvcmRSZXF1ZXN0Eg0KBXRva2VuGAEgASgJEhQKDG5ld19wYXNzd29yZBgCIAEoCSIwCh1DdXN0b21lclJlc2V0UGFzc3dvcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIItkBChlTdG9yZVByb3ZpZGVyVG9rZW5SZXF1ZXN0EhMKC2N1c3RvbWVyX2lkGAEgASgJEhQKDHByb3ZpZGVyX2tleRgCIAEoCRIUCgxhY2Nlc3NfdG9rZW4YAyABKAkSFQoNcmVmcmVzaF90b2tlbhgEIAEoCRIQCghpZF90b2tlbhgFIAEoCRIOCgZzY29wZXMYBiABKAkSMwoKZXhwaXJlc19hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUINCgtfZXhwaXJlc19hdCIcChpTdG9yZVByb3ZpZGVyVG9rZW5SZXNwb25zZSJEChdHZXRQcm92aWRlclRva2VuUmVxdWVzdBITCgtjdXN0b21lcl9pZBgBIAEoCRIUCgxwcm92aWRlcl9rZXkYAiABKAkirQEKGEdldFByb3ZpZGVyVG9rZW5SZXNwb25zZRIUCgxhY2Nlc3NfdG9rZW4YASABKAkSFQoNcmVmcmVzaF90b2tlbhgCIAEoCRIQCghpZF90b2tlbhgDIAEoCRIOCgZzY29wZXMYBCABKAkSMwoKZXhwaXJlc19hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUINCgtfZXhwaXJlc19hdCIyChtEZWxldGVQcm92aWRlclRva2Vuc1JlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkiHgocRGVsZXRlUHJvdmlkZXJUb2tlbnNSZXNwb25zZSqxAQoPQWRtaW5Vc2VyU3RhdHVzEiEKHUFETUlOX1VTRVJfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHAoYQURNSU5fVVNFUl9TVEFUVVNfQUNUSVZFEAESHQoZQURNSU5fVVNFUl9TVEFUVVNfUEVORElORxACEh8KG0FETUlOX1VTRVJfU1RBVFVTX1NVU1BFTkRFRBADEh0KGUFETUlOX1VTRVJfU1RBVFVTX0RFTEVURUQQBCqJAQoOQ3VzdG9tZXJTdGF0dXMSHwobQ1VTVE9NRVJfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGgoWQ1VTVE9NRVJfU1RBVFVTX0FDVElWRRABEhsKF0NVU1RPTUVSX1NUQVRVU19QRU5ESU5HEAISHQoZQ1VTVE9NRVJfU1RBVFVTX1NVU1BFTkRFRBADKtkBCgxUZW5hbnRTdGF0dXMSHQoZVEVOQU5UX1NUQVRVU19VTlNQRUNJRklFRBAAEh8KG1RFTkFOVF9TVEFUVVNfUEVORElOR19TRVRVUBABEhgKFFRFTkFOVF9TVEFUVVNfQUNUSVZFEAISGgoWVEVOQU5UX1NUQVRVU19QQVNUX0RVRRADEhsKF1RFTkFOVF9TVEFUVVNfU1VTUEVOREVEEAQSGwoXVEVOQU5UX1NUQVRVU19DQU5DRUxMRUQQBRIZChVURU5BTlRfU1RBVFVTX0NIVVJORUQQBipmCg1Qcm9qZWN0U3RhdHVzEh4KGlBST0pFQ1RfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGQoVUFJPSkVDVF9TVEFUVVNfQUNUSVZFEAESGgoWUFJPSkVDVF9TVEFUVVNfREVMRVRFRBACKqYBCgpBY2Nlc3NSb2xlEhsKF0FDQ0VTU19ST0xFX1VOU1BFQ0lGSUVEEAASHAoYQUNDRVNTX1JPTEVfVEVOQU5UX09XTkVSEAESHQoZQUNDRVNTX1JPTEVfUFJPSkVDVF9BRE1JThACEh4KGkFDQ0VTU19ST0xFX1BST0pFQ1RfRURJVE9SEAMSHgoaQUNDRVNTX1JPTEVfUFJPSkVDVF9WSUVXRVIQBCpkCgpJbnZpdGVUeXBlEhsKF0lOVklURV9UWVBFX1VOU1BFQ0lGSUVEEAASHAoYSU5WSVRFX1RZUEVfVEVOQU5UX09XTkVSEAESGwoXSU5WSVRFX1RZUEVfVEVBTV9NRU1CRVIQAiqyAQoQSW52aXRhdGlvblN0YXR1cxIhCh1JTlZJVEFUSU9OX1NUQVRVU19VTlNQRUNJRklFRBAAEh0KGUlOVklUQVRJT05fU1RBVFVTX1BFTkRJTkcQARIeChpJTlZJVEFUSU9OX1NUQVRVU19BQ0NFUFRFRBACEh0KGUlOVklUQVRJT05fU1RBVFVTX0VYUElSRUQQAxIdChlJTlZJVEFUSU9OX1NUQVRVU19SRVZPS0VEEAQqXAoKQXBpS2V5VHlwZRIcChhBUElfS0VZX1RZUEVfVU5TUEVDSUZJRUQQABIXChNBUElfS0VZX1RZUEVfUFVCTElDEAESFwoTQVBJX0tFWV9UWVBFX1NFQ1JFVBACMvhACg9JZGVudGl0eVNlcnZpY2USPgoFTG9naW4SGS5pZGVudGl0eS52MS5Mb2dpblJlcXVlc3QaGi5pZGVudGl0eS52MS5Mb2dpblJlc3BvbnNlElMKDExvZ2luV2l0aE9UUBIgLmlkZW50aXR5LnYxLkxvZ2luV2l0aE9UUFJlcXVlc3QaIS5pZGVudGl0eS52MS5Mb2dpbldpdGhPVFBSZXNwb25zZRJNCgpSZXF1ZXN0T1RQEh4uaWRlbnRpdHkudjEuUmVxdWVzdE9UUFJlcXVlc3QaHy5pZGVudGl0eS52MS5SZXF1ZXN0T1RQUmVzcG9uc2USQQoGTG9nb3V0EhouaWRlbnRpdHkudjEuTG9nb3V0UmVxdWVzdBobLmlkZW50aXR5LnYxLkxvZ291dFJlc3BvbnNlEkcKCFJlZ2lzdGVyEhwuaWRlbnRpdHkudjEuUmVnaXN0ZXJSZXF1ZXN0Gh0uaWRlbnRpdHkudjEuUmVnaXN0ZXJSZXNwb25zZRJQCgtWZXJpZnlFbWFpbBIfLmlkZW50aXR5LnYxLlZlcmlmeUVtYWlsUmVxdWVzdBogLmlkZW50aXR5LnYxLlZlcmlmeUVtYWlsUmVzcG9uc2USdAoXUmVzZW5kVmVyaWZpY2F0aW9uRW1haWwSKy5pZGVudGl0eS52MS5SZXNlbmRWZXJpZmljYXRpb25FbWFpbFJlcXVlc3QaLC5pZGVudGl0eS52MS5SZXNlbmRWZXJpZmljYXRpb25FbWFpbFJlc3BvbnNlEnoKGVNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGUSLS5pZGVudGl0eS52MS5TZW5kRW1haWxWZXJpZmljYXRpb25Db2RlUmVxdWVzdBouLmlkZW50aXR5LnYxLlNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGVSZXNwb25zZRJcCg9WZXJpZnlFbWFpbENvZGUSIy5pZGVudGl0eS52MS5WZXJpZnlFbWFpbENvZGVSZXF1ZXN0GiQuaWRlbnRpdHkudjEuVmVyaWZ5RW1haWxDb2RlUmVzcG9uc2USawoUUmVxdWVzdFBhc3N3b3JkUmVzZXQSKC5pZGVudGl0eS52MS5SZXF1ZXN0UGFzc3dvcmRSZXNldFJlcXVlc3QaKS5pZGVudGl0eS52MS5SZXF1ZXN0UGFzc3dvcmRSZXNldFJlc3BvbnNlElYKDVJlc2V0UGFzc3dvcmQSIS5pZGVudGl0eS52MS5SZXNldFBhc3N3b3JkUmVxdWVzdBoiLmlkZW50aXR5LnYxLlJlc2V0UGFzc3dvcmRSZXNwb25zZRJZCg5VcGRhdGVQYXNzd29yZBIiLmlkZW50aXR5LnYxLlVwZGF0ZVBhc3N3b3JkUmVxdWVzdBojLmlkZW50aXR5LnYxLlVwZGF0ZVBhc3N3b3JkUmVzcG9uc2USUwoMUmVmcmVzaFRva2VuEiAuaWRlbnRpdHkudjEuUmVmcmVzaFRva2VuUmVxdWVzdBohLmlkZW50aXR5LnYxLlJlZnJlc2hUb2tlblJlc3BvbnNlEmIKEUdldFNlc3Npb25Db250ZXh0EiUuaWRlbnRpdHkudjEuR2V0U2Vzc2lvbkNvbnRleHRSZXF1ZXN0GiYuaWRlbnRpdHkudjEuR2V0U2Vzc2lvbkNvbnRleHRSZXNwb25zZRJTCgxTd2l0Y2hUZW5hbnQSIC5pZGVudGl0eS52MS5Td2l0Y2hUZW5hbnRSZXF1ZXN0GiEuaWRlbnRpdHkudjEuU3dpdGNoVGVuYW50UmVzcG9uc2USVgoNU3dpdGNoUHJvamVjdBIhLmlkZW50aXR5LnYxLlN3aXRjaFByb2plY3RSZXF1ZXN0GiIuaWRlbnRpdHkudjEuU3dpdGNoUHJvamVjdFJlc3BvbnNlEmgKE0NsZWFyU2Vzc2lvbkNvbnRleHQSJy5pZGVudGl0eS52MS5DbGVhclNlc3Npb25Db250ZXh0UmVxdWVzdBooLmlkZW50aXR5LnYxLkNsZWFyU2Vzc2lvbkNvbnRleHRSZXNwb25zZRI+CgVHZXRNZRIZLmlkZW50aXR5LnYxLkdldE1lUmVxdWVzdBoaLmlkZW50aXR5LnYxLkdldE1lUmVzcG9uc2USXAoPQ3JlYXRlQWRtaW5Vc2VyEiMuaWRlbnRpdHkudjEuQ3JlYXRlQWRtaW5Vc2VyUmVxdWVzdBokLmlkZW50aXR5LnYxLkNyZWF0ZUFkbWluVXNlclJlc3BvbnNlElMKDEdldEFkbWluVXNlchIgLmlkZW50aXR5LnYxLkdldEFkbWluVXNlclJlcXVlc3QaIS5pZGVudGl0eS52MS5HZXRBZG1pblVzZXJSZXNwb25zZRJcCg9VcGRhdGVBZG1pblVzZXISIy5pZGVudGl0eS52MS5VcGRhdGVBZG1pblVzZXJSZXF1ZXN0GiQuaWRlbnRpdHkudjEuVXBkYXRlQWRtaW5Vc2VyUmVzcG9uc2USWQoOTGlzdEFkbWluVXNlcnMSIi5pZGVudGl0eS52MS5MaXN0QWRtaW5Vc2Vyc1JlcXVlc3QaIy5pZGVudGl0eS52MS5MaXN0QWRtaW5Vc2Vyc1Jlc3BvbnNlElAKC0dyYW50QWNjZXNzEh8uaWRlbnRpdHkudjEuR3JhbnRBY2Nlc3NSZXF1ZXN0GiAuaWRlbnRpdHkudjEuR3JhbnRBY2Nlc3NSZXNwb25zZRJTCgxSZXZva2VBY2Nlc3MSIC5pZGVudGl0eS52MS5SZXZva2VBY2Nlc3NSZXF1ZXN0GiEuaWRlbnRpdHkudjEuUmV2b2tlQWNjZXNzUmVzcG9uc2USWQoOQ3JlYXRlQ3VzdG9tZXISIi5pZGVudGl0eS52MS5DcmVhdGVDdXN0b21lclJlcXVlc3QaIy5pZGVudGl0eS52MS5DcmVhdGVDdXN0b21lclJlc3BvbnNlElAKC0dldEN1c3RvbWVyEh8uaWRlbnRpdHkudjEuR2V0Q3VzdG9tZXJSZXF1ZXN0GiAuaWRlbnRpdHkudjEuR2V0Q3VzdG9tZXJSZXNwb25zZRJZCg5VcGRhdGVDdXN0b21lchIiLmlkZW50aXR5LnYxLlVwZGF0ZUN1c3RvbWVyUmVxdWVzdBojLmlkZW50aXR5LnYxLlVwZGF0ZUN1c3RvbWVyUmVzcG9uc2USWQoORGVsZXRlQ3VzdG9tZXISIi5pZGVudGl0eS52MS5EZWxldGVDdXN0b21lclJlcXVlc3QaIy5pZGVudGl0eS52MS5EZWxldGVDdXN0b21lclJlc3BvbnNlElYKDUxpc3RDdXN0b21lcnMSIS5pZGVudGl0eS52MS5MaXN0Q3VzdG9tZXJzUmVxdWVzdBoiLmlkZW50aXR5LnYxLkxpc3RDdXN0b21lcnNSZXNwb25zZRJcCg9TdXNwZW5kQ3VzdG9tZXISIy5pZGVudGl0eS52MS5TdXNwZW5kQ3VzdG9tZXJSZXF1ZXN0GiQuaWRlbnRpdHkudjEuU3VzcGVuZEN1c3RvbWVyUmVzcG9uc2USUwoMQ3JlYXRlVGVuYW50EiAuaWRlbnRpdHkudjEuQ3JlYXRlVGVuYW50UmVxdWVzdBohLmlkZW50aXR5LnYxLkNyZWF0ZVRlbmFudFJlc3BvbnNlEkoKCUdldFRlbmFudBIdLmlkZW50aXR5LnYxLkdldFRlbmFudFJlcXVlc3QaHi5pZGVudGl0eS52MS5HZXRUZW5hbnRSZXNwb25zZRJTCgxVcGRhdGVUZW5hbnQSIC5pZGVudGl0eS52MS5VcGRhdGVUZW5hbnRSZXF1ZXN0GiEuaWRlbnRpdHkudjEuVXBkYXRlVGVuYW50UmVzcG9uc2USUAoLTGlzdFRlbmFudHMSHy5pZGVudGl0eS52MS5MaXN0VGVuYW50c1JlcXVlc3QaIC5pZGVudGl0eS52MS5MaXN0VGVuYW50c1Jlc3BvbnNlElMKDERlbGV0ZVRlbmFudBIgLmlkZW50aXR5LnYxLkRlbGV0ZVRlbmFudFJlcXVlc3QaIS5pZGVudGl0eS52MS5EZWxldGVUZW5hbnRSZXNwb25zZRJWCg1DcmVhdGVQcm9qZWN0EiEuaWRlbnRpdHkudjEuQ3JlYXRlUHJvamVjdFJlcXVlc3QaIi5pZGVudGl0eS52MS5DcmVhdGVQcm9qZWN0UmVzcG9uc2USTQoKR2V0UHJvamVjdBIeLmlkZW50aXR5LnYxLkdldFByb2plY3RSZXF1ZXN0Gh8uaWRlbnRpdHkudjEuR2V0UHJvamVjdFJlc3BvbnNlElYKDVVwZGF0ZVByb2plY3QSIS5pZGVudGl0eS52MS5VcGRhdGVQcm9qZWN0UmVxdWVzdBoiLmlkZW50aXR5LnYxLlVwZGF0ZVByb2plY3RSZXNwb25zZRJTCgxMaXN0UHJvamVjdHMSIC5pZGVudGl0eS52MS5MaXN0UHJvamVjdHNSZXF1ZXN0GiEuaWRlbnRpdHkudjEuTGlzdFByb2plY3RzUmVzcG9uc2USVgoNRGVsZXRlUHJvamVjdBIhLmlkZW50aXR5LnYxLkRlbGV0ZVByb2plY3RSZXF1ZXN0GiIuaWRlbnRpdHkudjEuRGVsZXRlUHJvamVjdFJlc3BvbnNlEmIKEUdldERlZmF1bHRQcm9qZWN0EiUuaWRlbnRpdHkudjEuR2V0RGVmYXVsdFByb2plY3RSZXF1ZXN0GiYuaWRlbnRpdHkudjEuR2V0RGVmYXVsdFByb2plY3RSZXNwb25zZRJiChFTZXREZWZhdWx0UHJvamVjdBIlLmlkZW50aXR5LnYxLlNldERlZmF1bHRQcm9qZWN0UmVxdWVzdBomLmlkZW50aXR5LnYxLlNldERlZmF1bHRQcm9qZWN0UmVzcG9uc2USXwoQQ3JlYXRlSW52aXRhdGlvbhIkLmlkZW50aXR5LnYxLkNyZWF0ZUludml0YXRpb25SZXF1ZXN0GiUuaWRlbnRpdHkudjEuQ3JlYXRlSW52aXRhdGlvblJlc3BvbnNlElwKD0xpc3RJbnZpdGF0aW9ucxIjLmlkZW50aXR5LnYxLkxpc3RJbnZpdGF0aW9uc1JlcXVlc3QaJC5pZGVudGl0eS52MS5MaXN0SW52aXRhdGlvbnNSZXNwb25zZRJfChBSZXZva2VJbnZpdGF0aW9uEiQuaWRlbnRpdHkudjEuUmV2b2tlSW52aXRhdGlvblJlcXVlc3QaJS5pZGVudGl0eS52MS5SZXZva2VJbnZpdGF0aW9uUmVzcG9uc2USXwoQQWNjZXB0SW52aXRhdGlvbhIkLmlkZW50aXR5LnYxLkFjY2VwdEludml0YXRpb25SZXF1ZXN0GiUuaWRlbnRpdHkudjEuQWNjZXB0SW52aXRhdGlvblJlc3BvbnNlEmUKElZhbGlkYXRlSW52aXRhdGlvbhImLmlkZW50aXR5LnYxLlZhbGlkYXRlSW52aXRhdGlvblJlcXVlc3QaJy5pZGVudGl0eS52MS5WYWxpZGF0ZUludml0YXRpb25SZXNwb25zZRJTCgxDcmVhdGVBcGlLZXkSIC5pZGVudGl0eS52MS5DcmVhdGVBcGlLZXlSZXF1ZXN0GiEuaWRlbnRpdHkudjEuQ3JlYXRlQXBpS2V5UmVzcG9uc2USSgoJR2V0QXBpS2V5Eh0uaWRlbnRpdHkudjEuR2V0QXBpS2V5UmVxdWVzdBoeLmlkZW50aXR5LnYxLkdldEFwaUtleVJlc3BvbnNlElAKC0xpc3RBcGlLZXlzEh8uaWRlbnRpdHkudjEuTGlzdEFwaUtleXNSZXF1ZXN0GiAuaWRlbnRpdHkudjEuTGlzdEFwaUtleXNSZXNwb25zZRJTCgxVcGRhdGVBcGlLZXkSIC5pZGVudGl0eS52MS5VcGRhdGVBcGlLZXlSZXF1ZXN0GiEuaWRlbnRpdHkudjEuVXBkYXRlQXBpS2V5UmVzcG9uc2USUwoMUm90YXRlQXBpS2V5EiAuaWRlbnRpdHkudjEuUm90YXRlQXBpS2V5UmVxdWVzdBohLmlkZW50aXR5LnYxLlJvdGF0ZUFwaUtleVJlc3BvbnNlElMKDFJldm9rZUFwaUtleRIgLmlkZW50aXR5LnYxLlJldm9rZUFwaUtleVJlcXVlc3QaIS5pZGVudGl0eS52MS5SZXZva2VBcGlLZXlSZXNwb25zZRJiChFMaXN0QXV0aFByb3ZpZGVycxIlLmlkZW50aXR5LnYxLkxpc3RBdXRoUHJvdmlkZXJzUmVxdWVzdBomLmlkZW50aXR5LnYxLkxpc3RBdXRoUHJvdmlkZXJzUmVzcG9uc2USXAoPR2V0QXV0aFByb3ZpZGVyEiMuaWRlbnRpdHkudjEuR2V0QXV0aFByb3ZpZGVyUmVxdWVzdBokLmlkZW50aXR5LnYxLkdldEF1dGhQcm92aWRlclJlc3BvbnNlEmUKEkNyZWF0ZUF1dGhQcm92aWRlchImLmlkZW50aXR5LnYxLkNyZWF0ZUF1dGhQcm92aWRlclJlcXVlc3QaJy5pZGVudGl0eS52MS5DcmVhdGVBdXRoUHJvdmlkZXJSZXNwb25zZRJlChJVcGRhdGVBdXRoUHJvdmlkZXISJi5pZGVudGl0eS52MS5VcGRhdGVBdXRoUHJvdmlkZXJSZXF1ZXN0GicuaWRlbnRpdHkudjEuVXBkYXRlQXV0aFByb3ZpZGVyUmVzcG9uc2USZQoSRGVsZXRlQXV0aFByb3ZpZGVyEiYuaWRlbnRpdHkudjEuRGVsZXRlQXV0aFByb3ZpZGVyUmVxdWVzdBonLmlkZW50aXR5LnYxLkRlbGV0ZUF1dGhQcm92aWRlclJlc3BvbnNlEm4KFUVuYWJsZWRPQXV0aFByb3ZpZGVycxIpLmlkZW50aXR5LnYxLkVuYWJsZWRPQXV0aFByb3ZpZGVyc1JlcXVlc3QaKi5pZGVudGl0eS52MS5FbmFibGVkT0F1dGhQcm92aWRlcnNSZXNwb25zZRJfChBNaW50U2VydmljZVRva2VuEiQuaWRlbnRpdHkudjEuTWludFNlcnZpY2VUb2tlblJlcXVlc3QaJS5pZGVudGl0eS52MS5NaW50U2VydmljZVRva2VuUmVzcG9uc2USXAoPVXBkYXRlTXlQcm9maWxlEiMuaWRlbnRpdHkudjEuVXBkYXRlTXlQcm9maWxlUmVxdWVzdBokLmlkZW50aXR5LnYxLlVwZGF0ZU15UHJvZmlsZVJlc3BvbnNlEnEKFkxpc3RNeU9BdXRoQ29ubmVjdGlvbnMSKi5pZGVudGl0eS52MS5MaXN0TXlPQXV0aENvbm5lY3Rpb25zUmVxdWVzdBorLmlkZW50aXR5LnYxLkxpc3RNeU9BdXRoQ29ubmVjdGlvbnNSZXNwb25zZRJoChNVbmxpbmtPQXV0aFByb3ZpZGVyEicuaWRlbnRpdHkudjEuVW5saW5rT0F1dGhQcm92aWRlclJlcXVlc3QaKC5pZGVudGl0eS52MS5VbmxpbmtPQXV0aFByb3ZpZGVyUmVzcG9uc2UScQoWQ2hlY2tFbWFpbEF2YWlsYWJpbGl0eRIqLmlkZW50aXR5LnYxLkNoZWNrRW1haWxBdmFpbGFiaWxpdHlSZXF1ZXN0GisuaWRlbnRpdHkudjEuQ2hlY2tFbWFpbEF2YWlsYWJpbGl0eVJlc3BvbnNlEmsKFENvbXBsZXRlQWNjb3VudFNldHVwEiguaWRlbnRpdHkudjEuQ29tcGxldGVBY2NvdW50U2V0dXBSZXF1ZXN0GikuaWRlbnRpdHkudjEuQ29tcGxldGVBY2NvdW50U2V0dXBSZXNwb25zZRJoChNDcmVhdGVTaWdudXBTZXNzaW9uEicuaWRlbnRpdHkudjEuQ3JlYXRlU2lnbnVwU2Vzc2lvblJlcXVlc3QaKC5pZGVudGl0eS52MS5DcmVhdGVTaWdudXBTZXNzaW9uUmVzcG9uc2USXwoQUmVzZW5kSW52aXRhdGlvbhIkLmlkZW50aXR5LnYxLlJlc2VuZEludml0YXRpb25SZXF1ZXN0GiUuaWRlbnRpdHkudjEuUmVzZW5kSW52aXRhdGlvblJlc3BvbnNlElYKDUdldEludml0YXRpb24SIS5pZGVudGl0eS52MS5HZXRJbnZpdGF0aW9uUmVxdWVzdBoiLmlkZW50aXR5LnYxLkdldEludml0YXRpb25SZXNwb25zZRJZCg5BY3RpdmF0ZVRlbmFudBIiLmlkZW50aXR5LnYxLkFjdGl2YXRlVGVuYW50UmVxdWVzdBojLmlkZW50aXR5LnYxLkFjdGl2YXRlVGVuYW50UmVzcG9uc2USawoUU3VzcGVuZFRlbmFudEFjY291bnQSKC5pZGVudGl0eS52MS5TdXNwZW5kVGVuYW50QWNjb3VudFJlcXVlc3QaKS5pZGVudGl0eS52MS5TdXNwZW5kVGVuYW50QWNjb3VudFJlc3BvbnNlElMKDENhbmNlbFRlbmFudBIgLmlkZW50aXR5LnYxLkNhbmNlbFRlbmFudFJlcXVlc3QaIS5pZGVudGl0eS52MS5DYW5jZWxUZW5hbnRSZXNwb25zZRJfChBSZWFjdGl2YXRlVGVuYW50EiQuaWRlbnRpdHkudjEuUmVhY3RpdmF0ZVRlbmFudFJlcXVlc3QaJS5pZGVudGl0eS52MS5SZWFjdGl2YXRlVGVuYW50UmVzcG9uc2USYgoRTWFya1RlbmFudFBhc3REdWUSJS5pZGVudGl0eS52MS5NYXJrVGVuYW50UGFzdER1ZVJlcXVlc3QaJi5pZGVudGl0eS52MS5NYXJrVGVuYW50UGFzdER1ZVJlc3BvbnNlElAKC0NodXJuVGVuYW50Eh8uaWRlbnRpdHkudjEuQ2h1cm5UZW5hbnRSZXF1ZXN0GiAuaWRlbnRpdHkudjEuQ2h1cm5UZW5hbnRSZXNwb25zZRJuChVHZXRDdXN0b21lckF1dGhDb25maWcSKS5pZGVudGl0eS52MS5HZXRDdXN0b21lckF1dGhDb25maWdSZXF1ZXN0GiouaWRlbnRpdHkudjEuR2V0Q3VzdG9tZXJBdXRoQ29uZmlnUmVzcG9uc2USaAoTVmVyaWZ5Q3VzdG9tZXJUb2tlbhInLmlkZW50aXR5LnYxLlZlcmlmeUN1c3RvbWVyVG9rZW5SZXF1ZXN0GiguaWRlbnRpdHkudjEuVmVyaWZ5Q3VzdG9tZXJUb2tlblJlc3BvbnNlEoABChtHZXRDdXN0b21lck1hbmFnZW1lbnRTdGF0dXMSLy5pZGVudGl0eS52MS5HZXRDdXN0b21lck1hbmFnZW1lbnRTdGF0dXNSZXF1ZXN0GjAuaWRlbnRpdHkudjEuR2V0Q3VzdG9tZXJNYW5hZ2VtZW50U3RhdHVzUmVzcG9uc2USWQoOVmFsaWRhdGVBcGlLZXkSIi5pZGVudGl0eS52MS5WYWxpZGF0ZUFwaUtleVJlcXVlc3QaIy5pZGVudGl0eS52MS5WYWxpZGF0ZUFwaUtleVJlc3BvbnNlElYKDUN1c3RvbWVyTG9naW4SIS5pZGVudGl0eS52MS5DdXN0b21lckxvZ2luUmVxdWVzdBoiLmlkZW50aXR5LnYxLkN1c3RvbWVyTG9naW5SZXNwb25zZRJfChBDdXN0b21lclJlZ2lzdGVyEiQuaWRlbnRpdHkudjEuQ3VzdG9tZXJSZWdpc3RlclJlcXVlc3QaJS5pZGVudGl0eS52MS5DdXN0b21lclJlZ2lzdGVyUmVzcG9uc2USawoUQ3VzdG9tZXJSZWZyZXNoVG9rZW4SKC5pZGVudGl0eS52MS5DdXN0b21lclJlZnJlc2hUb2tlblJlcXVlc3QaKS5pZGVudGl0eS52MS5DdXN0b21lclJlZnJlc2hUb2tlblJlc3BvbnNlEmUKEkN1c3RvbWVyUmVxdWVzdE9UUBImLmlkZW50aXR5LnYxLkN1c3RvbWVyUmVxdWVzdE9UUFJlcXVlc3QaJy5pZGVudGl0eS52MS5DdXN0b21lclJlcXVlc3RPVFBSZXNwb25zZRJiChFDdXN0b21lclZlcmlmeU9UUBIlLmlkZW50aXR5LnYxLkN1c3RvbWVyVmVyaWZ5T1RQUmVxdWVzdBomLmlkZW50aXR5LnYxLkN1c3RvbWVyVmVyaWZ5T1RQUmVzcG9uc2USgwEKHEN1c3RvbWVyUmVxdWVzdFBhc3N3b3JkUmVzZXQSMC5pZGVudGl0eS52MS5DdXN0b21lclJlcXVlc3RQYXNzd29yZFJlc2V0UmVxdWVzdBoxLmlkZW50aXR5LnYxLkN1c3RvbWVyUmVxdWVzdFBhc3N3b3JkUmVzZXRSZXNwb25zZRJuChVDdXN0b21lclJlc2V0UGFzc3dvcmQSKS5pZGVudGl0eS52MS5DdXN0b21lclJlc2V0UGFzc3dvcmRSZXF1ZXN0GiouaWRlbnRpdHkudjEuQ3VzdG9tZXJSZXNldFBhc3N3b3JkUmVzcG9uc2USZQoSU3RvcmVQcm92aWRlclRva2VuEiYuaWRlbnRpdHkudjEuU3RvcmVQcm92aWRlclRva2VuUmVxdWVzdBonLmlkZW50aXR5LnYxLlN0b3JlUHJvdmlkZXJUb2tlblJlc3BvbnNlEl8KEEdldFByb3ZpZGVyVG9rZW4SJC5pZGVudGl0eS52MS5HZXRQcm92aWRlclRva2VuUmVxdWVzdBolLmlkZW50aXR5LnYxLkdldFByb3ZpZGVyVG9rZW5SZXNwb25zZRJrChREZWxldGVQcm92aWRlclRva2VucxIoLmlkZW50aXR5LnYxLkRlbGV0ZVByb3ZpZGVyVG9rZW5zUmVxdWVzdBopLmlkZW50aXR5LnYxLkRlbGV0ZVByb3ZpZGVyVG9rZW5zUmVzcG9uc2VCPVo7Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL2lkZW50aXR5L3YxO2lkZW50aXR5djFiBnByb3RvMw", [file_google_protobuf_struct, file_google_protobuf_timestamp]);
13
13
 
14
14
  /**
15
15
  * Describes the message identity.v1.AdminUser.
@@ -1285,6 +1285,48 @@ export const CustomerResetPasswordRequestSchema = /*@__PURE__*/
1285
1285
  export const CustomerResetPasswordResponseSchema = /*@__PURE__*/
1286
1286
  messageDesc(file_identity_v1_identity, 181);
1287
1287
 
1288
+ /**
1289
+ * Describes the message identity.v1.StoreProviderTokenRequest.
1290
+ * Use `create(StoreProviderTokenRequestSchema)` to create a new message.
1291
+ */
1292
+ export const StoreProviderTokenRequestSchema = /*@__PURE__*/
1293
+ messageDesc(file_identity_v1_identity, 182);
1294
+
1295
+ /**
1296
+ * Describes the message identity.v1.StoreProviderTokenResponse.
1297
+ * Use `create(StoreProviderTokenResponseSchema)` to create a new message.
1298
+ */
1299
+ export const StoreProviderTokenResponseSchema = /*@__PURE__*/
1300
+ messageDesc(file_identity_v1_identity, 183);
1301
+
1302
+ /**
1303
+ * Describes the message identity.v1.GetProviderTokenRequest.
1304
+ * Use `create(GetProviderTokenRequestSchema)` to create a new message.
1305
+ */
1306
+ export const GetProviderTokenRequestSchema = /*@__PURE__*/
1307
+ messageDesc(file_identity_v1_identity, 184);
1308
+
1309
+ /**
1310
+ * Describes the message identity.v1.GetProviderTokenResponse.
1311
+ * Use `create(GetProviderTokenResponseSchema)` to create a new message.
1312
+ */
1313
+ export const GetProviderTokenResponseSchema = /*@__PURE__*/
1314
+ messageDesc(file_identity_v1_identity, 185);
1315
+
1316
+ /**
1317
+ * Describes the message identity.v1.DeleteProviderTokensRequest.
1318
+ * Use `create(DeleteProviderTokensRequestSchema)` to create a new message.
1319
+ */
1320
+ export const DeleteProviderTokensRequestSchema = /*@__PURE__*/
1321
+ messageDesc(file_identity_v1_identity, 186);
1322
+
1323
+ /**
1324
+ * Describes the message identity.v1.DeleteProviderTokensResponse.
1325
+ * Use `create(DeleteProviderTokensResponseSchema)` to create a new message.
1326
+ */
1327
+ export const DeleteProviderTokensResponseSchema = /*@__PURE__*/
1328
+ messageDesc(file_identity_v1_identity, 187);
1329
+
1288
1330
  /**
1289
1331
  * Describes the enum identity.v1.AdminUserStatus.
1290
1332
  */
@@ -0,0 +1,76 @@
1
+ // @generated by protoc-gen-connect-es v1.6.1 with parameter "import_extension=js"
2
+ // @generated from file placements/v1/placements.proto (package placements.v1, syntax proto3)
3
+ /* eslint-disable */
4
+ // @ts-nocheck
5
+
6
+ import { CreatePlacementRequest, CreatePlacementResponse, DeletePlacementRequest, DeletePlacementResponse, GetPlacementRequest, GetPlacementResponse, ListPlacementsByModelRequest, ListPlacementsByModelResponse, ListPlacementsRequest, ListPlacementsResponse, UpdatePlacementRequest, UpdatePlacementResponse } from "./placements_pbjs";
7
+ import { MethodKind } from "@bufbuild/protobuf";
8
+
9
+ /**
10
+ * @generated from service placements.v1.PlacementsService
11
+ */
12
+ export declare const PlacementsService: {
13
+ readonly typeName: "placements.v1.PlacementsService",
14
+ readonly methods: {
15
+ /**
16
+ * @generated from rpc placements.v1.PlacementsService.CreatePlacement
17
+ */
18
+ readonly createPlacement: {
19
+ readonly name: "CreatePlacement",
20
+ readonly I: typeof CreatePlacementRequest,
21
+ readonly O: typeof CreatePlacementResponse,
22
+ readonly kind: MethodKind.Unary,
23
+ },
24
+ /**
25
+ * @generated from rpc placements.v1.PlacementsService.GetPlacement
26
+ */
27
+ readonly getPlacement: {
28
+ readonly name: "GetPlacement",
29
+ readonly I: typeof GetPlacementRequest,
30
+ readonly O: typeof GetPlacementResponse,
31
+ readonly kind: MethodKind.Unary,
32
+ },
33
+ /**
34
+ * @generated from rpc placements.v1.PlacementsService.ListPlacements
35
+ */
36
+ readonly listPlacements: {
37
+ readonly name: "ListPlacements",
38
+ readonly I: typeof ListPlacementsRequest,
39
+ readonly O: typeof ListPlacementsResponse,
40
+ readonly kind: MethodKind.Unary,
41
+ },
42
+ /**
43
+ * Cross-app query the field-input renderer uses to find applicable
44
+ * placements for a given (model, target). Rows where placement.model
45
+ * is NULL (FULL_PAGE) are excluded. Wildcard placements (model="*")
46
+ * are returned when the query's model is non-empty.
47
+ *
48
+ * @generated from rpc placements.v1.PlacementsService.ListPlacementsByModel
49
+ */
50
+ readonly listPlacementsByModel: {
51
+ readonly name: "ListPlacementsByModel",
52
+ readonly I: typeof ListPlacementsByModelRequest,
53
+ readonly O: typeof ListPlacementsByModelResponse,
54
+ readonly kind: MethodKind.Unary,
55
+ },
56
+ /**
57
+ * @generated from rpc placements.v1.PlacementsService.UpdatePlacement
58
+ */
59
+ readonly updatePlacement: {
60
+ readonly name: "UpdatePlacement",
61
+ readonly I: typeof UpdatePlacementRequest,
62
+ readonly O: typeof UpdatePlacementResponse,
63
+ readonly kind: MethodKind.Unary,
64
+ },
65
+ /**
66
+ * @generated from rpc placements.v1.PlacementsService.DeletePlacement
67
+ */
68
+ readonly deletePlacement: {
69
+ readonly name: "DeletePlacement",
70
+ readonly I: typeof DeletePlacementRequest,
71
+ readonly O: typeof DeletePlacementResponse,
72
+ readonly kind: MethodKind.Unary,
73
+ },
74
+ }
75
+ };
76
+
@@ -0,0 +1,76 @@
1
+ // @generated by protoc-gen-connect-es v1.6.1 with parameter "import_extension=js"
2
+ // @generated from file placements/v1/placements.proto (package placements.v1, syntax proto3)
3
+ /* eslint-disable */
4
+ // @ts-nocheck
5
+
6
+ import { CreatePlacementRequest, CreatePlacementResponse, DeletePlacementRequest, DeletePlacementResponse, GetPlacementRequest, GetPlacementResponse, ListPlacementsByModelRequest, ListPlacementsByModelResponse, ListPlacementsRequest, ListPlacementsResponse, UpdatePlacementRequest, UpdatePlacementResponse } from "./placements_pbjs";
7
+ import { MethodKind } from "@bufbuild/protobuf";
8
+
9
+ /**
10
+ * @generated from service placements.v1.PlacementsService
11
+ */
12
+ export const PlacementsService = {
13
+ typeName: "placements.v1.PlacementsService",
14
+ methods: {
15
+ /**
16
+ * @generated from rpc placements.v1.PlacementsService.CreatePlacement
17
+ */
18
+ createPlacement: {
19
+ name: "CreatePlacement",
20
+ I: CreatePlacementRequest,
21
+ O: CreatePlacementResponse,
22
+ kind: MethodKind.Unary,
23
+ },
24
+ /**
25
+ * @generated from rpc placements.v1.PlacementsService.GetPlacement
26
+ */
27
+ getPlacement: {
28
+ name: "GetPlacement",
29
+ I: GetPlacementRequest,
30
+ O: GetPlacementResponse,
31
+ kind: MethodKind.Unary,
32
+ },
33
+ /**
34
+ * @generated from rpc placements.v1.PlacementsService.ListPlacements
35
+ */
36
+ listPlacements: {
37
+ name: "ListPlacements",
38
+ I: ListPlacementsRequest,
39
+ O: ListPlacementsResponse,
40
+ kind: MethodKind.Unary,
41
+ },
42
+ /**
43
+ * Cross-app query the field-input renderer uses to find applicable
44
+ * placements for a given (model, target). Rows where placement.model
45
+ * is NULL (FULL_PAGE) are excluded. Wildcard placements (model="*")
46
+ * are returned when the query's model is non-empty.
47
+ *
48
+ * @generated from rpc placements.v1.PlacementsService.ListPlacementsByModel
49
+ */
50
+ listPlacementsByModel: {
51
+ name: "ListPlacementsByModel",
52
+ I: ListPlacementsByModelRequest,
53
+ O: ListPlacementsByModelResponse,
54
+ kind: MethodKind.Unary,
55
+ },
56
+ /**
57
+ * @generated from rpc placements.v1.PlacementsService.UpdatePlacement
58
+ */
59
+ updatePlacement: {
60
+ name: "UpdatePlacement",
61
+ I: UpdatePlacementRequest,
62
+ O: UpdatePlacementResponse,
63
+ kind: MethodKind.Unary,
64
+ },
65
+ /**
66
+ * @generated from rpc placements.v1.PlacementsService.DeletePlacement
67
+ */
68
+ deletePlacement: {
69
+ name: "DeletePlacement",
70
+ I: DeletePlacementRequest,
71
+ O: DeletePlacementResponse,
72
+ kind: MethodKind.Unary,
73
+ },
74
+ }
75
+ };
76
+