From 03efd5d7c08dc71477e3c3b0d786094f50632759 Mon Sep 17 00:00:00 2001 From: Hien Vu <112093533+hvn2k1@users.noreply.github.com> Date: Tue, 14 Jan 2025 10:32:27 +0700 Subject: [PATCH] feat: implement REST bulk download segment users (#1448) Part of #1417 --- api-description/web-api.swagger.yaml | 60 + manifests/bucketeer/charts/api/values.yaml | 2 +- manifests/bucketeer/charts/web/values.yaml | 2 +- pkg/feature/api/segment_user.go | 2 +- proto/feature/proto_descriptor.pb | Bin 51979 -> 52487 bytes proto/feature/service.pb.go | 1266 ++++++++++---------- proto/feature/service.proto | 38 +- proto/gateway/proto_descriptor.pb | Bin 112614 -> 113122 bytes proto/proto.lock | 140 ++- 9 files changed, 884 insertions(+), 626 deletions(-) diff --git a/api-description/web-api.swagger.yaml b/api-description/web-api.swagger.yaml index 163ba489e..023202c95 100644 --- a/api-description/web-api.swagger.yaml +++ b/api-description/web-api.swagger.yaml @@ -3664,6 +3664,66 @@ paths: $ref: '#/definitions/featureUpdateSegmentRequest' tags: - segment + /v1/segment_users/bulk_download: + get: + summary: Bulk download + description: Bulk download segment users. + operationId: web.v1.segment_users.bulk_download + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/featureBulkDownloadSegmentUsersResponse' + "400": + description: Returned for bad requests that may have failed validation. + schema: + $ref: '#/definitions/googlerpcStatus' + examples: + application/json: + code: 3 + details: [] + message: invalid arguments error + "401": + description: Request could not be authenticated (authentication required). + schema: + $ref: '#/definitions/googlerpcStatus' + examples: + application/json: + code: 16 + details: [] + message: not authenticated + "503": + description: Returned for internal errors. + schema: + $ref: '#/definitions/googlerpcStatus' + examples: + application/json: + code: 13 + details: [] + message: internal + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/googlerpcStatus' + parameters: + - name: segmentId + in: query + required: true + type: string + - name: state + in: query + required: false + type: string + enum: + - INCLUDED + - EXCLUDED + default: INCLUDED + - name: environmentId + in: query + required: true + type: string + tags: + - segment /v1/segment_users/bulk_upload: post: summary: Bulk upload diff --git a/manifests/bucketeer/charts/api/values.yaml b/manifests/bucketeer/charts/api/values.yaml index 22fb7d8ed..f22209ff4 100644 --- a/manifests/bucketeer/charts/api/values.yaml +++ b/manifests/bucketeer/charts/api/values.yaml @@ -53,7 +53,7 @@ envoy: tag: v1.31.0 pullPolicy: IfNotPresent lbPolicy: LEAST_REQUEST - descriptor: "CocFChVnb29nbGUvYXBpL2h0dHAucHJvdG8SCmdvb2dsZS5hcGkieQoESHR0cBIqCgVydWxlcxgBIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBXJ1bGVzEkUKH2Z1bGx5X2RlY29kZV9yZXNlcnZlZF9leHBhbnNpb24YAiABKAhSHGZ1bGx5RGVjb2RlUmVzZXJ2ZWRFeHBhbnNpb24itQIKCEh0dHBSdWxlEhoKCHNlbGVjdG9yGAEgASgJUghzZWxlY3RvchISCgNnZXQYAiABKAlIAFIDZ2V0EhIKA3B1dBgDIAEoCUgAUgNwdXQSFAoEcG9zdBgEIAEoCUgAUgRwb3N0EhgKBmRlbGV0ZRgFIAEoCUgAUgZkZWxldGUSFgoFcGF0Y2gYBiABKAlIAFIFcGF0Y2gSNwoGY3VzdG9tGAggASgLMh0uZ29vZ2xlLmFwaS5DdXN0b21IdHRwUGF0dGVybkgAUgZjdXN0b20SEgoEYm9keRgHIAEoCVIEYm9keRJFChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVISYWRkaXRpb25hbEJpbmRpbmdzQgkKB3BhdHRlcm4iOwoRQ3VzdG9tSHR0cFBhdHRlcm4SEgoEa2luZBgBIAEoCVIEa2luZBISCgRwYXRoGAIgASgJUgRwYXRoQmoKDmNvbS5nb29nbGUuYXBpQglIdHRwUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnP4AQGiAgRHQVBJYgZwcm90bzMK4UYKIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvEg9nb29nbGUucHJvdG9idWYiTQoRRmlsZURlc2NyaXB0b3JTZXQSOAoEZmlsZRgBIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5GaWxlRGVzY3JpcHRvclByb3RvUgRmaWxlIv4EChNGaWxlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHcGFja2FnZRgCIAEoCVIHcGFja2FnZRIeCgpkZXBlbmRlbmN5GAMgAygJUgpkZXBlbmRlbmN5EisKEXB1YmxpY19kZXBlbmRlbmN5GAogAygFUhBwdWJsaWNEZXBlbmRlbmN5EicKD3dlYWtfZGVwZW5kZW5jeRgLIAMoBVIOd2Vha0RlcGVuZGVuY3kSQwoMbWVzc2FnZV90eXBlGAQgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1ILbWVzc2FnZVR5cGUSQQoJZW51bV90eXBlGAUgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG9SCGVudW1UeXBlEkEKB3NlcnZpY2UYBiADKAsyJy5nb29nbGUucHJvdG9idWYuU2VydmljZURlc2NyaXB0b3JQcm90b1IHc2VydmljZRJDCglleHRlbnNpb24YByADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SCWV4dGVuc2lvbhI2CgdvcHRpb25zGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zUgdvcHRpb25zEkkKEHNvdXJjZV9jb2RlX2luZm8YCSABKAsyHy5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm9SDnNvdXJjZUNvZGVJbmZvEhYKBnN5bnRheBgMIAEoCVIGc3ludGF4EhgKB2VkaXRpb24YDSABKAlSB2VkaXRpb24iuQYKD0Rlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEjsKBWZpZWxkGAIgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUgVmaWVsZBJDCglleHRlbnNpb24YBiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SCWV4dGVuc2lvbhJBCgtuZXN0ZWRfdHlwZRgDIAMoCzIgLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG9SCm5lc3RlZFR5cGUSQQoJZW51bV90eXBlGAQgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG9SCGVudW1UeXBlElgKD2V4dGVuc2lvbl9yYW5nZRgFIAMoCzIvLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG8uRXh0ZW5zaW9uUmFuZ2VSDmV4dGVuc2lvblJhbmdlEkQKCm9uZW9mX2RlY2wYCCADKAsyJS5nb29nbGUucHJvdG9idWYuT25lb2ZEZXNjcmlwdG9yUHJvdG9SCW9uZW9mRGVjbBI5CgdvcHRpb25zGAcgASgLMh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zUgdvcHRpb25zElUKDnJlc2VydmVkX3JhbmdlGAkgAygLMi4uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYCiADKAlSDHJlc2VydmVkTmFtZRp6Cg5FeHRlbnNpb25SYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQSQAoHb3B0aW9ucxgDIAEoCzImLmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnNSB29wdGlvbnMaNwoNUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQirQQKFUV4dGVuc2lvblJhbmdlT3B0aW9ucxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbhJZCgtkZWNsYXJhdGlvbhgCIAMoCzIyLmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnMuRGVjbGFyYXRpb25CA4gBAlILZGVjbGFyYXRpb24SaAoMdmVyaWZpY2F0aW9uGAMgASgOMjguZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9ucy5WZXJpZmljYXRpb25TdGF0ZToKVU5WRVJJRklFRFIMdmVyaWZpY2F0aW9uGrMBCgtEZWNsYXJhdGlvbhIWCgZudW1iZXIYASABKAVSBm51bWJlchIbCglmdWxsX25hbWUYAiABKAlSCGZ1bGxOYW1lEhIKBHR5cGUYAyABKAlSBHR5cGUSIwoLaXNfcmVwZWF0ZWQYBCABKAhCAhgBUgppc1JlcGVhdGVkEhoKCHJlc2VydmVkGAUgASgIUghyZXNlcnZlZBIaCghyZXBlYXRlZBgGIAEoCFIIcmVwZWF0ZWQiNAoRVmVyaWZpY2F0aW9uU3RhdGUSDwoLREVDTEFSQVRJT04QABIOCgpVTlZFUklGSUVEEAEqCQjoBxCAgICAAiLBBgoURmllbGREZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAyABKAVSBm51bWJlchJBCgVsYWJlbBgEIAEoDjIrLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5MYWJlbFIFbGFiZWwSPgoEdHlwZRgFIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlUgR0eXBlEhsKCXR5cGVfbmFtZRgGIAEoCVIIdHlwZU5hbWUSGgoIZXh0ZW5kZWUYAiABKAlSCGV4dGVuZGVlEiMKDWRlZmF1bHRfdmFsdWUYByABKAlSDGRlZmF1bHRWYWx1ZRIfCgtvbmVvZl9pbmRleBgJIAEoBVIKb25lb2ZJbmRleBIbCglqc29uX25hbWUYCiABKAlSCGpzb25OYW1lEjcKB29wdGlvbnMYCCABKAsyHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zUgdvcHRpb25zEicKD3Byb3RvM19vcHRpb25hbBgRIAEoCFIOcHJvdG8zT3B0aW9uYWwitgIKBFR5cGUSDwoLVFlQRV9ET1VCTEUQARIOCgpUWVBFX0ZMT0FUEAISDgoKVFlQRV9JTlQ2NBADEg8KC1RZUEVfVUlOVDY0EAQSDgoKVFlQRV9JTlQzMhAFEhAKDFRZUEVfRklYRUQ2NBAGEhAKDFRZUEVfRklYRUQzMhAHEg0KCVRZUEVfQk9PTBAIEg8KC1RZUEVfU1RSSU5HEAkSDgoKVFlQRV9HUk9VUBAKEhAKDFRZUEVfTUVTU0FHRRALEg4KClRZUEVfQllURVMQDBIPCgtUWVBFX1VJTlQzMhANEg0KCVRZUEVfRU5VTRAOEhEKDVRZUEVfU0ZJWEVEMzIQDxIRCg1UWVBFX1NGSVhFRDY0EBASDwoLVFlQRV9TSU5UMzIQERIPCgtUWVBFX1NJTlQ2NBASIkMKBUxhYmVsEhIKDkxBQkVMX09QVElPTkFMEAESEgoOTEFCRUxfUkVRVUlSRUQQAhISCg5MQUJFTF9SRVBFQVRFRBADImMKFE9uZW9mRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSNwoHb3B0aW9ucxgCIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnNSB29wdGlvbnMi4wIKE0VudW1EZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI/CgV2YWx1ZRgCIAMoCzIpLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVEZXNjcmlwdG9yUHJvdG9SBXZhbHVlEjYKB29wdGlvbnMYAyABKAsyHC5nb29nbGUucHJvdG9idWYuRW51bU9wdGlvbnNSB29wdGlvbnMSXQoOcmVzZXJ2ZWRfcmFuZ2UYBCADKAsyNi5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90by5FbnVtUmVzZXJ2ZWRSYW5nZVINcmVzZXJ2ZWRSYW5nZRIjCg1yZXNlcnZlZF9uYW1lGAUgAygJUgxyZXNlcnZlZE5hbWUaOwoRRW51bVJlc2VydmVkUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kIoMBChhFbnVtVmFsdWVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAiABKAVSBm51bWJlchI7CgdvcHRpb25zGAMgASgLMiEuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZU9wdGlvbnNSB29wdGlvbnMipwEKFlNlcnZpY2VEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI+CgZtZXRob2QYAiADKAsyJi5nb29nbGUucHJvdG9idWYuTWV0aG9kRGVzY3JpcHRvclByb3RvUgZtZXRob2QSOQoHb3B0aW9ucxgDIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9uc1IHb3B0aW9ucyKJAgoVTWV0aG9kRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSHQoKaW5wdXRfdHlwZRgCIAEoCVIJaW5wdXRUeXBlEh8KC291dHB1dF90eXBlGAMgASgJUgpvdXRwdXRUeXBlEjgKB29wdGlvbnMYBCABKAsyHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9uc1IHb3B0aW9ucxIwChBjbGllbnRfc3RyZWFtaW5nGAUgASgIOgVmYWxzZVIPY2xpZW50U3RyZWFtaW5nEjAKEHNlcnZlcl9zdHJlYW1pbmcYBiABKAg6BWZhbHNlUg9zZXJ2ZXJTdHJlYW1pbmcikQkKC0ZpbGVPcHRpb25zEiEKDGphdmFfcGFja2FnZRgBIAEoCVILamF2YVBhY2thZ2USMAoUamF2YV9vdXRlcl9jbGFzc25hbWUYCCABKAlSEmphdmFPdXRlckNsYXNzbmFtZRI1ChNqYXZhX211bHRpcGxlX2ZpbGVzGAogASgIOgVmYWxzZVIRamF2YU11bHRpcGxlRmlsZXMSRAodamF2YV9nZW5lcmF0ZV9lcXVhbHNfYW5kX2hhc2gYFCABKAhCAhgBUhlqYXZhR2VuZXJhdGVFcXVhbHNBbmRIYXNoEjoKFmphdmFfc3RyaW5nX2NoZWNrX3V0ZjgYGyABKAg6BWZhbHNlUhNqYXZhU3RyaW5nQ2hlY2tVdGY4ElMKDG9wdGltaXplX2ZvchgJIAEoDjIpLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucy5PcHRpbWl6ZU1vZGU6BVNQRUVEUgtvcHRpbWl6ZUZvchIdCgpnb19wYWNrYWdlGAsgASgJUglnb1BhY2thZ2USNQoTY2NfZ2VuZXJpY19zZXJ2aWNlcxgQIAEoCDoFZmFsc2VSEWNjR2VuZXJpY1NlcnZpY2VzEjkKFWphdmFfZ2VuZXJpY19zZXJ2aWNlcxgRIAEoCDoFZmFsc2VSE2phdmFHZW5lcmljU2VydmljZXMSNQoTcHlfZ2VuZXJpY19zZXJ2aWNlcxgSIAEoCDoFZmFsc2VSEXB5R2VuZXJpY1NlcnZpY2VzEjcKFHBocF9nZW5lcmljX3NlcnZpY2VzGCogASgIOgVmYWxzZVIScGhwR2VuZXJpY1NlcnZpY2VzEiUKCmRlcHJlY2F0ZWQYFyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEi4KEGNjX2VuYWJsZV9hcmVuYXMYHyABKAg6BHRydWVSDmNjRW5hYmxlQXJlbmFzEioKEW9iamNfY2xhc3NfcHJlZml4GCQgASgJUg9vYmpjQ2xhc3NQcmVmaXgSKQoQY3NoYXJwX25hbWVzcGFjZRglIAEoCVIPY3NoYXJwTmFtZXNwYWNlEiEKDHN3aWZ0X3ByZWZpeBgnIAEoCVILc3dpZnRQcmVmaXgSKAoQcGhwX2NsYXNzX3ByZWZpeBgoIAEoCVIOcGhwQ2xhc3NQcmVmaXgSIwoNcGhwX25hbWVzcGFjZRgpIAEoCVIMcGhwTmFtZXNwYWNlEjQKFnBocF9tZXRhZGF0YV9uYW1lc3BhY2UYLCABKAlSFHBocE1ldGFkYXRhTmFtZXNwYWNlEiEKDHJ1YnlfcGFja2FnZRgtIAEoCVILcnVieVBhY2thZ2USWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iOgoMT3B0aW1pemVNb2RlEgkKBVNQRUVEEAESDQoJQ09ERV9TSVpFEAISEAoMTElURV9SVU5USU1FEAMqCQjoBxCAgICAAkoECCYQJyK7AwoOTWVzc2FnZU9wdGlvbnMSPAoXbWVzc2FnZV9zZXRfd2lyZV9mb3JtYXQYASABKAg6BWZhbHNlUhRtZXNzYWdlU2V0V2lyZUZvcm1hdBJMCh9ub19zdGFuZGFyZF9kZXNjcmlwdG9yX2FjY2Vzc29yGAIgASgIOgVmYWxzZVIcbm9TdGFuZGFyZERlc2NyaXB0b3JBY2Nlc3NvchIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIbCgltYXBfZW50cnkYByABKAhSCG1hcEVudHJ5ElYKJmRlcHJlY2F0ZWRfbGVnYWN5X2pzb25fZmllbGRfY29uZmxpY3RzGAsgASgIQgIYAVIiZGVwcmVjYXRlZExlZ2FjeUpzb25GaWVsZENvbmZsaWN0cxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBBAFSgQIBRAGSgQIBhAHSgQICBAJSgQICRAKIoUJCgxGaWVsZE9wdGlvbnMSQQoFY3R5cGUYASABKA4yIy5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkNUeXBlOgZTVFJJTkdSBWN0eXBlEhYKBnBhY2tlZBgCIAEoCFIGcGFja2VkEkcKBmpzdHlwZRgGIAEoDjIkLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuSlNUeXBlOglKU19OT1JNQUxSBmpzdHlwZRIZCgRsYXp5GAUgASgIOgVmYWxzZVIEbGF6eRIuCg91bnZlcmlmaWVkX2xhenkYDyABKAg6BWZhbHNlUg51bnZlcmlmaWVkTGF6eRIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIZCgR3ZWFrGAogASgIOgVmYWxzZVIEd2VhaxIoCgxkZWJ1Z19yZWRhY3QYECABKAg6BWZhbHNlUgtkZWJ1Z1JlZGFjdBJLCglyZXRlbnRpb24YESABKA4yLS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblJldGVudGlvblIJcmV0ZW50aW9uEkoKBnRhcmdldBgSIAEoDjIuLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uVGFyZ2V0VHlwZUICGAFSBnRhcmdldBJICgd0YXJnZXRzGBMgAygOMi4uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25UYXJnZXRUeXBlUgd0YXJnZXRzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIi8KBUNUeXBlEgoKBlNUUklORxAAEggKBENPUkQQARIQCgxTVFJJTkdfUElFQ0UQAiI1CgZKU1R5cGUSDQoJSlNfTk9STUFMEAASDQoJSlNfU1RSSU5HEAESDQoJSlNfTlVNQkVSEAIiVQoPT3B0aW9uUmV0ZW50aW9uEhUKEVJFVEVOVElPTl9VTktOT1dOEAASFQoRUkVURU5USU9OX1JVTlRJTUUQARIUChBSRVRFTlRJT05fU09VUkNFEAIijAIKEE9wdGlvblRhcmdldFR5cGUSFwoTVEFSR0VUX1RZUEVfVU5LTk9XThAAEhQKEFRBUkdFVF9UWVBFX0ZJTEUQARIfChtUQVJHRVRfVFlQRV9FWFRFTlNJT05fUkFOR0UQAhIXChNUQVJHRVRfVFlQRV9NRVNTQUdFEAMSFQoRVEFSR0VUX1RZUEVfRklFTEQQBBIVChFUQVJHRVRfVFlQRV9PTkVPRhAFEhQKEFRBUkdFVF9UWVBFX0VOVU0QBhIaChZUQVJHRVRfVFlQRV9FTlVNX0VOVFJZEAcSFwoTVEFSR0VUX1RZUEVfU0VSVklDRRAIEhYKElRBUkdFVF9UWVBFX01FVEhPRBAJKgkI6AcQgICAgAJKBAgEEAUicwoMT25lb2ZPcHRpb25zElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIimAIKC0VudW1PcHRpb25zEh8KC2FsbG93X2FsaWFzGAIgASgIUgphbGxvd0FsaWFzEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkElYKJmRlcHJlY2F0ZWRfbGVnYWN5X2pzb25fZmllbGRfY29uZmxpY3RzGAYgASgIQgIYAVIiZGVwcmVjYXRlZExlZ2FjeUpzb25GaWVsZENvbmZsaWN0cxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBRAGIp4BChBFbnVtVmFsdWVPcHRpb25zEiUKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIinAEKDlNlcnZpY2VPcHRpb25zEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi4AIKDU1ldGhvZE9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQScQoRaWRlbXBvdGVuY3lfbGV2ZWwYIiABKA4yLy5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucy5JZGVtcG90ZW5jeUxldmVsOhNJREVNUE9URU5DWV9VTktOT1dOUhBpZGVtcG90ZW5jeUxldmVsElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIlAKEElkZW1wb3RlbmN5TGV2ZWwSFwoTSURFTVBPVEVOQ1lfVU5LTk9XThAAEhMKD05PX1NJREVfRUZGRUNUUxABEg4KCklERU1QT1RFTlQQAioJCOgHEICAgIACIpoDChNVbmludGVycHJldGVkT3B0aW9uEkEKBG5hbWUYAiADKAsyLS5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvbi5OYW1lUGFydFIEbmFtZRIpChBpZGVudGlmaWVyX3ZhbHVlGAMgASgJUg9pZGVudGlmaWVyVmFsdWUSLAoScG9zaXRpdmVfaW50X3ZhbHVlGAQgASgEUhBwb3NpdGl2ZUludFZhbHVlEiwKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoA1IQbmVnYXRpdmVJbnRWYWx1ZRIhCgxkb3VibGVfdmFsdWUYBiABKAFSC2RvdWJsZVZhbHVlEiEKDHN0cmluZ192YWx1ZRgHIAEoDFILc3RyaW5nVmFsdWUSJwoPYWdncmVnYXRlX3ZhbHVlGAggASgJUg5hZ2dyZWdhdGVWYWx1ZRpKCghOYW1lUGFydBIbCgluYW1lX3BhcnQYASACKAlSCG5hbWVQYXJ0EiEKDGlzX2V4dGVuc2lvbhgCIAIoCFILaXNFeHRlbnNpb24ipwIKDlNvdXJjZUNvZGVJbmZvEkQKCGxvY2F0aW9uGAEgAygLMiguZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvLkxvY2F0aW9uUghsb2NhdGlvbhrOAQoITG9jYXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSFgoEc3BhbhgCIAMoBUICEAFSBHNwYW4SKQoQbGVhZGluZ19jb21tZW50cxgDIAEoCVIPbGVhZGluZ0NvbW1lbnRzEisKEXRyYWlsaW5nX2NvbW1lbnRzGAQgASgJUhB0cmFpbGluZ0NvbW1lbnRzEjoKGWxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMYBiADKAlSF2xlYWRpbmdEZXRhY2hlZENvbW1lbnRzItACChFHZW5lcmF0ZWRDb2RlSW5mbxJNCgphbm5vdGF0aW9uGAEgAygLMi0uZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb25SCmFubm90YXRpb24a6wEKCkFubm90YXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSHwoLc291cmNlX2ZpbGUYAiABKAlSCnNvdXJjZUZpbGUSFAoFYmVnaW4YAyABKAVSBWJlZ2luEhAKA2VuZBgEIAEoBVIDZW5kElIKCHNlbWFudGljGAUgASgOMjYuZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb24uU2VtYW50aWNSCHNlbWFudGljIigKCFNlbWFudGljEggKBE5PTkUQABIHCgNTRVQQARIJCgVBTElBUxACQn4KE2NvbS5nb29nbGUucHJvdG9idWZCEERlc2NyaXB0b3JQcm90b3NIAVotZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMvZGVzY3JpcHRvcnBi+AEBogIDR1BCqgIaR29vZ2xlLlByb3RvYnVmLlJlZmxlY3Rpb24KqAIKHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8SCmdvb2dsZS5hcGkaFWdvb2dsZS9hcGkvaHR0cC5wcm90bxogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG86SwoEaHR0cBIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGLDKvCIgASgLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVIEaHR0cEJuCg5jb20uZ29vZ2xlLmFwaUIQQW5ub3RhdGlvbnNQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMwqGBAoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvEg9nb29nbGUucHJvdG9idWYiIwoLRG91YmxlVmFsdWUSFAoFdmFsdWUYASABKAFSBXZhbHVlIiIKCkZsb2F0VmFsdWUSFAoFdmFsdWUYASABKAJSBXZhbHVlIiIKCkludDY0VmFsdWUSFAoFdmFsdWUYASABKANSBXZhbHVlIiMKC1VJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgEUgV2YWx1ZSIiCgpJbnQzMlZhbHVlEhQKBXZhbHVlGAEgASgFUgV2YWx1ZSIjCgtVSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoDVIFdmFsdWUiIQoJQm9vbFZhbHVlEhQKBXZhbHVlGAEgASgIUgV2YWx1ZSIjCgtTdHJpbmdWYWx1ZRIUCgV2YWx1ZRgBIAEoCVIFdmFsdWUiIgoKQnl0ZXNWYWx1ZRIUCgV2YWx1ZRgBIAEoDFIFdmFsdWVCgwEKE2NvbS5nb29nbGUucHJvdG9idWZCDVdyYXBwZXJzUHJvdG9QAVoxZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vd3JhcHBlcnNwYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCuIFChxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9idWYimAEKBlN0cnVjdBI7CgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9idWYuU3RydWN0LkZpZWxkc0VudHJ5UgZmaWVsZHMaUQoLRmllbGRzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASKyAgoFVmFsdWUSOwoKbnVsbF92YWx1ZRgBIAEoDjIaLmdvb2dsZS5wcm90b2J1Zi5OdWxsVmFsdWVIAFIJbnVsbFZhbHVlEiMKDG51bWJlcl92YWx1ZRgCIAEoAUgAUgtudW1iZXJWYWx1ZRIjCgxzdHJpbmdfdmFsdWUYAyABKAlIAFILc3RyaW5nVmFsdWUSHwoKYm9vbF92YWx1ZRgEIAEoCEgAUglib29sVmFsdWUSPAoMc3RydWN0X3ZhbHVlGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAUgtzdHJ1Y3RWYWx1ZRI7CgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZUgAUglsaXN0VmFsdWVCBgoEa2luZCI7CglMaXN0VmFsdWUSLgoGdmFsdWVzGAEgAygLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgZ2YWx1ZXMqGwoJTnVsbFZhbHVlEg4KCk5VTExfVkFMVUUQAEJ/ChNjb20uZ29vZ2xlLnByb3RvYnVmQgtTdHJ1Y3RQcm90b1ABWi9nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9zdHJ1Y3RwYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCqY+Cixwcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL29wZW5hcGl2Mi5wcm90bxIpZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMaHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8iswgKB1N3YWdnZXISGAoHc3dhZ2dlchgBIAEoCVIHc3dhZ2dlchJDCgRpbmZvGAIgASgLMi8uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSW5mb1IEaW5mbxISCgRob3N0GAMgASgJUgRob3N0EhsKCWJhc2VfcGF0aBgEIAEoCVIIYmFzZVBhdGgSSwoHc2NoZW1lcxgFIAMoDjIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtZVIHc2NoZW1lcxIaCghjb25zdW1lcxgGIAMoCVIIY29uc3VtZXMSGgoIcHJvZHVjZXMYByADKAlSCHByb2R1Y2VzEl8KCXJlc3BvbnNlcxgKIAMoCzJBLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlN3YWdnZXIuUmVzcG9uc2VzRW50cnlSCXJlc3BvbnNlcxJxChRzZWN1cml0eV9kZWZpbml0aW9ucxgLIAEoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5RGVmaW5pdGlvbnNSE3NlY3VyaXR5RGVmaW5pdGlvbnMSWgoIc2VjdXJpdHkYDCADKAsyPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50UghzZWN1cml0eRJCCgR0YWdzGA0gAygLMi4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuVGFnUgR0YWdzEmUKDWV4dGVybmFsX2RvY3MYDiABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxJiCgpleHRlbnNpb25zGA8gAygLMkIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlci5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMacQoOUmVzcG9uc2VzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBSgQICBAJSgQICRAKItYHCglPcGVyYXRpb24SEgoEdGFncxgBIAMoCVIEdGFncxIYCgdzdW1tYXJ5GAIgASgJUgdzdW1tYXJ5EiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhJlCg1leHRlcm5hbF9kb2NzGAQgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSIQoMb3BlcmF0aW9uX2lkGAUgASgJUgtvcGVyYXRpb25JZBIaCghjb25zdW1lcxgGIAMoCVIIY29uc3VtZXMSGgoIcHJvZHVjZXMYByADKAlSCHByb2R1Y2VzEmEKCXJlc3BvbnNlcxgJIAMoCzJDLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvbi5SZXNwb25zZXNFbnRyeVIJcmVzcG9uc2VzEksKB3NjaGVtZXMYCiADKA4yMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY2hlbWVSB3NjaGVtZXMSHgoKZGVwcmVjYXRlZBgLIAEoCFIKZGVwcmVjYXRlZBJaCghzZWN1cml0eRgMIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnRSCHNlY3VyaXR5EmQKCmV4dGVuc2lvbnMYDSADKAsyRC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5PcGVyYXRpb24uRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zElUKCnBhcmFtZXRlcnMYDiABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5QYXJhbWV0ZXJzUgpwYXJhbWV0ZXJzGnEKDlJlc3BvbnNlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkkKBXZhbHVlGAIgASgLMjMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2VSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4AUoECAgQCSJiCgpQYXJhbWV0ZXJzElQKB2hlYWRlcnMYASADKAsyOi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJQYXJhbWV0ZXJSB2hlYWRlcnMiowIKD0hlYWRlclBhcmFtZXRlchISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhJTCgR0eXBlGAMgASgOMj8uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSGVhZGVyUGFyYW1ldGVyLlR5cGVSBHR5cGUSFgoGZm9ybWF0GAQgASgJUgZmb3JtYXQSGgoIcmVxdWlyZWQYBSABKAhSCHJlcXVpcmVkIkUKBFR5cGUSCwoHVU5LTk9XThAAEgoKBlNUUklORxABEgoKBk5VTUJFUhACEgsKB0lOVEVHRVIQAxILCgdCT09MRUFOEARKBAgGEAdKBAgHEAgi2AEKBkhlYWRlchIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SEgoEdHlwZRgCIAEoCVIEdHlwZRIWCgZmb3JtYXQYAyABKAlSBmZvcm1hdBIYCgdkZWZhdWx0GAYgASgJUgdkZWZhdWx0EhgKB3BhdHRlcm4YDSABKAlSB3BhdHRlcm5KBAgEEAVKBAgFEAZKBAgHEAhKBAgIEAlKBAgJEApKBAgKEAtKBAgLEAxKBAgMEA1KBAgOEA9KBAgPEBBKBAgQEBFKBAgREBJKBAgSEBMimgUKCFJlc3BvbnNlEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhJJCgZzY2hlbWEYAiABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY2hlbWFSBnNjaGVtYRJaCgdoZWFkZXJzGAMgAygLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuSGVhZGVyc0VudHJ5UgdoZWFkZXJzEl0KCGV4YW1wbGVzGAQgAygLMkEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuRXhhbXBsZXNFbnRyeVIIZXhhbXBsZXMSYwoKZXh0ZW5zaW9ucxgFIAMoCzJDLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxptCgxIZWFkZXJzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSRwoFdmFsdWUYAiABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJSBXZhbHVlOgI4ARo7Cg1FeGFtcGxlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEi1gMKBEluZm8SFAoFdGl0bGUYASABKAlSBXRpdGxlEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhIoChB0ZXJtc19vZl9zZXJ2aWNlGAMgASgJUg50ZXJtc09mU2VydmljZRJMCgdjb250YWN0GAQgASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuQ29udGFjdFIHY29udGFjdBJMCgdsaWNlbnNlGAUgASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuTGljZW5zZVIHbGljZW5zZRIYCgd2ZXJzaW9uGAYgASgJUgd2ZXJzaW9uEl8KCmV4dGVuc2lvbnMYByADKAsyPy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5JbmZvLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJFCgdDb250YWN0EhIKBG5hbWUYASABKAlSBG5hbWUSEAoDdXJsGAIgASgJUgN1cmwSFAoFZW1haWwYAyABKAlSBWVtYWlsIi8KB0xpY2Vuc2USEgoEbmFtZRgBIAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybCJLChVFeHRlcm5hbERvY3VtZW50YXRpb24SIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEhAKA3VybBgCIAEoCVIDdXJsIqoCCgZTY2hlbWESVgoLanNvbl9zY2hlbWEYASABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hUgpqc29uU2NoZW1hEiQKDWRpc2NyaW1pbmF0b3IYAiABKAlSDWRpc2NyaW1pbmF0b3ISGwoJcmVhZF9vbmx5GAMgASgIUghyZWFkT25seRJlCg1leHRlcm5hbF9kb2NzGAUgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSGAoHZXhhbXBsZRgGIAEoCVIHZXhhbXBsZUoECAQQBSLXCgoKSlNPTlNjaGVtYRIQCgNyZWYYAyABKAlSA3JlZhIUCgV0aXRsZRgFIAEoCVIFdGl0bGUSIAoLZGVzY3JpcHRpb24YBiABKAlSC2Rlc2NyaXB0aW9uEhgKB2RlZmF1bHQYByABKAlSB2RlZmF1bHQSGwoJcmVhZF9vbmx5GAggASgIUghyZWFkT25seRIYCgdleGFtcGxlGAkgASgJUgdleGFtcGxlEh8KC211bHRpcGxlX29mGAogASgBUgptdWx0aXBsZU9mEhgKB21heGltdW0YCyABKAFSB21heGltdW0SKwoRZXhjbHVzaXZlX21heGltdW0YDCABKAhSEGV4Y2x1c2l2ZU1heGltdW0SGAoHbWluaW11bRgNIAEoAVIHbWluaW11bRIrChFleGNsdXNpdmVfbWluaW11bRgOIAEoCFIQZXhjbHVzaXZlTWluaW11bRIdCgptYXhfbGVuZ3RoGA8gASgEUgltYXhMZW5ndGgSHQoKbWluX2xlbmd0aBgQIAEoBFIJbWluTGVuZ3RoEhgKB3BhdHRlcm4YESABKAlSB3BhdHRlcm4SGwoJbWF4X2l0ZW1zGBQgASgEUghtYXhJdGVtcxIbCgltaW5faXRlbXMYFSABKARSCG1pbkl0ZW1zEiEKDHVuaXF1ZV9pdGVtcxgWIAEoCFILdW5pcXVlSXRlbXMSJQoObWF4X3Byb3BlcnRpZXMYGCABKARSDW1heFByb3BlcnRpZXMSJQoObWluX3Byb3BlcnRpZXMYGSABKARSDW1pblByb3BlcnRpZXMSGgoIcmVxdWlyZWQYGiADKAlSCHJlcXVpcmVkEhQKBWFycmF5GCIgAygJUgVhcnJheRJfCgR0eXBlGCMgAygOMksuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5KU09OU2NoZW1hU2ltcGxlVHlwZXNSBHR5cGUSFgoGZm9ybWF0GCQgASgJUgZmb3JtYXQSEgoEZW51bRguIAMoCVIEZW51bRJ6ChNmaWVsZF9jb25maWd1cmF0aW9uGOkHIAEoCzJILmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWEuRmllbGRDb25maWd1cmF0aW9uUhJmaWVsZENvbmZpZ3VyYXRpb24SZQoKZXh0ZW5zaW9ucxgwIAMoCzJFLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWEuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGjwKEkZpZWxkQ29uZmlndXJhdGlvbhImCg9wYXRoX3BhcmFtX25hbWUYLyABKAlSDXBhdGhQYXJhbU5hbWUaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEidwoVSlNPTlNjaGVtYVNpbXBsZVR5cGVzEgsKB1VOS05PV04QABIJCgVBUlJBWRABEgsKB0JPT0xFQU4QAhILCgdJTlRFR0VSEAMSCAoETlVMTBAEEgoKBk5VTUJFUhAFEgoKBk9CSkVDVBAGEgoKBlNUUklORxAHSgQIARACSgQIAhADSgQIBBAFSgQIEhATSgQIExAUSgQIFxAYSgQIGxAcSgQIHBAdSgQIHRAeSgQIHhAiSgQIJRAqSgQIKhArSgQIKxAuItkCCgNUYWcSEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SZQoNZXh0ZXJuYWxfZG9jcxgDIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEl4KCmV4dGVuc2lvbnMYBCADKAsyPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWcuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIvcBChNTZWN1cml0eURlZmluaXRpb25zEmgKCHNlY3VyaXR5GAEgAygLMkwuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlEZWZpbml0aW9ucy5TZWN1cml0eUVudHJ5UghzZWN1cml0eRp2Cg1TZWN1cml0eUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Ek8KBXZhbHVlGAIgASgLMjkuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWVSBXZhbHVlOgI4ASL/BgoOU2VjdXJpdHlTY2hlbWUSUgoEdHlwZRgBIAEoDjI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLlR5cGVSBHR5cGUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEhIKBG5hbWUYAyABKAlSBG5hbWUSTAoCaW4YBCABKA4yPC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5JblICaW4SUgoEZmxvdxgFIAEoDjI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkZsb3dSBGZsb3cSKwoRYXV0aG9yaXphdGlvbl91cmwYBiABKAlSEGF1dGhvcml6YXRpb25VcmwSGwoJdG9rZW5fdXJsGAcgASgJUgh0b2tlblVybBJJCgZzY29wZXMYCCABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY29wZXNSBnNjb3BlcxJpCgpleHRlbnNpb25zGAkgAygLMkkuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIksKBFR5cGUSEAoMVFlQRV9JTlZBTElEEAASDgoKVFlQRV9CQVNJQxABEhAKDFRZUEVfQVBJX0tFWRACEg8KC1RZUEVfT0FVVEgyEAMiMQoCSW4SDgoKSU5fSU5WQUxJRBAAEgwKCElOX1FVRVJZEAESDQoJSU5fSEVBREVSEAIiagoERmxvdxIQCgxGTE9XX0lOVkFMSUQQABIRCg1GTE9XX0lNUExJQ0lUEAESEQoNRkxPV19QQVNTV09SRBACEhQKEEZMT1dfQVBQTElDQVRJT04QAxIUChBGTE9XX0FDQ0VTU19DT0RFEAQi9gIKE1NlY3VyaXR5UmVxdWlyZW1lbnQSigEKFHNlY3VyaXR5X3JlcXVpcmVtZW50GAEgAygLMlcuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudC5TZWN1cml0eVJlcXVpcmVtZW50RW50cnlSE3NlY3VyaXR5UmVxdWlyZW1lbnQaMAoYU2VjdXJpdHlSZXF1aXJlbWVudFZhbHVlEhQKBXNjb3BlGAEgAygJUgVzY29wZRqfAQoYU2VjdXJpdHlSZXF1aXJlbWVudEVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Em0KBXZhbHVlGAIgASgLMlcuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudC5TZWN1cml0eVJlcXVpcmVtZW50VmFsdWVSBXZhbHVlOgI4ASKWAQoGU2NvcGVzElIKBXNjb3BlGAEgAygLMjwuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NvcGVzLlNjb3BlRW50cnlSBXNjb3BlGjgKClNjb3BlRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASo7CgZTY2hlbWUSCwoHVU5LTk9XThAAEggKBEhUVFAQARIJCgVIVFRQUxACEgYKAldTEAMSBwoDV1NTEARCSFpGZ2l0aHViLmNvbS9ncnBjLWVjb3N5c3RlbS9ncnBjLWdhdGV3YXkvdjIvcHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9uc2IGcHJvdG8zCv0GCi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvEilncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucxogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8aLHByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvb3BlbmFwaXYyLnByb3RvOn4KEW9wZW5hcGl2Ml9zd2FnZ2VyEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGJIIIAEoCzIyLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlN3YWdnZXJSEG9wZW5hcGl2MlN3YWdnZXI6hgEKE29wZW5hcGl2Ml9vcGVyYXRpb24SHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiSCCABKAsyNC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5PcGVyYXRpb25SEm9wZW5hcGl2Mk9wZXJhdGlvbjp+ChBvcGVuYXBpdjJfc2NoZW1hEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGJIIIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtYVIPb3BlbmFwaXYyU2NoZW1hOnUKDW9wZW5hcGl2Ml90YWcSHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMYkgggASgLMi4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuVGFnUgxvcGVuYXBpdjJUYWc6fgoPb3BlbmFwaXYyX2ZpZWxkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiSCCABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hUg5vcGVuYXBpdjJGaWVsZEJIWkZnaXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS92Mi9wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zYgZwcm90bzMKwAQKFXByb3RvL3VzZXIvdXNlci5wcm90bxIOYnVja2V0ZWVyLnVzZXIi3gMKBFVzZXISDgoCaWQYASABKAlSAmlkEjIKBGRhdGEYAiADKAsyHi5idWNrZXRlZXIudXNlci5Vc2VyLkRhdGFFbnRyeVIEZGF0YRJFCgt0YWdnZWRfZGF0YRgDIAMoCzIkLmJ1Y2tldGVlci51c2VyLlVzZXIuVGFnZ2VkRGF0YUVudHJ5Ugp0YWdnZWREYXRhEhsKCWxhc3Rfc2VlbhgEIAEoA1IIbGFzdFNlZW4SHQoKY3JlYXRlZF9hdBgFIAEoA1IJY3JlYXRlZEF0GnwKBERhdGESOgoFdmFsdWUYASADKAsyJC5idWNrZXRlZXIudXNlci5Vc2VyLkRhdGEuVmFsdWVFbnRyeVIFdmFsdWUaOAoKVmFsdWVFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGjcKCURhdGFFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGlgKD1RhZ2dlZERhdGFFbnRyeRIQCgNrZXkYASABKAlSA2tleRIvCgV2YWx1ZRgCIAEoCzIZLmJ1Y2tldGVlci51c2VyLlVzZXIuRGF0YVIFdmFsdWU6AjgBQi5aLGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by91c2VyYgZwcm90bzMK1gEKHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSJnCglWYXJpYXRpb24SDgoCaWQYASABKAlSAmlkEhQKBXZhbHVlGAIgASgJUgV2YWx1ZRISCgRuYW1lGAMgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCp4CChpwcm90by9mZWF0dXJlL3JlYXNvbi5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUisQEKBlJlYXNvbhIyCgR0eXBlGAEgASgOMh4uYnVja2V0ZWVyLmZlYXR1cmUuUmVhc29uLlR5cGVSBHR5cGUSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkIloKBFR5cGUSCgoGVEFSR0VUEAASCAoEUlVMRRABEgsKB0RFRkFVTFQQAxIKCgZDTElFTlQQBBIRCg1PRkZfVkFSSUFUSU9OEAUSEAoMUFJFUkVRVUlTSVRFEAZCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwqYBgoecHJvdG8vZmVhdHVyZS9ldmFsdWF0aW9uLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZRodcHJvdG8vZmVhdHVyZS92YXJpYXRpb24ucHJvdG8aGnByb3RvL2ZlYXR1cmUvcmVhc29uLnByb3RvIuMCCgpFdmFsdWF0aW9uEg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSJwoPZmVhdHVyZV92ZXJzaW9uGAMgASgFUg5mZWF0dXJlVmVyc2lvbhIXCgd1c2VyX2lkGAQgASgJUgZ1c2VySWQSIQoMdmFyaWF0aW9uX2lkGAUgASgJUgt2YXJpYXRpb25JZBI+Cgl2YXJpYXRpb24YBiABKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25CAhgBUgl2YXJpYXRpb24SMQoGcmVhc29uGAcgASgLMhkuYnVja2V0ZWVyLmZlYXR1cmUuUmVhc29uUgZyZWFzb24SJwoPdmFyaWF0aW9uX3ZhbHVlGAggASgJUg52YXJpYXRpb25WYWx1ZRIlCg52YXJpYXRpb25fbmFtZRgJIAEoCVINdmFyaWF0aW9uTmFtZSKGAgoPVXNlckV2YWx1YXRpb25zEhIKAmlkGAEgASgJQgIYAVICaWQSPwoLZXZhbHVhdGlvbnMYAiADKAsyHS5idWNrZXRlZXIuZmVhdHVyZS5FdmFsdWF0aW9uUgtldmFsdWF0aW9ucxIdCgpjcmVhdGVkX2F0GAMgASgDUgljcmVhdGVkQXQSMAoUYXJjaGl2ZWRfZmVhdHVyZV9pZHMYBCADKAlSEmFyY2hpdmVkRmVhdHVyZUlkcxIhCgxmb3JjZV91cGRhdGUYBSABKAhSC2ZvcmNlVXBkYXRlIioKBVN0YXRlEgoKBlFVRVVFRBAAEgsKB1BBUlRJQUwQARIICgRGVUxMEAJCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwrHAwoacHJvdG8vZmVhdHVyZS9jbGF1c2UucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlItoCCgZDbGF1c2USDgoCaWQYASABKAlSAmlkEhwKCWF0dHJpYnV0ZRgCIAEoCVIJYXR0cmlidXRlEj4KCG9wZXJhdG9yGAMgASgOMiIuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvchIWCgZ2YWx1ZXMYBCADKAlSBnZhbHVlcyLJAQoIT3BlcmF0b3ISCgoGRVFVQUxTEAASBgoCSU4QARINCglFTkRTX1dJVEgQAhIPCgtTVEFSVFNfV0lUSBADEgsKB1NFR01FTlQQBBILCgdHUkVBVEVSEAUSFAoQR1JFQVRFUl9PUl9FUVVBTBAGEggKBExFU1MQBxIRCg1MRVNTX09SX0VRVUFMEAgSCgoGQkVGT1JFEAkSCQoFQUZURVIQChIQCgxGRUFUVVJFX0ZMQUcQCxITCg9QQVJUSUFMTFlfTUFUQ0gQDEIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCrsEChxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSItCg1GaXhlZFN0cmF0ZWd5EhwKCXZhcmlhdGlvbhgBIAEoCVIJdmFyaWF0aW9uIqIBCg9Sb2xsb3V0U3RyYXRlZ3kSTAoKdmFyaWF0aW9ucxgBIAMoCzIsLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneS5WYXJpYXRpb25SCnZhcmlhdGlvbnMaQQoJVmFyaWF0aW9uEhwKCXZhcmlhdGlvbhgBIAEoCVIJdmFyaWF0aW9uEhYKBndlaWdodBgCIAEoBVIGd2VpZ2h0IvgBCghTdHJhdGVneRI0CgR0eXBlGAEgASgOMiAuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3kuVHlwZVIEdHlwZRJHCg5maXhlZF9zdHJhdGVneRgCIAEoCzIgLmJ1Y2tldGVlci5mZWF0dXJlLkZpeGVkU3RyYXRlZ3lSDWZpeGVkU3RyYXRlZ3kSTQoQcm9sbG91dF9zdHJhdGVneRgDIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneVIPcm9sbG91dFN0cmF0ZWd5Ih4KBFR5cGUSCQoFRklYRUQQABILCgdST0xMT1VUEAFCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwqpAgoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZRoacHJvdG8vZmVhdHVyZS9jbGF1c2UucHJvdG8aHHByb3RvL2ZlYXR1cmUvc3RyYXRlZ3kucHJvdG8ihAEKBFJ1bGUSDgoCaWQYASABKAlSAmlkEjcKCHN0cmF0ZWd5GAIgASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSCHN0cmF0ZWd5EjMKB2NsYXVzZXMYAyADKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5DbGF1c2VSB2NsYXVzZXNCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwqoAQoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIjwKBlRhcmdldBIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbhIUCgV1c2VycxgCIAMoCVIFdXNlcnNCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwr0AgoqcHJvdG8vZmVhdHVyZS9mZWF0dXJlX2xhc3RfdXNlZF9pbmZvLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSL3AQoTRmVhdHVyZUxhc3RVc2VkSW5mbxIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSGAoHdmVyc2lvbhgCIAEoBVIHdmVyc2lvbhIgCgxsYXN0X3VzZWRfYXQYAyABKANSCmxhc3RVc2VkQXQSHQoKY3JlYXRlZF9hdBgEIAEoA1IJY3JlYXRlZEF0EjIKFWNsaWVudF9vbGRlc3RfdmVyc2lvbhgFIAEoCVITY2xpZW50T2xkZXN0VmVyc2lvbhIyChVjbGllbnRfbGF0ZXN0X3ZlcnNpb24YBiABKAlSE2NsaWVudExhdGVzdFZlcnNpb25CMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwrCAQogcHJvdG8vZmVhdHVyZS9wcmVyZXF1aXNpdGUucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIlAKDFByZXJlcXVpc2l0ZRIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSIQoMdmFyaWF0aW9uX2lkGAIgASgJUgt2YXJpYXRpb25JZEIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCrMMChtwcm90by9mZWF0dXJlL2ZlYXR1cmUucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlGhhwcm90by9mZWF0dXJlL3J1bGUucHJvdG8aGnByb3RvL2ZlYXR1cmUvdGFyZ2V0LnByb3RvGh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxoqcHJvdG8vZmVhdHVyZS9mZWF0dXJlX2xhc3RfdXNlZF9pbmZvLnByb3RvGiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90byLSBwoHRmVhdHVyZRIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SGAoHZW5hYmxlZBgEIAEoCFIHZW5hYmxlZBIYCgdkZWxldGVkGAUgASgIUgdkZWxldGVkEjkKFmV2YWx1YXRpb25fdW5kZWxheWFibGUYBiABKAhCAhgBUhVldmFsdWF0aW9uVW5kZWxheWFibGUSEAoDdHRsGAcgASgFUgN0dGwSGAoHdmVyc2lvbhgIIAEoBVIHdmVyc2lvbhIdCgpjcmVhdGVkX2F0GAkgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgKIAEoA1IJdXBkYXRlZEF0EjwKCnZhcmlhdGlvbnMYCyADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSMwoHdGFyZ2V0cxgMIAMoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLlRhcmdldFIHdGFyZ2V0cxItCgVydWxlcxgNIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEkYKEGRlZmF1bHRfc3RyYXRlZ3kYDiABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIPZGVmYXVsdFN0cmF0ZWd5EiMKDW9mZl92YXJpYXRpb24YDyABKAlSDG9mZlZhcmlhdGlvbhISCgR0YWdzGBAgAygJUgR0YWdzEkwKDmxhc3RfdXNlZF9pbmZvGBEgASgLMiYuYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZUxhc3RVc2VkSW5mb1IMbGFzdFVzZWRJbmZvEh4KCm1haW50YWluZXIYEiABKAlSCm1haW50YWluZXISTwoOdmFyaWF0aW9uX3R5cGUYEyABKA4yKC5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlLlZhcmlhdGlvblR5cGVSDXZhcmlhdGlvblR5cGUSGgoIYXJjaGl2ZWQYFCABKAhSCGFyY2hpdmVkEkUKDXByZXJlcXVpc2l0ZXMYFSADKAsyHy5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVSDXByZXJlcXVpc2l0ZXMSIwoNc2FtcGxpbmdfc2VlZBgWIAEoCVIMc2FtcGxpbmdTZWVkIj4KDVZhcmlhdGlvblR5cGUSCgoGU1RSSU5HEAASCwoHQk9PTEVBThABEgoKBk5VTUJFUhACEggKBEpTT04QAyJSCghGZWF0dXJlcxI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzEg4KAmlkGAIgASgJUgJpZCJzChJFbnZpcm9ubWVudEZlYXR1cmUSJQoOZW52aXJvbm1lbnRfaWQYASABKAlSDWVudmlyb25tZW50SWQSNgoIZmVhdHVyZXMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUghmZWF0dXJlcyJnCgNUYWcSDgoCaWQYASABKAlSAmlkEh0KCmNyZWF0ZWRfYXQYAiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAMgASgDUgl1cGRhdGVkQXQSEgoEbmFtZRgEIAEoCVIEbmFtZUIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCugDCh9nb29nbGUvYXBpL2ZpZWxkX2JlaGF2aW9yLnByb3RvEgpnb29nbGUuYXBpGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90byq2AQoNRmllbGRCZWhhdmlvchIeChpGSUVMRF9CRUhBVklPUl9VTlNQRUNJRklFRBAAEgwKCE9QVElPTkFMEAESDAoIUkVRVUlSRUQQAhIPCgtPVVRQVVRfT05MWRADEg4KCklOUFVUX09OTFkQBBINCglJTU1VVEFCTEUQBRISCg5VTk9SREVSRURfTElTVBAGEhUKEU5PTl9FTVBUWV9ERUZBVUxUEAcSDgoKSURFTlRJRklFUhAIOmQKDmZpZWxkX2JlaGF2aW9yEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxicCCADKA4yGS5nb29nbGUuYXBpLkZpZWxkQmVoYXZpb3JCAhAAUg1maWVsZEJlaGF2aW9yQnAKDmNvbS5nb29nbGUuYXBpQhJGaWVsZEJlaGF2aW9yUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzMK5AEKGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI2CgNBbnkSGQoIdHlwZV91cmwYASABKAlSB3R5cGVVcmwSFAoFdmFsdWUYAiABKAxSBXZhbHVlQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKtQgKG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvIrQECgdTZWdtZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhItCgVydWxlcxgEIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHAoHdmVyc2lvbhgHIAEoA0ICGAFSB3ZlcnNpb24SGAoHZGVsZXRlZBgIIAEoCFIHZGVsZXRlZBIuChNpbmNsdWRlZF91c2VyX2NvdW50GAkgASgDUhFpbmNsdWRlZFVzZXJDb3VudBIyChNleGNsdWRlZF91c2VyX2NvdW50GAogASgDQgIYAVIRZXhjbHVkZWRVc2VyQ291bnQSOQoGc3RhdHVzGAsgASgOMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudC5TdGF0dXNSBnN0YXR1cxInChBpc19pbl91c2Vfc3RhdHVzGAwgASgIUg1pc0luVXNlU3RhdHVzEjYKCGZlYXR1cmVzGA0gAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMiPgoGU3RhdHVzEgsKB0lOSVRJQUwQABINCglVUExPQURJTkcQARIMCghTVUNFRURFRBACEgoKBkZBSUxFRBADItQBCgtTZWdtZW50VXNlchIOCgJpZBgBIAEoCVICaWQSHQoKc2VnbWVudF9pZBgCIAEoCVIJc2VnbWVudElkEhcKB3VzZXJfaWQYAyABKAlSBnVzZXJJZBI6CgVzdGF0ZRgEIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIYCgdkZWxldGVkGAUgASgIUgdkZWxldGVkIicKBVN0YXRlEgwKCElOQ0xVREVEEAASEAoIRVhDTFVERUQQARoCCAEiggEKDFNlZ21lbnRVc2VycxIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSNAoFdXNlcnMYAiADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSHQoKdXBkYXRlZF9hdBgDIAEoA1IJdXBkYXRlZEF0QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKoAUKIHByb3RvL2ZlYXR1cmUvZmxhZ190cmlnZ2VyLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSKtBAoLRmxhZ1RyaWdnZXISDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBI3CgR0eXBlGAQgASgOMiMuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuVHlwZVIEdHlwZRI9CgZhY3Rpb24YBSABKA4yJS5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlci5BY3Rpb25SBmFjdGlvbhIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SIwoNdHJpZ2dlcl9jb3VudBgHIAEoBVIMdHJpZ2dlckNvdW50EioKEWxhc3RfdHJpZ2dlcmVkX2F0GAggASgDUg9sYXN0VHJpZ2dlcmVkQXQSFAoFdG9rZW4YCSABKAlSBXRva2VuEhoKCGRpc2FibGVkGAogASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAsgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgMIAEoA1IJdXBkYXRlZEF0EiUKDmVudmlyb25tZW50X2lkGA0gASgJUg1lbnZpcm9ubWVudElkIioKBFR5cGUSEAoMVHlwZV9VTktOT1dOEAASEAoMVHlwZV9XRUJIT09LEAEiOwoGQWN0aW9uEhIKDkFjdGlvbl9VTktOT1dOEAASDQoJQWN0aW9uX09OEAESDgoKQWN0aW9uX09GRhACSgQIAxAEQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKwCMKG3Byb3RvL2ZlYXR1cmUvY29tbWFuZC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxoacHJvdG8vZmVhdHVyZS9jbGF1c2UucHJvdG8aG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvGh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxobcHJvdG8vZmVhdHVyZS9zZWdtZW50LnByb3RvGiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxogcHJvdG8vZmVhdHVyZS9mbGFnX3RyaWdnZXIucHJvdG8iOQoHQ29tbWFuZBIuCgdjb21tYW5kGAEgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIHY29tbWFuZCK1AwoUQ3JlYXRlRmVhdHVyZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEjwKCnZhcmlhdGlvbnMYBCADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSEgoEdGFncxgFIAMoCVIEdGFncxJYChpkZWZhdWx0X29uX3ZhcmlhdGlvbl9pbmRleBgGIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhdkZWZhdWx0T25WYXJpYXRpb25JbmRleBJaChtkZWZhdWx0X29mZl92YXJpYXRpb25faW5kZXgYByABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIYZGVmYXVsdE9mZlZhcmlhdGlvbkluZGV4Ek8KDnZhcmlhdGlvbl90eXBlGAggASgOMiguYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZS5WYXJpYXRpb25UeXBlUg12YXJpYXRpb25UeXBlIhcKFUFyY2hpdmVGZWF0dXJlQ29tbWFuZCIZChdVbmFyY2hpdmVGZWF0dXJlQ29tbWFuZCIWChREZWxldGVGZWF0dXJlQ29tbWFuZCIqChRSZW5hbWVGZWF0dXJlQ29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lIjwKGENoYW5nZURlc2NyaXB0aW9uQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24iuAEKKUNoYW5nZUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNTdGF0dXNDb21tYW5kEjkKBnN0YXR1cxgBIAEoDjIhLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnQuU3RhdHVzUgZzdGF0dXMSOgoFc3RhdGUYAiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSFAoFY291bnQYAyABKANSBWNvdW50IiEKDUFkZFRhZ0NvbW1hbmQSEAoDdGFnGAEgASgJUgN0YWciJAoQUmVtb3ZlVGFnQ29tbWFuZBIQCgN0YWcYASABKAlSA3RhZyIWChRFbmFibGVGZWF0dXJlQ29tbWFuZCIXChVEaXNhYmxlRmVhdHVyZUNvbW1hbmQiYQoTQWRkVmFyaWF0aW9uQ29tbWFuZBIUCgV2YWx1ZRgBIAEoCVIFdmFsdWUSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24iKAoWUmVtb3ZlVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQiQwobQ2hhbmdlVmFyaWF0aW9uVmFsdWVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUiQAoaQ2hhbmdlVmFyaWF0aW9uTmFtZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiVQohQ2hhbmdlVmFyaWF0aW9uRGVzY3JpcHRpb25Db21tYW5kEg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iKwoZQ2hhbmdlT2ZmVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQiPwoZQWRkVXNlclRvVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSEgoEdXNlchgCIAEoCVIEdXNlciJECh5SZW1vdmVVc2VyRnJvbVZhcmlhdGlvbkNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBHVzZXIYAiABKAlSBHVzZXIiVwocQ2hhbmdlRGVmYXVsdFN0cmF0ZWd5Q29tbWFuZBI3CghzdHJhdGVneRgBIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneSI9Cg5BZGRSdWxlQ29tbWFuZBIrCgRydWxlGAEgASgLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIEcnVsZSJ9ChlDaGFuZ2VSdWxlU3RyYXRlZ3lDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSNwoIc3RyYXRlZ3kYAyABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIIc3RyYXRlZ3kiNAoXQ2hhbmdlUnVsZXNPcmRlckNvbW1hbmQSGQoIcnVsZV9pZHMYAiADKAlSB3J1bGVJZHMiIwoRRGVsZXRlUnVsZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkIl4KEEFkZENsYXVzZUNvbW1hbmQSFwoHcnVsZV9pZBgBIAEoCVIGcnVsZUlkEjEKBmNsYXVzZRgCIAEoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZVIGY2xhdXNlIj4KE0RlbGV0ZUNsYXVzZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZCJlChxDaGFuZ2VDbGF1c2VBdHRyaWJ1dGVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSHAoJYXR0cmlidXRlGAMgASgJUglhdHRyaWJ1dGUihgEKG0NoYW5nZUNsYXVzZU9wZXJhdG9yQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEj4KCG9wZXJhdG9yGAMgASgOMiIuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvciJWChVBZGRDbGF1c2VWYWx1ZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIUCgV2YWx1ZRgDIAEoCVIFdmFsdWUiWQoYUmVtb3ZlQ2xhdXNlVmFsdWVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSFAoFdmFsdWUYAyABKAlSBXZhbHVlIoMBChpDaGFuZ2VGaXhlZFN0cmF0ZWd5Q29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEjwKCHN0cmF0ZWd5GAMgASgLMiAuYnVja2V0ZWVyLmZlYXR1cmUuRml4ZWRTdHJhdGVneVIIc3RyYXRlZ3kihwEKHENoYW5nZVJvbGxvdXRTdHJhdGVneUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBI+CghzdHJhdGVneRgDIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneVIIc3RyYXRlZ3kiTAoUQ3JlYXRlU2VnbWVudENvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iFgoURGVsZXRlU2VnbWVudENvbW1hbmQiLgoYQ2hhbmdlU2VnbWVudE5hbWVDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUiQwofQ2hhbmdlU2VnbWVudERlc2NyaXB0aW9uQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24ibgoVQWRkU2VnbWVudFVzZXJDb21tYW5kEhkKCHVzZXJfaWRzGAEgAygJUgd1c2VySWRzEjoKBXN0YXRlGAIgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlInEKGERlbGV0ZVNlZ21lbnRVc2VyQ29tbWFuZBIZCgh1c2VyX2lkcxgBIAMoCVIHdXNlcklkcxI6CgVzdGF0ZRgCIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZSJvCh1CdWxrVXBsb2FkU2VnbWVudFVzZXJzQ29tbWFuZBISCgRkYXRhGAEgASgMUgRkYXRhEjoKBXN0YXRlGAIgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlIiAKHkluY3JlbWVudEZlYXR1cmVWZXJzaW9uQ29tbWFuZCJCChNDbG9uZUZlYXR1cmVDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkSgQIARACIhoKGFJlc2V0U2FtcGxpbmdTZWVkQ29tbWFuZCJdChZBZGRQcmVyZXF1aXNpdGVDb21tYW5kEkMKDHByZXJlcXVpc2l0ZRgBIAEoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVIMcHJlcmVxdWlzaXRlIjoKGVJlbW92ZVByZXJlcXVpc2l0ZUNvbW1hbmQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkImkKIkNoYW5nZVByZXJlcXVpc2l0ZVZhcmlhdGlvbkNvbW1hbmQSQwoMcHJlcmVxdWlzaXRlGAEgASgLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUgxwcmVyZXF1aXNpdGUi0wEKGENyZWF0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSNwoEdHlwZRgCIAEoDjIjLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLlR5cGVSBHR5cGUSPQoGYWN0aW9uGAMgASgOMiUuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuQWN0aW9uUgZhY3Rpb24SIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uIhkKF1Jlc2V0RmxhZ1RyaWdnZXJDb21tYW5kIkcKI0NoYW5nZUZsYWdUcmlnZ2VyRGVzY3JpcHRpb25Db21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiIaChhFbmFibGVGbGFnVHJpZ2dlckNvbW1hbmQiGwoZRGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZCIaChhEZWxldGVGbGFnVHJpZ2dlckNvbW1hbmQiHwodVXBkYXRlRmxhZ1RyaWdnZXJVc2FnZUNvbW1hbmRCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwq+lgEKG3Byb3RvL2ZlYXR1cmUvc2VydmljZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8aH2dvb2dsZS9hcGkvZmllbGRfYmVoYXZpb3IucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxoucHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90bxobcHJvdG8vZmVhdHVyZS9jb21tYW5kLnByb3RvGhtwcm90by9mZWF0dXJlL2ZlYXR1cmUucHJvdG8aHnByb3RvL2ZlYXR1cmUvZXZhbHVhdGlvbi5wcm90bxoVcHJvdG8vdXNlci91c2VyLnByb3RvGhtwcm90by9mZWF0dXJlL3NlZ21lbnQucHJvdG8aIHByb3RvL2ZlYXR1cmUvZmxhZ190cmlnZ2VyLnByb3RvGh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxogcHJvdG8vZmVhdHVyZS9wcmVyZXF1aXNpdGUucHJvdG8aGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8iUAoRR2V0RmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIkoKEkdldEZlYXR1cmVSZXNwb25zZRI0CgdmZWF0dXJlGAEgASgLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIHZmVhdHVyZSJTChJHZXRGZWF0dXJlc1JlcXVlc3QSEAoDaWRzGAIgAygJUgNpZHMSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgBEAIiTQoTR2V0RmVhdHVyZXNSZXNwb25zZRI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzIvUFChNMaXN0RmVhdHVyZXNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISEgoEdGFncxgDIAMoCVIEdGFncxJJCghvcmRlcl9ieRgEIAEoDjIuLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJeCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNS5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmVhdHVyZXNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIeCgptYWludGFpbmVyGAcgASgJUgptYWludGFpbmVyEjQKB2VuYWJsZWQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUgdlbmFibGVkEkEKDmhhc19leHBlcmltZW50GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVINaGFzRXhwZXJpbWVudBIlCg5zZWFyY2hfa2V5d29yZBgKIAEoCVINc2VhcmNoS2V5d29yZBI2CghhcmNoaXZlZBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGFyY2hpdmVkEkcKEWhhc19wcmVyZXF1aXNpdGVzGAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIQaGFzUHJlcmVxdWlzaXRlcxIlCg5lbnZpcm9ubWVudF9pZBgNIAEoCVINZW52aXJvbm1lbnRJZCJXCgdPcmRlckJ5EgsKB0RFRkFVTFQQABIICgROQU1FEAESDgoKQ1JFQVRFRF9BVBACEg4KClVQREFURURfQVQQAxIICgRUQUdTEAQSCwoHRU5BQkxFRBAFIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAYQByKHAQoUTGlzdEZlYXR1cmVzUmVzcG9uc2USNgoIZmVhdHVyZXMYASADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUghmZWF0dXJlcxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKSAQoaTGlzdEVuYWJsZWRGZWF0dXJlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchISCgR0YWdzGAMgAygJUgR0YWdzEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIBBAFIm0KG0xpc3RFbmFibGVkRmVhdHVyZXNSZXNwb25zZRI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yIoYBChRDcmVhdGVGZWF0dXJlUmVxdWVzdBJBCgdjb21tYW5kGAEgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiTQoVQ3JlYXRlRmVhdHVyZVJlc3BvbnNlEjQKB2ZlYXR1cmUYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUgdmZWF0dXJlIs8FChRVcGRhdGVGZWF0dXJlUmVxdWVzdBIYCgdjb21tZW50GAEgASgJUgdjb21tZW50EiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkEg4KAmlkGAMgASgJUgJpZBIwCgRuYW1lGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbhISCgR0YWdzGAYgAygJUgR0YWdzEjQKB2VuYWJsZWQYByABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUgdlbmFibGVkEjYKCGFyY2hpdmVkGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIYXJjaGl2ZWQSPAoKdmFyaWF0aW9ucxgJIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxJFCg1wcmVyZXF1aXNpdGVzGAogAygLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUg1wcmVyZXF1aXNpdGVzEjMKB3RhcmdldHMYCyADKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5UYXJnZXRSB3RhcmdldHMSLQoFcnVsZXMYDCADKAsyFy5idWNrZXRlZXIuZmVhdHVyZS5SdWxlUgVydWxlcxJGChBkZWZhdWx0X3N0cmF0ZWd5GA0gASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSD2RlZmF1bHRTdHJhdGVneRJBCg1vZmZfdmFyaWF0aW9uGA4gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgxvZmZWYXJpYXRpb24iTQoVVXBkYXRlRmVhdHVyZVJlc3BvbnNlEjQKB2ZlYXR1cmUYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUgdmZWF0dXJlIrABChRFbmFibGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQQoHY29tbWFuZBgCIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRW5hYmxlRmVhdHVyZVJlc3BvbnNlIrIBChVEaXNhYmxlRmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkIKB2NvbW1hbmQYAiABKAsyKC5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZEaXNhYmxlRmVhdHVyZVJlc3BvbnNlIrIBChVBcmNoaXZlRmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkIKB2NvbW1hbmQYAiABKAsyKC5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZBcmNoaXZlRmVhdHVyZVJlc3BvbnNlIrYBChdVbmFyY2hpdmVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSRAoHY29tbWFuZBgCIAEoCzIqLmJ1Y2tldGVlci5mZWF0dXJlLlVuYXJjaGl2ZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGgoYVW5hcmNoaXZlRmVhdHVyZVJlc3BvbnNlIrABChREZWxldGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQQoHY29tbWFuZBgCIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRGVsZXRlRmVhdHVyZVJlc3BvbnNlIt8DChtVcGRhdGVGZWF0dXJlRGV0YWlsc1JlcXVlc3QSDgoCaWQYASABKAlSAmlkEl0KFnJlbmFtZV9mZWF0dXJlX2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5SZW5hbWVGZWF0dXJlQ29tbWFuZFIUcmVuYW1lRmVhdHVyZUNvbW1hbmQSaQoaY2hhbmdlX2Rlc2NyaXB0aW9uX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5DaGFuZ2VEZXNjcmlwdGlvbkNvbW1hbmRSGGNoYW5nZURlc2NyaXB0aW9uQ29tbWFuZBJKChBhZGRfdGFnX2NvbW1hbmRzGAQgAygLMiAuYnVja2V0ZWVyLmZlYXR1cmUuQWRkVGFnQ29tbWFuZFIOYWRkVGFnQ29tbWFuZHMSUwoTcmVtb3ZlX3RhZ19jb21tYW5kcxgFIAMoCzIjLmJ1Y2tldGVlci5mZWF0dXJlLlJlbW92ZVRhZ0NvbW1hbmRSEXJlbW92ZVRhZ0NvbW1hbmRzEhgKB2NvbW1lbnQYByABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYCCABKAlSDWVudmlyb25tZW50SWRKBAgGEAciHgocVXBkYXRlRmVhdHVyZURldGFpbHNSZXNwb25zZSKvAQoeVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBI2Cghjb21tYW5kcxgCIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkNvbW1hbmRSCGNvbW1hbmRzEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiIQofVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXNwb25zZSKhAgodVXBkYXRlRmVhdHVyZVRhcmdldGluZ1JlcXVlc3QSDgoCaWQYASABKAlSAmlkEjYKCGNvbW1hbmRzGAIgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuQ29tbWFuZFIIY29tbWFuZHMSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBJJCgRmcm9tGAUgASgOMjUuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVRhcmdldGluZ1JlcXVlc3QuRnJvbVIEZnJvbRIlCg5lbnZpcm9ubWVudF9pZBgGIAEoCVINZW52aXJvbm1lbnRJZCImCgRGcm9tEgsKB1VOS05PV04QABIICgRVU0VSEAESBwoDT1BTEAJKBAgDEAQiIAoeVXBkYXRlRmVhdHVyZVRhcmdldGluZ1Jlc3BvbnNlIpQBChNDbG9uZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJACgdjb21tYW5kGAIgASgLMiYuYnVja2V0ZWVyLmZlYXR1cmUuQ2xvbmVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIWChRDbG9uZUZlYXR1cmVSZXNwb25zZSLZAQoUQ3JlYXRlU2VnbWVudFJlcXVlc3QSVAoHY29tbWFuZBgBIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZVNlZ21lbnRDb21tYW5kQhEYAZJBDDIKZGVwcmVjYXRlZFIHY29tbWFuZBIXCgRuYW1lGAMgASgJQgPgQQJSBG5hbWUSKgoOZW52aXJvbm1lbnRfaWQYBCABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIgCgtkZXNjcmlwdGlvbhgFIAEoCVILZGVzY3JpcHRpb25KBAgCEAMiTQoVQ3JlYXRlU2VnbWVudFJlc3BvbnNlEjQKB3NlZ21lbnQYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UgdzZWdtZW50IloKEUdldFNlZ21lbnRSZXF1ZXN0EhMKAmlkGAEgASgJQgPgQQJSAmlkEioKDmVudmlyb25tZW50X2lkGAMgASgJQgPgQQJSDWVudmlyb25tZW50SWRKBAgCEAMiSgoSR2V0U2VnbWVudFJlc3BvbnNlEjQKB3NlZ21lbnQYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UgdzZWdtZW50Iq8EChNMaXN0U2VnbWVudHNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISSQoIb3JkZXJfYnkYBCABKA4yLi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudHNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSXgoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjUuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFNlZ21lbnRzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBiABKAlSDXNlYXJjaEtleXdvcmQSMwoGc3RhdHVzGAcgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSBnN0YXR1cxJDChBpc19pbl91c2Vfc3RhdHVzGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVINaXNJblVzZVN0YXR1cxIqCg5lbnZpcm9ubWVudF9pZBgJIAEoCUID4EECUg1lbnZpcm9ubWVudElkIkAKB09yZGVyQnkSCwoHREVGQVVMVBAAEggKBE5BTUUQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAMQBCKHAQoUTGlzdFNlZ21lbnRzUmVzcG9uc2USNgoIc2VnbWVudHMYASADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UghzZWdtZW50cxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKpAQoURGVsZXRlU2VnbWVudFJlcXVlc3QSDgoCaWQYASABKAlSAmlkElQKB2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50Q29tbWFuZEIRGAGSQQwyCmRlcHJlY2F0ZWRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRGVsZXRlU2VnbWVudFJlc3BvbnNlIpUCChRVcGRhdGVTZWdtZW50UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSSQoIY29tbWFuZHMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5Db21tYW5kQhEYAZJBDDIKZGVwcmVjYXRlZFIIY29tbWFuZHMSKgoOZW52aXJvbm1lbnRfaWQYBCABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIwCgRuYW1lGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAYgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbkoECAMQBCJNChVVcGRhdGVTZWdtZW50UmVzcG9uc2USNAoHc2VnbWVudBgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRSB3NlZ21lbnQimAEKFUFkZFNlZ21lbnRVc2VyUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQgoHY29tbWFuZBgCIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLkFkZFNlZ21lbnRVc2VyQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZBZGRTZWdtZW50VXNlclJlc3BvbnNlIp4BChhEZWxldGVTZWdtZW50VXNlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkUKB2NvbW1hbmQYAiABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlckNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGwoZRGVsZXRlU2VnbWVudFVzZXJSZXNwb25zZSK4AQoVR2V0U2VnbWVudFVzZXJSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgd1c2VyX2lkGAIgASgJUgZ1c2VySWQSOgoFc3RhdGUYAyABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgEEAUiTAoWR2V0U2VnbWVudFVzZXJSZXNwb25zZRIyCgR1c2VyGAEgASgLMh4uYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXJSBHVzZXIi5gEKF0xpc3RTZWdtZW50VXNlcnNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHQoKc2VnbWVudF9pZBgDIAEoCVIJc2VnbWVudElkEjEKBXN0YXRlGAQgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSBXN0YXRlEhcKB3VzZXJfaWQYBSABKAlSBnVzZXJJZBIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZEoECAYQByJoChhMaXN0U2VnbWVudFVzZXJzUmVzcG9uc2USNAoFdXNlcnMYASADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3Ii0AIKHUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYAiABKAlSCXNlZ21lbnRJZBJdCgdjb21tYW5kGAMgASgLMjAuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc0NvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkEkgKBGRhdGEYBSABKAxCNJJBMTIvc2VnbWVudCB1c2VyIGlkcyBzZXBhcmF0ZWQgYnkgY29tbWEgb3IgbmV3IGxpbmVSBGRhdGESOgoFc3RhdGUYBiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGVKBAgBEAIiIAoeQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIqkBCh9CdWxrRG93bmxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYAiABKAlSCXNlZ21lbnRJZBI6CgVzdGF0ZRgDIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiI2CiBCdWxrRG93bmxvYWRTZWdtZW50VXNlcnNSZXNwb25zZRISCgRkYXRhGAEgASgMUgRkYXRhIqEBChdFdmFsdWF0ZUZlYXR1cmVzUmVxdWVzdBIoCgR1c2VyGAEgASgLMhQuYnVja2V0ZWVyLnVzZXIuVXNlclIEdXNlchIQCgN0YWcYAyABKAlSA3RhZxIdCgpmZWF0dXJlX2lkGAQgASgJUglmZWF0dXJlSWQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiaQoYRXZhbHVhdGVGZWF0dXJlc1Jlc3BvbnNlEk0KEHVzZXJfZXZhbHVhdGlvbnMYASABKAsyIi5idWNrZXRlZXIuZmVhdHVyZS5Vc2VyRXZhbHVhdGlvbnNSD3VzZXJFdmFsdWF0aW9ucyKsAwoPTGlzdFRhZ3NSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgCIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAMgASgJUgZjdXJzb3ISRQoIb3JkZXJfYnkYBCABKA4yKi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0VGFnc1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJaCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yMS5idWNrZXRlZXIuZmVhdHVyZS5MaXN0VGFnc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAYgASgJUg1zZWFyY2hLZXl3b3JkEiUKDmVudmlyb25tZW50X2lkGAcgASgJUg1lbnZpcm9ubWVudElkIkgKB09yZGVyQnkSCwoHREVGQVVMVBAAEgYKAklEEAESDgoKQ1JFQVRFRF9BVBACEg4KClVQREFURURfQVQQAxIICgROQU1FEAQiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIARACIncKEExpc3RUYWdzUmVzcG9uc2USKgoEdGFncxgBIAMoCzIWLmJ1Y2tldGVlci5mZWF0dXJlLlRhZ1IEdGFncxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKzAQoYQ3JlYXRlRmxhZ1RyaWdnZXJSZXF1ZXN0EmoKG2NyZWF0ZV9mbGFnX3RyaWdnZXJfY29tbWFuZBgCIAEoCzIrLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZUZsYWdUcmlnZ2VyQ29tbWFuZFIYY3JlYXRlRmxhZ1RyaWdnZXJDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkSgQIARACInAKGUNyZWF0ZUZsYWdUcmlnZ2VyUmVzcG9uc2USQQoMZmxhZ190cmlnZ2VyGAEgASgLMh4uYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXJSC2ZsYWdUcmlnZ2VyEhAKA3VybBgCIAEoCVIDdXJsIsMBChhEZWxldGVGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEmoKG2RlbGV0ZV9mbGFnX3RyaWdnZXJfY29tbWFuZBgDIAEoCzIrLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZsYWdUcmlnZ2VyQ29tbWFuZFIYZGVsZXRlRmxhZ1RyaWdnZXJDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIhsKGURlbGV0ZUZsYWdUcmlnZ2VyUmVzcG9uc2Ui5gEKGFVwZGF0ZUZsYWdUcmlnZ2VyUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSjAEKJ2NoYW5nZV9mbGFnX3RyaWdnZXJfZGVzY3JpcHRpb25fY29tbWFuZBgDIAEoCzI2LmJ1Y2tldGVlci5mZWF0dXJlLkNoYW5nZUZsYWdUcmlnZ2VyRGVzY3JpcHRpb25Db21tYW5kUiNjaGFuZ2VGbGFnVHJpZ2dlckRlc2NyaXB0aW9uQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIbChlVcGRhdGVGbGFnVHJpZ2dlclJlc3BvbnNlIsMBChhFbmFibGVGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEmoKG2VuYWJsZV9mbGFnX3RyaWdnZXJfY29tbWFuZBgDIAEoCzIrLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZFIYZW5hYmxlRmxhZ1RyaWdnZXJDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIhsKGUVuYWJsZUZsYWdUcmlnZ2VyUmVzcG9uc2UixwEKGURpc2FibGVGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEm0KHGRpc2FibGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAyABKAsyLC5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmxhZ1RyaWdnZXJDb21tYW5kUhlkaXNhYmxlRmxhZ1RyaWdnZXJDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIhwKGkRpc2FibGVGbGFnVHJpZ2dlclJlc3BvbnNlIr8BChdSZXNldEZsYWdUcmlnZ2VyUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSZwoacmVzZXRfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAyABKAsyKi5idWNrZXRlZXIuZmVhdHVyZS5SZXNldEZsYWdUcmlnZ2VyQ29tbWFuZFIXcmVzZXRGbGFnVHJpZ2dlckNvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgCEAMibwoYUmVzZXRGbGFnVHJpZ2dlclJlc3BvbnNlEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCJUChVHZXRGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIm0KFkdldEZsYWdUcmlnZ2VyUmVzcG9uc2USQQoMZmxhZ190cmlnZ2VyGAEgASgLMh4uYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXJSC2ZsYWdUcmlnZ2VyEhAKA3VybBgCIAEoCVIDdXJsIqoDChdMaXN0RmxhZ1RyaWdnZXJzUmVxdWVzdBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFgoGY3Vyc29yGAMgASgJUgZjdXJzb3ISGwoJcGFnZV9zaXplGAQgASgFUghwYWdlU2l6ZRJNCghvcmRlcl9ieRgFIAEoDjIyLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSYgoPb3JkZXJfZGlyZWN0aW9uGAYgASgOMjkuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZsYWdUcmlnZ2Vyc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDmVudmlyb25tZW50X2lkGAcgASgJUg1lbnZpcm9ubWVudElkIjYKB09yZGVyQnkSCwoHREVGQVVMVBAAEg4KCkNSRUFURURfQVQQARIOCgpVUERBVEVEX0FUEAIiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIAhADIqMCChhMaXN0RmxhZ1RyaWdnZXJzUmVzcG9uc2USYwoNZmxhZ190cmlnZ2VycxgBIAMoCzI+LmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXNwb25zZS5GbGFnVHJpZ2dlcldpdGhVcmxSDGZsYWdUcmlnZ2VycxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudBppChJGbGFnVHJpZ2dlcldpdGhVcmwSQQoMZmxhZ190cmlnZ2VyGAEgASgLMh4uYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXJSC2ZsYWdUcmlnZ2VyEhAKA3VybBgCIAEoCVIDdXJsIjEKGUZsYWdUcmlnZ2VyV2ViaG9va1JlcXVlc3QSFAoFdG9rZW4YASABKAlSBXRva2VuIhwKGkZsYWdUcmlnZ2VyV2ViaG9va1Jlc3BvbnNlMtI4Cg5GZWF0dXJlU2VydmljZRJbCgpHZXRGZWF0dXJlEiQuYnVja2V0ZWVyLmZlYXR1cmUuR2V0RmVhdHVyZVJlcXVlc3QaJS5idWNrZXRlZXIuZmVhdHVyZS5HZXRGZWF0dXJlUmVzcG9uc2UiABJeCgtHZXRGZWF0dXJlcxIlLmJ1Y2tldGVlci5mZWF0dXJlLkdldEZlYXR1cmVzUmVxdWVzdBomLmJ1Y2tldGVlci5mZWF0dXJlLkdldEZlYXR1cmVzUmVzcG9uc2UiABJhCgxMaXN0RmVhdHVyZXMSJi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmVhdHVyZXNSZXF1ZXN0GicuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZlYXR1cmVzUmVzcG9uc2UiABJ2ChNMaXN0RW5hYmxlZEZlYXR1cmVzEi0uYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEVuYWJsZWRGZWF0dXJlc1JlcXVlc3QaLi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RW5hYmxlZEZlYXR1cmVzUmVzcG9uc2UiABJkCg1DcmVhdGVGZWF0dXJlEicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlRmVhdHVyZVJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGZWF0dXJlUmVzcG9uc2UiABJkCg1VcGRhdGVGZWF0dXJlEicuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlUmVzcG9uc2UiABJnCg1FbmFibGVGZWF0dXJlEicuYnVja2V0ZWVyLmZlYXR1cmUuRW5hYmxlRmVhdHVyZVJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGZWF0dXJlUmVzcG9uc2UiA4gCARJqCg5EaXNhYmxlRmVhdHVyZRIoLmJ1Y2tldGVlci5mZWF0dXJlLkRpc2FibGVGZWF0dXJlUmVxdWVzdBopLmJ1Y2tldGVlci5mZWF0dXJlLkRpc2FibGVGZWF0dXJlUmVzcG9uc2UiA4gCARJnCg5BcmNoaXZlRmVhdHVyZRIoLmJ1Y2tldGVlci5mZWF0dXJlLkFyY2hpdmVGZWF0dXJlUmVxdWVzdBopLmJ1Y2tldGVlci5mZWF0dXJlLkFyY2hpdmVGZWF0dXJlUmVzcG9uc2UiABJtChBVbmFyY2hpdmVGZWF0dXJlEiouYnVja2V0ZWVyLmZlYXR1cmUuVW5hcmNoaXZlRmVhdHVyZVJlcXVlc3QaKy5idWNrZXRlZXIuZmVhdHVyZS5VbmFyY2hpdmVGZWF0dXJlUmVzcG9uc2UiABJkCg1EZWxldGVGZWF0dXJlEicuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlRmVhdHVyZVJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGZWF0dXJlUmVzcG9uc2UiABJ5ChRVcGRhdGVGZWF0dXJlRGV0YWlscxIuLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVEZXRhaWxzUmVxdWVzdBovLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVEZXRhaWxzUmVzcG9uc2UiABKCAQoXVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnMSMS5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlVmFyaWF0aW9uc1JlcXVlc3QaMi5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlVmFyaWF0aW9uc1Jlc3BvbnNlIgASfwoWVXBkYXRlRmVhdHVyZVRhcmdldGluZxIwLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVUYXJnZXRpbmdSZXF1ZXN0GjEuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVRhcmdldGluZ1Jlc3BvbnNlIgASYQoMQ2xvbmVGZWF0dXJlEiYuYnVja2V0ZWVyLmZlYXR1cmUuQ2xvbmVGZWF0dXJlUmVxdWVzdBonLmJ1Y2tldGVlci5mZWF0dXJlLkNsb25lRmVhdHVyZVJlc3BvbnNlIgASpgQKDUNyZWF0ZVNlZ21lbnQSJy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVTZWdtZW50UmVxdWVzdBooLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZVNlZ21lbnRSZXNwb25zZSLBA5JBpwMKB3NlZ21lbnQSBkNyZWF0ZRoRQ3JlYXRlIGEgc2VnbWVudC4qFXdlYi52MS5zZWdtZW50LmNyZWF0ZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAhAiCy92MS9zZWdtZW50OgEqEpEECgpHZXRTZWdtZW50EiQuYnVja2V0ZWVyLmZlYXR1cmUuR2V0U2VnbWVudFJlcXVlc3QaJS5idWNrZXRlZXIuZmVhdHVyZS5HZXRTZWdtZW50UmVzcG9uc2UitQOSQZ4DCgdzZWdtZW50EgNHZXQaDkdldCBhIHNlZ21lbnQuKhJ3ZWIudjEuc2VnbWVudC5nZXRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwINEgsvdjEvc2VnbWVudBKaBAoMTGlzdFNlZ21lbnRzEiYuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFNlZ21lbnRzUmVxdWVzdBonLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50c1Jlc3BvbnNlIrgDkkGgAwoHc2VnbWVudBIETGlzdBoOTGlzdCBzZWdtZW50cy4qE3dlYi52MS5zZWdtZW50Lmxpc3RKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIOEgwvdjEvc2VnbWVudHMSowQKDURlbGV0ZVNlZ21lbnQSJy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50UmVxdWVzdBooLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZVNlZ21lbnRSZXNwb25zZSK+A5JBpwMKB3NlZ21lbnQSBkRlbGV0ZRoRRGVsZXRlIGEgc2VnbWVudC4qFXdlYi52MS5zZWdtZW50LmRlbGV0ZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAg0qCy92MS9zZWdtZW50EqYECg1VcGRhdGVTZWdtZW50EicuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlU2VnbWVudFJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVTZWdtZW50UmVzcG9uc2UiwQOSQacDCgdzZWdtZW50EgZVcGRhdGUaEVVwZGF0ZSBhIHNlZ21lbnQuKhV3ZWIudjEuc2VnbWVudC51cGRhdGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIQMgsvdjEvc2VnbWVudDoBKhJqCg5BZGRTZWdtZW50VXNlchIoLmJ1Y2tldGVlci5mZWF0dXJlLkFkZFNlZ21lbnRVc2VyUmVxdWVzdBopLmJ1Y2tldGVlci5mZWF0dXJlLkFkZFNlZ21lbnRVc2VyUmVzcG9uc2UiA4gCARJzChFEZWxldGVTZWdtZW50VXNlchIrLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZVNlZ21lbnRVc2VyUmVxdWVzdBosLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZVNlZ21lbnRVc2VyUmVzcG9uc2UiA4gCARJqCg5HZXRTZWdtZW50VXNlchIoLmJ1Y2tldGVlci5mZWF0dXJlLkdldFNlZ21lbnRVc2VyUmVxdWVzdBopLmJ1Y2tldGVlci5mZWF0dXJlLkdldFNlZ21lbnRVc2VyUmVzcG9uc2UiA4gCARJtChBMaXN0U2VnbWVudFVzZXJzEiouYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFNlZ21lbnRVc2Vyc1JlcXVlc3QaKy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudFVzZXJzUmVzcG9uc2UiABLsBAoWQnVsa1VwbG9hZFNlZ21lbnRVc2VycxIwLmJ1Y2tldGVlci5mZWF0dXJlLkJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0GjEuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIuwDkkHAAwoHc2VnbWVudBILQnVsayB1cGxvYWQaGkJ1bGsgdXBsb2FkIHNlZ21lbnQgdXNlcnMuKiB3ZWIudjEuc2VnbWVudF91c2Vycy5idWxrX3VwbG9hZEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiIiHS92MS9zZWdtZW50X3VzZXJzL2J1bGtfdXBsb2FkOgEqEoUBChhCdWxrRG93bmxvYWRTZWdtZW50VXNlcnMSMi5idWNrZXRlZXIuZmVhdHVyZS5CdWxrRG93bmxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0GjMuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzUmVzcG9uc2UiABJtChBFdmFsdWF0ZUZlYXR1cmVzEiouYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGVGZWF0dXJlc1JlcXVlc3QaKy5idWNrZXRlZXIuZmVhdHVyZS5FdmFsdWF0ZUZlYXR1cmVzUmVzcG9uc2UiABL+AwoITGlzdFRhZ3MSIi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0VGFnc1JlcXVlc3QaIy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0VGFnc1Jlc3BvbnNlIqgDkkGUAwoDdGFnEgRMaXN0GgpMaXN0IHRhZ3MuKg93ZWIudjEudGFnLmxpc3RKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIKEggvdjEvdGFncxJwChFDcmVhdGVGbGFnVHJpZ2dlchIrLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZUZsYWdUcmlnZ2VyUmVxdWVzdBosLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZUZsYWdUcmlnZ2VyUmVzcG9uc2UiABJwChFVcGRhdGVGbGFnVHJpZ2dlchIrLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZsYWdUcmlnZ2VyUmVxdWVzdBosLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZsYWdUcmlnZ2VyUmVzcG9uc2UiABJwChFFbmFibGVGbGFnVHJpZ2dlchIrLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZsYWdUcmlnZ2VyUmVxdWVzdBosLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZsYWdUcmlnZ2VyUmVzcG9uc2UiABJzChJEaXNhYmxlRmxhZ1RyaWdnZXISLC5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmxhZ1RyaWdnZXJSZXF1ZXN0Gi0uYnVja2V0ZWVyLmZlYXR1cmUuRGlzYWJsZUZsYWdUcmlnZ2VyUmVzcG9uc2UiABJtChBSZXNldEZsYWdUcmlnZ2VyEiouYnVja2V0ZWVyLmZlYXR1cmUuUmVzZXRGbGFnVHJpZ2dlclJlcXVlc3QaKy5idWNrZXRlZXIuZmVhdHVyZS5SZXNldEZsYWdUcmlnZ2VyUmVzcG9uc2UiABJwChFEZWxldGVGbGFnVHJpZ2dlchIrLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZsYWdUcmlnZ2VyUmVxdWVzdBosLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZsYWdUcmlnZ2VyUmVzcG9uc2UiABJnCg5HZXRGbGFnVHJpZ2dlchIoLmJ1Y2tldGVlci5mZWF0dXJlLkdldEZsYWdUcmlnZ2VyUmVxdWVzdBopLmJ1Y2tldGVlci5mZWF0dXJlLkdldEZsYWdUcmlnZ2VyUmVzcG9uc2UiABJtChBMaXN0RmxhZ1RyaWdnZXJzEiouYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZsYWdUcmlnZ2Vyc1JlcXVlc3QaKy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmxhZ1RyaWdnZXJzUmVzcG9uc2UiABKUAQoSRmxhZ1RyaWdnZXJXZWJob29rEiwuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXJXZWJob29rUmVxdWVzdBotLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyV2ViaG9va1Jlc3BvbnNlIiGC0+STAhsiGS93ZWJob29rL3RyaWdnZXJzL3t0b2tlbn1CMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwqcAwoVcHJvdG8vcHVzaC9wdXNoLnByb3RvEg5idWNrZXRlZXIucHVzaCK6AgoEUHVzaBIOCgJpZBgBIAEoCVICaWQSEgoEdGFncxgDIAMoCVIEdGFncxIYCgdkZWxldGVkGAQgASgIUgdkZWxldGVkEhIKBG5hbWUYBSABKAlSBG5hbWUSHQoKY3JlYXRlZF9hdBgGIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYByABKANSCXVwZGF0ZWRBdBIuChNmY21fc2VydmljZV9hY2NvdW50GAggASgJUhFmY21TZXJ2aWNlQWNjb3VudBIaCghkaXNhYmxlZBgJIAEoCFIIZGlzYWJsZWQSJQoOZW52aXJvbm1lbnRfaWQYCiABKAlSDWVudmlyb25tZW50SWQSKQoQZW52aXJvbm1lbnRfbmFtZRgLIAEoCVIPZW52aXJvbm1lbnROYW1lSgQIAhADQi5aLGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9wdXNoYgZwcm90bzMK6gIKGHByb3RvL3B1c2gvY29tbWFuZC5wcm90bxIOYnVja2V0ZWVyLnB1c2gicQoRQ3JlYXRlUHVzaENvbW1hbmQSEgoEdGFncxgCIAMoCVIEdGFncxISCgRuYW1lGAMgASgJUgRuYW1lEi4KE2ZjbV9zZXJ2aWNlX2FjY291bnQYBCABKAxSEWZjbVNlcnZpY2VBY2NvdW50SgQIARACIigKEkFkZFB1c2hUYWdzQ29tbWFuZBISCgR0YWdzGAEgAygJUgR0YWdzIisKFURlbGV0ZVB1c2hUYWdzQ29tbWFuZBISCgR0YWdzGAEgAygJUgR0YWdzIhMKEURlbGV0ZVB1c2hDb21tYW5kIicKEVJlbmFtZVB1c2hDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWVCLlosZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL3B1c2hiBnByb3RvMwrJIQoYcHJvdG8vcHVzaC9zZXJ2aWNlLnByb3RvEg5idWNrZXRlZXIucHVzaBoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGhxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGh9nb29nbGUvYXBpL2ZpZWxkX2JlaGF2aW9yLnByb3RvGi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvGhVwcm90by9wdXNoL3B1c2gucHJvdG8aGHByb3RvL3B1c2gvY29tbWFuZC5wcm90byLZAQoRQ3JlYXRlUHVzaFJlcXVlc3QSPwoHY29tbWFuZBgCIAEoCzIhLmJ1Y2tldGVlci5wdXNoLkNyZWF0ZVB1c2hDb21tYW5kQgIYAVIHY29tbWFuZBISCgR0YWdzGAMgAygJUgR0YWdzEhIKBG5hbWUYBCABKAlSBG5hbWUSLgoTZmNtX3NlcnZpY2VfYWNjb3VudBgFIAEoDFIRZmNtU2VydmljZUFjY291bnQSJQoOZW52aXJvbm1lbnRfaWQYBiABKAlSDWVudmlyb25tZW50SWRKBAgBEAIiPgoSQ3JlYXRlUHVzaFJlc3BvbnNlEigKBHB1c2gYASABKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgRwdXNoIqEEChFMaXN0UHVzaGVzUmVxdWVzdBIbCglwYWdlX3NpemUYAiABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgDIAEoCVIGY3Vyc29yEkQKCG9yZGVyX2J5GAQgASgOMikuYnVja2V0ZWVyLnB1c2guTGlzdFB1c2hlc1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJZCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yMC5idWNrZXRlZXIucHVzaC5MaXN0UHVzaGVzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBiABKAlSDXNlYXJjaEtleXdvcmQSJQoOZW52aXJvbm1lbnRfaWQYByABKAlSDWVudmlyb25tZW50SWQSJwoPb3JnYW5pemF0aW9uX2lkGAggASgJUg5vcmdhbml6YXRpb25JZBI2CghkaXNhYmxlZBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGRpc2FibGVkIlwKB09yZGVyQnkSCwoHREVGQVVMVBAAEggKBE5BTUUQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADEg8KC0VOVklST05NRU5UEAQSCQoFU1RBVEUQBSIjCg5PcmRlckRpcmVjdGlvbhIHCgNBU0MQABIICgRERVNDEAFKBAgBEAIiewoSTGlzdFB1c2hlc1Jlc3BvbnNlEiwKBnB1c2hlcxgBIAMoCzIULmJ1Y2tldGVlci5wdXNoLlB1c2hSBnB1c2hlcxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKNAQoRRGVsZXRlUHVzaFJlcXVlc3QSDgoCaWQYAiABKAlSAmlkEjsKB2NvbW1hbmQYAyABKAsyIS5idWNrZXRlZXIucHVzaC5EZWxldGVQdXNoQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiIUChJEZWxldGVQdXNoUmVzcG9uc2Ui7gMKEVVwZGF0ZVB1c2hSZXF1ZXN0EhMKAmlkGAIgASgJQgPgQQJSAmlkElkKFWFkZF9wdXNoX3RhZ3NfY29tbWFuZBgDIAEoCzIiLmJ1Y2tldGVlci5wdXNoLkFkZFB1c2hUYWdzQ29tbWFuZEICGAFSEmFkZFB1c2hUYWdzQ29tbWFuZBJiChhkZWxldGVfcHVzaF90YWdzX2NvbW1hbmQYBCABKAsyJS5idWNrZXRlZXIucHVzaC5EZWxldGVQdXNoVGFnc0NvbW1hbmRCAhgBUhVkZWxldGVQdXNoVGFnc0NvbW1hbmQSVQoTcmVuYW1lX3B1c2hfY29tbWFuZBgFIAEoCzIhLmJ1Y2tldGVlci5wdXNoLlJlbmFtZVB1c2hDb21tYW5kQgIYAVIRcmVuYW1lUHVzaENvbW1hbmQSEgoEdGFncxgGIAMoCVIEdGFncxIwCgRuYW1lGAcgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEioKDmVudmlyb25tZW50X2lkGAggASgJQgPgQQJSDWVudmlyb25tZW50SWQSNgoIZGlzYWJsZWQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZEoECAEQAiI+ChJVcGRhdGVQdXNoUmVzcG9uc2USKAoEcHVzaBgBIAEoCzIULmJ1Y2tldGVlci5wdXNoLlB1c2hSBHB1c2giUQoOR2V0UHVzaFJlcXVlc3QSKgoOZW52aXJvbm1lbnRfaWQYASABKAlCA+BBAlINZW52aXJvbm1lbnRJZBITCgJpZBgCIAEoCUID4EECUgJpZCI7Cg9HZXRQdXNoUmVzcG9uc2USKAoEcHVzaBgBIAEoCzIULmJ1Y2tldGVlci5wdXNoLlB1c2hSBHB1c2gygBEKC1B1c2hTZXJ2aWNlEoQECgpMaXN0UHVzaGVzEiEuYnVja2V0ZWVyLnB1c2guTGlzdFB1c2hlc1JlcXVlc3QaIi5idWNrZXRlZXIucHVzaC5MaXN0UHVzaGVzUmVzcG9uc2UirgOSQZgDCgRwdXNoEgRMaXN0GgxMaXN0IHB1c2hlcy4qEHdlYi52MS5wdXNoLmxpc3RKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIMEgovdjEvcHVzaGVzEosECgpDcmVhdGVQdXNoEiEuYnVja2V0ZWVyLnB1c2guQ3JlYXRlUHVzaFJlcXVlc3QaIi5idWNrZXRlZXIucHVzaC5DcmVhdGVQdXNoUmVzcG9uc2UitQOSQZ4DCgRwdXNoEgZDcmVhdGUaDkNyZWF0ZSBhIHB1c2guKhJ3ZWIudjEucHVzaC5jcmVhdGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwINIggvdjEvcHVzaDoBKhKLBAoKVXBkYXRlUHVzaBIhLmJ1Y2tldGVlci5wdXNoLlVwZGF0ZVB1c2hSZXF1ZXN0GiIuYnVja2V0ZWVyLnB1c2guVXBkYXRlUHVzaFJlc3BvbnNlIrUDkkGeAwoEcHVzaBIGVXBkYXRlGg5VcGRhdGUgYSBwdXNoLioSd2ViLnYxLnB1c2gudXBkYXRlSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDTIIL3YxL3B1c2g6ASoS9gMKB0dldFB1c2gSHi5idWNrZXRlZXIucHVzaC5HZXRQdXNoUmVxdWVzdBofLmJ1Y2tldGVlci5wdXNoLkdldFB1c2hSZXNwb25zZSKpA5JBlQMKBHB1c2gSA0dldBoLR2V0IGEgcHVzaC4qD3dlYi52MS5wdXNoLmdldEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAgoSCC92MS9wdXNoElUKCkRlbGV0ZVB1c2gSIS5idWNrZXRlZXIucHVzaC5EZWxldGVQdXNoUmVxdWVzdBoiLmJ1Y2tldGVlci5wdXNoLkRlbGV0ZVB1c2hSZXNwb25zZSIAQi5aLGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9wdXNoYgZwcm90bzMK5wMKI3Byb3RvL2Vudmlyb25tZW50L2Vudmlyb25tZW50LnByb3RvEhVidWNrZXRlZXIuZW52aXJvbm1lbnQi6QIKDUVudmlyb25tZW50VjISDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAyABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEh0KCnByb2plY3RfaWQYBSABKAlSCXByb2plY3RJZBIaCghhcmNoaXZlZBgGIAEoCFIIYXJjaGl2ZWQSHQoKY3JlYXRlZF9hdBgHIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCCABKANSCXVwZGF0ZWRBdBInCg9vcmdhbml6YXRpb25faWQYCSABKAlSDm9yZ2FuaXphdGlvbklkEicKD3JlcXVpcmVfY29tbWVudBgKIAEoCFIOcmVxdWlyZUNvbW1lbnQSLAoSZmVhdHVyZV9mbGFnX2NvdW50GAsgASgFUhBmZWF0dXJlRmxhZ0NvdW50QjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCv0DCh9wcm90by9lbnZpcm9ubWVudC9wcm9qZWN0LnByb3RvEhVidWNrZXRlZXIuZW52aXJvbm1lbnQigwMKB1Byb2plY3QSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgDIAEoCFIIZGlzYWJsZWQSFAoFdHJpYWwYBCABKAhSBXRyaWFsEiMKDWNyZWF0b3JfZW1haWwYBSABKAlSDGNyZWF0b3JFbWFpbBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0EhIKBG5hbWUYCCABKAlSBG5hbWUSGQoIdXJsX2NvZGUYCSABKAlSB3VybENvZGUSJwoPb3JnYW5pemF0aW9uX2lkGAogASgJUg5vcmdhbml6YXRpb25JZBIrChFlbnZpcm9ubWVudF9jb3VudBgLIAEoBVIQZW52aXJvbm1lbnRDb3VudBIsChJmZWF0dXJlX2ZsYWdfY291bnQYDCABKAVSEGZlYXR1cmVGbGFnQ291bnRCNVozZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2Vudmlyb25tZW50YgZwcm90bzMKrwQKJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IrADCgxPcmdhbml6YXRpb24SDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAyABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEhoKCGRpc2FibGVkGAUgASgIUghkaXNhYmxlZBIaCghhcmNoaXZlZBgGIAEoCFIIYXJjaGl2ZWQSFAoFdHJpYWwYByABKAhSBXRyaWFsEh0KCmNyZWF0ZWRfYXQYCCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAkgASgDUgl1cGRhdGVkQXQSIQoMc3lzdGVtX2FkbWluGAogASgIUgtzeXN0ZW1BZG1pbhIjCg1wcm9qZWN0X2NvdW50GAsgASgFUgxwcm9qZWN0Q291bnQSKwoRZW52aXJvbm1lbnRfY291bnQYDCABKAVSEGVudmlyb25tZW50Q291bnQSHQoKdXNlcl9jb3VudBgNIAEoBVIJdXNlckNvdW50Eh8KC293bmVyX2VtYWlsGA4gASgJUgpvd25lckVtYWlsQjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCpADCiFwcm90by9hY2NvdW50L3NlYXJjaF9maWx0ZXIucHJvdG8SEWJ1Y2tldGVlci5hY2NvdW50IukBCgxTZWFyY2hGaWx0ZXISDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSFAoFcXVlcnkYAyABKAlSBXF1ZXJ5ElEKEmZpbHRlcl90YXJnZXRfdHlwZRgEIAEoDjIjLmJ1Y2tldGVlci5hY2NvdW50LkZpbHRlclRhcmdldFR5cGVSEGZpbHRlclRhcmdldFR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWQSJQoOZGVmYXVsdF9maWx0ZXIYBiABKAhSDWRlZmF1bHRGaWx0ZXIqMQoQRmlsdGVyVGFyZ2V0VHlwZRILCgdVTktOT1dOEAASEAoMRkVBVFVSRV9GTEFHEAFCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwrAEwobcHJvdG8vYWNjb3VudC9hY2NvdW50LnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBojcHJvdG8vZW52aXJvbm1lbnQvZW52aXJvbm1lbnQucHJvdG8aH3Byb3RvL2Vudmlyb25tZW50L3Byb2plY3QucHJvdG8aJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90bxohcHJvdG8vYWNjb3VudC9zZWFyY2hfZmlsdGVyLnByb3RvIqsCCgdBY2NvdW50Eg4KAmlkGAEgASgJUgJpZBIUCgVlbWFpbBgCIAEoCVIFZW1haWwSEgoEbmFtZRgDIAEoCVIEbmFtZRIzCgRyb2xlGAQgASgOMh8uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudC5Sb2xlUgRyb2xlEhoKCGRpc2FibGVkGAUgASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0EhgKB2RlbGV0ZWQYCCABKAhSB2RlbGV0ZWQiOQoEUm9sZRIKCgZWSUVXRVIQABIKCgZFRElUT1IQARIJCgVPV05FUhACEg4KClVOQVNTSUdORUQQYzoCGAEiqAgKCUFjY291bnRWMhIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEbmFtZRgCIAEoCVIEbmFtZRIoChBhdmF0YXJfaW1hZ2VfdXJsGAMgASgJUg5hdmF0YXJJbWFnZVVybBInCg9vcmdhbml6YXRpb25faWQYBCABKAlSDm9yZ2FuaXphdGlvbklkElsKEW9yZ2FuaXphdGlvbl9yb2xlGAUgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUhBvcmdhbml6YXRpb25Sb2xlElkKEWVudmlyb25tZW50X3JvbGVzGAYgAygLMiwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcxIaCghkaXNhYmxlZBgHIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgIIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCSABKANSCXVwZGF0ZWRBdBJGCg5zZWFyY2hfZmlsdGVycxgKIAMoCzIfLmJ1Y2tldGVlci5hY2NvdW50LlNlYXJjaEZpbHRlclINc2VhcmNoRmlsdGVycxIdCgpmaXJzdF9uYW1lGAsgASgJUglmaXJzdE5hbWUSGwoJbGFzdF9uYW1lGAwgASgJUghsYXN0TmFtZRIaCghsYW5ndWFnZRgNIAEoCVIIbGFuZ3VhZ2USGwoJbGFzdF9zZWVuGA4gASgDUghsYXN0U2VlbhIoChBhdmF0YXJfZmlsZV90eXBlGA8gASgJUg5hdmF0YXJGaWxlVHlwZRIhCgxhdmF0YXJfaW1hZ2UYECABKAxSC2F2YXRhckltYWdlEisKEWVudmlyb25tZW50X2NvdW50GBEgASgFUhBlbnZpcm9ubWVudENvdW50GtcBCgRSb2xlIlkKC0Vudmlyb25tZW50EhoKFkVudmlyb25tZW50X1VOQVNTSUdORUQQABIWChJFbnZpcm9ubWVudF9WSUVXRVIQARIWChJFbnZpcm9ubWVudF9FRElUT1IQAiJ0CgxPcmdhbml6YXRpb24SGwoXT3JnYW5pemF0aW9uX1VOQVNTSUdORUQQABIXChNPcmdhbml6YXRpb25fTUVNQkVSEAESFgoST3JnYW5pemF0aW9uX0FETUlOEAISFgoST3JnYW5pemF0aW9uX09XTkVSEAMaewoPRW52aXJvbm1lbnRSb2xlEiUKDmVudmlyb25tZW50X2lkGAEgASgJUg1lbnZpcm9ubWVudElkEkEKBHJvbGUYAiABKA4yLS5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5FbnZpcm9ubWVudFIEcm9sZSLqBgoOQ29uc29sZUFjY291bnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSHQoKYXZhdGFyX3VybBgDIAEoCVIJYXZhdGFyVXJsEiYKD2lzX3N5c3RlbV9hZG1pbhgEIAEoCFINaXNTeXN0ZW1BZG1pbhJHCgxvcmdhbml6YXRpb24YBSABKAsyIy5idWNrZXRlZXIuZW52aXJvbm1lbnQuT3JnYW5pemF0aW9uUgxvcmdhbml6YXRpb24SWwoRb3JnYW5pemF0aW9uX3JvbGUYBiABKA4yLi5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5Pcmdhbml6YXRpb25SEG9yZ2FuaXphdGlvblJvbGUSXgoRZW52aXJvbm1lbnRfcm9sZXMYByADKAsyMS5idWNrZXRlZXIuYWNjb3VudC5Db25zb2xlQWNjb3VudC5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSRgoOc2VhcmNoX2ZpbHRlcnMYCCADKAsyHy5idWNrZXRlZXIuYWNjb3VudC5TZWFyY2hGaWx0ZXJSDXNlYXJjaEZpbHRlcnMSHQoKZmlyc3RfbmFtZRgJIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgKIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYCyABKAlSCGxhbmd1YWdlEigKEGF2YXRhcl9maWxlX3R5cGUYDCABKAlSDmF2YXRhckZpbGVUeXBlEiEKDGF2YXRhcl9pbWFnZRgNIAEoDFILYXZhdGFySW1hZ2USGwoJbGFzdF9zZWVuGA4gASgDUghsYXN0U2VlbhrWAQoPRW52aXJvbm1lbnRSb2xlEkYKC2Vudmlyb25tZW50GAEgASgLMiQuYnVja2V0ZWVyLmVudmlyb25tZW50LkVudmlyb25tZW50VjJSC2Vudmlyb25tZW50EjgKB3Byb2plY3QYAiABKAsyHi5idWNrZXRlZXIuZW52aXJvbm1lbnQuUHJvamVjdFIHcHJvamVjdBJBCgRyb2xlGAMgASgOMi0uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuRW52aXJvbm1lbnRSBHJvbGVCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwrmBgobcHJvdG8vYWNjb3VudC9hcGlfa2V5LnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBojcHJvdG8vZW52aXJvbm1lbnQvZW52aXJvbm1lbnQucHJvdG8iuwMKBkFQSUtleRIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIyCgRyb2xlGAMgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUSGgoIZGlzYWJsZWQYBCABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHgoKbWFpbnRhaW5lchgHIAEoCVIKbWFpbnRhaW5lchIXCgdhcGlfa2V5GAggASgJUgZhcGlLZXkSIAoLZGVzY3JpcHRpb24YCSABKAlSC2Rlc2NyaXB0aW9uEikKEGVudmlyb25tZW50X25hbWUYCiABKAlSD2Vudmlyb25tZW50TmFtZSJ5CgRSb2xlEgsKB1VOS05PV04QABIOCgpTREtfQ0xJRU5UEAESDgoKU0RLX1NFUlZFUhACEhgKFFBVQkxJQ19BUElfUkVBRF9PTkxZEAMSFAoQUFVCTElDX0FQSV9XUklURRAEEhQKEFBVQkxJQ19BUElfQURNSU4QBSKVAgoRRW52aXJvbm1lbnRBUElLZXkSMgoHYXBpX2tleRgCIAEoCzIZLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleVIGYXBpS2V5EjEKFGVudmlyb25tZW50X2Rpc2FibGVkGAMgASgIUhNlbnZpcm9ubWVudERpc2FibGVkEiEKCnByb2plY3RfaWQYBCABKAlCAhgBUglwcm9qZWN0SWQSRgoLZW52aXJvbm1lbnQYBSABKAsyJC5idWNrZXRlZXIuZW52aXJvbm1lbnQuRW52aXJvbm1lbnRWMlILZW52aXJvbm1lbnQSKAoQcHJvamVjdF91cmxfY29kZRgGIAEoCVIOcHJvamVjdFVybENvZGVKBAgBEAJCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwrWEQobcHJvdG8vYWNjb3VudC9jb21tYW5kLnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBobcHJvdG8vYWNjb3VudC9hY2NvdW50LnByb3RvGhtwcm90by9hY2NvdW50L2FwaV9rZXkucHJvdG8aIXByb3RvL2FjY291bnQvc2VhcmNoX2ZpbHRlci5wcm90byL8AgoWQ3JlYXRlQWNjb3VudFYyQ29tbWFuZBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEbmFtZRgCIAEoCVIEbmFtZRIoChBhdmF0YXJfaW1hZ2VfdXJsGAMgASgJUg5hdmF0YXJJbWFnZVVybBJbChFvcmdhbml6YXRpb25fcm9sZRgEIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgFIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSHQoKZmlyc3RfbmFtZRgGIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgHIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYCCABKAlSCGxhbmd1YWdlIjAKGkNoYW5nZUFjY291bnRWMk5hbWVDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUiQAofQ2hhbmdlQWNjb3VudFYyRmlyc3ROYW1lQ29tbWFuZBIdCgpmaXJzdF9uYW1lGAEgASgJUglmaXJzdE5hbWUiPQoeQ2hhbmdlQWNjb3VudFYyTGFzdE5hbWVDb21tYW5kEhsKCWxhc3RfbmFtZRgBIAEoCVIIbGFzdE5hbWUiPAoeQ2hhbmdlQWNjb3VudFYyTGFuZ3VhZ2VDb21tYW5kEhoKCGxhbmd1YWdlGAEgASgJUghsYW5ndWFnZSJQCiRDaGFuZ2VBY2NvdW50VjJBdmF0YXJJbWFnZVVybENvbW1hbmQSKAoQYXZhdGFyX2ltYWdlX3VybBgBIAEoCVIOYXZhdGFySW1hZ2VVcmwiawocQ2hhbmdlQWNjb3VudFYyQXZhdGFyQ29tbWFuZBIhCgxhdmF0YXJfaW1hZ2UYASABKAxSC2F2YXRhckltYWdlEigKEGF2YXRhcl9maWxlX3R5cGUYAiABKAlSDmF2YXRhckZpbGVUeXBlIj0KHkNoYW5nZUFjY291bnRWMkxhc3RTZWVuQ29tbWFuZBIbCglsYXN0X3NlZW4YASABKANSCGxhc3RTZWVuImwKJkNoYW5nZUFjY291bnRWMk9yZ2FuaXphdGlvblJvbGVDb21tYW5kEkIKBHJvbGUYASABKA4yLi5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5Pcmdhbml6YXRpb25SBHJvbGUipQIKJkNoYW5nZUFjY291bnRWMkVudmlyb25tZW50Um9sZXNDb21tYW5kEkIKBXJvbGVzGAEgAygLMiwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLkVudmlyb25tZW50Um9sZVIFcm9sZXMSYgoKd3JpdGVfdHlwZRgCIAEoDjJDLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMkVudmlyb25tZW50Um9sZXNDb21tYW5kLldyaXRlVHlwZVIJd3JpdGVUeXBlIlMKCVdyaXRlVHlwZRIZChVXcml0ZVR5cGVfVU5TUEVDSUZJRUQQABIWChJXcml0ZVR5cGVfT1ZFUlJJREUQARITCg9Xcml0ZVR5cGVfUEFUQ0gQAiIYChZFbmFibGVBY2NvdW50VjJDb21tYW5kIhkKF0Rpc2FibGVBY2NvdW50VjJDb21tYW5kIhgKFkRlbGV0ZUFjY291bnRWMkNvbW1hbmQiXQoTQ3JlYXRlQVBJS2V5Q29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lEjIKBHJvbGUYAiABKA4yHi5idWNrZXRlZXIuYWNjb3VudC5BUElLZXkuUm9sZVIEcm9sZSItChdDaGFuZ2VBUElLZXlOYW1lQ29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lIhUKE0VuYWJsZUFQSUtleUNvbW1hbmQiFgoURGlzYWJsZUFQSUtleUNvbW1hbmQi5gEKGUNyZWF0ZVNlYXJjaEZpbHRlckNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZRIUCgVxdWVyeRgCIAEoCVIFcXVlcnkSUQoSZmlsdGVyX3RhcmdldF90eXBlGAMgASgOMiMuYnVja2V0ZWVyLmFjY291bnQuRmlsdGVyVGFyZ2V0VHlwZVIQZmlsdGVyVGFyZ2V0VHlwZRIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZBIlCg5kZWZhdWx0X2ZpbHRlchgFIAEoCFINZGVmYXVsdEZpbHRlciJDCh1DaGFuZ2VTZWFyY2hGaWx0ZXJOYW1lQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSJGCh5DaGFuZ2VTZWFyY2hGaWx0ZXJRdWVyeUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhQKBXF1ZXJ5GAIgASgJUgVxdWVyeSJZCiBDaGFuZ2VEZWZhdWx0U2VhcmNoRmlsdGVyQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSJQoOZGVmYXVsdF9maWx0ZXIYAiABKAhSDWRlZmF1bHRGaWx0ZXIiKwoZRGVsZXRlU2VhcmNoRmlsdGVyQ29tbWFuZBIOCgJpZBgBIAEoCVICaWRCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwqtvgEKG3Byb3RvL2FjY291bnQvc2VydmljZS5wcm90bxIRYnVja2V0ZWVyLmFjY291bnQaHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxofZ29vZ2xlL2FwaS9maWVsZF9iZWhhdmlvci5wcm90bxoucHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90bxobcHJvdG8vYWNjb3VudC9hY2NvdW50LnByb3RvGhtwcm90by9hY2NvdW50L2FwaV9rZXkucHJvdG8aG3Byb3RvL2FjY291bnQvY29tbWFuZC5wcm90bxokcHJvdG8vZW52aXJvbm1lbnQvb3JnYW5pemF0aW9uLnByb3RvIjcKDEdldE1lUmVxdWVzdBInCg9vcmdhbml6YXRpb25faWQYASABKAlSDm9yZ2FuaXphdGlvbklkIkwKDUdldE1lUmVzcG9uc2USOwoHYWNjb3VudBgBIAEoCzIhLmJ1Y2tldGVlci5hY2NvdW50LkNvbnNvbGVBY2NvdW50UgdhY2NvdW50IhsKGUdldE15T3JnYW5pemF0aW9uc1JlcXVlc3QiOAogR2V0TXlPcmdhbml6YXRpb25zQnlFbWFpbFJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsImcKGkdldE15T3JnYW5pemF0aW9uc1Jlc3BvbnNlEkkKDW9yZ2FuaXphdGlvbnMYASADKAsyIy5idWNrZXRlZXIuZW52aXJvbm1lbnQuT3JnYW5pemF0aW9uUg1vcmdhbml6YXRpb25zIu4DChZDcmVhdGVBY2NvdW50VjJSZXF1ZXN0EicKD29yZ2FuaXphdGlvbl9pZBgBIAEoCVIOb3JnYW5pemF0aW9uSWQSRwoHY29tbWFuZBgCIAEoCzIpLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZUFjY291bnRWMkNvbW1hbmRCAhgBUgdjb21tYW5kEhQKBWVtYWlsGAMgASgJUgVlbWFpbBISCgRuYW1lGAQgASgJUgRuYW1lEigKEGF2YXRhcl9pbWFnZV91cmwYBSABKAlSDmF2YXRhckltYWdlVXJsElsKEW9yZ2FuaXphdGlvbl9yb2xlGAYgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUhBvcmdhbml6YXRpb25Sb2xlElkKEWVudmlyb25tZW50X3JvbGVzGAcgAygLMiwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcxIdCgpmaXJzdF9uYW1lGAggASgJUglmaXJzdE5hbWUSGwoJbGFzdF9uYW1lGAkgASgJUghsYXN0TmFtZRIaCghsYW5ndWFnZRgKIAEoCVIIbGFuZ3VhZ2UiUQoXQ3JlYXRlQWNjb3VudFYyUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCKgAQoWRW5hYmxlQWNjb3VudFYyUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZBJHCgdjb21tYW5kGAMgASgLMikuYnVja2V0ZWVyLmFjY291bnQuRW5hYmxlQWNjb3VudFYyQ29tbWFuZEICGAFSB2NvbW1hbmQiUQoXRW5hYmxlQWNjb3VudFYyUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCKiAQoXRGlzYWJsZUFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSSAoHY29tbWFuZBgDIAEoCzIqLmJ1Y2tldGVlci5hY2NvdW50LkRpc2FibGVBY2NvdW50VjJDb21tYW5kQgIYAVIHY29tbWFuZCJSChhEaXNhYmxlQWNjb3VudFYyUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCKgAQoWRGVsZXRlQWNjb3VudFYyUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZBJHCgdjb21tYW5kGAMgASgLMikuYnVja2V0ZWVyLmFjY291bnQuRGVsZXRlQWNjb3VudFYyQ29tbWFuZEICGAFSB2NvbW1hbmQiGQoXRGVsZXRlQWNjb3VudFYyUmVzcG9uc2Ui5g8KFlVwZGF0ZUFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSYQoTY2hhbmdlX25hbWVfY29tbWFuZBgDIAEoCzItLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMk5hbWVDb21tYW5kQgIYAVIRY2hhbmdlTmFtZUNvbW1hbmQSdgoZY2hhbmdlX2F2YXRhcl91cmxfY29tbWFuZBgEIAEoCzI3LmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMkF2YXRhckltYWdlVXJsQ29tbWFuZEICGAFSFmNoYW5nZUF2YXRhclVybENvbW1hbmQShgEKIGNoYW5nZV9vcmdhbml6YXRpb25fcm9sZV9jb21tYW5kGAUgASgLMjkuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyT3JnYW5pemF0aW9uUm9sZUNvbW1hbmRCAhgBUh1jaGFuZ2VPcmdhbml6YXRpb25Sb2xlQ29tbWFuZBKGAQogY2hhbmdlX2Vudmlyb25tZW50X3JvbGVzX2NvbW1hbmQYBiABKAsyOS5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJFbnZpcm9ubWVudFJvbGVzQ29tbWFuZEICGAFSHWNoYW5nZUVudmlyb25tZW50Um9sZXNDb21tYW5kEnEKGWNoYW5nZV9maXJzdF9uYW1lX2NvbW1hbmQYByABKAsyMi5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJGaXJzdE5hbWVDb21tYW5kQgIYAVIWY2hhbmdlRmlyc3ROYW1lQ29tbWFuZBJuChhjaGFuZ2VfbGFzdF9uYW1lX2NvbW1hbmQYCCABKAsyMS5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJMYXN0TmFtZUNvbW1hbmRCAhgBUhVjaGFuZ2VMYXN0TmFtZUNvbW1hbmQSbQoXY2hhbmdlX2xhbmd1YWdlX2NvbW1hbmQYCSABKAsyMS5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJMYW5ndWFnZUNvbW1hbmRCAhgBUhVjaGFuZ2VMYW5ndWFnZUNvbW1hbmQSbgoYY2hhbmdlX2xhc3Rfc2Vlbl9jb21tYW5kGAogASgLMjEuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyTGFzdFNlZW5Db21tYW5kQgIYAVIVY2hhbmdlTGFzdFNlZW5Db21tYW5kEmcKFWNoYW5nZV9hdmF0YXJfY29tbWFuZBgLIAEoCzIvLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMkF2YXRhckNvbW1hbmRCAhgBUhNjaGFuZ2VBdmF0YXJDb21tYW5kEjAKBG5hbWUYDCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSRgoQYXZhdGFyX2ltYWdlX3VybBgNIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIOYXZhdGFySW1hZ2VVcmwSbAoRb3JnYW5pemF0aW9uX3JvbGUYDiABKAsyPy5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVBY2NvdW50VjJSZXF1ZXN0Lk9yZ2FuaXphdGlvblJvbGVWYWx1ZVIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgPIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSOwoKZmlyc3RfbmFtZRgQIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIJZmlyc3ROYW1lEjkKCWxhc3RfbmFtZRgRIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIIbGFzdE5hbWUSOAoIbGFuZ3VhZ2UYEiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSCGxhbmd1YWdlEjgKCWxhc3Rfc2VlbhgTIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlUghsYXN0U2VlbhJRCgZhdmF0YXIYFCABKAsyOS5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVBY2NvdW50VjJSZXF1ZXN0LkFjY291bnRWMkF2YXRhclIGYXZhdGFyEjYKCGRpc2FibGVkGBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQaXgoPQWNjb3VudFYyQXZhdGFyEiEKDGF2YXRhcl9pbWFnZRgBIAEoDFILYXZhdGFySW1hZ2USKAoQYXZhdGFyX2ZpbGVfdHlwZRgCIAEoCVIOYXZhdGFyRmlsZVR5cGUaWwoVT3JnYW5pemF0aW9uUm9sZVZhbHVlEkIKBHJvbGUYASABKA4yLi5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5Pcmdhbml6YXRpb25SBHJvbGUiUQoXVXBkYXRlQWNjb3VudFYyUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCJUChNHZXRBY2NvdW50VjJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkIk4KFEdldEFjY291bnRWMlJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQiYQoiR2V0QWNjb3VudFYyQnlFbnZpcm9ubWVudElEUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJQoOZW52aXJvbm1lbnRfaWQYAiABKAlSDWVudmlyb25tZW50SWQiXQojR2V0QWNjb3VudFYyQnlFbnZpcm9ubWVudElEUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCKLBgoVTGlzdEFjY291bnRzVjJSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISJwoPb3JnYW5pemF0aW9uX2lkGAMgASgJUg5vcmdhbml6YXRpb25JZBJLCghvcmRlcl9ieRgEIAEoDjIwLmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBY2NvdW50c1YyUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmAKD29yZGVyX2RpcmVjdGlvbhgFIAEoDjI3LmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBY2NvdW50c1YyUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBiABKAlSDXNlYXJjaEtleXdvcmQSNgoIZGlzYWJsZWQYByABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZBJIChFvcmdhbml6YXRpb25fcm9sZRgIIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhBvcmdhbml6YXRpb25Sb2xlEkMKDmVudmlyb25tZW50X2lkGAkgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUg1lbnZpcm9ubWVudElkEkYKEGVudmlyb25tZW50X3JvbGUYCiABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIPZW52aXJvbm1lbnRSb2xlIokBCgdPcmRlckJ5EgsKB0RFRkFVTFQQABIJCgVFTUFJTBABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSFQoRT1JHQU5JWkFUSU9OX1JPTEUQBBIVChFFTlZJUk9OTUVOVF9DT1VOVBAFEg0KCUxBU1RfU0VFThAGEgkKBVNUQVRFEAciIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABIosBChZMaXN0QWNjb3VudHNWMlJlc3BvbnNlEjgKCGFjY291bnRzGAEgAygLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUghhY2NvdW50cxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKSAgoTQ3JlYXRlQVBJS2V5UmVxdWVzdBJECgdjb21tYW5kGAEgASgLMiYuYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlQVBJS2V5Q29tbWFuZEICGAFSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWQSEgoEbmFtZRgEIAEoCVIEbmFtZRIyCgRyb2xlGAUgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUSHgoKbWFpbnRhaW5lchgGIAEoCVIKbWFpbnRhaW5lchIgCgtkZXNjcmlwdGlvbhgHIAEoCVILZGVzY3JpcHRpb25KBAgCEAMiSgoUQ3JlYXRlQVBJS2V5UmVzcG9uc2USMgoHYXBpX2tleRgBIAEoCzIZLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleVIGYXBpS2V5IpwBChdDaGFuZ2VBUElLZXlOYW1lUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSRAoHY29tbWFuZBgCIAEoCzIqLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFQSUtleU5hbWVDb21tYW5kUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhoKGENoYW5nZUFQSUtleU5hbWVSZXNwb25zZSKUAQoTRW5hYmxlQVBJS2V5UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQAoHY29tbWFuZBgCIAEoCzImLmJ1Y2tldGVlci5hY2NvdW50LkVuYWJsZUFQSUtleUNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFgoURW5hYmxlQVBJS2V5UmVzcG9uc2UilgEKFERpc2FibGVBUElLZXlSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJBCgdjb21tYW5kGAIgASgLMicuYnVja2V0ZWVyLmFjY291bnQuRGlzYWJsZUFQSUtleUNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRGlzYWJsZUFQSUtleVJlc3BvbnNlIk8KEEdldEFQSUtleVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIkcKEUdldEFQSUtleVJlc3BvbnNlEjIKB2FwaV9rZXkYASABKAsyGS5idWNrZXRlZXIuYWNjb3VudC5BUElLZXlSBmFwaUtleSLmBAoSTGlzdEFQSUtleXNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISSAoIb3JkZXJfYnkYBCABKA4yLS5idWNrZXRlZXIuYWNjb3VudC5MaXN0QVBJS2V5c1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJdCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNC5idWNrZXRlZXIuYWNjb3VudC5MaXN0QVBJS2V5c1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAYgASgJUg1zZWFyY2hLZXl3b3JkEjYKCGRpc2FibGVkGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQSKQoOZW52aXJvbm1lbnRfaWQYCCABKAlCAhgBUg1lbnZpcm9ubWVudElkEicKD2Vudmlyb25tZW50X2lkcxgJIAMoCVIOZW52aXJvbm1lbnRJZHMSLAoPb3JnYW5pemF0aW9uX2lkGAogASgJQgPgQQJSDm9yZ2FuaXphdGlvbklkImYKB09yZGVyQnkSCwoHREVGQVVMVBAAEggKBE5BTUUQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADEggKBFJPTEUQBBIPCgtFTlZJUk9OTUVOVBAFEgkKBVNUQVRFEAYiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIAxAEIoQBChNMaXN0QVBJS2V5c1Jlc3BvbnNlEjQKCGFwaV9rZXlzGAEgAygLMhkuYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5UgdhcGlLZXlzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50IjYKG0dldEVudmlyb25tZW50QVBJS2V5UmVxdWVzdBIXCgdhcGlfa2V5GAIgASgJUgZhcGlLZXkidAocR2V0RW52aXJvbm1lbnRBUElLZXlSZXNwb25zZRJUChNlbnZpcm9ubWVudF9hcGlfa2V5GAEgASgLMiQuYnVja2V0ZWVyLmFjY291bnQuRW52aXJvbm1lbnRBUElLZXlSEWVudmlyb25tZW50QXBpS2V5IskBChlDcmVhdGVTZWFyY2hGaWx0ZXJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkEkYKB2NvbW1hbmQYBCABKAsyLC5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVTZWFyY2hGaWx0ZXJDb21tYW5kUgdjb21tYW5kIhwKGkNyZWF0ZVNlYXJjaEZpbHRlclJlc3BvbnNlIsADChlVcGRhdGVTZWFyY2hGaWx0ZXJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkEmAKE2NoYW5nZV9uYW1lX2NvbW1hbmQYBCABKAsyMC5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VTZWFyY2hGaWx0ZXJOYW1lQ29tbWFuZFIRY2hhbmdlTmFtZUNvbW1hbmQSYwoUY2hhbmdlX3F1ZXJ5X2NvbW1hbmQYBSABKAsyMS5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VTZWFyY2hGaWx0ZXJRdWVyeUNvbW1hbmRSEmNoYW5nZVF1ZXJ5Q29tbWFuZBJ2Ch1jaGFuZ2VfZGVmYXVsdF9maWx0ZXJfY29tbWFuZBgGIAEoCzIzLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZURlZmF1bHRTZWFyY2hGaWx0ZXJDb21tYW5kUhpjaGFuZ2VEZWZhdWx0RmlsdGVyQ29tbWFuZCIcChpVcGRhdGVTZWFyY2hGaWx0ZXJSZXNwb25zZSLJAQoZRGVsZXRlU2VhcmNoRmlsdGVyUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZBJGCgdjb21tYW5kGAQgASgLMiwuYnVja2V0ZWVyLmFjY291bnQuRGVsZXRlU2VhcmNoRmlsdGVyQ29tbWFuZFIHY29tbWFuZCIcChpEZWxldGVTZWFyY2hGaWx0ZXJSZXNwb25zZSLoAgoTVXBkYXRlQVBJS2V5UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSJQoOZW52aXJvbm1lbnRfaWQYAiABKAlSDWVudmlyb25tZW50SWQSMAoEbmFtZRgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRI+CgtkZXNjcmlwdGlvbhgEIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVILZGVzY3JpcHRpb24SMgoEcm9sZRgFIAEoDjIeLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleS5Sb2xlUgRyb2xlEjYKCGRpc2FibGVkGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQSPAoKbWFpbnRhaW5lchgHIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIKbWFpbnRhaW5lciIWChRVcGRhdGVBUElLZXlSZXNwb25zZTLOegoOQWNjb3VudFNlcnZpY2USngQKBUdldE1lEh8uYnVja2V0ZWVyLmFjY291bnQuR2V0TWVSZXF1ZXN0GiAuYnVja2V0ZWVyLmFjY291bnQuR2V0TWVSZXNwb25zZSLRA5JBswMKB0FjY291bnQSBkdldCBNZRodR2V0IHRoZSB1c2VyIGNvbnNvbGUgYWNjb3VudC4qFXdlYi52MS5hY2NvdW50LmdldF9tZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAhQSEi92MS9hY2NvdW50L2dldF9tZRL4BAoSR2V0TXlPcmdhbml6YXRpb25zEiwuYnVja2V0ZWVyLmFjY291bnQuR2V0TXlPcmdhbml6YXRpb25zUmVxdWVzdBotLmJ1Y2tldGVlci5hY2NvdW50LkdldE15T3JnYW5pemF0aW9uc1Jlc3BvbnNlIoQEkkHcAwoHQWNjb3VudBIUR2V0IE15IE9yZ2FuaXphdGlvbnMaLkdldCBhbGwgdGhlIG9yZ2FuaXphdGlvbnMgZm9yIGEgc3BlY2lmaWMgdXNlci4qH3dlYi52MS5hY2NvdW50Lm15X29yZ2FuaXphdGlvbnNKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIeEhwvdjEvYWNjb3VudC9teV9vcmdhbml6YXRpb25zEpYFChlHZXRNeU9yZ2FuaXphdGlvbnNCeUVtYWlsEjMuYnVja2V0ZWVyLmFjY291bnQuR2V0TXlPcmdhbml6YXRpb25zQnlFbWFpbFJlcXVlc3QaLS5idWNrZXRlZXIuYWNjb3VudC5HZXRNeU9yZ2FuaXphdGlvbnNSZXNwb25zZSKUBJJB4wMKB0FjY291bnQSHUdldCBNeSBPcmdhbml6YXRpb25zIEJ5IEVtYWlsGiNHZXQgYWxsIHRoZSBvcmdhbml6YXRpb25zIGJ5IGVtYWlsLiood2ViLnYxLmFjY291bnQubXlfb3JnYW5pemF0aW9uc19ieV9lbWFpbEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAicSJS92MS9hY2NvdW50L215X29yZ2FuaXphdGlvbnNfYnlfZW1haWwSugYKD0NyZWF0ZUFjY291bnRWMhIpLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZUFjY291bnRWMlJlcXVlc3QaKi5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVBY2NvdW50VjJSZXNwb25zZSLPBZJBpgUKB0FjY291bnQSBkNyZWF0ZRpcQ3JlYXRlIGFuIGFjY291bnQgdG8gaGF2ZSBhY2Nlc3MgdG8gdGhlIGNvbnNvbGUuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHXdlYi52MS5hY2NvdW50LmNyZWF0ZV9hY2NvdW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh8iGi92MS9hY2NvdW50L2NyZWF0ZV9hY2NvdW50OgEqEs4DCg9FbmFibGVBY2NvdW50VjISKS5idWNrZXRlZXIuYWNjb3VudC5FbmFibGVBY2NvdW50VjJSZXF1ZXN0GiouYnVja2V0ZWVyLmFjY291bnQuRW5hYmxlQWNjb3VudFYyUmVzcG9uc2Ui4wKSQboCCgdBY2NvdW50EgZFbmFibGUaXEVuYWJsZSBhbiBhY2NvdW50IHRvIGhhdmUgYWNjZXNzIHRvIHRoZSBjb25zb2xlLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh13ZWIudjEuYWNjb3VudC5lbmFibGVfYWNjb3VudEqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh8iGi92MS9hY2NvdW50L2VuYWJsZV9hY2NvdW50OgEqEsIGChBEaXNhYmxlQWNjb3VudFYyEiouYnVja2V0ZWVyLmFjY291bnQuRGlzYWJsZUFjY291bnRWMlJlcXVlc3QaKy5idWNrZXRlZXIuYWNjb3VudC5EaXNhYmxlQWNjb3VudFYyUmVzcG9uc2Ui1AWSQaoFCgdBY2NvdW50EgdEaXNhYmxlGl5EaXNhYmxlIGFuIGFjY291bnQgdG8gYmxvY2sgYWNjZXNzIHRvIHRoZSBjb25zb2xlLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh53ZWIudjEuYWNjb3VudC5kaXNhYmxlX2FjY291bnRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCICIbL3YxL2FjY291bnQvZGlzYWJsZV9hY2NvdW50OgEqEpwGCg9VcGRhdGVBY2NvdW50VjISKS5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVBY2NvdW50VjJSZXF1ZXN0GiouYnVja2V0ZWVyLmFjY291bnQuVXBkYXRlQWNjb3VudFYyUmVzcG9uc2UisQWSQYgFCgdBY2NvdW50EgZVcGRhdGUaPlVwZGF0ZSBhbiBhY2NvdW50LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh13ZWIudjEuYWNjb3VudC51cGRhdGVfYWNjb3VudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIfIhovdjEvYWNjb3VudC91cGRhdGVfYWNjb3VudDoBKhKcBgoPRGVsZXRlQWNjb3VudFYyEikuYnVja2V0ZWVyLmFjY291bnQuRGVsZXRlQWNjb3VudFYyUmVxdWVzdBoqLmJ1Y2tldGVlci5hY2NvdW50LkRlbGV0ZUFjY291bnRWMlJlc3BvbnNlIrEFkkGIBQoHQWNjb3VudBIGRGVsZXRlGj5EZWxldGUgYW4gYWNjb3VudC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLiodd2ViLnYxLmFjY291bnQuZGVsZXRlX2FjY291bnRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHyIaL3YxL2FjY291bnQvZGVsZXRlX2FjY291bnQ6ASoSrAQKDEdldEFjY291bnRWMhImLmJ1Y2tldGVlci5hY2NvdW50LkdldEFjY291bnRWMlJlcXVlc3QaJy5idWNrZXRlZXIuYWNjb3VudC5HZXRBY2NvdW50VjJSZXNwb25zZSLKA5JBpwMKB0FjY291bnQSA0dldBoPR2V0IGFuIGFjY291bnQuKhp3ZWIudjEuYWNjb3VudC5nZXRfYWNjb3VudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAhkSFy92MS9hY2NvdW50L2dldF9hY2NvdW50Ep0FChtHZXRBY2NvdW50VjJCeUVudmlyb25tZW50SUQSNS5idWNrZXRlZXIuYWNjb3VudC5HZXRBY2NvdW50VjJCeUVudmlyb25tZW50SURSZXF1ZXN0GjYuYnVja2V0ZWVyLmFjY291bnQuR2V0QWNjb3VudFYyQnlFbnZpcm9ubWVudElEUmVzcG9uc2UijgSSQdwDCgdBY2NvdW50EhpHZXQgQWNjb3VudCBCeSBFbnZpcm9ubWVudBoeR2V0IGFuIGFjY291bnQgYnkgZW52aXJvbm1lbnQuKil3ZWIudjEuYWNjb3VudC5nZXRfYWNjb3VudF9ieV9lbnZpcm9ubWVudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAigSJi92MS9hY2NvdW50L2dldF9hY2NvdW50X2J5X2Vudmlyb25tZW50ErYECg5MaXN0QWNjb3VudHNWMhIoLmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBY2NvdW50c1YyUmVxdWVzdBopLmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBY2NvdW50c1YyUmVzcG9uc2UizgOSQakDCgdBY2NvdW50EgRMaXN0Gg5MaXN0IGFjY291bnRzLiocd2ViLnYxLmFjY291bnQubGlzdF9hY2NvdW50c0q0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAhsSGS92MS9hY2NvdW50L2xpc3RfYWNjb3VudHMSsAYKDENyZWF0ZUFQSUtleRImLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZUFQSUtleVJlcXVlc3QaJy5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVBUElLZXlSZXNwb25zZSLOBZJBpQUKB0FQSSBLZXkSBkNyZWF0ZRpbQ3JlYXRlIGFuIEFQSSBrZXkgdG8gYmUgdXNlZCBvbiB0aGUgY2xpZW50IFNESy4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLiodd2ViLnYxLmFjY291bnQuY3JlYXRlX2FwaV9rZXlKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHyIaL3YxL2FjY291bnQvY3JlYXRlX2FwaV9rZXk6ASoSvAYKEENoYW5nZUFQSUtleU5hbWUSKi5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBUElLZXlOYW1lUmVxdWVzdBorLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFQSUtleU5hbWVSZXNwb25zZSLOBZJBoAUKB0FQSSBLZXkSE0NoYW5nZSBBUEkgS2V5IE5hbWUaRENoYW5nZSB0aGUgQVBJIEtleSBOYW1lLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKiJ3ZWIudjEuYWNjb3VudC5jaGFuZ2VfYXBpX2tleV9uYW1lSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiQiHy92MS9hY2NvdW50L2NoYW5nZV9hcGlfa2V5X25hbWU6ASoSkwYKDEVuYWJsZUFQSUtleRImLmJ1Y2tldGVlci5hY2NvdW50LkVuYWJsZUFQSUtleVJlcXVlc3QaJy5idWNrZXRlZXIuYWNjb3VudC5FbmFibGVBUElLZXlSZXNwb25zZSKxBZJBiAUKB0FQSSBLZXkSBkVuYWJsZRo+RW5hYmxlIGFuIEFQSSBLZXkuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHXdlYi52MS5hY2NvdW50LmVuYWJsZV9hcGlfa2V5SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh8iGi92MS9hY2NvdW50L2VuYWJsZV9hcGlfa2V5OgEqEpoGCg1EaXNhYmxlQVBJS2V5EicuYnVja2V0ZWVyLmFjY291bnQuRGlzYWJsZUFQSUtleVJlcXVlc3QaKC5idWNrZXRlZXIuYWNjb3VudC5EaXNhYmxlQVBJS2V5UmVzcG9uc2UitQWSQYsFCgdBUEkgS2V5EgdEaXNhYmxlGj9EaXNhYmxlIGFuIEFQSSBLZXkuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHndlYi52MS5hY2NvdW50LmRpc2FibGVfYXBpX2tleUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIgIhsvdjEvYWNjb3VudC9kaXNhYmxlX2FwaV9rZXk6ASoSowQKCUdldEFQSUtleRIjLmJ1Y2tldGVlci5hY2NvdW50LkdldEFQSUtleVJlcXVlc3QaJC5idWNrZXRlZXIuYWNjb3VudC5HZXRBUElLZXlSZXNwb25zZSLKA5JBpwMKB0FQSSBLZXkSA0dldBoPR2V0IGFuIEFQSSBLZXkuKhp3ZWIudjEuYWNjb3VudC5nZXRfYXBpX2tleUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAhkSFy92MS9hY2NvdW50L2dldF9hcGlfa2V5Eq0ECgtMaXN0QVBJS2V5cxIlLmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBUElLZXlzUmVxdWVzdBomLmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBUElLZXlzUmVzcG9uc2UizgOSQakDCgdBUEkgS2V5EgRMaXN0Gg5MaXN0IEFQSSBLZXlzLiocd2ViLnYxLmFjY291bnQubGlzdF9hcGlfa2V5c0q0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAhsSGS92MS9hY2NvdW50L2xpc3RfYXBpX2tleXMS/AQKFEdldEVudmlyb25tZW50QVBJS2V5Ei4uYnVja2V0ZWVyLmFjY291bnQuR2V0RW52aXJvbm1lbnRBUElLZXlSZXF1ZXN0Gi8uYnVja2V0ZWVyLmFjY291bnQuR2V0RW52aXJvbm1lbnRBUElLZXlSZXNwb25zZSKCBJJB0wMKB0FQSSBLZXkSF0dldCBFbnZpcm9ubWVudCBBUEkgS2V5GhtHZXQgYW4gZW52aXJvbm1lbnQgQVBJIEtleS4qJndlYi52MS5hY2NvdW50LmdldF9lbnZpcm9ubWVudF9hcGlfa2V5SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCJRIjL3YxL2FjY291bnQvZ2V0X2Vudmlyb25tZW50X2FwaV9rZXkSxQYKEkNyZWF0ZVNlYXJjaEZpbHRlchIsLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZVNlYXJjaEZpbHRlclJlcXVlc3QaLS5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVTZWFyY2hGaWx0ZXJSZXNwb25zZSLRBZJBogUKB0FjY291bnQSFENyZWF0ZSBTZWFyY2ggRmlsdGVyGkRDcmVhdGUgYSBzZWFyY2ggZmlsdGVyLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgVklFV0VSYCByb2xlLiojd2ViLnYxLmFjY291bnQuY3JlYXRlX3NlYXJjaF9maWx0ZXJKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCJSIgL3YxL2FjY291bnQvY3JlYXRlX3NlYXJjaF9maWx0ZXI6ASoSxQYKElVwZGF0ZVNlYXJjaEZpbHRlchIsLmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZVNlYXJjaEZpbHRlclJlcXVlc3QaLS5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVTZWFyY2hGaWx0ZXJSZXNwb25zZSLRBZJBogUKB0FjY291bnQSFFVwZGF0ZSBTZWFyY2ggRmlsdGVyGkRVcGRhdGUgYSBzZWFyY2ggZmlsdGVyLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgVklFV0VSYCByb2xlLiojd2ViLnYxLmFjY291bnQudXBkYXRlX3NlYXJjaF9maWx0ZXJKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCJSIgL3YxL2FjY291bnQvdXBkYXRlX3NlYXJjaF9maWx0ZXI6ASoSxQYKEkRlbGV0ZVNlYXJjaEZpbHRlchIsLmJ1Y2tldGVlci5hY2NvdW50LkRlbGV0ZVNlYXJjaEZpbHRlclJlcXVlc3QaLS5idWNrZXRlZXIuYWNjb3VudC5EZWxldGVTZWFyY2hGaWx0ZXJSZXNwb25zZSLRBZJBogUKB0FjY291bnQSFERlbGV0ZSBTZWFyY2ggRmlsdGVyGkREZWxldGUgYSBzZWFyY2ggZmlsdGVyLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgVklFV0VSYCByb2xlLiojd2ViLnYxLmFjY291bnQuZGVsZXRlX3NlYXJjaF9maWx0ZXJKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCJSIgL3YxL2FjY291bnQvZGVsZXRlX3NlYXJjaF9maWx0ZXI6ASoSmwYKDFVwZGF0ZUFQSUtleRImLmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFQSUtleVJlcXVlc3QaJy5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVBUElLZXlSZXNwb25zZSK5BZJBkAUKB0FQSSBLZXkSDlVwZGF0ZSBBUEkgS2V5Gj5VcGRhdGUgYW4gQVBJIEtleS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLiodd2ViLnYxLmFjY291bnQudXBkYXRlX2FwaV9rZXlKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHzIaL3YxL2FjY291bnQvdXBkYXRlX2FwaV9rZXk6ASpCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwr7AQoeZ29vZ2xlL3Byb3RvYnVmL2R1cmF0aW9uLnByb3RvEg9nb29nbGUucHJvdG9idWYiOgoIRHVyYXRpb24SGAoHc2Vjb25kcxgBIAEoA1IHc2Vjb25kcxIUCgVuYW5vcxgCIAEoBVIFbmFub3NCgwEKE2NvbS5nb29nbGUucHJvdG9idWZCDUR1cmF0aW9uUHJvdG9QAVoxZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vZHVyYXRpb25wYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCsY0Ch5wcm90by9ldmVudC9jbGllbnQvZXZlbnQucHJvdG8SFmJ1Y2tldGVlci5ldmVudC5jbGllbnQaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi9kdXJhdGlvbi5wcm90bxoecHJvdG8vZmVhdHVyZS9ldmFsdWF0aW9uLnByb3RvGhpwcm90by9mZWF0dXJlL3JlYXNvbi5wcm90bxoVcHJvdG8vdXNlci91c2VyLnByb3RvInAKBUV2ZW50Eg4KAmlkGAEgASgJUgJpZBIqCgVldmVudBgCIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSBWV2ZW50EiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIpIECg9FdmFsdWF0aW9uRXZlbnQSHAoJdGltZXN0YW1wGAEgASgDUgl0aW1lc3RhbXASHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEicKD2ZlYXR1cmVfdmVyc2lvbhgDIAEoBVIOZmVhdHVyZVZlcnNpb24SFwoHdXNlcl9pZBgEIAEoCVIGdXNlcklkEiEKDHZhcmlhdGlvbl9pZBgFIAEoCVILdmFyaWF0aW9uSWQSKAoEdXNlchgGIAEoCzIULmJ1Y2tldGVlci51c2VyLlVzZXJSBHVzZXISMQoGcmVhc29uGAcgASgLMhkuYnVja2V0ZWVyLmZlYXR1cmUuUmVhc29uUgZyZWFzb24SEAoDdGFnGAggASgJUgN0YWcSPQoJc291cmNlX2lkGAkgASgOMiAuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5Tb3VyY2VJZFIIc291cmNlSWQSHwoLc2RrX3ZlcnNpb24YCiABKAlSCnNka1ZlcnNpb24SUQoIbWV0YWRhdGEYCyADKAsyNS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkV2YWx1YXRpb25FdmVudC5NZXRhZGF0YUVudHJ5UghtZXRhZGF0YRo7Cg1NZXRhZGF0YUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi3AMKCUdvYWxFdmVudBIcCgl0aW1lc3RhbXAYASABKANSCXRpbWVzdGFtcBIXCgdnb2FsX2lkGAIgASgJUgZnb2FsSWQSFwoHdXNlcl9pZBgDIAEoCVIGdXNlcklkEhQKBXZhbHVlGAQgASgBUgV2YWx1ZRIoCgR1c2VyGAUgASgLMhQuYnVja2V0ZWVyLnVzZXIuVXNlclIEdXNlchJDCgtldmFsdWF0aW9ucxgGIAMoCzIdLmJ1Y2tldGVlci5mZWF0dXJlLkV2YWx1YXRpb25CAhgBUgtldmFsdWF0aW9ucxIQCgN0YWcYByABKAlSA3RhZxI9Cglzb3VyY2VfaWQYCCABKA4yIC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNvdXJjZUlkUghzb3VyY2VJZBIfCgtzZGtfdmVyc2lvbhgJIAEoCVIKc2RrVmVyc2lvbhJLCghtZXRhZGF0YRgKIAMoCzIvLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuR29hbEV2ZW50Lk1ldGFkYXRhRW50cnlSCG1ldGFkYXRhGjsKDU1ldGFkYXRhRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLFAgoMTWV0cmljc0V2ZW50EhwKCXRpbWVzdGFtcBgBIAEoA1IJdGltZXN0YW1wEioKBWV2ZW50GAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIFZXZlbnQSPQoJc291cmNlX2lkGAMgASgOMiAuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5Tb3VyY2VJZFIIc291cmNlSWQSHwoLc2RrX3ZlcnNpb24YBCABKAlSCnNka1ZlcnNpb24STgoIbWV0YWRhdGEYBSADKAsyMi5idWNrZXRlZXIuZXZlbnQuY2xpZW50Lk1ldHJpY3NFdmVudC5NZXRhZGF0YUVudHJ5UghtZXRhZGF0YRo7Cg1NZXRhZGF0YUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi9gEKIEdldEV2YWx1YXRpb25MYXRlbmN5TWV0cmljc0V2ZW50ElwKBmxhYmVscxgBIAMoCzJELmJ1Y2tldGVlci5ldmVudC5jbGllbnQuR2V0RXZhbHVhdGlvbkxhdGVuY3lNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxI1CghkdXJhdGlvbhgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblIIZHVyYXRpb24aOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4AToCGAEi1gEKHUdldEV2YWx1YXRpb25TaXplTWV0cmljc0V2ZW50ElkKBmxhYmVscxgBIAMoCzJBLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuR2V0RXZhbHVhdGlvblNpemVNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxIbCglzaXplX2J5dGUYAiABKAVSCHNpemVCeXRlGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAE6AhgBIrkCChNMYXRlbmN5TWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkEk8KBmxhYmVscxgCIAMoCzI3LmJ1Y2tldGVlci5ldmVudC5jbGllbnQuTGF0ZW5jeU1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzEjkKCGR1cmF0aW9uGAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQgIYAVIIZHVyYXRpb24SJQoObGF0ZW5jeV9zZWNvbmQYBCABKAFSDWxhdGVuY3lTZWNvbmQaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLuAQoQU2l6ZU1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJMCgZsYWJlbHMYAiADKAsyNC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNpemVNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxIbCglzaXplX2J5dGUYAyABKAVSCHNpemVCeXRlGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEiNQodVGltZW91dEVycm9yQ291bnRNZXRyaWNzRXZlbnQSEAoDdGFnGAEgASgJUgN0YWc6AhgBIjYKHkludGVybmFsRXJyb3JDb3VudE1ldHJpY3NFdmVudBIQCgN0YWcYASABKAlSA3RhZzoCGAEi8QEKIFJlZGlyZWN0aW9uUmVxdWVzdEV4Y2VwdGlvbkV2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkElwKBmxhYmVscxgCIAMoCzJELmJ1Y2tldGVlci5ldmVudC5jbGllbnQuUmVkaXJlY3Rpb25SZXF1ZXN0RXhjZXB0aW9uRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIucBChtCYWRSZXF1ZXN0RXJyb3JNZXRyaWNzRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSVwoGbGFiZWxzGAIgAygLMj8uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5CYWRSZXF1ZXN0RXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIusBCh1VbmF1dGhvcml6ZWRFcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJZCgZsYWJlbHMYAiADKAsyQS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlVuYXV0aG9yaXplZEVycm9yTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLlAQoaRm9yYmlkZGVuRXJyb3JNZXRyaWNzRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSVgoGbGFiZWxzGAIgAygLMj4uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5Gb3JiaWRkZW5FcnJvck1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi4wEKGU5vdEZvdW5kRXJyb3JNZXRyaWNzRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSVQoGbGFiZWxzGAIgAygLMj0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5Ob3RGb3VuZEVycm9yTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLrAQodUGF5bG9hZFRvb0xhcmdlRXhjZXB0aW9uRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSWQoGbGFiZWxzGAIgAygLMkEuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5QYXlsb2FkVG9vTGFyZ2VFeGNlcHRpb25FdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi+QEKJENsaWVudENsb3NlZFJlcXVlc3RFcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJgCgZsYWJlbHMYAiADKAsySC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkNsaWVudENsb3NlZFJlcXVlc3RFcnJvck1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi7wEKH0ludGVybmFsU2VydmVyRXJyb3JNZXRyaWNzRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSWwoGbGFiZWxzGAIgAygLMkMuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5JbnRlcm5hbFNlcnZlckVycm9yTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASL3AQojU2VydmljZVVuYXZhaWxhYmxlRXJyb3JNZXRyaWNzRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSXwoGbGFiZWxzGAIgAygLMkcuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5TZXJ2aWNlVW5hdmFpbGFibGVFcnJvck1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi4QEKGFRpbWVvdXRFcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJUCgZsYWJlbHMYAiADKAsyPC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlRpbWVvdXRFcnJvck1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi4wEKGUludGVybmFsRXJyb3JNZXRyaWNzRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSVQoGbGFiZWxzGAIgAygLMj0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5JbnRlcm5hbEVycm9yTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLhAQoYTmV0d29ya0Vycm9yTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkElQKBmxhYmVscxgCIAMoCzI8LmJ1Y2tldGVlci5ldmVudC5jbGllbnQuTmV0d29ya0Vycm9yTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLpAQocSW50ZXJuYWxTZGtFcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJYCgZsYWJlbHMYAiADKAsyQC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkludGVybmFsU2RrRXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIuEBChhVbmtub3duRXJyb3JNZXRyaWNzRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSVAoGbGFiZWxzGAIgAygLMjwuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5Vbmtub3duRXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIsUBCghPcHNFdmVudBIcCgl0aW1lc3RhbXAYASABKANSCXRpbWVzdGFtcBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSJwoPZmVhdHVyZV92ZXJzaW9uGAMgASgFUg5mZWF0dXJlVmVyc2lvbhIhCgx2YXJpYXRpb25faWQYBCABKAlSC3ZhcmlhdGlvbklkEhcKB2dvYWxfaWQYBSABKAlSBmdvYWxJZBIXCgd1c2VyX2lkGAYgASgJUgZ1c2VySWQiXAoNVXNlckdvYWxFdmVudBIcCgl0aW1lc3RhbXAYASABKANSCXRpbWVzdGFtcBIXCgdnb2FsX2lkGAIgASgJUgZnb2FsSWQSFAoFdmFsdWUYAyABKAFSBXZhbHVlKnAKCFNvdXJjZUlkEgsKB1VOS05PV04QABILCgdBTkRST0lEEAESBwoDSU9TEAISCwoDV0VCEAMaAggBEg0KCUdPX1NFUlZFUhAFEg8KC05PREVfU0VSVkVSEAYSDgoKSkFWQVNDUklQVBAHIgQIBBAEKpsBCgVBcGlJZBIPCgtVTktOT1dOX0FQSRAAEhIKDkdFVF9FVkFMVUFUSU9OEAESEwoPR0VUX0VWQUxVQVRJT05TEAISEwoPUkVHSVNURVJfRVZFTlRTEAMSFQoRR0VUX0ZFQVRVUkVfRkxBR1MQBBIVChFHRVRfU0VHTUVOVF9VU0VSUxAFEhUKEVNES19HRVRfVkFSSUFUSU9OEGRCNlo0Z2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2V2ZW50L2NsaWVudGIGcHJvdG8zCtOBAQobcHJvdG8vZ2F0ZXdheS9zZXJ2aWNlLnByb3RvEhFidWNrZXRlZXIuZ2F0ZXdheRocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvGhVwcm90by91c2VyL3VzZXIucHJvdG8aHnByb3RvL2ZlYXR1cmUvZXZhbHVhdGlvbi5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvGhtwcm90by9mZWF0dXJlL3NlcnZpY2UucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGhpwcm90by9mZWF0dXJlL3RhcmdldC5wcm90bxobcHJvdG8vZmVhdHVyZS9zZWdtZW50LnByb3RvGhVwcm90by9wdXNoL3B1c2gucHJvdG8aGHByb3RvL3B1c2gvc2VydmljZS5wcm90bxobcHJvdG8vYWNjb3VudC9zZXJ2aWNlLnByb3RvGhtwcm90by9hY2NvdW50L2FjY291bnQucHJvdG8aHnByb3RvL2V2ZW50L2NsaWVudC9ldmVudC5wcm90byINCgtQaW5nUmVxdWVzdCIiCgxQaW5nUmVzcG9uc2USEgoEdGltZRgBIAEoA1IEdGltZSLXAQoWR2V0RmVhdHVyZUZsYWdzUmVxdWVzdBIQCgN0YWcYASABKAlSA3RhZxIoChBmZWF0dXJlX2ZsYWdzX2lkGAIgASgJUg5mZWF0dXJlRmxhZ3NJZBIhCgxyZXF1ZXN0ZWRfYXQYAyABKANSC3JlcXVlc3RlZEF0Ej0KCXNvdXJjZV9pZBgEIAEoDjIgLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuU291cmNlSWRSCHNvdXJjZUlkEh8KC3Nka192ZXJzaW9uGAUgASgJUgpzZGtWZXJzaW9uIvwBChdHZXRGZWF0dXJlRmxhZ3NSZXNwb25zZRIoChBmZWF0dXJlX2ZsYWdzX2lkGAEgASgJUg5mZWF0dXJlRmxhZ3NJZBI2CghmZWF0dXJlcxgCIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzEjkKGWFyY2hpdmVkX2ZlYXR1cmVfZmxhZ19pZHMYAyADKAlSFmFyY2hpdmVkRmVhdHVyZUZsYWdJZHMSIQoMcmVxdWVzdGVkX2F0GAQgASgDUgtyZXF1ZXN0ZWRBdBIhCgxmb3JjZV91cGRhdGUYBSABKAhSC2ZvcmNlVXBkYXRlIrwBChZHZXRTZWdtZW50VXNlcnNSZXF1ZXN0Eh8KC3NlZ21lbnRfaWRzGAEgAygJUgpzZWdtZW50SWRzEiEKDHJlcXVlc3RlZF9hdBgCIAEoA1ILcmVxdWVzdGVkQXQSPQoJc291cmNlX2lkGAMgASgOMiAuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5Tb3VyY2VJZFIIc291cmNlSWQSHwoLc2RrX3ZlcnNpb24YBCABKAlSCnNka1ZlcnNpb24i1QEKF0dldFNlZ21lbnRVc2Vyc1Jlc3BvbnNlEkQKDXNlZ21lbnRfdXNlcnMYASADKAsyHy5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlcnNSDHNlZ21lbnRVc2VycxIuChNkZWxldGVkX3NlZ21lbnRfaWRzGAIgAygJUhFkZWxldGVkU2VnbWVudElkcxIhCgxyZXF1ZXN0ZWRfYXQYAyABKANSC3JlcXVlc3RlZEF0EiEKDGZvcmNlX3VwZGF0ZRgEIAEoCFILZm9yY2VVcGRhdGUi+gMKFUdldEV2YWx1YXRpb25zUmVxdWVzdBIQCgN0YWcYASABKAlSA3RhZxIoCgR1c2VyGAIgASgLMhQuYnVja2V0ZWVyLnVzZXIuVXNlclIEdXNlchIuChN1c2VyX2V2YWx1YXRpb25zX2lkGAMgASgJUhF1c2VyRXZhbHVhdGlvbnNJZBIhCgpmZWF0dXJlX2lkGAQgASgJQgIYAVIJZmVhdHVyZUlkEj0KCXNvdXJjZV9pZBgFIAEoDjIgLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuU291cmNlSWRSCHNvdXJjZUlkEnwKGXVzZXJfZXZhbHVhdGlvbl9jb25kaXRpb24YBiABKAsyQC5idWNrZXRlZXIuZ2F0ZXdheS5HZXRFdmFsdWF0aW9uc1JlcXVlc3QuVXNlckV2YWx1YXRpb25Db25kaXRpb25SF3VzZXJFdmFsdWF0aW9uQ29uZGl0aW9uEh8KC3Nka192ZXJzaW9uGAcgASgJUgpzZGtWZXJzaW9uGnQKF1VzZXJFdmFsdWF0aW9uQ29uZGl0aW9uEiEKDGV2YWx1YXRlZF9hdBgBIAEoA1ILZXZhbHVhdGVkQXQSNgoXdXNlcl9hdHRyaWJ1dGVzX3VwZGF0ZWQYAiABKAhSFXVzZXJBdHRyaWJ1dGVzVXBkYXRlZCLOAQoWR2V0RXZhbHVhdGlvbnNSZXNwb25zZRI+CgVzdGF0ZRgBIAEoDjIoLmJ1Y2tldGVlci5mZWF0dXJlLlVzZXJFdmFsdWF0aW9ucy5TdGF0ZVIFc3RhdGUSRAoLZXZhbHVhdGlvbnMYAiABKAsyIi5idWNrZXRlZXIuZmVhdHVyZS5Vc2VyRXZhbHVhdGlvbnNSC2V2YWx1YXRpb25zEi4KE3VzZXJfZXZhbHVhdGlvbnNfaWQYAyABKAlSEXVzZXJFdmFsdWF0aW9uc0lkItEBChRHZXRFdmFsdWF0aW9uUmVxdWVzdBIQCgN0YWcYASABKAlSA3RhZxIoCgR1c2VyGAIgASgLMhQuYnVja2V0ZWVyLnVzZXIuVXNlclIEdXNlchIdCgpmZWF0dXJlX2lkGAMgASgJUglmZWF0dXJlSWQSPQoJc291cmNlX2lkGAQgASgOMiAuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5Tb3VyY2VJZFIIc291cmNlSWQSHwoLc2RrX3ZlcnNpb24YBSABKAlSCnNka1ZlcnNpb24iVgoVR2V0RXZhbHVhdGlvblJlc3BvbnNlEj0KCmV2YWx1YXRpb24YASABKAsyHS5idWNrZXRlZXIuZmVhdHVyZS5FdmFsdWF0aW9uUgpldmFsdWF0aW9uIq4BChVSZWdpc3RlckV2ZW50c1JlcXVlc3QSNQoGZXZlbnRzGAEgAygLMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5FdmVudFIGZXZlbnRzEh8KC3Nka192ZXJzaW9uGAIgASgJUgpzZGtWZXJzaW9uEj0KCXNvdXJjZV9pZBgDIAEoDjIgLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuU291cmNlSWRSCHNvdXJjZUlkIpQCChZSZWdpc3RlckV2ZW50c1Jlc3BvbnNlEk0KBmVycm9ycxgBIAMoCzI1LmJ1Y2tldGVlci5nYXRld2F5LlJlZ2lzdGVyRXZlbnRzUmVzcG9uc2UuRXJyb3JzRW50cnlSBmVycm9ycxo/CgVFcnJvchIcCglyZXRyaWFibGUYASABKAhSCXJldHJpYWJsZRIYCgdtZXNzYWdlGAIgASgJUgdtZXNzYWdlGmoKC0Vycm9yc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkUKBXZhbHVlGAIgASgLMi8uYnVja2V0ZWVyLmdhdGV3YXkuUmVnaXN0ZXJFdmVudHNSZXNwb25zZS5FcnJvclIFdmFsdWU6AjgBIpwBCgxUcmFja1JlcXVlc3QSFgoGYXBpa2V5GAEgASgJUgZhcGlrZXkSFgoGdXNlcmlkGAIgASgJUgZ1c2VyaWQSFgoGZ29hbGlkGAMgASgJUgZnb2FsaWQSEAoDdGFnGAQgASgJUgN0YWcSHAoJdGltZXN0YW1wGAUgASgDUgl0aW1lc3RhbXASFAoFdmFsdWUYBiABKAFSBXZhbHVlIg8KDVRyYWNrUmVzcG9uc2Ui3QIKFENyZWF0ZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhJPCg52YXJpYXRpb25fdHlwZRgEIAEoDjIoLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmUuVmFyaWF0aW9uVHlwZVINdmFyaWF0aW9uVHlwZRI8Cgp2YXJpYXRpb25zGAUgAygLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uUgp2YXJpYXRpb25zEhIKBHRhZ3MYBiADKAlSBHRhZ3MSLAoSb25fdmFyaWF0aW9uX2luZGV4GAcgASgFUhBvblZhcmlhdGlvbkluZGV4Ei4KE29mZl92YXJpYXRpb25faW5kZXgYCCABKAVSEW9mZlZhcmlhdGlvbkluZGV4Ik0KFUNyZWF0ZUZlYXR1cmVSZXNwb25zZRI0CgdmZWF0dXJlGAEgASgLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIHZmVhdHVyZSIjChFHZXRGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQiSgoSR2V0RmVhdHVyZVJlc3BvbnNlEjQKB2ZlYXR1cmUYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUgdmZWF0dXJlIvUBChNMaXN0RmVhdHVyZXNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISSQoIb3JkZXJfYnkYAyABKA4yLi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmVhdHVyZXNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSXgoPb3JkZXJfZGlyZWN0aW9uGAQgASgOMjUuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZlYXR1cmVzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24iTgoUTGlzdEZlYXR1cmVzUmVzcG9uc2USNgoIZmVhdHVyZXMYASADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUghmZWF0dXJlcyKoBQoUVXBkYXRlRmVhdHVyZVJlcXVlc3QSGAoHY29tbWVudBgBIAEoCVIHY29tbWVudBIOCgJpZBgCIAEoCVICaWQSMAoEbmFtZRgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRI+CgtkZXNjcmlwdGlvbhgEIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVILZGVzY3JpcHRpb24SEgoEdGFncxgFIAMoCVIEdGFncxI0CgdlbmFibGVkGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIHZW5hYmxlZBI2CghhcmNoaXZlZBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGFyY2hpdmVkEjwKCnZhcmlhdGlvbnMYCCADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSRQoNcHJlcmVxdWlzaXRlcxgJIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVINcHJlcmVxdWlzaXRlcxIzCgd0YXJnZXRzGAogAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0Ugd0YXJnZXRzEi0KBXJ1bGVzGAsgAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSRgoQZGVmYXVsdF9zdHJhdGVneRgMIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5Ug9kZWZhdWx0U3RyYXRlZ3kSQQoNb2ZmX3ZhcmlhdGlvbhgNIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIMb2ZmVmFyaWF0aW9uIk0KFVVwZGF0ZUZlYXR1cmVSZXNwb25zZRI0CgdmZWF0dXJlGAEgASgLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIHZmVhdHVyZSKQAgoRTGlzdFB1c2hlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJECghvcmRlcl9ieRgDIAEoDjIpLmJ1Y2tldGVlci5wdXNoLkxpc3RQdXNoZXNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSWQoPb3JkZXJfZGlyZWN0aW9uGAQgASgOMjAuYnVja2V0ZWVyLnB1c2guTGlzdFB1c2hlc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAUgASgJUg1zZWFyY2hLZXl3b3JkInsKEkxpc3RQdXNoZXNSZXNwb25zZRIsCgZwdXNoZXMYASADKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgZwdXNoZXMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiawoRQ3JlYXRlUHVzaFJlcXVlc3QSEgoEdGFncxgBIAMoCVIEdGFncxISCgRuYW1lGAIgASgJUgRuYW1lEi4KE2ZjbV9zZXJ2aWNlX2FjY291bnQYAyABKAxSEWZjbVNlcnZpY2VBY2NvdW50Ij4KEkNyZWF0ZVB1c2hSZXNwb25zZRIoCgRwdXNoGAEgASgLMhQuYnVja2V0ZWVyLnB1c2guUHVzaFIEcHVzaCIgCg5HZXRQdXNoUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQiOwoPR2V0UHVzaFJlc3BvbnNlEigKBHB1c2gYASABKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgRwdXNoIoACChFVcGRhdGVQdXNoUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSEgoEdGFncxgCIAMoCVIEdGFncxIwCgRuYW1lGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEpQBCgdkZWxldGVkGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJekkFbKgdkZWxldGVkMlBpZiB0cnVlLCB0aGUgcHVzaCBub3RpZmljYXRpb24gd2lsbCBiZSBkZWxldGVkIGFuZCBvdGhlciBmaWVsZHMgd2lsbCBiZSBpZ25vcmVkLlIHZGVsZXRlZCI+ChJVcGRhdGVQdXNoUmVzcG9uc2USKAoEcHVzaBgBIAEoCzIULmJ1Y2tldGVlci5wdXNoLlB1c2hSBHB1c2gipQMKFkNyZWF0ZUFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSKAoQYXZhdGFyX2ltYWdlX3VybBgDIAEoCVIOYXZhdGFySW1hZ2VVcmwSJwoPb3JnYW5pemF0aW9uX2lkGAQgASgJUg5vcmdhbml6YXRpb25JZBJbChFvcmdhbml6YXRpb25fcm9sZRgFIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgGIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSHQoKZmlyc3RfbmFtZRgHIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgIIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYCSABKAlSCGxhbmd1YWdlIlEKF0NyZWF0ZUFjY291bnRWMlJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQiiQgKFlVwZGF0ZUFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSMAoEbmFtZRgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRJGChBhdmF0YXJfaW1hZ2VfdXJsGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUg5hdmF0YXJJbWFnZVVybBJsChFvcmdhbml6YXRpb25fcm9sZRgFIAEoCzI/LmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFjY291bnRWMlJlcXVlc3QuT3JnYW5pemF0aW9uUm9sZVZhbHVlUhBvcmdhbml6YXRpb25Sb2xlElkKEWVudmlyb25tZW50X3JvbGVzGAYgAygLMiwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcxI7CgpmaXJzdF9uYW1lGAcgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUglmaXJzdE5hbWUSOQoJbGFzdF9uYW1lGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUghsYXN0TmFtZRI4CghsYW5ndWFnZRgJIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIIbGFuZ3VhZ2USOAoJbGFzdF9zZWVuGAogASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWVSCGxhc3RTZWVuElEKBmF2YXRhchgLIAEoCzI5LmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFjY291bnRWMlJlcXVlc3QuQWNjb3VudFYyQXZhdGFyUgZhdmF0YXISoAEKCGRpc2FibGVkGAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJokkFlKghkaXNhYmxlZDJZaWYgZGlzYWJsZWQgaXMgdHJ1ZSwgdGhlIGFjY291bnQgd2lsbCBiZSBkaXNhYmxlZC4gSWYgZmFsc2UsIHRoZSBhY2NvdW50IHdpbGwgYmUgZW5hYmxlZC5SCGRpc2FibGVkEooBCgdkZWxldGVkGA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJUkkFRKgdkZWxldGVkMkZpZiB0cnVlLCB0aGUgYWNjb3VudCB3aWxsIGJlIGRlbGV0ZWQgYW5kIG90aGVyIGZpZWxkcyB3aWxsIGJlIGlnbm9yZWQuUgdkZWxldGVkIlEKF1VwZGF0ZUFjY291bnRWMlJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQiVAoTR2V0QWNjb3VudFYyUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZCJOChRHZXRBY2NvdW50VjJSZXNwb25zZRI2CgdhY2NvdW50GAEgASgLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUgdhY2NvdW50ImEKIkdldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRFJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkIl0KI0dldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRFJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQiNwoMR2V0TWVSZXF1ZXN0EicKD29yZ2FuaXphdGlvbl9pZBgBIAEoCVIOb3JnYW5pemF0aW9uSWQiTAoNR2V0TWVSZXNwb25zZRI7CgdhY2NvdW50GAEgASgLMiEuYnVja2V0ZWVyLmFjY291bnQuQ29uc29sZUFjY291bnRSB2FjY291bnQi2gQKFUxpc3RBY2NvdW50c1YyUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEicKD29yZ2FuaXphdGlvbl9pZBgDIAEoCVIOb3JnYW5pemF0aW9uSWQSSwoIb3JkZXJfYnkYBCABKA4yMC5idWNrZXRlZXIuYWNjb3VudC5MaXN0QWNjb3VudHNWMlJlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJgCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNy5idWNrZXRlZXIuYWNjb3VudC5MaXN0QWNjb3VudHNWMlJlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAYgASgJUg1zZWFyY2hLZXl3b3JkEjYKCGRpc2FibGVkGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQSSAoRb3JnYW5pemF0aW9uX3JvbGUYCCABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIQb3JnYW5pemF0aW9uUm9sZRJDCg5lbnZpcm9ubWVudF9pZBgJIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVINZW52aXJvbm1lbnRJZBJGChBlbnZpcm9ubWVudF9yb2xlGAogASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSD2Vudmlyb25tZW50Um9sZSKLAQoWTGlzdEFjY291bnRzVjJSZXNwb25zZRI4CghhY2NvdW50cxgBIAMoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIIYWNjb3VudHMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQy6zcKB0dhdGV3YXkS9AIKDkdldEV2YWx1YXRpb25zEiguYnVja2V0ZWVyLmdhdGV3YXkuR2V0RXZhbHVhdGlvbnNSZXF1ZXN0GikuYnVja2V0ZWVyLmdhdGV3YXkuR2V0RXZhbHVhdGlvbnNSZXNwb25zZSKMApJB7QEKFkNsaWVudCBhbmQgU2VydmVyIFNES3MSD0dldCBFdmFsdWF0aW9ucxphR2V0cyBhbGwgdGhlIGV2YWx1YXRpb25zIGZvciBhIHNwZWNpZmljIHVzZXIuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYENMSUVOVGAgQVBJIEtleSByb2xlLiobYXBpLmdhdGV3YXkuZ2V0X2V2YWx1YXRpb25zckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhUiEC9nZXRfZXZhbHVhdGlvbnM6ASoS7gIKDUdldEV2YWx1YXRpb24SJy5idWNrZXRlZXIuZ2F0ZXdheS5HZXRFdmFsdWF0aW9uUmVxdWVzdBooLmJ1Y2tldGVlci5nYXRld2F5LkdldEV2YWx1YXRpb25SZXNwb25zZSKJApJB6wEKFkNsaWVudCBhbmQgU2VydmVyIFNES3MSDkdldCBFdmFsdWF0aW9uGmFHZXRzIGEgc2luZ2xlIGV2YWx1YXRpb24gZm9yIGEgc3BlY2lmaWMgdXNlci4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgQ0xJRU5UYCBBUEkgS2V5IHJvbGUuKhphcGkuZ2F0ZXdheS5nZXRfZXZhbHVhdGlvbnJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIUIg8vZ2V0X2V2YWx1YXRpb246ASoS+gIKD0dldEZlYXR1cmVGbGFncxIpLmJ1Y2tldGVlci5nYXRld2F5LkdldEZlYXR1cmVGbGFnc1JlcXVlc3QaKi5idWNrZXRlZXIuZ2F0ZXdheS5HZXRGZWF0dXJlRmxhZ3NSZXNwb25zZSKPApJB7gEKFkNsaWVudCBhbmQgU2VydmVyIFNES3MSEUdldCBGZWF0dXJlIEZsYWdzGl5HZXRzIGFsbCB0aGUgZmVhdHVyZSBmbGFnIGluIGFuIGVudmlyb25tZW50LiBUbyBjYWxsIHRoaXMgQVBJLCBpdCBuZWVkcyBgU0VSVkVSYCBBUEkgS2V5IHJvbGUuKh1hcGkuZ2F0ZXdheS5nZXRfZmVhdHVyZV9mbGFnc3JCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIXIhIvZ2V0X2ZlYXR1cmVfZmxhZ3M6ASoS+wIKD0dldFNlZ21lbnRVc2VycxIpLmJ1Y2tldGVlci5nYXRld2F5LkdldFNlZ21lbnRVc2Vyc1JlcXVlc3QaKi5idWNrZXRlZXIuZ2F0ZXdheS5HZXRTZWdtZW50VXNlcnNSZXNwb25zZSKQApJB7wEKFkNsaWVudCBhbmQgU2VydmVyIFNES3MSEUdldCBTZWdtZW50IFVzZXJzGl9HZXRzIGFsbCB0aGUgc2VnbWVudCB1c2VycyBpbiBhbiBlbnZpcm9ubWVudC4gVG8gY2FsbCB0aGlzIEFQSSwgaXQgbmVlZHMgYFNFUlZFUmAgQVBJIEtleSByb2xlLiodYXBpLmdhdGV3YXkuZ2V0X3NlZ21lbnRfdXNlcnNyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCFyISL2dldF9zZWdtZW50X3VzZXJzOgEqEvkCCg5SZWdpc3RlckV2ZW50cxIoLmJ1Y2tldGVlci5nYXRld2F5LlJlZ2lzdGVyRXZlbnRzUmVxdWVzdBopLmJ1Y2tldGVlci5nYXRld2F5LlJlZ2lzdGVyRXZlbnRzUmVzcG9uc2UikQKSQfIBChZDbGllbnQgYW5kIFNlcnZlciBTREtzEg9SZWdpc3RlciBFdmVudHMaZlRoaXMgQVBJIGlzIGZvciByZXBvcnRpbmcgR29hbCBldmVudHMuIFRvIGNhbGwgdGhpcyBBUEksIGl0IG5lZWRzIGEgYENMSUVOVGAgb3IgYFNFUlZFUmAgQVBJIEtleSByb2xlLiobYXBpLmdhdGV3YXkucmVnaXN0ZXJfZXZlbnRzckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhUiEC9yZWdpc3Rlcl9ldmVudHM6ASoSjwIKBVRyYWNrEh8uYnVja2V0ZWVyLmdhdGV3YXkuVHJhY2tSZXF1ZXN0GiAuYnVja2V0ZWVyLmdhdGV3YXkuVHJhY2tSZXNwb25zZSLCAZJBsAEKFkNsaWVudCBhbmQgU2VydmVyIFNES3MSBVRyYWNrGnxUaGlzIEFQSSBpcyBhbiBpbnRlZ3JhdGlvbiBmb3IgR29vZ2xlIFRhYiBNYW5hZ2VyIHRvIHJlcG9ydCBHb2FsIGV2ZW50cy4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgQ0xJRU5UYCBBUEkgS2V5IHJvbGUuKhFhcGkuZ2F0ZXdheS50cmFja4LT5JMCCBIGL3RyYWNrEtUCCg1DcmVhdGVGZWF0dXJlEicuYnVja2V0ZWVyLmdhdGV3YXkuQ3JlYXRlRmVhdHVyZVJlcXVlc3QaKC5idWNrZXRlZXIuZ2F0ZXdheS5DcmVhdGVGZWF0dXJlUmVzcG9uc2Ui8AGSQdUBCg1GZWF0dXJlIEZsYWdzEgZDcmVhdGUaWENyZWF0ZSBhIG5ldyBGZWF0dXJlIEZsYWcuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFdSSVRFYCBvciBgQURNSU5gIEFQSSBLZXkgcm9sZS4qHmFwaS5nYXRld2F5LnYxLmZlYXR1cmVzLmNyZWF0ZXJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIRIgwvdjEvZmVhdHVyZXM6ASoStQIKCkdldEZlYXR1cmUSJC5idWNrZXRlZXIuZ2F0ZXdheS5HZXRGZWF0dXJlUmVxdWVzdBolLmJ1Y2tldGVlci5nYXRld2F5LkdldEZlYXR1cmVSZXNwb25zZSLZAZJBvAEKDUZlYXR1cmUgRmxhZ3MSA0dldBpFR2V0IGEgRmVhdHVyZSBGbGFnLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBSRUFEYCBBUEkgS2V5IHJvbGUuKhthcGkuZ2F0ZXdheS52MS5mZWF0dXJlcy5nZXRyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCExIRL3YxL2ZlYXR1cmVzL3tpZH0SuAIKDExpc3RGZWF0dXJlcxImLmJ1Y2tldGVlci5nYXRld2F5Lkxpc3RGZWF0dXJlc1JlcXVlc3QaJy5idWNrZXRlZXIuZ2F0ZXdheS5MaXN0RmVhdHVyZXNSZXNwb25zZSLWAZJBvgEKDUZlYXR1cmUgRmxhZ3MSBExpc3QaRUxpc3QgRmVhdHVyZSBGbGFncy4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLiocYXBpLmdhdGV3YXkudjEuZmVhdHVyZXMubGlzdHJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIOEgwvdjEvZmVhdHVyZXMS1gIKDVVwZGF0ZUZlYXR1cmUSJy5idWNrZXRlZXIuZ2F0ZXdheS5VcGRhdGVGZWF0dXJlUmVxdWVzdBooLmJ1Y2tldGVlci5nYXRld2F5LlVwZGF0ZUZlYXR1cmVSZXNwb25zZSLxAZJB0QEKDUZlYXR1cmUgRmxhZ3MSBlVwZGF0ZRpUVXBkYXRlIGEgRmVhdHVyZSBGbGFnLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBXUklURWAgb3IgYEFETUlOYCBBUEkgS2V5IHJvbGUuKh5hcGkuZ2F0ZXdheS52MS5mZWF0dXJlcy51cGRhdGVyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCFjIRL3YxL2ZlYXR1cmVzL3tpZH06ASoS7gEKBFBpbmcSHi5idWNrZXRlZXIuZ2F0ZXdheS5QaW5nUmVxdWVzdBofLmJ1Y2tldGVlci5nYXRld2F5LlBpbmdSZXNwb25zZSKkAZJBkwEKB1V0aWxpdHkSBFBpbmcaKlBpbmcgdGhlIHNlcnZlciB0byBjaGVjayBpdHMgYXZhaWxhYmlsaXR5LioQYXBpLmdhdGV3YXkucGluZ2IAckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAgcSBS9waW5nEqACCgpMaXN0UHVzaGVzEiQuYnVja2V0ZWVyLmdhdGV3YXkuTGlzdFB1c2hlc1JlcXVlc3QaJS5idWNrZXRlZXIuZ2F0ZXdheS5MaXN0UHVzaGVzUmVzcG9uc2UixAGSQa4BCgZQdXNoZXMSBExpc3QaPkxpc3QgcHVzaGVzLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBSRUFEYCBBUEkgS2V5IHJvbGUuKhphcGkuZ2F0ZXdheS52MS5wdXNoZXMubGlzdHJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIMEgovdjEvcHVzaGVzEvMCCgpDcmVhdGVQdXNoEiQuYnVja2V0ZWVyLmdhdGV3YXkuQ3JlYXRlUHVzaFJlcXVlc3QaJS5idWNrZXRlZXIuZ2F0ZXdheS5DcmVhdGVQdXNoUmVzcG9uc2UilwKSQYACCgZQdXNoZXMSBkNyZWF0ZRqLAUNyZWF0ZSBhIG5ldyBQdXNoIG5vdGlmaWNhdGlvbiB0aHJvdWdoIEdvb2dsZSBGaXJlYmFzZSBDbG91ZCBNZXNzYWdpbmcgKEZDTSkuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFdSSVRFYCBvciBgQURNSU5gIEFQSSBLZXkgcm9sZS4qHGFwaS5nYXRld2F5LnYxLnB1c2hlcy5jcmVhdGVyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCDSIIL3YxL3B1c2g6ASoSpAIKB0dldFB1c2gSIS5idWNrZXRlZXIuZ2F0ZXdheS5HZXRQdXNoUmVxdWVzdBoiLmJ1Y2tldGVlci5nYXRld2F5LkdldFB1c2hSZXNwb25zZSLRAZJBuAEKBlB1c2hlcxIDR2V0GkpHZXQgYSBQdXNoIG5vdGlmaWNhdGlvbi4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLioZYXBpLmdhdGV3YXkudjEucHVzaGVzLmdldHJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIPEg0vdjEvcHVzaC97aWR9EsACCgpVcGRhdGVQdXNoEiQuYnVja2V0ZWVyLmdhdGV3YXkuVXBkYXRlUHVzaFJlcXVlc3QaJS5idWNrZXRlZXIuZ2F0ZXdheS5VcGRhdGVQdXNoUmVzcG9uc2Ui5AGSQcgBCgZQdXNoZXMSBlVwZGF0ZRpUVXBkYXRlIGEgUHVzaCBub3RpZmljYXRpb24uIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBhIGBXUklURWAgb3IgYEFETUlOYCBBUEkgS2V5IHJvbGUuKhxhcGkuZ2F0ZXdheS52MS5wdXNoZXMudXBkYXRlckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhIyDS92MS9wdXNoL3tpZH06ASoSzgIKD0NyZWF0ZUFjY291bnRWMhIpLmJ1Y2tldGVlci5nYXRld2F5LkNyZWF0ZUFjY291bnRWMlJlcXVlc3QaKi5idWNrZXRlZXIuZ2F0ZXdheS5DcmVhdGVBY2NvdW50VjJSZXNwb25zZSLjAZJByQEKB0FjY291bnQSBkNyZWF0ZRpTQ3JlYXRlIGEgbmV3IEFjY291bnQuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFdSSVRFYCBvciBgQURNSU5gIEFQSSBLZXkgcm9sZS4qHWFwaS5nYXRld2F5LnYxLmFjY291bnQuY3JlYXRlckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhAiCy92MS9hY2NvdW50OgEqEuUCCg9VcGRhdGVBY2NvdW50VjISKS5idWNrZXRlZXIuZ2F0ZXdheS5VcGRhdGVBY2NvdW50VjJSZXF1ZXN0GiouYnVja2V0ZWVyLmdhdGV3YXkuVXBkYXRlQWNjb3VudFYyUmVzcG9uc2Ui+gGSQcYBCgdBY2NvdW50EgZVcGRhdGUaUFVwZGF0ZSBhbiBBY2NvdW50LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBXUklURWAgb3IgYEFETUlOYCBBUEkgS2V5IHJvbGUuKh1hcGkuZ2F0ZXdheS52MS5hY2NvdW50LnVwZGF0ZXJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIqMiUvdjEvYWNjb3VudC97b3JnYW5pemF0aW9uX2lkfS97ZW1haWx9OgEqEtcCCgxHZXRBY2NvdW50VjISJi5idWNrZXRlZXIuZ2F0ZXdheS5HZXRBY2NvdW50VjJSZXF1ZXN0GicuYnVja2V0ZWVyLmdhdGV3YXkuR2V0QWNjb3VudFYyUmVzcG9uc2Ui9QGSQcQBCgdBY2NvdW50EhZHZXQgYnkgT3JnYW5pemF0aW9uIElEGkFHZXQgYW4gQWNjb3VudC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLioaYXBpLmdhdGV3YXkudjEuYWNjb3VudC5nZXRyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCJxIlL3YxL2FjY291bnQve29yZ2FuaXphdGlvbl9pZH0ve2VtYWlsfRLBAwobR2V0QWNjb3VudFYyQnlFbnZpcm9ubWVudElEEjUuYnVja2V0ZWVyLmdhdGV3YXkuR2V0QWNjb3VudFYyQnlFbnZpcm9ubWVudElEUmVxdWVzdBo2LmJ1Y2tldGVlci5nYXRld2F5LkdldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRFJlc3BvbnNlIrICkkHnAQoHQWNjb3VudBIVR2V0IGJ5IEVudmlyb25tZW50IElEGlNHZXQgYW4gQWNjb3VudCBieSBFbnZpcm9ubWVudCBJRC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLiosYXBpLmdhdGV3YXkudjEuYWNjb3VudC5nZXRfYnlfZW52aXJvbm1lbnRfaWRyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCQRI/L3YxL2FjY291bnQvZ2V0LWFjY291bnQtYnktZW52aXJvbm1lbnQve2Vudmlyb25tZW50X2lkfS97ZW1haWx9EsYCCgVHZXRNZRIfLmJ1Y2tldGVlci5nYXRld2F5LkdldE1lUmVxdWVzdBogLmJ1Y2tldGVlci5nYXRld2F5LkdldE1lUmVzcG9uc2Ui+QGSQc0BCgdBY2NvdW50EhNHZXQgU2VydmljZSBBY2NvdW50GkpHZXQgdGhlIGN1cnJlbnQgQWNjb3VudC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLiodYXBpLmdhdGV3YXkudjEuYWNjb3VudC5nZXRfbWVyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCIhIgL3YxL2FjY291bnQvbWUve29yZ2FuaXphdGlvbl9pZH0StgIKDkxpc3RBY2NvdW50c1YyEiguYnVja2V0ZWVyLmdhdGV3YXkuTGlzdEFjY291bnRzVjJSZXF1ZXN0GikuYnVja2V0ZWVyLmdhdGV3YXkuTGlzdEFjY291bnRzVjJSZXNwb25zZSLOAZJBtgEKB0FjY291bnQSBExpc3QaREdldCBsaXN0IEFjY291bnRzLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBSRUFEYCBBUEkgS2V5IHJvbGUuKhthcGkuZ2F0ZXdheS52MS5hY2NvdW50Lmxpc3RyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCDhIML3YxL2FjY291bnRzQoQGWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZ2F0ZXdheZJBzwUSIAoZQnVja2V0ZWVyIEdhdGV3YXkgU2VydmljZTIDMS4wGghFTkRQT0lOVCoBAjIQYXBwbGljYXRpb24vanNvbjoQYXBwbGljYXRpb24vanNvblK0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfVKyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1SqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9WlAKTgoKQXBpS2V5QXV0aBJACAISK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4aDWF1dGhvcml6YXRpb24gAmIQCg4KCkFwaUtleUF1dGgSAGIGcHJvdG8z" + descriptor: "CocFChVnb29nbGUvYXBpL2h0dHAucHJvdG8SCmdvb2dsZS5hcGkieQoESHR0cBIqCgVydWxlcxgBIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBXJ1bGVzEkUKH2Z1bGx5X2RlY29kZV9yZXNlcnZlZF9leHBhbnNpb24YAiABKAhSHGZ1bGx5RGVjb2RlUmVzZXJ2ZWRFeHBhbnNpb24itQIKCEh0dHBSdWxlEhoKCHNlbGVjdG9yGAEgASgJUghzZWxlY3RvchISCgNnZXQYAiABKAlIAFIDZ2V0EhIKA3B1dBgDIAEoCUgAUgNwdXQSFAoEcG9zdBgEIAEoCUgAUgRwb3N0EhgKBmRlbGV0ZRgFIAEoCUgAUgZkZWxldGUSFgoFcGF0Y2gYBiABKAlIAFIFcGF0Y2gSNwoGY3VzdG9tGAggASgLMh0uZ29vZ2xlLmFwaS5DdXN0b21IdHRwUGF0dGVybkgAUgZjdXN0b20SEgoEYm9keRgHIAEoCVIEYm9keRJFChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVISYWRkaXRpb25hbEJpbmRpbmdzQgkKB3BhdHRlcm4iOwoRQ3VzdG9tSHR0cFBhdHRlcm4SEgoEa2luZBgBIAEoCVIEa2luZBISCgRwYXRoGAIgASgJUgRwYXRoQmoKDmNvbS5nb29nbGUuYXBpQglIdHRwUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnP4AQGiAgRHQVBJYgZwcm90bzMK4UYKIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvEg9nb29nbGUucHJvdG9idWYiTQoRRmlsZURlc2NyaXB0b3JTZXQSOAoEZmlsZRgBIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5GaWxlRGVzY3JpcHRvclByb3RvUgRmaWxlIv4EChNGaWxlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHcGFja2FnZRgCIAEoCVIHcGFja2FnZRIeCgpkZXBlbmRlbmN5GAMgAygJUgpkZXBlbmRlbmN5EisKEXB1YmxpY19kZXBlbmRlbmN5GAogAygFUhBwdWJsaWNEZXBlbmRlbmN5EicKD3dlYWtfZGVwZW5kZW5jeRgLIAMoBVIOd2Vha0RlcGVuZGVuY3kSQwoMbWVzc2FnZV90eXBlGAQgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1ILbWVzc2FnZVR5cGUSQQoJZW51bV90eXBlGAUgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG9SCGVudW1UeXBlEkEKB3NlcnZpY2UYBiADKAsyJy5nb29nbGUucHJvdG9idWYuU2VydmljZURlc2NyaXB0b3JQcm90b1IHc2VydmljZRJDCglleHRlbnNpb24YByADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SCWV4dGVuc2lvbhI2CgdvcHRpb25zGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zUgdvcHRpb25zEkkKEHNvdXJjZV9jb2RlX2luZm8YCSABKAsyHy5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm9SDnNvdXJjZUNvZGVJbmZvEhYKBnN5bnRheBgMIAEoCVIGc3ludGF4EhgKB2VkaXRpb24YDSABKAlSB2VkaXRpb24iuQYKD0Rlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEjsKBWZpZWxkGAIgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUgVmaWVsZBJDCglleHRlbnNpb24YBiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SCWV4dGVuc2lvbhJBCgtuZXN0ZWRfdHlwZRgDIAMoCzIgLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG9SCm5lc3RlZFR5cGUSQQoJZW51bV90eXBlGAQgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG9SCGVudW1UeXBlElgKD2V4dGVuc2lvbl9yYW5nZRgFIAMoCzIvLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG8uRXh0ZW5zaW9uUmFuZ2VSDmV4dGVuc2lvblJhbmdlEkQKCm9uZW9mX2RlY2wYCCADKAsyJS5nb29nbGUucHJvdG9idWYuT25lb2ZEZXNjcmlwdG9yUHJvdG9SCW9uZW9mRGVjbBI5CgdvcHRpb25zGAcgASgLMh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zUgdvcHRpb25zElUKDnJlc2VydmVkX3JhbmdlGAkgAygLMi4uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYCiADKAlSDHJlc2VydmVkTmFtZRp6Cg5FeHRlbnNpb25SYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQSQAoHb3B0aW9ucxgDIAEoCzImLmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnNSB29wdGlvbnMaNwoNUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQirQQKFUV4dGVuc2lvblJhbmdlT3B0aW9ucxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbhJZCgtkZWNsYXJhdGlvbhgCIAMoCzIyLmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnMuRGVjbGFyYXRpb25CA4gBAlILZGVjbGFyYXRpb24SaAoMdmVyaWZpY2F0aW9uGAMgASgOMjguZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9ucy5WZXJpZmljYXRpb25TdGF0ZToKVU5WRVJJRklFRFIMdmVyaWZpY2F0aW9uGrMBCgtEZWNsYXJhdGlvbhIWCgZudW1iZXIYASABKAVSBm51bWJlchIbCglmdWxsX25hbWUYAiABKAlSCGZ1bGxOYW1lEhIKBHR5cGUYAyABKAlSBHR5cGUSIwoLaXNfcmVwZWF0ZWQYBCABKAhCAhgBUgppc1JlcGVhdGVkEhoKCHJlc2VydmVkGAUgASgIUghyZXNlcnZlZBIaCghyZXBlYXRlZBgGIAEoCFIIcmVwZWF0ZWQiNAoRVmVyaWZpY2F0aW9uU3RhdGUSDwoLREVDTEFSQVRJT04QABIOCgpVTlZFUklGSUVEEAEqCQjoBxCAgICAAiLBBgoURmllbGREZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAyABKAVSBm51bWJlchJBCgVsYWJlbBgEIAEoDjIrLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5MYWJlbFIFbGFiZWwSPgoEdHlwZRgFIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlUgR0eXBlEhsKCXR5cGVfbmFtZRgGIAEoCVIIdHlwZU5hbWUSGgoIZXh0ZW5kZWUYAiABKAlSCGV4dGVuZGVlEiMKDWRlZmF1bHRfdmFsdWUYByABKAlSDGRlZmF1bHRWYWx1ZRIfCgtvbmVvZl9pbmRleBgJIAEoBVIKb25lb2ZJbmRleBIbCglqc29uX25hbWUYCiABKAlSCGpzb25OYW1lEjcKB29wdGlvbnMYCCABKAsyHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zUgdvcHRpb25zEicKD3Byb3RvM19vcHRpb25hbBgRIAEoCFIOcHJvdG8zT3B0aW9uYWwitgIKBFR5cGUSDwoLVFlQRV9ET1VCTEUQARIOCgpUWVBFX0ZMT0FUEAISDgoKVFlQRV9JTlQ2NBADEg8KC1RZUEVfVUlOVDY0EAQSDgoKVFlQRV9JTlQzMhAFEhAKDFRZUEVfRklYRUQ2NBAGEhAKDFRZUEVfRklYRUQzMhAHEg0KCVRZUEVfQk9PTBAIEg8KC1RZUEVfU1RSSU5HEAkSDgoKVFlQRV9HUk9VUBAKEhAKDFRZUEVfTUVTU0FHRRALEg4KClRZUEVfQllURVMQDBIPCgtUWVBFX1VJTlQzMhANEg0KCVRZUEVfRU5VTRAOEhEKDVRZUEVfU0ZJWEVEMzIQDxIRCg1UWVBFX1NGSVhFRDY0EBASDwoLVFlQRV9TSU5UMzIQERIPCgtUWVBFX1NJTlQ2NBASIkMKBUxhYmVsEhIKDkxBQkVMX09QVElPTkFMEAESEgoOTEFCRUxfUkVRVUlSRUQQAhISCg5MQUJFTF9SRVBFQVRFRBADImMKFE9uZW9mRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSNwoHb3B0aW9ucxgCIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnNSB29wdGlvbnMi4wIKE0VudW1EZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI/CgV2YWx1ZRgCIAMoCzIpLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVEZXNjcmlwdG9yUHJvdG9SBXZhbHVlEjYKB29wdGlvbnMYAyABKAsyHC5nb29nbGUucHJvdG9idWYuRW51bU9wdGlvbnNSB29wdGlvbnMSXQoOcmVzZXJ2ZWRfcmFuZ2UYBCADKAsyNi5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90by5FbnVtUmVzZXJ2ZWRSYW5nZVINcmVzZXJ2ZWRSYW5nZRIjCg1yZXNlcnZlZF9uYW1lGAUgAygJUgxyZXNlcnZlZE5hbWUaOwoRRW51bVJlc2VydmVkUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kIoMBChhFbnVtVmFsdWVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAiABKAVSBm51bWJlchI7CgdvcHRpb25zGAMgASgLMiEuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZU9wdGlvbnNSB29wdGlvbnMipwEKFlNlcnZpY2VEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI+CgZtZXRob2QYAiADKAsyJi5nb29nbGUucHJvdG9idWYuTWV0aG9kRGVzY3JpcHRvclByb3RvUgZtZXRob2QSOQoHb3B0aW9ucxgDIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9uc1IHb3B0aW9ucyKJAgoVTWV0aG9kRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSHQoKaW5wdXRfdHlwZRgCIAEoCVIJaW5wdXRUeXBlEh8KC291dHB1dF90eXBlGAMgASgJUgpvdXRwdXRUeXBlEjgKB29wdGlvbnMYBCABKAsyHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9uc1IHb3B0aW9ucxIwChBjbGllbnRfc3RyZWFtaW5nGAUgASgIOgVmYWxzZVIPY2xpZW50U3RyZWFtaW5nEjAKEHNlcnZlcl9zdHJlYW1pbmcYBiABKAg6BWZhbHNlUg9zZXJ2ZXJTdHJlYW1pbmcikQkKC0ZpbGVPcHRpb25zEiEKDGphdmFfcGFja2FnZRgBIAEoCVILamF2YVBhY2thZ2USMAoUamF2YV9vdXRlcl9jbGFzc25hbWUYCCABKAlSEmphdmFPdXRlckNsYXNzbmFtZRI1ChNqYXZhX211bHRpcGxlX2ZpbGVzGAogASgIOgVmYWxzZVIRamF2YU11bHRpcGxlRmlsZXMSRAodamF2YV9nZW5lcmF0ZV9lcXVhbHNfYW5kX2hhc2gYFCABKAhCAhgBUhlqYXZhR2VuZXJhdGVFcXVhbHNBbmRIYXNoEjoKFmphdmFfc3RyaW5nX2NoZWNrX3V0ZjgYGyABKAg6BWZhbHNlUhNqYXZhU3RyaW5nQ2hlY2tVdGY4ElMKDG9wdGltaXplX2ZvchgJIAEoDjIpLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucy5PcHRpbWl6ZU1vZGU6BVNQRUVEUgtvcHRpbWl6ZUZvchIdCgpnb19wYWNrYWdlGAsgASgJUglnb1BhY2thZ2USNQoTY2NfZ2VuZXJpY19zZXJ2aWNlcxgQIAEoCDoFZmFsc2VSEWNjR2VuZXJpY1NlcnZpY2VzEjkKFWphdmFfZ2VuZXJpY19zZXJ2aWNlcxgRIAEoCDoFZmFsc2VSE2phdmFHZW5lcmljU2VydmljZXMSNQoTcHlfZ2VuZXJpY19zZXJ2aWNlcxgSIAEoCDoFZmFsc2VSEXB5R2VuZXJpY1NlcnZpY2VzEjcKFHBocF9nZW5lcmljX3NlcnZpY2VzGCogASgIOgVmYWxzZVIScGhwR2VuZXJpY1NlcnZpY2VzEiUKCmRlcHJlY2F0ZWQYFyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEi4KEGNjX2VuYWJsZV9hcmVuYXMYHyABKAg6BHRydWVSDmNjRW5hYmxlQXJlbmFzEioKEW9iamNfY2xhc3NfcHJlZml4GCQgASgJUg9vYmpjQ2xhc3NQcmVmaXgSKQoQY3NoYXJwX25hbWVzcGFjZRglIAEoCVIPY3NoYXJwTmFtZXNwYWNlEiEKDHN3aWZ0X3ByZWZpeBgnIAEoCVILc3dpZnRQcmVmaXgSKAoQcGhwX2NsYXNzX3ByZWZpeBgoIAEoCVIOcGhwQ2xhc3NQcmVmaXgSIwoNcGhwX25hbWVzcGFjZRgpIAEoCVIMcGhwTmFtZXNwYWNlEjQKFnBocF9tZXRhZGF0YV9uYW1lc3BhY2UYLCABKAlSFHBocE1ldGFkYXRhTmFtZXNwYWNlEiEKDHJ1YnlfcGFja2FnZRgtIAEoCVILcnVieVBhY2thZ2USWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iOgoMT3B0aW1pemVNb2RlEgkKBVNQRUVEEAESDQoJQ09ERV9TSVpFEAISEAoMTElURV9SVU5USU1FEAMqCQjoBxCAgICAAkoECCYQJyK7AwoOTWVzc2FnZU9wdGlvbnMSPAoXbWVzc2FnZV9zZXRfd2lyZV9mb3JtYXQYASABKAg6BWZhbHNlUhRtZXNzYWdlU2V0V2lyZUZvcm1hdBJMCh9ub19zdGFuZGFyZF9kZXNjcmlwdG9yX2FjY2Vzc29yGAIgASgIOgVmYWxzZVIcbm9TdGFuZGFyZERlc2NyaXB0b3JBY2Nlc3NvchIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIbCgltYXBfZW50cnkYByABKAhSCG1hcEVudHJ5ElYKJmRlcHJlY2F0ZWRfbGVnYWN5X2pzb25fZmllbGRfY29uZmxpY3RzGAsgASgIQgIYAVIiZGVwcmVjYXRlZExlZ2FjeUpzb25GaWVsZENvbmZsaWN0cxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBBAFSgQIBRAGSgQIBhAHSgQICBAJSgQICRAKIoUJCgxGaWVsZE9wdGlvbnMSQQoFY3R5cGUYASABKA4yIy5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkNUeXBlOgZTVFJJTkdSBWN0eXBlEhYKBnBhY2tlZBgCIAEoCFIGcGFja2VkEkcKBmpzdHlwZRgGIAEoDjIkLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuSlNUeXBlOglKU19OT1JNQUxSBmpzdHlwZRIZCgRsYXp5GAUgASgIOgVmYWxzZVIEbGF6eRIuCg91bnZlcmlmaWVkX2xhenkYDyABKAg6BWZhbHNlUg51bnZlcmlmaWVkTGF6eRIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIZCgR3ZWFrGAogASgIOgVmYWxzZVIEd2VhaxIoCgxkZWJ1Z19yZWRhY3QYECABKAg6BWZhbHNlUgtkZWJ1Z1JlZGFjdBJLCglyZXRlbnRpb24YESABKA4yLS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblJldGVudGlvblIJcmV0ZW50aW9uEkoKBnRhcmdldBgSIAEoDjIuLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uVGFyZ2V0VHlwZUICGAFSBnRhcmdldBJICgd0YXJnZXRzGBMgAygOMi4uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25UYXJnZXRUeXBlUgd0YXJnZXRzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIi8KBUNUeXBlEgoKBlNUUklORxAAEggKBENPUkQQARIQCgxTVFJJTkdfUElFQ0UQAiI1CgZKU1R5cGUSDQoJSlNfTk9STUFMEAASDQoJSlNfU1RSSU5HEAESDQoJSlNfTlVNQkVSEAIiVQoPT3B0aW9uUmV0ZW50aW9uEhUKEVJFVEVOVElPTl9VTktOT1dOEAASFQoRUkVURU5USU9OX1JVTlRJTUUQARIUChBSRVRFTlRJT05fU09VUkNFEAIijAIKEE9wdGlvblRhcmdldFR5cGUSFwoTVEFSR0VUX1RZUEVfVU5LTk9XThAAEhQKEFRBUkdFVF9UWVBFX0ZJTEUQARIfChtUQVJHRVRfVFlQRV9FWFRFTlNJT05fUkFOR0UQAhIXChNUQVJHRVRfVFlQRV9NRVNTQUdFEAMSFQoRVEFSR0VUX1RZUEVfRklFTEQQBBIVChFUQVJHRVRfVFlQRV9PTkVPRhAFEhQKEFRBUkdFVF9UWVBFX0VOVU0QBhIaChZUQVJHRVRfVFlQRV9FTlVNX0VOVFJZEAcSFwoTVEFSR0VUX1RZUEVfU0VSVklDRRAIEhYKElRBUkdFVF9UWVBFX01FVEhPRBAJKgkI6AcQgICAgAJKBAgEEAUicwoMT25lb2ZPcHRpb25zElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIimAIKC0VudW1PcHRpb25zEh8KC2FsbG93X2FsaWFzGAIgASgIUgphbGxvd0FsaWFzEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkElYKJmRlcHJlY2F0ZWRfbGVnYWN5X2pzb25fZmllbGRfY29uZmxpY3RzGAYgASgIQgIYAVIiZGVwcmVjYXRlZExlZ2FjeUpzb25GaWVsZENvbmZsaWN0cxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBRAGIp4BChBFbnVtVmFsdWVPcHRpb25zEiUKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIinAEKDlNlcnZpY2VPcHRpb25zEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi4AIKDU1ldGhvZE9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQScQoRaWRlbXBvdGVuY3lfbGV2ZWwYIiABKA4yLy5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucy5JZGVtcG90ZW5jeUxldmVsOhNJREVNUE9URU5DWV9VTktOT1dOUhBpZGVtcG90ZW5jeUxldmVsElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIlAKEElkZW1wb3RlbmN5TGV2ZWwSFwoTSURFTVBPVEVOQ1lfVU5LTk9XThAAEhMKD05PX1NJREVfRUZGRUNUUxABEg4KCklERU1QT1RFTlQQAioJCOgHEICAgIACIpoDChNVbmludGVycHJldGVkT3B0aW9uEkEKBG5hbWUYAiADKAsyLS5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvbi5OYW1lUGFydFIEbmFtZRIpChBpZGVudGlmaWVyX3ZhbHVlGAMgASgJUg9pZGVudGlmaWVyVmFsdWUSLAoScG9zaXRpdmVfaW50X3ZhbHVlGAQgASgEUhBwb3NpdGl2ZUludFZhbHVlEiwKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoA1IQbmVnYXRpdmVJbnRWYWx1ZRIhCgxkb3VibGVfdmFsdWUYBiABKAFSC2RvdWJsZVZhbHVlEiEKDHN0cmluZ192YWx1ZRgHIAEoDFILc3RyaW5nVmFsdWUSJwoPYWdncmVnYXRlX3ZhbHVlGAggASgJUg5hZ2dyZWdhdGVWYWx1ZRpKCghOYW1lUGFydBIbCgluYW1lX3BhcnQYASACKAlSCG5hbWVQYXJ0EiEKDGlzX2V4dGVuc2lvbhgCIAIoCFILaXNFeHRlbnNpb24ipwIKDlNvdXJjZUNvZGVJbmZvEkQKCGxvY2F0aW9uGAEgAygLMiguZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvLkxvY2F0aW9uUghsb2NhdGlvbhrOAQoITG9jYXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSFgoEc3BhbhgCIAMoBUICEAFSBHNwYW4SKQoQbGVhZGluZ19jb21tZW50cxgDIAEoCVIPbGVhZGluZ0NvbW1lbnRzEisKEXRyYWlsaW5nX2NvbW1lbnRzGAQgASgJUhB0cmFpbGluZ0NvbW1lbnRzEjoKGWxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMYBiADKAlSF2xlYWRpbmdEZXRhY2hlZENvbW1lbnRzItACChFHZW5lcmF0ZWRDb2RlSW5mbxJNCgphbm5vdGF0aW9uGAEgAygLMi0uZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb25SCmFubm90YXRpb24a6wEKCkFubm90YXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSHwoLc291cmNlX2ZpbGUYAiABKAlSCnNvdXJjZUZpbGUSFAoFYmVnaW4YAyABKAVSBWJlZ2luEhAKA2VuZBgEIAEoBVIDZW5kElIKCHNlbWFudGljGAUgASgOMjYuZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb24uU2VtYW50aWNSCHNlbWFudGljIigKCFNlbWFudGljEggKBE5PTkUQABIHCgNTRVQQARIJCgVBTElBUxACQn4KE2NvbS5nb29nbGUucHJvdG9idWZCEERlc2NyaXB0b3JQcm90b3NIAVotZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMvZGVzY3JpcHRvcnBi+AEBogIDR1BCqgIaR29vZ2xlLlByb3RvYnVmLlJlZmxlY3Rpb24KqAIKHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8SCmdvb2dsZS5hcGkaFWdvb2dsZS9hcGkvaHR0cC5wcm90bxogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG86SwoEaHR0cBIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGLDKvCIgASgLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVIEaHR0cEJuCg5jb20uZ29vZ2xlLmFwaUIQQW5ub3RhdGlvbnNQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMwqGBAoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvEg9nb29nbGUucHJvdG9idWYiIwoLRG91YmxlVmFsdWUSFAoFdmFsdWUYASABKAFSBXZhbHVlIiIKCkZsb2F0VmFsdWUSFAoFdmFsdWUYASABKAJSBXZhbHVlIiIKCkludDY0VmFsdWUSFAoFdmFsdWUYASABKANSBXZhbHVlIiMKC1VJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgEUgV2YWx1ZSIiCgpJbnQzMlZhbHVlEhQKBXZhbHVlGAEgASgFUgV2YWx1ZSIjCgtVSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoDVIFdmFsdWUiIQoJQm9vbFZhbHVlEhQKBXZhbHVlGAEgASgIUgV2YWx1ZSIjCgtTdHJpbmdWYWx1ZRIUCgV2YWx1ZRgBIAEoCVIFdmFsdWUiIgoKQnl0ZXNWYWx1ZRIUCgV2YWx1ZRgBIAEoDFIFdmFsdWVCgwEKE2NvbS5nb29nbGUucHJvdG9idWZCDVdyYXBwZXJzUHJvdG9QAVoxZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vd3JhcHBlcnNwYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCuIFChxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9idWYimAEKBlN0cnVjdBI7CgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9idWYuU3RydWN0LkZpZWxkc0VudHJ5UgZmaWVsZHMaUQoLRmllbGRzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASKyAgoFVmFsdWUSOwoKbnVsbF92YWx1ZRgBIAEoDjIaLmdvb2dsZS5wcm90b2J1Zi5OdWxsVmFsdWVIAFIJbnVsbFZhbHVlEiMKDG51bWJlcl92YWx1ZRgCIAEoAUgAUgtudW1iZXJWYWx1ZRIjCgxzdHJpbmdfdmFsdWUYAyABKAlIAFILc3RyaW5nVmFsdWUSHwoKYm9vbF92YWx1ZRgEIAEoCEgAUglib29sVmFsdWUSPAoMc3RydWN0X3ZhbHVlGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAUgtzdHJ1Y3RWYWx1ZRI7CgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZUgAUglsaXN0VmFsdWVCBgoEa2luZCI7CglMaXN0VmFsdWUSLgoGdmFsdWVzGAEgAygLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgZ2YWx1ZXMqGwoJTnVsbFZhbHVlEg4KCk5VTExfVkFMVUUQAEJ/ChNjb20uZ29vZ2xlLnByb3RvYnVmQgtTdHJ1Y3RQcm90b1ABWi9nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9zdHJ1Y3RwYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCqY+Cixwcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL29wZW5hcGl2Mi5wcm90bxIpZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMaHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8iswgKB1N3YWdnZXISGAoHc3dhZ2dlchgBIAEoCVIHc3dhZ2dlchJDCgRpbmZvGAIgASgLMi8uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSW5mb1IEaW5mbxISCgRob3N0GAMgASgJUgRob3N0EhsKCWJhc2VfcGF0aBgEIAEoCVIIYmFzZVBhdGgSSwoHc2NoZW1lcxgFIAMoDjIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtZVIHc2NoZW1lcxIaCghjb25zdW1lcxgGIAMoCVIIY29uc3VtZXMSGgoIcHJvZHVjZXMYByADKAlSCHByb2R1Y2VzEl8KCXJlc3BvbnNlcxgKIAMoCzJBLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlN3YWdnZXIuUmVzcG9uc2VzRW50cnlSCXJlc3BvbnNlcxJxChRzZWN1cml0eV9kZWZpbml0aW9ucxgLIAEoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5RGVmaW5pdGlvbnNSE3NlY3VyaXR5RGVmaW5pdGlvbnMSWgoIc2VjdXJpdHkYDCADKAsyPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50UghzZWN1cml0eRJCCgR0YWdzGA0gAygLMi4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuVGFnUgR0YWdzEmUKDWV4dGVybmFsX2RvY3MYDiABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxJiCgpleHRlbnNpb25zGA8gAygLMkIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlci5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMacQoOUmVzcG9uc2VzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBSgQICBAJSgQICRAKItYHCglPcGVyYXRpb24SEgoEdGFncxgBIAMoCVIEdGFncxIYCgdzdW1tYXJ5GAIgASgJUgdzdW1tYXJ5EiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhJlCg1leHRlcm5hbF9kb2NzGAQgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSIQoMb3BlcmF0aW9uX2lkGAUgASgJUgtvcGVyYXRpb25JZBIaCghjb25zdW1lcxgGIAMoCVIIY29uc3VtZXMSGgoIcHJvZHVjZXMYByADKAlSCHByb2R1Y2VzEmEKCXJlc3BvbnNlcxgJIAMoCzJDLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvbi5SZXNwb25zZXNFbnRyeVIJcmVzcG9uc2VzEksKB3NjaGVtZXMYCiADKA4yMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY2hlbWVSB3NjaGVtZXMSHgoKZGVwcmVjYXRlZBgLIAEoCFIKZGVwcmVjYXRlZBJaCghzZWN1cml0eRgMIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnRSCHNlY3VyaXR5EmQKCmV4dGVuc2lvbnMYDSADKAsyRC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5PcGVyYXRpb24uRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zElUKCnBhcmFtZXRlcnMYDiABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5QYXJhbWV0ZXJzUgpwYXJhbWV0ZXJzGnEKDlJlc3BvbnNlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkkKBXZhbHVlGAIgASgLMjMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2VSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4AUoECAgQCSJiCgpQYXJhbWV0ZXJzElQKB2hlYWRlcnMYASADKAsyOi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJQYXJhbWV0ZXJSB2hlYWRlcnMiowIKD0hlYWRlclBhcmFtZXRlchISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhJTCgR0eXBlGAMgASgOMj8uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSGVhZGVyUGFyYW1ldGVyLlR5cGVSBHR5cGUSFgoGZm9ybWF0GAQgASgJUgZmb3JtYXQSGgoIcmVxdWlyZWQYBSABKAhSCHJlcXVpcmVkIkUKBFR5cGUSCwoHVU5LTk9XThAAEgoKBlNUUklORxABEgoKBk5VTUJFUhACEgsKB0lOVEVHRVIQAxILCgdCT09MRUFOEARKBAgGEAdKBAgHEAgi2AEKBkhlYWRlchIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SEgoEdHlwZRgCIAEoCVIEdHlwZRIWCgZmb3JtYXQYAyABKAlSBmZvcm1hdBIYCgdkZWZhdWx0GAYgASgJUgdkZWZhdWx0EhgKB3BhdHRlcm4YDSABKAlSB3BhdHRlcm5KBAgEEAVKBAgFEAZKBAgHEAhKBAgIEAlKBAgJEApKBAgKEAtKBAgLEAxKBAgMEA1KBAgOEA9KBAgPEBBKBAgQEBFKBAgREBJKBAgSEBMimgUKCFJlc3BvbnNlEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhJJCgZzY2hlbWEYAiABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY2hlbWFSBnNjaGVtYRJaCgdoZWFkZXJzGAMgAygLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuSGVhZGVyc0VudHJ5UgdoZWFkZXJzEl0KCGV4YW1wbGVzGAQgAygLMkEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuRXhhbXBsZXNFbnRyeVIIZXhhbXBsZXMSYwoKZXh0ZW5zaW9ucxgFIAMoCzJDLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxptCgxIZWFkZXJzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSRwoFdmFsdWUYAiABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJSBXZhbHVlOgI4ARo7Cg1FeGFtcGxlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEi1gMKBEluZm8SFAoFdGl0bGUYASABKAlSBXRpdGxlEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhIoChB0ZXJtc19vZl9zZXJ2aWNlGAMgASgJUg50ZXJtc09mU2VydmljZRJMCgdjb250YWN0GAQgASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuQ29udGFjdFIHY29udGFjdBJMCgdsaWNlbnNlGAUgASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuTGljZW5zZVIHbGljZW5zZRIYCgd2ZXJzaW9uGAYgASgJUgd2ZXJzaW9uEl8KCmV4dGVuc2lvbnMYByADKAsyPy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5JbmZvLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJFCgdDb250YWN0EhIKBG5hbWUYASABKAlSBG5hbWUSEAoDdXJsGAIgASgJUgN1cmwSFAoFZW1haWwYAyABKAlSBWVtYWlsIi8KB0xpY2Vuc2USEgoEbmFtZRgBIAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybCJLChVFeHRlcm5hbERvY3VtZW50YXRpb24SIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEhAKA3VybBgCIAEoCVIDdXJsIqoCCgZTY2hlbWESVgoLanNvbl9zY2hlbWEYASABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hUgpqc29uU2NoZW1hEiQKDWRpc2NyaW1pbmF0b3IYAiABKAlSDWRpc2NyaW1pbmF0b3ISGwoJcmVhZF9vbmx5GAMgASgIUghyZWFkT25seRJlCg1leHRlcm5hbF9kb2NzGAUgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSGAoHZXhhbXBsZRgGIAEoCVIHZXhhbXBsZUoECAQQBSLXCgoKSlNPTlNjaGVtYRIQCgNyZWYYAyABKAlSA3JlZhIUCgV0aXRsZRgFIAEoCVIFdGl0bGUSIAoLZGVzY3JpcHRpb24YBiABKAlSC2Rlc2NyaXB0aW9uEhgKB2RlZmF1bHQYByABKAlSB2RlZmF1bHQSGwoJcmVhZF9vbmx5GAggASgIUghyZWFkT25seRIYCgdleGFtcGxlGAkgASgJUgdleGFtcGxlEh8KC211bHRpcGxlX29mGAogASgBUgptdWx0aXBsZU9mEhgKB21heGltdW0YCyABKAFSB21heGltdW0SKwoRZXhjbHVzaXZlX21heGltdW0YDCABKAhSEGV4Y2x1c2l2ZU1heGltdW0SGAoHbWluaW11bRgNIAEoAVIHbWluaW11bRIrChFleGNsdXNpdmVfbWluaW11bRgOIAEoCFIQZXhjbHVzaXZlTWluaW11bRIdCgptYXhfbGVuZ3RoGA8gASgEUgltYXhMZW5ndGgSHQoKbWluX2xlbmd0aBgQIAEoBFIJbWluTGVuZ3RoEhgKB3BhdHRlcm4YESABKAlSB3BhdHRlcm4SGwoJbWF4X2l0ZW1zGBQgASgEUghtYXhJdGVtcxIbCgltaW5faXRlbXMYFSABKARSCG1pbkl0ZW1zEiEKDHVuaXF1ZV9pdGVtcxgWIAEoCFILdW5pcXVlSXRlbXMSJQoObWF4X3Byb3BlcnRpZXMYGCABKARSDW1heFByb3BlcnRpZXMSJQoObWluX3Byb3BlcnRpZXMYGSABKARSDW1pblByb3BlcnRpZXMSGgoIcmVxdWlyZWQYGiADKAlSCHJlcXVpcmVkEhQKBWFycmF5GCIgAygJUgVhcnJheRJfCgR0eXBlGCMgAygOMksuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5KU09OU2NoZW1hU2ltcGxlVHlwZXNSBHR5cGUSFgoGZm9ybWF0GCQgASgJUgZmb3JtYXQSEgoEZW51bRguIAMoCVIEZW51bRJ6ChNmaWVsZF9jb25maWd1cmF0aW9uGOkHIAEoCzJILmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWEuRmllbGRDb25maWd1cmF0aW9uUhJmaWVsZENvbmZpZ3VyYXRpb24SZQoKZXh0ZW5zaW9ucxgwIAMoCzJFLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWEuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGjwKEkZpZWxkQ29uZmlndXJhdGlvbhImCg9wYXRoX3BhcmFtX25hbWUYLyABKAlSDXBhdGhQYXJhbU5hbWUaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEidwoVSlNPTlNjaGVtYVNpbXBsZVR5cGVzEgsKB1VOS05PV04QABIJCgVBUlJBWRABEgsKB0JPT0xFQU4QAhILCgdJTlRFR0VSEAMSCAoETlVMTBAEEgoKBk5VTUJFUhAFEgoKBk9CSkVDVBAGEgoKBlNUUklORxAHSgQIARACSgQIAhADSgQIBBAFSgQIEhATSgQIExAUSgQIFxAYSgQIGxAcSgQIHBAdSgQIHRAeSgQIHhAiSgQIJRAqSgQIKhArSgQIKxAuItkCCgNUYWcSEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SZQoNZXh0ZXJuYWxfZG9jcxgDIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEl4KCmV4dGVuc2lvbnMYBCADKAsyPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWcuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIvcBChNTZWN1cml0eURlZmluaXRpb25zEmgKCHNlY3VyaXR5GAEgAygLMkwuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlEZWZpbml0aW9ucy5TZWN1cml0eUVudHJ5UghzZWN1cml0eRp2Cg1TZWN1cml0eUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Ek8KBXZhbHVlGAIgASgLMjkuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWVSBXZhbHVlOgI4ASL/BgoOU2VjdXJpdHlTY2hlbWUSUgoEdHlwZRgBIAEoDjI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLlR5cGVSBHR5cGUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEhIKBG5hbWUYAyABKAlSBG5hbWUSTAoCaW4YBCABKA4yPC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5JblICaW4SUgoEZmxvdxgFIAEoDjI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkZsb3dSBGZsb3cSKwoRYXV0aG9yaXphdGlvbl91cmwYBiABKAlSEGF1dGhvcml6YXRpb25VcmwSGwoJdG9rZW5fdXJsGAcgASgJUgh0b2tlblVybBJJCgZzY29wZXMYCCABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY29wZXNSBnNjb3BlcxJpCgpleHRlbnNpb25zGAkgAygLMkkuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIksKBFR5cGUSEAoMVFlQRV9JTlZBTElEEAASDgoKVFlQRV9CQVNJQxABEhAKDFRZUEVfQVBJX0tFWRACEg8KC1RZUEVfT0FVVEgyEAMiMQoCSW4SDgoKSU5fSU5WQUxJRBAAEgwKCElOX1FVRVJZEAESDQoJSU5fSEVBREVSEAIiagoERmxvdxIQCgxGTE9XX0lOVkFMSUQQABIRCg1GTE9XX0lNUExJQ0lUEAESEQoNRkxPV19QQVNTV09SRBACEhQKEEZMT1dfQVBQTElDQVRJT04QAxIUChBGTE9XX0FDQ0VTU19DT0RFEAQi9gIKE1NlY3VyaXR5UmVxdWlyZW1lbnQSigEKFHNlY3VyaXR5X3JlcXVpcmVtZW50GAEgAygLMlcuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudC5TZWN1cml0eVJlcXVpcmVtZW50RW50cnlSE3NlY3VyaXR5UmVxdWlyZW1lbnQaMAoYU2VjdXJpdHlSZXF1aXJlbWVudFZhbHVlEhQKBXNjb3BlGAEgAygJUgVzY29wZRqfAQoYU2VjdXJpdHlSZXF1aXJlbWVudEVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Em0KBXZhbHVlGAIgASgLMlcuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudC5TZWN1cml0eVJlcXVpcmVtZW50VmFsdWVSBXZhbHVlOgI4ASKWAQoGU2NvcGVzElIKBXNjb3BlGAEgAygLMjwuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NvcGVzLlNjb3BlRW50cnlSBXNjb3BlGjgKClNjb3BlRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASo7CgZTY2hlbWUSCwoHVU5LTk9XThAAEggKBEhUVFAQARIJCgVIVFRQUxACEgYKAldTEAMSBwoDV1NTEARCSFpGZ2l0aHViLmNvbS9ncnBjLWVjb3N5c3RlbS9ncnBjLWdhdGV3YXkvdjIvcHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9uc2IGcHJvdG8zCv0GCi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvEilncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucxogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8aLHByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvb3BlbmFwaXYyLnByb3RvOn4KEW9wZW5hcGl2Ml9zd2FnZ2VyEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGJIIIAEoCzIyLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlN3YWdnZXJSEG9wZW5hcGl2MlN3YWdnZXI6hgEKE29wZW5hcGl2Ml9vcGVyYXRpb24SHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiSCCABKAsyNC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5PcGVyYXRpb25SEm9wZW5hcGl2Mk9wZXJhdGlvbjp+ChBvcGVuYXBpdjJfc2NoZW1hEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGJIIIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtYVIPb3BlbmFwaXYyU2NoZW1hOnUKDW9wZW5hcGl2Ml90YWcSHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMYkgggASgLMi4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuVGFnUgxvcGVuYXBpdjJUYWc6fgoPb3BlbmFwaXYyX2ZpZWxkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiSCCABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hUg5vcGVuYXBpdjJGaWVsZEJIWkZnaXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS92Mi9wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zYgZwcm90bzMKwAQKFXByb3RvL3VzZXIvdXNlci5wcm90bxIOYnVja2V0ZWVyLnVzZXIi3gMKBFVzZXISDgoCaWQYASABKAlSAmlkEjIKBGRhdGEYAiADKAsyHi5idWNrZXRlZXIudXNlci5Vc2VyLkRhdGFFbnRyeVIEZGF0YRJFCgt0YWdnZWRfZGF0YRgDIAMoCzIkLmJ1Y2tldGVlci51c2VyLlVzZXIuVGFnZ2VkRGF0YUVudHJ5Ugp0YWdnZWREYXRhEhsKCWxhc3Rfc2VlbhgEIAEoA1IIbGFzdFNlZW4SHQoKY3JlYXRlZF9hdBgFIAEoA1IJY3JlYXRlZEF0GnwKBERhdGESOgoFdmFsdWUYASADKAsyJC5idWNrZXRlZXIudXNlci5Vc2VyLkRhdGEuVmFsdWVFbnRyeVIFdmFsdWUaOAoKVmFsdWVFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGjcKCURhdGFFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGlgKD1RhZ2dlZERhdGFFbnRyeRIQCgNrZXkYASABKAlSA2tleRIvCgV2YWx1ZRgCIAEoCzIZLmJ1Y2tldGVlci51c2VyLlVzZXIuRGF0YVIFdmFsdWU6AjgBQi5aLGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by91c2VyYgZwcm90bzMK1gEKHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSJnCglWYXJpYXRpb24SDgoCaWQYASABKAlSAmlkEhQKBXZhbHVlGAIgASgJUgV2YWx1ZRISCgRuYW1lGAMgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCp4CChpwcm90by9mZWF0dXJlL3JlYXNvbi5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUisQEKBlJlYXNvbhIyCgR0eXBlGAEgASgOMh4uYnVja2V0ZWVyLmZlYXR1cmUuUmVhc29uLlR5cGVSBHR5cGUSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkIloKBFR5cGUSCgoGVEFSR0VUEAASCAoEUlVMRRABEgsKB0RFRkFVTFQQAxIKCgZDTElFTlQQBBIRCg1PRkZfVkFSSUFUSU9OEAUSEAoMUFJFUkVRVUlTSVRFEAZCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwqYBgoecHJvdG8vZmVhdHVyZS9ldmFsdWF0aW9uLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZRodcHJvdG8vZmVhdHVyZS92YXJpYXRpb24ucHJvdG8aGnByb3RvL2ZlYXR1cmUvcmVhc29uLnByb3RvIuMCCgpFdmFsdWF0aW9uEg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSJwoPZmVhdHVyZV92ZXJzaW9uGAMgASgFUg5mZWF0dXJlVmVyc2lvbhIXCgd1c2VyX2lkGAQgASgJUgZ1c2VySWQSIQoMdmFyaWF0aW9uX2lkGAUgASgJUgt2YXJpYXRpb25JZBI+Cgl2YXJpYXRpb24YBiABKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25CAhgBUgl2YXJpYXRpb24SMQoGcmVhc29uGAcgASgLMhkuYnVja2V0ZWVyLmZlYXR1cmUuUmVhc29uUgZyZWFzb24SJwoPdmFyaWF0aW9uX3ZhbHVlGAggASgJUg52YXJpYXRpb25WYWx1ZRIlCg52YXJpYXRpb25fbmFtZRgJIAEoCVINdmFyaWF0aW9uTmFtZSKGAgoPVXNlckV2YWx1YXRpb25zEhIKAmlkGAEgASgJQgIYAVICaWQSPwoLZXZhbHVhdGlvbnMYAiADKAsyHS5idWNrZXRlZXIuZmVhdHVyZS5FdmFsdWF0aW9uUgtldmFsdWF0aW9ucxIdCgpjcmVhdGVkX2F0GAMgASgDUgljcmVhdGVkQXQSMAoUYXJjaGl2ZWRfZmVhdHVyZV9pZHMYBCADKAlSEmFyY2hpdmVkRmVhdHVyZUlkcxIhCgxmb3JjZV91cGRhdGUYBSABKAhSC2ZvcmNlVXBkYXRlIioKBVN0YXRlEgoKBlFVRVVFRBAAEgsKB1BBUlRJQUwQARIICgRGVUxMEAJCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwrHAwoacHJvdG8vZmVhdHVyZS9jbGF1c2UucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlItoCCgZDbGF1c2USDgoCaWQYASABKAlSAmlkEhwKCWF0dHJpYnV0ZRgCIAEoCVIJYXR0cmlidXRlEj4KCG9wZXJhdG9yGAMgASgOMiIuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvchIWCgZ2YWx1ZXMYBCADKAlSBnZhbHVlcyLJAQoIT3BlcmF0b3ISCgoGRVFVQUxTEAASBgoCSU4QARINCglFTkRTX1dJVEgQAhIPCgtTVEFSVFNfV0lUSBADEgsKB1NFR01FTlQQBBILCgdHUkVBVEVSEAUSFAoQR1JFQVRFUl9PUl9FUVVBTBAGEggKBExFU1MQBxIRCg1MRVNTX09SX0VRVUFMEAgSCgoGQkVGT1JFEAkSCQoFQUZURVIQChIQCgxGRUFUVVJFX0ZMQUcQCxITCg9QQVJUSUFMTFlfTUFUQ0gQDEIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCrsEChxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSItCg1GaXhlZFN0cmF0ZWd5EhwKCXZhcmlhdGlvbhgBIAEoCVIJdmFyaWF0aW9uIqIBCg9Sb2xsb3V0U3RyYXRlZ3kSTAoKdmFyaWF0aW9ucxgBIAMoCzIsLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneS5WYXJpYXRpb25SCnZhcmlhdGlvbnMaQQoJVmFyaWF0aW9uEhwKCXZhcmlhdGlvbhgBIAEoCVIJdmFyaWF0aW9uEhYKBndlaWdodBgCIAEoBVIGd2VpZ2h0IvgBCghTdHJhdGVneRI0CgR0eXBlGAEgASgOMiAuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3kuVHlwZVIEdHlwZRJHCg5maXhlZF9zdHJhdGVneRgCIAEoCzIgLmJ1Y2tldGVlci5mZWF0dXJlLkZpeGVkU3RyYXRlZ3lSDWZpeGVkU3RyYXRlZ3kSTQoQcm9sbG91dF9zdHJhdGVneRgDIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneVIPcm9sbG91dFN0cmF0ZWd5Ih4KBFR5cGUSCQoFRklYRUQQABILCgdST0xMT1VUEAFCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwqpAgoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZRoacHJvdG8vZmVhdHVyZS9jbGF1c2UucHJvdG8aHHByb3RvL2ZlYXR1cmUvc3RyYXRlZ3kucHJvdG8ihAEKBFJ1bGUSDgoCaWQYASABKAlSAmlkEjcKCHN0cmF0ZWd5GAIgASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSCHN0cmF0ZWd5EjMKB2NsYXVzZXMYAyADKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5DbGF1c2VSB2NsYXVzZXNCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwqoAQoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIjwKBlRhcmdldBIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbhIUCgV1c2VycxgCIAMoCVIFdXNlcnNCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwr0AgoqcHJvdG8vZmVhdHVyZS9mZWF0dXJlX2xhc3RfdXNlZF9pbmZvLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSL3AQoTRmVhdHVyZUxhc3RVc2VkSW5mbxIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSGAoHdmVyc2lvbhgCIAEoBVIHdmVyc2lvbhIgCgxsYXN0X3VzZWRfYXQYAyABKANSCmxhc3RVc2VkQXQSHQoKY3JlYXRlZF9hdBgEIAEoA1IJY3JlYXRlZEF0EjIKFWNsaWVudF9vbGRlc3RfdmVyc2lvbhgFIAEoCVITY2xpZW50T2xkZXN0VmVyc2lvbhIyChVjbGllbnRfbGF0ZXN0X3ZlcnNpb24YBiABKAlSE2NsaWVudExhdGVzdFZlcnNpb25CMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwrCAQogcHJvdG8vZmVhdHVyZS9wcmVyZXF1aXNpdGUucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIlAKDFByZXJlcXVpc2l0ZRIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSIQoMdmFyaWF0aW9uX2lkGAIgASgJUgt2YXJpYXRpb25JZEIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCrMMChtwcm90by9mZWF0dXJlL2ZlYXR1cmUucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlGhhwcm90by9mZWF0dXJlL3J1bGUucHJvdG8aGnByb3RvL2ZlYXR1cmUvdGFyZ2V0LnByb3RvGh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxoqcHJvdG8vZmVhdHVyZS9mZWF0dXJlX2xhc3RfdXNlZF9pbmZvLnByb3RvGiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90byLSBwoHRmVhdHVyZRIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SGAoHZW5hYmxlZBgEIAEoCFIHZW5hYmxlZBIYCgdkZWxldGVkGAUgASgIUgdkZWxldGVkEjkKFmV2YWx1YXRpb25fdW5kZWxheWFibGUYBiABKAhCAhgBUhVldmFsdWF0aW9uVW5kZWxheWFibGUSEAoDdHRsGAcgASgFUgN0dGwSGAoHdmVyc2lvbhgIIAEoBVIHdmVyc2lvbhIdCgpjcmVhdGVkX2F0GAkgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgKIAEoA1IJdXBkYXRlZEF0EjwKCnZhcmlhdGlvbnMYCyADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSMwoHdGFyZ2V0cxgMIAMoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLlRhcmdldFIHdGFyZ2V0cxItCgVydWxlcxgNIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEkYKEGRlZmF1bHRfc3RyYXRlZ3kYDiABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIPZGVmYXVsdFN0cmF0ZWd5EiMKDW9mZl92YXJpYXRpb24YDyABKAlSDG9mZlZhcmlhdGlvbhISCgR0YWdzGBAgAygJUgR0YWdzEkwKDmxhc3RfdXNlZF9pbmZvGBEgASgLMiYuYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZUxhc3RVc2VkSW5mb1IMbGFzdFVzZWRJbmZvEh4KCm1haW50YWluZXIYEiABKAlSCm1haW50YWluZXISTwoOdmFyaWF0aW9uX3R5cGUYEyABKA4yKC5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlLlZhcmlhdGlvblR5cGVSDXZhcmlhdGlvblR5cGUSGgoIYXJjaGl2ZWQYFCABKAhSCGFyY2hpdmVkEkUKDXByZXJlcXVpc2l0ZXMYFSADKAsyHy5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVSDXByZXJlcXVpc2l0ZXMSIwoNc2FtcGxpbmdfc2VlZBgWIAEoCVIMc2FtcGxpbmdTZWVkIj4KDVZhcmlhdGlvblR5cGUSCgoGU1RSSU5HEAASCwoHQk9PTEVBThABEgoKBk5VTUJFUhACEggKBEpTT04QAyJSCghGZWF0dXJlcxI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzEg4KAmlkGAIgASgJUgJpZCJzChJFbnZpcm9ubWVudEZlYXR1cmUSJQoOZW52aXJvbm1lbnRfaWQYASABKAlSDWVudmlyb25tZW50SWQSNgoIZmVhdHVyZXMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUghmZWF0dXJlcyJnCgNUYWcSDgoCaWQYASABKAlSAmlkEh0KCmNyZWF0ZWRfYXQYAiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAMgASgDUgl1cGRhdGVkQXQSEgoEbmFtZRgEIAEoCVIEbmFtZUIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCugDCh9nb29nbGUvYXBpL2ZpZWxkX2JlaGF2aW9yLnByb3RvEgpnb29nbGUuYXBpGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90byq2AQoNRmllbGRCZWhhdmlvchIeChpGSUVMRF9CRUhBVklPUl9VTlNQRUNJRklFRBAAEgwKCE9QVElPTkFMEAESDAoIUkVRVUlSRUQQAhIPCgtPVVRQVVRfT05MWRADEg4KCklOUFVUX09OTFkQBBINCglJTU1VVEFCTEUQBRISCg5VTk9SREVSRURfTElTVBAGEhUKEU5PTl9FTVBUWV9ERUZBVUxUEAcSDgoKSURFTlRJRklFUhAIOmQKDmZpZWxkX2JlaGF2aW9yEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxicCCADKA4yGS5nb29nbGUuYXBpLkZpZWxkQmVoYXZpb3JCAhAAUg1maWVsZEJlaGF2aW9yQnAKDmNvbS5nb29nbGUuYXBpQhJGaWVsZEJlaGF2aW9yUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzMK5AEKGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI2CgNBbnkSGQoIdHlwZV91cmwYASABKAlSB3R5cGVVcmwSFAoFdmFsdWUYAiABKAxSBXZhbHVlQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKtQgKG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvIrQECgdTZWdtZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhItCgVydWxlcxgEIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHAoHdmVyc2lvbhgHIAEoA0ICGAFSB3ZlcnNpb24SGAoHZGVsZXRlZBgIIAEoCFIHZGVsZXRlZBIuChNpbmNsdWRlZF91c2VyX2NvdW50GAkgASgDUhFpbmNsdWRlZFVzZXJDb3VudBIyChNleGNsdWRlZF91c2VyX2NvdW50GAogASgDQgIYAVIRZXhjbHVkZWRVc2VyQ291bnQSOQoGc3RhdHVzGAsgASgOMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudC5TdGF0dXNSBnN0YXR1cxInChBpc19pbl91c2Vfc3RhdHVzGAwgASgIUg1pc0luVXNlU3RhdHVzEjYKCGZlYXR1cmVzGA0gAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMiPgoGU3RhdHVzEgsKB0lOSVRJQUwQABINCglVUExPQURJTkcQARIMCghTVUNFRURFRBACEgoKBkZBSUxFRBADItQBCgtTZWdtZW50VXNlchIOCgJpZBgBIAEoCVICaWQSHQoKc2VnbWVudF9pZBgCIAEoCVIJc2VnbWVudElkEhcKB3VzZXJfaWQYAyABKAlSBnVzZXJJZBI6CgVzdGF0ZRgEIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIYCgdkZWxldGVkGAUgASgIUgdkZWxldGVkIicKBVN0YXRlEgwKCElOQ0xVREVEEAASEAoIRVhDTFVERUQQARoCCAEiggEKDFNlZ21lbnRVc2VycxIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSNAoFdXNlcnMYAiADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSHQoKdXBkYXRlZF9hdBgDIAEoA1IJdXBkYXRlZEF0QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKoAUKIHByb3RvL2ZlYXR1cmUvZmxhZ190cmlnZ2VyLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSKtBAoLRmxhZ1RyaWdnZXISDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBI3CgR0eXBlGAQgASgOMiMuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuVHlwZVIEdHlwZRI9CgZhY3Rpb24YBSABKA4yJS5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlci5BY3Rpb25SBmFjdGlvbhIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SIwoNdHJpZ2dlcl9jb3VudBgHIAEoBVIMdHJpZ2dlckNvdW50EioKEWxhc3RfdHJpZ2dlcmVkX2F0GAggASgDUg9sYXN0VHJpZ2dlcmVkQXQSFAoFdG9rZW4YCSABKAlSBXRva2VuEhoKCGRpc2FibGVkGAogASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAsgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgMIAEoA1IJdXBkYXRlZEF0EiUKDmVudmlyb25tZW50X2lkGA0gASgJUg1lbnZpcm9ubWVudElkIioKBFR5cGUSEAoMVHlwZV9VTktOT1dOEAASEAoMVHlwZV9XRUJIT09LEAEiOwoGQWN0aW9uEhIKDkFjdGlvbl9VTktOT1dOEAASDQoJQWN0aW9uX09OEAESDgoKQWN0aW9uX09GRhACSgQIAxAEQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKwCMKG3Byb3RvL2ZlYXR1cmUvY29tbWFuZC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxoacHJvdG8vZmVhdHVyZS9jbGF1c2UucHJvdG8aG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvGh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxobcHJvdG8vZmVhdHVyZS9zZWdtZW50LnByb3RvGiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxogcHJvdG8vZmVhdHVyZS9mbGFnX3RyaWdnZXIucHJvdG8iOQoHQ29tbWFuZBIuCgdjb21tYW5kGAEgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIHY29tbWFuZCK1AwoUQ3JlYXRlRmVhdHVyZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEjwKCnZhcmlhdGlvbnMYBCADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSEgoEdGFncxgFIAMoCVIEdGFncxJYChpkZWZhdWx0X29uX3ZhcmlhdGlvbl9pbmRleBgGIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhdkZWZhdWx0T25WYXJpYXRpb25JbmRleBJaChtkZWZhdWx0X29mZl92YXJpYXRpb25faW5kZXgYByABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIYZGVmYXVsdE9mZlZhcmlhdGlvbkluZGV4Ek8KDnZhcmlhdGlvbl90eXBlGAggASgOMiguYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZS5WYXJpYXRpb25UeXBlUg12YXJpYXRpb25UeXBlIhcKFUFyY2hpdmVGZWF0dXJlQ29tbWFuZCIZChdVbmFyY2hpdmVGZWF0dXJlQ29tbWFuZCIWChREZWxldGVGZWF0dXJlQ29tbWFuZCIqChRSZW5hbWVGZWF0dXJlQ29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lIjwKGENoYW5nZURlc2NyaXB0aW9uQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24iuAEKKUNoYW5nZUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNTdGF0dXNDb21tYW5kEjkKBnN0YXR1cxgBIAEoDjIhLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnQuU3RhdHVzUgZzdGF0dXMSOgoFc3RhdGUYAiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSFAoFY291bnQYAyABKANSBWNvdW50IiEKDUFkZFRhZ0NvbW1hbmQSEAoDdGFnGAEgASgJUgN0YWciJAoQUmVtb3ZlVGFnQ29tbWFuZBIQCgN0YWcYASABKAlSA3RhZyIWChRFbmFibGVGZWF0dXJlQ29tbWFuZCIXChVEaXNhYmxlRmVhdHVyZUNvbW1hbmQiYQoTQWRkVmFyaWF0aW9uQ29tbWFuZBIUCgV2YWx1ZRgBIAEoCVIFdmFsdWUSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24iKAoWUmVtb3ZlVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQiQwobQ2hhbmdlVmFyaWF0aW9uVmFsdWVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUiQAoaQ2hhbmdlVmFyaWF0aW9uTmFtZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiVQohQ2hhbmdlVmFyaWF0aW9uRGVzY3JpcHRpb25Db21tYW5kEg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iKwoZQ2hhbmdlT2ZmVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQiPwoZQWRkVXNlclRvVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSEgoEdXNlchgCIAEoCVIEdXNlciJECh5SZW1vdmVVc2VyRnJvbVZhcmlhdGlvbkNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBHVzZXIYAiABKAlSBHVzZXIiVwocQ2hhbmdlRGVmYXVsdFN0cmF0ZWd5Q29tbWFuZBI3CghzdHJhdGVneRgBIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneSI9Cg5BZGRSdWxlQ29tbWFuZBIrCgRydWxlGAEgASgLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIEcnVsZSJ9ChlDaGFuZ2VSdWxlU3RyYXRlZ3lDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSNwoIc3RyYXRlZ3kYAyABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIIc3RyYXRlZ3kiNAoXQ2hhbmdlUnVsZXNPcmRlckNvbW1hbmQSGQoIcnVsZV9pZHMYAiADKAlSB3J1bGVJZHMiIwoRRGVsZXRlUnVsZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkIl4KEEFkZENsYXVzZUNvbW1hbmQSFwoHcnVsZV9pZBgBIAEoCVIGcnVsZUlkEjEKBmNsYXVzZRgCIAEoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZVIGY2xhdXNlIj4KE0RlbGV0ZUNsYXVzZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZCJlChxDaGFuZ2VDbGF1c2VBdHRyaWJ1dGVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSHAoJYXR0cmlidXRlGAMgASgJUglhdHRyaWJ1dGUihgEKG0NoYW5nZUNsYXVzZU9wZXJhdG9yQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEj4KCG9wZXJhdG9yGAMgASgOMiIuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvciJWChVBZGRDbGF1c2VWYWx1ZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIUCgV2YWx1ZRgDIAEoCVIFdmFsdWUiWQoYUmVtb3ZlQ2xhdXNlVmFsdWVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSFAoFdmFsdWUYAyABKAlSBXZhbHVlIoMBChpDaGFuZ2VGaXhlZFN0cmF0ZWd5Q29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEjwKCHN0cmF0ZWd5GAMgASgLMiAuYnVja2V0ZWVyLmZlYXR1cmUuRml4ZWRTdHJhdGVneVIIc3RyYXRlZ3kihwEKHENoYW5nZVJvbGxvdXRTdHJhdGVneUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBI+CghzdHJhdGVneRgDIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneVIIc3RyYXRlZ3kiTAoUQ3JlYXRlU2VnbWVudENvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iFgoURGVsZXRlU2VnbWVudENvbW1hbmQiLgoYQ2hhbmdlU2VnbWVudE5hbWVDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUiQwofQ2hhbmdlU2VnbWVudERlc2NyaXB0aW9uQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24ibgoVQWRkU2VnbWVudFVzZXJDb21tYW5kEhkKCHVzZXJfaWRzGAEgAygJUgd1c2VySWRzEjoKBXN0YXRlGAIgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlInEKGERlbGV0ZVNlZ21lbnRVc2VyQ29tbWFuZBIZCgh1c2VyX2lkcxgBIAMoCVIHdXNlcklkcxI6CgVzdGF0ZRgCIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZSJvCh1CdWxrVXBsb2FkU2VnbWVudFVzZXJzQ29tbWFuZBISCgRkYXRhGAEgASgMUgRkYXRhEjoKBXN0YXRlGAIgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlIiAKHkluY3JlbWVudEZlYXR1cmVWZXJzaW9uQ29tbWFuZCJCChNDbG9uZUZlYXR1cmVDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkSgQIARACIhoKGFJlc2V0U2FtcGxpbmdTZWVkQ29tbWFuZCJdChZBZGRQcmVyZXF1aXNpdGVDb21tYW5kEkMKDHByZXJlcXVpc2l0ZRgBIAEoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVIMcHJlcmVxdWlzaXRlIjoKGVJlbW92ZVByZXJlcXVpc2l0ZUNvbW1hbmQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkImkKIkNoYW5nZVByZXJlcXVpc2l0ZVZhcmlhdGlvbkNvbW1hbmQSQwoMcHJlcmVxdWlzaXRlGAEgASgLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUgxwcmVyZXF1aXNpdGUi0wEKGENyZWF0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSNwoEdHlwZRgCIAEoDjIjLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLlR5cGVSBHR5cGUSPQoGYWN0aW9uGAMgASgOMiUuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuQWN0aW9uUgZhY3Rpb24SIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uIhkKF1Jlc2V0RmxhZ1RyaWdnZXJDb21tYW5kIkcKI0NoYW5nZUZsYWdUcmlnZ2VyRGVzY3JpcHRpb25Db21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiIaChhFbmFibGVGbGFnVHJpZ2dlckNvbW1hbmQiGwoZRGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZCIaChhEZWxldGVGbGFnVHJpZ2dlckNvbW1hbmQiHwodVXBkYXRlRmxhZ1RyaWdnZXJVc2FnZUNvbW1hbmRCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwq6mgEKG3Byb3RvL2ZlYXR1cmUvc2VydmljZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8aH2dvb2dsZS9hcGkvZmllbGRfYmVoYXZpb3IucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxoucHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90bxobcHJvdG8vZmVhdHVyZS9jb21tYW5kLnByb3RvGhtwcm90by9mZWF0dXJlL2ZlYXR1cmUucHJvdG8aHnByb3RvL2ZlYXR1cmUvZXZhbHVhdGlvbi5wcm90bxoVcHJvdG8vdXNlci91c2VyLnByb3RvGhtwcm90by9mZWF0dXJlL3NlZ21lbnQucHJvdG8aIHByb3RvL2ZlYXR1cmUvZmxhZ190cmlnZ2VyLnByb3RvGh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxogcHJvdG8vZmVhdHVyZS9wcmVyZXF1aXNpdGUucHJvdG8aGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8iUAoRR2V0RmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIkoKEkdldEZlYXR1cmVSZXNwb25zZRI0CgdmZWF0dXJlGAEgASgLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIHZmVhdHVyZSJTChJHZXRGZWF0dXJlc1JlcXVlc3QSEAoDaWRzGAIgAygJUgNpZHMSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgBEAIiTQoTR2V0RmVhdHVyZXNSZXNwb25zZRI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzIvUFChNMaXN0RmVhdHVyZXNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISEgoEdGFncxgDIAMoCVIEdGFncxJJCghvcmRlcl9ieRgEIAEoDjIuLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJeCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNS5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmVhdHVyZXNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIeCgptYWludGFpbmVyGAcgASgJUgptYWludGFpbmVyEjQKB2VuYWJsZWQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUgdlbmFibGVkEkEKDmhhc19leHBlcmltZW50GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVINaGFzRXhwZXJpbWVudBIlCg5zZWFyY2hfa2V5d29yZBgKIAEoCVINc2VhcmNoS2V5d29yZBI2CghhcmNoaXZlZBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGFyY2hpdmVkEkcKEWhhc19wcmVyZXF1aXNpdGVzGAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIQaGFzUHJlcmVxdWlzaXRlcxIlCg5lbnZpcm9ubWVudF9pZBgNIAEoCVINZW52aXJvbm1lbnRJZCJXCgdPcmRlckJ5EgsKB0RFRkFVTFQQABIICgROQU1FEAESDgoKQ1JFQVRFRF9BVBACEg4KClVQREFURURfQVQQAxIICgRUQUdTEAQSCwoHRU5BQkxFRBAFIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAYQByKHAQoUTGlzdEZlYXR1cmVzUmVzcG9uc2USNgoIZmVhdHVyZXMYASADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUghmZWF0dXJlcxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKSAQoaTGlzdEVuYWJsZWRGZWF0dXJlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchISCgR0YWdzGAMgAygJUgR0YWdzEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIBBAFIm0KG0xpc3RFbmFibGVkRmVhdHVyZXNSZXNwb25zZRI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yIoYBChRDcmVhdGVGZWF0dXJlUmVxdWVzdBJBCgdjb21tYW5kGAEgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiTQoVQ3JlYXRlRmVhdHVyZVJlc3BvbnNlEjQKB2ZlYXR1cmUYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUgdmZWF0dXJlIs8FChRVcGRhdGVGZWF0dXJlUmVxdWVzdBIYCgdjb21tZW50GAEgASgJUgdjb21tZW50EiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkEg4KAmlkGAMgASgJUgJpZBIwCgRuYW1lGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbhISCgR0YWdzGAYgAygJUgR0YWdzEjQKB2VuYWJsZWQYByABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUgdlbmFibGVkEjYKCGFyY2hpdmVkGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIYXJjaGl2ZWQSPAoKdmFyaWF0aW9ucxgJIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxJFCg1wcmVyZXF1aXNpdGVzGAogAygLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUg1wcmVyZXF1aXNpdGVzEjMKB3RhcmdldHMYCyADKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5UYXJnZXRSB3RhcmdldHMSLQoFcnVsZXMYDCADKAsyFy5idWNrZXRlZXIuZmVhdHVyZS5SdWxlUgVydWxlcxJGChBkZWZhdWx0X3N0cmF0ZWd5GA0gASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSD2RlZmF1bHRTdHJhdGVneRJBCg1vZmZfdmFyaWF0aW9uGA4gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgxvZmZWYXJpYXRpb24iTQoVVXBkYXRlRmVhdHVyZVJlc3BvbnNlEjQKB2ZlYXR1cmUYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUgdmZWF0dXJlIrABChRFbmFibGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQQoHY29tbWFuZBgCIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRW5hYmxlRmVhdHVyZVJlc3BvbnNlIrIBChVEaXNhYmxlRmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkIKB2NvbW1hbmQYAiABKAsyKC5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZEaXNhYmxlRmVhdHVyZVJlc3BvbnNlIrIBChVBcmNoaXZlRmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkIKB2NvbW1hbmQYAiABKAsyKC5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZBcmNoaXZlRmVhdHVyZVJlc3BvbnNlIrYBChdVbmFyY2hpdmVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSRAoHY29tbWFuZBgCIAEoCzIqLmJ1Y2tldGVlci5mZWF0dXJlLlVuYXJjaGl2ZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGgoYVW5hcmNoaXZlRmVhdHVyZVJlc3BvbnNlIrABChREZWxldGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQQoHY29tbWFuZBgCIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRGVsZXRlRmVhdHVyZVJlc3BvbnNlIt8DChtVcGRhdGVGZWF0dXJlRGV0YWlsc1JlcXVlc3QSDgoCaWQYASABKAlSAmlkEl0KFnJlbmFtZV9mZWF0dXJlX2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5SZW5hbWVGZWF0dXJlQ29tbWFuZFIUcmVuYW1lRmVhdHVyZUNvbW1hbmQSaQoaY2hhbmdlX2Rlc2NyaXB0aW9uX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5DaGFuZ2VEZXNjcmlwdGlvbkNvbW1hbmRSGGNoYW5nZURlc2NyaXB0aW9uQ29tbWFuZBJKChBhZGRfdGFnX2NvbW1hbmRzGAQgAygLMiAuYnVja2V0ZWVyLmZlYXR1cmUuQWRkVGFnQ29tbWFuZFIOYWRkVGFnQ29tbWFuZHMSUwoTcmVtb3ZlX3RhZ19jb21tYW5kcxgFIAMoCzIjLmJ1Y2tldGVlci5mZWF0dXJlLlJlbW92ZVRhZ0NvbW1hbmRSEXJlbW92ZVRhZ0NvbW1hbmRzEhgKB2NvbW1lbnQYByABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYCCABKAlSDWVudmlyb25tZW50SWRKBAgGEAciHgocVXBkYXRlRmVhdHVyZURldGFpbHNSZXNwb25zZSKvAQoeVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBI2Cghjb21tYW5kcxgCIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkNvbW1hbmRSCGNvbW1hbmRzEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiIQofVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXNwb25zZSKhAgodVXBkYXRlRmVhdHVyZVRhcmdldGluZ1JlcXVlc3QSDgoCaWQYASABKAlSAmlkEjYKCGNvbW1hbmRzGAIgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuQ29tbWFuZFIIY29tbWFuZHMSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBJJCgRmcm9tGAUgASgOMjUuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVRhcmdldGluZ1JlcXVlc3QuRnJvbVIEZnJvbRIlCg5lbnZpcm9ubWVudF9pZBgGIAEoCVINZW52aXJvbm1lbnRJZCImCgRGcm9tEgsKB1VOS05PV04QABIICgRVU0VSEAESBwoDT1BTEAJKBAgDEAQiIAoeVXBkYXRlRmVhdHVyZVRhcmdldGluZ1Jlc3BvbnNlIpQBChNDbG9uZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJACgdjb21tYW5kGAIgASgLMiYuYnVja2V0ZWVyLmZlYXR1cmUuQ2xvbmVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIWChRDbG9uZUZlYXR1cmVSZXNwb25zZSLZAQoUQ3JlYXRlU2VnbWVudFJlcXVlc3QSVAoHY29tbWFuZBgBIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZVNlZ21lbnRDb21tYW5kQhEYAZJBDDIKZGVwcmVjYXRlZFIHY29tbWFuZBIXCgRuYW1lGAMgASgJQgPgQQJSBG5hbWUSKgoOZW52aXJvbm1lbnRfaWQYBCABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIgCgtkZXNjcmlwdGlvbhgFIAEoCVILZGVzY3JpcHRpb25KBAgCEAMiTQoVQ3JlYXRlU2VnbWVudFJlc3BvbnNlEjQKB3NlZ21lbnQYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UgdzZWdtZW50IloKEUdldFNlZ21lbnRSZXF1ZXN0EhMKAmlkGAEgASgJQgPgQQJSAmlkEioKDmVudmlyb25tZW50X2lkGAMgASgJQgPgQQJSDWVudmlyb25tZW50SWRKBAgCEAMiSgoSR2V0U2VnbWVudFJlc3BvbnNlEjQKB3NlZ21lbnQYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UgdzZWdtZW50Iq8EChNMaXN0U2VnbWVudHNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISSQoIb3JkZXJfYnkYBCABKA4yLi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudHNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSXgoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjUuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFNlZ21lbnRzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBiABKAlSDXNlYXJjaEtleXdvcmQSMwoGc3RhdHVzGAcgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSBnN0YXR1cxJDChBpc19pbl91c2Vfc3RhdHVzGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVINaXNJblVzZVN0YXR1cxIqCg5lbnZpcm9ubWVudF9pZBgJIAEoCUID4EECUg1lbnZpcm9ubWVudElkIkAKB09yZGVyQnkSCwoHREVGQVVMVBAAEggKBE5BTUUQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAMQBCKHAQoUTGlzdFNlZ21lbnRzUmVzcG9uc2USNgoIc2VnbWVudHMYASADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UghzZWdtZW50cxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKpAQoURGVsZXRlU2VnbWVudFJlcXVlc3QSDgoCaWQYASABKAlSAmlkElQKB2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50Q29tbWFuZEIRGAGSQQwyCmRlcHJlY2F0ZWRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRGVsZXRlU2VnbWVudFJlc3BvbnNlIpUCChRVcGRhdGVTZWdtZW50UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSSQoIY29tbWFuZHMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5Db21tYW5kQhEYAZJBDDIKZGVwcmVjYXRlZFIIY29tbWFuZHMSKgoOZW52aXJvbm1lbnRfaWQYBCABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIwCgRuYW1lGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAYgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbkoECAMQBCJNChVVcGRhdGVTZWdtZW50UmVzcG9uc2USNAoHc2VnbWVudBgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRSB3NlZ21lbnQimAEKFUFkZFNlZ21lbnRVc2VyUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQgoHY29tbWFuZBgCIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLkFkZFNlZ21lbnRVc2VyQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZBZGRTZWdtZW50VXNlclJlc3BvbnNlIp4BChhEZWxldGVTZWdtZW50VXNlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkUKB2NvbW1hbmQYAiABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlckNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGwoZRGVsZXRlU2VnbWVudFVzZXJSZXNwb25zZSK4AQoVR2V0U2VnbWVudFVzZXJSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgd1c2VyX2lkGAIgASgJUgZ1c2VySWQSOgoFc3RhdGUYAyABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgEEAUiTAoWR2V0U2VnbWVudFVzZXJSZXNwb25zZRIyCgR1c2VyGAEgASgLMh4uYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXJSBHVzZXIi5gEKF0xpc3RTZWdtZW50VXNlcnNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHQoKc2VnbWVudF9pZBgDIAEoCVIJc2VnbWVudElkEjEKBXN0YXRlGAQgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSBXN0YXRlEhcKB3VzZXJfaWQYBSABKAlSBnVzZXJJZBIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZEoECAYQByJoChhMaXN0U2VnbWVudFVzZXJzUmVzcG9uc2USNAoFdXNlcnMYASADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3Ii0AIKHUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYAiABKAlSCXNlZ21lbnRJZBJdCgdjb21tYW5kGAMgASgLMjAuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc0NvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkEkgKBGRhdGEYBSABKAxCNJJBMTIvc2VnbWVudCB1c2VyIGlkcyBzZXBhcmF0ZWQgYnkgY29tbWEgb3IgbmV3IGxpbmVSBGRhdGESOgoFc3RhdGUYBiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGVKBAgBEAIiIAoeQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIrMBCh9CdWxrRG93bmxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0EiIKCnNlZ21lbnRfaWQYAiABKAlCA+BBAlIJc2VnbWVudElkEjoKBXN0YXRlGAMgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlEioKDmVudmlyb25tZW50X2lkGAQgASgJQgPgQQJSDWVudmlyb25tZW50SWRKBAgBEAIiNgogQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzUmVzcG9uc2USEgoEZGF0YRgBIAEoDFIEZGF0YSKhAQoXRXZhbHVhdGVGZWF0dXJlc1JlcXVlc3QSKAoEdXNlchgBIAEoCzIULmJ1Y2tldGVlci51c2VyLlVzZXJSBHVzZXISEAoDdGFnGAMgASgJUgN0YWcSHQoKZmVhdHVyZV9pZBgEIAEoCVIJZmVhdHVyZUlkEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAhADImkKGEV2YWx1YXRlRmVhdHVyZXNSZXNwb25zZRJNChB1c2VyX2V2YWx1YXRpb25zGAEgASgLMiIuYnVja2V0ZWVyLmZlYXR1cmUuVXNlckV2YWx1YXRpb25zUg91c2VyRXZhbHVhdGlvbnMirAMKD0xpc3RUYWdzUmVxdWVzdBIbCglwYWdlX3NpemUYAiABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgDIAEoCVIGY3Vyc29yEkUKCG9yZGVyX2J5GAQgASgOMiouYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSWgoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjEuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZCJICgdPcmRlckJ5EgsKB0RFRkFVTFQQABIGCgJJRBABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSCAoETkFNRRAEIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAEQAiJ3ChBMaXN0VGFnc1Jlc3BvbnNlEioKBHRhZ3MYASADKAsyFi5idWNrZXRlZXIuZmVhdHVyZS5UYWdSBHRhZ3MSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiswEKGENyZWF0ZUZsYWdUcmlnZ2VyUmVxdWVzdBJqChtjcmVhdGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAiABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlckNvbW1hbmRSGGNyZWF0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiJwChlDcmVhdGVGbGFnVHJpZ2dlclJlc3BvbnNlEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCLDAQoYRGVsZXRlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJqChtkZWxldGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlckNvbW1hbmRSGGRlbGV0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIbChlEZWxldGVGbGFnVHJpZ2dlclJlc3BvbnNlIuYBChhVcGRhdGVGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEowBCidjaGFuZ2VfZmxhZ190cmlnZ2VyX2Rlc2NyaXB0aW9uX2NvbW1hbmQYAyABKAsyNi5idWNrZXRlZXIuZmVhdHVyZS5DaGFuZ2VGbGFnVHJpZ2dlckRlc2NyaXB0aW9uQ29tbWFuZFIjY2hhbmdlRmxhZ1RyaWdnZXJEZXNjcmlwdGlvbkNvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiGwoZVXBkYXRlRmxhZ1RyaWdnZXJSZXNwb25zZSLDAQoYRW5hYmxlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJqChtlbmFibGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlckNvbW1hbmRSGGVuYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIbChlFbmFibGVGbGFnVHJpZ2dlclJlc3BvbnNlIscBChlEaXNhYmxlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJtChxkaXNhYmxlX2ZsYWdfdHJpZ2dlcl9jb21tYW5kGAMgASgLMiwuYnVja2V0ZWVyLmZlYXR1cmUuRGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZFIZZGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIcChpEaXNhYmxlRmxhZ1RyaWdnZXJSZXNwb25zZSK/AQoXUmVzZXRGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEmcKGnJlc2V0X2ZsYWdfdHJpZ2dlcl9jb21tYW5kGAMgASgLMiouYnVja2V0ZWVyLmZlYXR1cmUuUmVzZXRGbGFnVHJpZ2dlckNvbW1hbmRSF3Jlc2V0RmxhZ1RyaWdnZXJDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIm8KGFJlc2V0RmxhZ1RyaWdnZXJSZXNwb25zZRJBCgxmbGFnX3RyaWdnZXIYASABKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlclILZmxhZ1RyaWdnZXISEAoDdXJsGAIgASgJUgN1cmwiVAoVR2V0RmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyJtChZHZXRGbGFnVHJpZ2dlclJlc3BvbnNlEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCKqAwoXTGlzdEZsYWdUcmlnZ2Vyc1JlcXVlc3QSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhYKBmN1cnNvchgDIAEoCVIGY3Vyc29yEhsKCXBhZ2Vfc2l6ZRgEIAEoBVIIcGFnZVNpemUSTQoIb3JkZXJfYnkYBSABKA4yMi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmxhZ1RyaWdnZXJzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmIKD29yZGVyX2RpcmVjdGlvbhgGIAEoDjI5LmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZCI2CgdPcmRlckJ5EgsKB0RFRkFVTFQQABIOCgpDUkVBVEVEX0FUEAESDgoKVVBEQVRFRF9BVBACIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAIQAyKjAgoYTGlzdEZsYWdUcmlnZ2Vyc1Jlc3BvbnNlEmMKDWZsYWdfdHJpZ2dlcnMYASADKAsyPi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmxhZ1RyaWdnZXJzUmVzcG9uc2UuRmxhZ1RyaWdnZXJXaXRoVXJsUgxmbGFnVHJpZ2dlcnMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQaaQoSRmxhZ1RyaWdnZXJXaXRoVXJsEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCIxChlGbGFnVHJpZ2dlcldlYmhvb2tSZXF1ZXN0EhQKBXRva2VuGAEgASgJUgV0b2tlbiIcChpGbGFnVHJpZ2dlcldlYmhvb2tSZXNwb25zZTLEPAoORmVhdHVyZVNlcnZpY2USWwoKR2V0RmVhdHVyZRIkLmJ1Y2tldGVlci5mZWF0dXJlLkdldEZlYXR1cmVSZXF1ZXN0GiUuYnVja2V0ZWVyLmZlYXR1cmUuR2V0RmVhdHVyZVJlc3BvbnNlIgASXgoLR2V0RmVhdHVyZXMSJS5idWNrZXRlZXIuZmVhdHVyZS5HZXRGZWF0dXJlc1JlcXVlc3QaJi5idWNrZXRlZXIuZmVhdHVyZS5HZXRGZWF0dXJlc1Jlc3BvbnNlIgASYQoMTGlzdEZlYXR1cmVzEiYuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZlYXR1cmVzUmVxdWVzdBonLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1Jlc3BvbnNlIgASdgoTTGlzdEVuYWJsZWRGZWF0dXJlcxItLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RFbmFibGVkRmVhdHVyZXNSZXF1ZXN0Gi4uYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEVuYWJsZWRGZWF0dXJlc1Jlc3BvbnNlIgASZAoNQ3JlYXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlRmVhdHVyZVJlc3BvbnNlIgASZAoNVXBkYXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVJlc3BvbnNlIgASZwoNRW5hYmxlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuRW5hYmxlRmVhdHVyZVJlc3BvbnNlIgOIAgESagoORGlzYWJsZUZlYXR1cmUSKC5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZVJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZVJlc3BvbnNlIgOIAgESZwoOQXJjaGl2ZUZlYXR1cmUSKC5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZVJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZVJlc3BvbnNlIgASbQoQVW5hcmNoaXZlRmVhdHVyZRIqLmJ1Y2tldGVlci5mZWF0dXJlLlVuYXJjaGl2ZUZlYXR1cmVSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuVW5hcmNoaXZlRmVhdHVyZVJlc3BvbnNlIgASZAoNRGVsZXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlRmVhdHVyZVJlc3BvbnNlIgASeQoUVXBkYXRlRmVhdHVyZURldGFpbHMSLi5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlRGV0YWlsc1JlcXVlc3QaLy5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlRGV0YWlsc1Jlc3BvbnNlIgASggEKF1VwZGF0ZUZlYXR1cmVWYXJpYXRpb25zEjEuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXF1ZXN0GjIuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXNwb25zZSIAEn8KFlVwZGF0ZUZlYXR1cmVUYXJnZXRpbmcSMC5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVxdWVzdBoxLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVUYXJnZXRpbmdSZXNwb25zZSIAEmEKDENsb25lRmVhdHVyZRImLmJ1Y2tldGVlci5mZWF0dXJlLkNsb25lRmVhdHVyZVJlcXVlc3QaJy5idWNrZXRlZXIuZmVhdHVyZS5DbG9uZUZlYXR1cmVSZXNwb25zZSIAEqYECg1DcmVhdGVTZWdtZW50EicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlU2VnbWVudFJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVTZWdtZW50UmVzcG9uc2UiwQOSQacDCgdzZWdtZW50EgZDcmVhdGUaEUNyZWF0ZSBhIHNlZ21lbnQuKhV3ZWIudjEuc2VnbWVudC5jcmVhdGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIQIgsvdjEvc2VnbWVudDoBKhKRBAoKR2V0U2VnbWVudBIkLmJ1Y2tldGVlci5mZWF0dXJlLkdldFNlZ21lbnRSZXF1ZXN0GiUuYnVja2V0ZWVyLmZlYXR1cmUuR2V0U2VnbWVudFJlc3BvbnNlIrUDkkGeAwoHc2VnbWVudBIDR2V0Gg5HZXQgYSBzZWdtZW50LioSd2ViLnYxLnNlZ21lbnQuZ2V0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDRILL3YxL3NlZ21lbnQSmgQKDExpc3RTZWdtZW50cxImLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50c1JlcXVlc3QaJy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudHNSZXNwb25zZSK4A5JBoAMKB3NlZ21lbnQSBExpc3QaDkxpc3Qgc2VnbWVudHMuKhN3ZWIudjEuc2VnbWVudC5saXN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDhIML3YxL3NlZ21lbnRzEqMECg1EZWxldGVTZWdtZW50EicuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlU2VnbWVudFJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50UmVzcG9uc2UivgOSQacDCgdzZWdtZW50EgZEZWxldGUaEURlbGV0ZSBhIHNlZ21lbnQuKhV3ZWIudjEuc2VnbWVudC5kZWxldGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwINKgsvdjEvc2VnbWVudBKmBAoNVXBkYXRlU2VnbWVudBInLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZVNlZ21lbnRSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlU2VnbWVudFJlc3BvbnNlIsEDkkGnAwoHc2VnbWVudBIGVXBkYXRlGhFVcGRhdGUgYSBzZWdtZW50LioVd2ViLnYxLnNlZ21lbnQudXBkYXRlSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCEDILL3YxL3NlZ21lbnQ6ASoSagoOQWRkU2VnbWVudFVzZXISKC5idWNrZXRlZXIuZmVhdHVyZS5BZGRTZWdtZW50VXNlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5BZGRTZWdtZW50VXNlclJlc3BvbnNlIgOIAgEScwoRRGVsZXRlU2VnbWVudFVzZXISKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlclJlc3BvbnNlIgOIAgESagoOR2V0U2VnbWVudFVzZXISKC5idWNrZXRlZXIuZmVhdHVyZS5HZXRTZWdtZW50VXNlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5HZXRTZWdtZW50VXNlclJlc3BvbnNlIgOIAgESbQoQTGlzdFNlZ21lbnRVc2VycxIqLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50VXNlcnNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIgAS7AQKFkJ1bGtVcGxvYWRTZWdtZW50VXNlcnMSMC5idWNrZXRlZXIuZmVhdHVyZS5CdWxrVXBsb2FkU2VnbWVudFVzZXJzUmVxdWVzdBoxLmJ1Y2tldGVlci5mZWF0dXJlLkJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXNwb25zZSLsA5JBwAMKB3NlZ21lbnQSC0J1bGsgdXBsb2FkGhpCdWxrIHVwbG9hZCBzZWdtZW50IHVzZXJzLiogd2ViLnYxLnNlZ21lbnRfdXNlcnMuYnVsa191cGxvYWRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIiIh0vdjEvc2VnbWVudF91c2Vycy9idWxrX3VwbG9hZDoBKhL3BAoYQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzEjIuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzUmVxdWVzdBozLmJ1Y2tldGVlci5mZWF0dXJlLkJ1bGtEb3dubG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIvEDkkHGAwoHc2VnbWVudBINQnVsayBkb3dubG9hZBocQnVsayBkb3dubG9hZCBzZWdtZW50IHVzZXJzLioid2ViLnYxLnNlZ21lbnRfdXNlcnMuYnVsa19kb3dubG9hZEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiESHy92MS9zZWdtZW50X3VzZXJzL2J1bGtfZG93bmxvYWQSbQoQRXZhbHVhdGVGZWF0dXJlcxIqLmJ1Y2tldGVlci5mZWF0dXJlLkV2YWx1YXRlRmVhdHVyZXNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGVGZWF0dXJlc1Jlc3BvbnNlIgAS/gMKCExpc3RUYWdzEiIuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXF1ZXN0GiMuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXNwb25zZSKoA5JBlAMKA3RhZxIETGlzdBoKTGlzdCB0YWdzLioPd2ViLnYxLnRhZy5saXN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCChIIL3YxL3RhZ3MScAoRQ3JlYXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRVXBkYXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRRW5hYmxlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScwoSRGlzYWJsZUZsYWdUcmlnZ2VyEiwuYnVja2V0ZWVyLmZlYXR1cmUuRGlzYWJsZUZsYWdUcmlnZ2VyUmVxdWVzdBotLmJ1Y2tldGVlci5mZWF0dXJlLkRpc2FibGVGbGFnVHJpZ2dlclJlc3BvbnNlIgASbQoQUmVzZXRGbGFnVHJpZ2dlchIqLmJ1Y2tldGVlci5mZWF0dXJlLlJlc2V0RmxhZ1RyaWdnZXJSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuUmVzZXRGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRRGVsZXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlclJlc3BvbnNlIgASZwoOR2V0RmxhZ1RyaWdnZXISKC5idWNrZXRlZXIuZmVhdHVyZS5HZXRGbGFnVHJpZ2dlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5HZXRGbGFnVHJpZ2dlclJlc3BvbnNlIgASbQoQTGlzdEZsYWdUcmlnZ2VycxIqLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZsYWdUcmlnZ2Vyc1Jlc3BvbnNlIgASlAEKEkZsYWdUcmlnZ2VyV2ViaG9vaxIsLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyV2ViaG9va1JlcXVlc3QaLS5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlcldlYmhvb2tSZXNwb25zZSIhgtPkkwIbIhkvd2ViaG9vay90cmlnZ2Vycy97dG9rZW59QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKnAMKFXByb3RvL3B1c2gvcHVzaC5wcm90bxIOYnVja2V0ZWVyLnB1c2giugIKBFB1c2gSDgoCaWQYASABKAlSAmlkEhIKBHRhZ3MYAyADKAlSBHRhZ3MSGAoHZGVsZXRlZBgEIAEoCFIHZGVsZXRlZBISCgRuYW1lGAUgASgJUgRuYW1lEh0KCmNyZWF0ZWRfYXQYBiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAcgASgDUgl1cGRhdGVkQXQSLgoTZmNtX3NlcnZpY2VfYWNjb3VudBgIIAEoCVIRZmNtU2VydmljZUFjY291bnQSGgoIZGlzYWJsZWQYCSABKAhSCGRpc2FibGVkEiUKDmVudmlyb25tZW50X2lkGAogASgJUg1lbnZpcm9ubWVudElkEikKEGVudmlyb25tZW50X25hbWUYCyABKAlSD2Vudmlyb25tZW50TmFtZUoECAIQA0IuWixnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vcHVzaGIGcHJvdG8zCuoCChhwcm90by9wdXNoL2NvbW1hbmQucHJvdG8SDmJ1Y2tldGVlci5wdXNoInEKEUNyZWF0ZVB1c2hDb21tYW5kEhIKBHRhZ3MYAiADKAlSBHRhZ3MSEgoEbmFtZRgDIAEoCVIEbmFtZRIuChNmY21fc2VydmljZV9hY2NvdW50GAQgASgMUhFmY21TZXJ2aWNlQWNjb3VudEoECAEQAiIoChJBZGRQdXNoVGFnc0NvbW1hbmQSEgoEdGFncxgBIAMoCVIEdGFncyIrChVEZWxldGVQdXNoVGFnc0NvbW1hbmQSEgoEdGFncxgBIAMoCVIEdGFncyITChFEZWxldGVQdXNoQ29tbWFuZCInChFSZW5hbWVQdXNoQ29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lQi5aLGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9wdXNoYgZwcm90bzMKySEKGHByb3RvL3B1c2gvc2VydmljZS5wcm90bxIOYnVja2V0ZWVyLnB1c2gaHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxofZ29vZ2xlL2FwaS9maWVsZF9iZWhhdmlvci5wcm90bxoucHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90bxoVcHJvdG8vcHVzaC9wdXNoLnByb3RvGhhwcm90by9wdXNoL2NvbW1hbmQucHJvdG8i2QEKEUNyZWF0ZVB1c2hSZXF1ZXN0Ej8KB2NvbW1hbmQYAiABKAsyIS5idWNrZXRlZXIucHVzaC5DcmVhdGVQdXNoQ29tbWFuZEICGAFSB2NvbW1hbmQSEgoEdGFncxgDIAMoCVIEdGFncxISCgRuYW1lGAQgASgJUgRuYW1lEi4KE2ZjbV9zZXJ2aWNlX2FjY291bnQYBSABKAxSEWZjbVNlcnZpY2VBY2NvdW50EiUKDmVudmlyb25tZW50X2lkGAYgASgJUg1lbnZpcm9ubWVudElkSgQIARACIj4KEkNyZWF0ZVB1c2hSZXNwb25zZRIoCgRwdXNoGAEgASgLMhQuYnVja2V0ZWVyLnB1c2guUHVzaFIEcHVzaCKhBAoRTGlzdFB1c2hlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAIgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAyABKAlSBmN1cnNvchJECghvcmRlcl9ieRgEIAEoDjIpLmJ1Y2tldGVlci5wdXNoLkxpc3RQdXNoZXNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSWQoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjAuYnVja2V0ZWVyLnB1c2guTGlzdFB1c2hlc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAYgASgJUg1zZWFyY2hLZXl3b3JkEiUKDmVudmlyb25tZW50X2lkGAcgASgJUg1lbnZpcm9ubWVudElkEicKD29yZ2FuaXphdGlvbl9pZBgIIAEoCVIOb3JnYW5pemF0aW9uSWQSNgoIZGlzYWJsZWQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZCJcCgdPcmRlckJ5EgsKB0RFRkFVTFQQABIICgROQU1FEAESDgoKQ1JFQVRFRF9BVBACEg4KClVQREFURURfQVQQAxIPCgtFTlZJUk9OTUVOVBAEEgkKBVNUQVRFEAUiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIARACInsKEkxpc3RQdXNoZXNSZXNwb25zZRIsCgZwdXNoZXMYASADKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgZwdXNoZXMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQijQEKEURlbGV0ZVB1c2hSZXF1ZXN0Eg4KAmlkGAIgASgJUgJpZBI7Cgdjb21tYW5kGAMgASgLMiEuYnVja2V0ZWVyLnB1c2guRGVsZXRlUHVzaENvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgBEAIiFAoSRGVsZXRlUHVzaFJlc3BvbnNlIu4DChFVcGRhdGVQdXNoUmVxdWVzdBITCgJpZBgCIAEoCUID4EECUgJpZBJZChVhZGRfcHVzaF90YWdzX2NvbW1hbmQYAyABKAsyIi5idWNrZXRlZXIucHVzaC5BZGRQdXNoVGFnc0NvbW1hbmRCAhgBUhJhZGRQdXNoVGFnc0NvbW1hbmQSYgoYZGVsZXRlX3B1c2hfdGFnc19jb21tYW5kGAQgASgLMiUuYnVja2V0ZWVyLnB1c2guRGVsZXRlUHVzaFRhZ3NDb21tYW5kQgIYAVIVZGVsZXRlUHVzaFRhZ3NDb21tYW5kElUKE3JlbmFtZV9wdXNoX2NvbW1hbmQYBSABKAsyIS5idWNrZXRlZXIucHVzaC5SZW5hbWVQdXNoQ29tbWFuZEICGAFSEXJlbmFtZVB1c2hDb21tYW5kEhIKBHRhZ3MYBiADKAlSBHRhZ3MSMAoEbmFtZRgHIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRIqCg5lbnZpcm9ubWVudF9pZBgIIAEoCUID4EECUg1lbnZpcm9ubWVudElkEjYKCGRpc2FibGVkGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWRKBAgBEAIiPgoSVXBkYXRlUHVzaFJlc3BvbnNlEigKBHB1c2gYASABKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgRwdXNoIlEKDkdldFB1c2hSZXF1ZXN0EioKDmVudmlyb25tZW50X2lkGAEgASgJQgPgQQJSDWVudmlyb25tZW50SWQSEwoCaWQYAiABKAlCA+BBAlICaWQiOwoPR2V0UHVzaFJlc3BvbnNlEigKBHB1c2gYASABKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgRwdXNoMoARCgtQdXNoU2VydmljZRKEBAoKTGlzdFB1c2hlcxIhLmJ1Y2tldGVlci5wdXNoLkxpc3RQdXNoZXNSZXF1ZXN0GiIuYnVja2V0ZWVyLnB1c2guTGlzdFB1c2hlc1Jlc3BvbnNlIq4DkkGYAwoEcHVzaBIETGlzdBoMTGlzdCBwdXNoZXMuKhB3ZWIudjEucHVzaC5saXN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDBIKL3YxL3B1c2hlcxKLBAoKQ3JlYXRlUHVzaBIhLmJ1Y2tldGVlci5wdXNoLkNyZWF0ZVB1c2hSZXF1ZXN0GiIuYnVja2V0ZWVyLnB1c2guQ3JlYXRlUHVzaFJlc3BvbnNlIrUDkkGeAwoEcHVzaBIGQ3JlYXRlGg5DcmVhdGUgYSBwdXNoLioSd2ViLnYxLnB1c2guY3JlYXRlSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDSIIL3YxL3B1c2g6ASoSiwQKClVwZGF0ZVB1c2gSIS5idWNrZXRlZXIucHVzaC5VcGRhdGVQdXNoUmVxdWVzdBoiLmJ1Y2tldGVlci5wdXNoLlVwZGF0ZVB1c2hSZXNwb25zZSK1A5JBngMKBHB1c2gSBlVwZGF0ZRoOVXBkYXRlIGEgcHVzaC4qEndlYi52MS5wdXNoLnVwZGF0ZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAg0yCC92MS9wdXNoOgEqEvYDCgdHZXRQdXNoEh4uYnVja2V0ZWVyLnB1c2guR2V0UHVzaFJlcXVlc3QaHy5idWNrZXRlZXIucHVzaC5HZXRQdXNoUmVzcG9uc2UiqQOSQZUDCgRwdXNoEgNHZXQaC0dldCBhIHB1c2guKg93ZWIudjEucHVzaC5nZXRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIKEggvdjEvcHVzaBJVCgpEZWxldGVQdXNoEiEuYnVja2V0ZWVyLnB1c2guRGVsZXRlUHVzaFJlcXVlc3QaIi5idWNrZXRlZXIucHVzaC5EZWxldGVQdXNoUmVzcG9uc2UiAEIuWixnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vcHVzaGIGcHJvdG8zCucDCiNwcm90by9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IukCCg1FbnZpcm9ubWVudFYyEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIdCgpwcm9qZWN0X2lkGAUgASgJUglwcm9qZWN0SWQSGgoIYXJjaGl2ZWQYBiABKAhSCGFyY2hpdmVkEh0KCmNyZWF0ZWRfYXQYByABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAggASgDUgl1cGRhdGVkQXQSJwoPb3JnYW5pemF0aW9uX2lkGAkgASgJUg5vcmdhbml6YXRpb25JZBInCg9yZXF1aXJlX2NvbW1lbnQYCiABKAhSDnJlcXVpcmVDb21tZW50EiwKEmZlYXR1cmVfZmxhZ19jb3VudBgLIAEoBVIQZmVhdHVyZUZsYWdDb3VudEI1WjNnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZW52aXJvbm1lbnRiBnByb3RvMwr9AwofcHJvdG8vZW52aXJvbm1lbnQvcHJvamVjdC5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IoMDCgdQcm9qZWN0Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SGgoIZGlzYWJsZWQYAyABKAhSCGRpc2FibGVkEhQKBXRyaWFsGAQgASgIUgV0cmlhbBIjCg1jcmVhdG9yX2VtYWlsGAUgASgJUgxjcmVhdG9yRW1haWwSHQoKY3JlYXRlZF9hdBgGIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYByABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAggASgJUgRuYW1lEhkKCHVybF9jb2RlGAkgASgJUgd1cmxDb2RlEicKD29yZ2FuaXphdGlvbl9pZBgKIAEoCVIOb3JnYW5pemF0aW9uSWQSKwoRZW52aXJvbm1lbnRfY291bnQYCyABKAVSEGVudmlyb25tZW50Q291bnQSLAoSZmVhdHVyZV9mbGFnX2NvdW50GAwgASgFUhBmZWF0dXJlRmxhZ0NvdW50QjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCq8ECiRwcm90by9lbnZpcm9ubWVudC9vcmdhbml6YXRpb24ucHJvdG8SFWJ1Y2tldGVlci5lbnZpcm9ubWVudCKwAwoMT3JnYW5pemF0aW9uEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgFIAEoCFIIZGlzYWJsZWQSGgoIYXJjaGl2ZWQYBiABKAhSCGFyY2hpdmVkEhQKBXRyaWFsGAcgASgIUgV0cmlhbBIdCgpjcmVhdGVkX2F0GAggASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgJIAEoA1IJdXBkYXRlZEF0EiEKDHN5c3RlbV9hZG1pbhgKIAEoCFILc3lzdGVtQWRtaW4SIwoNcHJvamVjdF9jb3VudBgLIAEoBVIMcHJvamVjdENvdW50EisKEWVudmlyb25tZW50X2NvdW50GAwgASgFUhBlbnZpcm9ubWVudENvdW50Eh0KCnVzZXJfY291bnQYDSABKAVSCXVzZXJDb3VudBIfCgtvd25lcl9lbWFpbBgOIAEoCVIKb3duZXJFbWFpbEI1WjNnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZW52aXJvbm1lbnRiBnByb3RvMwqQAwohcHJvdG8vYWNjb3VudC9zZWFyY2hfZmlsdGVyLnByb3RvEhFidWNrZXRlZXIuYWNjb3VudCLpAQoMU2VhcmNoRmlsdGVyEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhQKBXF1ZXJ5GAMgASgJUgVxdWVyeRJRChJmaWx0ZXJfdGFyZ2V0X3R5cGUYBCABKA4yIy5idWNrZXRlZXIuYWNjb3VudC5GaWx0ZXJUYXJnZXRUeXBlUhBmaWx0ZXJUYXJnZXRUeXBlEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkEiUKDmRlZmF1bHRfZmlsdGVyGAYgASgIUg1kZWZhdWx0RmlsdGVyKjEKEEZpbHRlclRhcmdldFR5cGUSCwoHVU5LTk9XThAAEhAKDEZFQVRVUkVfRkxBRxABQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hY2NvdW50YgZwcm90bzMKwBMKG3Byb3RvL2FjY291bnQvYWNjb3VudC5wcm90bxIRYnVja2V0ZWVyLmFjY291bnQaI3Byb3RvL2Vudmlyb25tZW50L2Vudmlyb25tZW50LnByb3RvGh9wcm90by9lbnZpcm9ubWVudC9wcm9qZWN0LnByb3RvGiRwcm90by9lbnZpcm9ubWVudC9vcmdhbml6YXRpb24ucHJvdG8aIXByb3RvL2FjY291bnQvc2VhcmNoX2ZpbHRlci5wcm90byKrAgoHQWNjb3VudBIOCgJpZBgBIAEoCVICaWQSFAoFZW1haWwYAiABKAlSBWVtYWlsEhIKBG5hbWUYAyABKAlSBG5hbWUSMwoEcm9sZRgEIAEoDjIfLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnQuUm9sZVIEcm9sZRIaCghkaXNhYmxlZBgFIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgGIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYByABKANSCXVwZGF0ZWRBdBIYCgdkZWxldGVkGAggASgIUgdkZWxldGVkIjkKBFJvbGUSCgoGVklFV0VSEAASCgoGRURJVE9SEAESCQoFT1dORVIQAhIOCgpVTkFTU0lHTkVEEGM6AhgBIqgICglBY2NvdW50VjISFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSKAoQYXZhdGFyX2ltYWdlX3VybBgDIAEoCVIOYXZhdGFySW1hZ2VVcmwSJwoPb3JnYW5pemF0aW9uX2lkGAQgASgJUg5vcmdhbml6YXRpb25JZBJbChFvcmdhbml6YXRpb25fcm9sZRgFIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgGIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSGgoIZGlzYWJsZWQYByABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYCCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAkgASgDUgl1cGRhdGVkQXQSRgoOc2VhcmNoX2ZpbHRlcnMYCiADKAsyHy5idWNrZXRlZXIuYWNjb3VudC5TZWFyY2hGaWx0ZXJSDXNlYXJjaEZpbHRlcnMSHQoKZmlyc3RfbmFtZRgLIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgMIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYDSABKAlSCGxhbmd1YWdlEhsKCWxhc3Rfc2VlbhgOIAEoA1IIbGFzdFNlZW4SKAoQYXZhdGFyX2ZpbGVfdHlwZRgPIAEoCVIOYXZhdGFyRmlsZVR5cGUSIQoMYXZhdGFyX2ltYWdlGBAgASgMUgthdmF0YXJJbWFnZRIrChFlbnZpcm9ubWVudF9jb3VudBgRIAEoBVIQZW52aXJvbm1lbnRDb3VudBrXAQoEUm9sZSJZCgtFbnZpcm9ubWVudBIaChZFbnZpcm9ubWVudF9VTkFTU0lHTkVEEAASFgoSRW52aXJvbm1lbnRfVklFV0VSEAESFgoSRW52aXJvbm1lbnRfRURJVE9SEAIidAoMT3JnYW5pemF0aW9uEhsKF09yZ2FuaXphdGlvbl9VTkFTU0lHTkVEEAASFwoTT3JnYW5pemF0aW9uX01FTUJFUhABEhYKEk9yZ2FuaXphdGlvbl9BRE1JThACEhYKEk9yZ2FuaXphdGlvbl9PV05FUhADGnsKD0Vudmlyb25tZW50Um9sZRIlCg5lbnZpcm9ubWVudF9pZBgBIAEoCVINZW52aXJvbm1lbnRJZBJBCgRyb2xlGAIgASgOMi0uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuRW52aXJvbm1lbnRSBHJvbGUi6gYKDkNvbnNvbGVBY2NvdW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBISCgRuYW1lGAIgASgJUgRuYW1lEh0KCmF2YXRhcl91cmwYAyABKAlSCWF2YXRhclVybBImCg9pc19zeXN0ZW1fYWRtaW4YBCABKAhSDWlzU3lzdGVtQWRtaW4SRwoMb3JnYW5pemF0aW9uGAUgASgLMiMuYnVja2V0ZWVyLmVudmlyb25tZW50Lk9yZ2FuaXphdGlvblIMb3JnYW5pemF0aW9uElsKEW9yZ2FuaXphdGlvbl9yb2xlGAYgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUhBvcmdhbml6YXRpb25Sb2xlEl4KEWVudmlyb25tZW50X3JvbGVzGAcgAygLMjEuYnVja2V0ZWVyLmFjY291bnQuQ29uc29sZUFjY291bnQuRW52aXJvbm1lbnRSb2xlUhBlbnZpcm9ubWVudFJvbGVzEkYKDnNlYXJjaF9maWx0ZXJzGAggAygLMh8uYnVja2V0ZWVyLmFjY291bnQuU2VhcmNoRmlsdGVyUg1zZWFyY2hGaWx0ZXJzEh0KCmZpcnN0X25hbWUYCSABKAlSCWZpcnN0TmFtZRIbCglsYXN0X25hbWUYCiABKAlSCGxhc3ROYW1lEhoKCGxhbmd1YWdlGAsgASgJUghsYW5ndWFnZRIoChBhdmF0YXJfZmlsZV90eXBlGAwgASgJUg5hdmF0YXJGaWxlVHlwZRIhCgxhdmF0YXJfaW1hZ2UYDSABKAxSC2F2YXRhckltYWdlEhsKCWxhc3Rfc2VlbhgOIAEoA1IIbGFzdFNlZW4a1gEKD0Vudmlyb25tZW50Um9sZRJGCgtlbnZpcm9ubWVudBgBIAEoCzIkLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5FbnZpcm9ubWVudFYyUgtlbnZpcm9ubWVudBI4Cgdwcm9qZWN0GAIgASgLMh4uYnVja2V0ZWVyLmVudmlyb25tZW50LlByb2plY3RSB3Byb2plY3QSQQoEcm9sZRgDIAEoDjItLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLkVudmlyb25tZW50UgRyb2xlQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hY2NvdW50YgZwcm90bzMK5gYKG3Byb3RvL2FjY291bnQvYXBpX2tleS5wcm90bxIRYnVja2V0ZWVyLmFjY291bnQaI3Byb3RvL2Vudmlyb25tZW50L2Vudmlyb25tZW50LnByb3RvIrsDCgZBUElLZXkSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSMgoEcm9sZRgDIAEoDjIeLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleS5Sb2xlUgRyb2xlEhoKCGRpc2FibGVkGAQgASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAUgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgGIAEoA1IJdXBkYXRlZEF0Eh4KCm1haW50YWluZXIYByABKAlSCm1haW50YWluZXISFwoHYXBpX2tleRgIIAEoCVIGYXBpS2V5EiAKC2Rlc2NyaXB0aW9uGAkgASgJUgtkZXNjcmlwdGlvbhIpChBlbnZpcm9ubWVudF9uYW1lGAogASgJUg9lbnZpcm9ubWVudE5hbWUieQoEUm9sZRILCgdVTktOT1dOEAASDgoKU0RLX0NMSUVOVBABEg4KClNES19TRVJWRVIQAhIYChRQVUJMSUNfQVBJX1JFQURfT05MWRADEhQKEFBVQkxJQ19BUElfV1JJVEUQBBIUChBQVUJMSUNfQVBJX0FETUlOEAUilQIKEUVudmlyb25tZW50QVBJS2V5EjIKB2FwaV9rZXkYAiABKAsyGS5idWNrZXRlZXIuYWNjb3VudC5BUElLZXlSBmFwaUtleRIxChRlbnZpcm9ubWVudF9kaXNhYmxlZBgDIAEoCFITZW52aXJvbm1lbnREaXNhYmxlZBIhCgpwcm9qZWN0X2lkGAQgASgJQgIYAVIJcHJvamVjdElkEkYKC2Vudmlyb25tZW50GAUgASgLMiQuYnVja2V0ZWVyLmVudmlyb25tZW50LkVudmlyb25tZW50VjJSC2Vudmlyb25tZW50EigKEHByb2plY3RfdXJsX2NvZGUYBiABKAlSDnByb2plY3RVcmxDb2RlSgQIARACQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hY2NvdW50YgZwcm90bzMK1hEKG3Byb3RvL2FjY291bnQvY29tbWFuZC5wcm90bxIRYnVja2V0ZWVyLmFjY291bnQaG3Byb3RvL2FjY291bnQvYWNjb3VudC5wcm90bxobcHJvdG8vYWNjb3VudC9hcGlfa2V5LnByb3RvGiFwcm90by9hY2NvdW50L3NlYXJjaF9maWx0ZXIucHJvdG8i/AIKFkNyZWF0ZUFjY291bnRWMkNvbW1hbmQSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSKAoQYXZhdGFyX2ltYWdlX3VybBgDIAEoCVIOYXZhdGFySW1hZ2VVcmwSWwoRb3JnYW5pemF0aW9uX3JvbGUYBCABKA4yLi5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5Pcmdhbml6YXRpb25SEG9yZ2FuaXphdGlvblJvbGUSWQoRZW52aXJvbm1lbnRfcm9sZXMYBSADKAsyLC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuRW52aXJvbm1lbnRSb2xlUhBlbnZpcm9ubWVudFJvbGVzEh0KCmZpcnN0X25hbWUYBiABKAlSCWZpcnN0TmFtZRIbCglsYXN0X25hbWUYByABKAlSCGxhc3ROYW1lEhoKCGxhbmd1YWdlGAggASgJUghsYW5ndWFnZSIwChpDaGFuZ2VBY2NvdW50VjJOYW1lQ29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lIkAKH0NoYW5nZUFjY291bnRWMkZpcnN0TmFtZUNvbW1hbmQSHQoKZmlyc3RfbmFtZRgBIAEoCVIJZmlyc3ROYW1lIj0KHkNoYW5nZUFjY291bnRWMkxhc3ROYW1lQ29tbWFuZBIbCglsYXN0X25hbWUYASABKAlSCGxhc3ROYW1lIjwKHkNoYW5nZUFjY291bnRWMkxhbmd1YWdlQ29tbWFuZBIaCghsYW5ndWFnZRgBIAEoCVIIbGFuZ3VhZ2UiUAokQ2hhbmdlQWNjb3VudFYyQXZhdGFySW1hZ2VVcmxDb21tYW5kEigKEGF2YXRhcl9pbWFnZV91cmwYASABKAlSDmF2YXRhckltYWdlVXJsImsKHENoYW5nZUFjY291bnRWMkF2YXRhckNvbW1hbmQSIQoMYXZhdGFyX2ltYWdlGAEgASgMUgthdmF0YXJJbWFnZRIoChBhdmF0YXJfZmlsZV90eXBlGAIgASgJUg5hdmF0YXJGaWxlVHlwZSI9Ch5DaGFuZ2VBY2NvdW50VjJMYXN0U2VlbkNvbW1hbmQSGwoJbGFzdF9zZWVuGAEgASgDUghsYXN0U2VlbiJsCiZDaGFuZ2VBY2NvdW50VjJPcmdhbml6YXRpb25Sb2xlQ29tbWFuZBJCCgRyb2xlGAEgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUgRyb2xlIqUCCiZDaGFuZ2VBY2NvdW50VjJFbnZpcm9ubWVudFJvbGVzQ29tbWFuZBJCCgVyb2xlcxgBIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSBXJvbGVzEmIKCndyaXRlX3R5cGUYAiABKA4yQy5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJFbnZpcm9ubWVudFJvbGVzQ29tbWFuZC5Xcml0ZVR5cGVSCXdyaXRlVHlwZSJTCglXcml0ZVR5cGUSGQoVV3JpdGVUeXBlX1VOU1BFQ0lGSUVEEAASFgoSV3JpdGVUeXBlX09WRVJSSURFEAESEwoPV3JpdGVUeXBlX1BBVENIEAIiGAoWRW5hYmxlQWNjb3VudFYyQ29tbWFuZCIZChdEaXNhYmxlQWNjb3VudFYyQ29tbWFuZCIYChZEZWxldGVBY2NvdW50VjJDb21tYW5kIl0KE0NyZWF0ZUFQSUtleUNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZRIyCgRyb2xlGAIgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUiLQoXQ2hhbmdlQVBJS2V5TmFtZUNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZSIVChNFbmFibGVBUElLZXlDb21tYW5kIhYKFERpc2FibGVBUElLZXlDb21tYW5kIuYBChlDcmVhdGVTZWFyY2hGaWx0ZXJDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUSFAoFcXVlcnkYAiABKAlSBXF1ZXJ5ElEKEmZpbHRlcl90YXJnZXRfdHlwZRgDIAEoDjIjLmJ1Y2tldGVlci5hY2NvdW50LkZpbHRlclRhcmdldFR5cGVSEGZpbHRlclRhcmdldFR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWQSJQoOZGVmYXVsdF9maWx0ZXIYBSABKAhSDWRlZmF1bHRGaWx0ZXIiQwodQ2hhbmdlU2VhcmNoRmlsdGVyTmFtZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiRgoeQ2hhbmdlU2VhcmNoRmlsdGVyUXVlcnlDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIUCgVxdWVyeRgCIAEoCVIFcXVlcnkiWQogQ2hhbmdlRGVmYXVsdFNlYXJjaEZpbHRlckNvbW1hbmQSDgoCaWQYASABKAlSAmlkEiUKDmRlZmF1bHRfZmlsdGVyGAIgASgIUg1kZWZhdWx0RmlsdGVyIisKGURlbGV0ZVNlYXJjaEZpbHRlckNvbW1hbmQSDgoCaWQYASABKAlSAmlkQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hY2NvdW50YgZwcm90bzMKrb4BChtwcm90by9hY2NvdW50L3NlcnZpY2UucHJvdG8SEWJ1Y2tldGVlci5hY2NvdW50Gh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8aHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8aH2dvb2dsZS9hcGkvZmllbGRfYmVoYXZpb3IucHJvdG8aLnByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvYW5ub3RhdGlvbnMucHJvdG8aG3Byb3RvL2FjY291bnQvYWNjb3VudC5wcm90bxobcHJvdG8vYWNjb3VudC9hcGlfa2V5LnByb3RvGhtwcm90by9hY2NvdW50L2NvbW1hbmQucHJvdG8aJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90byI3CgxHZXRNZVJlcXVlc3QSJwoPb3JnYW5pemF0aW9uX2lkGAEgASgJUg5vcmdhbml6YXRpb25JZCJMCg1HZXRNZVJlc3BvbnNlEjsKB2FjY291bnQYASABKAsyIS5idWNrZXRlZXIuYWNjb3VudC5Db25zb2xlQWNjb3VudFIHYWNjb3VudCIbChlHZXRNeU9yZ2FuaXphdGlvbnNSZXF1ZXN0IjgKIEdldE15T3JnYW5pemF0aW9uc0J5RW1haWxSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbCJnChpHZXRNeU9yZ2FuaXphdGlvbnNSZXNwb25zZRJJCg1vcmdhbml6YXRpb25zGAEgAygLMiMuYnVja2V0ZWVyLmVudmlyb25tZW50Lk9yZ2FuaXphdGlvblINb3JnYW5pemF0aW9ucyLuAwoWQ3JlYXRlQWNjb3VudFYyUmVxdWVzdBInCg9vcmdhbml6YXRpb25faWQYASABKAlSDm9yZ2FuaXphdGlvbklkEkcKB2NvbW1hbmQYAiABKAsyKS5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVBY2NvdW50VjJDb21tYW5kQgIYAVIHY29tbWFuZBIUCgVlbWFpbBgDIAEoCVIFZW1haWwSEgoEbmFtZRgEIAEoCVIEbmFtZRIoChBhdmF0YXJfaW1hZ2VfdXJsGAUgASgJUg5hdmF0YXJJbWFnZVVybBJbChFvcmdhbml6YXRpb25fcm9sZRgGIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgHIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSHQoKZmlyc3RfbmFtZRgIIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgJIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYCiABKAlSCGxhbmd1YWdlIlEKF0NyZWF0ZUFjY291bnRWMlJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQioAEKFkVuYWJsZUFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSRwoHY29tbWFuZBgDIAEoCzIpLmJ1Y2tldGVlci5hY2NvdW50LkVuYWJsZUFjY291bnRWMkNvbW1hbmRCAhgBUgdjb21tYW5kIlEKF0VuYWJsZUFjY291bnRWMlJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQiogEKF0Rpc2FibGVBY2NvdW50VjJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkEkgKB2NvbW1hbmQYAyABKAsyKi5idWNrZXRlZXIuYWNjb3VudC5EaXNhYmxlQWNjb3VudFYyQ29tbWFuZEICGAFSB2NvbW1hbmQiUgoYRGlzYWJsZUFjY291bnRWMlJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQioAEKFkRlbGV0ZUFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSRwoHY29tbWFuZBgDIAEoCzIpLmJ1Y2tldGVlci5hY2NvdW50LkRlbGV0ZUFjY291bnRWMkNvbW1hbmRCAhgBUgdjb21tYW5kIhkKF0RlbGV0ZUFjY291bnRWMlJlc3BvbnNlIuYPChZVcGRhdGVBY2NvdW50VjJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkEmEKE2NoYW5nZV9uYW1lX2NvbW1hbmQYAyABKAsyLS5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJOYW1lQ29tbWFuZEICGAFSEWNoYW5nZU5hbWVDb21tYW5kEnYKGWNoYW5nZV9hdmF0YXJfdXJsX2NvbW1hbmQYBCABKAsyNy5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJBdmF0YXJJbWFnZVVybENvbW1hbmRCAhgBUhZjaGFuZ2VBdmF0YXJVcmxDb21tYW5kEoYBCiBjaGFuZ2Vfb3JnYW5pemF0aW9uX3JvbGVfY29tbWFuZBgFIAEoCzI5LmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMk9yZ2FuaXphdGlvblJvbGVDb21tYW5kQgIYAVIdY2hhbmdlT3JnYW5pemF0aW9uUm9sZUNvbW1hbmQShgEKIGNoYW5nZV9lbnZpcm9ubWVudF9yb2xlc19jb21tYW5kGAYgASgLMjkuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyRW52aXJvbm1lbnRSb2xlc0NvbW1hbmRCAhgBUh1jaGFuZ2VFbnZpcm9ubWVudFJvbGVzQ29tbWFuZBJxChljaGFuZ2VfZmlyc3RfbmFtZV9jb21tYW5kGAcgASgLMjIuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyRmlyc3ROYW1lQ29tbWFuZEICGAFSFmNoYW5nZUZpcnN0TmFtZUNvbW1hbmQSbgoYY2hhbmdlX2xhc3RfbmFtZV9jb21tYW5kGAggASgLMjEuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyTGFzdE5hbWVDb21tYW5kQgIYAVIVY2hhbmdlTGFzdE5hbWVDb21tYW5kEm0KF2NoYW5nZV9sYW5ndWFnZV9jb21tYW5kGAkgASgLMjEuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyTGFuZ3VhZ2VDb21tYW5kQgIYAVIVY2hhbmdlTGFuZ3VhZ2VDb21tYW5kEm4KGGNoYW5nZV9sYXN0X3NlZW5fY29tbWFuZBgKIAEoCzIxLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMkxhc3RTZWVuQ29tbWFuZEICGAFSFWNoYW5nZUxhc3RTZWVuQ29tbWFuZBJnChVjaGFuZ2VfYXZhdGFyX2NvbW1hbmQYCyABKAsyLy5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJBdmF0YXJDb21tYW5kQgIYAVITY2hhbmdlQXZhdGFyQ29tbWFuZBIwCgRuYW1lGAwgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEkYKEGF2YXRhcl9pbWFnZV91cmwYDSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSDmF2YXRhckltYWdlVXJsEmwKEW9yZ2FuaXphdGlvbl9yb2xlGA4gASgLMj8uYnVja2V0ZWVyLmFjY291bnQuVXBkYXRlQWNjb3VudFYyUmVxdWVzdC5Pcmdhbml6YXRpb25Sb2xlVmFsdWVSEG9yZ2FuaXphdGlvblJvbGUSWQoRZW52aXJvbm1lbnRfcm9sZXMYDyADKAsyLC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuRW52aXJvbm1lbnRSb2xlUhBlbnZpcm9ubWVudFJvbGVzEjsKCmZpcnN0X25hbWUYECABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSCWZpcnN0TmFtZRI5CglsYXN0X25hbWUYESABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSCGxhc3ROYW1lEjgKCGxhbmd1YWdlGBIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUghsYW5ndWFnZRI4CglsYXN0X3NlZW4YEyABKAsyGy5nb29nbGUucHJvdG9idWYuSW50NjRWYWx1ZVIIbGFzdFNlZW4SUQoGYXZhdGFyGBQgASgLMjkuYnVja2V0ZWVyLmFjY291bnQuVXBkYXRlQWNjb3VudFYyUmVxdWVzdC5BY2NvdW50VjJBdmF0YXJSBmF2YXRhchI2CghkaXNhYmxlZBgVIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGRpc2FibGVkGl4KD0FjY291bnRWMkF2YXRhchIhCgxhdmF0YXJfaW1hZ2UYASABKAxSC2F2YXRhckltYWdlEigKEGF2YXRhcl9maWxlX3R5cGUYAiABKAlSDmF2YXRhckZpbGVUeXBlGlsKFU9yZ2FuaXphdGlvblJvbGVWYWx1ZRJCCgRyb2xlGAEgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUgRyb2xlIlEKF1VwZGF0ZUFjY291bnRWMlJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQiVAoTR2V0QWNjb3VudFYyUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZCJOChRHZXRBY2NvdW50VjJSZXNwb25zZRI2CgdhY2NvdW50GAEgASgLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUgdhY2NvdW50ImEKIkdldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRFJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkIl0KI0dldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRFJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQiiwYKFUxpc3RBY2NvdW50c1YyUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEicKD29yZ2FuaXphdGlvbl9pZBgDIAEoCVIOb3JnYW5pemF0aW9uSWQSSwoIb3JkZXJfYnkYBCABKA4yMC5idWNrZXRlZXIuYWNjb3VudC5MaXN0QWNjb3VudHNWMlJlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJgCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNy5idWNrZXRlZXIuYWNjb3VudC5MaXN0QWNjb3VudHNWMlJlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAYgASgJUg1zZWFyY2hLZXl3b3JkEjYKCGRpc2FibGVkGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQSSAoRb3JnYW5pemF0aW9uX3JvbGUYCCABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIQb3JnYW5pemF0aW9uUm9sZRJDCg5lbnZpcm9ubWVudF9pZBgJIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVINZW52aXJvbm1lbnRJZBJGChBlbnZpcm9ubWVudF9yb2xlGAogASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSD2Vudmlyb25tZW50Um9sZSKJAQoHT3JkZXJCeRILCgdERUZBVUxUEAASCQoFRU1BSUwQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADEhUKEU9SR0FOSVpBVElPTl9ST0xFEAQSFQoRRU5WSVJPTk1FTlRfQ09VTlQQBRINCglMQVNUX1NFRU4QBhIJCgVTVEFURRAHIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQASKLAQoWTGlzdEFjY291bnRzVjJSZXNwb25zZRI4CghhY2NvdW50cxgBIAMoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIIYWNjb3VudHMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQikgIKE0NyZWF0ZUFQSUtleVJlcXVlc3QSRAoHY29tbWFuZBgBIAEoCzImLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZUFQSUtleUNvbW1hbmRCAhgBUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkEhIKBG5hbWUYBCABKAlSBG5hbWUSMgoEcm9sZRgFIAEoDjIeLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleS5Sb2xlUgRyb2xlEh4KCm1haW50YWluZXIYBiABKAlSCm1haW50YWluZXISIAoLZGVzY3JpcHRpb24YByABKAlSC2Rlc2NyaXB0aW9uSgQIAhADIkoKFENyZWF0ZUFQSUtleVJlc3BvbnNlEjIKB2FwaV9rZXkYASABKAsyGS5idWNrZXRlZXIuYWNjb3VudC5BUElLZXlSBmFwaUtleSKcAQoXQ2hhbmdlQVBJS2V5TmFtZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkQKB2NvbW1hbmQYAiABKAsyKi5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBUElLZXlOYW1lQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIaChhDaGFuZ2VBUElLZXlOYW1lUmVzcG9uc2UilAEKE0VuYWJsZUFQSUtleVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkAKB2NvbW1hbmQYAiABKAsyJi5idWNrZXRlZXIuYWNjb3VudC5FbmFibGVBUElLZXlDb21tYW5kUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhYKFEVuYWJsZUFQSUtleVJlc3BvbnNlIpYBChREaXNhYmxlQVBJS2V5UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQQoHY29tbWFuZBgCIAEoCzInLmJ1Y2tldGVlci5hY2NvdW50LkRpc2FibGVBUElLZXlDb21tYW5kUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhcKFURpc2FibGVBUElLZXlSZXNwb25zZSJPChBHZXRBUElLZXlSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyJHChFHZXRBUElLZXlSZXNwb25zZRIyCgdhcGlfa2V5GAEgASgLMhkuYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5UgZhcGlLZXki5gQKEkxpc3RBUElLZXlzUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEkgKCG9yZGVyX2J5GAQgASgOMi0uYnVja2V0ZWVyLmFjY291bnQuTGlzdEFQSUtleXNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSXQoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjQuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFQSUtleXNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBI2CghkaXNhYmxlZBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGRpc2FibGVkEikKDmVudmlyb25tZW50X2lkGAggASgJQgIYAVINZW52aXJvbm1lbnRJZBInCg9lbnZpcm9ubWVudF9pZHMYCSADKAlSDmVudmlyb25tZW50SWRzEiwKD29yZ2FuaXphdGlvbl9pZBgKIAEoCUID4EECUg5vcmdhbml6YXRpb25JZCJmCgdPcmRlckJ5EgsKB0RFRkFVTFQQABIICgROQU1FEAESDgoKQ1JFQVRFRF9BVBACEg4KClVQREFURURfQVQQAxIICgRST0xFEAQSDwoLRU5WSVJPTk1FTlQQBRIJCgVTVEFURRAGIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAMQBCKEAQoTTGlzdEFQSUtleXNSZXNwb25zZRI0CghhcGlfa2V5cxgBIAMoCzIZLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleVIHYXBpS2V5cxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCI2ChtHZXRFbnZpcm9ubWVudEFQSUtleVJlcXVlc3QSFwoHYXBpX2tleRgCIAEoCVIGYXBpS2V5InQKHEdldEVudmlyb25tZW50QVBJS2V5UmVzcG9uc2USVAoTZW52aXJvbm1lbnRfYXBpX2tleRgBIAEoCzIkLmJ1Y2tldGVlci5hY2NvdW50LkVudmlyb25tZW50QVBJS2V5UhFlbnZpcm9ubWVudEFwaUtleSLJAQoZQ3JlYXRlU2VhcmNoRmlsdGVyUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZBJGCgdjb21tYW5kGAQgASgLMiwuYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlU2VhcmNoRmlsdGVyQ29tbWFuZFIHY29tbWFuZCIcChpDcmVhdGVTZWFyY2hGaWx0ZXJSZXNwb25zZSLAAwoZVXBkYXRlU2VhcmNoRmlsdGVyUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZBJgChNjaGFuZ2VfbmFtZV9jb21tYW5kGAQgASgLMjAuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlU2VhcmNoRmlsdGVyTmFtZUNvbW1hbmRSEWNoYW5nZU5hbWVDb21tYW5kEmMKFGNoYW5nZV9xdWVyeV9jb21tYW5kGAUgASgLMjEuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlU2VhcmNoRmlsdGVyUXVlcnlDb21tYW5kUhJjaGFuZ2VRdWVyeUNvbW1hbmQSdgodY2hhbmdlX2RlZmF1bHRfZmlsdGVyX2NvbW1hbmQYBiABKAsyMy5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VEZWZhdWx0U2VhcmNoRmlsdGVyQ29tbWFuZFIaY2hhbmdlRGVmYXVsdEZpbHRlckNvbW1hbmQiHAoaVXBkYXRlU2VhcmNoRmlsdGVyUmVzcG9uc2UiyQEKGURlbGV0ZVNlYXJjaEZpbHRlclJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWQSRgoHY29tbWFuZBgEIAEoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkRlbGV0ZVNlYXJjaEZpbHRlckNvbW1hbmRSB2NvbW1hbmQiHAoaRGVsZXRlU2VhcmNoRmlsdGVyUmVzcG9uc2Ui6AIKE1VwZGF0ZUFQSUtleVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkEjAKBG5hbWUYAyABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSPgoLZGVzY3JpcHRpb24YBCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSC2Rlc2NyaXB0aW9uEjIKBHJvbGUYBSABKA4yHi5idWNrZXRlZXIuYWNjb3VudC5BUElLZXkuUm9sZVIEcm9sZRI2CghkaXNhYmxlZBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGRpc2FibGVkEjwKCm1haW50YWluZXIYByABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSCm1haW50YWluZXIiFgoUVXBkYXRlQVBJS2V5UmVzcG9uc2UyznoKDkFjY291bnRTZXJ2aWNlEp4ECgVHZXRNZRIfLmJ1Y2tldGVlci5hY2NvdW50LkdldE1lUmVxdWVzdBogLmJ1Y2tldGVlci5hY2NvdW50LkdldE1lUmVzcG9uc2Ui0QOSQbMDCgdBY2NvdW50EgZHZXQgTWUaHUdldCB0aGUgdXNlciBjb25zb2xlIGFjY291bnQuKhV3ZWIudjEuYWNjb3VudC5nZXRfbWVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIUEhIvdjEvYWNjb3VudC9nZXRfbWUS+AQKEkdldE15T3JnYW5pemF0aW9ucxIsLmJ1Y2tldGVlci5hY2NvdW50LkdldE15T3JnYW5pemF0aW9uc1JlcXVlc3QaLS5idWNrZXRlZXIuYWNjb3VudC5HZXRNeU9yZ2FuaXphdGlvbnNSZXNwb25zZSKEBJJB3AMKB0FjY291bnQSFEdldCBNeSBPcmdhbml6YXRpb25zGi5HZXQgYWxsIHRoZSBvcmdhbml6YXRpb25zIGZvciBhIHNwZWNpZmljIHVzZXIuKh93ZWIudjEuYWNjb3VudC5teV9vcmdhbml6YXRpb25zSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHhIcL3YxL2FjY291bnQvbXlfb3JnYW5pemF0aW9ucxKWBQoZR2V0TXlPcmdhbml6YXRpb25zQnlFbWFpbBIzLmJ1Y2tldGVlci5hY2NvdW50LkdldE15T3JnYW5pemF0aW9uc0J5RW1haWxSZXF1ZXN0Gi0uYnVja2V0ZWVyLmFjY291bnQuR2V0TXlPcmdhbml6YXRpb25zUmVzcG9uc2UilASSQeMDCgdBY2NvdW50Eh1HZXQgTXkgT3JnYW5pemF0aW9ucyBCeSBFbWFpbBojR2V0IGFsbCB0aGUgb3JnYW5pemF0aW9ucyBieSBlbWFpbC4qKHdlYi52MS5hY2NvdW50Lm15X29yZ2FuaXphdGlvbnNfYnlfZW1haWxKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwInEiUvdjEvYWNjb3VudC9teV9vcmdhbml6YXRpb25zX2J5X2VtYWlsEroGCg9DcmVhdGVBY2NvdW50VjISKS5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVBY2NvdW50VjJSZXF1ZXN0GiouYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlQWNjb3VudFYyUmVzcG9uc2UizwWSQaYFCgdBY2NvdW50EgZDcmVhdGUaXENyZWF0ZSBhbiBhY2NvdW50IHRvIGhhdmUgYWNjZXNzIHRvIHRoZSBjb25zb2xlLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh13ZWIudjEuYWNjb3VudC5jcmVhdGVfYWNjb3VudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIfIhovdjEvYWNjb3VudC9jcmVhdGVfYWNjb3VudDoBKhLOAwoPRW5hYmxlQWNjb3VudFYyEikuYnVja2V0ZWVyLmFjY291bnQuRW5hYmxlQWNjb3VudFYyUmVxdWVzdBoqLmJ1Y2tldGVlci5hY2NvdW50LkVuYWJsZUFjY291bnRWMlJlc3BvbnNlIuMCkkG6AgoHQWNjb3VudBIGRW5hYmxlGlxFbmFibGUgYW4gYWNjb3VudCB0byBoYXZlIGFjY2VzcyB0byB0aGUgY29uc29sZS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLiodd2ViLnYxLmFjY291bnQuZW5hYmxlX2FjY291bnRKqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIfIhovdjEvYWNjb3VudC9lbmFibGVfYWNjb3VudDoBKhLCBgoQRGlzYWJsZUFjY291bnRWMhIqLmJ1Y2tldGVlci5hY2NvdW50LkRpc2FibGVBY2NvdW50VjJSZXF1ZXN0GisuYnVja2V0ZWVyLmFjY291bnQuRGlzYWJsZUFjY291bnRWMlJlc3BvbnNlItQFkkGqBQoHQWNjb3VudBIHRGlzYWJsZRpeRGlzYWJsZSBhbiBhY2NvdW50IHRvIGJsb2NrIGFjY2VzcyB0byB0aGUgY29uc29sZS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLioed2ViLnYxLmFjY291bnQuZGlzYWJsZV9hY2NvdW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiAiGy92MS9hY2NvdW50L2Rpc2FibGVfYWNjb3VudDoBKhKcBgoPVXBkYXRlQWNjb3VudFYyEikuYnVja2V0ZWVyLmFjY291bnQuVXBkYXRlQWNjb3VudFYyUmVxdWVzdBoqLmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFjY291bnRWMlJlc3BvbnNlIrEFkkGIBQoHQWNjb3VudBIGVXBkYXRlGj5VcGRhdGUgYW4gYWNjb3VudC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLiodd2ViLnYxLmFjY291bnQudXBkYXRlX2FjY291bnRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHyIaL3YxL2FjY291bnQvdXBkYXRlX2FjY291bnQ6ASoSnAYKD0RlbGV0ZUFjY291bnRWMhIpLmJ1Y2tldGVlci5hY2NvdW50LkRlbGV0ZUFjY291bnRWMlJlcXVlc3QaKi5idWNrZXRlZXIuYWNjb3VudC5EZWxldGVBY2NvdW50VjJSZXNwb25zZSKxBZJBiAUKB0FjY291bnQSBkRlbGV0ZRo+RGVsZXRlIGFuIGFjY291bnQuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHXdlYi52MS5hY2NvdW50LmRlbGV0ZV9hY2NvdW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh8iGi92MS9hY2NvdW50L2RlbGV0ZV9hY2NvdW50OgEqEqwECgxHZXRBY2NvdW50VjISJi5idWNrZXRlZXIuYWNjb3VudC5HZXRBY2NvdW50VjJSZXF1ZXN0GicuYnVja2V0ZWVyLmFjY291bnQuR2V0QWNjb3VudFYyUmVzcG9uc2UiygOSQacDCgdBY2NvdW50EgNHZXQaD0dldCBhbiBhY2NvdW50Lioad2ViLnYxLmFjY291bnQuZ2V0X2FjY291bnRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIZEhcvdjEvYWNjb3VudC9nZXRfYWNjb3VudBKdBQobR2V0QWNjb3VudFYyQnlFbnZpcm9ubWVudElEEjUuYnVja2V0ZWVyLmFjY291bnQuR2V0QWNjb3VudFYyQnlFbnZpcm9ubWVudElEUmVxdWVzdBo2LmJ1Y2tldGVlci5hY2NvdW50LkdldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRFJlc3BvbnNlIo4EkkHcAwoHQWNjb3VudBIaR2V0IEFjY291bnQgQnkgRW52aXJvbm1lbnQaHkdldCBhbiBhY2NvdW50IGJ5IGVudmlyb25tZW50Liopd2ViLnYxLmFjY291bnQuZ2V0X2FjY291bnRfYnlfZW52aXJvbm1lbnRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIoEiYvdjEvYWNjb3VudC9nZXRfYWNjb3VudF9ieV9lbnZpcm9ubWVudBK2BAoOTGlzdEFjY291bnRzVjISKC5idWNrZXRlZXIuYWNjb3VudC5MaXN0QWNjb3VudHNWMlJlcXVlc3QaKS5idWNrZXRlZXIuYWNjb3VudC5MaXN0QWNjb3VudHNWMlJlc3BvbnNlIs4DkkGpAwoHQWNjb3VudBIETGlzdBoOTGlzdCBhY2NvdW50cy4qHHdlYi52MS5hY2NvdW50Lmxpc3RfYWNjb3VudHNKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIbEhkvdjEvYWNjb3VudC9saXN0X2FjY291bnRzErAGCgxDcmVhdGVBUElLZXkSJi5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVBUElLZXlSZXF1ZXN0GicuYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlQVBJS2V5UmVzcG9uc2UizgWSQaUFCgdBUEkgS2V5EgZDcmVhdGUaW0NyZWF0ZSBhbiBBUEkga2V5IHRvIGJlIHVzZWQgb24gdGhlIGNsaWVudCBTREsuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHXdlYi52MS5hY2NvdW50LmNyZWF0ZV9hcGlfa2V5SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh8iGi92MS9hY2NvdW50L2NyZWF0ZV9hcGlfa2V5OgEqErwGChBDaGFuZ2VBUElLZXlOYW1lEiouYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQVBJS2V5TmFtZVJlcXVlc3QaKy5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBUElLZXlOYW1lUmVzcG9uc2UizgWSQaAFCgdBUEkgS2V5EhNDaGFuZ2UgQVBJIEtleSBOYW1lGkRDaGFuZ2UgdGhlIEFQSSBLZXkgTmFtZS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLioid2ViLnYxLmFjY291bnQuY2hhbmdlX2FwaV9rZXlfbmFtZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIkIh8vdjEvYWNjb3VudC9jaGFuZ2VfYXBpX2tleV9uYW1lOgEqEpMGCgxFbmFibGVBUElLZXkSJi5idWNrZXRlZXIuYWNjb3VudC5FbmFibGVBUElLZXlSZXF1ZXN0GicuYnVja2V0ZWVyLmFjY291bnQuRW5hYmxlQVBJS2V5UmVzcG9uc2UisQWSQYgFCgdBUEkgS2V5EgZFbmFibGUaPkVuYWJsZSBhbiBBUEkgS2V5LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh13ZWIudjEuYWNjb3VudC5lbmFibGVfYXBpX2tleUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIfIhovdjEvYWNjb3VudC9lbmFibGVfYXBpX2tleToBKhKaBgoNRGlzYWJsZUFQSUtleRInLmJ1Y2tldGVlci5hY2NvdW50LkRpc2FibGVBUElLZXlSZXF1ZXN0GiguYnVja2V0ZWVyLmFjY291bnQuRGlzYWJsZUFQSUtleVJlc3BvbnNlIrUFkkGLBQoHQVBJIEtleRIHRGlzYWJsZRo/RGlzYWJsZSBhbiBBUEkgS2V5LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh53ZWIudjEuYWNjb3VudC5kaXNhYmxlX2FwaV9rZXlKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCICIbL3YxL2FjY291bnQvZGlzYWJsZV9hcGlfa2V5OgEqEqMECglHZXRBUElLZXkSIy5idWNrZXRlZXIuYWNjb3VudC5HZXRBUElLZXlSZXF1ZXN0GiQuYnVja2V0ZWVyLmFjY291bnQuR2V0QVBJS2V5UmVzcG9uc2UiygOSQacDCgdBUEkgS2V5EgNHZXQaD0dldCBhbiBBUEkgS2V5Lioad2ViLnYxLmFjY291bnQuZ2V0X2FwaV9rZXlKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIZEhcvdjEvYWNjb3VudC9nZXRfYXBpX2tleRKtBAoLTGlzdEFQSUtleXMSJS5idWNrZXRlZXIuYWNjb3VudC5MaXN0QVBJS2V5c1JlcXVlc3QaJi5idWNrZXRlZXIuYWNjb3VudC5MaXN0QVBJS2V5c1Jlc3BvbnNlIs4DkkGpAwoHQVBJIEtleRIETGlzdBoOTGlzdCBBUEkgS2V5cy4qHHdlYi52MS5hY2NvdW50Lmxpc3RfYXBpX2tleXNKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIbEhkvdjEvYWNjb3VudC9saXN0X2FwaV9rZXlzEvwEChRHZXRFbnZpcm9ubWVudEFQSUtleRIuLmJ1Y2tldGVlci5hY2NvdW50LkdldEVudmlyb25tZW50QVBJS2V5UmVxdWVzdBovLmJ1Y2tldGVlci5hY2NvdW50LkdldEVudmlyb25tZW50QVBJS2V5UmVzcG9uc2UiggSSQdMDCgdBUEkgS2V5EhdHZXQgRW52aXJvbm1lbnQgQVBJIEtleRobR2V0IGFuIGVudmlyb25tZW50IEFQSSBLZXkuKiZ3ZWIudjEuYWNjb3VudC5nZXRfZW52aXJvbm1lbnRfYXBpX2tleUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiUSIy92MS9hY2NvdW50L2dldF9lbnZpcm9ubWVudF9hcGlfa2V5EsUGChJDcmVhdGVTZWFyY2hGaWx0ZXISLC5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVTZWFyY2hGaWx0ZXJSZXF1ZXN0Gi0uYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlU2VhcmNoRmlsdGVyUmVzcG9uc2Ui0QWSQaIFCgdBY2NvdW50EhRDcmVhdGUgU2VhcmNoIEZpbHRlchpEQ3JlYXRlIGEgc2VhcmNoIGZpbHRlci4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFZJRVdFUmAgcm9sZS4qI3dlYi52MS5hY2NvdW50LmNyZWF0ZV9zZWFyY2hfZmlsdGVySrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiUiIC92MS9hY2NvdW50L2NyZWF0ZV9zZWFyY2hfZmlsdGVyOgEqEsUGChJVcGRhdGVTZWFyY2hGaWx0ZXISLC5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVTZWFyY2hGaWx0ZXJSZXF1ZXN0Gi0uYnVja2V0ZWVyLmFjY291bnQuVXBkYXRlU2VhcmNoRmlsdGVyUmVzcG9uc2Ui0QWSQaIFCgdBY2NvdW50EhRVcGRhdGUgU2VhcmNoIEZpbHRlchpEVXBkYXRlIGEgc2VhcmNoIGZpbHRlci4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFZJRVdFUmAgcm9sZS4qI3dlYi52MS5hY2NvdW50LnVwZGF0ZV9zZWFyY2hfZmlsdGVySrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiUiIC92MS9hY2NvdW50L3VwZGF0ZV9zZWFyY2hfZmlsdGVyOgEqEsUGChJEZWxldGVTZWFyY2hGaWx0ZXISLC5idWNrZXRlZXIuYWNjb3VudC5EZWxldGVTZWFyY2hGaWx0ZXJSZXF1ZXN0Gi0uYnVja2V0ZWVyLmFjY291bnQuRGVsZXRlU2VhcmNoRmlsdGVyUmVzcG9uc2Ui0QWSQaIFCgdBY2NvdW50EhREZWxldGUgU2VhcmNoIEZpbHRlchpERGVsZXRlIGEgc2VhcmNoIGZpbHRlci4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFZJRVdFUmAgcm9sZS4qI3dlYi52MS5hY2NvdW50LmRlbGV0ZV9zZWFyY2hfZmlsdGVySrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiUiIC92MS9hY2NvdW50L2RlbGV0ZV9zZWFyY2hfZmlsdGVyOgEqEpsGCgxVcGRhdGVBUElLZXkSJi5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVBUElLZXlSZXF1ZXN0GicuYnVja2V0ZWVyLmFjY291bnQuVXBkYXRlQVBJS2V5UmVzcG9uc2UiuQWSQZAFCgdBUEkgS2V5Eg5VcGRhdGUgQVBJIEtleRo+VXBkYXRlIGFuIEFQSSBLZXkuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHXdlYi52MS5hY2NvdW50LnVwZGF0ZV9hcGlfa2V5SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh8yGi92MS9hY2NvdW50L3VwZGF0ZV9hcGlfa2V5OgEqQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hY2NvdW50YgZwcm90bzMK+wEKHmdvb2dsZS9wcm90b2J1Zi9kdXJhdGlvbi5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIjoKCER1cmF0aW9uEhgKB3NlY29uZHMYASABKANSB3NlY29uZHMSFAoFbmFub3MYAiABKAVSBW5hbm9zQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1EdXJhdGlvblByb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2R1cmF0aW9ucGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMwrGNAoecHJvdG8vZXZlbnQvY2xpZW50L2V2ZW50LnByb3RvEhZidWNrZXRlZXIuZXZlbnQuY2xpZW50Ghlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvGh5nb29nbGUvcHJvdG9idWYvZHVyYXRpb24ucHJvdG8aHnByb3RvL2ZlYXR1cmUvZXZhbHVhdGlvbi5wcm90bxoacHJvdG8vZmVhdHVyZS9yZWFzb24ucHJvdG8aFXByb3RvL3VzZXIvdXNlci5wcm90byJwCgVFdmVudBIOCgJpZBgBIAEoCVICaWQSKgoFZXZlbnQYAiABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgVldmVudBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCKSBAoPRXZhbHVhdGlvbkV2ZW50EhwKCXRpbWVzdGFtcBgBIAEoA1IJdGltZXN0YW1wEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBInCg9mZWF0dXJlX3ZlcnNpb24YAyABKAVSDmZlYXR1cmVWZXJzaW9uEhcKB3VzZXJfaWQYBCABKAlSBnVzZXJJZBIhCgx2YXJpYXRpb25faWQYBSABKAlSC3ZhcmlhdGlvbklkEigKBHVzZXIYBiABKAsyFC5idWNrZXRlZXIudXNlci5Vc2VyUgR1c2VyEjEKBnJlYXNvbhgHIAEoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLlJlYXNvblIGcmVhc29uEhAKA3RhZxgIIAEoCVIDdGFnEj0KCXNvdXJjZV9pZBgJIAEoDjIgLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuU291cmNlSWRSCHNvdXJjZUlkEh8KC3Nka192ZXJzaW9uGAogASgJUgpzZGtWZXJzaW9uElEKCG1ldGFkYXRhGAsgAygLMjUuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5FdmFsdWF0aW9uRXZlbnQuTWV0YWRhdGFFbnRyeVIIbWV0YWRhdGEaOwoNTWV0YWRhdGFFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBItwDCglHb2FsRXZlbnQSHAoJdGltZXN0YW1wGAEgASgDUgl0aW1lc3RhbXASFwoHZ29hbF9pZBgCIAEoCVIGZ29hbElkEhcKB3VzZXJfaWQYAyABKAlSBnVzZXJJZBIUCgV2YWx1ZRgEIAEoAVIFdmFsdWUSKAoEdXNlchgFIAEoCzIULmJ1Y2tldGVlci51c2VyLlVzZXJSBHVzZXISQwoLZXZhbHVhdGlvbnMYBiADKAsyHS5idWNrZXRlZXIuZmVhdHVyZS5FdmFsdWF0aW9uQgIYAVILZXZhbHVhdGlvbnMSEAoDdGFnGAcgASgJUgN0YWcSPQoJc291cmNlX2lkGAggASgOMiAuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5Tb3VyY2VJZFIIc291cmNlSWQSHwoLc2RrX3ZlcnNpb24YCSABKAlSCnNka1ZlcnNpb24SSwoIbWV0YWRhdGEYCiADKAsyLy5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkdvYWxFdmVudC5NZXRhZGF0YUVudHJ5UghtZXRhZGF0YRo7Cg1NZXRhZGF0YUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEixQIKDE1ldHJpY3NFdmVudBIcCgl0aW1lc3RhbXAYASABKANSCXRpbWVzdGFtcBIqCgVldmVudBgCIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSBWV2ZW50Ej0KCXNvdXJjZV9pZBgDIAEoDjIgLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuU291cmNlSWRSCHNvdXJjZUlkEh8KC3Nka192ZXJzaW9uGAQgASgJUgpzZGtWZXJzaW9uEk4KCG1ldGFkYXRhGAUgAygLMjIuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5NZXRyaWNzRXZlbnQuTWV0YWRhdGFFbnRyeVIIbWV0YWRhdGEaOwoNTWV0YWRhdGFFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIvYBCiBHZXRFdmFsdWF0aW9uTGF0ZW5jeU1ldHJpY3NFdmVudBJcCgZsYWJlbHMYASADKAsyRC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkdldEV2YWx1YXRpb25MYXRlbmN5TWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMSNQoIZHVyYXRpb24YAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25SCGR1cmF0aW9uGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAE6AhgBItYBCh1HZXRFdmFsdWF0aW9uU2l6ZU1ldHJpY3NFdmVudBJZCgZsYWJlbHMYASADKAsyQS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkdldEV2YWx1YXRpb25TaXplTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMSGwoJc2l6ZV9ieXRlGAIgASgFUghzaXplQnl0ZRo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBOgIYASK5AgoTTGF0ZW5jeU1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJPCgZsYWJlbHMYAiADKAsyNy5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkxhdGVuY3lNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxI5CghkdXJhdGlvbhgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkICGAFSCGR1cmF0aW9uEiUKDmxhdGVuY3lfc2Vjb25kGAQgASgBUg1sYXRlbmN5U2Vjb25kGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi7gEKEFNpemVNZXRyaWNzRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSTAoGbGFiZWxzGAIgAygLMjQuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5TaXplTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMSGwoJc2l6ZV9ieXRlGAMgASgFUghzaXplQnl0ZRo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIjUKHVRpbWVvdXRFcnJvckNvdW50TWV0cmljc0V2ZW50EhAKA3RhZxgBIAEoCVIDdGFnOgIYASI2Ch5JbnRlcm5hbEVycm9yQ291bnRNZXRyaWNzRXZlbnQSEAoDdGFnGAEgASgJUgN0YWc6AhgBIvEBCiBSZWRpcmVjdGlvblJlcXVlc3RFeGNlcHRpb25FdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJcCgZsYWJlbHMYAiADKAsyRC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlJlZGlyZWN0aW9uUmVxdWVzdEV4Y2VwdGlvbkV2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLnAQobQmFkUmVxdWVzdEVycm9yTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkElcKBmxhYmVscxgCIAMoCzI/LmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQmFkUmVxdWVzdEVycm9yTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLrAQodVW5hdXRob3JpemVkRXJyb3JNZXRyaWNzRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSWQoGbGFiZWxzGAIgAygLMkEuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5VbmF1dGhvcml6ZWRFcnJvck1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi5QEKGkZvcmJpZGRlbkVycm9yTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkElYKBmxhYmVscxgCIAMoCzI+LmJ1Y2tldGVlci5ldmVudC5jbGllbnQuRm9yYmlkZGVuRXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIuMBChlOb3RGb3VuZEVycm9yTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkElUKBmxhYmVscxgCIAMoCzI9LmJ1Y2tldGVlci5ldmVudC5jbGllbnQuTm90Rm91bmRFcnJvck1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi6wEKHVBheWxvYWRUb29MYXJnZUV4Y2VwdGlvbkV2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkElkKBmxhYmVscxgCIAMoCzJBLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuUGF5bG9hZFRvb0xhcmdlRXhjZXB0aW9uRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIvkBCiRDbGllbnRDbG9zZWRSZXF1ZXN0RXJyb3JNZXRyaWNzRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSYAoGbGFiZWxzGAIgAygLMkguYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5DbGllbnRDbG9zZWRSZXF1ZXN0RXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIu8BCh9JbnRlcm5hbFNlcnZlckVycm9yTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkElsKBmxhYmVscxgCIAMoCzJDLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuSW50ZXJuYWxTZXJ2ZXJFcnJvck1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi9wEKI1NlcnZpY2VVbmF2YWlsYWJsZUVycm9yTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkEl8KBmxhYmVscxgCIAMoCzJHLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuU2VydmljZVVuYXZhaWxhYmxlRXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIuEBChhUaW1lb3V0RXJyb3JNZXRyaWNzRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSVAoGbGFiZWxzGAIgAygLMjwuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5UaW1lb3V0RXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIuMBChlJbnRlcm5hbEVycm9yTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkElUKBmxhYmVscxgCIAMoCzI9LmJ1Y2tldGVlci5ldmVudC5jbGllbnQuSW50ZXJuYWxFcnJvck1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi4QEKGE5ldHdvcmtFcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJUCgZsYWJlbHMYAiADKAsyPC5idWNrZXRlZXIuZXZlbnQuY2xpZW50Lk5ldHdvcmtFcnJvck1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi6QEKHEludGVybmFsU2RrRXJyb3JNZXRyaWNzRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSWAoGbGFiZWxzGAIgAygLMkAuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5JbnRlcm5hbFNka0Vycm9yTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLhAQoYVW5rbm93bkVycm9yTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkElQKBmxhYmVscxgCIAMoCzI8LmJ1Y2tldGVlci5ldmVudC5jbGllbnQuVW5rbm93bkVycm9yTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLFAQoIT3BzRXZlbnQSHAoJdGltZXN0YW1wGAEgASgDUgl0aW1lc3RhbXASHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEicKD2ZlYXR1cmVfdmVyc2lvbhgDIAEoBVIOZmVhdHVyZVZlcnNpb24SIQoMdmFyaWF0aW9uX2lkGAQgASgJUgt2YXJpYXRpb25JZBIXCgdnb2FsX2lkGAUgASgJUgZnb2FsSWQSFwoHdXNlcl9pZBgGIAEoCVIGdXNlcklkIlwKDVVzZXJHb2FsRXZlbnQSHAoJdGltZXN0YW1wGAEgASgDUgl0aW1lc3RhbXASFwoHZ29hbF9pZBgCIAEoCVIGZ29hbElkEhQKBXZhbHVlGAMgASgBUgV2YWx1ZSpwCghTb3VyY2VJZBILCgdVTktOT1dOEAASCwoHQU5EUk9JRBABEgcKA0lPUxACEgsKA1dFQhADGgIIARINCglHT19TRVJWRVIQBRIPCgtOT0RFX1NFUlZFUhAGEg4KCkpBVkFTQ1JJUFQQByIECAQQBCqbAQoFQXBpSWQSDwoLVU5LTk9XTl9BUEkQABISCg5HRVRfRVZBTFVBVElPThABEhMKD0dFVF9FVkFMVUFUSU9OUxACEhMKD1JFR0lTVEVSX0VWRU5UUxADEhUKEUdFVF9GRUFUVVJFX0ZMQUdTEAQSFQoRR0VUX1NFR01FTlRfVVNFUlMQBRIVChFTREtfR0VUX1ZBUklBVElPThBkQjZaNGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9ldmVudC9jbGllbnRiBnByb3RvMwrTgQEKG3Byb3RvL2dhdGV3YXkvc2VydmljZS5wcm90bxIRYnVja2V0ZWVyLmdhdGV3YXkaHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxoucHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90bxoVcHJvdG8vdXNlci91c2VyLnByb3RvGh5wcm90by9mZWF0dXJlL2V2YWx1YXRpb24ucHJvdG8aG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxobcHJvdG8vZmVhdHVyZS9zZXJ2aWNlLnByb3RvGh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxogcHJvdG8vZmVhdHVyZS9wcmVyZXF1aXNpdGUucHJvdG8aGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8aG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxoVcHJvdG8vcHVzaC9wdXNoLnByb3RvGhhwcm90by9wdXNoL3NlcnZpY2UucHJvdG8aG3Byb3RvL2FjY291bnQvc2VydmljZS5wcm90bxobcHJvdG8vYWNjb3VudC9hY2NvdW50LnByb3RvGh5wcm90by9ldmVudC9jbGllbnQvZXZlbnQucHJvdG8iDQoLUGluZ1JlcXVlc3QiIgoMUGluZ1Jlc3BvbnNlEhIKBHRpbWUYASABKANSBHRpbWUi1wEKFkdldEZlYXR1cmVGbGFnc1JlcXVlc3QSEAoDdGFnGAEgASgJUgN0YWcSKAoQZmVhdHVyZV9mbGFnc19pZBgCIAEoCVIOZmVhdHVyZUZsYWdzSWQSIQoMcmVxdWVzdGVkX2F0GAMgASgDUgtyZXF1ZXN0ZWRBdBI9Cglzb3VyY2VfaWQYBCABKA4yIC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNvdXJjZUlkUghzb3VyY2VJZBIfCgtzZGtfdmVyc2lvbhgFIAEoCVIKc2RrVmVyc2lvbiL8AQoXR2V0RmVhdHVyZUZsYWdzUmVzcG9uc2USKAoQZmVhdHVyZV9mbGFnc19pZBgBIAEoCVIOZmVhdHVyZUZsYWdzSWQSNgoIZmVhdHVyZXMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUghmZWF0dXJlcxI5ChlhcmNoaXZlZF9mZWF0dXJlX2ZsYWdfaWRzGAMgAygJUhZhcmNoaXZlZEZlYXR1cmVGbGFnSWRzEiEKDHJlcXVlc3RlZF9hdBgEIAEoA1ILcmVxdWVzdGVkQXQSIQoMZm9yY2VfdXBkYXRlGAUgASgIUgtmb3JjZVVwZGF0ZSK8AQoWR2V0U2VnbWVudFVzZXJzUmVxdWVzdBIfCgtzZWdtZW50X2lkcxgBIAMoCVIKc2VnbWVudElkcxIhCgxyZXF1ZXN0ZWRfYXQYAiABKANSC3JlcXVlc3RlZEF0Ej0KCXNvdXJjZV9pZBgDIAEoDjIgLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuU291cmNlSWRSCHNvdXJjZUlkEh8KC3Nka192ZXJzaW9uGAQgASgJUgpzZGtWZXJzaW9uItUBChdHZXRTZWdtZW50VXNlcnNSZXNwb25zZRJECg1zZWdtZW50X3VzZXJzGAEgAygLMh8uYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXJzUgxzZWdtZW50VXNlcnMSLgoTZGVsZXRlZF9zZWdtZW50X2lkcxgCIAMoCVIRZGVsZXRlZFNlZ21lbnRJZHMSIQoMcmVxdWVzdGVkX2F0GAMgASgDUgtyZXF1ZXN0ZWRBdBIhCgxmb3JjZV91cGRhdGUYBCABKAhSC2ZvcmNlVXBkYXRlIvoDChVHZXRFdmFsdWF0aW9uc1JlcXVlc3QSEAoDdGFnGAEgASgJUgN0YWcSKAoEdXNlchgCIAEoCzIULmJ1Y2tldGVlci51c2VyLlVzZXJSBHVzZXISLgoTdXNlcl9ldmFsdWF0aW9uc19pZBgDIAEoCVIRdXNlckV2YWx1YXRpb25zSWQSIQoKZmVhdHVyZV9pZBgEIAEoCUICGAFSCWZlYXR1cmVJZBI9Cglzb3VyY2VfaWQYBSABKA4yIC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNvdXJjZUlkUghzb3VyY2VJZBJ8Chl1c2VyX2V2YWx1YXRpb25fY29uZGl0aW9uGAYgASgLMkAuYnVja2V0ZWVyLmdhdGV3YXkuR2V0RXZhbHVhdGlvbnNSZXF1ZXN0LlVzZXJFdmFsdWF0aW9uQ29uZGl0aW9uUhd1c2VyRXZhbHVhdGlvbkNvbmRpdGlvbhIfCgtzZGtfdmVyc2lvbhgHIAEoCVIKc2RrVmVyc2lvbhp0ChdVc2VyRXZhbHVhdGlvbkNvbmRpdGlvbhIhCgxldmFsdWF0ZWRfYXQYASABKANSC2V2YWx1YXRlZEF0EjYKF3VzZXJfYXR0cmlidXRlc191cGRhdGVkGAIgASgIUhV1c2VyQXR0cmlidXRlc1VwZGF0ZWQizgEKFkdldEV2YWx1YXRpb25zUmVzcG9uc2USPgoFc3RhdGUYASABKA4yKC5idWNrZXRlZXIuZmVhdHVyZS5Vc2VyRXZhbHVhdGlvbnMuU3RhdGVSBXN0YXRlEkQKC2V2YWx1YXRpb25zGAIgASgLMiIuYnVja2V0ZWVyLmZlYXR1cmUuVXNlckV2YWx1YXRpb25zUgtldmFsdWF0aW9ucxIuChN1c2VyX2V2YWx1YXRpb25zX2lkGAMgASgJUhF1c2VyRXZhbHVhdGlvbnNJZCLRAQoUR2V0RXZhbHVhdGlvblJlcXVlc3QSEAoDdGFnGAEgASgJUgN0YWcSKAoEdXNlchgCIAEoCzIULmJ1Y2tldGVlci51c2VyLlVzZXJSBHVzZXISHQoKZmVhdHVyZV9pZBgDIAEoCVIJZmVhdHVyZUlkEj0KCXNvdXJjZV9pZBgEIAEoDjIgLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuU291cmNlSWRSCHNvdXJjZUlkEh8KC3Nka192ZXJzaW9uGAUgASgJUgpzZGtWZXJzaW9uIlYKFUdldEV2YWx1YXRpb25SZXNwb25zZRI9CgpldmFsdWF0aW9uGAEgASgLMh0uYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGlvblIKZXZhbHVhdGlvbiKuAQoVUmVnaXN0ZXJFdmVudHNSZXF1ZXN0EjUKBmV2ZW50cxgBIAMoCzIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuRXZlbnRSBmV2ZW50cxIfCgtzZGtfdmVyc2lvbhgCIAEoCVIKc2RrVmVyc2lvbhI9Cglzb3VyY2VfaWQYAyABKA4yIC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNvdXJjZUlkUghzb3VyY2VJZCKUAgoWUmVnaXN0ZXJFdmVudHNSZXNwb25zZRJNCgZlcnJvcnMYASADKAsyNS5idWNrZXRlZXIuZ2F0ZXdheS5SZWdpc3RlckV2ZW50c1Jlc3BvbnNlLkVycm9yc0VudHJ5UgZlcnJvcnMaPwoFRXJyb3ISHAoJcmV0cmlhYmxlGAEgASgIUglyZXRyaWFibGUSGAoHbWVzc2FnZRgCIAEoCVIHbWVzc2FnZRpqCgtFcnJvcnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJFCgV2YWx1ZRgCIAEoCzIvLmJ1Y2tldGVlci5nYXRld2F5LlJlZ2lzdGVyRXZlbnRzUmVzcG9uc2UuRXJyb3JSBXZhbHVlOgI4ASKcAQoMVHJhY2tSZXF1ZXN0EhYKBmFwaWtleRgBIAEoCVIGYXBpa2V5EhYKBnVzZXJpZBgCIAEoCVIGdXNlcmlkEhYKBmdvYWxpZBgDIAEoCVIGZ29hbGlkEhAKA3RhZxgEIAEoCVIDdGFnEhwKCXRpbWVzdGFtcBgFIAEoA1IJdGltZXN0YW1wEhQKBXZhbHVlGAYgASgBUgV2YWx1ZSIPCg1UcmFja1Jlc3BvbnNlIt0CChRDcmVhdGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24STwoOdmFyaWF0aW9uX3R5cGUYBCABKA4yKC5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlLlZhcmlhdGlvblR5cGVSDXZhcmlhdGlvblR5cGUSPAoKdmFyaWF0aW9ucxgFIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxISCgR0YWdzGAYgAygJUgR0YWdzEiwKEm9uX3ZhcmlhdGlvbl9pbmRleBgHIAEoBVIQb25WYXJpYXRpb25JbmRleBIuChNvZmZfdmFyaWF0aW9uX2luZGV4GAggASgFUhFvZmZWYXJpYXRpb25JbmRleCJNChVDcmVhdGVGZWF0dXJlUmVzcG9uc2USNAoHZmVhdHVyZRgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSB2ZlYXR1cmUiIwoRR2V0RmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkIkoKEkdldEZlYXR1cmVSZXNwb25zZRI0CgdmZWF0dXJlGAEgASgLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIHZmVhdHVyZSL1AQoTTGlzdEZlYXR1cmVzUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEkkKCG9yZGVyX2J5GAMgASgOMi4uYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZlYXR1cmVzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5El4KD29yZGVyX2RpcmVjdGlvbhgEIAEoDjI1LmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uIk4KFExpc3RGZWF0dXJlc1Jlc3BvbnNlEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMiqAUKFFVwZGF0ZUZlYXR1cmVSZXF1ZXN0EhgKB2NvbW1lbnQYASABKAlSB2NvbW1lbnQSDgoCaWQYAiABKAlSAmlkEjAKBG5hbWUYAyABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSPgoLZGVzY3JpcHRpb24YBCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSC2Rlc2NyaXB0aW9uEhIKBHRhZ3MYBSADKAlSBHRhZ3MSNAoHZW5hYmxlZBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSB2VuYWJsZWQSNgoIYXJjaGl2ZWQYByABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghhcmNoaXZlZBI8Cgp2YXJpYXRpb25zGAggAygLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uUgp2YXJpYXRpb25zEkUKDXByZXJlcXVpc2l0ZXMYCSADKAsyHy5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVSDXByZXJlcXVpc2l0ZXMSMwoHdGFyZ2V0cxgKIAMoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLlRhcmdldFIHdGFyZ2V0cxItCgVydWxlcxgLIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEkYKEGRlZmF1bHRfc3RyYXRlZ3kYDCABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIPZGVmYXVsdFN0cmF0ZWd5EkEKDW9mZl92YXJpYXRpb24YDSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSDG9mZlZhcmlhdGlvbiJNChVVcGRhdGVGZWF0dXJlUmVzcG9uc2USNAoHZmVhdHVyZRgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSB2ZlYXR1cmUikAIKEUxpc3RQdXNoZXNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISRAoIb3JkZXJfYnkYAyABKA4yKS5idWNrZXRlZXIucHVzaC5MaXN0UHVzaGVzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5ElkKD29yZGVyX2RpcmVjdGlvbhgEIAEoDjIwLmJ1Y2tldGVlci5wdXNoLkxpc3RQdXNoZXNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgFIAEoCVINc2VhcmNoS2V5d29yZCJ7ChJMaXN0UHVzaGVzUmVzcG9uc2USLAoGcHVzaGVzGAEgAygLMhQuYnVja2V0ZWVyLnB1c2guUHVzaFIGcHVzaGVzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50ImsKEUNyZWF0ZVB1c2hSZXF1ZXN0EhIKBHRhZ3MYASADKAlSBHRhZ3MSEgoEbmFtZRgCIAEoCVIEbmFtZRIuChNmY21fc2VydmljZV9hY2NvdW50GAMgASgMUhFmY21TZXJ2aWNlQWNjb3VudCI+ChJDcmVhdGVQdXNoUmVzcG9uc2USKAoEcHVzaBgBIAEoCzIULmJ1Y2tldGVlci5wdXNoLlB1c2hSBHB1c2giIAoOR2V0UHVzaFJlcXVlc3QSDgoCaWQYASABKAlSAmlkIjsKD0dldFB1c2hSZXNwb25zZRIoCgRwdXNoGAEgASgLMhQuYnVja2V0ZWVyLnB1c2guUHVzaFIEcHVzaCKAAgoRVXBkYXRlUHVzaFJlcXVlc3QSDgoCaWQYASABKAlSAmlkEhIKBHRhZ3MYAiADKAlSBHRhZ3MSMAoEbmFtZRgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRKUAQoHZGVsZXRlZBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCXpJBWyoHZGVsZXRlZDJQaWYgdHJ1ZSwgdGhlIHB1c2ggbm90aWZpY2F0aW9uIHdpbGwgYmUgZGVsZXRlZCBhbmQgb3RoZXIgZmllbGRzIHdpbGwgYmUgaWdub3JlZC5SB2RlbGV0ZWQiPgoSVXBkYXRlUHVzaFJlc3BvbnNlEigKBHB1c2gYASABKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgRwdXNoIqUDChZDcmVhdGVBY2NvdW50VjJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBISCgRuYW1lGAIgASgJUgRuYW1lEigKEGF2YXRhcl9pbWFnZV91cmwYAyABKAlSDmF2YXRhckltYWdlVXJsEicKD29yZ2FuaXphdGlvbl9pZBgEIAEoCVIOb3JnYW5pemF0aW9uSWQSWwoRb3JnYW5pemF0aW9uX3JvbGUYBSABKA4yLi5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5Pcmdhbml6YXRpb25SEG9yZ2FuaXphdGlvblJvbGUSWQoRZW52aXJvbm1lbnRfcm9sZXMYBiADKAsyLC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuRW52aXJvbm1lbnRSb2xlUhBlbnZpcm9ubWVudFJvbGVzEh0KCmZpcnN0X25hbWUYByABKAlSCWZpcnN0TmFtZRIbCglsYXN0X25hbWUYCCABKAlSCGxhc3ROYW1lEhoKCGxhbmd1YWdlGAkgASgJUghsYW5ndWFnZSJRChdDcmVhdGVBY2NvdW50VjJSZXNwb25zZRI2CgdhY2NvdW50GAEgASgLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUgdhY2NvdW50IokIChZVcGRhdGVBY2NvdW50VjJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkEjAKBG5hbWUYAyABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSRgoQYXZhdGFyX2ltYWdlX3VybBgEIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIOYXZhdGFySW1hZ2VVcmwSbAoRb3JnYW5pemF0aW9uX3JvbGUYBSABKAsyPy5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVBY2NvdW50VjJSZXF1ZXN0Lk9yZ2FuaXphdGlvblJvbGVWYWx1ZVIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgGIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSOwoKZmlyc3RfbmFtZRgHIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIJZmlyc3ROYW1lEjkKCWxhc3RfbmFtZRgIIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIIbGFzdE5hbWUSOAoIbGFuZ3VhZ2UYCSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSCGxhbmd1YWdlEjgKCWxhc3Rfc2VlbhgKIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlUghsYXN0U2VlbhJRCgZhdmF0YXIYCyABKAsyOS5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVBY2NvdW50VjJSZXF1ZXN0LkFjY291bnRWMkF2YXRhclIGYXZhdGFyEqABCghkaXNhYmxlZBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCaJJBZSoIZGlzYWJsZWQyWWlmIGRpc2FibGVkIGlzIHRydWUsIHRoZSBhY2NvdW50IHdpbGwgYmUgZGlzYWJsZWQuIElmIGZhbHNlLCB0aGUgYWNjb3VudCB3aWxsIGJlIGVuYWJsZWQuUghkaXNhYmxlZBKKAQoHZGVsZXRlZBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCVJJBUSoHZGVsZXRlZDJGaWYgdHJ1ZSwgdGhlIGFjY291bnQgd2lsbCBiZSBkZWxldGVkIGFuZCBvdGhlciBmaWVsZHMgd2lsbCBiZSBpZ25vcmVkLlIHZGVsZXRlZCJRChdVcGRhdGVBY2NvdW50VjJSZXNwb25zZRI2CgdhY2NvdW50GAEgASgLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUgdhY2NvdW50IlQKE0dldEFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQiTgoUR2V0QWNjb3VudFYyUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCJhCiJHZXRBY2NvdW50VjJCeUVudmlyb25tZW50SURSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBIlCg5lbnZpcm9ubWVudF9pZBgCIAEoCVINZW52aXJvbm1lbnRJZCJdCiNHZXRBY2NvdW50VjJCeUVudmlyb25tZW50SURSZXNwb25zZRI2CgdhY2NvdW50GAEgASgLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUgdhY2NvdW50IjcKDEdldE1lUmVxdWVzdBInCg9vcmdhbml6YXRpb25faWQYASABKAlSDm9yZ2FuaXphdGlvbklkIkwKDUdldE1lUmVzcG9uc2USOwoHYWNjb3VudBgBIAEoCzIhLmJ1Y2tldGVlci5hY2NvdW50LkNvbnNvbGVBY2NvdW50UgdhY2NvdW50ItoEChVMaXN0QWNjb3VudHNWMlJlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchInCg9vcmdhbml6YXRpb25faWQYAyABKAlSDm9yZ2FuaXphdGlvbklkEksKCG9yZGVyX2J5GAQgASgOMjAuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFjY291bnRzVjJSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSYAoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjcuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFjY291bnRzVjJSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBI2CghkaXNhYmxlZBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGRpc2FibGVkEkgKEW9yZ2FuaXphdGlvbl9yb2xlGAggASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSEG9yZ2FuaXphdGlvblJvbGUSQwoOZW52aXJvbm1lbnRfaWQYCSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSDWVudmlyb25tZW50SWQSRgoQZW52aXJvbm1lbnRfcm9sZRgKIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUg9lbnZpcm9ubWVudFJvbGUiiwEKFkxpc3RBY2NvdW50c1YyUmVzcG9uc2USOAoIYWNjb3VudHMYASADKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSCGFjY291bnRzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50Mus3CgdHYXRld2F5EvQCCg5HZXRFdmFsdWF0aW9ucxIoLmJ1Y2tldGVlci5nYXRld2F5LkdldEV2YWx1YXRpb25zUmVxdWVzdBopLmJ1Y2tldGVlci5nYXRld2F5LkdldEV2YWx1YXRpb25zUmVzcG9uc2UijAKSQe0BChZDbGllbnQgYW5kIFNlcnZlciBTREtzEg9HZXQgRXZhbHVhdGlvbnMaYUdldHMgYWxsIHRoZSBldmFsdWF0aW9ucyBmb3IgYSBzcGVjaWZpYyB1c2VyLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBDTElFTlRgIEFQSSBLZXkgcm9sZS4qG2FwaS5nYXRld2F5LmdldF9ldmFsdWF0aW9uc3JCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIVIhAvZ2V0X2V2YWx1YXRpb25zOgEqEu4CCg1HZXRFdmFsdWF0aW9uEicuYnVja2V0ZWVyLmdhdGV3YXkuR2V0RXZhbHVhdGlvblJlcXVlc3QaKC5idWNrZXRlZXIuZ2F0ZXdheS5HZXRFdmFsdWF0aW9uUmVzcG9uc2UiiQKSQesBChZDbGllbnQgYW5kIFNlcnZlciBTREtzEg5HZXQgRXZhbHVhdGlvbhphR2V0cyBhIHNpbmdsZSBldmFsdWF0aW9uIGZvciBhIHNwZWNpZmljIHVzZXIuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYENMSUVOVGAgQVBJIEtleSByb2xlLioaYXBpLmdhdGV3YXkuZ2V0X2V2YWx1YXRpb25yQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCFCIPL2dldF9ldmFsdWF0aW9uOgEqEvoCCg9HZXRGZWF0dXJlRmxhZ3MSKS5idWNrZXRlZXIuZ2F0ZXdheS5HZXRGZWF0dXJlRmxhZ3NSZXF1ZXN0GiouYnVja2V0ZWVyLmdhdGV3YXkuR2V0RmVhdHVyZUZsYWdzUmVzcG9uc2UijwKSQe4BChZDbGllbnQgYW5kIFNlcnZlciBTREtzEhFHZXQgRmVhdHVyZSBGbGFncxpeR2V0cyBhbGwgdGhlIGZlYXR1cmUgZmxhZyBpbiBhbiBlbnZpcm9ubWVudC4gVG8gY2FsbCB0aGlzIEFQSSwgaXQgbmVlZHMgYFNFUlZFUmAgQVBJIEtleSByb2xlLiodYXBpLmdhdGV3YXkuZ2V0X2ZlYXR1cmVfZmxhZ3NyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCFyISL2dldF9mZWF0dXJlX2ZsYWdzOgEqEvsCCg9HZXRTZWdtZW50VXNlcnMSKS5idWNrZXRlZXIuZ2F0ZXdheS5HZXRTZWdtZW50VXNlcnNSZXF1ZXN0GiouYnVja2V0ZWVyLmdhdGV3YXkuR2V0U2VnbWVudFVzZXJzUmVzcG9uc2UikAKSQe8BChZDbGllbnQgYW5kIFNlcnZlciBTREtzEhFHZXQgU2VnbWVudCBVc2VycxpfR2V0cyBhbGwgdGhlIHNlZ21lbnQgdXNlcnMgaW4gYW4gZW52aXJvbm1lbnQuIFRvIGNhbGwgdGhpcyBBUEksIGl0IG5lZWRzIGBTRVJWRVJgIEFQSSBLZXkgcm9sZS4qHWFwaS5nYXRld2F5LmdldF9zZWdtZW50X3VzZXJzckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhciEi9nZXRfc2VnbWVudF91c2VyczoBKhL5AgoOUmVnaXN0ZXJFdmVudHMSKC5idWNrZXRlZXIuZ2F0ZXdheS5SZWdpc3RlckV2ZW50c1JlcXVlc3QaKS5idWNrZXRlZXIuZ2F0ZXdheS5SZWdpc3RlckV2ZW50c1Jlc3BvbnNlIpECkkHyAQoWQ2xpZW50IGFuZCBTZXJ2ZXIgU0RLcxIPUmVnaXN0ZXIgRXZlbnRzGmZUaGlzIEFQSSBpcyBmb3IgcmVwb3J0aW5nIEdvYWwgZXZlbnRzLiBUbyBjYWxsIHRoaXMgQVBJLCBpdCBuZWVkcyBhIGBDTElFTlRgIG9yIGBTRVJWRVJgIEFQSSBLZXkgcm9sZS4qG2FwaS5nYXRld2F5LnJlZ2lzdGVyX2V2ZW50c3JCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIVIhAvcmVnaXN0ZXJfZXZlbnRzOgEqEo8CCgVUcmFjaxIfLmJ1Y2tldGVlci5nYXRld2F5LlRyYWNrUmVxdWVzdBogLmJ1Y2tldGVlci5nYXRld2F5LlRyYWNrUmVzcG9uc2UiwgGSQbABChZDbGllbnQgYW5kIFNlcnZlciBTREtzEgVUcmFjaxp8VGhpcyBBUEkgaXMgYW4gaW50ZWdyYXRpb24gZm9yIEdvb2dsZSBUYWIgTWFuYWdlciB0byByZXBvcnQgR29hbCBldmVudHMuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYENMSUVOVGAgQVBJIEtleSByb2xlLioRYXBpLmdhdGV3YXkudHJhY2uC0+STAggSBi90cmFjaxLVAgoNQ3JlYXRlRmVhdHVyZRInLmJ1Y2tldGVlci5nYXRld2F5LkNyZWF0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmdhdGV3YXkuQ3JlYXRlRmVhdHVyZVJlc3BvbnNlIvABkkHVAQoNRmVhdHVyZSBGbGFncxIGQ3JlYXRlGlhDcmVhdGUgYSBuZXcgRmVhdHVyZSBGbGFnLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBXUklURWAgb3IgYEFETUlOYCBBUEkgS2V5IHJvbGUuKh5hcGkuZ2F0ZXdheS52MS5mZWF0dXJlcy5jcmVhdGVyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCESIML3YxL2ZlYXR1cmVzOgEqErUCCgpHZXRGZWF0dXJlEiQuYnVja2V0ZWVyLmdhdGV3YXkuR2V0RmVhdHVyZVJlcXVlc3QaJS5idWNrZXRlZXIuZ2F0ZXdheS5HZXRGZWF0dXJlUmVzcG9uc2Ui2QGSQbwBCg1GZWF0dXJlIEZsYWdzEgNHZXQaRUdldCBhIEZlYXR1cmUgRmxhZy4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLiobYXBpLmdhdGV3YXkudjEuZmVhdHVyZXMuZ2V0ckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhMSES92MS9mZWF0dXJlcy97aWR9ErgCCgxMaXN0RmVhdHVyZXMSJi5idWNrZXRlZXIuZ2F0ZXdheS5MaXN0RmVhdHVyZXNSZXF1ZXN0GicuYnVja2V0ZWVyLmdhdGV3YXkuTGlzdEZlYXR1cmVzUmVzcG9uc2Ui1gGSQb4BCg1GZWF0dXJlIEZsYWdzEgRMaXN0GkVMaXN0IEZlYXR1cmUgRmxhZ3MuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFJFQURgIEFQSSBLZXkgcm9sZS4qHGFwaS5nYXRld2F5LnYxLmZlYXR1cmVzLmxpc3RyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCDhIML3YxL2ZlYXR1cmVzEtYCCg1VcGRhdGVGZWF0dXJlEicuYnVja2V0ZWVyLmdhdGV3YXkuVXBkYXRlRmVhdHVyZVJlcXVlc3QaKC5idWNrZXRlZXIuZ2F0ZXdheS5VcGRhdGVGZWF0dXJlUmVzcG9uc2Ui8QGSQdEBCg1GZWF0dXJlIEZsYWdzEgZVcGRhdGUaVFVwZGF0ZSBhIEZlYXR1cmUgRmxhZy4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgV1JJVEVgIG9yIGBBRE1JTmAgQVBJIEtleSByb2xlLioeYXBpLmdhdGV3YXkudjEuZmVhdHVyZXMudXBkYXRlckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhYyES92MS9mZWF0dXJlcy97aWR9OgEqEu4BCgRQaW5nEh4uYnVja2V0ZWVyLmdhdGV3YXkuUGluZ1JlcXVlc3QaHy5idWNrZXRlZXIuZ2F0ZXdheS5QaW5nUmVzcG9uc2UipAGSQZMBCgdVdGlsaXR5EgRQaW5nGipQaW5nIHRoZSBzZXJ2ZXIgdG8gY2hlY2sgaXRzIGF2YWlsYWJpbGl0eS4qEGFwaS5nYXRld2F5LnBpbmdiAHJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIHEgUvcGluZxKgAgoKTGlzdFB1c2hlcxIkLmJ1Y2tldGVlci5nYXRld2F5Lkxpc3RQdXNoZXNSZXF1ZXN0GiUuYnVja2V0ZWVyLmdhdGV3YXkuTGlzdFB1c2hlc1Jlc3BvbnNlIsQBkkGuAQoGUHVzaGVzEgRMaXN0Gj5MaXN0IHB1c2hlcy4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLioaYXBpLmdhdGV3YXkudjEucHVzaGVzLmxpc3RyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCDBIKL3YxL3B1c2hlcxLzAgoKQ3JlYXRlUHVzaBIkLmJ1Y2tldGVlci5nYXRld2F5LkNyZWF0ZVB1c2hSZXF1ZXN0GiUuYnVja2V0ZWVyLmdhdGV3YXkuQ3JlYXRlUHVzaFJlc3BvbnNlIpcCkkGAAgoGUHVzaGVzEgZDcmVhdGUaiwFDcmVhdGUgYSBuZXcgUHVzaCBub3RpZmljYXRpb24gdGhyb3VnaCBHb29nbGUgRmlyZWJhc2UgQ2xvdWQgTWVzc2FnaW5nIChGQ00pLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBXUklURWAgb3IgYEFETUlOYCBBUEkgS2V5IHJvbGUuKhxhcGkuZ2F0ZXdheS52MS5wdXNoZXMuY3JlYXRlckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAg0iCC92MS9wdXNoOgEqEqQCCgdHZXRQdXNoEiEuYnVja2V0ZWVyLmdhdGV3YXkuR2V0UHVzaFJlcXVlc3QaIi5idWNrZXRlZXIuZ2F0ZXdheS5HZXRQdXNoUmVzcG9uc2Ui0QGSQbgBCgZQdXNoZXMSA0dldBpKR2V0IGEgUHVzaCBub3RpZmljYXRpb24uIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFJFQURgIEFQSSBLZXkgcm9sZS4qGWFwaS5nYXRld2F5LnYxLnB1c2hlcy5nZXRyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCDxINL3YxL3B1c2gve2lkfRLAAgoKVXBkYXRlUHVzaBIkLmJ1Y2tldGVlci5nYXRld2F5LlVwZGF0ZVB1c2hSZXF1ZXN0GiUuYnVja2V0ZWVyLmdhdGV3YXkuVXBkYXRlUHVzaFJlc3BvbnNlIuQBkkHIAQoGUHVzaGVzEgZVcGRhdGUaVFVwZGF0ZSBhIFB1c2ggbm90aWZpY2F0aW9uLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgYSBgV1JJVEVgIG9yIGBBRE1JTmAgQVBJIEtleSByb2xlLiocYXBpLmdhdGV3YXkudjEucHVzaGVzLnVwZGF0ZXJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwISMg0vdjEvcHVzaC97aWR9OgEqEs4CCg9DcmVhdGVBY2NvdW50VjISKS5idWNrZXRlZXIuZ2F0ZXdheS5DcmVhdGVBY2NvdW50VjJSZXF1ZXN0GiouYnVja2V0ZWVyLmdhdGV3YXkuQ3JlYXRlQWNjb3VudFYyUmVzcG9uc2Ui4wGSQckBCgdBY2NvdW50EgZDcmVhdGUaU0NyZWF0ZSBhIG5ldyBBY2NvdW50LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBXUklURWAgb3IgYEFETUlOYCBBUEkgS2V5IHJvbGUuKh1hcGkuZ2F0ZXdheS52MS5hY2NvdW50LmNyZWF0ZXJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIQIgsvdjEvYWNjb3VudDoBKhLlAgoPVXBkYXRlQWNjb3VudFYyEikuYnVja2V0ZWVyLmdhdGV3YXkuVXBkYXRlQWNjb3VudFYyUmVxdWVzdBoqLmJ1Y2tldGVlci5nYXRld2F5LlVwZGF0ZUFjY291bnRWMlJlc3BvbnNlIvoBkkHGAQoHQWNjb3VudBIGVXBkYXRlGlBVcGRhdGUgYW4gQWNjb3VudC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgV1JJVEVgIG9yIGBBRE1JTmAgQVBJIEtleSByb2xlLiodYXBpLmdhdGV3YXkudjEuYWNjb3VudC51cGRhdGVyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCKjIlL3YxL2FjY291bnQve29yZ2FuaXphdGlvbl9pZH0ve2VtYWlsfToBKhLXAgoMR2V0QWNjb3VudFYyEiYuYnVja2V0ZWVyLmdhdGV3YXkuR2V0QWNjb3VudFYyUmVxdWVzdBonLmJ1Y2tldGVlci5nYXRld2F5LkdldEFjY291bnRWMlJlc3BvbnNlIvUBkkHEAQoHQWNjb3VudBIWR2V0IGJ5IE9yZ2FuaXphdGlvbiBJRBpBR2V0IGFuIEFjY291bnQuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFJFQURgIEFQSSBLZXkgcm9sZS4qGmFwaS5nYXRld2F5LnYxLmFjY291bnQuZ2V0ckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAicSJS92MS9hY2NvdW50L3tvcmdhbml6YXRpb25faWR9L3tlbWFpbH0SwQMKG0dldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRBI1LmJ1Y2tldGVlci5nYXRld2F5LkdldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRFJlcXVlc3QaNi5idWNrZXRlZXIuZ2F0ZXdheS5HZXRBY2NvdW50VjJCeUVudmlyb25tZW50SURSZXNwb25zZSKyApJB5wEKB0FjY291bnQSFUdldCBieSBFbnZpcm9ubWVudCBJRBpTR2V0IGFuIEFjY291bnQgYnkgRW52aXJvbm1lbnQgSUQuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFJFQURgIEFQSSBLZXkgcm9sZS4qLGFwaS5nYXRld2F5LnYxLmFjY291bnQuZ2V0X2J5X2Vudmlyb25tZW50X2lkckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAkESPy92MS9hY2NvdW50L2dldC1hY2NvdW50LWJ5LWVudmlyb25tZW50L3tlbnZpcm9ubWVudF9pZH0ve2VtYWlsfRLGAgoFR2V0TWUSHy5idWNrZXRlZXIuZ2F0ZXdheS5HZXRNZVJlcXVlc3QaIC5idWNrZXRlZXIuZ2F0ZXdheS5HZXRNZVJlc3BvbnNlIvkBkkHNAQoHQWNjb3VudBITR2V0IFNlcnZpY2UgQWNjb3VudBpKR2V0IHRoZSBjdXJyZW50IEFjY291bnQuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFJFQURgIEFQSSBLZXkgcm9sZS4qHWFwaS5nYXRld2F5LnYxLmFjY291bnQuZ2V0X21lckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAiISIC92MS9hY2NvdW50L21lL3tvcmdhbml6YXRpb25faWR9ErYCCg5MaXN0QWNjb3VudHNWMhIoLmJ1Y2tldGVlci5nYXRld2F5Lkxpc3RBY2NvdW50c1YyUmVxdWVzdBopLmJ1Y2tldGVlci5nYXRld2F5Lkxpc3RBY2NvdW50c1YyUmVzcG9uc2UizgGSQbYBCgdBY2NvdW50EgRMaXN0GkRHZXQgbGlzdCBBY2NvdW50cy4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLiobYXBpLmdhdGV3YXkudjEuYWNjb3VudC5saXN0ckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAg4SDC92MS9hY2NvdW50c0KEBlovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2dhdGV3YXmSQc8FEiAKGUJ1Y2tldGVlciBHYXRld2F5IFNlcnZpY2UyAzEuMBoIRU5EUE9JTlQqAQIyEGFwcGxpY2F0aW9uL2pzb246EGFwcGxpY2F0aW9uL2pzb25StAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1SsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9UqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfVpQCk4KCkFwaUtleUF1dGgSQAgCEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGg1hdXRob3JpemF0aW9uIAJiEAoOCgpBcGlLZXlBdXRoEgBiBnByb3RvMw==" config: port: 9000 adminPort: 8001 diff --git a/manifests/bucketeer/charts/web/values.yaml b/manifests/bucketeer/charts/web/values.yaml index 2bf130aee..6a7af8287 100644 --- a/manifests/bucketeer/charts/web/values.yaml +++ b/manifests/bucketeer/charts/web/values.yaml @@ -110,7 +110,7 @@ envoy: batchDescriptor: CuMFChlwcm90by9iYXRjaC9zZXJ2aWNlLnByb3RvEg9idWNrZXRlZXIuYmF0Y2giPgoPQmF0Y2hKb2JSZXF1ZXN0EisKA2pvYhgBIAEoDjIZLmJ1Y2tldGVlci5iYXRjaC5CYXRjaEpvYlIDam9iIhIKEEJhdGNoSm9iUmVzcG9uc2UqvQMKCEJhdGNoSm9iEhsKF0V4cGVyaW1lbnRTdGF0dXNVcGRhdGVyEAASHAoYRXhwZXJpbWVudFJ1bm5pbmdXYXRjaGVyEAESFwoTRmVhdHVyZVN0YWxlV2F0Y2hlchACEhMKD01hdUNvdW50V2F0Y2hlchADEhMKD0RhdGV0aW1lV2F0Y2hlchAEEhUKEUV2ZW50Q291bnRXYXRjaGVyEAUSFwoTRG9tYWluRXZlbnRJbmZvcm1lchAGEhcKE1JlZGlzQ291bnRlckRlbGV0ZXIQBxIdChlQcm9ncmVzc2l2ZVJvbGxvdXRXYXRjaGVyEAgSGAoURXhwZXJpbWVudENhbGN1bGF0b3IQCRIRCg1NYXVTdW1tYXJpemVyEAoSFwoTTWF1UGFydGl0aW9uRGVsZXRlchALEhcKE01hdVBhcnRpdGlvbkNyZWF0b3IQDBIVChFGZWF0dXJlRmxhZ0NhY2hlchANEhUKEVNlZ21lbnRVc2VyQ2FjaGVyEA4SEAoMQXBpS2V5Q2FjaGVyEA8SFgoSQXV0b09wc1J1bGVzQ2FjaGVyEBASFAoQRXhwZXJpbWVudENhY2hlchARMmgKDEJhdGNoU2VydmljZRJYCg9FeGVjdXRlQmF0Y2hKb2ISIC5idWNrZXRlZXIuYmF0Y2guQmF0Y2hKb2JSZXF1ZXN0GiEuYnVja2V0ZWVyLmJhdGNoLkJhdGNoSm9iUmVzcG9uc2UiAEIvWi1naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYmF0Y2hiBnByb3RvMw== environmentDescriptor: CtUMCh9wcm90by9lbnZpcm9ubWVudC9jb21tYW5kLnByb3RvEhVidWNrZXRlZXIuZW52aXJvbm1lbnQitQEKGkNyZWF0ZUVudmlyb25tZW50VjJDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAiABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEh0KCnByb2plY3RfaWQYBCABKAlSCXByb2plY3RJZBInCg9yZXF1aXJlX2NvbW1lbnQYBSABKAhSDnJlcXVpcmVDb21tZW50IjAKGlJlbmFtZUVudmlyb25tZW50VjJDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUiSQolQ2hhbmdlRGVzY3JpcHRpb25FbnZpcm9ubWVudFYyQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24iHQobQXJjaGl2ZUVudmlyb25tZW50VjJDb21tYW5kIh8KHVVuYXJjaGl2ZUVudmlyb25tZW50VjJDb21tYW5kIpABChRDcmVhdGVQcm9qZWN0Q29tbWFuZBInCg9vcmdhbml6YXRpb25faWQYASABKAlSDm9yZ2FuaXphdGlvbklkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEhkKCHVybF9jb2RlGAQgASgJUgd1cmxDb2RlIpUBChlDcmVhdGVUcmlhbFByb2plY3RDb21tYW5kEhIKAmlkGAEgASgJQgIYAVICaWQSFAoFZW1haWwYAiABKAlSBWVtYWlsEhIKBG5hbWUYAyABKAlSBG5hbWUSGQoIdXJsX2NvZGUYBCABKAlSB3VybENvZGUSHwoLb3duZXJfZW1haWwYBSABKAlSCm93bmVyRW1haWwiKgoUUmVuYW1lUHJvamVjdENvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZSJDCh9DaGFuZ2VEZXNjcmlwdGlvblByb2plY3RDb21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiIWChRFbmFibGVQcm9qZWN0Q29tbWFuZCIXChVEaXNhYmxlUHJvamVjdENvbW1hbmQiHAoaQ29udmVydFRyaWFsUHJvamVjdENvbW1hbmQi0AEKGUNyZWF0ZU9yZ2FuaXphdGlvbkNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZRIZCgh1cmxfY29kZRgCIAEoCVIHdXJsQ29kZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SGQoIaXNfdHJpYWwYBCABKAhSB2lzVHJpYWwSJgoPaXNfc3lzdGVtX2FkbWluGAUgASgIUg1pc1N5c3RlbUFkbWluEh8KC293bmVyX2VtYWlsGAYgASgJUgpvd25lckVtYWlsIjMKHUNoYW5nZU5hbWVPcmdhbml6YXRpb25Db21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUiSAokQ2hhbmdlRGVzY3JpcHRpb25Pcmdhbml6YXRpb25Db21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiJGCiNDaGFuZ2VPd25lckVtYWlsT3JnYW5pemF0aW9uQ29tbWFuZBIfCgtvd25lcl9lbWFpbBgBIAEoCVIKb3duZXJFbWFpbCJGChtDaGFuZ2VSZXF1aXJlQ29tbWVudENvbW1hbmQSJwoPcmVxdWlyZV9jb21tZW50GAEgASgIUg5yZXF1aXJlQ29tbWVudCIbChlFbmFibGVPcmdhbml6YXRpb25Db21tYW5kIhwKGkRpc2FibGVPcmdhbml6YXRpb25Db21tYW5kIhwKGkFyY2hpdmVPcmdhbml6YXRpb25Db21tYW5kIh4KHFVuYXJjaGl2ZU9yZ2FuaXphdGlvbkNvbW1hbmQiIQofQ29udmVydFRyaWFsT3JnYW5pemF0aW9uQ29tbWFuZEI1WjNnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZW52aXJvbm1lbnRiBnByb3RvMwrnAwojcHJvdG8vZW52aXJvbm1lbnQvZW52aXJvbm1lbnQucHJvdG8SFWJ1Y2tldGVlci5lbnZpcm9ubWVudCLpAgoNRW52aXJvbm1lbnRWMhIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIZCgh1cmxfY29kZRgDIAEoCVIHdXJsQ29kZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24SHQoKcHJvamVjdF9pZBgFIAEoCVIJcHJvamVjdElkEhoKCGFyY2hpdmVkGAYgASgIUghhcmNoaXZlZBIdCgpjcmVhdGVkX2F0GAcgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgIIAEoA1IJdXBkYXRlZEF0EicKD29yZ2FuaXphdGlvbl9pZBgJIAEoCVIOb3JnYW5pemF0aW9uSWQSJwoPcmVxdWlyZV9jb21tZW50GAogASgIUg5yZXF1aXJlQ29tbWVudBIsChJmZWF0dXJlX2ZsYWdfY291bnQYCyABKAVSEGZlYXR1cmVGbGFnQ291bnRCNVozZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2Vudmlyb25tZW50YgZwcm90bzMKrwQKJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IrADCgxPcmdhbml6YXRpb24SDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAyABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEhoKCGRpc2FibGVkGAUgASgIUghkaXNhYmxlZBIaCghhcmNoaXZlZBgGIAEoCFIIYXJjaGl2ZWQSFAoFdHJpYWwYByABKAhSBXRyaWFsEh0KCmNyZWF0ZWRfYXQYCCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAkgASgDUgl1cGRhdGVkQXQSIQoMc3lzdGVtX2FkbWluGAogASgIUgtzeXN0ZW1BZG1pbhIjCg1wcm9qZWN0X2NvdW50GAsgASgFUgxwcm9qZWN0Q291bnQSKwoRZW52aXJvbm1lbnRfY291bnQYDCABKAVSEGVudmlyb25tZW50Q291bnQSHQoKdXNlcl9jb3VudBgNIAEoBVIJdXNlckNvdW50Eh8KC293bmVyX2VtYWlsGA4gASgJUgpvd25lckVtYWlsQjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCv0DCh9wcm90by9lbnZpcm9ubWVudC9wcm9qZWN0LnByb3RvEhVidWNrZXRlZXIuZW52aXJvbm1lbnQigwMKB1Byb2plY3QSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgDIAEoCFIIZGlzYWJsZWQSFAoFdHJpYWwYBCABKAhSBXRyaWFsEiMKDWNyZWF0b3JfZW1haWwYBSABKAlSDGNyZWF0b3JFbWFpbBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0EhIKBG5hbWUYCCABKAlSBG5hbWUSGQoIdXJsX2NvZGUYCSABKAlSB3VybENvZGUSJwoPb3JnYW5pemF0aW9uX2lkGAogASgJUg5vcmdhbml6YXRpb25JZBIrChFlbnZpcm9ubWVudF9jb3VudBgLIAEoBVIQZW52aXJvbm1lbnRDb3VudBIsChJmZWF0dXJlX2ZsYWdfY291bnQYDCABKAVSEGZlYXR1cmVGbGFnQ291bnRCNVozZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2Vudmlyb25tZW50YgZwcm90bzMKhgQKHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIiMKC0RvdWJsZVZhbHVlEhQKBXZhbHVlGAEgASgBUgV2YWx1ZSIiCgpGbG9hdFZhbHVlEhQKBXZhbHVlGAEgASgCUgV2YWx1ZSIiCgpJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgDUgV2YWx1ZSIjCgtVSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoBFIFdmFsdWUiIgoKSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoBVIFdmFsdWUiIwoLVUludDMyVmFsdWUSFAoFdmFsdWUYASABKA1SBXZhbHVlIiEKCUJvb2xWYWx1ZRIUCgV2YWx1ZRgBIAEoCFIFdmFsdWUiIwoLU3RyaW5nVmFsdWUSFAoFdmFsdWUYASABKAlSBXZhbHVlIiIKCkJ5dGVzVmFsdWUSFAoFdmFsdWUYASABKAxSBXZhbHVlQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1XcmFwcGVyc1Byb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3dyYXBwZXJzcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMwqHBQoVZ29vZ2xlL2FwaS9odHRwLnByb3RvEgpnb29nbGUuYXBpInkKBEh0dHASKgoFcnVsZXMYASADKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUgVydWxlcxJFCh9mdWxseV9kZWNvZGVfcmVzZXJ2ZWRfZXhwYW5zaW9uGAIgASgIUhxmdWxseURlY29kZVJlc2VydmVkRXhwYW5zaW9uIrUCCghIdHRwUnVsZRIaCghzZWxlY3RvchgBIAEoCVIIc2VsZWN0b3ISEgoDZ2V0GAIgASgJSABSA2dldBISCgNwdXQYAyABKAlIAFIDcHV0EhQKBHBvc3QYBCABKAlIAFIEcG9zdBIYCgZkZWxldGUYBSABKAlIAFIGZGVsZXRlEhYKBXBhdGNoGAYgASgJSABSBXBhdGNoEjcKBmN1c3RvbRgIIAEoCzIdLmdvb2dsZS5hcGkuQ3VzdG9tSHR0cFBhdHRlcm5IAFIGY3VzdG9tEhIKBGJvZHkYByABKAlSBGJvZHkSRQoTYWRkaXRpb25hbF9iaW5kaW5ncxgLIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSEmFkZGl0aW9uYWxCaW5kaW5nc0IJCgdwYXR0ZXJuIjsKEUN1c3RvbUh0dHBQYXR0ZXJuEhIKBGtpbmQYASABKAlSBGtpbmQSEgoEcGF0aBgCIAEoCVIEcGF0aEJqCg5jb20uZ29vZ2xlLmFwaUIJSHR0cFByb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25z+AEBogIER0FQSWIGcHJvdG8zCuFGCiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIk0KEUZpbGVEZXNjcmlwdG9yU2V0EjgKBGZpbGUYASADKAsyJC5nb29nbGUucHJvdG9idWYuRmlsZURlc2NyaXB0b3JQcm90b1IEZmlsZSL+BAoTRmlsZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhgKB3BhY2thZ2UYAiABKAlSB3BhY2thZ2USHgoKZGVwZW5kZW5jeRgDIAMoCVIKZGVwZW5kZW5jeRIrChFwdWJsaWNfZGVwZW5kZW5jeRgKIAMoBVIQcHVibGljRGVwZW5kZW5jeRInCg93ZWFrX2RlcGVuZGVuY3kYCyADKAVSDndlYWtEZXBlbmRlbmN5EkMKDG1lc3NhZ2VfdHlwZRgEIAMoCzIgLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG9SC21lc3NhZ2VUeXBlEkEKCWVudW1fdHlwZRgFIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvUghlbnVtVHlwZRJBCgdzZXJ2aWNlGAYgAygLMicuZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VEZXNjcmlwdG9yUHJvdG9SB3NlcnZpY2USQwoJZXh0ZW5zaW9uGAcgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb24SNgoHb3B0aW9ucxgIIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9uc1IHb3B0aW9ucxJJChBzb3VyY2VfY29kZV9pbmZvGAkgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvUg5zb3VyY2VDb2RlSW5mbxIWCgZzeW50YXgYDCABKAlSBnN5bnRheBIYCgdlZGl0aW9uGA0gASgJUgdlZGl0aW9uIrkGCg9EZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI7CgVmaWVsZBgCIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IFZmllbGQSQwoJZXh0ZW5zaW9uGAYgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb24SQQoLbmVzdGVkX3R5cGUYAyADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvUgpuZXN0ZWRUeXBlEkEKCWVudW1fdHlwZRgEIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvUghlbnVtVHlwZRJYCg9leHRlbnNpb25fcmFuZ2UYBSADKAsyLy5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLkV4dGVuc2lvblJhbmdlUg5leHRlbnNpb25SYW5nZRJECgpvbmVvZl9kZWNsGAggAygLMiUuZ29vZ2xlLnByb3RvYnVmLk9uZW9mRGVzY3JpcHRvclByb3RvUglvbmVvZkRlY2wSOQoHb3B0aW9ucxgHIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9uc1IHb3B0aW9ucxJVCg5yZXNlcnZlZF9yYW5nZRgJIAMoCzIuLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG8uUmVzZXJ2ZWRSYW5nZVINcmVzZXJ2ZWRSYW5nZRIjCg1yZXNlcnZlZF9uYW1lGAogAygJUgxyZXNlcnZlZE5hbWUaegoORXh0ZW5zaW9uUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kEkAKB29wdGlvbnMYAyABKAsyJi5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zUgdvcHRpb25zGjcKDVJlc2VydmVkUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kIq0EChVFeHRlbnNpb25SYW5nZU9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24SWQoLZGVjbGFyYXRpb24YAiADKAsyMi5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zLkRlY2xhcmF0aW9uQgOIAQJSC2RlY2xhcmF0aW9uEmgKDHZlcmlmaWNhdGlvbhgDIAEoDjI4Lmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnMuVmVyaWZpY2F0aW9uU3RhdGU6ClVOVkVSSUZJRURSDHZlcmlmaWNhdGlvbhqzAQoLRGVjbGFyYXRpb24SFgoGbnVtYmVyGAEgASgFUgZudW1iZXISGwoJZnVsbF9uYW1lGAIgASgJUghmdWxsTmFtZRISCgR0eXBlGAMgASgJUgR0eXBlEiMKC2lzX3JlcGVhdGVkGAQgASgIQgIYAVIKaXNSZXBlYXRlZBIaCghyZXNlcnZlZBgFIAEoCFIIcmVzZXJ2ZWQSGgoIcmVwZWF0ZWQYBiABKAhSCHJlcGVhdGVkIjQKEVZlcmlmaWNhdGlvblN0YXRlEg8KC0RFQ0xBUkFUSU9OEAASDgoKVU5WRVJJRklFRBABKgkI6AcQgICAgAIiwQYKFEZpZWxkRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGbnVtYmVyGAMgASgFUgZudW1iZXISQQoFbGFiZWwYBCABKA4yKy5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uTGFiZWxSBWxhYmVsEj4KBHR5cGUYBSABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZVIEdHlwZRIbCgl0eXBlX25hbWUYBiABKAlSCHR5cGVOYW1lEhoKCGV4dGVuZGVlGAIgASgJUghleHRlbmRlZRIjCg1kZWZhdWx0X3ZhbHVlGAcgASgJUgxkZWZhdWx0VmFsdWUSHwoLb25lb2ZfaW5kZXgYCSABKAVSCm9uZW9mSW5kZXgSGwoJanNvbl9uYW1lGAogASgJUghqc29uTmFtZRI3CgdvcHRpb25zGAggASgLMh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9uc1IHb3B0aW9ucxInCg9wcm90bzNfb3B0aW9uYWwYESABKAhSDnByb3RvM09wdGlvbmFsIrYCCgRUeXBlEg8KC1RZUEVfRE9VQkxFEAESDgoKVFlQRV9GTE9BVBACEg4KClRZUEVfSU5UNjQQAxIPCgtUWVBFX1VJTlQ2NBAEEg4KClRZUEVfSU5UMzIQBRIQCgxUWVBFX0ZJWEVENjQQBhIQCgxUWVBFX0ZJWEVEMzIQBxINCglUWVBFX0JPT0wQCBIPCgtUWVBFX1NUUklORxAJEg4KClRZUEVfR1JPVVAQChIQCgxUWVBFX01FU1NBR0UQCxIOCgpUWVBFX0JZVEVTEAwSDwoLVFlQRV9VSU5UMzIQDRINCglUWVBFX0VOVU0QDhIRCg1UWVBFX1NGSVhFRDMyEA8SEQoNVFlQRV9TRklYRUQ2NBAQEg8KC1RZUEVfU0lOVDMyEBESDwoLVFlQRV9TSU5UNjQQEiJDCgVMYWJlbBISCg5MQUJFTF9PUFRJT05BTBABEhIKDkxBQkVMX1JFUVVJUkVEEAISEgoOTEFCRUxfUkVQRUFURUQQAyJjChRPbmVvZkRlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEjcKB29wdGlvbnMYAiABKAsyHS5nb29nbGUucHJvdG9idWYuT25lb2ZPcHRpb25zUgdvcHRpb25zIuMCChNFbnVtRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPwoFdmFsdWUYAiADKAsyKS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlRGVzY3JpcHRvclByb3RvUgV2YWx1ZRI2CgdvcHRpb25zGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRpb25zUgdvcHRpb25zEl0KDnJlc2VydmVkX3JhbmdlGAQgAygLMjYuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG8uRW51bVJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgFIAMoCVIMcmVzZXJ2ZWROYW1lGjsKEUVudW1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCKDAQoYRW51bVZhbHVlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGbnVtYmVyGAIgASgFUgZudW1iZXISOwoHb3B0aW9ucxgDIAEoCzIhLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVPcHRpb25zUgdvcHRpb25zIqcBChZTZXJ2aWNlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPgoGbWV0aG9kGAIgAygLMiYuZ29vZ2xlLnByb3RvYnVmLk1ldGhvZERlc2NyaXB0b3JQcm90b1IGbWV0aG9kEjkKB29wdGlvbnMYAyABKAsyHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnNSB29wdGlvbnMiiQIKFU1ldGhvZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEh0KCmlucHV0X3R5cGUYAiABKAlSCWlucHV0VHlwZRIfCgtvdXRwdXRfdHlwZRgDIAEoCVIKb3V0cHV0VHlwZRI4CgdvcHRpb25zGAQgASgLMh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnNSB29wdGlvbnMSMAoQY2xpZW50X3N0cmVhbWluZxgFIAEoCDoFZmFsc2VSD2NsaWVudFN0cmVhbWluZxIwChBzZXJ2ZXJfc3RyZWFtaW5nGAYgASgIOgVmYWxzZVIPc2VydmVyU3RyZWFtaW5nIpEJCgtGaWxlT3B0aW9ucxIhCgxqYXZhX3BhY2thZ2UYASABKAlSC2phdmFQYWNrYWdlEjAKFGphdmFfb3V0ZXJfY2xhc3NuYW1lGAggASgJUhJqYXZhT3V0ZXJDbGFzc25hbWUSNQoTamF2YV9tdWx0aXBsZV9maWxlcxgKIAEoCDoFZmFsc2VSEWphdmFNdWx0aXBsZUZpbGVzEkQKHWphdmFfZ2VuZXJhdGVfZXF1YWxzX2FuZF9oYXNoGBQgASgIQgIYAVIZamF2YUdlbmVyYXRlRXF1YWxzQW5kSGFzaBI6ChZqYXZhX3N0cmluZ19jaGVja191dGY4GBsgASgIOgVmYWxzZVITamF2YVN0cmluZ0NoZWNrVXRmOBJTCgxvcHRpbWl6ZV9mb3IYCSABKA4yKS5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMuT3B0aW1pemVNb2RlOgVTUEVFRFILb3B0aW1pemVGb3ISHQoKZ29fcGFja2FnZRgLIAEoCVIJZ29QYWNrYWdlEjUKE2NjX2dlbmVyaWNfc2VydmljZXMYECABKAg6BWZhbHNlUhFjY0dlbmVyaWNTZXJ2aWNlcxI5ChVqYXZhX2dlbmVyaWNfc2VydmljZXMYESABKAg6BWZhbHNlUhNqYXZhR2VuZXJpY1NlcnZpY2VzEjUKE3B5X2dlbmVyaWNfc2VydmljZXMYEiABKAg6BWZhbHNlUhFweUdlbmVyaWNTZXJ2aWNlcxI3ChRwaHBfZ2VuZXJpY19zZXJ2aWNlcxgqIAEoCDoFZmFsc2VSEnBocEdlbmVyaWNTZXJ2aWNlcxIlCgpkZXByZWNhdGVkGBcgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIuChBjY19lbmFibGVfYXJlbmFzGB8gASgIOgR0cnVlUg5jY0VuYWJsZUFyZW5hcxIqChFvYmpjX2NsYXNzX3ByZWZpeBgkIAEoCVIPb2JqY0NsYXNzUHJlZml4EikKEGNzaGFycF9uYW1lc3BhY2UYJSABKAlSD2NzaGFycE5hbWVzcGFjZRIhCgxzd2lmdF9wcmVmaXgYJyABKAlSC3N3aWZ0UHJlZml4EigKEHBocF9jbGFzc19wcmVmaXgYKCABKAlSDnBocENsYXNzUHJlZml4EiMKDXBocF9uYW1lc3BhY2UYKSABKAlSDHBocE5hbWVzcGFjZRI0ChZwaHBfbWV0YWRhdGFfbmFtZXNwYWNlGCwgASgJUhRwaHBNZXRhZGF0YU5hbWVzcGFjZRIhCgxydWJ5X3BhY2thZ2UYLSABKAlSC3J1YnlQYWNrYWdlElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIjoKDE9wdGltaXplTW9kZRIJCgVTUEVFRBABEg0KCUNPREVfU0laRRACEhAKDExJVEVfUlVOVElNRRADKgkI6AcQgICAgAJKBAgmECciuwMKDk1lc3NhZ2VPcHRpb25zEjwKF21lc3NhZ2Vfc2V0X3dpcmVfZm9ybWF0GAEgASgIOgVmYWxzZVIUbWVzc2FnZVNldFdpcmVGb3JtYXQSTAofbm9fc3RhbmRhcmRfZGVzY3JpcHRvcl9hY2Nlc3NvchgCIAEoCDoFZmFsc2VSHG5vU3RhbmRhcmREZXNjcmlwdG9yQWNjZXNzb3ISJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSGwoJbWFwX2VudHJ5GAcgASgIUghtYXBFbnRyeRJWCiZkZXByZWNhdGVkX2xlZ2FjeV9qc29uX2ZpZWxkX2NvbmZsaWN0cxgLIAEoCEICGAFSImRlcHJlY2F0ZWRMZWdhY3lKc29uRmllbGRDb25mbGljdHMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoECAQQBUoECAUQBkoECAYQB0oECAgQCUoECAkQCiKFCQoMRmllbGRPcHRpb25zEkEKBWN0eXBlGAEgASgOMiMuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5DVHlwZToGU1RSSU5HUgVjdHlwZRIWCgZwYWNrZWQYAiABKAhSBnBhY2tlZBJHCgZqc3R5cGUYBiABKA4yJC5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkpTVHlwZToJSlNfTk9STUFMUgZqc3R5cGUSGQoEbGF6eRgFIAEoCDoFZmFsc2VSBGxhenkSLgoPdW52ZXJpZmllZF9sYXp5GA8gASgIOgVmYWxzZVIOdW52ZXJpZmllZExhenkSJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSGQoEd2VhaxgKIAEoCDoFZmFsc2VSBHdlYWsSKAoMZGVidWdfcmVkYWN0GBAgASgIOgVmYWxzZVILZGVidWdSZWRhY3QSSwoJcmV0ZW50aW9uGBEgASgOMi0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25SZXRlbnRpb25SCXJldGVudGlvbhJKCgZ0YXJnZXQYEiABKA4yLi5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblRhcmdldFR5cGVCAhgBUgZ0YXJnZXQSSAoHdGFyZ2V0cxgTIAMoDjIuLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uVGFyZ2V0VHlwZVIHdGFyZ2V0cxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiIvCgVDVHlwZRIKCgZTVFJJTkcQABIICgRDT1JEEAESEAoMU1RSSU5HX1BJRUNFEAIiNQoGSlNUeXBlEg0KCUpTX05PUk1BTBAAEg0KCUpTX1NUUklORxABEg0KCUpTX05VTUJFUhACIlUKD09wdGlvblJldGVudGlvbhIVChFSRVRFTlRJT05fVU5LTk9XThAAEhUKEVJFVEVOVElPTl9SVU5USU1FEAESFAoQUkVURU5USU9OX1NPVVJDRRACIowCChBPcHRpb25UYXJnZXRUeXBlEhcKE1RBUkdFVF9UWVBFX1VOS05PV04QABIUChBUQVJHRVRfVFlQRV9GSUxFEAESHwobVEFSR0VUX1RZUEVfRVhURU5TSU9OX1JBTkdFEAISFwoTVEFSR0VUX1RZUEVfTUVTU0FHRRADEhUKEVRBUkdFVF9UWVBFX0ZJRUxEEAQSFQoRVEFSR0VUX1RZUEVfT05FT0YQBRIUChBUQVJHRVRfVFlQRV9FTlVNEAYSGgoWVEFSR0VUX1RZUEVfRU5VTV9FTlRSWRAHEhcKE1RBUkdFVF9UWVBFX1NFUlZJQ0UQCBIWChJUQVJHRVRfVFlQRV9NRVRIT0QQCSoJCOgHEICAgIACSgQIBBAFInMKDE9uZW9mT3B0aW9ucxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIpgCCgtFbnVtT3B0aW9ucxIfCgthbGxvd19hbGlhcxgCIAEoCFIKYWxsb3dBbGlhcxIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJWCiZkZXByZWNhdGVkX2xlZ2FjeV9qc29uX2ZpZWxkX2NvbmZsaWN0cxgGIAEoCEICGAFSImRlcHJlY2F0ZWRMZWdhY3lKc29uRmllbGRDb25mbGljdHMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoECAUQBiKeAQoQRW51bVZhbHVlT3B0aW9ucxIlCgpkZXByZWNhdGVkGAEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIpwBCg5TZXJ2aWNlT3B0aW9ucxIlCgpkZXByZWNhdGVkGCEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIuACCg1NZXRob2RPcHRpb25zEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkEnEKEWlkZW1wb3RlbmN5X2xldmVsGCIgASgOMi8uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMuSWRlbXBvdGVuY3lMZXZlbDoTSURFTVBPVEVOQ1lfVU5LTk9XTlIQaWRlbXBvdGVuY3lMZXZlbBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiJQChBJZGVtcG90ZW5jeUxldmVsEhcKE0lERU1QT1RFTkNZX1VOS05PV04QABITCg9OT19TSURFX0VGRkVDVFMQARIOCgpJREVNUE9URU5UEAIqCQjoBxCAgICAAiKaAwoTVW5pbnRlcnByZXRlZE9wdGlvbhJBCgRuYW1lGAIgAygLMi0uZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb24uTmFtZVBhcnRSBG5hbWUSKQoQaWRlbnRpZmllcl92YWx1ZRgDIAEoCVIPaWRlbnRpZmllclZhbHVlEiwKEnBvc2l0aXZlX2ludF92YWx1ZRgEIAEoBFIQcG9zaXRpdmVJbnRWYWx1ZRIsChJuZWdhdGl2ZV9pbnRfdmFsdWUYBSABKANSEG5lZ2F0aXZlSW50VmFsdWUSIQoMZG91YmxlX3ZhbHVlGAYgASgBUgtkb3VibGVWYWx1ZRIhCgxzdHJpbmdfdmFsdWUYByABKAxSC3N0cmluZ1ZhbHVlEicKD2FnZ3JlZ2F0ZV92YWx1ZRgIIAEoCVIOYWdncmVnYXRlVmFsdWUaSgoITmFtZVBhcnQSGwoJbmFtZV9wYXJ0GAEgAigJUghuYW1lUGFydBIhCgxpc19leHRlbnNpb24YAiACKAhSC2lzRXh0ZW5zaW9uIqcCCg5Tb3VyY2VDb2RlSW5mbxJECghsb2NhdGlvbhgBIAMoCzIoLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb2RlSW5mby5Mb2NhdGlvblIIbG9jYXRpb24azgEKCExvY2F0aW9uEhYKBHBhdGgYASADKAVCAhABUgRwYXRoEhYKBHNwYW4YAiADKAVCAhABUgRzcGFuEikKEGxlYWRpbmdfY29tbWVudHMYAyABKAlSD2xlYWRpbmdDb21tZW50cxIrChF0cmFpbGluZ19jb21tZW50cxgEIAEoCVIQdHJhaWxpbmdDb21tZW50cxI6ChlsZWFkaW5nX2RldGFjaGVkX2NvbW1lbnRzGAYgAygJUhdsZWFkaW5nRGV0YWNoZWRDb21tZW50cyLQAgoRR2VuZXJhdGVkQ29kZUluZm8STQoKYW5ub3RhdGlvbhgBIAMoCzItLmdvb2dsZS5wcm90b2J1Zi5HZW5lcmF0ZWRDb2RlSW5mby5Bbm5vdGF0aW9uUgphbm5vdGF0aW9uGusBCgpBbm5vdGF0aW9uEhYKBHBhdGgYASADKAVCAhABUgRwYXRoEh8KC3NvdXJjZV9maWxlGAIgASgJUgpzb3VyY2VGaWxlEhQKBWJlZ2luGAMgASgFUgViZWdpbhIQCgNlbmQYBCABKAVSA2VuZBJSCghzZW1hbnRpYxgFIAEoDjI2Lmdvb2dsZS5wcm90b2J1Zi5HZW5lcmF0ZWRDb2RlSW5mby5Bbm5vdGF0aW9uLlNlbWFudGljUghzZW1hbnRpYyIoCghTZW1hbnRpYxIICgROT05FEAASBwoDU0VUEAESCQoFQUxJQVMQAkJ+ChNjb20uZ29vZ2xlLnByb3RvYnVmQhBEZXNjcmlwdG9yUHJvdG9zSAFaLWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2Rlc2NyaXB0b3JwYvgBAaICA0dQQqoCGkdvb2dsZS5Qcm90b2J1Zi5SZWZsZWN0aW9uCqgCChxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvEgpnb29nbGUuYXBpGhVnb29nbGUvYXBpL2h0dHAucHJvdG8aIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvOksKBGh0dHASHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiwyrwiIAEoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBGh0dHBCbgoOY29tLmdvb2dsZS5hcGlCEEFubm90YXRpb25zUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzMK4gUKHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiKYAQoGU3RydWN0EjsKBmZpZWxkcxgBIAMoCzIjLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QuRmllbGRzRW50cnlSBmZpZWxkcxpRCgtGaWVsZHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIrICCgVWYWx1ZRI7CgpudWxsX3ZhbHVlGAEgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZUgAUgludWxsVmFsdWUSIwoMbnVtYmVyX3ZhbHVlGAIgASgBSABSC251bWJlclZhbHVlEiMKDHN0cmluZ192YWx1ZRgDIAEoCUgAUgtzdHJpbmdWYWx1ZRIfCgpib29sX3ZhbHVlGAQgASgISABSCWJvb2xWYWx1ZRI8CgxzdHJ1Y3RfdmFsdWUYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SABSC3N0cnVjdFZhbHVlEjsKCmxpc3RfdmFsdWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuTGlzdFZhbHVlSABSCWxpc3RWYWx1ZUIGCgRraW5kIjsKCUxpc3RWYWx1ZRIuCgZ2YWx1ZXMYASADKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBnZhbHVlcyobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKpj4KLHByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvb3BlbmFwaXYyLnByb3RvEilncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucxocZ29vZ2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90byKzCAoHU3dhZ2dlchIYCgdzd2FnZ2VyGAEgASgJUgdzd2FnZ2VyEkMKBGluZm8YAiABKAsyLy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5JbmZvUgRpbmZvEhIKBGhvc3QYAyABKAlSBGhvc3QSGwoJYmFzZV9wYXRoGAQgASgJUghiYXNlUGF0aBJLCgdzY2hlbWVzGAUgAygOMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1lUgdzY2hlbWVzEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSXwoJcmVzcG9uc2VzGAogAygLMkEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlci5SZXNwb25zZXNFbnRyeVIJcmVzcG9uc2VzEnEKFHNlY3VyaXR5X2RlZmluaXRpb25zGAsgASgLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlEZWZpbml0aW9uc1ITc2VjdXJpdHlEZWZpbml0aW9ucxJaCghzZWN1cml0eRgMIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnRSCHNlY3VyaXR5EkIKBHRhZ3MYDSADKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSBHRhZ3MSZQoNZXh0ZXJuYWxfZG9jcxgOIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEmIKCmV4dGVuc2lvbnMYDyADKAsyQi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Td2FnZ2VyLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpxCg5SZXNwb25zZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJJCgV2YWx1ZRgCIAEoCzIzLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAFKBAgIEAlKBAgJEAoi1gcKCU9wZXJhdGlvbhISCgR0YWdzGAEgAygJUgR0YWdzEhgKB3N1bW1hcnkYAiABKAlSB3N1bW1hcnkSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEmUKDWV4dGVybmFsX2RvY3MYBCABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIhCgxvcGVyYXRpb25faWQYBSABKAlSC29wZXJhdGlvbklkEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSYQoJcmVzcG9uc2VzGAkgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuT3BlcmF0aW9uLlJlc3BvbnNlc0VudHJ5UglyZXNwb25zZXMSSwoHc2NoZW1lcxgKIAMoDjIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtZVIHc2NoZW1lcxIeCgpkZXByZWNhdGVkGAsgASgIUgpkZXByZWNhdGVkEloKCHNlY3VyaXR5GAwgAygLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudFIIc2VjdXJpdHkSZAoKZXh0ZW5zaW9ucxgNIAMoCzJELmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvbi5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMSVQoKcGFyYW1ldGVycxgOIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlBhcmFtZXRlcnNSCnBhcmFtZXRlcnMacQoOUmVzcG9uc2VzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBSgQICBAJImIKClBhcmFtZXRlcnMSVAoHaGVhZGVycxgBIAMoCzI6LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclBhcmFtZXRlclIHaGVhZGVycyKjAgoPSGVhZGVyUGFyYW1ldGVyEhIKBG5hbWUYASABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uElMKBHR5cGUYAyABKA4yPy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJQYXJhbWV0ZXIuVHlwZVIEdHlwZRIWCgZmb3JtYXQYBCABKAlSBmZvcm1hdBIaCghyZXF1aXJlZBgFIAEoCFIIcmVxdWlyZWQiRQoEVHlwZRILCgdVTktOT1dOEAASCgoGU1RSSU5HEAESCgoGTlVNQkVSEAISCwoHSU5URUdFUhADEgsKB0JPT0xFQU4QBEoECAYQB0oECAcQCCLYAQoGSGVhZGVyEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhISCgR0eXBlGAIgASgJUgR0eXBlEhYKBmZvcm1hdBgDIAEoCVIGZm9ybWF0EhgKB2RlZmF1bHQYBiABKAlSB2RlZmF1bHQSGAoHcGF0dGVybhgNIAEoCVIHcGF0dGVybkoECAQQBUoECAUQBkoECAcQCEoECAgQCUoECAkQCkoECAoQC0oECAsQDEoECAwQDUoECA4QD0oECA8QEEoECBAQEUoECBEQEkoECBIQEyKaBQoIUmVzcG9uc2USIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEkkKBnNjaGVtYRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtYVIGc2NoZW1hEloKB2hlYWRlcnMYAyADKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5IZWFkZXJzRW50cnlSB2hlYWRlcnMSXQoIZXhhbXBsZXMYBCADKAsyQS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5FeGFtcGxlc0VudHJ5UghleGFtcGxlcxJjCgpleHRlbnNpb25zGAUgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGm0KDEhlYWRlcnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJHCgV2YWx1ZRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclIFdmFsdWU6AjgBGjsKDUV4YW1wbGVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASLWAwoESW5mbxIUCgV0aXRsZRgBIAEoCVIFdGl0bGUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEigKEHRlcm1zX29mX3NlcnZpY2UYAyABKAlSDnRlcm1zT2ZTZXJ2aWNlEkwKB2NvbnRhY3QYBCABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Db250YWN0Ugdjb250YWN0EkwKB2xpY2Vuc2UYBSABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5MaWNlbnNlUgdsaWNlbnNlEhgKB3ZlcnNpb24YBiABKAlSB3ZlcnNpb24SXwoKZXh0ZW5zaW9ucxgHIAMoCzI/LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkluZm8uRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIkUKB0NvbnRhY3QSEgoEbmFtZRgBIAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybBIUCgVlbWFpbBgDIAEoCVIFZW1haWwiLwoHTGljZW5zZRISCgRuYW1lGAEgASgJUgRuYW1lEhAKA3VybBgCIAEoCVIDdXJsIksKFUV4dGVybmFsRG9jdW1lbnRhdGlvbhIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SEAoDdXJsGAIgASgJUgN1cmwiqgIKBlNjaGVtYRJWCgtqc29uX3NjaGVtYRgBIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSCmpzb25TY2hlbWESJAoNZGlzY3JpbWluYXRvchgCIAEoCVINZGlzY3JpbWluYXRvchIbCglyZWFkX29ubHkYAyABKAhSCHJlYWRPbmx5EmUKDWV4dGVybmFsX2RvY3MYBSABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIYCgdleGFtcGxlGAYgASgJUgdleGFtcGxlSgQIBBAFItcKCgpKU09OU2NoZW1hEhAKA3JlZhgDIAEoCVIDcmVmEhQKBXRpdGxlGAUgASgJUgV0aXRsZRIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SGAoHZGVmYXVsdBgHIAEoCVIHZGVmYXVsdBIbCglyZWFkX29ubHkYCCABKAhSCHJlYWRPbmx5EhgKB2V4YW1wbGUYCSABKAlSB2V4YW1wbGUSHwoLbXVsdGlwbGVfb2YYCiABKAFSCm11bHRpcGxlT2YSGAoHbWF4aW11bRgLIAEoAVIHbWF4aW11bRIrChFleGNsdXNpdmVfbWF4aW11bRgMIAEoCFIQZXhjbHVzaXZlTWF4aW11bRIYCgdtaW5pbXVtGA0gASgBUgdtaW5pbXVtEisKEWV4Y2x1c2l2ZV9taW5pbXVtGA4gASgIUhBleGNsdXNpdmVNaW5pbXVtEh0KCm1heF9sZW5ndGgYDyABKARSCW1heExlbmd0aBIdCgptaW5fbGVuZ3RoGBAgASgEUgltaW5MZW5ndGgSGAoHcGF0dGVybhgRIAEoCVIHcGF0dGVybhIbCgltYXhfaXRlbXMYFCABKARSCG1heEl0ZW1zEhsKCW1pbl9pdGVtcxgVIAEoBFIIbWluSXRlbXMSIQoMdW5pcXVlX2l0ZW1zGBYgASgIUgt1bmlxdWVJdGVtcxIlCg5tYXhfcHJvcGVydGllcxgYIAEoBFINbWF4UHJvcGVydGllcxIlCg5taW5fcHJvcGVydGllcxgZIAEoBFINbWluUHJvcGVydGllcxIaCghyZXF1aXJlZBgaIAMoCVIIcmVxdWlyZWQSFAoFYXJyYXkYIiADKAlSBWFycmF5El8KBHR5cGUYIyADKA4ySy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hLkpTT05TY2hlbWFTaW1wbGVUeXBlc1IEdHlwZRIWCgZmb3JtYXQYJCABKAlSBmZvcm1hdBISCgRlbnVtGC4gAygJUgRlbnVtEnoKE2ZpZWxkX2NvbmZpZ3VyYXRpb24Y6QcgASgLMkguZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5GaWVsZENvbmZpZ3VyYXRpb25SEmZpZWxkQ29uZmlndXJhdGlvbhJlCgpleHRlbnNpb25zGDAgAygLMkUuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaPAoSRmllbGRDb25maWd1cmF0aW9uEiYKD3BhdGhfcGFyYW1fbmFtZRgvIAEoCVINcGF0aFBhcmFtTmFtZRpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJ3ChVKU09OU2NoZW1hU2ltcGxlVHlwZXMSCwoHVU5LTk9XThAAEgkKBUFSUkFZEAESCwoHQk9PTEVBThACEgsKB0lOVEVHRVIQAxIICgROVUxMEAQSCgoGTlVNQkVSEAUSCgoGT0JKRUNUEAYSCgoGU1RSSU5HEAdKBAgBEAJKBAgCEANKBAgEEAVKBAgSEBNKBAgTEBRKBAgXEBhKBAgbEBxKBAgcEB1KBAgdEB5KBAgeECJKBAglECpKBAgqECtKBAgrEC4i2QIKA1RhZxISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhJlCg1leHRlcm5hbF9kb2NzGAMgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSXgoKZXh0ZW5zaW9ucxgEIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlRhZy5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEi9wEKE1NlY3VyaXR5RGVmaW5pdGlvbnMSaAoIc2VjdXJpdHkYASADKAsyTC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eURlZmluaXRpb25zLlNlY3VyaXR5RW50cnlSCHNlY3VyaXR5GnYKDVNlY3VyaXR5RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSTwoFdmFsdWUYAiABKAsyOS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZVIFdmFsdWU6AjgBIv8GCg5TZWN1cml0eVNjaGVtZRJSCgR0eXBlGAEgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuVHlwZVIEdHlwZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SEgoEbmFtZRgDIAEoCVIEbmFtZRJMCgJpbhgEIAEoDjI8LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkluUgJpbhJSCgRmbG93GAUgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuRmxvd1IEZmxvdxIrChFhdXRob3JpemF0aW9uX3VybBgGIAEoCVIQYXV0aG9yaXphdGlvblVybBIbCgl0b2tlbl91cmwYByABKAlSCHRva2VuVXJsEkkKBnNjb3BlcxgIIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjb3Blc1IGc2NvcGVzEmkKCmV4dGVuc2lvbnMYCSADKAsySS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEiSwoEVHlwZRIQCgxUWVBFX0lOVkFMSUQQABIOCgpUWVBFX0JBU0lDEAESEAoMVFlQRV9BUElfS0VZEAISDwoLVFlQRV9PQVVUSDIQAyIxCgJJbhIOCgpJTl9JTlZBTElEEAASDAoISU5fUVVFUlkQARINCglJTl9IRUFERVIQAiJqCgRGbG93EhAKDEZMT1dfSU5WQUxJRBAAEhEKDUZMT1dfSU1QTElDSVQQARIRCg1GTE9XX1BBU1NXT1JEEAISFAoQRkxPV19BUFBMSUNBVElPThADEhQKEEZMT1dfQUNDRVNTX0NPREUQBCL2AgoTU2VjdXJpdHlSZXF1aXJlbWVudBKKAQoUc2VjdXJpdHlfcmVxdWlyZW1lbnQYASADKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRFbnRyeVITc2VjdXJpdHlSZXF1aXJlbWVudBowChhTZWN1cml0eVJlcXVpcmVtZW50VmFsdWUSFAoFc2NvcGUYASADKAlSBXNjb3BlGp8BChhTZWN1cml0eVJlcXVpcmVtZW50RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSbQoFdmFsdWUYAiABKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRWYWx1ZVIFdmFsdWU6AjgBIpYBCgZTY29wZXMSUgoFc2NvcGUYASADKAsyPC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY29wZXMuU2NvcGVFbnRyeVIFc2NvcGUaOAoKU2NvcGVFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBKjsKBlNjaGVtZRILCgdVTktOT1dOEAASCAoESFRUUBABEgkKBUhUVFBTEAISBgoCV1MQAxIHCgNXU1MQBEJIWkZnaXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS92Mi9wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zYgZwcm90bzMK/QYKLnByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvYW5ub3RhdGlvbnMucHJvdG8SKWdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxoscHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9vcGVuYXBpdjIucHJvdG86fgoRb3BlbmFwaXYyX3N3YWdnZXISHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYkgggASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlclIQb3BlbmFwaXYyU3dhZ2dlcjqGAQoTb3BlbmFwaXYyX29wZXJhdGlvbhIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGJIIIAEoCzI0LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvblISb3BlbmFwaXYyT3BlcmF0aW9uOn4KEG9wZW5hcGl2Ml9zY2hlbWESHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYkgggASgLMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1hUg9vcGVuYXBpdjJTY2hlbWE6dQoNb3BlbmFwaXYyX3RhZxIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9ucxiSCCABKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSDG9wZW5hcGl2MlRhZzp+Cg9vcGVuYXBpdjJfZmllbGQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGJIIIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSDm9wZW5hcGl2MkZpZWxkQkhaRmdpdGh1Yi5jb20vZ3JwYy1lY29zeXN0ZW0vZ3JwYy1nYXRld2F5L3YyL3Byb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnNiBnByb3RvMwr61wEKH3Byb3RvL2Vudmlyb25tZW50L3NlcnZpY2UucHJvdG8SFWJ1Y2tldGVlci5lbnZpcm9ubWVudBoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGhxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvGiNwcm90by9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC5wcm90bxofcHJvdG8vZW52aXJvbm1lbnQvcHJvamVjdC5wcm90bxokcHJvdG8vZW52aXJvbm1lbnQvb3JnYW5pemF0aW9uLnByb3RvGh9wcm90by9lbnZpcm9ubWVudC9jb21tYW5kLnByb3RvIikKF0dldEVudmlyb25tZW50VjJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZCJiChhHZXRFbnZpcm9ubWVudFYyUmVzcG9uc2USRgoLZW52aXJvbm1lbnQYASABKAsyJC5idWNrZXRlZXIuZW52aXJvbm1lbnQuRW52aXJvbm1lbnRWMlILZW52aXJvbm1lbnQixgQKGUxpc3RFbnZpcm9ubWVudHNWMlJlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJTCghvcmRlcl9ieRgDIAEoDjI4LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5MaXN0RW52aXJvbm1lbnRzVjJSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSaAoPb3JkZXJfZGlyZWN0aW9uGAQgASgOMj8uYnVja2V0ZWVyLmVudmlyb25tZW50Lkxpc3RFbnZpcm9ubWVudHNWMlJlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEh0KCnByb2plY3RfaWQYBSABKAlSCXByb2plY3RJZBI2CghhcmNoaXZlZBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGFyY2hpdmVkEiUKDnNlYXJjaF9rZXl3b3JkGAcgASgJUg1zZWFyY2hLZXl3b3JkEicKD29yZ2FuaXphdGlvbl9pZBgIIAEoCVIOb3JnYW5pemF0aW9uSWQiaQoHT3JkZXJCeRILCgdERUZBVUxUEAASBgoCSUQQARIICgROQU1FEAISDAoIVVJMX0NPREUQAxIOCgpDUkVBVEVEX0FUEAQSDgoKVVBEQVRFRF9BVBAFEhEKDUZFQVRVUkVfQ09VTlQQBiIjCg5PcmRlckRpcmVjdGlvbhIHCgNBU0MQABIICgRERVNDEAEinwEKGkxpc3RFbnZpcm9ubWVudHNWMlJlc3BvbnNlEkgKDGVudmlyb25tZW50cxgBIAMoCzIkLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5FbnZpcm9ubWVudFYyUgxlbnZpcm9ubWVudHMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiaQoaQ3JlYXRlRW52aXJvbm1lbnRWMlJlcXVlc3QSSwoHY29tbWFuZBgBIAEoCzIxLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DcmVhdGVFbnZpcm9ubWVudFYyQ29tbWFuZFIHY29tbWFuZCJlChtDcmVhdGVFbnZpcm9ubWVudFYyUmVzcG9uc2USRgoLZW52aXJvbm1lbnQYASABKAsyJC5idWNrZXRlZXIuZW52aXJvbm1lbnQuRW52aXJvbm1lbnRWMlILZW52aXJvbm1lbnQi+wIKGlVwZGF0ZUVudmlyb25tZW50VjJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJYCg5yZW5hbWVfY29tbWFuZBgCIAEoCzIxLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5SZW5hbWVFbnZpcm9ubWVudFYyQ29tbWFuZFINcmVuYW1lQ29tbWFuZBJ6ChpjaGFuZ2VfZGVzY3JpcHRpb25fY29tbWFuZBgDIAEoCzI8LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DaGFuZ2VEZXNjcmlwdGlvbkVudmlyb25tZW50VjJDb21tYW5kUhhjaGFuZ2VEZXNjcmlwdGlvbkNvbW1hbmQSdwoeY2hhbmdlX3JlcXVpcmVfY29tbWVudF9jb21tYW5kGAQgASgLMjIuYnVja2V0ZWVyLmVudmlyb25tZW50LkNoYW5nZVJlcXVpcmVDb21tZW50Q29tbWFuZFIbY2hhbmdlUmVxdWlyZUNvbW1lbnRDb21tYW5kIh0KG1VwZGF0ZUVudmlyb25tZW50VjJSZXNwb25zZSJ7ChtBcmNoaXZlRW52aXJvbm1lbnRWMlJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkwKB2NvbW1hbmQYAiABKAsyMi5idWNrZXRlZXIuZW52aXJvbm1lbnQuQXJjaGl2ZUVudmlyb25tZW50VjJDb21tYW5kUgdjb21tYW5kIh4KHEFyY2hpdmVFbnZpcm9ubWVudFYyUmVzcG9uc2UifwodVW5hcmNoaXZlRW52aXJvbm1lbnRWMlJlcXVlc3QSDgoCaWQYASABKAlSAmlkEk4KB2NvbW1hbmQYAiABKAsyNC5idWNrZXRlZXIuZW52aXJvbm1lbnQuVW5hcmNoaXZlRW52aXJvbm1lbnRWMkNvbW1hbmRSB2NvbW1hbmQiIAoeVW5hcmNoaXZlRW52aXJvbm1lbnRWMlJlc3BvbnNlIkwKEUdldFByb2plY3RSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkIk4KEkdldFByb2plY3RSZXNwb25zZRI4Cgdwcm9qZWN0GAEgASgLMh4uYnVja2V0ZWVyLmVudmlyb25tZW50LlByb2plY3RSB3Byb2plY3QiwgQKE0xpc3RQcm9qZWN0c1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJNCghvcmRlcl9ieRgDIAEoDjIyLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5MaXN0UHJvamVjdHNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSYgoPb3JkZXJfZGlyZWN0aW9uGAQgASgOMjkuYnVja2V0ZWVyLmVudmlyb25tZW50Lkxpc3RQcm9qZWN0c1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAUgASgJUg1zZWFyY2hLZXl3b3JkEjYKCGRpc2FibGVkGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQSKQoQb3JnYW5pemF0aW9uX2lkcxgHIAMoCVIPb3JnYW5pemF0aW9uSWRzIpMBCgdPcmRlckJ5EgsKB0RFRkFVTFQQABIGCgJJRBABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSCAoETkFNRRAEEgwKCFVSTF9DT0RFEAUSFQoRRU5WSVJPTk1FTlRfQ09VTlQQBhIRCg1GRUFUVVJFX0NPVU5UEAcSEQoNQ1JFQVRPUl9FTUFJTBAIIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQASKLAQoUTGlzdFByb2plY3RzUmVzcG9uc2USOgoIcHJvamVjdHMYASADKAsyHi5idWNrZXRlZXIuZW52aXJvbm1lbnQuUHJvamVjdFIIcHJvamVjdHMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiXQoUQ3JlYXRlUHJvamVjdFJlcXVlc3QSRQoHY29tbWFuZBgBIAEoCzIrLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DcmVhdGVQcm9qZWN0Q29tbWFuZFIHY29tbWFuZCJRChVDcmVhdGVQcm9qZWN0UmVzcG9uc2USOAoHcHJvamVjdBgBIAEoCzIeLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Qcm9qZWN0Ugdwcm9qZWN0ImcKGUNyZWF0ZVRyaWFsUHJvamVjdFJlcXVlc3QSSgoHY29tbWFuZBgBIAEoCzIwLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DcmVhdGVUcmlhbFByb2plY3RDb21tYW5kUgdjb21tYW5kIhwKGkNyZWF0ZVRyaWFsUHJvamVjdFJlc3BvbnNlIvABChRVcGRhdGVQcm9qZWN0UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSdAoaY2hhbmdlX2Rlc2NyaXB0aW9uX2NvbW1hbmQYAiABKAsyNi5idWNrZXRlZXIuZW52aXJvbm1lbnQuQ2hhbmdlRGVzY3JpcHRpb25Qcm9qZWN0Q29tbWFuZFIYY2hhbmdlRGVzY3JpcHRpb25Db21tYW5kElIKDnJlbmFtZV9jb21tYW5kGAMgASgLMisuYnVja2V0ZWVyLmVudmlyb25tZW50LlJlbmFtZVByb2plY3RDb21tYW5kUg1yZW5hbWVDb21tYW5kIhcKFVVwZGF0ZVByb2plY3RSZXNwb25zZSJtChRFbmFibGVQcm9qZWN0UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSRQoHY29tbWFuZBgCIAEoCzIrLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5FbmFibGVQcm9qZWN0Q29tbWFuZFIHY29tbWFuZCIXChVFbmFibGVQcm9qZWN0UmVzcG9uc2UibwoVRGlzYWJsZVByb2plY3RSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJGCgdjb21tYW5kGAIgASgLMiwuYnVja2V0ZWVyLmVudmlyb25tZW50LkRpc2FibGVQcm9qZWN0Q29tbWFuZFIHY29tbWFuZCIYChZEaXNhYmxlUHJvamVjdFJlc3BvbnNlInkKGkNvbnZlcnRUcmlhbFByb2plY3RSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJLCgdjb21tYW5kGAIgASgLMjEuYnVja2V0ZWVyLmVudmlyb25tZW50LkNvbnZlcnRUcmlhbFByb2plY3RDb21tYW5kUgdjb21tYW5kIh0KG0NvbnZlcnRUcmlhbFByb2plY3RSZXNwb25zZSIoChZHZXRPcmdhbml6YXRpb25SZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZCJiChdHZXRPcmdhbml6YXRpb25SZXNwb25zZRJHCgxvcmdhbml6YXRpb24YASABKAsyIy5idWNrZXRlZXIuZW52aXJvbm1lbnQuT3JnYW5pemF0aW9uUgxvcmdhbml6YXRpb24i2wQKGExpc3RPcmdhbml6YXRpb25zUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yElIKCG9yZGVyX2J5GAMgASgOMjcuYnVja2V0ZWVyLmVudmlyb25tZW50Lkxpc3RPcmdhbml6YXRpb25zUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmcKD29yZGVyX2RpcmVjdGlvbhgEIAEoDjI+LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5MaXN0T3JnYW5pemF0aW9uc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAUgASgJUg1zZWFyY2hLZXl3b3JkEjYKCGRpc2FibGVkGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQSNgoIYXJjaGl2ZWQYByABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghhcmNoaXZlZCKQAQoHT3JkZXJCeRILCgdERUZBVUxUEAASBgoCSUQQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADEggKBE5BTUUQBBIMCghVUkxfQ09ERRAFEhEKDVBST0pFQ1RfQ09VTlQQBhIVChFFTlZJUk9OTUVOVF9DT1VOVBAHEg4KClVTRVJfQ09VTlQQCCIjCg5PcmRlckRpcmVjdGlvbhIHCgNBU0MQABIICgRERVNDEAEinwEKGUxpc3RPcmdhbml6YXRpb25zUmVzcG9uc2USSQoNT3JnYW5pemF0aW9ucxgBIAMoCzIjLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Pcmdhbml6YXRpb25SDU9yZ2FuaXphdGlvbnMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQioAIKGUNyZWF0ZU9yZ2FuaXphdGlvblJlcXVlc3QSTgoHY29tbWFuZBgBIAEoCzIwLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DcmVhdGVPcmdhbml6YXRpb25Db21tYW5kQgIYAVIHY29tbWFuZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIZCghpc190cmlhbBgFIAEoCFIHaXNUcmlhbBImCg9pc19zeXN0ZW1fYWRtaW4YBiABKAhSDWlzU3lzdGVtQWRtaW4SHwoLb3duZXJfZW1haWwYByABKAlSCm93bmVyRW1haWwiZQoaQ3JlYXRlT3JnYW5pemF0aW9uUmVzcG9uc2USRwoMT3JnYW5pemF0aW9uGAEgASgLMiMuYnVja2V0ZWVyLmVudmlyb25tZW50Lk9yZ2FuaXphdGlvblIMT3JnYW5pemF0aW9uIvwCChlVcGRhdGVPcmdhbml6YXRpb25SZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJbCg5yZW5hbWVfY29tbWFuZBgCIAEoCzI0LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DaGFuZ2VOYW1lT3JnYW5pemF0aW9uQ29tbWFuZFINcmVuYW1lQ29tbWFuZBJ5ChpjaGFuZ2VfZGVzY3JpcHRpb25fY29tbWFuZBgDIAEoCzI7LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DaGFuZ2VEZXNjcmlwdGlvbk9yZ2FuaXphdGlvbkNvbW1hbmRSGGNoYW5nZURlc2NyaXB0aW9uQ29tbWFuZBJ3ChpjaGFuZ2Vfb3duZXJfZW1haWxfY29tbWFuZBgEIAEoCzI6LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DaGFuZ2VPd25lckVtYWlsT3JnYW5pemF0aW9uQ29tbWFuZFIXY2hhbmdlT3duZXJFbWFpbENvbW1hbmQiHAoaVXBkYXRlT3JnYW5pemF0aW9uUmVzcG9uc2UidwoZRW5hYmxlT3JnYW5pemF0aW9uUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSSgoHY29tbWFuZBgCIAEoCzIwLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5FbmFibGVPcmdhbml6YXRpb25Db21tYW5kUgdjb21tYW5kIhwKGkVuYWJsZU9yZ2FuaXphdGlvblJlc3BvbnNlInkKGkRpc2FibGVPcmdhbml6YXRpb25SZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJLCgdjb21tYW5kGAIgASgLMjEuYnVja2V0ZWVyLmVudmlyb25tZW50LkRpc2FibGVPcmdhbml6YXRpb25Db21tYW5kUgdjb21tYW5kIh0KG0Rpc2FibGVPcmdhbml6YXRpb25SZXNwb25zZSJ5ChpBcmNoaXZlT3JnYW5pemF0aW9uUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSSwoHY29tbWFuZBgCIAEoCzIxLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5BcmNoaXZlT3JnYW5pemF0aW9uQ29tbWFuZFIHY29tbWFuZCIdChtBcmNoaXZlT3JnYW5pemF0aW9uUmVzcG9uc2UifQocVW5hcmNoaXZlT3JnYW5pemF0aW9uUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSTQoHY29tbWFuZBgCIAEoCzIzLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5VbmFyY2hpdmVPcmdhbml6YXRpb25Db21tYW5kUgdjb21tYW5kIh8KHVVuYXJjaGl2ZU9yZ2FuaXphdGlvblJlc3BvbnNlIoMBCh9Db252ZXJ0VHJpYWxPcmdhbml6YXRpb25SZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJQCgdjb21tYW5kGAIgASgLMjYuYnVja2V0ZWVyLmVudmlyb25tZW50LkNvbnZlcnRUcmlhbE9yZ2FuaXphdGlvbkNvbW1hbmRSB2NvbW1hbmQiIgogQ29udmVydFRyaWFsT3JnYW5pemF0aW9uUmVzcG9uc2Ui9QQKFUxpc3RQcm9qZWN0c1YyUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEk8KCG9yZGVyX2J5GAMgASgOMjQuYnVja2V0ZWVyLmVudmlyb25tZW50Lkxpc3RQcm9qZWN0c1YyUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmQKD29yZGVyX2RpcmVjdGlvbhgEIAEoDjI7LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5MaXN0UHJvamVjdHNWMlJlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAUgASgJUg1zZWFyY2hLZXl3b3JkEjYKCGRpc2FibGVkGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQSLQoQb3JnYW5pemF0aW9uX2lkcxgHIAMoCUICGAFSD29yZ2FuaXphdGlvbklkcxInCg9vcmdhbml6YXRpb25faWQYCCABKAlSDm9yZ2FuaXphdGlvbklkIpMBCgdPcmRlckJ5EgsKB0RFRkFVTFQQABIGCgJJRBABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSCAoETkFNRRAEEgwKCFVSTF9DT0RFEAUSFQoRRU5WSVJPTk1FTlRfQ09VTlQQBhIRCg1GRUFUVVJFX0NPVU5UEAcSEQoNQ1JFQVRPUl9FTUFJTBAIIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQASKNAQoWTGlzdFByb2plY3RzVjJSZXNwb25zZRI6Cghwcm9qZWN0cxgBIAMoCzIeLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Qcm9qZWN0Ughwcm9qZWN0cxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudDKmngEKEkVudmlyb25tZW50U2VydmljZRK3BgoQR2V0RW52aXJvbm1lbnRWMhIuLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5HZXRFbnZpcm9ubWVudFYyUmVxdWVzdBovLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5HZXRFbnZpcm9ubWVudFYyUmVzcG9uc2UiwQWSQZYFCgtFbnZpcm9ubWVudBIDR2V0GkZHZXQgYW4gZW52aXJvbm1lbnQuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBTWVNURU1fQURNSU5gIHJvbGUuKiJ3ZWIudjEuZW52aXJvbm1lbnQuZ2V0X2Vudmlyb25tZW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiESHy92MS9lbnZpcm9ubWVudC9nZXRfZW52aXJvbm1lbnQSwQYKEkxpc3RFbnZpcm9ubWVudHNWMhIwLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5MaXN0RW52aXJvbm1lbnRzVjJSZXF1ZXN0GjEuYnVja2V0ZWVyLmVudmlyb25tZW50Lkxpc3RFbnZpcm9ubWVudHNWMlJlc3BvbnNlIsUFkkGYBQoLRW52aXJvbm1lbnQSBExpc3QaRUxpc3QgZW52aXJvbm1lbnRzLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgU1lTVEVNX0FETUlOYCByb2xlLiokd2ViLnYxLmVudmlyb25tZW50Lmxpc3RfZW52aXJvbm1lbnRzSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiMSIS92MS9lbnZpcm9ubWVudC9saXN0X2Vudmlyb25tZW50cxLPBgoTQ3JlYXRlRW52aXJvbm1lbnRWMhIxLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DcmVhdGVFbnZpcm9ubWVudFYyUmVxdWVzdBoyLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DcmVhdGVFbnZpcm9ubWVudFYyUmVzcG9uc2Ui0AWSQZ8FCgtFbnZpcm9ubWVudBIGQ3JlYXRlGklDcmVhdGUgYW4gZW52aXJvbm1lbnQuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBTWVNURU1fQURNSU5gIHJvbGUuKiV3ZWIudjEuZW52aXJvbm1lbnQuY3JlYXRlX2Vudmlyb25tZW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiciIi92MS9lbnZpcm9ubWVudC9jcmVhdGVfZW52aXJvbm1lbnQ6ASoSzwYKE1VwZGF0ZUVudmlyb25tZW50VjISMS5idWNrZXRlZXIuZW52aXJvbm1lbnQuVXBkYXRlRW52aXJvbm1lbnRWMlJlcXVlc3QaMi5idWNrZXRlZXIuZW52aXJvbm1lbnQuVXBkYXRlRW52aXJvbm1lbnRWMlJlc3BvbnNlItAFkkGfBQoLRW52aXJvbm1lbnQSBlVwZGF0ZRpJVXBkYXRlIGFuIGVudmlyb25tZW50LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgU1lTVEVNX0FETUlOYCByb2xlLiold2ViLnYxLmVudmlyb25tZW50LnVwZGF0ZV9lbnZpcm9ubWVudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwInIiIvdjEvZW52aXJvbm1lbnQvdXBkYXRlX2Vudmlyb25tZW50OgEqEtYGChRBcmNoaXZlRW52aXJvbm1lbnRWMhIyLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5BcmNoaXZlRW52aXJvbm1lbnRWMlJlcXVlc3QaMy5idWNrZXRlZXIuZW52aXJvbm1lbnQuQXJjaGl2ZUVudmlyb25tZW50VjJSZXNwb25zZSLUBZJBogUKC0Vudmlyb25tZW50EgdBcmNoaXZlGkpBcmNoaXZlIGFuIGVudmlyb25tZW50LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgU1lTVEVNX0FETUlOYCByb2xlLiomd2ViLnYxLmVudmlyb25tZW50LmFyY2hpdmVfZW52aXJvbm1lbnRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCKCIjL3YxL2Vudmlyb25tZW50L2FyY2hpdmVfZW52aXJvbm1lbnQ6ASoS5AYKFlVuYXJjaGl2ZUVudmlyb25tZW50VjISNC5idWNrZXRlZXIuZW52aXJvbm1lbnQuVW5hcmNoaXZlRW52aXJvbm1lbnRWMlJlcXVlc3QaNS5idWNrZXRlZXIuZW52aXJvbm1lbnQuVW5hcmNoaXZlRW52aXJvbm1lbnRWMlJlc3BvbnNlItwFkkGoBQoLRW52aXJvbm1lbnQSCVVuYXJjaGl2ZRpMVW5hcmNoaXZlIGFuIGVudmlyb25tZW50LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgU1lTVEVNX0FETUlOYCByb2xlLiood2ViLnYxLmVudmlyb25tZW50LnVuYXJjaGl2ZV9lbnZpcm9ubWVudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIqIiUvdjEvZW52aXJvbm1lbnQvdW5hcmNoaXZlX2Vudmlyb25tZW50OgEqEpQGCgpHZXRQcm9qZWN0EiguYnVja2V0ZWVyLmVudmlyb25tZW50LkdldFByb2plY3RSZXF1ZXN0GikuYnVja2V0ZWVyLmVudmlyb25tZW50LkdldFByb2plY3RSZXNwb25zZSKwBZJBiQUKB1Byb2plY3QSA0dldBpBR2V0IGEgcHJvamVjdC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFNZU1RFTV9BRE1JTmAgcm9sZS4qHndlYi52MS5lbnZpcm9ubWVudC5nZXRfcHJvamVjdEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIdEhsvdjEvZW52aXJvbm1lbnQvZ2V0X3Byb2plY3QSnwYKDExpc3RQcm9qZWN0cxIqLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5MaXN0UHJvamVjdHNSZXF1ZXN0GisuYnVja2V0ZWVyLmVudmlyb25tZW50Lkxpc3RQcm9qZWN0c1Jlc3BvbnNlIrUFkkGMBQoHUHJvamVjdBIETGlzdBpBTGlzdCBwcm9qZWN0cy4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFNZU1RFTV9BRE1JTmAgcm9sZS4qIHdlYi52MS5lbnZpcm9ubWVudC5saXN0X3Byb2plY3RzSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh8SHS92MS9lbnZpcm9ubWVudC9saXN0X3Byb2plY3RzEqwGCg1DcmVhdGVQcm9qZWN0EisuYnVja2V0ZWVyLmVudmlyb25tZW50LkNyZWF0ZVByb2plY3RSZXF1ZXN0GiwuYnVja2V0ZWVyLmVudmlyb25tZW50LkNyZWF0ZVByb2plY3RSZXNwb25zZSK/BZJBkgUKB1Byb2plY3QSBkNyZWF0ZRpEQ3JlYXRlIGEgcHJvamVjdC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFNZU1RFTV9BRE1JTmAgcm9sZS4qIXdlYi52MS5lbnZpcm9ubWVudC5jcmVhdGVfcHJvamVjdEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIjIh4vdjEvZW52aXJvbm1lbnQvY3JlYXRlX3Byb2plY3Q6ASoS0wYKEkNyZWF0ZVRyaWFsUHJvamVjdBIwLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DcmVhdGVUcmlhbFByb2plY3RSZXF1ZXN0GjEuYnVja2V0ZWVyLmVudmlyb25tZW50LkNyZWF0ZVRyaWFsUHJvamVjdFJlc3BvbnNlItcFkkGkBQoHUHJvamVjdBIMQ3JlYXRlIFRyaWFsGkpDcmVhdGUgYSB0cmlhbCBwcm9qZWN0LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgU1lTVEVNX0FETUlOYCByb2xlLiond2ViLnYxLmVudmlyb25tZW50LmNyZWF0ZV90cmlhbF9wcm9qZWN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAikiJC92MS9lbnZpcm9ubWVudC9jcmVhdGVfdHJpYWxfcHJvamVjdDoBKhKsBgoNVXBkYXRlUHJvamVjdBIrLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5VcGRhdGVQcm9qZWN0UmVxdWVzdBosLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5VcGRhdGVQcm9qZWN0UmVzcG9uc2UivwWSQZIFCgdQcm9qZWN0EgZVcGRhdGUaRFVwZGF0ZSBhIHByb2plY3QuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBTWVNURU1fQURNSU5gIHJvbGUuKiF3ZWIudjEuZW52aXJvbm1lbnQudXBkYXRlX3Byb2plY3RKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCIyIeL3YxL2Vudmlyb25tZW50L3VwZGF0ZV9wcm9qZWN0OgEqEqwGCg1FbmFibGVQcm9qZWN0EisuYnVja2V0ZWVyLmVudmlyb25tZW50LkVuYWJsZVByb2plY3RSZXF1ZXN0GiwuYnVja2V0ZWVyLmVudmlyb25tZW50LkVuYWJsZVByb2plY3RSZXNwb25zZSK/BZJBkgUKB1Byb2plY3QSBkVuYWJsZRpERW5hYmxlIGEgcHJvamVjdC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFNZU1RFTV9BRE1JTmAgcm9sZS4qIXdlYi52MS5lbnZpcm9ubWVudC5lbmFibGVfcHJvamVjdEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIjIh4vdjEvZW52aXJvbm1lbnQvZW5hYmxlX3Byb2plY3Q6ASoSswYKDkRpc2FibGVQcm9qZWN0EiwuYnVja2V0ZWVyLmVudmlyb25tZW50LkRpc2FibGVQcm9qZWN0UmVxdWVzdBotLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5EaXNhYmxlUHJvamVjdFJlc3BvbnNlIsMFkkGVBQoHUHJvamVjdBIHRGlzYWJsZRpFRGlzYWJsZSBhIHByb2plY3QuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBTWVNURU1fQURNSU5gIHJvbGUuKiJ3ZWIudjEuZW52aXJvbm1lbnQuZGlzYWJsZV9wcm9qZWN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiQiHy92MS9lbnZpcm9ubWVudC9kaXNhYmxlX3Byb2plY3Q6ASoS2gYKE0NvbnZlcnRUcmlhbFByb2plY3QSMS5idWNrZXRlZXIuZW52aXJvbm1lbnQuQ29udmVydFRyaWFsUHJvamVjdFJlcXVlc3QaMi5idWNrZXRlZXIuZW52aXJvbm1lbnQuQ29udmVydFRyaWFsUHJvamVjdFJlc3BvbnNlItsFkkGnBQoHUHJvamVjdBINQ29udmVydCBUcmlhbBpLQ29udmVydCBhIHRyaWFsIHByb2plY3QuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBTWVNURU1fQURNSU5gIHJvbGUuKih3ZWIudjEuZW52aXJvbm1lbnQuY29udmVydF90cmlhbF9wcm9qZWN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAioiJS92MS9lbnZpcm9ubWVudC9jb252ZXJ0X3RyaWFsX3Byb2plY3Q6ASoSuAYKD0dldE9yZ2FuaXphdGlvbhItLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5HZXRPcmdhbml6YXRpb25SZXF1ZXN0Gi4uYnVja2V0ZWVyLmVudmlyb25tZW50LkdldE9yZ2FuaXphdGlvblJlc3BvbnNlIsUFkkGZBQoMT3JnYW5pemF0aW9uEgNHZXQaR0dldCBhbiBvcmdhbml6YXRpb24uIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGF0IGxlYXN0IGEgTUVNQkVSIHJvbGUuKiN3ZWIudjEuZW52aXJvbm1lbnQuZ2V0X29yZ2FuaXphdGlvbkq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIiEiAvdjEvZW52aXJvbm1lbnQvZ2V0X29yZ2FuaXphdGlvbhLCBgoRTGlzdE9yZ2FuaXphdGlvbnMSLy5idWNrZXRlZXIuZW52aXJvbm1lbnQuTGlzdE9yZ2FuaXphdGlvbnNSZXF1ZXN0GjAuYnVja2V0ZWVyLmVudmlyb25tZW50Lkxpc3RPcmdhbml6YXRpb25zUmVzcG9uc2UiyQWSQZsFCgxPcmdhbml6YXRpb24SBExpc3QaRkxpc3Qgb3JnYW5pemF0aW9ucy4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFNZU1RFTV9BRE1JTmAgcm9sZS4qJXdlYi52MS5lbnZpcm9ubWVudC5saXN0X29yZ2FuaXphdGlvbnNKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCJBIiL3YxL2Vudmlyb25tZW50L2xpc3Rfb3JnYW5pemF0aW9ucxLQBgoSQ3JlYXRlT3JnYW5pemF0aW9uEjAuYnVja2V0ZWVyLmVudmlyb25tZW50LkNyZWF0ZU9yZ2FuaXphdGlvblJlcXVlc3QaMS5idWNrZXRlZXIuZW52aXJvbm1lbnQuQ3JlYXRlT3JnYW5pemF0aW9uUmVzcG9uc2Ui1AWSQaIFCgxPcmdhbml6YXRpb24SBkNyZWF0ZRpKQ3JlYXRlIGFuIG9yZ2FuaXphdGlvbi4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFNZU1RFTV9BRE1JTmAgcm9sZS4qJndlYi52MS5lbnZpcm9ubWVudC5jcmVhdGVfb3JnYW5pemF0aW9uSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAigiIy92MS9lbnZpcm9ubWVudC9jcmVhdGVfb3JnYW5pemF0aW9uOgEqEskGChJVcGRhdGVPcmdhbml6YXRpb24SMC5idWNrZXRlZXIuZW52aXJvbm1lbnQuVXBkYXRlT3JnYW5pemF0aW9uUmVxdWVzdBoxLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5VcGRhdGVPcmdhbml6YXRpb25SZXNwb25zZSLNBZJBmwUKDE9yZ2FuaXphdGlvbhIGVXBkYXRlGkNVcGRhdGUgYW4gb3JnYW5pemF0aW9uLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKiZ3ZWIudjEuZW52aXJvbm1lbnQudXBkYXRlX29yZ2FuaXphdGlvbkq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIoIiMvdjEvZW52aXJvbm1lbnQvdXBkYXRlX29yZ2FuaXphdGlvbjoBKhLQBgoSRW5hYmxlT3JnYW5pemF0aW9uEjAuYnVja2V0ZWVyLmVudmlyb25tZW50LkVuYWJsZU9yZ2FuaXphdGlvblJlcXVlc3QaMS5idWNrZXRlZXIuZW52aXJvbm1lbnQuRW5hYmxlT3JnYW5pemF0aW9uUmVzcG9uc2Ui1AWSQaIFCgxPcmdhbml6YXRpb24SBkVuYWJsZRpKRW5hYmxlIGFuIG9yZ2FuaXphdGlvbi4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFNZU1RFTV9BRE1JTmAgcm9sZS4qJndlYi52MS5lbnZpcm9ubWVudC5lbmFibGVfb3JnYW5pemF0aW9uSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAigiIy92MS9lbnZpcm9ubWVudC9lbmFibGVfb3JnYW5pemF0aW9uOgEqEtcGChNEaXNhYmxlT3JnYW5pemF0aW9uEjEuYnVja2V0ZWVyLmVudmlyb25tZW50LkRpc2FibGVPcmdhbml6YXRpb25SZXF1ZXN0GjIuYnVja2V0ZWVyLmVudmlyb25tZW50LkRpc2FibGVPcmdhbml6YXRpb25SZXNwb25zZSLYBZJBpQUKDE9yZ2FuaXphdGlvbhIHRGlzYWJsZRpLRGlzYWJsZSBhbiBvcmdhbml6YXRpb24uIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBTWVNURU1fQURNSU5gIHJvbGUuKid3ZWIudjEuZW52aXJvbm1lbnQuZGlzYWJsZV9vcmdhbml6YXRpb25KtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCKSIkL3YxL2Vudmlyb25tZW50L2Rpc2FibGVfb3JnYW5pemF0aW9uOgEqEtcGChNBcmNoaXZlT3JnYW5pemF0aW9uEjEuYnVja2V0ZWVyLmVudmlyb25tZW50LkFyY2hpdmVPcmdhbml6YXRpb25SZXF1ZXN0GjIuYnVja2V0ZWVyLmVudmlyb25tZW50LkFyY2hpdmVPcmdhbml6YXRpb25SZXNwb25zZSLYBZJBpQUKDE9yZ2FuaXphdGlvbhIHQXJjaGl2ZRpLQXJjaGl2ZSBhbiBvcmdhbml6YXRpb24uIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBTWVNURU1fQURNSU5gIHJvbGUuKid3ZWIudjEuZW52aXJvbm1lbnQuYXJjaGl2ZV9vcmdhbml6YXRpb25KtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCKSIkL3YxL2Vudmlyb25tZW50L2FyY2hpdmVfb3JnYW5pemF0aW9uOgEqEuUGChVVbmFyY2hpdmVPcmdhbml6YXRpb24SMy5idWNrZXRlZXIuZW52aXJvbm1lbnQuVW5hcmNoaXZlT3JnYW5pemF0aW9uUmVxdWVzdBo0LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5VbmFyY2hpdmVPcmdhbml6YXRpb25SZXNwb25zZSLgBZJBqwUKDE9yZ2FuaXphdGlvbhIJVW5hcmNoaXZlGk1VbmFyY2hpdmUgYW4gb3JnYW5pemF0aW9uLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgU1lTVEVNX0FETUlOYCByb2xlLiopd2ViLnYxLmVudmlyb25tZW50LnVuYXJjaGl2ZV9vcmdhbml6YXRpb25KtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCKyImL3YxL2Vudmlyb25tZW50L3VuYXJjaGl2ZV9vcmdhbml6YXRpb246ASoSiwcKGENvbnZlcnRUcmlhbE9yZ2FuaXphdGlvbhI2LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Db252ZXJ0VHJpYWxPcmdhbml6YXRpb25SZXF1ZXN0GjcuYnVja2V0ZWVyLmVudmlyb25tZW50LkNvbnZlcnRUcmlhbE9yZ2FuaXphdGlvblJlc3BvbnNlIv0FkkHEBQoMT3JnYW5pemF0aW9uEg1Db252ZXJ0IFRyaWFsGl5Db252ZXJ0IGEgdHJpYWwgb3JnYW5pemF0aW9uIHRvIGEgcGFpZCBvbmUuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBTWVNURU1fQURNSU5gIHJvbGUuKi13ZWIudjEuZW52aXJvbm1lbnQuY29udmVydF90cmlhbF9vcmdhbml6YXRpb25KtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCLyIqL3YxL2Vudmlyb25tZW50L2NvbnZlcnRfdHJpYWxfb3JnYW5pemF0aW9uOgEqEuIGCg5MaXN0UHJvamVjdHNWMhIsLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5MaXN0UHJvamVjdHNWMlJlcXVlc3QaLS5idWNrZXRlZXIuZW52aXJvbm1lbnQuTGlzdFByb2plY3RzVjJSZXNwb25zZSLyBZJBxgUKB1Byb2plY3QSEExpc3QgUHJvamVjdHMgVjIabExpc3QgcHJvamVjdHMgd2l0aCBWMiBBUEkuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGF0IGxlYXN0IGEgTUVNQkVSIHJvbGUgaW4gdGhlIHNwZWNpZmllZCBvcmdhbml6YXRpb25zLiojd2ViLnYxLmVudmlyb25tZW50Lmxpc3RfcHJvamVjdHNfdjJKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCIhIgL3YxL2Vudmlyb25tZW50L2xpc3RfcHJvamVjdHNfdjJCNVozZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2Vudmlyb25tZW50YgZwcm90bzM= experimentDescriptor: CqwHCh5wcm90by9leHBlcmltZW50L2NvbW1hbmQucHJvdG8SFGJ1Y2tldGVlci5leHBlcmltZW50IlkKEUNyZWF0ZUdvYWxDb21tYW5kEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbiInChFSZW5hbWVHb2FsQ29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lIkAKHENoYW5nZURlc2NyaXB0aW9uR29hbENvbW1hbmQSIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uIhQKEkFyY2hpdmVHb2FsQ29tbWFuZCITChFEZWxldGVHb2FsQ29tbWFuZCLvAQoXQ3JlYXRlRXhwZXJpbWVudENvbW1hbmQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhkKCHN0YXJ0X2F0GAMgASgDUgdzdGFydEF0EhcKB3N0b3BfYXQYBCABKANSBnN0b3BBdBIZCghnb2FsX2lkcxgFIAMoCVIHZ29hbElkcxISCgRuYW1lGAYgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAcgASgJUgtkZXNjcmlwdGlvbhIqChFiYXNlX3ZhcmlhdGlvbl9pZBgIIAEoCVIPYmFzZVZhcmlhdGlvbklkSgQIAhADIlMKHUNoYW5nZUV4cGVyaW1lbnRQZXJpb2RDb21tYW5kEhkKCHN0YXJ0X2F0GAEgASgDUgdzdGFydEF0EhcKB3N0b3BfYXQYAiABKANSBnN0b3BBdCIxChtDaGFuZ2VFeHBlcmltZW50TmFtZUNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZSJGCiJDaGFuZ2VFeHBlcmltZW50RGVzY3JpcHRpb25Db21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiIXChVTdG9wRXhwZXJpbWVudENvbW1hbmQiGgoYQXJjaGl2ZUV4cGVyaW1lbnRDb21tYW5kIhkKF0RlbGV0ZUV4cGVyaW1lbnRDb21tYW5kIhgKFlN0YXJ0RXhwZXJpbWVudENvbW1hbmQiGQoXRmluaXNoRXhwZXJpbWVudENvbW1hbmRCNFoyZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2V4cGVyaW1lbnRiBnByb3RvMwrWAQodcHJvdG8vZmVhdHVyZS92YXJpYXRpb24ucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlImcKCVZhcmlhdGlvbhIOCgJpZBgBIAEoCVICaWQSFAoFdmFsdWUYAiABKAlSBXZhbHVlEhIKBG5hbWUYAyABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKvAcKIXByb3RvL2V4cGVyaW1lbnQvZXhwZXJpbWVudC5wcm90bxIUYnVja2V0ZWVyLmV4cGVyaW1lbnQaHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvItAFCgpFeHBlcmltZW50Eg4KAmlkGAEgASgJUgJpZBIbCgdnb2FsX2lkGAIgASgJQgIYAVIGZ29hbElkEh0KCmZlYXR1cmVfaWQYAyABKAlSCWZlYXR1cmVJZBInCg9mZWF0dXJlX3ZlcnNpb24YBCABKAVSDmZlYXR1cmVWZXJzaW9uEjwKCnZhcmlhdGlvbnMYBSADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSGQoIc3RhcnRfYXQYBiABKANSB3N0YXJ0QXQSFwoHc3RvcF9hdBgHIAEoA1IGc3RvcEF0EhwKB3N0b3BwZWQYCCABKAhCAhgBUgdzdG9wcGVkEiEKCnN0b3BwZWRfYXQYCSABKANCAjABUglzdG9wcGVkQXQSHQoKY3JlYXRlZF9hdBgKIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCyABKANSCXVwZGF0ZWRBdBIYCgdkZWxldGVkGAwgASgIUgdkZWxldGVkEhkKCGdvYWxfaWRzGA0gAygJUgdnb2FsSWRzEhIKBG5hbWUYDiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YDyABKAlSC2Rlc2NyaXB0aW9uEioKEWJhc2VfdmFyaWF0aW9uX2lkGBAgASgJUg9iYXNlVmFyaWF0aW9uSWQSPwoGc3RhdHVzGBIgASgOMicuYnVja2V0ZWVyLmV4cGVyaW1lbnQuRXhwZXJpbWVudC5TdGF0dXNSBnN0YXR1cxIeCgptYWludGFpbmVyGBMgASgJUgptYWludGFpbmVyEhoKCGFyY2hpdmVkGBQgASgIUghhcmNoaXZlZCJCCgZTdGF0dXMSCwoHV0FJVElORxAAEgsKB1JVTk5JTkcQARILCgdTVE9QUEVEEAISEQoNRk9SQ0VfU1RPUFBFRBADSgQIERASIlEKC0V4cGVyaW1lbnRzEkIKC2V4cGVyaW1lbnRzGAEgAygLMiAuYnVja2V0ZWVyLmV4cGVyaW1lbnQuRXhwZXJpbWVudFILZXhwZXJpbWVudHNCNFoyZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2V4cGVyaW1lbnRiBnByb3RvMwrdAgobcHJvdG8vZXhwZXJpbWVudC9nb2FsLnByb3RvEhRidWNrZXRlZXIuZXhwZXJpbWVudCLpAQoER29hbBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SGAoHZGVsZXRlZBgEIAEoCFIHZGVsZXRlZBIdCgpjcmVhdGVkX2F0GAUgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgGIAEoA1IJdXBkYXRlZEF0EicKEGlzX2luX3VzZV9zdGF0dXMYByABKAhSDWlzSW5Vc2VTdGF0dXMSGgoIYXJjaGl2ZWQYCCABKAhSCGFyY2hpdmVkQjRaMmdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9leHBlcmltZW50YgZwcm90bzMKhwUKFWdvb2dsZS9hcGkvaHR0cC5wcm90bxIKZ29vZ2xlLmFwaSJ5CgRIdHRwEioKBXJ1bGVzGAEgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVIFcnVsZXMSRQofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCFIcZnVsbHlEZWNvZGVSZXNlcnZlZEV4cGFuc2lvbiK1AgoISHR0cFJ1bGUSGgoIc2VsZWN0b3IYASABKAlSCHNlbGVjdG9yEhIKA2dldBgCIAEoCUgAUgNnZXQSEgoDcHV0GAMgASgJSABSA3B1dBIUCgRwb3N0GAQgASgJSABSBHBvc3QSGAoGZGVsZXRlGAUgASgJSABSBmRlbGV0ZRIWCgVwYXRjaBgGIAEoCUgAUgVwYXRjaBI3CgZjdXN0b20YCCABKAsyHS5nb29nbGUuYXBpLkN1c3RvbUh0dHBQYXR0ZXJuSABSBmN1c3RvbRISCgRib2R5GAcgASgJUgRib2R5EkUKE2FkZGl0aW9uYWxfYmluZGluZ3MYCyADKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUhJhZGRpdGlvbmFsQmluZGluZ3NCCQoHcGF0dGVybiI7ChFDdXN0b21IdHRwUGF0dGVybhISCgRraW5kGAEgASgJUgRraW5kEhIKBHBhdGgYAiABKAlSBHBhdGhCagoOY29tLmdvb2dsZS5hcGlCCUh0dHBQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc/gBAaICBEdBUEliBnByb3RvMwrhRgogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiJNChFGaWxlRGVzY3JpcHRvclNldBI4CgRmaWxlGAEgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkZpbGVEZXNjcmlwdG9yUHJvdG9SBGZpbGUi/gQKE0ZpbGVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIYCgdwYWNrYWdlGAIgASgJUgdwYWNrYWdlEh4KCmRlcGVuZGVuY3kYAyADKAlSCmRlcGVuZGVuY3kSKwoRcHVibGljX2RlcGVuZGVuY3kYCiADKAVSEHB1YmxpY0RlcGVuZGVuY3kSJwoPd2Vha19kZXBlbmRlbmN5GAsgAygFUg53ZWFrRGVwZW5kZW5jeRJDCgxtZXNzYWdlX3R5cGUYBCADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvUgttZXNzYWdlVHlwZRJBCgllbnVtX3R5cGUYBSADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSQQoHc2VydmljZRgGIAMoCzInLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlRGVzY3JpcHRvclByb3RvUgdzZXJ2aWNlEkMKCWV4dGVuc2lvbhgHIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEjYKB29wdGlvbnMYCCABKAsyHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnNSB29wdGlvbnMSSQoQc291cmNlX2NvZGVfaW5mbxgJIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb2RlSW5mb1IOc291cmNlQ29kZUluZm8SFgoGc3ludGF4GAwgASgJUgZzeW50YXgSGAoHZWRpdGlvbhgNIAEoCVIHZWRpdGlvbiK5BgoPRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSOwoFZmllbGQYAiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SBWZpZWxkEkMKCWV4dGVuc2lvbhgGIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEkEKC25lc3RlZF90eXBlGAMgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1IKbmVzdGVkVHlwZRJBCgllbnVtX3R5cGUYBCADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSWAoPZXh0ZW5zaW9uX3JhbmdlGAUgAygLMi8uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5FeHRlbnNpb25SYW5nZVIOZXh0ZW5zaW9uUmFuZ2USRAoKb25lb2ZfZGVjbBgIIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5PbmVvZkRlc2NyaXB0b3JQcm90b1IJb25lb2ZEZWNsEjkKB29wdGlvbnMYByABKAsyHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnNSB29wdGlvbnMSVQoOcmVzZXJ2ZWRfcmFuZ2UYCSADKAsyLi5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLlJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgKIAMoCVIMcmVzZXJ2ZWROYW1lGnoKDkV4dGVuc2lvblJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZBJACgdvcHRpb25zGAMgASgLMiYuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9uc1IHb3B0aW9ucxo3Cg1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCKtBAoVRXh0ZW5zaW9uUmFuZ2VPcHRpb25zElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uElkKC2RlY2xhcmF0aW9uGAIgAygLMjIuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9ucy5EZWNsYXJhdGlvbkIDiAECUgtkZWNsYXJhdGlvbhJoCgx2ZXJpZmljYXRpb24YAyABKA4yOC5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zLlZlcmlmaWNhdGlvblN0YXRlOgpVTlZFUklGSUVEUgx2ZXJpZmljYXRpb24aswEKC0RlY2xhcmF0aW9uEhYKBm51bWJlchgBIAEoBVIGbnVtYmVyEhsKCWZ1bGxfbmFtZRgCIAEoCVIIZnVsbE5hbWUSEgoEdHlwZRgDIAEoCVIEdHlwZRIjCgtpc19yZXBlYXRlZBgEIAEoCEICGAFSCmlzUmVwZWF0ZWQSGgoIcmVzZXJ2ZWQYBSABKAhSCHJlc2VydmVkEhoKCHJlcGVhdGVkGAYgASgIUghyZXBlYXRlZCI0ChFWZXJpZmljYXRpb25TdGF0ZRIPCgtERUNMQVJBVElPThAAEg4KClVOVkVSSUZJRUQQASoJCOgHEICAgIACIsEGChRGaWVsZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgDIAEoBVIGbnVtYmVyEkEKBWxhYmVsGAQgASgOMisuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLkxhYmVsUgVsYWJlbBI+CgR0eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGVSBHR5cGUSGwoJdHlwZV9uYW1lGAYgASgJUgh0eXBlTmFtZRIaCghleHRlbmRlZRgCIAEoCVIIZXh0ZW5kZWUSIwoNZGVmYXVsdF92YWx1ZRgHIAEoCVIMZGVmYXVsdFZhbHVlEh8KC29uZW9mX2luZGV4GAkgASgFUgpvbmVvZkluZGV4EhsKCWpzb25fbmFtZRgKIAEoCVIIanNvbk5hbWUSNwoHb3B0aW9ucxgIIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnNSB29wdGlvbnMSJwoPcHJvdG8zX29wdGlvbmFsGBEgASgIUg5wcm90bzNPcHRpb25hbCK2AgoEVHlwZRIPCgtUWVBFX0RPVUJMRRABEg4KClRZUEVfRkxPQVQQAhIOCgpUWVBFX0lOVDY0EAMSDwoLVFlQRV9VSU5UNjQQBBIOCgpUWVBFX0lOVDMyEAUSEAoMVFlQRV9GSVhFRDY0EAYSEAoMVFlQRV9GSVhFRDMyEAcSDQoJVFlQRV9CT09MEAgSDwoLVFlQRV9TVFJJTkcQCRIOCgpUWVBFX0dST1VQEAoSEAoMVFlQRV9NRVNTQUdFEAsSDgoKVFlQRV9CWVRFUxAMEg8KC1RZUEVfVUlOVDMyEA0SDQoJVFlQRV9FTlVNEA4SEQoNVFlQRV9TRklYRUQzMhAPEhEKDVRZUEVfU0ZJWEVENjQQEBIPCgtUWVBFX1NJTlQzMhAREg8KC1RZUEVfU0lOVDY0EBIiQwoFTGFiZWwSEgoOTEFCRUxfT1BUSU9OQUwQARISCg5MQUJFTF9SRVFVSVJFRBACEhIKDkxBQkVMX1JFUEVBVEVEEAMiYwoUT25lb2ZEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI3CgdvcHRpb25zGAIgASgLMh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9uc1IHb3B0aW9ucyLjAgoTRW51bURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj8KBXZhbHVlGAIgAygLMikuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZURlc2NyaXB0b3JQcm90b1IFdmFsdWUSNgoHb3B0aW9ucxgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5FbnVtT3B0aW9uc1IHb3B0aW9ucxJdCg5yZXNlcnZlZF9yYW5nZRgEIAMoCzI2Lmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvLkVudW1SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYBSADKAlSDHJlc2VydmVkTmFtZRo7ChFFbnVtUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQigwEKGEVudW1WYWx1ZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgCIAEoBVIGbnVtYmVyEjsKB29wdGlvbnMYAyABKAsyIS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlT3B0aW9uc1IHb3B0aW9ucyKnAQoWU2VydmljZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj4KBm1ldGhvZBgCIAMoCzImLmdvb2dsZS5wcm90b2J1Zi5NZXRob2REZXNjcmlwdG9yUHJvdG9SBm1ldGhvZBI5CgdvcHRpb25zGAMgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zUgdvcHRpb25zIokCChVNZXRob2REZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIdCgppbnB1dF90eXBlGAIgASgJUglpbnB1dFR5cGUSHwoLb3V0cHV0X3R5cGUYAyABKAlSCm91dHB1dFR5cGUSOAoHb3B0aW9ucxgEIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zUgdvcHRpb25zEjAKEGNsaWVudF9zdHJlYW1pbmcYBSABKAg6BWZhbHNlUg9jbGllbnRTdHJlYW1pbmcSMAoQc2VydmVyX3N0cmVhbWluZxgGIAEoCDoFZmFsc2VSD3NlcnZlclN0cmVhbWluZyKRCQoLRmlsZU9wdGlvbnMSIQoMamF2YV9wYWNrYWdlGAEgASgJUgtqYXZhUGFja2FnZRIwChRqYXZhX291dGVyX2NsYXNzbmFtZRgIIAEoCVISamF2YU91dGVyQ2xhc3NuYW1lEjUKE2phdmFfbXVsdGlwbGVfZmlsZXMYCiABKAg6BWZhbHNlUhFqYXZhTXVsdGlwbGVGaWxlcxJECh1qYXZhX2dlbmVyYXRlX2VxdWFsc19hbmRfaGFzaBgUIAEoCEICGAFSGWphdmFHZW5lcmF0ZUVxdWFsc0FuZEhhc2gSOgoWamF2YV9zdHJpbmdfY2hlY2tfdXRmOBgbIAEoCDoFZmFsc2VSE2phdmFTdHJpbmdDaGVja1V0ZjgSUwoMb3B0aW1pemVfZm9yGAkgASgOMikuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zLk9wdGltaXplTW9kZToFU1BFRURSC29wdGltaXplRm9yEh0KCmdvX3BhY2thZ2UYCyABKAlSCWdvUGFja2FnZRI1ChNjY19nZW5lcmljX3NlcnZpY2VzGBAgASgIOgVmYWxzZVIRY2NHZW5lcmljU2VydmljZXMSOQoVamF2YV9nZW5lcmljX3NlcnZpY2VzGBEgASgIOgVmYWxzZVITamF2YUdlbmVyaWNTZXJ2aWNlcxI1ChNweV9nZW5lcmljX3NlcnZpY2VzGBIgASgIOgVmYWxzZVIRcHlHZW5lcmljU2VydmljZXMSNwoUcGhwX2dlbmVyaWNfc2VydmljZXMYKiABKAg6BWZhbHNlUhJwaHBHZW5lcmljU2VydmljZXMSJQoKZGVwcmVjYXRlZBgXIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSLgoQY2NfZW5hYmxlX2FyZW5hcxgfIAEoCDoEdHJ1ZVIOY2NFbmFibGVBcmVuYXMSKgoRb2JqY19jbGFzc19wcmVmaXgYJCABKAlSD29iamNDbGFzc1ByZWZpeBIpChBjc2hhcnBfbmFtZXNwYWNlGCUgASgJUg9jc2hhcnBOYW1lc3BhY2USIQoMc3dpZnRfcHJlZml4GCcgASgJUgtzd2lmdFByZWZpeBIoChBwaHBfY2xhc3NfcHJlZml4GCggASgJUg5waHBDbGFzc1ByZWZpeBIjCg1waHBfbmFtZXNwYWNlGCkgASgJUgxwaHBOYW1lc3BhY2USNAoWcGhwX21ldGFkYXRhX25hbWVzcGFjZRgsIAEoCVIUcGhwTWV0YWRhdGFOYW1lc3BhY2USIQoMcnVieV9wYWNrYWdlGC0gASgJUgtydWJ5UGFja2FnZRJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiI6CgxPcHRpbWl6ZU1vZGUSCQoFU1BFRUQQARINCglDT0RFX1NJWkUQAhIQCgxMSVRFX1JVTlRJTUUQAyoJCOgHEICAgIACSgQIJhAnIrsDCg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNzb3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50cnkSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYCyABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgEEAVKBAgFEAZKBAgGEAdKBAgIEAlKBAgJEAoihQkKDEZpZWxkT3B0aW9ucxJBCgVjdHlwZRgBIAEoDjIjLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuQ1R5cGU6BlNUUklOR1IFY3R5cGUSFgoGcGFja2VkGAIgASgIUgZwYWNrZWQSRwoGanN0eXBlGAYgASgOMiQuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5KU1R5cGU6CUpTX05PUk1BTFIGanN0eXBlEhkKBGxhenkYBSABKAg6BWZhbHNlUgRsYXp5Ei4KD3VudmVyaWZpZWRfbGF6eRgPIAEoCDoFZmFsc2VSDnVudmVyaWZpZWRMYXp5EiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhkKBHdlYWsYCiABKAg6BWZhbHNlUgR3ZWFrEigKDGRlYnVnX3JlZGFjdBgQIAEoCDoFZmFsc2VSC2RlYnVnUmVkYWN0EksKCXJldGVudGlvbhgRIAEoDjItLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uUmV0ZW50aW9uUglyZXRlbnRpb24SSgoGdGFyZ2V0GBIgASgOMi4uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25UYXJnZXRUeXBlQgIYAVIGdGFyZ2V0EkgKB3RhcmdldHMYEyADKA4yLi5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblRhcmdldFR5cGVSB3RhcmdldHMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iLwoFQ1R5cGUSCgoGU1RSSU5HEAASCAoEQ09SRBABEhAKDFNUUklOR19QSUVDRRACIjUKBkpTVHlwZRINCglKU19OT1JNQUwQABINCglKU19TVFJJTkcQARINCglKU19OVU1CRVIQAiJVCg9PcHRpb25SZXRlbnRpb24SFQoRUkVURU5USU9OX1VOS05PV04QABIVChFSRVRFTlRJT05fUlVOVElNRRABEhQKEFJFVEVOVElPTl9TT1VSQ0UQAiKMAgoQT3B0aW9uVGFyZ2V0VHlwZRIXChNUQVJHRVRfVFlQRV9VTktOT1dOEAASFAoQVEFSR0VUX1RZUEVfRklMRRABEh8KG1RBUkdFVF9UWVBFX0VYVEVOU0lPTl9SQU5HRRACEhcKE1RBUkdFVF9UWVBFX01FU1NBR0UQAxIVChFUQVJHRVRfVFlQRV9GSUVMRBAEEhUKEVRBUkdFVF9UWVBFX09ORU9GEAUSFAoQVEFSR0VUX1RZUEVfRU5VTRAGEhoKFlRBUkdFVF9UWVBFX0VOVU1fRU5UUlkQBxIXChNUQVJHRVRfVFlQRV9TRVJWSUNFEAgSFgoSVEFSR0VUX1RZUEVfTUVUSE9EEAkqCQjoBxCAgICAAkoECAQQBSJzCgxPbmVvZk9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKYAgoLRW51bU9wdGlvbnMSHwoLYWxsb3dfYWxpYXMYAiABKAhSCmFsbG93QWxpYXMSJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYBiABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgFEAYingEKEEVudW1WYWx1ZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBgBIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKcAQoOU2VydmljZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiLgAgoNTWV0aG9kT3B0aW9ucxIlCgpkZXByZWNhdGVkGCEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJxChFpZGVtcG90ZW5jeV9sZXZlbBgiIAEoDjIvLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zLklkZW1wb3RlbmN5TGV2ZWw6E0lERU1QT1RFTkNZX1VOS05PV05SEGlkZW1wb3RlbmN5TGV2ZWwSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iUAoQSWRlbXBvdGVuY3lMZXZlbBIXChNJREVNUE9URU5DWV9VTktOT1dOEAASEwoPTk9fU0lERV9FRkZFQ1RTEAESDgoKSURFTVBPVEVOVBACKgkI6AcQgICAgAIimgMKE1VuaW50ZXJwcmV0ZWRPcHRpb24SQQoEbmFtZRgCIAMoCzItLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uLk5hbWVQYXJ0UgRuYW1lEikKEGlkZW50aWZpZXJfdmFsdWUYAyABKAlSD2lkZW50aWZpZXJWYWx1ZRIsChJwb3NpdGl2ZV9pbnRfdmFsdWUYBCABKARSEHBvc2l0aXZlSW50VmFsdWUSLAoSbmVnYXRpdmVfaW50X3ZhbHVlGAUgASgDUhBuZWdhdGl2ZUludFZhbHVlEiEKDGRvdWJsZV92YWx1ZRgGIAEoAVILZG91YmxlVmFsdWUSIQoMc3RyaW5nX3ZhbHVlGAcgASgMUgtzdHJpbmdWYWx1ZRInCg9hZ2dyZWdhdGVfdmFsdWUYCCABKAlSDmFnZ3JlZ2F0ZVZhbHVlGkoKCE5hbWVQYXJ0EhsKCW5hbWVfcGFydBgBIAIoCVIIbmFtZVBhcnQSIQoMaXNfZXh0ZW5zaW9uGAIgAigIUgtpc0V4dGVuc2lvbiKnAgoOU291cmNlQ29kZUluZm8SRAoIbG9jYXRpb24YASADKAsyKC5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm8uTG9jYXRpb25SCGxvY2F0aW9uGs4BCghMb2NhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIWCgRzcGFuGAIgAygFQgIQAVIEc3BhbhIpChBsZWFkaW5nX2NvbW1lbnRzGAMgASgJUg9sZWFkaW5nQ29tbWVudHMSKwoRdHJhaWxpbmdfY29tbWVudHMYBCABKAlSEHRyYWlsaW5nQ29tbWVudHMSOgoZbGVhZGluZ19kZXRhY2hlZF9jb21tZW50cxgGIAMoCVIXbGVhZGluZ0RldGFjaGVkQ29tbWVudHMi0AIKEUdlbmVyYXRlZENvZGVJbmZvEk0KCmFubm90YXRpb24YASADKAsyLS5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvblIKYW5ub3RhdGlvbhrrAQoKQW5ub3RhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIfCgtzb3VyY2VfZmlsZRgCIAEoCVIKc291cmNlRmlsZRIUCgViZWdpbhgDIAEoBVIFYmVnaW4SEAoDZW5kGAQgASgFUgNlbmQSUgoIc2VtYW50aWMYBSABKA4yNi5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvbi5TZW1hbnRpY1IIc2VtYW50aWMiKAoIU2VtYW50aWMSCAoETk9ORRAAEgcKA1NFVBABEgkKBUFMSUFTEAJCfgoTY29tLmdvb2dsZS5wcm90b2J1ZkIQRGVzY3JpcHRvclByb3Rvc0gBWi1nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9kZXNjcmlwdG9ycGL4AQGiAgNHUEKqAhpHb29nbGUuUHJvdG9idWYuUmVmbGVjdGlvbgqoAgocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxIKZ29vZ2xlLmFwaRoVZ29vZ2xlL2FwaS9odHRwLnByb3RvGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bzpLCgRodHRwEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYsMq8IiABKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUgRodHRwQm4KDmNvbS5nb29nbGUuYXBpQhBBbm5vdGF0aW9uc1Byb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8zCugDCh9nb29nbGUvYXBpL2ZpZWxkX2JlaGF2aW9yLnByb3RvEgpnb29nbGUuYXBpGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90byq2AQoNRmllbGRCZWhhdmlvchIeChpGSUVMRF9CRUhBVklPUl9VTlNQRUNJRklFRBAAEgwKCE9QVElPTkFMEAESDAoIUkVRVUlSRUQQAhIPCgtPVVRQVVRfT05MWRADEg4KCklOUFVUX09OTFkQBBINCglJTU1VVEFCTEUQBRISCg5VTk9SREVSRURfTElTVBAGEhUKEU5PTl9FTVBUWV9ERUZBVUxUEAcSDgoKSURFTlRJRklFUhAIOmQKDmZpZWxkX2JlaGF2aW9yEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxicCCADKA4yGS5nb29nbGUuYXBpLkZpZWxkQmVoYXZpb3JCAhAAUg1maWVsZEJlaGF2aW9yQnAKDmNvbS5nb29nbGUuYXBpQhJGaWVsZEJlaGF2aW9yUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzMK4gUKHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiKYAQoGU3RydWN0EjsKBmZpZWxkcxgBIAMoCzIjLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QuRmllbGRzRW50cnlSBmZpZWxkcxpRCgtGaWVsZHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIrICCgVWYWx1ZRI7CgpudWxsX3ZhbHVlGAEgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZUgAUgludWxsVmFsdWUSIwoMbnVtYmVyX3ZhbHVlGAIgASgBSABSC251bWJlclZhbHVlEiMKDHN0cmluZ192YWx1ZRgDIAEoCUgAUgtzdHJpbmdWYWx1ZRIfCgpib29sX3ZhbHVlGAQgASgISABSCWJvb2xWYWx1ZRI8CgxzdHJ1Y3RfdmFsdWUYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SABSC3N0cnVjdFZhbHVlEjsKCmxpc3RfdmFsdWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuTGlzdFZhbHVlSABSCWxpc3RWYWx1ZUIGCgRraW5kIjsKCUxpc3RWYWx1ZRIuCgZ2YWx1ZXMYASADKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBnZhbHVlcyobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKpj4KLHByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvb3BlbmFwaXYyLnByb3RvEilncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucxocZ29vZ2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90byKzCAoHU3dhZ2dlchIYCgdzd2FnZ2VyGAEgASgJUgdzd2FnZ2VyEkMKBGluZm8YAiABKAsyLy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5JbmZvUgRpbmZvEhIKBGhvc3QYAyABKAlSBGhvc3QSGwoJYmFzZV9wYXRoGAQgASgJUghiYXNlUGF0aBJLCgdzY2hlbWVzGAUgAygOMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1lUgdzY2hlbWVzEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSXwoJcmVzcG9uc2VzGAogAygLMkEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlci5SZXNwb25zZXNFbnRyeVIJcmVzcG9uc2VzEnEKFHNlY3VyaXR5X2RlZmluaXRpb25zGAsgASgLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlEZWZpbml0aW9uc1ITc2VjdXJpdHlEZWZpbml0aW9ucxJaCghzZWN1cml0eRgMIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnRSCHNlY3VyaXR5EkIKBHRhZ3MYDSADKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSBHRhZ3MSZQoNZXh0ZXJuYWxfZG9jcxgOIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEmIKCmV4dGVuc2lvbnMYDyADKAsyQi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Td2FnZ2VyLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpxCg5SZXNwb25zZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJJCgV2YWx1ZRgCIAEoCzIzLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAFKBAgIEAlKBAgJEAoi1gcKCU9wZXJhdGlvbhISCgR0YWdzGAEgAygJUgR0YWdzEhgKB3N1bW1hcnkYAiABKAlSB3N1bW1hcnkSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEmUKDWV4dGVybmFsX2RvY3MYBCABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIhCgxvcGVyYXRpb25faWQYBSABKAlSC29wZXJhdGlvbklkEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSYQoJcmVzcG9uc2VzGAkgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuT3BlcmF0aW9uLlJlc3BvbnNlc0VudHJ5UglyZXNwb25zZXMSSwoHc2NoZW1lcxgKIAMoDjIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtZVIHc2NoZW1lcxIeCgpkZXByZWNhdGVkGAsgASgIUgpkZXByZWNhdGVkEloKCHNlY3VyaXR5GAwgAygLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudFIIc2VjdXJpdHkSZAoKZXh0ZW5zaW9ucxgNIAMoCzJELmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvbi5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMSVQoKcGFyYW1ldGVycxgOIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlBhcmFtZXRlcnNSCnBhcmFtZXRlcnMacQoOUmVzcG9uc2VzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBSgQICBAJImIKClBhcmFtZXRlcnMSVAoHaGVhZGVycxgBIAMoCzI6LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclBhcmFtZXRlclIHaGVhZGVycyKjAgoPSGVhZGVyUGFyYW1ldGVyEhIKBG5hbWUYASABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uElMKBHR5cGUYAyABKA4yPy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJQYXJhbWV0ZXIuVHlwZVIEdHlwZRIWCgZmb3JtYXQYBCABKAlSBmZvcm1hdBIaCghyZXF1aXJlZBgFIAEoCFIIcmVxdWlyZWQiRQoEVHlwZRILCgdVTktOT1dOEAASCgoGU1RSSU5HEAESCgoGTlVNQkVSEAISCwoHSU5URUdFUhADEgsKB0JPT0xFQU4QBEoECAYQB0oECAcQCCLYAQoGSGVhZGVyEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhISCgR0eXBlGAIgASgJUgR0eXBlEhYKBmZvcm1hdBgDIAEoCVIGZm9ybWF0EhgKB2RlZmF1bHQYBiABKAlSB2RlZmF1bHQSGAoHcGF0dGVybhgNIAEoCVIHcGF0dGVybkoECAQQBUoECAUQBkoECAcQCEoECAgQCUoECAkQCkoECAoQC0oECAsQDEoECAwQDUoECA4QD0oECA8QEEoECBAQEUoECBEQEkoECBIQEyKaBQoIUmVzcG9uc2USIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEkkKBnNjaGVtYRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtYVIGc2NoZW1hEloKB2hlYWRlcnMYAyADKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5IZWFkZXJzRW50cnlSB2hlYWRlcnMSXQoIZXhhbXBsZXMYBCADKAsyQS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5FeGFtcGxlc0VudHJ5UghleGFtcGxlcxJjCgpleHRlbnNpb25zGAUgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGm0KDEhlYWRlcnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJHCgV2YWx1ZRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclIFdmFsdWU6AjgBGjsKDUV4YW1wbGVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASLWAwoESW5mbxIUCgV0aXRsZRgBIAEoCVIFdGl0bGUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEigKEHRlcm1zX29mX3NlcnZpY2UYAyABKAlSDnRlcm1zT2ZTZXJ2aWNlEkwKB2NvbnRhY3QYBCABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Db250YWN0Ugdjb250YWN0EkwKB2xpY2Vuc2UYBSABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5MaWNlbnNlUgdsaWNlbnNlEhgKB3ZlcnNpb24YBiABKAlSB3ZlcnNpb24SXwoKZXh0ZW5zaW9ucxgHIAMoCzI/LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkluZm8uRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIkUKB0NvbnRhY3QSEgoEbmFtZRgBIAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybBIUCgVlbWFpbBgDIAEoCVIFZW1haWwiLwoHTGljZW5zZRISCgRuYW1lGAEgASgJUgRuYW1lEhAKA3VybBgCIAEoCVIDdXJsIksKFUV4dGVybmFsRG9jdW1lbnRhdGlvbhIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SEAoDdXJsGAIgASgJUgN1cmwiqgIKBlNjaGVtYRJWCgtqc29uX3NjaGVtYRgBIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSCmpzb25TY2hlbWESJAoNZGlzY3JpbWluYXRvchgCIAEoCVINZGlzY3JpbWluYXRvchIbCglyZWFkX29ubHkYAyABKAhSCHJlYWRPbmx5EmUKDWV4dGVybmFsX2RvY3MYBSABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIYCgdleGFtcGxlGAYgASgJUgdleGFtcGxlSgQIBBAFItcKCgpKU09OU2NoZW1hEhAKA3JlZhgDIAEoCVIDcmVmEhQKBXRpdGxlGAUgASgJUgV0aXRsZRIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SGAoHZGVmYXVsdBgHIAEoCVIHZGVmYXVsdBIbCglyZWFkX29ubHkYCCABKAhSCHJlYWRPbmx5EhgKB2V4YW1wbGUYCSABKAlSB2V4YW1wbGUSHwoLbXVsdGlwbGVfb2YYCiABKAFSCm11bHRpcGxlT2YSGAoHbWF4aW11bRgLIAEoAVIHbWF4aW11bRIrChFleGNsdXNpdmVfbWF4aW11bRgMIAEoCFIQZXhjbHVzaXZlTWF4aW11bRIYCgdtaW5pbXVtGA0gASgBUgdtaW5pbXVtEisKEWV4Y2x1c2l2ZV9taW5pbXVtGA4gASgIUhBleGNsdXNpdmVNaW5pbXVtEh0KCm1heF9sZW5ndGgYDyABKARSCW1heExlbmd0aBIdCgptaW5fbGVuZ3RoGBAgASgEUgltaW5MZW5ndGgSGAoHcGF0dGVybhgRIAEoCVIHcGF0dGVybhIbCgltYXhfaXRlbXMYFCABKARSCG1heEl0ZW1zEhsKCW1pbl9pdGVtcxgVIAEoBFIIbWluSXRlbXMSIQoMdW5pcXVlX2l0ZW1zGBYgASgIUgt1bmlxdWVJdGVtcxIlCg5tYXhfcHJvcGVydGllcxgYIAEoBFINbWF4UHJvcGVydGllcxIlCg5taW5fcHJvcGVydGllcxgZIAEoBFINbWluUHJvcGVydGllcxIaCghyZXF1aXJlZBgaIAMoCVIIcmVxdWlyZWQSFAoFYXJyYXkYIiADKAlSBWFycmF5El8KBHR5cGUYIyADKA4ySy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hLkpTT05TY2hlbWFTaW1wbGVUeXBlc1IEdHlwZRIWCgZmb3JtYXQYJCABKAlSBmZvcm1hdBISCgRlbnVtGC4gAygJUgRlbnVtEnoKE2ZpZWxkX2NvbmZpZ3VyYXRpb24Y6QcgASgLMkguZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5GaWVsZENvbmZpZ3VyYXRpb25SEmZpZWxkQ29uZmlndXJhdGlvbhJlCgpleHRlbnNpb25zGDAgAygLMkUuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaPAoSRmllbGRDb25maWd1cmF0aW9uEiYKD3BhdGhfcGFyYW1fbmFtZRgvIAEoCVINcGF0aFBhcmFtTmFtZRpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJ3ChVKU09OU2NoZW1hU2ltcGxlVHlwZXMSCwoHVU5LTk9XThAAEgkKBUFSUkFZEAESCwoHQk9PTEVBThACEgsKB0lOVEVHRVIQAxIICgROVUxMEAQSCgoGTlVNQkVSEAUSCgoGT0JKRUNUEAYSCgoGU1RSSU5HEAdKBAgBEAJKBAgCEANKBAgEEAVKBAgSEBNKBAgTEBRKBAgXEBhKBAgbEBxKBAgcEB1KBAgdEB5KBAgeECJKBAglECpKBAgqECtKBAgrEC4i2QIKA1RhZxISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhJlCg1leHRlcm5hbF9kb2NzGAMgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSXgoKZXh0ZW5zaW9ucxgEIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlRhZy5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEi9wEKE1NlY3VyaXR5RGVmaW5pdGlvbnMSaAoIc2VjdXJpdHkYASADKAsyTC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eURlZmluaXRpb25zLlNlY3VyaXR5RW50cnlSCHNlY3VyaXR5GnYKDVNlY3VyaXR5RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSTwoFdmFsdWUYAiABKAsyOS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZVIFdmFsdWU6AjgBIv8GCg5TZWN1cml0eVNjaGVtZRJSCgR0eXBlGAEgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuVHlwZVIEdHlwZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SEgoEbmFtZRgDIAEoCVIEbmFtZRJMCgJpbhgEIAEoDjI8LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkluUgJpbhJSCgRmbG93GAUgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuRmxvd1IEZmxvdxIrChFhdXRob3JpemF0aW9uX3VybBgGIAEoCVIQYXV0aG9yaXphdGlvblVybBIbCgl0b2tlbl91cmwYByABKAlSCHRva2VuVXJsEkkKBnNjb3BlcxgIIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjb3Blc1IGc2NvcGVzEmkKCmV4dGVuc2lvbnMYCSADKAsySS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEiSwoEVHlwZRIQCgxUWVBFX0lOVkFMSUQQABIOCgpUWVBFX0JBU0lDEAESEAoMVFlQRV9BUElfS0VZEAISDwoLVFlQRV9PQVVUSDIQAyIxCgJJbhIOCgpJTl9JTlZBTElEEAASDAoISU5fUVVFUlkQARINCglJTl9IRUFERVIQAiJqCgRGbG93EhAKDEZMT1dfSU5WQUxJRBAAEhEKDUZMT1dfSU1QTElDSVQQARIRCg1GTE9XX1BBU1NXT1JEEAISFAoQRkxPV19BUFBMSUNBVElPThADEhQKEEZMT1dfQUNDRVNTX0NPREUQBCL2AgoTU2VjdXJpdHlSZXF1aXJlbWVudBKKAQoUc2VjdXJpdHlfcmVxdWlyZW1lbnQYASADKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRFbnRyeVITc2VjdXJpdHlSZXF1aXJlbWVudBowChhTZWN1cml0eVJlcXVpcmVtZW50VmFsdWUSFAoFc2NvcGUYASADKAlSBXNjb3BlGp8BChhTZWN1cml0eVJlcXVpcmVtZW50RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSbQoFdmFsdWUYAiABKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRWYWx1ZVIFdmFsdWU6AjgBIpYBCgZTY29wZXMSUgoFc2NvcGUYASADKAsyPC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY29wZXMuU2NvcGVFbnRyeVIFc2NvcGUaOAoKU2NvcGVFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBKjsKBlNjaGVtZRILCgdVTktOT1dOEAASCAoESFRUUBABEgkKBUhUVFBTEAISBgoCV1MQAxIHCgNXU1MQBEJIWkZnaXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS92Mi9wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zYgZwcm90bzMK/QYKLnByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvYW5ub3RhdGlvbnMucHJvdG8SKWdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxoscHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9vcGVuYXBpdjIucHJvdG86fgoRb3BlbmFwaXYyX3N3YWdnZXISHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYkgggASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlclIQb3BlbmFwaXYyU3dhZ2dlcjqGAQoTb3BlbmFwaXYyX29wZXJhdGlvbhIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGJIIIAEoCzI0LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvblISb3BlbmFwaXYyT3BlcmF0aW9uOn4KEG9wZW5hcGl2Ml9zY2hlbWESHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYkgggASgLMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1hUg9vcGVuYXBpdjJTY2hlbWE6dQoNb3BlbmFwaXYyX3RhZxIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9ucxiSCCABKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSDG9wZW5hcGl2MlRhZzp+Cg9vcGVuYXBpdjJfZmllbGQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGJIIIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSDm9wZW5hcGl2MkZpZWxkQkhaRmdpdGh1Yi5jb20vZ3JwYy1lY29zeXN0ZW0vZ3JwYy1nYXRld2F5L3YyL3Byb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnNiBnByb3RvMwqGBAoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvEg9nb29nbGUucHJvdG9idWYiIwoLRG91YmxlVmFsdWUSFAoFdmFsdWUYASABKAFSBXZhbHVlIiIKCkZsb2F0VmFsdWUSFAoFdmFsdWUYASABKAJSBXZhbHVlIiIKCkludDY0VmFsdWUSFAoFdmFsdWUYASABKANSBXZhbHVlIiMKC1VJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgEUgV2YWx1ZSIiCgpJbnQzMlZhbHVlEhQKBXZhbHVlGAEgASgFUgV2YWx1ZSIjCgtVSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoDVIFdmFsdWUiIQoJQm9vbFZhbHVlEhQKBXZhbHVlGAEgASgIUgV2YWx1ZSIjCgtTdHJpbmdWYWx1ZRIUCgV2YWx1ZRgBIAEoCVIFdmFsdWUiIgoKQnl0ZXNWYWx1ZRIUCgV2YWx1ZRgBIAEoDFIFdmFsdWVCgwEKE2NvbS5nb29nbGUucHJvdG9idWZCDVdyYXBwZXJzUHJvdG9QAVoxZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vd3JhcHBlcnNwYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCsY9Ch5wcm90by9leHBlcmltZW50L3NlcnZpY2UucHJvdG8SFGJ1Y2tldGVlci5leHBlcmltZW50Ghxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGh9nb29nbGUvYXBpL2ZpZWxkX2JlaGF2aW9yLnByb3RvGi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvGh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8aHnByb3RvL2V4cGVyaW1lbnQvY29tbWFuZC5wcm90bxobcHJvdG8vZXhwZXJpbWVudC9nb2FsLnByb3RvGiFwcm90by9leHBlcmltZW50L2V4cGVyaW1lbnQucHJvdG8iVwoOR2V0R29hbFJlcXVlc3QSEwoCaWQYASABKAlCA+BBAlICaWQSKgoOZW52aXJvbm1lbnRfaWQYAyABKAlCA+BBAlINZW52aXJvbm1lbnRJZEoECAIQAyJBCg9HZXRHb2FsUmVzcG9uc2USLgoEZ29hbBgBIAEoCzIaLmJ1Y2tldGVlci5leHBlcmltZW50LkdvYWxSBGdvYWwirwQKEExpc3RHb2Fsc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJJCghvcmRlcl9ieRgEIAEoDjIuLmJ1Y2tldGVlci5leHBlcmltZW50Lkxpc3RHb2Fsc1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJeCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNS5idWNrZXRlZXIuZXhwZXJpbWVudC5MaXN0R29hbHNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBJDChBpc19pbl91c2Vfc3RhdHVzGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVINaXNJblVzZVN0YXR1cxI2CghhcmNoaXZlZBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGFyY2hpdmVkEioKDmVudmlyb25tZW50X2lkGAkgASgJQgPgQQJSDWVudmlyb25tZW50SWQiQAoHT3JkZXJCeRILCgdERUZBVUxUEAASCAoETkFNRRABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIAxAEIn4KEUxpc3RHb2Fsc1Jlc3BvbnNlEjAKBWdvYWxzGAEgAygLMhouYnVja2V0ZWVyLmV4cGVyaW1lbnQuR29hbFIFZ29hbHMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQi6wEKEUNyZWF0ZUdvYWxSZXF1ZXN0ElQKB2NvbW1hbmQYASABKAsyJy5idWNrZXRlZXIuZXhwZXJpbWVudC5DcmVhdGVHb2FsQ29tbWFuZEIRGAGSQQwyCmRlcHJlY2F0ZWRSB2NvbW1hbmQSKgoOZW52aXJvbm1lbnRfaWQYAyABKAlCA+BBAlINZW52aXJvbm1lbnRJZBITCgJpZBgEIAEoCUID4EECUgJpZBIXCgRuYW1lGAUgASgJQgPgQQJSBG5hbWUSIAoLZGVzY3JpcHRpb24YBiABKAlSC2Rlc2NyaXB0aW9uSgQIAhADIkQKEkNyZWF0ZUdvYWxSZXNwb25zZRIuCgRnb2FsGAEgASgLMhouYnVja2V0ZWVyLmV4cGVyaW1lbnQuR29hbFIEZ29hbCKVAQoSQXJjaGl2ZUdvYWxSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJCCgdjb21tYW5kGAIgASgLMiguYnVja2V0ZWVyLmV4cGVyaW1lbnQuQXJjaGl2ZUdvYWxDb21tYW5kUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhUKE0FyY2hpdmVHb2FsUmVzcG9uc2UikwEKEURlbGV0ZUdvYWxSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJBCgdjb21tYW5kGAIgASgLMicuYnVja2V0ZWVyLmV4cGVyaW1lbnQuRGVsZXRlR29hbENvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFAoSRGVsZXRlR29hbFJlc3BvbnNlIpICChFVcGRhdGVHb2FsUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSTgoOcmVuYW1lX2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuZXhwZXJpbWVudC5SZW5hbWVHb2FsQ29tbWFuZFINcmVuYW1lQ29tbWFuZBJwChpjaGFuZ2VfZGVzY3JpcHRpb25fY29tbWFuZBgDIAEoCzIyLmJ1Y2tldGVlci5leHBlcmltZW50LkNoYW5nZURlc2NyaXB0aW9uR29hbENvbW1hbmRSGGNoYW5nZURlc2NyaXB0aW9uQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAQQBSIUChJVcGRhdGVHb2FsUmVzcG9uc2UiUwoUR2V0RXhwZXJpbWVudFJlcXVlc3QSDgoCaWQYASABKAlSAmlkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIlkKFUdldEV4cGVyaW1lbnRSZXNwb25zZRJACgpleHBlcmltZW50GAEgASgLMiAuYnVja2V0ZWVyLmV4cGVyaW1lbnQuRXhwZXJpbWVudFIKZXhwZXJpbWVudCKaBgoWTGlzdEV4cGVyaW1lbnRzUmVxdWVzdBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSRAoPZmVhdHVyZV92ZXJzaW9uGAIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSDmZlYXR1cmVWZXJzaW9uEhIKBGZyb20YAyABKANSBGZyb20SDgoCdG8YBCABKANSAnRvEhsKCXBhZ2Vfc2l6ZRgFIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAYgASgJUgZjdXJzb3ISMwoGc3RhdHVzGAggASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSBnN0YXR1cxIeCgptYWludGFpbmVyGAkgASgJUgptYWludGFpbmVyEk8KCG9yZGVyX2J5GAogASgOMjQuYnVja2V0ZWVyLmV4cGVyaW1lbnQuTGlzdEV4cGVyaW1lbnRzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmQKD29yZGVyX2RpcmVjdGlvbhgLIAEoDjI7LmJ1Y2tldGVlci5leHBlcmltZW50Lkxpc3RFeHBlcmltZW50c1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAwgASgJUg1zZWFyY2hLZXl3b3JkEjYKCGFyY2hpdmVkGA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIYXJjaGl2ZWQSQwoIc3RhdHVzZXMYDiADKA4yJy5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50LlN0YXR1c1IIc3RhdHVzZXMSJQoOZW52aXJvbm1lbnRfaWQYDyABKAlSDWVudmlyb25tZW50SWQiQAoHT3JkZXJCeRILCgdERUZBVUxUEAASCAoETkFNRRABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIBxAIIpYBChdMaXN0RXhwZXJpbWVudHNSZXNwb25zZRJCCgtleHBlcmltZW50cxgBIAMoCzIgLmJ1Y2tldGVlci5leHBlcmltZW50LkV4cGVyaW1lbnRSC2V4cGVyaW1lbnRzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50Io8BChdDcmVhdGVFeHBlcmltZW50UmVxdWVzdBJHCgdjb21tYW5kGAEgASgLMi0uYnVja2V0ZWVyLmV4cGVyaW1lbnQuQ3JlYXRlRXhwZXJpbWVudENvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiXAoYQ3JlYXRlRXhwZXJpbWVudFJlc3BvbnNlEkAKCmV4cGVyaW1lbnQYASABKAsyIC5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50UgpleHBlcmltZW50IrsDChdVcGRhdGVFeHBlcmltZW50UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSfAogY2hhbmdlX2V4cGVyaW1lbnRfcGVyaW9kX2NvbW1hbmQYBSABKAsyMy5idWNrZXRlZXIuZXhwZXJpbWVudC5DaGFuZ2VFeHBlcmltZW50UGVyaW9kQ29tbWFuZFIdY2hhbmdlRXhwZXJpbWVudFBlcmlvZENvbW1hbmQSYQoTY2hhbmdlX25hbWVfY29tbWFuZBgGIAEoCzIxLmJ1Y2tldGVlci5leHBlcmltZW50LkNoYW5nZUV4cGVyaW1lbnROYW1lQ29tbWFuZFIRY2hhbmdlTmFtZUNvbW1hbmQSdgoaY2hhbmdlX2Rlc2NyaXB0aW9uX2NvbW1hbmQYByABKAsyOC5idWNrZXRlZXIuZXhwZXJpbWVudC5DaGFuZ2VFeHBlcmltZW50RGVzY3JpcHRpb25Db21tYW5kUhhjaGFuZ2VEZXNjcmlwdGlvbkNvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYCCABKAlSDWVudmlyb25tZW50SWRKBAgCEANKBAgDEARKBAgEEAUiGgoYVXBkYXRlRXhwZXJpbWVudFJlc3BvbnNlIp0BChZTdGFydEV4cGVyaW1lbnRSZXF1ZXN0Eg4KAmlkGAIgASgJUgJpZBJGCgdjb21tYW5kGAMgASgLMiwuYnVja2V0ZWVyLmV4cGVyaW1lbnQuU3RhcnRFeHBlcmltZW50Q29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiIZChdTdGFydEV4cGVyaW1lbnRSZXNwb25zZSKfAQoXRmluaXNoRXhwZXJpbWVudFJlcXVlc3QSDgoCaWQYAiABKAlSAmlkEkcKB2NvbW1hbmQYAyABKAsyLS5idWNrZXRlZXIuZXhwZXJpbWVudC5GaW5pc2hFeHBlcmltZW50Q29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiIaChhGaW5pc2hFeHBlcmltZW50UmVzcG9uc2UimwEKFVN0b3BFeHBlcmltZW50UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSRQoHY29tbWFuZBgCIAEoCzIrLmJ1Y2tldGVlci5leHBlcmltZW50LlN0b3BFeHBlcmltZW50Q29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZTdG9wRXhwZXJpbWVudFJlc3BvbnNlIqEBChhBcmNoaXZlRXhwZXJpbWVudFJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkgKB2NvbW1hbmQYAiABKAsyLi5idWNrZXRlZXIuZXhwZXJpbWVudC5BcmNoaXZlRXhwZXJpbWVudENvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGwoZQXJjaGl2ZUV4cGVyaW1lbnRSZXNwb25zZSKfAQoXRGVsZXRlRXhwZXJpbWVudFJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkcKB2NvbW1hbmQYAiABKAsyLS5idWNrZXRlZXIuZXhwZXJpbWVudC5EZWxldGVFeHBlcmltZW50Q29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIaChhEZWxldGVFeHBlcmltZW50UmVzcG9uc2Uy+BYKEUV4cGVyaW1lbnRTZXJ2aWNlEoIECgdHZXRHb2FsEiQuYnVja2V0ZWVyLmV4cGVyaW1lbnQuR2V0R29hbFJlcXVlc3QaJS5idWNrZXRlZXIuZXhwZXJpbWVudC5HZXRHb2FsUmVzcG9uc2UiqQOSQZUDCgRnb2FsEgNHZXQaC0dldCBhIGdvYWwuKg93ZWIudjEuZ29hbC5nZXRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIKEggvdjEvZ29hbBKMBAoJTGlzdEdvYWxzEiYuYnVja2V0ZWVyLmV4cGVyaW1lbnQuTGlzdEdvYWxzUmVxdWVzdBonLmJ1Y2tldGVlci5leHBlcmltZW50Lkxpc3RHb2Fsc1Jlc3BvbnNlIq0DkkGYAwoEZ29hbBIETGlzdBoLTGlzdCBnb2Fscy4qEXdlYi52MS5nb2Fscy5saXN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCCxIJL3YxL2dvYWxzEpcECgpDcmVhdGVHb2FsEicuYnVja2V0ZWVyLmV4cGVyaW1lbnQuQ3JlYXRlR29hbFJlcXVlc3QaKC5idWNrZXRlZXIuZXhwZXJpbWVudC5DcmVhdGVHb2FsUmVzcG9uc2UitQOSQZ4DCgRnb2FsEgZDcmVhdGUaDkNyZWF0ZSBhIGdvYWwuKhJ3ZWIudjEuZ29hbC5jcmVhdGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwINIggvdjEvZ29hbDoBKhJhCgpVcGRhdGVHb2FsEicuYnVja2V0ZWVyLmV4cGVyaW1lbnQuVXBkYXRlR29hbFJlcXVlc3QaKC5idWNrZXRlZXIuZXhwZXJpbWVudC5VcGRhdGVHb2FsUmVzcG9uc2UiABJkCgtBcmNoaXZlR29hbBIoLmJ1Y2tldGVlci5leHBlcmltZW50LkFyY2hpdmVHb2FsUmVxdWVzdBopLmJ1Y2tldGVlci5leHBlcmltZW50LkFyY2hpdmVHb2FsUmVzcG9uc2UiABJhCgpEZWxldGVHb2FsEicuYnVja2V0ZWVyLmV4cGVyaW1lbnQuRGVsZXRlR29hbFJlcXVlc3QaKC5idWNrZXRlZXIuZXhwZXJpbWVudC5EZWxldGVHb2FsUmVzcG9uc2UiABJqCg1HZXRFeHBlcmltZW50EiouYnVja2V0ZWVyLmV4cGVyaW1lbnQuR2V0RXhwZXJpbWVudFJlcXVlc3QaKy5idWNrZXRlZXIuZXhwZXJpbWVudC5HZXRFeHBlcmltZW50UmVzcG9uc2UiABJwCg9MaXN0RXhwZXJpbWVudHMSLC5idWNrZXRlZXIuZXhwZXJpbWVudC5MaXN0RXhwZXJpbWVudHNSZXF1ZXN0Gi0uYnVja2V0ZWVyLmV4cGVyaW1lbnQuTGlzdEV4cGVyaW1lbnRzUmVzcG9uc2UiABJzChBDcmVhdGVFeHBlcmltZW50Ei0uYnVja2V0ZWVyLmV4cGVyaW1lbnQuQ3JlYXRlRXhwZXJpbWVudFJlcXVlc3QaLi5idWNrZXRlZXIuZXhwZXJpbWVudC5DcmVhdGVFeHBlcmltZW50UmVzcG9uc2UiABJzChBVcGRhdGVFeHBlcmltZW50Ei0uYnVja2V0ZWVyLmV4cGVyaW1lbnQuVXBkYXRlRXhwZXJpbWVudFJlcXVlc3QaLi5idWNrZXRlZXIuZXhwZXJpbWVudC5VcGRhdGVFeHBlcmltZW50UmVzcG9uc2UiABJwCg9TdGFydEV4cGVyaW1lbnQSLC5idWNrZXRlZXIuZXhwZXJpbWVudC5TdGFydEV4cGVyaW1lbnRSZXF1ZXN0Gi0uYnVja2V0ZWVyLmV4cGVyaW1lbnQuU3RhcnRFeHBlcmltZW50UmVzcG9uc2UiABJzChBGaW5pc2hFeHBlcmltZW50Ei0uYnVja2V0ZWVyLmV4cGVyaW1lbnQuRmluaXNoRXhwZXJpbWVudFJlcXVlc3QaLi5idWNrZXRlZXIuZXhwZXJpbWVudC5GaW5pc2hFeHBlcmltZW50UmVzcG9uc2UiABJtCg5TdG9wRXhwZXJpbWVudBIrLmJ1Y2tldGVlci5leHBlcmltZW50LlN0b3BFeHBlcmltZW50UmVxdWVzdBosLmJ1Y2tldGVlci5leHBlcmltZW50LlN0b3BFeHBlcmltZW50UmVzcG9uc2UiABJ2ChFBcmNoaXZlRXhwZXJpbWVudBIuLmJ1Y2tldGVlci5leHBlcmltZW50LkFyY2hpdmVFeHBlcmltZW50UmVxdWVzdBovLmJ1Y2tldGVlci5leHBlcmltZW50LkFyY2hpdmVFeHBlcmltZW50UmVzcG9uc2UiABJzChBEZWxldGVFeHBlcmltZW50Ei0uYnVja2V0ZWVyLmV4cGVyaW1lbnQuRGVsZXRlRXhwZXJpbWVudFJlcXVlc3QaLi5idWNrZXRlZXIuZXhwZXJpbWVudC5EZWxldGVFeHBlcmltZW50UmVzcG9uc2UiAEI0WjJnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZXhwZXJpbWVudGIGcHJvdG8z - featureDescriptor: CscDChpwcm90by9mZWF0dXJlL2NsYXVzZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUi2gIKBkNsYXVzZRIOCgJpZBgBIAEoCVICaWQSHAoJYXR0cmlidXRlGAIgASgJUglhdHRyaWJ1dGUSPgoIb3BlcmF0b3IYAyABKA4yIi5idWNrZXRlZXIuZmVhdHVyZS5DbGF1c2UuT3BlcmF0b3JSCG9wZXJhdG9yEhYKBnZhbHVlcxgEIAMoCVIGdmFsdWVzIskBCghPcGVyYXRvchIKCgZFUVVBTFMQABIGCgJJThABEg0KCUVORFNfV0lUSBACEg8KC1NUQVJUU19XSVRIEAMSCwoHU0VHTUVOVBAEEgsKB0dSRUFURVIQBRIUChBHUkVBVEVSX09SX0VRVUFMEAYSCAoETEVTUxAHEhEKDUxFU1NfT1JfRVFVQUwQCBIKCgZCRUZPUkUQCRIJCgVBRlRFUhAKEhAKDEZFQVRVUkVfRkxBRxALEhMKD1BBUlRJQUxMWV9NQVRDSBAMQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK5AEKGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI2CgNBbnkSGQoIdHlwZV91cmwYASABKAlSB3R5cGVVcmwSFAoFdmFsdWUYAiABKAxSBXZhbHVlQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKhgQKHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIiMKC0RvdWJsZVZhbHVlEhQKBXZhbHVlGAEgASgBUgV2YWx1ZSIiCgpGbG9hdFZhbHVlEhQKBXZhbHVlGAEgASgCUgV2YWx1ZSIiCgpJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgDUgV2YWx1ZSIjCgtVSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoBFIFdmFsdWUiIgoKSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoBVIFdmFsdWUiIwoLVUludDMyVmFsdWUSFAoFdmFsdWUYASABKA1SBXZhbHVlIiEKCUJvb2xWYWx1ZRIUCgV2YWx1ZRgBIAEoCFIFdmFsdWUiIwoLU3RyaW5nVmFsdWUSFAoFdmFsdWUYASABKAlSBXZhbHVlIiIKCkJ5dGVzVmFsdWUSFAoFdmFsdWUYASABKAxSBXZhbHVlQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1XcmFwcGVyc1Byb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3dyYXBwZXJzcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMwq7BAoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiLQoNRml4ZWRTdHJhdGVneRIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbiKiAQoPUm9sbG91dFN0cmF0ZWd5EkwKCnZhcmlhdGlvbnMYASADKAsyLC5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3kuVmFyaWF0aW9uUgp2YXJpYXRpb25zGkEKCVZhcmlhdGlvbhIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbhIWCgZ3ZWlnaHQYAiABKAVSBndlaWdodCL4AQoIU3RyYXRlZ3kSNAoEdHlwZRgBIAEoDjIgLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5LlR5cGVSBHR5cGUSRwoOZml4ZWRfc3RyYXRlZ3kYAiABKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5GaXhlZFN0cmF0ZWd5Ug1maXhlZFN0cmF0ZWd5Ek0KEHJvbGxvdXRfc3RyYXRlZ3kYAyABKAsyIi5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3lSD3JvbGxvdXRTdHJhdGVneSIeCgRUeXBlEgkKBUZJWEVEEAASCwoHUk9MTE9VVBABQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKqQIKGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGnByb3RvL2ZlYXR1cmUvY2xhdXNlLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvIoQBCgRSdWxlEg4KAmlkGAEgASgJUgJpZBI3CghzdHJhdGVneRgCIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneRIzCgdjbGF1c2VzGAMgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgdjbGF1c2VzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKqAEKGnByb3RvL2ZlYXR1cmUvdGFyZ2V0LnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSI8CgZUYXJnZXQSHAoJdmFyaWF0aW9uGAEgASgJUgl2YXJpYXRpb24SFAoFdXNlcnMYAiADKAlSBXVzZXJzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK1gEKHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSJnCglWYXJpYXRpb24SDgoCaWQYASABKAlSAmlkEhQKBXZhbHVlGAIgASgJUgV2YWx1ZRISCgRuYW1lGAMgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCvQCCipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIvcBChNGZWF0dXJlTGFzdFVzZWRJbmZvEh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIYCgd2ZXJzaW9uGAIgASgFUgd2ZXJzaW9uEiAKDGxhc3RfdXNlZF9hdBgDIAEoA1IKbGFzdFVzZWRBdBIdCgpjcmVhdGVkX2F0GAQgASgDUgljcmVhdGVkQXQSMgoVY2xpZW50X29sZGVzdF92ZXJzaW9uGAUgASgJUhNjbGllbnRPbGRlc3RWZXJzaW9uEjIKFWNsaWVudF9sYXRlc3RfdmVyc2lvbhgGIAEoCVITY2xpZW50TGF0ZXN0VmVyc2lvbkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCsIBCiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiUAoMUHJlcmVxdWlzaXRlEh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIhCgx2YXJpYXRpb25faWQYAiABKAlSC3ZhcmlhdGlvbklkQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKswwKG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvItIHCgdGZWF0dXJlEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIYCgdlbmFibGVkGAQgASgIUgdlbmFibGVkEhgKB2RlbGV0ZWQYBSABKAhSB2RlbGV0ZWQSOQoWZXZhbHVhdGlvbl91bmRlbGF5YWJsZRgGIAEoCEICGAFSFWV2YWx1YXRpb25VbmRlbGF5YWJsZRIQCgN0dGwYByABKAVSA3R0bBIYCgd2ZXJzaW9uGAggASgFUgd2ZXJzaW9uEh0KCmNyZWF0ZWRfYXQYCSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAogASgDUgl1cGRhdGVkQXQSPAoKdmFyaWF0aW9ucxgLIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIzCgd0YXJnZXRzGAwgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0Ugd0YXJnZXRzEi0KBXJ1bGVzGA0gAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSRgoQZGVmYXVsdF9zdHJhdGVneRgOIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5Ug9kZWZhdWx0U3RyYXRlZ3kSIwoNb2ZmX3ZhcmlhdGlvbhgPIAEoCVIMb2ZmVmFyaWF0aW9uEhIKBHRhZ3MYECADKAlSBHRhZ3MSTAoObGFzdF91c2VkX2luZm8YESABKAsyJi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlTGFzdFVzZWRJbmZvUgxsYXN0VXNlZEluZm8SHgoKbWFpbnRhaW5lchgSIAEoCVIKbWFpbnRhaW5lchJPCg52YXJpYXRpb25fdHlwZRgTIAEoDjIoLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmUuVmFyaWF0aW9uVHlwZVINdmFyaWF0aW9uVHlwZRIaCghhcmNoaXZlZBgUIAEoCFIIYXJjaGl2ZWQSRQoNcHJlcmVxdWlzaXRlcxgVIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVINcHJlcmVxdWlzaXRlcxIjCg1zYW1wbGluZ19zZWVkGBYgASgJUgxzYW1wbGluZ1NlZWQiPgoNVmFyaWF0aW9uVHlwZRIKCgZTVFJJTkcQABILCgdCT09MRUFOEAESCgoGTlVNQkVSEAISCAoESlNPThADIlIKCEZlYXR1cmVzEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMSDgoCaWQYAiABKAlSAmlkInMKEkVudmlyb25tZW50RmVhdHVyZRIlCg5lbnZpcm9ubWVudF9pZBgBIAEoCVINZW52aXJvbm1lbnRJZBI2CghmZWF0dXJlcxgCIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzImcKA1RhZxIOCgJpZBgBIAEoCVICaWQSHQoKY3JlYXRlZF9hdBgCIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYAyABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAQgASgJUgRuYW1lQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKtQgKG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvIrQECgdTZWdtZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhItCgVydWxlcxgEIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHAoHdmVyc2lvbhgHIAEoA0ICGAFSB3ZlcnNpb24SGAoHZGVsZXRlZBgIIAEoCFIHZGVsZXRlZBIuChNpbmNsdWRlZF91c2VyX2NvdW50GAkgASgDUhFpbmNsdWRlZFVzZXJDb3VudBIyChNleGNsdWRlZF91c2VyX2NvdW50GAogASgDQgIYAVIRZXhjbHVkZWRVc2VyQ291bnQSOQoGc3RhdHVzGAsgASgOMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudC5TdGF0dXNSBnN0YXR1cxInChBpc19pbl91c2Vfc3RhdHVzGAwgASgIUg1pc0luVXNlU3RhdHVzEjYKCGZlYXR1cmVzGA0gAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMiPgoGU3RhdHVzEgsKB0lOSVRJQUwQABINCglVUExPQURJTkcQARIMCghTVUNFRURFRBACEgoKBkZBSUxFRBADItQBCgtTZWdtZW50VXNlchIOCgJpZBgBIAEoCVICaWQSHQoKc2VnbWVudF9pZBgCIAEoCVIJc2VnbWVudElkEhcKB3VzZXJfaWQYAyABKAlSBnVzZXJJZBI6CgVzdGF0ZRgEIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIYCgdkZWxldGVkGAUgASgIUgdkZWxldGVkIicKBVN0YXRlEgwKCElOQ0xVREVEEAASEAoIRVhDTFVERUQQARoCCAEiggEKDFNlZ21lbnRVc2VycxIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSNAoFdXNlcnMYAiADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSHQoKdXBkYXRlZF9hdBgDIAEoA1IJdXBkYXRlZEF0QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKoAUKIHByb3RvL2ZlYXR1cmUvZmxhZ190cmlnZ2VyLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSKtBAoLRmxhZ1RyaWdnZXISDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBI3CgR0eXBlGAQgASgOMiMuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuVHlwZVIEdHlwZRI9CgZhY3Rpb24YBSABKA4yJS5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlci5BY3Rpb25SBmFjdGlvbhIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SIwoNdHJpZ2dlcl9jb3VudBgHIAEoBVIMdHJpZ2dlckNvdW50EioKEWxhc3RfdHJpZ2dlcmVkX2F0GAggASgDUg9sYXN0VHJpZ2dlcmVkQXQSFAoFdG9rZW4YCSABKAlSBXRva2VuEhoKCGRpc2FibGVkGAogASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAsgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgMIAEoA1IJdXBkYXRlZEF0EiUKDmVudmlyb25tZW50X2lkGA0gASgJUg1lbnZpcm9ubWVudElkIioKBFR5cGUSEAoMVHlwZV9VTktOT1dOEAASEAoMVHlwZV9XRUJIT09LEAEiOwoGQWN0aW9uEhIKDkFjdGlvbl9VTktOT1dOEAASDQoJQWN0aW9uX09OEAESDgoKQWN0aW9uX09GRhACSgQIAxAEQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKwCMKG3Byb3RvL2ZlYXR1cmUvY29tbWFuZC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxoacHJvdG8vZmVhdHVyZS9jbGF1c2UucHJvdG8aG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvGh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxobcHJvdG8vZmVhdHVyZS9zZWdtZW50LnByb3RvGiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxogcHJvdG8vZmVhdHVyZS9mbGFnX3RyaWdnZXIucHJvdG8iOQoHQ29tbWFuZBIuCgdjb21tYW5kGAEgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIHY29tbWFuZCK1AwoUQ3JlYXRlRmVhdHVyZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEjwKCnZhcmlhdGlvbnMYBCADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSEgoEdGFncxgFIAMoCVIEdGFncxJYChpkZWZhdWx0X29uX3ZhcmlhdGlvbl9pbmRleBgGIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhdkZWZhdWx0T25WYXJpYXRpb25JbmRleBJaChtkZWZhdWx0X29mZl92YXJpYXRpb25faW5kZXgYByABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIYZGVmYXVsdE9mZlZhcmlhdGlvbkluZGV4Ek8KDnZhcmlhdGlvbl90eXBlGAggASgOMiguYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZS5WYXJpYXRpb25UeXBlUg12YXJpYXRpb25UeXBlIhcKFUFyY2hpdmVGZWF0dXJlQ29tbWFuZCIZChdVbmFyY2hpdmVGZWF0dXJlQ29tbWFuZCIWChREZWxldGVGZWF0dXJlQ29tbWFuZCIqChRSZW5hbWVGZWF0dXJlQ29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lIjwKGENoYW5nZURlc2NyaXB0aW9uQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24iuAEKKUNoYW5nZUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNTdGF0dXNDb21tYW5kEjkKBnN0YXR1cxgBIAEoDjIhLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnQuU3RhdHVzUgZzdGF0dXMSOgoFc3RhdGUYAiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSFAoFY291bnQYAyABKANSBWNvdW50IiEKDUFkZFRhZ0NvbW1hbmQSEAoDdGFnGAEgASgJUgN0YWciJAoQUmVtb3ZlVGFnQ29tbWFuZBIQCgN0YWcYASABKAlSA3RhZyIWChRFbmFibGVGZWF0dXJlQ29tbWFuZCIXChVEaXNhYmxlRmVhdHVyZUNvbW1hbmQiYQoTQWRkVmFyaWF0aW9uQ29tbWFuZBIUCgV2YWx1ZRgBIAEoCVIFdmFsdWUSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24iKAoWUmVtb3ZlVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQiQwobQ2hhbmdlVmFyaWF0aW9uVmFsdWVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUiQAoaQ2hhbmdlVmFyaWF0aW9uTmFtZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiVQohQ2hhbmdlVmFyaWF0aW9uRGVzY3JpcHRpb25Db21tYW5kEg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iKwoZQ2hhbmdlT2ZmVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQiPwoZQWRkVXNlclRvVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSEgoEdXNlchgCIAEoCVIEdXNlciJECh5SZW1vdmVVc2VyRnJvbVZhcmlhdGlvbkNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBHVzZXIYAiABKAlSBHVzZXIiVwocQ2hhbmdlRGVmYXVsdFN0cmF0ZWd5Q29tbWFuZBI3CghzdHJhdGVneRgBIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneSI9Cg5BZGRSdWxlQ29tbWFuZBIrCgRydWxlGAEgASgLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIEcnVsZSJ9ChlDaGFuZ2VSdWxlU3RyYXRlZ3lDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSNwoIc3RyYXRlZ3kYAyABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIIc3RyYXRlZ3kiNAoXQ2hhbmdlUnVsZXNPcmRlckNvbW1hbmQSGQoIcnVsZV9pZHMYAiADKAlSB3J1bGVJZHMiIwoRRGVsZXRlUnVsZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkIl4KEEFkZENsYXVzZUNvbW1hbmQSFwoHcnVsZV9pZBgBIAEoCVIGcnVsZUlkEjEKBmNsYXVzZRgCIAEoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZVIGY2xhdXNlIj4KE0RlbGV0ZUNsYXVzZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZCJlChxDaGFuZ2VDbGF1c2VBdHRyaWJ1dGVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSHAoJYXR0cmlidXRlGAMgASgJUglhdHRyaWJ1dGUihgEKG0NoYW5nZUNsYXVzZU9wZXJhdG9yQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEj4KCG9wZXJhdG9yGAMgASgOMiIuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvciJWChVBZGRDbGF1c2VWYWx1ZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIUCgV2YWx1ZRgDIAEoCVIFdmFsdWUiWQoYUmVtb3ZlQ2xhdXNlVmFsdWVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSFAoFdmFsdWUYAyABKAlSBXZhbHVlIoMBChpDaGFuZ2VGaXhlZFN0cmF0ZWd5Q29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEjwKCHN0cmF0ZWd5GAMgASgLMiAuYnVja2V0ZWVyLmZlYXR1cmUuRml4ZWRTdHJhdGVneVIIc3RyYXRlZ3kihwEKHENoYW5nZVJvbGxvdXRTdHJhdGVneUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBI+CghzdHJhdGVneRgDIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneVIIc3RyYXRlZ3kiTAoUQ3JlYXRlU2VnbWVudENvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iFgoURGVsZXRlU2VnbWVudENvbW1hbmQiLgoYQ2hhbmdlU2VnbWVudE5hbWVDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUiQwofQ2hhbmdlU2VnbWVudERlc2NyaXB0aW9uQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24ibgoVQWRkU2VnbWVudFVzZXJDb21tYW5kEhkKCHVzZXJfaWRzGAEgAygJUgd1c2VySWRzEjoKBXN0YXRlGAIgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlInEKGERlbGV0ZVNlZ21lbnRVc2VyQ29tbWFuZBIZCgh1c2VyX2lkcxgBIAMoCVIHdXNlcklkcxI6CgVzdGF0ZRgCIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZSJvCh1CdWxrVXBsb2FkU2VnbWVudFVzZXJzQ29tbWFuZBISCgRkYXRhGAEgASgMUgRkYXRhEjoKBXN0YXRlGAIgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlIiAKHkluY3JlbWVudEZlYXR1cmVWZXJzaW9uQ29tbWFuZCJCChNDbG9uZUZlYXR1cmVDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkSgQIARACIhoKGFJlc2V0U2FtcGxpbmdTZWVkQ29tbWFuZCJdChZBZGRQcmVyZXF1aXNpdGVDb21tYW5kEkMKDHByZXJlcXVpc2l0ZRgBIAEoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVIMcHJlcmVxdWlzaXRlIjoKGVJlbW92ZVByZXJlcXVpc2l0ZUNvbW1hbmQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkImkKIkNoYW5nZVByZXJlcXVpc2l0ZVZhcmlhdGlvbkNvbW1hbmQSQwoMcHJlcmVxdWlzaXRlGAEgASgLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUgxwcmVyZXF1aXNpdGUi0wEKGENyZWF0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSNwoEdHlwZRgCIAEoDjIjLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLlR5cGVSBHR5cGUSPQoGYWN0aW9uGAMgASgOMiUuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuQWN0aW9uUgZhY3Rpb24SIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uIhkKF1Jlc2V0RmxhZ1RyaWdnZXJDb21tYW5kIkcKI0NoYW5nZUZsYWdUcmlnZ2VyRGVzY3JpcHRpb25Db21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiIaChhFbmFibGVGbGFnVHJpZ2dlckNvbW1hbmQiGwoZRGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZCIaChhEZWxldGVGbGFnVHJpZ2dlckNvbW1hbmQiHwodVXBkYXRlRmxhZ1RyaWdnZXJVc2FnZUNvbW1hbmRCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwqeAgoacHJvdG8vZmVhdHVyZS9yZWFzb24ucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIrEBCgZSZWFzb24SMgoEdHlwZRgBIAEoDjIeLmJ1Y2tldGVlci5mZWF0dXJlLlJlYXNvbi5UeXBlUgR0eXBlEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZCJaCgRUeXBlEgoKBlRBUkdFVBAAEggKBFJVTEUQARILCgdERUZBVUxUEAMSCgoGQ0xJRU5UEAQSEQoNT0ZGX1ZBUklBVElPThAFEhAKDFBSRVJFUVVJU0lURRAGQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKmAYKHnByb3RvL2ZlYXR1cmUvZXZhbHVhdGlvbi5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhpwcm90by9mZWF0dXJlL3JlYXNvbi5wcm90byLjAgoKRXZhbHVhdGlvbhIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEicKD2ZlYXR1cmVfdmVyc2lvbhgDIAEoBVIOZmVhdHVyZVZlcnNpb24SFwoHdXNlcl9pZBgEIAEoCVIGdXNlcklkEiEKDHZhcmlhdGlvbl9pZBgFIAEoCVILdmFyaWF0aW9uSWQSPgoJdmFyaWF0aW9uGAYgASgLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uQgIYAVIJdmFyaWF0aW9uEjEKBnJlYXNvbhgHIAEoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLlJlYXNvblIGcmVhc29uEicKD3ZhcmlhdGlvbl92YWx1ZRgIIAEoCVIOdmFyaWF0aW9uVmFsdWUSJQoOdmFyaWF0aW9uX25hbWUYCSABKAlSDXZhcmlhdGlvbk5hbWUihgIKD1VzZXJFdmFsdWF0aW9ucxISCgJpZBgBIAEoCUICGAFSAmlkEj8KC2V2YWx1YXRpb25zGAIgAygLMh0uYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGlvblILZXZhbHVhdGlvbnMSHQoKY3JlYXRlZF9hdBgDIAEoA1IJY3JlYXRlZEF0EjAKFGFyY2hpdmVkX2ZlYXR1cmVfaWRzGAQgAygJUhJhcmNoaXZlZEZlYXR1cmVJZHMSIQoMZm9yY2VfdXBkYXRlGAUgASgIUgtmb3JjZVVwZGF0ZSIqCgVTdGF0ZRIKCgZRVUVVRUQQABILCgdQQVJUSUFMEAESCAoERlVMTBACQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKhwUKFWdvb2dsZS9hcGkvaHR0cC5wcm90bxIKZ29vZ2xlLmFwaSJ5CgRIdHRwEioKBXJ1bGVzGAEgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVIFcnVsZXMSRQofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCFIcZnVsbHlEZWNvZGVSZXNlcnZlZEV4cGFuc2lvbiK1AgoISHR0cFJ1bGUSGgoIc2VsZWN0b3IYASABKAlSCHNlbGVjdG9yEhIKA2dldBgCIAEoCUgAUgNnZXQSEgoDcHV0GAMgASgJSABSA3B1dBIUCgRwb3N0GAQgASgJSABSBHBvc3QSGAoGZGVsZXRlGAUgASgJSABSBmRlbGV0ZRIWCgVwYXRjaBgGIAEoCUgAUgVwYXRjaBI3CgZjdXN0b20YCCABKAsyHS5nb29nbGUuYXBpLkN1c3RvbUh0dHBQYXR0ZXJuSABSBmN1c3RvbRISCgRib2R5GAcgASgJUgRib2R5EkUKE2FkZGl0aW9uYWxfYmluZGluZ3MYCyADKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUhJhZGRpdGlvbmFsQmluZGluZ3NCCQoHcGF0dGVybiI7ChFDdXN0b21IdHRwUGF0dGVybhISCgRraW5kGAEgASgJUgRraW5kEhIKBHBhdGgYAiABKAlSBHBhdGhCagoOY29tLmdvb2dsZS5hcGlCCUh0dHBQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc/gBAaICBEdBUEliBnByb3RvMwrhRgogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiJNChFGaWxlRGVzY3JpcHRvclNldBI4CgRmaWxlGAEgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkZpbGVEZXNjcmlwdG9yUHJvdG9SBGZpbGUi/gQKE0ZpbGVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIYCgdwYWNrYWdlGAIgASgJUgdwYWNrYWdlEh4KCmRlcGVuZGVuY3kYAyADKAlSCmRlcGVuZGVuY3kSKwoRcHVibGljX2RlcGVuZGVuY3kYCiADKAVSEHB1YmxpY0RlcGVuZGVuY3kSJwoPd2Vha19kZXBlbmRlbmN5GAsgAygFUg53ZWFrRGVwZW5kZW5jeRJDCgxtZXNzYWdlX3R5cGUYBCADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvUgttZXNzYWdlVHlwZRJBCgllbnVtX3R5cGUYBSADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSQQoHc2VydmljZRgGIAMoCzInLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlRGVzY3JpcHRvclByb3RvUgdzZXJ2aWNlEkMKCWV4dGVuc2lvbhgHIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEjYKB29wdGlvbnMYCCABKAsyHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnNSB29wdGlvbnMSSQoQc291cmNlX2NvZGVfaW5mbxgJIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb2RlSW5mb1IOc291cmNlQ29kZUluZm8SFgoGc3ludGF4GAwgASgJUgZzeW50YXgSGAoHZWRpdGlvbhgNIAEoCVIHZWRpdGlvbiK5BgoPRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSOwoFZmllbGQYAiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SBWZpZWxkEkMKCWV4dGVuc2lvbhgGIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEkEKC25lc3RlZF90eXBlGAMgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1IKbmVzdGVkVHlwZRJBCgllbnVtX3R5cGUYBCADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSWAoPZXh0ZW5zaW9uX3JhbmdlGAUgAygLMi8uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5FeHRlbnNpb25SYW5nZVIOZXh0ZW5zaW9uUmFuZ2USRAoKb25lb2ZfZGVjbBgIIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5PbmVvZkRlc2NyaXB0b3JQcm90b1IJb25lb2ZEZWNsEjkKB29wdGlvbnMYByABKAsyHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnNSB29wdGlvbnMSVQoOcmVzZXJ2ZWRfcmFuZ2UYCSADKAsyLi5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLlJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgKIAMoCVIMcmVzZXJ2ZWROYW1lGnoKDkV4dGVuc2lvblJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZBJACgdvcHRpb25zGAMgASgLMiYuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9uc1IHb3B0aW9ucxo3Cg1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCKtBAoVRXh0ZW5zaW9uUmFuZ2VPcHRpb25zElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uElkKC2RlY2xhcmF0aW9uGAIgAygLMjIuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9ucy5EZWNsYXJhdGlvbkIDiAECUgtkZWNsYXJhdGlvbhJoCgx2ZXJpZmljYXRpb24YAyABKA4yOC5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zLlZlcmlmaWNhdGlvblN0YXRlOgpVTlZFUklGSUVEUgx2ZXJpZmljYXRpb24aswEKC0RlY2xhcmF0aW9uEhYKBm51bWJlchgBIAEoBVIGbnVtYmVyEhsKCWZ1bGxfbmFtZRgCIAEoCVIIZnVsbE5hbWUSEgoEdHlwZRgDIAEoCVIEdHlwZRIjCgtpc19yZXBlYXRlZBgEIAEoCEICGAFSCmlzUmVwZWF0ZWQSGgoIcmVzZXJ2ZWQYBSABKAhSCHJlc2VydmVkEhoKCHJlcGVhdGVkGAYgASgIUghyZXBlYXRlZCI0ChFWZXJpZmljYXRpb25TdGF0ZRIPCgtERUNMQVJBVElPThAAEg4KClVOVkVSSUZJRUQQASoJCOgHEICAgIACIsEGChRGaWVsZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgDIAEoBVIGbnVtYmVyEkEKBWxhYmVsGAQgASgOMisuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLkxhYmVsUgVsYWJlbBI+CgR0eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGVSBHR5cGUSGwoJdHlwZV9uYW1lGAYgASgJUgh0eXBlTmFtZRIaCghleHRlbmRlZRgCIAEoCVIIZXh0ZW5kZWUSIwoNZGVmYXVsdF92YWx1ZRgHIAEoCVIMZGVmYXVsdFZhbHVlEh8KC29uZW9mX2luZGV4GAkgASgFUgpvbmVvZkluZGV4EhsKCWpzb25fbmFtZRgKIAEoCVIIanNvbk5hbWUSNwoHb3B0aW9ucxgIIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnNSB29wdGlvbnMSJwoPcHJvdG8zX29wdGlvbmFsGBEgASgIUg5wcm90bzNPcHRpb25hbCK2AgoEVHlwZRIPCgtUWVBFX0RPVUJMRRABEg4KClRZUEVfRkxPQVQQAhIOCgpUWVBFX0lOVDY0EAMSDwoLVFlQRV9VSU5UNjQQBBIOCgpUWVBFX0lOVDMyEAUSEAoMVFlQRV9GSVhFRDY0EAYSEAoMVFlQRV9GSVhFRDMyEAcSDQoJVFlQRV9CT09MEAgSDwoLVFlQRV9TVFJJTkcQCRIOCgpUWVBFX0dST1VQEAoSEAoMVFlQRV9NRVNTQUdFEAsSDgoKVFlQRV9CWVRFUxAMEg8KC1RZUEVfVUlOVDMyEA0SDQoJVFlQRV9FTlVNEA4SEQoNVFlQRV9TRklYRUQzMhAPEhEKDVRZUEVfU0ZJWEVENjQQEBIPCgtUWVBFX1NJTlQzMhAREg8KC1RZUEVfU0lOVDY0EBIiQwoFTGFiZWwSEgoOTEFCRUxfT1BUSU9OQUwQARISCg5MQUJFTF9SRVFVSVJFRBACEhIKDkxBQkVMX1JFUEVBVEVEEAMiYwoUT25lb2ZEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI3CgdvcHRpb25zGAIgASgLMh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9uc1IHb3B0aW9ucyLjAgoTRW51bURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj8KBXZhbHVlGAIgAygLMikuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZURlc2NyaXB0b3JQcm90b1IFdmFsdWUSNgoHb3B0aW9ucxgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5FbnVtT3B0aW9uc1IHb3B0aW9ucxJdCg5yZXNlcnZlZF9yYW5nZRgEIAMoCzI2Lmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvLkVudW1SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYBSADKAlSDHJlc2VydmVkTmFtZRo7ChFFbnVtUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQigwEKGEVudW1WYWx1ZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgCIAEoBVIGbnVtYmVyEjsKB29wdGlvbnMYAyABKAsyIS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlT3B0aW9uc1IHb3B0aW9ucyKnAQoWU2VydmljZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj4KBm1ldGhvZBgCIAMoCzImLmdvb2dsZS5wcm90b2J1Zi5NZXRob2REZXNjcmlwdG9yUHJvdG9SBm1ldGhvZBI5CgdvcHRpb25zGAMgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zUgdvcHRpb25zIokCChVNZXRob2REZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIdCgppbnB1dF90eXBlGAIgASgJUglpbnB1dFR5cGUSHwoLb3V0cHV0X3R5cGUYAyABKAlSCm91dHB1dFR5cGUSOAoHb3B0aW9ucxgEIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zUgdvcHRpb25zEjAKEGNsaWVudF9zdHJlYW1pbmcYBSABKAg6BWZhbHNlUg9jbGllbnRTdHJlYW1pbmcSMAoQc2VydmVyX3N0cmVhbWluZxgGIAEoCDoFZmFsc2VSD3NlcnZlclN0cmVhbWluZyKRCQoLRmlsZU9wdGlvbnMSIQoMamF2YV9wYWNrYWdlGAEgASgJUgtqYXZhUGFja2FnZRIwChRqYXZhX291dGVyX2NsYXNzbmFtZRgIIAEoCVISamF2YU91dGVyQ2xhc3NuYW1lEjUKE2phdmFfbXVsdGlwbGVfZmlsZXMYCiABKAg6BWZhbHNlUhFqYXZhTXVsdGlwbGVGaWxlcxJECh1qYXZhX2dlbmVyYXRlX2VxdWFsc19hbmRfaGFzaBgUIAEoCEICGAFSGWphdmFHZW5lcmF0ZUVxdWFsc0FuZEhhc2gSOgoWamF2YV9zdHJpbmdfY2hlY2tfdXRmOBgbIAEoCDoFZmFsc2VSE2phdmFTdHJpbmdDaGVja1V0ZjgSUwoMb3B0aW1pemVfZm9yGAkgASgOMikuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zLk9wdGltaXplTW9kZToFU1BFRURSC29wdGltaXplRm9yEh0KCmdvX3BhY2thZ2UYCyABKAlSCWdvUGFja2FnZRI1ChNjY19nZW5lcmljX3NlcnZpY2VzGBAgASgIOgVmYWxzZVIRY2NHZW5lcmljU2VydmljZXMSOQoVamF2YV9nZW5lcmljX3NlcnZpY2VzGBEgASgIOgVmYWxzZVITamF2YUdlbmVyaWNTZXJ2aWNlcxI1ChNweV9nZW5lcmljX3NlcnZpY2VzGBIgASgIOgVmYWxzZVIRcHlHZW5lcmljU2VydmljZXMSNwoUcGhwX2dlbmVyaWNfc2VydmljZXMYKiABKAg6BWZhbHNlUhJwaHBHZW5lcmljU2VydmljZXMSJQoKZGVwcmVjYXRlZBgXIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSLgoQY2NfZW5hYmxlX2FyZW5hcxgfIAEoCDoEdHJ1ZVIOY2NFbmFibGVBcmVuYXMSKgoRb2JqY19jbGFzc19wcmVmaXgYJCABKAlSD29iamNDbGFzc1ByZWZpeBIpChBjc2hhcnBfbmFtZXNwYWNlGCUgASgJUg9jc2hhcnBOYW1lc3BhY2USIQoMc3dpZnRfcHJlZml4GCcgASgJUgtzd2lmdFByZWZpeBIoChBwaHBfY2xhc3NfcHJlZml4GCggASgJUg5waHBDbGFzc1ByZWZpeBIjCg1waHBfbmFtZXNwYWNlGCkgASgJUgxwaHBOYW1lc3BhY2USNAoWcGhwX21ldGFkYXRhX25hbWVzcGFjZRgsIAEoCVIUcGhwTWV0YWRhdGFOYW1lc3BhY2USIQoMcnVieV9wYWNrYWdlGC0gASgJUgtydWJ5UGFja2FnZRJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiI6CgxPcHRpbWl6ZU1vZGUSCQoFU1BFRUQQARINCglDT0RFX1NJWkUQAhIQCgxMSVRFX1JVTlRJTUUQAyoJCOgHEICAgIACSgQIJhAnIrsDCg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNzb3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50cnkSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYCyABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgEEAVKBAgFEAZKBAgGEAdKBAgIEAlKBAgJEAoihQkKDEZpZWxkT3B0aW9ucxJBCgVjdHlwZRgBIAEoDjIjLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuQ1R5cGU6BlNUUklOR1IFY3R5cGUSFgoGcGFja2VkGAIgASgIUgZwYWNrZWQSRwoGanN0eXBlGAYgASgOMiQuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5KU1R5cGU6CUpTX05PUk1BTFIGanN0eXBlEhkKBGxhenkYBSABKAg6BWZhbHNlUgRsYXp5Ei4KD3VudmVyaWZpZWRfbGF6eRgPIAEoCDoFZmFsc2VSDnVudmVyaWZpZWRMYXp5EiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhkKBHdlYWsYCiABKAg6BWZhbHNlUgR3ZWFrEigKDGRlYnVnX3JlZGFjdBgQIAEoCDoFZmFsc2VSC2RlYnVnUmVkYWN0EksKCXJldGVudGlvbhgRIAEoDjItLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uUmV0ZW50aW9uUglyZXRlbnRpb24SSgoGdGFyZ2V0GBIgASgOMi4uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25UYXJnZXRUeXBlQgIYAVIGdGFyZ2V0EkgKB3RhcmdldHMYEyADKA4yLi5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblRhcmdldFR5cGVSB3RhcmdldHMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iLwoFQ1R5cGUSCgoGU1RSSU5HEAASCAoEQ09SRBABEhAKDFNUUklOR19QSUVDRRACIjUKBkpTVHlwZRINCglKU19OT1JNQUwQABINCglKU19TVFJJTkcQARINCglKU19OVU1CRVIQAiJVCg9PcHRpb25SZXRlbnRpb24SFQoRUkVURU5USU9OX1VOS05PV04QABIVChFSRVRFTlRJT05fUlVOVElNRRABEhQKEFJFVEVOVElPTl9TT1VSQ0UQAiKMAgoQT3B0aW9uVGFyZ2V0VHlwZRIXChNUQVJHRVRfVFlQRV9VTktOT1dOEAASFAoQVEFSR0VUX1RZUEVfRklMRRABEh8KG1RBUkdFVF9UWVBFX0VYVEVOU0lPTl9SQU5HRRACEhcKE1RBUkdFVF9UWVBFX01FU1NBR0UQAxIVChFUQVJHRVRfVFlQRV9GSUVMRBAEEhUKEVRBUkdFVF9UWVBFX09ORU9GEAUSFAoQVEFSR0VUX1RZUEVfRU5VTRAGEhoKFlRBUkdFVF9UWVBFX0VOVU1fRU5UUlkQBxIXChNUQVJHRVRfVFlQRV9TRVJWSUNFEAgSFgoSVEFSR0VUX1RZUEVfTUVUSE9EEAkqCQjoBxCAgICAAkoECAQQBSJzCgxPbmVvZk9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKYAgoLRW51bU9wdGlvbnMSHwoLYWxsb3dfYWxpYXMYAiABKAhSCmFsbG93QWxpYXMSJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYBiABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgFEAYingEKEEVudW1WYWx1ZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBgBIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKcAQoOU2VydmljZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiLgAgoNTWV0aG9kT3B0aW9ucxIlCgpkZXByZWNhdGVkGCEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJxChFpZGVtcG90ZW5jeV9sZXZlbBgiIAEoDjIvLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zLklkZW1wb3RlbmN5TGV2ZWw6E0lERU1QT1RFTkNZX1VOS05PV05SEGlkZW1wb3RlbmN5TGV2ZWwSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iUAoQSWRlbXBvdGVuY3lMZXZlbBIXChNJREVNUE9URU5DWV9VTktOT1dOEAASEwoPTk9fU0lERV9FRkZFQ1RTEAESDgoKSURFTVBPVEVOVBACKgkI6AcQgICAgAIimgMKE1VuaW50ZXJwcmV0ZWRPcHRpb24SQQoEbmFtZRgCIAMoCzItLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uLk5hbWVQYXJ0UgRuYW1lEikKEGlkZW50aWZpZXJfdmFsdWUYAyABKAlSD2lkZW50aWZpZXJWYWx1ZRIsChJwb3NpdGl2ZV9pbnRfdmFsdWUYBCABKARSEHBvc2l0aXZlSW50VmFsdWUSLAoSbmVnYXRpdmVfaW50X3ZhbHVlGAUgASgDUhBuZWdhdGl2ZUludFZhbHVlEiEKDGRvdWJsZV92YWx1ZRgGIAEoAVILZG91YmxlVmFsdWUSIQoMc3RyaW5nX3ZhbHVlGAcgASgMUgtzdHJpbmdWYWx1ZRInCg9hZ2dyZWdhdGVfdmFsdWUYCCABKAlSDmFnZ3JlZ2F0ZVZhbHVlGkoKCE5hbWVQYXJ0EhsKCW5hbWVfcGFydBgBIAIoCVIIbmFtZVBhcnQSIQoMaXNfZXh0ZW5zaW9uGAIgAigIUgtpc0V4dGVuc2lvbiKnAgoOU291cmNlQ29kZUluZm8SRAoIbG9jYXRpb24YASADKAsyKC5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm8uTG9jYXRpb25SCGxvY2F0aW9uGs4BCghMb2NhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIWCgRzcGFuGAIgAygFQgIQAVIEc3BhbhIpChBsZWFkaW5nX2NvbW1lbnRzGAMgASgJUg9sZWFkaW5nQ29tbWVudHMSKwoRdHJhaWxpbmdfY29tbWVudHMYBCABKAlSEHRyYWlsaW5nQ29tbWVudHMSOgoZbGVhZGluZ19kZXRhY2hlZF9jb21tZW50cxgGIAMoCVIXbGVhZGluZ0RldGFjaGVkQ29tbWVudHMi0AIKEUdlbmVyYXRlZENvZGVJbmZvEk0KCmFubm90YXRpb24YASADKAsyLS5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvblIKYW5ub3RhdGlvbhrrAQoKQW5ub3RhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIfCgtzb3VyY2VfZmlsZRgCIAEoCVIKc291cmNlRmlsZRIUCgViZWdpbhgDIAEoBVIFYmVnaW4SEAoDZW5kGAQgASgFUgNlbmQSUgoIc2VtYW50aWMYBSABKA4yNi5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvbi5TZW1hbnRpY1IIc2VtYW50aWMiKAoIU2VtYW50aWMSCAoETk9ORRAAEgcKA1NFVBABEgkKBUFMSUFTEAJCfgoTY29tLmdvb2dsZS5wcm90b2J1ZkIQRGVzY3JpcHRvclByb3Rvc0gBWi1nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9kZXNjcmlwdG9ycGL4AQGiAgNHUEKqAhpHb29nbGUuUHJvdG9idWYuUmVmbGVjdGlvbgqoAgocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxIKZ29vZ2xlLmFwaRoVZ29vZ2xlL2FwaS9odHRwLnByb3RvGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bzpLCgRodHRwEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYsMq8IiABKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUgRodHRwQm4KDmNvbS5nb29nbGUuYXBpQhBBbm5vdGF0aW9uc1Byb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8zCugDCh9nb29nbGUvYXBpL2ZpZWxkX2JlaGF2aW9yLnByb3RvEgpnb29nbGUuYXBpGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90byq2AQoNRmllbGRCZWhhdmlvchIeChpGSUVMRF9CRUhBVklPUl9VTlNQRUNJRklFRBAAEgwKCE9QVElPTkFMEAESDAoIUkVRVUlSRUQQAhIPCgtPVVRQVVRfT05MWRADEg4KCklOUFVUX09OTFkQBBINCglJTU1VVEFCTEUQBRISCg5VTk9SREVSRURfTElTVBAGEhUKEU5PTl9FTVBUWV9ERUZBVUxUEAcSDgoKSURFTlRJRklFUhAIOmQKDmZpZWxkX2JlaGF2aW9yEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxicCCADKA4yGS5nb29nbGUuYXBpLkZpZWxkQmVoYXZpb3JCAhAAUg1maWVsZEJlaGF2aW9yQnAKDmNvbS5nb29nbGUuYXBpQhJGaWVsZEJlaGF2aW9yUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzMK4gUKHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiKYAQoGU3RydWN0EjsKBmZpZWxkcxgBIAMoCzIjLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QuRmllbGRzRW50cnlSBmZpZWxkcxpRCgtGaWVsZHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIrICCgVWYWx1ZRI7CgpudWxsX3ZhbHVlGAEgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZUgAUgludWxsVmFsdWUSIwoMbnVtYmVyX3ZhbHVlGAIgASgBSABSC251bWJlclZhbHVlEiMKDHN0cmluZ192YWx1ZRgDIAEoCUgAUgtzdHJpbmdWYWx1ZRIfCgpib29sX3ZhbHVlGAQgASgISABSCWJvb2xWYWx1ZRI8CgxzdHJ1Y3RfdmFsdWUYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SABSC3N0cnVjdFZhbHVlEjsKCmxpc3RfdmFsdWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuTGlzdFZhbHVlSABSCWxpc3RWYWx1ZUIGCgRraW5kIjsKCUxpc3RWYWx1ZRIuCgZ2YWx1ZXMYASADKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBnZhbHVlcyobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKpj4KLHByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvb3BlbmFwaXYyLnByb3RvEilncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucxocZ29vZ2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90byKzCAoHU3dhZ2dlchIYCgdzd2FnZ2VyGAEgASgJUgdzd2FnZ2VyEkMKBGluZm8YAiABKAsyLy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5JbmZvUgRpbmZvEhIKBGhvc3QYAyABKAlSBGhvc3QSGwoJYmFzZV9wYXRoGAQgASgJUghiYXNlUGF0aBJLCgdzY2hlbWVzGAUgAygOMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1lUgdzY2hlbWVzEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSXwoJcmVzcG9uc2VzGAogAygLMkEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlci5SZXNwb25zZXNFbnRyeVIJcmVzcG9uc2VzEnEKFHNlY3VyaXR5X2RlZmluaXRpb25zGAsgASgLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlEZWZpbml0aW9uc1ITc2VjdXJpdHlEZWZpbml0aW9ucxJaCghzZWN1cml0eRgMIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnRSCHNlY3VyaXR5EkIKBHRhZ3MYDSADKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSBHRhZ3MSZQoNZXh0ZXJuYWxfZG9jcxgOIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEmIKCmV4dGVuc2lvbnMYDyADKAsyQi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Td2FnZ2VyLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpxCg5SZXNwb25zZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJJCgV2YWx1ZRgCIAEoCzIzLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAFKBAgIEAlKBAgJEAoi1gcKCU9wZXJhdGlvbhISCgR0YWdzGAEgAygJUgR0YWdzEhgKB3N1bW1hcnkYAiABKAlSB3N1bW1hcnkSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEmUKDWV4dGVybmFsX2RvY3MYBCABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIhCgxvcGVyYXRpb25faWQYBSABKAlSC29wZXJhdGlvbklkEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSYQoJcmVzcG9uc2VzGAkgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuT3BlcmF0aW9uLlJlc3BvbnNlc0VudHJ5UglyZXNwb25zZXMSSwoHc2NoZW1lcxgKIAMoDjIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtZVIHc2NoZW1lcxIeCgpkZXByZWNhdGVkGAsgASgIUgpkZXByZWNhdGVkEloKCHNlY3VyaXR5GAwgAygLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudFIIc2VjdXJpdHkSZAoKZXh0ZW5zaW9ucxgNIAMoCzJELmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvbi5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMSVQoKcGFyYW1ldGVycxgOIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlBhcmFtZXRlcnNSCnBhcmFtZXRlcnMacQoOUmVzcG9uc2VzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBSgQICBAJImIKClBhcmFtZXRlcnMSVAoHaGVhZGVycxgBIAMoCzI6LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclBhcmFtZXRlclIHaGVhZGVycyKjAgoPSGVhZGVyUGFyYW1ldGVyEhIKBG5hbWUYASABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uElMKBHR5cGUYAyABKA4yPy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJQYXJhbWV0ZXIuVHlwZVIEdHlwZRIWCgZmb3JtYXQYBCABKAlSBmZvcm1hdBIaCghyZXF1aXJlZBgFIAEoCFIIcmVxdWlyZWQiRQoEVHlwZRILCgdVTktOT1dOEAASCgoGU1RSSU5HEAESCgoGTlVNQkVSEAISCwoHSU5URUdFUhADEgsKB0JPT0xFQU4QBEoECAYQB0oECAcQCCLYAQoGSGVhZGVyEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhISCgR0eXBlGAIgASgJUgR0eXBlEhYKBmZvcm1hdBgDIAEoCVIGZm9ybWF0EhgKB2RlZmF1bHQYBiABKAlSB2RlZmF1bHQSGAoHcGF0dGVybhgNIAEoCVIHcGF0dGVybkoECAQQBUoECAUQBkoECAcQCEoECAgQCUoECAkQCkoECAoQC0oECAsQDEoECAwQDUoECA4QD0oECA8QEEoECBAQEUoECBEQEkoECBIQEyKaBQoIUmVzcG9uc2USIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEkkKBnNjaGVtYRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtYVIGc2NoZW1hEloKB2hlYWRlcnMYAyADKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5IZWFkZXJzRW50cnlSB2hlYWRlcnMSXQoIZXhhbXBsZXMYBCADKAsyQS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5FeGFtcGxlc0VudHJ5UghleGFtcGxlcxJjCgpleHRlbnNpb25zGAUgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGm0KDEhlYWRlcnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJHCgV2YWx1ZRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclIFdmFsdWU6AjgBGjsKDUV4YW1wbGVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASLWAwoESW5mbxIUCgV0aXRsZRgBIAEoCVIFdGl0bGUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEigKEHRlcm1zX29mX3NlcnZpY2UYAyABKAlSDnRlcm1zT2ZTZXJ2aWNlEkwKB2NvbnRhY3QYBCABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Db250YWN0Ugdjb250YWN0EkwKB2xpY2Vuc2UYBSABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5MaWNlbnNlUgdsaWNlbnNlEhgKB3ZlcnNpb24YBiABKAlSB3ZlcnNpb24SXwoKZXh0ZW5zaW9ucxgHIAMoCzI/LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkluZm8uRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIkUKB0NvbnRhY3QSEgoEbmFtZRgBIAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybBIUCgVlbWFpbBgDIAEoCVIFZW1haWwiLwoHTGljZW5zZRISCgRuYW1lGAEgASgJUgRuYW1lEhAKA3VybBgCIAEoCVIDdXJsIksKFUV4dGVybmFsRG9jdW1lbnRhdGlvbhIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SEAoDdXJsGAIgASgJUgN1cmwiqgIKBlNjaGVtYRJWCgtqc29uX3NjaGVtYRgBIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSCmpzb25TY2hlbWESJAoNZGlzY3JpbWluYXRvchgCIAEoCVINZGlzY3JpbWluYXRvchIbCglyZWFkX29ubHkYAyABKAhSCHJlYWRPbmx5EmUKDWV4dGVybmFsX2RvY3MYBSABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIYCgdleGFtcGxlGAYgASgJUgdleGFtcGxlSgQIBBAFItcKCgpKU09OU2NoZW1hEhAKA3JlZhgDIAEoCVIDcmVmEhQKBXRpdGxlGAUgASgJUgV0aXRsZRIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SGAoHZGVmYXVsdBgHIAEoCVIHZGVmYXVsdBIbCglyZWFkX29ubHkYCCABKAhSCHJlYWRPbmx5EhgKB2V4YW1wbGUYCSABKAlSB2V4YW1wbGUSHwoLbXVsdGlwbGVfb2YYCiABKAFSCm11bHRpcGxlT2YSGAoHbWF4aW11bRgLIAEoAVIHbWF4aW11bRIrChFleGNsdXNpdmVfbWF4aW11bRgMIAEoCFIQZXhjbHVzaXZlTWF4aW11bRIYCgdtaW5pbXVtGA0gASgBUgdtaW5pbXVtEisKEWV4Y2x1c2l2ZV9taW5pbXVtGA4gASgIUhBleGNsdXNpdmVNaW5pbXVtEh0KCm1heF9sZW5ndGgYDyABKARSCW1heExlbmd0aBIdCgptaW5fbGVuZ3RoGBAgASgEUgltaW5MZW5ndGgSGAoHcGF0dGVybhgRIAEoCVIHcGF0dGVybhIbCgltYXhfaXRlbXMYFCABKARSCG1heEl0ZW1zEhsKCW1pbl9pdGVtcxgVIAEoBFIIbWluSXRlbXMSIQoMdW5pcXVlX2l0ZW1zGBYgASgIUgt1bmlxdWVJdGVtcxIlCg5tYXhfcHJvcGVydGllcxgYIAEoBFINbWF4UHJvcGVydGllcxIlCg5taW5fcHJvcGVydGllcxgZIAEoBFINbWluUHJvcGVydGllcxIaCghyZXF1aXJlZBgaIAMoCVIIcmVxdWlyZWQSFAoFYXJyYXkYIiADKAlSBWFycmF5El8KBHR5cGUYIyADKA4ySy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hLkpTT05TY2hlbWFTaW1wbGVUeXBlc1IEdHlwZRIWCgZmb3JtYXQYJCABKAlSBmZvcm1hdBISCgRlbnVtGC4gAygJUgRlbnVtEnoKE2ZpZWxkX2NvbmZpZ3VyYXRpb24Y6QcgASgLMkguZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5GaWVsZENvbmZpZ3VyYXRpb25SEmZpZWxkQ29uZmlndXJhdGlvbhJlCgpleHRlbnNpb25zGDAgAygLMkUuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaPAoSRmllbGRDb25maWd1cmF0aW9uEiYKD3BhdGhfcGFyYW1fbmFtZRgvIAEoCVINcGF0aFBhcmFtTmFtZRpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJ3ChVKU09OU2NoZW1hU2ltcGxlVHlwZXMSCwoHVU5LTk9XThAAEgkKBUFSUkFZEAESCwoHQk9PTEVBThACEgsKB0lOVEVHRVIQAxIICgROVUxMEAQSCgoGTlVNQkVSEAUSCgoGT0JKRUNUEAYSCgoGU1RSSU5HEAdKBAgBEAJKBAgCEANKBAgEEAVKBAgSEBNKBAgTEBRKBAgXEBhKBAgbEBxKBAgcEB1KBAgdEB5KBAgeECJKBAglECpKBAgqECtKBAgrEC4i2QIKA1RhZxISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhJlCg1leHRlcm5hbF9kb2NzGAMgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSXgoKZXh0ZW5zaW9ucxgEIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlRhZy5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEi9wEKE1NlY3VyaXR5RGVmaW5pdGlvbnMSaAoIc2VjdXJpdHkYASADKAsyTC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eURlZmluaXRpb25zLlNlY3VyaXR5RW50cnlSCHNlY3VyaXR5GnYKDVNlY3VyaXR5RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSTwoFdmFsdWUYAiABKAsyOS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZVIFdmFsdWU6AjgBIv8GCg5TZWN1cml0eVNjaGVtZRJSCgR0eXBlGAEgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuVHlwZVIEdHlwZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SEgoEbmFtZRgDIAEoCVIEbmFtZRJMCgJpbhgEIAEoDjI8LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkluUgJpbhJSCgRmbG93GAUgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuRmxvd1IEZmxvdxIrChFhdXRob3JpemF0aW9uX3VybBgGIAEoCVIQYXV0aG9yaXphdGlvblVybBIbCgl0b2tlbl91cmwYByABKAlSCHRva2VuVXJsEkkKBnNjb3BlcxgIIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjb3Blc1IGc2NvcGVzEmkKCmV4dGVuc2lvbnMYCSADKAsySS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEiSwoEVHlwZRIQCgxUWVBFX0lOVkFMSUQQABIOCgpUWVBFX0JBU0lDEAESEAoMVFlQRV9BUElfS0VZEAISDwoLVFlQRV9PQVVUSDIQAyIxCgJJbhIOCgpJTl9JTlZBTElEEAASDAoISU5fUVVFUlkQARINCglJTl9IRUFERVIQAiJqCgRGbG93EhAKDEZMT1dfSU5WQUxJRBAAEhEKDUZMT1dfSU1QTElDSVQQARIRCg1GTE9XX1BBU1NXT1JEEAISFAoQRkxPV19BUFBMSUNBVElPThADEhQKEEZMT1dfQUNDRVNTX0NPREUQBCL2AgoTU2VjdXJpdHlSZXF1aXJlbWVudBKKAQoUc2VjdXJpdHlfcmVxdWlyZW1lbnQYASADKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRFbnRyeVITc2VjdXJpdHlSZXF1aXJlbWVudBowChhTZWN1cml0eVJlcXVpcmVtZW50VmFsdWUSFAoFc2NvcGUYASADKAlSBXNjb3BlGp8BChhTZWN1cml0eVJlcXVpcmVtZW50RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSbQoFdmFsdWUYAiABKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRWYWx1ZVIFdmFsdWU6AjgBIpYBCgZTY29wZXMSUgoFc2NvcGUYASADKAsyPC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY29wZXMuU2NvcGVFbnRyeVIFc2NvcGUaOAoKU2NvcGVFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBKjsKBlNjaGVtZRILCgdVTktOT1dOEAASCAoESFRUUBABEgkKBUhUVFBTEAISBgoCV1MQAxIHCgNXU1MQBEJIWkZnaXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS92Mi9wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zYgZwcm90bzMK/QYKLnByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvYW5ub3RhdGlvbnMucHJvdG8SKWdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxoscHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9vcGVuYXBpdjIucHJvdG86fgoRb3BlbmFwaXYyX3N3YWdnZXISHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYkgggASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlclIQb3BlbmFwaXYyU3dhZ2dlcjqGAQoTb3BlbmFwaXYyX29wZXJhdGlvbhIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGJIIIAEoCzI0LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvblISb3BlbmFwaXYyT3BlcmF0aW9uOn4KEG9wZW5hcGl2Ml9zY2hlbWESHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYkgggASgLMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1hUg9vcGVuYXBpdjJTY2hlbWE6dQoNb3BlbmFwaXYyX3RhZxIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9ucxiSCCABKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSDG9wZW5hcGl2MlRhZzp+Cg9vcGVuYXBpdjJfZmllbGQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGJIIIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSDm9wZW5hcGl2MkZpZWxkQkhaRmdpdGh1Yi5jb20vZ3JwYy1lY29zeXN0ZW0vZ3JwYy1nYXRld2F5L3YyL3Byb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnNiBnByb3RvMwrABAoVcHJvdG8vdXNlci91c2VyLnByb3RvEg5idWNrZXRlZXIudXNlciLeAwoEVXNlchIOCgJpZBgBIAEoCVICaWQSMgoEZGF0YRgCIAMoCzIeLmJ1Y2tldGVlci51c2VyLlVzZXIuRGF0YUVudHJ5UgRkYXRhEkUKC3RhZ2dlZF9kYXRhGAMgAygLMiQuYnVja2V0ZWVyLnVzZXIuVXNlci5UYWdnZWREYXRhRW50cnlSCnRhZ2dlZERhdGESGwoJbGFzdF9zZWVuGAQgASgDUghsYXN0U2VlbhIdCgpjcmVhdGVkX2F0GAUgASgDUgljcmVhdGVkQXQafAoERGF0YRI6CgV2YWx1ZRgBIAMoCzIkLmJ1Y2tldGVlci51c2VyLlVzZXIuRGF0YS5WYWx1ZUVudHJ5UgV2YWx1ZRo4CgpWYWx1ZUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaNwoJRGF0YUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaWAoPVGFnZ2VkRGF0YUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Ei8KBXZhbHVlGAIgASgLMhkuYnVja2V0ZWVyLnVzZXIuVXNlci5EYXRhUgV2YWx1ZToCOAFCLlosZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL3VzZXJiBnByb3RvMwq+lgEKG3Byb3RvL2ZlYXR1cmUvc2VydmljZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8aH2dvb2dsZS9hcGkvZmllbGRfYmVoYXZpb3IucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxoucHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90bxobcHJvdG8vZmVhdHVyZS9jb21tYW5kLnByb3RvGhtwcm90by9mZWF0dXJlL2ZlYXR1cmUucHJvdG8aHnByb3RvL2ZlYXR1cmUvZXZhbHVhdGlvbi5wcm90bxoVcHJvdG8vdXNlci91c2VyLnByb3RvGhtwcm90by9mZWF0dXJlL3NlZ21lbnQucHJvdG8aIHByb3RvL2ZlYXR1cmUvZmxhZ190cmlnZ2VyLnByb3RvGh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxogcHJvdG8vZmVhdHVyZS9wcmVyZXF1aXNpdGUucHJvdG8aGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8iUAoRR2V0RmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIkoKEkdldEZlYXR1cmVSZXNwb25zZRI0CgdmZWF0dXJlGAEgASgLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIHZmVhdHVyZSJTChJHZXRGZWF0dXJlc1JlcXVlc3QSEAoDaWRzGAIgAygJUgNpZHMSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgBEAIiTQoTR2V0RmVhdHVyZXNSZXNwb25zZRI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzIvUFChNMaXN0RmVhdHVyZXNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISEgoEdGFncxgDIAMoCVIEdGFncxJJCghvcmRlcl9ieRgEIAEoDjIuLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJeCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNS5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmVhdHVyZXNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIeCgptYWludGFpbmVyGAcgASgJUgptYWludGFpbmVyEjQKB2VuYWJsZWQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUgdlbmFibGVkEkEKDmhhc19leHBlcmltZW50GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVINaGFzRXhwZXJpbWVudBIlCg5zZWFyY2hfa2V5d29yZBgKIAEoCVINc2VhcmNoS2V5d29yZBI2CghhcmNoaXZlZBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGFyY2hpdmVkEkcKEWhhc19wcmVyZXF1aXNpdGVzGAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIQaGFzUHJlcmVxdWlzaXRlcxIlCg5lbnZpcm9ubWVudF9pZBgNIAEoCVINZW52aXJvbm1lbnRJZCJXCgdPcmRlckJ5EgsKB0RFRkFVTFQQABIICgROQU1FEAESDgoKQ1JFQVRFRF9BVBACEg4KClVQREFURURfQVQQAxIICgRUQUdTEAQSCwoHRU5BQkxFRBAFIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAYQByKHAQoUTGlzdEZlYXR1cmVzUmVzcG9uc2USNgoIZmVhdHVyZXMYASADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUghmZWF0dXJlcxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKSAQoaTGlzdEVuYWJsZWRGZWF0dXJlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchISCgR0YWdzGAMgAygJUgR0YWdzEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIBBAFIm0KG0xpc3RFbmFibGVkRmVhdHVyZXNSZXNwb25zZRI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yIoYBChRDcmVhdGVGZWF0dXJlUmVxdWVzdBJBCgdjb21tYW5kGAEgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiTQoVQ3JlYXRlRmVhdHVyZVJlc3BvbnNlEjQKB2ZlYXR1cmUYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUgdmZWF0dXJlIs8FChRVcGRhdGVGZWF0dXJlUmVxdWVzdBIYCgdjb21tZW50GAEgASgJUgdjb21tZW50EiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkEg4KAmlkGAMgASgJUgJpZBIwCgRuYW1lGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbhISCgR0YWdzGAYgAygJUgR0YWdzEjQKB2VuYWJsZWQYByABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUgdlbmFibGVkEjYKCGFyY2hpdmVkGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIYXJjaGl2ZWQSPAoKdmFyaWF0aW9ucxgJIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxJFCg1wcmVyZXF1aXNpdGVzGAogAygLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUg1wcmVyZXF1aXNpdGVzEjMKB3RhcmdldHMYCyADKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5UYXJnZXRSB3RhcmdldHMSLQoFcnVsZXMYDCADKAsyFy5idWNrZXRlZXIuZmVhdHVyZS5SdWxlUgVydWxlcxJGChBkZWZhdWx0X3N0cmF0ZWd5GA0gASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSD2RlZmF1bHRTdHJhdGVneRJBCg1vZmZfdmFyaWF0aW9uGA4gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgxvZmZWYXJpYXRpb24iTQoVVXBkYXRlRmVhdHVyZVJlc3BvbnNlEjQKB2ZlYXR1cmUYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUgdmZWF0dXJlIrABChRFbmFibGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQQoHY29tbWFuZBgCIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRW5hYmxlRmVhdHVyZVJlc3BvbnNlIrIBChVEaXNhYmxlRmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkIKB2NvbW1hbmQYAiABKAsyKC5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZEaXNhYmxlRmVhdHVyZVJlc3BvbnNlIrIBChVBcmNoaXZlRmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkIKB2NvbW1hbmQYAiABKAsyKC5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZBcmNoaXZlRmVhdHVyZVJlc3BvbnNlIrYBChdVbmFyY2hpdmVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSRAoHY29tbWFuZBgCIAEoCzIqLmJ1Y2tldGVlci5mZWF0dXJlLlVuYXJjaGl2ZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGgoYVW5hcmNoaXZlRmVhdHVyZVJlc3BvbnNlIrABChREZWxldGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQQoHY29tbWFuZBgCIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRGVsZXRlRmVhdHVyZVJlc3BvbnNlIt8DChtVcGRhdGVGZWF0dXJlRGV0YWlsc1JlcXVlc3QSDgoCaWQYASABKAlSAmlkEl0KFnJlbmFtZV9mZWF0dXJlX2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5SZW5hbWVGZWF0dXJlQ29tbWFuZFIUcmVuYW1lRmVhdHVyZUNvbW1hbmQSaQoaY2hhbmdlX2Rlc2NyaXB0aW9uX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5DaGFuZ2VEZXNjcmlwdGlvbkNvbW1hbmRSGGNoYW5nZURlc2NyaXB0aW9uQ29tbWFuZBJKChBhZGRfdGFnX2NvbW1hbmRzGAQgAygLMiAuYnVja2V0ZWVyLmZlYXR1cmUuQWRkVGFnQ29tbWFuZFIOYWRkVGFnQ29tbWFuZHMSUwoTcmVtb3ZlX3RhZ19jb21tYW5kcxgFIAMoCzIjLmJ1Y2tldGVlci5mZWF0dXJlLlJlbW92ZVRhZ0NvbW1hbmRSEXJlbW92ZVRhZ0NvbW1hbmRzEhgKB2NvbW1lbnQYByABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYCCABKAlSDWVudmlyb25tZW50SWRKBAgGEAciHgocVXBkYXRlRmVhdHVyZURldGFpbHNSZXNwb25zZSKvAQoeVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBI2Cghjb21tYW5kcxgCIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkNvbW1hbmRSCGNvbW1hbmRzEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiIQofVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXNwb25zZSKhAgodVXBkYXRlRmVhdHVyZVRhcmdldGluZ1JlcXVlc3QSDgoCaWQYASABKAlSAmlkEjYKCGNvbW1hbmRzGAIgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuQ29tbWFuZFIIY29tbWFuZHMSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBJJCgRmcm9tGAUgASgOMjUuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVRhcmdldGluZ1JlcXVlc3QuRnJvbVIEZnJvbRIlCg5lbnZpcm9ubWVudF9pZBgGIAEoCVINZW52aXJvbm1lbnRJZCImCgRGcm9tEgsKB1VOS05PV04QABIICgRVU0VSEAESBwoDT1BTEAJKBAgDEAQiIAoeVXBkYXRlRmVhdHVyZVRhcmdldGluZ1Jlc3BvbnNlIpQBChNDbG9uZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJACgdjb21tYW5kGAIgASgLMiYuYnVja2V0ZWVyLmZlYXR1cmUuQ2xvbmVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIWChRDbG9uZUZlYXR1cmVSZXNwb25zZSLZAQoUQ3JlYXRlU2VnbWVudFJlcXVlc3QSVAoHY29tbWFuZBgBIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZVNlZ21lbnRDb21tYW5kQhEYAZJBDDIKZGVwcmVjYXRlZFIHY29tbWFuZBIXCgRuYW1lGAMgASgJQgPgQQJSBG5hbWUSKgoOZW52aXJvbm1lbnRfaWQYBCABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIgCgtkZXNjcmlwdGlvbhgFIAEoCVILZGVzY3JpcHRpb25KBAgCEAMiTQoVQ3JlYXRlU2VnbWVudFJlc3BvbnNlEjQKB3NlZ21lbnQYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UgdzZWdtZW50IloKEUdldFNlZ21lbnRSZXF1ZXN0EhMKAmlkGAEgASgJQgPgQQJSAmlkEioKDmVudmlyb25tZW50X2lkGAMgASgJQgPgQQJSDWVudmlyb25tZW50SWRKBAgCEAMiSgoSR2V0U2VnbWVudFJlc3BvbnNlEjQKB3NlZ21lbnQYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UgdzZWdtZW50Iq8EChNMaXN0U2VnbWVudHNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISSQoIb3JkZXJfYnkYBCABKA4yLi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudHNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSXgoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjUuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFNlZ21lbnRzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBiABKAlSDXNlYXJjaEtleXdvcmQSMwoGc3RhdHVzGAcgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSBnN0YXR1cxJDChBpc19pbl91c2Vfc3RhdHVzGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVINaXNJblVzZVN0YXR1cxIqCg5lbnZpcm9ubWVudF9pZBgJIAEoCUID4EECUg1lbnZpcm9ubWVudElkIkAKB09yZGVyQnkSCwoHREVGQVVMVBAAEggKBE5BTUUQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAMQBCKHAQoUTGlzdFNlZ21lbnRzUmVzcG9uc2USNgoIc2VnbWVudHMYASADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UghzZWdtZW50cxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKpAQoURGVsZXRlU2VnbWVudFJlcXVlc3QSDgoCaWQYASABKAlSAmlkElQKB2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50Q29tbWFuZEIRGAGSQQwyCmRlcHJlY2F0ZWRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRGVsZXRlU2VnbWVudFJlc3BvbnNlIpUCChRVcGRhdGVTZWdtZW50UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSSQoIY29tbWFuZHMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5Db21tYW5kQhEYAZJBDDIKZGVwcmVjYXRlZFIIY29tbWFuZHMSKgoOZW52aXJvbm1lbnRfaWQYBCABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIwCgRuYW1lGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAYgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbkoECAMQBCJNChVVcGRhdGVTZWdtZW50UmVzcG9uc2USNAoHc2VnbWVudBgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRSB3NlZ21lbnQimAEKFUFkZFNlZ21lbnRVc2VyUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQgoHY29tbWFuZBgCIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLkFkZFNlZ21lbnRVc2VyQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZBZGRTZWdtZW50VXNlclJlc3BvbnNlIp4BChhEZWxldGVTZWdtZW50VXNlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkUKB2NvbW1hbmQYAiABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlckNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGwoZRGVsZXRlU2VnbWVudFVzZXJSZXNwb25zZSK4AQoVR2V0U2VnbWVudFVzZXJSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgd1c2VyX2lkGAIgASgJUgZ1c2VySWQSOgoFc3RhdGUYAyABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgEEAUiTAoWR2V0U2VnbWVudFVzZXJSZXNwb25zZRIyCgR1c2VyGAEgASgLMh4uYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXJSBHVzZXIi5gEKF0xpc3RTZWdtZW50VXNlcnNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHQoKc2VnbWVudF9pZBgDIAEoCVIJc2VnbWVudElkEjEKBXN0YXRlGAQgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSBXN0YXRlEhcKB3VzZXJfaWQYBSABKAlSBnVzZXJJZBIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZEoECAYQByJoChhMaXN0U2VnbWVudFVzZXJzUmVzcG9uc2USNAoFdXNlcnMYASADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3Ii0AIKHUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYAiABKAlSCXNlZ21lbnRJZBJdCgdjb21tYW5kGAMgASgLMjAuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc0NvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkEkgKBGRhdGEYBSABKAxCNJJBMTIvc2VnbWVudCB1c2VyIGlkcyBzZXBhcmF0ZWQgYnkgY29tbWEgb3IgbmV3IGxpbmVSBGRhdGESOgoFc3RhdGUYBiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGVKBAgBEAIiIAoeQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIqkBCh9CdWxrRG93bmxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYAiABKAlSCXNlZ21lbnRJZBI6CgVzdGF0ZRgDIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiI2CiBCdWxrRG93bmxvYWRTZWdtZW50VXNlcnNSZXNwb25zZRISCgRkYXRhGAEgASgMUgRkYXRhIqEBChdFdmFsdWF0ZUZlYXR1cmVzUmVxdWVzdBIoCgR1c2VyGAEgASgLMhQuYnVja2V0ZWVyLnVzZXIuVXNlclIEdXNlchIQCgN0YWcYAyABKAlSA3RhZxIdCgpmZWF0dXJlX2lkGAQgASgJUglmZWF0dXJlSWQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiaQoYRXZhbHVhdGVGZWF0dXJlc1Jlc3BvbnNlEk0KEHVzZXJfZXZhbHVhdGlvbnMYASABKAsyIi5idWNrZXRlZXIuZmVhdHVyZS5Vc2VyRXZhbHVhdGlvbnNSD3VzZXJFdmFsdWF0aW9ucyKsAwoPTGlzdFRhZ3NSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgCIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAMgASgJUgZjdXJzb3ISRQoIb3JkZXJfYnkYBCABKA4yKi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0VGFnc1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJaCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yMS5idWNrZXRlZXIuZmVhdHVyZS5MaXN0VGFnc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAYgASgJUg1zZWFyY2hLZXl3b3JkEiUKDmVudmlyb25tZW50X2lkGAcgASgJUg1lbnZpcm9ubWVudElkIkgKB09yZGVyQnkSCwoHREVGQVVMVBAAEgYKAklEEAESDgoKQ1JFQVRFRF9BVBACEg4KClVQREFURURfQVQQAxIICgROQU1FEAQiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIARACIncKEExpc3RUYWdzUmVzcG9uc2USKgoEdGFncxgBIAMoCzIWLmJ1Y2tldGVlci5mZWF0dXJlLlRhZ1IEdGFncxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKzAQoYQ3JlYXRlRmxhZ1RyaWdnZXJSZXF1ZXN0EmoKG2NyZWF0ZV9mbGFnX3RyaWdnZXJfY29tbWFuZBgCIAEoCzIrLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZUZsYWdUcmlnZ2VyQ29tbWFuZFIYY3JlYXRlRmxhZ1RyaWdnZXJDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkSgQIARACInAKGUNyZWF0ZUZsYWdUcmlnZ2VyUmVzcG9uc2USQQoMZmxhZ190cmlnZ2VyGAEgASgLMh4uYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXJSC2ZsYWdUcmlnZ2VyEhAKA3VybBgCIAEoCVIDdXJsIsMBChhEZWxldGVGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEmoKG2RlbGV0ZV9mbGFnX3RyaWdnZXJfY29tbWFuZBgDIAEoCzIrLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZsYWdUcmlnZ2VyQ29tbWFuZFIYZGVsZXRlRmxhZ1RyaWdnZXJDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIhsKGURlbGV0ZUZsYWdUcmlnZ2VyUmVzcG9uc2Ui5gEKGFVwZGF0ZUZsYWdUcmlnZ2VyUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSjAEKJ2NoYW5nZV9mbGFnX3RyaWdnZXJfZGVzY3JpcHRpb25fY29tbWFuZBgDIAEoCzI2LmJ1Y2tldGVlci5mZWF0dXJlLkNoYW5nZUZsYWdUcmlnZ2VyRGVzY3JpcHRpb25Db21tYW5kUiNjaGFuZ2VGbGFnVHJpZ2dlckRlc2NyaXB0aW9uQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIbChlVcGRhdGVGbGFnVHJpZ2dlclJlc3BvbnNlIsMBChhFbmFibGVGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEmoKG2VuYWJsZV9mbGFnX3RyaWdnZXJfY29tbWFuZBgDIAEoCzIrLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZFIYZW5hYmxlRmxhZ1RyaWdnZXJDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIhsKGUVuYWJsZUZsYWdUcmlnZ2VyUmVzcG9uc2UixwEKGURpc2FibGVGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEm0KHGRpc2FibGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAyABKAsyLC5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmxhZ1RyaWdnZXJDb21tYW5kUhlkaXNhYmxlRmxhZ1RyaWdnZXJDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIhwKGkRpc2FibGVGbGFnVHJpZ2dlclJlc3BvbnNlIr8BChdSZXNldEZsYWdUcmlnZ2VyUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSZwoacmVzZXRfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAyABKAsyKi5idWNrZXRlZXIuZmVhdHVyZS5SZXNldEZsYWdUcmlnZ2VyQ29tbWFuZFIXcmVzZXRGbGFnVHJpZ2dlckNvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgCEAMibwoYUmVzZXRGbGFnVHJpZ2dlclJlc3BvbnNlEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCJUChVHZXRGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIm0KFkdldEZsYWdUcmlnZ2VyUmVzcG9uc2USQQoMZmxhZ190cmlnZ2VyGAEgASgLMh4uYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXJSC2ZsYWdUcmlnZ2VyEhAKA3VybBgCIAEoCVIDdXJsIqoDChdMaXN0RmxhZ1RyaWdnZXJzUmVxdWVzdBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFgoGY3Vyc29yGAMgASgJUgZjdXJzb3ISGwoJcGFnZV9zaXplGAQgASgFUghwYWdlU2l6ZRJNCghvcmRlcl9ieRgFIAEoDjIyLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSYgoPb3JkZXJfZGlyZWN0aW9uGAYgASgOMjkuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZsYWdUcmlnZ2Vyc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDmVudmlyb25tZW50X2lkGAcgASgJUg1lbnZpcm9ubWVudElkIjYKB09yZGVyQnkSCwoHREVGQVVMVBAAEg4KCkNSRUFURURfQVQQARIOCgpVUERBVEVEX0FUEAIiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIAhADIqMCChhMaXN0RmxhZ1RyaWdnZXJzUmVzcG9uc2USYwoNZmxhZ190cmlnZ2VycxgBIAMoCzI+LmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXNwb25zZS5GbGFnVHJpZ2dlcldpdGhVcmxSDGZsYWdUcmlnZ2VycxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudBppChJGbGFnVHJpZ2dlcldpdGhVcmwSQQoMZmxhZ190cmlnZ2VyGAEgASgLMh4uYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXJSC2ZsYWdUcmlnZ2VyEhAKA3VybBgCIAEoCVIDdXJsIjEKGUZsYWdUcmlnZ2VyV2ViaG9va1JlcXVlc3QSFAoFdG9rZW4YASABKAlSBXRva2VuIhwKGkZsYWdUcmlnZ2VyV2ViaG9va1Jlc3BvbnNlMtI4Cg5GZWF0dXJlU2VydmljZRJbCgpHZXRGZWF0dXJlEiQuYnVja2V0ZWVyLmZlYXR1cmUuR2V0RmVhdHVyZVJlcXVlc3QaJS5idWNrZXRlZXIuZmVhdHVyZS5HZXRGZWF0dXJlUmVzcG9uc2UiABJeCgtHZXRGZWF0dXJlcxIlLmJ1Y2tldGVlci5mZWF0dXJlLkdldEZlYXR1cmVzUmVxdWVzdBomLmJ1Y2tldGVlci5mZWF0dXJlLkdldEZlYXR1cmVzUmVzcG9uc2UiABJhCgxMaXN0RmVhdHVyZXMSJi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmVhdHVyZXNSZXF1ZXN0GicuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZlYXR1cmVzUmVzcG9uc2UiABJ2ChNMaXN0RW5hYmxlZEZlYXR1cmVzEi0uYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEVuYWJsZWRGZWF0dXJlc1JlcXVlc3QaLi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RW5hYmxlZEZlYXR1cmVzUmVzcG9uc2UiABJkCg1DcmVhdGVGZWF0dXJlEicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlRmVhdHVyZVJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGZWF0dXJlUmVzcG9uc2UiABJkCg1VcGRhdGVGZWF0dXJlEicuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlUmVzcG9uc2UiABJnCg1FbmFibGVGZWF0dXJlEicuYnVja2V0ZWVyLmZlYXR1cmUuRW5hYmxlRmVhdHVyZVJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGZWF0dXJlUmVzcG9uc2UiA4gCARJqCg5EaXNhYmxlRmVhdHVyZRIoLmJ1Y2tldGVlci5mZWF0dXJlLkRpc2FibGVGZWF0dXJlUmVxdWVzdBopLmJ1Y2tldGVlci5mZWF0dXJlLkRpc2FibGVGZWF0dXJlUmVzcG9uc2UiA4gCARJnCg5BcmNoaXZlRmVhdHVyZRIoLmJ1Y2tldGVlci5mZWF0dXJlLkFyY2hpdmVGZWF0dXJlUmVxdWVzdBopLmJ1Y2tldGVlci5mZWF0dXJlLkFyY2hpdmVGZWF0dXJlUmVzcG9uc2UiABJtChBVbmFyY2hpdmVGZWF0dXJlEiouYnVja2V0ZWVyLmZlYXR1cmUuVW5hcmNoaXZlRmVhdHVyZVJlcXVlc3QaKy5idWNrZXRlZXIuZmVhdHVyZS5VbmFyY2hpdmVGZWF0dXJlUmVzcG9uc2UiABJkCg1EZWxldGVGZWF0dXJlEicuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlRmVhdHVyZVJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGZWF0dXJlUmVzcG9uc2UiABJ5ChRVcGRhdGVGZWF0dXJlRGV0YWlscxIuLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVEZXRhaWxzUmVxdWVzdBovLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVEZXRhaWxzUmVzcG9uc2UiABKCAQoXVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnMSMS5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlVmFyaWF0aW9uc1JlcXVlc3QaMi5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlVmFyaWF0aW9uc1Jlc3BvbnNlIgASfwoWVXBkYXRlRmVhdHVyZVRhcmdldGluZxIwLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVUYXJnZXRpbmdSZXF1ZXN0GjEuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVRhcmdldGluZ1Jlc3BvbnNlIgASYQoMQ2xvbmVGZWF0dXJlEiYuYnVja2V0ZWVyLmZlYXR1cmUuQ2xvbmVGZWF0dXJlUmVxdWVzdBonLmJ1Y2tldGVlci5mZWF0dXJlLkNsb25lRmVhdHVyZVJlc3BvbnNlIgASpgQKDUNyZWF0ZVNlZ21lbnQSJy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVTZWdtZW50UmVxdWVzdBooLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZVNlZ21lbnRSZXNwb25zZSLBA5JBpwMKB3NlZ21lbnQSBkNyZWF0ZRoRQ3JlYXRlIGEgc2VnbWVudC4qFXdlYi52MS5zZWdtZW50LmNyZWF0ZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAhAiCy92MS9zZWdtZW50OgEqEpEECgpHZXRTZWdtZW50EiQuYnVja2V0ZWVyLmZlYXR1cmUuR2V0U2VnbWVudFJlcXVlc3QaJS5idWNrZXRlZXIuZmVhdHVyZS5HZXRTZWdtZW50UmVzcG9uc2UitQOSQZ4DCgdzZWdtZW50EgNHZXQaDkdldCBhIHNlZ21lbnQuKhJ3ZWIudjEuc2VnbWVudC5nZXRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwINEgsvdjEvc2VnbWVudBKaBAoMTGlzdFNlZ21lbnRzEiYuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFNlZ21lbnRzUmVxdWVzdBonLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50c1Jlc3BvbnNlIrgDkkGgAwoHc2VnbWVudBIETGlzdBoOTGlzdCBzZWdtZW50cy4qE3dlYi52MS5zZWdtZW50Lmxpc3RKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIOEgwvdjEvc2VnbWVudHMSowQKDURlbGV0ZVNlZ21lbnQSJy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50UmVxdWVzdBooLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZVNlZ21lbnRSZXNwb25zZSK+A5JBpwMKB3NlZ21lbnQSBkRlbGV0ZRoRRGVsZXRlIGEgc2VnbWVudC4qFXdlYi52MS5zZWdtZW50LmRlbGV0ZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAg0qCy92MS9zZWdtZW50EqYECg1VcGRhdGVTZWdtZW50EicuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlU2VnbWVudFJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVTZWdtZW50UmVzcG9uc2UiwQOSQacDCgdzZWdtZW50EgZVcGRhdGUaEVVwZGF0ZSBhIHNlZ21lbnQuKhV3ZWIudjEuc2VnbWVudC51cGRhdGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIQMgsvdjEvc2VnbWVudDoBKhJqCg5BZGRTZWdtZW50VXNlchIoLmJ1Y2tldGVlci5mZWF0dXJlLkFkZFNlZ21lbnRVc2VyUmVxdWVzdBopLmJ1Y2tldGVlci5mZWF0dXJlLkFkZFNlZ21lbnRVc2VyUmVzcG9uc2UiA4gCARJzChFEZWxldGVTZWdtZW50VXNlchIrLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZVNlZ21lbnRVc2VyUmVxdWVzdBosLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZVNlZ21lbnRVc2VyUmVzcG9uc2UiA4gCARJqCg5HZXRTZWdtZW50VXNlchIoLmJ1Y2tldGVlci5mZWF0dXJlLkdldFNlZ21lbnRVc2VyUmVxdWVzdBopLmJ1Y2tldGVlci5mZWF0dXJlLkdldFNlZ21lbnRVc2VyUmVzcG9uc2UiA4gCARJtChBMaXN0U2VnbWVudFVzZXJzEiouYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFNlZ21lbnRVc2Vyc1JlcXVlc3QaKy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudFVzZXJzUmVzcG9uc2UiABLsBAoWQnVsa1VwbG9hZFNlZ21lbnRVc2VycxIwLmJ1Y2tldGVlci5mZWF0dXJlLkJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0GjEuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIuwDkkHAAwoHc2VnbWVudBILQnVsayB1cGxvYWQaGkJ1bGsgdXBsb2FkIHNlZ21lbnQgdXNlcnMuKiB3ZWIudjEuc2VnbWVudF91c2Vycy5idWxrX3VwbG9hZEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiIiHS92MS9zZWdtZW50X3VzZXJzL2J1bGtfdXBsb2FkOgEqEoUBChhCdWxrRG93bmxvYWRTZWdtZW50VXNlcnMSMi5idWNrZXRlZXIuZmVhdHVyZS5CdWxrRG93bmxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0GjMuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzUmVzcG9uc2UiABJtChBFdmFsdWF0ZUZlYXR1cmVzEiouYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGVGZWF0dXJlc1JlcXVlc3QaKy5idWNrZXRlZXIuZmVhdHVyZS5FdmFsdWF0ZUZlYXR1cmVzUmVzcG9uc2UiABL+AwoITGlzdFRhZ3MSIi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0VGFnc1JlcXVlc3QaIy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0VGFnc1Jlc3BvbnNlIqgDkkGUAwoDdGFnEgRMaXN0GgpMaXN0IHRhZ3MuKg93ZWIudjEudGFnLmxpc3RKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIKEggvdjEvdGFncxJwChFDcmVhdGVGbGFnVHJpZ2dlchIrLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZUZsYWdUcmlnZ2VyUmVxdWVzdBosLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZUZsYWdUcmlnZ2VyUmVzcG9uc2UiABJwChFVcGRhdGVGbGFnVHJpZ2dlchIrLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZsYWdUcmlnZ2VyUmVxdWVzdBosLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZsYWdUcmlnZ2VyUmVzcG9uc2UiABJwChFFbmFibGVGbGFnVHJpZ2dlchIrLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZsYWdUcmlnZ2VyUmVxdWVzdBosLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZsYWdUcmlnZ2VyUmVzcG9uc2UiABJzChJEaXNhYmxlRmxhZ1RyaWdnZXISLC5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmxhZ1RyaWdnZXJSZXF1ZXN0Gi0uYnVja2V0ZWVyLmZlYXR1cmUuRGlzYWJsZUZsYWdUcmlnZ2VyUmVzcG9uc2UiABJtChBSZXNldEZsYWdUcmlnZ2VyEiouYnVja2V0ZWVyLmZlYXR1cmUuUmVzZXRGbGFnVHJpZ2dlclJlcXVlc3QaKy5idWNrZXRlZXIuZmVhdHVyZS5SZXNldEZsYWdUcmlnZ2VyUmVzcG9uc2UiABJwChFEZWxldGVGbGFnVHJpZ2dlchIrLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZsYWdUcmlnZ2VyUmVxdWVzdBosLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZsYWdUcmlnZ2VyUmVzcG9uc2UiABJnCg5HZXRGbGFnVHJpZ2dlchIoLmJ1Y2tldGVlci5mZWF0dXJlLkdldEZsYWdUcmlnZ2VyUmVxdWVzdBopLmJ1Y2tldGVlci5mZWF0dXJlLkdldEZsYWdUcmlnZ2VyUmVzcG9uc2UiABJtChBMaXN0RmxhZ1RyaWdnZXJzEiouYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZsYWdUcmlnZ2Vyc1JlcXVlc3QaKy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmxhZ1RyaWdnZXJzUmVzcG9uc2UiABKUAQoSRmxhZ1RyaWdnZXJXZWJob29rEiwuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXJXZWJob29rUmVxdWVzdBotLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyV2ViaG9va1Jlc3BvbnNlIiGC0+STAhsiGS93ZWJob29rL3RyaWdnZXJzL3t0b2tlbn1CMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMw== + featureDescriptor: CscDChpwcm90by9mZWF0dXJlL2NsYXVzZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUi2gIKBkNsYXVzZRIOCgJpZBgBIAEoCVICaWQSHAoJYXR0cmlidXRlGAIgASgJUglhdHRyaWJ1dGUSPgoIb3BlcmF0b3IYAyABKA4yIi5idWNrZXRlZXIuZmVhdHVyZS5DbGF1c2UuT3BlcmF0b3JSCG9wZXJhdG9yEhYKBnZhbHVlcxgEIAMoCVIGdmFsdWVzIskBCghPcGVyYXRvchIKCgZFUVVBTFMQABIGCgJJThABEg0KCUVORFNfV0lUSBACEg8KC1NUQVJUU19XSVRIEAMSCwoHU0VHTUVOVBAEEgsKB0dSRUFURVIQBRIUChBHUkVBVEVSX09SX0VRVUFMEAYSCAoETEVTUxAHEhEKDUxFU1NfT1JfRVFVQUwQCBIKCgZCRUZPUkUQCRIJCgVBRlRFUhAKEhAKDEZFQVRVUkVfRkxBRxALEhMKD1BBUlRJQUxMWV9NQVRDSBAMQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK5AEKGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI2CgNBbnkSGQoIdHlwZV91cmwYASABKAlSB3R5cGVVcmwSFAoFdmFsdWUYAiABKAxSBXZhbHVlQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKhgQKHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIiMKC0RvdWJsZVZhbHVlEhQKBXZhbHVlGAEgASgBUgV2YWx1ZSIiCgpGbG9hdFZhbHVlEhQKBXZhbHVlGAEgASgCUgV2YWx1ZSIiCgpJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgDUgV2YWx1ZSIjCgtVSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoBFIFdmFsdWUiIgoKSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoBVIFdmFsdWUiIwoLVUludDMyVmFsdWUSFAoFdmFsdWUYASABKA1SBXZhbHVlIiEKCUJvb2xWYWx1ZRIUCgV2YWx1ZRgBIAEoCFIFdmFsdWUiIwoLU3RyaW5nVmFsdWUSFAoFdmFsdWUYASABKAlSBXZhbHVlIiIKCkJ5dGVzVmFsdWUSFAoFdmFsdWUYASABKAxSBXZhbHVlQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1XcmFwcGVyc1Byb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3dyYXBwZXJzcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMwq7BAoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiLQoNRml4ZWRTdHJhdGVneRIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbiKiAQoPUm9sbG91dFN0cmF0ZWd5EkwKCnZhcmlhdGlvbnMYASADKAsyLC5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3kuVmFyaWF0aW9uUgp2YXJpYXRpb25zGkEKCVZhcmlhdGlvbhIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbhIWCgZ3ZWlnaHQYAiABKAVSBndlaWdodCL4AQoIU3RyYXRlZ3kSNAoEdHlwZRgBIAEoDjIgLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5LlR5cGVSBHR5cGUSRwoOZml4ZWRfc3RyYXRlZ3kYAiABKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5GaXhlZFN0cmF0ZWd5Ug1maXhlZFN0cmF0ZWd5Ek0KEHJvbGxvdXRfc3RyYXRlZ3kYAyABKAsyIi5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3lSD3JvbGxvdXRTdHJhdGVneSIeCgRUeXBlEgkKBUZJWEVEEAASCwoHUk9MTE9VVBABQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKqQIKGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGnByb3RvL2ZlYXR1cmUvY2xhdXNlLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvIoQBCgRSdWxlEg4KAmlkGAEgASgJUgJpZBI3CghzdHJhdGVneRgCIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneRIzCgdjbGF1c2VzGAMgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgdjbGF1c2VzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKqAEKGnByb3RvL2ZlYXR1cmUvdGFyZ2V0LnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSI8CgZUYXJnZXQSHAoJdmFyaWF0aW9uGAEgASgJUgl2YXJpYXRpb24SFAoFdXNlcnMYAiADKAlSBXVzZXJzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK1gEKHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSJnCglWYXJpYXRpb24SDgoCaWQYASABKAlSAmlkEhQKBXZhbHVlGAIgASgJUgV2YWx1ZRISCgRuYW1lGAMgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCvQCCipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIvcBChNGZWF0dXJlTGFzdFVzZWRJbmZvEh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIYCgd2ZXJzaW9uGAIgASgFUgd2ZXJzaW9uEiAKDGxhc3RfdXNlZF9hdBgDIAEoA1IKbGFzdFVzZWRBdBIdCgpjcmVhdGVkX2F0GAQgASgDUgljcmVhdGVkQXQSMgoVY2xpZW50X29sZGVzdF92ZXJzaW9uGAUgASgJUhNjbGllbnRPbGRlc3RWZXJzaW9uEjIKFWNsaWVudF9sYXRlc3RfdmVyc2lvbhgGIAEoCVITY2xpZW50TGF0ZXN0VmVyc2lvbkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCsIBCiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiUAoMUHJlcmVxdWlzaXRlEh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIhCgx2YXJpYXRpb25faWQYAiABKAlSC3ZhcmlhdGlvbklkQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKswwKG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvItIHCgdGZWF0dXJlEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIYCgdlbmFibGVkGAQgASgIUgdlbmFibGVkEhgKB2RlbGV0ZWQYBSABKAhSB2RlbGV0ZWQSOQoWZXZhbHVhdGlvbl91bmRlbGF5YWJsZRgGIAEoCEICGAFSFWV2YWx1YXRpb25VbmRlbGF5YWJsZRIQCgN0dGwYByABKAVSA3R0bBIYCgd2ZXJzaW9uGAggASgFUgd2ZXJzaW9uEh0KCmNyZWF0ZWRfYXQYCSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAogASgDUgl1cGRhdGVkQXQSPAoKdmFyaWF0aW9ucxgLIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIzCgd0YXJnZXRzGAwgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0Ugd0YXJnZXRzEi0KBXJ1bGVzGA0gAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSRgoQZGVmYXVsdF9zdHJhdGVneRgOIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5Ug9kZWZhdWx0U3RyYXRlZ3kSIwoNb2ZmX3ZhcmlhdGlvbhgPIAEoCVIMb2ZmVmFyaWF0aW9uEhIKBHRhZ3MYECADKAlSBHRhZ3MSTAoObGFzdF91c2VkX2luZm8YESABKAsyJi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlTGFzdFVzZWRJbmZvUgxsYXN0VXNlZEluZm8SHgoKbWFpbnRhaW5lchgSIAEoCVIKbWFpbnRhaW5lchJPCg52YXJpYXRpb25fdHlwZRgTIAEoDjIoLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmUuVmFyaWF0aW9uVHlwZVINdmFyaWF0aW9uVHlwZRIaCghhcmNoaXZlZBgUIAEoCFIIYXJjaGl2ZWQSRQoNcHJlcmVxdWlzaXRlcxgVIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVINcHJlcmVxdWlzaXRlcxIjCg1zYW1wbGluZ19zZWVkGBYgASgJUgxzYW1wbGluZ1NlZWQiPgoNVmFyaWF0aW9uVHlwZRIKCgZTVFJJTkcQABILCgdCT09MRUFOEAESCgoGTlVNQkVSEAISCAoESlNPThADIlIKCEZlYXR1cmVzEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMSDgoCaWQYAiABKAlSAmlkInMKEkVudmlyb25tZW50RmVhdHVyZRIlCg5lbnZpcm9ubWVudF9pZBgBIAEoCVINZW52aXJvbm1lbnRJZBI2CghmZWF0dXJlcxgCIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzImcKA1RhZxIOCgJpZBgBIAEoCVICaWQSHQoKY3JlYXRlZF9hdBgCIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYAyABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAQgASgJUgRuYW1lQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKtQgKG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvIrQECgdTZWdtZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhItCgVydWxlcxgEIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHAoHdmVyc2lvbhgHIAEoA0ICGAFSB3ZlcnNpb24SGAoHZGVsZXRlZBgIIAEoCFIHZGVsZXRlZBIuChNpbmNsdWRlZF91c2VyX2NvdW50GAkgASgDUhFpbmNsdWRlZFVzZXJDb3VudBIyChNleGNsdWRlZF91c2VyX2NvdW50GAogASgDQgIYAVIRZXhjbHVkZWRVc2VyQ291bnQSOQoGc3RhdHVzGAsgASgOMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudC5TdGF0dXNSBnN0YXR1cxInChBpc19pbl91c2Vfc3RhdHVzGAwgASgIUg1pc0luVXNlU3RhdHVzEjYKCGZlYXR1cmVzGA0gAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMiPgoGU3RhdHVzEgsKB0lOSVRJQUwQABINCglVUExPQURJTkcQARIMCghTVUNFRURFRBACEgoKBkZBSUxFRBADItQBCgtTZWdtZW50VXNlchIOCgJpZBgBIAEoCVICaWQSHQoKc2VnbWVudF9pZBgCIAEoCVIJc2VnbWVudElkEhcKB3VzZXJfaWQYAyABKAlSBnVzZXJJZBI6CgVzdGF0ZRgEIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIYCgdkZWxldGVkGAUgASgIUgdkZWxldGVkIicKBVN0YXRlEgwKCElOQ0xVREVEEAASEAoIRVhDTFVERUQQARoCCAEiggEKDFNlZ21lbnRVc2VycxIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSNAoFdXNlcnMYAiADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSHQoKdXBkYXRlZF9hdBgDIAEoA1IJdXBkYXRlZEF0QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKoAUKIHByb3RvL2ZlYXR1cmUvZmxhZ190cmlnZ2VyLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSKtBAoLRmxhZ1RyaWdnZXISDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBI3CgR0eXBlGAQgASgOMiMuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuVHlwZVIEdHlwZRI9CgZhY3Rpb24YBSABKA4yJS5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlci5BY3Rpb25SBmFjdGlvbhIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SIwoNdHJpZ2dlcl9jb3VudBgHIAEoBVIMdHJpZ2dlckNvdW50EioKEWxhc3RfdHJpZ2dlcmVkX2F0GAggASgDUg9sYXN0VHJpZ2dlcmVkQXQSFAoFdG9rZW4YCSABKAlSBXRva2VuEhoKCGRpc2FibGVkGAogASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAsgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgMIAEoA1IJdXBkYXRlZEF0EiUKDmVudmlyb25tZW50X2lkGA0gASgJUg1lbnZpcm9ubWVudElkIioKBFR5cGUSEAoMVHlwZV9VTktOT1dOEAASEAoMVHlwZV9XRUJIT09LEAEiOwoGQWN0aW9uEhIKDkFjdGlvbl9VTktOT1dOEAASDQoJQWN0aW9uX09OEAESDgoKQWN0aW9uX09GRhACSgQIAxAEQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKwCMKG3Byb3RvL2ZlYXR1cmUvY29tbWFuZC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxoacHJvdG8vZmVhdHVyZS9jbGF1c2UucHJvdG8aG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvGh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxobcHJvdG8vZmVhdHVyZS9zZWdtZW50LnByb3RvGiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxogcHJvdG8vZmVhdHVyZS9mbGFnX3RyaWdnZXIucHJvdG8iOQoHQ29tbWFuZBIuCgdjb21tYW5kGAEgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIHY29tbWFuZCK1AwoUQ3JlYXRlRmVhdHVyZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEjwKCnZhcmlhdGlvbnMYBCADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSEgoEdGFncxgFIAMoCVIEdGFncxJYChpkZWZhdWx0X29uX3ZhcmlhdGlvbl9pbmRleBgGIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhdkZWZhdWx0T25WYXJpYXRpb25JbmRleBJaChtkZWZhdWx0X29mZl92YXJpYXRpb25faW5kZXgYByABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIYZGVmYXVsdE9mZlZhcmlhdGlvbkluZGV4Ek8KDnZhcmlhdGlvbl90eXBlGAggASgOMiguYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZS5WYXJpYXRpb25UeXBlUg12YXJpYXRpb25UeXBlIhcKFUFyY2hpdmVGZWF0dXJlQ29tbWFuZCIZChdVbmFyY2hpdmVGZWF0dXJlQ29tbWFuZCIWChREZWxldGVGZWF0dXJlQ29tbWFuZCIqChRSZW5hbWVGZWF0dXJlQ29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lIjwKGENoYW5nZURlc2NyaXB0aW9uQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24iuAEKKUNoYW5nZUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNTdGF0dXNDb21tYW5kEjkKBnN0YXR1cxgBIAEoDjIhLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnQuU3RhdHVzUgZzdGF0dXMSOgoFc3RhdGUYAiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSFAoFY291bnQYAyABKANSBWNvdW50IiEKDUFkZFRhZ0NvbW1hbmQSEAoDdGFnGAEgASgJUgN0YWciJAoQUmVtb3ZlVGFnQ29tbWFuZBIQCgN0YWcYASABKAlSA3RhZyIWChRFbmFibGVGZWF0dXJlQ29tbWFuZCIXChVEaXNhYmxlRmVhdHVyZUNvbW1hbmQiYQoTQWRkVmFyaWF0aW9uQ29tbWFuZBIUCgV2YWx1ZRgBIAEoCVIFdmFsdWUSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24iKAoWUmVtb3ZlVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQiQwobQ2hhbmdlVmFyaWF0aW9uVmFsdWVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUiQAoaQ2hhbmdlVmFyaWF0aW9uTmFtZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiVQohQ2hhbmdlVmFyaWF0aW9uRGVzY3JpcHRpb25Db21tYW5kEg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iKwoZQ2hhbmdlT2ZmVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQiPwoZQWRkVXNlclRvVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSEgoEdXNlchgCIAEoCVIEdXNlciJECh5SZW1vdmVVc2VyRnJvbVZhcmlhdGlvbkNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBHVzZXIYAiABKAlSBHVzZXIiVwocQ2hhbmdlRGVmYXVsdFN0cmF0ZWd5Q29tbWFuZBI3CghzdHJhdGVneRgBIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneSI9Cg5BZGRSdWxlQ29tbWFuZBIrCgRydWxlGAEgASgLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIEcnVsZSJ9ChlDaGFuZ2VSdWxlU3RyYXRlZ3lDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSNwoIc3RyYXRlZ3kYAyABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIIc3RyYXRlZ3kiNAoXQ2hhbmdlUnVsZXNPcmRlckNvbW1hbmQSGQoIcnVsZV9pZHMYAiADKAlSB3J1bGVJZHMiIwoRRGVsZXRlUnVsZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkIl4KEEFkZENsYXVzZUNvbW1hbmQSFwoHcnVsZV9pZBgBIAEoCVIGcnVsZUlkEjEKBmNsYXVzZRgCIAEoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZVIGY2xhdXNlIj4KE0RlbGV0ZUNsYXVzZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZCJlChxDaGFuZ2VDbGF1c2VBdHRyaWJ1dGVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSHAoJYXR0cmlidXRlGAMgASgJUglhdHRyaWJ1dGUihgEKG0NoYW5nZUNsYXVzZU9wZXJhdG9yQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEj4KCG9wZXJhdG9yGAMgASgOMiIuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvciJWChVBZGRDbGF1c2VWYWx1ZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIUCgV2YWx1ZRgDIAEoCVIFdmFsdWUiWQoYUmVtb3ZlQ2xhdXNlVmFsdWVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSFAoFdmFsdWUYAyABKAlSBXZhbHVlIoMBChpDaGFuZ2VGaXhlZFN0cmF0ZWd5Q29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEjwKCHN0cmF0ZWd5GAMgASgLMiAuYnVja2V0ZWVyLmZlYXR1cmUuRml4ZWRTdHJhdGVneVIIc3RyYXRlZ3kihwEKHENoYW5nZVJvbGxvdXRTdHJhdGVneUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBI+CghzdHJhdGVneRgDIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneVIIc3RyYXRlZ3kiTAoUQ3JlYXRlU2VnbWVudENvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iFgoURGVsZXRlU2VnbWVudENvbW1hbmQiLgoYQ2hhbmdlU2VnbWVudE5hbWVDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUiQwofQ2hhbmdlU2VnbWVudERlc2NyaXB0aW9uQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24ibgoVQWRkU2VnbWVudFVzZXJDb21tYW5kEhkKCHVzZXJfaWRzGAEgAygJUgd1c2VySWRzEjoKBXN0YXRlGAIgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlInEKGERlbGV0ZVNlZ21lbnRVc2VyQ29tbWFuZBIZCgh1c2VyX2lkcxgBIAMoCVIHdXNlcklkcxI6CgVzdGF0ZRgCIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZSJvCh1CdWxrVXBsb2FkU2VnbWVudFVzZXJzQ29tbWFuZBISCgRkYXRhGAEgASgMUgRkYXRhEjoKBXN0YXRlGAIgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlIiAKHkluY3JlbWVudEZlYXR1cmVWZXJzaW9uQ29tbWFuZCJCChNDbG9uZUZlYXR1cmVDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkSgQIARACIhoKGFJlc2V0U2FtcGxpbmdTZWVkQ29tbWFuZCJdChZBZGRQcmVyZXF1aXNpdGVDb21tYW5kEkMKDHByZXJlcXVpc2l0ZRgBIAEoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVIMcHJlcmVxdWlzaXRlIjoKGVJlbW92ZVByZXJlcXVpc2l0ZUNvbW1hbmQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkImkKIkNoYW5nZVByZXJlcXVpc2l0ZVZhcmlhdGlvbkNvbW1hbmQSQwoMcHJlcmVxdWlzaXRlGAEgASgLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUgxwcmVyZXF1aXNpdGUi0wEKGENyZWF0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSNwoEdHlwZRgCIAEoDjIjLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLlR5cGVSBHR5cGUSPQoGYWN0aW9uGAMgASgOMiUuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuQWN0aW9uUgZhY3Rpb24SIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uIhkKF1Jlc2V0RmxhZ1RyaWdnZXJDb21tYW5kIkcKI0NoYW5nZUZsYWdUcmlnZ2VyRGVzY3JpcHRpb25Db21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiIaChhFbmFibGVGbGFnVHJpZ2dlckNvbW1hbmQiGwoZRGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZCIaChhEZWxldGVGbGFnVHJpZ2dlckNvbW1hbmQiHwodVXBkYXRlRmxhZ1RyaWdnZXJVc2FnZUNvbW1hbmRCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwqeAgoacHJvdG8vZmVhdHVyZS9yZWFzb24ucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIrEBCgZSZWFzb24SMgoEdHlwZRgBIAEoDjIeLmJ1Y2tldGVlci5mZWF0dXJlLlJlYXNvbi5UeXBlUgR0eXBlEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZCJaCgRUeXBlEgoKBlRBUkdFVBAAEggKBFJVTEUQARILCgdERUZBVUxUEAMSCgoGQ0xJRU5UEAQSEQoNT0ZGX1ZBUklBVElPThAFEhAKDFBSRVJFUVVJU0lURRAGQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKmAYKHnByb3RvL2ZlYXR1cmUvZXZhbHVhdGlvbi5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhpwcm90by9mZWF0dXJlL3JlYXNvbi5wcm90byLjAgoKRXZhbHVhdGlvbhIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEicKD2ZlYXR1cmVfdmVyc2lvbhgDIAEoBVIOZmVhdHVyZVZlcnNpb24SFwoHdXNlcl9pZBgEIAEoCVIGdXNlcklkEiEKDHZhcmlhdGlvbl9pZBgFIAEoCVILdmFyaWF0aW9uSWQSPgoJdmFyaWF0aW9uGAYgASgLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uQgIYAVIJdmFyaWF0aW9uEjEKBnJlYXNvbhgHIAEoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLlJlYXNvblIGcmVhc29uEicKD3ZhcmlhdGlvbl92YWx1ZRgIIAEoCVIOdmFyaWF0aW9uVmFsdWUSJQoOdmFyaWF0aW9uX25hbWUYCSABKAlSDXZhcmlhdGlvbk5hbWUihgIKD1VzZXJFdmFsdWF0aW9ucxISCgJpZBgBIAEoCUICGAFSAmlkEj8KC2V2YWx1YXRpb25zGAIgAygLMh0uYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGlvblILZXZhbHVhdGlvbnMSHQoKY3JlYXRlZF9hdBgDIAEoA1IJY3JlYXRlZEF0EjAKFGFyY2hpdmVkX2ZlYXR1cmVfaWRzGAQgAygJUhJhcmNoaXZlZEZlYXR1cmVJZHMSIQoMZm9yY2VfdXBkYXRlGAUgASgIUgtmb3JjZVVwZGF0ZSIqCgVTdGF0ZRIKCgZRVUVVRUQQABILCgdQQVJUSUFMEAESCAoERlVMTBACQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKhwUKFWdvb2dsZS9hcGkvaHR0cC5wcm90bxIKZ29vZ2xlLmFwaSJ5CgRIdHRwEioKBXJ1bGVzGAEgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVIFcnVsZXMSRQofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCFIcZnVsbHlEZWNvZGVSZXNlcnZlZEV4cGFuc2lvbiK1AgoISHR0cFJ1bGUSGgoIc2VsZWN0b3IYASABKAlSCHNlbGVjdG9yEhIKA2dldBgCIAEoCUgAUgNnZXQSEgoDcHV0GAMgASgJSABSA3B1dBIUCgRwb3N0GAQgASgJSABSBHBvc3QSGAoGZGVsZXRlGAUgASgJSABSBmRlbGV0ZRIWCgVwYXRjaBgGIAEoCUgAUgVwYXRjaBI3CgZjdXN0b20YCCABKAsyHS5nb29nbGUuYXBpLkN1c3RvbUh0dHBQYXR0ZXJuSABSBmN1c3RvbRISCgRib2R5GAcgASgJUgRib2R5EkUKE2FkZGl0aW9uYWxfYmluZGluZ3MYCyADKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUhJhZGRpdGlvbmFsQmluZGluZ3NCCQoHcGF0dGVybiI7ChFDdXN0b21IdHRwUGF0dGVybhISCgRraW5kGAEgASgJUgRraW5kEhIKBHBhdGgYAiABKAlSBHBhdGhCagoOY29tLmdvb2dsZS5hcGlCCUh0dHBQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc/gBAaICBEdBUEliBnByb3RvMwrhRgogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiJNChFGaWxlRGVzY3JpcHRvclNldBI4CgRmaWxlGAEgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkZpbGVEZXNjcmlwdG9yUHJvdG9SBGZpbGUi/gQKE0ZpbGVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIYCgdwYWNrYWdlGAIgASgJUgdwYWNrYWdlEh4KCmRlcGVuZGVuY3kYAyADKAlSCmRlcGVuZGVuY3kSKwoRcHVibGljX2RlcGVuZGVuY3kYCiADKAVSEHB1YmxpY0RlcGVuZGVuY3kSJwoPd2Vha19kZXBlbmRlbmN5GAsgAygFUg53ZWFrRGVwZW5kZW5jeRJDCgxtZXNzYWdlX3R5cGUYBCADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvUgttZXNzYWdlVHlwZRJBCgllbnVtX3R5cGUYBSADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSQQoHc2VydmljZRgGIAMoCzInLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlRGVzY3JpcHRvclByb3RvUgdzZXJ2aWNlEkMKCWV4dGVuc2lvbhgHIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEjYKB29wdGlvbnMYCCABKAsyHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnNSB29wdGlvbnMSSQoQc291cmNlX2NvZGVfaW5mbxgJIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb2RlSW5mb1IOc291cmNlQ29kZUluZm8SFgoGc3ludGF4GAwgASgJUgZzeW50YXgSGAoHZWRpdGlvbhgNIAEoCVIHZWRpdGlvbiK5BgoPRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSOwoFZmllbGQYAiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SBWZpZWxkEkMKCWV4dGVuc2lvbhgGIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEkEKC25lc3RlZF90eXBlGAMgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1IKbmVzdGVkVHlwZRJBCgllbnVtX3R5cGUYBCADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSWAoPZXh0ZW5zaW9uX3JhbmdlGAUgAygLMi8uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5FeHRlbnNpb25SYW5nZVIOZXh0ZW5zaW9uUmFuZ2USRAoKb25lb2ZfZGVjbBgIIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5PbmVvZkRlc2NyaXB0b3JQcm90b1IJb25lb2ZEZWNsEjkKB29wdGlvbnMYByABKAsyHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnNSB29wdGlvbnMSVQoOcmVzZXJ2ZWRfcmFuZ2UYCSADKAsyLi5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLlJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgKIAMoCVIMcmVzZXJ2ZWROYW1lGnoKDkV4dGVuc2lvblJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZBJACgdvcHRpb25zGAMgASgLMiYuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9uc1IHb3B0aW9ucxo3Cg1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCKtBAoVRXh0ZW5zaW9uUmFuZ2VPcHRpb25zElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uElkKC2RlY2xhcmF0aW9uGAIgAygLMjIuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9ucy5EZWNsYXJhdGlvbkIDiAECUgtkZWNsYXJhdGlvbhJoCgx2ZXJpZmljYXRpb24YAyABKA4yOC5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zLlZlcmlmaWNhdGlvblN0YXRlOgpVTlZFUklGSUVEUgx2ZXJpZmljYXRpb24aswEKC0RlY2xhcmF0aW9uEhYKBm51bWJlchgBIAEoBVIGbnVtYmVyEhsKCWZ1bGxfbmFtZRgCIAEoCVIIZnVsbE5hbWUSEgoEdHlwZRgDIAEoCVIEdHlwZRIjCgtpc19yZXBlYXRlZBgEIAEoCEICGAFSCmlzUmVwZWF0ZWQSGgoIcmVzZXJ2ZWQYBSABKAhSCHJlc2VydmVkEhoKCHJlcGVhdGVkGAYgASgIUghyZXBlYXRlZCI0ChFWZXJpZmljYXRpb25TdGF0ZRIPCgtERUNMQVJBVElPThAAEg4KClVOVkVSSUZJRUQQASoJCOgHEICAgIACIsEGChRGaWVsZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgDIAEoBVIGbnVtYmVyEkEKBWxhYmVsGAQgASgOMisuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLkxhYmVsUgVsYWJlbBI+CgR0eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGVSBHR5cGUSGwoJdHlwZV9uYW1lGAYgASgJUgh0eXBlTmFtZRIaCghleHRlbmRlZRgCIAEoCVIIZXh0ZW5kZWUSIwoNZGVmYXVsdF92YWx1ZRgHIAEoCVIMZGVmYXVsdFZhbHVlEh8KC29uZW9mX2luZGV4GAkgASgFUgpvbmVvZkluZGV4EhsKCWpzb25fbmFtZRgKIAEoCVIIanNvbk5hbWUSNwoHb3B0aW9ucxgIIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnNSB29wdGlvbnMSJwoPcHJvdG8zX29wdGlvbmFsGBEgASgIUg5wcm90bzNPcHRpb25hbCK2AgoEVHlwZRIPCgtUWVBFX0RPVUJMRRABEg4KClRZUEVfRkxPQVQQAhIOCgpUWVBFX0lOVDY0EAMSDwoLVFlQRV9VSU5UNjQQBBIOCgpUWVBFX0lOVDMyEAUSEAoMVFlQRV9GSVhFRDY0EAYSEAoMVFlQRV9GSVhFRDMyEAcSDQoJVFlQRV9CT09MEAgSDwoLVFlQRV9TVFJJTkcQCRIOCgpUWVBFX0dST1VQEAoSEAoMVFlQRV9NRVNTQUdFEAsSDgoKVFlQRV9CWVRFUxAMEg8KC1RZUEVfVUlOVDMyEA0SDQoJVFlQRV9FTlVNEA4SEQoNVFlQRV9TRklYRUQzMhAPEhEKDVRZUEVfU0ZJWEVENjQQEBIPCgtUWVBFX1NJTlQzMhAREg8KC1RZUEVfU0lOVDY0EBIiQwoFTGFiZWwSEgoOTEFCRUxfT1BUSU9OQUwQARISCg5MQUJFTF9SRVFVSVJFRBACEhIKDkxBQkVMX1JFUEVBVEVEEAMiYwoUT25lb2ZEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI3CgdvcHRpb25zGAIgASgLMh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9uc1IHb3B0aW9ucyLjAgoTRW51bURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj8KBXZhbHVlGAIgAygLMikuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZURlc2NyaXB0b3JQcm90b1IFdmFsdWUSNgoHb3B0aW9ucxgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5FbnVtT3B0aW9uc1IHb3B0aW9ucxJdCg5yZXNlcnZlZF9yYW5nZRgEIAMoCzI2Lmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvLkVudW1SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYBSADKAlSDHJlc2VydmVkTmFtZRo7ChFFbnVtUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQigwEKGEVudW1WYWx1ZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgCIAEoBVIGbnVtYmVyEjsKB29wdGlvbnMYAyABKAsyIS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlT3B0aW9uc1IHb3B0aW9ucyKnAQoWU2VydmljZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj4KBm1ldGhvZBgCIAMoCzImLmdvb2dsZS5wcm90b2J1Zi5NZXRob2REZXNjcmlwdG9yUHJvdG9SBm1ldGhvZBI5CgdvcHRpb25zGAMgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zUgdvcHRpb25zIokCChVNZXRob2REZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIdCgppbnB1dF90eXBlGAIgASgJUglpbnB1dFR5cGUSHwoLb3V0cHV0X3R5cGUYAyABKAlSCm91dHB1dFR5cGUSOAoHb3B0aW9ucxgEIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zUgdvcHRpb25zEjAKEGNsaWVudF9zdHJlYW1pbmcYBSABKAg6BWZhbHNlUg9jbGllbnRTdHJlYW1pbmcSMAoQc2VydmVyX3N0cmVhbWluZxgGIAEoCDoFZmFsc2VSD3NlcnZlclN0cmVhbWluZyKRCQoLRmlsZU9wdGlvbnMSIQoMamF2YV9wYWNrYWdlGAEgASgJUgtqYXZhUGFja2FnZRIwChRqYXZhX291dGVyX2NsYXNzbmFtZRgIIAEoCVISamF2YU91dGVyQ2xhc3NuYW1lEjUKE2phdmFfbXVsdGlwbGVfZmlsZXMYCiABKAg6BWZhbHNlUhFqYXZhTXVsdGlwbGVGaWxlcxJECh1qYXZhX2dlbmVyYXRlX2VxdWFsc19hbmRfaGFzaBgUIAEoCEICGAFSGWphdmFHZW5lcmF0ZUVxdWFsc0FuZEhhc2gSOgoWamF2YV9zdHJpbmdfY2hlY2tfdXRmOBgbIAEoCDoFZmFsc2VSE2phdmFTdHJpbmdDaGVja1V0ZjgSUwoMb3B0aW1pemVfZm9yGAkgASgOMikuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zLk9wdGltaXplTW9kZToFU1BFRURSC29wdGltaXplRm9yEh0KCmdvX3BhY2thZ2UYCyABKAlSCWdvUGFja2FnZRI1ChNjY19nZW5lcmljX3NlcnZpY2VzGBAgASgIOgVmYWxzZVIRY2NHZW5lcmljU2VydmljZXMSOQoVamF2YV9nZW5lcmljX3NlcnZpY2VzGBEgASgIOgVmYWxzZVITamF2YUdlbmVyaWNTZXJ2aWNlcxI1ChNweV9nZW5lcmljX3NlcnZpY2VzGBIgASgIOgVmYWxzZVIRcHlHZW5lcmljU2VydmljZXMSNwoUcGhwX2dlbmVyaWNfc2VydmljZXMYKiABKAg6BWZhbHNlUhJwaHBHZW5lcmljU2VydmljZXMSJQoKZGVwcmVjYXRlZBgXIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSLgoQY2NfZW5hYmxlX2FyZW5hcxgfIAEoCDoEdHJ1ZVIOY2NFbmFibGVBcmVuYXMSKgoRb2JqY19jbGFzc19wcmVmaXgYJCABKAlSD29iamNDbGFzc1ByZWZpeBIpChBjc2hhcnBfbmFtZXNwYWNlGCUgASgJUg9jc2hhcnBOYW1lc3BhY2USIQoMc3dpZnRfcHJlZml4GCcgASgJUgtzd2lmdFByZWZpeBIoChBwaHBfY2xhc3NfcHJlZml4GCggASgJUg5waHBDbGFzc1ByZWZpeBIjCg1waHBfbmFtZXNwYWNlGCkgASgJUgxwaHBOYW1lc3BhY2USNAoWcGhwX21ldGFkYXRhX25hbWVzcGFjZRgsIAEoCVIUcGhwTWV0YWRhdGFOYW1lc3BhY2USIQoMcnVieV9wYWNrYWdlGC0gASgJUgtydWJ5UGFja2FnZRJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiI6CgxPcHRpbWl6ZU1vZGUSCQoFU1BFRUQQARINCglDT0RFX1NJWkUQAhIQCgxMSVRFX1JVTlRJTUUQAyoJCOgHEICAgIACSgQIJhAnIrsDCg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNzb3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50cnkSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYCyABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgEEAVKBAgFEAZKBAgGEAdKBAgIEAlKBAgJEAoihQkKDEZpZWxkT3B0aW9ucxJBCgVjdHlwZRgBIAEoDjIjLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuQ1R5cGU6BlNUUklOR1IFY3R5cGUSFgoGcGFja2VkGAIgASgIUgZwYWNrZWQSRwoGanN0eXBlGAYgASgOMiQuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5KU1R5cGU6CUpTX05PUk1BTFIGanN0eXBlEhkKBGxhenkYBSABKAg6BWZhbHNlUgRsYXp5Ei4KD3VudmVyaWZpZWRfbGF6eRgPIAEoCDoFZmFsc2VSDnVudmVyaWZpZWRMYXp5EiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhkKBHdlYWsYCiABKAg6BWZhbHNlUgR3ZWFrEigKDGRlYnVnX3JlZGFjdBgQIAEoCDoFZmFsc2VSC2RlYnVnUmVkYWN0EksKCXJldGVudGlvbhgRIAEoDjItLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uUmV0ZW50aW9uUglyZXRlbnRpb24SSgoGdGFyZ2V0GBIgASgOMi4uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25UYXJnZXRUeXBlQgIYAVIGdGFyZ2V0EkgKB3RhcmdldHMYEyADKA4yLi5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblRhcmdldFR5cGVSB3RhcmdldHMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iLwoFQ1R5cGUSCgoGU1RSSU5HEAASCAoEQ09SRBABEhAKDFNUUklOR19QSUVDRRACIjUKBkpTVHlwZRINCglKU19OT1JNQUwQABINCglKU19TVFJJTkcQARINCglKU19OVU1CRVIQAiJVCg9PcHRpb25SZXRlbnRpb24SFQoRUkVURU5USU9OX1VOS05PV04QABIVChFSRVRFTlRJT05fUlVOVElNRRABEhQKEFJFVEVOVElPTl9TT1VSQ0UQAiKMAgoQT3B0aW9uVGFyZ2V0VHlwZRIXChNUQVJHRVRfVFlQRV9VTktOT1dOEAASFAoQVEFSR0VUX1RZUEVfRklMRRABEh8KG1RBUkdFVF9UWVBFX0VYVEVOU0lPTl9SQU5HRRACEhcKE1RBUkdFVF9UWVBFX01FU1NBR0UQAxIVChFUQVJHRVRfVFlQRV9GSUVMRBAEEhUKEVRBUkdFVF9UWVBFX09ORU9GEAUSFAoQVEFSR0VUX1RZUEVfRU5VTRAGEhoKFlRBUkdFVF9UWVBFX0VOVU1fRU5UUlkQBxIXChNUQVJHRVRfVFlQRV9TRVJWSUNFEAgSFgoSVEFSR0VUX1RZUEVfTUVUSE9EEAkqCQjoBxCAgICAAkoECAQQBSJzCgxPbmVvZk9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKYAgoLRW51bU9wdGlvbnMSHwoLYWxsb3dfYWxpYXMYAiABKAhSCmFsbG93QWxpYXMSJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYBiABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgFEAYingEKEEVudW1WYWx1ZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBgBIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKcAQoOU2VydmljZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiLgAgoNTWV0aG9kT3B0aW9ucxIlCgpkZXByZWNhdGVkGCEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJxChFpZGVtcG90ZW5jeV9sZXZlbBgiIAEoDjIvLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zLklkZW1wb3RlbmN5TGV2ZWw6E0lERU1QT1RFTkNZX1VOS05PV05SEGlkZW1wb3RlbmN5TGV2ZWwSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iUAoQSWRlbXBvdGVuY3lMZXZlbBIXChNJREVNUE9URU5DWV9VTktOT1dOEAASEwoPTk9fU0lERV9FRkZFQ1RTEAESDgoKSURFTVBPVEVOVBACKgkI6AcQgICAgAIimgMKE1VuaW50ZXJwcmV0ZWRPcHRpb24SQQoEbmFtZRgCIAMoCzItLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uLk5hbWVQYXJ0UgRuYW1lEikKEGlkZW50aWZpZXJfdmFsdWUYAyABKAlSD2lkZW50aWZpZXJWYWx1ZRIsChJwb3NpdGl2ZV9pbnRfdmFsdWUYBCABKARSEHBvc2l0aXZlSW50VmFsdWUSLAoSbmVnYXRpdmVfaW50X3ZhbHVlGAUgASgDUhBuZWdhdGl2ZUludFZhbHVlEiEKDGRvdWJsZV92YWx1ZRgGIAEoAVILZG91YmxlVmFsdWUSIQoMc3RyaW5nX3ZhbHVlGAcgASgMUgtzdHJpbmdWYWx1ZRInCg9hZ2dyZWdhdGVfdmFsdWUYCCABKAlSDmFnZ3JlZ2F0ZVZhbHVlGkoKCE5hbWVQYXJ0EhsKCW5hbWVfcGFydBgBIAIoCVIIbmFtZVBhcnQSIQoMaXNfZXh0ZW5zaW9uGAIgAigIUgtpc0V4dGVuc2lvbiKnAgoOU291cmNlQ29kZUluZm8SRAoIbG9jYXRpb24YASADKAsyKC5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm8uTG9jYXRpb25SCGxvY2F0aW9uGs4BCghMb2NhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIWCgRzcGFuGAIgAygFQgIQAVIEc3BhbhIpChBsZWFkaW5nX2NvbW1lbnRzGAMgASgJUg9sZWFkaW5nQ29tbWVudHMSKwoRdHJhaWxpbmdfY29tbWVudHMYBCABKAlSEHRyYWlsaW5nQ29tbWVudHMSOgoZbGVhZGluZ19kZXRhY2hlZF9jb21tZW50cxgGIAMoCVIXbGVhZGluZ0RldGFjaGVkQ29tbWVudHMi0AIKEUdlbmVyYXRlZENvZGVJbmZvEk0KCmFubm90YXRpb24YASADKAsyLS5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvblIKYW5ub3RhdGlvbhrrAQoKQW5ub3RhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIfCgtzb3VyY2VfZmlsZRgCIAEoCVIKc291cmNlRmlsZRIUCgViZWdpbhgDIAEoBVIFYmVnaW4SEAoDZW5kGAQgASgFUgNlbmQSUgoIc2VtYW50aWMYBSABKA4yNi5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvbi5TZW1hbnRpY1IIc2VtYW50aWMiKAoIU2VtYW50aWMSCAoETk9ORRAAEgcKA1NFVBABEgkKBUFMSUFTEAJCfgoTY29tLmdvb2dsZS5wcm90b2J1ZkIQRGVzY3JpcHRvclByb3Rvc0gBWi1nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9kZXNjcmlwdG9ycGL4AQGiAgNHUEKqAhpHb29nbGUuUHJvdG9idWYuUmVmbGVjdGlvbgqoAgocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxIKZ29vZ2xlLmFwaRoVZ29vZ2xlL2FwaS9odHRwLnByb3RvGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bzpLCgRodHRwEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYsMq8IiABKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUgRodHRwQm4KDmNvbS5nb29nbGUuYXBpQhBBbm5vdGF0aW9uc1Byb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8zCugDCh9nb29nbGUvYXBpL2ZpZWxkX2JlaGF2aW9yLnByb3RvEgpnb29nbGUuYXBpGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90byq2AQoNRmllbGRCZWhhdmlvchIeChpGSUVMRF9CRUhBVklPUl9VTlNQRUNJRklFRBAAEgwKCE9QVElPTkFMEAESDAoIUkVRVUlSRUQQAhIPCgtPVVRQVVRfT05MWRADEg4KCklOUFVUX09OTFkQBBINCglJTU1VVEFCTEUQBRISCg5VTk9SREVSRURfTElTVBAGEhUKEU5PTl9FTVBUWV9ERUZBVUxUEAcSDgoKSURFTlRJRklFUhAIOmQKDmZpZWxkX2JlaGF2aW9yEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxicCCADKA4yGS5nb29nbGUuYXBpLkZpZWxkQmVoYXZpb3JCAhAAUg1maWVsZEJlaGF2aW9yQnAKDmNvbS5nb29nbGUuYXBpQhJGaWVsZEJlaGF2aW9yUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzMK4gUKHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiKYAQoGU3RydWN0EjsKBmZpZWxkcxgBIAMoCzIjLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QuRmllbGRzRW50cnlSBmZpZWxkcxpRCgtGaWVsZHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIrICCgVWYWx1ZRI7CgpudWxsX3ZhbHVlGAEgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZUgAUgludWxsVmFsdWUSIwoMbnVtYmVyX3ZhbHVlGAIgASgBSABSC251bWJlclZhbHVlEiMKDHN0cmluZ192YWx1ZRgDIAEoCUgAUgtzdHJpbmdWYWx1ZRIfCgpib29sX3ZhbHVlGAQgASgISABSCWJvb2xWYWx1ZRI8CgxzdHJ1Y3RfdmFsdWUYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SABSC3N0cnVjdFZhbHVlEjsKCmxpc3RfdmFsdWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuTGlzdFZhbHVlSABSCWxpc3RWYWx1ZUIGCgRraW5kIjsKCUxpc3RWYWx1ZRIuCgZ2YWx1ZXMYASADKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBnZhbHVlcyobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKpj4KLHByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvb3BlbmFwaXYyLnByb3RvEilncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucxocZ29vZ2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90byKzCAoHU3dhZ2dlchIYCgdzd2FnZ2VyGAEgASgJUgdzd2FnZ2VyEkMKBGluZm8YAiABKAsyLy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5JbmZvUgRpbmZvEhIKBGhvc3QYAyABKAlSBGhvc3QSGwoJYmFzZV9wYXRoGAQgASgJUghiYXNlUGF0aBJLCgdzY2hlbWVzGAUgAygOMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1lUgdzY2hlbWVzEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSXwoJcmVzcG9uc2VzGAogAygLMkEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlci5SZXNwb25zZXNFbnRyeVIJcmVzcG9uc2VzEnEKFHNlY3VyaXR5X2RlZmluaXRpb25zGAsgASgLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlEZWZpbml0aW9uc1ITc2VjdXJpdHlEZWZpbml0aW9ucxJaCghzZWN1cml0eRgMIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnRSCHNlY3VyaXR5EkIKBHRhZ3MYDSADKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSBHRhZ3MSZQoNZXh0ZXJuYWxfZG9jcxgOIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEmIKCmV4dGVuc2lvbnMYDyADKAsyQi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Td2FnZ2VyLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpxCg5SZXNwb25zZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJJCgV2YWx1ZRgCIAEoCzIzLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAFKBAgIEAlKBAgJEAoi1gcKCU9wZXJhdGlvbhISCgR0YWdzGAEgAygJUgR0YWdzEhgKB3N1bW1hcnkYAiABKAlSB3N1bW1hcnkSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEmUKDWV4dGVybmFsX2RvY3MYBCABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIhCgxvcGVyYXRpb25faWQYBSABKAlSC29wZXJhdGlvbklkEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSYQoJcmVzcG9uc2VzGAkgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuT3BlcmF0aW9uLlJlc3BvbnNlc0VudHJ5UglyZXNwb25zZXMSSwoHc2NoZW1lcxgKIAMoDjIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtZVIHc2NoZW1lcxIeCgpkZXByZWNhdGVkGAsgASgIUgpkZXByZWNhdGVkEloKCHNlY3VyaXR5GAwgAygLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudFIIc2VjdXJpdHkSZAoKZXh0ZW5zaW9ucxgNIAMoCzJELmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvbi5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMSVQoKcGFyYW1ldGVycxgOIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlBhcmFtZXRlcnNSCnBhcmFtZXRlcnMacQoOUmVzcG9uc2VzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBSgQICBAJImIKClBhcmFtZXRlcnMSVAoHaGVhZGVycxgBIAMoCzI6LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclBhcmFtZXRlclIHaGVhZGVycyKjAgoPSGVhZGVyUGFyYW1ldGVyEhIKBG5hbWUYASABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uElMKBHR5cGUYAyABKA4yPy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJQYXJhbWV0ZXIuVHlwZVIEdHlwZRIWCgZmb3JtYXQYBCABKAlSBmZvcm1hdBIaCghyZXF1aXJlZBgFIAEoCFIIcmVxdWlyZWQiRQoEVHlwZRILCgdVTktOT1dOEAASCgoGU1RSSU5HEAESCgoGTlVNQkVSEAISCwoHSU5URUdFUhADEgsKB0JPT0xFQU4QBEoECAYQB0oECAcQCCLYAQoGSGVhZGVyEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhISCgR0eXBlGAIgASgJUgR0eXBlEhYKBmZvcm1hdBgDIAEoCVIGZm9ybWF0EhgKB2RlZmF1bHQYBiABKAlSB2RlZmF1bHQSGAoHcGF0dGVybhgNIAEoCVIHcGF0dGVybkoECAQQBUoECAUQBkoECAcQCEoECAgQCUoECAkQCkoECAoQC0oECAsQDEoECAwQDUoECA4QD0oECA8QEEoECBAQEUoECBEQEkoECBIQEyKaBQoIUmVzcG9uc2USIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEkkKBnNjaGVtYRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtYVIGc2NoZW1hEloKB2hlYWRlcnMYAyADKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5IZWFkZXJzRW50cnlSB2hlYWRlcnMSXQoIZXhhbXBsZXMYBCADKAsyQS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5FeGFtcGxlc0VudHJ5UghleGFtcGxlcxJjCgpleHRlbnNpb25zGAUgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGm0KDEhlYWRlcnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJHCgV2YWx1ZRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclIFdmFsdWU6AjgBGjsKDUV4YW1wbGVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASLWAwoESW5mbxIUCgV0aXRsZRgBIAEoCVIFdGl0bGUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEigKEHRlcm1zX29mX3NlcnZpY2UYAyABKAlSDnRlcm1zT2ZTZXJ2aWNlEkwKB2NvbnRhY3QYBCABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Db250YWN0Ugdjb250YWN0EkwKB2xpY2Vuc2UYBSABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5MaWNlbnNlUgdsaWNlbnNlEhgKB3ZlcnNpb24YBiABKAlSB3ZlcnNpb24SXwoKZXh0ZW5zaW9ucxgHIAMoCzI/LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkluZm8uRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIkUKB0NvbnRhY3QSEgoEbmFtZRgBIAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybBIUCgVlbWFpbBgDIAEoCVIFZW1haWwiLwoHTGljZW5zZRISCgRuYW1lGAEgASgJUgRuYW1lEhAKA3VybBgCIAEoCVIDdXJsIksKFUV4dGVybmFsRG9jdW1lbnRhdGlvbhIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SEAoDdXJsGAIgASgJUgN1cmwiqgIKBlNjaGVtYRJWCgtqc29uX3NjaGVtYRgBIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSCmpzb25TY2hlbWESJAoNZGlzY3JpbWluYXRvchgCIAEoCVINZGlzY3JpbWluYXRvchIbCglyZWFkX29ubHkYAyABKAhSCHJlYWRPbmx5EmUKDWV4dGVybmFsX2RvY3MYBSABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIYCgdleGFtcGxlGAYgASgJUgdleGFtcGxlSgQIBBAFItcKCgpKU09OU2NoZW1hEhAKA3JlZhgDIAEoCVIDcmVmEhQKBXRpdGxlGAUgASgJUgV0aXRsZRIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SGAoHZGVmYXVsdBgHIAEoCVIHZGVmYXVsdBIbCglyZWFkX29ubHkYCCABKAhSCHJlYWRPbmx5EhgKB2V4YW1wbGUYCSABKAlSB2V4YW1wbGUSHwoLbXVsdGlwbGVfb2YYCiABKAFSCm11bHRpcGxlT2YSGAoHbWF4aW11bRgLIAEoAVIHbWF4aW11bRIrChFleGNsdXNpdmVfbWF4aW11bRgMIAEoCFIQZXhjbHVzaXZlTWF4aW11bRIYCgdtaW5pbXVtGA0gASgBUgdtaW5pbXVtEisKEWV4Y2x1c2l2ZV9taW5pbXVtGA4gASgIUhBleGNsdXNpdmVNaW5pbXVtEh0KCm1heF9sZW5ndGgYDyABKARSCW1heExlbmd0aBIdCgptaW5fbGVuZ3RoGBAgASgEUgltaW5MZW5ndGgSGAoHcGF0dGVybhgRIAEoCVIHcGF0dGVybhIbCgltYXhfaXRlbXMYFCABKARSCG1heEl0ZW1zEhsKCW1pbl9pdGVtcxgVIAEoBFIIbWluSXRlbXMSIQoMdW5pcXVlX2l0ZW1zGBYgASgIUgt1bmlxdWVJdGVtcxIlCg5tYXhfcHJvcGVydGllcxgYIAEoBFINbWF4UHJvcGVydGllcxIlCg5taW5fcHJvcGVydGllcxgZIAEoBFINbWluUHJvcGVydGllcxIaCghyZXF1aXJlZBgaIAMoCVIIcmVxdWlyZWQSFAoFYXJyYXkYIiADKAlSBWFycmF5El8KBHR5cGUYIyADKA4ySy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hLkpTT05TY2hlbWFTaW1wbGVUeXBlc1IEdHlwZRIWCgZmb3JtYXQYJCABKAlSBmZvcm1hdBISCgRlbnVtGC4gAygJUgRlbnVtEnoKE2ZpZWxkX2NvbmZpZ3VyYXRpb24Y6QcgASgLMkguZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5GaWVsZENvbmZpZ3VyYXRpb25SEmZpZWxkQ29uZmlndXJhdGlvbhJlCgpleHRlbnNpb25zGDAgAygLMkUuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaPAoSRmllbGRDb25maWd1cmF0aW9uEiYKD3BhdGhfcGFyYW1fbmFtZRgvIAEoCVINcGF0aFBhcmFtTmFtZRpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJ3ChVKU09OU2NoZW1hU2ltcGxlVHlwZXMSCwoHVU5LTk9XThAAEgkKBUFSUkFZEAESCwoHQk9PTEVBThACEgsKB0lOVEVHRVIQAxIICgROVUxMEAQSCgoGTlVNQkVSEAUSCgoGT0JKRUNUEAYSCgoGU1RSSU5HEAdKBAgBEAJKBAgCEANKBAgEEAVKBAgSEBNKBAgTEBRKBAgXEBhKBAgbEBxKBAgcEB1KBAgdEB5KBAgeECJKBAglECpKBAgqECtKBAgrEC4i2QIKA1RhZxISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhJlCg1leHRlcm5hbF9kb2NzGAMgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSXgoKZXh0ZW5zaW9ucxgEIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlRhZy5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEi9wEKE1NlY3VyaXR5RGVmaW5pdGlvbnMSaAoIc2VjdXJpdHkYASADKAsyTC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eURlZmluaXRpb25zLlNlY3VyaXR5RW50cnlSCHNlY3VyaXR5GnYKDVNlY3VyaXR5RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSTwoFdmFsdWUYAiABKAsyOS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZVIFdmFsdWU6AjgBIv8GCg5TZWN1cml0eVNjaGVtZRJSCgR0eXBlGAEgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuVHlwZVIEdHlwZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SEgoEbmFtZRgDIAEoCVIEbmFtZRJMCgJpbhgEIAEoDjI8LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkluUgJpbhJSCgRmbG93GAUgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuRmxvd1IEZmxvdxIrChFhdXRob3JpemF0aW9uX3VybBgGIAEoCVIQYXV0aG9yaXphdGlvblVybBIbCgl0b2tlbl91cmwYByABKAlSCHRva2VuVXJsEkkKBnNjb3BlcxgIIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjb3Blc1IGc2NvcGVzEmkKCmV4dGVuc2lvbnMYCSADKAsySS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEiSwoEVHlwZRIQCgxUWVBFX0lOVkFMSUQQABIOCgpUWVBFX0JBU0lDEAESEAoMVFlQRV9BUElfS0VZEAISDwoLVFlQRV9PQVVUSDIQAyIxCgJJbhIOCgpJTl9JTlZBTElEEAASDAoISU5fUVVFUlkQARINCglJTl9IRUFERVIQAiJqCgRGbG93EhAKDEZMT1dfSU5WQUxJRBAAEhEKDUZMT1dfSU1QTElDSVQQARIRCg1GTE9XX1BBU1NXT1JEEAISFAoQRkxPV19BUFBMSUNBVElPThADEhQKEEZMT1dfQUNDRVNTX0NPREUQBCL2AgoTU2VjdXJpdHlSZXF1aXJlbWVudBKKAQoUc2VjdXJpdHlfcmVxdWlyZW1lbnQYASADKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRFbnRyeVITc2VjdXJpdHlSZXF1aXJlbWVudBowChhTZWN1cml0eVJlcXVpcmVtZW50VmFsdWUSFAoFc2NvcGUYASADKAlSBXNjb3BlGp8BChhTZWN1cml0eVJlcXVpcmVtZW50RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSbQoFdmFsdWUYAiABKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRWYWx1ZVIFdmFsdWU6AjgBIpYBCgZTY29wZXMSUgoFc2NvcGUYASADKAsyPC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY29wZXMuU2NvcGVFbnRyeVIFc2NvcGUaOAoKU2NvcGVFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBKjsKBlNjaGVtZRILCgdVTktOT1dOEAASCAoESFRUUBABEgkKBUhUVFBTEAISBgoCV1MQAxIHCgNXU1MQBEJIWkZnaXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS92Mi9wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zYgZwcm90bzMK/QYKLnByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvYW5ub3RhdGlvbnMucHJvdG8SKWdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxoscHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9vcGVuYXBpdjIucHJvdG86fgoRb3BlbmFwaXYyX3N3YWdnZXISHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYkgggASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlclIQb3BlbmFwaXYyU3dhZ2dlcjqGAQoTb3BlbmFwaXYyX29wZXJhdGlvbhIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGJIIIAEoCzI0LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvblISb3BlbmFwaXYyT3BlcmF0aW9uOn4KEG9wZW5hcGl2Ml9zY2hlbWESHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYkgggASgLMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1hUg9vcGVuYXBpdjJTY2hlbWE6dQoNb3BlbmFwaXYyX3RhZxIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9ucxiSCCABKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSDG9wZW5hcGl2MlRhZzp+Cg9vcGVuYXBpdjJfZmllbGQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGJIIIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSDm9wZW5hcGl2MkZpZWxkQkhaRmdpdGh1Yi5jb20vZ3JwYy1lY29zeXN0ZW0vZ3JwYy1nYXRld2F5L3YyL3Byb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnNiBnByb3RvMwrABAoVcHJvdG8vdXNlci91c2VyLnByb3RvEg5idWNrZXRlZXIudXNlciLeAwoEVXNlchIOCgJpZBgBIAEoCVICaWQSMgoEZGF0YRgCIAMoCzIeLmJ1Y2tldGVlci51c2VyLlVzZXIuRGF0YUVudHJ5UgRkYXRhEkUKC3RhZ2dlZF9kYXRhGAMgAygLMiQuYnVja2V0ZWVyLnVzZXIuVXNlci5UYWdnZWREYXRhRW50cnlSCnRhZ2dlZERhdGESGwoJbGFzdF9zZWVuGAQgASgDUghsYXN0U2VlbhIdCgpjcmVhdGVkX2F0GAUgASgDUgljcmVhdGVkQXQafAoERGF0YRI6CgV2YWx1ZRgBIAMoCzIkLmJ1Y2tldGVlci51c2VyLlVzZXIuRGF0YS5WYWx1ZUVudHJ5UgV2YWx1ZRo4CgpWYWx1ZUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaNwoJRGF0YUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaWAoPVGFnZ2VkRGF0YUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Ei8KBXZhbHVlGAIgASgLMhkuYnVja2V0ZWVyLnVzZXIuVXNlci5EYXRhUgV2YWx1ZToCOAFCLlosZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL3VzZXJiBnByb3RvMwq6mgEKG3Byb3RvL2ZlYXR1cmUvc2VydmljZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8aH2dvb2dsZS9hcGkvZmllbGRfYmVoYXZpb3IucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxoucHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90bxobcHJvdG8vZmVhdHVyZS9jb21tYW5kLnByb3RvGhtwcm90by9mZWF0dXJlL2ZlYXR1cmUucHJvdG8aHnByb3RvL2ZlYXR1cmUvZXZhbHVhdGlvbi5wcm90bxoVcHJvdG8vdXNlci91c2VyLnByb3RvGhtwcm90by9mZWF0dXJlL3NlZ21lbnQucHJvdG8aIHByb3RvL2ZlYXR1cmUvZmxhZ190cmlnZ2VyLnByb3RvGh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxogcHJvdG8vZmVhdHVyZS9wcmVyZXF1aXNpdGUucHJvdG8aGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8iUAoRR2V0RmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIkoKEkdldEZlYXR1cmVSZXNwb25zZRI0CgdmZWF0dXJlGAEgASgLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIHZmVhdHVyZSJTChJHZXRGZWF0dXJlc1JlcXVlc3QSEAoDaWRzGAIgAygJUgNpZHMSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgBEAIiTQoTR2V0RmVhdHVyZXNSZXNwb25zZRI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzIvUFChNMaXN0RmVhdHVyZXNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISEgoEdGFncxgDIAMoCVIEdGFncxJJCghvcmRlcl9ieRgEIAEoDjIuLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJeCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNS5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmVhdHVyZXNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIeCgptYWludGFpbmVyGAcgASgJUgptYWludGFpbmVyEjQKB2VuYWJsZWQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUgdlbmFibGVkEkEKDmhhc19leHBlcmltZW50GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVINaGFzRXhwZXJpbWVudBIlCg5zZWFyY2hfa2V5d29yZBgKIAEoCVINc2VhcmNoS2V5d29yZBI2CghhcmNoaXZlZBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGFyY2hpdmVkEkcKEWhhc19wcmVyZXF1aXNpdGVzGAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIQaGFzUHJlcmVxdWlzaXRlcxIlCg5lbnZpcm9ubWVudF9pZBgNIAEoCVINZW52aXJvbm1lbnRJZCJXCgdPcmRlckJ5EgsKB0RFRkFVTFQQABIICgROQU1FEAESDgoKQ1JFQVRFRF9BVBACEg4KClVQREFURURfQVQQAxIICgRUQUdTEAQSCwoHRU5BQkxFRBAFIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAYQByKHAQoUTGlzdEZlYXR1cmVzUmVzcG9uc2USNgoIZmVhdHVyZXMYASADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUghmZWF0dXJlcxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKSAQoaTGlzdEVuYWJsZWRGZWF0dXJlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchISCgR0YWdzGAMgAygJUgR0YWdzEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIBBAFIm0KG0xpc3RFbmFibGVkRmVhdHVyZXNSZXNwb25zZRI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yIoYBChRDcmVhdGVGZWF0dXJlUmVxdWVzdBJBCgdjb21tYW5kGAEgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiTQoVQ3JlYXRlRmVhdHVyZVJlc3BvbnNlEjQKB2ZlYXR1cmUYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUgdmZWF0dXJlIs8FChRVcGRhdGVGZWF0dXJlUmVxdWVzdBIYCgdjb21tZW50GAEgASgJUgdjb21tZW50EiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkEg4KAmlkGAMgASgJUgJpZBIwCgRuYW1lGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbhISCgR0YWdzGAYgAygJUgR0YWdzEjQKB2VuYWJsZWQYByABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUgdlbmFibGVkEjYKCGFyY2hpdmVkGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIYXJjaGl2ZWQSPAoKdmFyaWF0aW9ucxgJIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxJFCg1wcmVyZXF1aXNpdGVzGAogAygLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUg1wcmVyZXF1aXNpdGVzEjMKB3RhcmdldHMYCyADKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5UYXJnZXRSB3RhcmdldHMSLQoFcnVsZXMYDCADKAsyFy5idWNrZXRlZXIuZmVhdHVyZS5SdWxlUgVydWxlcxJGChBkZWZhdWx0X3N0cmF0ZWd5GA0gASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSD2RlZmF1bHRTdHJhdGVneRJBCg1vZmZfdmFyaWF0aW9uGA4gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgxvZmZWYXJpYXRpb24iTQoVVXBkYXRlRmVhdHVyZVJlc3BvbnNlEjQKB2ZlYXR1cmUYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUgdmZWF0dXJlIrABChRFbmFibGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQQoHY29tbWFuZBgCIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRW5hYmxlRmVhdHVyZVJlc3BvbnNlIrIBChVEaXNhYmxlRmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkIKB2NvbW1hbmQYAiABKAsyKC5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZEaXNhYmxlRmVhdHVyZVJlc3BvbnNlIrIBChVBcmNoaXZlRmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkIKB2NvbW1hbmQYAiABKAsyKC5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZBcmNoaXZlRmVhdHVyZVJlc3BvbnNlIrYBChdVbmFyY2hpdmVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSRAoHY29tbWFuZBgCIAEoCzIqLmJ1Y2tldGVlci5mZWF0dXJlLlVuYXJjaGl2ZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGgoYVW5hcmNoaXZlRmVhdHVyZVJlc3BvbnNlIrABChREZWxldGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQQoHY29tbWFuZBgCIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRGVsZXRlRmVhdHVyZVJlc3BvbnNlIt8DChtVcGRhdGVGZWF0dXJlRGV0YWlsc1JlcXVlc3QSDgoCaWQYASABKAlSAmlkEl0KFnJlbmFtZV9mZWF0dXJlX2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5SZW5hbWVGZWF0dXJlQ29tbWFuZFIUcmVuYW1lRmVhdHVyZUNvbW1hbmQSaQoaY2hhbmdlX2Rlc2NyaXB0aW9uX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5DaGFuZ2VEZXNjcmlwdGlvbkNvbW1hbmRSGGNoYW5nZURlc2NyaXB0aW9uQ29tbWFuZBJKChBhZGRfdGFnX2NvbW1hbmRzGAQgAygLMiAuYnVja2V0ZWVyLmZlYXR1cmUuQWRkVGFnQ29tbWFuZFIOYWRkVGFnQ29tbWFuZHMSUwoTcmVtb3ZlX3RhZ19jb21tYW5kcxgFIAMoCzIjLmJ1Y2tldGVlci5mZWF0dXJlLlJlbW92ZVRhZ0NvbW1hbmRSEXJlbW92ZVRhZ0NvbW1hbmRzEhgKB2NvbW1lbnQYByABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYCCABKAlSDWVudmlyb25tZW50SWRKBAgGEAciHgocVXBkYXRlRmVhdHVyZURldGFpbHNSZXNwb25zZSKvAQoeVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBI2Cghjb21tYW5kcxgCIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkNvbW1hbmRSCGNvbW1hbmRzEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiIQofVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXNwb25zZSKhAgodVXBkYXRlRmVhdHVyZVRhcmdldGluZ1JlcXVlc3QSDgoCaWQYASABKAlSAmlkEjYKCGNvbW1hbmRzGAIgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuQ29tbWFuZFIIY29tbWFuZHMSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBJJCgRmcm9tGAUgASgOMjUuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVRhcmdldGluZ1JlcXVlc3QuRnJvbVIEZnJvbRIlCg5lbnZpcm9ubWVudF9pZBgGIAEoCVINZW52aXJvbm1lbnRJZCImCgRGcm9tEgsKB1VOS05PV04QABIICgRVU0VSEAESBwoDT1BTEAJKBAgDEAQiIAoeVXBkYXRlRmVhdHVyZVRhcmdldGluZ1Jlc3BvbnNlIpQBChNDbG9uZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJACgdjb21tYW5kGAIgASgLMiYuYnVja2V0ZWVyLmZlYXR1cmUuQ2xvbmVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIWChRDbG9uZUZlYXR1cmVSZXNwb25zZSLZAQoUQ3JlYXRlU2VnbWVudFJlcXVlc3QSVAoHY29tbWFuZBgBIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZVNlZ21lbnRDb21tYW5kQhEYAZJBDDIKZGVwcmVjYXRlZFIHY29tbWFuZBIXCgRuYW1lGAMgASgJQgPgQQJSBG5hbWUSKgoOZW52aXJvbm1lbnRfaWQYBCABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIgCgtkZXNjcmlwdGlvbhgFIAEoCVILZGVzY3JpcHRpb25KBAgCEAMiTQoVQ3JlYXRlU2VnbWVudFJlc3BvbnNlEjQKB3NlZ21lbnQYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UgdzZWdtZW50IloKEUdldFNlZ21lbnRSZXF1ZXN0EhMKAmlkGAEgASgJQgPgQQJSAmlkEioKDmVudmlyb25tZW50X2lkGAMgASgJQgPgQQJSDWVudmlyb25tZW50SWRKBAgCEAMiSgoSR2V0U2VnbWVudFJlc3BvbnNlEjQKB3NlZ21lbnQYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UgdzZWdtZW50Iq8EChNMaXN0U2VnbWVudHNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISSQoIb3JkZXJfYnkYBCABKA4yLi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudHNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSXgoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjUuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFNlZ21lbnRzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBiABKAlSDXNlYXJjaEtleXdvcmQSMwoGc3RhdHVzGAcgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSBnN0YXR1cxJDChBpc19pbl91c2Vfc3RhdHVzGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVINaXNJblVzZVN0YXR1cxIqCg5lbnZpcm9ubWVudF9pZBgJIAEoCUID4EECUg1lbnZpcm9ubWVudElkIkAKB09yZGVyQnkSCwoHREVGQVVMVBAAEggKBE5BTUUQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAMQBCKHAQoUTGlzdFNlZ21lbnRzUmVzcG9uc2USNgoIc2VnbWVudHMYASADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UghzZWdtZW50cxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKpAQoURGVsZXRlU2VnbWVudFJlcXVlc3QSDgoCaWQYASABKAlSAmlkElQKB2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50Q29tbWFuZEIRGAGSQQwyCmRlcHJlY2F0ZWRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRGVsZXRlU2VnbWVudFJlc3BvbnNlIpUCChRVcGRhdGVTZWdtZW50UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSSQoIY29tbWFuZHMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5Db21tYW5kQhEYAZJBDDIKZGVwcmVjYXRlZFIIY29tbWFuZHMSKgoOZW52aXJvbm1lbnRfaWQYBCABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIwCgRuYW1lGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAYgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbkoECAMQBCJNChVVcGRhdGVTZWdtZW50UmVzcG9uc2USNAoHc2VnbWVudBgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRSB3NlZ21lbnQimAEKFUFkZFNlZ21lbnRVc2VyUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQgoHY29tbWFuZBgCIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLkFkZFNlZ21lbnRVc2VyQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZBZGRTZWdtZW50VXNlclJlc3BvbnNlIp4BChhEZWxldGVTZWdtZW50VXNlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkUKB2NvbW1hbmQYAiABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlckNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGwoZRGVsZXRlU2VnbWVudFVzZXJSZXNwb25zZSK4AQoVR2V0U2VnbWVudFVzZXJSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgd1c2VyX2lkGAIgASgJUgZ1c2VySWQSOgoFc3RhdGUYAyABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgEEAUiTAoWR2V0U2VnbWVudFVzZXJSZXNwb25zZRIyCgR1c2VyGAEgASgLMh4uYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXJSBHVzZXIi5gEKF0xpc3RTZWdtZW50VXNlcnNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHQoKc2VnbWVudF9pZBgDIAEoCVIJc2VnbWVudElkEjEKBXN0YXRlGAQgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSBXN0YXRlEhcKB3VzZXJfaWQYBSABKAlSBnVzZXJJZBIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZEoECAYQByJoChhMaXN0U2VnbWVudFVzZXJzUmVzcG9uc2USNAoFdXNlcnMYASADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3Ii0AIKHUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYAiABKAlSCXNlZ21lbnRJZBJdCgdjb21tYW5kGAMgASgLMjAuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc0NvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkEkgKBGRhdGEYBSABKAxCNJJBMTIvc2VnbWVudCB1c2VyIGlkcyBzZXBhcmF0ZWQgYnkgY29tbWEgb3IgbmV3IGxpbmVSBGRhdGESOgoFc3RhdGUYBiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGVKBAgBEAIiIAoeQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIrMBCh9CdWxrRG93bmxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0EiIKCnNlZ21lbnRfaWQYAiABKAlCA+BBAlIJc2VnbWVudElkEjoKBXN0YXRlGAMgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlEioKDmVudmlyb25tZW50X2lkGAQgASgJQgPgQQJSDWVudmlyb25tZW50SWRKBAgBEAIiNgogQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzUmVzcG9uc2USEgoEZGF0YRgBIAEoDFIEZGF0YSKhAQoXRXZhbHVhdGVGZWF0dXJlc1JlcXVlc3QSKAoEdXNlchgBIAEoCzIULmJ1Y2tldGVlci51c2VyLlVzZXJSBHVzZXISEAoDdGFnGAMgASgJUgN0YWcSHQoKZmVhdHVyZV9pZBgEIAEoCVIJZmVhdHVyZUlkEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAhADImkKGEV2YWx1YXRlRmVhdHVyZXNSZXNwb25zZRJNChB1c2VyX2V2YWx1YXRpb25zGAEgASgLMiIuYnVja2V0ZWVyLmZlYXR1cmUuVXNlckV2YWx1YXRpb25zUg91c2VyRXZhbHVhdGlvbnMirAMKD0xpc3RUYWdzUmVxdWVzdBIbCglwYWdlX3NpemUYAiABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgDIAEoCVIGY3Vyc29yEkUKCG9yZGVyX2J5GAQgASgOMiouYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSWgoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjEuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZCJICgdPcmRlckJ5EgsKB0RFRkFVTFQQABIGCgJJRBABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSCAoETkFNRRAEIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAEQAiJ3ChBMaXN0VGFnc1Jlc3BvbnNlEioKBHRhZ3MYASADKAsyFi5idWNrZXRlZXIuZmVhdHVyZS5UYWdSBHRhZ3MSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiswEKGENyZWF0ZUZsYWdUcmlnZ2VyUmVxdWVzdBJqChtjcmVhdGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAiABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlckNvbW1hbmRSGGNyZWF0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiJwChlDcmVhdGVGbGFnVHJpZ2dlclJlc3BvbnNlEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCLDAQoYRGVsZXRlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJqChtkZWxldGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlckNvbW1hbmRSGGRlbGV0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIbChlEZWxldGVGbGFnVHJpZ2dlclJlc3BvbnNlIuYBChhVcGRhdGVGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEowBCidjaGFuZ2VfZmxhZ190cmlnZ2VyX2Rlc2NyaXB0aW9uX2NvbW1hbmQYAyABKAsyNi5idWNrZXRlZXIuZmVhdHVyZS5DaGFuZ2VGbGFnVHJpZ2dlckRlc2NyaXB0aW9uQ29tbWFuZFIjY2hhbmdlRmxhZ1RyaWdnZXJEZXNjcmlwdGlvbkNvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiGwoZVXBkYXRlRmxhZ1RyaWdnZXJSZXNwb25zZSLDAQoYRW5hYmxlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJqChtlbmFibGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlckNvbW1hbmRSGGVuYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIbChlFbmFibGVGbGFnVHJpZ2dlclJlc3BvbnNlIscBChlEaXNhYmxlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJtChxkaXNhYmxlX2ZsYWdfdHJpZ2dlcl9jb21tYW5kGAMgASgLMiwuYnVja2V0ZWVyLmZlYXR1cmUuRGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZFIZZGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIcChpEaXNhYmxlRmxhZ1RyaWdnZXJSZXNwb25zZSK/AQoXUmVzZXRGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEmcKGnJlc2V0X2ZsYWdfdHJpZ2dlcl9jb21tYW5kGAMgASgLMiouYnVja2V0ZWVyLmZlYXR1cmUuUmVzZXRGbGFnVHJpZ2dlckNvbW1hbmRSF3Jlc2V0RmxhZ1RyaWdnZXJDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIm8KGFJlc2V0RmxhZ1RyaWdnZXJSZXNwb25zZRJBCgxmbGFnX3RyaWdnZXIYASABKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlclILZmxhZ1RyaWdnZXISEAoDdXJsGAIgASgJUgN1cmwiVAoVR2V0RmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyJtChZHZXRGbGFnVHJpZ2dlclJlc3BvbnNlEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCKqAwoXTGlzdEZsYWdUcmlnZ2Vyc1JlcXVlc3QSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhYKBmN1cnNvchgDIAEoCVIGY3Vyc29yEhsKCXBhZ2Vfc2l6ZRgEIAEoBVIIcGFnZVNpemUSTQoIb3JkZXJfYnkYBSABKA4yMi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmxhZ1RyaWdnZXJzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmIKD29yZGVyX2RpcmVjdGlvbhgGIAEoDjI5LmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZCI2CgdPcmRlckJ5EgsKB0RFRkFVTFQQABIOCgpDUkVBVEVEX0FUEAESDgoKVVBEQVRFRF9BVBACIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAIQAyKjAgoYTGlzdEZsYWdUcmlnZ2Vyc1Jlc3BvbnNlEmMKDWZsYWdfdHJpZ2dlcnMYASADKAsyPi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmxhZ1RyaWdnZXJzUmVzcG9uc2UuRmxhZ1RyaWdnZXJXaXRoVXJsUgxmbGFnVHJpZ2dlcnMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQaaQoSRmxhZ1RyaWdnZXJXaXRoVXJsEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCIxChlGbGFnVHJpZ2dlcldlYmhvb2tSZXF1ZXN0EhQKBXRva2VuGAEgASgJUgV0b2tlbiIcChpGbGFnVHJpZ2dlcldlYmhvb2tSZXNwb25zZTLEPAoORmVhdHVyZVNlcnZpY2USWwoKR2V0RmVhdHVyZRIkLmJ1Y2tldGVlci5mZWF0dXJlLkdldEZlYXR1cmVSZXF1ZXN0GiUuYnVja2V0ZWVyLmZlYXR1cmUuR2V0RmVhdHVyZVJlc3BvbnNlIgASXgoLR2V0RmVhdHVyZXMSJS5idWNrZXRlZXIuZmVhdHVyZS5HZXRGZWF0dXJlc1JlcXVlc3QaJi5idWNrZXRlZXIuZmVhdHVyZS5HZXRGZWF0dXJlc1Jlc3BvbnNlIgASYQoMTGlzdEZlYXR1cmVzEiYuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZlYXR1cmVzUmVxdWVzdBonLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1Jlc3BvbnNlIgASdgoTTGlzdEVuYWJsZWRGZWF0dXJlcxItLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RFbmFibGVkRmVhdHVyZXNSZXF1ZXN0Gi4uYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEVuYWJsZWRGZWF0dXJlc1Jlc3BvbnNlIgASZAoNQ3JlYXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlRmVhdHVyZVJlc3BvbnNlIgASZAoNVXBkYXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVJlc3BvbnNlIgASZwoNRW5hYmxlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuRW5hYmxlRmVhdHVyZVJlc3BvbnNlIgOIAgESagoORGlzYWJsZUZlYXR1cmUSKC5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZVJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZVJlc3BvbnNlIgOIAgESZwoOQXJjaGl2ZUZlYXR1cmUSKC5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZVJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZVJlc3BvbnNlIgASbQoQVW5hcmNoaXZlRmVhdHVyZRIqLmJ1Y2tldGVlci5mZWF0dXJlLlVuYXJjaGl2ZUZlYXR1cmVSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuVW5hcmNoaXZlRmVhdHVyZVJlc3BvbnNlIgASZAoNRGVsZXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlRmVhdHVyZVJlc3BvbnNlIgASeQoUVXBkYXRlRmVhdHVyZURldGFpbHMSLi5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlRGV0YWlsc1JlcXVlc3QaLy5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlRGV0YWlsc1Jlc3BvbnNlIgASggEKF1VwZGF0ZUZlYXR1cmVWYXJpYXRpb25zEjEuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXF1ZXN0GjIuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXNwb25zZSIAEn8KFlVwZGF0ZUZlYXR1cmVUYXJnZXRpbmcSMC5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVxdWVzdBoxLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVUYXJnZXRpbmdSZXNwb25zZSIAEmEKDENsb25lRmVhdHVyZRImLmJ1Y2tldGVlci5mZWF0dXJlLkNsb25lRmVhdHVyZVJlcXVlc3QaJy5idWNrZXRlZXIuZmVhdHVyZS5DbG9uZUZlYXR1cmVSZXNwb25zZSIAEqYECg1DcmVhdGVTZWdtZW50EicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlU2VnbWVudFJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVTZWdtZW50UmVzcG9uc2UiwQOSQacDCgdzZWdtZW50EgZDcmVhdGUaEUNyZWF0ZSBhIHNlZ21lbnQuKhV3ZWIudjEuc2VnbWVudC5jcmVhdGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIQIgsvdjEvc2VnbWVudDoBKhKRBAoKR2V0U2VnbWVudBIkLmJ1Y2tldGVlci5mZWF0dXJlLkdldFNlZ21lbnRSZXF1ZXN0GiUuYnVja2V0ZWVyLmZlYXR1cmUuR2V0U2VnbWVudFJlc3BvbnNlIrUDkkGeAwoHc2VnbWVudBIDR2V0Gg5HZXQgYSBzZWdtZW50LioSd2ViLnYxLnNlZ21lbnQuZ2V0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDRILL3YxL3NlZ21lbnQSmgQKDExpc3RTZWdtZW50cxImLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50c1JlcXVlc3QaJy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudHNSZXNwb25zZSK4A5JBoAMKB3NlZ21lbnQSBExpc3QaDkxpc3Qgc2VnbWVudHMuKhN3ZWIudjEuc2VnbWVudC5saXN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDhIML3YxL3NlZ21lbnRzEqMECg1EZWxldGVTZWdtZW50EicuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlU2VnbWVudFJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50UmVzcG9uc2UivgOSQacDCgdzZWdtZW50EgZEZWxldGUaEURlbGV0ZSBhIHNlZ21lbnQuKhV3ZWIudjEuc2VnbWVudC5kZWxldGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwINKgsvdjEvc2VnbWVudBKmBAoNVXBkYXRlU2VnbWVudBInLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZVNlZ21lbnRSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlU2VnbWVudFJlc3BvbnNlIsEDkkGnAwoHc2VnbWVudBIGVXBkYXRlGhFVcGRhdGUgYSBzZWdtZW50LioVd2ViLnYxLnNlZ21lbnQudXBkYXRlSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCEDILL3YxL3NlZ21lbnQ6ASoSagoOQWRkU2VnbWVudFVzZXISKC5idWNrZXRlZXIuZmVhdHVyZS5BZGRTZWdtZW50VXNlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5BZGRTZWdtZW50VXNlclJlc3BvbnNlIgOIAgEScwoRRGVsZXRlU2VnbWVudFVzZXISKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlclJlc3BvbnNlIgOIAgESagoOR2V0U2VnbWVudFVzZXISKC5idWNrZXRlZXIuZmVhdHVyZS5HZXRTZWdtZW50VXNlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5HZXRTZWdtZW50VXNlclJlc3BvbnNlIgOIAgESbQoQTGlzdFNlZ21lbnRVc2VycxIqLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50VXNlcnNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIgAS7AQKFkJ1bGtVcGxvYWRTZWdtZW50VXNlcnMSMC5idWNrZXRlZXIuZmVhdHVyZS5CdWxrVXBsb2FkU2VnbWVudFVzZXJzUmVxdWVzdBoxLmJ1Y2tldGVlci5mZWF0dXJlLkJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXNwb25zZSLsA5JBwAMKB3NlZ21lbnQSC0J1bGsgdXBsb2FkGhpCdWxrIHVwbG9hZCBzZWdtZW50IHVzZXJzLiogd2ViLnYxLnNlZ21lbnRfdXNlcnMuYnVsa191cGxvYWRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIiIh0vdjEvc2VnbWVudF91c2Vycy9idWxrX3VwbG9hZDoBKhL3BAoYQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzEjIuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzUmVxdWVzdBozLmJ1Y2tldGVlci5mZWF0dXJlLkJ1bGtEb3dubG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIvEDkkHGAwoHc2VnbWVudBINQnVsayBkb3dubG9hZBocQnVsayBkb3dubG9hZCBzZWdtZW50IHVzZXJzLioid2ViLnYxLnNlZ21lbnRfdXNlcnMuYnVsa19kb3dubG9hZEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiESHy92MS9zZWdtZW50X3VzZXJzL2J1bGtfZG93bmxvYWQSbQoQRXZhbHVhdGVGZWF0dXJlcxIqLmJ1Y2tldGVlci5mZWF0dXJlLkV2YWx1YXRlRmVhdHVyZXNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGVGZWF0dXJlc1Jlc3BvbnNlIgAS/gMKCExpc3RUYWdzEiIuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXF1ZXN0GiMuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXNwb25zZSKoA5JBlAMKA3RhZxIETGlzdBoKTGlzdCB0YWdzLioPd2ViLnYxLnRhZy5saXN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCChIIL3YxL3RhZ3MScAoRQ3JlYXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRVXBkYXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRRW5hYmxlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScwoSRGlzYWJsZUZsYWdUcmlnZ2VyEiwuYnVja2V0ZWVyLmZlYXR1cmUuRGlzYWJsZUZsYWdUcmlnZ2VyUmVxdWVzdBotLmJ1Y2tldGVlci5mZWF0dXJlLkRpc2FibGVGbGFnVHJpZ2dlclJlc3BvbnNlIgASbQoQUmVzZXRGbGFnVHJpZ2dlchIqLmJ1Y2tldGVlci5mZWF0dXJlLlJlc2V0RmxhZ1RyaWdnZXJSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuUmVzZXRGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRRGVsZXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlclJlc3BvbnNlIgASZwoOR2V0RmxhZ1RyaWdnZXISKC5idWNrZXRlZXIuZmVhdHVyZS5HZXRGbGFnVHJpZ2dlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5HZXRGbGFnVHJpZ2dlclJlc3BvbnNlIgASbQoQTGlzdEZsYWdUcmlnZ2VycxIqLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZsYWdUcmlnZ2Vyc1Jlc3BvbnNlIgASlAEKEkZsYWdUcmlnZ2VyV2ViaG9vaxIsLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyV2ViaG9va1JlcXVlc3QaLS5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlcldlYmhvb2tSZXNwb25zZSIhgtPkkwIbIhkvd2ViaG9vay90cmlnZ2Vycy97dG9rZW59QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzM= accountDescriptor: CucDCiNwcm90by9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IukCCg1FbnZpcm9ubWVudFYyEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIdCgpwcm9qZWN0X2lkGAUgASgJUglwcm9qZWN0SWQSGgoIYXJjaGl2ZWQYBiABKAhSCGFyY2hpdmVkEh0KCmNyZWF0ZWRfYXQYByABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAggASgDUgl1cGRhdGVkQXQSJwoPb3JnYW5pemF0aW9uX2lkGAkgASgJUg5vcmdhbml6YXRpb25JZBInCg9yZXF1aXJlX2NvbW1lbnQYCiABKAhSDnJlcXVpcmVDb21tZW50EiwKEmZlYXR1cmVfZmxhZ19jb3VudBgLIAEoBVIQZmVhdHVyZUZsYWdDb3VudEI1WjNnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZW52aXJvbm1lbnRiBnByb3RvMwr9AwofcHJvdG8vZW52aXJvbm1lbnQvcHJvamVjdC5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IoMDCgdQcm9qZWN0Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SGgoIZGlzYWJsZWQYAyABKAhSCGRpc2FibGVkEhQKBXRyaWFsGAQgASgIUgV0cmlhbBIjCg1jcmVhdG9yX2VtYWlsGAUgASgJUgxjcmVhdG9yRW1haWwSHQoKY3JlYXRlZF9hdBgGIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYByABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAggASgJUgRuYW1lEhkKCHVybF9jb2RlGAkgASgJUgd1cmxDb2RlEicKD29yZ2FuaXphdGlvbl9pZBgKIAEoCVIOb3JnYW5pemF0aW9uSWQSKwoRZW52aXJvbm1lbnRfY291bnQYCyABKAVSEGVudmlyb25tZW50Q291bnQSLAoSZmVhdHVyZV9mbGFnX2NvdW50GAwgASgFUhBmZWF0dXJlRmxhZ0NvdW50QjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCq8ECiRwcm90by9lbnZpcm9ubWVudC9vcmdhbml6YXRpb24ucHJvdG8SFWJ1Y2tldGVlci5lbnZpcm9ubWVudCKwAwoMT3JnYW5pemF0aW9uEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgFIAEoCFIIZGlzYWJsZWQSGgoIYXJjaGl2ZWQYBiABKAhSCGFyY2hpdmVkEhQKBXRyaWFsGAcgASgIUgV0cmlhbBIdCgpjcmVhdGVkX2F0GAggASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgJIAEoA1IJdXBkYXRlZEF0EiEKDHN5c3RlbV9hZG1pbhgKIAEoCFILc3lzdGVtQWRtaW4SIwoNcHJvamVjdF9jb3VudBgLIAEoBVIMcHJvamVjdENvdW50EisKEWVudmlyb25tZW50X2NvdW50GAwgASgFUhBlbnZpcm9ubWVudENvdW50Eh0KCnVzZXJfY291bnQYDSABKAVSCXVzZXJDb3VudBIfCgtvd25lcl9lbWFpbBgOIAEoCVIKb3duZXJFbWFpbEI1WjNnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZW52aXJvbm1lbnRiBnByb3RvMwqQAwohcHJvdG8vYWNjb3VudC9zZWFyY2hfZmlsdGVyLnByb3RvEhFidWNrZXRlZXIuYWNjb3VudCLpAQoMU2VhcmNoRmlsdGVyEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhQKBXF1ZXJ5GAMgASgJUgVxdWVyeRJRChJmaWx0ZXJfdGFyZ2V0X3R5cGUYBCABKA4yIy5idWNrZXRlZXIuYWNjb3VudC5GaWx0ZXJUYXJnZXRUeXBlUhBmaWx0ZXJUYXJnZXRUeXBlEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkEiUKDmRlZmF1bHRfZmlsdGVyGAYgASgIUg1kZWZhdWx0RmlsdGVyKjEKEEZpbHRlclRhcmdldFR5cGUSCwoHVU5LTk9XThAAEhAKDEZFQVRVUkVfRkxBRxABQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hY2NvdW50YgZwcm90bzMKwBMKG3Byb3RvL2FjY291bnQvYWNjb3VudC5wcm90bxIRYnVja2V0ZWVyLmFjY291bnQaI3Byb3RvL2Vudmlyb25tZW50L2Vudmlyb25tZW50LnByb3RvGh9wcm90by9lbnZpcm9ubWVudC9wcm9qZWN0LnByb3RvGiRwcm90by9lbnZpcm9ubWVudC9vcmdhbml6YXRpb24ucHJvdG8aIXByb3RvL2FjY291bnQvc2VhcmNoX2ZpbHRlci5wcm90byKrAgoHQWNjb3VudBIOCgJpZBgBIAEoCVICaWQSFAoFZW1haWwYAiABKAlSBWVtYWlsEhIKBG5hbWUYAyABKAlSBG5hbWUSMwoEcm9sZRgEIAEoDjIfLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnQuUm9sZVIEcm9sZRIaCghkaXNhYmxlZBgFIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgGIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYByABKANSCXVwZGF0ZWRBdBIYCgdkZWxldGVkGAggASgIUgdkZWxldGVkIjkKBFJvbGUSCgoGVklFV0VSEAASCgoGRURJVE9SEAESCQoFT1dORVIQAhIOCgpVTkFTU0lHTkVEEGM6AhgBIqgICglBY2NvdW50VjISFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSKAoQYXZhdGFyX2ltYWdlX3VybBgDIAEoCVIOYXZhdGFySW1hZ2VVcmwSJwoPb3JnYW5pemF0aW9uX2lkGAQgASgJUg5vcmdhbml6YXRpb25JZBJbChFvcmdhbml6YXRpb25fcm9sZRgFIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgGIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSGgoIZGlzYWJsZWQYByABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYCCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAkgASgDUgl1cGRhdGVkQXQSRgoOc2VhcmNoX2ZpbHRlcnMYCiADKAsyHy5idWNrZXRlZXIuYWNjb3VudC5TZWFyY2hGaWx0ZXJSDXNlYXJjaEZpbHRlcnMSHQoKZmlyc3RfbmFtZRgLIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgMIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYDSABKAlSCGxhbmd1YWdlEhsKCWxhc3Rfc2VlbhgOIAEoA1IIbGFzdFNlZW4SKAoQYXZhdGFyX2ZpbGVfdHlwZRgPIAEoCVIOYXZhdGFyRmlsZVR5cGUSIQoMYXZhdGFyX2ltYWdlGBAgASgMUgthdmF0YXJJbWFnZRIrChFlbnZpcm9ubWVudF9jb3VudBgRIAEoBVIQZW52aXJvbm1lbnRDb3VudBrXAQoEUm9sZSJZCgtFbnZpcm9ubWVudBIaChZFbnZpcm9ubWVudF9VTkFTU0lHTkVEEAASFgoSRW52aXJvbm1lbnRfVklFV0VSEAESFgoSRW52aXJvbm1lbnRfRURJVE9SEAIidAoMT3JnYW5pemF0aW9uEhsKF09yZ2FuaXphdGlvbl9VTkFTU0lHTkVEEAASFwoTT3JnYW5pemF0aW9uX01FTUJFUhABEhYKEk9yZ2FuaXphdGlvbl9BRE1JThACEhYKEk9yZ2FuaXphdGlvbl9PV05FUhADGnsKD0Vudmlyb25tZW50Um9sZRIlCg5lbnZpcm9ubWVudF9pZBgBIAEoCVINZW52aXJvbm1lbnRJZBJBCgRyb2xlGAIgASgOMi0uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuRW52aXJvbm1lbnRSBHJvbGUi6gYKDkNvbnNvbGVBY2NvdW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBISCgRuYW1lGAIgASgJUgRuYW1lEh0KCmF2YXRhcl91cmwYAyABKAlSCWF2YXRhclVybBImCg9pc19zeXN0ZW1fYWRtaW4YBCABKAhSDWlzU3lzdGVtQWRtaW4SRwoMb3JnYW5pemF0aW9uGAUgASgLMiMuYnVja2V0ZWVyLmVudmlyb25tZW50Lk9yZ2FuaXphdGlvblIMb3JnYW5pemF0aW9uElsKEW9yZ2FuaXphdGlvbl9yb2xlGAYgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUhBvcmdhbml6YXRpb25Sb2xlEl4KEWVudmlyb25tZW50X3JvbGVzGAcgAygLMjEuYnVja2V0ZWVyLmFjY291bnQuQ29uc29sZUFjY291bnQuRW52aXJvbm1lbnRSb2xlUhBlbnZpcm9ubWVudFJvbGVzEkYKDnNlYXJjaF9maWx0ZXJzGAggAygLMh8uYnVja2V0ZWVyLmFjY291bnQuU2VhcmNoRmlsdGVyUg1zZWFyY2hGaWx0ZXJzEh0KCmZpcnN0X25hbWUYCSABKAlSCWZpcnN0TmFtZRIbCglsYXN0X25hbWUYCiABKAlSCGxhc3ROYW1lEhoKCGxhbmd1YWdlGAsgASgJUghsYW5ndWFnZRIoChBhdmF0YXJfZmlsZV90eXBlGAwgASgJUg5hdmF0YXJGaWxlVHlwZRIhCgxhdmF0YXJfaW1hZ2UYDSABKAxSC2F2YXRhckltYWdlEhsKCWxhc3Rfc2VlbhgOIAEoA1IIbGFzdFNlZW4a1gEKD0Vudmlyb25tZW50Um9sZRJGCgtlbnZpcm9ubWVudBgBIAEoCzIkLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5FbnZpcm9ubWVudFYyUgtlbnZpcm9ubWVudBI4Cgdwcm9qZWN0GAIgASgLMh4uYnVja2V0ZWVyLmVudmlyb25tZW50LlByb2plY3RSB3Byb2plY3QSQQoEcm9sZRgDIAEoDjItLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLkVudmlyb25tZW50UgRyb2xlQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hY2NvdW50YgZwcm90bzMK5gYKG3Byb3RvL2FjY291bnQvYXBpX2tleS5wcm90bxIRYnVja2V0ZWVyLmFjY291bnQaI3Byb3RvL2Vudmlyb25tZW50L2Vudmlyb25tZW50LnByb3RvIrsDCgZBUElLZXkSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSMgoEcm9sZRgDIAEoDjIeLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleS5Sb2xlUgRyb2xlEhoKCGRpc2FibGVkGAQgASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAUgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgGIAEoA1IJdXBkYXRlZEF0Eh4KCm1haW50YWluZXIYByABKAlSCm1haW50YWluZXISFwoHYXBpX2tleRgIIAEoCVIGYXBpS2V5EiAKC2Rlc2NyaXB0aW9uGAkgASgJUgtkZXNjcmlwdGlvbhIpChBlbnZpcm9ubWVudF9uYW1lGAogASgJUg9lbnZpcm9ubWVudE5hbWUieQoEUm9sZRILCgdVTktOT1dOEAASDgoKU0RLX0NMSUVOVBABEg4KClNES19TRVJWRVIQAhIYChRQVUJMSUNfQVBJX1JFQURfT05MWRADEhQKEFBVQkxJQ19BUElfV1JJVEUQBBIUChBQVUJMSUNfQVBJX0FETUlOEAUilQIKEUVudmlyb25tZW50QVBJS2V5EjIKB2FwaV9rZXkYAiABKAsyGS5idWNrZXRlZXIuYWNjb3VudC5BUElLZXlSBmFwaUtleRIxChRlbnZpcm9ubWVudF9kaXNhYmxlZBgDIAEoCFITZW52aXJvbm1lbnREaXNhYmxlZBIhCgpwcm9qZWN0X2lkGAQgASgJQgIYAVIJcHJvamVjdElkEkYKC2Vudmlyb25tZW50GAUgASgLMiQuYnVja2V0ZWVyLmVudmlyb25tZW50LkVudmlyb25tZW50VjJSC2Vudmlyb25tZW50EigKEHByb2plY3RfdXJsX2NvZGUYBiABKAlSDnByb2plY3RVcmxDb2RlSgQIARACQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hY2NvdW50YgZwcm90bzMK1hEKG3Byb3RvL2FjY291bnQvY29tbWFuZC5wcm90bxIRYnVja2V0ZWVyLmFjY291bnQaG3Byb3RvL2FjY291bnQvYWNjb3VudC5wcm90bxobcHJvdG8vYWNjb3VudC9hcGlfa2V5LnByb3RvGiFwcm90by9hY2NvdW50L3NlYXJjaF9maWx0ZXIucHJvdG8i/AIKFkNyZWF0ZUFjY291bnRWMkNvbW1hbmQSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSKAoQYXZhdGFyX2ltYWdlX3VybBgDIAEoCVIOYXZhdGFySW1hZ2VVcmwSWwoRb3JnYW5pemF0aW9uX3JvbGUYBCABKA4yLi5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5Pcmdhbml6YXRpb25SEG9yZ2FuaXphdGlvblJvbGUSWQoRZW52aXJvbm1lbnRfcm9sZXMYBSADKAsyLC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuRW52aXJvbm1lbnRSb2xlUhBlbnZpcm9ubWVudFJvbGVzEh0KCmZpcnN0X25hbWUYBiABKAlSCWZpcnN0TmFtZRIbCglsYXN0X25hbWUYByABKAlSCGxhc3ROYW1lEhoKCGxhbmd1YWdlGAggASgJUghsYW5ndWFnZSIwChpDaGFuZ2VBY2NvdW50VjJOYW1lQ29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lIkAKH0NoYW5nZUFjY291bnRWMkZpcnN0TmFtZUNvbW1hbmQSHQoKZmlyc3RfbmFtZRgBIAEoCVIJZmlyc3ROYW1lIj0KHkNoYW5nZUFjY291bnRWMkxhc3ROYW1lQ29tbWFuZBIbCglsYXN0X25hbWUYASABKAlSCGxhc3ROYW1lIjwKHkNoYW5nZUFjY291bnRWMkxhbmd1YWdlQ29tbWFuZBIaCghsYW5ndWFnZRgBIAEoCVIIbGFuZ3VhZ2UiUAokQ2hhbmdlQWNjb3VudFYyQXZhdGFySW1hZ2VVcmxDb21tYW5kEigKEGF2YXRhcl9pbWFnZV91cmwYASABKAlSDmF2YXRhckltYWdlVXJsImsKHENoYW5nZUFjY291bnRWMkF2YXRhckNvbW1hbmQSIQoMYXZhdGFyX2ltYWdlGAEgASgMUgthdmF0YXJJbWFnZRIoChBhdmF0YXJfZmlsZV90eXBlGAIgASgJUg5hdmF0YXJGaWxlVHlwZSI9Ch5DaGFuZ2VBY2NvdW50VjJMYXN0U2VlbkNvbW1hbmQSGwoJbGFzdF9zZWVuGAEgASgDUghsYXN0U2VlbiJsCiZDaGFuZ2VBY2NvdW50VjJPcmdhbml6YXRpb25Sb2xlQ29tbWFuZBJCCgRyb2xlGAEgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUgRyb2xlIqUCCiZDaGFuZ2VBY2NvdW50VjJFbnZpcm9ubWVudFJvbGVzQ29tbWFuZBJCCgVyb2xlcxgBIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSBXJvbGVzEmIKCndyaXRlX3R5cGUYAiABKA4yQy5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJFbnZpcm9ubWVudFJvbGVzQ29tbWFuZC5Xcml0ZVR5cGVSCXdyaXRlVHlwZSJTCglXcml0ZVR5cGUSGQoVV3JpdGVUeXBlX1VOU1BFQ0lGSUVEEAASFgoSV3JpdGVUeXBlX09WRVJSSURFEAESEwoPV3JpdGVUeXBlX1BBVENIEAIiGAoWRW5hYmxlQWNjb3VudFYyQ29tbWFuZCIZChdEaXNhYmxlQWNjb3VudFYyQ29tbWFuZCIYChZEZWxldGVBY2NvdW50VjJDb21tYW5kIl0KE0NyZWF0ZUFQSUtleUNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZRIyCgRyb2xlGAIgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUiLQoXQ2hhbmdlQVBJS2V5TmFtZUNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZSIVChNFbmFibGVBUElLZXlDb21tYW5kIhYKFERpc2FibGVBUElLZXlDb21tYW5kIuYBChlDcmVhdGVTZWFyY2hGaWx0ZXJDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUSFAoFcXVlcnkYAiABKAlSBXF1ZXJ5ElEKEmZpbHRlcl90YXJnZXRfdHlwZRgDIAEoDjIjLmJ1Y2tldGVlci5hY2NvdW50LkZpbHRlclRhcmdldFR5cGVSEGZpbHRlclRhcmdldFR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWQSJQoOZGVmYXVsdF9maWx0ZXIYBSABKAhSDWRlZmF1bHRGaWx0ZXIiQwodQ2hhbmdlU2VhcmNoRmlsdGVyTmFtZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiRgoeQ2hhbmdlU2VhcmNoRmlsdGVyUXVlcnlDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIUCgVxdWVyeRgCIAEoCVIFcXVlcnkiWQogQ2hhbmdlRGVmYXVsdFNlYXJjaEZpbHRlckNvbW1hbmQSDgoCaWQYASABKAlSAmlkEiUKDmRlZmF1bHRfZmlsdGVyGAIgASgIUg1kZWZhdWx0RmlsdGVyIisKGURlbGV0ZVNlYXJjaEZpbHRlckNvbW1hbmQSDgoCaWQYASABKAlSAmlkQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hY2NvdW50YgZwcm90bzMKhgQKHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIiMKC0RvdWJsZVZhbHVlEhQKBXZhbHVlGAEgASgBUgV2YWx1ZSIiCgpGbG9hdFZhbHVlEhQKBXZhbHVlGAEgASgCUgV2YWx1ZSIiCgpJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgDUgV2YWx1ZSIjCgtVSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoBFIFdmFsdWUiIgoKSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoBVIFdmFsdWUiIwoLVUludDMyVmFsdWUSFAoFdmFsdWUYASABKA1SBXZhbHVlIiEKCUJvb2xWYWx1ZRIUCgV2YWx1ZRgBIAEoCFIFdmFsdWUiIwoLU3RyaW5nVmFsdWUSFAoFdmFsdWUYASABKAlSBXZhbHVlIiIKCkJ5dGVzVmFsdWUSFAoFdmFsdWUYASABKAxSBXZhbHVlQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1XcmFwcGVyc1Byb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3dyYXBwZXJzcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMwqHBQoVZ29vZ2xlL2FwaS9odHRwLnByb3RvEgpnb29nbGUuYXBpInkKBEh0dHASKgoFcnVsZXMYASADKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUgVydWxlcxJFCh9mdWxseV9kZWNvZGVfcmVzZXJ2ZWRfZXhwYW5zaW9uGAIgASgIUhxmdWxseURlY29kZVJlc2VydmVkRXhwYW5zaW9uIrUCCghIdHRwUnVsZRIaCghzZWxlY3RvchgBIAEoCVIIc2VsZWN0b3ISEgoDZ2V0GAIgASgJSABSA2dldBISCgNwdXQYAyABKAlIAFIDcHV0EhQKBHBvc3QYBCABKAlIAFIEcG9zdBIYCgZkZWxldGUYBSABKAlIAFIGZGVsZXRlEhYKBXBhdGNoGAYgASgJSABSBXBhdGNoEjcKBmN1c3RvbRgIIAEoCzIdLmdvb2dsZS5hcGkuQ3VzdG9tSHR0cFBhdHRlcm5IAFIGY3VzdG9tEhIKBGJvZHkYByABKAlSBGJvZHkSRQoTYWRkaXRpb25hbF9iaW5kaW5ncxgLIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSEmFkZGl0aW9uYWxCaW5kaW5nc0IJCgdwYXR0ZXJuIjsKEUN1c3RvbUh0dHBQYXR0ZXJuEhIKBGtpbmQYASABKAlSBGtpbmQSEgoEcGF0aBgCIAEoCVIEcGF0aEJqCg5jb20uZ29vZ2xlLmFwaUIJSHR0cFByb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25z+AEBogIER0FQSWIGcHJvdG8zCuFGCiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIk0KEUZpbGVEZXNjcmlwdG9yU2V0EjgKBGZpbGUYASADKAsyJC5nb29nbGUucHJvdG9idWYuRmlsZURlc2NyaXB0b3JQcm90b1IEZmlsZSL+BAoTRmlsZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhgKB3BhY2thZ2UYAiABKAlSB3BhY2thZ2USHgoKZGVwZW5kZW5jeRgDIAMoCVIKZGVwZW5kZW5jeRIrChFwdWJsaWNfZGVwZW5kZW5jeRgKIAMoBVIQcHVibGljRGVwZW5kZW5jeRInCg93ZWFrX2RlcGVuZGVuY3kYCyADKAVSDndlYWtEZXBlbmRlbmN5EkMKDG1lc3NhZ2VfdHlwZRgEIAMoCzIgLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG9SC21lc3NhZ2VUeXBlEkEKCWVudW1fdHlwZRgFIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvUghlbnVtVHlwZRJBCgdzZXJ2aWNlGAYgAygLMicuZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VEZXNjcmlwdG9yUHJvdG9SB3NlcnZpY2USQwoJZXh0ZW5zaW9uGAcgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb24SNgoHb3B0aW9ucxgIIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9uc1IHb3B0aW9ucxJJChBzb3VyY2VfY29kZV9pbmZvGAkgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvUg5zb3VyY2VDb2RlSW5mbxIWCgZzeW50YXgYDCABKAlSBnN5bnRheBIYCgdlZGl0aW9uGA0gASgJUgdlZGl0aW9uIrkGCg9EZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI7CgVmaWVsZBgCIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IFZmllbGQSQwoJZXh0ZW5zaW9uGAYgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb24SQQoLbmVzdGVkX3R5cGUYAyADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvUgpuZXN0ZWRUeXBlEkEKCWVudW1fdHlwZRgEIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvUghlbnVtVHlwZRJYCg9leHRlbnNpb25fcmFuZ2UYBSADKAsyLy5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLkV4dGVuc2lvblJhbmdlUg5leHRlbnNpb25SYW5nZRJECgpvbmVvZl9kZWNsGAggAygLMiUuZ29vZ2xlLnByb3RvYnVmLk9uZW9mRGVzY3JpcHRvclByb3RvUglvbmVvZkRlY2wSOQoHb3B0aW9ucxgHIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9uc1IHb3B0aW9ucxJVCg5yZXNlcnZlZF9yYW5nZRgJIAMoCzIuLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG8uUmVzZXJ2ZWRSYW5nZVINcmVzZXJ2ZWRSYW5nZRIjCg1yZXNlcnZlZF9uYW1lGAogAygJUgxyZXNlcnZlZE5hbWUaegoORXh0ZW5zaW9uUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kEkAKB29wdGlvbnMYAyABKAsyJi5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zUgdvcHRpb25zGjcKDVJlc2VydmVkUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kIq0EChVFeHRlbnNpb25SYW5nZU9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24SWQoLZGVjbGFyYXRpb24YAiADKAsyMi5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zLkRlY2xhcmF0aW9uQgOIAQJSC2RlY2xhcmF0aW9uEmgKDHZlcmlmaWNhdGlvbhgDIAEoDjI4Lmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnMuVmVyaWZpY2F0aW9uU3RhdGU6ClVOVkVSSUZJRURSDHZlcmlmaWNhdGlvbhqzAQoLRGVjbGFyYXRpb24SFgoGbnVtYmVyGAEgASgFUgZudW1iZXISGwoJZnVsbF9uYW1lGAIgASgJUghmdWxsTmFtZRISCgR0eXBlGAMgASgJUgR0eXBlEiMKC2lzX3JlcGVhdGVkGAQgASgIQgIYAVIKaXNSZXBlYXRlZBIaCghyZXNlcnZlZBgFIAEoCFIIcmVzZXJ2ZWQSGgoIcmVwZWF0ZWQYBiABKAhSCHJlcGVhdGVkIjQKEVZlcmlmaWNhdGlvblN0YXRlEg8KC0RFQ0xBUkFUSU9OEAASDgoKVU5WRVJJRklFRBABKgkI6AcQgICAgAIiwQYKFEZpZWxkRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGbnVtYmVyGAMgASgFUgZudW1iZXISQQoFbGFiZWwYBCABKA4yKy5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uTGFiZWxSBWxhYmVsEj4KBHR5cGUYBSABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZVIEdHlwZRIbCgl0eXBlX25hbWUYBiABKAlSCHR5cGVOYW1lEhoKCGV4dGVuZGVlGAIgASgJUghleHRlbmRlZRIjCg1kZWZhdWx0X3ZhbHVlGAcgASgJUgxkZWZhdWx0VmFsdWUSHwoLb25lb2ZfaW5kZXgYCSABKAVSCm9uZW9mSW5kZXgSGwoJanNvbl9uYW1lGAogASgJUghqc29uTmFtZRI3CgdvcHRpb25zGAggASgLMh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9uc1IHb3B0aW9ucxInCg9wcm90bzNfb3B0aW9uYWwYESABKAhSDnByb3RvM09wdGlvbmFsIrYCCgRUeXBlEg8KC1RZUEVfRE9VQkxFEAESDgoKVFlQRV9GTE9BVBACEg4KClRZUEVfSU5UNjQQAxIPCgtUWVBFX1VJTlQ2NBAEEg4KClRZUEVfSU5UMzIQBRIQCgxUWVBFX0ZJWEVENjQQBhIQCgxUWVBFX0ZJWEVEMzIQBxINCglUWVBFX0JPT0wQCBIPCgtUWVBFX1NUUklORxAJEg4KClRZUEVfR1JPVVAQChIQCgxUWVBFX01FU1NBR0UQCxIOCgpUWVBFX0JZVEVTEAwSDwoLVFlQRV9VSU5UMzIQDRINCglUWVBFX0VOVU0QDhIRCg1UWVBFX1NGSVhFRDMyEA8SEQoNVFlQRV9TRklYRUQ2NBAQEg8KC1RZUEVfU0lOVDMyEBESDwoLVFlQRV9TSU5UNjQQEiJDCgVMYWJlbBISCg5MQUJFTF9PUFRJT05BTBABEhIKDkxBQkVMX1JFUVVJUkVEEAISEgoOTEFCRUxfUkVQRUFURUQQAyJjChRPbmVvZkRlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEjcKB29wdGlvbnMYAiABKAsyHS5nb29nbGUucHJvdG9idWYuT25lb2ZPcHRpb25zUgdvcHRpb25zIuMCChNFbnVtRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPwoFdmFsdWUYAiADKAsyKS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlRGVzY3JpcHRvclByb3RvUgV2YWx1ZRI2CgdvcHRpb25zGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRpb25zUgdvcHRpb25zEl0KDnJlc2VydmVkX3JhbmdlGAQgAygLMjYuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG8uRW51bVJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgFIAMoCVIMcmVzZXJ2ZWROYW1lGjsKEUVudW1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCKDAQoYRW51bVZhbHVlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGbnVtYmVyGAIgASgFUgZudW1iZXISOwoHb3B0aW9ucxgDIAEoCzIhLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVPcHRpb25zUgdvcHRpb25zIqcBChZTZXJ2aWNlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPgoGbWV0aG9kGAIgAygLMiYuZ29vZ2xlLnByb3RvYnVmLk1ldGhvZERlc2NyaXB0b3JQcm90b1IGbWV0aG9kEjkKB29wdGlvbnMYAyABKAsyHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnNSB29wdGlvbnMiiQIKFU1ldGhvZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEh0KCmlucHV0X3R5cGUYAiABKAlSCWlucHV0VHlwZRIfCgtvdXRwdXRfdHlwZRgDIAEoCVIKb3V0cHV0VHlwZRI4CgdvcHRpb25zGAQgASgLMh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnNSB29wdGlvbnMSMAoQY2xpZW50X3N0cmVhbWluZxgFIAEoCDoFZmFsc2VSD2NsaWVudFN0cmVhbWluZxIwChBzZXJ2ZXJfc3RyZWFtaW5nGAYgASgIOgVmYWxzZVIPc2VydmVyU3RyZWFtaW5nIpEJCgtGaWxlT3B0aW9ucxIhCgxqYXZhX3BhY2thZ2UYASABKAlSC2phdmFQYWNrYWdlEjAKFGphdmFfb3V0ZXJfY2xhc3NuYW1lGAggASgJUhJqYXZhT3V0ZXJDbGFzc25hbWUSNQoTamF2YV9tdWx0aXBsZV9maWxlcxgKIAEoCDoFZmFsc2VSEWphdmFNdWx0aXBsZUZpbGVzEkQKHWphdmFfZ2VuZXJhdGVfZXF1YWxzX2FuZF9oYXNoGBQgASgIQgIYAVIZamF2YUdlbmVyYXRlRXF1YWxzQW5kSGFzaBI6ChZqYXZhX3N0cmluZ19jaGVja191dGY4GBsgASgIOgVmYWxzZVITamF2YVN0cmluZ0NoZWNrVXRmOBJTCgxvcHRpbWl6ZV9mb3IYCSABKA4yKS5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMuT3B0aW1pemVNb2RlOgVTUEVFRFILb3B0aW1pemVGb3ISHQoKZ29fcGFja2FnZRgLIAEoCVIJZ29QYWNrYWdlEjUKE2NjX2dlbmVyaWNfc2VydmljZXMYECABKAg6BWZhbHNlUhFjY0dlbmVyaWNTZXJ2aWNlcxI5ChVqYXZhX2dlbmVyaWNfc2VydmljZXMYESABKAg6BWZhbHNlUhNqYXZhR2VuZXJpY1NlcnZpY2VzEjUKE3B5X2dlbmVyaWNfc2VydmljZXMYEiABKAg6BWZhbHNlUhFweUdlbmVyaWNTZXJ2aWNlcxI3ChRwaHBfZ2VuZXJpY19zZXJ2aWNlcxgqIAEoCDoFZmFsc2VSEnBocEdlbmVyaWNTZXJ2aWNlcxIlCgpkZXByZWNhdGVkGBcgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIuChBjY19lbmFibGVfYXJlbmFzGB8gASgIOgR0cnVlUg5jY0VuYWJsZUFyZW5hcxIqChFvYmpjX2NsYXNzX3ByZWZpeBgkIAEoCVIPb2JqY0NsYXNzUHJlZml4EikKEGNzaGFycF9uYW1lc3BhY2UYJSABKAlSD2NzaGFycE5hbWVzcGFjZRIhCgxzd2lmdF9wcmVmaXgYJyABKAlSC3N3aWZ0UHJlZml4EigKEHBocF9jbGFzc19wcmVmaXgYKCABKAlSDnBocENsYXNzUHJlZml4EiMKDXBocF9uYW1lc3BhY2UYKSABKAlSDHBocE5hbWVzcGFjZRI0ChZwaHBfbWV0YWRhdGFfbmFtZXNwYWNlGCwgASgJUhRwaHBNZXRhZGF0YU5hbWVzcGFjZRIhCgxydWJ5X3BhY2thZ2UYLSABKAlSC3J1YnlQYWNrYWdlElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIjoKDE9wdGltaXplTW9kZRIJCgVTUEVFRBABEg0KCUNPREVfU0laRRACEhAKDExJVEVfUlVOVElNRRADKgkI6AcQgICAgAJKBAgmECciuwMKDk1lc3NhZ2VPcHRpb25zEjwKF21lc3NhZ2Vfc2V0X3dpcmVfZm9ybWF0GAEgASgIOgVmYWxzZVIUbWVzc2FnZVNldFdpcmVGb3JtYXQSTAofbm9fc3RhbmRhcmRfZGVzY3JpcHRvcl9hY2Nlc3NvchgCIAEoCDoFZmFsc2VSHG5vU3RhbmRhcmREZXNjcmlwdG9yQWNjZXNzb3ISJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSGwoJbWFwX2VudHJ5GAcgASgIUghtYXBFbnRyeRJWCiZkZXByZWNhdGVkX2xlZ2FjeV9qc29uX2ZpZWxkX2NvbmZsaWN0cxgLIAEoCEICGAFSImRlcHJlY2F0ZWRMZWdhY3lKc29uRmllbGRDb25mbGljdHMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoECAQQBUoECAUQBkoECAYQB0oECAgQCUoECAkQCiKFCQoMRmllbGRPcHRpb25zEkEKBWN0eXBlGAEgASgOMiMuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5DVHlwZToGU1RSSU5HUgVjdHlwZRIWCgZwYWNrZWQYAiABKAhSBnBhY2tlZBJHCgZqc3R5cGUYBiABKA4yJC5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkpTVHlwZToJSlNfTk9STUFMUgZqc3R5cGUSGQoEbGF6eRgFIAEoCDoFZmFsc2VSBGxhenkSLgoPdW52ZXJpZmllZF9sYXp5GA8gASgIOgVmYWxzZVIOdW52ZXJpZmllZExhenkSJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSGQoEd2VhaxgKIAEoCDoFZmFsc2VSBHdlYWsSKAoMZGVidWdfcmVkYWN0GBAgASgIOgVmYWxzZVILZGVidWdSZWRhY3QSSwoJcmV0ZW50aW9uGBEgASgOMi0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25SZXRlbnRpb25SCXJldGVudGlvbhJKCgZ0YXJnZXQYEiABKA4yLi5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblRhcmdldFR5cGVCAhgBUgZ0YXJnZXQSSAoHdGFyZ2V0cxgTIAMoDjIuLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uVGFyZ2V0VHlwZVIHdGFyZ2V0cxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiIvCgVDVHlwZRIKCgZTVFJJTkcQABIICgRDT1JEEAESEAoMU1RSSU5HX1BJRUNFEAIiNQoGSlNUeXBlEg0KCUpTX05PUk1BTBAAEg0KCUpTX1NUUklORxABEg0KCUpTX05VTUJFUhACIlUKD09wdGlvblJldGVudGlvbhIVChFSRVRFTlRJT05fVU5LTk9XThAAEhUKEVJFVEVOVElPTl9SVU5USU1FEAESFAoQUkVURU5USU9OX1NPVVJDRRACIowCChBPcHRpb25UYXJnZXRUeXBlEhcKE1RBUkdFVF9UWVBFX1VOS05PV04QABIUChBUQVJHRVRfVFlQRV9GSUxFEAESHwobVEFSR0VUX1RZUEVfRVhURU5TSU9OX1JBTkdFEAISFwoTVEFSR0VUX1RZUEVfTUVTU0FHRRADEhUKEVRBUkdFVF9UWVBFX0ZJRUxEEAQSFQoRVEFSR0VUX1RZUEVfT05FT0YQBRIUChBUQVJHRVRfVFlQRV9FTlVNEAYSGgoWVEFSR0VUX1RZUEVfRU5VTV9FTlRSWRAHEhcKE1RBUkdFVF9UWVBFX1NFUlZJQ0UQCBIWChJUQVJHRVRfVFlQRV9NRVRIT0QQCSoJCOgHEICAgIACSgQIBBAFInMKDE9uZW9mT3B0aW9ucxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIpgCCgtFbnVtT3B0aW9ucxIfCgthbGxvd19hbGlhcxgCIAEoCFIKYWxsb3dBbGlhcxIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJWCiZkZXByZWNhdGVkX2xlZ2FjeV9qc29uX2ZpZWxkX2NvbmZsaWN0cxgGIAEoCEICGAFSImRlcHJlY2F0ZWRMZWdhY3lKc29uRmllbGRDb25mbGljdHMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoECAUQBiKeAQoQRW51bVZhbHVlT3B0aW9ucxIlCgpkZXByZWNhdGVkGAEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIpwBCg5TZXJ2aWNlT3B0aW9ucxIlCgpkZXByZWNhdGVkGCEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIuACCg1NZXRob2RPcHRpb25zEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkEnEKEWlkZW1wb3RlbmN5X2xldmVsGCIgASgOMi8uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMuSWRlbXBvdGVuY3lMZXZlbDoTSURFTVBPVEVOQ1lfVU5LTk9XTlIQaWRlbXBvdGVuY3lMZXZlbBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiJQChBJZGVtcG90ZW5jeUxldmVsEhcKE0lERU1QT1RFTkNZX1VOS05PV04QABITCg9OT19TSURFX0VGRkVDVFMQARIOCgpJREVNUE9URU5UEAIqCQjoBxCAgICAAiKaAwoTVW5pbnRlcnByZXRlZE9wdGlvbhJBCgRuYW1lGAIgAygLMi0uZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb24uTmFtZVBhcnRSBG5hbWUSKQoQaWRlbnRpZmllcl92YWx1ZRgDIAEoCVIPaWRlbnRpZmllclZhbHVlEiwKEnBvc2l0aXZlX2ludF92YWx1ZRgEIAEoBFIQcG9zaXRpdmVJbnRWYWx1ZRIsChJuZWdhdGl2ZV9pbnRfdmFsdWUYBSABKANSEG5lZ2F0aXZlSW50VmFsdWUSIQoMZG91YmxlX3ZhbHVlGAYgASgBUgtkb3VibGVWYWx1ZRIhCgxzdHJpbmdfdmFsdWUYByABKAxSC3N0cmluZ1ZhbHVlEicKD2FnZ3JlZ2F0ZV92YWx1ZRgIIAEoCVIOYWdncmVnYXRlVmFsdWUaSgoITmFtZVBhcnQSGwoJbmFtZV9wYXJ0GAEgAigJUghuYW1lUGFydBIhCgxpc19leHRlbnNpb24YAiACKAhSC2lzRXh0ZW5zaW9uIqcCCg5Tb3VyY2VDb2RlSW5mbxJECghsb2NhdGlvbhgBIAMoCzIoLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb2RlSW5mby5Mb2NhdGlvblIIbG9jYXRpb24azgEKCExvY2F0aW9uEhYKBHBhdGgYASADKAVCAhABUgRwYXRoEhYKBHNwYW4YAiADKAVCAhABUgRzcGFuEikKEGxlYWRpbmdfY29tbWVudHMYAyABKAlSD2xlYWRpbmdDb21tZW50cxIrChF0cmFpbGluZ19jb21tZW50cxgEIAEoCVIQdHJhaWxpbmdDb21tZW50cxI6ChlsZWFkaW5nX2RldGFjaGVkX2NvbW1lbnRzGAYgAygJUhdsZWFkaW5nRGV0YWNoZWRDb21tZW50cyLQAgoRR2VuZXJhdGVkQ29kZUluZm8STQoKYW5ub3RhdGlvbhgBIAMoCzItLmdvb2dsZS5wcm90b2J1Zi5HZW5lcmF0ZWRDb2RlSW5mby5Bbm5vdGF0aW9uUgphbm5vdGF0aW9uGusBCgpBbm5vdGF0aW9uEhYKBHBhdGgYASADKAVCAhABUgRwYXRoEh8KC3NvdXJjZV9maWxlGAIgASgJUgpzb3VyY2VGaWxlEhQKBWJlZ2luGAMgASgFUgViZWdpbhIQCgNlbmQYBCABKAVSA2VuZBJSCghzZW1hbnRpYxgFIAEoDjI2Lmdvb2dsZS5wcm90b2J1Zi5HZW5lcmF0ZWRDb2RlSW5mby5Bbm5vdGF0aW9uLlNlbWFudGljUghzZW1hbnRpYyIoCghTZW1hbnRpYxIICgROT05FEAASBwoDU0VUEAESCQoFQUxJQVMQAkJ+ChNjb20uZ29vZ2xlLnByb3RvYnVmQhBEZXNjcmlwdG9yUHJvdG9zSAFaLWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2Rlc2NyaXB0b3JwYvgBAaICA0dQQqoCGkdvb2dsZS5Qcm90b2J1Zi5SZWZsZWN0aW9uCqgCChxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvEgpnb29nbGUuYXBpGhVnb29nbGUvYXBpL2h0dHAucHJvdG8aIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvOksKBGh0dHASHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiwyrwiIAEoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBGh0dHBCbgoOY29tLmdvb2dsZS5hcGlCEEFubm90YXRpb25zUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzMK6AMKH2dvb2dsZS9hcGkvZmllbGRfYmVoYXZpb3IucHJvdG8SCmdvb2dsZS5hcGkaIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvKrYBCg1GaWVsZEJlaGF2aW9yEh4KGkZJRUxEX0JFSEFWSU9SX1VOU1BFQ0lGSUVEEAASDAoIT1BUSU9OQUwQARIMCghSRVFVSVJFRBACEg8KC09VVFBVVF9PTkxZEAMSDgoKSU5QVVRfT05MWRAEEg0KCUlNTVVUQUJMRRAFEhIKDlVOT1JERVJFRF9MSVNUEAYSFQoRTk9OX0VNUFRZX0RFRkFVTFQQBxIOCgpJREVOVElGSUVSEAg6ZAoOZmllbGRfYmVoYXZpb3ISHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGJwIIAMoDjIZLmdvb2dsZS5hcGkuRmllbGRCZWhhdmlvckICEABSDWZpZWxkQmVoYXZpb3JCcAoOY29tLmdvb2dsZS5hcGlCEkZpZWxkQmVoYXZpb3JQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMwriBQocZ29vZ2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIpgBCgZTdHJ1Y3QSOwoGZmllbGRzGAEgAygLMiMuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdC5GaWVsZHNFbnRyeVIGZmllbGRzGlEKC0ZpZWxkc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEisgIKBVZhbHVlEjsKCm51bGxfdmFsdWUYASABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlSABSCW51bGxWYWx1ZRIjCgxudW1iZXJfdmFsdWUYAiABKAFIAFILbnVtYmVyVmFsdWUSIwoMc3RyaW5nX3ZhbHVlGAMgASgJSABSC3N0cmluZ1ZhbHVlEh8KCmJvb2xfdmFsdWUYBCABKAhIAFIJYm9vbFZhbHVlEjwKDHN0cnVjdF92YWx1ZRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAFILc3RydWN0VmFsdWUSOwoKbGlzdF92YWx1ZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5MaXN0VmFsdWVIAFIJbGlzdFZhbHVlQgYKBGtpbmQiOwoJTGlzdFZhbHVlEi4KBnZhbHVlcxgBIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIGdmFsdWVzKhsKCU51bGxWYWx1ZRIOCgpOVUxMX1ZBTFVFEABCfwoTY29tLmdvb2dsZS5wcm90b2J1ZkILU3RydWN0UHJvdG9QAVovZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vc3RydWN0cGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMwqmPgoscHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9vcGVuYXBpdjIucHJvdG8SKWdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zGhxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvIrMICgdTd2FnZ2VyEhgKB3N3YWdnZXIYASABKAlSB3N3YWdnZXISQwoEaW5mbxgCIAEoCzIvLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkluZm9SBGluZm8SEgoEaG9zdBgDIAEoCVIEaG9zdBIbCgliYXNlX3BhdGgYBCABKAlSCGJhc2VQYXRoEksKB3NjaGVtZXMYBSADKA4yMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY2hlbWVSB3NjaGVtZXMSGgoIY29uc3VtZXMYBiADKAlSCGNvbnN1bWVzEhoKCHByb2R1Y2VzGAcgAygJUghwcm9kdWNlcxJfCglyZXNwb25zZXMYCiADKAsyQS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Td2FnZ2VyLlJlc3BvbnNlc0VudHJ5UglyZXNwb25zZXMScQoUc2VjdXJpdHlfZGVmaW5pdGlvbnMYCyABKAsyPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eURlZmluaXRpb25zUhNzZWN1cml0eURlZmluaXRpb25zEloKCHNlY3VyaXR5GAwgAygLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudFIIc2VjdXJpdHkSQgoEdGFncxgNIAMoCzIuLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlRhZ1IEdGFncxJlCg1leHRlcm5hbF9kb2NzGA4gASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSYgoKZXh0ZW5zaW9ucxgPIAMoCzJCLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlN3YWdnZXIuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGnEKDlJlc3BvbnNlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkkKBXZhbHVlGAIgASgLMjMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2VSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4AUoECAgQCUoECAkQCiLWBwoJT3BlcmF0aW9uEhIKBHRhZ3MYASADKAlSBHRhZ3MSGAoHc3VtbWFyeRgCIAEoCVIHc3VtbWFyeRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SZQoNZXh0ZXJuYWxfZG9jcxgEIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEiEKDG9wZXJhdGlvbl9pZBgFIAEoCVILb3BlcmF0aW9uSWQSGgoIY29uc3VtZXMYBiADKAlSCGNvbnN1bWVzEhoKCHByb2R1Y2VzGAcgAygJUghwcm9kdWNlcxJhCglyZXNwb25zZXMYCSADKAsyQy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5PcGVyYXRpb24uUmVzcG9uc2VzRW50cnlSCXJlc3BvbnNlcxJLCgdzY2hlbWVzGAogAygOMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1lUgdzY2hlbWVzEh4KCmRlcHJlY2F0ZWQYCyABKAhSCmRlcHJlY2F0ZWQSWgoIc2VjdXJpdHkYDCADKAsyPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50UghzZWN1cml0eRJkCgpleHRlbnNpb25zGA0gAygLMkQuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuT3BlcmF0aW9uLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxJVCgpwYXJhbWV0ZXJzGA4gASgLMjUuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUGFyYW1ldGVyc1IKcGFyYW1ldGVycxpxCg5SZXNwb25zZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJJCgV2YWx1ZRgCIAEoCzIzLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAFKBAgIEAkiYgoKUGFyYW1ldGVycxJUCgdoZWFkZXJzGAEgAygLMjouZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSGVhZGVyUGFyYW1ldGVyUgdoZWFkZXJzIqMCCg9IZWFkZXJQYXJhbWV0ZXISEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SUwoEdHlwZRgDIAEoDjI/LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclBhcmFtZXRlci5UeXBlUgR0eXBlEhYKBmZvcm1hdBgEIAEoCVIGZm9ybWF0EhoKCHJlcXVpcmVkGAUgASgIUghyZXF1aXJlZCJFCgRUeXBlEgsKB1VOS05PV04QABIKCgZTVFJJTkcQARIKCgZOVU1CRVIQAhILCgdJTlRFR0VSEAMSCwoHQk9PTEVBThAESgQIBhAHSgQIBxAIItgBCgZIZWFkZXISIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEhIKBHR5cGUYAiABKAlSBHR5cGUSFgoGZm9ybWF0GAMgASgJUgZmb3JtYXQSGAoHZGVmYXVsdBgGIAEoCVIHZGVmYXVsdBIYCgdwYXR0ZXJuGA0gASgJUgdwYXR0ZXJuSgQIBBAFSgQIBRAGSgQIBxAISgQICBAJSgQICRAKSgQIChALSgQICxAMSgQIDBANSgQIDhAPSgQIDxAQSgQIEBARSgQIERASSgQIEhATIpoFCghSZXNwb25zZRIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SSQoGc2NoZW1hGAIgASgLMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1hUgZzY2hlbWESWgoHaGVhZGVycxgDIAMoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlLkhlYWRlcnNFbnRyeVIHaGVhZGVycxJdCghleGFtcGxlcxgEIAMoCzJBLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlLkV4YW1wbGVzRW50cnlSCGV4YW1wbGVzEmMKCmV4dGVuc2lvbnMYBSADKAsyQy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMabQoMSGVhZGVyc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkcKBXZhbHVlGAIgASgLMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSGVhZGVyUgV2YWx1ZToCOAEaOwoNRXhhbXBsZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBItYDCgRJbmZvEhQKBXRpdGxlGAEgASgJUgV0aXRsZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SKAoQdGVybXNfb2Zfc2VydmljZRgDIAEoCVIOdGVybXNPZlNlcnZpY2USTAoHY29udGFjdBgEIAEoCzIyLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkNvbnRhY3RSB2NvbnRhY3QSTAoHbGljZW5zZRgFIAEoCzIyLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkxpY2Vuc2VSB2xpY2Vuc2USGAoHdmVyc2lvbhgGIAEoCVIHdmVyc2lvbhJfCgpleHRlbnNpb25zGAcgAygLMj8uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSW5mby5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEiRQoHQ29udGFjdBISCgRuYW1lGAEgASgJUgRuYW1lEhAKA3VybBgCIAEoCVIDdXJsEhQKBWVtYWlsGAMgASgJUgVlbWFpbCIvCgdMaWNlbnNlEhIKBG5hbWUYASABKAlSBG5hbWUSEAoDdXJsGAIgASgJUgN1cmwiSwoVRXh0ZXJuYWxEb2N1bWVudGF0aW9uEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhIQCgN1cmwYAiABKAlSA3VybCKqAgoGU2NoZW1hElYKC2pzb25fc2NoZW1hGAEgASgLMjUuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYVIKanNvblNjaGVtYRIkCg1kaXNjcmltaW5hdG9yGAIgASgJUg1kaXNjcmltaW5hdG9yEhsKCXJlYWRfb25seRgDIAEoCFIIcmVhZE9ubHkSZQoNZXh0ZXJuYWxfZG9jcxgFIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEhgKB2V4YW1wbGUYBiABKAlSB2V4YW1wbGVKBAgEEAUi1woKCkpTT05TY2hlbWESEAoDcmVmGAMgASgJUgNyZWYSFAoFdGl0bGUYBSABKAlSBXRpdGxlEiAKC2Rlc2NyaXB0aW9uGAYgASgJUgtkZXNjcmlwdGlvbhIYCgdkZWZhdWx0GAcgASgJUgdkZWZhdWx0EhsKCXJlYWRfb25seRgIIAEoCFIIcmVhZE9ubHkSGAoHZXhhbXBsZRgJIAEoCVIHZXhhbXBsZRIfCgttdWx0aXBsZV9vZhgKIAEoAVIKbXVsdGlwbGVPZhIYCgdtYXhpbXVtGAsgASgBUgdtYXhpbXVtEisKEWV4Y2x1c2l2ZV9tYXhpbXVtGAwgASgIUhBleGNsdXNpdmVNYXhpbXVtEhgKB21pbmltdW0YDSABKAFSB21pbmltdW0SKwoRZXhjbHVzaXZlX21pbmltdW0YDiABKAhSEGV4Y2x1c2l2ZU1pbmltdW0SHQoKbWF4X2xlbmd0aBgPIAEoBFIJbWF4TGVuZ3RoEh0KCm1pbl9sZW5ndGgYECABKARSCW1pbkxlbmd0aBIYCgdwYXR0ZXJuGBEgASgJUgdwYXR0ZXJuEhsKCW1heF9pdGVtcxgUIAEoBFIIbWF4SXRlbXMSGwoJbWluX2l0ZW1zGBUgASgEUghtaW5JdGVtcxIhCgx1bmlxdWVfaXRlbXMYFiABKAhSC3VuaXF1ZUl0ZW1zEiUKDm1heF9wcm9wZXJ0aWVzGBggASgEUg1tYXhQcm9wZXJ0aWVzEiUKDm1pbl9wcm9wZXJ0aWVzGBkgASgEUg1taW5Qcm9wZXJ0aWVzEhoKCHJlcXVpcmVkGBogAygJUghyZXF1aXJlZBIUCgVhcnJheRgiIAMoCVIFYXJyYXkSXwoEdHlwZRgjIAMoDjJLLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWEuSlNPTlNjaGVtYVNpbXBsZVR5cGVzUgR0eXBlEhYKBmZvcm1hdBgkIAEoCVIGZm9ybWF0EhIKBGVudW0YLiADKAlSBGVudW0SegoTZmllbGRfY29uZmlndXJhdGlvbhjpByABKAsySC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hLkZpZWxkQ29uZmlndXJhdGlvblISZmllbGRDb25maWd1cmF0aW9uEmUKCmV4dGVuc2lvbnMYMCADKAsyRS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxo8ChJGaWVsZENvbmZpZ3VyYXRpb24SJgoPcGF0aF9wYXJhbV9uYW1lGC8gASgJUg1wYXRoUGFyYW1OYW1lGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIncKFUpTT05TY2hlbWFTaW1wbGVUeXBlcxILCgdVTktOT1dOEAASCQoFQVJSQVkQARILCgdCT09MRUFOEAISCwoHSU5URUdFUhADEggKBE5VTEwQBBIKCgZOVU1CRVIQBRIKCgZPQkpFQ1QQBhIKCgZTVFJJTkcQB0oECAEQAkoECAIQA0oECAQQBUoECBIQE0oECBMQFEoECBcQGEoECBsQHEoECBwQHUoECB0QHkoECB4QIkoECCUQKkoECCoQK0oECCsQLiLZAgoDVGFnEhIKBG5hbWUYASABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEmUKDWV4dGVybmFsX2RvY3MYAyABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxJeCgpleHRlbnNpb25zGAQgAygLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuVGFnLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASL3AQoTU2VjdXJpdHlEZWZpbml0aW9ucxJoCghzZWN1cml0eRgBIAMoCzJMLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5RGVmaW5pdGlvbnMuU2VjdXJpdHlFbnRyeVIIc2VjdXJpdHkadgoNU2VjdXJpdHlFbnRyeRIQCgNrZXkYASABKAlSA2tleRJPCgV2YWx1ZRgCIAEoCzI5LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lUgV2YWx1ZToCOAEi/wYKDlNlY3VyaXR5U2NoZW1lElIKBHR5cGUYASABKA4yPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5UeXBlUgR0eXBlEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhISCgRuYW1lGAMgASgJUgRuYW1lEkwKAmluGAQgASgOMjwuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuSW5SAmluElIKBGZsb3cYBSABKA4yPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5GbG93UgRmbG93EisKEWF1dGhvcml6YXRpb25fdXJsGAYgASgJUhBhdXRob3JpemF0aW9uVXJsEhsKCXRva2VuX3VybBgHIAEoCVIIdG9rZW5VcmwSSQoGc2NvcGVzGAggASgLMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NvcGVzUgZzY29wZXMSaQoKZXh0ZW5zaW9ucxgJIAMoCzJJLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJLCgRUeXBlEhAKDFRZUEVfSU5WQUxJRBAAEg4KClRZUEVfQkFTSUMQARIQCgxUWVBFX0FQSV9LRVkQAhIPCgtUWVBFX09BVVRIMhADIjEKAkluEg4KCklOX0lOVkFMSUQQABIMCghJTl9RVUVSWRABEg0KCUlOX0hFQURFUhACImoKBEZsb3cSEAoMRkxPV19JTlZBTElEEAASEQoNRkxPV19JTVBMSUNJVBABEhEKDUZMT1dfUEFTU1dPUkQQAhIUChBGTE9XX0FQUExJQ0FUSU9OEAMSFAoQRkxPV19BQ0NFU1NfQ09ERRAEIvYCChNTZWN1cml0eVJlcXVpcmVtZW50EooBChRzZWN1cml0eV9yZXF1aXJlbWVudBgBIAMoCzJXLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnQuU2VjdXJpdHlSZXF1aXJlbWVudEVudHJ5UhNzZWN1cml0eVJlcXVpcmVtZW50GjAKGFNlY3VyaXR5UmVxdWlyZW1lbnRWYWx1ZRIUCgVzY29wZRgBIAMoCVIFc2NvcGUanwEKGFNlY3VyaXR5UmVxdWlyZW1lbnRFbnRyeRIQCgNrZXkYASABKAlSA2tleRJtCgV2YWx1ZRgCIAEoCzJXLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnQuU2VjdXJpdHlSZXF1aXJlbWVudFZhbHVlUgV2YWx1ZToCOAEilgEKBlNjb3BlcxJSCgVzY29wZRgBIAMoCzI8LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjb3Blcy5TY29wZUVudHJ5UgVzY29wZRo4CgpTY29wZUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEqOwoGU2NoZW1lEgsKB1VOS05PV04QABIICgRIVFRQEAESCQoFSFRUUFMQAhIGCgJXUxADEgcKA1dTUxAEQkhaRmdpdGh1Yi5jb20vZ3JwYy1lY29zeXN0ZW0vZ3JwYy1nYXRld2F5L3YyL3Byb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnNiBnByb3RvMwr9BgoucHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90bxIpZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMaIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvGixwcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL29wZW5hcGl2Mi5wcm90bzp+ChFvcGVuYXBpdjJfc3dhZ2dlchIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucxiSCCABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Td2FnZ2VyUhBvcGVuYXBpdjJTd2FnZ2VyOoYBChNvcGVuYXBpdjJfb3BlcmF0aW9uEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYkgggASgLMjQuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuT3BlcmF0aW9uUhJvcGVuYXBpdjJPcGVyYXRpb246fgoQb3BlbmFwaXYyX3NjaGVtYRIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiSCCABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY2hlbWFSD29wZW5hcGl2MlNjaGVtYTp1Cg1vcGVuYXBpdjJfdGFnEh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGJIIIAEoCzIuLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlRhZ1IMb3BlbmFwaXYyVGFnOn4KD29wZW5hcGl2Ml9maWVsZBIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYkgggASgLMjUuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYVIOb3BlbmFwaXYyRmllbGRCSFpGZ2l0aHViLmNvbS9ncnBjLWVjb3N5c3RlbS9ncnBjLWdhdGV3YXkvdjIvcHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9uc2IGcHJvdG8zCq2+AQobcHJvdG8vYWNjb3VudC9zZXJ2aWNlLnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGhxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGh9nb29nbGUvYXBpL2ZpZWxkX2JlaGF2aW9yLnByb3RvGi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvGhtwcm90by9hY2NvdW50L2FjY291bnQucHJvdG8aG3Byb3RvL2FjY291bnQvYXBpX2tleS5wcm90bxobcHJvdG8vYWNjb3VudC9jb21tYW5kLnByb3RvGiRwcm90by9lbnZpcm9ubWVudC9vcmdhbml6YXRpb24ucHJvdG8iNwoMR2V0TWVSZXF1ZXN0EicKD29yZ2FuaXphdGlvbl9pZBgBIAEoCVIOb3JnYW5pemF0aW9uSWQiTAoNR2V0TWVSZXNwb25zZRI7CgdhY2NvdW50GAEgASgLMiEuYnVja2V0ZWVyLmFjY291bnQuQ29uc29sZUFjY291bnRSB2FjY291bnQiGwoZR2V0TXlPcmdhbml6YXRpb25zUmVxdWVzdCI4CiBHZXRNeU9yZ2FuaXphdGlvbnNCeUVtYWlsUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwiZwoaR2V0TXlPcmdhbml6YXRpb25zUmVzcG9uc2USSQoNb3JnYW5pemF0aW9ucxgBIAMoCzIjLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Pcmdhbml6YXRpb25SDW9yZ2FuaXphdGlvbnMi7gMKFkNyZWF0ZUFjY291bnRWMlJlcXVlc3QSJwoPb3JnYW5pemF0aW9uX2lkGAEgASgJUg5vcmdhbml6YXRpb25JZBJHCgdjb21tYW5kGAIgASgLMikuYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlQWNjb3VudFYyQ29tbWFuZEICGAFSB2NvbW1hbmQSFAoFZW1haWwYAyABKAlSBWVtYWlsEhIKBG5hbWUYBCABKAlSBG5hbWUSKAoQYXZhdGFyX2ltYWdlX3VybBgFIAEoCVIOYXZhdGFySW1hZ2VVcmwSWwoRb3JnYW5pemF0aW9uX3JvbGUYBiABKA4yLi5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5Pcmdhbml6YXRpb25SEG9yZ2FuaXphdGlvblJvbGUSWQoRZW52aXJvbm1lbnRfcm9sZXMYByADKAsyLC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuRW52aXJvbm1lbnRSb2xlUhBlbnZpcm9ubWVudFJvbGVzEh0KCmZpcnN0X25hbWUYCCABKAlSCWZpcnN0TmFtZRIbCglsYXN0X25hbWUYCSABKAlSCGxhc3ROYW1lEhoKCGxhbmd1YWdlGAogASgJUghsYW5ndWFnZSJRChdDcmVhdGVBY2NvdW50VjJSZXNwb25zZRI2CgdhY2NvdW50GAEgASgLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUgdhY2NvdW50IqABChZFbmFibGVBY2NvdW50VjJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkEkcKB2NvbW1hbmQYAyABKAsyKS5idWNrZXRlZXIuYWNjb3VudC5FbmFibGVBY2NvdW50VjJDb21tYW5kQgIYAVIHY29tbWFuZCJRChdFbmFibGVBY2NvdW50VjJSZXNwb25zZRI2CgdhY2NvdW50GAEgASgLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUgdhY2NvdW50IqIBChdEaXNhYmxlQWNjb3VudFYyUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZBJICgdjb21tYW5kGAMgASgLMiouYnVja2V0ZWVyLmFjY291bnQuRGlzYWJsZUFjY291bnRWMkNvbW1hbmRCAhgBUgdjb21tYW5kIlIKGERpc2FibGVBY2NvdW50VjJSZXNwb25zZRI2CgdhY2NvdW50GAEgASgLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUgdhY2NvdW50IqABChZEZWxldGVBY2NvdW50VjJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkEkcKB2NvbW1hbmQYAyABKAsyKS5idWNrZXRlZXIuYWNjb3VudC5EZWxldGVBY2NvdW50VjJDb21tYW5kQgIYAVIHY29tbWFuZCIZChdEZWxldGVBY2NvdW50VjJSZXNwb25zZSLmDwoWVXBkYXRlQWNjb3VudFYyUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZBJhChNjaGFuZ2VfbmFtZV9jb21tYW5kGAMgASgLMi0uYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyTmFtZUNvbW1hbmRCAhgBUhFjaGFuZ2VOYW1lQ29tbWFuZBJ2ChljaGFuZ2VfYXZhdGFyX3VybF9jb21tYW5kGAQgASgLMjcuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyQXZhdGFySW1hZ2VVcmxDb21tYW5kQgIYAVIWY2hhbmdlQXZhdGFyVXJsQ29tbWFuZBKGAQogY2hhbmdlX29yZ2FuaXphdGlvbl9yb2xlX2NvbW1hbmQYBSABKAsyOS5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJPcmdhbml6YXRpb25Sb2xlQ29tbWFuZEICGAFSHWNoYW5nZU9yZ2FuaXphdGlvblJvbGVDb21tYW5kEoYBCiBjaGFuZ2VfZW52aXJvbm1lbnRfcm9sZXNfY29tbWFuZBgGIAEoCzI5LmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMkVudmlyb25tZW50Um9sZXNDb21tYW5kQgIYAVIdY2hhbmdlRW52aXJvbm1lbnRSb2xlc0NvbW1hbmQScQoZY2hhbmdlX2ZpcnN0X25hbWVfY29tbWFuZBgHIAEoCzIyLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMkZpcnN0TmFtZUNvbW1hbmRCAhgBUhZjaGFuZ2VGaXJzdE5hbWVDb21tYW5kEm4KGGNoYW5nZV9sYXN0X25hbWVfY29tbWFuZBgIIAEoCzIxLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMkxhc3ROYW1lQ29tbWFuZEICGAFSFWNoYW5nZUxhc3ROYW1lQ29tbWFuZBJtChdjaGFuZ2VfbGFuZ3VhZ2VfY29tbWFuZBgJIAEoCzIxLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMkxhbmd1YWdlQ29tbWFuZEICGAFSFWNoYW5nZUxhbmd1YWdlQ29tbWFuZBJuChhjaGFuZ2VfbGFzdF9zZWVuX2NvbW1hbmQYCiABKAsyMS5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJMYXN0U2VlbkNvbW1hbmRCAhgBUhVjaGFuZ2VMYXN0U2VlbkNvbW1hbmQSZwoVY2hhbmdlX2F2YXRhcl9jb21tYW5kGAsgASgLMi8uYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyQXZhdGFyQ29tbWFuZEICGAFSE2NoYW5nZUF2YXRhckNvbW1hbmQSMAoEbmFtZRgMIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRJGChBhdmF0YXJfaW1hZ2VfdXJsGA0gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUg5hdmF0YXJJbWFnZVVybBJsChFvcmdhbml6YXRpb25fcm9sZRgOIAEoCzI/LmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFjY291bnRWMlJlcXVlc3QuT3JnYW5pemF0aW9uUm9sZVZhbHVlUhBvcmdhbml6YXRpb25Sb2xlElkKEWVudmlyb25tZW50X3JvbGVzGA8gAygLMiwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcxI7CgpmaXJzdF9uYW1lGBAgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUglmaXJzdE5hbWUSOQoJbGFzdF9uYW1lGBEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUghsYXN0TmFtZRI4CghsYW5ndWFnZRgSIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIIbGFuZ3VhZ2USOAoJbGFzdF9zZWVuGBMgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWVSCGxhc3RTZWVuElEKBmF2YXRhchgUIAEoCzI5LmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFjY291bnRWMlJlcXVlc3QuQWNjb3VudFYyQXZhdGFyUgZhdmF0YXISNgoIZGlzYWJsZWQYFSABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZBpeCg9BY2NvdW50VjJBdmF0YXISIQoMYXZhdGFyX2ltYWdlGAEgASgMUgthdmF0YXJJbWFnZRIoChBhdmF0YXJfZmlsZV90eXBlGAIgASgJUg5hdmF0YXJGaWxlVHlwZRpbChVPcmdhbml6YXRpb25Sb2xlVmFsdWUSQgoEcm9sZRgBIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIEcm9sZSJRChdVcGRhdGVBY2NvdW50VjJSZXNwb25zZRI2CgdhY2NvdW50GAEgASgLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUgdhY2NvdW50IlQKE0dldEFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQiTgoUR2V0QWNjb3VudFYyUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCJhCiJHZXRBY2NvdW50VjJCeUVudmlyb25tZW50SURSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBIlCg5lbnZpcm9ubWVudF9pZBgCIAEoCVINZW52aXJvbm1lbnRJZCJdCiNHZXRBY2NvdW50VjJCeUVudmlyb25tZW50SURSZXNwb25zZRI2CgdhY2NvdW50GAEgASgLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUgdhY2NvdW50IosGChVMaXN0QWNjb3VudHNWMlJlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchInCg9vcmdhbml6YXRpb25faWQYAyABKAlSDm9yZ2FuaXphdGlvbklkEksKCG9yZGVyX2J5GAQgASgOMjAuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFjY291bnRzVjJSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSYAoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjcuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFjY291bnRzVjJSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBI2CghkaXNhYmxlZBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGRpc2FibGVkEkgKEW9yZ2FuaXphdGlvbl9yb2xlGAggASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSEG9yZ2FuaXphdGlvblJvbGUSQwoOZW52aXJvbm1lbnRfaWQYCSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSDWVudmlyb25tZW50SWQSRgoQZW52aXJvbm1lbnRfcm9sZRgKIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUg9lbnZpcm9ubWVudFJvbGUiiQEKB09yZGVyQnkSCwoHREVGQVVMVBAAEgkKBUVNQUlMEAESDgoKQ1JFQVRFRF9BVBACEg4KClVQREFURURfQVQQAxIVChFPUkdBTklaQVRJT05fUk9MRRAEEhUKEUVOVklST05NRU5UX0NPVU5UEAUSDQoJTEFTVF9TRUVOEAYSCQoFU1RBVEUQByIjCg5PcmRlckRpcmVjdGlvbhIHCgNBU0MQABIICgRERVNDEAEiiwEKFkxpc3RBY2NvdW50c1YyUmVzcG9uc2USOAoIYWNjb3VudHMYASADKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSCGFjY291bnRzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50IpICChNDcmVhdGVBUElLZXlSZXF1ZXN0EkQKB2NvbW1hbmQYASABKAsyJi5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVBUElLZXlDb21tYW5kQgIYAVIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZBISCgRuYW1lGAQgASgJUgRuYW1lEjIKBHJvbGUYBSABKA4yHi5idWNrZXRlZXIuYWNjb3VudC5BUElLZXkuUm9sZVIEcm9sZRIeCgptYWludGFpbmVyGAYgASgJUgptYWludGFpbmVyEiAKC2Rlc2NyaXB0aW9uGAcgASgJUgtkZXNjcmlwdGlvbkoECAIQAyJKChRDcmVhdGVBUElLZXlSZXNwb25zZRIyCgdhcGlfa2V5GAEgASgLMhkuYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5UgZhcGlLZXkinAEKF0NoYW5nZUFQSUtleU5hbWVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJECgdjb21tYW5kGAIgASgLMiouYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQVBJS2V5TmFtZUNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGgoYQ2hhbmdlQVBJS2V5TmFtZVJlc3BvbnNlIpQBChNFbmFibGVBUElLZXlSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJACgdjb21tYW5kGAIgASgLMiYuYnVja2V0ZWVyLmFjY291bnQuRW5hYmxlQVBJS2V5Q29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIWChRFbmFibGVBUElLZXlSZXNwb25zZSKWAQoURGlzYWJsZUFQSUtleVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkEKB2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuYWNjb3VudC5EaXNhYmxlQVBJS2V5Q29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIXChVEaXNhYmxlQVBJS2V5UmVzcG9uc2UiTwoQR2V0QVBJS2V5UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiRwoRR2V0QVBJS2V5UmVzcG9uc2USMgoHYXBpX2tleRgBIAEoCzIZLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleVIGYXBpS2V5IuYEChJMaXN0QVBJS2V5c1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJICghvcmRlcl9ieRgEIAEoDjItLmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBUElLZXlzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5El0KD29yZGVyX2RpcmVjdGlvbhgFIAEoDjI0LmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBUElLZXlzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBiABKAlSDXNlYXJjaEtleXdvcmQSNgoIZGlzYWJsZWQYByABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZBIpCg5lbnZpcm9ubWVudF9pZBgIIAEoCUICGAFSDWVudmlyb25tZW50SWQSJwoPZW52aXJvbm1lbnRfaWRzGAkgAygJUg5lbnZpcm9ubWVudElkcxIsCg9vcmdhbml6YXRpb25faWQYCiABKAlCA+BBAlIOb3JnYW5pemF0aW9uSWQiZgoHT3JkZXJCeRILCgdERUZBVUxUEAASCAoETkFNRRABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSCAoEUk9MRRAEEg8KC0VOVklST05NRU5UEAUSCQoFU1RBVEUQBiIjCg5PcmRlckRpcmVjdGlvbhIHCgNBU0MQABIICgRERVNDEAFKBAgDEAQihAEKE0xpc3RBUElLZXlzUmVzcG9uc2USNAoIYXBpX2tleXMYASADKAsyGS5idWNrZXRlZXIuYWNjb3VudC5BUElLZXlSB2FwaUtleXMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiNgobR2V0RW52aXJvbm1lbnRBUElLZXlSZXF1ZXN0EhcKB2FwaV9rZXkYAiABKAlSBmFwaUtleSJ0ChxHZXRFbnZpcm9ubWVudEFQSUtleVJlc3BvbnNlElQKE2Vudmlyb25tZW50X2FwaV9rZXkYASABKAsyJC5idWNrZXRlZXIuYWNjb3VudC5FbnZpcm9ubWVudEFQSUtleVIRZW52aXJvbm1lbnRBcGlLZXkiyQEKGUNyZWF0ZVNlYXJjaEZpbHRlclJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWQSRgoHY29tbWFuZBgEIAEoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZVNlYXJjaEZpbHRlckNvbW1hbmRSB2NvbW1hbmQiHAoaQ3JlYXRlU2VhcmNoRmlsdGVyUmVzcG9uc2UiwAMKGVVwZGF0ZVNlYXJjaEZpbHRlclJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWQSYAoTY2hhbmdlX25hbWVfY29tbWFuZBgEIAEoCzIwLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZVNlYXJjaEZpbHRlck5hbWVDb21tYW5kUhFjaGFuZ2VOYW1lQ29tbWFuZBJjChRjaGFuZ2VfcXVlcnlfY29tbWFuZBgFIAEoCzIxLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZVNlYXJjaEZpbHRlclF1ZXJ5Q29tbWFuZFISY2hhbmdlUXVlcnlDb21tYW5kEnYKHWNoYW5nZV9kZWZhdWx0X2ZpbHRlcl9jb21tYW5kGAYgASgLMjMuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlRGVmYXVsdFNlYXJjaEZpbHRlckNvbW1hbmRSGmNoYW5nZURlZmF1bHRGaWx0ZXJDb21tYW5kIhwKGlVwZGF0ZVNlYXJjaEZpbHRlclJlc3BvbnNlIskBChlEZWxldGVTZWFyY2hGaWx0ZXJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkEkYKB2NvbW1hbmQYBCABKAsyLC5idWNrZXRlZXIuYWNjb3VudC5EZWxldGVTZWFyY2hGaWx0ZXJDb21tYW5kUgdjb21tYW5kIhwKGkRlbGV0ZVNlYXJjaEZpbHRlclJlc3BvbnNlIugCChNVcGRhdGVBUElLZXlSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBIlCg5lbnZpcm9ubWVudF9pZBgCIAEoCVINZW52aXJvbm1lbnRJZBIwCgRuYW1lGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbhIyCgRyb2xlGAUgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUSNgoIZGlzYWJsZWQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZBI8CgptYWludGFpbmVyGAcgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgptYWludGFpbmVyIhYKFFVwZGF0ZUFQSUtleVJlc3BvbnNlMs56Cg5BY2NvdW50U2VydmljZRKeBAoFR2V0TWUSHy5idWNrZXRlZXIuYWNjb3VudC5HZXRNZVJlcXVlc3QaIC5idWNrZXRlZXIuYWNjb3VudC5HZXRNZVJlc3BvbnNlItEDkkGzAwoHQWNjb3VudBIGR2V0IE1lGh1HZXQgdGhlIHVzZXIgY29uc29sZSBhY2NvdW50LioVd2ViLnYxLmFjY291bnQuZ2V0X21lSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCFBISL3YxL2FjY291bnQvZ2V0X21lEvgEChJHZXRNeU9yZ2FuaXphdGlvbnMSLC5idWNrZXRlZXIuYWNjb3VudC5HZXRNeU9yZ2FuaXphdGlvbnNSZXF1ZXN0Gi0uYnVja2V0ZWVyLmFjY291bnQuR2V0TXlPcmdhbml6YXRpb25zUmVzcG9uc2UihASSQdwDCgdBY2NvdW50EhRHZXQgTXkgT3JnYW5pemF0aW9ucxouR2V0IGFsbCB0aGUgb3JnYW5pemF0aW9ucyBmb3IgYSBzcGVjaWZpYyB1c2VyLiofd2ViLnYxLmFjY291bnQubXlfb3JnYW5pemF0aW9uc0q0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh4SHC92MS9hY2NvdW50L215X29yZ2FuaXphdGlvbnMSlgUKGUdldE15T3JnYW5pemF0aW9uc0J5RW1haWwSMy5idWNrZXRlZXIuYWNjb3VudC5HZXRNeU9yZ2FuaXphdGlvbnNCeUVtYWlsUmVxdWVzdBotLmJ1Y2tldGVlci5hY2NvdW50LkdldE15T3JnYW5pemF0aW9uc1Jlc3BvbnNlIpQEkkHjAwoHQWNjb3VudBIdR2V0IE15IE9yZ2FuaXphdGlvbnMgQnkgRW1haWwaI0dldCBhbGwgdGhlIG9yZ2FuaXphdGlvbnMgYnkgZW1haWwuKih3ZWIudjEuYWNjb3VudC5teV9vcmdhbml6YXRpb25zX2J5X2VtYWlsSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCJxIlL3YxL2FjY291bnQvbXlfb3JnYW5pemF0aW9uc19ieV9lbWFpbBK6BgoPQ3JlYXRlQWNjb3VudFYyEikuYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlQWNjb3VudFYyUmVxdWVzdBoqLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZUFjY291bnRWMlJlc3BvbnNlIs8FkkGmBQoHQWNjb3VudBIGQ3JlYXRlGlxDcmVhdGUgYW4gYWNjb3VudCB0byBoYXZlIGFjY2VzcyB0byB0aGUgY29uc29sZS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLiodd2ViLnYxLmFjY291bnQuY3JlYXRlX2FjY291bnRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHyIaL3YxL2FjY291bnQvY3JlYXRlX2FjY291bnQ6ASoSzgMKD0VuYWJsZUFjY291bnRWMhIpLmJ1Y2tldGVlci5hY2NvdW50LkVuYWJsZUFjY291bnRWMlJlcXVlc3QaKi5idWNrZXRlZXIuYWNjb3VudC5FbmFibGVBY2NvdW50VjJSZXNwb25zZSLjApJBugIKB0FjY291bnQSBkVuYWJsZRpcRW5hYmxlIGFuIGFjY291bnQgdG8gaGF2ZSBhY2Nlc3MgdG8gdGhlIGNvbnNvbGUuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHXdlYi52MS5hY2NvdW50LmVuYWJsZV9hY2NvdW50SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHyIaL3YxL2FjY291bnQvZW5hYmxlX2FjY291bnQ6ASoSwgYKEERpc2FibGVBY2NvdW50VjISKi5idWNrZXRlZXIuYWNjb3VudC5EaXNhYmxlQWNjb3VudFYyUmVxdWVzdBorLmJ1Y2tldGVlci5hY2NvdW50LkRpc2FibGVBY2NvdW50VjJSZXNwb25zZSLUBZJBqgUKB0FjY291bnQSB0Rpc2FibGUaXkRpc2FibGUgYW4gYWNjb3VudCB0byBibG9jayBhY2Nlc3MgdG8gdGhlIGNvbnNvbGUuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHndlYi52MS5hY2NvdW50LmRpc2FibGVfYWNjb3VudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIgIhsvdjEvYWNjb3VudC9kaXNhYmxlX2FjY291bnQ6ASoSnAYKD1VwZGF0ZUFjY291bnRWMhIpLmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFjY291bnRWMlJlcXVlc3QaKi5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVBY2NvdW50VjJSZXNwb25zZSKxBZJBiAUKB0FjY291bnQSBlVwZGF0ZRo+VXBkYXRlIGFuIGFjY291bnQuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHXdlYi52MS5hY2NvdW50LnVwZGF0ZV9hY2NvdW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh8iGi92MS9hY2NvdW50L3VwZGF0ZV9hY2NvdW50OgEqEpwGCg9EZWxldGVBY2NvdW50VjISKS5idWNrZXRlZXIuYWNjb3VudC5EZWxldGVBY2NvdW50VjJSZXF1ZXN0GiouYnVja2V0ZWVyLmFjY291bnQuRGVsZXRlQWNjb3VudFYyUmVzcG9uc2UisQWSQYgFCgdBY2NvdW50EgZEZWxldGUaPkRlbGV0ZSBhbiBhY2NvdW50LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh13ZWIudjEuYWNjb3VudC5kZWxldGVfYWNjb3VudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIfIhovdjEvYWNjb3VudC9kZWxldGVfYWNjb3VudDoBKhKsBAoMR2V0QWNjb3VudFYyEiYuYnVja2V0ZWVyLmFjY291bnQuR2V0QWNjb3VudFYyUmVxdWVzdBonLmJ1Y2tldGVlci5hY2NvdW50LkdldEFjY291bnRWMlJlc3BvbnNlIsoDkkGnAwoHQWNjb3VudBIDR2V0Gg9HZXQgYW4gYWNjb3VudC4qGndlYi52MS5hY2NvdW50LmdldF9hY2NvdW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCGRIXL3YxL2FjY291bnQvZ2V0X2FjY291bnQSnQUKG0dldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRBI1LmJ1Y2tldGVlci5hY2NvdW50LkdldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRFJlcXVlc3QaNi5idWNrZXRlZXIuYWNjb3VudC5HZXRBY2NvdW50VjJCeUVudmlyb25tZW50SURSZXNwb25zZSKOBJJB3AMKB0FjY291bnQSGkdldCBBY2NvdW50IEJ5IEVudmlyb25tZW50Gh5HZXQgYW4gYWNjb3VudCBieSBlbnZpcm9ubWVudC4qKXdlYi52MS5hY2NvdW50LmdldF9hY2NvdW50X2J5X2Vudmlyb25tZW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCKBImL3YxL2FjY291bnQvZ2V0X2FjY291bnRfYnlfZW52aXJvbm1lbnQStgQKDkxpc3RBY2NvdW50c1YyEiguYnVja2V0ZWVyLmFjY291bnQuTGlzdEFjY291bnRzVjJSZXF1ZXN0GikuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFjY291bnRzVjJSZXNwb25zZSLOA5JBqQMKB0FjY291bnQSBExpc3QaDkxpc3QgYWNjb3VudHMuKhx3ZWIudjEuYWNjb3VudC5saXN0X2FjY291bnRzSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCGxIZL3YxL2FjY291bnQvbGlzdF9hY2NvdW50cxKwBgoMQ3JlYXRlQVBJS2V5EiYuYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlQVBJS2V5UmVxdWVzdBonLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZUFQSUtleVJlc3BvbnNlIs4FkkGlBQoHQVBJIEtleRIGQ3JlYXRlGltDcmVhdGUgYW4gQVBJIGtleSB0byBiZSB1c2VkIG9uIHRoZSBjbGllbnQgU0RLLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh13ZWIudjEuYWNjb3VudC5jcmVhdGVfYXBpX2tleUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIfIhovdjEvYWNjb3VudC9jcmVhdGVfYXBpX2tleToBKhK8BgoQQ2hhbmdlQVBJS2V5TmFtZRIqLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFQSUtleU5hbWVSZXF1ZXN0GisuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQVBJS2V5TmFtZVJlc3BvbnNlIs4FkkGgBQoHQVBJIEtleRITQ2hhbmdlIEFQSSBLZXkgTmFtZRpEQ2hhbmdlIHRoZSBBUEkgS2V5IE5hbWUuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qIndlYi52MS5hY2NvdW50LmNoYW5nZV9hcGlfa2V5X25hbWVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCJCIfL3YxL2FjY291bnQvY2hhbmdlX2FwaV9rZXlfbmFtZToBKhKTBgoMRW5hYmxlQVBJS2V5EiYuYnVja2V0ZWVyLmFjY291bnQuRW5hYmxlQVBJS2V5UmVxdWVzdBonLmJ1Y2tldGVlci5hY2NvdW50LkVuYWJsZUFQSUtleVJlc3BvbnNlIrEFkkGIBQoHQVBJIEtleRIGRW5hYmxlGj5FbmFibGUgYW4gQVBJIEtleS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLiodd2ViLnYxLmFjY291bnQuZW5hYmxlX2FwaV9rZXlKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHyIaL3YxL2FjY291bnQvZW5hYmxlX2FwaV9rZXk6ASoSmgYKDURpc2FibGVBUElLZXkSJy5idWNrZXRlZXIuYWNjb3VudC5EaXNhYmxlQVBJS2V5UmVxdWVzdBooLmJ1Y2tldGVlci5hY2NvdW50LkRpc2FibGVBUElLZXlSZXNwb25zZSK1BZJBiwUKB0FQSSBLZXkSB0Rpc2FibGUaP0Rpc2FibGUgYW4gQVBJIEtleS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLioed2ViLnYxLmFjY291bnQuZGlzYWJsZV9hcGlfa2V5SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiAiGy92MS9hY2NvdW50L2Rpc2FibGVfYXBpX2tleToBKhKjBAoJR2V0QVBJS2V5EiMuYnVja2V0ZWVyLmFjY291bnQuR2V0QVBJS2V5UmVxdWVzdBokLmJ1Y2tldGVlci5hY2NvdW50LkdldEFQSUtleVJlc3BvbnNlIsoDkkGnAwoHQVBJIEtleRIDR2V0Gg9HZXQgYW4gQVBJIEtleS4qGndlYi52MS5hY2NvdW50LmdldF9hcGlfa2V5SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCGRIXL3YxL2FjY291bnQvZ2V0X2FwaV9rZXkSrQQKC0xpc3RBUElLZXlzEiUuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFQSUtleXNSZXF1ZXN0GiYuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFQSUtleXNSZXNwb25zZSLOA5JBqQMKB0FQSSBLZXkSBExpc3QaDkxpc3QgQVBJIEtleXMuKhx3ZWIudjEuYWNjb3VudC5saXN0X2FwaV9rZXlzSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCGxIZL3YxL2FjY291bnQvbGlzdF9hcGlfa2V5cxL8BAoUR2V0RW52aXJvbm1lbnRBUElLZXkSLi5idWNrZXRlZXIuYWNjb3VudC5HZXRFbnZpcm9ubWVudEFQSUtleVJlcXVlc3QaLy5idWNrZXRlZXIuYWNjb3VudC5HZXRFbnZpcm9ubWVudEFQSUtleVJlc3BvbnNlIoIEkkHTAwoHQVBJIEtleRIXR2V0IEVudmlyb25tZW50IEFQSSBLZXkaG0dldCBhbiBlbnZpcm9ubWVudCBBUEkgS2V5Liomd2ViLnYxLmFjY291bnQuZ2V0X2Vudmlyb25tZW50X2FwaV9rZXlKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIlEiMvdjEvYWNjb3VudC9nZXRfZW52aXJvbm1lbnRfYXBpX2tleRLFBgoSQ3JlYXRlU2VhcmNoRmlsdGVyEiwuYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlU2VhcmNoRmlsdGVyUmVxdWVzdBotLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZVNlYXJjaEZpbHRlclJlc3BvbnNlItEFkkGiBQoHQWNjb3VudBIUQ3JlYXRlIFNlYXJjaCBGaWx0ZXIaRENyZWF0ZSBhIHNlYXJjaCBmaWx0ZXIuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBWSUVXRVJgIHJvbGUuKiN3ZWIudjEuYWNjb3VudC5jcmVhdGVfc2VhcmNoX2ZpbHRlckq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIlIiAvdjEvYWNjb3VudC9jcmVhdGVfc2VhcmNoX2ZpbHRlcjoBKhLFBgoSVXBkYXRlU2VhcmNoRmlsdGVyEiwuYnVja2V0ZWVyLmFjY291bnQuVXBkYXRlU2VhcmNoRmlsdGVyUmVxdWVzdBotLmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZVNlYXJjaEZpbHRlclJlc3BvbnNlItEFkkGiBQoHQWNjb3VudBIUVXBkYXRlIFNlYXJjaCBGaWx0ZXIaRFVwZGF0ZSBhIHNlYXJjaCBmaWx0ZXIuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBWSUVXRVJgIHJvbGUuKiN3ZWIudjEuYWNjb3VudC51cGRhdGVfc2VhcmNoX2ZpbHRlckq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIlIiAvdjEvYWNjb3VudC91cGRhdGVfc2VhcmNoX2ZpbHRlcjoBKhLFBgoSRGVsZXRlU2VhcmNoRmlsdGVyEiwuYnVja2V0ZWVyLmFjY291bnQuRGVsZXRlU2VhcmNoRmlsdGVyUmVxdWVzdBotLmJ1Y2tldGVlci5hY2NvdW50LkRlbGV0ZVNlYXJjaEZpbHRlclJlc3BvbnNlItEFkkGiBQoHQWNjb3VudBIURGVsZXRlIFNlYXJjaCBGaWx0ZXIaRERlbGV0ZSBhIHNlYXJjaCBmaWx0ZXIuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBWSUVXRVJgIHJvbGUuKiN3ZWIudjEuYWNjb3VudC5kZWxldGVfc2VhcmNoX2ZpbHRlckq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIlIiAvdjEvYWNjb3VudC9kZWxldGVfc2VhcmNoX2ZpbHRlcjoBKhKbBgoMVXBkYXRlQVBJS2V5EiYuYnVja2V0ZWVyLmFjY291bnQuVXBkYXRlQVBJS2V5UmVxdWVzdBonLmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFQSUtleVJlc3BvbnNlIrkFkkGQBQoHQVBJIEtleRIOVXBkYXRlIEFQSSBLZXkaPlVwZGF0ZSBhbiBBUEkgS2V5LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh13ZWIudjEuYWNjb3VudC51cGRhdGVfYXBpX2tleUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIfMhovdjEvYWNjb3VudC91cGRhdGVfYXBpX2tleToBKkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYWNjb3VudGIGcHJvdG8z experimentcalculatorDescriptor: CtYBCh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiZwoJVmFyaWF0aW9uEg4KAmlkGAEgASgJUgJpZBIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUSEgoEbmFtZRgDIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb25CMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwq8BwohcHJvdG8vZXhwZXJpbWVudC9leHBlcmltZW50LnByb3RvEhRidWNrZXRlZXIuZXhwZXJpbWVudBodcHJvdG8vZmVhdHVyZS92YXJpYXRpb24ucHJvdG8i0AUKCkV4cGVyaW1lbnQSDgoCaWQYASABKAlSAmlkEhsKB2dvYWxfaWQYAiABKAlCAhgBUgZnb2FsSWQSHQoKZmVhdHVyZV9pZBgDIAEoCVIJZmVhdHVyZUlkEicKD2ZlYXR1cmVfdmVyc2lvbhgEIAEoBVIOZmVhdHVyZVZlcnNpb24SPAoKdmFyaWF0aW9ucxgFIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIZCghzdGFydF9hdBgGIAEoA1IHc3RhcnRBdBIXCgdzdG9wX2F0GAcgASgDUgZzdG9wQXQSHAoHc3RvcHBlZBgIIAEoCEICGAFSB3N0b3BwZWQSIQoKc3RvcHBlZF9hdBgJIAEoA0ICMAFSCXN0b3BwZWRBdBIdCgpjcmVhdGVkX2F0GAogASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgLIAEoA1IJdXBkYXRlZEF0EhgKB2RlbGV0ZWQYDCABKAhSB2RlbGV0ZWQSGQoIZ29hbF9pZHMYDSADKAlSB2dvYWxJZHMSEgoEbmFtZRgOIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgPIAEoCVILZGVzY3JpcHRpb24SKgoRYmFzZV92YXJpYXRpb25faWQYECABKAlSD2Jhc2VWYXJpYXRpb25JZBI/CgZzdGF0dXMYEiABKA4yJy5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50LlN0YXR1c1IGc3RhdHVzEh4KCm1haW50YWluZXIYEyABKAlSCm1haW50YWluZXISGgoIYXJjaGl2ZWQYFCABKAhSCGFyY2hpdmVkIkIKBlN0YXR1cxILCgdXQUlUSU5HEAASCwoHUlVOTklORxABEgsKB1NUT1BQRUQQAhIRCg1GT1JDRV9TVE9QUEVEEANKBAgREBIiUQoLRXhwZXJpbWVudHMSQgoLZXhwZXJpbWVudHMYASADKAsyIC5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50UgtleHBlcmltZW50c0I0WjJnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZXhwZXJpbWVudGIGcHJvdG8zCuADCihwcm90by9leHBlcmltZW50Y2FsY3VsYXRvci9zZXJ2aWNlLnByb3RvEh5idWNrZXRlZXIuZXhwZXJpbWVudGNhbGN1bGF0b3IaIXByb3RvL2V4cGVyaW1lbnQvZXhwZXJpbWVudC5wcm90byJ7ChBCYXRjaENhbGNSZXF1ZXN0EiUKDmVudmlyb25tZW50X2lkGAEgASgJUg1lbnZpcm9ubWVudElkEkAKCmV4cGVyaW1lbnQYAiABKAsyIC5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50UgpleHBlcmltZW50IhMKEUJhdGNoQ2FsY1Jlc3BvbnNlMpYBChtFeHBlcmltZW50Q2FsY3VsYXRvclNlcnZpY2USdwoOQ2FsY0V4cGVyaW1lbnQSMC5idWNrZXRlZXIuZXhwZXJpbWVudGNhbGN1bGF0b3IuQmF0Y2hDYWxjUmVxdWVzdBoxLmJ1Y2tldGVlci5leHBlcmltZW50Y2FsY3VsYXRvci5CYXRjaENhbGNSZXNwb25zZSIAQj5aPGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9leHBlcmltZW50Y2FsY3VsYXRvcmIGcHJvdG8z auditlogDescriptor: CuQBChlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiNgoDQW55EhkKCHR5cGVfdXJsGAEgASgJUgd0eXBlVXJsEhQKBXZhbHVlGAIgASgMUgV2YWx1ZUJ2ChNjb20uZ29vZ2xlLnByb3RvYnVmQghBbnlQcm90b1ABWixnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9hbnlwYqICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCoYECh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIjCgtEb3VibGVWYWx1ZRIUCgV2YWx1ZRgBIAEoAVIFdmFsdWUiIgoKRmxvYXRWYWx1ZRIUCgV2YWx1ZRgBIAEoAlIFdmFsdWUiIgoKSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoA1IFdmFsdWUiIwoLVUludDY0VmFsdWUSFAoFdmFsdWUYASABKARSBXZhbHVlIiIKCkludDMyVmFsdWUSFAoFdmFsdWUYASABKAVSBXZhbHVlIiMKC1VJbnQzMlZhbHVlEhQKBXZhbHVlGAEgASgNUgV2YWx1ZSIhCglCb29sVmFsdWUSFAoFdmFsdWUYASABKAhSBXZhbHVlIiMKC1N0cmluZ1ZhbHVlEhQKBXZhbHVlGAEgASgJUgV2YWx1ZSIiCgpCeXRlc1ZhbHVlEhQKBXZhbHVlGAEgASgMUgV2YWx1ZUKDAQoTY29tLmdvb2dsZS5wcm90b2J1ZkINV3JhcHBlcnNQcm90b1ABWjFnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi93cmFwcGVyc3Bi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKxwMKGnByb3RvL2ZlYXR1cmUvY2xhdXNlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSLaAgoGQ2xhdXNlEg4KAmlkGAEgASgJUgJpZBIcCglhdHRyaWJ1dGUYAiABKAlSCWF0dHJpYnV0ZRI+CghvcGVyYXRvchgDIAEoDjIiLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZS5PcGVyYXRvclIIb3BlcmF0b3ISFgoGdmFsdWVzGAQgAygJUgZ2YWx1ZXMiyQEKCE9wZXJhdG9yEgoKBkVRVUFMUxAAEgYKAklOEAESDQoJRU5EU19XSVRIEAISDwoLU1RBUlRTX1dJVEgQAxILCgdTRUdNRU5UEAQSCwoHR1JFQVRFUhAFEhQKEEdSRUFURVJfT1JfRVFVQUwQBhIICgRMRVNTEAcSEQoNTEVTU19PUl9FUVVBTBAIEgoKBkJFRk9SRRAJEgkKBUFGVEVSEAoSEAoMRkVBVFVSRV9GTEFHEAsSEwoPUEFSVElBTExZX01BVENIEAxCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwq7BAoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiLQoNRml4ZWRTdHJhdGVneRIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbiKiAQoPUm9sbG91dFN0cmF0ZWd5EkwKCnZhcmlhdGlvbnMYASADKAsyLC5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3kuVmFyaWF0aW9uUgp2YXJpYXRpb25zGkEKCVZhcmlhdGlvbhIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbhIWCgZ3ZWlnaHQYAiABKAVSBndlaWdodCL4AQoIU3RyYXRlZ3kSNAoEdHlwZRgBIAEoDjIgLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5LlR5cGVSBHR5cGUSRwoOZml4ZWRfc3RyYXRlZ3kYAiABKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5GaXhlZFN0cmF0ZWd5Ug1maXhlZFN0cmF0ZWd5Ek0KEHJvbGxvdXRfc3RyYXRlZ3kYAyABKAsyIi5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3lSD3JvbGxvdXRTdHJhdGVneSIeCgRUeXBlEgkKBUZJWEVEEAASCwoHUk9MTE9VVBABQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKqQIKGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGnByb3RvL2ZlYXR1cmUvY2xhdXNlLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvIoQBCgRSdWxlEg4KAmlkGAEgASgJUgJpZBI3CghzdHJhdGVneRgCIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneRIzCgdjbGF1c2VzGAMgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgdjbGF1c2VzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKqAEKGnByb3RvL2ZlYXR1cmUvdGFyZ2V0LnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSI8CgZUYXJnZXQSHAoJdmFyaWF0aW9uGAEgASgJUgl2YXJpYXRpb24SFAoFdXNlcnMYAiADKAlSBXVzZXJzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK1gEKHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSJnCglWYXJpYXRpb24SDgoCaWQYASABKAlSAmlkEhQKBXZhbHVlGAIgASgJUgV2YWx1ZRISCgRuYW1lGAMgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCvQCCipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIvcBChNGZWF0dXJlTGFzdFVzZWRJbmZvEh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIYCgd2ZXJzaW9uGAIgASgFUgd2ZXJzaW9uEiAKDGxhc3RfdXNlZF9hdBgDIAEoA1IKbGFzdFVzZWRBdBIdCgpjcmVhdGVkX2F0GAQgASgDUgljcmVhdGVkQXQSMgoVY2xpZW50X29sZGVzdF92ZXJzaW9uGAUgASgJUhNjbGllbnRPbGRlc3RWZXJzaW9uEjIKFWNsaWVudF9sYXRlc3RfdmVyc2lvbhgGIAEoCVITY2xpZW50TGF0ZXN0VmVyc2lvbkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCsIBCiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiUAoMUHJlcmVxdWlzaXRlEh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIhCgx2YXJpYXRpb25faWQYAiABKAlSC3ZhcmlhdGlvbklkQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKswwKG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvItIHCgdGZWF0dXJlEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIYCgdlbmFibGVkGAQgASgIUgdlbmFibGVkEhgKB2RlbGV0ZWQYBSABKAhSB2RlbGV0ZWQSOQoWZXZhbHVhdGlvbl91bmRlbGF5YWJsZRgGIAEoCEICGAFSFWV2YWx1YXRpb25VbmRlbGF5YWJsZRIQCgN0dGwYByABKAVSA3R0bBIYCgd2ZXJzaW9uGAggASgFUgd2ZXJzaW9uEh0KCmNyZWF0ZWRfYXQYCSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAogASgDUgl1cGRhdGVkQXQSPAoKdmFyaWF0aW9ucxgLIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIzCgd0YXJnZXRzGAwgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0Ugd0YXJnZXRzEi0KBXJ1bGVzGA0gAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSRgoQZGVmYXVsdF9zdHJhdGVneRgOIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5Ug9kZWZhdWx0U3RyYXRlZ3kSIwoNb2ZmX3ZhcmlhdGlvbhgPIAEoCVIMb2ZmVmFyaWF0aW9uEhIKBHRhZ3MYECADKAlSBHRhZ3MSTAoObGFzdF91c2VkX2luZm8YESABKAsyJi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlTGFzdFVzZWRJbmZvUgxsYXN0VXNlZEluZm8SHgoKbWFpbnRhaW5lchgSIAEoCVIKbWFpbnRhaW5lchJPCg52YXJpYXRpb25fdHlwZRgTIAEoDjIoLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmUuVmFyaWF0aW9uVHlwZVINdmFyaWF0aW9uVHlwZRIaCghhcmNoaXZlZBgUIAEoCFIIYXJjaGl2ZWQSRQoNcHJlcmVxdWlzaXRlcxgVIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVINcHJlcmVxdWlzaXRlcxIjCg1zYW1wbGluZ19zZWVkGBYgASgJUgxzYW1wbGluZ1NlZWQiPgoNVmFyaWF0aW9uVHlwZRIKCgZTVFJJTkcQABILCgdCT09MRUFOEAESCgoGTlVNQkVSEAISCAoESlNPThADIlIKCEZlYXR1cmVzEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMSDgoCaWQYAiABKAlSAmlkInMKEkVudmlyb25tZW50RmVhdHVyZRIlCg5lbnZpcm9ubWVudF9pZBgBIAEoCVINZW52aXJvbm1lbnRJZBI2CghmZWF0dXJlcxgCIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzImcKA1RhZxIOCgJpZBgBIAEoCVICaWQSHQoKY3JlYXRlZF9hdBgCIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYAyABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAQgASgJUgRuYW1lQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKtQgKG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvIrQECgdTZWdtZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhItCgVydWxlcxgEIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHAoHdmVyc2lvbhgHIAEoA0ICGAFSB3ZlcnNpb24SGAoHZGVsZXRlZBgIIAEoCFIHZGVsZXRlZBIuChNpbmNsdWRlZF91c2VyX2NvdW50GAkgASgDUhFpbmNsdWRlZFVzZXJDb3VudBIyChNleGNsdWRlZF91c2VyX2NvdW50GAogASgDQgIYAVIRZXhjbHVkZWRVc2VyQ291bnQSOQoGc3RhdHVzGAsgASgOMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudC5TdGF0dXNSBnN0YXR1cxInChBpc19pbl91c2Vfc3RhdHVzGAwgASgIUg1pc0luVXNlU3RhdHVzEjYKCGZlYXR1cmVzGA0gAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMiPgoGU3RhdHVzEgsKB0lOSVRJQUwQABINCglVUExPQURJTkcQARIMCghTVUNFRURFRBACEgoKBkZBSUxFRBADItQBCgtTZWdtZW50VXNlchIOCgJpZBgBIAEoCVICaWQSHQoKc2VnbWVudF9pZBgCIAEoCVIJc2VnbWVudElkEhcKB3VzZXJfaWQYAyABKAlSBnVzZXJJZBI6CgVzdGF0ZRgEIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIYCgdkZWxldGVkGAUgASgIUgdkZWxldGVkIicKBVN0YXRlEgwKCElOQ0xVREVEEAASEAoIRVhDTFVERUQQARoCCAEiggEKDFNlZ21lbnRVc2VycxIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSNAoFdXNlcnMYAiADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSHQoKdXBkYXRlZF9hdBgDIAEoA1IJdXBkYXRlZEF0QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK5wMKI3Byb3RvL2Vudmlyb25tZW50L2Vudmlyb25tZW50LnByb3RvEhVidWNrZXRlZXIuZW52aXJvbm1lbnQi6QIKDUVudmlyb25tZW50VjISDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAyABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEh0KCnByb2plY3RfaWQYBSABKAlSCXByb2plY3RJZBIaCghhcmNoaXZlZBgGIAEoCFIIYXJjaGl2ZWQSHQoKY3JlYXRlZF9hdBgHIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCCABKANSCXVwZGF0ZWRBdBInCg9vcmdhbml6YXRpb25faWQYCSABKAlSDm9yZ2FuaXphdGlvbklkEicKD3JlcXVpcmVfY29tbWVudBgKIAEoCFIOcmVxdWlyZUNvbW1lbnQSLAoSZmVhdHVyZV9mbGFnX2NvdW50GAsgASgFUhBmZWF0dXJlRmxhZ0NvdW50QjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCv0DCh9wcm90by9lbnZpcm9ubWVudC9wcm9qZWN0LnByb3RvEhVidWNrZXRlZXIuZW52aXJvbm1lbnQigwMKB1Byb2plY3QSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgDIAEoCFIIZGlzYWJsZWQSFAoFdHJpYWwYBCABKAhSBXRyaWFsEiMKDWNyZWF0b3JfZW1haWwYBSABKAlSDGNyZWF0b3JFbWFpbBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0EhIKBG5hbWUYCCABKAlSBG5hbWUSGQoIdXJsX2NvZGUYCSABKAlSB3VybENvZGUSJwoPb3JnYW5pemF0aW9uX2lkGAogASgJUg5vcmdhbml6YXRpb25JZBIrChFlbnZpcm9ubWVudF9jb3VudBgLIAEoBVIQZW52aXJvbm1lbnRDb3VudBIsChJmZWF0dXJlX2ZsYWdfY291bnQYDCABKAVSEGZlYXR1cmVGbGFnQ291bnRCNVozZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2Vudmlyb25tZW50YgZwcm90bzMKrwQKJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IrADCgxPcmdhbml6YXRpb24SDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAyABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEhoKCGRpc2FibGVkGAUgASgIUghkaXNhYmxlZBIaCghhcmNoaXZlZBgGIAEoCFIIYXJjaGl2ZWQSFAoFdHJpYWwYByABKAhSBXRyaWFsEh0KCmNyZWF0ZWRfYXQYCCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAkgASgDUgl1cGRhdGVkQXQSIQoMc3lzdGVtX2FkbWluGAogASgIUgtzeXN0ZW1BZG1pbhIjCg1wcm9qZWN0X2NvdW50GAsgASgFUgxwcm9qZWN0Q291bnQSKwoRZW52aXJvbm1lbnRfY291bnQYDCABKAVSEGVudmlyb25tZW50Q291bnQSHQoKdXNlcl9jb3VudBgNIAEoBVIJdXNlckNvdW50Eh8KC293bmVyX2VtYWlsGA4gASgJUgpvd25lckVtYWlsQjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCpADCiFwcm90by9hY2NvdW50L3NlYXJjaF9maWx0ZXIucHJvdG8SEWJ1Y2tldGVlci5hY2NvdW50IukBCgxTZWFyY2hGaWx0ZXISDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSFAoFcXVlcnkYAyABKAlSBXF1ZXJ5ElEKEmZpbHRlcl90YXJnZXRfdHlwZRgEIAEoDjIjLmJ1Y2tldGVlci5hY2NvdW50LkZpbHRlclRhcmdldFR5cGVSEGZpbHRlclRhcmdldFR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWQSJQoOZGVmYXVsdF9maWx0ZXIYBiABKAhSDWRlZmF1bHRGaWx0ZXIqMQoQRmlsdGVyVGFyZ2V0VHlwZRILCgdVTktOT1dOEAASEAoMRkVBVFVSRV9GTEFHEAFCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwrAEwobcHJvdG8vYWNjb3VudC9hY2NvdW50LnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBojcHJvdG8vZW52aXJvbm1lbnQvZW52aXJvbm1lbnQucHJvdG8aH3Byb3RvL2Vudmlyb25tZW50L3Byb2plY3QucHJvdG8aJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90bxohcHJvdG8vYWNjb3VudC9zZWFyY2hfZmlsdGVyLnByb3RvIqsCCgdBY2NvdW50Eg4KAmlkGAEgASgJUgJpZBIUCgVlbWFpbBgCIAEoCVIFZW1haWwSEgoEbmFtZRgDIAEoCVIEbmFtZRIzCgRyb2xlGAQgASgOMh8uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudC5Sb2xlUgRyb2xlEhoKCGRpc2FibGVkGAUgASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0EhgKB2RlbGV0ZWQYCCABKAhSB2RlbGV0ZWQiOQoEUm9sZRIKCgZWSUVXRVIQABIKCgZFRElUT1IQARIJCgVPV05FUhACEg4KClVOQVNTSUdORUQQYzoCGAEiqAgKCUFjY291bnRWMhIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEbmFtZRgCIAEoCVIEbmFtZRIoChBhdmF0YXJfaW1hZ2VfdXJsGAMgASgJUg5hdmF0YXJJbWFnZVVybBInCg9vcmdhbml6YXRpb25faWQYBCABKAlSDm9yZ2FuaXphdGlvbklkElsKEW9yZ2FuaXphdGlvbl9yb2xlGAUgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUhBvcmdhbml6YXRpb25Sb2xlElkKEWVudmlyb25tZW50X3JvbGVzGAYgAygLMiwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcxIaCghkaXNhYmxlZBgHIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgIIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCSABKANSCXVwZGF0ZWRBdBJGCg5zZWFyY2hfZmlsdGVycxgKIAMoCzIfLmJ1Y2tldGVlci5hY2NvdW50LlNlYXJjaEZpbHRlclINc2VhcmNoRmlsdGVycxIdCgpmaXJzdF9uYW1lGAsgASgJUglmaXJzdE5hbWUSGwoJbGFzdF9uYW1lGAwgASgJUghsYXN0TmFtZRIaCghsYW5ndWFnZRgNIAEoCVIIbGFuZ3VhZ2USGwoJbGFzdF9zZWVuGA4gASgDUghsYXN0U2VlbhIoChBhdmF0YXJfZmlsZV90eXBlGA8gASgJUg5hdmF0YXJGaWxlVHlwZRIhCgxhdmF0YXJfaW1hZ2UYECABKAxSC2F2YXRhckltYWdlEisKEWVudmlyb25tZW50X2NvdW50GBEgASgFUhBlbnZpcm9ubWVudENvdW50GtcBCgRSb2xlIlkKC0Vudmlyb25tZW50EhoKFkVudmlyb25tZW50X1VOQVNTSUdORUQQABIWChJFbnZpcm9ubWVudF9WSUVXRVIQARIWChJFbnZpcm9ubWVudF9FRElUT1IQAiJ0CgxPcmdhbml6YXRpb24SGwoXT3JnYW5pemF0aW9uX1VOQVNTSUdORUQQABIXChNPcmdhbml6YXRpb25fTUVNQkVSEAESFgoST3JnYW5pemF0aW9uX0FETUlOEAISFgoST3JnYW5pemF0aW9uX09XTkVSEAMaewoPRW52aXJvbm1lbnRSb2xlEiUKDmVudmlyb25tZW50X2lkGAEgASgJUg1lbnZpcm9ubWVudElkEkEKBHJvbGUYAiABKA4yLS5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5FbnZpcm9ubWVudFIEcm9sZSLqBgoOQ29uc29sZUFjY291bnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSHQoKYXZhdGFyX3VybBgDIAEoCVIJYXZhdGFyVXJsEiYKD2lzX3N5c3RlbV9hZG1pbhgEIAEoCFINaXNTeXN0ZW1BZG1pbhJHCgxvcmdhbml6YXRpb24YBSABKAsyIy5idWNrZXRlZXIuZW52aXJvbm1lbnQuT3JnYW5pemF0aW9uUgxvcmdhbml6YXRpb24SWwoRb3JnYW5pemF0aW9uX3JvbGUYBiABKA4yLi5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5Pcmdhbml6YXRpb25SEG9yZ2FuaXphdGlvblJvbGUSXgoRZW52aXJvbm1lbnRfcm9sZXMYByADKAsyMS5idWNrZXRlZXIuYWNjb3VudC5Db25zb2xlQWNjb3VudC5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSRgoOc2VhcmNoX2ZpbHRlcnMYCCADKAsyHy5idWNrZXRlZXIuYWNjb3VudC5TZWFyY2hGaWx0ZXJSDXNlYXJjaEZpbHRlcnMSHQoKZmlyc3RfbmFtZRgJIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgKIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYCyABKAlSCGxhbmd1YWdlEigKEGF2YXRhcl9maWxlX3R5cGUYDCABKAlSDmF2YXRhckZpbGVUeXBlEiEKDGF2YXRhcl9pbWFnZRgNIAEoDFILYXZhdGFySW1hZ2USGwoJbGFzdF9zZWVuGA4gASgDUghsYXN0U2VlbhrWAQoPRW52aXJvbm1lbnRSb2xlEkYKC2Vudmlyb25tZW50GAEgASgLMiQuYnVja2V0ZWVyLmVudmlyb25tZW50LkVudmlyb25tZW50VjJSC2Vudmlyb25tZW50EjgKB3Byb2plY3QYAiABKAsyHi5idWNrZXRlZXIuZW52aXJvbm1lbnQuUHJvamVjdFIHcHJvamVjdBJBCgRyb2xlGAMgASgOMi0uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuRW52aXJvbm1lbnRSBHJvbGVCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwrmBgobcHJvdG8vYWNjb3VudC9hcGlfa2V5LnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBojcHJvdG8vZW52aXJvbm1lbnQvZW52aXJvbm1lbnQucHJvdG8iuwMKBkFQSUtleRIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIyCgRyb2xlGAMgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUSGgoIZGlzYWJsZWQYBCABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHgoKbWFpbnRhaW5lchgHIAEoCVIKbWFpbnRhaW5lchIXCgdhcGlfa2V5GAggASgJUgZhcGlLZXkSIAoLZGVzY3JpcHRpb24YCSABKAlSC2Rlc2NyaXB0aW9uEikKEGVudmlyb25tZW50X25hbWUYCiABKAlSD2Vudmlyb25tZW50TmFtZSJ5CgRSb2xlEgsKB1VOS05PV04QABIOCgpTREtfQ0xJRU5UEAESDgoKU0RLX1NFUlZFUhACEhgKFFBVQkxJQ19BUElfUkVBRF9PTkxZEAMSFAoQUFVCTElDX0FQSV9XUklURRAEEhQKEFBVQkxJQ19BUElfQURNSU4QBSKVAgoRRW52aXJvbm1lbnRBUElLZXkSMgoHYXBpX2tleRgCIAEoCzIZLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleVIGYXBpS2V5EjEKFGVudmlyb25tZW50X2Rpc2FibGVkGAMgASgIUhNlbnZpcm9ubWVudERpc2FibGVkEiEKCnByb2plY3RfaWQYBCABKAlCAhgBUglwcm9qZWN0SWQSRgoLZW52aXJvbm1lbnQYBSABKAsyJC5idWNrZXRlZXIuZW52aXJvbm1lbnQuRW52aXJvbm1lbnRWMlILZW52aXJvbm1lbnQSKAoQcHJvamVjdF91cmxfY29kZRgGIAEoCVIOcHJvamVjdFVybENvZGVKBAgBEAJCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwqaCwoacHJvdG8vYXV0b29wcy9jbGF1c2UucHJvdG8SEWJ1Y2tldGVlci5hdXRvb3BzGhlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvIoYBCgZDbGF1c2USDgoCaWQYASABKAlSAmlkEiwKBmNsYXVzZRgCIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSBmNsYXVzZRI+CgthY3Rpb25fdHlwZRgDIAEoDjIdLmJ1Y2tldGVlci5hdXRvb3BzLkFjdGlvblR5cGVSCmFjdGlvblR5cGUi3wIKEk9wc0V2ZW50UmF0ZUNsYXVzZRIhCgx2YXJpYXRpb25faWQYAiABKAlSC3ZhcmlhdGlvbklkEhcKB2dvYWxfaWQYAyABKAlSBmdvYWxJZBIbCgltaW5fY291bnQYBCABKANSCG1pbkNvdW50EikKEHRocmVhZHNob2xkX3JhdGUYBSABKAFSD3RocmVhZHNob2xkUmF0ZRJKCghvcGVyYXRvchgGIAEoDjIuLmJ1Y2tldGVlci5hdXRvb3BzLk9wc0V2ZW50UmF0ZUNsYXVzZS5PcGVyYXRvclIIb3BlcmF0b3ISPgoLYWN0aW9uX3R5cGUYByABKA4yHS5idWNrZXRlZXIuYXV0b29wcy5BY3Rpb25UeXBlUgphY3Rpb25UeXBlIjMKCE9wZXJhdG9yEhQKEEdSRUFURVJfT1JfRVFVQUwQABIRCg1MRVNTX09SX0VRVUFMEAFKBAgBEAIiZAoORGF0ZXRpbWVDbGF1c2USEgoEdGltZRgBIAEoA1IEdGltZRI+CgthY3Rpb25fdHlwZRgCIAEoDjIdLmJ1Y2tldGVlci5hdXRvb3BzLkFjdGlvblR5cGVSCmFjdGlvblR5cGUilwEKGlByb2dyZXNzaXZlUm9sbG91dFNjaGVkdWxlEh8KC3NjaGVkdWxlX2lkGAEgASgJUgpzY2hlZHVsZUlkEh0KCmV4ZWN1dGVfYXQYAiABKANSCWV4ZWN1dGVBdBIWCgZ3ZWlnaHQYAyABKAVSBndlaWdodBIhCgx0cmlnZ2VyZWRfYXQYBCABKANSC3RyaWdnZXJlZEF0IpgBCiZQcm9ncmVzc2l2ZVJvbGxvdXRNYW51YWxTY2hlZHVsZUNsYXVzZRJLCglzY2hlZHVsZXMYASADKAsyLS5idWNrZXRlZXIuYXV0b29wcy5Qcm9ncmVzc2l2ZVJvbGxvdXRTY2hlZHVsZVIJc2NoZWR1bGVzEiEKDHZhcmlhdGlvbl9pZBgCIAEoCVILdmFyaWF0aW9uSWQi2AIKKFByb2dyZXNzaXZlUm9sbG91dFRlbXBsYXRlU2NoZWR1bGVDbGF1c2USSwoJc2NoZWR1bGVzGAEgAygLMi0uYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0U2NoZWR1bGVSCXNjaGVkdWxlcxJgCghpbnRlcnZhbBgCIAEoDjJELmJ1Y2tldGVlci5hdXRvb3BzLlByb2dyZXNzaXZlUm9sbG91dFRlbXBsYXRlU2NoZWR1bGVDbGF1c2UuSW50ZXJ2YWxSCGludGVydmFsEh4KCmluY3JlbWVudHMYAyABKANSCmluY3JlbWVudHMSIQoMdmFyaWF0aW9uX2lkGAQgASgJUgt2YXJpYXRpb25JZCI6CghJbnRlcnZhbBILCgdVTktOT1dOEAASCgoGSE9VUkxZEAESCQoFREFJTFkQAhIKCgZXRUVLTFkQAyoyCgpBY3Rpb25UeXBlEgsKB1VOS05PV04QABIKCgZFTkFCTEUQARILCgdESVNBQkxFEAJCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2F1dG9vcHNiBnByb3RvMwq9BQohcHJvdG8vYXV0b29wcy9hdXRvX29wc19ydWxlLnByb3RvEhFidWNrZXRlZXIuYXV0b29wcxoacHJvdG8vYXV0b29wcy9jbGF1c2UucHJvdG8i0AIKC0F1dG9PcHNSdWxlEg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSNQoIb3BzX3R5cGUYAyABKA4yGi5idWNrZXRlZXIuYXV0b29wcy5PcHNUeXBlUgdvcHNUeXBlEjMKB2NsYXVzZXMYBCADKAsyGS5idWNrZXRlZXIuYXV0b29wcy5DbGF1c2VSB2NsYXVzZXMSHQoKY3JlYXRlZF9hdBgHIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCCABKANSCXVwZGF0ZWRBdBIYCgdkZWxldGVkGAkgASgIUgdkZWxldGVkEkgKD2F1dG9fb3BzX3N0YXR1cxgKIAEoDjIgLmJ1Y2tldGVlci5hdXRvb3BzLkF1dG9PcHNTdGF0dXNSDWF1dG9PcHNTdGF0dXNKBAgGEAciVAoMQXV0b09wc1J1bGVzEkQKDmF1dG9fb3BzX3J1bGVzGAEgAygLMh4uYnVja2V0ZWVyLmF1dG9vcHMuQXV0b09wc1J1bGVSDGF1dG9PcHNSdWxlcyo/CgdPcHNUeXBlEhAKDFRZUEVfVU5LTk9XThAAEgwKCFNDSEVEVUxFEAISDgoKRVZFTlRfUkFURRADIgQIARABKkQKDUF1dG9PcHNTdGF0dXMSCwoHV0FJVElORxAAEgsKB1JVTk5JTkcQARIMCghGSU5JU0hFRBACEgsKB1NUT1BQRUQQA0IxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYXV0b29wc2IGcHJvdG8zCvADCiJwcm90by9ub3RpZmljYXRpb24vcmVjaXBpZW50LnByb3RvEhZidWNrZXRlZXIubm90aWZpY2F0aW9uIrcCCglSZWNpcGllbnQSOgoEdHlwZRgBIAEoDjImLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uUmVjaXBpZW50LlR5cGVSBHR5cGUSZQoXc2xhY2tfY2hhbm5lbF9yZWNpcGllbnQYAiABKAsyLS5idWNrZXRlZXIubm90aWZpY2F0aW9uLlNsYWNrQ2hhbm5lbFJlY2lwaWVudFIVc2xhY2tDaGFubmVsUmVjaXBpZW50EkYKCGxhbmd1YWdlGAMgASgOMiouYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5SZWNpcGllbnQuTGFuZ3VhZ2VSCGxhbmd1YWdlIhgKBFR5cGUSEAoMU2xhY2tDaGFubmVsEAAiJQoITGFuZ3VhZ2USCwoHRU5HTElTSBAAEgwKCEpBUEFORVNFEAEiOAoVU2xhY2tDaGFubmVsUmVjaXBpZW50Eh8KC3dlYmhvb2tfdXJsGAEgASgJUgp3ZWJob29rVXJsQjZaNGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9ub3RpZmljYXRpb25iBnByb3RvMwrPCAolcHJvdG8vbm90aWZpY2F0aW9uL3N1YnNjcmlwdGlvbi5wcm90bxIWYnVja2V0ZWVyLm5vdGlmaWNhdGlvbhoicHJvdG8vbm90aWZpY2F0aW9uL3JlY2lwaWVudC5wcm90byKpBwoMU3Vic2NyaXB0aW9uEg4KAmlkGAEgASgJUgJpZBIdCgpjcmVhdGVkX2F0GAIgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgDIAEoA1IJdXBkYXRlZEF0EhoKCGRpc2FibGVkGAQgASgIUghkaXNhYmxlZBJSCgxzb3VyY2VfdHlwZXMYBSADKA4yLy5idWNrZXRlZXIubm90aWZpY2F0aW9uLlN1YnNjcmlwdGlvbi5Tb3VyY2VUeXBlUgtzb3VyY2VUeXBlcxI/CglyZWNpcGllbnQYBiABKAsyIS5idWNrZXRlZXIubm90aWZpY2F0aW9uLlJlY2lwaWVudFIJcmVjaXBpZW50EhIKBG5hbWUYByABKAlSBG5hbWUSJQoOZW52aXJvbm1lbnRfaWQYCCABKAlSDWVudmlyb25tZW50SWQSKQoQZW52aXJvbm1lbnRfbmFtZRgJIAEoCVIPZW52aXJvbm1lbnROYW1lIrMECgpTb3VyY2VUeXBlEhgKFERPTUFJTl9FVkVOVF9GRUFUVVJFEAASFQoRRE9NQUlOX0VWRU5UX0dPQUwQARIbChdET01BSU5fRVZFTlRfRVhQRVJJTUVOVBACEhgKFERPTUFJTl9FVkVOVF9BQ0NPVU5UEAMSFwoTRE9NQUlOX0VWRU5UX0FQSUtFWRAEEhgKFERPTUFJTl9FVkVOVF9TRUdNRU5UEAUSHAoYRE9NQUlOX0VWRU5UX0VOVklST05NRU5UEAYSHgoaRE9NQUlOX0VWRU5UX0FETUlOX0FDQ09VTlQQBxIdChlET01BSU5fRVZFTlRfQVVUT09QU19SVUxFEAgSFQoRRE9NQUlOX0VWRU5UX1BVU0gQCRIdChlET01BSU5fRVZFTlRfU1VCU0NSSVBUSU9OEAoSIwofRE9NQUlOX0VWRU5UX0FETUlOX1NVQlNDUklQVElPThALEhgKFERPTUFJTl9FVkVOVF9QUk9KRUNUEAwSGAoURE9NQUlOX0VWRU5UX1dFQkhPT0sQDRIkCiBET01BSU5fRVZFTlRfUFJPR1JFU1NJVkVfUk9MTE9VVBAOEh0KGURPTUFJTl9FVkVOVF9PUkdBTklaQVRJT04QDxIdChlET01BSU5fRVZFTlRfRkxBR19UUklHR0VSEBASEQoNRkVBVFVSRV9TVEFMRRBkEhcKEkVYUEVSSU1FTlRfUlVOTklORxDIARIOCglNQVVfQ09VTlQQrAJCNlo0Z2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL25vdGlmaWNhdGlvbmIGcHJvdG8zCvcFCidwcm90by9hdXRvb3BzL3Byb2dyZXNzaXZlX3JvbGxvdXQucHJvdG8SEWJ1Y2tldGVlci5hdXRvb3BzGhlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvIuIEChJQcm9ncmVzc2l2ZVJvbGxvdXQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIsCgZjbGF1c2UYAyABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgZjbGF1c2USRAoGc3RhdHVzGAQgASgOMiwuYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0LlN0YXR1c1IGc3RhdHVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSPgoEdHlwZRgHIAEoDjIqLmJ1Y2tldGVlci5hdXRvb3BzLlByb2dyZXNzaXZlUm9sbG91dC5UeXBlUgR0eXBlEk4KCnN0b3BwZWRfYnkYCCABKA4yLy5idWNrZXRlZXIuYXV0b29wcy5Qcm9ncmVzc2l2ZVJvbGxvdXQuU3RvcHBlZEJ5UglzdG9wcGVkQnkSHQoKc3RvcHBlZF9hdBgJIAEoA1IJc3RvcHBlZEF0IjIKBFR5cGUSEwoPTUFOVUFMX1NDSEVEVUxFEAASFQoRVEVNUExBVEVfU0NIRURVTEUQASI9CgZTdGF0dXMSCwoHV0FJVElORxAAEgsKB1JVTk5JTkcQARIMCghGSU5JU0hFRBACEgsKB1NUT1BQRUQQAyJJCglTdG9wcGVkQnkSCwoHVU5LTk9XThAAEggKBFVTRVIQARIQCgxPUFNfU0NIRURVTEUQAhITCg9PUFNfS0lMTF9TV0lUQ0gQA0IxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYXV0b29wc2IGcHJvdG8zCqAFCiBwcm90by9mZWF0dXJlL2ZsYWdfdHJpZ2dlci5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUirQQKC0ZsYWdUcmlnZ2VyEg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSNwoEdHlwZRgEIAEoDjIjLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLlR5cGVSBHR5cGUSPQoGYWN0aW9uGAUgASgOMiUuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuQWN0aW9uUgZhY3Rpb24SIAoLZGVzY3JpcHRpb24YBiABKAlSC2Rlc2NyaXB0aW9uEiMKDXRyaWdnZXJfY291bnQYByABKAVSDHRyaWdnZXJDb3VudBIqChFsYXN0X3RyaWdnZXJlZF9hdBgIIAEoA1IPbGFzdFRyaWdnZXJlZEF0EhQKBXRva2VuGAkgASgJUgV0b2tlbhIaCghkaXNhYmxlZBgKIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgLIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYDCABKANSCXVwZGF0ZWRBdBIlCg5lbnZpcm9ubWVudF9pZBgNIAEoCVINZW52aXJvbm1lbnRJZCIqCgRUeXBlEhAKDFR5cGVfVU5LTk9XThAAEhAKDFR5cGVfV0VCSE9PSxABIjsKBkFjdGlvbhISCg5BY3Rpb25fVU5LTk9XThAAEg0KCUFjdGlvbl9PThABEg4KCkFjdGlvbl9PRkYQAkoECAMQBEIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCofIAQoecHJvdG8vZXZlbnQvZG9tYWluL2V2ZW50LnByb3RvEhZidWNrZXRlZXIuZXZlbnQuZG9tYWluGhlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvGh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8aGnByb3RvL2ZlYXR1cmUvY2xhdXNlLnByb3RvGhtwcm90by9mZWF0dXJlL2ZlYXR1cmUucHJvdG8aGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxodcHJvdG8vZmVhdHVyZS92YXJpYXRpb24ucHJvdG8aHHByb3RvL2ZlYXR1cmUvc3RyYXRlZ3kucHJvdG8aG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8aG3Byb3RvL2FjY291bnQvYWNjb3VudC5wcm90bxobcHJvdG8vYWNjb3VudC9hcGlfa2V5LnByb3RvGiFwcm90by9hdXRvb3BzL2F1dG9fb3BzX3J1bGUucHJvdG8aGnByb3RvL2F1dG9vcHMvY2xhdXNlLnByb3RvGiVwcm90by9ub3RpZmljYXRpb24vc3Vic2NyaXB0aW9uLnByb3RvGiJwcm90by9ub3RpZmljYXRpb24vcmVjaXBpZW50LnByb3RvGiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxoncHJvdG8vYXV0b29wcy9wcm9ncmVzc2l2ZV9yb2xsb3V0LnByb3RvGiBwcm90by9mZWF0dXJlL2ZsYWdfdHJpZ2dlci5wcm90bxohcHJvdG8vYWNjb3VudC9zZWFyY2hfZmlsdGVyLnByb3RvIrUuCgVFdmVudBIOCgJpZBgBIAEoCVICaWQSHAoJdGltZXN0YW1wGAIgASgDUgl0aW1lc3RhbXASSQoLZW50aXR5X3R5cGUYAyABKA4yKC5idWNrZXRlZXIuZXZlbnQuZG9tYWluLkV2ZW50LkVudGl0eVR5cGVSCmVudGl0eVR5cGUSGwoJZW50aXR5X2lkGAQgASgJUghlbnRpdHlJZBI2CgR0eXBlGAUgASgOMiIuYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5FdmVudC5UeXBlUgR0eXBlEjYKBmVkaXRvchgGIAEoCzIeLmJ1Y2tldGVlci5ldmVudC5kb21haW4uRWRpdG9yUgZlZGl0b3ISKAoEZGF0YRgHIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSBGRhdGESJAoOaXNfYWRtaW5fZXZlbnQYCSABKAhSDGlzQWRtaW5FdmVudBI5CgdvcHRpb25zGAogASgLMh8uYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5PcHRpb25zUgdvcHRpb25zEh8KC2VudGl0eV9kYXRhGAsgASgJUgplbnRpdHlEYXRhEjAKFHByZXZpb3VzX2VudGl0eV9kYXRhGAwgASgJUhJwcmV2aW91c0VudGl0eURhdGESJQoOZW52aXJvbm1lbnRfaWQYDSABKAlSDWVudmlyb25tZW50SWQikwIKCkVudGl0eVR5cGUSCwoHRkVBVFVSRRAAEggKBEdPQUwQARIOCgpFWFBFUklNRU5UEAISCwoHQUNDT1VOVBADEgoKBkFQSUtFWRAEEgsKB1NFR01FTlQQBRIPCgtFTlZJUk9OTUVOVBAGEhEKDUFETUlOX0FDQ09VTlQQBxIQCgxBVVRPT1BTX1JVTEUQCBIICgRQVVNIEAkSEAoMU1VCU0NSSVBUSU9OEAoSFgoSQURNSU5fU1VCU0NSSVBUSU9OEAsSCwoHUFJPSkVDVBAMEhcKE1BST0dSRVNTSVZFX1JPTExPVVQQDhIQCgxPUkdBTklaQVRJT04QDxIQCgxGTEFHX1RSSUdHRVIQECIECA0QDSKEKAoEVHlwZRILCgdVTktOT1dOEAASEwoPRkVBVFVSRV9DUkVBVEVEEAESEwoPRkVBVFVSRV9SRU5BTUVEEAISEwoPRkVBVFVSRV9FTkFCTEVEEAMSFAoQRkVBVFVSRV9ESVNBQkxFRBAEEhMKD0ZFQVRVUkVfREVMRVRFRBAFEh8KG0ZFQVRVUkVfREVTQ1JJUFRJT05fQ0hBTkdFRBAIEhsKF0ZFQVRVUkVfVkFSSUFUSU9OX0FEREVEEAkSHQoZRkVBVFVSRV9WQVJJQVRJT05fUkVNT1ZFRBAKEiEKHUZFQVRVUkVfT0ZGX1ZBUklBVElPTl9DSEFOR0VEEAsSGwoXVkFSSUFUSU9OX1ZBTFVFX0NIQU5HRUQQDBIaChZWQVJJQVRJT05fTkFNRV9DSEFOR0VEEA0SIQodVkFSSUFUSU9OX0RFU0NSSVBUSU9OX0NIQU5HRUQQDhIYChRWQVJJQVRJT05fVVNFUl9BRERFRBAPEhoKFlZBUklBVElPTl9VU0VSX1JFTU9WRUQQEBIWChJGRUFUVVJFX1JVTEVfQURERUQQERIhCh1GRUFUVVJFX1JVTEVfU1RSQVRFR1lfQ0hBTkdFRBASEhgKFEZFQVRVUkVfUlVMRV9ERUxFVEVEEBMSFQoRUlVMRV9DTEFVU0VfQURERUQQFBIXChNSVUxFX0NMQVVTRV9ERUxFVEVEEBUSHwobUlVMRV9GSVhFRF9TVFJBVEVHWV9DSEFOR0VEEBYSIQodUlVMRV9ST0xMT1VUX1NUUkFURUdZX0NIQU5HRUQQFxIcChhDTEFVU0VfQVRUUklCVVRFX0NIQU5HRUQQGBIbChdDTEFVU0VfT1BFUkFUT1JfQ0hBTkdFRBAZEhYKEkNMQVVTRV9WQUxVRV9BRERFRBAaEhgKFENMQVVTRV9WQUxVRV9SRU1PVkVEEBsSJAogRkVBVFVSRV9ERUZBVUxUX1NUUkFURUdZX0NIQU5HRUQQHBIVChFGRUFUVVJFX1RBR19BRERFRBAdEhcKE0ZFQVRVUkVfVEFHX1JFTU9WRUQQHhIfChtGRUFUVVJFX1ZFUlNJT05fSU5DUkVNRU5URUQQHxIUChBGRUFUVVJFX0FSQ0hJVkVEECASEgoORkVBVFVSRV9DTE9ORUQQIRIWChJGRUFUVVJFX1VOQVJDSElWRUQQIxIXChNTQU1QTElOR19TRUVEX1JFU0VUECISFgoSUFJFUkVRVUlTSVRFX0FEREVEECQSGAoUUFJFUkVRVUlTSVRFX1JFTU9WRUQQJRIiCh5QUkVSRVFVSVNJVEVfVkFSSUFUSU9OX0NIQU5HRUQQJhIfChtGRUFUVVJFX1JVTEVTX09SREVSX0NIQU5HRUQQJxITCg9GRUFUVVJFX1VQREFURUQQKBIQCgxHT0FMX0NSRUFURUQQZBIQCgxHT0FMX1JFTkFNRUQQZRIcChhHT0FMX0RFU0NSSVBUSU9OX0NIQU5HRUQQZhIQCgxHT0FMX0RFTEVURUQQZxIRCg1HT0FMX0FSQ0hJVkVEEGgSFwoSRVhQRVJJTUVOVF9DUkVBVEVEEMgBEhcKEkVYUEVSSU1FTlRfU1RPUFBFRBDJARIgChtFWFBFUklNRU5UX1NUQVJUX0FUX0NIQU5HRUQQygESHwoaRVhQRVJJTUVOVF9TVE9QX0FUX0NIQU5HRUQQywESFwoSRVhQRVJJTUVOVF9ERUxFVEVEEMwBEh4KGUVYUEVSSU1FTlRfUEVSSU9EX0NIQU5HRUQQzQESHAoXRVhQRVJJTUVOVF9OQU1FX0NIQU5HRUQQzgESIwoeRVhQRVJJTUVOVF9ERVNDUklQVElPTl9DSEFOR0VEEM8BEhcKEkVYUEVSSU1FTlRfU1RBUlRFRBDQARIYChNFWFBFUklNRU5UX0ZJTklTSEVEENEBEhgKE0VYUEVSSU1FTlRfQVJDSElWRUQQ0gESGAoPQUNDT1VOVF9DUkVBVEVEEKwCGgIIARIdChRBQ0NPVU5UX1JPTEVfQ0hBTkdFRBCtAhoCCAESGAoPQUNDT1VOVF9FTkFCTEVEEK4CGgIIARIZChBBQ0NPVU5UX0RJU0FCTEVEEK8CGgIIARIYCg9BQ0NPVU5UX0RFTEVURUQQsAIaAggBEhcKEkFDQ09VTlRfVjJfQ1JFQVRFRBCxAhIcChdBQ0NPVU5UX1YyX05BTUVfQ0hBTkdFRBCyAhIoCiNBQ0NPVU5UX1YyX0FWQVRBUl9JTUFHRV9VUkxfQ0hBTkdFRBCzAhIpCiRBQ0NPVU5UX1YyX09SR0FOSVpBVElPTl9ST0xFX0NIQU5HRUQQtAISKQokQUNDT1VOVF9WMl9FTlZJUk9OTUVOVF9ST0xFU19DSEFOR0VEELUCEhcKEkFDQ09VTlRfVjJfRU5BQkxFRBC2AhIYChNBQ0NPVU5UX1YyX0RJU0FCTEVEELcCEhcKEkFDQ09VTlRfVjJfREVMRVRFRBC4AhIlCiBBQ0NPVU5UX1YyX0NSRUFURURfU0VBUkNIX0ZJTFRFUhC5AhIqCiVBQ0NPVU5UX1YyX1NFQVJDSF9GSUxURVJfTkFORV9DSEFOR0VEELoCEisKJkFDQ09VTlRfVjJfU0VBUkNIX0ZJTFRFUl9RVUVSWV9DSEFOR0VEELsCEi0KKEFDQ09VTlRfVjJfU0VBUkNIX0ZJTFRFUl9ERUZBVUxUX0NIQU5HRUQQvAISJQogQUNDT1VOVF9WMl9TRUFSQ0hfRklMVEVSX0RFTEVURUQQvQISIgodQUNDT1VOVF9WMl9GSVJTVF9OQU1FX0NIQU5HRUQQvgISIQocQUNDT1VOVF9WMl9MQVNUX05BTUVfQ0hBTkdFRBC/AhIgChtBQ0NPVU5UX1YyX0xBTkdVQUdFX0NIQU5HRUQQwAISFwoSQUNDT1VOVF9WMl9VUERBVEVEEMECEhMKDkFQSUtFWV9DUkVBVEVEEJADEhgKE0FQSUtFWV9OQU1FX0NIQU5HRUQQkQMSEwoOQVBJS0VZX0VOQUJMRUQQkgMSFAoPQVBJS0VZX0RJU0FCTEVEEJMDEhMKDkFQSUtFWV9DSEFOR0VEEJQDEhQKD1NFR01FTlRfQ1JFQVRFRBD0AxIUCg9TRUdNRU5UX0RFTEVURUQQ9QMSGQoUU0VHTUVOVF9OQU1FX0NIQU5HRUQQ9gMSIAobU0VHTUVOVF9ERVNDUklQVElPTl9DSEFOR0VEEPcDEhcKElNFR01FTlRfUlVMRV9BRERFRBD4AxIZChRTRUdNRU5UX1JVTEVfREVMRVRFRBD5AxIeChlTRUdNRU5UX1JVTEVfQ0xBVVNFX0FEREVEEPoDEiAKG1NFR01FTlRfUlVMRV9DTEFVU0VfREVMRVRFRBD7AxIlCiBTRUdNRU5UX0NMQVVTRV9BVFRSSUJVVEVfQ0hBTkdFRBD8AxIkCh9TRUdNRU5UX0NMQVVTRV9PUEVSQVRPUl9DSEFOR0VEEP0DEh8KGlNFR01FTlRfQ0xBVVNFX1ZBTFVFX0FEREVEEP4DEiEKHFNFR01FTlRfQ0xBVVNFX1ZBTFVFX1JFTU9WRUQQ/wMSFwoSU0VHTUVOVF9VU0VSX0FEREVEEIAEEhkKFFNFR01FTlRfVVNFUl9ERUxFVEVEEIEEEh4KGVNFR01FTlRfQlVMS19VUExPQURfVVNFUlMQggQSLQooU0VHTUVOVF9CVUxLX1VQTE9BRF9VU0VSU19TVEFUVVNfQ0hBTkdFRBCDBBIUCg9TRUdNRU5UX1VQREFURUQQhAQSGAoTRU5WSVJPTk1FTlRfQ1JFQVRFRBDYBBIYChNFTlZJUk9OTUVOVF9SRU5BTUVEENkEEiQKH0VOVklST05NRU5UX0RFU0NSSVBUSU9OX0NIQU5HRUQQ2gQSGAoTRU5WSVJPTk1FTlRfREVMRVRFRBDbBBIbChZFTlZJUk9OTUVOVF9WMl9DUkVBVEVEENwEEhsKFkVOVklST05NRU5UX1YyX1JFTkFNRUQQ3QQSJwoiRU5WSVJPTk1FTlRfVjJfREVTQ1JJUFRJT05fQ0hBTkdFRBDeBBIcChdFTlZJUk9OTUVOVF9WMl9BUkNISVZFRBDfBBIeChlFTlZJUk9OTUVOVF9WMl9VTkFSQ0hJVkVEEOAEEisKJkVOVklST05NRU5UX1YyX1JFUVVJUkVfQ09NTUVOVF9DSEFOR0VEEOEEEh4KFUFETUlOX0FDQ09VTlRfQ1JFQVRFRBC8BRoCCAESHgoVQURNSU5fQUNDT1VOVF9FTkFCTEVEEL4FGgIIARIfChZBRE1JTl9BQ0NPVU5UX0RJU0FCTEVEEL8FGgIIARIZChRBVVRPT1BTX1JVTEVfQ1JFQVRFRBCgBhIZChRBVVRPT1BTX1JVTEVfREVMRVRFRBChBhIiCh1BVVRPT1BTX1JVTEVfT1BTX1RZUEVfQ0hBTkdFRBCiBhIgChtBVVRPT1BTX1JVTEVfQ0xBVVNFX0RFTEVURUQQowYSKgohQVVUT09QU19SVUxFX1RSSUdHRVJFRF9BVF9DSEFOR0VEEKQGGgIIARIgChtPUFNfRVZFTlRfUkFURV9DTEFVU0VfQURERUQQpQYSIgodT1BTX0VWRU5UX1JBVEVfQ0xBVVNFX0NIQU5HRUQQpgYSGgoVREFURVRJTUVfQ0xBVVNFX0FEREVEEKcGEhwKF0RBVEVUSU1FX0NMQVVTRV9DSEFOR0VEEKgGEhkKFEFVVE9PUFNfUlVMRV9TVE9QUEVEEKkGEiQKH0FVVE9PUFNfUlVMRV9PUFNfU1RBVFVTX0NIQU5HRUQQqgYSEQoMUFVTSF9DUkVBVEVEEIQHEhEKDFBVU0hfREVMRVRFRBCFBxIUCg9QVVNIX1RBR1NfQURERUQQhgcSFgoRUFVTSF9UQUdTX0RFTEVURUQQhwcSEQoMUFVTSF9SRU5BTUVEEIgHEhEKDFBVU0hfVVBEQVRFRBCJBxIZChRTVUJTQ1JJUFRJT05fQ1JFQVRFRBDoBxIZChRTVUJTQ1JJUFRJT05fREVMRVRFRBDpBxIZChRTVUJTQ1JJUFRJT05fRU5BQkxFRBDqBxIaChVTVUJTQ1JJUFRJT05fRElTQUJMRUQQ6wcSIwoeU1VCU0NSSVBUSU9OX1NPVVJDRV9UWVBFX0FEREVEEOwHEiUKIFNVQlNDUklQVElPTl9TT1VSQ0VfVFlQRV9ERUxFVEVEEO0HEhkKFFNVQlNDUklQVElPTl9SRU5BTUVEEO4HEhkKFFNVQlNDUklQVElPTl9VUERBVEVEEO8HEh8KGkFETUlOX1NVQlNDUklQVElPTl9DUkVBVEVEEMwIEh8KGkFETUlOX1NVQlNDUklQVElPTl9ERUxFVEVEEM0IEh8KGkFETUlOX1NVQlNDUklQVElPTl9FTkFCTEVEEM4IEiAKG0FETUlOX1NVQlNDUklQVElPTl9ESVNBQkxFRBDPCBIpCiRBRE1JTl9TVUJTQ1JJUFRJT05fU09VUkNFX1RZUEVfQURERUQQ0AgSKwomQURNSU5fU1VCU0NSSVBUSU9OX1NPVVJDRV9UWVBFX0RFTEVURUQQ0QgSHwoaQURNSU5fU1VCU0NSSVBUSU9OX1JFTkFNRUQQ0ggSFAoPUFJPSkVDVF9DUkVBVEVEELAJEiAKG1BST0pFQ1RfREVTQ1JJUFRJT05fQ0hBTkdFRBCxCRIUCg9QUk9KRUNUX0VOQUJMRUQQsgkSFQoQUFJPSkVDVF9ESVNBQkxFRBCzCRIaChVQUk9KRUNUX1RSSUFMX0NSRUFURUQQtAkSHAoXUFJPSkVDVF9UUklBTF9DT05WRVJURUQQtQkSFAoPUFJPSkVDVF9SRU5BTUVEELYJEiAKG1BST0dSRVNTSVZFX1JPTExPVVRfQ1JFQVRFRBD4ChIgChtQUk9HUkVTU0lWRV9ST0xMT1VUX0RFTEVURUQQ+QoSNgoxUFJPR1JFU1NJVkVfUk9MTE9VVF9TQ0hFRFVMRV9UUklHR0VSRURfQVRfQ0hBTkdFRBD6ChIgChtQUk9HUkVTU0lWRV9ST0xMT1VUX1NUT1BQRUQQ+woSGQoUT1JHQU5JWkFUSU9OX0NSRUFURUQQ3AsSHgoZT1JHQU5JWkFUSU9OX05BTUVfQ0hBTkdFRBDdCxIlCiBPUkdBTklaQVRJT05fREVTQ1JJUFRJT05fQ0hBTkdFRBDeCxIZChRPUkdBTklaQVRJT05fRU5BQkxFRBDfCxIaChVPUkdBTklaQVRJT05fRElTQUJMRUQQ4AsSGgoVT1JHQU5JWkFUSU9OX0FSQ0hJVkVEEOELEhwKF09SR0FOSVpBVElPTl9VTkFSQ0hJVkVEEOILEiEKHE9SR0FOSVpBVElPTl9UUklBTF9DT05WRVJURUQQ4wsSJQogT1JHQU5JWkFUSU9OX09XTkVSX0VNQUlMX0NIQU5HRUQQ5AsSGQoURkxBR19UUklHR0VSX0NSRUFURUQQwQwSFwoSRkxBR19UUklHR0VSX1JFU0VUEMIMEiUKIEZMQUdfVFJJR0dFUl9ERVNDUklQVElPTl9DSEFOR0VEEMMMEhoKFUZMQUdfVFJJR0dFUl9ESVNBQkxFRBDEDBIZChRGTEFHX1RSSUdHRVJfRU5BQkxFRBDFDBIZChRGTEFHX1RSSUdHRVJfREVMRVRFRBDGDBIfChpGTEFHX1RSSUdHRVJfVVNBR0VfVVBEQVRFRBDHDCIGCJQKEJQKIgYIlQoQlQoiBgiWChCWCiIGCJcKEJcKIgYImAoQmAoiBgiZChCZCkoECAgQCSKMAgoGRWRpdG9yEhQKBWVtYWlsGAEgASgJUgVlbWFpbBIZCghpc19hZG1pbhgDIAEoCFIHaXNBZG1pbhISCgRuYW1lGAQgASgJUgRuYW1lEloKEXB1YmxpY19hcGlfZWRpdG9yGAUgASgLMi4uYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5FZGl0b3IuUHVibGljQVBJRWRpdG9yUg9wdWJsaWNBcGlFZGl0b3IaWwoPUHVibGljQVBJRWRpdG9yEhQKBXRva2VuGAEgASgJUgV0b2tlbhIeCgptYWludGFpbmVyGAIgASgJUgptYWludGFpbmVyEhIKBG5hbWUYAyABKAlSBG5hbWVKBAgCEAMiRAoHT3B0aW9ucxIYCgdjb21tZW50GAEgASgJUgdjb21tZW50Eh8KC25ld192ZXJzaW9uGAIgASgFUgpuZXdWZXJzaW9uIvMEChNGZWF0dXJlQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhISCgR1c2VyGAQgASgJUgR1c2VyEjwKCnZhcmlhdGlvbnMYBSADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSWAoaZGVmYXVsdF9vbl92YXJpYXRpb25faW5kZXgYBiABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIXZGVmYXVsdE9uVmFyaWF0aW9uSW5kZXgSWgobZGVmYXVsdF9vZmZfdmFyaWF0aW9uX2luZGV4GAcgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSGGRlZmF1bHRPZmZWYXJpYXRpb25JbmRleBJPCg52YXJpYXRpb25fdHlwZRgIIAEoDjIoLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmUuVmFyaWF0aW9uVHlwZVINdmFyaWF0aW9uVHlwZRISCgR0YWdzGAkgAygJUgR0YWdzEkUKDXByZXJlcXVpc2l0ZXMYCiADKAsyHy5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVSDXByZXJlcXVpc2l0ZXMSLQoFcnVsZXMYCyADKAsyFy5idWNrZXRlZXIuZmVhdHVyZS5SdWxlUgVydWxlcxIzCgd0YXJnZXRzGAwgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0Ugd0YXJnZXRzImYKE0ZlYXR1cmVVcGRhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhYKBGRhdGEYAiABKAlCAhgBUgRkYXRhEicKDXByZXZpb3VzX2RhdGEYAyABKAlCAhgBUgxwcmV2aW91c0RhdGEiJQoTRmVhdHVyZUVuYWJsZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiJgoURmVhdHVyZURpc2FibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIiYKFEZlYXR1cmVBcmNoaXZlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCIoChZGZWF0dXJlVW5hcmNoaXZlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCIlChNGZWF0dXJlRGVsZXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCItChtFdmFsdWF0aW9uRGVsYXlhYmxlU2V0RXZlbnQSDgoCaWQYASABKAlSAmlkIi8KHUV2YWx1YXRpb25VbmRlbGF5YWJsZVNldEV2ZW50Eg4KAmlkGAEgASgJUgJpZCI5ChNGZWF0dXJlUmVuYW1lZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lIlIKHkZlYXR1cmVEZXNjcmlwdGlvbkNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uIlYKH0ZlYXR1cmVPZmZWYXJpYXRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEiMKDW9mZl92YXJpYXRpb24YAiABKAlSDG9mZlZhcmlhdGlvbiJoChpGZWF0dXJlVmFyaWF0aW9uQWRkZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSOgoJdmFyaWF0aW9uGAIgASgLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uUgl2YXJpYXRpb24iUQocRmVhdHVyZVZhcmlhdGlvblJlbW92ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIQoMdmFyaWF0aW9uX2lkGAIgASgJUgt2YXJpYXRpb25JZCJhChpWYXJpYXRpb25WYWx1ZUNoYW5nZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSDgoCaWQYAiABKAlSAmlkEhQKBXZhbHVlGAMgASgJUgV2YWx1ZSJeChlWYXJpYXRpb25OYW1lQ2hhbmdlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIOCgJpZBgCIAEoCVICaWQSEgoEbmFtZRgDIAEoCVIEbmFtZSJzCiBWYXJpYXRpb25EZXNjcmlwdGlvbkNoYW5nZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSDgoCaWQYAiABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbiJcChdWYXJpYXRpb25Vc2VyQWRkZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSDgoCaWQYAiABKAlSAmlkEhIKBHVzZXIYAyABKAlSBHVzZXIiXgoZVmFyaWF0aW9uVXNlclJlbW92ZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSDgoCaWQYAiABKAlSAmlkEhIKBHVzZXIYAyABKAlSBHVzZXIiVAoVRmVhdHVyZVJ1bGVBZGRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIrCgRydWxlGAIgASgLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIEcnVsZSKRAQoeRmVhdHVyZUNoYW5nZVJ1bGVTdHJhdGVneUV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSNwoIc3RyYXRlZ3kYAyABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIIc3RyYXRlZ3kiWQodRmVhdHVyZVJ1bGVzT3JkZXJDaGFuZ2VkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhkKCHJ1bGVfaWRzGAIgAygJUgdydWxlSWRzIkIKF0ZlYXR1cmVSdWxlRGVsZXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQimAEKIEZlYXR1cmVGaXhlZFN0cmF0ZWd5Q2hhbmdlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSPAoIc3RyYXRlZ3kYAyABKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5GaXhlZFN0cmF0ZWd5UghzdHJhdGVneSKcAQoiRmVhdHVyZVJvbGxvdXRTdHJhdGVneUNoYW5nZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEj4KCHN0cmF0ZWd5GAMgASgLMiIuYnVja2V0ZWVyLmZlYXR1cmUuUm9sbG91dFN0cmF0ZWd5UghzdHJhdGVneSKBAQoUUnVsZUNsYXVzZUFkZGVkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIxCgZjbGF1c2UYAyABKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5DbGF1c2VSBmNsYXVzZSJgChZSdWxlQ2xhdXNlRGVsZXRlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSDgoCaWQYAyABKAlSAmlkIoMBChtDbGF1c2VBdHRyaWJ1dGVDaGFuZ2VkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIOCgJpZBgDIAEoCVICaWQSHAoJYXR0cmlidXRlGAQgASgJUglhdHRyaWJ1dGUipAEKGkNsYXVzZU9wZXJhdG9yQ2hhbmdlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSDgoCaWQYAyABKAlSAmlkEj4KCG9wZXJhdG9yGAQgASgOMiIuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvciJ1ChVDbGF1c2VWYWx1ZUFkZGVkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIOCgJpZBgDIAEoCVICaWQSFAoFdmFsdWUYBCABKAlSBXZhbHVlIncKF0NsYXVzZVZhbHVlUmVtb3ZlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSDgoCaWQYAyABKAlSAmlkEhQKBXZhbHVlGAQgASgJUgV2YWx1ZSJtCiJGZWF0dXJlRGVmYXVsdFN0cmF0ZWd5Q2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBI3CghzdHJhdGVneRgCIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneSI4ChRGZWF0dXJlVGFnQWRkZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEAoDdGFnGAIgASgJUgN0YWciOgoWRmVhdHVyZVRhZ1JlbW92ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEAoDdGFnGAIgASgJUgN0YWciSgoeRmVhdHVyZVZlcnNpb25JbmNyZW1lbnRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIYCgd2ZXJzaW9uGAIgASgFUgd2ZXJzaW9uIrUEChJGZWF0dXJlQ2xvbmVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEjwKCnZhcmlhdGlvbnMYBCADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSMwoHdGFyZ2V0cxgFIAMoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLlRhcmdldFIHdGFyZ2V0cxItCgVydWxlcxgGIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEkYKEGRlZmF1bHRfc3RyYXRlZ3kYByABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIPZGVmYXVsdFN0cmF0ZWd5EiMKDW9mZl92YXJpYXRpb24YCCABKAlSDG9mZlZhcmlhdGlvbhISCgR0YWdzGAkgAygJUgR0YWdzEh4KCm1haW50YWluZXIYCiABKAlSCm1haW50YWluZXISTwoOdmFyaWF0aW9uX3R5cGUYCyABKA4yKC5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlLlZhcmlhdGlvblR5cGVSDXZhcmlhdGlvblR5cGUSRQoNcHJlcmVxdWlzaXRlcxgMIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVINcHJlcmVxdWlzaXRlcyJECh1GZWF0dXJlU2FtcGxpbmdTZWVkUmVzZXRFdmVudBIjCg1zYW1wbGluZ19zZWVkGAEgASgJUgxzYW1wbGluZ1NlZWQisAEKEEdvYWxDcmVhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEhgKB2RlbGV0ZWQYBCABKAhSB2RlbGV0ZWQSHQoKY3JlYXRlZF9hdBgFIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBiABKANSCXVwZGF0ZWRBdCI2ChBHb2FsUmVuYW1lZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lIk8KG0dvYWxEZXNjcmlwdGlvbkNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uIiMKEUdvYWxBcmNoaXZlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCIiChBHb2FsRGVsZXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCLzAwoWRXhwZXJpbWVudENyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEicKD2ZlYXR1cmVfdmVyc2lvbhgDIAEoBVIOZmVhdHVyZVZlcnNpb24SPAoKdmFyaWF0aW9ucxgEIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIbCgdnb2FsX2lkGAUgASgJQgIYAVIGZ29hbElkEhkKCHN0YXJ0X2F0GAYgASgDUgdzdGFydEF0EhcKB3N0b3BfYXQYByABKANSBnN0b3BBdBIYCgdzdG9wcGVkGAggASgIUgdzdG9wcGVkEh0KCnN0b3BwZWRfYXQYCSABKANSCXN0b3BwZWRBdBIdCgpjcmVhdGVkX2F0GAogASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgLIAEoA1IJdXBkYXRlZEF0EhkKCGdvYWxfaWRzGAwgAygJUgdnb2FsSWRzEhIKBG5hbWUYDSABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YDiABKAlSC2Rlc2NyaXB0aW9uEioKEWJhc2VfdmFyaWF0aW9uX2lkGA8gASgJUg9iYXNlVmFyaWF0aW9uSWQiRwoWRXhwZXJpbWVudFN0b3BwZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHQoKc3RvcHBlZF9hdBgCIAEoA1IJc3RvcHBlZEF0IikKF0V4cGVyaW1lbnRBcmNoaXZlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCIoChZFeHBlcmltZW50RGVsZXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCJKCh1FeHBlcmltZW50U3RhcnRBdENoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSGQoIc3RhcnRfYXQYAiABKANSB3N0YXJ0QXQiRwocRXhwZXJpbWVudFN0b3BBdENoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSFwoHc3RvcF9hdBgCIAEoA1IGc3RvcEF0ImIKHEV4cGVyaW1lbnRQZXJpb2RDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEhkKCHN0YXJ0X2F0GAIgASgDUgdzdGFydEF0EhcKB3N0b3BfYXQYAyABKANSBnN0b3BBdCJAChpFeHBlcmltZW50TmFtZUNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSJVCiFFeHBlcmltZW50RGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbiIYChZFeHBlcmltZW50U3RhcnRlZEV2ZW50IhkKF0V4cGVyaW1lbnRGaW5pc2hlZEV2ZW50Iv4DChVBY2NvdW50VjJDcmVhdGVkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSKAoQYXZhdGFyX2ltYWdlX3VybBgDIAEoCVIOYXZhdGFySW1hZ2VVcmwSJwoPb3JnYW5pemF0aW9uX2lkGAQgASgJUg5vcmdhbml6YXRpb25JZBJbChFvcmdhbml6YXRpb25fcm9sZRgFIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgGIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSGgoIZGlzYWJsZWQYByABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYCCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAkgASgDUgl1cGRhdGVkQXQSHQoKZmlyc3RfbmFtZRgKIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgLIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYDCABKAlSCGxhbmd1YWdlIlYKFUFjY291bnRWMlVwZGF0ZWRFdmVudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZCJFChlBY2NvdW50VjJOYW1lQ2hhbmdlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBISCgRuYW1lGAIgASgJUgRuYW1lImUKI0FjY291bnRWMkF2YXRhckltYWdlVVJMQ2hhbmdlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBIoChBhdmF0YXJfaW1hZ2VfdXJsGAIgASgJUg5hdmF0YXJJbWFnZVVybCKaAQolQWNjb3VudFYyT3JnYW5pemF0aW9uUm9sZUNoYW5nZWRFdmVudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSWwoRb3JnYW5pemF0aW9uX3JvbGUYAiABKA4yLi5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5Pcmdhbml6YXRpb25SEG9yZ2FuaXphdGlvblJvbGUimAEKJUFjY291bnRWMkVudmlyb25tZW50Um9sZXNDaGFuZ2VkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsElkKEWVudmlyb25tZW50X3JvbGVzGAIgAygLMiwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcyItChVBY2NvdW50VjJFbmFibGVkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsIi4KFkFjY291bnRWMkRpc2FibGVkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsIi0KFUFjY291bnRWMkRlbGV0ZWRFdmVudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwi1wEKGFNlYXJjaEZpbHRlckNyZWF0ZWRFdmVudBISCgROYW1lGAEgASgJUgROYW1lEhQKBVF1ZXJ5GAIgASgJUgVRdWVyeRJDCgpUYXJnZXRUeXBlGAMgASgOMiMuYnVja2V0ZWVyLmFjY291bnQuRmlsdGVyVGFyZ2V0VHlwZVIKVGFyZ2V0VHlwZRIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZBIlCg5kZWZhdWx0X2ZpbHRlchgFIAEoCFINZGVmYXVsdEZpbHRlciJCChxTZWFyY2hGaWx0ZXJOYW1lQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgROYW1lGAIgASgJUgROYW1lIkUKHVNlYXJjaEZpbHRlclF1ZXJ5Q2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIUCgVRdWVyeRgCIAEoCVIFUXVlcnkiWAofU2VhcmNoRmlsdGVyRGVmYXVsdENoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSJQoOZGVmYXVsdF9maWx0ZXIYAiABKAhSDWRlZmF1bHRGaWx0ZXIiKgoYU2VhcmNoRmlsdGVyRGVsZXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCL/AQoSQVBJS2V5Q3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEjIKBHJvbGUYAyABKA4yHi5idWNrZXRlZXIuYWNjb3VudC5BUElLZXkuUm9sZVIEcm9sZRIaCghkaXNhYmxlZBgEIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgFIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBiABKANSCXVwZGF0ZWRBdBIeCgptYWludGFpbmVyGAcgASgJUgptYWludGFpbmVyEhcKB2FwaV9rZXkYCCABKAlSBmFwaUtleSIkChJBUElLZXlDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkIjwKFkFQSUtleU5hbWVDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiJAoSQVBJS2V5RW5hYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCIlChNBUElLZXlEaXNhYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCJbChNTZWdtZW50Q3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbiIlChNTZWdtZW50RGVsZXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCKXAQoTU2VnbWVudFVwZGF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSMAoEbmFtZRgCIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRI+CgtkZXNjcmlwdGlvbhgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVILZGVzY3JpcHRpb24iPQoXU2VnbWVudE5hbWVDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiUgoeU2VnbWVudERlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iVAoVU2VnbWVudFJ1bGVBZGRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIrCgRydWxlGAIgASgLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIEcnVsZSJCChdTZWdtZW50UnVsZURlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkIogBChtTZWdtZW50UnVsZUNsYXVzZUFkZGVkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIxCgZjbGF1c2UYAyABKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5DbGF1c2VSBmNsYXVzZSJ0Ch1TZWdtZW50UnVsZUNsYXVzZURlbGV0ZWRFdmVudBIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEhsKCWNsYXVzZV9pZBgDIAEoCVIIY2xhdXNlSWQilwEKIlNlZ21lbnRDbGF1c2VBdHRyaWJ1dGVDaGFuZ2VkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIbCgljbGF1c2VfaWQYAyABKAlSCGNsYXVzZUlkEhwKCWF0dHJpYnV0ZRgEIAEoCVIJYXR0cmlidXRlIrgBCiFTZWdtZW50Q2xhdXNlT3BlcmF0b3JDaGFuZ2VkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIbCgljbGF1c2VfaWQYAyABKAlSCGNsYXVzZUlkEj4KCG9wZXJhdG9yGAQgASgOMiIuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvciKJAQocU2VnbWVudENsYXVzZVZhbHVlQWRkZWRFdmVudBIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEhsKCWNsYXVzZV9pZBgDIAEoCVIIY2xhdXNlSWQSFAoFdmFsdWUYBCABKAlSBXZhbHVlIosBCh5TZWdtZW50Q2xhdXNlVmFsdWVSZW1vdmVkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIbCgljbGF1c2VfaWQYAyABKAlSCGNsYXVzZUlkEhQKBXZhbHVlGAQgASgJUgV2YWx1ZSKNAQoVU2VnbWVudFVzZXJBZGRlZEV2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIZCgh1c2VyX2lkcxgCIAMoCVIHdXNlcklkcxI6CgVzdGF0ZRgDIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZSKPAQoXU2VnbWVudFVzZXJEZWxldGVkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEhkKCHVzZXJfaWRzGAIgAygJUgd1c2VySWRzEjoKBXN0YXRlGAMgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlIrMBChtTZWdtZW50QnVsa1VwbG9hZFVzZXJzRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEjkKBnN0YXR1cxgCIAEoDjIhLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnQuU3RhdHVzUgZzdGF0dXMSOgoFc3RhdGUYAyABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUi1gEKKFNlZ21lbnRCdWxrVXBsb2FkVXNlcnNTdGF0dXNDaGFuZ2VkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEjkKBnN0YXR1cxgCIAEoDjIhLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnQuU3RhdHVzUgZzdGF0dXMSOgoFc3RhdGUYAyABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSFAoFY291bnQYBCABKANSBWNvdW50IvQBChdFbnZpcm9ubWVudENyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHAoJbmFtZXNwYWNlGAIgASgJUgluYW1lc3BhY2USEgoEbmFtZRgDIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24SGAoHZGVsZXRlZBgFIAEoCFIHZGVsZXRlZBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0Eh0KCnByb2plY3RfaWQYCCABKAlSCXByb2plY3RJZCI9ChdFbnZpcm9ubWVudFJlbmFtZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSJWCiJFbnZpcm9ubWVudERlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iRwoXRW52aXJvbm1lbnREZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhwKCW5hbWVzcGFjZRgCIAEoCVIJbmFtZXNwYWNlIp4CChlFbnZpcm9ubWVudFYyQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIdCgpwcm9qZWN0X2lkGAUgASgJUglwcm9qZWN0SWQSGgoIYXJjaGl2ZWQYBiABKAhSCGFyY2hpdmVkEh0KCmNyZWF0ZWRfYXQYByABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAggASgDUgl1cGRhdGVkQXQSJwoPcmVxdWlyZV9jb21tZW50GAkgASgIUg5yZXF1aXJlQ29tbWVudCKAAQoZRW52aXJvbm1lbnRWMlJlbmFtZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHQoKcHJvamVjdF9pZBgCIAEoCVIJcHJvamVjdElkEhkKCG9sZF9uYW1lGAMgASgJUgdvbGROYW1lEhkKCG5ld19uYW1lGAQgASgJUgduZXdOYW1lIrsBCiRFbnZpcm9ubWVudFYyRGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSHQoKcHJvamVjdF9pZBgDIAEoCVIJcHJvamVjdElkEicKD29sZF9kZXNjcmlwdGlvbhgEIAEoCVIOb2xkRGVzY3JpcHRpb24SJwoPbmV3X2Rlc2NyaXB0aW9uGAUgASgJUg5uZXdEZXNjcmlwdGlvbiKVAQonRW52aXJvbm1lbnRWMlJlcXVpcmVDb21tZW50Q2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEh0KCnByb2plY3RfaWQYAyABKAlSCXByb2plY3RJZBInCg9yZXF1aXJlX2NvbW1lbnQYBCABKAhSDnJlcXVpcmVDb21tZW50Il8KGkVudmlyb25tZW50VjJBcmNoaXZlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEh0KCnByb2plY3RfaWQYAyABKAlSCXByb2plY3RJZCJhChxFbnZpcm9ubWVudFYyVW5hcmNoaXZlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEh0KCnByb2plY3RfaWQYAyABKAlSCXByb2plY3RJZCKpAgoXQXV0b09wc1J1bGVDcmVhdGVkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEjUKCG9wc190eXBlGAIgASgOMhouYnVja2V0ZWVyLmF1dG9vcHMuT3BzVHlwZVIHb3BzVHlwZRIzCgdjbGF1c2VzGAMgAygLMhkuYnVja2V0ZWVyLmF1dG9vcHMuQ2xhdXNlUgdjbGF1c2VzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSPwoKb3BzX3N0YXR1cxgHIAEoDjIgLmJ1Y2tldGVlci5hdXRvb3BzLkF1dG9PcHNTdGF0dXNSCW9wc1N0YXR1c0oECAQQBSIZChdBdXRvT3BzUnVsZVN0b3BwZWRFdmVudCIZChdBdXRvT3BzUnVsZURlbGV0ZWRFdmVudCJXCh5BdXRvT3BzUnVsZU9wc1R5cGVDaGFuZ2VkRXZlbnQSNQoIb3BzX3R5cGUYASABKA4yGi5idWNrZXRlZXIuYXV0b29wcy5PcHNUeXBlUgdvcHNUeXBlIiQKIkF1dG9PcHNSdWxlVHJpZ2dlcmVkQXRDaGFuZ2VkRXZlbnQiYwogQXV0b09wc1J1bGVPcHNTdGF0dXNDaGFuZ2VkRXZlbnQSPwoKb3BzX3N0YXR1cxgBIAEoDjIgLmJ1Y2tldGVlci5hdXRvb3BzLkF1dG9PcHNTdGF0dXNSCW9wc1N0YXR1cyKVAQocT3BzRXZlbnRSYXRlQ2xhdXNlQWRkZWRFdmVudBIbCgljbGF1c2VfaWQYASABKAlSCGNsYXVzZUlkElgKFW9wc19ldmVudF9yYXRlX2NsYXVzZRgCIAEoCzIlLmJ1Y2tldGVlci5hdXRvb3BzLk9wc0V2ZW50UmF0ZUNsYXVzZVISb3BzRXZlbnRSYXRlQ2xhdXNlIpcBCh5PcHNFdmVudFJhdGVDbGF1c2VDaGFuZ2VkRXZlbnQSGwoJY2xhdXNlX2lkGAEgASgJUghjbGF1c2VJZBJYChVvcHNfZXZlbnRfcmF0ZV9jbGF1c2UYAiABKAsyJS5idWNrZXRlZXIuYXV0b29wcy5PcHNFdmVudFJhdGVDbGF1c2VSEm9wc0V2ZW50UmF0ZUNsYXVzZSI8Ch1BdXRvT3BzUnVsZUNsYXVzZURlbGV0ZWRFdmVudBIbCgljbGF1c2VfaWQYASABKAlSCGNsYXVzZUlkIoMBChhEYXRldGltZUNsYXVzZUFkZGVkRXZlbnQSGwoJY2xhdXNlX2lkGAEgASgJUghjbGF1c2VJZBJKCg9kYXRldGltZV9jbGF1c2UYAiABKAsyIS5idWNrZXRlZXIuYXV0b29wcy5EYXRldGltZUNsYXVzZVIOZGF0ZXRpbWVDbGF1c2UihQEKGkRhdGV0aW1lQ2xhdXNlQ2hhbmdlZEV2ZW50EhsKCWNsYXVzZV9pZBgBIAEoCVIIY2xhdXNlSWQSSgoPZGF0ZXRpbWVfY2xhdXNlGAIgASgLMiEuYnVja2V0ZWVyLmF1dG9vcHMuRGF0ZXRpbWVDbGF1c2VSDmRhdGV0aW1lQ2xhdXNlInAKEFB1c2hDcmVhdGVkRXZlbnQSLgoTZmNtX3NlcnZpY2VfYWNjb3VudBgBIAEoCVIRZmNtU2VydmljZUFjY291bnQSEgoEdGFncxgDIAMoCVIEdGFncxISCgRuYW1lGAQgASgJUgRuYW1lSgQIAhADIhIKEFB1c2hEZWxldGVkRXZlbnQiKAoSUHVzaFRhZ3NBZGRlZEV2ZW50EhIKBHRhZ3MYAiADKAlSBHRhZ3MiKgoUUHVzaFRhZ3NEZWxldGVkRXZlbnQSEgoEdGFncxgCIAMoCVIEdGFncyImChBQdXNoUmVuYW1lZEV2ZW50EhIKBG5hbWUYAiABKAlSBG5hbWUiKgoUUHVzaFRhZ3NVcGRhdGVkRXZlbnQSEgoEdGFncxgCIAMoCVIEdGFncyJYChBQdXNoVXBkYXRlZEV2ZW50EjAKBG5hbWUYASABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSEgoEdGFncxgCIAMoCVIEdGFncyLDAQoYU3Vic2NyaXB0aW9uQ3JlYXRlZEV2ZW50ElIKDHNvdXJjZV90eXBlcxgBIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzEj8KCXJlY2lwaWVudBgCIAEoCzIhLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uUmVjaXBpZW50UglyZWNpcGllbnQSEgoEbmFtZRgDIAEoCVIEbmFtZSIaChhTdWJzY3JpcHRpb25EZWxldGVkRXZlbnQiGgoYU3Vic2NyaXB0aW9uRW5hYmxlZEV2ZW50IhsKGVN1YnNjcmlwdGlvbkRpc2FibGVkRXZlbnQidwohU3Vic2NyaXB0aW9uU291cmNlVHlwZXNBZGRlZEV2ZW50ElIKDHNvdXJjZV90eXBlcxgBIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzInkKI1N1YnNjcmlwdGlvblNvdXJjZVR5cGVzRGVsZXRlZEV2ZW50ElIKDHNvdXJjZV90eXBlcxgBIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzIi4KGFN1YnNjcmlwdGlvblJlbmFtZWRFdmVudBISCgRuYW1lGAEgASgJUgRuYW1lIugBChhTdWJzY3JpcHRpb25VcGRhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEjAKBG5hbWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSUgoMc291cmNlX3R5cGVzGAMgAygOMi8uYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5TdWJzY3JpcHRpb24uU291cmNlVHlwZVILc291cmNlVHlwZXMSNgoIZGlzYWJsZWQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZCLIAQodQWRtaW5TdWJzY3JpcHRpb25DcmVhdGVkRXZlbnQSUgoMc291cmNlX3R5cGVzGAEgAygOMi8uYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5TdWJzY3JpcHRpb24uU291cmNlVHlwZVILc291cmNlVHlwZXMSPwoJcmVjaXBpZW50GAIgASgLMiEuYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5SZWNpcGllbnRSCXJlY2lwaWVudBISCgRuYW1lGAMgASgJUgRuYW1lIh8KHUFkbWluU3Vic2NyaXB0aW9uRGVsZXRlZEV2ZW50Ih8KHUFkbWluU3Vic2NyaXB0aW9uRW5hYmxlZEV2ZW50IiAKHkFkbWluU3Vic2NyaXB0aW9uRGlzYWJsZWRFdmVudCJ8CiZBZG1pblN1YnNjcmlwdGlvblNvdXJjZVR5cGVzQWRkZWRFdmVudBJSCgxzb3VyY2VfdHlwZXMYASADKA4yLy5idWNrZXRlZXIubm90aWZpY2F0aW9uLlN1YnNjcmlwdGlvbi5Tb3VyY2VUeXBlUgtzb3VyY2VUeXBlcyJ+CihBZG1pblN1YnNjcmlwdGlvblNvdXJjZVR5cGVzRGVsZXRlZEV2ZW50ElIKDHNvdXJjZV90eXBlcxgBIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzIjMKHUFkbWluU3Vic2NyaXB0aW9uUmVuYW1lZEV2ZW50EhIKBG5hbWUYASABKAlSBG5hbWUiiwIKE1Byb2plY3RDcmVhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgDIAEoCFIIZGlzYWJsZWQSFAoFdHJpYWwYBCABKAhSBXRyaWFsEiMKDWNyZWF0b3JfZW1haWwYBSABKAlSDGNyZWF0b3JFbWFpbBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0EhIKBG5hbWUYCCABKAlSBG5hbWUSGQoIdXJsX2NvZGUYCSABKAlSB3VybENvZGUiUgoeUHJvamVjdERlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iOQoTUHJvamVjdFJlbmFtZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSIlChNQcm9qZWN0RW5hYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCImChRQcm9qZWN0RGlzYWJsZWRFdmVudBIOCgJpZBgBIAEoCVICaWQikAIKGFByb2plY3RUcmlhbENyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEhoKCGRpc2FibGVkGAMgASgIUghkaXNhYmxlZBIUCgV0cmlhbBgEIAEoCFIFdHJpYWwSIwoNY3JlYXRvcl9lbWFpbBgFIAEoCVIMY3JlYXRvckVtYWlsEh0KCmNyZWF0ZWRfYXQYBiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAcgASgDUgl1cGRhdGVkQXQSEgoEbmFtZRgIIAEoCVIEbmFtZRIZCgh1cmxfY29kZRgJIAEoCVIHdXJsQ29kZSIsChpQcm9qZWN0VHJpYWxDb252ZXJ0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiXQoWUHJlcmVxdWlzaXRlQWRkZWRFdmVudBJDCgxwcmVyZXF1aXNpdGUYASABKAsyHy5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVSDHByZXJlcXVpc2l0ZSJoCiFQcmVyZXF1aXNpdGVWYXJpYXRpb25DaGFuZ2VkRXZlbnQSQwoMcHJlcmVxdWlzaXRlGAEgASgLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUgxwcmVyZXF1aXNpdGUiOQoYUHJlcmVxdWlzaXRlUmVtb3ZlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZCL7AQoeUHJvZ3Jlc3NpdmVSb2xsb3V0Q3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSLAoGY2xhdXNlGAMgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIGY2xhdXNlEh0KCmNyZWF0ZWRfYXQYBCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAUgASgDUgl1cGRhdGVkQXQSPgoEdHlwZRgGIAEoDjIqLmJ1Y2tldGVlci5hdXRvb3BzLlByb2dyZXNzaXZlUm9sbG91dC5UeXBlUgR0eXBlIuUBCh5Qcm9ncmVzc2l2ZVJvbGxvdXRTdG9wcGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEkQKBnN0YXR1cxgCIAEoDjIsLmJ1Y2tldGVlci5hdXRvb3BzLlByb2dyZXNzaXZlUm9sbG91dC5TdGF0dXNSBnN0YXR1cxJOCgpzdG9wcGVkX2J5GAMgASgOMi8uYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0LlN0b3BwZWRCeVIJc3RvcHBlZEJ5Eh0KCnN0b3BwZWRfYXQYBCABKANSCXN0b3BwZWRBdCIwCh5Qcm9ncmVzc2l2ZVJvbGxvdXREZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIlQKMVByb2dyZXNzaXZlUm9sbG91dFNjaGVkdWxlVHJpZ2dlcmVkQXRDaGFuZ2VkRXZlbnQSHwoLc2NoZWR1bGVfaWQYASABKAlSCnNjaGVkdWxlSWQiqAIKGE9yZ2FuaXphdGlvbkNyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIZCgh1cmxfY29kZRgDIAEoCVIHdXJsQ29kZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24SGgoIZGlzYWJsZWQYBSABKAhSCGRpc2FibGVkEhoKCGFyY2hpdmVkGAYgASgIUghhcmNoaXZlZBIUCgV0cmlhbBgHIAEoCFIFdHJpYWwSHQoKY3JlYXRlZF9hdBgIIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCSABKANSCXVwZGF0ZWRBdBIfCgtvd25lcl9lbWFpbBgKIAEoCVIKb3duZXJFbWFpbCJXCiNPcmdhbml6YXRpb25EZXNjcmlwdGlvbkNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uIlUKIk9yZ2FuaXphdGlvbk93bmVyRW1haWxDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEh8KC293bmVyX2VtYWlsGAIgASgJUgpvd25lckVtYWlsIkIKHE9yZ2FuaXphdGlvbk5hbWVDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiKgoYT3JnYW5pemF0aW9uRW5hYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCIrChlPcmdhbml6YXRpb25EaXNhYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCIrChlPcmdhbml6YXRpb25BcmNoaXZlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCItChtPcmdhbml6YXRpb25VbmFyY2hpdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkIjEKH09yZ2FuaXphdGlvblRyaWFsQ29udmVydGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIuMCChdGbGFnVHJpZ2dlckNyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEjcKBHR5cGUYBCABKA4yIy5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlci5UeXBlUgR0eXBlEj0KBmFjdGlvbhgFIAEoDjIlLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLkFjdGlvblIGYWN0aW9uEiAKC2Rlc2NyaXB0aW9uGAYgASgJUgtkZXNjcmlwdGlvbhIUCgV0b2tlbhgHIAEoCVIFdG9rZW4SHQoKY3JlYXRlZF9hdBgIIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCSABKANSCXVwZGF0ZWRBdBIlCg5lbnZpcm9ubWVudF9pZBgKIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCKJAQoVRmxhZ1RyaWdnZXJSZXNldEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSFAoFdG9rZW4YBCABKAlSBXRva2VuEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIqIBCiJGbGFnVHJpZ2dlckRlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEInYKGEZsYWdUcmlnZ2VyRGlzYWJsZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEInUKF0ZsYWdUcmlnZ2VyRW5hYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQidQoXRmxhZ1RyaWdnZXJEZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCLLAQocRmxhZ1RyaWdnZXJVc2FnZVVwZGF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEioKEWxhc3RfdHJpZ2dlcmVkX2F0GAQgASgDUg9sYXN0VHJpZ2dlcmVkQXQSIwoNdHJpZ2dlcl90aW1lcxgFIAEoBVIMdHJpZ2dlclRpbWVzEiUKDmVudmlyb25tZW50X2lkGAYgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIlUKHkFjY291bnRWMkZpcnN0TmFtZUNoYW5nZWRFdmVudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSHQoKZmlyc3RfbmFtZRgCIAEoCVIJZmlyc3ROYW1lIlIKHUFjY291bnRWMkxhc3ROYW1lQ2hhbmdlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBIbCglsYXN0X25hbWUYAiABKAlSCGxhc3ROYW1lIlEKHUFjY291bnRWMkxhbmd1YWdlQ2hhbmdlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBIaCghsYW5ndWFnZRgCIAEoCVIIbGFuZ3VhZ2VCNlo0Z2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2V2ZW50L2RvbWFpbmIGcHJvdG8zCsoBCipwcm90by9ldmVudC9kb21haW4vbG9jYWxpemVkX21lc3NhZ2UucHJvdG8SFmJ1Y2tldGVlci5ldmVudC5kb21haW4iRAoQTG9jYWxpemVkTWVzc2FnZRIWCgZsb2NhbGUYASABKAlSBmxvY2FsZRIYCgdtZXNzYWdlGAIgASgJUgdtZXNzYWdlQjZaNGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9ldmVudC9kb21haW5iBnByb3RvMwr6BQodcHJvdG8vYXVkaXRsb2cvYXVkaXRsb2cucHJvdG8SEmJ1Y2tldGVlci5hdWRpdGxvZxoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxoecHJvdG8vZXZlbnQvZG9tYWluL2V2ZW50LnByb3RvGipwcm90by9ldmVudC9kb21haW4vbG9jYWxpemVkX21lc3NhZ2UucHJvdG8ioQQKCEF1ZGl0TG9nEg4KAmlkGAEgASgJUgJpZBIcCgl0aW1lc3RhbXAYAiABKANSCXRpbWVzdGFtcBJJCgtlbnRpdHlfdHlwZRgDIAEoDjIoLmJ1Y2tldGVlci5ldmVudC5kb21haW4uRXZlbnQuRW50aXR5VHlwZVIKZW50aXR5VHlwZRIbCgllbnRpdHlfaWQYBCABKAlSCGVudGl0eUlkEjYKBHR5cGUYBSABKA4yIi5idWNrZXRlZXIuZXZlbnQuZG9tYWluLkV2ZW50LlR5cGVSBHR5cGUSKgoFZXZlbnQYBiABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgVldmVudBI2CgZlZGl0b3IYByABKAsyHi5idWNrZXRlZXIuZXZlbnQuZG9tYWluLkVkaXRvclIGZWRpdG9yEjkKB29wdGlvbnMYCCABKAsyHy5idWNrZXRlZXIuZXZlbnQuZG9tYWluLk9wdGlvbnNSB29wdGlvbnMSVQoRbG9jYWxpemVkX21lc3NhZ2UYCSABKAsyKC5idWNrZXRlZXIuZXZlbnQuZG9tYWluLkxvY2FsaXplZE1lc3NhZ2VSEGxvY2FsaXplZE1lc3NhZ2USHwoLZW50aXR5X2RhdGEYCiABKAlSCmVudGl0eURhdGESMAoUcHJldmlvdXNfZW50aXR5X2RhdGEYCyABKAlSEnByZXZpb3VzRW50aXR5RGF0YUIyWjBnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYXVkaXRsb2diBnByb3RvMwqgEwoccHJvdG8vYXVkaXRsb2cvc2VydmljZS5wcm90bxISYnVja2V0ZWVyLmF1ZGl0bG9nGh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8aHXByb3RvL2F1ZGl0bG9nL2F1ZGl0bG9nLnByb3RvIvwDChRMaXN0QXVkaXRMb2dzUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEksKCG9yZGVyX2J5GAQgASgOMjAuYnVja2V0ZWVyLmF1ZGl0bG9nLkxpc3RBdWRpdExvZ3NSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSYAoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjcuYnVja2V0ZWVyLmF1ZGl0bG9nLkxpc3RBdWRpdExvZ3NSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBISCgRmcm9tGAcgASgDUgRmcm9tEg4KAnRvGAggASgDUgJ0bxI8CgtlbnRpdHlfdHlwZRgJIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUgplbnRpdHlUeXBlEiUKDmVudmlyb25tZW50X2lkGAogASgJUg1lbnZpcm9ubWVudElkIiUKB09yZGVyQnkSCwoHREVGQVVMVBAAEg0KCVRJTUVTVEFNUBABIiMKDk9yZGVyRGlyZWN0aW9uEggKBERFU0MQABIHCgNBU0MQAUoECAMQBCKNAQoVTGlzdEF1ZGl0TG9nc1Jlc3BvbnNlEjsKCmF1ZGl0X2xvZ3MYASADKAsyHC5idWNrZXRlZXIuYXVkaXRsb2cuQXVkaXRMb2dSCWF1ZGl0TG9ncxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCLeAwoZTGlzdEFkbWluQXVkaXRMb2dzUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yElAKCG9yZGVyX2J5GAMgASgOMjUuYnVja2V0ZWVyLmF1ZGl0bG9nLkxpc3RBZG1pbkF1ZGl0TG9nc1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJlCg9vcmRlcl9kaXJlY3Rpb24YBCABKA4yPC5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEFkbWluQXVkaXRMb2dzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBSABKAlSDXNlYXJjaEtleXdvcmQSEgoEZnJvbRgGIAEoA1IEZnJvbRIOCgJ0bxgHIAEoA1ICdG8SPAoLZW50aXR5X3R5cGUYCCABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIKZW50aXR5VHlwZSIlCgdPcmRlckJ5EgsKB0RFRkFVTFQQABINCglUSU1FU1RBTVAQASIjCg5PcmRlckRpcmVjdGlvbhIICgRERVNDEAASBwoDQVNDEAEikgEKGkxpc3RBZG1pbkF1ZGl0TG9nc1Jlc3BvbnNlEjsKCmF1ZGl0X2xvZ3MYASADKAsyHC5idWNrZXRlZXIuYXVkaXRsb2cuQXVkaXRMb2dSCWF1ZGl0TG9ncxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCLsAwoZTGlzdEZlYXR1cmVIaXN0b3J5UmVxdWVzdBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSGwoJcGFnZV9zaXplGAIgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAyABKAlSBmN1cnNvchJQCghvcmRlcl9ieRgFIAEoDjI1LmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0RmVhdHVyZUhpc3RvcnlSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSZQoPb3JkZXJfZGlyZWN0aW9uGAYgASgOMjwuYnVja2V0ZWVyLmF1ZGl0bG9nLkxpc3RGZWF0dXJlSGlzdG9yeVJlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAcgASgJUg1zZWFyY2hLZXl3b3JkEhIKBGZyb20YCCABKANSBGZyb20SDgoCdG8YCSABKANSAnRvEiUKDmVudmlyb25tZW50X2lkGAogASgJUg1lbnZpcm9ubWVudElkIiUKB09yZGVyQnkSCwoHREVGQVVMVBAAEg0KCVRJTUVTVEFNUBABIiMKDk9yZGVyRGlyZWN0aW9uEggKBERFU0MQABIHCgNBU0MQAUoECAQQBSKSAQoaTGlzdEZlYXR1cmVIaXN0b3J5UmVzcG9uc2USOwoKYXVkaXRfbG9ncxgBIAMoCzIcLmJ1Y2tldGVlci5hdWRpdGxvZy5BdWRpdExvZ1IJYXVkaXRMb2dzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50MucCCg9BdWRpdExvZ1NlcnZpY2USZgoNTGlzdEF1ZGl0TG9ncxIoLmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0QXVkaXRMb2dzUmVxdWVzdBopLmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0QXVkaXRMb2dzUmVzcG9uc2UiABJ1ChJMaXN0QWRtaW5BdWRpdExvZ3MSLS5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEFkbWluQXVkaXRMb2dzUmVxdWVzdBouLmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0QWRtaW5BdWRpdExvZ3NSZXNwb25zZSIAEnUKEkxpc3RGZWF0dXJlSGlzdG9yeRItLmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0RmVhdHVyZUhpc3RvcnlSZXF1ZXN0Gi4uYnVja2V0ZWVyLmF1ZGl0bG9nLkxpc3RGZWF0dXJlSGlzdG9yeVJlc3BvbnNlIgBCMlowZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2F1ZGl0bG9nYgZwcm90bzM= diff --git a/pkg/feature/api/segment_user.go b/pkg/feature/api/segment_user.go index 1a701cb39..0c0c0a847 100644 --- a/pkg/feature/api/segment_user.go +++ b/pkg/feature/api/segment_user.go @@ -700,7 +700,7 @@ func (s *FeatureService) BulkDownloadSegmentUsers( segmentStorage := v2fs.NewSegmentStorage(s.mysqlClient) segment, _, err := segmentStorage.GetSegment(ctx, req.SegmentId, req.EnvironmentId) if err != nil { - if err == v2fs.ErrSegmentNotFound { + if errors.Is(err, v2fs.ErrSegmentNotFound) { dt, err := statusSegmentNotFound.WithDetails(&errdetails.LocalizedMessage{ Locale: localizer.GetLocale(), Message: localizer.MustLocalize(locale.NotFoundError), diff --git a/proto/feature/proto_descriptor.pb b/proto/feature/proto_descriptor.pb index a0182fa9c2c269660b58ccd2c0adf0ef6f1762c1..e79fc5b4219f1f6287fd321ebeafdbaf062d8cd4 100644 GIT binary patch delta 204 zcmeC4#@s%OdBdrCrd_i(pQ)d#z_OWJ;L2D$U7O zNXakH%gIknk&;2-DnL~!loqEJ73*m!m8T}@l^N>6tc3_C0ZoX9nXq}n)#>NKn1|N<9 diff --git a/proto/feature/service.pb.go b/proto/feature/service.pb.go index 4236dc25e..85585b900 100644 --- a/proto/feature/service.pb.go +++ b/proto/feature/service.pb.go @@ -5456,414 +5456,449 @@ var file_proto_feature_service_proto_rawDesc = []byte{ 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x20, 0x0a, 0x1e, 0x42, 0x75, 0x6c, 0x6b, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x1f, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x1f, 0x42, 0x75, 0x6c, 0x6b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3a, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, - 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, - 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x36, 0x0a, 0x20, 0x42, 0x75, 0x6c, 0x6b, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, - 0xa1, 0x01, 0x0a, 0x17, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x75, - 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, - 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, 0x08, - 0x02, 0x10, 0x03, 0x22, 0x69, 0x0a, 0x18, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4d, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x73, - 0x65, 0x72, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x75, - 0x73, 0x65, 0x72, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xac, - 0x03, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x45, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x42, 0x79, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x5a, - 0x0a, 0x0f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, - 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, - 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x48, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, - 0x12, 0x06, 0x0a, 0x02, 0x49, 0x44, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x52, 0x45, 0x41, - 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x41, 0x4d, 0x45, - 0x10, 0x04, 0x22, 0x23, 0x0a, 0x0e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x53, 0x43, 0x10, 0x00, 0x12, 0x08, 0x0a, - 0x04, 0x44, 0x45, 0x53, 0x43, 0x10, 0x01, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x77, 0x0a, - 0x10, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, - 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb3, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x1b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6c, - 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, - 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, - 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, - 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x70, 0x0a, 0x19, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x66, 0x6c, 0x61, - 0x67, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, - 0x0b, 0x66, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, - 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0xc3, - 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x6a, 0x0a, 0x1b, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x18, 0x64, + 0x22, 0x0a, 0x0a, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x2a, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x65, 0x6e, + 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x01, 0x10, + 0x02, 0x22, 0x36, 0x0a, 0x20, 0x42, 0x75, 0x6c, 0x6b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa1, 0x01, 0x0a, 0x17, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, + 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, + 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, + 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, + 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x69, 0x0a, + 0x18, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xac, 0x03, 0x0a, 0x0f, 0x4c, 0x69, 0x73, + 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, + 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x12, 0x45, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x52, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x5a, 0x0a, 0x0f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x31, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6b, + 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, + 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x22, 0x48, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x0b, 0x0a, + 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x44, + 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, + 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, + 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x04, 0x22, 0x23, 0x0a, 0x0e, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x07, + 0x0a, 0x03, 0x41, 0x53, 0x43, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x45, 0x53, 0x43, 0x10, + 0x01, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x77, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x74, + 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x54, 0x61, + 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, + 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x22, 0xb3, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, 0x0a, + 0x1b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, + 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, + 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, + 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x70, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x46, 0x6c, + 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x0b, 0x66, 0x6c, 0x61, 0x67, 0x54, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0xc3, 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x6a, 0x0a, 0x1b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, + 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x18, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, + 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, + 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x1b, + 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe6, 0x01, 0x0a, 0x18, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x8c, 0x01, 0x0a, 0x27, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x52, 0x23, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, - 0x08, 0x02, 0x10, 0x03, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, + 0x08, 0x02, 0x10, 0x03, 0x22, 0x1b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xe6, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, + 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x18, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x8c, - 0x01, 0x0a, 0x27, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x36, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x23, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x25, 0x0a, - 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x1b, 0x0a, 0x19, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x18, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x6a, 0x0a, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, - 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x6a, + 0x0a, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, - 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x1b, 0x0a, - 0x19, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc7, 0x01, 0x0a, 0x19, 0x44, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x52, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, + 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x1b, 0x0a, 0x19, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc7, 0x01, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x6d, 0x0a, 0x1c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x6c, + 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x19, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, + 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, + 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x1c, + 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbf, 0x01, 0x0a, + 0x17, 0x52, 0x65, 0x73, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x6d, 0x0a, 0x1c, 0x64, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, - 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x19, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, - 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, - 0x08, 0x02, 0x10, 0x03, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, - 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x67, - 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x17, - 0x72, 0x65, 0x73, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, - 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, - 0x08, 0x02, 0x10, 0x03, 0x22, 0x6f, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x65, 0x74, 0x46, 0x6c, 0x61, - 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x41, 0x0a, 0x0c, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, - 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x54, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x0b, 0x66, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x54, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, - 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x6d, 0x0a, 0x16, 0x47, - 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, - 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x0b, 0x66, 0x6c, 0x61, - 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0xaa, 0x03, 0x0a, 0x17, 0x4c, - 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1b, 0x0a, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x4d, 0x0a, 0x08, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x62, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x67, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x65, + 0x74, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x17, 0x72, 0x65, 0x73, 0x65, 0x74, 0x46, + 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, + 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x6f, + 0x0a, 0x18, 0x52, 0x65, 0x73, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x66, 0x6c, + 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x52, 0x0b, 0x66, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x10, 0x0a, + 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, + 0x54, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, + 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, + 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x6d, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, + 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x41, 0x0a, 0x0c, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, + 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x0b, 0x66, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x72, 0x6c, 0x22, 0xaa, 0x03, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, + 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x4d, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, + 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, + 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x12, 0x62, 0x0a, 0x0f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, - 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x62, 0x0a, 0x0f, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, - 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, - 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, - 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x10, 0x02, 0x22, 0x23, 0x0a, 0x0e, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x07, - 0x0a, 0x03, 0x41, 0x53, 0x43, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x45, 0x53, 0x43, 0x10, - 0x01, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0xa3, 0x02, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, - 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x62, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x55, 0x72, 0x6c, 0x52, 0x0c, 0x66, 0x6c, 0x61, - 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, - 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, - 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x1a, 0x69, 0x0a, 0x12, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x57, 0x69, 0x74, 0x68, 0x55, 0x72, 0x6c, 0x12, 0x41, 0x0a, 0x0c, 0x66, 0x6c, 0x61, 0x67, - 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x0b, - 0x66, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x31, 0x0a, - 0x19, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, 0x65, 0x62, 0x68, - 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x22, 0x1c, 0x0a, 0x1a, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, - 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd2, - 0x38, 0x0a, 0x0e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x5b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, - 0x24, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, + 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x36, + 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, + 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, + 0x44, 0x5f, 0x41, 0x54, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x44, 0x5f, 0x41, 0x54, 0x10, 0x02, 0x22, 0x23, 0x0a, 0x0e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x53, 0x43, 0x10, + 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x45, 0x53, 0x43, 0x10, 0x01, 0x4a, 0x04, 0x08, 0x02, 0x10, + 0x03, 0x22, 0xa3, 0x02, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, + 0x0a, 0x0d, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, + 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, + 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, 0x69, + 0x74, 0x68, 0x55, 0x72, 0x6c, 0x52, 0x0c, 0x66, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x69, 0x0a, 0x12, + 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x55, + 0x72, 0x6c, 0x12, 0x41, 0x0a, 0x0c, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x46, 0x6c, 0x61, + 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x0b, 0x66, 0x6c, 0x61, 0x67, 0x54, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x31, 0x0a, 0x19, 0x46, 0x6c, 0x61, 0x67, 0x54, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x1c, 0x0a, 0x1a, 0x46, 0x6c, + 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xc4, 0x3c, 0x0a, 0x0e, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x0a, 0x47, + 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x24, 0x2e, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x47, 0x65, + 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x25, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, - 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5e, - 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x25, 0x2e, - 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, - 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, - 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x26, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, - 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x76, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x0d, 0x43, 0x72, 0x65, + 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x27, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x13, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2e, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x12, 0x27, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, + 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x27, 0x2e, 0x62, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, - 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x64, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x67, 0x0a, 0x0d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x27, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x74, 0x75, 0x72, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x0d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x27, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, - 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x6a, - 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x12, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x62, 0x75, 0x63, + 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x6a, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x67, 0x0a, 0x0e, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x28, 0x2e, 0x62, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, + 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x03, 0x88, 0x02, 0x01, 0x12, 0x67, 0x0a, 0x0e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x10, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2a, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x6e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, - 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x76, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x29, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, + 0x10, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x12, 0x2a, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x0d, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x27, 0x2e, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, + 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x64, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x12, 0x27, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, - 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x62, + 0x22, 0x00, 0x12, 0x79, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x2e, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, + 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, + 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x2e, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x12, 0x2e, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x31, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, - 0x6e, 0x67, 0x12, 0x30, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, - 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, - 0x6e, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x26, 0x2e, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, 0x6c, - 0x6f, 0x6e, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa6, 0x04, 0x0a, - 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x27, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x2e, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xc1, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x22, 0x0b, 0x2f, 0x76, 0x31, 0x2f, - 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x92, 0x41, 0xa7, 0x03, 0x0a, 0x07, - 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, - 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x2a, 0x15, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x67, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, - 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20, - 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, - 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, - 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, - 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, - 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, + 0x72, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x26, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, + 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa6, 0x04, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc1, 0x03, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x10, 0x22, 0x0b, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x3a, 0x01, 0x2a, 0x92, 0x41, 0xa7, 0x03, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x20, 0x61, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x2a, 0x15, 0x77, 0x65, + 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, + 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, + 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, + 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, - 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, - 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, - 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0x91, 0x04, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x65, 0x67, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, - 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x62, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x47, - 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xb5, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x76, 0x31, 0x2f, - 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x92, 0x41, 0x9e, 0x03, 0x0a, 0x07, 0x73, 0x65, 0x67, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x03, 0x47, 0x65, 0x74, 0x1a, 0x0e, 0x47, 0x65, 0x74, 0x20, 0x61, - 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x2a, 0x12, 0x77, 0x65, 0x62, 0x2e, 0x76, - 0x31, 0x2e, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x4a, 0xb4, 0x01, - 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, - 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, + 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, + 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, + 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, + 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, + 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, + 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, + 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, - 0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, - 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, - 0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, - 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, + 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, + 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, + 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, + 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, + 0x91, 0x04, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x24, + 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, + 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb5, 0x03, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x92, 0x41, 0x9e, 0x03, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x03, + 0x47, 0x65, 0x74, 0x1a, 0x0e, 0x47, 0x65, 0x74, 0x20, 0x61, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x2a, 0x12, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, + 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, - 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, - 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0x9a, 0x04, 0x0a, 0x0c, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x62, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb8, 0x03, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x92, 0x41, 0xa0, 0x03, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x04, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x73, 0x65, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x2a, 0x13, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, - 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, + 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, + 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x28, 0x61, + 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, + 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, + 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, + 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, + 0x5d, 0x20, 0x7d, 0x12, 0x9a, 0x04, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, + 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x67, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb8, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, + 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x92, 0x41, 0xa0, 0x03, + 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x1a, + 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x2a, + 0x13, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x6c, 0x69, 0x73, 0x74, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, + 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, + 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, + 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, + 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, + 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, + 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, + 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, + 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, + 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, + 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, + 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, + 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, + 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, + 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, + 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, + 0x12, 0xa3, 0x04, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x67, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbe, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x2a, 0x0b, + 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x92, 0x41, 0xa7, 0x03, 0x0a, + 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x1a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x2a, 0x15, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, @@ -5886,259 +5921,256 @@ var file_proto_feature_service_proto_rawDesc = []byte{ 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, - 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0xa3, 0x04, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0xa6, 0x04, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbe, 0x03, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x0d, 0x2a, 0x0b, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, - 0x74, 0x92, 0x41, 0xa7, 0x03, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x06, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, - 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x2a, 0x15, 0x77, 0x65, 0x62, 0x2e, 0x76, - 0x31, 0x2e, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, - 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, - 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, - 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, - 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, - 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, - 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, - 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, - 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0xa6, 0x04, 0x0a, - 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x27, - 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xc1, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x32, 0x0b, 0x2f, 0x76, 0x31, 0x2f, - 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x92, 0x41, 0xa7, 0x03, 0x0a, 0x07, - 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, - 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x2a, 0x15, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x67, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, - 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20, - 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, - 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, - 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, - 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, - 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc1, 0x03, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x10, 0x32, 0x0b, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x3a, 0x01, 0x2a, 0x92, 0x41, 0xa7, 0x03, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x20, 0x61, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x2a, 0x15, 0x77, 0x65, + 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, + 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, + 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, + 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, - 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, - 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, - 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0x6a, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x53, 0x65, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x53, - 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, + 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, + 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, + 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, + 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, + 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, + 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, + 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, + 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, + 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, + 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, + 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, + 0x6a, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x12, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, - 0x01, 0x12, 0x73, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, - 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, - 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, - 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, - 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x6a, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x67, - 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, + 0x41, 0x64, 0x64, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x73, 0x0a, 0x11, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x12, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, + 0x12, 0x6a, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x12, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, - 0x02, 0x01, 0x12, 0x6d, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, - 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, - 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0xec, 0x04, 0x0a, 0x16, 0x42, 0x75, 0x6c, 0x6b, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x62, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x67, 0x6d, 0x65, - 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, - 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x67, - 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xec, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x76, 0x31, 0x2f, - 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x62, 0x75, - 0x6c, 0x6b, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x3a, 0x01, 0x2a, 0x92, 0x41, 0xc0, 0x03, - 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0b, 0x42, 0x75, 0x6c, 0x6b, 0x20, - 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x1a, 0x42, 0x75, 0x6c, 0x6b, 0x20, 0x75, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x75, 0x73, 0x65, 0x72, - 0x73, 0x2e, 0x2a, 0x20, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x67, 0x6d, 0x65, - 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x75, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, - 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, - 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, - 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, - 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, - 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, - 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, - 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, - 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, - 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, - 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, - 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, - 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, - 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, - 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, - 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, - 0x12, 0x85, 0x01, 0x0a, 0x18, 0x42, 0x75, 0x6c, 0x6b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x32, 0x2e, - 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, - 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x33, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x10, 0x45, 0x76, 0x61, 0x6c, - 0x75, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x62, + 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x6d, 0x0a, 0x10, + 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x12, 0x2a, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xec, 0x04, 0x0a, 0x16, + 0x42, 0x75, 0x6c, 0x6b, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, + 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x42, 0x75, 0x6c, + 0x6b, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xec, 0x03, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x75, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x3a, 0x01, 0x2a, 0x92, 0x41, 0xc0, 0x03, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x0b, 0x42, 0x75, 0x6c, 0x6b, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x1a, 0x1a, 0x42, 0x75, 0x6c, 0x6b, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x73, 0x65, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x2a, 0x20, 0x77, 0x65, + 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, + 0x72, 0x73, 0x2e, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4a, 0xb4, + 0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, + 0x76, 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, + 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, + 0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, + 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, + 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, + 0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, + 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, + 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, + 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, + 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0xf7, 0x04, 0x0a, 0x18, 0x42, + 0x75, 0x6c, 0x6b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x32, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x42, 0x75, 0x6c, 0x6b, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, + 0x42, 0x75, 0x6c, 0x6b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xf1, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x73, + 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x62, 0x75, 0x6c, + 0x6b, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x92, 0x41, 0xc6, 0x03, 0x0a, 0x07, + 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0d, 0x42, 0x75, 0x6c, 0x6b, 0x20, 0x64, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x1c, 0x42, 0x75, 0x6c, 0x6b, 0x20, 0x64, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x75, 0x73, + 0x65, 0x72, 0x73, 0x2e, 0x2a, 0x22, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x67, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x62, 0x75, 0x6c, 0x6b, 0x5f, + 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, + 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, + 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, + 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, + 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, + 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, + 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, + 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, + 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x28, + 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, + 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, + 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, + 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0x6d, 0x0a, 0x10, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x45, 0x76, 0x61, - 0x6c, 0x75, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xfe, 0x03, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, - 0x54, 0x61, 0x67, 0x73, 0x12, 0x22, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, + 0x6c, 0x75, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, + 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0xfe, 0x03, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, + 0x12, 0x22, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x67, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa8, 0x03, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x61, 0x67, 0x73, - 0x92, 0x41, 0x94, 0x03, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x12, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x1a, - 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x74, 0x61, 0x67, 0x73, 0x2e, 0x2a, 0x0f, 0x77, 0x65, 0x62, - 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x61, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x4a, 0xb4, 0x01, 0x0a, - 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, - 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, - 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, - 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, - 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, - 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, - 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0x70, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2b, 0x2e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa8, 0x03, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x0a, 0x12, 0x08, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x92, 0x41, 0x94, 0x03, + 0x0a, 0x03, 0x74, 0x61, 0x67, 0x12, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x0a, 0x4c, 0x69, 0x73, + 0x74, 0x20, 0x74, 0x61, 0x67, 0x73, 0x2e, 0x2a, 0x0f, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, + 0x74, 0x61, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, + 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, + 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, + 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, + 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, + 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, + 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, + 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, + 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x28, + 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, + 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, + 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, + 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0x70, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, + 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, + 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x11, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, + 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x62, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x11, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, - 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x62, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x11, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x12, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, + 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x12, 0x44, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x12, 0x2c, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, + 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, - 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, - 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, - 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x65, - 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, + 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x6d, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x46, 0x6c, 0x61, - 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x70, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, - 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, - 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, - 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x6c, + 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, + 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x29, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, - 0x10, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x73, 0x12, 0x2a, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, + 0x1a, 0x2c, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x54, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x67, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x12, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x2e, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x10, 0x4c, 0x69, 0x73, + 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x94, 0x01, 0x0a, - 0x12, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, 0x65, 0x62, 0x68, - 0x6f, 0x6f, 0x6b, 0x12, 0x2c, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, - 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2d, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x19, 0x2f, 0x77, 0x65, 0x62, 0x68, 0x6f, - 0x6f, 0x6b, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x7d, 0x42, 0x31, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2d, 0x69, 0x6f, 0x2f, 0x62, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x66, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x94, 0x01, 0x0a, 0x12, 0x46, 0x6c, 0x61, + 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, + 0x2c, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, + 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, 0x65, 0x62, + 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x19, 0x2f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x2f, 0x74, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x7d, 0x42, + 0x31, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2d, 0x69, 0x6f, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x65, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/feature/service.proto b/proto/feature/service.proto index dade8fd14..7075a212f 100644 --- a/proto/feature/service.proto +++ b/proto/feature/service.proto @@ -383,9 +383,9 @@ message BulkUploadSegmentUsersResponse {} message BulkDownloadSegmentUsersRequest { reserved 1; - string segment_id = 2; + string segment_id = 2 [(google.api.field_behavior) = REQUIRED]; SegmentUser.State state = 3; - string environment_id = 4; + string environment_id = 4 [(google.api.field_behavior) = REQUIRED]; } message BulkDownloadSegmentUsersResponse { @@ -779,7 +779,39 @@ service FeatureService { }; } rpc BulkDownloadSegmentUsers(BulkDownloadSegmentUsersRequest) - returns (BulkDownloadSegmentUsersResponse) {} + returns (BulkDownloadSegmentUsersResponse) { + option (google.api.http) = { + get: "/v1/segment_users/bulk_download" + }; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + summary: "Bulk download", + description: "Bulk download segment users." + tags: "segment" + operation_id: "web.v1.segment_users.bulk_download" + responses: { + key: "400" + value: { + description: "Returned for bad requests that may have failed validation." + schema: { json_schema: { ref: ".google.rpc.Status" } } + examples: { + key: "application/json" + value: '{ "code": 3, "message": "invalid arguments error", "details": [] }' + } + } + } + responses: { + key: "401" + value: { + description: "Request could not be authenticated (authentication required)." + schema: { json_schema: { ref: ".google.rpc.Status" } } + examples: { + key: "application/json" + value: '{ "code": 16, "message": "not authenticated", "details": [] }' + } + } + } + }; + } rpc EvaluateFeatures(EvaluateFeaturesRequest) returns (EvaluateFeaturesResponse) {} rpc ListTags(ListTagsRequest) returns (ListTagsResponse) { diff --git a/proto/gateway/proto_descriptor.pb b/proto/gateway/proto_descriptor.pb index b1762f6daeff772f2e35bc394d0dc0061c8a8323..3d2115085d57944562391fb290b6dc106aa9b7fe 100644 GIT binary patch delta 204 zcmaF%p6$_RwhgE1nRd5to=9R=}rbsX;Flul* zF+Xr*n!I3v$K+2_v^VoD%;RM`Vzaq!or5UTcb3Tq4!0zHWS-=BjG2oas#A#9sWc~B zAtk>&FDE}SMM?&Rs{mD{P+FW?RII0^RGyloS7xXOvlb$p1T-NYX2Rx!*9sY#6@}y{ P&pj;80T*>WvhXti^1M&F delta 76 zcmV-S0JHz%^9JVc2C&M10=|~B%zvFA0jZN}pd*tOpC6O4pgfZ%of4B^oEMWor3AAd ip=S*O(m1n-u0Rz8g#ii}lWm|FljOr{0RXc>#-a0EeIdjE diff --git a/proto/proto.lock b/proto/proto.lock index 0bbff42b1..732a93bdc 100644 --- a/proto/proto.lock +++ b/proto/proto.lock @@ -24410,7 +24410,13 @@ { "id": 2, "name": "segment_id", - "type": "string" + "type": "string", + "options": [ + { + "name": "(google.api.field_behavior)", + "value": "REQUIRED" + } + ] }, { "id": 3, @@ -24420,7 +24426,13 @@ { "id": 4, "name": "environment_id", - "type": "string" + "type": "string", + "options": [ + { + "name": "(google.api.field_behavior)", + "value": "REQUIRED" + } + ] } ], "reserved_ids": [ @@ -25738,7 +25750,129 @@ { "name": "BulkDownloadSegmentUsers", "in_type": "BulkDownloadSegmentUsersRequest", - "out_type": "BulkDownloadSegmentUsersResponse" + "out_type": "BulkDownloadSegmentUsersResponse", + "options": [ + { + "name": "(google.api.http)", + "aggregated": [ + { + "name": "get", + "value": "/v1/segment_users/bulk_download" + } + ] + }, + { + "name": "(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation)", + "aggregated": [ + { + "name": "summary", + "value": "Bulk download" + }, + { + "name": "description", + "value": "Bulk download segment users." + }, + { + "name": "tags", + "value": "segment" + }, + { + "name": "operation_id", + "value": "web.v1.segment_users.bulk_download" + }, + { + "name": "responses", + "aggregated": [ + { + "name": "key", + "value": "400" + }, + { + "name": "value", + "aggregated": [ + { + "name": "description", + "value": "Returned for bad requests that may have failed validation." + }, + { + "name": "schema", + "aggregated": [ + { + "name": "json_schema", + "aggregated": [ + { + "name": "ref", + "value": ".google.rpc.Status" + } + ] + } + ] + }, + { + "name": "examples", + "aggregated": [ + { + "name": "key", + "value": "application/json" + }, + { + "name": "value", + "value": "{\"code\":3,\"message\":\"invalid arguments error\",\"details\":[]}" + } + ] + } + ] + } + ] + }, + { + "name": "responses", + "aggregated": [ + { + "name": "key", + "value": "401" + }, + { + "name": "value", + "aggregated": [ + { + "name": "description", + "value": "Request could not be authenticated (authentication required)." + }, + { + "name": "schema", + "aggregated": [ + { + "name": "json_schema", + "aggregated": [ + { + "name": "ref", + "value": ".google.rpc.Status" + } + ] + } + ] + }, + { + "name": "examples", + "aggregated": [ + { + "name": "key", + "value": "application/json" + }, + { + "name": "value", + "value": "{\"code\":16,\"message\":\"not authenticated\",\"details\":[]}" + } + ] + } + ] + } + ] + } + ] + } + ] }, { "name": "EvaluateFeatures",