@scalekit-sdk/node 2.3.0 → 2.5.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.
- package/lib/actions.d.ts +154 -0
- package/lib/actions.js +270 -0
- package/lib/actions.js.map +1 -0
- package/lib/connected-accounts.d.ts +134 -0
- package/lib/connected-accounts.js +187 -0
- package/lib/connected-accounts.js.map +1 -0
- package/lib/connection.d.ts +25 -1
- package/lib/connection.js +36 -0
- package/lib/connection.js.map +1 -1
- package/lib/core.d.ts +13 -3
- package/lib/core.js +36 -14
- package/lib/core.js.map +1 -1
- package/lib/directory.d.ts +25 -1
- package/lib/directory.js +36 -0
- package/lib/directory.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.js +1 -1
- package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.d.ts +742 -0
- package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.js +216 -0
- package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.js.map +1 -0
- package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.d.ts +78 -0
- package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.js +17 -2
- package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/directories/directories_pb.d.ts +70 -0
- package/lib/pkg/grpc/scalekit/v1/directories/directories_pb.js +18 -2
- package/lib/pkg/grpc/scalekit/v1/directories/directories_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.js +1 -1
- package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.d.ts +8 -0
- package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.js +1 -1
- package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/roles/roles_pb.js +1 -1
- package/lib/pkg/grpc/scalekit/v1/roles/roles_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/sessions/sessions_pb.js +1 -1
- package/lib/pkg/grpc/scalekit/v1/tools/tools_pb.d.ts +504 -0
- package/lib/pkg/grpc/scalekit/v1/tools/tools_pb.js +118 -0
- package/lib/pkg/grpc/scalekit/v1/tools/tools_pb.js.map +1 -0
- package/lib/pkg/grpc/scalekit/v1/users/users_pb.js +1 -1
- package/lib/pkg/grpc/scalekit/v1/users/users_pb.js.map +1 -1
- package/lib/role.d.ts +17 -0
- package/lib/role.js +22 -0
- package/lib/role.js.map +1 -1
- package/lib/scalekit.d.ts +23 -0
- package/lib/scalekit.js +53 -0
- package/lib/scalekit.js.map +1 -1
- package/lib/tools.d.ts +96 -0
- package/lib/tools.js +108 -0
- package/lib/tools.js.map +1 -0
- package/lib/user.d.ts +0 -3
- package/lib/user.js +0 -3
- package/lib/user.js.map +1 -1
- package/package.json +6 -3
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
/* eslint-disable */
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.GetSAMLCertificateDetailsRequestSchema = exports.GetSAMLMetadataResponseSchema = exports.SAMLMetadataRequestSchema = exports.GetSAMLMetadataRequestSchema = exports.GetOIDCMetadataResponseSchema = exports.OIDCMetadataRequestSchema = exports.GetOIDCMetadataRequestSchema = exports.IDPCertificateSchema = exports.SAMLConnectionConfigResponseSchema = exports.SAMLConnectionConfigRequestSchema = exports.WebAuthConfiguration_TimeoutSchema = exports.WebAuthConfiguration_AuthenticatorSelectionSchema = exports.WebAuthConfiguration_AuthenticatorsSchema = exports.WebAuthConfiguration_AttestationSchema = exports.WebAuthConfiguration_RpSchema = exports.WebAuthConfigurationSchema = exports.StaticAuthConfigSchema = exports.PasswordLessConfigSchema = exports.OAuthConnectionConfigSchema = exports.OIDCConnectionConfigSchema = exports.ToggleConnectionResponseSchema = exports.ToggleConnectionRequestSchema = exports.ToggleEnvironmentConnectionRequestSchema = exports.SearchOrganizationConnectionsResponseSchema = exports.SearchOrganizationConnectionsRequestSchema = exports.ListOrganizationConnectionsResponseSchema = exports.ListOrganizationConnectionsRequestSchema = exports.ListConnectionSchema = exports.ListConnectionsResponseSchema = exports.ListConnectionsRequestSchema = exports.GetConnectionResponseSchema = exports.GetConnectionRequestSchema = exports.GetEnvironmentConnectionRequestSchema = exports.DeleteConnectionRequestSchema = exports.DeleteEnvironmentConnectionRequestSchema = exports.UpdateConnectionResponseSchema = exports.UpdateConnectionSchema = exports.UpdateConnectionRequestSchema = exports.UpdateEnvironmentConnectionRequestSchema = exports.CreateConnectionResponseSchema = exports.ConnectionSchema = exports.CreateConnectionSchema = exports.CreateConnectionRequestSchema = exports.CreateEnvironmentConnectionRequestSchema = exports.ProviderSchema = exports.GetProvidersResponseSchema = exports.GetProvidersRequestSchema = exports.AssignDomainsToConnectionResponseSchema = exports.AssignDomainsToConnectionRequestSchema = exports.file_scalekit_v1_connections_connections = void 0;
|
|
7
|
-
exports.ConnectionService = exports.ConnectionProviderSchema = exports.ConnectionProvider = exports.ConnectionStatusSchema = exports.ConnectionStatus = exports.ConnectionTypeSchema = exports.ConnectionType = exports.OIDCScopeSchema = exports.OIDCScope = exports.TokenAuthTypeSchema = exports.TokenAuthType = exports.RequestBindingSchema = exports.RequestBinding = exports.SAMLSigningOptionsSchema = exports.SAMLSigningOptions = exports.TestResultStatusSchema = exports.TestResultStatus = exports.PasswordlessTypeSchema = exports.PasswordlessType = exports.NameIdFormatSchema = exports.NameIdFormat = exports.ConfigurationTypeSchema = exports.ConfigurationType = exports.CodeChallengeTypeSchema = exports.CodeChallengeType = exports.ListAppConnectionsResponseSchema = exports.ListAppConnectionsRequestSchema = exports.FlagsSchema = exports.PasswordConnectionConfigSchema = exports.GetConnectionTestResultResponseSchema = exports.GetConnectionTestResultRequestSchema = exports.GetSAMLCertificateDetailsResponseSchema = exports.SAMLCertificateRequestSchema = void 0;
|
|
7
|
+
exports.ConnectionService = exports.ConnectionProviderSchema = exports.ConnectionProvider = exports.ConnectionStatusSchema = exports.ConnectionStatus = exports.ConnectionTypeSchema = exports.ConnectionType = exports.OIDCScopeSchema = exports.OIDCScope = exports.TokenAuthTypeSchema = exports.TokenAuthType = exports.RequestBindingSchema = exports.RequestBinding = exports.SAMLSigningOptionsSchema = exports.SAMLSigningOptions = exports.TestResultStatusSchema = exports.TestResultStatus = exports.PasswordlessTypeSchema = exports.PasswordlessType = exports.NameIdFormatSchema = exports.NameIdFormat = exports.ConfigurationTypeSchema = exports.ConfigurationType = exports.CodeChallengeTypeSchema = exports.CodeChallengeType = exports.UpdateConnectionContextRequestSchema = exports.GetConnectionContextResponseSchema = exports.GetConnectionContextRequestSchema = exports.ListAppConnectionsResponseSchema = exports.ListAppConnectionsRequestSchema = exports.FlagsSchema = exports.PasswordConnectionConfigSchema = exports.GetConnectionTestResultResponseSchema = exports.GetConnectionTestResultRequestSchema = exports.GetSAMLCertificateDetailsResponseSchema = exports.SAMLCertificateRequestSchema = void 0;
|
|
8
8
|
const codegenv2_1 = require("@bufbuild/protobuf/codegenv2");
|
|
9
9
|
const validate_pb_1 = require("../../../buf/validate/validate_pb");
|
|
10
10
|
const annotations_pb_1 = require("../../../google/api/annotations_pb");
|
|
@@ -17,7 +17,7 @@ const options_pb_1 = require("../options/options_pb");
|
|
|
17
17
|
/**
|
|
18
18
|
* Describes the file scalekit/v1/connections/connections.proto.
|
|
19
19
|
*/
|
|
20
|
-
exports.file_scalekit_v1_connections_connections = (0, codegenv2_1.fileDesc)("CilzY2FsZWtpdC92MS9jb25uZWN0aW9ucy9jb25uZWN0aW9ucy5wcm90bxIXc2NhbGVraXQudjEuY29ubmVjdGlvbnMimwEKIEFzc2lnbkRvbWFpbnNUb0Nvbm5lY3Rpb25SZXF1ZXN0EisKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUISukgPyAEBcgoQARggOgRvcmdfEioKDWNvbm5lY3Rpb25faWQYAiABKAlCE7pIEMgBAXILEAEYIDoFY29ubl8SHgoKZG9tYWluX2lkcxgDIAMoCUIKukgHkgEECAAQMiLaAwohQXNzaWduRG9tYWluc1RvQ29ubmVjdGlvblJlc3BvbnNlErQDCgpjb25uZWN0aW9uGAEgASgLMiMuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvbkL6ApJB9gIyIENvbm5lY3Rpb24gd2l0aCBhc3NpZ25lZCBkb21haW5zStECewogICJpZCI6ICJjb25uXzEyMzQ1Njc4OTAiLAogICJwcm92aWRlciI6ICJPS1RBIiwKICAidHlwZSI6ICJPSURDIiwKICAic3RhdHVzIjogIkNPTkZJR1VSRUQiLAogICJlbmFibGVkIjogdHJ1ZSwKICAiZGVidWdfZW5hYmxlZCI6IGZhbHNlLAogICJvcmdhbml6YXRpb25faWQiOiAib3JnXzEyMzQ1Njc4OTAiLAogICJ1aV9idXR0b25fdGl0bGUiOiAiTG9naW4gd2l0aCBTU08iLAogICJjb25maWd1cmF0aW9uX3R5cGUiOiAiTUFOVUFMIiwKICAidGVzdF9jb25uZWN0aW9uX3VyaSI6ICJodHRwczovL2F1dGguZXhhbXBsZS5jb20vdGVzdC1jb25uZWN0aW9uL2Nvbm5fMTIzNDU2Nzg5MCIKfSIVChNHZXRQcm92aWRlcnNSZXF1ZXN0IkwKFEdldFByb3ZpZGVyc1Jlc3BvbnNlEjQKCXByb3ZpZGVycxgBIAMoCzIhLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlByb3ZpZGVyItIBCghQcm92aWRlchIuCgZrZXlfaWQYASABKAlCHpJBGzIPUHJvdmlkZXIgS2V5IElESggiZ29vZ2xlIhI6CgxkaXNwbGF5X25hbWUYAiABKAlCJJJBITIVUHJvdmlkZXIgRGlzcGxheSBOYW1lSggiR29vZ2xlIhJKCgtkZXNjcmlwdGlvbhgDIAEoCUIwkkEtMhRQcm92aWRlciBEZXNjcmlwdGlvbkoVIlNpZ24gSW4gV2l0aCBHb29nbGUiSACIAQFCDgoMX2Rlc2NyaXB0aW9uIpsCCiJDcmVhdGVFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0EkUKCmNvbm5lY3Rpb24YASABKAsyKS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uQga6SAPIAQESowEKBWZsYWdzGAIgASgLMh4uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuRmxhZ3NCb5JBbDJTT3B0aW9uYWwgZmxhZ3MgdG8gY29udHJvbCBjb25uZWN0aW9uIGNyZWF0aW9uIGJlaGF2aW9yLCBzdWNoIGFzIGVuYWJsaW5nIGRlYnVnIG1vZGVKFXsgImlzX3NvY2lhbCI6IHRydWUgfUgAiAEBQggKBl9mbGFncyLIAgoXQ3JlYXRlQ29ubmVjdGlvblJlcXVlc3QSigEKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUJxkkFlMkpVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB0aGUgY29ubmVjdGlvbiBpcyBjcmVhdGVkLkoXIm9yZ18xMjM2MjQ3NDkwMDY4NDgxNCK6SAZyBBABGCASmQEKCmNvbm5lY3Rpb24YAyABKAsyKS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uQlq6SFe6AVESNk9BVVRILCBQQVNTV09SRExFU1MgYW5kIFdFQkFVVEhOIGFyZSBub3Qgc3VwcG9ydGVkIHlldBoXISh0aGlzLnR5cGUgaW4gWzQsNSw5XSnIAQFKBAgCEAMi0wUKEENyZWF0ZUNvbm5lY3Rpb24SwQEKCHByb3ZpZGVyGAEgASgOMisuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvblByb3ZpZGVyQoEBkkF2MmxJZGVudGl0eSBwcm92aWRlciBzZXJ2aWNlIHRoYXQgaGFuZGxlcyBhdXRoZW50aWNhdGlvbiAoc3VjaCBhcyBPS1RBLCBHb29nbGUsIEF6dXJlIEFELCBvciBhIGN1c3RvbSBwcm92aWRlcilKBiJPS1RBIrpIBYIBAhABEj8KBHR5cGUYAiABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uVHlwZUIIukgFggECEAESiwEKDHByb3ZpZGVyX2tleRgDIAEoCUJ1kkFyMmZLZXkgSUQgb2YgdGhlIGlkZW50aXR5IHByb3ZpZGVyLiBUaGlzIGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBwcm92aWRlci5KCCJnb29nbGUiEhMKBmtleV9pZBgEIAEoCUgAiAEBOosCukiHAhpUEiRwcm92aWRlciBvciBwcm92aWRlcl9rZXkgaXMgcmVxdWlyZWQaLGhhcyh0aGlzLnByb3ZpZGVyX2tleSkgfHwgdGhpcy5wcm92aWRlciAhPSAwGmASHmludmFsaWQgdmFsdWUgZm9yIHByb3ZpZGVyX2tleRo+dGhpcy5wcm92aWRlciA9PSAxNSA/IHRoaXMucHJvdmlkZXJfa2V5IGluIFsnU0NBTEVLSVQnXSA6IHRydWUaTRIYaW52YWxpZCB2YWx1ZSBmb3Iga2V5X2lkGjF0aGlzLnR5cGUgPT0gOSA/IHRoaXMua2V5X2lkID09ICdXRUJBVVRITicgOiB0cnVlQgkKB19rZXlfaWQiqR4KCkNvbm5lY3Rpb24SiQEKAmlkGAEgASgJQn2SQXoyX1VuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGNvbm5lY3Rpb24uIFVzZWQgaW4gQVBJIGNhbGxzIHRvIHJlZmVyZW5jZSB0aGlzIHNwZWNpZmljIGNvbm5lY3Rpb24uShciY29ubl8yMTIzMzEyMTMxMTI1NTMzIhK4AQoIcHJvdmlkZXIYAiABKA4yKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uUHJvdmlkZXJCeZJBdjJsSWRlbnRpdHkgcHJvdmlkZXIgc2VydmljZSB0aGF0IGhhbmRsZXMgYXV0aGVudGljYXRpb24gKHN1Y2ggYXMgT0tUQSwgR29vZ2xlLCBBenVyZSBBRCwgb3IgYSBjdXN0b20gcHJvdmlkZXIpSgYiT0tUQSISrgEKBHR5cGUYAyABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uVHlwZUJ3kkF0MmpBdXRoZW50aWNhdGlvbiBwcm90b2NvbCB1c2VkIGJ5IHRoaXMgY29ubmVjdGlvbi4gQ2FuIGJlIE9JREMgKE9wZW5JRCBDb25uZWN0KSwgU0FNTCwgT0FVVEgsIG9yIE1BR0lDX0xJTksuSgYiT0lEQyISvgEKBnN0YXR1cxgEIAEoDjIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25TdGF0dXNCggGSQXwya0N1cnJlbnQgY29uZmlndXJhdGlvbiBzdGF0dXMgb2YgdGhlIGNvbm5lY3Rpb24uIFBvc3NpYmxlIHZhbHVlcyBpbmNsdWRlIElOX1BST0dSRVNTLCBDT05GSUdVUkVELCBhbmQgRVJST1IuSg0iSU5fUFJPR1JFU1Mi4EEDEqIBCgdlbmFibGVkGAUgASgIQpABkkGMATKCAUNvbnRyb2xzIHdoZXRoZXIgdXNlcnMgY2FuIHNpZ24gaW4gdXNpbmcgdGhpcyBjb25uZWN0aW9uLiBXaGVuIGZhbHNlLCB0aGUgY29ubmVjdGlvbiBleGlzdHMgYnV0IGNhbm5vdCBiZSB1c2VkIGZvciBhdXRoZW50aWNhdGlvbi5KBWZhbHNlEqIBCg1kZWJ1Z19lbmFibGVkGAYgASgIQooBkkGGATJ+RW5hYmxlcyB0ZXN0aW5nIG1vZGUgdGhhdCBhbGxvd3Mgbm9uLUhUVFBTIGVuZHBvaW50cy4gU2hvdWxkIG9ubHkgYmUgZW5hYmxlZCBpbiBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMsIG5ldmVyIGluIHByb2R1Y3Rpb24uSgR0cnVlErEBCg9vcmdhbml6YXRpb25faWQYByABKAlCkgGSQY4BMnRJZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb24gdGhhdCBvd25zIHRoaXMgY29ubmVjdGlvbi4gQ29ubmVjdGlvbnMgYXJlIHR5cGljYWxseSBzY29wZWQgdG8gYSBzaW5nbGUgb3JnYW5pemF0aW9uLkoWIm9yZ18yMTIzMzEyMTMxMTI1NTMzIkgBiAEBEq4BCg91aV9idXR0b25fdGl0bGUYCCABKAlClAGSQYEBMm1DdXN0b20gdGV4dCBzaG93biBvbiB0aGUgbG9naW4gYnV0dG9uIGluIHRoZSB1c2VyIGludGVyZmFjZS4gSGVscHMgdXNlcnMgaWRlbnRpZnkgd2hpY2ggU1NPIG9wdGlvbiB0byBzZWxlY3QuShAiTG9naW4gd2l0aCBTU08i+tLkkwIJEgdQUkVWSUVXEsIBChJjb25maWd1cmF0aW9uX3R5cGUYCSABKA4yKi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25maWd1cmF0aW9uVHlwZUJ6kkF3MmtIb3cgdGhlIGNvbm5lY3Rpb24gd2FzIGNvbmZpZ3VyZWQ6IERJU0NPVkVSWSAoYXV0b21hdGljIGNvbmZpZ3VyYXRpb24pIG9yIE1BTlVBTCAoYWRtaW5pc3RyYXRvciBjb25maWd1cmVkKUoIIk1BTlVBTCISzAEKE3Rlc3RfY29ubmVjdGlvbl91cmkYDCABKAlCrgGSQaoBMmZVUkkgdGhhdCBjYW4gYmUgdXNlZCB0byB0ZXN0IHRoaXMgY29ubmVjdGlvbi4gVmlzaXQgdGhpcyBVUkwgdG8gdmVyaWZ5IHRoZSBjb25uZWN0aW9uIHdvcmtzIGNvcnJlY3RseS5KQCJodHRwczovL2F1dGguZXhhbXBsZS5jb20vdGVzdC1jb25uZWN0aW9uL2Nvbm5fMjEyMzMxMjEzMTEyNTUzMyIS7wEKEWF0dHJpYnV0ZV9tYXBwaW5nGA8gAygLMjkuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvbi5BdHRyaWJ1dGVNYXBwaW5nRW50cnlCmAGSQXwyek1hcHMgaWRlbnRpdHkgcHJvdmlkZXIgYXR0cmlidXRlcyB0byB1c2VyIHByb2ZpbGUgZmllbGRzLiBGb3IgZXhhbXBsZSwgeydlbWFpbCc6ICd1c2VyLm1haWwnLCAnbmFtZSc6ICd1c2VyLmRpc3BsYXlOYW1lJ30uukgWmgETEB4iBnIEEAEYZCoHcgUQARiAAhKlAQoLY3JlYXRlX3RpbWUYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQnSSQV8yRVdoZW4gdGhpcyBjb25uZWN0aW9uIHdhcyBmaXJzdCBjcmVhdGVkLiBGb3JtYXQgaXMgUkZDIDMzMzkgdGltZXN0YW1wLkoWIjIwMjMtMDEtMTVUMTQ6MzA6MDBaIuBBA/rS5JMCCRIHUFJFVklFVxKlAQoLdXBkYXRlX3RpbWUYESABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQnSSQV8yRVdoZW4gdGhpcyBjb25uZWN0aW9uIHdhcyBsYXN0IG1vZGlmaWVkLiBGb3JtYXQgaXMgUkZDIDMzMzkgdGltZXN0YW1wLkoWIjIwMjMtMDItMjBUMDk6MTU6MzBaIuBBA/rS5JMCCRIHUFJFVklFVxKnAQoLb2lkY19jb25maWcYEiABKAsyLS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5PSURDQ29ubmVjdGlvbkNvbmZpZ0JhkkFeMlxDb25maWd1cmF0aW9uIGRldGFpbHMgZm9yIE9wZW5JRCBDb25uZWN0IChPSURDKSBjb25uZWN0aW9ucy4gUHJlc2VudCBvbmx5IHdoZW4gdHlwZSBpcyBPSURDLkgAEp4BCgtzYW1sX2NvbmZpZxgTIAEoCzI1LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNBTUxDb25uZWN0aW9uQ29uZmlnUmVzcG9uc2VCUJJBTTJLQ29uZmlndXJhdGlvbiBkZXRhaWxzIGZvciBTQU1MIGNvbm5lY3Rpb25zLiBQcmVzZW50IG9ubHkgd2hlbiB0eXBlIGlzIFNBTUwuSAASmgEKDG9hdXRoX2NvbmZpZxgUIAEoCzIuLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLk9BdXRoQ29ubmVjdGlvbkNvbmZpZ0JSkkFPMk1Db25maWd1cmF0aW9uIGRldGFpbHMgZm9yIE9BdXRoIGNvbm5lY3Rpb25zLiBQcmVzZW50IG9ubHkgd2hlbiB0eXBlIGlzIE9BVVRILkgAEqsBChNwYXNzd29yZGxlc3NfY29uZmlnGBYgASgLMisuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuUGFzc3dvcmRMZXNzQ29uZmlnQl+SQVwyWkNvbmZpZ3VyYXRpb24gZGV0YWlscyBmb3IgTWFnaWMgTGluayBhdXRoZW50aWNhdGlvbi4gUHJlc2VudCBvbmx5IHdoZW4gdHlwZSBpcyBNQUdJQ19MSU5LLkgAErIBCg1zdGF0aWNfY29uZmlnGBogASgLMikuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuU3RhdGljQXV0aENvbmZpZ0JukkFrMmlTdGF0aWMgY29uZmlndXJhdGlvbiBmb3IgY3VzdG9tIGNvbm5lY3Rpb25zLiBQcmVzZW50IG9ubHkgd2hlbiB0eXBlIGlzIEJBU0lDLCBCRUFSRVIsIEFQSV9LRVksIG9yIGN1c3RvbS5IABKhAQoPd2ViYXV0aG5fY29uZmlnGBsgASgLMi0uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuV2ViQXV0aENvbmZpZ3VyYXRpb25CV5JBVDJSQ29uZmlndXJhdGlvbiBkZXRhaWxzIGZvciBXZWJBdXRobiAocGFzc2tleXMpLiBQcmVzZW50IG9ubHkgd2hlbiB0eXBlIGlzIFdFQkFVVEhOLkgAEnYKBmtleV9pZBgZIAEoCUJhkkFeMlxBbHRlcm5hdGl2ZSBpZGVudGlmaWVyIGZvciB0aGlzIGNvbm5lY3Rpb24sIHR5cGljYWxseSB1c2VkIGluIGZyb250ZW5kIGFwcGxpY2F0aW9ucyBvciBVUkxzLkgCiAEBEmgKDHByb3ZpZGVyX2tleRgXIAEoCUJSkkFPMkNLZXkgSUQgb2YgdGhlIGlkZW50aXR5IHByb3ZpZGVyIHNlcnZpY2UgdGhhdCBoYW5kbGVzIGF1dGhlbnRpY2F0aW9uSggiZ29vZ2xlIhKhAQoHZG9tYWlucxgYIAMoCzIbLnNjYWxla2l0LnYxLmRvbWFpbnMuRG9tYWluQnOSQXAyU0RvbWFpbiBhc3NvY2lhdGVkIHdpdGggdGhpcyBjb25uZWN0aW9uLCB1c2VkIGZvciBkb21haW4tYmFzZWQgYXV0aGVudGljYXRpb24gZmxvd3MuShlbeyJuYW1lIjogImV4YW1wbGUuY29tIn1dGjcKFUF0dHJpYnV0ZU1hcHBpbmdFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgoKCHNldHRpbmdzQhIKEF9vcmdhbml6YXRpb25faWRCCQoHX2tleV9pZEoECA0QDyJrChhDcmVhdGVDb25uZWN0aW9uUmVzcG9uc2USTwoKY29ubmVjdGlvbhgBIAEoCzIjLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25CFpJBEzIRQ29ubmVjdGlvbiBEZXRhaWwijQIKIlVwZGF0ZUVudmlyb25tZW50Q29ubmVjdGlvblJlcXVlc3QScAoNY29ubmVjdGlvbl9pZBgBIAEoCUJZkkFNMitDb25uZWN0aW9uIElELiBVbmlxdWUgSUQgZm9yIHRoZSBjb25uZWN0aW9uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiyj4F+gICaWS6SAZyBBABGCASdQoKY29ubmVjdGlvbhgDIAEoCzIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25CNpJBLTIjQ29ubmVjdGlvbiBwcm9wZXJ0aWVzIHRvIGJlIHVwZGF0ZWTKPgX6AgJpZLpIA8gBASKuAwoXVXBkYXRlQ29ubmVjdGlvblJlcXVlc3QSYQoPb3JnYW5pemF0aW9uX2lkGAEgASgJQkiSQTwyI09yZ2FuaXphdGlvbiBJRCBmb3IgdGhlIENvbm5lY3Rpb24uShUib3JnXzEyMTMxMjQzNDEyMzMxMiK6SAZyBBABGCASXQoCaWQYAyABKAlCUZJBRTIrQ29ubmVjdGlvbiBJRC4gVW5pcXVlIElEIGZvciB0aGUgY29ubmVjdGlvbkoWImNvbm5fMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYIBLKAQoKY29ubmVjdGlvbhgEIAEoCzIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25CigGSQS0yI0Nvbm5lY3Rpb24gcHJvcGVydGllcyB0byBiZSB1cGRhdGVkyj4F+gICaWS6SFe6AVESNk9BVVRILCBQQVNTV09SRExFU1MgYW5kIFdFQkFVVEhOIGFyZSBub3Qgc3VwcG9ydGVkIHlldBoXISh0aGlzLnR5cGUgaW4gWzQsNSw5XSnIAQFKBAgCEAMi/Q8KEFVwZGF0ZUNvbm5lY3Rpb24SbQoIcHJvdmlkZXIYAiABKA4yKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uUHJvdmlkZXJCLpJBIzIXU1NPIENvbm5lY3Rpb24gUHJvdmlkZXJKCCJDVVNUT00iukgFggECEAESbAoEdHlwZRgDIAEoDjInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25UeXBlQjWSQSoyIENvbm5lY3Rpb24gUHJvdG9jb2wgT0lEQyAvIFNBTUwgSgYiT0lEQyK6SAWCAQIQARKgAQoNZGVidWdfZW5hYmxlZBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCbZJBajJiRGVidWcgbW9kZSBmb3IgdGhlIGNvbm5lY3Rpb24uIERlYnVnIHdvdWxkIGFsbG93IG5vbiBIVFRQUyBlbmRwb2ludCB0byBiZSB1c2VkIHdpdGggdGhlIGNvbm5lY3Rpb25KBHRydWUSfgoPdWlfYnV0dG9uX3RpdGxlGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkeSQTUyIURpc3BsYXkgbmFtZSBmb3IgdGhlIExvZ2luIEJ1dHRvbkoQIkxvZ2luIHdpdGggU1NPIvrS5JMCCRIHUFJFVklFVxJrChJjb25maWd1cmF0aW9uX3R5cGUYCyABKA4yKi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25maWd1cmF0aW9uVHlwZUIjkkEgMhRDb25maWd1cmF0aW9uIFR5cGUuIEoIIk1BTlVBTCISiwEKEWF0dHJpYnV0ZV9tYXBwaW5nGA8gAygLMj8uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVXBkYXRlQ29ubmVjdGlvbi5BdHRyaWJ1dGVNYXBwaW5nRW50cnlCL5JBEzIRQXR0cmlidXRlIE1hcHBpbme6SBaaARMQHiIGcgQQARhkKgdyBRABGIACEncKC29pZGNfY29uZmlnGBAgASgLMi0uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuT0lEQ0Nvbm5lY3Rpb25Db25maWdCMZJBLjIsT0lEQyBDb25maWd1cmF0aW9uIGlmIENvbm5lY3Rpb25UeXBlID09IE9JRENIABJ+CgtzYW1sX2NvbmZpZxgRIAEoCzI0LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNBTUxDb25uZWN0aW9uQ29uZmlnUmVxdWVzdEIxkkEuMixTQU1MIENvbmZpZ3VyYXRpb24gaWYgQ29ubmVjdGlvblR5cGUgPT0gU0FNTEgAEnsKDG9hdXRoX2NvbmZpZxgSIAEoCzIuLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLk9BdXRoQ29ubmVjdGlvbkNvbmZpZ0IzkkEwMi5PQXV0aCBDb25maWd1cmF0aW9uIGlmIENvbm5lY3Rpb25UeXBlID09IE9BVVRISAASiQEKE3Bhc3N3b3JkbGVzc19jb25maWcYFCABKAsyKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5QYXNzd29yZExlc3NDb25maWdCPZJBOjI4TWFnaWMgTGluayBDb25maWd1cmF0aW9uIGlmIENvbm5lY3Rpb25UeXBlID09IE1BR0lDX0xJTktIABJCCg1zdGF0aWNfY29uZmlnGBcgASgLMikuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuU3RhdGljQXV0aENvbmZpZ0gAEqEBCg93ZWJhdXRobl9jb25maWcYGCABKAsyLS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5XZWJBdXRoQ29uZmlndXJhdGlvbkJXkkFUMlJDb25maWd1cmF0aW9uIGRldGFpbHMgZm9yIFdlYkF1dGhuIChwYXNza2V5cykuIFByZXNlbnQgb25seSB3aGVuIHR5cGUgaXMgV0VCQVVUSE4uSAASHgoGa2V5X2lkGBYgASgJQgm6SAZyBBABGCBIAYgBARJoCgxwcm92aWRlcl9rZXkYFSABKAlCUpJBTzJDS2V5IElEIG9mIHRoZSBpZGVudGl0eSBwcm92aWRlciBzZXJ2aWNlIHRoYXQgaGFuZGxlcyBhdXRoZW50aWNhdGlvbkoIImdvb2dsZSIaNwoVQXR0cmlidXRlTWFwcGluZ0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAE6iwK6SIcCGlQSJHByb3ZpZGVyIG9yIHByb3ZpZGVyX2tleSBpcyByZXF1aXJlZBosaGFzKHRoaXMucHJvdmlkZXJfa2V5KSB8fCB0aGlzLnByb3ZpZGVyICE9IDAaYBIeaW52YWxpZCB2YWx1ZSBmb3IgcHJvdmlkZXJfa2V5Gj50aGlzLnByb3ZpZGVyID09IDE1ID8gdGhpcy5wcm92aWRlcl9rZXkgaW4gWydTQ0FMRUtJVCddIDogdHJ1ZRpNEhhpbnZhbGlkIHZhbHVlIGZvciBrZXlfaWQaMXRoaXMudHlwZSA9PSA5ID8gdGhpcy5rZXlfaWQgPT0gJ1dFQkFVVEhOJyA6IHRydWVCCgoIc2V0dGluZ3NCCQoHX2tleV9pZEoECAEQAkoECAQQBUoECAUQBkoECAkQC0oECAwQDyJ0ChhVcGRhdGVDb25uZWN0aW9uUmVzcG9uc2USWAoKY29ubmVjdGlvbhgBIAEoCzIjLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25CH5JBHDIaVXBkYXRlZCBDb25uZWN0aW9uIGRldGFpbHMijgEKIkRlbGV0ZUVudmlyb25tZW50Q29ubmVjdGlvblJlcXVlc3QSaAoNY29ubmVjdGlvbl9pZBgDIAEoCUJRkkFFMitDb25uZWN0aW9uIElELiBVbmlxdWUgSUQgZm9yIHRoZSBjb25uZWN0aW9uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggIuEBChdEZWxldGVDb25uZWN0aW9uUmVxdWVzdBJhCg9vcmdhbml6YXRpb25faWQYASABKAlCSJJBPDIjT3JnYW5pemF0aW9uIElEIGZvciB0aGUgQ29ubmVjdGlvbi5KFSJvcmdfMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYIBJdCgJpZBgDIAEoCUJRkkFFMitDb25uZWN0aW9uIElELiBVbmlxdWUgSUQgZm9yIHRoZSBjb25uZWN0aW9uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggSgQIAhADIoQBCh9HZXRFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0EmEKDWNvbm5lY3Rpb25faWQYASABKAlCSpJBPjIkVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBDb25uZWN0aW9uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggIugCChRHZXRDb25uZWN0aW9uUmVxdWVzdBKqAQoPb3JnYW5pemF0aW9uX2lkGAEgASgJQpABkkGDATJqT3JnYW5pemF0aW9uIGlkZW50aWZpZXIgKHJlcXVpcmVkKS4gU3BlY2lmaWVzIHdoaWNoIG9yZ2FuaXphdGlvbiBvd25zIHRoZSBjb25uZWN0aW9uIHlvdSB3YW50IHRvIHJldHJpZXZlLkoVIm9yZ18xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggEpwBCgJpZBgDIAEoCUKPAZJBggEyaENvbm5lY3Rpb24gaWRlbnRpZmllciAocmVxdWlyZWQpLiBTcGVjaWZpZXMgd2hpY2ggc3BlY2lmaWMgY29ubmVjdGlvbiB0byByZXRyaWV2ZSBmcm9tIHRoZSBvcmdhbml6YXRpb24uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggSgQIAhADIo4CChVHZXRDb25uZWN0aW9uUmVzcG9uc2US9AEKCmNvbm5lY3Rpb24YASABKAsyIy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uQroBkkG2ATKzAUNvbXBsZXRlIGNvbm5lY3Rpb24gZGV0YWlscyBpbmNsdWRpbmcgcHJvdmlkZXIgY29uZmlndXJhdGlvbiwgcHJvdG9jb2wgc2V0dGluZ3MsIHN0YXR1cywgYW5kIGFsbCBtZXRhZGF0YS4gQ29udGFpbnMgZXZlcnl0aGluZyBuZWVkZWQgdG8gdW5kZXJzdGFuZCB0aGUgY29ubmVjdGlvbidzIGN1cnJlbnQgc3RhdGUuIvQDChZMaXN0Q29ubmVjdGlvbnNSZXF1ZXN0EnAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUJSkkFGMi1GaWx0ZXIgY29ubmVjdGlvbnMgYnkgb3JnYW5pemF0aW9uIGlkZW50aWZpZXJKFSJvcmdfMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYIEgAiAEBEncKBmRvbWFpbhgDIAEoCUJikkFWMkNGaWx0ZXIgY29ubmVjdGlvbnMgYnkgZW1haWwgZG9tYWluIGFzc29jaWF0ZWQgd2l0aCB0aGUgb3JnYW5pemF0aW9uSg8iaGVyby1zYWFzLmFwcCK6SAZyBBABGCBIAYgBARK9AQoHaW5jbHVkZRgEIAEoCUKmAZJBogEynwFGaWx0ZXIgY29ubmVjdGlvbnMgYnkgc3RhdHVzLiBVc2UgJ2FsbCcgdG8gaW5jbHVkZSBhbGwgY29ubmVjdGlvbnMgcmVnYXJkbGVzcyBvZiBzdGF0dXMuIERlZmF1bHQgYmVoYXZpb3Igc2hvd3Mgb25seSBhY3RpdmUgKGNvbXBsZXRlZCBhbmQgZW5hYmxlZCkgY29ubmVjdGlvbnNIAogBAUISChBfb3JnYW5pemF0aW9uX2lkQgkKB19kb21haW5CCgoIX2luY2x1ZGVKBAgCEAMijwEKF0xpc3RDb25uZWN0aW9uc1Jlc3BvbnNlEnQKC2Nvbm5lY3Rpb25zGAEgAygLMicuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdENvbm5lY3Rpb25CNpJBMzIxTGlzdCBvZiBjb25uZWN0aW9ucyBtYXRjaGluZyB0aGUgcmVxdWVzdCBjcml0ZXJpYSL6CgoOTGlzdENvbm5lY3Rpb24STQoCaWQYASABKAlCQZJBPjIjVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGNvbm5lY3Rpb25KFyJjb25uXzIxMjMzMTIxMzExMjU1MzMiEoMBCghwcm92aWRlchgCIAEoDjIrLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25Qcm92aWRlckJEkkFBMjVJZGVudGl0eSBwcm92aWRlciB0eXBlIChlLmcuLCBPS1RBLCBHb29nbGUsIEF6dXJlIEFEKUoIIkNVU1RPTSIScgoEdHlwZRgDIAEoDjInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25UeXBlQjuSQTgyLkF1dGhlbnRpY2F0aW9uIHByb3RvY29sIHVzZWQgYnkgdGhlIGNvbm5lY3Rpb25KBiJPSURDIhKAAQoGc3RhdHVzGAQgASgOMikuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvblN0YXR1c0JFkkE/Mi5DdXJyZW50IGNvbmZpZ3VyYXRpb24gc3RhdHVzIG9mIHRoZSBjb25uZWN0aW9uSg0iSU5fUFJPR1JFU1Mi4EEDEl4KB2VuYWJsZWQYBSABKAhCTZJBSjJBV2hldGhlciB0aGUgY29ubmVjdGlvbiBpcyBjdXJyZW50bHkgYWN0aXZlIGZvciBvcmdhbml6YXRpb24gdXNlcnNKBWZhbHNlEnUKD29yZ2FuaXphdGlvbl9pZBgGIAEoCUJckkFZMj9VbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uIHRoYXQgb3ducyB0aGlzIGNvbm5lY3Rpb25KFiJvcmdfMjEyMzMxMjEzMTEyNTUzMyISeQoPdWlfYnV0dG9uX3RpdGxlGAcgASgJQmCSQU4yOlRleHQgZGlzcGxheWVkIG9uIHRoZSBTU08gbG9naW4gYnV0dG9uIGZvciB0aGlzIGNvbm5lY3Rpb25KECJMb2dpbiB3aXRoIFNTTyL60uSTAgkSB1BSRVZJRVcSawoHZG9tYWlucxgIIAMoCUJakkFXMi9MaXN0IG9mIGRvbWFpbnMgY29uZmlndXJlZCB3aXRoIHRoaXMgY29ubmVjdGlvbkokWyJ5b3VyYXBwLmNvbSIsICJ5b3Vyd29ya3NwYWNlLmNvbSJdEl8KEW9yZ2FuaXphdGlvbl9uYW1lGAkgASgJQkSSQUEyKk5hbWUgb2YgdGhlIG9yZ2FuaXphdGlvbiBvZiB0aGUgY29ubmVjdGlvbkoTIllvdXIgT3JnYW5pemF0aW9uIhJoCgxwcm92aWRlcl9rZXkYCiABKAlCUpJBTzJDS2V5IElEIG9mIHRoZSBpZGVudGl0eSBwcm92aWRlciBzZXJ2aWNlIHRoYXQgaGFuZGxlcyBhdXRoZW50aWNhdGlvbkoIImdvb2dsZSISiQEKBmtleV9pZBgLIAEoCUJ5kkF2MltBbHRlcm5hdGl2ZSBpZGVudGlmaWVyIGZvciB0aGlzIGNvbm5lY3Rpb24sIHR5cGljYWxseSB1c2VkIGluIGZyb250ZW5kIGFwcGxpY2F0aW9ucyBvciBVUkxzShciY29ubl8yMTIzMzEyMTMxMTI1NTMzIhKFAQoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCVZJBQDImV2hlbiB0aGlzIGNvbm5lY3Rpb24gd2FzIGZpcnN0IGNyZWF0ZWRKFiIyMDIzLTAxLTE1VDE0OjMwOjAwWiLgQQP60uSTAgkSB1BSRVZJRVciuQIKIkxpc3RPcmdhbml6YXRpb25Db25uZWN0aW9uc1JlcXVlc3QSdgoJcGFnZV9zaXplGAEgASgNQmOSQVkyU01heGltdW0gbnVtYmVyIG9mIG9yZ2FuaXphdGlvbnMgdG8gcmV0dXJuIHBlciBwYWdlLiBWYWx1ZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMzAuSgIzMLpIBCoCGB4SmgEKCnBhZ2VfdG9rZW4YAiABKAlChQGSQYEBMmFUb2tlbiBmcm9tIGEgcHJldmlvdXMgcmVzcG9uc2UgZm9yIHBhZ2luYXRpb24uIFByb3ZpZGUgdGhpcyB0byByZXRyaWV2ZSB0aGUgbmV4dCBwYWdlIG9mIHJlc3VsdHMuShxleUp3WVdkbElqb3lMQ0pzYVcxcGRDSTZNekI5IuABCiNMaXN0T3JnYW5pemF0aW9uQ29ubmVjdGlvbnNSZXNwb25zZRIXCg9uZXh0X3BhZ2VfdG9rZW4YASABKAkSEgoKdG90YWxfc2l6ZRgCIAEoDRIXCg9wcmV2X3BhZ2VfdG9rZW4YAyABKAkScwoLY29ubmVjdGlvbnMYBCADKAsyJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5MaXN0Q29ubmVjdGlvbkI1kkEyMjBMaXN0IG9mIGNvbm5lY3Rpb25zIG1hdGNoaW5nIHRoZSBmaWx0ZXIgY3JpdGVyaWEi2QYKJFNlYXJjaE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVxdWVzdBJlCgVxdWVyeRgBIAEoCUJRkkFHMi1TZWFyY2ggcXVlcnkgQ29ubmVjdGlvbiBJRCBvciBPcmdhbml6YXRpb24gSURKFiJjb25uXzEyMTMxMjQzNDEyMzMxMiK6SARyAhhkSACIAQESNgoIcHJvdmlkZXIYAiABKAlCH5JBHDISRmlsdGVyIGJ5IHByb3ZpZGVySgYiT0tUQSJIAYgBARJ1CgZzdGF0dXMYAyABKA4yKS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uU3RhdHVzQjWSQSoyG0ZpbHRlciBieSBjb25uZWN0aW9uIHN0YXR1c0oLIkNPTVBMRVRFRCK6SAWCAQIQAUgCiAEBEnwKD2Nvbm5lY3Rpb25fdHlwZRgEIAEoDjInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25UeXBlQjWSQSoyG0ZpbHRlciBieSBjb25uZWN0aW9uIHN0YXR1c0oLIkNPTVBMRVRFRCK6SAWCAQIQAUgDiAEBEkYKB2VuYWJsZWQYByABKAhCMJJBLTIjRmlsdGVyIGJ5IGNvbm5lY3Rpb24gZW5hYmxlZCBzdGF0dXNKBiJ0cnVlIkgEiAEBEnYKCXBhZ2Vfc2l6ZRgFIAEoDUJjkkFZMlNNYXhpbXVtIG51bWJlciBvZiBvcmdhbml6YXRpb25zIHRvIHJldHVybiBwZXIgcGFnZS4gVmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDMwLkoCMzC6SAQqAhgeEpoBCgpwYWdlX3Rva2VuGAYgASgJQoUBkkGBATJhVG9rZW4gZnJvbSBhIHByZXZpb3VzIHJlc3BvbnNlIGZvciBwYWdpbmF0aW9uLiBQcm92aWRlIHRoaXMgdG8gcmV0cmlldmUgdGhlIG5leHQgcGFnZSBvZiByZXN1bHRzLkocZXlKd1lXZGxJam95TENKc2FXMXBkQ0k2TXpCOUIICgZfcXVlcnlCCwoJX3Byb3ZpZGVyQgkKB19zdGF0dXNCEgoQX2Nvbm5lY3Rpb25fdHlwZUIKCghfZW5hYmxlZCLiAQolU2VhcmNoT3JnYW5pemF0aW9uQ29ubmVjdGlvbnNSZXNwb25zZRIXCg9uZXh0X3BhZ2VfdG9rZW4YASABKAkSEgoKdG90YWxfc2l6ZRgCIAEoDRIXCg9wcmV2X3BhZ2VfdG9rZW4YAyABKAkScwoLY29ubmVjdGlvbnMYBCADKAsyJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5MaXN0Q29ubmVjdGlvbkI1kkEyMjBMaXN0IG9mIGNvbm5lY3Rpb25zIG1hdGNoaW5nIHRoZSBmaWx0ZXIgY3JpdGVyaWEijgEKIlRvZ2dsZUVudmlyb25tZW50Q29ubmVjdGlvblJlcXVlc3QSaAoNY29ubmVjdGlvbl9pZBgCIAEoCUJRkkFFMitDb25uZWN0aW9uIElELiBVbmlxdWUgSUQgZm9yIHRoZSBjb25uZWN0aW9uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggIooCChdUb2dnbGVDb25uZWN0aW9uUmVxdWVzdBKCAQoPb3JnYW5pemF0aW9uX2lkGAEgASgJQmmSQV0yRFVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjb25uZWN0aW9uShUib3JnXzEyMTMxMjQzNDEyMzMxMiK6SAZyBBABGCASZAoCaWQYAyABKAlCWJJBTDIyVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBjb25uZWN0aW9uIHRvIGJlIHRvZ2dsZWRKFiJjb25uXzEyMTMxMjQzNDEyMzMxMiK6SAZyBBABGCBKBAgCEAMipQIKGFRvZ2dsZUNvbm5lY3Rpb25SZXNwb25zZRKgAQoHZW5hYmxlZBgBIAEoCEKOAZJBigEygQFDdXJyZW50IHN0YXRlIG9mIHRoZSBjb25uZWN0aW9uIGFmdGVyIHRoZSBvcGVyYXRpb24uIFRydWUgbWVhbnMgdGhlIGNvbm5lY3Rpb24gaXMgbm93IGVuYWJsZWQgYW5kIGNhbiBiZSB1c2VkIGZvciBhdXRoZW50aWNhdGlvbi5KBHRydWUSVAoNZXJyb3JfbWVzc2FnZRgCIAEoCUI4kkE1MiRFcnJvciBtZXNzYWdlIGlmIHRoZSBvcGVyYXRpb24gZmFpbHNKDSJwbGFjZWhvbGRlciJIAIgBAUIQCg5fZXJyb3JfbWVzc2FnZSKNEAoUT0lEQ0Nvbm5lY3Rpb25Db25maWcSYgoGaXNzdWVyGAEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjSSQTEyCklzc3VlciBVUkxKIyJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvb2F1dGgiEpcBChJkaXNjb3ZlcnlfZW5kcG9pbnQYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCXZJBWjISRGlzY292ZXJ5IEVuZHBvaW50SkQiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL29hdXRoLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIhJ2Cg1hdXRob3JpemVfdXJpGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkGSQT4yDUF1dGhvcml6ZSBVUklKLSJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvb2F1dGgvYXV0aG9yaXplIhJqCgl0b2tlbl91cmkYBCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCOZJBNjIJVG9rZW4gVVJJSikiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL29hdXRoL3Rva2VuIhJ1Cg11c2VyX2luZm9fdXJpGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkCSQT0yDVVzZXIgSW5mbyBVUklKLCJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvb2F1dGgvdXNlcmluZm8iEmcKCGp3a3NfdXJpGAYgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjeSQTQyCEpXS1MgVVJJSigiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL29hdXRoL2p3a3MiElIKCWNsaWVudF9pZBgIIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIhkkEeMglDbGllbnQgSURKESJvYXV0aF9jbGllbnRfaWQiEl4KDWNsaWVudF9zZWNyZXQYCSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCKZJBJjINQ2xpZW50IFNlY3JldEoVIm9hdXRoX2NsaWVudF9zZWNyZXQiElsKBnNjb3BlcxgKIAMoDjIiLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLk9JRENTY29wZUInkkEkMgtPSURDIFNjb3Blc0oVWyJvcGVuaWQiLCAicHJvZmlsZSJdEmMKD3Rva2VuX2F1dGhfdHlwZRgLIAEoDjImLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRva2VuQXV0aFR5cGVCIpJBHzIPVG9rZW4gQXV0aCBUeXBlSgwiVVJMX1BBUkFNUyISXQoMcmVkaXJlY3RfdXJpGAwgASgJQkeSQUQyDFJlZGlyZWN0IFVSSUo0Imh0dHBzOi8veW91cmFwcC5jb20vc3NvL3YxL29pZGMvY29ubl8xMjM0L2NhbGxiYWNrIhJJCgxwa2NlX2VuYWJsZWQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQheSQRQyDFBLQ0UgRW5hYmxlZEoEdHJ1ZRJVChNpZHBfbG9nb3V0X3JlcXVpcmVkGA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIckkEZMhFFbmFibGUgSURQIGxvZ291dEoEdHJ1ZRKdAQoYcG9zdF9sb2dvdXRfcmVkaXJlY3RfdXJpGA8gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQl2SQVcyGHBvc3QgbG9nb3V0IHJlZGlyZWN0IHVyaUo7Imh0dHBzOi8veW91cmFwcC5jb20vc3NvL3YxL29pZGMvY29ubl8xMjM0L2xvZ291dC9jYWxsYmFjayLgQQMSzAEKH2JhY2tjaGFubmVsX2xvZ291dF9yZWRpcmVjdF91cmkYECABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVChAGSQX4yPGJhY2tjaGFubmVsIGxvZ291dCByZWRpcmVjdCB1cmkgd2hlcmUgaWRwIHNlbmRzIGxvZ291dF90b2tlbko+Imh0dHBzOi8veW91cmFwcC5jb20vc3NvL3YxL29pZGMvY29ubl8xMjM0L2JhY2tjaGFubmVsLWxvZ291dCLgQQMSrgEKGnN5bmNfdXNlcl9wcm9maWxlX29uX2xvZ2luGBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJukkFrMmNJbmRpY2F0ZXMgd2hldGhlciB1c2VyIHByb2ZpbGVzIHNob3VsZCBiZSBzeW5jaHJvbml6ZWQgd2l0aCB0aGUgaWRlbnRpdHkgcHJvdmlkZXIgdXBvbiBlYWNoIGxvZy1pbi5KBHRydWUSmwEKIWppdF9wcm92aXNpb25pbmdfd2l0aF9zc29fZW5hYmxlZBgSIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCVJJBUTJJSW5kaWNhdGVzIGlmIEp1c3QgSW4gVGltZSB1c2VyIHByb3Zpc2lvbmluZyBpcyBlbmFibGVkIGZvciB0aGUgY29ubmVjdGlvbkoEdHJ1ZSKOCgoVT0F1dGhDb25uZWN0aW9uQ29uZmlnEnYKDWF1dGhvcml6ZV91cmkYAyABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCQZJBPjINQXV0aG9yaXplIFVSSUotImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9vYXV0aC9hdXRob3JpemUiEmoKCXRva2VuX3VyaRgEIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUI5kkE2MglUb2tlbiBVUklKKSJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvb2F1dGgvdG9rZW4iEnUKDXVzZXJfaW5mb191cmkYBSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCQJJBPTINVXNlciBJbmZvIFVSSUosImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9vYXV0aC91c2VyaW5mbyISUgoJY2xpZW50X2lkGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQiGSQR4yCUNsaWVudCBJREoRIm9hdXRoX2NsaWVudF9pZCISXgoNY2xpZW50X3NlY3JldBgJIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIpkkEmMg1DbGllbnQgU2VjcmV0ShUib2F1dGhfY2xpZW50X3NlY3JldCISNwoGc2NvcGVzGAogAygJQieSQSQyC09JREMgU2NvcGVzShVbIm9wZW5pZCIsICJwcm9maWxlIl0SVQoMcmVkaXJlY3RfdXJpGAwgASgJQj+SQTwyDFJlZGlyZWN0IFVSSUosImh0dHBzOi8veW91cmFwcC5jb20vc2VydmljZS9vYXV0aC9yZWRpcmVjdCISSQoMcGtjZV9lbmFibGVkGA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIXkkEUMgxQS0NFIEVuYWJsZWRKBHRydWUSTgoGcHJvbXB0GA4gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQiCSQR0yE1Byb21wdCBmb3IgdGhlIHVzZXJKBiJub25lIhJbChJ1c2VfcGxhdGZvcm1fY3JlZHMYDyABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQiOSQSAyGFVzZSBTY2FsZWtpdCBjcmVkZW50aWFsc0oEdHJ1ZRJOCgthY2Nlc3NfdHlwZRgQIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIbkkEYMgtBY2Nlc3MgVHlwZUoJIm9mZmxpbmUiEl0KEWN1c3RvbV9zY29wZV9uYW1lGBEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQiSSQSEyEUN1c3RvbSBTY29wZSBOYW1lSgwidXNlcl9zY29wZSISrgEKGnN5bmNfdXNlcl9wcm9maWxlX29uX2xvZ2luGBIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJukkFrMmNJbmRpY2F0ZXMgd2hldGhlciB1c2VyIHByb2ZpbGVzIHNob3VsZCBiZSBzeW5jaHJvbml6ZWQgd2l0aCB0aGUgaWRlbnRpdHkgcHJvdmlkZXIgdXBvbiBlYWNoIGxvZy1pbi5KBHRydWUi6QYKElBhc3N3b3JkTGVzc0NvbmZpZxJXCgR0eXBlGAEgASgOMikuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuUGFzc3dvcmRsZXNzVHlwZUIekkEbMhFQYXNzd29yZGxlc3MgVHlwZUoGIkxJTksiEkwKCWZyZXF1ZW5jeRgCIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50MzJWYWx1ZUIWkkETMg5MaW5rIEZyZXF1ZW5jeUoBMUgAiAEBElcKCHZhbGlkaXR5GAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQzMlZhbHVlQiKSQR8yGExpbmsgVmFsaWRpdHkgaW4gU2Vjb25kc0oDNjAwSAGIAQESbAobZW5mb3JjZV9zYW1lX2Jyb3dzZXJfb3JpZ2luGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUImkkEjMhtFbmZvcmNlIFNhbWUgQnJvd3NlciBPcmlnaW5KBHRydWVIAogBARJfChVjb2RlX2NoYWxsZW5nZV9sZW5ndGgYBSABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVCHZJBGjIVQ29kZSBDaGFsbGVuZ2UgTGVuZ3RoSgE2SAOIAQEScQoTY29kZV9jaGFsbGVuZ2VfdHlwZRgGIAEoDjIqLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvZGVDaGFsbGVuZ2VUeXBlQiOSQSAyE0NvZGUgQ2hhbGxlbmdlIFR5cGVKCSJOVU1FUklDIkgEiAEBEnIKLXJlZ2VuZXJhdGVfcGFzc3dvcmRsZXNzX2NyZWRlbnRpYWxzX29uX3Jlc2VuZBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCGpJBFzIPUmVnZW5lcmF0ZSB0aGUgSgR0cnVlSAWIAQFCDAoKX2ZyZXF1ZW5jeUILCglfdmFsaWRpdHlCHgocX2VuZm9yY2Vfc2FtZV9icm93c2VyX29yaWdpbkIYChZfY29kZV9jaGFsbGVuZ2VfbGVuZ3RoQhYKFF9jb2RlX2NoYWxsZW5nZV90eXBlQjAKLl9yZWdlbmVyYXRlX3Bhc3N3b3JkbGVzc19jcmVkZW50aWFsc19vbl9yZXNlbmQiQgoQU3RhdGljQXV0aENvbmZpZxIuCg1zdGF0aWNfY29uZmlnGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKHHwoUV2ViQXV0aENvbmZpZ3VyYXRpb24SPAoCcnAYASABKAsyMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5XZWJBdXRoQ29uZmlndXJhdGlvbi5ScBJOCgthdHRlc3RhdGlvbhgCIAEoCzI5LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLldlYkF1dGhDb25maWd1cmF0aW9uLkF0dGVzdGF0aW9uElQKDmF1dGhlbnRpY2F0b3JzGAMgASgLMjwuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuV2ViQXV0aENvbmZpZ3VyYXRpb24uQXV0aGVudGljYXRvcnMSZQoXYXV0aGVudGljYXRvcl9zZWxlY3Rpb24YBCABKAsyRC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5XZWJBdXRoQ29uZmlndXJhdGlvbi5BdXRoZW50aWNhdG9yU2VsZWN0aW9uEkYKB3RpbWVvdXQYBSABKAsyNS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5XZWJBdXRoQ29uZmlndXJhdGlvbi5UaW1lb3V0EkwKGGVuYWJsZV9hdXRvX3JlZ2lzdHJhdGlvbhgGIAEoCEIqkkEnMiVFbmFibGUgYXV0byByZWdpc3RyYXRpb24gZm9yIFdlYkF1dGhuEkUKE3Nob3dfcGFzc2tleV9idXR0b24YByABKAhCKJJBJTIjU2hvdyBwYXNza2V5IGJ1dHRvbiBvbiBsb2dpbiBzY3JlZW4STwoYZW5hYmxlX2NvbmRpdGlvbmFsX2xvZ2luGAggASgIQi2SQSoyKEFsbG93IGF1dG9maWxsIG9mIHBhc3NrZXlzIGluIGxvZ2luIHBhZ2UaOgoCUnASFwoDaWRzGAEgAygJQgq6SAeSAQQIARAKEhsKB29yaWdpbnMYAiADKAlCCrpIB5IBBAgBEAoalAEKC0F0dGVzdGF0aW9uEloKFWNvbnZleWFuY2VfcHJlZmVyZW5jZRgBIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIdukgachhSBG5vbmVSCGluZGlyZWN0UgZkaXJlY3QSKQoXZW50ZXJwcmlzZV9hcHByb3ZlZF9pZHMYAiADKAlCCLpIBZIBAhAyGs4SCg5BdXRoZW50aWNhdG9ycxLMAgoOdmFsaWRhdGVfZW50cnkYASABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQpcCkkGTAhoaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWUy9AFyZXF1aXJlcyB0aGF0IHRoZSBwcm92aWRlZCBtZXRhZGF0YSBoYXMgYW4gZW50cnkgZm9yIHRoZSBnaXZlbiBhdXRoZW50aWNhdG9yIHRvIGJlIGNvbnNpZGVyZWQgdmFsaWQuIEJ5IGRlZmF1bHQgYW4gQUFHVUlEIHdoaWNoIGhhcyBhIHplcm8gdmFsdWUgc2hvdWxkIGZhaWwgdmFsaWRhdGlvbiBpZiB2YWxpZGF0ZV9lbnRyeV9wZXJtaXRfemVyb19hYWd1aWQgaXMgbm90IHByb3ZpZGVkIHdpdGggdGhlIHZhbHVlIG9mIHRydWUuEvABCiF2YWxpZGF0ZV9lbnRyeV9wZXJtaXRfemVyb19hYWd1aWQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQqgBkkGkATKhAWlzIGFuIG9wdGlvbiB0aGF0IHBlcm1pdHMgYSB6ZXJvJ2QgQUFHVUlEIGZyb20gYW4gYXR0ZXN0YXRpb24gc3RhdGVtZW50IHRvIGF1dG9tYXRpY2FsbHkgcGFzcyBtZXRhZGF0YSB2YWxpZGF0aW9ucy4gR2VuZXJhbGx5IGhlbHBmdWwgdG8gdXNlIHdpdGggdmFsaWRhdGVfZW50cnkuErUBChB2YWxpZGF0ZV9hbmNob3JzGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJ/kkF8Mnp3aGVuIHNldCB0byB0cnVlIGVuYWJsZXMgdGhlIHZhbGlkYXRpb24gb2YgdGhlIGF0dGVzdGF0aW9uIHN0YXRlbWVudCBhZ2FpbnN0IHRoZSB0cnVzdCBhbmNob3IgZnJvbSB0aGUgbWV0YWRhdGEgc3RhdGVtZW50LhKuAQoPdmFsaWRhdGVfc3RhdHVzGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJ5kkF2MnR3aGVuIHNldCB0byB0cnVlIGVuYWJsZXMgdGhlIHZhbGlkYXRpb24gb2YgdGhlIGF0dGVzdGF0aW9uIHN0YXRlbWVudHMgQUFHVUlEIGFnYWluc3QgdGhlIGRlc2lyZWQgYW5kIHVuZGVzaXJlZCBsaXN0cxLIAQoZdmFsaWRhdGVfYXR0ZXN0YXRpb25fdHlwZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCiAGSQYQBMoEBd2hlbiBzZXQgdG8gdHJ1ZSBlbmFibGVzIHRoZSB2YWxpZGF0aW9uIG9mIHRoZSBhdHRlc3RhdGlvbiBzdGF0ZW1lbnRzIHR5cGUgYWdhaW5zdCB0aGUga25vd24gdHlwZXMgdGhlIGF1dGhlbnRpY2F0b3IgY2FuIHByb2R1Y2UuEp8EChxkZXNpcmVkX2F1dGhlbnRpY2F0b3Jfc3RhdHVzGAYgAygJQvgDkkGdATKWAXByb3ZpZGVzIHRoZSBsaXN0IG9mIHN0YXR1c2VzIHdoaWNoIGFyZSBjb25zaWRlcmVkIHVuZGVzaXJhYmxlIGZvciBzdGF0dXMgcmVwb3J0IHZhbGlkYXRpb24gcHVycG9zZXMuIFNob3VsZCBiZSB1c2VkIHdpdGggdmFsaWRhdGVfc3RhdHVzIHNldCB0byB0cnVlLjoCW126SNMCkgHPAhAKIsoCcscCUhJOT1RfRklET19DRVJUSUZJRURSDkZJRE9fQ0VSVElGSUVEUhhVU0VSX1ZFUklGSUNBVElPTl9CWVBBU1NSGkFUVEVTVEFUSU9OX0tFWV9DT01QUk9NSVNFUhpVU0VSX0tFWV9SRU1PVEVfQ09NUFJPTUlTRVIcVVNFUl9LRVlfUEhZU0lDQUxfQ09NUFJPTUlTRVIQVVBEQVRFX0FWQUlMQUJMRVIHUkVWT0tFRFIYU0VMRl9BU1NFUlRJT05fU1VCTUlUVEVEUhFGSURPX0NFUlRJRklFRF9MMVIVRklET19DRVJUSUZJRURfTDFwbHVzUhFGSURPX0NFUlRJRklFRF9MMlIVRklET19DRVJUSUZJRURfTDJwbHVzUhFGSURPX0NFUlRJRklFRF9MM1IVRklET19DRVJUSUZJRURfTDNwbHVzEqMFCh51bmRlc2lyZWRfYXV0aGVudGljYXRvcl9zdGF0dXMYByADKAlC+gSSQZ8CMpYBcHJvdmlkZXMgdGhlIGxpc3Qgb2Ygc3RhdHVzZXMgd2hpY2ggYXJlIGNvbnNpZGVyZWQgdW5kZXNpcmFibGUgZm9yIHN0YXR1cyByZXBvcnQgdmFsaWRhdGlvbiBwdXJwb3Nlcy4gU2hvdWxkIGJlIHVzZWQgd2l0aCB2YWxpZGF0ZV9zdGF0dXMgc2V0IHRvIHRydWUuOoMBWydBVFRFU1RBVElPTl9LRVlfQ09NUFJPTUlTRScsICdVU0VSX1ZFUklGSUNBVElPTl9CWVBBU1MnLCAnVVNFUl9LRVlfUkVNT1RFX0NPTVBST01JU0UnLCAnVVNFUl9LRVlfUEhZU0lDQUxfQ09NUFJPTUlTRScsICdSRVZPS0VEJ126SNMCkgHPAhAKIsoCcscCUhJOT1RfRklET19DRVJUSUZJRURSDkZJRE9fQ0VSVElGSUVEUhhVU0VSX1ZFUklGSUNBVElPTl9CWVBBU1NSGkFUVEVTVEFUSU9OX0tFWV9DT01QUk9NSVNFUhpVU0VSX0tFWV9SRU1PVEVfQ09NUFJPTUlTRVIcVVNFUl9LRVlfUEhZU0lDQUxfQ09NUFJPTUlTRVIQVVBEQVRFX0FWQUlMQUJMRVIHUkVWT0tFRFIYU0VMRl9BU1NFUlRJT05fU1VCTUlUVEVEUhFGSURPX0NFUlRJRklFRF9MMVIVRklET19DRVJUSUZJRURfTDFwbHVzUhFGSURPX0NFUlRJRklFRF9MMlIVRklET19DRVJUSUZJRURfTDJwbHVzUhFGSURPX0NFUlRJRklFRF9MM1IVRklET19DRVJUSUZJRURfTDNwbHVzGtsBChZBdXRoZW50aWNhdG9yU2VsZWN0aW9uEmAKEXVzZXJfdmVyaWZpY2F0aW9uGAEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQie6SCRyIlIIcmVxdWlyZWRSCXByZWZlcnJlZFILZGlzY291cmFnZWQSXwoYYXV0aGVudGljYXRvcl9hdHRhY2htZW50GAIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQh+6SBxyGlIIcGxhdGZvcm1SDmNyb3NzLXBsYXRmb3JtGvMDCgdUaW1lb3V0EmoKDHJlZ2lzdHJhdGlvbhgBIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkI5kkEnMh1SZWdpc3RyYXRpb24gdGltZW91dCBkdXJhdGlvbjoGIjMwMHMiukgMqgEJIgMIiA4yAgh4EpQBChByZWdpc3RyYXRpb25fdXZkGAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQl+SQU0yQ1JlZ2lzdHJhdGlvbiB0aW1lb3V0IGR1cmF0aW9uIHdoZW4gdXNlciB2ZXJpZmljYXRpb24gaXMgZGlzY291cmFnZWQ6BiIzMDBzIrpIDKoBCSIDCIgOMgIIeBJcCgVsb2dpbhgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkIykkEgMhZMb2dpbiB0aW1lb3V0IGR1cmF0aW9uOgYiMzAwcyK6SAyqAQkiAwiIDjICCHgShgEKCWxvZ2luX3V2ZBgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJYkkFGMjxMb2dpbiB0aW1lb3V0IGR1cmF0aW9uIHdoZW4gdXNlciB2ZXJpZmljYXRpb24gaXMgZGlzY291cmFnZWQ6BiIzMDBzIrpIDKoBCSIDCIgOMgIIeCKPEwobU0FNTENvbm5lY3Rpb25Db25maWdSZXF1ZXN0EnoKEGlkcF9tZXRhZGF0YV91cmwYASABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCQpJBPzIQSURQIE1ldGFkYXRhIFVSTEorImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9zYW1sL21ldGFkYXRhIhJrCg1pZHBfZW50aXR5X2lkGAIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjaSQTMyDUlEUCBFbnRpdHkgSURKIiJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbCISawoLaWRwX3Nzb191cmwYAyABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCOJJBNTILSURQIFNTTyBVUkxKJiJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbC9zc28iEksKD2lkcF9jZXJ0aWZpY2F0ZRgEIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIUkkERMg9JRFAgQ2VydGlmaWNhdGUSawoLaWRwX3Nsb191cmwYBSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCOJJBNTILSURQIFNMTyBVUkxKJiJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbC9zbG8iEl0KD3VpX2J1dHRvbl90aXRsZRgGIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUImkkEjMg9VSSBCdXR0b24gVGl0bGVKECJMb2dpbiB3aXRoIFNTTyISYwoSaWRwX25hbWVfaWRfZm9ybWF0GAcgASgOMiUuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTmFtZUlkRm9ybWF0QiCSQR0yEklEUCBOYW1lIElEIEZvcm1hdEoHIkVNQUlMIhJzChdpZHBfc3NvX3JlcXVlc3RfYmluZGluZxgIIAEoDjInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlJlcXVlc3RCaW5kaW5nQimSQSYyF0lEUCBTU08gUmVxdWVzdCBCaW5kaW5nSgsiSFRUUF9QT1NUIhJ3ChdpZHBfc2xvX3JlcXVlc3RfYmluZGluZxgJIAEoDjInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlJlcXVlc3RCaW5kaW5nQi2SQSoyF0lEUCBTTE8gUmVxdWVzdCBCaW5kaW5nSg8iSFRUUF9SRURJUkVDVCISgAEKE3NhbWxfc2lnbmluZ19vcHRpb24YCiABKA4yKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5TQU1MU2lnbmluZ09wdGlvbnNCNpJBMzITU0FNTCBTaWduaW5nIE9wdGlvbkocIlNBTUxfT05MWV9SRVNQT05TRV9TSUdOSU5HIhJHCgtmb3JjZV9hdXRobhgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCFpJBEzILRm9yY2UgQXV0aG5KBHRydWUSggEKFGRlZmF1bHRfcmVkaXJlY3RfdXJpGA8gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkaSQUMyFERlZmF1bHQgUmVkaXJlY3QgVVJJSisiaHR0cHM6Ly95b3VyYXBwLmNvbS9zZXJ2aWNlL3NhbWwvcmVkaXJlY3QiElcKE2Fzc2VydGlvbl9lbmNyeXB0ZWQYECABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQh6SQRsyE0Fzc2VydGlvbiBFbmNyeXB0ZWRKBHRydWUSVwoTd2FudF9yZXF1ZXN0X3NpZ25lZBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCHpJBGzITV2FudCBSZXF1ZXN0IFNpZ25lZEoEdHJ1ZRJiCg5jZXJ0aWZpY2F0ZV9pZBgSIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIskkEpMg5DZXJ0aWZpY2F0ZSBJREoXImNlcl8zNTU4NTQyMzE2NjE0NDYxMyISUgoQaWRwX3Nsb19yZXF1aXJlZBgTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCHJJBGTIRRW5hYmxlIElEUCBsb2dvdXRKBHRydWUShAEKDHNwX2VudGl0eV9pZBgUIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUJQkkFNMhpTZXJ2aWNlIFByb3ZpZGVyIEVudGl0eSBJREovImh0dHBzOi8vZW52LnNjYWxla2l0LmNvbS9zc28vdjEvc2FtbC9jb25uXzEyMyISjwEKEHNwX2Fzc2VydGlvbl91cmwYFSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCV5JBVDIYU2VydmljZSBQcm92aWRlciBTU08gVVJMSjgiaHR0cHM6Ly9lbnYuc2NhbGVraXQuY29tL3Nzby92MS9zYW1sL2Nvbm5fMTIzL2NhbGxiYWNrIhKEAQoKc3Bfc2xvX3VybBgWIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUJSkkFPMhhTZXJ2aWNlIFByb3ZpZGVyIFNMTyBVUkxKMyJodHRwczovL2Vudi5zY2FsZWtpdC5jb20vc3NvL3YxL3NhbWwvY29ubl8xMjMvc2xvIhKuAQoac3luY191c2VyX3Byb2ZpbGVfb25fbG9naW4YFyABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQm6SQWsyY0luZGljYXRlcyB3aGV0aGVyIHVzZXIgcHJvZmlsZXMgc2hvdWxkIGJlIHN5bmNocm9uaXplZCB3aXRoIHRoZSBpZGVudGl0eSBwcm92aWRlciB1cG9uIGVhY2ggbG9nLWluLkoEdHJ1ZRKbAQohaml0X3Byb3Zpc2lvbmluZ193aXRoX3Nzb19lbmFibGVkGBggASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJUkkFRMklJbmRpY2F0ZXMgaWYgSnVzdCBJbiBUaW1lIHVzZXIgcHJvdmlzaW9uaW5nIGlzIGVuYWJsZWQgZm9yIHRoZSBjb25uZWN0aW9uSgR0cnVlSgQICxAMIu8TChxTQU1MQ29ubmVjdGlvbkNvbmZpZ1Jlc3BvbnNlEksKDHNwX2VudGl0eV9pZBgBIAEoCUI1kkEyMgxTUCBFbnRpdHkgSURKIiJodHRwczovL3lvdXJhcHAuY29tL3NlcnZpY2Uvc2FtbCISXQoQc3BfYXNzZXJ0aW9uX3VybBgCIAEoCUJDkkFAMhBTUCBBc3NlcnRpb24gVVJMSiwiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL3NhbWwvYXNzZXJ0aW9uIhJaCg9zcF9tZXRhZGF0YV91cmwYAyABKAlCQZJBPjIPU1AgTWV0YWRhdGEgVVJMSisiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL3NhbWwvbWV0YWRhdGEiEnoKEGlkcF9tZXRhZGF0YV91cmwYBCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCQpJBPzIQSURQIE1ldGFkYXRhIFVSTEorImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9zYW1sL21ldGFkYXRhIhJrCg1pZHBfZW50aXR5X2lkGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjaSQTMyDUlEUCBFbnRpdHkgSURKIiJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbCISawoLaWRwX3Nzb191cmwYBiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCOJJBNTILSURQIFNTTyBVUkxKJiJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbC9zc28iElgKEGlkcF9jZXJ0aWZpY2F0ZXMYByADKAsyJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5JRFBDZXJ0aWZpY2F0ZUIVkkESMhBJRFAgQ2VydGlmaWNhdGVzEmsKC2lkcF9zbG9fdXJsGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjiSQTUyC0lEUCBTTE8gVVJMSiYiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL3NhbWwvc2xvIhJdCg91aV9idXR0b25fdGl0bGUYCSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCJpJBIzIPVUkgQnV0dG9uIFRpdGxlShAiTG9naW4gd2l0aCBTU08iEmMKEmlkcF9uYW1lX2lkX2Zvcm1hdBgKIAEoDjIlLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLk5hbWVJZEZvcm1hdEIgkkEdMhJJRFAgTmFtZSBJRCBGb3JtYXRKByJFTUFJTCIScwoXaWRwX3Nzb19yZXF1ZXN0X2JpbmRpbmcYCyABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5SZXF1ZXN0QmluZGluZ0IpkkEmMhdJRFAgU1NPIFJlcXVlc3QgQmluZGluZ0oLIkhUVFBfUE9TVCIScwoXaWRwX3Nsb19yZXF1ZXN0X2JpbmRpbmcYDCABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5SZXF1ZXN0QmluZGluZ0IpkkEmMhdJRFAgU0xPIFJlcXVlc3QgQmluZGluZ0oLIkhUVFBfUE9TVCISgAEKE3NhbWxfc2lnbmluZ19vcHRpb24YDSABKA4yKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5TQU1MU2lnbmluZ09wdGlvbnNCNpJBMzITU0FNTCBTaWduaW5nIE9wdGlvbkocIlNBTUxfT05MWV9SRVNQT05TRV9TSUdOSU5HIhJjChlhbGxvd19pZHBfaW5pdGlhdGVkX2xvZ2luGA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIkkkEhMhlBbGxvdyBJRFAgSW5pdGlhdGVkIExvZ2luSgR0cnVlEkcKC2ZvcmNlX2F1dGhuGA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIWkkETMgtGb3JjZSBBdXRobkoEdHJ1ZRKCAQoUZGVmYXVsdF9yZWRpcmVjdF91cmkYECABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCRpJBQzIURGVmYXVsdCBSZWRpcmVjdCBVUklKKyJodHRwczovL3lvdXJhcHAuY29tL3NlcnZpY2Uvc2FtbC9yZWRpcmVjdCISVwoTYXNzZXJ0aW9uX2VuY3J5cHRlZBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCHpJBGzITQXNzZXJ0aW9uIEVuY3J5cHRlZEoEdHJ1ZRJXChN3YW50X3JlcXVlc3Rfc2lnbmVkGBIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIekkEbMhNXYW50IFJlcXVlc3QgU2lnbmVkSgR0cnVlEmIKDmNlcnRpZmljYXRlX2lkGBMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQiySQSkyDkNlcnRpZmljYXRlIElEShciY2VyXzM1NTg1NDIzMTY2MTQ0NjEzIhJSChBpZHBfc2xvX3JlcXVpcmVkGBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIckkEZMhFFbmFibGUgSURQIGxvZ291dEoEdHJ1ZRKMAQoKc3Bfc2xvX3VybBgVIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUJakkFUMhhTZXJ2aWNlIFByb3ZpZGVyIFNMTyB1cmxKOCJodHRwczovL3lvdXJhcHAuY29tL3Nzby92MS9zYW1sL2Nvbm5fMTIzNC9zbG8vY2FsbGJhY2si4EEDEq4BChpzeW5jX3VzZXJfcHJvZmlsZV9vbl9sb2dpbhgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCbpJBazJjSW5kaWNhdGVzIHdoZXRoZXIgdXNlciBwcm9maWxlcyBzaG91bGQgYmUgc3luY2hyb25pemVkIHdpdGggdGhlIGlkZW50aXR5IHByb3ZpZGVyIHVwb24gZWFjaCBsb2ctaW4uSgR0cnVlEpsBCiFqaXRfcHJvdmlzaW9uaW5nX3dpdGhfc3NvX2VuYWJsZWQYFyABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQlSSQVEySUluZGljYXRlcyBpZiBKdXN0IEluIFRpbWUgdXNlciBwcm92aXNpb25pbmcgaXMgZW5hYmxlZCBmb3IgdGhlIGNvbm5lY3Rpb25KBHRydWUijgMKDklEUENlcnRpZmljYXRlEikKC2NlcnRpZmljYXRlGAEgASgJQhSSQREyD0lEUCBDZXJ0aWZpY2F0ZRJnCgtjcmVhdGVfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCNpJBMzIZQ2VydGlmaWNhdGUgQ3JlYXRpb24gVGltZUoWIjIwMjEtMDktMDFUMDA6MDA6MDBaIhJlCgtleHBpcnlfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCNJJBMTIXQ2VydGlmaWNhdGUgRXhwaXJ5IFRpbWVKFiIyMDIxLTA5LTAxVDAwOjAwOjAwWiISNAoCaWQYBCABKAlCKJJBJTIOQ2VydGlmaWNhdGUgSURKEyJjZXJ0XzEyMzEyMzEyMzEyMyISSwoGaXNzdWVyGAUgASgJQjuSQTgyEkNlcnRpZmljYXRlIElzc3VlckoiImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9zYW1sIiJYChZHZXRPSURDTWV0YWRhdGFSZXF1ZXN0Ej4KCG1ldGFkYXRhGAEgASgLMiwuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuT0lEQ01ldGFkYXRhUmVxdWVzdCIxChNPSURDTWV0YWRhdGFSZXF1ZXN0EhoKBmlzc3VlchgBIAEoCUIKukgHcgUQARjIASKOAQoXR2V0T0lEQ01ldGFkYXRhUmVzcG9uc2USDgoGaXNzdWVyGAEgASgJEh4KFmF1dGhvcml6YXRpb25fZW5kcG9pbnQYAiABKAkSFgoOdG9rZW5fZW5kcG9pbnQYAyABKAkSGQoRdXNlcmluZm9fZW5kcG9pbnQYBCABKAkSEAoIandrc191cmkYBSABKAkiWAoWR2V0U0FNTE1ldGFkYXRhUmVxdWVzdBI+CghtZXRhZGF0YRgBIAEoCzIsLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNBTUxNZXRhZGF0YVJlcXVlc3QiNwoTU0FNTE1ldGFkYXRhUmVxdWVzdBIgCgxtZXRhZGF0YV91cmwYASABKAlCCrpIB3IFEAEYyAEiyQEKF0dldFNBTUxNZXRhZGF0YVJlc3BvbnNlEhUKDWlkcF9lbnRpdHlfaWQYASABKAkSEwoLaWRwX3Nzb191cmwYAiABKAkSEwoLaWRwX3Nsb191cmwYAyABKAkSGAoQaWRwX2NlcnRpZmljYXRlcxgEIAMoCRIaChJpZHBfbmFtZV9pZF9mb3JtYXQYBSABKAkSFwoPcmVxdWVzdF9iaW5kaW5nGAYgASgJEh4KFndhbnRfYXNzZXJ0aW9uc19zaWduZWQYByABKAgiaAogR2V0U0FNTENlcnRpZmljYXRlRGV0YWlsc1JlcXVlc3QSRAoLY2VydGlmaWNhdGUYASABKAsyLy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5TQU1MQ2VydGlmaWNhdGVSZXF1ZXN0Ii8KFlNBTUxDZXJ0aWZpY2F0ZVJlcXVlc3QSFQoEdGV4dBgBIAEoCUIHukgEcgIQASJ5CiFHZXRTQU1MQ2VydGlmaWNhdGVEZXRhaWxzUmVzcG9uc2USDAoEdGV4dBgBIAEoCRIRCglub3RfYWZ0ZXIYAiABKAMSEgoKbm90X2JlZm9yZRgDIAEoAxIPCgdzdWJqZWN0GAQgASgJEg4KBmlzc3VlchgFIAEoCSJpCh5HZXRDb25uZWN0aW9uVGVzdFJlc3VsdFJlcXVlc3QSHgoNY29ubmVjdGlvbl9pZBgBIAEoCUIHukgEcgIQARInCg90ZXN0X3JlcXVlc3RfaWQYAiABKAlCDrpIC3IJEAE6BXRlc3RfIoQCCh9HZXRDb25uZWN0aW9uVGVzdFJlc3VsdFJlc3BvbnNlEjkKBnN0YXR1cxgBIAEoDjIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRlc3RSZXN1bHRTdGF0dXMSFgoJdXNlcl9pbmZvGAIgASgJSACIAQESEgoFZXJyb3IYAyABKAlIAYgBARIeChFlcnJvcl9kZXNjcmlwdGlvbhgEIAEoCUgCiAEBEhoKDWVycm9yX2RldGFpbHMYBSABKAlIA4gBAUIMCgpfdXNlcl9pbmZvQggKBl9lcnJvckIUChJfZXJyb3JfZGVzY3JpcHRpb25CEAoOX2Vycm9yX2RldGFpbHMiGgoYUGFzc3dvcmRDb25uZWN0aW9uQ29uZmlnIikKBUZsYWdzEhAKCGlzX2xvZ2luGAEgASgIEg4KBmlzX2FwcBgCIAEoCCKKAwoZTGlzdEFwcENvbm5lY3Rpb25zUmVxdWVzdBJ2CglwYWdlX3NpemUYASABKA1CY5JBWTJTTWF4aW11bSBudW1iZXIgb2Ygb3JnYW5pemF0aW9ucyB0byByZXR1cm4gcGVyIHBhZ2UuIFZhbHVlIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAzMC5KAjMwukgEKgIYHhKaAQoKcGFnZV90b2tlbhgCIAEoCUKFAZJBgQEyYVRva2VuIGZyb20gYSBwcmV2aW91cyByZXNwb25zZSBmb3IgcGFnaW5hdGlvbi4gUHJvdmlkZSB0aGlzIHRvIHJldHJpZXZlIHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0cy5KHGV5SndZV2RsSWpveUxDSnNhVzFwZENJNk16QjkSSwoIcHJvdmlkZXIYAyABKAlCNJJBKDIeRmlsdGVyIGNvbm5lY3Rpb25zIGJ5IHByb3ZpZGVySgYiT0tUQSK6SAZyBBABGDJIAIgBAUILCglfcHJvdmlkZXIiswMKGkxpc3RBcHBDb25uZWN0aW9uc1Jlc3BvbnNlEnQKC2Nvbm5lY3Rpb25zGAEgAygLMicuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdENvbm5lY3Rpb25CNpJBMzIxTGlzdCBvZiBjb25uZWN0aW9ucyBtYXRjaGluZyB0aGUgcmVxdWVzdCBjcml0ZXJpYRJgCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAlCR5JBRDIiVG9rZW4gZm9yIHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0c0oeImV5SndZV2RsSWpveUxDSnNhVzFwZENJNk16QjkiEmQKD3ByZXZfcGFnZV90b2tlbhgDIAEoCUJLkkFIMiZUb2tlbiBmb3IgdGhlIHByZXZpb3VzIHBhZ2Ugb2YgcmVzdWx0c0oeImV5SndZV2RsSWpveUxDSnNhVzFwZENJNk16QjkiElcKCnRvdGFsX3NpemUYBCABKA1CQ5JBQDI5VG90YWwgbnVtYmVyIG9mIGNvbm5lY3Rpb25zIG1hdGNoaW5nIHRoZSByZXF1ZXN0IGNyaXRlcmlhSgMxMDAqVwoRQ29kZUNoYWxsZW5nZVR5cGUSIwofQ09ERV9DSEFMTEVOR0VfVFlQRV9VTlNQRUNJRklFRBAAEgsKB05VTUVSSUMQARIQCgxBTFBIQU5VTUVSSUMQAipSChFDb25maWd1cmF0aW9uVHlwZRIiCh5DT05GSUdVUkFUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABINCglESVNDT1ZFUlkQARIKCgZNQU5VQUwQAiphCgxOYW1lSWRGb3JtYXQSFgoSTkFNRV9JRF9GT1JNQVRfTklMEAASDwoLVU5TUEVDSUZJRUQQARIJCgVFTUFJTBACEg0KCVRSQU5TSUVOVBADEg4KClBFUlNJU1RFTlQQBCpVChBQYXNzd29yZGxlc3NUeXBlEiAKHFBhc3N3b3JkbGVzc1R5cGVfVU5TUEVDSUZJRUQQABIICgRMSU5LEAESBwoDT1RQEAISDAoITElOS19PVFAQAyo5ChBUZXN0UmVzdWx0U3RhdHVzEgsKB1BFTkRJTkcQABILCgdTVUNDRVNTEAESCwoHRkFJTFVSRRACKtgBChJTQU1MU2lnbmluZ09wdGlvbnMSJAogU0FNTF9TSUdOSU5HX09QVElPTlNfVU5TUEVDSUZJRUQQABIOCgpOT19TSUdOSU5HEAESHgoaU0FNTF9PTkxZX1JFU1BPTlNFX1NJR05JTkcQAhIfChtTQU1MX09OTFlfQVNTRVJUSU9OX1NJR05JTkcQAxIjCh9TQU1MX1JFU1BPTlNFX0FTU0VSVElPTl9TSUdOSU5HEAQSJgoiU0FNTF9SRVNQT05TRV9PUl9BU1NFUlRJT05fU0lHTklORxAFKlMKDlJlcXVlc3RCaW5kaW5nEh8KG1JFUVVFU1RfQklORElOR19VTlNQRUNJRklFRBAAEg0KCUhUVFBfUE9TVBABEhEKDUhUVFBfUkVESVJFQ1QQAipQCg1Ub2tlbkF1dGhUeXBlEh8KG1RPS0VOX0FVVEhfVFlQRV9VTlNQRUNJRklFRBAAEg4KClVSTF9QQVJBTVMQARIOCgpCQVNJQ19BVVRIEAIqYwoJT0lEQ1Njb3BlEhoKFk9JRENfU0NPUEVfVU5TUEVDSUZJRUQQABIKCgZvcGVuaWQQARILCgdwcm9maWxlEAISCQoFZW1haWwQAxILCgdhZGRyZXNzEAQSCQoFcGhvbmUQBSqOAQoOQ29ubmVjdGlvblR5cGUSCwoHSU5WQUxJRBAAEggKBE9JREMQARIICgRTQU1MEAISDAoIUEFTU1dPUkQQAxIJCgVPQVVUSBAEEhAKDFBBU1NXT1JETEVTUxAFEgkKBUJBU0lDEAYSCgoGQkVBUkVSEAcSCwoHQVBJX0tFWRAIEgwKCFdFQkFVVEhOEAkqYAoQQ29ubmVjdGlvblN0YXR1cxIhCh1DT05ORUNUSU9OX1NUQVRVU19VTlNQRUNJRklFRBAAEgkKBURSQUZUEAESDwoLSU5fUFJPR1JFU1MQAhINCglDT01QTEVURUQQAyqYAgoSQ29ubmVjdGlvblByb3ZpZGVyEiMKH0NPTk5FQ1RJT05fUFJPVklERVJfVU5TUEVDSUZJRUQQABIICgRPS1RBEAESCgoGR09PR0xFEAISEAoMTUlDUk9TT0ZUX0FEEAMSCQoFQVVUSDAQBBIMCghPTkVMT0dJThAFEhEKDVBJTkdfSURFTlRJVFkQBhINCglKVU1QQ0xPVUQQBxIKCgZDVVNUT00QCBIKCgZHSVRIVUIQCRIKCgZHSVRMQUIQChIMCghMSU5LRURJThALEg4KClNBTEVTRk9SQ0UQDBINCglNSUNST1NPRlQQDRIRCg1JRFBfU0lNVUxBVE9SEA4SDAoIU0NBTEVLSVQQDxIICgRBREZTEBAyjz0KEUNvbm5lY3Rpb25TZXJ2aWNlEpEDChtDcmVhdGVFbnZpcm9ubWVudENvbm5lY3Rpb24SOy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0GjEuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ3JlYXRlQ29ubmVjdGlvblJlc3BvbnNlIoECkkHBAQoLQ29ubmVjdGlvbnMSF0NyZWF0ZSBhIG5ldyBjb25uZWN0aW9uGjhFc3RhYmxpc2ggYSBuZXcgY29ubmVjdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBlbnZpcm9ubWVudEpfCgMyMDESWAofQ29ubmVjdGlvbiBjcmVhdGVkIHN1Y2Nlc3NmdWxseRI1CjMaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uUmVzcG9uc2WCtRgCGET60uSTAgkSB1BSRVZJRVeC0+STAiE6CmNvbm5lY3Rpb24iEy9hcGkvdjEvY29ubmVjdGlvbnMSoAMKEENyZWF0ZUNvbm5lY3Rpb24SMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uUmVxdWVzdBoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNyZWF0ZUNvbm5lY3Rpb25SZXNwb25zZSKmApJBxgEKC0Nvbm5lY3Rpb25zEhdDcmVhdGUgYSBuZXcgY29ubmVjdGlvbho9RXN0YWJsaXNoIGEgbmV3IFNTTyBjb25uZWN0aW9uIGZvciB0aGUgc3BlY2lmaWVkIG9yZ2FuaXphdGlvbkpfCgMyMDESWAofQ29ubmVjdGlvbiBjcmVhdGVkIHN1Y2Nlc3NmdWxseRI1CjMaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uUmVzcG9uc2WCtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAkE6CmNvbm5lY3Rpb24iMy9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9jb25uZWN0aW9ucxK6BAoZQXNzaWduRG9tYWluc1RvQ29ubmVjdGlvbhI5LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkFzc2lnbkRvbWFpbnNUb0Nvbm5lY3Rpb25SZXF1ZXN0Gjouc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQXNzaWduRG9tYWluc1RvQ29ubmVjdGlvblJlc3BvbnNlIqUDkkG2AgoLQ29ubmVjdGlvbnMSHkFzc2lnbiBkb21haW5zIHRvIGEgY29ubmVjdGlvbhqeAUFzc2lnbnMgb25lIG9yIG1vcmUgZG9tYWlucyB0byBhIHNwZWNpZmljIGNvbm5lY3Rpb24gd2l0aGluIGFuIG9yZ2FuaXphdGlvbi4gVGhpcyBhbGxvd3MgdGhlIGNvbm5lY3Rpb24gdG8gYmUgdXNlZCBmb3IgYXV0aGVudGljYXRpb24gb24gdGhlIHNwZWNpZmllZCBkb21haW5zSmYKAzIwMBJfCh1Eb21haW5zIGFzc2lnbmVkIHN1Y2Nlc3NmdWxseRI+CjwaOi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Bc3NpZ25Eb21haW5zVG9Db25uZWN0aW9uUmVzcG9uc2WCtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAlA6ASoaSy9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH0vZG9tYWlucxKyAwoYR2V0RW52aXJvbm1lbnRDb25uZWN0aW9uEjguc2NhbGVraXQudjEuY29ubmVjdGlvbnMuR2V0RW52aXJvbm1lbnRDb25uZWN0aW9uUmVxdWVzdBouLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkdldENvbm5lY3Rpb25SZXNwb25zZSKrApJB5wEKC0Nvbm5lY3Rpb25zEhtSZXRyaWV2ZSBjb25uZWN0aW9uIGRldGFpbHMaU09idGFpbiBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIGNvbm5lY3Rpb24gdXNpbmcgaXRzIHVuaXF1ZSBpZGVudGlmaWVySmYKAzIwMBJfCilTdWNjZXNzZnVsbHkgcmV0cmlldmVkIGNvbm5lY3Rpb24gZGV0YWlscxIyCjAaLi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5HZXRDb25uZWN0aW9uUmVzcG9uc2WCtRgCGET60uSTAgkSB1BSRVZJRVeC0+STAiUSIy9hcGkvdjEvY29ubmVjdGlvbnMve2Nvbm5lY3Rpb25faWR9ErwECg1HZXRDb25uZWN0aW9uEi0uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuR2V0Q29ubmVjdGlvblJlcXVlc3QaLi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5HZXRDb25uZWN0aW9uUmVzcG9uc2UiywOSQYEDCgtDb25uZWN0aW9ucxIWR2V0IGNvbm5lY3Rpb24gZGV0YWlscxrRAVJldHJpZXZlcyB0aGUgY29tcGxldGUgY29uZmlndXJhdGlvbiBhbmQgc3RhdHVzIGRldGFpbHMgZm9yIGEgc3BlY2lmaWMgY29ubmVjdGlvbiBieSBpdHMgSUQgd2l0aGluIGFuIG9yZ2FuaXphdGlvbi4gUmV0dXJucyBhbGwgY29ubmVjdGlvbiBwcm9wZXJ0aWVzIGluY2x1ZGluZyBwcm92aWRlciBzZXR0aW5ncywgcHJvdG9jb2xzLCBhbmQgY3VycmVudCBzdGF0dXMuSoUBCgMyMDASfgpIU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBjb25uZWN0aW9uIGRldGFpbHMgZm9yIHRoZSBzcGVjaWZpZWQgb3JnYW5pemF0aW9uEjIKMBouLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkdldENvbm5lY3Rpb25SZXNwb25zZYK1GAIYZILT5JMCOhI4L2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2Nvbm5lY3Rpb25zL3tpZH0S0gIKD0xpc3RDb25uZWN0aW9ucxIvLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkxpc3RDb25uZWN0aW9uc1JlcXVlc3QaMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5MaXN0Q29ubmVjdGlvbnNSZXNwb25zZSLbAZJBtgEKC0Nvbm5lY3Rpb25zEhBMaXN0IGNvbm5lY3Rpb25zGjJSZXRyaWV2ZXMgYSBsaXN0IG9mIGNvbm5lY3Rpb25zIGluIHRoZSBlbnZpcm9ubWVudEphCgMyMDASWgoiU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBjb25uZWN0aW9ucxI0CjIaMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5MaXN0Q29ubmVjdGlvbnNSZXNwb25zZYK1GAIYZILT5JMCFRITL2FwaS92MS9jb25uZWN0aW9ucxK1AwobTGlzdE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zEjsuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVxdWVzdBo8LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkxpc3RPcmdhbml6YXRpb25Db25uZWN0aW9uc1Jlc3BvbnNlIpoCkkHWAQoLQ29ubmVjdGlvbnMSHUxpc3Qgb3JnYW5pemF0aW9uIGNvbm5lY3Rpb25zGjlSZXRyaWV2ZXMgYSBsaXN0IG9mIGNvbm5lY3Rpb25zIGZvciBhbGwgdGhlIG9yZ2FuaXphdGlvbnNKbQoDMjAwEmYKIlN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgY29ubmVjdGlvbnMSQAo+Gjwuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVzcG9uc2WCtRgCGET60uSTAgkSB1BSRVZJRVeC0+STAiUSIy9hcGkvdjEvb3JnYW5pemF0aW9ucy8tL2Nvbm5lY3Rpb25zEs0DCh1TZWFyY2hPcmdhbml6YXRpb25Db25uZWN0aW9ucxI9LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNlYXJjaE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVxdWVzdBo+LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNlYXJjaE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVzcG9uc2UirAKSQeEBCgtDb25uZWN0aW9ucxIfU2VhcmNoIG9yZ2FuaXphdGlvbiBjb25uZWN0aW9ucxpEU2VhcmNoIHdpdGggcXVlcnkgb3IgZmlsdGVycyBwcm92aWRlZCBhbmQgcmV0dXJuIGxpc3Qgb2YgY29ubmVjdGlvbnNKawoDMjAwEmQKHlN1Y2Nlc3NmdWxseSBmb3VuZCBjb25uZWN0aW9ucxJCCkAaPi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5TZWFyY2hPcmdhbml6YXRpb25Db25uZWN0aW9uc1Jlc3BvbnNlgrUYAhhE+tLkkwIJEgdQUkVWSUVXgtPkkwIsEiovYXBpL3YxL29yZ2FuaXphdGlvbnMvLS9jb25uZWN0aW9uczpzZWFyY2gS8QIKG1VwZGF0ZUVudmlyb25tZW50Q29ubmVjdGlvbhI7LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUVudmlyb25tZW50Q29ubmVjdGlvblJlcXVlc3QaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5VcGRhdGVDb25uZWN0aW9uUmVzcG9uc2Ui4QGSQZEBCgtDb25uZWN0aW9ucxITVXBkYXRlIGEgY29ubmVjdGlvbhoXVXBkYXRlIGEgU1NPIENvbm5lY3Rpb25KVAoDMjAwEk0KFFVwZGF0ZWQgU3VjY2Vzc2Z1bGx5EjUKMxoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25SZXNwb25zZYK1GAIYRPrS5JMCCRIHUFJFVklFV4LT5JMCMToKY29ubmVjdGlvbjIjL2FwaS92MS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH0SgQMKEFVwZGF0ZUNvbm5lY3Rpb24SMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5VcGRhdGVDb25uZWN0aW9uUmVxdWVzdBoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25SZXNwb25zZSKHApJBogEKC0Nvbm5lY3Rpb25zEiRVcGRhdGUgYSBjb25uZWN0aW9uIGZvciBvcmdhbml6YXRpb24aF1VwZGF0ZSBhIFNTTyBDb25uZWN0aW9uSlQKAzIwMBJNChRVcGRhdGVkIFN1Y2Nlc3NmdWxseRI1CjMaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5VcGRhdGVDb25uZWN0aW9uUmVzcG9uc2WCtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAkY6CmNvbm5lY3Rpb24yOC9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9jb25uZWN0aW9ucy97aWR9EpICChtEZWxldGVFbnZpcm9ubWVudENvbm5lY3Rpb24SOy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5EZWxldGVFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ip0BkkFaCgtDb25uZWN0aW9ucxITRGVsZXRlIGEgY29ubmVjdGlvbhoXRGVsZXRlIGEgU1NPIENvbm5lY3Rpb25KHQoDMjAwEhYKFERlbGV0ZWQgU3VjY2Vzc2Z1bGx5grUYAhhE+tLkkwIJEgdQUkVWSUVXgtPkkwIlKiMvYXBpL3YxL2Nvbm5lY3Rpb25zL3tjb25uZWN0aW9uX2lkfRKiAgoQRGVsZXRlQ29ubmVjdGlvbhIwLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkRlbGV0ZUNvbm5lY3Rpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IsMBkkFrCgtDb25uZWN0aW9ucxIkRGVsZXRlIGEgY29ubmVjdGlvbiBmb3Igb3JnYW5pemF0aW9uGhdEZWxldGUgYSBTU08gQ29ubmVjdGlvbkodCgMyMDASFgoURGVsZXRlZCBTdWNjZXNzZnVsbHmCtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAjoqOC9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9jb25uZWN0aW9ucy97aWR9Et8CChtFbmFibGVFbnZpcm9ubWVudENvbm5lY3Rpb24SOy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0GjEuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVG9nZ2xlQ29ubmVjdGlvblJlc3BvbnNlIs8BkkGEAQoLQ29ubmVjdGlvbnMSE0VuYWJsZSBhIGNvbm5lY3Rpb24aF0VuYWJsZSBhIFNTTyBDb25uZWN0aW9uSkcKAzIwMBJACgdTdWNjZXNzEjUKMxoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRvZ2dsZUNvbm5lY3Rpb25SZXNwb25zZYK1GAIYRPrS5JMCCRIHUFJFVklFV4LT5JMCLDIqL2FwaS92MS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH06ZW5hYmxlEsoEChBFbmFibGVDb25uZWN0aW9uEjAuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVG9nZ2xlQ29ubmVjdGlvblJlcXVlc3QaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVDb25uZWN0aW9uUmVzcG9uc2Ui0AOSQf8CCgtDb25uZWN0aW9ucxIeRW5hYmxlIG9yZ2FuaXphdGlvbiBjb25uZWN0aW9uGu4BQWN0aXZhdGUgYW4gZXhpc3RpbmcgY29ubmVjdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBvcmdhbml6YXRpb24uIFdoZW4gZW5hYmxlZCwgdXNlcnMgY2FuIGF1dGhlbnRpY2F0ZSB1c2luZyB0aGlzIGNvbm5lY3Rpb24uIFRoaXMgZW5kcG9pbnQgY2hhbmdlcyB0aGUgY29ubmVjdGlvbiBzdGF0ZSBmcm9tIGRpc2FibGVkIHRvIGVuYWJsZWQgd2l0aG91dCBtb2RpZnlpbmcgb3RoZXIgY29uZmlndXJhdGlvbiBzZXR0aW5nc0pfCgMyMDASWAofQ29ubmVjdGlvbiBlbmFibGVkIHN1Y2Nlc3NmdWxseRI1CjMaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVDb25uZWN0aW9uUmVzcG9uc2WCtRgCGGSC0+STAkEyPy9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9jb25uZWN0aW9ucy97aWR9OmVuYWJsZRLjAgocRGlzYWJsZUVudmlyb25tZW50Q29ubmVjdGlvbhI7LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRvZ2dsZUVudmlyb25tZW50Q29ubmVjdGlvblJlcXVlc3QaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVDb25uZWN0aW9uUmVzcG9uc2Ui0gGSQYYBCgtDb25uZWN0aW9ucxIURGlzYWJsZSBhIGNvbm5lY3Rpb24aGERpc2FibGUgYSBTU08gQ29ubmVjdGlvbkpHCgMyMDASQAoHU3VjY2VzcxI1CjMaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVDb25uZWN0aW9uUmVzcG9uc2WCtRgCGET60uSTAgkSB1BSRVZJRVeC0+STAi0yKy9hcGkvdjEvY29ubmVjdGlvbnMve2Nvbm5lY3Rpb25faWR9OmRpc2FibGUS1AQKEURpc2FibGVDb25uZWN0aW9uEjAuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVG9nZ2xlQ29ubmVjdGlvblJlcXVlc3QaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVDb25uZWN0aW9uUmVzcG9uc2Ui2QOSQYcDCgtDb25uZWN0aW9ucxIfRGlzYWJsZSBvcmdhbml6YXRpb24gY29ubmVjdGlvbhr0AURlYWN0aXZhdGUgYW4gZXhpc3RpbmcgY29ubmVjdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBvcmdhbml6YXRpb24uIFdoZW4gZGlzYWJsZWQsIHVzZXJzIGNhbm5vdCBhdXRoZW50aWNhdGUgdXNpbmcgdGhpcyBjb25uZWN0aW9uLiBUaGlzIGVuZHBvaW50IGNoYW5nZXMgdGhlIGNvbm5lY3Rpb24gc3RhdGUgZnJvbSBlbmFibGVkIHRvIGRpc2FibGVkIHdpdGhvdXQgbW9kaWZ5aW5nIG90aGVyIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3NKYAoDMjAwElkKIENvbm5lY3Rpb24gZGlzYWJsZWQgc3VjY2Vzc2Z1bGx5EjUKMxoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRvZ2dsZUNvbm5lY3Rpb25SZXNwb25zZYK1GAIYZILT5JMCQjJAL2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2Nvbm5lY3Rpb25zL3tpZH06ZGlzYWJsZRKAAwoXR2V0Q29ubmVjdGlvblRlc3RSZXN1bHQSNy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5HZXRDb25uZWN0aW9uVGVzdFJlc3VsdFJlcXVlc3QaOC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5HZXRDb25uZWN0aW9uVGVzdFJlc3VsdFJlc3BvbnNlIvEBkkGNAQoLQ29ubmVjdGlvbnMSFlRlc3QgY29ubmVjdGlvbiByZXN1bHQaFkNvbm5lY3Rpb24gdGVzdCByZXN1bHRKTgoDMjAwEkcKB1N1Y2Nlc3MSPAo6Gjguc2NhbGVraXQudjEuY29ubmVjdGlvbnMuR2V0Q29ubmVjdGlvblRlc3RSZXN1bHRSZXNwb25zZYK1GAIYZPrS5JMCCRIHUFJFVklFV4LT5JMCRRJDL2FwaS92MS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH0vdGVzdC1yZXF1ZXN0cy97dGVzdF9yZXF1ZXN0X2lkfRL2AgoSTGlzdEFwcENvbm5lY3Rpb25zEjIuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdEFwcENvbm5lY3Rpb25zUmVxdWVzdBozLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkxpc3RBcHBDb25uZWN0aW9uc1Jlc3BvbnNlIvYBkkG+AQoLQ29ubmVjdGlvbnMSFExpc3QgQXBwIGNvbm5lY3Rpb25zGjZSZXRyaWV2ZXMgYSBsaXN0IG9mIGFwcCBjb25uZWN0aW9ucyBpbiB0aGUgZW52aXJvbm1lbnRKYQoDMjAwEloKIlN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgY29ubmVjdGlvbnMSNAoyGjAuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdENvbm5lY3Rpb25zUmVzcG9uc2WCtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAhkSFy9hcGkvdjEvY29ubmVjdGlvbnMvYXBwGpoBkkGWAQoLQ29ubmVjdGlvbnMShgFNYW5hZ2UgZW50ZXJwcmlzZSBjb25uZWN0aW9ucyBmb3IgeW91ciBTY2FsZWtpdCBlbnZpcm9ubWVudC4gVGhpcyBzZXJ2aWNlIHByb3ZpZGVzIGVuZHBvaW50cyBmb3IgcmV0cmlldmluZywgYW5kIHVwZGF0aW5nIGNvbm5lY3Rpb25zLkI3WjVnaXRodWIuY29tL3NjYWxla2l0LWluYy9zY2FsZWtpdC9wa2cvZ3JwYy9jb25uZWN0aW9uc2IGcHJvdG8z", [validate_pb_1.file_buf_validate_validate, annotations_pb_1.file_google_api_annotations, field_behavior_pb_1.file_google_api_field_behavior, visibility_pb_1.file_google_api_visibility, wkt_1.file_google_protobuf_duration, wkt_1.file_google_protobuf_empty, wkt_1.file_google_protobuf_struct, wkt_1.file_google_protobuf_timestamp, wkt_1.file_google_protobuf_wrappers, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations, domains_pb_1.file_scalekit_v1_domains_domains, options_pb_1.file_scalekit_v1_options_options]);
|
|
20
|
+
exports.file_scalekit_v1_connections_connections = (0, codegenv2_1.fileDesc)("CilzY2FsZWtpdC92MS9jb25uZWN0aW9ucy9jb25uZWN0aW9ucy5wcm90bxIXc2NhbGVraXQudjEuY29ubmVjdGlvbnMimwEKIEFzc2lnbkRvbWFpbnNUb0Nvbm5lY3Rpb25SZXF1ZXN0EisKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUISukgPyAEBcgoQARggOgRvcmdfEioKDWNvbm5lY3Rpb25faWQYAiABKAlCE7pIEMgBAXILEAEYIDoFY29ubl8SHgoKZG9tYWluX2lkcxgDIAMoCUIKukgHkgEECAAQMiLaAwohQXNzaWduRG9tYWluc1RvQ29ubmVjdGlvblJlc3BvbnNlErQDCgpjb25uZWN0aW9uGAEgASgLMiMuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvbkL6ApJB9gIyIENvbm5lY3Rpb24gd2l0aCBhc3NpZ25lZCBkb21haW5zStECewogICJpZCI6ICJjb25uXzEyMzQ1Njc4OTAiLAogICJwcm92aWRlciI6ICJPS1RBIiwKICAidHlwZSI6ICJPSURDIiwKICAic3RhdHVzIjogIkNPTkZJR1VSRUQiLAogICJlbmFibGVkIjogdHJ1ZSwKICAiZGVidWdfZW5hYmxlZCI6IGZhbHNlLAogICJvcmdhbml6YXRpb25faWQiOiAib3JnXzEyMzQ1Njc4OTAiLAogICJ1aV9idXR0b25fdGl0bGUiOiAiTG9naW4gd2l0aCBTU08iLAogICJjb25maWd1cmF0aW9uX3R5cGUiOiAiTUFOVUFMIiwKICAidGVzdF9jb25uZWN0aW9uX3VyaSI6ICJodHRwczovL2F1dGguZXhhbXBsZS5jb20vdGVzdC1jb25uZWN0aW9uL2Nvbm5fMTIzNDU2Nzg5MCIKfSIVChNHZXRQcm92aWRlcnNSZXF1ZXN0IkwKFEdldFByb3ZpZGVyc1Jlc3BvbnNlEjQKCXByb3ZpZGVycxgBIAMoCzIhLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlByb3ZpZGVyItIBCghQcm92aWRlchIuCgZrZXlfaWQYASABKAlCHpJBGzIPUHJvdmlkZXIgS2V5IElESggiZ29vZ2xlIhI6CgxkaXNwbGF5X25hbWUYAiABKAlCJJJBITIVUHJvdmlkZXIgRGlzcGxheSBOYW1lSggiR29vZ2xlIhJKCgtkZXNjcmlwdGlvbhgDIAEoCUIwkkEtMhRQcm92aWRlciBEZXNjcmlwdGlvbkoVIlNpZ24gSW4gV2l0aCBHb29nbGUiSACIAQFCDgoMX2Rlc2NyaXB0aW9uIpsCCiJDcmVhdGVFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0EkUKCmNvbm5lY3Rpb24YASABKAsyKS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uQga6SAPIAQESowEKBWZsYWdzGAIgASgLMh4uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuRmxhZ3NCb5JBbDJTT3B0aW9uYWwgZmxhZ3MgdG8gY29udHJvbCBjb25uZWN0aW9uIGNyZWF0aW9uIGJlaGF2aW9yLCBzdWNoIGFzIGVuYWJsaW5nIGRlYnVnIG1vZGVKFXsgImlzX3NvY2lhbCI6IHRydWUgfUgAiAEBQggKBl9mbGFncyLIAgoXQ3JlYXRlQ29ubmVjdGlvblJlcXVlc3QSigEKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUJxkkFlMkpVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB0aGUgY29ubmVjdGlvbiBpcyBjcmVhdGVkLkoXIm9yZ18xMjM2MjQ3NDkwMDY4NDgxNCK6SAZyBBABGCASmQEKCmNvbm5lY3Rpb24YAyABKAsyKS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uQlq6SFe6AVESNk9BVVRILCBQQVNTV09SRExFU1MgYW5kIFdFQkFVVEhOIGFyZSBub3Qgc3VwcG9ydGVkIHlldBoXISh0aGlzLnR5cGUgaW4gWzQsNSw5XSnIAQFKBAgCEAMi0wUKEENyZWF0ZUNvbm5lY3Rpb24SwQEKCHByb3ZpZGVyGAEgASgOMisuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvblByb3ZpZGVyQoEBkkF2MmxJZGVudGl0eSBwcm92aWRlciBzZXJ2aWNlIHRoYXQgaGFuZGxlcyBhdXRoZW50aWNhdGlvbiAoc3VjaCBhcyBPS1RBLCBHb29nbGUsIEF6dXJlIEFELCBvciBhIGN1c3RvbSBwcm92aWRlcilKBiJPS1RBIrpIBYIBAhABEj8KBHR5cGUYAiABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uVHlwZUIIukgFggECEAESiwEKDHByb3ZpZGVyX2tleRgDIAEoCUJ1kkFyMmZLZXkgSUQgb2YgdGhlIGlkZW50aXR5IHByb3ZpZGVyLiBUaGlzIGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBwcm92aWRlci5KCCJnb29nbGUiEhMKBmtleV9pZBgEIAEoCUgAiAEBOosCukiHAhpUEiRwcm92aWRlciBvciBwcm92aWRlcl9rZXkgaXMgcmVxdWlyZWQaLGhhcyh0aGlzLnByb3ZpZGVyX2tleSkgfHwgdGhpcy5wcm92aWRlciAhPSAwGmASHmludmFsaWQgdmFsdWUgZm9yIHByb3ZpZGVyX2tleRo+dGhpcy5wcm92aWRlciA9PSAxNSA/IHRoaXMucHJvdmlkZXJfa2V5IGluIFsnU0NBTEVLSVQnXSA6IHRydWUaTRIYaW52YWxpZCB2YWx1ZSBmb3Iga2V5X2lkGjF0aGlzLnR5cGUgPT0gOSA/IHRoaXMua2V5X2lkID09ICdXRUJBVVRITicgOiB0cnVlQgkKB19rZXlfaWQiqR4KCkNvbm5lY3Rpb24SiQEKAmlkGAEgASgJQn2SQXoyX1VuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGNvbm5lY3Rpb24uIFVzZWQgaW4gQVBJIGNhbGxzIHRvIHJlZmVyZW5jZSB0aGlzIHNwZWNpZmljIGNvbm5lY3Rpb24uShciY29ubl8yMTIzMzEyMTMxMTI1NTMzIhK4AQoIcHJvdmlkZXIYAiABKA4yKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uUHJvdmlkZXJCeZJBdjJsSWRlbnRpdHkgcHJvdmlkZXIgc2VydmljZSB0aGF0IGhhbmRsZXMgYXV0aGVudGljYXRpb24gKHN1Y2ggYXMgT0tUQSwgR29vZ2xlLCBBenVyZSBBRCwgb3IgYSBjdXN0b20gcHJvdmlkZXIpSgYiT0tUQSISrgEKBHR5cGUYAyABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uVHlwZUJ3kkF0MmpBdXRoZW50aWNhdGlvbiBwcm90b2NvbCB1c2VkIGJ5IHRoaXMgY29ubmVjdGlvbi4gQ2FuIGJlIE9JREMgKE9wZW5JRCBDb25uZWN0KSwgU0FNTCwgT0FVVEgsIG9yIE1BR0lDX0xJTksuSgYiT0lEQyISvgEKBnN0YXR1cxgEIAEoDjIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25TdGF0dXNCggGSQXwya0N1cnJlbnQgY29uZmlndXJhdGlvbiBzdGF0dXMgb2YgdGhlIGNvbm5lY3Rpb24uIFBvc3NpYmxlIHZhbHVlcyBpbmNsdWRlIElOX1BST0dSRVNTLCBDT05GSUdVUkVELCBhbmQgRVJST1IuSg0iSU5fUFJPR1JFU1Mi4EEDEqIBCgdlbmFibGVkGAUgASgIQpABkkGMATKCAUNvbnRyb2xzIHdoZXRoZXIgdXNlcnMgY2FuIHNpZ24gaW4gdXNpbmcgdGhpcyBjb25uZWN0aW9uLiBXaGVuIGZhbHNlLCB0aGUgY29ubmVjdGlvbiBleGlzdHMgYnV0IGNhbm5vdCBiZSB1c2VkIGZvciBhdXRoZW50aWNhdGlvbi5KBWZhbHNlEqIBCg1kZWJ1Z19lbmFibGVkGAYgASgIQooBkkGGATJ+RW5hYmxlcyB0ZXN0aW5nIG1vZGUgdGhhdCBhbGxvd3Mgbm9uLUhUVFBTIGVuZHBvaW50cy4gU2hvdWxkIG9ubHkgYmUgZW5hYmxlZCBpbiBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMsIG5ldmVyIGluIHByb2R1Y3Rpb24uSgR0cnVlErEBCg9vcmdhbml6YXRpb25faWQYByABKAlCkgGSQY4BMnRJZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb24gdGhhdCBvd25zIHRoaXMgY29ubmVjdGlvbi4gQ29ubmVjdGlvbnMgYXJlIHR5cGljYWxseSBzY29wZWQgdG8gYSBzaW5nbGUgb3JnYW5pemF0aW9uLkoWIm9yZ18yMTIzMzEyMTMxMTI1NTMzIkgBiAEBEq4BCg91aV9idXR0b25fdGl0bGUYCCABKAlClAGSQYEBMm1DdXN0b20gdGV4dCBzaG93biBvbiB0aGUgbG9naW4gYnV0dG9uIGluIHRoZSB1c2VyIGludGVyZmFjZS4gSGVscHMgdXNlcnMgaWRlbnRpZnkgd2hpY2ggU1NPIG9wdGlvbiB0byBzZWxlY3QuShAiTG9naW4gd2l0aCBTU08i+tLkkwIJEgdQUkVWSUVXEsIBChJjb25maWd1cmF0aW9uX3R5cGUYCSABKA4yKi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25maWd1cmF0aW9uVHlwZUJ6kkF3MmtIb3cgdGhlIGNvbm5lY3Rpb24gd2FzIGNvbmZpZ3VyZWQ6IERJU0NPVkVSWSAoYXV0b21hdGljIGNvbmZpZ3VyYXRpb24pIG9yIE1BTlVBTCAoYWRtaW5pc3RyYXRvciBjb25maWd1cmVkKUoIIk1BTlVBTCISzAEKE3Rlc3RfY29ubmVjdGlvbl91cmkYDCABKAlCrgGSQaoBMmZVUkkgdGhhdCBjYW4gYmUgdXNlZCB0byB0ZXN0IHRoaXMgY29ubmVjdGlvbi4gVmlzaXQgdGhpcyBVUkwgdG8gdmVyaWZ5IHRoZSBjb25uZWN0aW9uIHdvcmtzIGNvcnJlY3RseS5KQCJodHRwczovL2F1dGguZXhhbXBsZS5jb20vdGVzdC1jb25uZWN0aW9uL2Nvbm5fMjEyMzMxMjEzMTEyNTUzMyIS7wEKEWF0dHJpYnV0ZV9tYXBwaW5nGA8gAygLMjkuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvbi5BdHRyaWJ1dGVNYXBwaW5nRW50cnlCmAGSQXwyek1hcHMgaWRlbnRpdHkgcHJvdmlkZXIgYXR0cmlidXRlcyB0byB1c2VyIHByb2ZpbGUgZmllbGRzLiBGb3IgZXhhbXBsZSwgeydlbWFpbCc6ICd1c2VyLm1haWwnLCAnbmFtZSc6ICd1c2VyLmRpc3BsYXlOYW1lJ30uukgWmgETEB4iBnIEEAEYZCoHcgUQARiAAhKlAQoLY3JlYXRlX3RpbWUYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQnSSQV8yRVdoZW4gdGhpcyBjb25uZWN0aW9uIHdhcyBmaXJzdCBjcmVhdGVkLiBGb3JtYXQgaXMgUkZDIDMzMzkgdGltZXN0YW1wLkoWIjIwMjMtMDEtMTVUMTQ6MzA6MDBaIuBBA/rS5JMCCRIHUFJFVklFVxKlAQoLdXBkYXRlX3RpbWUYESABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQnSSQV8yRVdoZW4gdGhpcyBjb25uZWN0aW9uIHdhcyBsYXN0IG1vZGlmaWVkLiBGb3JtYXQgaXMgUkZDIDMzMzkgdGltZXN0YW1wLkoWIjIwMjMtMDItMjBUMDk6MTU6MzBaIuBBA/rS5JMCCRIHUFJFVklFVxKnAQoLb2lkY19jb25maWcYEiABKAsyLS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5PSURDQ29ubmVjdGlvbkNvbmZpZ0JhkkFeMlxDb25maWd1cmF0aW9uIGRldGFpbHMgZm9yIE9wZW5JRCBDb25uZWN0IChPSURDKSBjb25uZWN0aW9ucy4gUHJlc2VudCBvbmx5IHdoZW4gdHlwZSBpcyBPSURDLkgAEp4BCgtzYW1sX2NvbmZpZxgTIAEoCzI1LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNBTUxDb25uZWN0aW9uQ29uZmlnUmVzcG9uc2VCUJJBTTJLQ29uZmlndXJhdGlvbiBkZXRhaWxzIGZvciBTQU1MIGNvbm5lY3Rpb25zLiBQcmVzZW50IG9ubHkgd2hlbiB0eXBlIGlzIFNBTUwuSAASmgEKDG9hdXRoX2NvbmZpZxgUIAEoCzIuLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLk9BdXRoQ29ubmVjdGlvbkNvbmZpZ0JSkkFPMk1Db25maWd1cmF0aW9uIGRldGFpbHMgZm9yIE9BdXRoIGNvbm5lY3Rpb25zLiBQcmVzZW50IG9ubHkgd2hlbiB0eXBlIGlzIE9BVVRILkgAEqsBChNwYXNzd29yZGxlc3NfY29uZmlnGBYgASgLMisuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuUGFzc3dvcmRMZXNzQ29uZmlnQl+SQVwyWkNvbmZpZ3VyYXRpb24gZGV0YWlscyBmb3IgTWFnaWMgTGluayBhdXRoZW50aWNhdGlvbi4gUHJlc2VudCBvbmx5IHdoZW4gdHlwZSBpcyBNQUdJQ19MSU5LLkgAErIBCg1zdGF0aWNfY29uZmlnGBogASgLMikuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuU3RhdGljQXV0aENvbmZpZ0JukkFrMmlTdGF0aWMgY29uZmlndXJhdGlvbiBmb3IgY3VzdG9tIGNvbm5lY3Rpb25zLiBQcmVzZW50IG9ubHkgd2hlbiB0eXBlIGlzIEJBU0lDLCBCRUFSRVIsIEFQSV9LRVksIG9yIGN1c3RvbS5IABKhAQoPd2ViYXV0aG5fY29uZmlnGBsgASgLMi0uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuV2ViQXV0aENvbmZpZ3VyYXRpb25CV5JBVDJSQ29uZmlndXJhdGlvbiBkZXRhaWxzIGZvciBXZWJBdXRobiAocGFzc2tleXMpLiBQcmVzZW50IG9ubHkgd2hlbiB0eXBlIGlzIFdFQkFVVEhOLkgAEnYKBmtleV9pZBgZIAEoCUJhkkFeMlxBbHRlcm5hdGl2ZSBpZGVudGlmaWVyIGZvciB0aGlzIGNvbm5lY3Rpb24sIHR5cGljYWxseSB1c2VkIGluIGZyb250ZW5kIGFwcGxpY2F0aW9ucyBvciBVUkxzLkgCiAEBEmgKDHByb3ZpZGVyX2tleRgXIAEoCUJSkkFPMkNLZXkgSUQgb2YgdGhlIGlkZW50aXR5IHByb3ZpZGVyIHNlcnZpY2UgdGhhdCBoYW5kbGVzIGF1dGhlbnRpY2F0aW9uSggiZ29vZ2xlIhKhAQoHZG9tYWlucxgYIAMoCzIbLnNjYWxla2l0LnYxLmRvbWFpbnMuRG9tYWluQnOSQXAyU0RvbWFpbiBhc3NvY2lhdGVkIHdpdGggdGhpcyBjb25uZWN0aW9uLCB1c2VkIGZvciBkb21haW4tYmFzZWQgYXV0aGVudGljYXRpb24gZmxvd3MuShlbeyJuYW1lIjogImV4YW1wbGUuY29tIn1dGjcKFUF0dHJpYnV0ZU1hcHBpbmdFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgoKCHNldHRpbmdzQhIKEF9vcmdhbml6YXRpb25faWRCCQoHX2tleV9pZEoECA0QDyJrChhDcmVhdGVDb25uZWN0aW9uUmVzcG9uc2USTwoKY29ubmVjdGlvbhgBIAEoCzIjLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25CFpJBEzIRQ29ubmVjdGlvbiBEZXRhaWwijQIKIlVwZGF0ZUVudmlyb25tZW50Q29ubmVjdGlvblJlcXVlc3QScAoNY29ubmVjdGlvbl9pZBgBIAEoCUJZkkFNMitDb25uZWN0aW9uIElELiBVbmlxdWUgSUQgZm9yIHRoZSBjb25uZWN0aW9uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiyj4F+gICaWS6SAZyBBABGCASdQoKY29ubmVjdGlvbhgDIAEoCzIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25CNpJBLTIjQ29ubmVjdGlvbiBwcm9wZXJ0aWVzIHRvIGJlIHVwZGF0ZWTKPgX6AgJpZLpIA8gBASKuAwoXVXBkYXRlQ29ubmVjdGlvblJlcXVlc3QSYQoPb3JnYW5pemF0aW9uX2lkGAEgASgJQkiSQTwyI09yZ2FuaXphdGlvbiBJRCBmb3IgdGhlIENvbm5lY3Rpb24uShUib3JnXzEyMTMxMjQzNDEyMzMxMiK6SAZyBBABGCASXQoCaWQYAyABKAlCUZJBRTIrQ29ubmVjdGlvbiBJRC4gVW5pcXVlIElEIGZvciB0aGUgY29ubmVjdGlvbkoWImNvbm5fMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYIBLKAQoKY29ubmVjdGlvbhgEIAEoCzIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25CigGSQS0yI0Nvbm5lY3Rpb24gcHJvcGVydGllcyB0byBiZSB1cGRhdGVkyj4F+gICaWS6SFe6AVESNk9BVVRILCBQQVNTV09SRExFU1MgYW5kIFdFQkFVVEhOIGFyZSBub3Qgc3VwcG9ydGVkIHlldBoXISh0aGlzLnR5cGUgaW4gWzQsNSw5XSnIAQFKBAgCEAMi/g8KEFVwZGF0ZUNvbm5lY3Rpb24SbQoIcHJvdmlkZXIYAiABKA4yKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uUHJvdmlkZXJCLpJBIzIXU1NPIENvbm5lY3Rpb24gUHJvdmlkZXJKCCJDVVNUT00iukgFggECEAESbAoEdHlwZRgDIAEoDjInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25UeXBlQjWSQSoyIENvbm5lY3Rpb24gUHJvdG9jb2wgT0lEQyAvIFNBTUwgSgYiT0lEQyK6SAWCAQIQARKgAQoNZGVidWdfZW5hYmxlZBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCbZJBajJiRGVidWcgbW9kZSBmb3IgdGhlIGNvbm5lY3Rpb24uIERlYnVnIHdvdWxkIGFsbG93IG5vbiBIVFRQUyBlbmRwb2ludCB0byBiZSB1c2VkIHdpdGggdGhlIGNvbm5lY3Rpb25KBHRydWUSfgoPdWlfYnV0dG9uX3RpdGxlGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkeSQTUyIURpc3BsYXkgbmFtZSBmb3IgdGhlIExvZ2luIEJ1dHRvbkoQIkxvZ2luIHdpdGggU1NPIvrS5JMCCRIHUFJFVklFVxJrChJjb25maWd1cmF0aW9uX3R5cGUYCyABKA4yKi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25maWd1cmF0aW9uVHlwZUIjkkEgMhRDb25maWd1cmF0aW9uIFR5cGUuIEoIIk1BTlVBTCISiwEKEWF0dHJpYnV0ZV9tYXBwaW5nGA8gAygLMj8uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVXBkYXRlQ29ubmVjdGlvbi5BdHRyaWJ1dGVNYXBwaW5nRW50cnlCL5JBEzIRQXR0cmlidXRlIE1hcHBpbme6SBaaARMQHiIGcgQQARhkKgdyBRABGIACEncKC29pZGNfY29uZmlnGBAgASgLMi0uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuT0lEQ0Nvbm5lY3Rpb25Db25maWdCMZJBLjIsT0lEQyBDb25maWd1cmF0aW9uIGlmIENvbm5lY3Rpb25UeXBlID09IE9JRENIABJ+CgtzYW1sX2NvbmZpZxgRIAEoCzI0LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNBTUxDb25uZWN0aW9uQ29uZmlnUmVxdWVzdEIxkkEuMixTQU1MIENvbmZpZ3VyYXRpb24gaWYgQ29ubmVjdGlvblR5cGUgPT0gU0FNTEgAEnsKDG9hdXRoX2NvbmZpZxgSIAEoCzIuLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLk9BdXRoQ29ubmVjdGlvbkNvbmZpZ0IzkkEwMi5PQXV0aCBDb25maWd1cmF0aW9uIGlmIENvbm5lY3Rpb25UeXBlID09IE9BVVRISAASiQEKE3Bhc3N3b3JkbGVzc19jb25maWcYFCABKAsyKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5QYXNzd29yZExlc3NDb25maWdCPZJBOjI4TWFnaWMgTGluayBDb25maWd1cmF0aW9uIGlmIENvbm5lY3Rpb25UeXBlID09IE1BR0lDX0xJTktIABJCCg1zdGF0aWNfY29uZmlnGBcgASgLMikuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuU3RhdGljQXV0aENvbmZpZ0gAEqEBCg93ZWJhdXRobl9jb25maWcYGCABKAsyLS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5XZWJBdXRoQ29uZmlndXJhdGlvbkJXkkFUMlJDb25maWd1cmF0aW9uIGRldGFpbHMgZm9yIFdlYkF1dGhuIChwYXNza2V5cykuIFByZXNlbnQgb25seSB3aGVuIHR5cGUgaXMgV0VCQVVUSE4uSAASHwoGa2V5X2lkGBYgASgJQgq6SAdyBRABGKwCSAGIAQESaAoMcHJvdmlkZXJfa2V5GBUgASgJQlKSQU8yQ0tleSBJRCBvZiB0aGUgaWRlbnRpdHkgcHJvdmlkZXIgc2VydmljZSB0aGF0IGhhbmRsZXMgYXV0aGVudGljYXRpb25KCCJnb29nbGUiGjcKFUF0dHJpYnV0ZU1hcHBpbmdFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBOosCukiHAhpUEiRwcm92aWRlciBvciBwcm92aWRlcl9rZXkgaXMgcmVxdWlyZWQaLGhhcyh0aGlzLnByb3ZpZGVyX2tleSkgfHwgdGhpcy5wcm92aWRlciAhPSAwGmASHmludmFsaWQgdmFsdWUgZm9yIHByb3ZpZGVyX2tleRo+dGhpcy5wcm92aWRlciA9PSAxNSA/IHRoaXMucHJvdmlkZXJfa2V5IGluIFsnU0NBTEVLSVQnXSA6IHRydWUaTRIYaW52YWxpZCB2YWx1ZSBmb3Iga2V5X2lkGjF0aGlzLnR5cGUgPT0gOSA/IHRoaXMua2V5X2lkID09ICdXRUJBVVRITicgOiB0cnVlQgoKCHNldHRpbmdzQgkKB19rZXlfaWRKBAgBEAJKBAgEEAVKBAgFEAZKBAgJEAtKBAgMEA8idAoYVXBkYXRlQ29ubmVjdGlvblJlc3BvbnNlElgKCmNvbm5lY3Rpb24YASABKAsyIy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uQh+SQRwyGlVwZGF0ZWQgQ29ubmVjdGlvbiBkZXRhaWxzIo4BCiJEZWxldGVFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0EmgKDWNvbm5lY3Rpb25faWQYAyABKAlCUZJBRTIrQ29ubmVjdGlvbiBJRC4gVW5pcXVlIElEIGZvciB0aGUgY29ubmVjdGlvbkoWImNvbm5fMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYICLhAQoXRGVsZXRlQ29ubmVjdGlvblJlcXVlc3QSYQoPb3JnYW5pemF0aW9uX2lkGAEgASgJQkiSQTwyI09yZ2FuaXphdGlvbiBJRCBmb3IgdGhlIENvbm5lY3Rpb24uShUib3JnXzEyMTMxMjQzNDEyMzMxMiK6SAZyBBABGCASXQoCaWQYAyABKAlCUZJBRTIrQ29ubmVjdGlvbiBJRC4gVW5pcXVlIElEIGZvciB0aGUgY29ubmVjdGlvbkoWImNvbm5fMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYIEoECAIQAyKEAQofR2V0RW52aXJvbm1lbnRDb25uZWN0aW9uUmVxdWVzdBJhCg1jb25uZWN0aW9uX2lkGAEgASgJQkqSQT4yJFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgQ29ubmVjdGlvbkoWImNvbm5fMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYICLoAgoUR2V0Q29ubmVjdGlvblJlcXVlc3QSqgEKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUKQAZJBgwEyak9yZ2FuaXphdGlvbiBpZGVudGlmaWVyIChyZXF1aXJlZCkuIFNwZWNpZmllcyB3aGljaCBvcmdhbml6YXRpb24gb3ducyB0aGUgY29ubmVjdGlvbiB5b3Ugd2FudCB0byByZXRyaWV2ZS5KFSJvcmdfMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYIBKcAQoCaWQYAyABKAlCjwGSQYIBMmhDb25uZWN0aW9uIGlkZW50aWZpZXIgKHJlcXVpcmVkKS4gU3BlY2lmaWVzIHdoaWNoIHNwZWNpZmljIGNvbm5lY3Rpb24gdG8gcmV0cmlldmUgZnJvbSB0aGUgb3JnYW5pemF0aW9uLkoWImNvbm5fMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYIEoECAIQAyKOAgoVR2V0Q29ubmVjdGlvblJlc3BvbnNlEvQBCgpjb25uZWN0aW9uGAEgASgLMiMuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvbkK6AZJBtgEyswFDb21wbGV0ZSBjb25uZWN0aW9uIGRldGFpbHMgaW5jbHVkaW5nIHByb3ZpZGVyIGNvbmZpZ3VyYXRpb24sIHByb3RvY29sIHNldHRpbmdzLCBzdGF0dXMsIGFuZCBhbGwgbWV0YWRhdGEuIENvbnRhaW5zIGV2ZXJ5dGhpbmcgbmVlZGVkIHRvIHVuZGVyc3RhbmQgdGhlIGNvbm5lY3Rpb24ncyBjdXJyZW50IHN0YXRlLiL0AwoWTGlzdENvbm5lY3Rpb25zUmVxdWVzdBJwCg9vcmdhbml6YXRpb25faWQYASABKAlCUpJBRjItRmlsdGVyIGNvbm5lY3Rpb25zIGJ5IG9yZ2FuaXphdGlvbiBpZGVudGlmaWVyShUib3JnXzEyMTMxMjQzNDEyMzMxMiK6SAZyBBABGCBIAIgBARJ3CgZkb21haW4YAyABKAlCYpJBVjJDRmlsdGVyIGNvbm5lY3Rpb25zIGJ5IGVtYWlsIGRvbWFpbiBhc3NvY2lhdGVkIHdpdGggdGhlIG9yZ2FuaXphdGlvbkoPImhlcm8tc2Fhcy5hcHAiukgGcgQQARggSAGIAQESvQEKB2luY2x1ZGUYBCABKAlCpgGSQaIBMp8BRmlsdGVyIGNvbm5lY3Rpb25zIGJ5IHN0YXR1cy4gVXNlICdhbGwnIHRvIGluY2x1ZGUgYWxsIGNvbm5lY3Rpb25zIHJlZ2FyZGxlc3Mgb2Ygc3RhdHVzLiBEZWZhdWx0IGJlaGF2aW9yIHNob3dzIG9ubHkgYWN0aXZlIChjb21wbGV0ZWQgYW5kIGVuYWJsZWQpIGNvbm5lY3Rpb25zSAKIAQFCEgoQX29yZ2FuaXphdGlvbl9pZEIJCgdfZG9tYWluQgoKCF9pbmNsdWRlSgQIAhADIo8BChdMaXN0Q29ubmVjdGlvbnNSZXNwb25zZRJ0Cgtjb25uZWN0aW9ucxgBIAMoCzInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkxpc3RDb25uZWN0aW9uQjaSQTMyMUxpc3Qgb2YgY29ubmVjdGlvbnMgbWF0Y2hpbmcgdGhlIHJlcXVlc3QgY3JpdGVyaWEi+goKDkxpc3RDb25uZWN0aW9uEk0KAmlkGAEgASgJQkGSQT4yI1VuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBjb25uZWN0aW9uShciY29ubl8yMTIzMzEyMTMxMTI1NTMzIhKDAQoIcHJvdmlkZXIYAiABKA4yKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uUHJvdmlkZXJCRJJBQTI1SWRlbnRpdHkgcHJvdmlkZXIgdHlwZSAoZS5nLiwgT0tUQSwgR29vZ2xlLCBBenVyZSBBRClKCCJDVVNUT00iEnIKBHR5cGUYAyABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uVHlwZUI7kkE4Mi5BdXRoZW50aWNhdGlvbiBwcm90b2NvbCB1c2VkIGJ5IHRoZSBjb25uZWN0aW9uSgYiT0lEQyISgAEKBnN0YXR1cxgEIAEoDjIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25TdGF0dXNCRZJBPzIuQ3VycmVudCBjb25maWd1cmF0aW9uIHN0YXR1cyBvZiB0aGUgY29ubmVjdGlvbkoNIklOX1BST0dSRVNTIuBBAxJeCgdlbmFibGVkGAUgASgIQk2SQUoyQVdoZXRoZXIgdGhlIGNvbm5lY3Rpb24gaXMgY3VycmVudGx5IGFjdGl2ZSBmb3Igb3JnYW5pemF0aW9uIHVzZXJzSgVmYWxzZRJ1Cg9vcmdhbml6YXRpb25faWQYBiABKAlCXJJBWTI/VW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIG9yZ2FuaXphdGlvbiB0aGF0IG93bnMgdGhpcyBjb25uZWN0aW9uShYib3JnXzIxMjMzMTIxMzExMjU1MzMiEnkKD3VpX2J1dHRvbl90aXRsZRgHIAEoCUJgkkFOMjpUZXh0IGRpc3BsYXllZCBvbiB0aGUgU1NPIGxvZ2luIGJ1dHRvbiBmb3IgdGhpcyBjb25uZWN0aW9uShAiTG9naW4gd2l0aCBTU08i+tLkkwIJEgdQUkVWSUVXEmsKB2RvbWFpbnMYCCADKAlCWpJBVzIvTGlzdCBvZiBkb21haW5zIGNvbmZpZ3VyZWQgd2l0aCB0aGlzIGNvbm5lY3Rpb25KJFsieW91cmFwcC5jb20iLCAieW91cndvcmtzcGFjZS5jb20iXRJfChFvcmdhbml6YXRpb25fbmFtZRgJIAEoCUJEkkFBMipOYW1lIG9mIHRoZSBvcmdhbml6YXRpb24gb2YgdGhlIGNvbm5lY3Rpb25KEyJZb3VyIE9yZ2FuaXphdGlvbiISaAoMcHJvdmlkZXJfa2V5GAogASgJQlKSQU8yQ0tleSBJRCBvZiB0aGUgaWRlbnRpdHkgcHJvdmlkZXIgc2VydmljZSB0aGF0IGhhbmRsZXMgYXV0aGVudGljYXRpb25KCCJnb29nbGUiEokBCgZrZXlfaWQYCyABKAlCeZJBdjJbQWx0ZXJuYXRpdmUgaWRlbnRpZmllciBmb3IgdGhpcyBjb25uZWN0aW9uLCB0eXBpY2FsbHkgdXNlZCBpbiBmcm9udGVuZCBhcHBsaWNhdGlvbnMgb3IgVVJMc0oXImNvbm5fMjEyMzMxMjEzMTEyNTUzMyIShQEKCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQlWSQUAyJldoZW4gdGhpcyBjb25uZWN0aW9uIHdhcyBmaXJzdCBjcmVhdGVkShYiMjAyMy0wMS0xNVQxNDozMDowMFoi4EED+tLkkwIJEgdQUkVWSUVXIrkCCiJMaXN0T3JnYW5pemF0aW9uQ29ubmVjdGlvbnNSZXF1ZXN0EnYKCXBhZ2Vfc2l6ZRgBIAEoDUJjkkFZMlNNYXhpbXVtIG51bWJlciBvZiBvcmdhbml6YXRpb25zIHRvIHJldHVybiBwZXIgcGFnZS4gVmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDMwLkoCMzC6SAQqAhgeEpoBCgpwYWdlX3Rva2VuGAIgASgJQoUBkkGBATJhVG9rZW4gZnJvbSBhIHByZXZpb3VzIHJlc3BvbnNlIGZvciBwYWdpbmF0aW9uLiBQcm92aWRlIHRoaXMgdG8gcmV0cmlldmUgdGhlIG5leHQgcGFnZSBvZiByZXN1bHRzLkocZXlKd1lXZGxJam95TENKc2FXMXBkQ0k2TXpCOSLgAQojTGlzdE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVzcG9uc2USFwoPbmV4dF9wYWdlX3Rva2VuGAEgASgJEhIKCnRvdGFsX3NpemUYAiABKA0SFwoPcHJldl9wYWdlX3Rva2VuGAMgASgJEnMKC2Nvbm5lY3Rpb25zGAQgAygLMicuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdENvbm5lY3Rpb25CNZJBMjIwTGlzdCBvZiBjb25uZWN0aW9ucyBtYXRjaGluZyB0aGUgZmlsdGVyIGNyaXRlcmlhItkGCiRTZWFyY2hPcmdhbml6YXRpb25Db25uZWN0aW9uc1JlcXVlc3QSZQoFcXVlcnkYASABKAlCUZJBRzItU2VhcmNoIHF1ZXJ5IENvbm5lY3Rpb24gSUQgb3IgT3JnYW5pemF0aW9uIElEShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgEcgIYZEgAiAEBEjYKCHByb3ZpZGVyGAIgASgJQh+SQRwyEkZpbHRlciBieSBwcm92aWRlckoGIk9LVEEiSAGIAQESdQoGc3RhdHVzGAMgASgOMikuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvblN0YXR1c0I1kkEqMhtGaWx0ZXIgYnkgY29ubmVjdGlvbiBzdGF0dXNKCyJDT01QTEVURUQiukgFggECEAFIAogBARJ8Cg9jb25uZWN0aW9uX3R5cGUYBCABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uVHlwZUI1kkEqMhtGaWx0ZXIgYnkgY29ubmVjdGlvbiBzdGF0dXNKCyJDT01QTEVURUQiukgFggECEAFIA4gBARJGCgdlbmFibGVkGAcgASgIQjCSQS0yI0ZpbHRlciBieSBjb25uZWN0aW9uIGVuYWJsZWQgc3RhdHVzSgYidHJ1ZSJIBIgBARJ2CglwYWdlX3NpemUYBSABKA1CY5JBWTJTTWF4aW11bSBudW1iZXIgb2Ygb3JnYW5pemF0aW9ucyB0byByZXR1cm4gcGVyIHBhZ2UuIFZhbHVlIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAzMC5KAjMwukgEKgIYHhKaAQoKcGFnZV90b2tlbhgGIAEoCUKFAZJBgQEyYVRva2VuIGZyb20gYSBwcmV2aW91cyByZXNwb25zZSBmb3IgcGFnaW5hdGlvbi4gUHJvdmlkZSB0aGlzIHRvIHJldHJpZXZlIHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0cy5KHGV5SndZV2RsSWpveUxDSnNhVzFwZENJNk16QjlCCAoGX3F1ZXJ5QgsKCV9wcm92aWRlckIJCgdfc3RhdHVzQhIKEF9jb25uZWN0aW9uX3R5cGVCCgoIX2VuYWJsZWQi4gEKJVNlYXJjaE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVzcG9uc2USFwoPbmV4dF9wYWdlX3Rva2VuGAEgASgJEhIKCnRvdGFsX3NpemUYAiABKA0SFwoPcHJldl9wYWdlX3Rva2VuGAMgASgJEnMKC2Nvbm5lY3Rpb25zGAQgAygLMicuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdENvbm5lY3Rpb25CNZJBMjIwTGlzdCBvZiBjb25uZWN0aW9ucyBtYXRjaGluZyB0aGUgZmlsdGVyIGNyaXRlcmlhIo4BCiJUb2dnbGVFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0EmgKDWNvbm5lY3Rpb25faWQYAiABKAlCUZJBRTIrQ29ubmVjdGlvbiBJRC4gVW5pcXVlIElEIGZvciB0aGUgY29ubmVjdGlvbkoWImNvbm5fMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYICKKAgoXVG9nZ2xlQ29ubmVjdGlvblJlcXVlc3QSggEKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUJpkkFdMkRVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29ubmVjdGlvbkoVIm9yZ18xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggEmQKAmlkGAMgASgJQliSQUwyMlVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgY29ubmVjdGlvbiB0byBiZSB0b2dnbGVkShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggSgQIAhADIqUCChhUb2dnbGVDb25uZWN0aW9uUmVzcG9uc2USoAEKB2VuYWJsZWQYASABKAhCjgGSQYoBMoEBQ3VycmVudCBzdGF0ZSBvZiB0aGUgY29ubmVjdGlvbiBhZnRlciB0aGUgb3BlcmF0aW9uLiBUcnVlIG1lYW5zIHRoZSBjb25uZWN0aW9uIGlzIG5vdyBlbmFibGVkIGFuZCBjYW4gYmUgdXNlZCBmb3IgYXV0aGVudGljYXRpb24uSgR0cnVlElQKDWVycm9yX21lc3NhZ2UYAiABKAlCOJJBNTIkRXJyb3IgbWVzc2FnZSBpZiB0aGUgb3BlcmF0aW9uIGZhaWxzSg0icGxhY2Vob2xkZXIiSACIAQFCEAoOX2Vycm9yX21lc3NhZ2UijRAKFE9JRENDb25uZWN0aW9uQ29uZmlnEmIKBmlzc3VlchgBIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUI0kkExMgpJc3N1ZXIgVVJMSiMiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL29hdXRoIhKXAQoSZGlzY292ZXJ5X2VuZHBvaW50GAIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQl2SQVoyEkRpc2NvdmVyeSBFbmRwb2ludEpEImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9vYXV0aC8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbiISdgoNYXV0aG9yaXplX3VyaRgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUJBkkE+Mg1BdXRob3JpemUgVVJJSi0iaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL29hdXRoL2F1dGhvcml6ZSISagoJdG9rZW5fdXJpGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjmSQTYyCVRva2VuIFVSSUopImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9vYXV0aC90b2tlbiISdQoNdXNlcl9pbmZvX3VyaRgFIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUJAkkE9Mg1Vc2VyIEluZm8gVVJJSiwiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL29hdXRoL3VzZXJpbmZvIhJnCghqd2tzX3VyaRgGIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUI3kkE0MghKV0tTIFVSSUooImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9vYXV0aC9qd2tzIhJSCgljbGllbnRfaWQYCCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCIZJBHjIJQ2xpZW50IElEShEib2F1dGhfY2xpZW50X2lkIhJeCg1jbGllbnRfc2VjcmV0GAkgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQimSQSYyDUNsaWVudCBTZWNyZXRKFSJvYXV0aF9jbGllbnRfc2VjcmV0IhJbCgZzY29wZXMYCiADKA4yIi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5PSURDU2NvcGVCJ5JBJDILT0lEQyBTY29wZXNKFVsib3BlbmlkIiwgInByb2ZpbGUiXRJjCg90b2tlbl9hdXRoX3R5cGUYCyABKA4yJi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2tlbkF1dGhUeXBlQiKSQR8yD1Rva2VuIEF1dGggVHlwZUoMIlVSTF9QQVJBTVMiEl0KDHJlZGlyZWN0X3VyaRgMIAEoCUJHkkFEMgxSZWRpcmVjdCBVUklKNCJodHRwczovL3lvdXJhcHAuY29tL3Nzby92MS9vaWRjL2Nvbm5fMTIzNC9jYWxsYmFjayISSQoMcGtjZV9lbmFibGVkGA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIXkkEUMgxQS0NFIEVuYWJsZWRKBHRydWUSVQoTaWRwX2xvZ291dF9yZXF1aXJlZBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCHJJBGTIRRW5hYmxlIElEUCBsb2dvdXRKBHRydWUSnQEKGHBvc3RfbG9nb3V0X3JlZGlyZWN0X3VyaRgPIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUJdkkFXMhhwb3N0IGxvZ291dCByZWRpcmVjdCB1cmlKOyJodHRwczovL3lvdXJhcHAuY29tL3Nzby92MS9vaWRjL2Nvbm5fMTIzNC9sb2dvdXQvY2FsbGJhY2si4EEDEswBCh9iYWNrY2hhbm5lbF9sb2dvdXRfcmVkaXJlY3RfdXJpGBAgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQoQBkkF+MjxiYWNrY2hhbm5lbCBsb2dvdXQgcmVkaXJlY3QgdXJpIHdoZXJlIGlkcCBzZW5kcyBsb2dvdXRfdG9rZW5KPiJodHRwczovL3lvdXJhcHAuY29tL3Nzby92MS9vaWRjL2Nvbm5fMTIzNC9iYWNrY2hhbm5lbC1sb2dvdXQi4EEDEq4BChpzeW5jX3VzZXJfcHJvZmlsZV9vbl9sb2dpbhgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCbpJBazJjSW5kaWNhdGVzIHdoZXRoZXIgdXNlciBwcm9maWxlcyBzaG91bGQgYmUgc3luY2hyb25pemVkIHdpdGggdGhlIGlkZW50aXR5IHByb3ZpZGVyIHVwb24gZWFjaCBsb2ctaW4uSgR0cnVlEpsBCiFqaXRfcHJvdmlzaW9uaW5nX3dpdGhfc3NvX2VuYWJsZWQYEiABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQlSSQVEySUluZGljYXRlcyBpZiBKdXN0IEluIFRpbWUgdXNlciBwcm92aXNpb25pbmcgaXMgZW5hYmxlZCBmb3IgdGhlIGNvbm5lY3Rpb25KBHRydWUi5wwKFU9BdXRoQ29ubmVjdGlvbkNvbmZpZxJ2Cg1hdXRob3JpemVfdXJpGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkGSQT4yDUF1dGhvcml6ZSBVUklKLSJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvb2F1dGgvYXV0aG9yaXplIhJqCgl0b2tlbl91cmkYBCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCOZJBNjIJVG9rZW4gVVJJSikiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL29hdXRoL3Rva2VuIhJ1Cg11c2VyX2luZm9fdXJpGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkCSQT0yDVVzZXIgSW5mbyBVUklKLCJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvb2F1dGgvdXNlcmluZm8iElIKCWNsaWVudF9pZBgIIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIhkkEeMglDbGllbnQgSURKESJvYXV0aF9jbGllbnRfaWQiEl4KDWNsaWVudF9zZWNyZXQYCSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCKZJBJjINQ2xpZW50IFNlY3JldEoVIm9hdXRoX2NsaWVudF9zZWNyZXQiEjcKBnNjb3BlcxgKIAMoCUInkkEkMgtPSURDIFNjb3Blc0oVWyJvcGVuaWQiLCAicHJvZmlsZSJdElUKDHJlZGlyZWN0X3VyaRgMIAEoCUI/kkE8MgxSZWRpcmVjdCBVUklKLCJodHRwczovL3lvdXJhcHAuY29tL3NlcnZpY2Uvb2F1dGgvcmVkaXJlY3QiEkkKDHBrY2VfZW5hYmxlZBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCF5JBFDIMUEtDRSBFbmFibGVkSgR0cnVlEk4KBnByb21wdBgOIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIgkkEdMhNQcm9tcHQgZm9yIHRoZSB1c2VySgYibm9uZSISWwoSdXNlX3BsYXRmb3JtX2NyZWRzGA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIjkkEgMhhVc2UgU2NhbGVraXQgY3JlZGVudGlhbHNKBHRydWUSTgoLYWNjZXNzX3R5cGUYECABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCG5JBGDILQWNjZXNzIFR5cGVKCSJvZmZsaW5lIhJdChFjdXN0b21fc2NvcGVfbmFtZRgRIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIkkkEhMhFDdXN0b20gU2NvcGUgTmFtZUoMInVzZXJfc2NvcGUiEq4BChpzeW5jX3VzZXJfcHJvZmlsZV9vbl9sb2dpbhgSIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCbpJBazJjSW5kaWNhdGVzIHdoZXRoZXIgdXNlciBwcm9maWxlcyBzaG91bGQgYmUgc3luY2hyb25pemVkIHdpdGggdGhlIGlkZW50aXR5IHByb3ZpZGVyIHVwb24gZWFjaCBsb2ctaW4uSgR0cnVlEloKEXRva2VuX2FjY2Vzc190eXBlGBMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQiGSQR4yEVRva2VuIEFjY2VzcyBUeXBlSgkib2ZmbGluZSIS+gEKCXRlbmFudF9pZBgUIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZULIAZJBxAEymQFNaWNyb3NvZnQgRW50cmEgdGVuYW50IElELiBSZXF1aXJlZCB3aGVuIHVzaW5nIGEgc2luZ2xlLXRlbmFudCBvciBtdWx0aS10ZW5hbnQgYXBwIHJlZ2lzdGVyZWQgaW4gTWljcm9zb2Z0IEVudHJhLiBMZWF2ZSBlbXB0eSB0byB1c2UgdGhlIGNvbW1vbiBlbmRwb2ludC5KJiJ4eHh4eHh4eC14eHh4LXh4eHgteHh4eC14eHh4eHh4eHh4eHgiIukGChJQYXNzd29yZExlc3NDb25maWcSVwoEdHlwZRgBIAEoDjIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlBhc3N3b3JkbGVzc1R5cGVCHpJBGzIRUGFzc3dvcmRsZXNzIFR5cGVKBiJMSU5LIhJMCglmcmVxdWVuY3kYAiABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVCFpJBEzIOTGluayBGcmVxdWVuY3lKATFIAIgBARJXCgh2YWxpZGl0eRgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50MzJWYWx1ZUIikkEfMhhMaW5rIFZhbGlkaXR5IGluIFNlY29uZHNKAzYwMEgBiAEBEmwKG2VuZm9yY2Vfc2FtZV9icm93c2VyX29yaWdpbhgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCJpJBIzIbRW5mb3JjZSBTYW1lIEJyb3dzZXIgT3JpZ2luSgR0cnVlSAKIAQESXwoVY29kZV9jaGFsbGVuZ2VfbGVuZ3RoGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQzMlZhbHVlQh2SQRoyFUNvZGUgQ2hhbGxlbmdlIExlbmd0aEoBNkgDiAEBEnEKE2NvZGVfY2hhbGxlbmdlX3R5cGUYBiABKA4yKi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db2RlQ2hhbGxlbmdlVHlwZUIjkkEgMhNDb2RlIENoYWxsZW5nZSBUeXBlSgkiTlVNRVJJQyJIBIgBARJyCi1yZWdlbmVyYXRlX3Bhc3N3b3JkbGVzc19jcmVkZW50aWFsc19vbl9yZXNlbmQYByABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQhqSQRcyD1JlZ2VuZXJhdGUgdGhlIEoEdHJ1ZUgFiAEBQgwKCl9mcmVxdWVuY3lCCwoJX3ZhbGlkaXR5Qh4KHF9lbmZvcmNlX3NhbWVfYnJvd3Nlcl9vcmlnaW5CGAoWX2NvZGVfY2hhbGxlbmdlX2xlbmd0aEIWChRfY29kZV9jaGFsbGVuZ2VfdHlwZUIwCi5fcmVnZW5lcmF0ZV9wYXNzd29yZGxlc3NfY3JlZGVudGlhbHNfb25fcmVzZW5kIkIKEFN0YXRpY0F1dGhDb25maWcSLgoNc3RhdGljX2NvbmZpZxgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qihx8KFFdlYkF1dGhDb25maWd1cmF0aW9uEjwKAnJwGAEgASgLMjAuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuV2ViQXV0aENvbmZpZ3VyYXRpb24uUnASTgoLYXR0ZXN0YXRpb24YAiABKAsyOS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5XZWJBdXRoQ29uZmlndXJhdGlvbi5BdHRlc3RhdGlvbhJUCg5hdXRoZW50aWNhdG9ycxgDIAEoCzI8LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLldlYkF1dGhDb25maWd1cmF0aW9uLkF1dGhlbnRpY2F0b3JzEmUKF2F1dGhlbnRpY2F0b3Jfc2VsZWN0aW9uGAQgASgLMkQuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuV2ViQXV0aENvbmZpZ3VyYXRpb24uQXV0aGVudGljYXRvclNlbGVjdGlvbhJGCgd0aW1lb3V0GAUgASgLMjUuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuV2ViQXV0aENvbmZpZ3VyYXRpb24uVGltZW91dBJMChhlbmFibGVfYXV0b19yZWdpc3RyYXRpb24YBiABKAhCKpJBJzIlRW5hYmxlIGF1dG8gcmVnaXN0cmF0aW9uIGZvciBXZWJBdXRobhJFChNzaG93X3Bhc3NrZXlfYnV0dG9uGAcgASgIQiiSQSUyI1Nob3cgcGFzc2tleSBidXR0b24gb24gbG9naW4gc2NyZWVuEk8KGGVuYWJsZV9jb25kaXRpb25hbF9sb2dpbhgIIAEoCEItkkEqMihBbGxvdyBhdXRvZmlsbCBvZiBwYXNza2V5cyBpbiBsb2dpbiBwYWdlGjoKAlJwEhcKA2lkcxgBIAMoCUIKukgHkgEECAEQChIbCgdvcmlnaW5zGAIgAygJQgq6SAeSAQQIARAKGpQBCgtBdHRlc3RhdGlvbhJaChVjb252ZXlhbmNlX3ByZWZlcmVuY2UYASABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCHbpIGnIYUgRub25lUghpbmRpcmVjdFIGZGlyZWN0EikKF2VudGVycHJpc2VfYXBwcm92ZWRfaWRzGAIgAygJQgi6SAWSAQIQMhrOEgoOQXV0aGVudGljYXRvcnMSzAIKDnZhbGlkYXRlX2VudHJ5GAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUKXApJBkwIaGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlMvQBcmVxdWlyZXMgdGhhdCB0aGUgcHJvdmlkZWQgbWV0YWRhdGEgaGFzIGFuIGVudHJ5IGZvciB0aGUgZ2l2ZW4gYXV0aGVudGljYXRvciB0byBiZSBjb25zaWRlcmVkIHZhbGlkLiBCeSBkZWZhdWx0IGFuIEFBR1VJRCB3aGljaCBoYXMgYSB6ZXJvIHZhbHVlIHNob3VsZCBmYWlsIHZhbGlkYXRpb24gaWYgdmFsaWRhdGVfZW50cnlfcGVybWl0X3plcm9fYWFndWlkIGlzIG5vdCBwcm92aWRlZCB3aXRoIHRoZSB2YWx1ZSBvZiB0cnVlLhLwAQohdmFsaWRhdGVfZW50cnlfcGVybWl0X3plcm9fYWFndWlkGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUKoAZJBpAEyoQFpcyBhbiBvcHRpb24gdGhhdCBwZXJtaXRzIGEgemVybydkIEFBR1VJRCBmcm9tIGFuIGF0dGVzdGF0aW9uIHN0YXRlbWVudCB0byBhdXRvbWF0aWNhbGx5IHBhc3MgbWV0YWRhdGEgdmFsaWRhdGlvbnMuIEdlbmVyYWxseSBoZWxwZnVsIHRvIHVzZSB3aXRoIHZhbGlkYXRlX2VudHJ5LhK1AQoQdmFsaWRhdGVfYW5jaG9ycxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCf5JBfDJ6d2hlbiBzZXQgdG8gdHJ1ZSBlbmFibGVzIHRoZSB2YWxpZGF0aW9uIG9mIHRoZSBhdHRlc3RhdGlvbiBzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgdHJ1c3QgYW5jaG9yIGZyb20gdGhlIG1ldGFkYXRhIHN0YXRlbWVudC4SrgEKD3ZhbGlkYXRlX3N0YXR1cxgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCeZJBdjJ0d2hlbiBzZXQgdG8gdHJ1ZSBlbmFibGVzIHRoZSB2YWxpZGF0aW9uIG9mIHRoZSBhdHRlc3RhdGlvbiBzdGF0ZW1lbnRzIEFBR1VJRCBhZ2FpbnN0IHRoZSBkZXNpcmVkIGFuZCB1bmRlc2lyZWQgbGlzdHMSyAEKGXZhbGlkYXRlX2F0dGVzdGF0aW9uX3R5cGUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQogBkkGEATKBAXdoZW4gc2V0IHRvIHRydWUgZW5hYmxlcyB0aGUgdmFsaWRhdGlvbiBvZiB0aGUgYXR0ZXN0YXRpb24gc3RhdGVtZW50cyB0eXBlIGFnYWluc3QgdGhlIGtub3duIHR5cGVzIHRoZSBhdXRoZW50aWNhdG9yIGNhbiBwcm9kdWNlLhKfBAocZGVzaXJlZF9hdXRoZW50aWNhdG9yX3N0YXR1cxgGIAMoCUL4A5JBnQEylgFwcm92aWRlcyB0aGUgbGlzdCBvZiBzdGF0dXNlcyB3aGljaCBhcmUgY29uc2lkZXJlZCB1bmRlc2lyYWJsZSBmb3Igc3RhdHVzIHJlcG9ydCB2YWxpZGF0aW9uIHB1cnBvc2VzLiBTaG91bGQgYmUgdXNlZCB3aXRoIHZhbGlkYXRlX3N0YXR1cyBzZXQgdG8gdHJ1ZS46AltdukjTApIBzwIQCiLKAnLHAlISTk9UX0ZJRE9fQ0VSVElGSUVEUg5GSURPX0NFUlRJRklFRFIYVVNFUl9WRVJJRklDQVRJT05fQllQQVNTUhpBVFRFU1RBVElPTl9LRVlfQ09NUFJPTUlTRVIaVVNFUl9LRVlfUkVNT1RFX0NPTVBST01JU0VSHFVTRVJfS0VZX1BIWVNJQ0FMX0NPTVBST01JU0VSEFVQREFURV9BVkFJTEFCTEVSB1JFVk9LRURSGFNFTEZfQVNTRVJUSU9OX1NVQk1JVFRFRFIRRklET19DRVJUSUZJRURfTDFSFUZJRE9fQ0VSVElGSUVEX0wxcGx1c1IRRklET19DRVJUSUZJRURfTDJSFUZJRE9fQ0VSVElGSUVEX0wycGx1c1IRRklET19DRVJUSUZJRURfTDNSFUZJRE9fQ0VSVElGSUVEX0wzcGx1cxKjBQoedW5kZXNpcmVkX2F1dGhlbnRpY2F0b3Jfc3RhdHVzGAcgAygJQvoEkkGfAjKWAXByb3ZpZGVzIHRoZSBsaXN0IG9mIHN0YXR1c2VzIHdoaWNoIGFyZSBjb25zaWRlcmVkIHVuZGVzaXJhYmxlIGZvciBzdGF0dXMgcmVwb3J0IHZhbGlkYXRpb24gcHVycG9zZXMuIFNob3VsZCBiZSB1c2VkIHdpdGggdmFsaWRhdGVfc3RhdHVzIHNldCB0byB0cnVlLjqDAVsnQVRURVNUQVRJT05fS0VZX0NPTVBST01JU0UnLCAnVVNFUl9WRVJJRklDQVRJT05fQllQQVNTJywgJ1VTRVJfS0VZX1JFTU9URV9DT01QUk9NSVNFJywgJ1VTRVJfS0VZX1BIWVNJQ0FMX0NPTVBST01JU0UnLCAnUkVWT0tFRCddukjTApIBzwIQCiLKAnLHAlISTk9UX0ZJRE9fQ0VSVElGSUVEUg5GSURPX0NFUlRJRklFRFIYVVNFUl9WRVJJRklDQVRJT05fQllQQVNTUhpBVFRFU1RBVElPTl9LRVlfQ09NUFJPTUlTRVIaVVNFUl9LRVlfUkVNT1RFX0NPTVBST01JU0VSHFVTRVJfS0VZX1BIWVNJQ0FMX0NPTVBST01JU0VSEFVQREFURV9BVkFJTEFCTEVSB1JFVk9LRURSGFNFTEZfQVNTRVJUSU9OX1NVQk1JVFRFRFIRRklET19DRVJUSUZJRURfTDFSFUZJRE9fQ0VSVElGSUVEX0wxcGx1c1IRRklET19DRVJUSUZJRURfTDJSFUZJRE9fQ0VSVElGSUVEX0wycGx1c1IRRklET19DRVJUSUZJRURfTDNSFUZJRE9fQ0VSVElGSUVEX0wzcGx1cxrbAQoWQXV0aGVudGljYXRvclNlbGVjdGlvbhJgChF1c2VyX3ZlcmlmaWNhdGlvbhgBIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUInukgkciJSCHJlcXVpcmVkUglwcmVmZXJyZWRSC2Rpc2NvdXJhZ2VkEl8KGGF1dGhlbnRpY2F0b3JfYXR0YWNobWVudBgCIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIfukgcchpSCHBsYXRmb3JtUg5jcm9zcy1wbGF0Zm9ybRrzAwoHVGltZW91dBJqCgxyZWdpc3RyYXRpb24YASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25COZJBJzIdUmVnaXN0cmF0aW9uIHRpbWVvdXQgZHVyYXRpb246BiIzMDBzIrpIDKoBCSIDCIgOMgIIeBKUAQoQcmVnaXN0cmF0aW9uX3V2ZBgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJfkkFNMkNSZWdpc3RyYXRpb24gdGltZW91dCBkdXJhdGlvbiB3aGVuIHVzZXIgdmVyaWZpY2F0aW9uIGlzIGRpc2NvdXJhZ2VkOgYiMzAwcyK6SAyqAQkiAwiIDjICCHgSXAoFbG9naW4YAyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CMpJBIDIWTG9naW4gdGltZW91dCBkdXJhdGlvbjoGIjMwMHMiukgMqgEJIgMIiA4yAgh4EoYBCglsb2dpbl91dmQYBCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CWJJBRjI8TG9naW4gdGltZW91dCBkdXJhdGlvbiB3aGVuIHVzZXIgdmVyaWZpY2F0aW9uIGlzIGRpc2NvdXJhZ2VkOgYiMzAwcyK6SAyqAQkiAwiIDjICCHgijxMKG1NBTUxDb25uZWN0aW9uQ29uZmlnUmVxdWVzdBJ6ChBpZHBfbWV0YWRhdGFfdXJsGAEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkKSQT8yEElEUCBNZXRhZGF0YSBVUkxKKyJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbC9tZXRhZGF0YSISawoNaWRwX2VudGl0eV9pZBgCIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUI2kkEzMg1JRFAgRW50aXR5IElESiIiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL3NhbWwiEmsKC2lkcF9zc29fdXJsGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjiSQTUyC0lEUCBTU08gVVJMSiYiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL3NhbWwvc3NvIhJLCg9pZHBfY2VydGlmaWNhdGUYBCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCFJJBETIPSURQIENlcnRpZmljYXRlEmsKC2lkcF9zbG9fdXJsGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjiSQTUyC0lEUCBTTE8gVVJMSiYiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL3NhbWwvc2xvIhJdCg91aV9idXR0b25fdGl0bGUYBiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCJpJBIzIPVUkgQnV0dG9uIFRpdGxlShAiTG9naW4gd2l0aCBTU08iEmMKEmlkcF9uYW1lX2lkX2Zvcm1hdBgHIAEoDjIlLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLk5hbWVJZEZvcm1hdEIgkkEdMhJJRFAgTmFtZSBJRCBGb3JtYXRKByJFTUFJTCIScwoXaWRwX3Nzb19yZXF1ZXN0X2JpbmRpbmcYCCABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5SZXF1ZXN0QmluZGluZ0IpkkEmMhdJRFAgU1NPIFJlcXVlc3QgQmluZGluZ0oLIkhUVFBfUE9TVCISdwoXaWRwX3Nsb19yZXF1ZXN0X2JpbmRpbmcYCSABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5SZXF1ZXN0QmluZGluZ0ItkkEqMhdJRFAgU0xPIFJlcXVlc3QgQmluZGluZ0oPIkhUVFBfUkVESVJFQ1QiEoABChNzYW1sX3NpZ25pbmdfb3B0aW9uGAogASgOMisuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuU0FNTFNpZ25pbmdPcHRpb25zQjaSQTMyE1NBTUwgU2lnbmluZyBPcHRpb25KHCJTQU1MX09OTFlfUkVTUE9OU0VfU0lHTklORyISRwoLZm9yY2VfYXV0aG4YDiABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQhaSQRMyC0ZvcmNlIEF1dGhuSgR0cnVlEoIBChRkZWZhdWx0X3JlZGlyZWN0X3VyaRgPIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUJGkkFDMhREZWZhdWx0IFJlZGlyZWN0IFVSSUorImh0dHBzOi8veW91cmFwcC5jb20vc2VydmljZS9zYW1sL3JlZGlyZWN0IhJXChNhc3NlcnRpb25fZW5jcnlwdGVkGBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIekkEbMhNBc3NlcnRpb24gRW5jcnlwdGVkSgR0cnVlElcKE3dhbnRfcmVxdWVzdF9zaWduZWQYESABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQh6SQRsyE1dhbnQgUmVxdWVzdCBTaWduZWRKBHRydWUSYgoOY2VydGlmaWNhdGVfaWQYEiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCLJJBKTIOQ2VydGlmaWNhdGUgSURKFyJjZXJfMzU1ODU0MjMxNjYxNDQ2MTMiElIKEGlkcF9zbG9fcmVxdWlyZWQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQhySQRkyEUVuYWJsZSBJRFAgbG9nb3V0SgR0cnVlEoQBCgxzcF9lbnRpdHlfaWQYFCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCUJJBTTIaU2VydmljZSBQcm92aWRlciBFbnRpdHkgSURKLyJodHRwczovL2Vudi5zY2FsZWtpdC5jb20vc3NvL3YxL3NhbWwvY29ubl8xMjMiEo8BChBzcF9hc3NlcnRpb25fdXJsGBUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQleSQVQyGFNlcnZpY2UgUHJvdmlkZXIgU1NPIFVSTEo4Imh0dHBzOi8vZW52LnNjYWxla2l0LmNvbS9zc28vdjEvc2FtbC9jb25uXzEyMy9jYWxsYmFjayIShAEKCnNwX3Nsb191cmwYFiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCUpJBTzIYU2VydmljZSBQcm92aWRlciBTTE8gVVJMSjMiaHR0cHM6Ly9lbnYuc2NhbGVraXQuY29tL3Nzby92MS9zYW1sL2Nvbm5fMTIzL3NsbyISrgEKGnN5bmNfdXNlcl9wcm9maWxlX29uX2xvZ2luGBcgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJukkFrMmNJbmRpY2F0ZXMgd2hldGhlciB1c2VyIHByb2ZpbGVzIHNob3VsZCBiZSBzeW5jaHJvbml6ZWQgd2l0aCB0aGUgaWRlbnRpdHkgcHJvdmlkZXIgdXBvbiBlYWNoIGxvZy1pbi5KBHRydWUSmwEKIWppdF9wcm92aXNpb25pbmdfd2l0aF9zc29fZW5hYmxlZBgYIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCVJJBUTJJSW5kaWNhdGVzIGlmIEp1c3QgSW4gVGltZSB1c2VyIHByb3Zpc2lvbmluZyBpcyBlbmFibGVkIGZvciB0aGUgY29ubmVjdGlvbkoEdHJ1ZUoECAsQDCLvEwocU0FNTENvbm5lY3Rpb25Db25maWdSZXNwb25zZRJLCgxzcF9lbnRpdHlfaWQYASABKAlCNZJBMjIMU1AgRW50aXR5IElESiIiaHR0cHM6Ly95b3VyYXBwLmNvbS9zZXJ2aWNlL3NhbWwiEl0KEHNwX2Fzc2VydGlvbl91cmwYAiABKAlCQ5JBQDIQU1AgQXNzZXJ0aW9uIFVSTEosImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9zYW1sL2Fzc2VydGlvbiISWgoPc3BfbWV0YWRhdGFfdXJsGAMgASgJQkGSQT4yD1NQIE1ldGFkYXRhIFVSTEorImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9zYW1sL21ldGFkYXRhIhJ6ChBpZHBfbWV0YWRhdGFfdXJsGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkKSQT8yEElEUCBNZXRhZGF0YSBVUkxKKyJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbC9tZXRhZGF0YSISawoNaWRwX2VudGl0eV9pZBgFIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUI2kkEzMg1JRFAgRW50aXR5IElESiIiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL3NhbWwiEmsKC2lkcF9zc29fdXJsGAYgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjiSQTUyC0lEUCBTU08gVVJMSiYiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL3NhbWwvc3NvIhJYChBpZHBfY2VydGlmaWNhdGVzGAcgAygLMicuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuSURQQ2VydGlmaWNhdGVCFZJBEjIQSURQIENlcnRpZmljYXRlcxJrCgtpZHBfc2xvX3VybBgIIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUI4kkE1MgtJRFAgU0xPIFVSTEomImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9zYW1sL3NsbyISXQoPdWlfYnV0dG9uX3RpdGxlGAkgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQiaSQSMyD1VJIEJ1dHRvbiBUaXRsZUoQIkxvZ2luIHdpdGggU1NPIhJjChJpZHBfbmFtZV9pZF9mb3JtYXQYCiABKA4yJS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5OYW1lSWRGb3JtYXRCIJJBHTISSURQIE5hbWUgSUQgRm9ybWF0SgciRU1BSUwiEnMKF2lkcF9zc29fcmVxdWVzdF9iaW5kaW5nGAsgASgOMicuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuUmVxdWVzdEJpbmRpbmdCKZJBJjIXSURQIFNTTyBSZXF1ZXN0IEJpbmRpbmdKCyJIVFRQX1BPU1QiEnMKF2lkcF9zbG9fcmVxdWVzdF9iaW5kaW5nGAwgASgOMicuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuUmVxdWVzdEJpbmRpbmdCKZJBJjIXSURQIFNMTyBSZXF1ZXN0IEJpbmRpbmdKCyJIVFRQX1BPU1QiEoABChNzYW1sX3NpZ25pbmdfb3B0aW9uGA0gASgOMisuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuU0FNTFNpZ25pbmdPcHRpb25zQjaSQTMyE1NBTUwgU2lnbmluZyBPcHRpb25KHCJTQU1MX09OTFlfUkVTUE9OU0VfU0lHTklORyISYwoZYWxsb3dfaWRwX2luaXRpYXRlZF9sb2dpbhgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCJJJBITIZQWxsb3cgSURQIEluaXRpYXRlZCBMb2dpbkoEdHJ1ZRJHCgtmb3JjZV9hdXRobhgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCFpJBEzILRm9yY2UgQXV0aG5KBHRydWUSggEKFGRlZmF1bHRfcmVkaXJlY3RfdXJpGBAgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkaSQUMyFERlZmF1bHQgUmVkaXJlY3QgVVJJSisiaHR0cHM6Ly95b3VyYXBwLmNvbS9zZXJ2aWNlL3NhbWwvcmVkaXJlY3QiElcKE2Fzc2VydGlvbl9lbmNyeXB0ZWQYESABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQh6SQRsyE0Fzc2VydGlvbiBFbmNyeXB0ZWRKBHRydWUSVwoTd2FudF9yZXF1ZXN0X3NpZ25lZBgSIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCHpJBGzITV2FudCBSZXF1ZXN0IFNpZ25lZEoEdHJ1ZRJiCg5jZXJ0aWZpY2F0ZV9pZBgTIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIskkEpMg5DZXJ0aWZpY2F0ZSBJREoXImNlcl8zNTU4NTQyMzE2NjE0NDYxMyISUgoQaWRwX3Nsb19yZXF1aXJlZBgUIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCHJJBGTIRRW5hYmxlIElEUCBsb2dvdXRKBHRydWUSjAEKCnNwX3Nsb191cmwYFSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCWpJBVDIYU2VydmljZSBQcm92aWRlciBTTE8gdXJsSjgiaHR0cHM6Ly95b3VyYXBwLmNvbS9zc28vdjEvc2FtbC9jb25uXzEyMzQvc2xvL2NhbGxiYWNrIuBBAxKuAQoac3luY191c2VyX3Byb2ZpbGVfb25fbG9naW4YFiABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQm6SQWsyY0luZGljYXRlcyB3aGV0aGVyIHVzZXIgcHJvZmlsZXMgc2hvdWxkIGJlIHN5bmNocm9uaXplZCB3aXRoIHRoZSBpZGVudGl0eSBwcm92aWRlciB1cG9uIGVhY2ggbG9nLWluLkoEdHJ1ZRKbAQohaml0X3Byb3Zpc2lvbmluZ193aXRoX3Nzb19lbmFibGVkGBcgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJUkkFRMklJbmRpY2F0ZXMgaWYgSnVzdCBJbiBUaW1lIHVzZXIgcHJvdmlzaW9uaW5nIGlzIGVuYWJsZWQgZm9yIHRoZSBjb25uZWN0aW9uSgR0cnVlIo4DCg5JRFBDZXJ0aWZpY2F0ZRIpCgtjZXJ0aWZpY2F0ZRgBIAEoCUIUkkERMg9JRFAgQ2VydGlmaWNhdGUSZwoLY3JlYXRlX3RpbWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQjaSQTMyGUNlcnRpZmljYXRlIENyZWF0aW9uIFRpbWVKFiIyMDIxLTA5LTAxVDAwOjAwOjAwWiISZQoLZXhwaXJ5X3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQjSSQTEyF0NlcnRpZmljYXRlIEV4cGlyeSBUaW1lShYiMjAyMS0wOS0wMVQwMDowMDowMFoiEjQKAmlkGAQgASgJQiiSQSUyDkNlcnRpZmljYXRlIElEShMiY2VydF8xMjMxMjMxMjMxMjMiEksKBmlzc3VlchgFIAEoCUI7kkE4MhJDZXJ0aWZpY2F0ZSBJc3N1ZXJKIiJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbCIiWAoWR2V0T0lEQ01ldGFkYXRhUmVxdWVzdBI+CghtZXRhZGF0YRgBIAEoCzIsLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLk9JRENNZXRhZGF0YVJlcXVlc3QiMQoTT0lEQ01ldGFkYXRhUmVxdWVzdBIaCgZpc3N1ZXIYASABKAlCCrpIB3IFEAEYyAEijgEKF0dldE9JRENNZXRhZGF0YVJlc3BvbnNlEg4KBmlzc3VlchgBIAEoCRIeChZhdXRob3JpemF0aW9uX2VuZHBvaW50GAIgASgJEhYKDnRva2VuX2VuZHBvaW50GAMgASgJEhkKEXVzZXJpbmZvX2VuZHBvaW50GAQgASgJEhAKCGp3a3NfdXJpGAUgASgJIlgKFkdldFNBTUxNZXRhZGF0YVJlcXVlc3QSPgoIbWV0YWRhdGEYASABKAsyLC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5TQU1MTWV0YWRhdGFSZXF1ZXN0IjcKE1NBTUxNZXRhZGF0YVJlcXVlc3QSIAoMbWV0YWRhdGFfdXJsGAEgASgJQgq6SAdyBRABGMgBIskBChdHZXRTQU1MTWV0YWRhdGFSZXNwb25zZRIVCg1pZHBfZW50aXR5X2lkGAEgASgJEhMKC2lkcF9zc29fdXJsGAIgASgJEhMKC2lkcF9zbG9fdXJsGAMgASgJEhgKEGlkcF9jZXJ0aWZpY2F0ZXMYBCADKAkSGgoSaWRwX25hbWVfaWRfZm9ybWF0GAUgASgJEhcKD3JlcXVlc3RfYmluZGluZxgGIAEoCRIeChZ3YW50X2Fzc2VydGlvbnNfc2lnbmVkGAcgASgIImgKIEdldFNBTUxDZXJ0aWZpY2F0ZURldGFpbHNSZXF1ZXN0EkQKC2NlcnRpZmljYXRlGAEgASgLMi8uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuU0FNTENlcnRpZmljYXRlUmVxdWVzdCIvChZTQU1MQ2VydGlmaWNhdGVSZXF1ZXN0EhUKBHRleHQYASABKAlCB7pIBHICEAEieQohR2V0U0FNTENlcnRpZmljYXRlRGV0YWlsc1Jlc3BvbnNlEgwKBHRleHQYASABKAkSEQoJbm90X2FmdGVyGAIgASgDEhIKCm5vdF9iZWZvcmUYAyABKAMSDwoHc3ViamVjdBgEIAEoCRIOCgZpc3N1ZXIYBSABKAkiaQoeR2V0Q29ubmVjdGlvblRlc3RSZXN1bHRSZXF1ZXN0Eh4KDWNvbm5lY3Rpb25faWQYASABKAlCB7pIBHICEAESJwoPdGVzdF9yZXF1ZXN0X2lkGAIgASgJQg66SAtyCRABOgV0ZXN0XyKEAgofR2V0Q29ubmVjdGlvblRlc3RSZXN1bHRSZXNwb25zZRI5CgZzdGF0dXMYASABKA4yKS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5UZXN0UmVzdWx0U3RhdHVzEhYKCXVzZXJfaW5mbxgCIAEoCUgAiAEBEhIKBWVycm9yGAMgASgJSAGIAQESHgoRZXJyb3JfZGVzY3JpcHRpb24YBCABKAlIAogBARIaCg1lcnJvcl9kZXRhaWxzGAUgASgJSAOIAQFCDAoKX3VzZXJfaW5mb0IICgZfZXJyb3JCFAoSX2Vycm9yX2Rlc2NyaXB0aW9uQhAKDl9lcnJvcl9kZXRhaWxzIhoKGFBhc3N3b3JkQ29ubmVjdGlvbkNvbmZpZyIpCgVGbGFncxIQCghpc19sb2dpbhgBIAEoCBIOCgZpc19hcHAYAiABKAgiigMKGUxpc3RBcHBDb25uZWN0aW9uc1JlcXVlc3QSdgoJcGFnZV9zaXplGAEgASgNQmOSQVkyU01heGltdW0gbnVtYmVyIG9mIG9yZ2FuaXphdGlvbnMgdG8gcmV0dXJuIHBlciBwYWdlLiBWYWx1ZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMzAuSgIzMLpIBCoCGB4SmgEKCnBhZ2VfdG9rZW4YAiABKAlChQGSQYEBMmFUb2tlbiBmcm9tIGEgcHJldmlvdXMgcmVzcG9uc2UgZm9yIHBhZ2luYXRpb24uIFByb3ZpZGUgdGhpcyB0byByZXRyaWV2ZSB0aGUgbmV4dCBwYWdlIG9mIHJlc3VsdHMuShxleUp3WVdkbElqb3lMQ0pzYVcxcGRDSTZNekI5EksKCHByb3ZpZGVyGAMgASgJQjSSQSgyHkZpbHRlciBjb25uZWN0aW9ucyBieSBwcm92aWRlckoGIk9LVEEiukgGcgQQARgySACIAQFCCwoJX3Byb3ZpZGVyIrMDChpMaXN0QXBwQ29ubmVjdGlvbnNSZXNwb25zZRJ0Cgtjb25uZWN0aW9ucxgBIAMoCzInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkxpc3RDb25uZWN0aW9uQjaSQTMyMUxpc3Qgb2YgY29ubmVjdGlvbnMgbWF0Y2hpbmcgdGhlIHJlcXVlc3QgY3JpdGVyaWESYAoPbmV4dF9wYWdlX3Rva2VuGAIgASgJQkeSQUQyIlRva2VuIGZvciB0aGUgbmV4dCBwYWdlIG9mIHJlc3VsdHNKHiJleUp3WVdkbElqb3lMQ0pzYVcxcGRDSTZNekI5IhJkCg9wcmV2X3BhZ2VfdG9rZW4YAyABKAlCS5JBSDImVG9rZW4gZm9yIHRoZSBwcmV2aW91cyBwYWdlIG9mIHJlc3VsdHNKHiJleUp3WVdkbElqb3lMQ0pzYVcxcGRDSTZNekI5IhJXCgp0b3RhbF9zaXplGAQgASgNQkOSQUAyOVRvdGFsIG51bWJlciBvZiBjb25uZWN0aW9ucyBtYXRjaGluZyB0aGUgcmVxdWVzdCBjcml0ZXJpYUoDMTAwIm0KG0dldENvbm5lY3Rpb25Db250ZXh0UmVxdWVzdBIqCg1jb25uZWN0aW9uX2lkGAEgASgJQhO6SBDIAQFyCxABGCA6BWNvbm5fEiIKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIJukgGcgQQABggIkgKHEdldENvbm5lY3Rpb25Db250ZXh0UmVzcG9uc2USKAoHY29udGV4dBgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QimgEKHlVwZGF0ZUNvbm5lY3Rpb25Db250ZXh0UmVxdWVzdBIqCg1jb25uZWN0aW9uX2lkGAEgASgJQhO6SBDIAQFyCxABGCA6BWNvbm5fEiIKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIJukgGcgQQABggEigKB2NvbnRleHQYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0KlcKEUNvZGVDaGFsbGVuZ2VUeXBlEiMKH0NPREVfQ0hBTExFTkdFX1RZUEVfVU5TUEVDSUZJRUQQABILCgdOVU1FUklDEAESEAoMQUxQSEFOVU1FUklDEAIqUgoRQ29uZmlndXJhdGlvblR5cGUSIgoeQ09ORklHVVJBVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASDQoJRElTQ09WRVJZEAESCgoGTUFOVUFMEAIqYQoMTmFtZUlkRm9ybWF0EhYKEk5BTUVfSURfRk9STUFUX05JTBAAEg8KC1VOU1BFQ0lGSUVEEAESCQoFRU1BSUwQAhINCglUUkFOU0lFTlQQAxIOCgpQRVJTSVNURU5UEAQqVQoQUGFzc3dvcmRsZXNzVHlwZRIgChxQYXNzd29yZGxlc3NUeXBlX1VOU1BFQ0lGSUVEEAASCAoETElOSxABEgcKA09UUBACEgwKCExJTktfT1RQEAMqOQoQVGVzdFJlc3VsdFN0YXR1cxILCgdQRU5ESU5HEAASCwoHU1VDQ0VTUxABEgsKB0ZBSUxVUkUQAirYAQoSU0FNTFNpZ25pbmdPcHRpb25zEiQKIFNBTUxfU0lHTklOR19PUFRJT05TX1VOU1BFQ0lGSUVEEAASDgoKTk9fU0lHTklORxABEh4KGlNBTUxfT05MWV9SRVNQT05TRV9TSUdOSU5HEAISHwobU0FNTF9PTkxZX0FTU0VSVElPTl9TSUdOSU5HEAMSIwofU0FNTF9SRVNQT05TRV9BU1NFUlRJT05fU0lHTklORxAEEiYKIlNBTUxfUkVTUE9OU0VfT1JfQVNTRVJUSU9OX1NJR05JTkcQBSpTCg5SZXF1ZXN0QmluZGluZxIfChtSRVFVRVNUX0JJTkRJTkdfVU5TUEVDSUZJRUQQABINCglIVFRQX1BPU1QQARIRCg1IVFRQX1JFRElSRUNUEAIqUAoNVG9rZW5BdXRoVHlwZRIfChtUT0tFTl9BVVRIX1RZUEVfVU5TUEVDSUZJRUQQABIOCgpVUkxfUEFSQU1TEAESDgoKQkFTSUNfQVVUSBACKmMKCU9JRENTY29wZRIaChZPSURDX1NDT1BFX1VOU1BFQ0lGSUVEEAASCgoGb3BlbmlkEAESCwoHcHJvZmlsZRACEgkKBWVtYWlsEAMSCwoHYWRkcmVzcxAEEgkKBXBob25lEAUqjgEKDkNvbm5lY3Rpb25UeXBlEgsKB0lOVkFMSUQQABIICgRPSURDEAESCAoEU0FNTBACEgwKCFBBU1NXT1JEEAMSCQoFT0FVVEgQBBIQCgxQQVNTV09SRExFU1MQBRIJCgVCQVNJQxAGEgoKBkJFQVJFUhAHEgsKB0FQSV9LRVkQCBIMCghXRUJBVVRIThAJKmAKEENvbm5lY3Rpb25TdGF0dXMSIQodQ09OTkVDVElPTl9TVEFUVVNfVU5TUEVDSUZJRUQQABIJCgVEUkFGVBABEg8KC0lOX1BST0dSRVNTEAISDQoJQ09NUExFVEVEEAMqmAIKEkNvbm5lY3Rpb25Qcm92aWRlchIjCh9DT05ORUNUSU9OX1BST1ZJREVSX1VOU1BFQ0lGSUVEEAASCAoET0tUQRABEgoKBkdPT0dMRRACEhAKDE1JQ1JPU09GVF9BRBADEgkKBUFVVEgwEAQSDAoIT05FTE9HSU4QBRIRCg1QSU5HX0lERU5USVRZEAYSDQoJSlVNUENMT1VEEAcSCgoGQ1VTVE9NEAgSCgoGR0lUSFVCEAkSCgoGR0lUTEFCEAoSDAoITElOS0VESU4QCxIOCgpTQUxFU0ZPUkNFEAwSDQoJTUlDUk9TT0ZUEA0SEQoNSURQX1NJTVVMQVRPUhAOEgwKCFNDQUxFS0lUEA8SCAoEQURGUxAQMo9HChFDb25uZWN0aW9uU2VydmljZRKRAwobQ3JlYXRlRW52aXJvbm1lbnRDb25uZWN0aW9uEjsuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ3JlYXRlRW52aXJvbm1lbnRDb25uZWN0aW9uUmVxdWVzdBoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNyZWF0ZUNvbm5lY3Rpb25SZXNwb25zZSKBApJBwQEKC0Nvbm5lY3Rpb25zEhdDcmVhdGUgYSBuZXcgY29ubmVjdGlvbho4RXN0YWJsaXNoIGEgbmV3IGNvbm5lY3Rpb24gZm9yIHRoZSBzcGVjaWZpZWQgZW52aXJvbm1lbnRKXwoDMjAxElgKH0Nvbm5lY3Rpb24gY3JlYXRlZCBzdWNjZXNzZnVsbHkSNQozGjEuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ3JlYXRlQ29ubmVjdGlvblJlc3BvbnNlgrUYAhhE+tLkkwIJEgdQUkVWSUVXgtPkkwIhOgpjb25uZWN0aW9uIhMvYXBpL3YxL2Nvbm5lY3Rpb25zErMDChBDcmVhdGVDb25uZWN0aW9uEjAuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ3JlYXRlQ29ubmVjdGlvblJlcXVlc3QaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uUmVzcG9uc2UiuQKSQcYBCgtDb25uZWN0aW9ucxIXQ3JlYXRlIGEgbmV3IGNvbm5lY3Rpb24aPUVzdGFibGlzaCBhIG5ldyBTU08gY29ubmVjdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBvcmdhbml6YXRpb25KXwoDMjAxElgKH0Nvbm5lY3Rpb24gY3JlYXRlZCBzdWNjZXNzZnVsbHkSNQozGjEuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ3JlYXRlQ29ubmVjdGlvblJlc3BvbnNlgrUYFQoRY29ubmVjdGlvbnNfd3JpdGUYdPrS5JMCCRIHUFJFVklFV4LT5JMCQToKY29ubmVjdGlvbiIzL2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2Nvbm5lY3Rpb25zEs0EChlBc3NpZ25Eb21haW5zVG9Db25uZWN0aW9uEjkuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQXNzaWduRG9tYWluc1RvQ29ubmVjdGlvblJlcXVlc3QaOi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Bc3NpZ25Eb21haW5zVG9Db25uZWN0aW9uUmVzcG9uc2UiuAOSQbYCCgtDb25uZWN0aW9ucxIeQXNzaWduIGRvbWFpbnMgdG8gYSBjb25uZWN0aW9uGp4BQXNzaWducyBvbmUgb3IgbW9yZSBkb21haW5zIHRvIGEgc3BlY2lmaWMgY29ubmVjdGlvbiB3aXRoaW4gYW4gb3JnYW5pemF0aW9uLiBUaGlzIGFsbG93cyB0aGUgY29ubmVjdGlvbiB0byBiZSB1c2VkIGZvciBhdXRoZW50aWNhdGlvbiBvbiB0aGUgc3BlY2lmaWVkIGRvbWFpbnNKZgoDMjAwEl8KHURvbWFpbnMgYXNzaWduZWQgc3VjY2Vzc2Z1bGx5Ej4KPBo6LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkFzc2lnbkRvbWFpbnNUb0Nvbm5lY3Rpb25SZXNwb25zZYK1GBUKEWNvbm5lY3Rpb25zX3dyaXRlGHT60uSTAgkSB1BSRVZJRVeC0+STAlA6ASoaSy9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH0vZG9tYWlucxKyAwoYR2V0RW52aXJvbm1lbnRDb25uZWN0aW9uEjguc2NhbGVraXQudjEuY29ubmVjdGlvbnMuR2V0RW52aXJvbm1lbnRDb25uZWN0aW9uUmVxdWVzdBouLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkdldENvbm5lY3Rpb25SZXNwb25zZSKrApJB5wEKC0Nvbm5lY3Rpb25zEhtSZXRyaWV2ZSBjb25uZWN0aW9uIGRldGFpbHMaU09idGFpbiBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIGNvbm5lY3Rpb24gdXNpbmcgaXRzIHVuaXF1ZSBpZGVudGlmaWVySmYKAzIwMBJfCilTdWNjZXNzZnVsbHkgcmV0cmlldmVkIGNvbm5lY3Rpb24gZGV0YWlscxIyCjAaLi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5HZXRDb25uZWN0aW9uUmVzcG9uc2WCtRgCGET60uSTAgkSB1BSRVZJRVeC0+STAiUSIy9hcGkvdjEvY29ubmVjdGlvbnMve2Nvbm5lY3Rpb25faWR9Es4ECg1HZXRDb25uZWN0aW9uEi0uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuR2V0Q29ubmVjdGlvblJlcXVlc3QaLi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5HZXRDb25uZWN0aW9uUmVzcG9uc2Ui3QOSQYEDCgtDb25uZWN0aW9ucxIWR2V0IGNvbm5lY3Rpb24gZGV0YWlscxrRAVJldHJpZXZlcyB0aGUgY29tcGxldGUgY29uZmlndXJhdGlvbiBhbmQgc3RhdHVzIGRldGFpbHMgZm9yIGEgc3BlY2lmaWMgY29ubmVjdGlvbiBieSBpdHMgSUQgd2l0aGluIGFuIG9yZ2FuaXphdGlvbi4gUmV0dXJucyBhbGwgY29ubmVjdGlvbiBwcm9wZXJ0aWVzIGluY2x1ZGluZyBwcm92aWRlciBzZXR0aW5ncywgcHJvdG9jb2xzLCBhbmQgY3VycmVudCBzdGF0dXMuSoUBCgMyMDASfgpIU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBjb25uZWN0aW9uIGRldGFpbHMgZm9yIHRoZSBzcGVjaWZpZWQgb3JnYW5pemF0aW9uEjIKMBouLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkdldENvbm5lY3Rpb25SZXNwb25zZYK1GBQKEGNvbm5lY3Rpb25zX3JlYWQYdILT5JMCOhI4L2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2Nvbm5lY3Rpb25zL3tpZH0S5AIKD0xpc3RDb25uZWN0aW9ucxIvLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkxpc3RDb25uZWN0aW9uc1JlcXVlc3QaMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5MaXN0Q29ubmVjdGlvbnNSZXNwb25zZSLtAZJBtgEKC0Nvbm5lY3Rpb25zEhBMaXN0IGNvbm5lY3Rpb25zGjJSZXRyaWV2ZXMgYSBsaXN0IG9mIGNvbm5lY3Rpb25zIGluIHRoZSBlbnZpcm9ubWVudEphCgMyMDASWgoiU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBjb25uZWN0aW9ucxI0CjIaMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5MaXN0Q29ubmVjdGlvbnNSZXNwb25zZYK1GBQKEGNvbm5lY3Rpb25zX3JlYWQYdILT5JMCFRITL2FwaS92MS9jb25uZWN0aW9ucxK1AwobTGlzdE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zEjsuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVxdWVzdBo8LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkxpc3RPcmdhbml6YXRpb25Db25uZWN0aW9uc1Jlc3BvbnNlIpoCkkHWAQoLQ29ubmVjdGlvbnMSHUxpc3Qgb3JnYW5pemF0aW9uIGNvbm5lY3Rpb25zGjlSZXRyaWV2ZXMgYSBsaXN0IG9mIGNvbm5lY3Rpb25zIGZvciBhbGwgdGhlIG9yZ2FuaXphdGlvbnNKbQoDMjAwEmYKIlN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgY29ubmVjdGlvbnMSQAo+Gjwuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVzcG9uc2WCtRgCGET60uSTAgkSB1BSRVZJRVeC0+STAiUSIy9hcGkvdjEvb3JnYW5pemF0aW9ucy8tL2Nvbm5lY3Rpb25zEs0DCh1TZWFyY2hPcmdhbml6YXRpb25Db25uZWN0aW9ucxI9LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNlYXJjaE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVxdWVzdBo+LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNlYXJjaE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVzcG9uc2UirAKSQeEBCgtDb25uZWN0aW9ucxIfU2VhcmNoIG9yZ2FuaXphdGlvbiBjb25uZWN0aW9ucxpEU2VhcmNoIHdpdGggcXVlcnkgb3IgZmlsdGVycyBwcm92aWRlZCBhbmQgcmV0dXJuIGxpc3Qgb2YgY29ubmVjdGlvbnNKawoDMjAwEmQKHlN1Y2Nlc3NmdWxseSBmb3VuZCBjb25uZWN0aW9ucxJCCkAaPi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5TZWFyY2hPcmdhbml6YXRpb25Db25uZWN0aW9uc1Jlc3BvbnNlgrUYAhhE+tLkkwIJEgdQUkVWSUVXgtPkkwIsEiovYXBpL3YxL29yZ2FuaXphdGlvbnMvLS9jb25uZWN0aW9uczpzZWFyY2gS8QIKG1VwZGF0ZUVudmlyb25tZW50Q29ubmVjdGlvbhI7LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUVudmlyb25tZW50Q29ubmVjdGlvblJlcXVlc3QaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5VcGRhdGVDb25uZWN0aW9uUmVzcG9uc2Ui4QGSQZEBCgtDb25uZWN0aW9ucxITVXBkYXRlIGEgY29ubmVjdGlvbhoXVXBkYXRlIGEgU1NPIENvbm5lY3Rpb25KVAoDMjAwEk0KFFVwZGF0ZWQgU3VjY2Vzc2Z1bGx5EjUKMxoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25SZXNwb25zZYK1GAIYRPrS5JMCCRIHUFJFVklFV4LT5JMCMToKY29ubmVjdGlvbjIjL2FwaS92MS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH0SlAMKEFVwZGF0ZUNvbm5lY3Rpb24SMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5VcGRhdGVDb25uZWN0aW9uUmVxdWVzdBoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25SZXNwb25zZSKaApJBogEKC0Nvbm5lY3Rpb25zEiRVcGRhdGUgYSBjb25uZWN0aW9uIGZvciBvcmdhbml6YXRpb24aF1VwZGF0ZSBhIFNTTyBDb25uZWN0aW9uSlQKAzIwMBJNChRVcGRhdGVkIFN1Y2Nlc3NmdWxseRI1CjMaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5VcGRhdGVDb25uZWN0aW9uUmVzcG9uc2WCtRgVChFjb25uZWN0aW9uc193cml0ZRh0+tLkkwIJEgdQUkVWSUVXgtPkkwJGOgpjb25uZWN0aW9uMjgvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vY29ubmVjdGlvbnMve2lkfRKSAgobRGVsZXRlRW52aXJvbm1lbnRDb25uZWN0aW9uEjsuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuRGVsZXRlRW52aXJvbm1lbnRDb25uZWN0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSKdAZJBWgoLQ29ubmVjdGlvbnMSE0RlbGV0ZSBhIGNvbm5lY3Rpb24aF0RlbGV0ZSBhIFNTTyBDb25uZWN0aW9uSh0KAzIwMBIWChREZWxldGVkIFN1Y2Nlc3NmdWxseYK1GAIYRPrS5JMCCRIHUFJFVklFV4LT5JMCJSojL2FwaS92MS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH0S9wMKEERlbGV0ZUNvbm5lY3Rpb24SMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5EZWxldGVDb25uZWN0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSKYA5JBzgIKC0Nvbm5lY3Rpb25zEhVEZWxldGUgU1NPIGNvbm5lY3Rpb24a+QFEZWxldGVzIGFuIFNTTyBjb25uZWN0aW9uIGZyb20gdGhlIHNwZWNpZmllZCBvcmdhbml6YXRpb24gYnkgY29ubmVjdGlvbiBJRC4gVXNlIHRoaXMgZW5kcG9pbnQgd2hlbiBhbiBpZGVudGl0eSBwcm92aWRlciBpbnRlZ3JhdGlvbiBpcyBubyBsb25nZXIgbmVlZGVkIGZvciB0aGUgb3JnYW5pemF0aW9uLiBSZXR1cm5zIGFuIGVtcHR5IHJlc3BvbnNlIGFmdGVyIHRoZSBTU08gY29ubmVjdGlvbiBpcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS5KLAoDMjAwEiUKI1NTTyBjb25uZWN0aW9uIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5grUYAhhkgtPkkwI6KjgvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vY29ubmVjdGlvbnMve2lkfRLfAgobRW5hYmxlRW52aXJvbm1lbnRDb25uZWN0aW9uEjsuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVG9nZ2xlRW52aXJvbm1lbnRDb25uZWN0aW9uUmVxdWVzdBoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRvZ2dsZUNvbm5lY3Rpb25SZXNwb25zZSLPAZJBhAEKC0Nvbm5lY3Rpb25zEhNFbmFibGUgYSBjb25uZWN0aW9uGhdFbmFibGUgYSBTU08gQ29ubmVjdGlvbkpHCgMyMDASQAoHU3VjY2VzcxI1CjMaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVDb25uZWN0aW9uUmVzcG9uc2WCtRgCGET60uSTAgkSB1BSRVZJRVeC0+STAiwyKi9hcGkvdjEvY29ubmVjdGlvbnMve2Nvbm5lY3Rpb25faWR9OmVuYWJsZRLUBAoQRW5hYmxlQ29ubmVjdGlvbhIwLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRvZ2dsZUNvbm5lY3Rpb25SZXF1ZXN0GjEuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVG9nZ2xlQ29ubmVjdGlvblJlc3BvbnNlItoDkkH2AgoLQ29ubmVjdGlvbnMSFUVuYWJsZSBTU08gY29ubmVjdGlvbhruAUFjdGl2YXRlIGFuIGV4aXN0aW5nIGNvbm5lY3Rpb24gZm9yIHRoZSBzcGVjaWZpZWQgb3JnYW5pemF0aW9uLiBXaGVuIGVuYWJsZWQsIHVzZXJzIGNhbiBhdXRoZW50aWNhdGUgdXNpbmcgdGhpcyBjb25uZWN0aW9uLiBUaGlzIGVuZHBvaW50IGNoYW5nZXMgdGhlIGNvbm5lY3Rpb24gc3RhdGUgZnJvbSBkaXNhYmxlZCB0byBlbmFibGVkIHdpdGhvdXQgbW9kaWZ5aW5nIG90aGVyIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3NKXwoDMjAwElgKH0Nvbm5lY3Rpb24gZW5hYmxlZCBzdWNjZXNzZnVsbHkSNQozGjEuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVG9nZ2xlQ29ubmVjdGlvblJlc3BvbnNlgrUYFQoRY29ubmVjdGlvbnNfd3JpdGUYdILT5JMCQTI/L2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2Nvbm5lY3Rpb25zL3tpZH06ZW5hYmxlEuMCChxEaXNhYmxlRW52aXJvbm1lbnRDb25uZWN0aW9uEjsuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVG9nZ2xlRW52aXJvbm1lbnRDb25uZWN0aW9uUmVxdWVzdBoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRvZ2dsZUNvbm5lY3Rpb25SZXNwb25zZSLSAZJBhgEKC0Nvbm5lY3Rpb25zEhREaXNhYmxlIGEgY29ubmVjdGlvbhoYRGlzYWJsZSBhIFNTTyBDb25uZWN0aW9uSkcKAzIwMBJACgdTdWNjZXNzEjUKMxoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRvZ2dsZUNvbm5lY3Rpb25SZXNwb25zZYK1GAIYRPrS5JMCCRIHUFJFVklFV4LT5JMCLTIrL2FwaS92MS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH06ZGlzYWJsZRLeBAoRRGlzYWJsZUNvbm5lY3Rpb24SMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVDb25uZWN0aW9uUmVxdWVzdBoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRvZ2dsZUNvbm5lY3Rpb25SZXNwb25zZSLjA5JB/gIKC0Nvbm5lY3Rpb25zEhZEaXNhYmxlIFNTTyBjb25uZWN0aW9uGvQBRGVhY3RpdmF0ZSBhbiBleGlzdGluZyBjb25uZWN0aW9uIGZvciB0aGUgc3BlY2lmaWVkIG9yZ2FuaXphdGlvbi4gV2hlbiBkaXNhYmxlZCwgdXNlcnMgY2Fubm90IGF1dGhlbnRpY2F0ZSB1c2luZyB0aGlzIGNvbm5lY3Rpb24uIFRoaXMgZW5kcG9pbnQgY2hhbmdlcyB0aGUgY29ubmVjdGlvbiBzdGF0ZSBmcm9tIGVuYWJsZWQgdG8gZGlzYWJsZWQgd2l0aG91dCBtb2RpZnlpbmcgb3RoZXIgY29uZmlndXJhdGlvbiBzZXR0aW5nc0pgCgMyMDASWQogQ29ubmVjdGlvbiBkaXNhYmxlZCBzdWNjZXNzZnVsbHkSNQozGjEuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVG9nZ2xlQ29ubmVjdGlvblJlc3BvbnNlgrUYFQoRY29ubmVjdGlvbnNfd3JpdGUYdILT5JMCQjJAL2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2Nvbm5lY3Rpb25zL3tpZH06ZGlzYWJsZRKAAwoXR2V0Q29ubmVjdGlvblRlc3RSZXN1bHQSNy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5HZXRDb25uZWN0aW9uVGVzdFJlc3VsdFJlcXVlc3QaOC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5HZXRDb25uZWN0aW9uVGVzdFJlc3VsdFJlc3BvbnNlIvEBkkGNAQoLQ29ubmVjdGlvbnMSFlRlc3QgY29ubmVjdGlvbiByZXN1bHQaFkNvbm5lY3Rpb24gdGVzdCByZXN1bHRKTgoDMjAwEkcKB1N1Y2Nlc3MSPAo6Gjguc2NhbGVraXQudjEuY29ubmVjdGlvbnMuR2V0Q29ubmVjdGlvblRlc3RSZXN1bHRSZXNwb25zZYK1GAIYdPrS5JMCCRIHUFJFVklFV4LT5JMCRRJDL2FwaS92MS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH0vdGVzdC1yZXF1ZXN0cy97dGVzdF9yZXF1ZXN0X2lkfRL2AgoSTGlzdEFwcENvbm5lY3Rpb25zEjIuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdEFwcENvbm5lY3Rpb25zUmVxdWVzdBozLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkxpc3RBcHBDb25uZWN0aW9uc1Jlc3BvbnNlIvYBkkG+AQoLQ29ubmVjdGlvbnMSFExpc3QgQXBwIGNvbm5lY3Rpb25zGjZSZXRyaWV2ZXMgYSBsaXN0IG9mIGFwcCBjb25uZWN0aW9ucyBpbiB0aGUgZW52aXJvbm1lbnRKYQoDMjAwEloKIlN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgY29ubmVjdGlvbnMSNAoyGjAuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdENvbm5lY3Rpb25zUmVzcG9uc2WCtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAhkSFy9hcGkvdjEvY29ubmVjdGlvbnMvYXBwEtADChRHZXRDb25uZWN0aW9uQ29udGV4dBI0LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkdldENvbm5lY3Rpb25Db250ZXh0UmVxdWVzdBo1LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkdldENvbm5lY3Rpb25Db250ZXh0UmVzcG9uc2UiygKSQa0BCgtDb25uZWN0aW9ucxIWR2V0IGNvbm5lY3Rpb24gY29udGV4dBo8UmV0cmlldmVzIHRoZSBjdXN0b20gY29udGV4dCBkYXRhIGZvciBhIHNwZWNpZmljIGNvbm5lY3Rpb24uSigKAzIwMBIhCh9SZXR1cm5zIHRoZSBjb25uZWN0aW9uIGNvbnRleHQuSh4KAzQwNBIXChVDb25uZWN0aW9uIG5vdCBmb3VuZC6CtRgCGHD60uSTAgkSB1BSRVZJRVeC0+STAn5aLhIsL2FwaS92MS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH0vY29udGV4dHMSTC9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH0vY29udGV4dHMS5AMKF1VwZGF0ZUNvbm5lY3Rpb25Db250ZXh0Ejcuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVXBkYXRlQ29ubmVjdGlvbkNvbnRleHRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IvcCkkHHAQoLQ29ubmVjdGlvbnMSGVVwZGF0ZSBjb25uZWN0aW9uIGNvbnRleHQaOlVwZGF0ZXMgdGhlIGN1c3RvbSBjb250ZXh0IGRhdGEgZm9yIGEgc3BlY2lmaWMgY29ubmVjdGlvbi5KJgoDMjAwEh8KHUNvbnRleHQgdXBkYXRlZCBzdWNjZXNzZnVsbHkuShkKAzQwMBISChBJbnZhbGlkIHJlcXVlc3QuSh4KAzQwNBIXChVDb25uZWN0aW9uIG5vdCBmb3VuZC6CtRgCGHD60uSTAgkSB1BSRVZJRVeC0+STApABOgdjb250ZXh0Wjc6B2NvbnRleHQaLC9hcGkvdjEvY29ubmVjdGlvbnMve2Nvbm5lY3Rpb25faWR9L2NvbnRleHRzGkwvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vY29ubmVjdGlvbnMve2Nvbm5lY3Rpb25faWR9L2NvbnRleHRzGpoBkkGWAQoLQ29ubmVjdGlvbnMShgFNYW5hZ2UgZW50ZXJwcmlzZSBjb25uZWN0aW9ucyBmb3IgeW91ciBTY2FsZWtpdCBlbnZpcm9ubWVudC4gVGhpcyBzZXJ2aWNlIHByb3ZpZGVzIGVuZHBvaW50cyBmb3IgcmV0cmlldmluZywgYW5kIHVwZGF0aW5nIGNvbm5lY3Rpb25zLkI3WjVnaXRodWIuY29tL3NjYWxla2l0LWluYy9zY2FsZWtpdC9wa2cvZ3JwYy9jb25uZWN0aW9uc2IGcHJvdG8z", [validate_pb_1.file_buf_validate_validate, annotations_pb_1.file_google_api_annotations, field_behavior_pb_1.file_google_api_field_behavior, visibility_pb_1.file_google_api_visibility, wkt_1.file_google_protobuf_duration, wkt_1.file_google_protobuf_empty, wkt_1.file_google_protobuf_struct, wkt_1.file_google_protobuf_timestamp, wkt_1.file_google_protobuf_wrappers, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations, domains_pb_1.file_scalekit_v1_domains_domains, options_pb_1.file_scalekit_v1_options_options]);
|
|
21
21
|
/**
|
|
22
22
|
* Describes the message scalekit.v1.connections.AssignDomainsToConnectionRequest.
|
|
23
23
|
* Use `create(AssignDomainsToConnectionRequestSchema)` to create a new message.
|
|
@@ -303,6 +303,21 @@ exports.ListAppConnectionsRequestSchema = (0, codegenv2_1.messageDesc)(exports.f
|
|
|
303
303
|
* Use `create(ListAppConnectionsResponseSchema)` to create a new message.
|
|
304
304
|
*/
|
|
305
305
|
exports.ListAppConnectionsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_connections_connections, 51);
|
|
306
|
+
/**
|
|
307
|
+
* Describes the message scalekit.v1.connections.GetConnectionContextRequest.
|
|
308
|
+
* Use `create(GetConnectionContextRequestSchema)` to create a new message.
|
|
309
|
+
*/
|
|
310
|
+
exports.GetConnectionContextRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_connections_connections, 52);
|
|
311
|
+
/**
|
|
312
|
+
* Describes the message scalekit.v1.connections.GetConnectionContextResponse.
|
|
313
|
+
* Use `create(GetConnectionContextResponseSchema)` to create a new message.
|
|
314
|
+
*/
|
|
315
|
+
exports.GetConnectionContextResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_connections_connections, 53);
|
|
316
|
+
/**
|
|
317
|
+
* Describes the message scalekit.v1.connections.UpdateConnectionContextRequest.
|
|
318
|
+
* Use `create(UpdateConnectionContextRequestSchema)` to create a new message.
|
|
319
|
+
*/
|
|
320
|
+
exports.UpdateConnectionContextRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_connections_connections, 54);
|
|
306
321
|
/**
|
|
307
322
|
* @generated from enum scalekit.v1.connections.CodeChallengeType
|
|
308
323
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections_pb.js","sourceRoot":"","sources":["../../../../../../src/pkg/grpc/scalekit/v1/connections/connections_pb.ts"],"names":[],"mappings":";AAAA,iEAAiE;AACjE,kHAAkH;AAClH,oBAAoB;;;;AAGpB,4DAA4F;AAC5F,mEAA+E;AAC/E,uEAAiF;AACjF,6EAAuF;AACvF,qEAA+E;AAE/E,gDAA+L;AAC/L,yFAAqH;AAErH,sDAAyE;AACzE,sDAAyE;AAGzE;;GAEG;AACU,QAAA,wCAAwC,GACnD,IAAA,oBAAQ,EAAC,
|
|
1
|
+
{"version":3,"file":"connections_pb.js","sourceRoot":"","sources":["../../../../../../src/pkg/grpc/scalekit/v1/connections/connections_pb.ts"],"names":[],"mappings":"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"}
|
|
@@ -903,6 +903,60 @@ export type TriggerDirectorySyncRequest = Message<"scalekit.v1.directories.Trigg
|
|
|
903
903
|
* Use `create(TriggerDirectorySyncRequestSchema)` to create a new message.
|
|
904
904
|
*/
|
|
905
905
|
export declare const TriggerDirectorySyncRequestSchema: GenMessage<TriggerDirectorySyncRequest>;
|
|
906
|
+
/**
|
|
907
|
+
* @generated from message scalekit.v1.directories.GetDirectoryContextRequest
|
|
908
|
+
*/
|
|
909
|
+
export type GetDirectoryContextRequest = Message<"scalekit.v1.directories.GetDirectoryContextRequest"> & {
|
|
910
|
+
/**
|
|
911
|
+
* @generated from field: string directory_id = 1;
|
|
912
|
+
*/
|
|
913
|
+
directoryId: string;
|
|
914
|
+
/**
|
|
915
|
+
* @generated from field: string organization_id = 2;
|
|
916
|
+
*/
|
|
917
|
+
organizationId: string;
|
|
918
|
+
};
|
|
919
|
+
/**
|
|
920
|
+
* Describes the message scalekit.v1.directories.GetDirectoryContextRequest.
|
|
921
|
+
* Use `create(GetDirectoryContextRequestSchema)` to create a new message.
|
|
922
|
+
*/
|
|
923
|
+
export declare const GetDirectoryContextRequestSchema: GenMessage<GetDirectoryContextRequest>;
|
|
924
|
+
/**
|
|
925
|
+
* @generated from message scalekit.v1.directories.GetDirectoryContextResponse
|
|
926
|
+
*/
|
|
927
|
+
export type GetDirectoryContextResponse = Message<"scalekit.v1.directories.GetDirectoryContextResponse"> & {
|
|
928
|
+
/**
|
|
929
|
+
* @generated from field: google.protobuf.Struct context = 1;
|
|
930
|
+
*/
|
|
931
|
+
context?: JsonObject;
|
|
932
|
+
};
|
|
933
|
+
/**
|
|
934
|
+
* Describes the message scalekit.v1.directories.GetDirectoryContextResponse.
|
|
935
|
+
* Use `create(GetDirectoryContextResponseSchema)` to create a new message.
|
|
936
|
+
*/
|
|
937
|
+
export declare const GetDirectoryContextResponseSchema: GenMessage<GetDirectoryContextResponse>;
|
|
938
|
+
/**
|
|
939
|
+
* @generated from message scalekit.v1.directories.UpdateDirectoryContextRequest
|
|
940
|
+
*/
|
|
941
|
+
export type UpdateDirectoryContextRequest = Message<"scalekit.v1.directories.UpdateDirectoryContextRequest"> & {
|
|
942
|
+
/**
|
|
943
|
+
* @generated from field: string directory_id = 1;
|
|
944
|
+
*/
|
|
945
|
+
directoryId: string;
|
|
946
|
+
/**
|
|
947
|
+
* @generated from field: string organization_id = 2;
|
|
948
|
+
*/
|
|
949
|
+
organizationId: string;
|
|
950
|
+
/**
|
|
951
|
+
* @generated from field: google.protobuf.Struct context = 3;
|
|
952
|
+
*/
|
|
953
|
+
context?: JsonObject;
|
|
954
|
+
};
|
|
955
|
+
/**
|
|
956
|
+
* Describes the message scalekit.v1.directories.UpdateDirectoryContextRequest.
|
|
957
|
+
* Use `create(UpdateDirectoryContextRequestSchema)` to create a new message.
|
|
958
|
+
*/
|
|
959
|
+
export declare const UpdateDirectoryContextRequestSchema: GenMessage<UpdateDirectoryContextRequest>;
|
|
906
960
|
/**
|
|
907
961
|
* @generated from enum scalekit.v1.directories.DirectoryType
|
|
908
962
|
*/
|
|
@@ -1143,4 +1197,20 @@ export declare const DirectoryService: GenService<{
|
|
|
1143
1197
|
input: typeof TriggerDirectorySyncRequestSchema;
|
|
1144
1198
|
output: typeof EmptySchema;
|
|
1145
1199
|
};
|
|
1200
|
+
/**
|
|
1201
|
+
* @generated from rpc scalekit.v1.directories.DirectoryService.GetDirectoryContext
|
|
1202
|
+
*/
|
|
1203
|
+
getDirectoryContext: {
|
|
1204
|
+
methodKind: "unary";
|
|
1205
|
+
input: typeof GetDirectoryContextRequestSchema;
|
|
1206
|
+
output: typeof GetDirectoryContextResponseSchema;
|
|
1207
|
+
};
|
|
1208
|
+
/**
|
|
1209
|
+
* @generated from rpc scalekit.v1.directories.DirectoryService.UpdateDirectoryContext
|
|
1210
|
+
*/
|
|
1211
|
+
updateDirectoryContext: {
|
|
1212
|
+
methodKind: "unary";
|
|
1213
|
+
input: typeof UpdateDirectoryContextRequestSchema;
|
|
1214
|
+
output: typeof EmptySchema;
|
|
1215
|
+
};
|
|
1146
1216
|
}>;
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
// @generated from file scalekit/v1/directories/directories.proto (package scalekit.v1.directories, syntax proto3)
|
|
4
4
|
/* eslint-disable */
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.SecretStatus = exports.DirectoryStatusSchema = exports.DirectoryStatus = exports.DirectoryProviderSchema = exports.DirectoryProvider = exports.DirectoryTypeSchema = exports.DirectoryType = exports.UpdateDirectoryContextRequestSchema = exports.GetDirectoryContextResponseSchema = exports.GetDirectoryContextRequestSchema = exports.TriggerDirectorySyncRequestSchema = exports.DeleteDirectoryRequestSchema = exports.UpdateAttributesResponseSchema = exports.AttributeMappingSchema = exports.AttributeMappingsSchema = exports.UpdateAttributesRequestSchema = exports.RoleAssignmentSchema = exports.AssignRolesResponseSchema = exports.RoleAssignmentsSchema = exports.AssignRolesRequestSchema = exports.StatsSchema = exports.SecretSchema = exports.RegenerateDirectorySecretResponseSchema = exports.RegenerateDirectorySecretRequestSchema = exports.CreateDirectorySecretResponseSchema = exports.CreateDirectorySecretRequestSchema = exports.DirectoryGroupSchema = exports.ExternalGroupSchema = exports.DirectoryUserSchema = exports.DirectoryMappingSchema = exports.ToggleDirectoryResponseSchema = exports.ToggleDirectoryRequestSchema = exports.DirectorySchema = exports.ListDirectoryGroupsSummaryRequestSchema = exports.ListDirectoryGroupsResponseSchema = exports.ListDirectoryGroupsRequestSchema = exports.ListDirectoryUsersResponseSchema = exports.ListDirectoryUsersRequestSchema = exports.ListDirectoriesResponseSchema = exports.ListDirectoriesRequestSchema = exports.AssignGroupsForDirectoryRequestSchema = exports.UpdateDirectoryResponseSchema = exports.UpdateDirectorySchema = exports.UpdateDirectoryRequestSchema = exports.CreateDirectoryResponseSchema = exports.CreateDirectorySchema = exports.CreateDirectoryRequestSchema = exports.GetDirectoryResponseSchema = exports.GetDirectoryRequestSchema = exports.file_scalekit_v1_directories_directories = void 0;
|
|
7
|
+
exports.DirectoryService = exports.SecretStatusSchema = void 0;
|
|
7
8
|
const codegenv2_1 = require("@bufbuild/protobuf/codegenv2");
|
|
8
9
|
const validate_pb_1 = require("../../../buf/validate/validate_pb");
|
|
9
10
|
const annotations_pb_1 = require("../../../google/api/annotations_pb");
|
|
@@ -14,7 +15,7 @@ const options_pb_1 = require("../options/options_pb");
|
|
|
14
15
|
/**
|
|
15
16
|
* Describes the file scalekit/v1/directories/directories.proto.
|
|
16
17
|
*/
|
|
17
|
-
exports.file_scalekit_v1_directories_directories = (0, codegenv2_1.fileDesc)("CilzY2FsZWtpdC92MS9kaXJlY3Rvcmllcy9kaXJlY3Rvcmllcy5wcm90bxIXc2NhbGVraXQudjEuZGlyZWN0b3JpZXMixwEKE0dldERpcmVjdG9yeVJlcXVlc3QSTwoCaWQYASABKAlCQ5JBNzIiVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGRpcmVjdG9yeUoRImRpcl8xMjEzMTI0MzQxMiK6SAZyBBABGCASXwoPb3JnYW5pemF0aW9uX2lkGAIgASgJQkaSQToyJVVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb25KESJvcmdfMTIxMzEyNDM0MTIiukgGcgQQARggIoYBChRHZXREaXJlY3RvcnlSZXNwb25zZRJuCglkaXJlY3RvcnkYASABKAsyIi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5EaXJlY3RvcnlCN5JBNDIyRGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlcXVlc3RlZCBkaXJlY3Rvcnki3AEKFkNyZWF0ZURpcmVjdG9yeVJlcXVlc3QSZwoPb3JnYW5pemF0aW9uX2lkGAEgASgJQk6SQT8yJFVuaXF1ZSBpZGVudGlmaWVyIHRvIGFuIE9yZ2FuaXphdGlvbkoXIm9yZ18xMjM2MjQ3NDkwMDY4NDgxNCK6SAnIAQFyBBABGCASWQoJZGlyZWN0b3J5GAIgASgLMiguc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuQ3JlYXRlRGlyZWN0b3J5QhySQRMyEURpcmVjdG9yeSBEZXRhaWxzukgDyAEBItUBCg9DcmVhdGVEaXJlY3RvcnkSXAoOZGlyZWN0b3J5X3R5cGUYASABKA4yJi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5EaXJlY3RvcnlUeXBlQhySQQ4yBFR5cGVKBiJTQ0lNIrpICMgBAYIBAhABEmQKEmRpcmVjdG9yeV9wcm92aWRlchgCIAEoDjIqLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkRpcmVjdG9yeVByb3ZpZGVyQhySQREyB1Byb3ZpZGVKBiJPS1RBIrpIBYIBAhABIm4KF0NyZWF0ZURpcmVjdG9yeVJlc3BvbnNlElMKCWRpcmVjdG9yeRgBIAEoCzIiLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkRpcmVjdG9yeUIckkETMhFEaXJlY3RvcnkgRGV0YWlsc7pIA8gBASK6AQoWVXBkYXRlRGlyZWN0b3J5UmVxdWVzdBIbCgJpZBgBIAEoCUIPukgMcgoQARggOgRkaXJfEigKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIPukgMcgoQARggOgRvcmdfElkKCWRpcmVjdG9yeRgDIAEoCzIoLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLlVwZGF0ZURpcmVjdG9yeUIckkETMhFEaXJlY3RvcnkgRGV0YWlsc7pIA8gBASLPBQoPVXBkYXRlRGlyZWN0b3J5Ei0KBG5hbWUYAiABKAlCH5JBEjIETmFtZUoKIkF6dXJlIEFEIrpIB3IFEAEYgAISWQoOZGlyZWN0b3J5X3R5cGUYAyABKA4yJi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5EaXJlY3RvcnlUeXBlQhmSQQ4yBFR5cGVKBiJTQ0lNIrpIBYIBAhABEiIKB2VuYWJsZWQYByABKAhCEZJBDjIGU3RhdHVzSgR0cnVlEtkBChJkaXJlY3RvcnlfcHJvdmlkZXIYCCABKA4yKi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5EaXJlY3RvcnlQcm92aWRlckKQAZJBhAEyLUlkZW50aXR5IHByb3ZpZGVyIGNvbm5lY3RlZCB0byB0aGlzIGRpcmVjdG9yeUpTIk9LVEEiLCAiR09PR0xFIiwgIk1JQ1JPU09GVF9BRCIsICJBVVRIMCIsICJPTkVMT0dJTiIsICJKVU1QQ0xPVUQiLCAiUElOR19JREVOVElUWSK6SAWCAQIQARJgCgZzdGF0dXMYCSABKA4yKC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5EaXJlY3RvcnlTdGF0dXNCJpJBGzIMU2V0dXAgU3RhdHVzSgsiQ09NUExFVEVEIrpIBYIBAhABEjsKCG1hcHBpbmdzGAogAygLMikuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuRGlyZWN0b3J5TWFwcGluZxJpCgZncm91cHMYDyADKAsyJi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5FeHRlcm5hbEdyb3VwQjGSQS4yLExpc3Qgb2YgZ3JvdXBzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGlyZWN0b3J5SgQIARACSgQIBBAFSgQIBhAHSgQICxAMSgQIDBANSgQIDRAOSgQIDhAPIm4KF1VwZGF0ZURpcmVjdG9yeVJlc3BvbnNlElMKCWRpcmVjdG9yeRgBIAEoCzIiLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkRpcmVjdG9yeUIckkETMhFEaXJlY3RvcnkgRGV0YWlsc7pIA8gBASK+AQofQXNzaWduR3JvdXBzRm9yRGlyZWN0b3J5UmVxdWVzdBIbCgJpZBgBIAEoCUIPukgMcgoQARggOgRkaXJfEigKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIPukgMcgoQARggOgRvcmdfElQKDGV4dGVybmFsX2lkcxgDIAMoCUI+kkE1MjNleHRlcm5hbF9pZHMgb2YgZ3JvdXBzIHRvIGJlIHRyYWNrZWQgZHVyaW5nIHBvbGxpbme6SAPIAQEiggEKFkxpc3REaXJlY3Rvcmllc1JlcXVlc3QSaAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQk+SQT0yJVVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb25KFCJvcmdfMTIzNjI0NzQ5MDA2ODQiukgMcgoQARggOgRvcmdfIpMBChdMaXN0RGlyZWN0b3JpZXNSZXNwb25zZRJ4CgtkaXJlY3RvcmllcxgBIAMoCzIiLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkRpcmVjdG9yeUI/kkE2MjRMaXN0IG9mIGRpcmVjdG9yaWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgb3JnYW5pemF0aW9uukgDyAEBIvMIChlMaXN0RGlyZWN0b3J5VXNlcnNSZXF1ZXN0EmgKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUJPkkE9MiVVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uShQib3JnXzEyMTMxMjQzNDEyMzMxIrpIDHIKEAEYIDoEb3JnXxJ6CgxkaXJlY3RvcnlfaWQYAiABKAlCZJJBUjI6VW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGRpcmVjdG9yeSB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbkoUImRpcl8xMjEzMTI0MzQxMjMzMSK6SAxyChABGCA6BGRpcl8SfAoJcGFnZV9zaXplGAMgASgNQmmSQV8yWU51bWJlciBvZiB1c2VycyB0byByZXR1cm4gcGVyIHBhZ2UuIE1heGltdW0gdmFsdWUgaXMgMzAuIElmIG5vdCBzcGVjaWZpZWQsIGRlZmF1bHRzIHRvIDEwSgIxMLpIBCoCGB4SpQEKCnBhZ2VfdG9rZW4YBCABKAlCkAGSQYwBMokBVG9rZW4gZm9yIHBhZ2luYXRpb24uIFVzZSB0aGUgdmFsdWUgcmV0dXJuZWQgaW4gdGhlICduZXh0X3BhZ2VfdG9rZW4nIGZpZWxkIG9mIHRoZSBwcmV2aW91cyByZXNwb25zZSB0byByZXRyaWV2ZSB0aGUgbmV4dCBwYWdlIG9mIHJlc3VsdHMS0gEKDmluY2x1ZGVfZGV0YWlsGAUgASgIQrQBkkGwATKnAUlmIHNldCB0byB0cnVlLCB0aGUgcmVzcG9uc2Ugd2lsbCBpbmNsdWRlIHRoZSBmdWxsIHVzZXIgcGF5bG9hZCB3aXRoIGFsbCBhdmFpbGFibGUgZGV0YWlscy4gSWYgZmFsc2Ugb3Igbm90IHNwZWNpZmllZCwgb25seSBlc3NlbnRpYWwgdXNlciBpbmZvcm1hdGlvbiB3aWxsIGJlIHJldHVybmVkSgR0cnVlSACIAQESjwEKEmRpcmVjdG9yeV9ncm91cF9pZBgGIAEoCUJukkFXMj5GaWx0ZXIgdXNlcnMgYnkgdGhlaXIgbWVtYmVyc2hpcCBpbiBhIHNwZWNpZmljIGRpcmVjdG9yeSBncm91cEoVImRpcmdyb3VwXzEyMTMxMjQzNDEiukgRcg8QARglOglkaXJncm91cF9IAYgBARKmAQoNdXBkYXRlZF9hZnRlchgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCbpJBazJRRmlsdGVyIHVzZXJzIHRoYXQgd2VyZSB1cGRhdGVkIGFmdGVyIHRoZSBzcGVjaWZpZWQgdGltZXN0YW1wLiBVc2UgSVNPIDg2MDEgZm9ybWF0ShYiMjAyMS0wMS0wMVQwMDowMDowMFoiSAKIAQFCEQoPX2luY2x1ZGVfZGV0YWlsQhUKE19kaXJlY3RvcnlfZ3JvdXBfaWRCEAoOX3VwZGF0ZWRfYWZ0ZXIisAQKGkxpc3REaXJlY3RvcnlVc2Vyc1Jlc3BvbnNlEnoKBXVzZXJzGAEgAygLMiYuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuRGlyZWN0b3J5VXNlckJDkkFAMj5MaXN0IG9mIGRpcmVjdG9yeSB1c2VycyByZXRyaWV2ZWQgZnJvbSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeRJpCgp0b3RhbF9zaXplGAIgASgNQlWSQVIyUFRvdGFsIG51bWJlciBvZiB1c2VycyBhdmFpbGFibGUgaW4gdGhlIGRpcmVjdG9yeSB0aGF0IG1hdGNoIHRoZSByZXF1ZXN0IGNyaXRlcmlhEpYBCg9uZXh0X3BhZ2VfdG9rZW4YAyABKAlCfZJBejJ4VG9rZW4gZm9yIHBhZ2luYXRpb24uIFVzZSB0aGlzIHRva2VuIGluIHRoZSAncGFnZV90b2tlbicgZmllbGQgb2YgdGhlIG5leHQgcmVxdWVzdCB0byBmZXRjaCB0aGUgc3Vic2VxdWVudCBwYWdlIG9mIHVzZXJzEpEBCg9wcmV2X3BhZ2VfdG9rZW4YBCABKAlCeJJBdTJzVG9rZW4gZm9yIHBhZ2luYXRpb24uIFVzZSB0aGlzIHRva2VuIGluIHRoZSAncGFnZV90b2tlbicgZmllbGQgb2YgdGhlIG5leHQgcmVxdWVzdCB0byBmZXRjaCB0aGUgcHJpb3IgcGFnZSBvZiB1c2VycyLNBwoaTGlzdERpcmVjdG9yeUdyb3Vwc1JlcXVlc3QSaQoPb3JnYW5pemF0aW9uX2lkGAEgASgJQlCSQT4yJVVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb25KFSJvcmdfMTIxMzEyNDM0MTIzMzEyIrpIDHIKEAEYIDoEb3JnXxJjCgxkaXJlY3RvcnlfaWQYAiABKAlCTZJBOzIiVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGRpcmVjdG9yeUoVImRpcl8xMjEzMTI0MzQxMjMzMTIiukgMcgoQARggOgRkaXJfEn0KCXBhZ2Vfc2l6ZRgDIAEoDUJqkkFgMlpOdW1iZXIgb2YgZ3JvdXBzIHRvIHJldHVybiBwZXIgcGFnZS4gTWF4aW11bSB2YWx1ZSBpcyAzMC4gSWYgbm90IHNwZWNpZmllZCwgZGVmYXVsdHMgdG8gMTBKAjEwukgEKgIYHhJ9CgpwYWdlX3Rva2VuGAQgASgJQmmSQWYyZFRva2VuIGZvciBwYWdpbmF0aW9uLiBVc2UgdGhlIHZhbHVlIHJldHVybmVkIGluIHRoZSAnbmV4dF9wYWdlX3Rva2VuJyBmaWVsZCBvZiB0aGUgcHJldmlvdXMgcmVzcG9uc2USlAEKDXVwZGF0ZWRfYWZ0ZXIYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQlySQVkyP0ZpbHRlciBncm91cHMgdXBkYXRlZCBhZnRlciB0aGlzIHRpbWVzdGFtcC4gVXNlIElTTyA4NjAxIGZvcm1hdEoWIjIwMjEtMDEtMDFUMDA6MDA6MDBaIkgAiAEBEocBCg5pbmNsdWRlX2RldGFpbBgGIAEoCEJqkkFnMl9JZiB0cnVlLCBpbmNsdWRlcyBmdWxsIGdyb3VwIGRldGFpbHMuIElmIGZhbHNlIG9yIG5vdCBzcGVjaWZpZWQsIHJldHVybnMgYmFzaWMgaW5mb3JtYXRpb24gb25seUoEdHJ1ZUgBiAEBEn8KF2luY2x1ZGVfZXh0ZXJuYWxfZ3JvdXBzGAcgASgIQlmSQVYyTklmIHRydWUsIHJldHVybnMgZ3JvdXAgYW5kIGl0cyBkZXRhaWxzIGZyb20gZXh0ZXJuYWwgcHJvdmlkZXIgKGRlZmF1bHQ6IGZhbHNlKUoEdHJ1ZUgCiAEBQhAKDl91cGRhdGVkX2FmdGVyQhEKD19pbmNsdWRlX2RldGFpbEIaChhfaW5jbHVkZV9leHRlcm5hbF9ncm91cHMimwQKG0xpc3REaXJlY3RvcnlHcm91cHNSZXNwb25zZRJ9CgZncm91cHMYASADKAsyJy5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5EaXJlY3RvcnlHcm91cEJEkkFBMj9MaXN0IG9mIGRpcmVjdG9yeSBncm91cHMgcmV0cmlldmVkIGZyb20gdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkSZwoKdG90YWxfc2l6ZRgCIAEoDUJTkkFQMk5Ub3RhbCBudW1iZXIgb2YgZ3JvdXBzIG1hdGNoaW5nIHRoZSByZXF1ZXN0IGNyaXRlcmlhLCByZWdhcmRsZXNzIG9mIHBhZ2luYXRpb24ShgEKD25leHRfcGFnZV90b2tlbhgDIAEoCUJtkkFqMmhUb2tlbiB0byByZXRyaWV2ZSB0aGUgbmV4dCBwYWdlIG9mIHJlc3VsdHMuIFVzZSB0aGlzIHRva2VuIGluIHRoZSAncGFnZV90b2tlbicgZmllbGQgb2YgdGhlIG5leHQgcmVxdWVzdBKKAQoPcHJldl9wYWdlX3Rva2VuGAQgASgJQnGSQW4ybFRva2VuIHRvIHJldHJpZXZlIHRoZSBwcmV2aW91cyBwYWdlIG9mIHJlc3VsdHMuIFVzZSB0aGlzIHRva2VuIGluIHRoZSAncGFnZV90b2tlbicgZmllbGQgb2YgdGhlIG5leHQgcmVxdWVzdCLzAQohTGlzdERpcmVjdG9yeUdyb3Vwc1N1bW1hcnlSZXF1ZXN0EmkKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUJQkkE+MiVVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uShUib3JnXzEyMTMxMjQzNDEyMzMxMiK6SAxyChABGCA6BG9yZ18SYwoMZGlyZWN0b3J5X2lkGAIgASgJQk2SQTsyIlVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBkaXJlY3RvcnlKFSJkaXJfMTIxMzEyNDM0MTIzMzEyIrpIDHIKEAEYIDoEZGlyXyLCEQoJRGlyZWN0b3J5ElkKAmlkGAEgASgJQk2SQTsyIlVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBkaXJlY3RvcnlKFSJkaXJfMTIxMzEyNDM0MTIzMzEyIrpIDHIKEAEYIDoEZGlyXxJ3CgRuYW1lGAIgASgJQmmSQVwyTk5hbWUgb2YgdGhlIGRpcmVjdG9yeSwgdHlwaWNhbGx5IHJlcHJlc2VudGluZyB0aGUgY29ubmVjdGVkIERpcmVjdG9yeSBwcm92aWRlckoKIkF6dXJlIEFEIrpIB3IFEAEYgAISqAEKDmRpcmVjdG9yeV90eXBlGAMgASgOMiYuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuRGlyZWN0b3J5VHlwZUJokkFdMlNUeXBlIG9mIHRoZSBkaXJlY3RvcnksIGluZGljYXRpbmcgdGhlIHByb3RvY29sIG9yIHN0YW5kYXJkIHVzZWQgZm9yIHN5bmNocm9uaXphdGlvbkoGIlNDSU0iukgFggECEAESiAEKD29yZ2FuaXphdGlvbl9pZBgEIAEoCUJvkkFdMkRVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uIHRvIHdoaWNoIHRoZSBkaXJlY3RvcnkgYmVsb25nc0oVIm9yZ18xMjEzMTI0MzQxMjMzMTIiukgMcgoQARggOgRvcmdfEnwKB2VuYWJsZWQYBSABKAhCa5JBaDJgSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGRpcmVjdG9yeSBpcyBjdXJyZW50bHkgZW5hYmxlZCBhbmQgYWN0aXZlbHkgc3luY2hyb25pemluZyB1c2VycyBhbmQgZ3JvdXBzSgR0cnVlEooBChJkaXJlY3RvcnlfcHJvdmlkZXIYBiABKA4yKi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5EaXJlY3RvcnlQcm92aWRlckJCkkE3Mi1JZGVudGl0eSBwcm92aWRlciBjb25uZWN0ZWQgdG8gdGhpcyBkaXJlY3RvcnlKBiJPS1RBIrpIBYIBAhABErEBCg5sYXN0X3N5bmNlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCfZJBejJgVGltZXN0YW1wIG9mIHRoZSBsYXN0IHN1Y2Nlc3NmdWwgc3luY2hyb25pemF0aW9uIG9mIHVzZXJzIGFuZCBncm91cHMgZnJvbSB0aGUgRGlyZWN0b3J5IFByb3ZpZGVyShYiMjAyNC0xMC0wMVQwMDowMDowMFoiEtoBChJkaXJlY3RvcnlfZW5kcG9pbnQYCCABKAlCvQGSQa8BMmVUaGUgZW5kcG9pbnQgVVJMIGdlbmVyYXRlZCBieSBTY2FsZWtpdCBmb3Igc3luY2hyb25pemluZyB1c2VycyBhbmQgZ3JvdXBzIGZyb20gdGhlIERpcmVjdG9yeSBQcm92aWRlckpGImh0dHBzOi8veW91cmFwcC5zY2FsZWtpdC5jb20vYXBpL3YxL2RpcmVjdG9pZXMvZGlyXzEyMzIxMjMxMi9zY2ltL3YyIrpIB3IFEAEY0A8SRAoLdG90YWxfdXNlcnMYCSABKAVCL5JBLDImVG90YWwgbnVtYmVyIG9mIHVzZXJzIGluIHRoZSBkaXJlY3RvcnlKAjEwEkYKDHRvdGFsX2dyb3VwcxgKIAEoBUIwkkEtMidUb3RhbCBudW1iZXIgb2YgZ3JvdXBzIGluIHRoZSBkaXJlY3RvcnlKAjEwEowBCgdzZWNyZXRzGAsgAygLMh8uc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuU2VjcmV0QlqSQVcyVUxpc3Qgb2Ygc2VjcmV0cyB1c2VkIGZvciBhdXRoZW50aWNhdGluZyBhbmQgc3luY2hyb25pemluZyB3aXRoIHRoZSBEaXJlY3RvcnkgUHJvdmlkZXISlAEKBXN0YXRzGAwgASgLMh4uc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuU3RhdHNCZZJBYjJgU3RhdGlzdGljcyBhbmQgbWV0cmljcyByZWxhdGVkIHRvIHRoZSBkaXJlY3RvcnksIHN1Y2ggYXMgc3luY2hyb25pemF0aW9uIHN0YXR1cyBhbmQgZXJyb3IgY291bnRzEp4BChByb2xlX2Fzc2lnbm1lbnRzGA0gASgLMiguc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuUm9sZUFzc2lnbm1lbnRzQlqSQVcyVVJvbGUgYXNzaWdubWVudHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBkaXJlY3RvcnksIGRlZmluaW5nIGdyb3VwIGJhc2VkIHJvbGUgYXNzaWdubWVudHMSmQEKEmF0dHJpYnV0ZV9tYXBwaW5ncxgOIAEoCzIqLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkF0dHJpYnV0ZU1hcHBpbmdzQlGSQU4yTE1hcHBpbmdzIGJldHdlZW4gZGlyZWN0b3J5IGF0dHJpYnV0ZXMgYW5kIFNjYWxla2l0IHVzZXIgYW5kIGdyb3VwIGF0dHJpYnV0ZXMSPAoGc3RhdHVzGA8gASgJQiySQSEyEERpcmVjdG9yeSBTdGF0dXNKDSJJTl9QUk9HUkVTUyK6SAWCAQIQARJ3CgVlbWFpbBgQIAEoCUJokkFlMkhFbWFpbCBJZCBhc3NvY2lhdGVkIHdpdGggRGlyZWN0b3J5IHdob3NlIGFjY2VzcyB3aWxsIGJlIHVzZWQgZm9yIHBvbGxpbmdKGSJqb2huLmRvZUBzY2FsZWtpdC5jbG91ZCISZwoOZ3JvdXBzX3RyYWNrZWQYESABKAlCT5JBTDJDSXQgaW5kaWNhdGVzIGlmIGFsbCBncm91cHMgYXJlIHRyYWNrZWQgb3Igc2VsZWN0IGdyb3VwcyBhcmUgdHJhY2tlZEoFIkFMTCIimwMKFlRvZ2dsZURpcmVjdG9yeVJlcXVlc3QSuAEKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUKeAZJBiwEyckEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBvcmdhbml6YXRpb24uIFRoZSB2YWx1ZSBtdXN0IGJlZ2luIHdpdGggJ29yZ18nIGFuZCBiZSBiZXR3ZWVuIDEgYW5kIDMyIGNoYXJhY3RlcnMgbG9uZ0oVIm9yZ18xMjEzMTI0MzQxMjMzMTIiukgMcgoQARggOgRvcmdfEr8BCgJpZBgDIAEoCUKyAZJBnwEyhQFBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciBhIGRpcmVjdG9yeSB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbi4gVGhlIHZhbHVlIG11c3QgYmVnaW4gd2l0aCAnZGlyXycgYW5kIGJlIGJldHdlZW4gMSBhbmQgMzIgY2hhcmFjdGVycyBsb25nShUiZGlyXzEyMTMxMjQzNDEyMzMxMiK6SAxyChABGCA6BGRpcl9KBAgCEAMilQQKF1RvZ2dsZURpcmVjdG9yeVJlc3BvbnNlEo0CCgdlbmFibGVkGAEgASgIQvsBkkH3ATLuAVNwZWNpZmllcyB0aGUgZGlyZWN0b3J5J3Mgc3RhdGUgYWZ0ZXIgdGhlIHRvZ2dsZSBvcGVyYXRpb24uIEEgdmFsdWUgb2YgYHRydWVgIGluZGljYXRlcyB0aGF0IHRoZSBkaXJlY3RvcnkgaXMgZW5hYmxlZCBhbmQgYWN0aXZlbHkgc3luY2hyb25pemluZyB1c2VycyBhbmQgZ3JvdXBzLiBBIHZhbHVlIG9mIGBmYWxzZWAgbWVhbnMgdGhlIGRpcmVjdG9yeSBpcyBkaXNhYmxlZCwgaGFsdGluZyBzeW5jaHJvbml6YXRpb25KBHRydWUS1wEKDWVycm9yX21lc3NhZ2UYAiABKAlCugGSQbYBMo8BQ29udGFpbnMgYSBodW1hbi1yZWFkYWJsZSBlcnJvciBtZXNzYWdlIGlmIHRoZSB0b2dnbGUgb3BlcmF0aW9uIGVuY291bnRlcmVkIGFuIGlzc3VlLiBJZiB0aGUgb3BlcmF0aW9uIHdhcyBzdWNjZXNzZnVsLCB0aGlzIGZpZWxkIHdpbGwgYmUgZW1wdHlKIiJUaGUgZGlyZWN0b3J5IGlzIGFscmVhZHkgZW5hYmxlZCJIAIgBAUIQCg5fZXJyb3JfbWVzc2FnZSJhChBEaXJlY3RvcnlNYXBwaW5nEhkKA2tleRgBIAEoCUIMukgJyAEBcgQQARggEhwKBm1hcF90bxgCIAEoCUIMukgJyAEBcgQQARggEhQKDGRpc3BsYXlfbmFtZRgDIAEoCSLSBAoNRGlyZWN0b3J5VXNlchJGCgJpZBgBIAEoCUI6kkEkMgdVc2VyIElEShkiZGlydXNlcl8xMjEzMTI0MzQxMjMzMTIiukgQcg4QARgkOghkaXJ1c2VyXxIuCgVlbWFpbBgCIAEoCUIfkkESMgVFbWFpbEoJImpvaG5kb2UiukgHcgUQARiAAhJIChJwcmVmZXJyZWRfdXNlcm5hbWUYAyABKAlCLJJBHzISUHJlZmVycmVkIFVzZXJuYW1lSgkiam9obmRvZSK6SAdyBRABGIACEjUKCmdpdmVuX25hbWUYBCABKAlCIZJBFDIKRmlyc3QgTmFtZUoGIkpvaG4iukgHcgUQARiAAhI0CgtmYW1pbHlfbmFtZRgFIAEoCUIfkkESMglMYXN0IE5hbWVKBSJEb2UiukgHcgUQARiAAhJXCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEInkkEkMgpVcGRhdGVkIEF0ShYiMjAyNC0xMC0wMVQwMDowMDowMFoiEhsKBmVtYWlscxgQIAMoCUILkkEIMgZFbWFpbHMSRAoGZ3JvdXBzGBEgAygLMicuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuRGlyZWN0b3J5R3JvdXBCC5JBCDIGR3JvdXBzElAKC3VzZXJfZGV0YWlsGBIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEIikkEfMh1Db21wbGV0ZSBVc2VyIERldGFpbHMgUGF5bG9hZEoECAcQECLTAQoNRXh0ZXJuYWxHcm91cBJICgtleHRlcm5hbF9pZBgBIAEoCUIzkkEmMhFFeHRlcm5hbCBHcm91cCBJREoRIjAyeTN3MjQ3MTI0Y2NxaSK6SAdyBRABGIACEjsKDGRpc3BsYXlfbmFtZRgCIAEoCUIlkkEYMgxEaXNwbGF5IE5hbWVKCCJBZG1pbnMiukgHcgUQARiAAhI7CgVlbWFpbBgDIAEoCUIskkEfMgVFbWFpbEoWImpvaG5kb2VAc2NhbGVraXQuY29tIrpIB3IFEAEYgAIi/QIKDkRpcmVjdG9yeUdyb3VwEkkKAmlkGAEgASgJQj2SQSYyCEdyb3VwIElEShoiZGlyZ3JvdXBfMTIxMzEyNDM0MTIzMzEyIrpIEXIPEAEYJDoJZGlyZ3JvdXBfEjsKDGRpc3BsYXlfbmFtZRgCIAEoCUIlkkEYMgxEaXNwbGF5IE5hbWVKCCJBZG1pbnMiukgHcgUQARiAAhI2Cgt0b3RhbF91c2VycxgDIAEoBUIhkkEeMhhUb3RhbCBVc2VycyBpbiB0aGUgR3JvdXBKAjEwElcKCnVwZGF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQieSQSQyClVwZGF0ZWQgQXRKFiIyMDI0LTEwLTAxVDAwOjAwOjAwWiISUgoMZ3JvdXBfZGV0YWlsGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEIjkkEgMh5Db21wbGV0ZSBHcm91cCBEZXRhaWxzIFBheWxvYWQinAEKHENyZWF0ZURpcmVjdG9yeVNlY3JldFJlcXVlc3QSVQoPb3JnYW5pemF0aW9uX2lkGAEgASgJQjySQSoyD09yZ2FuaXphdGlvbiBJREoXIm9yZ18xMjM2MjQ3NDkwMDY4NDgxNCK6SAxyChABGCA6BG9yZ18SJQoMZGlyZWN0b3J5X2lkGAIgASgJQg+6SAxyChABGCA6BGRpcl8ijwIKHUNyZWF0ZURpcmVjdG9yeVNlY3JldFJlc3BvbnNlEqcBCgxwbGFpbl9zZWNyZXQYASABKAlCkAGSQYwBMlZQbGFpbiBTZWNyZXQuIFRoaXMgaXMgb25seSByZXR1cm5lZCBpbiBQbGFpbiBUZXh0IGFzIHJlc3BvbnNlIHRvIHRoZSBDcmVhdGlvbiBSZXF1ZXN0LkoyImRYTmxjbTVoYldVNmNHRnpjM2R2Y21RNmMyVmpjbVYwYTJWNU1USXpORFUyTnpnNSISRAoGc2VjcmV0GAIgASgLMh8uc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuU2VjcmV0QhOSQRAyDlNlY3JldCBEZXRhaWxzInMKIFJlZ2VuZXJhdGVEaXJlY3RvcnlTZWNyZXRSZXF1ZXN0EigKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIPukgMcgoQARggOgRvcmdfEiUKDGRpcmVjdG9yeV9pZBgCIAEoCUIPukgMcgoQARggOgRkaXJfIpMCCiFSZWdlbmVyYXRlRGlyZWN0b3J5U2VjcmV0UmVzcG9uc2USpwEKDHBsYWluX3NlY3JldBgBIAEoCUKQAZJBjAEyVlBsYWluIFNlY3JldC4gVGhpcyBpcyBvbmx5IHJldHVybmVkIGluIFBsYWluIFRleHQgYXMgcmVzcG9uc2UgdG8gdGhlIENyZWF0aW9uIFJlcXVlc3QuSjIiZFhObGNtNWhiV1U2Y0dGemMzZHZjbVE2YzJWamNtVjBhMlY1TVRJek5EVTJOemc1IhJECgZzZWNyZXQYAiABKAsyHy5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5TZWNyZXRCE5JBEDIOU2VjcmV0IERldGFpbHMimQQKBlNlY3JldBIbCgJpZBgBIAEoCUIPukgMcgoQARggOgRzZWNfElsKC2NyZWF0ZV90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIqkkEnMg1DcmVhdGlvbiBUaW1lShYiMjAyNC0xMC0wMVQwMDowMDowMFoiEjEKDXNlY3JldF9zdWZmaXgYBCABKAlCGpJBFzINU2VjcmV0IFN1ZmZpeEoGIk56ZzUiElUKBnN0YXR1cxgFIAEoDjIlLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLlNlY3JldFN0YXR1c0IekkEbMg1TZWNyZXQgU3RhdHVzSgoiSU5BQ1RJVkUiElkKC2V4cGlyZV90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIokkElMgtFeHBpcnkgVGltZUoWIjIwMjUtMTAtMDFUMDA6MDA6MDBaIhJfCg5sYXN0X3VzZWRfdGltZRgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCK5JBKDIOTGFzdCBVc2VkIFRpbWVKFiIyMDI0LTEwLTAxVDAwOjAwOjAwWiISTwoMZGlyZWN0b3J5X2lkGAkgASgJQjmSQScyDERpcmVjdG9yeSBJREoXImRpcl8xMjM2MjQ3NDkwMDY4NDgxNCK6SAxyChABGCA6BGRpcl8i/QIKBVN0YXRzEjoKC3RvdGFsX3VzZXJzGAEgASgFQiWSQSIyHFRvdGFsIFVzZXJzIGluIHRoZSBEaXJlY3RvcnlKAjEwEjwKDHRvdGFsX2dyb3VwcxgCIAEoBUImkkEjMh1Ub3RhbCBHcm91cHMgaW4gdGhlIERpcmVjdG9yeUoCMTASfQoQZ3JvdXBfdXBkYXRlZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCR5JBRDIqTWF4IHRpbWUgb2YgR3JvdXAgVXBkYXRlZCBBdCBmb3IgRGlyZWN0b3J5ShYiMjAyNC0xMC0wMVQwMDowMDowMFoiEnsKD3VzZXJfdXBkYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCRpJBQzIpTWF4IHRpbWUgb2YgVXNlciBVcGRhdGVkIEF0IGZvciBEaXJlY3RvcnlKFiIyMDI0LTEwLTAxVDAwOjAwOjAwWiIikwEKEkFzc2lnblJvbGVzUmVxdWVzdBIiCg9vcmdhbml6YXRpb25faWQYASABKAlCCbpIBnIEEAEYIBIVCgJpZBgCIAEoCUIJukgGcgQQARggEkIKEHJvbGVfYXNzaWdubWVudHMYAyABKAsyKC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5Sb2xlQXNzaWdubWVudHMiTwoPUm9sZUFzc2lnbm1lbnRzEjwKC2Fzc2lnbm1lbnRzGAEgAygLMicuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuUm9sZUFzc2lnbm1lbnQiWQoTQXNzaWduUm9sZXNSZXNwb25zZRJCChByb2xlX2Fzc2lnbm1lbnRzGAEgASgLMiguc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuUm9sZUFzc2lnbm1lbnRzIv4BCg5Sb2xlQXNzaWdubWVudBJWCghncm91cF9pZBgBIAEoCUJEkkE4Mh1ncm91cCBJRCBmb3IgdGhlIHJvbGUgbWFwcGluZ0oXImRpcmdyb3VwXzEyMTMxMjQzNDEyMyK6SAZyBBABGCASNQoJcm9sZV9uYW1lGAIgASgJQiK6SB/IAQFyGhABGGQyFF5bYS16QS1aMC05X117MSw2NH0kEl0KB3JvbGVfaWQYAyABKAlCTJJBMzIccm9sZSBJRCBmb3IgdGhlIHJvbGUgbWFwcGluZ0oTInJvbGVfMTIxMzEyNDM0MTIzIrpIBHICGCD60uSTAgkSB1BSRVZJRVcipwEKF1VwZGF0ZUF0dHJpYnV0ZXNSZXF1ZXN0EigKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIPukgMcgoQARggOgRvcmdfEhsKAmlkGAIgASgJQg+6SAxyChABGCA6BGRpcl8SRQoRYXR0cmlidXRlX21hcHBpbmcYAyABKAsyKi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5BdHRyaWJ1dGVNYXBwaW5ncyJSChFBdHRyaWJ1dGVNYXBwaW5ncxI9CgphdHRyaWJ1dGVzGAEgAygLMikuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuQXR0cmlidXRlTWFwcGluZyJLChBBdHRyaWJ1dGVNYXBwaW5nEhkKA2tleRgBIAEoCUIMukgJyAEBcgQQARggEhwKBm1hcF90bxgCIAEoCUIMukgJyAEBcgQQARggImIKGFVwZGF0ZUF0dHJpYnV0ZXNSZXNwb25zZRJGChJhdHRyaWJ1dGVfbWFwcGluZ3MYASABKAsyKi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5BdHRyaWJ1dGVNYXBwaW5ncyJlChZEZWxldGVEaXJlY3RvcnlSZXF1ZXN0EigKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIPukgMcgoQARggOgRvcmdfEhsKAmlkGAMgASgJQg+6SAxyChABGCA6BGRpcl9KBAgCEAMi3gEKG1RyaWdnZXJEaXJlY3RvcnlTeW5jUmVxdWVzdBJbCgxkaXJlY3RvcnlfaWQYASABKAlCRZJBOTIgVW5pcXVlIGlkZW50aWZpZXIgb2YgYSBEaXJlY3RvcnlKFSJkaXJfMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYIBJiCg9vcmdhbml6YXRpb25faWQYAiABKAlCSZJBPTIkVW5pcXVlIGlkZW50aWZpZXIgdG8gYW4gT3JnYW5pemF0aW9uShUib3JnXzEyMTMxMjQzNDEyMzMxMiK6SAZyBBABGCAqTQoNRGlyZWN0b3J5VHlwZRIeChpESVJFQ1RPUllfVFlQRV9VTlNQRUNJRklFRBAAEggKBFNDSU0QARIICgRMREFQEAISCAoEUE9MTBADKpoBChFEaXJlY3RvcnlQcm92aWRlchIiCh5ESVJFQ1RPUllfUFJPVklERVJfVU5TUEVDSUZJRUQQABIICgRPS1RBEAESCgoGR09PR0xFEAISEAoMTUlDUk9TT0ZUX0FEEAMSCQoFQVVUSDAQBBIMCghPTkVMT0dJThAFEg0KCUpVTVBDTE9VRBAGEhEKDVBJTkdfSURFTlRJVFkQBypeCg9EaXJlY3RvcnlTdGF0dXMSIAocRElSRUNUT1JZX1NUQVRVU19VTlNQRUNJRklFRBAAEgkKBURSQUZUEAESDwoLSU5fUFJPR1JFU1MQAhINCglDT01QTEVURUQQAyooCgxTZWNyZXRTdGF0dXMSCgoGQUNUSVZFEAASDAoISU5BQ1RJVkUQATLRLwoQRGlyZWN0b3J5U2VydmljZRLRAQoPQ3JlYXRlRGlyZWN0b3J5Ei8uc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuQ3JlYXRlRGlyZWN0b3J5UmVxdWVzdBowLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkNyZWF0ZURpcmVjdG9yeVJlc3BvbnNlIluCtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAkA6CWRpcmVjdG9yeSIzL2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2RpcmVjdG9yaWVzEp4CCg9EZWxldGVEaXJlY3RvcnkSLy5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5EZWxldGVEaXJlY3RvcnlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IsEBkkFpCglEaXJlY3RvcnkSEkRlbGV0ZSBhIGRpcmVjdG9yeRopRGVsZXRlIGEgRGlyZWN0b3J5IHdpdGhpbiBhbiBvcmdhbml6YXRpb25KHQoDMjAwEhYKFERlbGV0ZWQgU3VjY2Vzc2Z1bGx5grUYAhhk+tLkkwIJEgdQUkVWSUVXgtPkkwI6KjgvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vZGlyZWN0b3JpZXMve2lkfRLWAQoPVXBkYXRlRGlyZWN0b3J5Ei8uc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuVXBkYXRlRGlyZWN0b3J5UmVxdWVzdBowLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLlVwZGF0ZURpcmVjdG9yeVJlc3BvbnNlImCCtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAkU6CWRpcmVjdG9yeTI4L2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2RpcmVjdG9yaWVzL3tpZH0S1AEKGEFzc2lnbkdyb3Vwc0ZvckRpcmVjdG9yeRI4LnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkFzc2lnbkdyb3Vwc0ZvckRpcmVjdG9yeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiZoK1GAIYZPrS5JMCCRIHUFJFVklFV4LT5JMCSzoBKhpGL2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2RpcmVjdG9yaWVzL3tpZH0vZ3JvdXBzOmFzc2lnbhLnAQoLQXNzaWduUm9sZXMSKy5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5Bc3NpZ25Sb2xlc1JlcXVlc3QaLC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5Bc3NpZ25Sb2xlc1Jlc3BvbnNlIn2CtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAmI6EHJvbGVfYXNzaWdubWVudHMaTi9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9kaXJlY3Rvcmllcy97aWR9L2dyb3Vwcy8tL3JvbGVzOmFzc2lnbhLsAQoQVXBkYXRlQXR0cmlidXRlcxIwLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLlVwZGF0ZUF0dHJpYnV0ZXNSZXF1ZXN0GjEuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuVXBkYXRlQXR0cmlidXRlc1Jlc3BvbnNlInOCtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAlg6EWF0dHJpYnV0ZV9tYXBwaW5nGkMvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vZGlyZWN0b3JpZXMve2lkfS9hdHRyaWJ1dGVzEpIDCgxHZXREaXJlY3RvcnkSLC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5HZXREaXJlY3RvcnlSZXF1ZXN0Gi0uc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuR2V0RGlyZWN0b3J5UmVzcG9uc2UipAKSQdoBCglEaXJlY3RvcnkSFUdldCBkaXJlY3RvcnkgZGV0YWlscxpQUmV0cmlldmVzIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWMgZGlyZWN0b3J5IHdpdGhpbiBhbiBvcmdhbml6YXRpb25KZAoDMjAwEl0KKFN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgZGlyZWN0b3J5IGRldGFpbHMSMQovGi0uc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuR2V0RGlyZWN0b3J5UmVzcG9uc2WCtRgCGGSC0+STAjoSOC9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9kaXJlY3Rvcmllcy97aWR9EusCCg9MaXN0RGlyZWN0b3JpZXMSLy5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5MaXN0RGlyZWN0b3JpZXNSZXF1ZXN0GjAuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuTGlzdERpcmVjdG9yaWVzUmVzcG9uc2Ui9AGSQa8BCglEaXJlY3RvcnkSHUxpc3Qgb3JnYW5pemF0aW9uIGRpcmVjdG9yaWVzSoIBCgMyMDASewpDU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCB0aGUgbGlzdCBvZiBkaXJlY3RvcmllcyBmb3IgdGhlIG9yZ2FuaXphdGlvbhI0CjIaMC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5MaXN0RGlyZWN0b3JpZXNSZXNwb25zZYK1GAIYZILT5JMCNRIzL2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2RpcmVjdG9yaWVzErADCg9FbmFibGVEaXJlY3RvcnkSLy5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5Ub2dnbGVEaXJlY3RvcnlSZXF1ZXN0GjAuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuVG9nZ2xlRGlyZWN0b3J5UmVzcG9uc2UiuQKSQegBCglEaXJlY3RvcnkSEkVuYWJsZSBhIGRpcmVjdG9yeRp/QWN0aXZhdGVzIGEgZGlyZWN0b3J5IHdpdGhpbiBhbiBvcmdhbml6YXRpb24sIGFsbG93aW5nIGl0IHRvIHN5bmNocm9uaXplIHVzZXJzIGFuZCBncm91cHMgd2l0aCB0aGUgY29ubmVjdGVkIERpcmVjdG9yeSBwcm92aWRlckpGCgMyMDASPwoHU3VjY2VzcxI0CjIaMC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5Ub2dnbGVEaXJlY3RvcnlSZXNwb25zZYK1GAIYZILT5JMCQTI/L2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2RpcmVjdG9yaWVzL3tpZH06ZW5hYmxlEvsDChBEaXNhYmxlRGlyZWN0b3J5Ei8uc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuVG9nZ2xlRGlyZWN0b3J5UmVxdWVzdBowLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLlRvZ2dsZURpcmVjdG9yeVJlc3BvbnNlIoMDkkGxAgoJRGlyZWN0b3J5EhNEaXNhYmxlIGEgZGlyZWN0b3J5GqoBU3RvcHMgc3luY2hyb25pemF0aW9uIG9mIHVzZXJzIGFuZCBncm91cHMgZnJvbSBhIHNwZWNpZmllZCBkaXJlY3Rvcnkgd2l0aGluIGFuIG9yZ2FuaXphdGlvbi4gVGhpcyBvcGVyYXRpb24gcHJldmVudHMgZnVydGhlciB1cGRhdGVzIGZyb20gdGhlIGNvbm5lY3RlZCBEaXJlY3RvcnkgcHJvdmlkZXJKYgoDMjAwElsKI1N1Y2Nlc3NmdWxseSBkaXNhYmxlZCB0aGUgZGlyZWN0b3J5EjQKMhowLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLlRvZ2dsZURpcmVjdG9yeVJlc3BvbnNlgrUYAhhkgtPkkwJCMkAvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vZGlyZWN0b3JpZXMve2lkfTpkaXNhYmxlErsEChJMaXN0RGlyZWN0b3J5VXNlcnMSMi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5MaXN0RGlyZWN0b3J5VXNlcnNSZXF1ZXN0GjMuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuTGlzdERpcmVjdG9yeVVzZXJzUmVzcG9uc2UiuwOSQeECCglEaXJlY3RvcnkSFExpc3QgZGlyZWN0b3J5IHVzZXJzGrIBUmV0cmlldmVzIGEgbGlzdCBvZiBhbGwgdXNlcnMgd2l0aGluIGEgc3BlY2lmaWVkIGRpcmVjdG9yeSBmb3IgYW4gb3JnYW5pemF0aW9uLiBUaGlzIGVuZHBvaW50IGFsbG93cyB5b3UgdG8gdmlldyB1c2VyIGFjY291bnRzIGFzc29jaWF0ZWQgd2l0aCB5b3VyIGNvbm5lY3RlZCBEaXJlY3RvcnkgUHJvdmlkZXJzLkqIAQoDMjAwEoABCkVTdWNjZXNzZnVsbHkgcmV0cmlldmVkIHRoZSBsaXN0IG9mIHVzZXJzIGZyb20gdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkSNwo1GjMuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuTGlzdERpcmVjdG9yeVVzZXJzUmVzcG9uc2WCtRgCGGSC0+STAkoSSC9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9kaXJlY3Rvcmllcy97ZGlyZWN0b3J5X2lkfS91c2VycxKSBAoTTGlzdERpcmVjdG9yeUdyb3VwcxIzLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkxpc3REaXJlY3RvcnlHcm91cHNSZXF1ZXN0GjQuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuTGlzdERpcmVjdG9yeUdyb3Vwc1Jlc3BvbnNlIo8DkkG0AgoJRGlyZWN0b3J5EhVMaXN0IGRpcmVjdG9yeSBncm91cHMaggFSZXRyaWV2ZXMgYWxsIGdyb3VwcyBmcm9tIGEgc3BlY2lmaWVkIGRpcmVjdG9yeS4gVXNlIHRoaXMgZW5kcG9pbnQgdG8gdmlldyBncm91cCBzdHJ1Y3R1cmVzIGZyb20geW91ciBjb25uZWN0ZWQgaWRlbnRpdHkgcHJvdmlkZXIuSooBCgMyMDASggEKRlN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgdGhlIGxpc3Qgb2YgZ3JvdXBzIGZyb20gdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkSOAo2GjQuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuTGlzdERpcmVjdG9yeUdyb3Vwc1Jlc3BvbnNlgrUYAhhkgtPkkwJLEkkvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vZGlyZWN0b3JpZXMve2RpcmVjdG9yeV9pZH0vZ3JvdXBzEsEEChpMaXN0RGlyZWN0b3J5R3JvdXBzU3VtbWFyeRI6LnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkxpc3REaXJlY3RvcnlHcm91cHNTdW1tYXJ5UmVxdWVzdBo0LnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkxpc3REaXJlY3RvcnlHcm91cHNSZXNwb25zZSKwA5JBvgIKCURpcmVjdG9yeRIdTGlzdCBkaXJlY3RvcnkgZ3JvdXBzIHN1bW1hcnkahAFSZXRyaWV2ZXMgYWxsIGdyb3VwcyBmcm9tIGEgc3BlY2lmaWVkIGRpcmVjdG9yeS4gVGhpcyBpcyBub3QgYSBwYWdpbmF0ZWQgYXBpLiBJdCBnaXZlcyBhIHN1bW1hcnkgdmlldyB3aXRoIGlkIGFuZCBuYW1lIG9mIHRoZSBncm91cC5KigEKAzIwMBKCAQpGU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCB0aGUgbGlzdCBvZiBncm91cHMgZnJvbSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeRI4CjYaNC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5MaXN0RGlyZWN0b3J5R3JvdXBzUmVzcG9uc2WCtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAlMSUS9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9kaXJlY3Rvcmllcy97ZGlyZWN0b3J5X2lkfS9ncm91cHMvc3VtbWFyeRLrAgoVQ3JlYXRlRGlyZWN0b3J5U2VjcmV0EjUuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuQ3JlYXRlRGlyZWN0b3J5U2VjcmV0UmVxdWVzdBo2LnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkNyZWF0ZURpcmVjdG9yeVNlY3JldFJlc3BvbnNlIuIBkkF4CglEaXJlY3RvcnkSHUNyZWF0ZSBzZWNyZXQgZm9yIGEgZGlyZWN0b3J5SkwKAzIwMBJFCgdTdWNjZXNzEjoKOBo2LnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkNyZWF0ZURpcmVjdG9yeVNlY3JldFJlc3BvbnNlgrUYAhhk+tLkkwIJEgdQUkVWSUVXgtPkkwJMIkovYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vZGlyZWN0b3JpZXMve2RpcmVjdG9yeV9pZH0vc2VjcmV0cxKLAwoZUmVnZW5lcmF0ZURpcmVjdG9yeVNlY3JldBI5LnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLlJlZ2VuZXJhdGVEaXJlY3RvcnlTZWNyZXRSZXF1ZXN0Gjouc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuUmVnZW5lcmF0ZURpcmVjdG9yeVNlY3JldFJlc3BvbnNlIvYBkkGAAQoJRGlyZWN0b3J5EiFSZWdlbmVyYXRlIHNlY3JldCBmb3IgYSBkaXJlY3RvcnlKUAoDMjAwEkkKB1N1Y2Nlc3MSPgo8Gjouc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuUmVnZW5lcmF0ZURpcmVjdG9yeVNlY3JldFJlc3BvbnNlgrUYAhhk+tLkkwIJEgdQUkVWSUVXgtPkkwJXIlUvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vZGlyZWN0b3JpZXMve2RpcmVjdG9yeV9pZH0vc2VjcmV0czpyZWdlbmVyYXRlEsoBChRUcmlnZ2VyRGlyZWN0b3J5U3luYxI0LnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLlRyaWdnZXJEaXJlY3RvcnlTeW5jUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJkgrUYAhhk+tLkkwIJEgdQUkVWSUVXgtPkkwJJEkcvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vZGlyZWN0b3JpZXMve2RpcmVjdG9yeV9pZH06c3luYxqqApJBpgIKCURpcmVjdG9yeRKYAkRpcmVjdG9yeSBtYW5hZ2VtZW50IGZvciB2aWV3aW5nIGFuZCBjb250cm9sbGluZyBleHRlcm5hbCBpZGVudGl0eSBwcm92aWRlciBjb25uZWN0aW9ucyBpbiB5b3VyIFNjYWxla2l0IGVudmlyb25tZW50LiBUaGlzIHNlcnZpY2UgcHJvdmlkZXMgZW5kcG9pbnRzIGZvciByZXRyaWV2aW5nIGRpcmVjdG9yeSBpbmZvcm1hdGlvbiwgbGlzdGluZyBkaXJlY3RvcmllcyBhbmQgdGhlaXIgY29udGVudHMsIGFuZCBlbmFibGluZyBvciBkaXNhYmxpbmcgZGlyZWN0b3J5IHN5bmNocm9uaXphdGlvbi5CN1o1Z2l0aHViLmNvbS9zY2FsZWtpdC1pbmMvc2NhbGVraXQvcGtnL2dycGMvZGlyZWN0b3JpZXNiBnByb3RvMw", [validate_pb_1.file_buf_validate_validate, annotations_pb_1.file_google_api_annotations, visibility_pb_1.file_google_api_visibility, wkt_1.file_google_protobuf_empty, wkt_1.file_google_protobuf_struct, wkt_1.file_google_protobuf_timestamp, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations, options_pb_1.file_scalekit_v1_options_options]);
|
|
18
|
+
exports.file_scalekit_v1_directories_directories = (0, codegenv2_1.fileDesc)("CilzY2FsZWtpdC92MS9kaXJlY3Rvcmllcy9kaXJlY3Rvcmllcy5wcm90bxIXc2NhbGVraXQudjEuZGlyZWN0b3JpZXMixwEKE0dldERpcmVjdG9yeVJlcXVlc3QSTwoCaWQYASABKAlCQ5JBNzIiVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGRpcmVjdG9yeUoRImRpcl8xMjEzMTI0MzQxMiK6SAZyBBABGCASXwoPb3JnYW5pemF0aW9uX2lkGAIgASgJQkaSQToyJVVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb25KESJvcmdfMTIxMzEyNDM0MTIiukgGcgQQARggIoYBChRHZXREaXJlY3RvcnlSZXNwb25zZRJuCglkaXJlY3RvcnkYASABKAsyIi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5EaXJlY3RvcnlCN5JBNDIyRGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlcXVlc3RlZCBkaXJlY3Rvcnki3AEKFkNyZWF0ZURpcmVjdG9yeVJlcXVlc3QSZwoPb3JnYW5pemF0aW9uX2lkGAEgASgJQk6SQT8yJFVuaXF1ZSBpZGVudGlmaWVyIHRvIGFuIE9yZ2FuaXphdGlvbkoXIm9yZ18xMjM2MjQ3NDkwMDY4NDgxNCK6SAnIAQFyBBABGCASWQoJZGlyZWN0b3J5GAIgASgLMiguc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuQ3JlYXRlRGlyZWN0b3J5QhySQRMyEURpcmVjdG9yeSBEZXRhaWxzukgDyAEBItUBCg9DcmVhdGVEaXJlY3RvcnkSXAoOZGlyZWN0b3J5X3R5cGUYASABKA4yJi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5EaXJlY3RvcnlUeXBlQhySQQ4yBFR5cGVKBiJTQ0lNIrpICMgBAYIBAhABEmQKEmRpcmVjdG9yeV9wcm92aWRlchgCIAEoDjIqLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkRpcmVjdG9yeVByb3ZpZGVyQhySQREyB1Byb3ZpZGVKBiJPS1RBIrpIBYIBAhABIm4KF0NyZWF0ZURpcmVjdG9yeVJlc3BvbnNlElMKCWRpcmVjdG9yeRgBIAEoCzIiLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkRpcmVjdG9yeUIckkETMhFEaXJlY3RvcnkgRGV0YWlsc7pIA8gBASK6AQoWVXBkYXRlRGlyZWN0b3J5UmVxdWVzdBIbCgJpZBgBIAEoCUIPukgMcgoQARggOgRkaXJfEigKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIPukgMcgoQARggOgRvcmdfElkKCWRpcmVjdG9yeRgDIAEoCzIoLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLlVwZGF0ZURpcmVjdG9yeUIckkETMhFEaXJlY3RvcnkgRGV0YWlsc7pIA8gBASLPBQoPVXBkYXRlRGlyZWN0b3J5Ei0KBG5hbWUYAiABKAlCH5JBEjIETmFtZUoKIkF6dXJlIEFEIrpIB3IFEAEYgAISWQoOZGlyZWN0b3J5X3R5cGUYAyABKA4yJi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5EaXJlY3RvcnlUeXBlQhmSQQ4yBFR5cGVKBiJTQ0lNIrpIBYIBAhABEiIKB2VuYWJsZWQYByABKAhCEZJBDjIGU3RhdHVzSgR0cnVlEtkBChJkaXJlY3RvcnlfcHJvdmlkZXIYCCABKA4yKi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5EaXJlY3RvcnlQcm92aWRlckKQAZJBhAEyLUlkZW50aXR5IHByb3ZpZGVyIGNvbm5lY3RlZCB0byB0aGlzIGRpcmVjdG9yeUpTIk9LVEEiLCAiR09PR0xFIiwgIk1JQ1JPU09GVF9BRCIsICJBVVRIMCIsICJPTkVMT0dJTiIsICJKVU1QQ0xPVUQiLCAiUElOR19JREVOVElUWSK6SAWCAQIQARJgCgZzdGF0dXMYCSABKA4yKC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5EaXJlY3RvcnlTdGF0dXNCJpJBGzIMU2V0dXAgU3RhdHVzSgsiQ09NUExFVEVEIrpIBYIBAhABEjsKCG1hcHBpbmdzGAogAygLMikuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuRGlyZWN0b3J5TWFwcGluZxJpCgZncm91cHMYDyADKAsyJi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5FeHRlcm5hbEdyb3VwQjGSQS4yLExpc3Qgb2YgZ3JvdXBzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGlyZWN0b3J5SgQIARACSgQIBBAFSgQIBhAHSgQICxAMSgQIDBANSgQIDRAOSgQIDhAPIm4KF1VwZGF0ZURpcmVjdG9yeVJlc3BvbnNlElMKCWRpcmVjdG9yeRgBIAEoCzIiLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkRpcmVjdG9yeUIckkETMhFEaXJlY3RvcnkgRGV0YWlsc7pIA8gBASK+AQofQXNzaWduR3JvdXBzRm9yRGlyZWN0b3J5UmVxdWVzdBIbCgJpZBgBIAEoCUIPukgMcgoQARggOgRkaXJfEigKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIPukgMcgoQARggOgRvcmdfElQKDGV4dGVybmFsX2lkcxgDIAMoCUI+kkE1MjNleHRlcm5hbF9pZHMgb2YgZ3JvdXBzIHRvIGJlIHRyYWNrZWQgZHVyaW5nIHBvbGxpbme6SAPIAQEiggEKFkxpc3REaXJlY3Rvcmllc1JlcXVlc3QSaAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQk+SQT0yJVVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb25KFCJvcmdfMTIzNjI0NzQ5MDA2ODQiukgMcgoQARggOgRvcmdfIpMBChdMaXN0RGlyZWN0b3JpZXNSZXNwb25zZRJ4CgtkaXJlY3RvcmllcxgBIAMoCzIiLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkRpcmVjdG9yeUI/kkE2MjRMaXN0IG9mIGRpcmVjdG9yaWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgb3JnYW5pemF0aW9uukgDyAEBIvMIChlMaXN0RGlyZWN0b3J5VXNlcnNSZXF1ZXN0EmgKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUJPkkE9MiVVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uShQib3JnXzEyMTMxMjQzNDEyMzMxIrpIDHIKEAEYIDoEb3JnXxJ6CgxkaXJlY3RvcnlfaWQYAiABKAlCZJJBUjI6VW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGRpcmVjdG9yeSB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbkoUImRpcl8xMjEzMTI0MzQxMjMzMSK6SAxyChABGCA6BGRpcl8SfAoJcGFnZV9zaXplGAMgASgNQmmSQV8yWU51bWJlciBvZiB1c2VycyB0byByZXR1cm4gcGVyIHBhZ2UuIE1heGltdW0gdmFsdWUgaXMgMzAuIElmIG5vdCBzcGVjaWZpZWQsIGRlZmF1bHRzIHRvIDEwSgIxMLpIBCoCGB4SpQEKCnBhZ2VfdG9rZW4YBCABKAlCkAGSQYwBMokBVG9rZW4gZm9yIHBhZ2luYXRpb24uIFVzZSB0aGUgdmFsdWUgcmV0dXJuZWQgaW4gdGhlICduZXh0X3BhZ2VfdG9rZW4nIGZpZWxkIG9mIHRoZSBwcmV2aW91cyByZXNwb25zZSB0byByZXRyaWV2ZSB0aGUgbmV4dCBwYWdlIG9mIHJlc3VsdHMS0gEKDmluY2x1ZGVfZGV0YWlsGAUgASgIQrQBkkGwATKnAUlmIHNldCB0byB0cnVlLCB0aGUgcmVzcG9uc2Ugd2lsbCBpbmNsdWRlIHRoZSBmdWxsIHVzZXIgcGF5bG9hZCB3aXRoIGFsbCBhdmFpbGFibGUgZGV0YWlscy4gSWYgZmFsc2Ugb3Igbm90IHNwZWNpZmllZCwgb25seSBlc3NlbnRpYWwgdXNlciBpbmZvcm1hdGlvbiB3aWxsIGJlIHJldHVybmVkSgR0cnVlSACIAQESjwEKEmRpcmVjdG9yeV9ncm91cF9pZBgGIAEoCUJukkFXMj5GaWx0ZXIgdXNlcnMgYnkgdGhlaXIgbWVtYmVyc2hpcCBpbiBhIHNwZWNpZmljIGRpcmVjdG9yeSBncm91cEoVImRpcmdyb3VwXzEyMTMxMjQzNDEiukgRcg8QARglOglkaXJncm91cF9IAYgBARKmAQoNdXBkYXRlZF9hZnRlchgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCbpJBazJRRmlsdGVyIHVzZXJzIHRoYXQgd2VyZSB1cGRhdGVkIGFmdGVyIHRoZSBzcGVjaWZpZWQgdGltZXN0YW1wLiBVc2UgSVNPIDg2MDEgZm9ybWF0ShYiMjAyMS0wMS0wMVQwMDowMDowMFoiSAKIAQFCEQoPX2luY2x1ZGVfZGV0YWlsQhUKE19kaXJlY3RvcnlfZ3JvdXBfaWRCEAoOX3VwZGF0ZWRfYWZ0ZXIisAQKGkxpc3REaXJlY3RvcnlVc2Vyc1Jlc3BvbnNlEnoKBXVzZXJzGAEgAygLMiYuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuRGlyZWN0b3J5VXNlckJDkkFAMj5MaXN0IG9mIGRpcmVjdG9yeSB1c2VycyByZXRyaWV2ZWQgZnJvbSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeRJpCgp0b3RhbF9zaXplGAIgASgNQlWSQVIyUFRvdGFsIG51bWJlciBvZiB1c2VycyBhdmFpbGFibGUgaW4gdGhlIGRpcmVjdG9yeSB0aGF0IG1hdGNoIHRoZSByZXF1ZXN0IGNyaXRlcmlhEpYBCg9uZXh0X3BhZ2VfdG9rZW4YAyABKAlCfZJBejJ4VG9rZW4gZm9yIHBhZ2luYXRpb24uIFVzZSB0aGlzIHRva2VuIGluIHRoZSAncGFnZV90b2tlbicgZmllbGQgb2YgdGhlIG5leHQgcmVxdWVzdCB0byBmZXRjaCB0aGUgc3Vic2VxdWVudCBwYWdlIG9mIHVzZXJzEpEBCg9wcmV2X3BhZ2VfdG9rZW4YBCABKAlCeJJBdTJzVG9rZW4gZm9yIHBhZ2luYXRpb24uIFVzZSB0aGlzIHRva2VuIGluIHRoZSAncGFnZV90b2tlbicgZmllbGQgb2YgdGhlIG5leHQgcmVxdWVzdCB0byBmZXRjaCB0aGUgcHJpb3IgcGFnZSBvZiB1c2VycyLNBwoaTGlzdERpcmVjdG9yeUdyb3Vwc1JlcXVlc3QSaQoPb3JnYW5pemF0aW9uX2lkGAEgASgJQlCSQT4yJVVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb25KFSJvcmdfMTIxMzEyNDM0MTIzMzEyIrpIDHIKEAEYIDoEb3JnXxJjCgxkaXJlY3RvcnlfaWQYAiABKAlCTZJBOzIiVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGRpcmVjdG9yeUoVImRpcl8xMjEzMTI0MzQxMjMzMTIiukgMcgoQARggOgRkaXJfEn0KCXBhZ2Vfc2l6ZRgDIAEoDUJqkkFgMlpOdW1iZXIgb2YgZ3JvdXBzIHRvIHJldHVybiBwZXIgcGFnZS4gTWF4aW11bSB2YWx1ZSBpcyAzMC4gSWYgbm90IHNwZWNpZmllZCwgZGVmYXVsdHMgdG8gMTBKAjEwukgEKgIYHhJ9CgpwYWdlX3Rva2VuGAQgASgJQmmSQWYyZFRva2VuIGZvciBwYWdpbmF0aW9uLiBVc2UgdGhlIHZhbHVlIHJldHVybmVkIGluIHRoZSAnbmV4dF9wYWdlX3Rva2VuJyBmaWVsZCBvZiB0aGUgcHJldmlvdXMgcmVzcG9uc2USlAEKDXVwZGF0ZWRfYWZ0ZXIYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQlySQVkyP0ZpbHRlciBncm91cHMgdXBkYXRlZCBhZnRlciB0aGlzIHRpbWVzdGFtcC4gVXNlIElTTyA4NjAxIGZvcm1hdEoWIjIwMjEtMDEtMDFUMDA6MDA6MDBaIkgAiAEBEocBCg5pbmNsdWRlX2RldGFpbBgGIAEoCEJqkkFnMl9JZiB0cnVlLCBpbmNsdWRlcyBmdWxsIGdyb3VwIGRldGFpbHMuIElmIGZhbHNlIG9yIG5vdCBzcGVjaWZpZWQsIHJldHVybnMgYmFzaWMgaW5mb3JtYXRpb24gb25seUoEdHJ1ZUgBiAEBEn8KF2luY2x1ZGVfZXh0ZXJuYWxfZ3JvdXBzGAcgASgIQlmSQVYyTklmIHRydWUsIHJldHVybnMgZ3JvdXAgYW5kIGl0cyBkZXRhaWxzIGZyb20gZXh0ZXJuYWwgcHJvdmlkZXIgKGRlZmF1bHQ6IGZhbHNlKUoEdHJ1ZUgCiAEBQhAKDl91cGRhdGVkX2FmdGVyQhEKD19pbmNsdWRlX2RldGFpbEIaChhfaW5jbHVkZV9leHRlcm5hbF9ncm91cHMimwQKG0xpc3REaXJlY3RvcnlHcm91cHNSZXNwb25zZRJ9CgZncm91cHMYASADKAsyJy5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5EaXJlY3RvcnlHcm91cEJEkkFBMj9MaXN0IG9mIGRpcmVjdG9yeSBncm91cHMgcmV0cmlldmVkIGZyb20gdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkSZwoKdG90YWxfc2l6ZRgCIAEoDUJTkkFQMk5Ub3RhbCBudW1iZXIgb2YgZ3JvdXBzIG1hdGNoaW5nIHRoZSByZXF1ZXN0IGNyaXRlcmlhLCByZWdhcmRsZXNzIG9mIHBhZ2luYXRpb24ShgEKD25leHRfcGFnZV90b2tlbhgDIAEoCUJtkkFqMmhUb2tlbiB0byByZXRyaWV2ZSB0aGUgbmV4dCBwYWdlIG9mIHJlc3VsdHMuIFVzZSB0aGlzIHRva2VuIGluIHRoZSAncGFnZV90b2tlbicgZmllbGQgb2YgdGhlIG5leHQgcmVxdWVzdBKKAQoPcHJldl9wYWdlX3Rva2VuGAQgASgJQnGSQW4ybFRva2VuIHRvIHJldHJpZXZlIHRoZSBwcmV2aW91cyBwYWdlIG9mIHJlc3VsdHMuIFVzZSB0aGlzIHRva2VuIGluIHRoZSAncGFnZV90b2tlbicgZmllbGQgb2YgdGhlIG5leHQgcmVxdWVzdCLzAQohTGlzdERpcmVjdG9yeUdyb3Vwc1N1bW1hcnlSZXF1ZXN0EmkKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUJQkkE+MiVVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uShUib3JnXzEyMTMxMjQzNDEyMzMxMiK6SAxyChABGCA6BG9yZ18SYwoMZGlyZWN0b3J5X2lkGAIgASgJQk2SQTsyIlVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBkaXJlY3RvcnlKFSJkaXJfMTIxMzEyNDM0MTIzMzEyIrpIDHIKEAEYIDoEZGlyXyLCEQoJRGlyZWN0b3J5ElkKAmlkGAEgASgJQk2SQTsyIlVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBkaXJlY3RvcnlKFSJkaXJfMTIxMzEyNDM0MTIzMzEyIrpIDHIKEAEYIDoEZGlyXxJ3CgRuYW1lGAIgASgJQmmSQVwyTk5hbWUgb2YgdGhlIGRpcmVjdG9yeSwgdHlwaWNhbGx5IHJlcHJlc2VudGluZyB0aGUgY29ubmVjdGVkIERpcmVjdG9yeSBwcm92aWRlckoKIkF6dXJlIEFEIrpIB3IFEAEYgAISqAEKDmRpcmVjdG9yeV90eXBlGAMgASgOMiYuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuRGlyZWN0b3J5VHlwZUJokkFdMlNUeXBlIG9mIHRoZSBkaXJlY3RvcnksIGluZGljYXRpbmcgdGhlIHByb3RvY29sIG9yIHN0YW5kYXJkIHVzZWQgZm9yIHN5bmNocm9uaXphdGlvbkoGIlNDSU0iukgFggECEAESiAEKD29yZ2FuaXphdGlvbl9pZBgEIAEoCUJvkkFdMkRVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uIHRvIHdoaWNoIHRoZSBkaXJlY3RvcnkgYmVsb25nc0oVIm9yZ18xMjEzMTI0MzQxMjMzMTIiukgMcgoQARggOgRvcmdfEnwKB2VuYWJsZWQYBSABKAhCa5JBaDJgSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGRpcmVjdG9yeSBpcyBjdXJyZW50bHkgZW5hYmxlZCBhbmQgYWN0aXZlbHkgc3luY2hyb25pemluZyB1c2VycyBhbmQgZ3JvdXBzSgR0cnVlEooBChJkaXJlY3RvcnlfcHJvdmlkZXIYBiABKA4yKi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5EaXJlY3RvcnlQcm92aWRlckJCkkE3Mi1JZGVudGl0eSBwcm92aWRlciBjb25uZWN0ZWQgdG8gdGhpcyBkaXJlY3RvcnlKBiJPS1RBIrpIBYIBAhABErEBCg5sYXN0X3N5bmNlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCfZJBejJgVGltZXN0YW1wIG9mIHRoZSBsYXN0IHN1Y2Nlc3NmdWwgc3luY2hyb25pemF0aW9uIG9mIHVzZXJzIGFuZCBncm91cHMgZnJvbSB0aGUgRGlyZWN0b3J5IFByb3ZpZGVyShYiMjAyNC0xMC0wMVQwMDowMDowMFoiEtoBChJkaXJlY3RvcnlfZW5kcG9pbnQYCCABKAlCvQGSQa8BMmVUaGUgZW5kcG9pbnQgVVJMIGdlbmVyYXRlZCBieSBTY2FsZWtpdCBmb3Igc3luY2hyb25pemluZyB1c2VycyBhbmQgZ3JvdXBzIGZyb20gdGhlIERpcmVjdG9yeSBQcm92aWRlckpGImh0dHBzOi8veW91cmFwcC5zY2FsZWtpdC5jb20vYXBpL3YxL2RpcmVjdG9pZXMvZGlyXzEyMzIxMjMxMi9zY2ltL3YyIrpIB3IFEAEY0A8SRAoLdG90YWxfdXNlcnMYCSABKAVCL5JBLDImVG90YWwgbnVtYmVyIG9mIHVzZXJzIGluIHRoZSBkaXJlY3RvcnlKAjEwEkYKDHRvdGFsX2dyb3VwcxgKIAEoBUIwkkEtMidUb3RhbCBudW1iZXIgb2YgZ3JvdXBzIGluIHRoZSBkaXJlY3RvcnlKAjEwEowBCgdzZWNyZXRzGAsgAygLMh8uc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuU2VjcmV0QlqSQVcyVUxpc3Qgb2Ygc2VjcmV0cyB1c2VkIGZvciBhdXRoZW50aWNhdGluZyBhbmQgc3luY2hyb25pemluZyB3aXRoIHRoZSBEaXJlY3RvcnkgUHJvdmlkZXISlAEKBXN0YXRzGAwgASgLMh4uc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuU3RhdHNCZZJBYjJgU3RhdGlzdGljcyBhbmQgbWV0cmljcyByZWxhdGVkIHRvIHRoZSBkaXJlY3RvcnksIHN1Y2ggYXMgc3luY2hyb25pemF0aW9uIHN0YXR1cyBhbmQgZXJyb3IgY291bnRzEp4BChByb2xlX2Fzc2lnbm1lbnRzGA0gASgLMiguc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuUm9sZUFzc2lnbm1lbnRzQlqSQVcyVVJvbGUgYXNzaWdubWVudHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBkaXJlY3RvcnksIGRlZmluaW5nIGdyb3VwIGJhc2VkIHJvbGUgYXNzaWdubWVudHMSmQEKEmF0dHJpYnV0ZV9tYXBwaW5ncxgOIAEoCzIqLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkF0dHJpYnV0ZU1hcHBpbmdzQlGSQU4yTE1hcHBpbmdzIGJldHdlZW4gZGlyZWN0b3J5IGF0dHJpYnV0ZXMgYW5kIFNjYWxla2l0IHVzZXIgYW5kIGdyb3VwIGF0dHJpYnV0ZXMSPAoGc3RhdHVzGA8gASgJQiySQSEyEERpcmVjdG9yeSBTdGF0dXNKDSJJTl9QUk9HUkVTUyK6SAWCAQIQARJ3CgVlbWFpbBgQIAEoCUJokkFlMkhFbWFpbCBJZCBhc3NvY2lhdGVkIHdpdGggRGlyZWN0b3J5IHdob3NlIGFjY2VzcyB3aWxsIGJlIHVzZWQgZm9yIHBvbGxpbmdKGSJqb2huLmRvZUBzY2FsZWtpdC5jbG91ZCISZwoOZ3JvdXBzX3RyYWNrZWQYESABKAlCT5JBTDJDSXQgaW5kaWNhdGVzIGlmIGFsbCBncm91cHMgYXJlIHRyYWNrZWQgb3Igc2VsZWN0IGdyb3VwcyBhcmUgdHJhY2tlZEoFIkFMTCIimwMKFlRvZ2dsZURpcmVjdG9yeVJlcXVlc3QSuAEKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUKeAZJBiwEyckEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBvcmdhbml6YXRpb24uIFRoZSB2YWx1ZSBtdXN0IGJlZ2luIHdpdGggJ29yZ18nIGFuZCBiZSBiZXR3ZWVuIDEgYW5kIDMyIGNoYXJhY3RlcnMgbG9uZ0oVIm9yZ18xMjEzMTI0MzQxMjMzMTIiukgMcgoQARggOgRvcmdfEr8BCgJpZBgDIAEoCUKyAZJBnwEyhQFBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciBhIGRpcmVjdG9yeSB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbi4gVGhlIHZhbHVlIG11c3QgYmVnaW4gd2l0aCAnZGlyXycgYW5kIGJlIGJldHdlZW4gMSBhbmQgMzIgY2hhcmFjdGVycyBsb25nShUiZGlyXzEyMTMxMjQzNDEyMzMxMiK6SAxyChABGCA6BGRpcl9KBAgCEAMilQQKF1RvZ2dsZURpcmVjdG9yeVJlc3BvbnNlEo0CCgdlbmFibGVkGAEgASgIQvsBkkH3ATLuAVNwZWNpZmllcyB0aGUgZGlyZWN0b3J5J3Mgc3RhdGUgYWZ0ZXIgdGhlIHRvZ2dsZSBvcGVyYXRpb24uIEEgdmFsdWUgb2YgYHRydWVgIGluZGljYXRlcyB0aGF0IHRoZSBkaXJlY3RvcnkgaXMgZW5hYmxlZCBhbmQgYWN0aXZlbHkgc3luY2hyb25pemluZyB1c2VycyBhbmQgZ3JvdXBzLiBBIHZhbHVlIG9mIGBmYWxzZWAgbWVhbnMgdGhlIGRpcmVjdG9yeSBpcyBkaXNhYmxlZCwgaGFsdGluZyBzeW5jaHJvbml6YXRpb25KBHRydWUS1wEKDWVycm9yX21lc3NhZ2UYAiABKAlCugGSQbYBMo8BQ29udGFpbnMgYSBodW1hbi1yZWFkYWJsZSBlcnJvciBtZXNzYWdlIGlmIHRoZSB0b2dnbGUgb3BlcmF0aW9uIGVuY291bnRlcmVkIGFuIGlzc3VlLiBJZiB0aGUgb3BlcmF0aW9uIHdhcyBzdWNjZXNzZnVsLCB0aGlzIGZpZWxkIHdpbGwgYmUgZW1wdHlKIiJUaGUgZGlyZWN0b3J5IGlzIGFscmVhZHkgZW5hYmxlZCJIAIgBAUIQCg5fZXJyb3JfbWVzc2FnZSJhChBEaXJlY3RvcnlNYXBwaW5nEhkKA2tleRgBIAEoCUIMukgJyAEBcgQQARggEhwKBm1hcF90bxgCIAEoCUIMukgJyAEBcgQQARggEhQKDGRpc3BsYXlfbmFtZRgDIAEoCSLSBAoNRGlyZWN0b3J5VXNlchJGCgJpZBgBIAEoCUI6kkEkMgdVc2VyIElEShkiZGlydXNlcl8xMjEzMTI0MzQxMjMzMTIiukgQcg4QARgkOghkaXJ1c2VyXxIuCgVlbWFpbBgCIAEoCUIfkkESMgVFbWFpbEoJImpvaG5kb2UiukgHcgUQARiAAhJIChJwcmVmZXJyZWRfdXNlcm5hbWUYAyABKAlCLJJBHzISUHJlZmVycmVkIFVzZXJuYW1lSgkiam9obmRvZSK6SAdyBRABGIACEjUKCmdpdmVuX25hbWUYBCABKAlCIZJBFDIKRmlyc3QgTmFtZUoGIkpvaG4iukgHcgUQARiAAhI0CgtmYW1pbHlfbmFtZRgFIAEoCUIfkkESMglMYXN0IE5hbWVKBSJEb2UiukgHcgUQARiAAhJXCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEInkkEkMgpVcGRhdGVkIEF0ShYiMjAyNC0xMC0wMVQwMDowMDowMFoiEhsKBmVtYWlscxgQIAMoCUILkkEIMgZFbWFpbHMSRAoGZ3JvdXBzGBEgAygLMicuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuRGlyZWN0b3J5R3JvdXBCC5JBCDIGR3JvdXBzElAKC3VzZXJfZGV0YWlsGBIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEIikkEfMh1Db21wbGV0ZSBVc2VyIERldGFpbHMgUGF5bG9hZEoECAcQECLTAQoNRXh0ZXJuYWxHcm91cBJICgtleHRlcm5hbF9pZBgBIAEoCUIzkkEmMhFFeHRlcm5hbCBHcm91cCBJREoRIjAyeTN3MjQ3MTI0Y2NxaSK6SAdyBRABGIACEjsKDGRpc3BsYXlfbmFtZRgCIAEoCUIlkkEYMgxEaXNwbGF5IE5hbWVKCCJBZG1pbnMiukgHcgUQARiAAhI7CgVlbWFpbBgDIAEoCUIskkEfMgVFbWFpbEoWImpvaG5kb2VAc2NhbGVraXQuY29tIrpIB3IFEAEYgAIi/QIKDkRpcmVjdG9yeUdyb3VwEkkKAmlkGAEgASgJQj2SQSYyCEdyb3VwIElEShoiZGlyZ3JvdXBfMTIxMzEyNDM0MTIzMzEyIrpIEXIPEAEYJDoJZGlyZ3JvdXBfEjsKDGRpc3BsYXlfbmFtZRgCIAEoCUIlkkEYMgxEaXNwbGF5IE5hbWVKCCJBZG1pbnMiukgHcgUQARiAAhI2Cgt0b3RhbF91c2VycxgDIAEoBUIhkkEeMhhUb3RhbCBVc2VycyBpbiB0aGUgR3JvdXBKAjEwElcKCnVwZGF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQieSQSQyClVwZGF0ZWQgQXRKFiIyMDI0LTEwLTAxVDAwOjAwOjAwWiISUgoMZ3JvdXBfZGV0YWlsGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEIjkkEgMh5Db21wbGV0ZSBHcm91cCBEZXRhaWxzIFBheWxvYWQinAEKHENyZWF0ZURpcmVjdG9yeVNlY3JldFJlcXVlc3QSVQoPb3JnYW5pemF0aW9uX2lkGAEgASgJQjySQSoyD09yZ2FuaXphdGlvbiBJREoXIm9yZ18xMjM2MjQ3NDkwMDY4NDgxNCK6SAxyChABGCA6BG9yZ18SJQoMZGlyZWN0b3J5X2lkGAIgASgJQg+6SAxyChABGCA6BGRpcl8ijwIKHUNyZWF0ZURpcmVjdG9yeVNlY3JldFJlc3BvbnNlEqcBCgxwbGFpbl9zZWNyZXQYASABKAlCkAGSQYwBMlZQbGFpbiBTZWNyZXQuIFRoaXMgaXMgb25seSByZXR1cm5lZCBpbiBQbGFpbiBUZXh0IGFzIHJlc3BvbnNlIHRvIHRoZSBDcmVhdGlvbiBSZXF1ZXN0LkoyImRYTmxjbTVoYldVNmNHRnpjM2R2Y21RNmMyVmpjbVYwYTJWNU1USXpORFUyTnpnNSISRAoGc2VjcmV0GAIgASgLMh8uc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuU2VjcmV0QhOSQRAyDlNlY3JldCBEZXRhaWxzInMKIFJlZ2VuZXJhdGVEaXJlY3RvcnlTZWNyZXRSZXF1ZXN0EigKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIPukgMcgoQARggOgRvcmdfEiUKDGRpcmVjdG9yeV9pZBgCIAEoCUIPukgMcgoQARggOgRkaXJfIpMCCiFSZWdlbmVyYXRlRGlyZWN0b3J5U2VjcmV0UmVzcG9uc2USpwEKDHBsYWluX3NlY3JldBgBIAEoCUKQAZJBjAEyVlBsYWluIFNlY3JldC4gVGhpcyBpcyBvbmx5IHJldHVybmVkIGluIFBsYWluIFRleHQgYXMgcmVzcG9uc2UgdG8gdGhlIENyZWF0aW9uIFJlcXVlc3QuSjIiZFhObGNtNWhiV1U2Y0dGemMzZHZjbVE2YzJWamNtVjBhMlY1TVRJek5EVTJOemc1IhJECgZzZWNyZXQYAiABKAsyHy5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5TZWNyZXRCE5JBEDIOU2VjcmV0IERldGFpbHMimQQKBlNlY3JldBIbCgJpZBgBIAEoCUIPukgMcgoQARggOgRzZWNfElsKC2NyZWF0ZV90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIqkkEnMg1DcmVhdGlvbiBUaW1lShYiMjAyNC0xMC0wMVQwMDowMDowMFoiEjEKDXNlY3JldF9zdWZmaXgYBCABKAlCGpJBFzINU2VjcmV0IFN1ZmZpeEoGIk56ZzUiElUKBnN0YXR1cxgFIAEoDjIlLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLlNlY3JldFN0YXR1c0IekkEbMg1TZWNyZXQgU3RhdHVzSgoiSU5BQ1RJVkUiElkKC2V4cGlyZV90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIokkElMgtFeHBpcnkgVGltZUoWIjIwMjUtMTAtMDFUMDA6MDA6MDBaIhJfCg5sYXN0X3VzZWRfdGltZRgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCK5JBKDIOTGFzdCBVc2VkIFRpbWVKFiIyMDI0LTEwLTAxVDAwOjAwOjAwWiISTwoMZGlyZWN0b3J5X2lkGAkgASgJQjmSQScyDERpcmVjdG9yeSBJREoXImRpcl8xMjM2MjQ3NDkwMDY4NDgxNCK6SAxyChABGCA6BGRpcl8i/QIKBVN0YXRzEjoKC3RvdGFsX3VzZXJzGAEgASgFQiWSQSIyHFRvdGFsIFVzZXJzIGluIHRoZSBEaXJlY3RvcnlKAjEwEjwKDHRvdGFsX2dyb3VwcxgCIAEoBUImkkEjMh1Ub3RhbCBHcm91cHMgaW4gdGhlIERpcmVjdG9yeUoCMTASfQoQZ3JvdXBfdXBkYXRlZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCR5JBRDIqTWF4IHRpbWUgb2YgR3JvdXAgVXBkYXRlZCBBdCBmb3IgRGlyZWN0b3J5ShYiMjAyNC0xMC0wMVQwMDowMDowMFoiEnsKD3VzZXJfdXBkYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCRpJBQzIpTWF4IHRpbWUgb2YgVXNlciBVcGRhdGVkIEF0IGZvciBEaXJlY3RvcnlKFiIyMDI0LTEwLTAxVDAwOjAwOjAwWiIikwEKEkFzc2lnblJvbGVzUmVxdWVzdBIiCg9vcmdhbml6YXRpb25faWQYASABKAlCCbpIBnIEEAEYIBIVCgJpZBgCIAEoCUIJukgGcgQQARggEkIKEHJvbGVfYXNzaWdubWVudHMYAyABKAsyKC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5Sb2xlQXNzaWdubWVudHMiTwoPUm9sZUFzc2lnbm1lbnRzEjwKC2Fzc2lnbm1lbnRzGAEgAygLMicuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuUm9sZUFzc2lnbm1lbnQiWQoTQXNzaWduUm9sZXNSZXNwb25zZRJCChByb2xlX2Fzc2lnbm1lbnRzGAEgASgLMiguc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuUm9sZUFzc2lnbm1lbnRzIv4BCg5Sb2xlQXNzaWdubWVudBJWCghncm91cF9pZBgBIAEoCUJEkkE4Mh1ncm91cCBJRCBmb3IgdGhlIHJvbGUgbWFwcGluZ0oXImRpcmdyb3VwXzEyMTMxMjQzNDEyMyK6SAZyBBABGCASNQoJcm9sZV9uYW1lGAIgASgJQiK6SB/IAQFyGhABGGQyFF5bYS16QS1aMC05X117MSw2NH0kEl0KB3JvbGVfaWQYAyABKAlCTJJBMzIccm9sZSBJRCBmb3IgdGhlIHJvbGUgbWFwcGluZ0oTInJvbGVfMTIxMzEyNDM0MTIzIrpIBHICGCD60uSTAgkSB1BSRVZJRVcipwEKF1VwZGF0ZUF0dHJpYnV0ZXNSZXF1ZXN0EigKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIPukgMcgoQARggOgRvcmdfEhsKAmlkGAIgASgJQg+6SAxyChABGCA6BGRpcl8SRQoRYXR0cmlidXRlX21hcHBpbmcYAyABKAsyKi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5BdHRyaWJ1dGVNYXBwaW5ncyJSChFBdHRyaWJ1dGVNYXBwaW5ncxI9CgphdHRyaWJ1dGVzGAEgAygLMikuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuQXR0cmlidXRlTWFwcGluZyJLChBBdHRyaWJ1dGVNYXBwaW5nEhkKA2tleRgBIAEoCUIMukgJyAEBcgQQARggEhwKBm1hcF90bxgCIAEoCUIMukgJyAEBcgQQARggImIKGFVwZGF0ZUF0dHJpYnV0ZXNSZXNwb25zZRJGChJhdHRyaWJ1dGVfbWFwcGluZ3MYASABKAsyKi5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5BdHRyaWJ1dGVNYXBwaW5ncyJlChZEZWxldGVEaXJlY3RvcnlSZXF1ZXN0EigKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIPukgMcgoQARggOgRvcmdfEhsKAmlkGAMgASgJQg+6SAxyChABGCA6BGRpcl9KBAgCEAMi3gEKG1RyaWdnZXJEaXJlY3RvcnlTeW5jUmVxdWVzdBJbCgxkaXJlY3RvcnlfaWQYASABKAlCRZJBOTIgVW5pcXVlIGlkZW50aWZpZXIgb2YgYSBEaXJlY3RvcnlKFSJkaXJfMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYIBJiCg9vcmdhbml6YXRpb25faWQYAiABKAlCSZJBPTIkVW5pcXVlIGlkZW50aWZpZXIgdG8gYW4gT3JnYW5pemF0aW9uShUib3JnXzEyMTMxMjQzNDEyMzMxMiK6SAZyBBABGCAicwoaR2V0RGlyZWN0b3J5Q29udGV4dFJlcXVlc3QSKAoMZGlyZWN0b3J5X2lkGAEgASgJQhK6SA/IAQFyChABGCA6BGRpcl8SKwoPb3JnYW5pemF0aW9uX2lkGAIgASgJQhK6SA/IAQFyChABGCA6BG9yZ18iRwobR2V0RGlyZWN0b3J5Q29udGV4dFJlc3BvbnNlEigKB2NvbnRleHQYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IqABCh1VcGRhdGVEaXJlY3RvcnlDb250ZXh0UmVxdWVzdBIoCgxkaXJlY3RvcnlfaWQYASABKAlCErpID8gBAXIKEAEYIDoEZGlyXxIrCg9vcmdhbml6YXRpb25faWQYAiABKAlCErpID8gBAXIKEAEYIDoEb3JnXxIoCgdjb250ZXh0GAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCpNCg1EaXJlY3RvcnlUeXBlEh4KGkRJUkVDVE9SWV9UWVBFX1VOU1BFQ0lGSUVEEAASCAoEU0NJTRABEggKBExEQVAQAhIICgRQT0xMEAMqmgEKEURpcmVjdG9yeVByb3ZpZGVyEiIKHkRJUkVDVE9SWV9QUk9WSURFUl9VTlNQRUNJRklFRBAAEggKBE9LVEEQARIKCgZHT09HTEUQAhIQCgxNSUNST1NPRlRfQUQQAxIJCgVBVVRIMBAEEgwKCE9ORUxPR0lOEAUSDQoJSlVNUENMT1VEEAYSEQoNUElOR19JREVOVElUWRAHKl4KD0RpcmVjdG9yeVN0YXR1cxIgChxESVJFQ1RPUllfU1RBVFVTX1VOU1BFQ0lGSUVEEAASCQoFRFJBRlQQARIPCgtJTl9QUk9HUkVTUxACEg0KCUNPTVBMRVRFRBADKigKDFNlY3JldFN0YXR1cxIKCgZBQ1RJVkUQABIMCghJTkFDVElWRRABMqk4ChBEaXJlY3RvcnlTZXJ2aWNlEuQBCg9DcmVhdGVEaXJlY3RvcnkSLy5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5DcmVhdGVEaXJlY3RvcnlSZXF1ZXN0GjAuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuQ3JlYXRlRGlyZWN0b3J5UmVzcG9uc2UiboK1GBUKEWRpcmVjdG9yaWVzX3dyaXRlGHT60uSTAgkSB1BSRVZJRVeC0+STAkA6CWRpcmVjdG9yeSIzL2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2RpcmVjdG9yaWVzEp4CCg9EZWxldGVEaXJlY3RvcnkSLy5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5EZWxldGVEaXJlY3RvcnlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IsEBkkFpCglEaXJlY3RvcnkSEkRlbGV0ZSBhIGRpcmVjdG9yeRopRGVsZXRlIGEgRGlyZWN0b3J5IHdpdGhpbiBhbiBvcmdhbml6YXRpb25KHQoDMjAwEhYKFERlbGV0ZWQgU3VjY2Vzc2Z1bGx5grUYAhhk+tLkkwIJEgdQUkVWSUVXgtPkkwI6KjgvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vZGlyZWN0b3JpZXMve2lkfRLpAQoPVXBkYXRlRGlyZWN0b3J5Ei8uc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuVXBkYXRlRGlyZWN0b3J5UmVxdWVzdBowLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLlVwZGF0ZURpcmVjdG9yeVJlc3BvbnNlInOCtRgVChFkaXJlY3Rvcmllc193cml0ZRh0+tLkkwIJEgdQUkVWSUVXgtPkkwJFOglkaXJlY3RvcnkyOC9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9kaXJlY3Rvcmllcy97aWR9EucBChhBc3NpZ25Hcm91cHNGb3JEaXJlY3RvcnkSOC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5Bc3NpZ25Hcm91cHNGb3JEaXJlY3RvcnlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5InmCtRgVChFkaXJlY3Rvcmllc193cml0ZRh0+tLkkwIJEgdQUkVWSUVXgtPkkwJLOgEqGkYvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vZGlyZWN0b3JpZXMve2lkfS9ncm91cHM6YXNzaWduEvsBCgtBc3NpZ25Sb2xlcxIrLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkFzc2lnblJvbGVzUmVxdWVzdBosLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkFzc2lnblJvbGVzUmVzcG9uc2UikAGCtRgVChFkaXJlY3Rvcmllc193cml0ZRh0+tLkkwIJEgdQUkVWSUVXgtPkkwJiOhByb2xlX2Fzc2lnbm1lbnRzGk4vYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vZGlyZWN0b3JpZXMve2lkfS9ncm91cHMvLS9yb2xlczphc3NpZ24SgAIKEFVwZGF0ZUF0dHJpYnV0ZXMSMC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5VcGRhdGVBdHRyaWJ1dGVzUmVxdWVzdBoxLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLlVwZGF0ZUF0dHJpYnV0ZXNSZXNwb25zZSKGAYK1GBUKEWRpcmVjdG9yaWVzX3dyaXRlGHT60uSTAgkSB1BSRVZJRVeC0+STAlg6EWF0dHJpYnV0ZV9tYXBwaW5nGkMvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vZGlyZWN0b3JpZXMve2lkfS9hdHRyaWJ1dGVzEqQDCgxHZXREaXJlY3RvcnkSLC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5HZXREaXJlY3RvcnlSZXF1ZXN0Gi0uc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuR2V0RGlyZWN0b3J5UmVzcG9uc2UitgKSQdoBCglEaXJlY3RvcnkSFUdldCBkaXJlY3RvcnkgZGV0YWlscxpQUmV0cmlldmVzIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWMgZGlyZWN0b3J5IHdpdGhpbiBhbiBvcmdhbml6YXRpb25KZAoDMjAwEl0KKFN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgZGlyZWN0b3J5IGRldGFpbHMSMQovGi0uc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuR2V0RGlyZWN0b3J5UmVzcG9uc2WCtRgUChBkaXJlY3Rvcmllc19yZWFkGHSC0+STAjoSOC9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9kaXJlY3Rvcmllcy97aWR9Ev0CCg9MaXN0RGlyZWN0b3JpZXMSLy5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5MaXN0RGlyZWN0b3JpZXNSZXF1ZXN0GjAuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuTGlzdERpcmVjdG9yaWVzUmVzcG9uc2UihgKSQa8BCglEaXJlY3RvcnkSHUxpc3Qgb3JnYW5pemF0aW9uIGRpcmVjdG9yaWVzSoIBCgMyMDASewpDU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCB0aGUgbGlzdCBvZiBkaXJlY3RvcmllcyBmb3IgdGhlIG9yZ2FuaXphdGlvbhI0CjIaMC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5MaXN0RGlyZWN0b3JpZXNSZXNwb25zZYK1GBQKEGRpcmVjdG9yaWVzX3JlYWQYdILT5JMCNRIzL2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2RpcmVjdG9yaWVzEsMDCg9FbmFibGVEaXJlY3RvcnkSLy5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5Ub2dnbGVEaXJlY3RvcnlSZXF1ZXN0GjAuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuVG9nZ2xlRGlyZWN0b3J5UmVzcG9uc2UizAKSQegBCglEaXJlY3RvcnkSEkVuYWJsZSBhIGRpcmVjdG9yeRp/QWN0aXZhdGVzIGEgZGlyZWN0b3J5IHdpdGhpbiBhbiBvcmdhbml6YXRpb24sIGFsbG93aW5nIGl0IHRvIHN5bmNocm9uaXplIHVzZXJzIGFuZCBncm91cHMgd2l0aCB0aGUgY29ubmVjdGVkIERpcmVjdG9yeSBwcm92aWRlckpGCgMyMDASPwoHU3VjY2VzcxI0CjIaMC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5Ub2dnbGVEaXJlY3RvcnlSZXNwb25zZYK1GBUKEWRpcmVjdG9yaWVzX3dyaXRlGHSC0+STAkEyPy9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9kaXJlY3Rvcmllcy97aWR9OmVuYWJsZRKOBAoQRGlzYWJsZURpcmVjdG9yeRIvLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLlRvZ2dsZURpcmVjdG9yeVJlcXVlc3QaMC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5Ub2dnbGVEaXJlY3RvcnlSZXNwb25zZSKWA5JBsQIKCURpcmVjdG9yeRITRGlzYWJsZSBhIGRpcmVjdG9yeRqqAVN0b3BzIHN5bmNocm9uaXphdGlvbiBvZiB1c2VycyBhbmQgZ3JvdXBzIGZyb20gYSBzcGVjaWZpZWQgZGlyZWN0b3J5IHdpdGhpbiBhbiBvcmdhbml6YXRpb24uIFRoaXMgb3BlcmF0aW9uIHByZXZlbnRzIGZ1cnRoZXIgdXBkYXRlcyBmcm9tIHRoZSBjb25uZWN0ZWQgRGlyZWN0b3J5IHByb3ZpZGVySmIKAzIwMBJbCiNTdWNjZXNzZnVsbHkgZGlzYWJsZWQgdGhlIGRpcmVjdG9yeRI0CjIaMC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5Ub2dnbGVEaXJlY3RvcnlSZXNwb25zZYK1GBUKEWRpcmVjdG9yaWVzX3dyaXRlGHSC0+STAkIyQC9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9kaXJlY3Rvcmllcy97aWR9OmRpc2FibGUSzQQKEkxpc3REaXJlY3RvcnlVc2VycxIyLnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkxpc3REaXJlY3RvcnlVc2Vyc1JlcXVlc3QaMy5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5MaXN0RGlyZWN0b3J5VXNlcnNSZXNwb25zZSLNA5JB4QIKCURpcmVjdG9yeRIUTGlzdCBkaXJlY3RvcnkgdXNlcnMasgFSZXRyaWV2ZXMgYSBsaXN0IG9mIGFsbCB1c2VycyB3aXRoaW4gYSBzcGVjaWZpZWQgZGlyZWN0b3J5IGZvciBhbiBvcmdhbml6YXRpb24uIFRoaXMgZW5kcG9pbnQgYWxsb3dzIHlvdSB0byB2aWV3IHVzZXIgYWNjb3VudHMgYXNzb2NpYXRlZCB3aXRoIHlvdXIgY29ubmVjdGVkIERpcmVjdG9yeSBQcm92aWRlcnMuSogBCgMyMDASgAEKRVN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgdGhlIGxpc3Qgb2YgdXNlcnMgZnJvbSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeRI3CjUaMy5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5MaXN0RGlyZWN0b3J5VXNlcnNSZXNwb25zZYK1GBQKEGRpcmVjdG9yaWVzX3JlYWQYdILT5JMCShJIL2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2RpcmVjdG9yaWVzL3tkaXJlY3RvcnlfaWR9L3VzZXJzEqQEChNMaXN0RGlyZWN0b3J5R3JvdXBzEjMuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuTGlzdERpcmVjdG9yeUdyb3Vwc1JlcXVlc3QaNC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5MaXN0RGlyZWN0b3J5R3JvdXBzUmVzcG9uc2UioQOSQbQCCglEaXJlY3RvcnkSFUxpc3QgZGlyZWN0b3J5IGdyb3VwcxqCAVJldHJpZXZlcyBhbGwgZ3JvdXBzIGZyb20gYSBzcGVjaWZpZWQgZGlyZWN0b3J5LiBVc2UgdGhpcyBlbmRwb2ludCB0byB2aWV3IGdyb3VwIHN0cnVjdHVyZXMgZnJvbSB5b3VyIGNvbm5lY3RlZCBpZGVudGl0eSBwcm92aWRlci5KigEKAzIwMBKCAQpGU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCB0aGUgbGlzdCBvZiBncm91cHMgZnJvbSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeRI4CjYaNC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5MaXN0RGlyZWN0b3J5R3JvdXBzUmVzcG9uc2WCtRgUChBkaXJlY3Rvcmllc19yZWFkGHSC0+STAksSSS9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9kaXJlY3Rvcmllcy97ZGlyZWN0b3J5X2lkfS9ncm91cHMS0wQKGkxpc3REaXJlY3RvcnlHcm91cHNTdW1tYXJ5Ejouc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuTGlzdERpcmVjdG9yeUdyb3Vwc1N1bW1hcnlSZXF1ZXN0GjQuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuTGlzdERpcmVjdG9yeUdyb3Vwc1Jlc3BvbnNlIsIDkkG+AgoJRGlyZWN0b3J5Eh1MaXN0IGRpcmVjdG9yeSBncm91cHMgc3VtbWFyeRqEAVJldHJpZXZlcyBhbGwgZ3JvdXBzIGZyb20gYSBzcGVjaWZpZWQgZGlyZWN0b3J5LiBUaGlzIGlzIG5vdCBhIHBhZ2luYXRlZCBhcGkuIEl0IGdpdmVzIGEgc3VtbWFyeSB2aWV3IHdpdGggaWQgYW5kIG5hbWUgb2YgdGhlIGdyb3VwLkqKAQoDMjAwEoIBCkZTdWNjZXNzZnVsbHkgcmV0cmlldmVkIHRoZSBsaXN0IG9mIGdyb3VwcyBmcm9tIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5EjgKNho0LnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLkxpc3REaXJlY3RvcnlHcm91cHNSZXNwb25zZYK1GBQKEGRpcmVjdG9yaWVzX3JlYWQYdPrS5JMCCRIHUFJFVklFV4LT5JMCUxJRL2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2RpcmVjdG9yaWVzL3tkaXJlY3RvcnlfaWR9L2dyb3Vwcy9zdW1tYXJ5Ev4CChVDcmVhdGVEaXJlY3RvcnlTZWNyZXQSNS5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5DcmVhdGVEaXJlY3RvcnlTZWNyZXRSZXF1ZXN0GjYuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuQ3JlYXRlRGlyZWN0b3J5U2VjcmV0UmVzcG9uc2Ui9QGSQXgKCURpcmVjdG9yeRIdQ3JlYXRlIHNlY3JldCBmb3IgYSBkaXJlY3RvcnlKTAoDMjAwEkUKB1N1Y2Nlc3MSOgo4GjYuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuQ3JlYXRlRGlyZWN0b3J5U2VjcmV0UmVzcG9uc2WCtRgVChFkaXJlY3Rvcmllc193cml0ZRh0+tLkkwIJEgdQUkVWSUVXgtPkkwJMIkovYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vZGlyZWN0b3JpZXMve2RpcmVjdG9yeV9pZH0vc2VjcmV0cxKeAwoZUmVnZW5lcmF0ZURpcmVjdG9yeVNlY3JldBI5LnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLlJlZ2VuZXJhdGVEaXJlY3RvcnlTZWNyZXRSZXF1ZXN0Gjouc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuUmVnZW5lcmF0ZURpcmVjdG9yeVNlY3JldFJlc3BvbnNlIokCkkGAAQoJRGlyZWN0b3J5EiFSZWdlbmVyYXRlIHNlY3JldCBmb3IgYSBkaXJlY3RvcnlKUAoDMjAwEkkKB1N1Y2Nlc3MSPgo8Gjouc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuUmVnZW5lcmF0ZURpcmVjdG9yeVNlY3JldFJlc3BvbnNlgrUYFQoRZGlyZWN0b3JpZXNfd3JpdGUYdPrS5JMCCRIHUFJFVklFV4LT5JMCVyJVL2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2RpcmVjdG9yaWVzL3tkaXJlY3RvcnlfaWR9L3NlY3JldHM6cmVnZW5lcmF0ZRLdAQoUVHJpZ2dlckRpcmVjdG9yeVN5bmMSNC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5UcmlnZ2VyRGlyZWN0b3J5U3luY1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkid4K1GBUKEWRpcmVjdG9yaWVzX3dyaXRlGHT60uSTAgkSB1BSRVZJRVeC0+STAkkSRy9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9kaXJlY3Rvcmllcy97ZGlyZWN0b3J5X2lkfTpzeW5jEpYDChNHZXREaXJlY3RvcnlDb250ZXh0EjMuc2NhbGVraXQudjEuZGlyZWN0b3JpZXMuR2V0RGlyZWN0b3J5Q29udGV4dFJlcXVlc3QaNC5zY2FsZWtpdC52MS5kaXJlY3Rvcmllcy5HZXREaXJlY3RvcnlDb250ZXh0UmVzcG9uc2UikwKSQacBCglEaXJlY3RvcnkSFUdldCBkaXJlY3RvcnkgY29udGV4dBo7UmV0cmlldmVzIHRoZSBjdXN0b20gY29udGV4dCBkYXRhIGZvciBhIHNwZWNpZmljIGRpcmVjdG9yeS5KJwoDMjAwEiAKHlJldHVybnMgdGhlIGRpcmVjdG9yeSBjb250ZXh0LkodCgM0MDQSFgoURGlyZWN0b3J5IG5vdCBmb3VuZC6CtRgCGHD60uSTAgkSB1BSRVZJRVeC0+STAk0SSy9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9kaXJlY3Rvcmllcy97ZGlyZWN0b3J5X2lkfS9jb250ZXh0cxKiAwoWVXBkYXRlRGlyZWN0b3J5Q29udGV4dBI2LnNjYWxla2l0LnYxLmRpcmVjdG9yaWVzLlVwZGF0ZURpcmVjdG9yeUNvbnRleHRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IrcCkkHCAQoJRGlyZWN0b3J5EhhVcGRhdGUgZGlyZWN0b3J5IGNvbnRleHQaOVVwZGF0ZXMgdGhlIGN1c3RvbSBjb250ZXh0IGRhdGEgZm9yIGEgc3BlY2lmaWMgZGlyZWN0b3J5LkomCgMyMDASHwodQ29udGV4dCB1cGRhdGVkIHN1Y2Nlc3NmdWxseS5KGQoDNDAwEhIKEEludmFsaWQgcmVxdWVzdC5KHQoDNDA0EhYKFERpcmVjdG9yeSBub3QgZm91bmQugrUYAhhw+tLkkwIJEgdQUkVWSUVXgtPkkwJWOgdjb250ZXh0GksvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vZGlyZWN0b3JpZXMve2RpcmVjdG9yeV9pZH0vY29udGV4dHMaqgKSQaYCCglEaXJlY3RvcnkSmAJEaXJlY3RvcnkgbWFuYWdlbWVudCBmb3Igdmlld2luZyBhbmQgY29udHJvbGxpbmcgZXh0ZXJuYWwgaWRlbnRpdHkgcHJvdmlkZXIgY29ubmVjdGlvbnMgaW4geW91ciBTY2FsZWtpdCBlbnZpcm9ubWVudC4gVGhpcyBzZXJ2aWNlIHByb3ZpZGVzIGVuZHBvaW50cyBmb3IgcmV0cmlldmluZyBkaXJlY3RvcnkgaW5mb3JtYXRpb24sIGxpc3RpbmcgZGlyZWN0b3JpZXMgYW5kIHRoZWlyIGNvbnRlbnRzLCBhbmQgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIGRpcmVjdG9yeSBzeW5jaHJvbml6YXRpb24uQjdaNWdpdGh1Yi5jb20vc2NhbGVraXQtaW5jL3NjYWxla2l0L3BrZy9ncnBjL2RpcmVjdG9yaWVzYgZwcm90bzM", [validate_pb_1.file_buf_validate_validate, annotations_pb_1.file_google_api_annotations, visibility_pb_1.file_google_api_visibility, wkt_1.file_google_protobuf_empty, wkt_1.file_google_protobuf_struct, wkt_1.file_google_protobuf_timestamp, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations, options_pb_1.file_scalekit_v1_options_options]);
|
|
18
19
|
/**
|
|
19
20
|
* Describes the message scalekit.v1.directories.GetDirectoryRequest.
|
|
20
21
|
* Use `create(GetDirectoryRequestSchema)` to create a new message.
|
|
@@ -210,6 +211,21 @@ exports.DeleteDirectoryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file
|
|
|
210
211
|
* Use `create(TriggerDirectorySyncRequestSchema)` to create a new message.
|
|
211
212
|
*/
|
|
212
213
|
exports.TriggerDirectorySyncRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_directories_directories, 38);
|
|
214
|
+
/**
|
|
215
|
+
* Describes the message scalekit.v1.directories.GetDirectoryContextRequest.
|
|
216
|
+
* Use `create(GetDirectoryContextRequestSchema)` to create a new message.
|
|
217
|
+
*/
|
|
218
|
+
exports.GetDirectoryContextRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_directories_directories, 39);
|
|
219
|
+
/**
|
|
220
|
+
* Describes the message scalekit.v1.directories.GetDirectoryContextResponse.
|
|
221
|
+
* Use `create(GetDirectoryContextResponseSchema)` to create a new message.
|
|
222
|
+
*/
|
|
223
|
+
exports.GetDirectoryContextResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_directories_directories, 40);
|
|
224
|
+
/**
|
|
225
|
+
* Describes the message scalekit.v1.directories.UpdateDirectoryContextRequest.
|
|
226
|
+
* Use `create(UpdateDirectoryContextRequestSchema)` to create a new message.
|
|
227
|
+
*/
|
|
228
|
+
exports.UpdateDirectoryContextRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_directories_directories, 41);
|
|
213
229
|
/**
|
|
214
230
|
* @generated from enum scalekit.v1.directories.DirectoryType
|
|
215
231
|
*/
|